/* =========================================================
   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:17px !important;
    border-radius:16px !important;
    border-color:#dbe4ef !important;
    box-shadow:0 6px 18px rgba(0,0,0,.05) !important;
}

.page-annonce-compact .form-section h2{
    margin-bottom:8px !important;
    font-size:1.55rem !important;
    font-weight:900 !important;
    color:#d71920 !important;
    line-height:1.1 !important;
    letter-spacing:-.25px !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;
    }
}

/* V5 — Titres rouges et bouton principal rouge */
.page-annonce-compact .button-primary{
    background:linear-gradient(180deg,#ef2b2d,#c91017) !important;
    color:#fff !important;
    box-shadow:0 10px 25px rgba(199,16,23,.35) !important;
    min-height:46px !important;
    padding:0 22px !important;
    font-size:.84rem !important;
}
.page-annonce-compact .button-primary:hover{
    box-shadow:0 15px 35px rgba(199,16,23,.45) !important;
}
@media(max-width:650px){
    .page-annonce-compact .form-section h2{font-size:1.28rem !important;}
}


/* V6.0.1 — surcharge finale volontaire */
body.page-annonce-compact .form-section > h2{
    color:#d71920 !important;
    font-size:1.72rem !important;
    font-weight:900 !important;
    line-height:1.12 !important;
    margin-bottom:8px !important;
}
body.page-annonce-compact button.button.button-primary{
    background:linear-gradient(180deg,#ef2b2d 0%,#cf1118 100%) !important;
    color:#fff !important;
    border:0 !important;
    min-height:48px !important;
    padding:0 24px !important;
    border-radius:10px !important;
    font-size:.9rem !important;
    font-weight:900 !important;
    box-shadow:0 10px 24px rgba(207,17,24,.32) !important;
}
