/* =========================================================
   CENTRE DES CONCOURS — PORTAIL V2
   ========================================================= */
:root{
    --contest-navy:#062f5f;
    --contest-blue:#0b63b6;
    --contest-red:#c81020;
    --contest-text:#10213d;
    --contest-muted:#60708a;
    --contest-border:#d8e1ec;
}
.page-concours-center{
    background:#f3f6fa;
}
.contest-page{
    padding:14px 0 28px;
}
.contest-hero{
    padding:20px 24px;
    border-radius:17px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:
        linear-gradient(110deg,rgba(3,31,63,.97),rgba(11,99,182,.86)),
        url('../images/hero.jpg') center/cover;
    color:#fff;
    box-shadow:0 18px 42px rgba(15,23,42,.18);
}
.contest-kicker{
    color:#bfd9f5;
    font-size:.7rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.contest-hero h1{
    margin:4px 0 5px;
    color:#fff;
    font-size:clamp(1.7rem,3vw,2.5rem);
}
.contest-hero p{
    margin:0;
    color:#dbeafe;
    font-size:.82rem;
}
.contest-hero-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.contest-button{
    min-height:38px;
    padding:0 13px;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:.7rem;
    font-weight:900;
    text-decoration:none;
}
.contest-button-blue{background:#fff;color:var(--contest-blue)}
.contest-button-white{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}
.contest-button-admin{background:#f5c542;color:#493500}
.contest-admin-login{
    color:rgba(255,255,255,.55);
    font-size:.62rem;
    text-decoration:none;
}
.contest-summary{
    margin:12px 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.contest-summary article{
    min-height:74px;
    padding:11px 13px;
    border:1px solid var(--contest-border);
    border-radius:11px;
    background:#fff;
}
.contest-summary span{
    display:block;
    color:var(--contest-muted);
    font-size:.62rem;
    font-weight:900;
    text-transform:uppercase;
}
.contest-summary strong{
    display:block;
    margin-top:4px;
    color:var(--contest-navy);
    font-size:1.25rem;
}
.contest-summary small{
    display:block;
    margin-top:2px;
    color:var(--contest-muted);
    font-size:.65rem;
}
.contest-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:13px 0 9px;
}
.contest-toolbar h2{
    margin:0;
    color:var(--contest-navy);
    font-size:1.2rem;
}
.contest-toolbar p{
    margin:3px 0 0;
    color:var(--contest-muted);
    font-size:.7rem;
}
.contest-filters{
    display:flex;
    gap:5px;
    flex-wrap:wrap;
}
.contest-filters button{
    min-height:32px;
    padding:0 10px;
    border:1px solid var(--contest-border);
    border-radius:999px;
    background:#fff;
    color:#425775;
    font:inherit;
    font-size:.65rem;
    font-weight:900;
    cursor:pointer;
}
.contest-filters button.active{
    background:var(--contest-navy);
    color:#fff;
    border-color:var(--contest-navy);
}
.contest-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.contest-card{
    min-width:0;
    padding:13px;
    border:1px solid var(--contest-border);
    border-radius:13px;
    background:#fff;
    box-shadow:0 7px 18px rgba(15,23,42,.06);
}
.contest-card[hidden]{display:none}
.contest-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}
.contest-location{
    color:var(--contest-muted);
    font-size:.58rem;
    font-weight:900;
    text-transform:uppercase;
}
.contest-card h3{
    margin:3px 0 0;
    color:var(--contest-navy);
    font-size:1.08rem;
}
.contest-status{
    padding:4px 7px;
    border-radius:999px;
    font-size:.58rem;
    font-weight:900;
    white-space:nowrap;
}
.status-open{background:#dcfce7;color:#166534}
.status-upcoming{background:#dbeafe;color:#0751a1}
.status-finished{background:#e5e7eb;color:#475569}
.contest-card-data{
    margin-top:10px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
}
.contest-card-data > div{
    padding:7px;
    border-radius:8px;
    background:#f6f8fb;
}
.contest-card-data span{
    display:block;
    color:var(--contest-muted);
    font-size:.53rem;
    text-transform:uppercase;
    font-weight:900;
}
.contest-card-data strong{
    display:block;
    margin-top:3px;
    color:#20324e;
    font-size:.78rem;
}
.contest-card-data small{
    display:block;
    margin-top:1px;
    color:var(--contest-muted);
    font-size:.54rem;
}
.contest-dead-time{
    margin-top:7px;
    padding:6px 8px;
    border-radius:7px;
    background:#fff7ed;
    color:#92400e;
    font-size:.59rem;
}
.contest-documents{
    min-height:34px;
    margin-top:8px;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.contest-document{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:7px;
}
.contest-document a{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--contest-blue);
    font-size:.62rem;
    font-weight:800;
}
.contest-document form{margin:0}
.contest-document button{
    width:20px;
    height:20px;
    border:0;
    border-radius:50%;
    background:#fee2e2;
    color:#991b1b;
    cursor:pointer;
}
.contest-no-document{
    color:#94a3b8;
    font-size:.6rem;
}
.contest-card-actions{
    margin-top:9px;
    display:flex;
    gap:5px;
    flex-wrap:wrap;
}
.contest-card-actions a{
    min-height:30px;
    padding:0 8px;
    border-radius:7px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:.58rem;
    font-weight:900;
}
.contest-action-primary{background:var(--contest-blue);color:#fff}
.contest-action-secondary{background:#eaf3ff;color:#0751a1}
.contest-action-admin{background:#fef3c7;color:#92400e}
.contest-admin-panel{
    margin-top:8px;
    border-top:1px solid #e8edf4;
    padding-top:7px;
}
.contest-admin-panel summary{
    cursor:pointer;
    color:#5b6f89;
    font-size:.61rem;
    font-weight:900;
}
.contest-admin-panel form{
    margin-top:7px;
    display:grid;
    grid-template-columns:110px 1fr 1fr auto;
    gap:6px;
    align-items:end;
}
.contest-admin-panel label{
    color:#425775;
    font-size:.56rem;
    font-weight:900;
}
.contest-admin-panel input,
.contest-admin-panel select{
    width:100%;
    height:31px;
    margin-top:3px;
    padding:0 7px;
    border:1px solid #cfd9e5;
    border-radius:6px;
    font-size:.62rem;
}
.contest-admin-panel button{
    height:31px;
    padding:0 9px;
    border:0;
    border-radius:6px;
    background:var(--contest-navy);
    color:#fff;
    font-size:.58rem;
    font-weight:900;
    cursor:pointer;
}
.contest-notice{
    margin:10px 0;
    padding:10px 12px;
    border-radius:9px;
    font-size:.72rem;
}
.contest-notice-ok{background:#dcfce7;color:#166534}
.contest-notice-error{background:#fee2e2;color:#991b1b}
.contest-empty{
    padding:35px;
    border-radius:12px;
    background:#fff;
    text-align:center;
}
@media(min-width:1650px){
    .contest-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1100px){
    .contest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .contest-admin-panel form{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .contest-page{padding-top:8px}
    .contest-hero{align-items:flex-start;flex-direction:column;padding:16px}
    .contest-summary{grid-template-columns:1fr}
    .contest-toolbar{align-items:flex-start;flex-direction:column}
    .contest-grid{grid-template-columns:1fr}
    .contest-admin-panel form{grid-template-columns:1fr}
}


/* ---------- Encart Informations ---------- */
.contest-information-panel{
    margin:12px 0;
    padding:14px;
    border:1px solid var(--contest-border);
    border-radius:13px;
    background:#fff;
    box-shadow:0 7px 18px rgba(15,23,42,.05);
}
.contest-information-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.contest-information-kicker{
    display:block;
    color:var(--contest-blue);
    font-size:.58rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.contest-information-head h2{
    margin:2px 0 2px;
    color:var(--contest-navy);
    font-size:1.12rem;
}
.contest-information-head p{
    margin:0;
    color:var(--contest-muted);
    font-size:.68rem;
}
.contest-information-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.contest-information-card{
    min-width:0;
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    padding:9px 10px;
    border:1px solid #e3e9f1;
    border-radius:9px;
    background:#f8fafc;
}
.contest-information-icon{
    width:36px;
    height:36px;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fee2e2;
    color:#b91c1c;
    font-size:.58rem;
    font-weight:900;
}
.contest-information-content{
    min-width:0;
}
.contest-information-type{
    display:block;
    color:var(--contest-blue);
    font-size:.5rem;
    font-weight:900;
    text-transform:uppercase;
}
.contest-information-content strong{
    display:block;
    margin-top:1px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#20324e;
    font-size:.72rem;
}
.contest-information-content small{
    display:block;
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--contest-muted);
    font-size:.54rem;
}
.contest-information-link{
    min-height:28px;
    padding:0 8px;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--contest-blue);
    color:#fff;
    font-size:.56rem;
    font-weight:900;
}
.contest-information-empty{
    padding:18px;
    border-radius:9px;
    background:#f8fafc;
    color:var(--contest-muted);
    text-align:center;
    font-size:.68rem;
}
@media(max-width:1100px){
    .contest-information-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:700px){
    .contest-information-grid{
        grid-template-columns:1fr;
    }
}

/* V4.0.6 — téléversement des documents de concours depuis le panneau Informations */
.contest-information-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.contest-information-upload{margin:16px 0 20px}
.contest-information-upload[open]{padding-bottom:16px}
.contest-information-upload form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.contest-information-upload label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#18365f}
.contest-information-upload input,.contest-information-upload select{width:100%;box-sizing:border-box;border:1px solid #ccd7e6;border-radius:8px;padding:10px 12px;background:#fff}
.contest-information-upload button[type="submit"]{align-self:end;border:0;border-radius:8px;padding:11px 16px;background:#235ca8;color:#fff;font-weight:800;cursor:pointer}
@media (max-width:760px){.contest-information-upload form{grid-template-columns:1fr}}
