/* =========================================================
   CONCOURS — VERSION COMPACTE ÉQUILIBRÉE À 100 %
   Chargée après les styles existants afin de préserver
   toutes les fonctions et le responsive du portail.
   ========================================================= */

@media (min-width: 1101px) {
    .page-concours-center .contest-page {
        padding: 8px 0 16px;
    }

    .page-concours-center .contest-page > .container {
        width: min(98%, 1580px);
        max-width: 1580px;
    }

    /* Bandeau principal : moins haut, textes toujours lisibles */
    .page-concours-center .contest-hero {
        min-height: 0;
        padding: 13px 18px;
        border-radius: 13px;
        gap: 14px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, .14);
    }

    .page-concours-center .contest-kicker {
        font-size: .68rem;
    }

    .page-concours-center .contest-hero h1 {
        margin: 2px 0 3px;
        font-size: clamp(1.55rem, 2.1vw, 2rem);
        line-height: 1.05;
    }

    .page-concours-center .contest-hero p {
        font-size: .78rem;
        line-height: 1.25;
    }

    .page-concours-center .contest-hero-actions {
        gap: 6px;
    }

    .page-concours-center .contest-button {
        min-height: 33px;
        padding: 0 11px;
        font-size: .67rem;
    }

    /* Résumé sur une ligne plus dense */
    .page-concours-center .contest-summary {
        margin: 8px 0;
        gap: 7px;
    }

    .page-concours-center .contest-summary article {
        min-height: 55px;
        padding: 8px 11px;
        border-radius: 9px;
    }

    .page-concours-center .contest-summary span {
        font-size: .61rem;
    }

    .page-concours-center .contest-summary strong {
        margin-top: 2px;
        font-size: 1.05rem;
        line-height: 1.05;
    }

    .page-concours-center .contest-summary small {
        margin-top: 1px;
        font-size: .62rem;
    }

    /* Bloc Informations */
    .page-concours-center .contest-information-panel {
        margin: 8px 0;
        padding: 10px 11px;
        border-radius: 11px;
    }

    .page-concours-center .contest-information-head {
        gap: 10px;
        margin-bottom: 7px;
    }

    .page-concours-center .contest-information-kicker {
        font-size: .56rem;
    }

    .page-concours-center .contest-information-head h2 {
        margin: 1px 0;
        font-size: 1rem;
    }

    .page-concours-center .contest-information-head p {
        font-size: .66rem;
    }

    .page-concours-center .contest-information-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
    }

    .page-concours-center .contest-information-card {
        grid-template-columns: 31px minmax(0, 1fr) auto;
        gap: 7px;
        padding: 6px 7px;
        border-radius: 8px;
    }

    .page-concours-center .contest-information-icon {
        width: 30px;
        height: 30px;
        border-radius: 7px;
        font-size: .53rem;
    }

    .page-concours-center .contest-information-content strong {
        font-size: .68rem;
    }

    .page-concours-center .contest-information-content small {
        font-size: .52rem;
    }

    .page-concours-center .contest-information-link {
        min-height: 25px;
        padding: 0 7px;
        font-size: .54rem;
    }

    /* Barre calendrier et filtres */
    .page-concours-center .contest-toolbar {
        margin: 8px 0 6px;
        gap: 10px;
    }

    .page-concours-center .contest-toolbar h2 {
        font-size: 1.02rem;
    }

    .page-concours-center .contest-toolbar p {
        margin-top: 1px;
        font-size: .66rem;
    }

    .page-concours-center .contest-filters {
        gap: 4px;
    }

    .page-concours-center .contest-filters button {
        min-height: 28px;
        padding: 0 9px;
        font-size: .62rem;
    }

    /* Cartes : compacité obtenue surtout par les marges */
    .page-concours-center .contest-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    .page-concours-center .contest-card {
        padding: 9px;
        border-radius: 10px;
        box-shadow: 0 5px 13px rgba(15, 23, 42, .05);
    }

    .page-concours-center .contest-card-head {
        gap: 7px;
    }

    .page-concours-center .contest-location {
        font-size: .56rem;
    }

    .page-concours-center .contest-card h3 {
        margin-top: 2px;
        font-size: .94rem;
        line-height: 1.08;
    }

    .page-concours-center .contest-status {
        padding: 3px 6px;
        font-size: .55rem;
    }

    .page-concours-center .contest-card-data {
        margin-top: 7px;
        gap: 4px;
    }

    .page-concours-center .contest-card-data > div {
        padding: 5px 6px;
        border-radius: 7px;
    }

    .page-concours-center .contest-card-data span {
        font-size: .51rem;
    }

    .page-concours-center .contest-card-data strong {
        margin-top: 2px;
        font-size: .72rem;
    }

    .page-concours-center .contest-card-data small {
        font-size: .51rem;
    }

    .page-concours-center .contest-dead-time {
        margin-top: 5px;
        padding: 5px 7px;
        font-size: .56rem;
    }

    .page-concours-center .contest-documents {
        min-height: 27px;
        margin-top: 6px;
        gap: 3px;
    }

    .page-concours-center .contest-document a,
    .page-concours-center .contest-no-document {
        font-size: .58rem;
    }

    .page-concours-center .contest-card-actions {
        margin-top: 6px;
        gap: 4px;
    }

    .page-concours-center .contest-card-actions a {
        min-height: 27px;
        padding: 0 7px;
        font-size: .56rem;
    }

    .page-concours-center .contest-admin-panel {
        margin-top: 6px;
        padding-top: 5px;
    }

    .page-concours-center .contest-admin-panel summary {
        font-size: .58rem;
    }

    /* Le formulaire général était beaucoup plus haut que le reste */
    .page-concours-center .contest-information-upload {
        margin: 8px 0 10px;
    }

    .page-concours-center .contest-information-upload[open] {
        padding-bottom: 8px;
    }

    .page-concours-center .contest-information-upload form {
        grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
        gap: 7px;
        margin-top: 8px;
    }

    .page-concours-center .contest-information-upload label {
        gap: 3px;
        font-size: .62rem;
    }

    .page-concours-center .contest-information-upload input,
    .page-concours-center .contest-information-upload select {
        height: 31px;
        padding: 0 8px;
        border-radius: 7px;
        font-size: .62rem;
    }

    .page-concours-center .contest-information-upload button[type="submit"] {
        min-height: 31px;
        padding: 0 11px;
        font-size: .61rem;
    }

    .page-concours-center .footer {
        margin-top: 0;
    }
}

/* Écrans intermédiaires : trois cartes, sans écraser les textes */
@media (min-width: 1101px) and (max-width: 1399px) {
    .page-concours-center .contest-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .page-concours-center .contest-information-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
