:root{
    --at-public-navy:#071f43;
    --at-public-navy-2:#0a2f64;
    --at-public-blue:#0c63d8;
    --at-public-blue-2:#1e73e8;
    --at-public-gold:#f2ad16;
    --at-public-gold-2:#ffca35;
    --at-public-white:#ffffff;
    --at-public-snow:#f8fbff;
    --at-public-line:#dce6f1;
    --at-public-text:#071f43;
    --at-public-muted:#64748b;
}

.at-public-navigation,
.at-public-navigation *,
.at-flight-progress,
.at-flight-progress *,
.at-public-footer,
.at-public-footer *,
.at-public-whatsapp,
.at-public-whatsapp *{
    box-sizing:border-box;
}

.at-public-navigation,
.at-public-footer{
    font-family:"Inter","Segoe UI",Arial,sans-serif;
}

.at-public-navigation{
    position:sticky;
    top:0;
    z-index:9900;
    width:100%;
    transition:box-shadow .2s ease;
}

.at-public-navigation.is-scrolled{
    box-shadow:0 13px 34px rgba(7,31,67,.14);
}

.at-public-topbar{
    background:linear-gradient(90deg,#0c5fcf 0%,#126bdc 58%,#0c5fcf 100%);
    color:#fff;
}

.at-public-topbar-inner{
    width:min(1280px,100%);
    min-height:42px;
    margin:0 auto;
    display:flex;
    align-items:stretch;
    justify-content:space-between;
}

.at-public-reservation-link{
    min-width:170px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 18px;
    background:linear-gradient(135deg,#f7b817,#f09b05);
    color:#fff;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
    letter-spacing:.2px;
    box-shadow:inset 0 -3px 0 rgba(255,255,255,.16);
}

.at-public-topbar-contact{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:13px;
    padding:0 16px;
}

.at-public-topbar-contact > a{
    display:flex;
    align-items:center;
    gap:8px;
    color:#fff;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
}

.at-public-topbar-contact > a i{
    color:#ffd143;
}

.at-public-topbar-separator{
    width:1px;
    height:20px;
    background:rgba(255,255,255,.28);
}

.at-public-theme-toggle{
    width:36px;
    height:29px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(7,31,67,.22);
    color:#ffd143;
    cursor:pointer;
}

.at-public-header{
    position:relative;
    background:#fff;
    border-bottom:1px solid #e3eaf2;
    transition:background .2s ease,border-color .2s ease;
}

.at-public-header-inner{
    width:min(1280px,calc(100% - 34px));
    min-height:88px;
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:24px;
}

.at-public-logo{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    text-decoration:none;
}

.at-public-logo img{
    width:96px;
    height:78px;
    object-fit:contain;
    display:block;
    filter:drop-shadow(0 5px 9px rgba(7,31,67,.08));
}

.at-public-menu{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:3px;
}

.at-public-menu a{
    position:relative;
    min-height:46px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 11px;
    border-radius:10px;
    color:#071f43;
    text-decoration:none;
    font-size:11.5px;
    font-weight:900;
    white-space:nowrap;
    transition:color .18s ease,background .18s ease;
}

.at-public-menu a i{
    font-size:8px;
}

.at-public-menu a:hover,
.at-public-menu a.is-active{
    color:#0c63d8;
    background:#f1f6fd;
}

.at-public-menu a.is-active::after{
    content:"";
    position:absolute;
    left:11px;
    right:11px;
    bottom:2px;
    height:3px;
    border-radius:999px;
    background:#f2ad16;
}

.at-public-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
}

.at-public-login{
    min-height:42px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 13px;
    border-radius:11px;
    color:#071f43;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
}

.at-public-login:hover{
    background:#f3f7fc;
}

.at-public-notification{
    position:relative;
    width:44px;
    height:44px;
    border:1px solid #dce5ef;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:#071f43;
    text-decoration:none;
}

.at-public-notification span{
    position:absolute;
    top:-5px;
    right:-5px;
    min-width:18px;
    height:18px;
    padding:0 4px;
    border:2px solid #fff;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ef4444;
    color:#fff;
    font-size:7px;
    font-weight:900;
}

.at-public-user-button{
    min-height:46px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:4px 10px 4px 5px;
    border:1px solid #dce5ef;
    border-radius:13px;
    background:#fff;
    color:#071f43;
    cursor:pointer;
}

.at-public-user-avatar{
    width:36px;
    height:36px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#ffc72d,#f2a600);
    color:#071f43;
    font-size:12px;
    font-weight:1000;
}

.at-public-user-copy{
    min-width:62px;
    display:grid;
    text-align:left;
}

.at-public-user-copy small{
    color:#7c899b;
    font-size:7px;
    font-weight:700;
}

.at-public-user-copy strong{
    max-width:95px;
    overflow:hidden;
    color:#071f43;
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.at-public-quote-button{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 17px;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,#ffc735,#eea20b);
    color:#071f43;
    box-shadow:0 10px 22px rgba(238,162,11,.20);
    font-size:11px;
    font-weight:900;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease;
}

.at-public-quote-button:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(238,162,11,.27);
}

.at-public-popover{
    position:relative;
}

.at-public-language > button{
    min-height:31px;
    display:flex;
    align-items:center;
    gap:6px;
    padding:0 8px;
    border:0;
    background:transparent;
    color:#fff;
    cursor:pointer;
    font-size:9px;
}

.at-public-popover-menu{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    z-index:120;
    width:205px;
    padding:8px;
    border:1px solid #dce6f1;
    border-radius:15px;
    display:none;
    background:#fff;
    box-shadow:0 22px 58px rgba(7,31,67,.20);
}

.at-public-popover.is-open .at-public-popover-menu{
    display:block;
}

.at-public-popover-menu a{
    min-height:40px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 10px;
    border-radius:9px;
    color:#071f43;
    text-decoration:none;
    font-size:10.5px;
    font-weight:800;
}

.at-public-popover-menu a:hover{
    background:#eff5fd;
    color:#0c63d8;
}

.at-public-user-menu{
    width:225px;
}

.at-public-user-menu i{
    width:18px;
    color:#0c63d8;
}

.at-public-user-menu .at-public-logout{
    margin-top:5px;
    border-top:1px solid #e5ebf2;
    color:#b42318;
}

.at-public-mobile-toggle{
    width:44px;
    height:44px;
    border:1px solid #dce5ef;
    border-radius:12px;
    display:none;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:#071f43;
    cursor:pointer;
}

.at-public-mobile-panel{
    display:none;
    padding:10px 17px 18px;
    border-top:1px solid #e5ebf2;
    background:#fff;
}

.at-public-mobile-panel.is-open{
    display:grid;
}

.at-public-mobile-panel a{
    min-height:43px;
    display:flex;
    align-items:center;
    padding:0 11px;
    border-bottom:1px solid #edf1f6;
    color:#071f43;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
}

html.at-navigation-dark .at-public-header,
html.at-navigation-dark .at-public-mobile-panel{
    background:#071f43;
    border-color:rgba(255,255,255,.12);
}

html.at-navigation-dark .at-public-menu a,
html.at-navigation-dark .at-public-login,
html.at-navigation-dark .at-public-mobile-panel a{
    color:#fff;
}

html.at-navigation-dark .at-public-menu a:hover,
html.at-navigation-dark .at-public-menu a.is-active,
html.at-navigation-dark .at-public-login:hover{
    background:rgba(255,255,255,.08);
}

html.at-navigation-dark .at-public-user-button,
html.at-navigation-dark .at-public-notification,
html.at-navigation-dark .at-public-mobile-toggle{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
    color:#fff;
}

html.at-navigation-dark .at-public-user-copy small{
    color:#b6c7dc;
}

html.at-navigation-dark .at-public-user-copy strong{
    color:#fff;
}

.at-flight-progress{
    width:100%;
    padding:13px 18px;
    border-bottom:1px solid #dce6f1;
    background:#fff;
    font-family:"Inter","Segoe UI",Arial,sans-serif;
}

.at-flight-progress-track{
    width:min(1180px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:6px;
}

.at-flight-step{
    min-width:0;
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px;
    border-radius:12px;
    color:#8a98aa;
}

.at-flight-step-icon{
    flex:0 0 31px;
    width:31px;
    height:31px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#edf2f7;
    font-size:11px;
}

.at-flight-step-copy{
    min-width:0;
    display:grid;
}

.at-flight-step-copy small{
    font-size:7px;
    font-weight:700;
}

.at-flight-step-copy strong{
    overflow:hidden;
    font-size:9px;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.at-flight-step.is-complete{
    color:#15803d;
}

.at-flight-step.is-complete .at-flight-step-icon{
    background:#e9f9ef;
}

.at-flight-step.is-current{
    background:#edf5ff;
    color:#0c63d8;
}

.at-flight-step.is-current .at-flight-step-icon{
    background:#0c63d8;
    color:#fff;
}

.at-public-footer{
    position:relative;
    width:100%;
    margin-top:48px;
    overflow:hidden;
    background:linear-gradient(180deg,#f5f9ff 0%,#fff 24%,#fbfdff 100%);
    color:#071f43;
    border-top:1px solid #e2e9f1;
}

.at-public-footer-wrap{
    width:min(1280px,calc(100% - 34px));
    margin:0 auto;
    padding:22px 0 0;
}

.at-public-footer-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;
    padding:23px 27px;
    border:1px solid #dce6f1;
    border-radius:21px;
    background:linear-gradient(135deg,#fff,#f5f9ff);
    box-shadow:0 16px 40px rgba(7,31,67,.085);
}

.at-public-footer-cta-copy{
    display:flex;
    align-items:center;
    gap:17px;
}

.at-public-footer-cta-icon{
    flex:0 0 61px;
    width:61px;
    height:61px;
    border:1px solid #d9e6f6;
    border-radius:17px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:#d99b07;
    box-shadow:0 8px 22px rgba(7,31,67,.08);
    font-size:22px;
}

.at-public-footer-cta-copy small{
    display:block;
    margin-bottom:4px;
    color:#65758c;
    font-size:10px;
    font-weight:800;
}

.at-public-footer-cta-copy h2{
    margin:0;
    color:#0a2d63;
    font-size:24px;
    font-weight:900;
    letter-spacing:-.45px;
}

.at-public-footer-cta-copy p{
    margin:7px 0 0;
    color:#697991;
    font-size:12px;
    font-weight:600;
}

.at-public-footer-cta-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.at-public-footer-quote,
.at-public-footer-call{
    min-height:50px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 18px;
    font-size:10.5px;
    font-weight:900;
}

.at-public-footer-quote{
    border:0;
    background:linear-gradient(135deg,#f8c638,#dda00c);
    color:#071f43;
    box-shadow:0 11px 24px rgba(221,160,12,.20);
    cursor:pointer;
}

.at-public-footer-call{
    border:1px solid #dfb34a;
    background:#fff;
    color:#071f43;
    text-decoration:none;
}

.at-public-footer-call > i{
    color:#d99b07;
}

.at-public-footer-call small{
    display:block;
    color:#7b899c;
    font-size:7px;
}

.at-public-footer-call strong{
    display:block;
    font-size:10px;
}

.at-public-footer-main{
    display:grid;
    grid-template-columns:minmax(250px,1.12fr) minmax(145px,.62fr) minmax(180px,.75fr) minmax(270px,1.08fr);
    gap:36px;
    padding:44px 10px 32px;
}

.at-public-footer-main h3{
    margin:0 0 17px;
    color:#0a2d63;
    font-size:15px;
    font-weight:900;
}

.at-public-footer-main h3::after{
    content:"";
    display:block;
    width:32px;
    height:2px;
    margin-top:8px;
    border-radius:999px;
    background:#dda00c;
}

.at-public-footer-brand > a{
    display:inline-flex;
}

.at-public-footer-brand img{
    width:120px;
    height:91px;
    object-fit:contain;
}

.at-public-footer-line{
    display:block;
    width:42px;
    height:3px;
    margin:6px 0 17px;
    border-radius:999px;
    background:#d99b07;
}

.at-public-footer-brand p{
    max-width:290px;
    margin:0;
    color:#617188;
    font-size:12px;
    font-weight:600;
    line-height:1.68;
}

.at-public-footer-socials{
    display:flex;
    gap:9px;
    margin-top:20px;
}

.at-public-footer-socials a{
    width:41px;
    height:41px;
    border:1px solid #dce5ef;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:#0a2d63;
    text-decoration:none;
    box-shadow:0 6px 15px rgba(7,31,67,.06);
    transition:transform .18s ease,color .18s ease,border-color .18s ease;
}

.at-public-footer-socials a:hover{
    transform:translateY(-3px);
    border-color:#d99b07;
    color:#d99b07;
}

.at-public-footer-column{
    display:flex;
    flex-direction:column;
}

.at-public-footer-column a,
.at-public-footer-column button{
    min-height:42px;
    border:0;
    border-bottom:1px solid #e8edf3;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0;
    background:transparent;
    color:#4f6077;
    font:inherit;
    font-size:11px;
    font-weight:650;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
}

.at-public-footer-column a::before{
    content:"\f054";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    color:#d99b07;
    font-size:8px;
}

.at-public-footer-services a::before{
    display:none;
}

.at-public-footer-services i{
    width:21px;
    color:#d99b07;
}

.at-public-footer-column a:hover,
.at-public-footer-column button:hover{
    color:#0c63d8;
}

.at-public-footer-contact > a,
.at-public-footer-contact > p{
    min-height:43px;
    margin:0;
    display:flex;
    align-items:center;
    gap:11px;
    color:#4f6077;
    text-decoration:none;
    font-size:11px;
    font-weight:650;
}

.at-public-footer-contact > a i,
.at-public-footer-contact > p i{
    width:20px;
    color:#d99b07;
}

.at-public-footer-map{
    margin-top:12px;
    overflow:hidden;
    border:1px solid #dfe7ef;
    border-radius:14px;
    box-shadow:0 9px 22px rgba(7,31,67,.07);
}

.at-public-footer-map iframe{
    width:100%;
    height:140px;
    display:block;
    filter:saturate(.78) brightness(1.05);
}

.at-public-footer-trust{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin:0 10px;
    border:1px solid #e2e9f1;
    border-radius:17px;
    background:#fff;
    box-shadow:0 9px 26px rgba(7,31,67,.05);
}

.at-public-footer-trust > div{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    padding:0 20px;
    border-right:1px solid #e5eaf0;
}

.at-public-footer-trust > div:last-child{
    border-right:0;
}

.at-public-footer-trust > div > i{
    width:48px;
    height:48px;
    border:1px solid #eadbb6;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fffdf8;
    color:#d99b07;
    font-size:18px;
}

.at-public-footer-trust span{
    display:grid;
    gap:3px;
}

.at-public-footer-trust strong{
    color:#0a2d63;
    font-size:11px;
    font-weight:900;
}

.at-public-footer-trust small{
    color:#77859a;
    font-size:9px;
    font-weight:600;
}

.at-public-footer-bottom{
    min-height:70px;
    margin-top:20px;
    padding:15px 10px 24px;
    border-top:1px solid #e5ebf2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.at-public-footer-bottom p{
    margin:0;
    color:#748398;
    font-size:9.5px;
    font-weight:650;
}

.at-public-footer-bottom > div{
    display:flex;
    gap:17px;
    color:#67768b;
    font-size:9px;
    font-weight:650;
}

.at-public-whatsapp{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:9800;
    width:54px;
    height:54px;
    border:4px solid #fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#16a34a;
    color:#fff;
    text-decoration:none;
    box-shadow:0 15px 34px rgba(22,163,74,.28);
    font-size:23px;
}

@media(max-width:1180px){
    .at-public-menu{
        display:none;
    }

    .at-public-mobile-toggle{
        display:flex;
    }

    .at-public-header-inner{
        min-height:74px;
    }

    .at-public-logo img{
        width:84px;
        height:68px;
    }

    .at-public-actions{
        margin-left:auto;
    }

    .at-public-footer-main{
        grid-template-columns:minmax(230px,1fr) 1fr 1fr;
    }

    .at-public-footer-contact{
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:5px 18px;
    }

    .at-public-footer-contact h3,
    .at-public-footer-map{
        grid-column:1 / -1;
    }
}

@media(max-width:820px){
    .at-public-topbar-contact > a span,
    .at-public-topbar-separator{
        display:none;
    }

    .at-public-reservation-link{
        min-width:auto;
        padding:0 13px;
    }

    .at-public-reservation-link span{
        font-size:9px;
    }

    .at-public-login span,
    .at-public-quote-button{
        display:none;
    }

    .at-public-login{
        width:42px;
        padding:0;
        justify-content:center;
        border:1px solid #dce5ef;
    }

    .at-public-user-copy{
        display:none;
    }

    .at-public-footer-cta{
        align-items:flex-start;
        flex-direction:column;
    }

    .at-public-footer-cta-actions{
        width:100%;
    }

    .at-public-footer-main{
        grid-template-columns:1fr 1fr;
    }

    .at-public-footer-contact{
        grid-column:1 / -1;
    }

    .at-flight-progress-track{
        grid-template-columns:repeat(4,1fr);
    }
}

@media(max-width:620px){
    .at-public-topbar-inner{
        min-height:38px;
    }

    .at-public-topbar-contact{
        gap:7px;
        padding:0 9px;
    }

    .at-public-reservation-link{
        padding:0 10px;
    }

    .at-public-header-inner{
        width:calc(100% - 18px);
        min-height:62px;
        gap:10px;
    }

    .at-public-logo img{
        width:68px;
        height:54px;
    }

    .at-public-notification,
    .at-public-login,
    .at-public-mobile-toggle{
        width:40px;
        height:40px;
    }

    .at-public-user-button{
        min-height:40px;
    }

    .at-public-user-avatar{
        width:31px;
        height:31px;
    }

    .at-public-footer-wrap{
        width:calc(100% - 16px);
    }

    .at-public-footer-cta{
        padding:19px 15px;
    }

    .at-public-footer-cta-copy{
        align-items:flex-start;
    }

    .at-public-footer-cta-icon{
        flex-basis:48px;
        width:48px;
        height:48px;
    }

    .at-public-footer-cta-copy h2{
        font-size:20px;
    }

    .at-public-footer-cta-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .at-public-footer-quote,
    .at-public-footer-call{
        width:100%;
    }

    .at-public-footer-main{
        grid-template-columns:1fr;
        gap:28px;
        padding-top:33px;
    }

    .at-public-footer-contact{
        grid-column:auto;
        display:block;
    }

    .at-public-footer-trust{
        grid-template-columns:1fr;
    }

    .at-public-footer-trust > div{
        justify-content:flex-start;
        border-right:0;
        border-bottom:1px solid #e5eaf0;
    }

    .at-public-footer-trust > div:last-child{
        border-bottom:0;
    }

    .at-public-footer-bottom{
        align-items:flex-start;
        flex-direction:column;
        padding-bottom:82px;
    }

    .at-public-footer-bottom > div{
        flex-wrap:wrap;
    }

    .at-flight-progress{
        padding:9px;
        overflow-x:auto;
    }

    .at-flight-progress-track{
        min-width:630px;
        grid-template-columns:repeat(7,1fr);
    }

    .at-public-whatsapp{
        right:14px;
        bottom:14px;
        width:50px;
        height:50px;
    }
}

/* ======================================================================
   ASSALAS TOURS — TYPOGRAPHIE NAVBAR + FOOTER AGRANDIE V3
   Correctif ciblé : aucune structure ni fonctionnalité n'est modifiée.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| TOPBAR
|--------------------------------------------------------------------------
*/

.at-public-topbar-inner{
    min-height:46px;
}

.at-public-reservation-link{
    min-width:184px;
    gap:10px;
    padding:0 20px;
    font-size:13px;
    letter-spacing:.25px;
}

.at-public-topbar-contact{
    gap:15px;
    padding:0 18px;
}

.at-public-topbar-contact > a{
    gap:9px;
    font-size:12px;
}

.at-public-language > button{
    min-height:34px;
    gap:7px;
    padding:0 9px;
    font-size:11px;
    font-weight:850;
}

/*
|--------------------------------------------------------------------------
| NAVBAR PRINCIPALE
|--------------------------------------------------------------------------
*/

.at-public-header-inner{
    min-height:96px;
    gap:27px;
}

.at-public-logo img{
    width:108px;
    height:86px;
}

.at-public-menu{
    gap:5px;
}

.at-public-menu a{
    min-height:50px;
    gap:8px;
    padding:0 13px;
    font-size:13.5px;
    font-weight:900;
}

.at-public-menu a i{
    font-size:9px;
}

.at-public-login{
    min-height:46px;
    gap:9px;
    padding:0 14px;
    font-size:12px;
}

.at-public-notification{
    width:46px;
    height:46px;
}

.at-public-user-button{
    min-height:49px;
    padding:5px 12px 5px 6px;
}

.at-public-user-avatar{
    width:38px;
    height:38px;
    font-size:13px;
}

.at-public-user-copy{
    min-width:70px;
}

.at-public-user-copy small{
    font-size:8.5px;
}

.at-public-user-copy strong{
    max-width:110px;
    font-size:12px;
}

.at-public-quote-button{
    min-height:52px;
    gap:11px;
    padding:0 20px;
    font-size:12.5px;
}

.at-public-mobile-panel a{
    min-height:47px;
    font-size:13px;
}

/*
|--------------------------------------------------------------------------
| FOOTER — BANDEAU SUPÉRIEUR
|--------------------------------------------------------------------------
*/

.at-public-footer-cta{
    gap:28px;
    padding:27px 30px;
}

.at-public-footer-cta-icon{
    flex-basis:66px;
    width:66px;
    height:66px;
    font-size:24px;
}

.at-public-footer-cta-copy small{
    margin-bottom:5px;
    font-size:12px;
}

.at-public-footer-cta-copy h2{
    font-size:28px;
    line-height:1.2;
}

.at-public-footer-cta-copy p{
    margin-top:8px;
    font-size:14px;
    line-height:1.55;
}

.at-public-footer-quote,
.at-public-footer-call{
    min-height:54px;
    gap:10px;
    padding:0 20px;
    font-size:12.5px;
}

.at-public-footer-call small{
    font-size:8.5px;
}

.at-public-footer-call strong{
    font-size:12px;
}

/*
|--------------------------------------------------------------------------
| FOOTER — COLONNES
|--------------------------------------------------------------------------
*/

.at-public-footer-main{
    grid-template-columns:
        minmax(270px,1.15fr)
        minmax(160px,.66fr)
        minmax(195px,.78fr)
        minmax(285px,1.1fr);
    gap:40px;
    padding:48px 10px 36px;
}

.at-public-footer-main h3{
    margin-bottom:19px;
    font-size:17px;
}

.at-public-footer-brand img{
    width:132px;
    height:100px;
}

.at-public-footer-brand p{
    max-width:315px;
    font-size:13.5px;
    line-height:1.72;
}

.at-public-footer-socials a{
    width:44px;
    height:44px;
    font-size:15px;
}

.at-public-footer-column a,
.at-public-footer-column button{
    min-height:46px;
    gap:10px;
    font-size:12.5px;
    font-weight:700;
}

.at-public-footer-column a::before{
    font-size:9px;
}

.at-public-footer-services i{
    width:23px;
    font-size:14px;
}

.at-public-footer-contact > a,
.at-public-footer-contact > p{
    min-height:47px;
    gap:12px;
    font-size:12.5px;
    font-weight:700;
}

.at-public-footer-contact > a i,
.at-public-footer-contact > p i{
    width:22px;
    font-size:14px;
}

.at-public-footer-map iframe{
    height:152px;
}

/*
|--------------------------------------------------------------------------
| FOOTER — GARANTIES ET BAS DE PAGE
|--------------------------------------------------------------------------
*/

.at-public-footer-trust > div{
    min-height:90px;
    gap:15px;
    padding:0 23px;
}

.at-public-footer-trust > div > i{
    width:52px;
    height:52px;
    font-size:20px;
}

.at-public-footer-trust strong{
    font-size:13px;
}

.at-public-footer-trust small{
    font-size:10.5px;
}

.at-public-footer-bottom{
    min-height:76px;
}

.at-public-footer-bottom p{
    font-size:11px;
}

.at-public-footer-bottom > div{
    gap:18px;
    font-size:10.5px;
}

/*
|--------------------------------------------------------------------------
| TABLETTE
|--------------------------------------------------------------------------
*/

@media(max-width:1180px){
    .at-public-header-inner{
        min-height:82px;
    }

    .at-public-logo img{
        width:94px;
        height:74px;
    }

    .at-public-footer-main{
        grid-template-columns:minmax(245px,1fr) 1fr 1fr;
    }
}

/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media(max-width:820px){
    .at-public-reservation-link span{
        font-size:11px;
    }
}

@media(max-width:620px){
    .at-public-topbar-inner{
        min-height:41px;
    }

    .at-public-header-inner{
        min-height:68px;
    }

    .at-public-logo img{
        width:76px;
        height:60px;
    }

    .at-public-mobile-panel a{
        font-size:12.5px;
    }

    .at-public-footer-cta-copy h2{
        font-size:22px;
    }

    .at-public-footer-cta-copy p{
        font-size:12.5px;
    }

    .at-public-footer-main h3{
        font-size:16px;
    }

    .at-public-footer-brand p{
        font-size:12.5px;
    }

    .at-public-footer-column a,
    .at-public-footer-column button,
    .at-public-footer-contact > a,
    .at-public-footer-contact > p{
        font-size:12px;
    }
}

/* ======================================================================
   ASSALAS TOURS — CORRECTIF NAVBAR + ESPACE HERO V4
   Correctif ciblé : aucun PHP métier et aucune structure HTML modifiés.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| 1. Empêcher le bouton « Demander un devis » de sortir de l'écran
|--------------------------------------------------------------------------
*/

.at-public-header-inner{
    width:min(1420px,calc(100% - 14px)) !important;
    gap:16px !important;
    padding-left:6px !important;
    padding-right:6px !important;
}

.at-public-menu{
    min-width:0 !important;
    gap:2px !important;
}

.at-public-actions{
    min-width:0 !important;
    gap:7px !important;
}

.at-public-quote-button{
    flex:0 0 auto !important;
    white-space:nowrap !important;
}

/*
|--------------------------------------------------------------------------
| Écrans entre 1181 px et 1400 px
| Le menu reste complet, mais gagne juste l'espace nécessaire.
|--------------------------------------------------------------------------
*/

@media(min-width:1181px) and (max-width:1400px){
    .at-public-header-inner{
        width:calc(100% - 10px) !important;
        gap:11px !important;
        padding-left:5px !important;
        padding-right:5px !important;
    }

    .at-public-logo img{
        width:96px !important;
        height:78px !important;
    }

    .at-public-menu{
        gap:0 !important;
    }

    .at-public-menu a{
        min-height:48px !important;
        padding-left:8px !important;
        padding-right:8px !important;
        font-size:12.5px !important;
    }

    .at-public-login{
        padding-left:9px !important;
        padding-right:9px !important;
        font-size:11.5px !important;
    }

    .at-public-actions{
        gap:5px !important;
    }

    .at-public-quote-button{
        min-height:48px !important;
        padding-left:13px !important;
        padding-right:13px !important;
        font-size:12px !important;
    }
}

/*
|--------------------------------------------------------------------------
| 2. Supprimer le grand vide en haut du hero de la page d'accueil
|
| L'ancien hero réservait 210 px pour une navbar placée dans l'image.
| La navbar est maintenant extérieure et commune : cette réserve est retirée.
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .premium-home-hero{
    min-height:620px !important;
}

body.home-premium-v2 .hero-content{
    min-height:620px !important;
    padding:
        64px
        40px
        96px
        72px !important;
}

/*
|--------------------------------------------------------------------------
| Adaptation du hero lorsque l'écran devient plus étroit
|--------------------------------------------------------------------------
*/

@media(max-width:1280px){
    body.home-premium-v2 .premium-home-hero{
        min-height:600px !important;
    }

    body.home-premium-v2 .hero-content{
        min-height:600px !important;
        padding:
            58px
            28px
            88px
            42px !important;
        gap:38px !important;
    }
}

@media(max-width:980px){
    body.home-premium-v2 .premium-home-hero{
        min-height:auto !important;
    }

    body.home-premium-v2 .hero-content{
        min-height:auto !important;
        padding:
            42px
            18px
            72px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — RÉDUCTION DES ESPACES DU HERO V5
   Retire uniquement le vide supérieur et inférieur signalé.
   ====================================================================== */

@media(min-width:981px){
    body.home-premium-v2 .premium-home-hero{
        min-height:0 !important;
    }

    body.home-premium-v2 .hero-content{
        min-height:0 !important;
        padding:
            28px
            40px
            40px
            72px !important;
    }
}

@media(min-width:981px) and (max-width:1280px){
    body.home-premium-v2 .hero-content{
        padding:
            24px
            28px
            34px
            42px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — ALIGNEMENT NAVBAR ET HERO V7
   - menu principal déplacé vers la gauche ;
   - actions conservées à droite ;
   - textes du hero déplacés vers la gauche ;
   - photo du hero légèrement plus haute.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| NAVBAR : menu plus proche du logo
|--------------------------------------------------------------------------
*/

@media(min-width:1181px){
    .at-public-menu{
        margin-left:18px !important;
    }

    .at-public-actions{
        margin-left:auto !important;
    }
}

/*
|--------------------------------------------------------------------------
| HERO : contenu plus à gauche et hauteur légèrement augmentée
|--------------------------------------------------------------------------
*/

@media(min-width:1281px){
    body.home-premium-v2 .premium-home-hero{
        min-height:0 !important;
    }

    body.home-premium-v2 .hero-content{
        width:calc(100% - 20px) !important;
        max-width:1510px !important;
        min-height:0 !important;

        margin-left:auto !important;
        margin-right:auto !important;

        padding:
            28px
            40px
            58px
            38px !important;
    }

    body.home-premium-v2 .hero-text{
        margin-left:0 !important;
        text-align:left !important;
    }

    body.home-premium-v2 .hero-kicker,
    body.home-premium-v2 .hero-text h1,
    body.home-premium-v2 .hero-subtitle-premium,
    body.home-premium-v2 .features{
        margin-left:0 !important;
        text-align:left !important;
    }
}

/*
|--------------------------------------------------------------------------
| Écrans de 981 px à 1280 px
|--------------------------------------------------------------------------
*/

@media(min-width:981px) and (max-width:1280px){
    body.home-premium-v2 .hero-content{
        width:calc(100% - 16px) !important;

        padding:
            24px
            28px
            50px
            24px !important;
    }

    body.home-premium-v2 .hero-text{
        margin-left:0 !important;
        text-align:left !important;
    }

    body.home-premium-v2 .hero-kicker,
    body.home-premium-v2 .hero-text h1,
    body.home-premium-v2 .hero-subtitle-premium,
    body.home-premium-v2 .features{
        margin-left:0 !important;
        text-align:left !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — AJUSTEMENT NAVBAR ET HERO V8
   - menu principal centré dans la navbar ;
   - hero légèrement plus haut ;
   - textes du hero alignés plus à gauche selon le repère demandé.
   ====================================================================== */

/* NAVBAR : logo à gauche, menu centré, actions à droite */
@media(min-width:1181px){
    .at-public-header-inner{
        gap:18px !important;
    }

    .at-public-logo{
        margin-right:0 !important;
    }

    .at-public-menu{
        flex:1 1 auto !important;
        margin-left:0 !important;
        justify-content:center !important;
        gap:5px !important;
    }

    .at-public-actions{
        margin-left:0 !important;
        flex:0 0 auto !important;
    }
}

/* HERO : un peu plus haut et contenu décalé à gauche */
@media(min-width:1281px){
    body.home-premium-v2 .hero-content{
        width:calc(100% - 18px) !important;
        max-width:1510px !important;
        padding:34px 40px 72px 26px !important;
    }

    body.home-premium-v2 .hero-text,
    body.home-premium-v2 .hero-kicker,
    body.home-premium-v2 .hero-text h1,
    body.home-premium-v2 .hero-subtitle-premium,
    body.home-premium-v2 .features{
        margin-left:0 !important;
        padding-left:0 !important;
        text-align:left !important;
        align-self:flex-start !important;
    }
}

@media(min-width:981px) and (max-width:1280px){
    body.home-premium-v2 .hero-content{
        width:calc(100% - 16px) !important;
        padding:30px 28px 62px 20px !important;
    }

    body.home-premium-v2 .hero-text,
    body.home-premium-v2 .hero-kicker,
    body.home-premium-v2 .hero-text h1,
    body.home-premium-v2 .hero-subtitle-premium,
    body.home-premium-v2 .features{
        margin-left:0 !important;
        padding-left:0 !important;
        text-align:left !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — POINTS HERO + CONNEXION V9
   - indicateurs du carousel déplacés vers le bas du hero ;
   - bouton « Se connecter » légèrement agrandi.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Indicateurs du carousel en bas
|--------------------------------------------------------------------------
*/

@media(min-width:1241px){
    body.home-premium-v2 .hero-background-dots{
        bottom:26px !important;
    }
}

/*
|--------------------------------------------------------------------------
| Bouton Se connecter légèrement agrandi
|--------------------------------------------------------------------------
*/

@media(min-width:821px){
    .at-public-login{
        min-height:48px !important;
        gap:9px !important;
        padding:0 16px !important;
        font-size:13px !important;
        font-weight:900 !important;
    }

    .at-public-login i{
        font-size:12px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — VRAIS DRAPEAUX DU SÉLECTEUR DE LANGUE V10
   Les emojis sont remplacés par des images SVG compatibles avec Windows.
   ====================================================================== */

.at-public-language > button{
    gap:8px !important;
}

.at-public-language-flag{
    flex:0 0 24px;
    width:24px;
    height:16px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.48);
    border-radius:3px;

    background:#ffffff;

    box-shadow:
        0 2px 5px rgba(7,31,67,.16);
}

.at-public-language-flag img,
.at-public-language-option-flag img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}

.at-public-language-menu{
    width:190px !important;
}

.at-public-language-menu a{
    gap:11px !important;
    font-size:11px !important;
}

.at-public-language-option-flag{
    flex:0 0 27px;
    width:27px;
    height:18px;

    display:inline-flex;

    overflow:hidden;

    border:1px solid #d7e0eb;
    border-radius:3px;

    background:#ffffff;

    box-shadow:
        0 2px 6px rgba(7,31,67,.09);
}

@media(max-width:620px){
    .at-public-language-flag{
        flex-basis:22px;
        width:22px;
        height:15px;
    }
}

/* ======================================================================
   ASSALAS TOURS — INTERNATIONALISATION ET RTL
   ====================================================================== */

html,
body,
button,
input,
select,
textarea{
    font-family:"Inter","Segoe UI",Arial,sans-serif;
}

html[dir="rtl"],
html[dir="rtl"] body,
html[dir="rtl"] button,
html[dir="rtl"] input,
html[dir="rtl"] select,
html[dir="rtl"] textarea{
    font-family:"Noto Sans Arabic",Tahoma,Arial,sans-serif;
}

html[dir="rtl"] body{
    direction:rtl;
    text-align:right;
}

html[dir="rtl"] .at-public-navigation,
html[dir="rtl"] .at-public-footer,
html[dir="rtl"] .at-flight-progress{
    direction:rtl;
    font-family:"Noto Sans Arabic",Tahoma,Arial,sans-serif;
}

html[dir="rtl"] .at-public-menu,
html[dir="rtl"] .at-public-actions,
html[dir="rtl"] .at-public-topbar-inner,
html[dir="rtl"] .at-public-topbar-contact,
html[dir="rtl"] .at-public-footer-cta,
html[dir="rtl"] .at-public-footer-cta-copy,
html[dir="rtl"] .at-public-footer-cta-actions,
html[dir="rtl"] .at-public-footer-socials,
html[dir="rtl"] .at-flight-progress-track{
    direction:rtl;
}

html[dir="rtl"] .at-public-popover-menu,
html[dir="rtl"] .at-public-mobile-panel,
html[dir="rtl"] .at-public-footer-column,
html[dir="rtl"] .at-public-footer-contact,
html[dir="rtl"] .at-public-footer-brand{
    text-align:right;
}

html[dir="rtl"] .at-public-footer-column a,
html[dir="rtl"] .at-public-footer-services a,
html[dir="rtl"] .at-public-footer-services button,
html[dir="rtl"] .at-public-footer-contact > a,
html[dir="rtl"] .at-public-footer-contact > p{
    justify-content:flex-start;
}

html[dir="rtl"] .at-public-menu .fa-chevron-down,
html[dir="rtl"] .at-public-user-button .fa-chevron-down,
html[dir="rtl"] .at-public-language > button .fa-chevron-down{
    margin-right:auto;
    margin-left:0;
}

html[dir="rtl"] .fa-arrow-right,
html[dir="rtl"] .fa-chevron-right,
html[dir="rtl"] .fa-arrow-left,
html[dir="rtl"] .fa-chevron-left{
    transform:scaleX(-1);
}

html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[inputmode="email"],
html[dir="rtl"] input[inputmode="tel"]{
    direction:ltr;
}

html[dir="rtl"] input[type="date"],
html[dir="rtl"] input[name*="passport" i],
html[dir="rtl"] input[name*="passeport" i],
html[dir="rtl"] input[name*="iata" i]{
    direction:ltr;
    text-align:left;
}

html[dir="rtl"] .at-public-language-menu a[dir="ltr"]{
    direction:ltr;
    text-align:left;
}

html[dir="rtl"] .at-public-language-menu a[dir="rtl"]{
    direction:rtl;
    text-align:right;
}

@media(max-width:1080px){
    html[dir="rtl"] .at-public-mobile-toggle{
        margin-right:auto;
        margin-left:0;
    }
}
