/* Lot 4 — Concours → filières → simulations / ressources */
.competition-hero {
    display: grid;
    align-items: start;
    gap: var(--space-4);
}

.competition-hero > p {
    max-inline-size: 70ch;
}

.competition-status-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-block-start: var(--space-2);
}

.competition-status-tab {
    display: inline-flex;
    min-block-size: 3rem;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: 0.7rem 1rem;
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    color: var(--text-primary);
    text-decoration: none;
    box-shadow: var(--shadow-card);
}

.competition-status-tab strong {
    display: grid;
    min-inline-size: 2rem;
    min-block-size: 2rem;
    place-items: center;
    padding-inline: 0.45rem;
    border-radius: 999px;
    background: var(--surface-subtle);
    color: var(--action-primary);
    font-variant-numeric: tabular-nums;
}

.competition-status-tab:hover,
.competition-status-tab:focus-visible,
.competition-status-tab.is-active {
    border-color: var(--action-primary);
}

.competition-status-tab.is-active {
    box-shadow: 0 0 0 0.12rem color-mix(in srgb, var(--action-primary) 20%, transparent);
}

.competition-status-tab--all {
    box-shadow: none;
}

.competition-filters {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}

.competition-filters .catalogue-field--search {
    grid-column: 1 / -1;
}

.competition-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
}

.competition-card {
    min-block-size: 21rem;
}

.competition-card__topline,
.track-card__badges,
.track-card__actions,
.section-heading--actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.competition-card__details,
.track-card__facts,
.competition-facts,
.competition-consistency-grid {
    display: grid;
    gap: var(--space-3);
    margin: var(--space-4) 0 0;
}

.competition-card__details div,
.track-card__facts div,
.competition-facts div,
.competition-consistency-grid div {
    display: grid;
    gap: var(--space-1);
}

.competition-card__details dt,
.track-card__facts dt,
.competition-facts dt,
.competition-consistency-grid dt {
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.competition-card__details dd,
.track-card__facts dd,
.competition-facts dd,
.competition-consistency-grid dd {
    margin: 0;
    color: var(--text-primary);
    font-weight: 800;
}

.competition-card__reference {
    color: var(--text-muted);
    font-size: var(--text-sm);
    overflow-wrap: anywhere;
}

.competition-date-range {
    display: inline-block;
    direction: ltr;
    unicode-bidi: isolate;
}

.status-chip--open,
.status-chip--active,
.status-chip--verified {
    color: var(--color-success-700);
}

.status-chip--closed,
.status-chip--withdrawn,
.status-chip--unverified {
    color: var(--text-secondary);
}

.status-chip--inconsistent {
    color: var(--color-danger-700);
}

.competition-detail {
    padding-block: var(--space-6);
}

.competition-detail__header {
    display: grid;
    gap: var(--space-5);
}

.competition-detail__header h1,
.track-detail h1 {
    margin-block: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 3.8rem);
    line-height: var(--leading-tight);
    letter-spacing: -0.04em;
}

.competition-detail__lead,
.track-detail__lead {
    max-inline-size: 70ch;
    color: var(--text-secondary);
    font-size: var(--text-lg);
}

.competition-facts,
.competition-consistency-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
    padding: var(--space-5);
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-subtle);
}

.competition-application-notice {
    display: grid;
    gap: var(--space-2);
    margin-block: var(--space-5);
    padding: var(--space-5);
    border-inline-start: 0.3rem solid var(--action-primary);
    border-radius: var(--radius-sm);
    background: var(--surface-subtle);
}

.competition-application-notice strong,
.competition-application-notice p {
    margin: 0;
}

.competition-application-notice p {
    color: var(--text-secondary);
}

.track-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    gap: var(--space-4);
}

.track-card {
    display: flex;
    min-block-size: 19rem;
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-5);
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    box-shadow: var(--shadow-card);
}

.track-card h3,
.track-card h2 {
    margin: 0;
    font-size: var(--text-xl);
}

.track-card h3 a,
.track-card h2 a {
    color: inherit;
    text-decoration: none;
}

.track-card h3 a:hover,
.track-card h3 a:focus-visible,
.track-card h2 a:hover,
.track-card h2 a:focus-visible {
    color: var(--action-primary);
}

.track-card__actions {
    margin-block-start: auto;
    padding-block-start: var(--space-2);
}

.track-detail {
    padding-block: var(--space-6) var(--space-7);
}

.track-detail__layout {
    display: grid;
    gap: var(--space-5);
}

.track-preparation-panel,
.track-resource-panel,
.track-contribution-panel,
.competition-editor-panel {
    padding: var(--space-5);
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    box-shadow: var(--shadow-card);
}

.track-preparation-panel h2,
.track-resource-panel h2,
.track-contribution-panel h2 {
    margin-block-start: 0;
}

.track-contribution-panel {
    border-inline-start: 0.3rem solid var(--action-primary);
}

.track-contribution-panel p,
.track-resource-panel p,
.track-preparation-panel p {
    color: var(--text-secondary);
}

.contribution-context {
    display: grid;
    gap: var(--space-3);
    margin-block-end: var(--space-5);
    padding: var(--space-5);
    border: 0.0625rem solid var(--border-default);
    border-inline-start: 0.3rem solid var(--action-primary);
    border-radius: var(--radius-md);
    background: var(--surface-subtle);
}

.contribution-context h2,
.contribution-context p {
    margin: 0;
}

.contribution-context__item {
    display: grid;
    min-inline-size: 0;
    gap: var(--space-1);
}

.contribution-context__item > span {
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.contribution-context__item > strong {
    min-inline-size: 0;
    overflow-wrap: anywhere;
}

.competition-editor-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    gap: var(--space-5);
}

.competition-editor-form label {
    display: grid;
    align-content: start;
    gap: var(--space-2);
    font-weight: 800;
}

.competition-editor-form input,
.competition-editor-form select,
.competition-editor-form textarea {
    inline-size: 100%;
    min-block-size: 2.75rem;
    padding: var(--space-3);
    border: 0.0625rem solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--surface-card);
    color: var(--text-primary);
    font: inherit;
}

.competition-editor-form textarea {
    min-block-size: 7rem;
    resize: vertical;
}

.competition-editor-form small {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-weight: 500;
}

.section-heading--actions {
    align-items: end;
}

.competition-consistency-grid {
    background: var(--surface-card);
}

.competition-consistency-grid dd {
    font-size: var(--text-lg);
}

[dir='rtl'] .competition-card__reference,
[dir='rtl'] .competition-detail__lead,
[dir='rtl'] .track-detail__lead {
    text-align: start;
}

@media (min-width: 48rem) {
    .competition-detail__header,
    .track-detail__layout {
        grid-template-columns: minmax(0, 1.6fr) minmax(16rem, 0.8fr);
        align-items: start;
    }

    .competition-detail__header > .competition-facts,
    .track-detail__layout > .competition-facts {
        margin-block-start: 0;
    }
}

@media (max-width: 47.99rem) {
    .competition-status-tabs,
    .competition-status-tab,
    .track-card__actions,
    .section-heading--actions {
        align-items: stretch;
    }

    .competition-status-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .competition-status-tab--all {
        grid-column: 1 / -1;
    }

    .competition-status-tab {
        min-inline-size: 0;
    }

    .track-card__actions .button,
    .section-heading--actions > .button,
    .section-heading--actions > div + .button {
        inline-size: 100%;
        justify-content: center;
    }

    .competition-editor-form {
        grid-template-columns: 1fr;
    }
}

.competition-resource-picker {
    display: grid;
    gap: .75rem;
    margin-top: 1rem;
}

.competition-resource-option {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .9rem 1rem;
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    background: var(--surface-color);
    cursor: pointer;
}

.competition-resource-option input {
    margin-top: .25rem;
    flex: 0 0 auto;
}

.competition-resource-option span {
    display: grid;
    min-width: 0;
    gap: .2rem;
}

.competition-resource-option small {
    color: var(--text-muted);
    overflow-wrap: anywhere;
}
