/* CANSAGUENAY — Lot 4P-C.36.3
   UX dédiée à /site-public/distinctions.php.
   Toutes les règles sont volontairement préfixées pour ne pas modifier les autres pages. */

.distinctions-page {
    min-height: calc(100vh - 150px);
    background:
        radial-gradient(circle at 86% 3%, rgba(212, 175, 55, .10), transparent 23rem),
        radial-gradient(circle at 8% 35%, rgba(227, 0, 27, .055), transparent 26rem),
        #0b0d10;
}

.distinctions-shell {
    width: min(1280px, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(2.75rem, 6vw, 5.5rem) 0 clamp(4rem, 8vw, 7rem);
}

.distinctions-hero {
    max-width: 860px;
    margin: 0 0 clamp(2rem, 4vw, 3rem);
}

.distinctions-hero > span,
.distinctions-kicker {
    color: #d4af37;
    text-transform: uppercase;
    letter-spacing: .17em;
    font-size: .68rem;
    font-weight: 950;
}

.distinctions-hero h1 {
    margin: .6rem 0 0;
    max-width: 900px;
    font-size: clamp(2.8rem, 6.5vw, 5.8rem);
    line-height: .94;
    letter-spacing: -.052em;
}

.distinctions-hero p {
    max-width: 680px;
    margin: 1.15rem 0 0;
    color: #aeb4bd;
    font-size: clamp(.98rem, 1.6vw, 1.08rem);
    line-height: 1.7;
}

/* État avant publication */
.distinctions-empty {
    min-height: 330px;
    display: grid;
    grid-template-columns: minmax(180px, .34fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1.5rem, 5vw, 4rem);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 30px;
    padding: clamp(1.4rem, 5vw, 3.5rem);
    overflow: hidden;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .025), transparent 52%),
        #12151a;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .20);
}

.distinctions-empty__year {
    width: min(220px, 100%);
    aspect-ratio: 1;
    display: grid;
    place-content: center;
    justify-self: center;
    border: 1px solid rgba(212, 175, 55, .30);
    border-radius: 50%;
    text-align: center;
    background: radial-gradient(circle, rgba(212, 175, 55, .11), transparent 66%);
    box-shadow: inset 0 0 0 10px rgba(212, 175, 55, .025);
}

.distinctions-empty__year span,
.distinctions-empty__year strong {
    display: block;
    color: #f7f7f7;
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 950;
    line-height: .72;
    letter-spacing: -.06em;
}

.distinctions-empty__year strong { color: #d4af37; }

.distinctions-empty__content {
    max-width: 680px;
}

.distinctions-empty h2 {
    margin: .55rem 0 .8rem;
    max-width: 650px;
    font-size: clamp(1.7rem, 3.2vw, 2.8rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.distinctions-empty p {
    max-width: 620px;
    margin: 0;
    color: #a8aeb7;
    line-height: 1.7;
}

.distinctions-back-link {
    margin-top: 1.35rem;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #f1f2f4;
    text-decoration: none;
    font-size: .78rem;
    font-weight: 900;
}

.distinctions-back-link span {
    color: #d4af37;
    transition: transform .18s ease;
}

.distinctions-back-link:hover span { transform: translateX(4px); }

/* Navigation rapide lorsqu'il y a des publications */
.distinctions-jump {
    margin: 0 0 1.4rem;
    display: flex;
    gap: .55rem;
    overflow-x: auto;
    padding: 0 0 .35rem;
    scrollbar-width: thin;
}

.distinctions-jump a {
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 999px;
    padding: .7rem .9rem;
    background: #12151a;
    color: #d5d9df;
    text-decoration: none;
    font-size: .72rem;
    font-weight: 900;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.distinctions-jump a:hover,
.distinctions-jump a:focus-visible {
    border-color: rgba(212, 175, 55, .45);
    background: rgba(212, 175, 55, .06);
    color: #d4af37;
}

.distinctions-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.distinction-public-card {
    scroll-margin-top: 110px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 26px;
    padding: clamp(1rem, 2.5vw, 1.45rem);
    background: linear-gradient(145deg, rgba(255, 255, 255, .018), transparent 45%), #12151a;
    box-shadow: 0 16px 45px rgba(0, 0, 0, .13);
}

.distinction-public-card--revealed {
    border-color: rgba(212, 175, 55, .30);
    background:
        radial-gradient(circle at 92% 2%, rgba(212, 175, 55, .13), transparent 15rem),
        linear-gradient(145deg, rgba(255, 255, 255, .018), transparent 45%),
        #12151a;
}

.distinction-public-card__header {
    margin-bottom: 1rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.distinction-public-card__header h2 {
    margin: .35rem 0 0;
    font-size: clamp(1.35rem, 2.3vw, 1.85rem);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.distinction-status {
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 999px;
    padding: .48rem .65rem;
    background: #0d1014;
    color: #aeb4bd;
    font-size: .6rem;
    font-weight: 900;
    white-space: nowrap;
}

.distinction-status--winner {
    border-color: rgba(212, 175, 55, .30);
    background: rgba(212, 175, 55, .075);
    color: #e6c958;
}

.distinction-winner {
    position: relative;
    min-height: 126px;
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    border: 1px solid rgba(212, 175, 55, .23);
    border-radius: 21px;
    padding: .9rem 1rem;
    overflow: hidden;
    background:
        linear-gradient(105deg, rgba(212, 175, 55, .095), transparent 58%),
        #0f1216;
}

.distinction-winner__photo-wrap {
    width: 92px;
    height: 92px;
    border-radius: 19px;
    overflow: hidden;
    background: #1b1f25;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}

.distinction-winner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.distinction-winner__content small,
.distinction-winner__content strong,
.distinction-winner__content span {
    display: block;
}

.distinction-winner__content small {
    color: #d4af37;
    text-transform: uppercase;
    letter-spacing: .15em;
    font-size: .58rem;
    font-weight: 950;
}

.distinction-winner__content strong {
    margin: .3rem 0 .2rem;
    font-size: clamp(1rem, 2vw, 1.3rem);
    line-height: 1.12;
}

.distinction-winner__content span {
    color: #9da4ae;
    font-size: .72rem;
    font-weight: 700;
}

.distinction-winner__mark {
    padding-right: .2rem;
    color: rgba(212, 175, 55, .65);
    font-size: 2.1rem;
}

.distinction-nominees {
    margin-top: 1.15rem;
}

.distinction-nominees__heading {
    margin-bottom: .72rem;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
}

.distinction-nominees__heading h3 {
    margin: .28rem 0 0;
    font-size: 1rem;
}

.distinction-count {
    min-width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 10px;
    background: #0d1014;
    color: #d4af37;
    font-size: .72rem;
    font-weight: 950;
}

.distinction-nominee-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.distinction-nominee {
    min-width: 0;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    align-items: center;
    gap: .72rem;
    border: 1px solid rgba(255, 255, 255, .065);
    border-radius: 16px;
    padding: .58rem;
    background: #0f1216;
}

.distinction-nominee > img {
    width: 50px;
    height: 50px;
    border-radius: 13px;
    object-fit: cover;
    background: #1b1f25;
}

.distinction-nominee__identity {
    min-width: 0;
}

.distinction-nominee__identity strong,
.distinction-nominee__identity span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.distinction-nominee__identity strong {
    color: #f0f1f3;
    font-size: .76rem;
}

.distinction-nominee__identity span {
    margin-top: .18rem;
    color: #9299a3;
    font-size: .62rem;
}

.distinction-stat {
    border-radius: 999px;
    padding: .38rem .48rem;
    background: rgba(212, 175, 55, .08);
    color: #d4af37;
    font-size: .65rem;
    white-space: nowrap;
}

.distinction-empty-list,
.distinction-pending {
    color: #9da4ae;
    font-size: .8rem;
    line-height: 1.55;
}

.distinction-empty-list {
    margin: 0;
    border: 1px dashed rgba(255, 255, 255, .09);
    border-radius: 14px;
    padding: 1rem;
}

.distinction-pending {
    min-height: 115px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    border: 1px dashed rgba(255, 255, 255, .09);
    border-radius: 18px;
    text-align: center;
    background: #0f1216;
}

.distinction-pending span { color: #d4af37; }
.distinction-pending p { margin: 0; }

@media (max-width: 980px) {
    .distinctions-category-grid { grid-template-columns: 1fr; }
    .distinction-nominee-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .distinctions-shell {
        width: min(100% - 1.25rem, 1280px);
        padding-top: 2.5rem;
    }

    .distinctions-hero h1 { font-size: clamp(2.55rem, 13vw, 4rem); }

    .distinctions-empty {
        min-height: 0;
        grid-template-columns: 1fr;
        text-align: center;
    }

    .distinctions-empty__year { width: 150px; }
    .distinctions-empty__content { margin: 0 auto; }
    .distinctions-back-link { justify-content: center; }

    .distinction-public-card__header {
        align-items: flex-start;
        flex-direction: column;
        gap: .65rem;
    }

    .distinction-winner {
        grid-template-columns: 76px minmax(0, 1fr);
        min-height: 106px;
    }

    .distinction-winner__photo-wrap {
        width: 76px;
        height: 76px;
        border-radius: 16px;
    }

    .distinction-winner__mark { display: none; }
    .distinction-nominee-list { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
    .distinction-public-card { border-radius: 20px; }
    .distinction-winner { padding: .75rem; gap: .75rem; }
    .distinction-nominee { grid-template-columns: 46px minmax(0, 1fr) auto; }
    .distinction-nominee > img { width: 46px; height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
    .distinctions-back-link span,
    .distinctions-jump a { transition: none; }
}
