/* =========================================================
   SIGNALEMENTS — PAGE ANNONCE COMPACTE
   Objectif : réduire le défilement sans sacrifier la lisibilité.
   ========================================================= */

.page-annonce-compact .topbar-inner{
    min-height:64px !important;
}

.page-annonce-compact .brand-mark{
    width:46px !important;
    height:46px !important;
    font-size:.85rem !important;
}

.page-annonce-compact .brand strong{
    font-size:1rem !important;
}

.page-annonce-compact .brand small{
    margin-top:2px !important;
    font-size:.72rem !important;
}

.page-annonce-compact .nav-button{
    min-height:38px !important;
    padding:0 13px !important;
    font-size:.76rem !important;
    border-radius:9px !important;
}

.page-annonce-compact .page-wrap{
    padding:14px 0 24px !important;
}

.page-annonce-compact .form-shell{
    width:min(1500px,100%) !important;
    border-radius:16px !important;
}

.page-annonce-compact .form-header{
    padding:18px 24px 10px !important;
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-areas:
        "icon title"
        "icon subtitle";
    align-items:center;
    column-gap:14px;
    text-align:left !important;
}

.page-annonce-compact .pigeon-icon{
    grid-area:icon;
    width:46px !important;
    height:46px !important;
    margin:0 !important;
    font-size:1.25rem !important;
}

.page-annonce-compact .form-header h1{
    grid-area:title;
    font-size:clamp(1.55rem,2.4vw,2.15rem) !important;
}

.page-annonce-compact .form-header p{
    grid-area:subtitle;
    margin:3px 0 0 !important;
    font-size:.84rem !important;
}

.page-annonce-compact .steps{
    padding:8px 24px 12px !important;
    gap:10px !important;
}

.page-annonce-compact .step-pill:not(:last-child)::after{
    top:15px !important;
}

.page-annonce-compact .step-dot{
    width:32px !important;
    height:32px !important;
    margin-bottom:5px !important;
    font-size:.76rem !important;
}

.page-annonce-compact .step-pill strong{
    font-size:.8rem !important;
}

.page-annonce-compact .step-pill span{
    margin-top:2px !important;
    font-size:.68rem !important;
}

.page-annonce-compact .form-body{
    padding:0 20px 20px !important;
}

.page-annonce-compact form[data-arrival-form]{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}

.page-annonce-compact form[data-arrival-form] > .sections-grid{
    display:grid !important;
    width:100% !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-areas:
        "concours amateur"
        "arrivee validation" !important;
    gap:12px !important;
    align-items:start !important;
}

.page-annonce-compact .section-concours{grid-area:concours !important;}
.page-annonce-compact .section-amateur{grid-area:amateur !important;}
.page-annonce-compact .section-arrivee{grid-area:arrivee !important;}
.page-annonce-compact .section-validation{grid-area:validation !important;}

.page-annonce-compact .form-section{
    margin-bottom:0 !important;
    padding:15px !important;
    border-radius:12px !important;
}

.page-annonce-compact .form-section h2{
    margin-bottom:4px !important;
    font-size:1.05rem !important;
}

.page-annonce-compact .section-help{
    margin-bottom:10px !important;
    font-size:.75rem !important;
    line-height:1.35 !important;
}

.page-annonce-compact .form-grid{
    gap:10px !important;
}

.page-annonce-compact .field{
    margin-bottom:10px !important;
}

.page-annonce-compact .field label{
    margin-bottom:5px !important;
    font-size:.76rem !important;
}

.page-annonce-compact .field input,
.page-annonce-compact .field select{
    height:40px !important;
    padding:0 11px !important;
    font-size:.82rem !important;
    border-radius:8px !important;
}

.page-annonce-compact .info-box{
    gap:9px !important;
    padding:10px !important;
    font-size:.72rem !important;
    line-height:1.35 !important;
    border-radius:9px !important;
}

.page-annonce-compact .info-icon{
    width:21px !important;
    height:21px !important;
    flex-basis:21px !important;
    font-size:.72rem !important;
}

.page-annonce-compact .location-row{
    gap:8px !important;
}

.page-annonce-compact .location-status{
    font-size:.72rem !important;
}

.page-annonce-compact .button{
    min-height:38px !important;
    padding:0 14px !important;
    font-size:.76rem !important;
    border-radius:8px !important;
}

.page-annonce-compact .consent{
    margin-top:10px !important;
    font-size:.71rem !important;
    line-height:1.35 !important;
}

.page-annonce-compact .submit-row{
    padding-top:0 !important;
}

.page-annonce-compact .submit-row .button{
    min-width:210px !important;
}

.page-annonce-compact .error-box{
    margin-bottom:10px !important;
    padding:11px 14px !important;
    font-size:.8rem !important;
}

.page-annonce-compact .footer{
    padding:0 0 12px !important;
    font-size:.72rem !important;
}

/* Répartition visuelle gérée par .sections-grid. */

/* Écrans peu hauts : encore plus dense */
@media(min-width:1100px) and (max-height:850px){
    .page-annonce-compact .page-wrap{
        padding-top:8px !important;
    }

    .page-annonce-compact .form-header{
        padding-top:12px !important;
        padding-bottom:6px !important;
    }

    .page-annonce-compact .steps{
        padding-top:5px !important;
        padding-bottom:8px !important;
    }

    .page-annonce-compact .form-section{
        padding:11px !important;
    }

    .page-annonce-compact .field input,
    .page-annonce-compact .field select{
        height:36px !important;
    }

    .page-annonce-compact .info-box{
        padding:8px !important;
    }
}

/* Tablette : une colonne pour éviter l'écrasement */
@media(max-width:1099px){
    .page-annonce-compact form[data-arrival-form] > .sections-grid{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "concours"
            "amateur"
            "arrivee"
            "validation" !important;
    }

    .page-annonce-compact .form-shell{
        width:min(980px,100%) !important;
    }
}

/* Mobile */
@media(max-width:650px){
    .page-annonce-compact .form-header{
        grid-template-columns:1fr;
        grid-template-areas:
            "icon"
            "title"
            "subtitle";
        text-align:center !important;
    }

    .page-annonce-compact .pigeon-icon{
        margin:0 auto 8px !important;
    }

    .page-annonce-compact .steps{
        padding-left:12px !important;
        padding-right:12px !important;
    }

    .page-annonce-compact .form-body{
        padding:0 10px 14px !important;
    }

    .page-annonce-compact .form-section{
        padding:12px !important;
    }
}

/* =========================================================
   CORRECTIF V4 — priorité absolue sur les anciennes règles
   ========================================================= */
body.page-annonce-compact form[data-arrival-form]{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}
body.page-annonce-compact form[data-arrival-form] > .sections-grid{
    display:grid !important;
    width:100% !important;
    max-width:none !important;
    grid-column:1 / -1 !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-areas:
        "concours amateur"
        "arrivee validation" !important;
    gap:14px !important;
    align-items:start !important;
}
body.page-annonce-compact .sections-grid > .section-concours{grid-area:concours !important;}
body.page-annonce-compact .sections-grid > .section-amateur{grid-area:amateur !important;}
body.page-annonce-compact .sections-grid > .section-arrivee{grid-area:arrivee !important;}
body.page-annonce-compact .sections-grid > .section-validation{grid-area:validation !important;}
body.page-annonce-compact .sections-grid > .submit-row{grid-column:1 / -1 !important;width:100% !important;}
@media(max-width:1099px){
    body.page-annonce-compact form[data-arrival-form] > .sections-grid{
        grid-template-columns:1fr !important;
        grid-template-areas:"concours" "amateur" "arrivee" "validation" !important;
    }
}
