/* =========================================================
   ASSALAS TOURS - STYLE.CSS PROPRE
   Remplace tout ton ancien fichier style.css par ce fichier
========================================================= */

/* ================= RESET / BASE ================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ======================================================================
   ASSALAS TOURS — TYPOGRAPHIE INTERNATIONALE 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"] .premium-topbar,
html[dir="rtl"] .navbar,
html[dir="rtl"] .mobile-menu,
html[dir="rtl"] .booking-box,
html[dir="rtl"] .search-panel,
html[dir="rtl"] .flight-search-pro,
html[dir="rtl"] .home-section,
html[dir="rtl"] .premium-home-footer,
html[dir="rtl"] .modal,
html[dir="rtl"] .auth-modal{
    direction:rtl;
}

html[dir="rtl"] .desktop-main-menu,
html[dir="rtl"] .nav-right,
html[dir="rtl"] .premium-topbar-inner,
html[dir="rtl"] .premium-topbar-contact-group,
html[dir="rtl"] .footer-cta,
html[dir="rtl"] .footer-grid,
html[dir="rtl"] .footer-bottom{
    direction:rtl;
}

html[dir="rtl"] .dropdown-menu,
html[dir="rtl"] .user-menu-dropdown,
html[dir="rtl"] .notif-menu,
html[dir="rtl"] .lang-dropdown,
html[dir="rtl"] .mobile-menu,
html[dir="rtl"] .footer-column,
html[dir="rtl"] .auth-left,
html[dir="rtl"] .auth-right,
html[dir="rtl"] .devis-modal-content{
    text-align:right;
}

html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[inputmode="email"],
html[dir="rtl"] input[inputmode="tel"],
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],
html[dir="rtl"] .iti input{
    direction:ltr;
    text-align:left;
}

html[dir="rtl"] .iti{
    direction:ltr;
}

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

html[dir="rtl"] .airport-results,
html[dir="rtl"] .traveler-dropdown{
    text-align:right;
}

html[dir="rtl"] .premium-theme-toggle,
html[dir="rtl"] .mobile-menu-btn{
    margin-right:auto;
    margin-left:0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    background: #f5f8fc;
    color: #08244d;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

button {
    cursor: pointer;
}

/* ================= HERO ================= */
.hero {
    min-height: 680px;
    padding-top: 95px;
    background:
        linear-gradient(rgba(0, 70, 160, 0.20), rgba(0, 160, 180, 0.10)),
        url("images/hero.jpg") center/cover no-repeat;
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
    position: relative;
    color: white;
}

/* ================= NAVBAR ================= */
.navbar {
    height: 95px;
    padding: 0 55px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(7, 31, 67, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    z-index: 1000;
    transition: 0.3s ease;
}

.navbar:hover {
    background: rgba(7, 31, 67, 0.85);
}

.logo {
    display: flex;
    align-items: center;
    max-width: 240px;
    overflow: hidden;
}

.logo img {
    width: 90px;
    max-width: 90px;
    height: auto;
    object-fit: contain;
}

.nav-center {
    margin-left: 50px;
    margin-right: auto;
}

.nav-search {
    position: relative;
    color: white;
    font-weight: 700;
}

.search-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    color: white;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.dropdown-menu {
    position: absolute;
    top: 45px;
    left: 0;
    width: 260px;
    background: white;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.15);
    padding: 10px 0;
    display: none;
    z-index: 99999;
}

.menu-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 13px 18px;
    color: #0b2c5f;
    font-weight: 700;
    cursor: pointer;
}

.menu-item i {
    font-size: 18px;
    width: 25px;
}

.menu-item:hover {
    background: #f2f4f7;
}

.nav-right {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
}

.nav-right button {
    height: 42px;
    min-width: 150px;
    padding: 0 18px;
    border-radius: 28px;
    font-weight: 800;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: none;
    transition: 0.3s ease;
}

.login-btn {
    background: transparent !important;
    border: 2px solid white !important;
    color: white !important;
    box-shadow: none !important;
}

#openDevisModal {
    background: linear-gradient(135deg, #f4c542, #ffb300) !important;
    border: 2px solid transparent !important;
    color: #071f43 !important;
}

.login-btn:hover,
#openDevisModal:hover,
.user-btn:hover {
    transform: translateY(-2px);
}

/* ================= LANGUE ================= */
.language-switch {
    position: relative;
}

.lang-selected {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef4f7;
    padding: 6px 10px;
    border-radius: 12px;
    cursor: pointer;
}

.lang-selected img,
.lang-item img {
    width: 22px;
    height: 22px;
    border-radius: 50%;
}

.lang-dropdown {
    position: absolute;
    top: 48px;
    left: 0;
    background: #eef4f7;
    border-radius: 14px;
    width: 120px;
    padding: 8px 0;
    display: none;
    box-shadow: 0 15px 35px rgba(0,0,0,0.12);
    z-index: 1200;
}

.lang-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    font-weight: 700;
    color: #071f43;
    cursor: pointer;
}

.lang-item:hover {
    background: rgba(0,0,0,0.05);
}

/* ================= USER DROPDOWN ================= */
.user-dropdown {
    position: relative;
}

.user-btn {
    background: rgba(255,255,255,0.14) !important;
    color: white !important;
    border: 1px solid rgba(255,255,255,0.28) !important;
    box-shadow: none !important;
    padding: 11px 16px !important;
    border-radius: 30px !important;
    display: flex;
    align-items: center;
    gap: 9px;
    font-weight: 800;
    white-space: nowrap;
}

.user-menu-dropdown {
    position: absolute;
    top: 52px;
    right: 0;
    width: 235px;
    background: white;
    border-radius: 18px;
    box-shadow: 0 20px 45px rgba(0,0,0,0.18);
    padding: 10px;
    display: none;
    z-index: 99999;
}

.user-menu-dropdown.active {
    display: block;
}

.user-menu-dropdown a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 13px;
    color: #071f43;
    font-weight: 700;
    border-radius: 12px;
}

.user-menu-dropdown a:hover {
    background: #f1f5f9;
}

.user-menu-dropdown hr {
    border: none;
    border-top: 1px solid #e5e7eb;
    margin: 8px 0;
}

.logout-link {
    color: #dc2626 !important;
}

/* ================= MOBILE MENU ================= */
.mobile-menu-btn {
    display: none;
    background: white;
    color: #071f43;
    border: none;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    font-size: 22px;
    align-items: center;
    justify-content: center;
}

.mobile-menu {
    display: none;
}

/* ================= HERO CONTENT ================= */
.hero-content {
    display: flex;
    justify-content: space-between;
    padding: 0 90px;
}

.hero-text h1 {
    font-size: 58px;
    line-height: 1.1;
    font-weight: 900;
    margin-top: 20px;
}

.hero-text h1 span {
    color: #ffd21e;
}

.subtitle {
    margin-top: 15px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
}

.features {
    display: flex;
    gap: 35px;
    margin-top: 35px;
    font-weight: 700;
}

.features div {
    display: flex;
    align-items: center;
    gap: 12px;
    border-right: 1px solid rgba(255,255,255,0.35);
    padding-right: 30px;
}

.features i {
    font-size: 28px;
}


@media (max-width: 768px) {

    .devis-modal {
        padding: 12px;
        align-items: flex-start;
    }

    .devis-modal-box {
        padding: 24px 18px;
        border-radius: 24px;
        margin-top: 25px;
    }

    .devis-header h2 {
        font-size: 30px;
    }

    .devis-grid {
        grid-template-columns: 1fr;
    }

    .devis-form textarea {
        height: 120px !important;
    }

    .devis-form input,
    .devis-form textarea {
        padding: 14px !important;
        font-size: 14px;
    }

    .devis-form button {
        padding: 15px !important;
    }

    .form-row {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }
}


.mobile-panel{
    display:none;
    background:#eef4ff;
    border-radius:14px;
    padding:12px;
    color:#071f43;
    font-weight:800;
}

.mobile-panel.active{
    display:block;
}

.mobile-panel button,
.mobile-panel .mobile-language-option{
    width:100%;
    border:none;
    background:white;
    padding:12px;
    border-radius:12px;
    margin-bottom:8px;
    font-weight:900;
    color:#071f43;
    display:flex;
    align-items:center;
    text-decoration:none;
    box-sizing:border-box;
}

.mobile-notif-item{
    background:white;
    padding:12px;
    border-radius:12px;
    margin-bottom:8px;
}

.mobile-notif-item strong{
    display:block;
    color:#071f43;
    margin-bottom:5px;
}

.mobile-notif-item small{
    color:#64748b;
}


/* ================= PROMO CARD ================= */
.promo-card {
    width: 210px;
    height: 330px;
    margin-right: 40px;
    margin-top: 40px;
    border-radius: 22px;
    padding: 35px 20px;
    background:
        linear-gradient(rgba(20, 70, 170, 0.35), rgba(0,0,0,0.35)),
        url("images/dubai.jpg") center/cover;
    box-shadow: 0 18px 35px rgba(0,0,0,0.30);
    position: relative;
    overflow: hidden;
}

.promo-slide {
    position: absolute;
    inset: 35px 20px auto 20px;
    opacity: 0;
    transition: opacity 0.8s ease;
}

.promo-slide.active {
    opacity: 1;
}

.promo-card h3 {
    font-size: 25px;
    margin-bottom: 15px;
}

.promo-card p,
.promo-card small {
    font-size: 13px;
    font-weight: 700;
}

.promo-card h2 {
    color: #ffd21e;
    font-size: 36px;
    margin-top: 8px;
}

.promo-card button {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    background: white;
    color: #102b5c;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

/* ================= BOOKING BOX ================= */

/*
   Bloc réservation stabilisé.
   Important : ce bloc remplace les anciens patchs ajoutés en bas du fichier.
   Il fonctionne avec les classes existantes :
   .booking-wrapper, .booking-container, .booking-tabs, .booking-tab,
   .booking-content, .search-form, .field, .swap-btn, .search-btn.
*/

.booking-wrapper {
    width: 100%;
    position: relative;
    z-index: 50;
    margin: -90px auto 70px;
    display: flex;
    justify-content: center;
    padding: 0 24px;
}

.booking-container,
.booking-box {
    width: min(88%, 1180px);
    margin: 0 auto;
    background: #ffffff;
    border-radius: 34px;
    padding: 26px;
    box-shadow: 0 28px 75px rgba(7, 31, 67, 0.14);
    position: relative;
    overflow: visible;
}

.booking-tabs,
.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 22px;
}

.booking-tab,
.tab {
    min-width: 145px;
    height: 54px;
    padding: 0 20px;
    border: none;
    border-radius: 18px;
    background: #f2f5fb;
    color: #071f43;
    font-weight: 900;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    transition: 0.25s ease;
}

.booking-tab i,
.tab i {
    margin-right: 0;
}

.booking-tab:hover,
.tab:hover {
    background: #e8eef8;
}

.booking-tab.active,
.tab.active {
    background: #06285b;
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(6, 40, 91, 0.18);
}

/* Affichage des onglets */
.booking-content {
    display: none !important;
}

.booking-content.active {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    width: 100%;
}

/* Types de trajet */
.trip-types {
    flex: 0 0 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin: 2px 0 20px;
    padding-left: 4px;
    font-weight: 900;
    color: #071f43;
}

.trip-types span,
.trip-option {
    cursor: pointer;
    position: relative;
    padding-bottom: 9px;
    white-space: nowrap;
}

.trip-types span.active,
.trip-option.active {
    color: #2f6feb;
}

.trip-types span.active::after,
.trip-option.active::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: #2f6feb;
    border-radius: 20px;
}

/* Champs */
.field {
    min-height: 62px;
    padding: 0 18px;
    border: 1px solid #dbe3ef;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #f8fafc;
    transition: 0.25s ease;
}

.field:first-child {
    border-radius: 18px;
}

.field:hover {
    background: #ffffff;
    border-color: #b9c7db;
}

.field:focus-within {
    background: #ffffff;
    border-color: #2563eb;
    box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.08);
}

.field label,
.field-text small {
    font-size: 12px;
    font-weight: 800;
    color: #64748b;
    margin-bottom: 4px;
}

.field input,
.field select,
.field textarea {
    border: none;
    outline: none;
    width: 100%;
    color: #071f43;
    font-size: 14px;
    background: transparent;
    font-weight: 700;
}

.custom-field {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 12px;
}

.custom-field i {
    font-size: 20px;
    color: #2f6feb;
}

.field-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    min-width: 0;
}

/* Bouton swap */
.swap-btn,
.switch-destination {
    width: 48px;
    min-width: 48px;
    height: 62px;
    border: 1px solid #dbe3ef;
    border-radius: 16px;
    background: #ffffff;
    color: #2f6feb;
    font-size: 18px;
    position: relative;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.10);
}

.swap-btn i {
    width: 34px;
    height: 34px;
    border: 1px solid #b9c9ff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: white;
}

/* Boutons de recherche */
.search-btn,
.booking-submit {
    height: 62px;
    min-width: 220px;
    background: linear-gradient(135deg, #ffd21e, #ffb800);
    color: #071f43;
    border: none;
    padding: 0 26px;
    border-radius: 18px;
    font-weight: 950;
    font-size: 15px;
    margin-left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    box-shadow: 0 18px 36px rgba(255, 184, 0, 0.24);
    transition: 0.25s ease;
}

.search-btn:hover,
.booking-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 45px rgba(255, 184, 0, 0.32);
}

.extra-options,
.booking-options {
    flex: 0 0 100%;
    margin-top: 4px;
}

.direct-flight,
.booking-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 800;
    color: #071f43;
}

.direct-flight input,
.booking-checkbox input {
    width: 16px;
    height: 16px;
    accent-color: #2f6feb;
}

/* Largeurs desktop par formulaire */
#vols.active .airport-field {
    flex: 1 1 220px;
    max-width: 240px;
}

#vols.active .range-date-field,
#vols.active .date-field {
    flex: 1 1 250px;
    max-width: 270px;
}

#vols.active .travelers-field {
    flex: 0 1 170px;
    max-width: 180px;
}

#vols.active .search-btn {
    flex: 0 0 220px;
}

#hotels.active .field {
    flex: 1 1 240px;
}

#hotels.active .search-btn {
    flex: 0 0 220px;
}

#visas.active .field {
    flex: 1 1 210px;
}

#visas.active .visa-address,
#visas.active .visa-file {
    flex: 1 1 330px;
}

#visas.active .visa-info-box {
    flex: 0 0 100%;
}

#visas.active .search-btn {
    flex: 0 0 240px;
}

#transferts.active .custom-field {
    flex: 1 1 220px;
}

#transferts.active .date-field {
    flex: 1 1 180px;
}

#transferts.active .field:not(.custom-field):not(.date-field) {
    flex: 1 1 150px;
}

#transferts.active .search-btn {
    flex: 0 0 220px;
}

/* Champs spécifiques visa */
.visa-address,
.visa-info-box {
    grid-column: span 2;
}

.france-visa-fields {
    display: contents;
}

.visa-info-box {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #7c2d12;
    padding: 16px 18px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.6;
}

.visa-info-box ul {
    margin: 10px 0 10px 20px;
}


/* ================= AIRPORT SEARCH ================= */
.airport-field {
    position: relative;
}

.airport-field input {
    border: none;
    outline: none;
    font-weight: 800;
    color: #071f43;
    background: transparent;
}

.airport-results,
.autocomplete-list {
    position: absolute;
    top: 70px;
    left: 0;
    width: 320px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.16);
    z-index: 2000;
    display: none;
    overflow: hidden;
}

.autocomplete-list {
    top: 100%;
    width: 100%;
    border: 1px solid #ccc;
    margin-top: 5px;
}

.airport-result,
.autocomplete-list div {
    padding: 13px 16px;
    cursor: pointer;
    border-bottom: 1px solid #eef2f7;
}

.airport-result:hover,
.autocomplete-list div:hover {
    background: #f2f6ff;
}

.airport-result span {
    display: block;
    font-size: 12px;
    color: #64748b;
}

/* ================= VOYAGEURS DROPDOWN ================= */
.travelers-field {
    position: relative;
    cursor: pointer;
    min-height: 58px;
    height: 58px;
    padding: 8px 12px;
}

.travelers-field label {
    font-size: 11px;
    margin-bottom: 3px;
}

.travelers-summary {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #071f43;
    font-weight: 800;
    font-size: 14px;
}

.travelers-dropdown {
    position: absolute;
    top: 72px;
    right: 0;
    width: 340px;
    background: white;
    border-radius: 18px;
    box-shadow: 0 25px 60px rgba(0,0,0,0.18);
    padding: 20px;
    display: none;
    z-index: 5000;
}

.travelers-dropdown h4 {
    font-size: 15px;
    margin-bottom: 18px;
    color: #071f43;
}

.traveler-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.traveler-row strong {
    display: block;
    font-size: 14px;
    color: #071f43;
}

.traveler-row small {
    display: block;
    font-size: 12px;
    color: #64748b;
}

.counter {
    display: flex;
    align-items: center;
    gap: 12px;
}

.counter button {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: white;
    border: 1px solid #cbd5e1;
    color: #071f43;
    font-size: 20px;
}

.counter span {
    min-width: 18px;
    text-align: center;
    font-weight: 700;
}

#cabinClass {
    width: 100%;
    height: 48px;
    border-radius: 10px;
    border: 1px solid #94a3b8;
    padding: 0 12px;
    margin-top: 5px;
    font-weight: 600;
    color: #071f43;
}

.confirm-travelers {
    width: 100%;
    margin-top: 15px;
    height: 46px;
    border: none;
    border-radius: 25px;
    background: #2f6feb;
    color: white;
    font-weight: 800;
}

/* ================= DESTINATIONS POPULAIRES ULTRA PREMIUM ================= */
.destinations {
    width: 88%;
    margin: 90px auto 70px;
    padding: 42px;
    display: grid;
    grid-template-columns: 280px 1fr 90px;
    align-items: center;
    gap: 38px;
    background: linear-gradient(135deg, #f8fbff, #eef5ff);
    border-radius: 36px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 70px rgba(7, 31, 67, 0.08);
}

.destination-title p {
    color: #2563eb;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1px;
    margin-bottom: 16px;
}

.destination-title h2 {
    font-size: 38px;
    line-height: 1.18;
    color: #061b3a;
    font-weight: 950;
}

.destination-title h2 span {
    color: #3368ff;
}

.btn-destination {
    margin-top: 28px;
    padding: 15px 25px;
    border-radius: 999px;
    border: 1px solid #b9c9ff;
    background: white;
    color: #071f43;
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.08);
    transition: 0.3s;
}

.btn-destination:hover {
    background: #071f43;
    color: white;
    transform: translateY(-3px);
}

.destinations .cards {
    display: flex;
    gap: 26px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 10px 6px 20px;
}

.destinations .cards::-webkit-scrollbar {
    display: none;
}

.destination-card-pro {
    flex: 0 0 245px;
    background: white;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 16px 38px rgba(7, 31, 67, 0.10);
    transition: 0.3s ease;
    text-decoration: none;
    color: inherit;
    border: 1px solid #e8eef7;
}

.destination-card-pro:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 55px rgba(7, 31, 67, 0.16);
}

.destination-img-pro {
    height: 150px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.destination-img-pro{
    transition: transform .5s ease;
}

.destination-card-pro:hover .destination-img-pro{
    transform: scale(1.06);
}

.destination-img-pro::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(7,31,67,0.28), transparent);
}

.destination-img-pro span {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #ffd21e;
    color: #061b3a;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    z-index: 2;
    box-shadow: 0 8px 18px rgba(255, 210, 30, 0.28);
}

.destination-img-pro span.white {
    background: white;
}

.destination-info-pro {
    padding: 16px 18px 18px;
}

.destination-info-pro h3 {
    margin: 0;
    color: #061b3a;
    font-size: 24px;
    font-weight: 950;
    text-transform: capitalize;
}

.destination-info-pro p {
    margin: 5px 0 15px;
    color: #64748b;
    font-weight: 800;
    text-transform: capitalize;
}

.destination-price-pro {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    color: #061b3a;
    font-size: 14px;
    font-weight: 900;
}

.destination-price-pro i {
    color: #2563eb;
}

.destination-price-pro strong {
    color: #061b3a;
    font-size: 16px;
    font-weight: 950;
}

.arrows {
    display: flex;
    gap: 14px;
}

.arrows button {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: none;
    background: white;
    color: #071f43;
    font-size: 18px;
    cursor: pointer;
    box-shadow: 0 16px 35px rgba(7, 31, 67, 0.12);
    transition: 0.3s;
}

.arrows button:hover,
.arrows button.active {
    background: linear-gradient(135deg, #2563eb, #5145ff);
    color: white;
    transform: translateY(-3px);
}

@media (max-width: 900px) {
    .destinations {
        width: 94%;
        grid-template-columns: 1fr;
        padding: 28px 18px;
    }

    .destination-title h2 {
        font-size: 31px;
    }

    .destination-card-pro {
        flex: 0 0 245px;
    }

    .arrows {
        display: none;
    }
}






/* ================= MODAL DESTINATIONS PREMIUM ================= */

.destinations-modal-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
    gap:26px;
    margin-top:35px;
}

.modal-destination-card{
    background:white;
    border-radius:28px;
    overflow:hidden;
    text-decoration:none;
    transition:0.35s;
    box-shadow:0 18px 45px rgba(0,0,0,0.08);
    border:1px solid #edf2f7;
}

.modal-destination-card:hover{
    transform:translateY(-10px);
    box-shadow:0 30px 60px rgba(0,0,0,0.14);
}

.modal-destination-image{
    position:relative;
    height:170px;
    overflow:hidden;
}

.modal-destination-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.5s;
}

.modal-destination-card:hover img{
    transform:scale(1.08);
}

.modal-destination-image span{
    position:absolute;
    top:18px;
    left:18px;
    background:linear-gradient(135deg,#ffd21e,#ffb800);
    color:#071f43;
    padding:10px 18px;
    border-radius:999px;
    font-size:13px;
    font-weight:900;
}

.modal-destination-content{
    padding:18px;
}

.modal-destination-content h3{
    font-size:22px;
    color:#071f43;
    margin-bottom:10px;
    font-weight:900;
}

.modal-country{
    color:#64748b;
    font-size:16px;
    font-weight:700;
    margin-bottom:20px;
}

.modal-destination-price{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.modal-destination-price span{
    color:#64748b;
    font-weight:700;
}

.modal-destination-price strong{
    font-size:22px;
    color:#2563eb;
    font-weight:950;
}






/* ================= MODAL RESERVATION PREMIUM ================= */
.reservation-overlay {
    position: fixed;
    inset: 0;
    background: rgba(2, 8, 23, 0.78);
    backdrop-filter: blur(14px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    padding: 24px;
}

.reservation-overlay.active {
    display: flex;
}

.reservation-box {
    width: min(980px, 96vw);
    background: white;
    border-radius: 34px;
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    overflow: hidden;
    box-shadow: 0 45px 120px rgba(0,0,0,0.45);
    position: relative;
}

.reservation-close {
    position: absolute;
    top: 18px;
    right: 20px;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: #f1f5f9;
    color: #071f43;
    font-size: 26px;
    font-weight: 900;
    cursor: pointer;
    z-index: 10;
}

.reservation-left {
    background: linear-gradient(135deg, #061b3a, #0b3b7a);
    color: white;
    padding: 55px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.reservation-left p {
    color: #ffd21e;
    font-weight: 900;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.reservation-left h2 {
    font-size: 38px;
    line-height: 1.1;
    margin-bottom: 20px;
}

.reservation-left span {
    background: rgba(255,255,255,0.12);
    padding: 14px 18px;
    border-radius: 18px;
    font-weight: 800;
}

.reservation-form {
    padding: 48px;
}

.reservation-form label {
    display: block;
    color: #071f43;
    font-weight: 900;
    margin-bottom: 8px;
}

.reservation-form input,
.reservation-form textarea {
    width: 100%;
    border: 1px solid #dbe3ef;
    background: #f8fafc;
    border-radius: 16px;
    padding: 15px 16px;
    font-size: 15px;
    outline: none;
}

.reservation-form input:focus,
.reservation-form textarea:focus {
    border-color: #2563eb;
    background: white;
    box-shadow: 0 0 0 4px rgba(37,99,235,0.12);
}

.reservation-form textarea {
    height: 110px;
    resize: none;
}

.form-row,
.passengers-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.passengers-box {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 16px;
}

.reservation-submit {
    width: 100%;
    margin-top: 20px;
    min-height: 58px;
    border: none;
    border-radius: 18px;
    background: linear-gradient(135deg, #ffd21e, #ffb800);
    color: #071f43;
    font-size: 16px;
    font-weight: 950;
    cursor: pointer;
}

@media (max-width: 768px) {
    .reservation-box {
        grid-template-columns: 1fr;
        max-height: 92vh;
        overflow-y: auto;
    }

    .reservation-left {
        padding: 34px 24px;
    }

    .reservation-form {
        padding: 28px 22px;
    }

    .form-row,
    .passengers-box {
        grid-template-columns: 1fr;
    }
}













/* ================= VOYAGES ORGANISÉS ================= */
.organized-trips {
    width: 88%;
    margin: 70px auto 40px;
}

.organized-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.header-left {
    max-width: 500px;
}

.section-tag {
    font-size: 13px;
    font-weight: 800;
    color: #3b82f6;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.section-title {
    font-size: 34px;
    font-weight: 800;
    color: #071f43;
    line-height: 1.2;
}

.section-title span {
    color: #3b82f6;
}

.section-btn {
    padding: 12px 22px;
    border-radius: 30px;
    border: 1px solid #cbd5e1;
    background: white;
    font-weight: 700;
    transition: 0.3s;
}

.section-btn:hover {
    background: #f1f5f9;
    transform: translateY(-2px);
}

.package-carousel {
    position: relative;
    overflow: visible;
}

.package-track {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-bottom: 10px;
}

.package-track::-webkit-scrollbar {
    display: none;
}

.package-card {
    flex: 0 0 260px;
    background: white;
    border: 1px solid #dbe3ef;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 35px rgba(0,0,0,0.06);
    transition: 0.3s;
}

.package-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 45px rgba(0,0,0,0.10);
}

.package-img,
.card-slider {
    position: relative;
    height: 150px;
    width: 100%;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
}

.card-slider img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1s ease;
}

.card-slider img.active {
    opacity: 1;
    z-index: 1;
}

.badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #ffd21e;
    color: #071f43;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 900;
    z-index: 5;
}

.package-body {
    padding: 16px;
}

.package-body h3 {
    font-size: 17px;
    line-height: 1.25;
    color: #071f43;
    margin-bottom: 6px;
}

.city,
.flight {
    font-size: 13px;
    color: #071f43;
    margin-bottom: 8px;
}

.price {
    font-size: 13px;
    color: #071f43;
    text-align: right;
}

.price strong {
    display: block;
    font-size: 22px;
    margin-top: 4px;
}

.package-body small {
    display: block;
    text-align: right;
    color: #64748b;
    font-size: 12px;
    margin-top: 3px;
}

.pay-btn,
.details-btn {
    display: block;
    margin-top: 10px;
    padding: 10px;
    border-radius: 12px;
    text-align: center;
    font-weight: 800;
}

.pay-btn {
    background: #f4c542;
    color: #071f43;
}

.details-btn {
    background: #001f4d;
    color: white;
}

.details-btn:hover {
    background: #2563eb;
}

.carousel-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: white;
    color: #071f43;
    border: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.25);
    opacity: 1;
    visibility: visible;
    z-index: 20;
}

.carousel-btn.left {
    left: -20px;
}

.carousel-btn.right {
    right: -20px;
}

.carousel-btn:hover {
    transform: translateY(-50%) scale(1.1);
}

/* ================= AIRLINES ================= */
.airlines-section {
    width: 88%;
    margin: 70px auto 40px;
    background: white;
    padding: 40px 0;
    border-radius: 28px;
    overflow: hidden;
}

.airlines-header {
    padding: 0 35px 30px;
}

.airlines-header h2 {
    font-size: 30px;
    color: #071f43;
    margin-bottom: 8px;
}

.airlines-header p {
    color: #8a94a6;
    font-size: 16px;
}

.airlines-carousel {
    overflow: hidden;
    width: 100%;
}

.airlines-track {
    display: flex;
    gap: 25px;
    width: max-content;
    animation: scrollAirlines 28s linear infinite;
}

.airlines-carousel:hover .airlines-track {
    animation-play-state: paused;
}

.airline-card {
    min-width: 220px;
    height: 110px;
    background: #f5f8fc;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #071f43;
    font-size: 22px;
    font-weight: 900;
    box-shadow: 0 10px 25px rgba(0,0,0,0.06);
    padding: 15px;
}

.airline-card img {
    max-width: 140px;
    max-height: 55px;
    object-fit: contain;
    margin-bottom: 8px;
}

.airline-card span {
    font-size: 12px;
    color: #64748b;
    font-weight: 600;
    text-align: center;
}

@keyframes scrollAirlines {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* ================= ADVANTAGES ================= */
.advantages {
    width: 100%;
    background: white;
    padding: 45px 8%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    border-top-left-radius: 45px;
    border-top-right-radius: 45px;
}

.advantages > div {
    min-width: 0;
    min-height: 112px;
    background: #f8fbff;
    padding: 23px 22px;
    border-radius: 18px;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 6px;
    align-content: center;
    align-items: center;
}

.advantages i {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2776ff;
    font-size: 22px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.advantages h4 {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    margin: 0;
    color: #0b2c5f;
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.24;
    letter-spacing: -0.18px;
    text-wrap: balance;
}

.advantages p {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    margin: 0;
    color: #6d7c91;
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.42;
    letter-spacing: 0;
}

/* ================= FOOTER ================= */
.footer {
    width: 100%;
    background: linear-gradient(135deg, #071f43, #0b2c5f);
    color: #eaf2ff;
    padding: 70px 0 0;
}

.footer-container {
    width: 90%;
    margin: auto;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 40px;
}

.footer-col h2,
.footer-col h3 {
    color: white;
    margin-bottom: 15px;
}

.footer-col p,
.footer-col li,
.footer-col a {
    font-size: 14px;
    color: #c9d6f2;
    line-height: 1.7;
}

.footer-col a:hover {
    color: #ffd21e;
}

.footer-col ul {
    list-style: none;
}

.footer-col li {
    margin-bottom: 10px;
}

.footer-col i {
    color: #ffd21e;
    margin-right: 8px;
}

.map iframe {
    border-radius: 12px;
    margin-top: 15px;
}

.socials {
    margin-top: 20px;
    display: flex;
    gap: 12px;
}

.socials a {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
    transition: 0.3s;
}

.socials a:hover {
    background: #ffd21e;
    color: #071f43;
    transform: translateY(-3px);
}

.footer-bottom {
    background: #061a38;
    text-align: center;
    padding: 18px;
    margin-top: 40px;
}

/* ================= MODALS GÉNÉRALES ================= */
.modal-overlay.active{
    display:flex;
}
.auth-modal-overlay,
.destinations-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(7, 31, 67, 0.72);
    backdrop-filter: blur(6px);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 99999;
    padding: 20px;
}

.destinations-modal-overlay.active {
    display: flex;
}

.auth-modal-large,
.destinations-modal-box {
    width: 100%;
    background: white;
    border-radius: 28px;
    position: relative;
    box-shadow: 0 35px 90px rgba(0,0,0,0.30);
}



.close-modal,
.close-auth,
.destinations-modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: none;
    background: #f1f5f9;
    color: #071f43;
    font-size: 22px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.25s;
}

.close-modal:hover,
.close-auth:hover,
.destinations-modal-close:hover {
    background: #071f43;
    color: white;
    transform: rotate(90deg);
}

.devis-modal h2 {
    font-size: 34px;
    color: #071f43;
    margin-bottom: 8px;
}

.modal-subtitle {
    color: #64748b;
    font-size: 15px;
    margin-bottom: 28px;
}

.devis-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.devis-form input,
.devis-form textarea {
    width: 100%;
    padding: 18px 20px;
    border-radius: 16px;
    border: 1px solid #dbe3ef;
    outline: none;
    font-size: 15px;
    background: #f9fbff;
}

.devis-form textarea {
    height: 160px;
    resize: none;
}

.devis-form input:focus,
.devis-form textarea:focus {
    border-color: #0bb7e8;
    background: white;
    box-shadow: 0 0 0 4px rgba(11, 183, 232, 0.12);
}

.devis-form button {
    margin-top: 8px;
    background: linear-gradient(135deg, #ffd21e, #ffb800);
    color: #071f43;
    border: none;
    border-radius: 45px;
    padding: 18px;
    font-weight: 900;
    font-size: 15px;
}

/* ================= AUTH MODAL ================= */
.auth-modal-large {
    max-width: 620px !important;
    padding: 34px !important;
    display: block !important;
    overflow: visible !important;
}

.auth-right {
    display: none !important;
}

.auth-left {
    width: 100% !important;
    padding: 0 !important;
}

.auth-tabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    margin-bottom: 26px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.auth-tab {
    background: transparent !important;
    border: none !important;
    padding: 0 0 14px !important;
    font-weight: 800 !important;
    color: #111827;
    border-bottom: 3px solid transparent !important;
}

.auth-tab.active {
    color: #2563eb !important;
    border-bottom-color: #2563eb !important;
}

.auth-form {
    display: none !important;
}

.auth-form.active {
    display: block !important;
}

.auth-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

.auth-input,
.input-group,
.password-field {
    position: relative;
    margin-bottom: 14px;
}

.auth-input i,
.input-group i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
    z-index: 2;
}

.auth-input input,
.input-group input {
    width: 100% !important;
    height: 54px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 14px !important;
    padding: 0 16px 0 46px !important;
    font-size: 15px !important;
    background: white !important;
    color: #071f43 !important;
    outline: none !important;
}

.auth-input input:focus,
.auth-phone input[type="tel"]:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
}

.auth-phone {
    width: 100%;
    margin-bottom: 14px !important;
}

.auth-phone .iti {
    width: 100% !important;
    display: block !important;
}

.auth-phone input[type="tel"] {
    width: 100% !important;
    height: 54px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 14px !important;
    padding-left: 105px !important;
    font-size: 15px !important;
    background: white !important;
    color: #071f43 !important;
    outline: none !important;
}

.toggle-password {
    position: absolute !important;
    left: auto !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    cursor: pointer;
    color: #64748b;
    z-index: 5;
    display: none;
}

.auth-input.password-field input {
    padding-right: 48px !important;
}

.forgot-link,
.forgot {
    display: block !important;
    text-align: right !important;
    color: #2563eb !important;
    font-size: 14px;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
}

.auth-submit,
.auth-main-btn {
    width: 100% !important;
    height: 56px !important;
    border: none !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #28a9e8, #3468f6) !important;
    color: white !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    margin-top: 8px;
}

.google-login,
.google-btn {
    width: 100% !important;
    height: 54px !important;
    border-radius: 14px !important;
    border: 1px solid #cbd5e1 !important;
    background: white !important;
    font-weight: 800 !important;
}

.auth-separator {
    text-align: center;
    margin: 20px 0;
    color: #64748b;
}

.auth-bottom-text {
    margin-top: 20px !important;
    text-align: center !important;
    font-size: 15px;
    color: #64748b;
}

.switch-auth {
    background: transparent !important;
    border: none !important;
    color: #2563eb !important;
    font-weight: 900 !important;
    pointer-events: auto !important;
}

.auth-alert {
    padding: 13px 15px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 14px;
    margin-bottom: 18px;
    text-align: center;
}

.auth-alert.error {
    background: #fee2e2;
    color: #991b1b;
}

.auth-alert.success {
    background: #d1fae5;
    color: #065f46;
}

.auth-input.error input,
.auth-phone.error input {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.12) !important;
}

.auth-input.success input,
.auth-phone.success input {
    border-color: #16a34a !important;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.12) !important;
}

.auth-error {
    color: #dc2626;
    font-size: 13px;
    font-weight: 700;
    margin-top: -6px;
    margin-bottom: 10px;
    display: block;
}

/* ================= DESTINATIONS MODAL / PAGE ================= */
.destinations-hero {
    padding: 70px 8% 35px;
    background: linear-gradient(135deg, #061b3a, #0d3d66);
    color: white;
    border-bottom-left-radius: 45px;
    border-bottom-right-radius: 45px;
}

.back-home {
    color: white;
    font-weight: 800;
}

.destinations-hero h1 {
    font-size: 48px;
    margin: 30px 0 10px;
}

.destinations-hero p {
    color: #dbeafe;
    font-size: 18px;
}

.all-destinations {
    padding: 45px 8% 80px;
}

.destination-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 28px;
}

.destination-item {
    height: 310px;
    border-radius: 28px;
    overflow: hidden;
    position: relative;
    background-size: cover;
    background-position: center;
    box-shadow: 0 22px 55px rgba(0,0,0,0.13);
    transition: 0.3s;
}

.destination-item:hover {
    transform: translateY(-8px);
}

.destination-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.8), rgba(0,0,0,.08));
}

.destination-info {
    position: absolute;
    z-index: 2;
    bottom: 24px;
    left: 24px;
    color: white;
}

.destination-info h3 {
    font-size: 28px;
    margin-bottom: 5px;
}

.destinations-modal-box {
    width: min(950px, 95vw);
    max-height: 88vh;
    overflow-y: auto;
    padding: 34px;
}

.destinations-modal-box h2 {
    text-align: center;
    font-size: 30px;
    margin-bottom: 30px;
    color: #061b3a;
}

.destinations-modal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.destinations-modal-card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: white;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 16px 35px rgba(0,0,0,0.12);
    transition: 0.3s;
}

.destinations-modal-card:hover {
    transform: translateY(-6px);
}

.destinations-modal-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.destinations-modal-card h3 {
    margin: 16px 18px 2px;
    font-size: 22px;
    color: #061b3a;
    text-transform: capitalize;
}

.destinations-modal-card p,
.destinations-modal-card .modal-price {
    margin-left: 18px;
    margin-right: 18px;
}

.destinations-modal-card p {
    margin-top: 0;
    margin-bottom: 8px;
    color: #64748b;
    font-weight: 700;
    text-transform: capitalize;
}

.destinations-modal-card .modal-price {
    margin-top: 8px;
    margin-bottom: 18px;
    color: #0d3d66;
    font-weight: 900;
}

/* ================= DÉTAIL OFFRE ================= */
.details-container {
    min-height: 100vh;
    background: linear-gradient(135deg, #f8fbff, #eef4fb);
    display: flex;
    justify-content: center;
    padding: 60px 20px;
}

.details-card {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    background: white;
    max-width: 1000px;
    border-radius: 28px;
    padding: 30px;
    box-shadow: 0 30px 70px rgba(0,0,0,0.12);
}

.details-img {
    width: 100%;
    height: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: 20px;
}

.details-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.details-content h1 {
    font-size: 32px;
    color: #001f4d;
    margin-bottom: 10px;
}

.details-destination {
    color: #64748b;
    font-weight: 700;
    margin-bottom: 15px;
}

.details-price {
    font-size: 30px;
    font-weight: 900;
    color: #2563eb;
    margin-bottom: 15px;
}

.details-description {
    margin-bottom: 25px;
    line-height: 1.7;
    color: #334155;
}

.details-actions {
    display: flex;
    gap: 12px;
}

.details-pay-btn,
.details-devis-btn {
    flex: 1;
    padding: 14px;
    border-radius: 14px;
    text-align: center;
    font-weight: 900;
}

.details-pay-btn {
    background: #2563eb;
    color: white;
}

.details-devis-btn {
    background: #f4c542;
    color: #001f4d;
}

/* ================= PETITS COMPOSANTS ================= */
.chat-btn {
    position: fixed;
    bottom: 25px;
    right: 25px;
    background: linear-gradient(135deg, #1e6edc, #2f6feb);
    color: white;
    padding: 14px 22px;
    border-radius: 40px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    box-shadow: 0 12px 30px rgba(0,0,0,0.3);
    z-index: 9999;
    transition: 0.3s;
}

.chat-btn:hover {
    transform: translateY(-3px) scale(1.05);
}

.chat-icon {
    width: 38px;
    height: 38px;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.captcha-box {
    width: 260px;
    height: 65px;
    margin: 8px 0 10px;
    background: repeating-linear-gradient(45deg, #f1f1f1, #f1f1f1 4px, #ffffff 4px, #ffffff 8px);
    border: 1px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    font-weight: 900;
    letter-spacing: 12px;
}

.extra-person-card {
    margin-top: 22px;
    padding: 20px;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: #f8fafc;
}

.extra-person-card h3 {
    margin-top: 0;
    color: #071f43;
}

.menu-badge {
    margin-left: auto;
    background: #ef4444;
    color: white;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    animation: pulse 1.2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

/* ================= RESPONSIVE ================= */
@media (max-width: 1100px) {
    .navbar { padding: 0 25px; }
    .nav-center { margin-left: 25px; }
    .hero-content { padding: 30px 40px; }
    .hero-text h1 { font-size: 46px; }
    .booking-box { width: 94%; }

    #vols.active,
    #hotels.active,
    .visa-form.active,
    .transfer-form.active {
        grid-template-columns: 1fr 45px 1fr;
        gap: 10px;
    }

    .field,
    .field:first-child {
        border: 1px solid #dbe3ef;
        border-radius: 14px;
    }

    .search-btn {
        margin-left: 0;
        grid-column: 1 / -1;
    }

    .extra-options { grid-column: 1 / -1; }
    .destinations { grid-template-columns: 1fr; }
    .advantages { grid-template-columns: repeat(2, 1fr); }
    .footer-container { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .destinations {
        width: 94%;
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .destination-title h2 { font-size: 30px; }
    .arrows { display: none; }
    .destination-card-pro { flex: 0 0 230px; }
    .destinations-modal-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .navbar {
        height: 75px;
        padding: 0 18px;
    }

    .logo img {
        width: 65px;
        max-width: 65px;
    }

    .nav-center,
    .nav-right {
        display: none !important;
    }

    .mobile-menu-btn {
        display: flex !important;
    }

    .mobile-menu {
        position: fixed;
        top: 88px;
        right: 15px;
        width: 280px;
        max-height: 80vh;
        overflow-y: auto;
        background: white;
        border-radius: 18px;
        padding: 16px;
        display: none;
        flex-direction: column;
        gap: 10px;
        z-index: 999999;
        box-shadow: 0 20px 60px rgba(0,0,0,0.25);
    }

    .mobile-menu.active {
        display: flex !important;
    }

    .mobile-menu a,
    .mobile-menu button:not(.mobile-menu-close) {
        width: 100%;
        height: 48px;
        background: #f3f6fb;
        color: #071f43;
        border: none;
        border-radius: 12px;
        padding: 0 14px;
        font-weight: 800;
        text-align: left;
        display: flex;
        align-items: center;
        font-size: 15px;
    }

    .mobile-menu-close {
        width: 40px;
        height: 40px;
        align-self: flex-end;
        margin-bottom: 8px;
        border-radius: 50%;
        background: #071f43;
        color: white;
        border: none;
        font-size: 26px;
        font-weight: 900;
    }

    .hero {
        height: auto;
        min-height: 640px;
        padding-top: 75px;
        border-bottom-left-radius: 25px;
        border-bottom-right-radius: 25px;
    }

    .hero-content {
        padding: 35px 22px;
        display: block;
    }

    .hero-text h1 {
        font-size: 36px;
        line-height: 1.15;
    }

    .subtitle { font-size: 17px; }

    .features {
        flex-direction: column;
        gap: 18px;
        margin-top: 30px;
    }

    .features div {
        border-right: none;
        padding-right: 0;
    }

    .promo-card{

    position:absolute !important;

    top:120px !important;

    right:-160px !important;

    width:360px !important;
    height:430px !important;

    border-radius:34px !important;

    overflow:hidden;

    z-index:20;
}

.promo-slide{
    padding:35px;
}

.promo-slide h3{
    font-size:34px;
    line-height:1.1;
}

.promo-slide p{
    font-size:18px;
    margin-top:10px;
}

.promo-slide small{
    font-size:15px;
}

.promo-slide h2{
    font-size:58px;
    margin-top:18px;
}

.promo-card button{
    width:58px;
    height:58px;
    bottom:20px;
    right:20px;
}

    .booking-box {
        width: 94%;
        margin-top: -60px;
        padding: 18px;
    }

    .tabs {
        overflow-x: auto;
        gap: 8px;
        padding-bottom: 6px;
    }

    .tab {
        min-width: 125px;
        padding: 14px 16px;
        font-size: 13px;
    }

    .trip-types {
        overflow-x: auto;
        gap: 24px;
        font-size: 14px;
        white-space: nowrap;
    }

    #vols.active,
    #hotels.active,
    #visas.active,
    #transferts.active,
    .visa-form.active,
    .transfer-form.active {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .swap-btn,
    .carousel-btn {
        display: none !important;
    }

    .field,
    .field:first-child {
        width: 100%;
        border: 1px solid #dbe3ef;
        border-radius: 14px;
    }

    .search-btn {
        width: 100%;
        margin-left: 0;
    }

    .visa-address { grid-column: auto; }

    .travelers-dropdown {
        width: 300px;
        right: auto;
        left: 0;
    }

    .organized-header { display: block; }
    .section-btn { margin-top: 20px; }
    .package-card { flex-basis: 240px; }
    .airlines-section { width: 94%; }
    .airlines-header h2 { font-size: 24px; }
    .airline-card { min-width: 180px; }

    .advantages {
        grid-template-columns: 1fr;
        padding: 35px 5%;
    }

    .footer-container {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 30px;
    }

    .socials { justify-content: center; }

    .devis-modal {
        padding: 28px 20px;
    }

    .form-row,
    .auth-row,
    .details-card {
        grid-template-columns: 1fr !important;
    }

    .details-actions {
        flex-direction: column;
    }

    .chat-btn {
        bottom: 15px;
        right: 15px;
        padding: 10px 14px;
        font-size: 14px;
        z-index: 1000;
    }
}

@media (max-width: 480px) {
    .hero-text h1 { font-size: 30px; }
    .booking-box { margin-top: -40px; }
    .destination-title h2 { font-size: 24px; }
    .airlines-header { padding: 0 20px 25px; }
    .mobile-menu { right: 10px; width: calc(100% - 20px); }
}













/* ================= VOYAGES ORGANISÉS PREMIUM ================= */
.premium-trips {
    width: 88%;
    margin: 90px auto 60px;
    padding: 45px;
    background: linear-gradient(135deg, #061b3a, #0b3b7a);
    border-radius: 36px;
    position: relative;
    overflow: visible;
}

.premium-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 25px;
    margin-bottom: 35px;
}

.premium-trips .section-tag {
    color: #ffd21e;
}

.premium-trips .section-title {
    color: white;
}

.premium-trips .section-title span {
    color: #ffd21e;
}

.section-subtitle {
    margin-top: 10px;
    color: #dbeafe;
    font-size: 15px;
}

.premium-trips .section-btn {
    background: white;
    color: #071f43;
    border: none;
    padding: 14px 22px;
    border-radius: 999px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.premium-carousel {
    position: relative;
}

.premium-carousel .package-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 10px 5px 24px;
}

.premium-carousel .package-track::-webkit-scrollbar {
    display: none;
}

.premium-card {
    flex: 0 0 300px;
    background: white;
    border-radius: 28px;
    overflow: hidden;
    border: none;
    box-shadow: 0 25px 65px rgba(0,0,0,0.22);
}

.premium-img {
    height: 190px;
    position: relative;
    overflow: hidden;
}

.premium-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.premium-img .badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: #ffd21e;
    color: #071f43;
    padding: 8px 15px;
    border-radius: 999px;
    font-weight: 900;
    z-index: 2;
}

.premium-body {
    padding: 20px;
}

.trip-category {
    font-size: 12px;
    font-weight: 900;
    color: #2563eb;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.premium-body h3 {
    font-size: 21px;
    font-weight: 900;
    color: #071f43;
    margin-bottom: 10px;
}

.premium-body .city {
    color: #64748b;
    font-weight: 800;
    margin-bottom: 18px;
}

.premium-price {
    text-align: left;
    margin-bottom: 18px;
}

.premium-price span {
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.premium-price strong {
    display: block;
    color: #071f43;
    font-size: 25px;
    font-weight: 900;
}

.premium-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    position: relative;
    z-index: 50;
}

.premium-actions .details-btn,
.premium-actions .pay-btn {
    width: 100%;
    min-height: 48px;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-align: center;
    text-decoration: none;
    position: relative;
    z-index: 100;
}

.premium-actions .details-btn {
    border: 2px solid #071f43;
    background: white;
    color: #071f43;
    cursor: pointer;
    pointer-events: auto;
}

.premium-actions .details-btn:hover {
    background: #071f43;
    color: white;
}

.premium-actions .pay-btn {
    border: none;
    background: linear-gradient(135deg, #ffd21e, #ffb800);
    color: #071f43;
}

.empty-message {
    color: white;
    font-weight: 800;
}








/* ================= MODAL OFFRE ULTRA PREMIUM ================= */
.offer-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(2, 8, 23, 0.82);
    backdrop-filter: blur(14px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    padding: 20px;
}

.offer-modal-overlay.active {
    display: flex;
}

.offer-modal-box {
    width: min(1180px, 96vw);
    height: min(720px, 90vh);
    background: #ffffff;
    border-radius: 34px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    box-shadow: 0 45px 120px rgba(0,0,0,0.45);
    position: relative;
}

.offer-modal-close {
    position: absolute;
    top: 16px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: #f1f5f9;
    color: #071f43;
    font-size: 26px;
    font-weight: 900;
    cursor: pointer;
    z-index: 30;
}

.offer-modal-close:hover {
    background: #071f43;
    color: white;
}

/* COLONNE IMAGE */
.offer-gallery {
    background: linear-gradient(135deg, #061b3a, #0b3b7a);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    overflow-y: auto;
}

.offer-main-image {
    height: 340px;
    min-height: 340px;
    border-radius: 26px;
    overflow: hidden;
    position: relative;
    background: #0f172a;
}

.offer-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.offer-main-image span {
    position: absolute;
    top: 18px;
    left: 18px;
    background: linear-gradient(135deg, #ffd21e, #ffb800);
    color: #071f43;
    padding: 11px 18px;
    border-radius: 999px;
    font-weight: 900;
}

.offer-thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding-bottom: 8px;
}

.offer-thumbs img {
    width: 100%;
    height: 76px;
    object-fit: cover;
    border-radius: 16px;
    cursor: pointer;
    border: 3px solid rgba(255,255,255,0.25);
    transition: 0.3s;
}

.offer-thumbs img:hover {
    border-color: #ffd21e;
    transform: translateY(-3px);
}

/* COLONNE TEXTE */
.offer-modal-content {
    height: 100%;
    padding: 42px 52px 28px;
    background:
        radial-gradient(circle at top right, rgba(37,99,235,0.08), transparent 35%),
        #ffffff;
    overflow-y: auto;
}

.offer-modal-tag {
    width: fit-content;
    background: #eef4ff;
    color: #2563eb;
    padding: 8px 14px;
    border-radius: 999px;
    font-weight: 900;
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 14px;
}

.offer-modal-content h2 {
    font-size: 36px;
    line-height: 1.08;
    color: #061b3a;
    margin-bottom: 12px;
}

.offer-modal-destination {
    color: #64748b;
    font-weight: 900;
    margin-bottom: 16px;
}

.offer-modal-content h3 {
    font-size: 34px;
    color: #2563eb;
    font-weight: 950;
    margin-bottom: 18px;
}

.offer-description-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    padding: 16px 18px;
    max-height: 135px;
    overflow-y: auto;
}

#modalOfferDescription {
    color: #334155;
    line-height: 1.65;
    font-size: 15px;
}

.offer-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 18px;
    padding-bottom: 6px;
}

.modal-reserve-btn,
.modal-devis-btn {
    width: 100%;
    min-height: 50px;
    border-radius: 18px;
    font-size: 15px;
    font-weight: 950;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    text-decoration: none;
    transition: 0.3s;
}

.modal-reserve-btn {
    border: none;
    background: linear-gradient(135deg, #071f43, #2563eb);
    color: white;
    box-shadow: 0 18px 35px rgba(37,99,235,0.28);
}

.modal-devis-btn {
    background: white;
    color: #071f43;
    border: 2px solid #ffd21e;
    box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}

.modal-reserve-btn:hover,
.modal-devis-btn:hover {
    transform: translateY(-3px);
}

.modal-devis-btn:hover {
    background: #ffd21e;
}

/* RESPONSIVE */
@media (max-width: 850px) {
    .offer-modal-box {
        grid-template-columns: 1fr;
        height: auto;
        max-height: 92vh;
        overflow-y: auto;
    }

    .offer-gallery {
        height: auto;
        overflow: visible;
    }

    .offer-modal-content {
        height: auto;
        overflow: visible;
        padding: 32px 24px;
    }

    .offer-main-image {
        height: 260px;
        min-height: 260px;
    }

    .offer-thumbs {
        grid-template-columns: repeat(3, 1fr);
    }

    .offer-thumbs img {
        height: 72px;
    }

    .offer-modal-content h2 {
        font-size: 31px;
    }

    .offer-modal-content h3 {
        font-size: 30px;
    }

    .offer-description-box {
        max-height: 170px;
    }
}










/* ================= PAGE TOUS LES FORFAITS ================= */
.all-packages-page {
    width: 90%;
    margin: 140px auto 60px;
}
.all-packages-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.all-packages-header h1 {
    font-size: 48px;
    color: #071f43;
}

.all-packages-header h1 span {
    color: #2563eb;
}

.back-home-btn {
    background: #071f43;
    color: white;
    padding: 14px 22px;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.all-packages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
    gap: 28px;
}

.all-package-card {
    background: white;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0,0,0,0.10);
}

.all-package-image {
    position: relative;
    height: 230px;
}

.all-package-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.all-package-image span {
    position: absolute;
    top: 18px;
    left: 18px;
    background: #ffd21e;
    color: #071f43;
    padding: 10px 16px;
    border-radius: 999px;
    font-weight: 900;
}

.all-package-content {
    padding: 24px;
}

.all-package-content h3 {
    font-size: 28px;
    color: #071f43;
    margin-bottom: 12px;
}

.destination {
    color: #64748b;
    font-weight: 800;
    margin-bottom: 18px;
}

.package-price {
    margin-bottom: 22px;
}

.package-price span {
    display: block;
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.package-price strong {
    color: #2563eb;
    font-size: 34px;
    font-weight: 950;
}

.all-package-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.reserve-btn,
.all-package-actions .details-btn {
    min-height: 52px;
    border-radius: 16px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
}

.reserve-btn {
    background: linear-gradient(135deg, #071f43, #2563eb);
    color: white;
}

.all-package-actions .details-btn {
    border: 2px solid #071f43;
    background: white;
    color: #071f43;
    cursor: pointer;
}

@media (max-width: 768px) {
    .all-packages-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .all-packages-header h1 {
        font-size: 38px;
    }
}



/* ================= RESERVATION PREMIUM ================= */

.reservation-box{
    width:min(1150px,96vw);
    height:92vh;
    background:white;
    border-radius:34px;
    overflow:hidden;
    display:grid;
    grid-template-columns:420px 1fr;
    box-shadow:0 40px 120px rgba(0,0,0,.35);
}

.reservation-left{
    background:
    linear-gradient(180deg,#071f43 0%,#0d3270 100%);
    padding:42px;
    color:white;
    overflow-y:auto;
}

.reservation-left p{
    color:#ffd21e;
    font-weight:900;
    letter-spacing:1px;
}

.reservation-left h2{
    font-size:58px;
    line-height:1;
    margin:18px 0 26px;
}

#reservationOfferName{
    display:flex;
    align-items:center;
    min-height:56px;
    background:rgba(255,255,255,.12);
    border-radius:18px;
    padding:0 20px;
    font-weight:900;
    margin-bottom:30px;
}

/* ================= FORM ================= */

.reservation-form{
    padding:40px;
    overflow-y:auto;
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-bottom:18px;
}

.form-row input,
.passengers-box input,
.reservation-form textarea,
.passenger-item input{
    width:100%;
    border:1px solid #dbe3ef;
    background:#f8fafc;
    border-radius:18px;
    padding:16px;
    font-size:15px;
    outline:none;
}

.reservation-form label{
    display:block;
    margin-bottom:10px;
    font-weight:900;
    color:#071f43;
}

.passengers-box{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-bottom:20px;
}

.reservation-form textarea{
    min-height:130px;
    resize:none;
}

.reservation-submit{
    width:100%;
    border:none;
    background:linear-gradient(135deg,#ffd21e,#ffb800);
    color:#071f43;
    font-size:20px;
    font-weight:900;
    border-radius:22px;
    padding:18px;
    margin-top:22px;
    cursor:pointer;
    transition:.25s;
}

.reservation-submit:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 35px rgba(255,210,30,.25);
}

/* ================= PAYMENT ================= */

.payment-left > label{
    display:block;
    color:#ffd21e;
    font-weight:900;
    margin-bottom:16px;
}

.payment-options-left{
    display:grid;
    gap:14px;
}

.payment-option input{
    display:none;
}

.payment-options-left .payment-option span{
    min-height:84px;
    border-radius:24px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    color:white;
    display:grid;
    grid-template-columns:72px 1fr;
    align-items:center;
    padding:16px 18px;
    gap:16px;
    font-weight:900;
    cursor:pointer;
    transition:.25s;
}

.payment-options-left .payment-option img{
    width:62px;
    height:42px;
    object-fit:contain;
    background:white;
    border-radius:12px;
    padding:5px;
}

.payment-options-left .payment-option i{
    width:62px;
    height:42px;
    background:white;
    color:#071f43;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.payment-options-left .payment-option input:checked + span{
    background:linear-gradient(135deg,#ffd21e,#ffb800);
    color:#071f43;
    border-color:#ffd21e;
    transform:translateY(-2px);
    box-shadow:0 18px 35px rgba(255,210,30,.22);
}

/* ================= PASSENGERS ================= */

.passenger-details-box{
    display:grid;
    gap:14px;
    margin-top:10px;
    max-height:280px;
    overflow-y:auto;
    padding-right:5px;
}

.passenger-item{
    background:#f8fafc;
    border:1px solid #dbe3ef;
    border-radius:22px;
    padding:16px;
}

.passenger-item h4{
    margin:0 0 12px;
    color:#071f43;
    font-size:15px;
}

.passenger-item-row{
    display:grid;
    grid-template-columns:1fr 110px;
    gap:12px;
}

/* ================= CLOSE ================= */

.reservation-close{
    position:absolute;
    top:20px;
    right:20px;
    width:52px;
    height:52px;
    border:none;
    border-radius:50%;
    background:#eef2f7;
    font-size:28px;
    font-weight:900;
    cursor:pointer;
    z-index:20;
}

/* ================= MOBILE ================= */

@media(max-width:980px){

    .reservation-box{
        grid-template-columns:1fr;
        height:95vh;
        overflow-y:auto;
    }

    .reservation-left{
        padding:30px;
    }

    .reservation-left h2{
        font-size:42px;
    }

    .form-row{
        grid-template-columns:1fr;
    }

    .passengers-box{
        grid-template-columns:1fr;
    }

    .passenger-item-row{
        grid-template-columns:1fr;
    }
}





.notif-dropdown{
    position:relative;
}

.notif-btn{
    position:relative;
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.12);
    color:white;
    cursor:pointer;
}

.notif-badge{
    position:absolute;
    top:-5px;
    right:-5px;
    min-width:20px;
    height:20px;
    background:#ef4444;
    color:white;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
}

.notif-menu{
    position:absolute;
    top:55px;
    right:0;
    width:340px;
    background:white;
    border-radius:22px;
    box-shadow:0 25px 70px rgba(0,0,0,.18);
    display:none;
    overflow:hidden;
    z-index:99999;
}

.notif-menu.show{
    display:block;
}

.notif-title{
    padding:16px 18px;
    font-weight:950;
    color:#071f43;
    border-bottom:1px solid #eef2f7;
}

.notif-item{
    padding:14px 18px;
    border-bottom:1px solid #eef2f7;
}

.notif-item.unread{
    background:#f0f7ff;
}

.notif-item strong{
    display:block;
    color:#071f43;
    margin-bottom:5px;
}

.notif-item p{
    margin:0 0 6px;
    color:#64748b;
    font-size:13px;
    line-height:1.5;
}

.notif-item small{
    color:#94a3b8;
    font-size:12px;
}

.notif-empty{
    padding:20px;
    color:#64748b;
    font-weight:800;
}




.premium-success-modal{
    position:fixed;
    inset:0;
    background:rgba(2,8,23,.70);
    backdrop-filter:blur(10px);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:999999;
}

.premium-success-modal.active{
    display:flex;
}

.premium-success-box{
    width:min(500px,92vw);
    background:white;
    border-radius:34px;
    padding:42px 34px;
    text-align:center;
    box-shadow:0 35px 90px rgba(0,0,0,.30);
    animation:popupSuccess .35s ease;
}

@keyframes popupSuccess{
    from{
        opacity:0;
        transform:translateY(20px) scale(.95);
    }

    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

.premium-success-icon{
    width:95px;
    height:95px;
    margin:0 auto 22px;
    border-radius:50%;
    background:linear-gradient(135deg,#16a34a,#22c55e);
    display:flex;
    align-items:center;
    justify-content:center;
    color:white;
    font-size:42px;
    box-shadow:0 20px 45px rgba(34,197,94,.25);
}

.premium-success-box h2{
    margin:0 0 14px;
    font-size:32px;
    color:#071f43;
}

.premium-success-box p{
    color:#64748b;
    line-height:1.7;
    font-size:16px;
    font-weight:700;
}

.premium-success-box button{
    margin-top:26px;
    border:none;
    background:linear-gradient(135deg,#071f43,#2563eb);
    color:white;
    padding:16px 34px;
    border-radius:16px;
    font-weight:900;
    cursor:pointer;
    font-size:15px;
    transition:.25s;
}

.premium-success-box button:hover{
    transform:translateY(-2px);
}




.mobile-user-box{
    background:rgba(255,255,255,.12);
    color:white;
    padding:14px 16px;
    border-radius:16px;
    font-weight:900;
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}

.mobile-devis-btn{
    width:100%;
    border:none;
    background:linear-gradient(135deg,#ffd21e,#ffb800);
    color:#071f43;
    padding:14px 16px;
    border-radius:16px;
    font-weight:950;
    margin-top:12px;
}





@media(max-width:900px){

    .mobile-menu{
        position:fixed;
        top:0;
        right:-100%;
        width:72%;
        max-width:300px;
        height:100vh;
        background:linear-gradient(180deg,#071f43,#0f3b82);
        z-index:999999;
        padding:20px 16px;
        display:flex;
        flex-direction:column;
        gap:12px;
        transition:.35s ease;
        box-shadow:-25px 0 70px rgba(0,0,0,.35);
        overflow-y:auto;
    }

    .mobile-menu.active{
        right:0;
    }

    .mobile-menu-close{
        align-self:flex-end;
        width:44px;
        height:44px;
        border:none;
        border-radius:50%;
        background:rgba(255,255,255,.14);
        color:white;
        font-size:28px;
        font-weight:900;
        cursor:pointer;
    }

    .mobile-menu a,
    .mobile-menu button.mobile-link,
    #mobileAuthBtn{
        width:100%;
        border:none;
        background:rgba(255,255,255,.10);
        color:white;
        text-decoration:none;
        padding:15px 16px;
        border-radius:16px;
        font-size:15px;
        font-weight:900;
        display:flex;
        align-items:center;
        gap:10px;
        cursor:pointer;
    }

    .mobile-user-box{
        background:rgba(255,255,255,.16);
        color:white;
        padding:16px;
        border-radius:20px;
        font-weight:950;
        display:flex;
        align-items:center;
        gap:10px;
        border:1px solid rgba(255,255,255,.14);
    }

    .mobile-devis-btn{
        width:100%;
        border:none;
        background:linear-gradient(135deg,#ffd21e,#ffb800);
        color:#071f43;
        padding:16px;
        border-radius:18px;
        font-size:15px;
        font-weight:950;
        cursor:pointer;
        margin-top:8px;
    }
}


.mobile-menu{
    pointer-events:auto !important;
    z-index:999999 !important;
}

.mobile-menu a,
.mobile-menu button{
    pointer-events:auto !important;
    position:relative;
    z-index:999999;
}


.mobile-menu{
    z-index:999999 !important;
}

.mobile-menu a,
.mobile-menu button{
    position:relative;
    z-index:999999;
}



/* CORRECTION DROPDOWNS NAVBAR */
.dropdown-menu.show,
.dropdown-menu.active,
.lang-dropdown.show,
.lang-dropdown.active,
.user-menu-dropdown.show,
.user-menu-dropdown.active,
.notif-menu.show{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
}

/* CORRECTION MODALE DEVIS */
.modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(7,31,67,.72);
    backdrop-filter:blur(8px);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:999999;
    padding:20px;
}

.modal-overlay.active{
    display:flex !important;
}

/* CORRECTION MENU MOBILE */
.mobile-menu{
    z-index:999999 !important;
}

.mobile-menu.active{
    display:flex !important;
}

.mobile-menu a,
.mobile-menu button{
    pointer-events:auto !important;
}





.mobile-logout-btn{
    width:100%;
    background:linear-gradient(135deg,#dc2626,#ef4444) !important;
    color:white !important;
    text-decoration:none;
    padding:15px;
    border-radius:18px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:10px;
}




.forgot-password-link{
    display:block;
    margin:10px 0 14px;
    text-align:right;
    color:#2563eb;
    font-weight:800;
    text-decoration:none;
    font-size:14px;
}

.forgot-password-link:hover{
    text-decoration:underline;
}




.flatpickr-calendar {
    z-index: 999999 !important;
}





/* ===============================
   MODALE DEVIS PREMIUM
================================ */

.devis-modal {
    position: fixed;
    inset: 0;
    background: rgba(5, 20, 45, 0.72);
    backdrop-filter: blur(12px);
    z-index: 99999;
    display: none;
    justify-content: center;
    align-items: center;
    padding: 25px;
}

.devis-modal.active {
    display: flex;
}

.devis-modal-box {
    width: 100%;
    max-width: 980px;
    max-height: 94vh;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 30px;
    padding: 38px 38px 0;
    position: relative;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.25);
}

.devis-close {
    position: absolute;
    top: 22px;
    right: 22px;
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: #f3f6fb;
    color: #061b3f;
    font-size: 22px;
    cursor: pointer;
}

.devis-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.devis-icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #f1f6ff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0b4ec9;
    font-size: 30px;
}

.devis-header h2 {
    margin: 0;
    font-size: 38px;
    color: #061b3f;
    font-weight: 900;
}

.devis-header p {
    margin: 8px 0 0;
    color: #61708a;
    font-size: 16px;
}

.devis-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.devis-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.devis-field {
    position: relative;
    background: #fff;
    border: 1px solid #d9e4f2;
    border-radius: 18px;
    height: 66px;
    display: flex;
    align-items: center;
    padding: 0 18px;
    transition: 0.25s ease;
}

.devis-field:focus-within {
    border-color: #0b84ff;
    box-shadow: 0 0 0 4px rgba(11, 132, 255, 0.12);
}

.devis-field i {
    color: #0b4ec9;
    font-size: 20px;
    margin-right: 14px;
    min-width: 22px;
}

.devis-field input,
.devis-field textarea {
    width: 100%;
    border: none;
    outline: none;
    font-size: 16px;
    color: #061b3f;
    background: transparent;
    font-family: inherit;
}

.devis-field input::placeholder,
.devis-field textarea::placeholder {
    color: #7a8494;
}

.devis-date-field {
    height: 66px;
}

.devis-message-field {
    height: 145px;
    align-items: flex-start;
    padding-top: 20px;
}

.devis-message-field textarea {
    height: 100%;
    resize: none;
    line-height: 1.5;
}

.devis-submit {
    height: 70px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffd21c, #ffad00);
    color: #061b3f;
    font-size: 18px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 18px 35px rgba(255, 180, 0, 0.35);
    transition: 0.25s ease;
}

.devis-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 45px rgba(255, 180, 0, 0.45);
}

.devis-submit i {
    margin-right: 8px;
}

.devis-benefits {
    margin: 34px -38px 0;
    padding: 24px 38px;
    border-top: 1px solid #e6edf7;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    background: #fbfdff;
    border-radius: 0 0 30px 30px;
}

.devis-benefits div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: #061b3f;
}

.devis-benefits i {
    font-size: 22px;
    color: #0b4ec9;
    margin-bottom: 5px;
}

.devis-benefits strong {
    font-size: 14px;
}

.devis-benefits span {
    font-size: 13px;
    color: #65748b;
}

/* FLATPICKR DESIGN */
.flatpickr-calendar {
    z-index: 999999 !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18) !important;
    border: 1px solid #e3eaf5 !important;
}

/* MOBILE */
@media (max-width: 768px) {
    .devis-modal {
        padding: 12px;
        align-items: flex-start;
        overflow-y: auto;
    }

    .devis-modal-box {
        max-height: none;
        padding: 28px 18px 0;
        border-radius: 24px;
    }

    .devis-close {
        width: 42px;
        height: 42px;
        top: 14px;
        right: 14px;
    }

    .devis-header {
        flex-direction: column;
        text-align: center;
        gap: 12px;
        margin-bottom: 24px;
    }

    .devis-icon {
        width: 58px;
        height: 58px;
        font-size: 24px;
    }

    .devis-header h2 {
        font-size: 30px;
        line-height: 1.1;
    }

    .devis-header p {
        font-size: 14px;
        max-width: 260px;
        margin-left: auto;
        margin-right: auto;
    }

    .devis-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .devis-field {
        height: 58px;
        border-radius: 15px;
    }

    .devis-message-field {
        height: 130px;
    }

    .devis-submit {
        height: 62px;
        font-size: 16px;
    }

    .devis-benefits {
        grid-template-columns: repeat(4, 1fr);
        gap: 8px;
        margin: 28px -18px 0;
        padding: 18px 10px;
        text-align: center;
    }

    .devis-benefits i {
        font-size: 20px;
        margin: 0 auto 4px;
    }

    .devis-benefits strong {
        font-size: 11px;
    }

    .devis-benefits span {
        display: none;
    }
}

@media (max-width: 480px) {
    .devis-header h2 {
        font-size: 27px;
    }

    .devis-benefits {
        grid-template-columns: repeat(4, 1fr);
    }
}









/* FIX FINAL MODALE DEVIS - CENTRAGE PRO */
#devisModal.devis-modal {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(5, 20, 45, 0.75) !important;
    backdrop-filter: blur(12px) !important;
    z-index: 999999 !important;
    padding: 24px !important;
}

#devisModal.devis-modal.active {
    display: flex !important;
}

#devisModal .devis-modal-box {
    width: min(980px, 96vw) !important;
    max-height: 92vh !important;
    overflow-y: auto !important;
    margin: auto !important;
    background: #fff !important;
    border-radius: 32px !important;
    padding: 40px !important;
    position: relative !important;
    box-shadow: 0 35px 100px rgba(0,0,0,0.35) !important;
}

@media (max-width: 768px) {
    #devisModal.devis-modal {
        align-items: flex-start !important;
        padding: 12px !important;
        overflow-y: auto !important;
    }

    #devisModal .devis-modal-box {
        width: 100% !important;
        max-height: none !important;
        padding: 24px 18px !important;
        border-radius: 24px !important;
        margin-top: 20px !important;
    }

    #devisModal .devis-grid {
        grid-template-columns: 1fr !important;
    }
}



/* FORCE MOT DE PASSE */

.password-strength {
    width: 100%;
    height: 8px;
    background: #e5e7eb;
    border-radius: 20px;
    margin: -4px 0 10px;
    overflow: hidden;
}

#passwordStrengthBar {
    height: 100%;
    width: 0%;
    background: #dc2626;
    transition: 0.3s ease;
}

.password-help {
    display: block;
    margin: -4px 0 12px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
}

.password-help.error {
    color: #dc2626;
}

.password-help.success {
    color: #16a34a;
}


.auth-alert.success{
    background:#dcfce7;
    color:#166534;
    padding:14px;
    border-radius:14px;
    font-weight:700;
    margin-bottom:15px;
    text-align:center;
}

.auth-alert.error{
    background:#fee2e2;
    color:#991b1b;
    padding:14px;
    border-radius:14px;
    font-weight:700;
    margin-bottom:15px;
    text-align:center;
}





/* FIX VISA FORM */
#visas.active {
    grid-template-columns: repeat(4, 1fr) !important;
}

#visas .visa-file {
    grid-column: span 2 !important;
}

#visas .search-btn {
    grid-column: span 2 !important;
    width: 100% !important;
}



/* ===== MOBILE BOOKING TABS PRO ===== */

@media (max-width: 768px){

    .booking-tabs{
        display:flex !important;
        flex-wrap:nowrap !important;
        gap:10px !important;

        overflow-x:auto !important;
        overflow-y:hidden !important;

        padding-bottom:6px !important;

        scrollbar-width:none;
    }

    .booking-tabs::-webkit-scrollbar{
        display:none;
    }

    .booking-tab{
        flex:0 0 auto !important;

        min-width:140px !important;
        height:56px !important;

        border-radius:18px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        white-space:nowrap !important;
    }

    .booking-container{
        overflow:hidden !important;
    }

}


/* ===== FIX DROPDOWN PASSAGERS MOBILE ===== */

.booking-container,
.booking-box{
    overflow: visible !important;
}

.travelers-field{
    position: relative !important;
    z-index: 9999 !important;
}

.travelers-dropdown{
    top: 70px !important;
    left: auto !important;
    right: 0 !important;

    width: 320px !important;
    max-width: calc(100vw - 40px) !important;

    z-index: 999999 !important;
}

@media (max-width: 768px){
    .travelers-dropdown{
        left: 0 !important;
        right: auto !important;
        width: 300px !important;
        max-height: 70vh !important;
        overflow-y: auto !important;
    }
}


/* ===== CHAT BUTTON MOBILE DISCRET ===== */

.chat-btn{
    padding: 12px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
}

@media (max-width: 768px){
    .chat-btn{
        width: 54px !important;
        height: 54px !important;
        padding: 0 !important;

        right: 16px !important;
        bottom: 16px !important;

        border-radius: 50% !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        font-size: 0 !important;
        overflow: hidden !important;
    }

    .chat-btn span,
    .chat-btn p,
    .chat-btn strong{
        display: none !important;
    }

    .chat-icon{
        width: 54px !important;
        height: 54px !important;
        margin: 0 !important;
    }

    .chat-icon i{
        font-size: 22px !important;
    }
}









/* ===== DESTINATIONS MOBILE PRO ===== */

@media (max-width: 768px){

    .destinations{
        width: 94% !important;
        margin: 55px auto !important;
        padding: 28px 18px !important;
        border-radius: 28px !important;
    }

    .destination-title h2{
        font-size: 30px !important;
        line-height: 1.18 !important;
    }

    .destinations .cards{
        margin-top: 22px !important;
        gap: 16px !important;
        padding-bottom: 12px !important;
    }

    .destination-card-pro{
        flex: 0 0 230px !important;
        border-radius: 22px !important;
    }

    .destination-img-pro{
        height: 135px !important;
    }

    .destination-info-pro h3{
        font-size: 21px !important;
    }
}



/* ===== HOVER PREMIUM GLOBAL ===== */

.search-btn,
.btn-primary,
.btn-yellow,
button{
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        background .22s ease !important;
}

.search-btn:hover,
.btn-primary:hover,
.btn-yellow:hover{
    transform: translateY(-2px) !important;

    box-shadow:
        0 16px 35px rgba(255,193,7,.28) !important;
}

/* Cards premium */
.destination-card-pro,
.package-card,
.offer-card{
    transition:
        transform .25s ease,
        box-shadow .25s ease !important;
}

.destination-card-pro:hover,
.package-card:hover,
.offer-card:hover{
    transform: translateY(-6px) !important;

    box-shadow:
        0 20px 45px rgba(15,23,42,.12) !important;
}

/* Inputs focus */
.booking-input:focus,
.field input:focus,
.field select:focus{
    border-color: #2563eb !important;

    box-shadow:
        0 0 0 4px rgba(37,99,235,.12) !important;
}



/* ===== VOYAGES ORGANISÉS - VERSION PREMIUM CLAIRE ===== */

.premium-trips{
    background: #f8fafc !important;
    border-radius: 38px !important;
    box-shadow: none !important;
    padding: 55px 38px !important;
}

.premium-trips .section-tag{
    color: #2563eb !important;
}

.premium-trips .section-title{
    color: #071f43 !important;
}

.premium-trips .section-title span{
    color: #f4c542 !important;
}

.premium-trips .section-subtitle{
    color: #64748b !important;
}

.premium-trips .section-btn{
    background: #071f43 !important;
    color: white !important;
    box-shadow: 0 14px 35px rgba(7,31,67,.18) !important;
}

.premium-card{
    box-shadow: 0 18px 45px rgba(15,23,42,.10) !important;
}

.premium-card:hover{
    transform: translateY(-7px) !important;
    box-shadow: 0 28px 65px rgba(15,23,42,.16) !important;
}



/* ===== FORFAITS PREMIUM FINAL ===== */

.premium-trips{
    width: 86% !important;
    margin: 65px auto 70px !important;
    padding: 48px 46px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9fd 100%) !important;
    border: 1px solid #e8eef7 !important;
    box-shadow: 0 24px 70px rgba(7,31,67,.08) !important;
}

.premium-header{
    margin-bottom: 34px !important;
}

.premium-trips .section-title{
    font-size: 38px !important;
    letter-spacing: -1px !important;
}

.premium-trips .section-subtitle{
    font-size: 15px !important;
}

.premium-carousel .package-track{
    gap: 22px !important;
}

.premium-card{
    flex: 0 0 285px !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e8eef7 !important;
}

.premium-img{
    height: 178px !important;
}

.premium-body{
    padding: 18px !important;
}

.premium-body h3{
    font-size: 20px !important;
    line-height: 1.2 !important;
}

.premium-actions .details-btn,
.premium-actions .pay-btn{
    min-height: 44px !important;
    border-radius: 14px !important;
}


/* ===== ESPACEMENT ACCUEIL PLUS PRO ===== */

.booking-box{
    margin-bottom: 45px !important;
}

.premium-trips{
    margin-top: 45px !important;
}

@media (max-width: 768px){
    .booking-box{
        margin-bottom: 35px !important;
    }

    .premium-trips{
        margin-top: 35px !important;
    }
}






/* ===== IMAGES PREMIUM CARDS ===== */

.premium-img,
.destination-img-pro,
.package-image{
    position: relative !important;
    overflow: hidden !important;
}

.premium-img img,
.destination-img-pro img,
.package-image img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;

    transition:
        transform .7s ease,
        filter .4s ease !important;
}

.premium-card:hover img,
.destination-card-pro:hover img,
.package-card:hover img{
    transform: scale(1.06) !important;
}

.premium-img::after,
.destination-img-pro::after,
.package-image::after{
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    background:
        linear-gradient(
            to top,
            rgba(7,31,67,.28),
            rgba(7,31,67,0)
        ) !important;

    pointer-events: none !important;
}





/* ===== BADGES PREMIUM ===== */

.badge,
.premium-img .badge,
.destination-img-pro span,
.modal-destination-image span{
    background: rgba(255, 210, 30, 0.95) !important;
    color: #071f43 !important;

    padding: 8px 14px !important;
    border-radius: 999px !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .2px !important;

    box-shadow: 0 10px 24px rgba(255, 184, 0, .28) !important;
    backdrop-filter: blur(8px) !important;
}


/* ===== HERO PREMIUM FINAL ===== */

.hero{
    position: relative !important;
    overflow: hidden !important;
}

.hero::before{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(7,31,67,.82) 0%,
            rgba(7,31,67,.45) 38%,
            rgba(7,31,67,.10) 100%
        );

    z-index:1;
}

.hero-content{
    position: relative !important;
    z-index:2 !important;

    width:88% !important;
    margin:auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    gap:40px !important;
}

.hero-text{
    max-width:620px !important;
}

.hero-text h1{
    font-size:72px !important;
    line-height:0.95 !important;
    letter-spacing:-3px !important;
}

.hero-text p{
    font-size:20px !important;
    line-height:1.6 !important;
    opacity:.95 !important;
}

.promo-card{
    width:300px !important;

    backdrop-filter: blur(14px) !important;

    background:
        rgba(255,255,255,.12) !important;

    border:
        1px solid rgba(255,255,255,.18) !important;
}

/* MOBILE */
@media (max-width:768px){

    .hero-content{
        flex-direction:column !important;
        align-items:flex-start !important;
        padding-top:40px !important;
    }

    .hero-text h1{
        font-size:48px !important;
        line-height:1 !important;
    }

    .hero-text p{
        font-size:17px !important;
    }

    .promo-card{
        width:100% !important;
        max-width:320px !important;
    }
}

.promo-card button{

    width:43px !important;
    height:43px !important;

    bottom:10px !important;
    right:10px !important;

    position:absolute !important;

    z-index:50 !important;

    cursor:pointer;
}

.promo-slide{
    position:relative;
}






/* ===== AIRLINES PREMIUM ===== */

.airline-card{
    transition:all .3s ease;
    border-radius:18px;
}

.airline-card:hover{
    transform:translateY(-6px);

    box-shadow:
        0 15px 35px rgba(0,0,0,.10);

    background:#fff;
}

.airline-card img{
    transition:all .3s ease;
}

.airline-card:hover img{
    transform:scale(1.05);
}




/* ===== DESTINATIONS CARDS PREMIUM ===== */

.destination-card-pro{
    background:#fff !important;
    border:1px solid #e8eef7 !important;
    border-radius:26px !important;
    overflow:hidden !important;
    box-shadow:0 18px 45px rgba(7,31,67,.10) !important;
    transition:transform .28s ease, box-shadow .28s ease !important;
}

.destination-card-pro:hover{
    transform:translateY(-7px) !important;
    box-shadow:0 28px 65px rgba(7,31,67,.16) !important;
}

.destination-img-pro{
    height:155px !important;
    overflow:hidden !important;
}

.destination-img-pro::after{
    background:linear-gradient(to top, rgba(7,31,67,.35), transparent) !important;
}

.destination-info-pro{
    padding:18px 20px 22px !important;
}

.destination-info-pro h3{
    font-size:22px !important;
    letter-spacing:-.4px !important;
}

.destination-info-pro p{
    font-size:14px !important;
    color:#64748b !important;
}

.destination-price-pro{
    margin-top:10px !important;
    padding-top:12px !important;
    border-top:1px solid #eef2f7 !important;
}

.destination-price-pro strong{
    color:#071f43 !important;
}







@media (max-width:768px){

    .hero-content{
        position:relative !important;
    }

    .promo-card{

        position:absolute !important;

        top:130px !important;

        right:-40px !important;

        width:190px !important;
        height:250px !important;

        border-radius:24px !important;

        z-index:5 !important;

        overflow:hidden;
    }

    .promo-slide{
        padding:20px !important;
    }

    .promo-slide h3{
        font-size:20px !important;
    }

    .promo-slide p{
        font-size:13px !important;
    }

    .promo-slide h2{
        font-size:42px !important;
    }

}





























/* FIX HERO TITRE DESKTOP a ajouter a l hebergement modif 0707 21h33 */
.hero-text{
    max-width: 760px !important;
}

.hero-text h1{
    font-size: 58px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
}

.hero-text h1 span{
    color: #ffd21e !important;
    white-space: nowrap !important;
    display: inline-block !important;
}

/* TABLETTE */
@media (max-width: 1100px){
    .hero-text{
        max-width: 720px !important;
    }

    .hero-text h1{
        font-size: 46px !important;
    }
}

/* MOBILE */
@media (max-width: 768px){
    .hero-text{
        max-width: 100% !important;
    }

    .hero-text h1{
        font-size: 42px !important;
        line-height: 1.05 !important;
    }

    .hero-text h1 span{
        white-space: normal !important;
    }
}












/* ===== PUBLICITÉ HERO - SLIDER PRO ===== */

.promo-card{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    padding:35px !important;
    overflow:hidden !important;
}

.promo-card h2,
.promo-card h3,
.promo-card p,
.promo-card .pub-small,
.promo-card .pub-price{
    text-align:center !important;
    width:100% !important;
}

.promo-card h2{
    font-size:32px !important;
    line-height:1.15 !important;
    margin-bottom:18px !important;
}

.promo-card p{
    font-size:16px !important;
    line-height:1.55 !important;
}

.promo-card .pub-price,
.promo-card .promo-price{
    color:#ffd21e !important;
    font-size:42px !important;
    font-weight:1000 !important;
    margin-top:18px !important;
}

/* animation gauche vers droite */
.promo-card.slide-in{
    animation: promoSlideLeftRight .55s ease both;
}

@keyframes promoSlideLeftRight{
    from{
        opacity:0;
        transform:translateX(-45px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}






promo-card{
    position:relative !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
}

.promo-slide{
    display:none !important;
    width:100% !important;
    text-align:center !important;
}

.promo-slide.active{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    animation: promoLeftRight .6s ease;
}

.promo-slide h3,
.promo-slide p,
.promo-slide small,
.promo-slide h2{
    text-align:center !important;
    width:100% !important;
}

.promo-slide h2{
    color:#ffd21e !important;
    font-size:42px !important;
    font-weight:1000 !important;
}

@keyframes promoLeftRight{
    from{
        opacity:0;
        transform:translateX(-45px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}





/* FIX PUBLICITÉ HERO - PROPRE ET CENTRÉE */
.promo-card{
    position:relative !important;
    width:290px !important;
    height:340px !important;
    padding:28px 22px 60px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
}

.promo-slide{
    display:none !important;
    width:100% !important;
    max-width:250px !important;
    margin:0 auto !important;
    text-align:center !important;
}

.promo-slide.active{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
}

.promo-slide h2,
.promo-slide h3,
.promo-slide p{
    margin:0 0 12px !important;
    text-align:center !important;
    width:100% !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
}

.promo-slide h2{
    font-size:30px !important;
    line-height:1.12 !important;
    font-weight:1000 !important;
}

.promo-slide h3{
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
}

.promo-slide p{
    font-size:14px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
}

.promo-slide .promo-price,
.promo-slide .pub-price{
    color:#ffd21e !important;
    font-size:34px !important;
    line-height:1.05 !important;
    font-weight:1000 !important;
    margin-top:10px !important;
}

.promo-card button,
.promo-card .promo-btn{
    position:absolute !important;
    right:22px !important;
    bottom:22px !important;
    z-index:5 !important;
}

/* ======================================================================
   ASSALAS TOURS — ACCUEIL PREMIUM V2
   Portée volontairement limitée à body.home-premium-v2.
   Les autres pages du site conservent leurs styles existants.
====================================================================== */

body.home-premium-v2{
    --home-navy:#061b3a;
    --home-navy-2:#0b2d63;
    --home-blue:#075ee8;
    --home-blue-2:#0b73ff;
    --home-yellow:#ffbf00;
    --home-yellow-2:#ffa800;
    --home-text:#061b3a;
    --home-muted:#5d6d89;
    --home-line:#dce5f1;
    --home-white:#ffffff;
    --home-shadow:0 28px 75px rgba(6,27,58,.16);
    background:#f5f8fc;
    color:var(--home-text);
    font-family:Inter,Arial,Helvetica,sans-serif;
}

body.home-premium-v2 .premium-home-hero{
    min-height:720px;
    padding-top:0;
    overflow:visible;
    border-radius:0;
    color:var(--home-text);
    background:
        linear-gradient(90deg,rgba(245,250,255,.97) 0%,rgba(245,250,255,.82) 35%,rgba(245,250,255,.18) 67%,rgba(0,72,140,.05) 100%),
        url("images/hero.jpg") center 48%/cover no-repeat;
    isolation:isolate;
}

body.home-premium-v2 .premium-home-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        radial-gradient(circle at 15% 6%,rgba(255,255,255,.88),transparent 34%),
        linear-gradient(180deg,rgba(211,235,255,.36),rgba(255,255,255,0) 45%);
    pointer-events:none;
}

body.home-premium-v2 .premium-home-hero::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:210px;
    z-index:-1;
    background:linear-gradient(180deg,transparent,rgba(238,247,255,.14));
    pointer-events:none;
}

/* Barre d'information supérieure */
body.home-premium-v2 .premium-topbar{
    position:absolute;
    top:15px;
    left:50%;
    z-index:1200;
    width:min(1510px,calc(100% - 72px));
    min-height:34px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    color:#071f43;
    font-size:13px;
    font-weight:850;
}

body.home-premium-v2 .premium-topbar-left,
body.home-premium-v2 .premium-topbar-right{
    display:flex;
    align-items:center;
    gap:18px;
}

body.home-premium-v2 .premium-topbar-left span,
body.home-premium-v2 .premium-topbar-right span{
    display:inline-flex;
    align-items:center;
    gap:9px;
}

body.home-premium-v2 .premium-topbar i{
    color:#0b2d63;
}

body.home-premium-v2 .premium-topbar-separator{
    width:1px;
    height:20px;
    background:rgba(7,31,67,.24);
}

body.home-premium-v2 .premium-topbar-right a{
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#071f43;
    transition:.2s ease;
}

body.home-premium-v2 .premium-topbar-right a:hover{
    background:rgba(255,255,255,.68);
    transform:translateY(-2px);
}

/* Navigation blanche flottante */
body.home-premium-v2 .navbar{
    position:absolute;
    top:58px;
    left:50%;
    width:min(1510px,calc(100% - 72px));
    height:108px;
    transform:translateX(-50%);
    padding:0 28px 0 24px;
    border:1px solid rgba(255,255,255,.88);
    border-radius:28px;
    background:rgba(255,255,255,.95);
    color:var(--home-navy);
    box-shadow:0 22px 55px rgba(6,27,58,.14);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

body.home-premium-v2 .navbar:hover{
    background:rgba(255,255,255,.98);
}

body.home-premium-v2 .logo{
    flex:0 0 auto;
    max-width:none;
    overflow:visible;
}

body.home-premium-v2 .premium-brand-link{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:205px;
}

body.home-premium-v2 .logo img{
    width:68px;
    max-width:68px;
    height:68px;
    object-fit:contain;
}

body.home-premium-v2 .premium-brand-copy{
    display:flex;
    flex-direction:column;
    min-width:0;
}

body.home-premium-v2 .premium-brand-copy strong{
    color:var(--home-navy);
    font-size:20px;
    font-weight:1000;
    line-height:1.05;
    white-space:nowrap;
}

body.home-premium-v2 .premium-brand-copy small{
    margin-top:5px;
    color:#64748b;
    font-size:10px;
    font-weight:800;
    white-space:nowrap;
}

body.home-premium-v2 .nav-center{
    margin:0 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    flex:1 1 auto;
    min-width:0;
}

body.home-premium-v2 .desktop-main-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-width:0;
}

body.home-premium-v2 .desktop-main-menu a,
body.home-premium-v2 .premium-more-menu .search-toggle{
    position:relative;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 13px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#10264c;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
    transition:.2s ease;
}

body.home-premium-v2 .desktop-main-menu a::after{
    content:"";
    position:absolute;
    left:13px;
    right:13px;
    bottom:2px;
    height:3px;
    border-radius:999px;
    background:var(--home-yellow);
    transform:scaleX(0);
    transition:.2s ease;
}

body.home-premium-v2 .desktop-main-menu a:hover,
body.home-premium-v2 .desktop-main-menu a.active,
body.home-premium-v2 .premium-more-menu .search-toggle:hover{
    color:var(--home-blue);
    background:#f4f8ff;
}

body.home-premium-v2 .desktop-main-menu a:hover::after,
body.home-premium-v2 .desktop-main-menu a.active::after{
    transform:scaleX(1);
}

body.home-premium-v2 .premium-more-menu{
    display:none;
    position:relative;
    color:var(--home-navy);
}

body.home-premium-v2 .premium-more-menu .search-toggle{
    cursor:pointer;
}

body.home-premium-v2 .dropdown-menu{
    top:52px;
    left:50%;
    transform:translateX(-50%);
    width:270px;
    border:1px solid #e2e8f0;
}

body.home-premium-v2 .nav-right{
    flex:0 0 auto;
    gap:9px;
    color:var(--home-navy);
}

body.home-premium-v2 .language-switch{
    flex:0 0 auto;
}

body.home-premium-v2 .lang-selected{
    min-width:88px;
    height:48px;
    gap:8px;
    padding:0 13px;
    border:1px solid #dbe4f0;
    border-radius:16px;
    background:#fff;
    color:#10264c;
    font-size:13px;
    font-weight:950;
}

body.home-premium-v2 .lang-selected img{
    width:23px;
    height:23px;
}

body.home-premium-v2 .lang-selected > i{
    font-size:10px;
    color:#64748b;
}

body.home-premium-v2 .lang-dropdown{
    top:56px;
    right:0;
    left:auto;
    border:1px solid #e2e8f0;
    background:#fff;
}

body.home-premium-v2 .nav-right button{
    min-width:auto;
    height:48px;
    border-radius:16px;
}

body.home-premium-v2 .login-btn,
body.home-premium-v2 .user-btn{
    border:1px solid #dbe4f0 !important;
    background:#fff !important;
    color:#10264c !important;
    box-shadow:none !important;
}

body.home-premium-v2 .user-btn{
    max-width:190px;
    padding:0 14px !important;
}

body.home-premium-v2 .user-btn span{
    max-width:110px;
    overflow:hidden;
    text-overflow:ellipsis;
}

body.home-premium-v2 .notif-btn{
    width:48px;
    min-width:48px !important;
    border:1px solid #dbe4f0 !important;
    background:#fff !important;
    color:#10264c !important;
}

body.home-premium-v2 #openDevisModal{
    min-width:178px;
    height:50px;
    padding:0 19px;
    border:0 !important;
    border-radius:17px;
    background:linear-gradient(135deg,var(--home-yellow),var(--home-yellow-2)) !important;
    color:#071f43 !important;
    box-shadow:0 12px 24px rgba(255,177,0,.25);
}

/* Hero */
body.home-premium-v2 .hero-content{
    width:min(1510px,calc(100% - 72px));
    min-height:720px;
    margin:0 auto;
    padding:210px 40px 145px 72px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 350px;
    align-items:center;
    gap:65px;
}

body.home-premium-v2 .hero-text{
    max-width:800px;
}

body.home-premium-v2 .hero-kicker{
    width:max-content;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:18px;
    padding:9px 13px;
    border:1px solid rgba(7,94,232,.16);
    border-radius:999px;
    background:rgba(255,255,255,.72);
    color:#0b55bd;
    font-size:12px;
    font-weight:950;
    letter-spacing:.25px;
    backdrop-filter:blur(10px);
}

body.home-premium-v2 .hero-text h1{
    margin:0;
    color:#071f43;
    font-size:clamp(52px,5.2vw,82px);
    line-height:1.02;
    letter-spacing:-3px;
    text-transform:uppercase;
    text-shadow:0 4px 22px rgba(255,255,255,.4);
}

body.home-premium-v2 .hero-text h1 span{
    color:var(--home-yellow-2);
    text-shadow:0 4px 22px rgba(255,255,255,.5);
}

body.home-premium-v2 .hero-subtitle-premium{
    max-width:690px;
    margin-top:18px;
    color:#344765;
    font-size:clamp(18px,1.7vw,25px);
    font-weight:650;
    line-height:1.5;
}

body.home-premium-v2 .features{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    max-width:760px;
    margin-top:32px;
    color:#071f43;
}

body.home-premium-v2 .features div{
    min-height:62px;
    padding:0 24px;
    border-right:1px solid rgba(7,31,67,.2);
    display:flex;
    align-items:center;
    gap:13px;
    font-size:14px;
    font-weight:900;
    line-height:1.35;
}

body.home-premium-v2 .features div:first-child{
    padding-left:0;
}

body.home-premium-v2 .features div:last-child{
    border-right:0;
}

body.home-premium-v2 .features i{
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,#075ee8,#063fb5);
    color:#fff;
    font-size:20px;
    box-shadow:0 10px 24px rgba(7,94,232,.22);
}

/* Carte promotionnelle blanche */
body.home-premium-v2 .promo-card{
    width:350px;
    height:390px;
    margin:20px 0 0;
    padding:34px 30px 28px;
    border:1px solid rgba(255,255,255,.94);
    border-radius:30px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.99),rgba(255,255,255,.93)),
        url("images/dubai.jpg") center/cover no-repeat;
    color:#071f43;
    box-shadow:0 32px 85px rgba(6,27,58,.2);
    overflow:hidden;
}

body.home-premium-v2 .promo-card::after{
    content:"";
    position:absolute;
    right:-35px;
    bottom:-42px;
    width:190px;
    height:190px;
    border-radius:50%;
    background:url("images/dubai.jpg") center/cover no-repeat;
    opacity:.23;
    filter:saturate(1.15);
}

body.home-premium-v2 .promo-card-icon{
    position:relative;
    z-index:3;
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#fff;
    color:var(--home-yellow-2);
    font-size:22px;
    box-shadow:0 10px 25px rgba(6,27,58,.12);
}

body.home-premium-v2 .promo-slides{
    position:relative;
    z-index:3;
    min-height:230px;
}

body.home-premium-v2 .promo-slide{
    inset:20px 0 auto;
}

body.home-premium-v2 .promo-eyebrow{
    margin-bottom:8px;
    color:#0b5bd3;
    font-size:11px;
    font-weight:950;
    letter-spacing:.7px;
    text-transform:uppercase;
}

body.home-premium-v2 .promo-card h3{
    margin:0 0 12px;
    color:#071f43;
    font-size:27px;
    line-height:1.15;
}

body.home-premium-v2 .promo-card p{
    max-width:245px;
    margin:0 0 7px;
    color:#52617c;
    font-size:14px;
    font-weight:700;
    line-height:1.55;
}

body.home-premium-v2 .promo-card small{
    display:block;
    color:#6b7890;
    font-size:12px;
}

body.home-premium-v2 .promo-price-label{
    margin-top:20px;
    color:#64748b;
    font-size:13px;
    font-weight:850;
}

body.home-premium-v2 .promo-card h2{
    max-width:250px;
    margin-top:5px;
    color:var(--home-yellow-2);
    font-size:34px;
    line-height:1.08;
}

body.home-premium-v2 .promo-card > button{
    left:30px;
    right:auto;
    bottom:28px;
    z-index:5;
    width:auto;
    height:50px;
    padding:0 18px;
    border-radius:15px;
    background:linear-gradient(135deg,#075ee8,#0b73ff);
    color:#fff;
    gap:10px;
    font-size:13px;
    font-weight:950;
    box-shadow:0 12px 25px rgba(7,94,232,.24);
}

/* Moteur de recherche superposé */
body.home-premium-v2 .booking-wrapper{
    z-index:90;
    margin:-112px auto 80px;
    padding:0 36px;
}

body.home-premium-v2 .booking-container,
body.home-premium-v2 .booking-box{
    width:min(1390px,100%);
    padding:20px 28px 24px;
    border:1px solid rgba(255,255,255,.88);
    border-radius:28px;
    background:rgba(255,255,255,.97);
    box-shadow:0 35px 90px rgba(6,27,58,.18);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

body.home-premium-v2 .booking-tabs,
body.home-premium-v2 .tabs{
    gap:12px;
    margin-bottom:12px;
}

body.home-premium-v2 .booking-tab,
body.home-premium-v2 .tab{
    min-width:155px;
    height:52px;
    border:1px solid #edf2f7;
    border-radius:15px;
    background:#f4f6fa;
    color:#10264c;
}

body.home-premium-v2 .booking-tab.active,
body.home-premium-v2 .tab.active{
    border-color:transparent;
    background:linear-gradient(135deg,#075ee8,#0848c7);
    color:#fff;
    box-shadow:0 13px 25px rgba(7,94,232,.22);
}

body.home-premium-v2 .trip-types{
    margin:0 0 17px;
    padding:0 8px;
    gap:30px;
    border-bottom:1px solid #e8eef6;
}

body.home-premium-v2 .trip-types span,
body.home-premium-v2 .trip-option{
    padding:10px 2px 13px;
    color:#44536e;
}

body.home-premium-v2 .trip-types span.active,
body.home-premium-v2 .trip-option.active{
    color:#075ee8;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field,
body.home-premium-v2 #vols.flight-search-pro .field{
    min-height:78px;
    border:1px solid #dce5f1;
    border-radius:16px;
    background:#fff;
    box-shadow:none;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field:hover,
body.home-premium-v2 #vols.flight-search-pro .field:hover{
    border-color:#a8c5f7;
    box-shadow:0 0 0 4px rgba(7,94,232,.07);
}

body.home-premium-v2 #vols.flight-search-pro .flight-field-icon{
    width:42px;
    height:42px;
    border-radius:13px;
    background:#eef4ff;
    color:#075ee8;
}

body.home-premium-v2 #vols.flight-search-pro .booking-input{
    color:#071f43;
    font-size:14px;
    font-weight:850;
}

body.home-premium-v2 #vols.flight-search-pro .field-text small{
    color:#52617c;
    font-size:11px;
    font-weight:900;
}

body.home-premium-v2 #vols.flight-search-pro .swap-btn,
body.home-premium-v2 #vols.flight-search-pro .switch-destination{
    width:48px;
    height:48px;
    border:1px solid #dce5f1;
    border-radius:50%;
    background:#fff;
    color:#075ee8;
    box-shadow:0 9px 22px rgba(6,27,58,.08);
}

body.home-premium-v2 #vols.flight-search-pro .flight-search-submit,
body.home-premium-v2 #vols.flight-search-pro .search-btn{
    min-height:78px;
    border-radius:16px;
    background:linear-gradient(135deg,var(--home-yellow),var(--home-yellow-2));
    color:#071f43;
    box-shadow:0 16px 32px rgba(255,177,0,.22);
}

body.home-premium-v2 #vols.flight-search-pro .flight-search-submit:hover{
    transform:translateY(-2px);
    filter:brightness(1.02);
}

body.home-premium-v2 #vols.flight-search-pro .flight-search-options{
    margin-top:7px;
    padding:0 2px;
}

body.home-premium-v2 #vols.flight-search-pro .flight-search-powered{
    color:#64748b;
}

body.home-premium-v2 #vols.flight-search-pro .flight-search-powered i{
    color:#16a34a;
}

/* Sections suivantes : meilleure continuité visuelle */
body.home-premium-v2 .organized-trips,
body.home-premium-v2 .airlines-section,
body.home-premium-v2 .destinations,
body.home-premium-v2 .advantages{
    scroll-margin-top:30px;
}

/* Responsive */
@media(max-width:1420px){
    body.home-premium-v2 .desktop-main-menu a{
        padding-left:9px;
        padding-right:9px;
        font-size:12px;
    }

    body.home-premium-v2 .premium-brand-copy{
        display:none;
    }

    body.home-premium-v2 .premium-brand-link{
        min-width:auto;
    }

    body.home-premium-v2 .hero-content{
        padding-left:35px;
        padding-right:35px;
    }
}

@media(max-width:1240px){
    body.home-premium-v2 .desktop-main-menu a:nth-last-child(-n+2){
        display:none;
    }

    body.home-premium-v2 .premium-more-menu{
        display:block;
    }

    body.home-premium-v2 .hero-content{
        grid-template-columns:minmax(0,1fr) 310px;
        gap:35px;
    }

    body.home-premium-v2 .promo-card{
        width:310px;
    }
}

@media(max-width:1080px){
    body.home-premium-v2 .premium-topbar{
        display:none;
    }

    body.home-premium-v2 .navbar{
        top:18px;
        height:82px;
        width:calc(100% - 28px);
        padding:0 16px;
        border-radius:22px;
    }

    body.home-premium-v2 .desktop-main-menu,
    body.home-premium-v2 .premium-more-menu,
    body.home-premium-v2 .nav-right{
        display:none;
    }

    body.home-premium-v2 .nav-center{
        display:none;
    }

    body.home-premium-v2 .mobile-menu-btn{
        display:inline-flex;
        margin-left:auto;
        background:#071f43;
        color:#fff;
    }

    body.home-premium-v2 .premium-brand-copy{
        display:flex;
    }

    body.home-premium-v2 .premium-home-hero{
        min-height:auto;
    }

    body.home-premium-v2 .hero-content{
        min-height:680px;
        padding:135px 24px 145px;
        grid-template-columns:1fr;
        gap:26px;
    }

    body.home-premium-v2 .hero-text{
        max-width:720px;
    }

    body.home-premium-v2 .promo-card{
        width:min(100%,520px);
        height:330px;
        margin:0;
    }

    body.home-premium-v2 .booking-wrapper{
        margin:-95px auto 65px;
        padding:0 16px;
    }
}

@media(max-width:720px){
    body.home-premium-v2 .navbar{
        height:72px;
    }

    body.home-premium-v2 .logo img{
        width:52px;
        height:52px;
    }

    body.home-premium-v2 .premium-brand-copy strong{
        font-size:16px;
    }

    body.home-premium-v2 .premium-brand-copy small{
        font-size:8px;
    }

    body.home-premium-v2 .hero-content{
        padding:115px 16px 120px;
    }

    body.home-premium-v2 .hero-kicker{
        font-size:10px;
    }

    body.home-premium-v2 .hero-text h1{
        font-size:clamp(39px,12vw,58px);
        letter-spacing:-1.8px;
    }

    body.home-premium-v2 .hero-subtitle-premium{
        font-size:17px;
    }

    body.home-premium-v2 .features{
        grid-template-columns:1fr;
        gap:10px;
    }

    body.home-premium-v2 .features div,
    body.home-premium-v2 .features div:first-child{
        min-height:52px;
        padding:0;
        border-right:0;
    }

    body.home-premium-v2 .features i{
        width:42px;
        height:42px;
        flex-basis:42px;
    }

    body.home-premium-v2 .promo-card{
        height:345px;
        padding:26px 22px;
        border-radius:23px;
    }

    body.home-premium-v2 .promo-card > button{
        left:22px;
        bottom:22px;
    }

    body.home-premium-v2 .booking-wrapper{
        margin:-82px auto 55px;
        padding:0 10px;
    }

    body.home-premium-v2 .booking-container,
    body.home-premium-v2 .booking-box{
        padding:14px;
        border-radius:22px;
    }

    body.home-premium-v2 .booking-tabs,
    body.home-premium-v2 .tabs{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    body.home-premium-v2 .booking-tab,
    body.home-premium-v2 .tab{
        min-width:0;
        width:100%;
        height:48px;
        padding:0 10px;
        font-size:12px;
    }

    body.home-premium-v2 .trip-types{
        gap:17px;
        overflow-x:auto;
        flex-wrap:nowrap;
    }

    body.home-premium-v2 #vols.flight-search-pro .flight-search-submit,
    body.home-premium-v2 #vols.flight-search-pro .search-btn{
        min-height:60px;
    }
}

/* ======================================================================
   ASSALAS TOURS — BARRE SUPÉRIEURE ORANGE PREMIUM
   Correctif ciblé : cette section ne modifie que la zone premium-topbar.
   ====================================================================== */

body.home-premium-v2 .premium-topbar{
    top:0;
    left:0;
    width:100%;
    min-height:44px;
    transform:none;
    padding-left:max(
        34px,
        calc((100vw - 1510px) / 2 + 34px)
    );
    padding-right:max(
        34px,
        calc((100vw - 1510px) / 2 + 34px)
    );
    border-bottom:1px solid rgba(255,255,255,.24);
    background:
        linear-gradient(
            90deg,
            #f47a00 0%,
            #ff9700 48%,
            #f97300 100%
        );
    color:#ffffff;
    box-shadow:
        0 8px 24px rgba(114,48,0,.18);
}

body.home-premium-v2 .premium-topbar-left,
body.home-premium-v2 .premium-topbar-right{
    min-height:44px;
}

body.home-premium-v2 .premium-topbar-left span,
body.home-premium-v2 .premium-topbar-right span{
    color:#ffffff;
    text-shadow:0 1px 2px rgba(74,31,0,.14);
}

body.home-premium-v2 .premium-topbar i{
    color:#ffffff;
}

body.home-premium-v2 .premium-topbar-separator{
    background:rgba(255,255,255,.48);
}

body.home-premium-v2 .premium-topbar-right a{
    width:30px;
    height:30px;
    color:#ffffff;
    border:1px solid transparent;
}

body.home-premium-v2 .premium-topbar-right a:hover{
    border-color:rgba(255,255,255,.7);
    background:#ffffff;
    color:#e96300;
    box-shadow:0 7px 18px rgba(103,42,0,.18);
}

body.home-premium-v2 .premium-topbar-right a:hover i{
    color:#e96300;
}

/*
|--------------------------------------------------------------------------
| La navbar descend légèrement pour rester parfaitement séparée
| de la nouvelle barre orange.
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .navbar{
    top:58px;
}

@media(max-width:1180px) and (min-width:1081px){
    body.home-premium-v2 .premium-topbar{
        padding-left:28px;
        padding-right:28px;
        font-size:12px;
    }

    body.home-premium-v2 .premium-topbar-left,
    body.home-premium-v2 .premium-topbar-right{
        gap:13px;
    }
}

@media(max-width:1080px){
    body.home-premium-v2 .premium-topbar{
        display:none;
    }

    body.home-premium-v2 .navbar{
        top:18px;
    }
}

/* ======================================================================
   ASSALAS TOURS — ALIGNEMENT DES ICÔNES DU MOTEUR DE RECHERCHE
   Correctif ciblé : départ, destination, dates et voyageurs.
   ====================================================================== */

body.home-premium-v2 #vols.flight-search-pro .booking-field,
body.home-premium-v2 #vols.flight-search-pro .field.booking-field{
    position:relative;
    display:flex;
    align-items:center;
    min-height:78px;
    padding:11px 15px 11px 72px;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field .flight-field-icon{
    position:absolute;
    left:15px;
    top:50%;
    width:42px;
    height:42px;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    transform:translateY(-50%);
    line-height:1;
    z-index:2;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field .flight-field-icon i{
    display:block;
    width:auto;
    height:auto;
    margin:0;
    padding:0;
    font-size:17px;
    line-height:1;
    transform:none;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field .field-text{
    position:relative;
    width:100%;
    min-width:0;
    min-height:48px;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:stretch;
    transform:none;
    z-index:1;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field .field-text small{
    width:100%;
    margin:0 0 5px;
    padding:0;
    overflow:hidden;
    color:#52617c;
    font-size:11px;
    font-weight:900;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field .booking-input,
body.home-premium-v2 #vols.flight-search-pro .booking-field .travelers-summary{
    width:100%;
    min-width:0;
    margin:0;
    padding:0;
    color:#071f43;
    font-size:14px;
    font-weight:850;
    line-height:1.3;
    transform:none;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field .booking-input::placeholder{
    color:#7a879c;
    opacity:1;
}

body.home-premium-v2 #vols.flight-search-pro .travelers-field{
    padding-right:38px;
}

body.home-premium-v2 #vols.flight-search-pro .travelers-field::after{
    right:15px;
    top:50%;
    transform:translateY(-50%);
}

/* Bouton d'inversion parfaitement centré entre les deux champs. */
body.home-premium-v2 #vols.flight-search-pro .switch-destination,
body.home-premium-v2 #vols.flight-search-pro .swap-btn{
    align-self:center;
    justify-self:center;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:none;
}

body.home-premium-v2 #vols.flight-search-pro .switch-destination i,
body.home-premium-v2 #vols.flight-search-pro .swap-btn i{
    margin:0;
    padding:0;
    line-height:1;
    transform:none;
}

@media(max-width:760px){
    body.home-premium-v2 #vols.flight-search-pro .booking-field,
    body.home-premium-v2 #vols.flight-search-pro .field.booking-field{
        min-height:72px;
        padding-left:66px;
    }

    body.home-premium-v2 #vols.flight-search-pro .booking-field .flight-field-icon{
        left:13px;
        width:40px;
        height:40px;
        flex-basis:40px;
    }
}

/* ======================================================================
   ASSALAS TOURS — BOUTON « DÉCOUVRIR L’OFFRE »
   Corrige les anciennes règles circulaires en !important.
   ====================================================================== */

body.home-premium-v2 .promo-card > button{
    position:absolute !important;
    left:30px !important;
    right:auto !important;
    bottom:28px !important;

    width:auto !important;
    min-width:176px !important;
    max-width:calc(100% - 60px) !important;
    height:50px !important;
    min-height:50px !important;

    margin:0 !important;
    padding:0 18px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:11px !important;

    border:0 !important;
    border-radius:15px !important;

    background:
        linear-gradient(
            135deg,
            #075ee8 0%,
            #0b73ff 100%
        ) !important;

    color:#ffffff !important;
    box-shadow:
        0 13px 28px rgba(7,94,232,.26) !important;

    font-family:inherit !important;
    font-size:13px !important;
    font-weight:950 !important;
    line-height:1 !important;
    text-align:center !important;
    white-space:nowrap !important;

    overflow:hidden !important;
    cursor:pointer !important;
    z-index:20 !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        filter .2s ease !important;
}

body.home-premium-v2 .promo-card > button span{
    display:block !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    color:inherit !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
}

body.home-premium-v2 .promo-card > button i{
    position:static !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    color:inherit !important;
    font-size:13px !important;
    line-height:1 !important;
    transform:none !important;
}

body.home-premium-v2 .promo-card > button:hover{
    transform:translateY(-2px) !important;
    filter:brightness(1.04) !important;
    box-shadow:
        0 17px 34px rgba(7,94,232,.32) !important;
}

body.home-premium-v2 .promo-card > button:active{
    transform:translateY(0) !important;
}

body.home-premium-v2 .promo-card > button:focus-visible{
    outline:3px solid rgba(255,191,0,.65) !important;
    outline-offset:3px !important;
}

@media(max-width:760px){
    body.home-premium-v2 .promo-card > button{
        left:22px !important;
        right:22px !important;
        bottom:22px !important;

        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        height:48px !important;
        min-height:48px !important;

        padding:0 16px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — CARTE PROMOTIONNELLE FINALE V2
   Bouton à gauche, flèche ronde en bas à droite, prix toujours visible.
   ====================================================================== */

body.home-premium-v2 .promo-card{
    position:relative !important;
    height:390px !important;
    padding:34px 30px 94px !important;
    overflow:hidden !important;
}

body.home-premium-v2 .promo-card .promo-slides{
    position:relative !important;
    z-index:4 !important;
    min-height:0 !important;
    height:100% !important;
    padding-bottom:0 !important;
}

body.home-premium-v2 .promo-card .promo-slide{
    inset:18px 0 auto !important;
    padding:0 !important;
}

body.home-premium-v2 .promo-card .promo-slide h3{
    max-width:255px !important;
    margin:0 0 10px !important;
    font-size:25px !important;
    line-height:1.12 !important;
}

body.home-premium-v2 .promo-card .promo-slide p{
    max-width:255px !important;
    margin:0 0 6px !important;
    font-size:13px !important;
    line-height:1.42 !important;
}

body.home-premium-v2 .promo-card .promo-slide small{
    max-width:255px !important;
    font-size:11px !important;
    line-height:1.35 !important;
}

body.home-premium-v2 .promo-card .promo-price-label{
    margin-top:14px !important;
    font-size:12px !important;
    line-height:1.2 !important;
}

body.home-premium-v2 .promo-card .promo-slide h2{
    position:relative !important;
    z-index:6 !important;
    max-width:255px !important;
    margin:4px 0 0 !important;
    padding:0 !important;
    color:var(--home-yellow-2) !important;
    font-size:31px !important;
    line-height:1.05 !important;
    overflow-wrap:anywhere !important;
}

/* Ancien bouton direct définitivement neutralisé. */
body.home-premium-v2 .promo-card > button{
    display:none !important;
}

/* Zone d'action en bas de la carte. */
body.home-premium-v2 .promo-card .promo-cta-row{
    position:absolute !important;
    left:28px !important;
    right:24px !important;
    bottom:22px !important;
    z-index:40 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;

    height:50px !important;
    margin:0 !important;
    padding:0 !important;

    pointer-events:auto !important;
}

/* Bouton principal. */
body.home-premium-v2 .promo-card .promo-discover-btn{
    position:static !important;

    width:auto !important;
    min-width:170px !important;
    max-width:calc(100% - 64px) !important;

    height:48px !important;
    min-height:48px !important;

    margin:0 !important;
    padding:0 19px !important;

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

    border:0 !important;
    border-radius:15px !important;

    background:
        linear-gradient(
            135deg,
            #075ee8 0%,
            #0b78ff 100%
        ) !important;

    color:#ffffff !important;

    box-shadow:
        0 13px 28px rgba(7,94,232,.28) !important;

    font-family:inherit !important;
    font-size:13px !important;
    font-weight:950 !important;
    line-height:1 !important;
    text-align:center !important;
    white-space:nowrap !important;

    overflow:hidden !important;
    cursor:pointer !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        filter .2s ease !important;
}

body.home-premium-v2 .promo-card .promo-discover-btn span{
    display:block !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    color:inherit !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

body.home-premium-v2 .promo-card .promo-discover-btn:hover{
    transform:translateY(-2px) !important;
    filter:brightness(1.04) !important;

    box-shadow:
        0 17px 34px rgba(7,94,232,.34) !important;
}

body.home-premium-v2 .promo-card .promo-discover-btn:active{
    transform:translateY(0) !important;
}

/* Flèche ronde séparée dans la zone en bas à droite. */
body.home-premium-v2 .promo-card .promo-arrow-btn{
    position:static !important;
    flex:0 0 48px !important;

    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;

    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;

    margin:0 !important;
    padding:0 !important;

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

    border:1px solid rgba(7,31,67,.10) !important;
    border-radius:50% !important;

    background:#ffffff !important;
    color:#075ee8 !important;

    box-shadow:
        0 12px 26px rgba(7,31,67,.20) !important;

    font-size:15px !important;
    line-height:1 !important;

    cursor:pointer !important;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease,
        box-shadow .2s ease !important;
}

body.home-premium-v2 .promo-card .promo-arrow-btn i{
    position:static !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    color:inherit !important;
    font-size:15px !important;
    line-height:1 !important;
    transform:none !important;
}

body.home-premium-v2 .promo-card .promo-arrow-btn:hover{
    transform:translateX(3px) !important;
    background:#075ee8 !important;
    color:#ffffff !important;

    box-shadow:
        0 15px 30px rgba(7,94,232,.30) !important;
}

body.home-premium-v2 .promo-card .promo-discover-btn:focus-visible,
body.home-premium-v2 .promo-card .promo-arrow-btn:focus-visible{
    outline:3px solid rgba(255,191,0,.72) !important;
    outline-offset:3px !important;
}

@media(max-width:1180px) and (min-width:761px){
    body.home-premium-v2 .promo-card{
        padding-left:25px !important;
        padding-right:25px !important;
    }

    body.home-premium-v2 .promo-card .promo-cta-row{
        left:24px !important;
        right:22px !important;
    }

    body.home-premium-v2 .promo-card .promo-discover-btn{
        min-width:155px !important;
        padding:0 16px !important;
    }
}

@media(max-width:760px){
    body.home-premium-v2 .promo-card{
        height:370px !important;
        padding:26px 22px 88px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide{
        inset:15px 0 auto !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h3{
        font-size:23px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h2{
        font-size:28px !important;
    }

    body.home-premium-v2 .promo-card .promo-cta-row{
        left:20px !important;
        right:20px !important;
        bottom:19px !important;
        height:46px !important;
        gap:12px !important;
    }

    body.home-premium-v2 .promo-card .promo-discover-btn{
        min-width:0 !important;
        max-width:calc(100% - 58px) !important;
        height:46px !important;
        min-height:46px !important;
        padding:0 16px !important;
        font-size:12px !important;
    }

    body.home-premium-v2 .promo-card .promo-arrow-btn{
        flex-basis:46px !important;

        width:46px !important;
        min-width:46px !important;
        max-width:46px !important;

        height:46px !important;
        min-height:46px !important;
        max-height:46px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — CARTE PROMOTIONNELLE V3
   Bouton bleu supprimé, flèche ronde seule en bas à droite.
   ====================================================================== */

body.home-premium-v2 .promo-card{
    position:relative !important;
    padding-bottom:82px !important;
}

body.home-premium-v2 .promo-card .promo-cta-row{
    position:absolute !important;
    left:auto !important;
    right:24px !important;
    bottom:22px !important;

    width:48px !important;
    height:48px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    margin:0 !important;
    padding:0 !important;
    z-index:40 !important;
}

body.home-premium-v2 .promo-card .promo-discover-btn{
    display:none !important;
}

body.home-premium-v2 .promo-card .promo-arrow-btn{
    position:static !important;

    flex:0 0 48px !important;

    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;

    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;

    margin:0 !important;
    padding:0 !important;

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

    border:1px solid rgba(7,31,67,.11) !important;
    border-radius:50% !important;

    background:#ffffff !important;
    color:#075ee8 !important;

    box-shadow:
        0 12px 26px rgba(7,31,67,.20) !important;

    cursor:pointer !important;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease,
        box-shadow .2s ease !important;
}

body.home-premium-v2 .promo-card .promo-arrow-btn i{
    position:static !important;
    display:block !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    color:inherit !important;

    font-size:15px !important;
    line-height:1 !important;

    transform:none !important;
}

body.home-premium-v2 .promo-card .promo-arrow-btn:hover{
    transform:translateX(3px) !important;
    background:#075ee8 !important;
    color:#ffffff !important;

    box-shadow:
        0 15px 30px rgba(7,94,232,.30) !important;
}

@media(max-width:760px){
    body.home-premium-v2 .promo-card{
        padding-bottom:76px !important;
    }

    body.home-premium-v2 .promo-card .promo-cta-row{
        right:20px !important;
        bottom:19px !important;

        width:46px !important;
        height:46px !important;
    }

    body.home-premium-v2 .promo-card .promo-arrow-btn{
        flex-basis:46px !important;

        width:46px !important;
        min-width:46px !important;
        max-width:46px !important;

        height:46px !important;
        min-height:46px !important;
        max-height:46px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — NAVBAR NAVY & GOLD V4
   Inspirée de la maquette validée par le client.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Barre supérieure bleu nuit
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .premium-topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:1600 !important;

    width:100% !important;
    min-height:54px !important;

    margin:0 !important;
    padding:0 !important;

    display:block !important;

    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;

    background:
        linear-gradient(
            90deg,
            #031a39 0%,
            #082b5b 52%,
            #031a39 100%
        ) !important;

    color:#ffffff !important;

    box-shadow:
        0 7px 22px rgba(2,18,43,.16) !important;

    transform:none !important;
}

body.home-premium-v2 .premium-topbar-inner{
    width:min(1510px,calc(100% - 72px));
    min-height:54px;

    margin:0 auto;

    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
}

body.home-premium-v2 .premium-contact-link{
    display:inline-flex;
    align-items:center;
    gap:9px;

    min-height:34px;

    color:#ffffff;
    text-decoration:none;

    font-size:13px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;

    transition:
        color .2s ease,
        transform .2s ease;
}

body.home-premium-v2 .premium-contact-link i{
    color:#efa91a !important;
    font-size:15px;
}

body.home-premium-v2 .premium-contact-link:hover{
    color:#ffd074;
    transform:translateY(-1px);
}

body.home-premium-v2 .premium-topbar-separator{
    display:block !important;

    width:1px !important;
    height:25px !important;

    background:rgba(255,255,255,.24) !important;
}

/*
|--------------------------------------------------------------------------
| Langue dans la barre supérieure
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .premium-topbar-language{
    position:relative;
    flex:0 0 auto;
}

body.home-premium-v2 .premium-topbar-language .lang-selected{
    min-width:auto !important;
    width:auto !important;
    height:36px !important;

    padding:0 7px !important;
    gap:7px !important;

    border:0 !important;
    border-radius:10px !important;

    background:transparent !important;
    color:#ffffff !important;

    box-shadow:none !important;

    font-size:13px !important;
    font-weight:900 !important;
}

body.home-premium-v2 .premium-topbar-language .lang-selected:hover{
    background:rgba(255,255,255,.10) !important;
}

body.home-premium-v2 .premium-topbar-language .lang-selected img{
    width:23px !important;
    height:16px !important;

    border-radius:2px !important;
    object-fit:cover !important;
}

body.home-premium-v2 .premium-topbar-language .lang-selected > i{
    color:#ffffff !important;
    font-size:10px !important;
}

body.home-premium-v2 .premium-topbar-language .lang-dropdown{
    top:44px !important;
    right:0 !important;
    left:auto !important;

    z-index:1800 !important;

    width:150px !important;

    border:1px solid #dce5f1 !important;
    border-radius:13px !important;

    background:#ffffff !important;

    box-shadow:
        0 20px 45px rgba(3,26,57,.18) !important;
}

/*
|--------------------------------------------------------------------------
| Bouton lune
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .premium-theme-toggle{
    width:48px !important;
    min-width:48px !important;
    height:34px !important;

    margin:0 !important;
    padding:0 !important;

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

    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:999px !important;

    background:rgba(255,255,255,.10) !important;
    color:#f4c45d !important;

    box-shadow:none !important;

    cursor:pointer !important;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease !important;
}

body.home-premium-v2 .premium-theme-toggle i{
    color:inherit !important;
    font-size:14px !important;
}

body.home-premium-v2 .premium-theme-toggle:hover{
    transform:translateY(-1px) !important;
    background:rgba(255,255,255,.18) !important;
    color:#ffffff !important;
}

/*
|--------------------------------------------------------------------------
| Grande navbar blanche
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .navbar{
    position:absolute !important;
    top:54px !important;
    left:0 !important;
    right:0 !important;
    z-index:1500 !important;

    width:100% !important;
    height:108px !important;

    margin:0 !important;
    padding-left:max(
        34px,
        calc((100vw - 1510px) / 2 + 34px)
    ) !important;
    padding-right:max(
        34px,
        calc((100vw - 1510px) / 2 + 34px)
    ) !important;

    display:flex !important;
    align-items:center !important;

    border:0 !important;
    border-bottom:1px solid #e8edf4 !important;
    border-radius:0 !important;

    background:rgba(255,255,255,.985) !important;
    color:#071f43 !important;

    box-shadow:
        0 10px 28px rgba(3,26,57,.10) !important;

    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;

    transform:none !important;
}

body.home-premium-v2 .navbar:hover{
    background:#ffffff !important;
}

/*
|--------------------------------------------------------------------------
| Logo
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .navbar .logo{
    flex:0 0 auto !important;
}

body.home-premium-v2 .navbar .premium-brand-link{
    min-width:220px !important;
    gap:13px !important;
}

body.home-premium-v2 .navbar .logo img{
    width:74px !important;
    max-width:74px !important;
    height:74px !important;

    object-fit:contain !important;
}

body.home-premium-v2 .navbar .premium-brand-copy{
    display:flex !important;
}

body.home-premium-v2 .navbar .premium-brand-copy strong{
    color:#071f43 !important;

    font-size:19px !important;
    font-weight:1000 !important;
    line-height:1.05 !important;

    text-transform:uppercase !important;
    letter-spacing:.7px !important;
}

body.home-premium-v2 .navbar .premium-brand-copy small{
    margin-top:5px !important;

    color:#d99112 !important;

    font-size:9px !important;
    font-weight:950 !important;

    letter-spacing:1.5px !important;
    text-transform:uppercase !important;
}

/*
|--------------------------------------------------------------------------
| Menu central
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .navbar .nav-center{
    flex:1 1 auto !important;

    min-width:0 !important;

    margin:0 18px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

body.home-premium-v2 .navbar .desktop-main-menu{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a{
    position:relative !important;

    min-height:48px !important;

    padding:0 11px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;

    border-radius:9px !important;

    background:transparent !important;
    color:#071f43 !important;

    font-size:12px !important;
    font-weight:850 !important;
    line-height:1 !important;
    white-space:nowrap !important;

    transition:
        color .2s ease,
        background .2s ease !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a::after{
    display:none !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a > i{
    color:#071f43 !important;
    font-size:9px !important;
    transition:.2s ease !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a:hover{
    background:#fff7e7 !important;
    color:#c17a00 !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a:hover > i{
    color:#c17a00 !important;
}

/*
|--------------------------------------------------------------------------
| Partie droite : notification, compte et devis
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .navbar .nav-right{
    flex:0 0 auto !important;

    display:flex !important;
    align-items:center !important;
    gap:9px !important;
}

body.home-premium-v2 .navbar .notif-btn{
    width:44px !important;
    min-width:44px !important;
    height:44px !important;

    border:0 !important;
    border-radius:50% !important;

    background:transparent !important;
    color:#071f43 !important;

    box-shadow:none !important;
}

body.home-premium-v2 .navbar .notif-btn:hover{
    background:#f4f7fb !important;
}

body.home-premium-v2 .navbar .notif-badge{
    background:#e39a12 !important;
    color:#ffffff !important;
}

body.home-premium-v2 .navbar .user-btn,
body.home-premium-v2 .navbar .login-btn{
    min-width:142px !important;
    height:46px !important;

    padding:0 13px !important;

    border:0 !important;
    border-radius:12px !important;

    background:transparent !important;
    color:#071f43 !important;

    box-shadow:none !important;

    font-size:12px !important;
    font-weight:850 !important;
}

body.home-premium-v2 .navbar .user-btn:hover,
body.home-premium-v2 .navbar .login-btn:hover{
    background:#f4f7fb !important;
}

body.home-premium-v2 .navbar #openDevisModal{
    min-width:166px !important;
    height:52px !important;

    padding:0 17px !important;

    border:0 !important;
    border-radius:12px !important;

    background:
        linear-gradient(
            135deg,
            #f4b53f 0%,
            #df9513 100%
        ) !important;

    color:#071f43 !important;

    box-shadow:
        0 10px 24px rgba(218,145,16,.22) !important;

    font-size:12px !important;
    font-weight:950 !important;
}

body.home-premium-v2 .navbar #openDevisModal:hover{
    transform:translateY(-1px) !important;
    filter:brightness(1.03) !important;
}

/*
|--------------------------------------------------------------------------
| Apparence sombre activée par le bouton lune
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar{
    border-bottom-color:rgba(255,255,255,.10) !important;
    background:rgba(5,29,61,.98) !important;
    color:#ffffff !important;
}

body.home-premium-v2.home-nav-night .navbar .premium-brand-copy strong,
body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a,
body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a > i,
body.home-premium-v2.home-nav-night .navbar .notif-btn,
body.home-premium-v2.home-nav-night .navbar .user-btn,
body.home-premium-v2.home-nav-night .navbar .login-btn{
    color:#ffffff !important;
}

body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a:hover,
body.home-premium-v2.home-nav-night .navbar .notif-btn:hover,
body.home-premium-v2.home-nav-night .navbar .user-btn:hover,
body.home-premium-v2.home-nav-night .navbar .login-btn:hover{
    background:rgba(255,255,255,.09) !important;
}

/*
|--------------------------------------------------------------------------
| Responsive
|--------------------------------------------------------------------------
*/

@media(max-width:1360px) and (min-width:1241px){
    body.home-premium-v2 .navbar{
        padding-left:22px !important;
        padding-right:22px !important;
    }

    body.home-premium-v2 .navbar .premium-brand-link{
        min-width:190px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:66px !important;
        max-width:66px !important;
        height:66px !important;
    }

    body.home-premium-v2 .navbar .premium-brand-copy strong{
        font-size:16px !important;
    }

    body.home-premium-v2 .navbar .desktop-main-menu a{
        padding-left:8px !important;
        padding-right:8px !important;
        font-size:11px !important;
    }

    body.home-premium-v2 .navbar .user-btn,
    body.home-premium-v2 .navbar .login-btn{
        min-width:124px !important;
    }

    body.home-premium-v2 .navbar #openDevisModal{
        min-width:150px !important;
        padding-left:13px !important;
        padding-right:13px !important;
    }
}

@media(max-width:1240px) and (min-width:1081px){
    body.home-premium-v2 .navbar .premium-brand-copy{
        display:none !important;
    }

    body.home-premium-v2 .navbar .premium-brand-link{
        min-width:auto !important;
    }

    body.home-premium-v2 .navbar .desktop-main-menu a:nth-last-child(-n+2){
        display:none !important;
    }

    body.home-premium-v2 .navbar .premium-more-menu{
        display:block !important;
    }
}

@media(max-width:1080px){
    body.home-premium-v2 .premium-topbar{
        display:none !important;
    }

    body.home-premium-v2 .navbar{
        top:18px !important;
        left:14px !important;
        right:14px !important;

        width:auto !important;
        height:82px !important;

        padding:0 16px !important;

        border:1px solid rgba(255,255,255,.88) !important;
        border-radius:22px !important;

        background:rgba(255,255,255,.97) !important;

        transform:none !important;
    }

    body.home-premium-v2 .navbar .desktop-main-menu,
    body.home-premium-v2 .navbar .premium-more-menu,
    body.home-premium-v2 .navbar .nav-right,
    body.home-premium-v2 .navbar .nav-center{
        display:none !important;
    }

    body.home-premium-v2 .navbar .mobile-menu-btn{
        display:inline-flex !important;
        margin-left:auto !important;
    }

    body.home-premium-v2 .navbar .premium-brand-copy{
        display:flex !important;
    }
}

@media(max-width:720px){
    body.home-premium-v2 .navbar{
        height:72px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:52px !important;
        max-width:52px !important;
        height:52px !important;
    }

    body.home-premium-v2 .navbar .premium-brand-copy strong{
        font-size:14px !important;
    }

    body.home-premium-v2 .navbar .premium-brand-copy small{
        font-size:7px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — NAVBAR LOGO ÉPURÉ V5
   Texte et slogan retirés, logo agrandi, lien À propos supprimé.
   ====================================================================== */

body.home-premium-v2 .navbar .premium-brand-link{
    min-width:112px !important;
    gap:0 !important;
}

body.home-premium-v2 .navbar .logo img{
    width:88px !important;
    max-width:88px !important;
    height:88px !important;
    object-fit:contain !important;
}

body.home-premium-v2 .navbar .premium-brand-copy{
    display:none !important;
}

body.home-premium-v2 .navbar .nav-center{
    margin-left:12px !important;
    margin-right:18px !important;
}

/* La suppression du lien À propos libère de l'espace pour le menu. */
body.home-premium-v2 .navbar .desktop-main-menu a{
    padding-left:12px !important;
    padding-right:12px !important;
}

@media(max-width:1360px) and (min-width:1241px){
    body.home-premium-v2 .navbar .premium-brand-link{
        min-width:102px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:80px !important;
        max-width:80px !important;
        height:80px !important;
    }

    body.home-premium-v2 .navbar .desktop-main-menu a{
        padding-left:9px !important;
        padding-right:9px !important;
    }
}

@media(max-width:1240px) and (min-width:1081px){
    body.home-premium-v2 .navbar .premium-brand-link{
        min-width:92px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:74px !important;
        max-width:74px !important;
        height:74px !important;
    }

    /*
    | Le menu n'a plus besoin de masquer Contact puisque À propos a été retiré.
    */
    body.home-premium-v2 .navbar .desktop-main-menu a:nth-last-child(-n+2){
        display:inline-flex !important;
    }
}

@media(max-width:1080px){
    body.home-premium-v2 .navbar .premium-brand-link{
        min-width:auto !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:66px !important;
        max-width:66px !important;
        height:66px !important;
    }

    body.home-premium-v2 .navbar .premium-brand-copy{
        display:none !important;
    }
}

@media(max-width:720px){
    body.home-premium-v2 .navbar .logo img{
        width:58px !important;
        max-width:58px !important;
        height:58px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — TOPBAR BLEUE + MA RÉSERVATION V6
   Inspirée de la deuxième image validée.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Barre bleue principale
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .premium-topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:1600 !important;

    width:100% !important;
    min-height:54px !important;

    margin:0 !important;
    padding:0 !important;

    display:block !important;

    border:0 !important;
    border-bottom:2px solid rgba(255,255,255,.22) !important;

    background:#0759c7 !important;
    color:#ffffff !important;

    box-shadow:
        0 8px 22px rgba(7,58,139,.20) !important;

    transform:none !important;
}

body.home-premium-v2 .premium-topbar-inner{
    width:min(1510px,calc(100% - 72px)) !important;
    min-height:54px !important;

    margin:0 auto !important;

    display:flex !important;
    align-items:stretch !important;
    justify-content:space-between !important;
    gap:22px !important;
}

/*
|--------------------------------------------------------------------------
| Bouton orange "MA RÉSERVATION"
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .premium-reservation-link{
    flex:0 0 auto !important;

    min-width:188px !important;
    min-height:54px !important;

    margin:0 !important;
    padding:0 19px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:11px !important;

    border:0 !important;
    border-radius:0 !important;

    background:
        linear-gradient(
            180deg,
            #ff9800 0%,
            #f58400 100%
        ) !important;

    color:#ffffff !important;

    box-shadow:
        inset 0 -3px 0 rgba(169,76,0,.20) !important;

    font-family:inherit !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.2px !important;
    text-decoration:none !important;
    white-space:nowrap !important;

    transition:
        filter .2s ease,
        background .2s ease !important;
}

body.home-premium-v2 .premium-reservation-link i{
    color:#ffffff !important;
    font-size:14px !important;
    transform:rotate(-8deg) !important;
}

body.home-premium-v2 .premium-reservation-link:hover{
    filter:brightness(1.06) !important;
    background:
        linear-gradient(
            180deg,
            #ffa817 0%,
            #f58a00 100%
        ) !important;
}

/*
|--------------------------------------------------------------------------
| Groupe coordonnées à droite
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .premium-topbar-contact-group{
    min-height:54px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:18px !important;
}

body.home-premium-v2 .premium-contact-link{
    color:#ffffff !important;
}

body.home-premium-v2 .premium-contact-link i{
    color:#ffbd27 !important;
}

body.home-premium-v2 .premium-contact-link:hover{
    color:#fff1c6 !important;
}

body.home-premium-v2 .premium-topbar-separator{
    background:rgba(255,255,255,.34) !important;
}

body.home-premium-v2 .premium-topbar-language .lang-selected{
    color:#ffffff !important;
}

body.home-premium-v2 .premium-topbar-language .lang-selected:hover{
    background:rgba(255,255,255,.12) !important;
}

body.home-premium-v2 .premium-theme-toggle{
    border-color:rgba(255,255,255,.16) !important;
    background:rgba(0,28,91,.24) !important;
    color:#ffd05a !important;
}

/*
|--------------------------------------------------------------------------
| Responsive intermédiaire
|--------------------------------------------------------------------------
*/

@media(max-width:1180px) and (min-width:1081px){
    body.home-premium-v2 .premium-topbar-inner{
        width:calc(100% - 38px) !important;
        gap:14px !important;
    }

    body.home-premium-v2 .premium-reservation-link{
        min-width:165px !important;
        padding-left:15px !important;
        padding-right:15px !important;
        font-size:12px !important;
    }

    body.home-premium-v2 .premium-topbar-contact-group{
        gap:12px !important;
    }

    body.home-premium-v2 .premium-contact-link{
        font-size:12px !important;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile : la barre reste masquée comme dans la version précédente
|--------------------------------------------------------------------------
*/

@media(max-width:1080px){
    body.home-premium-v2 .premium-topbar{
        display:none !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — APPARENCE BLEU SOMBRE V7
   Au clic sur le bouton lune, la navbar blanche devient bleu sombre.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Navbar sombre
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar,
body.home-premium-v2.home-nav-night .navbar:hover{
    border-bottom-color:rgba(255,255,255,.10) !important;

    background:
        linear-gradient(
            90deg,
            #03162f 0%,
            #082b5b 52%,
            #041b39 100%
        ) !important;

    color:#ffffff !important;

    box-shadow:
        0 14px 34px rgba(2,18,43,.28) !important;

    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
}

/*
|--------------------------------------------------------------------------
| Liens et icônes
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a,
body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a > i,
body.home-premium-v2.home-nav-night .navbar .notif-btn,
body.home-premium-v2.home-nav-night .navbar .user-btn,
body.home-premium-v2.home-nav-night .navbar .login-btn,
body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn{
    color:#ffffff !important;
}

body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a:hover,
body.home-premium-v2.home-nav-night .navbar .notif-btn:hover,
body.home-premium-v2.home-nav-night .navbar .user-btn:hover,
body.home-premium-v2.home-nav-night .navbar .login-btn:hover,
body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn:hover{
    background:rgba(255,255,255,.10) !important;
    color:#ffd06a !important;
}

body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a:hover > i{
    color:#ffd06a !important;
}

/*
|--------------------------------------------------------------------------
| Bouton Plus
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar .search-toggle{
    border-color:rgba(255,255,255,.16) !important;
    background:rgba(255,255,255,.08) !important;
    color:#ffffff !important;
}

body.home-premium-v2.home-nav-night .navbar .search-toggle:hover{
    background:rgba(255,255,255,.14) !important;
    color:#ffd06a !important;
}

/*
|--------------------------------------------------------------------------
| Menus déroulants
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar .dropdown-menu,
body.home-premium-v2.home-nav-night .navbar .notif-menu,
body.home-premium-v2.home-nav-night .navbar .user-menu-dropdown{
    border-color:rgba(255,255,255,.10) !important;

    background:
        linear-gradient(
            180deg,
            #082b5b 0%,
            #031a39 100%
        ) !important;

    color:#ffffff !important;

    box-shadow:
        0 24px 50px rgba(2,18,43,.34) !important;
}

body.home-premium-v2.home-nav-night .navbar .dropdown-menu a,
body.home-premium-v2.home-nav-night .navbar .user-menu-dropdown a,
body.home-premium-v2.home-nav-night .navbar .notif-title,
body.home-premium-v2.home-nav-night .navbar .notif-empty,
body.home-premium-v2.home-nav-night .navbar .notif-item,
body.home-premium-v2.home-nav-night .navbar .notif-item strong,
body.home-premium-v2.home-nav-night .navbar .notif-item p,
body.home-premium-v2.home-nav-night .navbar .notif-item small{
    color:#ffffff !important;
}

body.home-premium-v2.home-nav-night .navbar .dropdown-menu a:hover,
body.home-premium-v2.home-nav-night .navbar .user-menu-dropdown a:hover{
    background:rgba(255,255,255,.10) !important;
    color:#ffd06a !important;
}

body.home-premium-v2.home-nav-night .navbar .notif-item{
    border-bottom-color:rgba(255,255,255,.10) !important;
}

body.home-premium-v2.home-nav-night .navbar .notif-item.unread{
    background:rgba(255,191,0,.10) !important;
}

body.home-premium-v2.home-nav-night .navbar .user-menu-dropdown hr{
    border-color:rgba(255,255,255,.12) !important;
}

/*
|--------------------------------------------------------------------------
| Bouton devis conservé en doré
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar #openDevisModal{
    background:
        linear-gradient(
            135deg,
            #f4b53f 0%,
            #df9513 100%
        ) !important;

    color:#071f43 !important;
}

/*
|--------------------------------------------------------------------------
| Logo
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar .logo img{
    filter:
        drop-shadow(0 6px 12px rgba(0,0,0,.18))
        brightness(1.05) !important;
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:1080px){
    body.home-premium-v2.home-nav-night .navbar{
        border-color:rgba(255,255,255,.12) !important;

        background:
            linear-gradient(
                135deg,
                rgba(3,22,47,.98),
                rgba(8,43,91,.98)
            ) !important;
    }

    body.home-premium-v2.home-nav-night .mobile-menu{
        border-color:rgba(255,255,255,.10) !important;

        background:
            linear-gradient(
                180deg,
                #082b5b,
                #031a39
            ) !important;
    }

    body.home-premium-v2.home-nav-night .mobile-menu a,
    body.home-premium-v2.home-nav-night .mobile-menu button,
    body.home-premium-v2.home-nav-night .mobile-menu i{
        color:#ffffff !important;
    }

    body.home-premium-v2.home-nav-night .mobile-menu a:hover,
    body.home-premium-v2.home-nav-night .mobile-menu button:hover{
        background:rgba(255,255,255,.10) !important;
        color:#ffd06a !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — APPARENCE BLEU CLAIR V8
   Au clic sur « Changer l’apparence », la navbar devient bleu clair.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Navbar principale bleu clair
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar,
body.home-premium-v2.home-nav-night .navbar:hover{
    border-bottom:1px solid rgba(33,96,155,.20) !important;

    background:
        linear-gradient(
            90deg,
            #dff1ff 0%,
            #b8ddfb 48%,
            #8fc8f6 100%
        ) !important;

    color:#061b3a !important;

    box-shadow:
        0 14px 34px rgba(20,83,139,.20) !important;

    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
}

/*
|--------------------------------------------------------------------------
| Liens, boutons et icônes en bleu nuit
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a,
body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a > i,
body.home-premium-v2.home-nav-night .navbar .notif-btn,
body.home-premium-v2.home-nav-night .navbar .user-btn,
body.home-premium-v2.home-nav-night .navbar .login-btn,
body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn,
body.home-premium-v2.home-nav-night .navbar .search-toggle{
    color:#061b3a !important;
}

body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a:hover,
body.home-premium-v2.home-nav-night .navbar .notif-btn:hover,
body.home-premium-v2.home-nav-night .navbar .user-btn:hover,
body.home-premium-v2.home-nav-night .navbar .login-btn:hover,
body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn:hover,
body.home-premium-v2.home-nav-night .navbar .search-toggle:hover{
    background:rgba(255,255,255,.58) !important;
    color:#0b5fc7 !important;
}

body.home-premium-v2.home-nav-night .navbar .desktop-main-menu a:hover > i{
    color:#0b5fc7 !important;
}

body.home-premium-v2.home-nav-night .navbar .search-toggle{
    border-color:rgba(6,27,58,.14) !important;
    background:rgba(255,255,255,.34) !important;
}

/*
|--------------------------------------------------------------------------
| Menus déroulants en bleu très clair
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar .dropdown-menu,
body.home-premium-v2.home-nav-night .navbar .notif-menu,
body.home-premium-v2.home-nav-night .navbar .user-menu-dropdown{
    border:1px solid rgba(33,96,155,.20) !important;

    background:
        linear-gradient(
            180deg,
            #f7fcff 0%,
            #dff1ff 100%
        ) !important;

    color:#061b3a !important;

    box-shadow:
        0 24px 50px rgba(20,83,139,.22) !important;
}

body.home-premium-v2.home-nav-night .navbar .dropdown-menu a,
body.home-premium-v2.home-nav-night .navbar .user-menu-dropdown a,
body.home-premium-v2.home-nav-night .navbar .notif-title,
body.home-premium-v2.home-nav-night .navbar .notif-empty,
body.home-premium-v2.home-nav-night .navbar .notif-item,
body.home-premium-v2.home-nav-night .navbar .notif-item strong,
body.home-premium-v2.home-nav-night .navbar .notif-item p,
body.home-premium-v2.home-nav-night .navbar .notif-item small{
    color:#061b3a !important;
}

body.home-premium-v2.home-nav-night .navbar .dropdown-menu a:hover,
body.home-premium-v2.home-nav-night .navbar .user-menu-dropdown a:hover{
    background:rgba(255,255,255,.68) !important;
    color:#0b5fc7 !important;
}

body.home-premium-v2.home-nav-night .navbar .notif-item{
    border-bottom-color:rgba(33,96,155,.16) !important;
}

body.home-premium-v2.home-nav-night .navbar .notif-item.unread{
    background:rgba(255,187,0,.12) !important;
}

body.home-premium-v2.home-nav-night .navbar .user-menu-dropdown hr{
    border-color:rgba(33,96,155,.18) !important;
}

/*
|--------------------------------------------------------------------------
| Bouton devis doré conservé
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar #openDevisModal{
    background:
        linear-gradient(
            135deg,
            #f4b53f 0%,
            #df9513 100%
        ) !important;

    color:#061b3a !important;

    box-shadow:
        0 11px 25px rgba(181,112,4,.24) !important;
}

/*
|--------------------------------------------------------------------------
| Logo plus net sur le fond bleu clair
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar .logo img{
    filter:
        drop-shadow(0 7px 13px rgba(20,83,139,.18))
        brightness(1.03) !important;
}

/*
|--------------------------------------------------------------------------
| Version mobile bleu clair
|--------------------------------------------------------------------------
*/

@media(max-width:1080px){
    body.home-premium-v2.home-nav-night .navbar{
        border:1px solid rgba(33,96,155,.20) !important;

        background:
            linear-gradient(
                135deg,
                rgba(223,241,255,.98),
                rgba(143,200,246,.98)
            ) !important;
    }

    body.home-premium-v2.home-nav-night .mobile-menu{
        border:1px solid rgba(33,96,155,.20) !important;

        background:
            linear-gradient(
                180deg,
                #f7fcff 0%,
                #dff1ff 100%
            ) !important;
    }

    body.home-premium-v2.home-nav-night .mobile-menu a,
    body.home-premium-v2.home-nav-night .mobile-menu button,
    body.home-premium-v2.home-nav-night .mobile-menu i{
        color:#061b3a !important;
    }

    body.home-premium-v2.home-nav-night .mobile-menu a:hover,
    body.home-premium-v2.home-nav-night .mobile-menu button:hover{
        background:rgba(255,255,255,.62) !important;
        color:#0b5fc7 !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — NAVBAR BLANC DENSE V9
   Blanc cassé plus soutenu et hauteur légèrement réduite.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Apparence normale de la navbar
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .navbar,
body.home-premium-v2 .navbar:hover{
    height:94px !important;

    border-bottom:1px solid #cfd6df !important;

    background:
        linear-gradient(
            180deg,
            #f4f5f7 0%,
            #e7eaee 100%
        ) !important;

    color:#061b3a !important;

    box-shadow:
        0 10px 27px rgba(6,27,58,.15) !important;

    backdrop-filter:blur(16px) !important;
    -webkit-backdrop-filter:blur(16px) !important;
}

/*
|--------------------------------------------------------------------------
| Logo légèrement adapté à la nouvelle hauteur
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .navbar .logo img{
    width:78px !important;
    max-width:78px !important;
    height:78px !important;
}

body.home-premium-v2 .navbar .premium-brand-link{
    min-width:100px !important;
}

/*
|--------------------------------------------------------------------------
| Menu plus compact sans perdre la lisibilité
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .navbar .desktop-main-menu a{
    min-height:44px !important;

    padding-left:11px !important;
    padding-right:11px !important;

    color:#061b3a !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a > i{
    color:#061b3a !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a:hover{
    background:rgba(255,255,255,.70) !important;
    color:#0b5fc7 !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a:hover > i{
    color:#0b5fc7 !important;
}

/*
|--------------------------------------------------------------------------
| Boutons à droite légèrement réduits
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .navbar .notif-btn{
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
}

body.home-premium-v2 .navbar .user-btn,
body.home-premium-v2 .navbar .login-btn{
    height:44px !important;
}

body.home-premium-v2 .navbar #openDevisModal{
    height:48px !important;
    min-width:160px !important;
}

/*
|--------------------------------------------------------------------------
| Le mode bleu clair au clic reste prioritaire
|--------------------------------------------------------------------------
*/

body.home-premium-v2.home-nav-night .navbar,
body.home-premium-v2.home-nav-night .navbar:hover{
    height:94px !important;
}

/*
|--------------------------------------------------------------------------
| Responsive
|--------------------------------------------------------------------------
*/

@media(max-width:1360px) and (min-width:1241px){
    body.home-premium-v2 .navbar{
        height:90px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:74px !important;
        max-width:74px !important;
        height:74px !important;
    }

    body.home-premium-v2.home-nav-night .navbar{
        height:90px !important;
    }
}

@media(max-width:1240px) and (min-width:1081px){
    body.home-premium-v2 .navbar{
        height:88px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:70px !important;
        max-width:70px !important;
        height:70px !important;
    }

    body.home-premium-v2.home-nav-night .navbar{
        height:88px !important;
    }
}

@media(max-width:1080px){
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        height:76px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:60px !important;
        max-width:60px !important;
        height:60px !important;
    }
}

@media(max-width:720px){
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        height:68px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:54px !important;
        max-width:54px !important;
        height:54px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — NAVBAR BLANC NEIGE V10
   Blanc neige très pur + légère réduction de hauteur.
   ====================================================================== */

body.home-premium-v2 .navbar,
body.home-premium-v2 .navbar:hover{
    height:90px !important;

    border-bottom:1px solid #edf2f7 !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fcfdff 100%
        ) !important;

    color:#061b3a !important;

    box-shadow:
        0 10px 24px rgba(6,27,58,.10) !important;

    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
}

body.home-premium-v2 .navbar .logo img{
    width:74px !important;
    max-width:74px !important;
    height:74px !important;
}

body.home-premium-v2 .navbar .premium-brand-link{
    min-width:100px !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a{
    min-height:42px !important;
    padding-left:11px !important;
    padding-right:11px !important;
    color:#061b3a !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a > i{
    color:#061b3a !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a:hover{
    background:#f4f8ff !important;
    color:#0b5fc7 !important;
}

body.home-premium-v2 .navbar .desktop-main-menu a:hover > i{
    color:#0b5fc7 !important;
}

body.home-premium-v2 .navbar .notif-btn{
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
}

body.home-premium-v2 .navbar .user-btn,
body.home-premium-v2 .navbar .login-btn{
    height:42px !important;
}

body.home-premium-v2 .navbar #openDevisModal{
    height:46px !important;
    min-width:160px !important;
}

body.home-premium-v2.home-nav-night .navbar,
body.home-premium-v2.home-nav-night .navbar:hover{
    height:90px !important;
}

@media(max-width:1360px) and (min-width:1241px){
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        height:88px !important;
    }
}

@media(max-width:1240px) and (min-width:1081px){
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        height:86px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:70px !important;
        max-width:70px !important;
        height:70px !important;
    }
}

@media(max-width:1080px){
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        height:76px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:60px !important;
        max-width:60px !important;
        height:60px !important;
    }
}

@media(max-width:720px){
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        height:68px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:54px !important;
        max-width:54px !important;
        height:54px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — CARTE PROMOTIONNELLE RÉDUITE ET DÉCALÉE À GAUCHE V14
   ====================================================================== */

/* La colonne de la carte devient plus compacte. */
body.home-premium-v2 .hero-content{
    grid-template-columns:minmax(0,1fr) 290px !important;
    gap:28px !important;
}

/* Carte légèrement plus petite et déplacée vers la gauche. */
body.home-premium-v2 .promo-card{
    width:290px !important;
    height:350px !important;
    margin-top:0 !important;
    padding:25px 23px 72px !important;
    border-radius:27px !important;
    justify-self:start !important;
    transform:translateX(-72px) !important;
    box-shadow:0 24px 60px rgba(6,27,58,.18) !important;
}

body.home-premium-v2 .promo-card-icon{
    width:46px !important;
    height:46px !important;
    margin:0 auto !important;
    font-size:19px !important;
}

body.home-premium-v2 .promo-card .promo-slides{
    height:100% !important;
}

body.home-premium-v2 .promo-card .promo-slide{
    inset:15px 0 auto !important;
    text-align:center !important;
}

body.home-premium-v2 .promo-card .promo-eyebrow{
    margin-bottom:8px !important;
    font-size:10px !important;
    letter-spacing:1px !important;
}

body.home-premium-v2 .promo-card .promo-slide h3{
    max-width:240px !important;
    margin:0 auto 8px !important;
    font-size:21px !important;
    line-height:1.18 !important;
}

body.home-premium-v2 .promo-card .promo-slide p{
    max-width:240px !important;
    margin:0 auto 5px !important;
    font-size:12px !important;
    line-height:1.45 !important;
}

body.home-premium-v2 .promo-card .promo-slide small{
    max-width:240px !important;
    margin:0 auto !important;
    font-size:10.5px !important;
    line-height:1.38 !important;
}

body.home-premium-v2 .promo-card .promo-price-label{
    margin-top:11px !important;
    font-size:11px !important;
}

body.home-premium-v2 .promo-card .promo-slide h2{
    max-width:240px !important;
    margin:4px auto 0 !important;
    font-size:27px !important;
    line-height:1.06 !important;
}

body.home-premium-v2 .promo-card .promo-cta-row{
    right:18px !important;
    bottom:17px !important;
    width:44px !important;
    height:44px !important;
}

body.home-premium-v2 .promo-card .promo-arrow-btn{
    flex-basis:44px !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
}

/* Les indicateurs déjà générés par le carousel restent bien placés. */
body.home-premium-v2 .promo-card .promo-dots,
body.home-premium-v2 .promo-card .hero-promo-dots{
    left:22px !important;
    bottom:28px !important;
}

@media(max-width:1420px) and (min-width:1241px){
    body.home-premium-v2 .hero-content{
        grid-template-columns:minmax(0,1fr) 290px !important;
        gap:24px !important;
    }

    body.home-premium-v2 .promo-card{
        transform:translateX(-46px) !important;
    }
}

@media(max-width:1240px) and (min-width:1081px){
    body.home-premium-v2 .hero-content{
        grid-template-columns:minmax(0,1fr) 280px !important;
        gap:22px !important;
    }

    body.home-premium-v2 .promo-card{
        width:280px !important;
        height:342px !important;
        transform:translateX(-18px) !important;
    }
}

@media(max-width:1080px){
    body.home-premium-v2 .hero-content{
        grid-template-columns:1fr !important;
    }

    body.home-premium-v2 .promo-card{
        width:min(100%,430px) !important;
        height:338px !important;
        justify-self:start !important;
        transform:none !important;
    }
}

@media(max-width:720px){
    body.home-premium-v2 .promo-card{
        width:100% !important;
        height:330px !important;
        padding:23px 20px 68px !important;
        border-radius:23px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h3{
        font-size:20px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h2{
        font-size:25px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — TYPOGRAPHIE ET COULEURS CARTE PROMO V16
   L'arrière-plan, la transparence, la taille et la position V14 sont intacts.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Police moderne appliquée uniquement à la carte promotionnelle
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card,
body.home-premium-v2 .promo-card *{
    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;
}

/*
|--------------------------------------------------------------------------
| Label supérieur
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-eyebrow{
    color:#075ee8 !important;

    font-size:10px !important;
    font-weight:950 !important;
    line-height:1.2 !important;
    letter-spacing:1.25px !important;

    text-shadow:
        0 1px 5px rgba(255,255,255,.66) !important;
}

/*
|--------------------------------------------------------------------------
| Titre de l'offre
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-slide h3{
    color:#071f43 !important;

    font-size:21px !important;
    font-weight:950 !important;
    line-height:1.18 !important;
    letter-spacing:-.28px !important;

    text-shadow:
        0 1px 4px rgba(255,255,255,.64) !important;
}

/*
|--------------------------------------------------------------------------
| Sous-titre
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-slide p{
    color:#244a78 !important;

    font-size:12px !important;
    font-weight:850 !important;
    line-height:1.43 !important;
    letter-spacing:0 !important;

    text-shadow:
        0 1px 4px rgba(255,255,255,.58) !important;
}

/*
|--------------------------------------------------------------------------
| Description
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-slide small{
    color:#3c5d82 !important;

    font-size:10.5px !important;
    font-weight:700 !important;
    line-height:1.42 !important;
    letter-spacing:.02px !important;

    text-shadow:
        0 1px 4px rgba(255,255,255,.52) !important;
}

/*
|--------------------------------------------------------------------------
| Libellé du prix
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-price-label{
    color:#526b8a !important;

    font-size:11px !important;
    font-weight:850 !important;
    line-height:1.2 !important;

    text-shadow:
        0 1px 4px rgba(255,255,255,.58) !important;
}

/*
|--------------------------------------------------------------------------
| Prix jaune clair, lisible sur l'arrière-plan existant
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-slide h2{
    color:#ffe16a !important;

    font-size:27px !important;
    font-weight:1000 !important;
    line-height:1.04 !important;
    letter-spacing:.1px !important;

    -webkit-text-stroke:
        .25px rgba(7,31,67,.28) !important;

    text-shadow:
        0 2px 7px rgba(7,31,67,.38),
        0 1px 2px rgba(7,31,67,.32) !important;
}

/*
|--------------------------------------------------------------------------
| Icône et flèche : couleurs uniquement
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card-icon{
    color:#f4ad00 !important;
}

body.home-premium-v2 .promo-card-icon i{
    color:#f4ad00 !important;
}

body.home-premium-v2 .promo-card .promo-arrow-btn{
    color:#075ee8 !important;
}

body.home-premium-v2 .promo-card .promo-arrow-btn i{
    color:inherit !important;
}

/*
|--------------------------------------------------------------------------
| Points du carousel
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-dot,
body.home-premium-v2 .promo-card .hero-promo-dot,
body.home-premium-v2 .promo-card .carousel-dot,
body.home-premium-v2 .promo-card .promo-indicator{
    background:rgba(7,31,67,.28) !important;
}

body.home-premium-v2 .promo-card .promo-dot.active,
body.home-premium-v2 .promo-card .hero-promo-dot.active,
body.home-premium-v2 .promo-card .carousel-dot.active,
body.home-premium-v2 .promo-card .promo-indicator.active{
    background:#075ee8 !important;
}

/*
|--------------------------------------------------------------------------
| Mobile : mêmes choix typographiques, tailles V14 conservées
|--------------------------------------------------------------------------
*/

@media(max-width:720px){
    body.home-premium-v2 .promo-card .promo-slide h3{
        font-size:20px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h2{
        font-size:25px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — CAROUSEL D’ARRIÈRE-PLAN HERO V17
   Le contenu, la carte promo et le moteur de recherche restent fixes.
   ====================================================================== */

body.home-premium-v2 .premium-home-hero{
    position:relative !important;
    background:transparent !important;
}

/*
|--------------------------------------------------------------------------
| Conteneur de toutes les images
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .hero-background-carousel{
    position:absolute;
    inset:0;
    z-index:-5;

    overflow:hidden;

    background:#dcefff;

    pointer-events:none;
}

/*
|--------------------------------------------------------------------------
| Chaque grande image du hero
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .hero-background-slide{
    position:absolute;
    inset:-2%;

    opacity:0;
    visibility:hidden;

    background-image:
        var(--hero-background-image);
    background-position:
        var(
            --hero-background-position,
            center 48%
        );
    background-size:cover;
    background-repeat:no-repeat;

    transform:scale(1.035);

    transition:
        opacity 1.15s ease,
        visibility 1.15s ease,
        transform 7s ease;

    will-change:
        opacity,
        transform;
}

body.home-premium-v2 .hero-background-slide.active{
    opacity:1;
    visibility:visible;
    transform:scale(1.085);
}

/*
|--------------------------------------------------------------------------
| Dégradé permanent pour garder le titre parfaitement lisible
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .hero-background-shade{
    position:absolute;
    inset:0;
    z-index:4;

    background:
        linear-gradient(
            90deg,
            rgba(245,250,255,.98) 0%,
            rgba(245,250,255,.90) 29%,
            rgba(245,250,255,.54) 48%,
            rgba(245,250,255,.14) 68%,
            rgba(1,52,102,.06) 100%
        );

    pointer-events:none;
}

/*
|--------------------------------------------------------------------------
| Flèches discrètes
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .hero-background-control{
    position:absolute;
    top:58%;
    z-index:95;

    width:44px;
    height:44px;

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

    margin:0;
    padding:0;

    border:1px solid rgba(7,31,67,.10);
    border-radius:50%;

    background:rgba(255,255,255,.86);
    color:#075ee8;

    box-shadow:
        0 12px 28px rgba(7,31,67,.14);

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    cursor:pointer;

    transform:translateY(-50%);

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease,
        box-shadow .2s ease;
}

body.home-premium-v2 .hero-background-prev{
    left:20px;
}

body.home-premium-v2 .hero-background-next{
    right:20px;
}

body.home-premium-v2 .hero-background-control:hover{
    background:#075ee8;
    color:#ffffff;

    box-shadow:
        0 16px 34px rgba(7,94,232,.22);
}

body.home-premium-v2 .hero-background-prev:hover{
    transform:
        translateY(-50%)
        translateX(-2px);
}

body.home-premium-v2 .hero-background-next:hover{
    transform:
        translateY(-50%)
        translateX(2px);
}

body.home-premium-v2 .hero-background-control:focus-visible{
    outline:3px solid rgba(255,191,0,.70);
    outline-offset:3px;
}

/*
|--------------------------------------------------------------------------
| Indicateurs du carousel
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .hero-background-dots{
    position:absolute;
    left:50%;
    bottom:118px;
    z-index:96;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    transform:translateX(-50%);
}

body.home-premium-v2 .hero-background-dot{
    width:9px;
    height:9px;

    margin:0;
    padding:0;

    border:0;
    border-radius:999px;

    background:rgba(7,31,67,.28);

    box-shadow:
        0 1px 3px rgba(255,255,255,.50);

    cursor:pointer;

    transition:
        width .25s ease,
        background .25s ease,
        transform .25s ease;
}

body.home-premium-v2 .hero-background-dot:hover{
    transform:scale(1.15);
    background:rgba(7,94,232,.58);
}

body.home-premium-v2 .hero-background-dot.active{
    width:28px;
    background:#075ee8;
}

/*
|--------------------------------------------------------------------------
| Tablette
|--------------------------------------------------------------------------
*/

@media(max-width:1240px){
    body.home-premium-v2 .hero-background-control{
        width:40px;
        height:40px;
    }

    body.home-premium-v2 .hero-background-prev{
        left:12px;
    }

    body.home-premium-v2 .hero-background-next{
        right:12px;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:1080px){
    body.home-premium-v2 .hero-background-slide{
        background-position:
            var(
                --hero-mobile-position,
                center center
            );
    }

    body.home-premium-v2 .hero-background-shade{
        background:
            linear-gradient(
                180deg,
                rgba(245,250,255,.93) 0%,
                rgba(245,250,255,.72) 44%,
                rgba(245,250,255,.22) 100%
            );
    }

    body.home-premium-v2 .hero-background-control{
        top:46%;
        width:38px;
        height:38px;
    }

    body.home-premium-v2 .hero-background-dots{
        bottom:24px;
    }
}

@media(max-width:640px){
    body.home-premium-v2 .hero-background-control{
        width:36px;
        height:36px;

        font-size:12px;
    }

    body.home-premium-v2 .hero-background-prev{
        left:8px;
    }

    body.home-premium-v2 .hero-background-next{
        right:8px;
    }

    body.home-premium-v2 .hero-background-dot{
        width:8px;
        height:8px;
    }

    body.home-premium-v2 .hero-background-dot.active{
        width:24px;
    }
}

/*
|--------------------------------------------------------------------------
| Accessibilité : pas de zoom automatique si les animations sont réduites
|--------------------------------------------------------------------------
*/

@media(prefers-reduced-motion:reduce){
    body.home-premium-v2 .hero-background-slide{
        transform:none !important;
        transition:
            opacity .25s linear,
            visibility .25s linear !important;
    }

    body.home-premium-v2 .hero-background-slide.active{
        transform:none !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — COULEURS PUBLICITÉ SELON LA RÉFÉRENCE V20
   Le fond, la transparence, la taille et la position restent inchangés.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Police de la publicité uniquement
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card,
body.home-premium-v2 .promo-card *{
    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;
}

/*
|--------------------------------------------------------------------------
| Offre du moment — doré/orange comme la référence
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-eyebrow{
    color:#ffb62e !important;

    font-weight:950 !important;
    letter-spacing:1.45px !important;

    text-shadow:
        0 2px 7px rgba(7,31,67,.52),
        0 1px 1px rgba(255,255,255,.10) !important;
}

/*
|--------------------------------------------------------------------------
| Titre principal — blanc très net
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-slide h3{
    color:#ffffff !important;

    font-weight:1000 !important;
    letter-spacing:-.35px !important;

    text-shadow:
        0 3px 9px rgba(7,31,67,.72),
        0 1px 2px rgba(7,31,67,.55) !important;
}

/*
|--------------------------------------------------------------------------
| Sous-titre — blanc soutenu
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-slide p{
    color:#ffffff !important;

    font-weight:900 !important;

    text-shadow:
        0 2px 7px rgba(7,31,67,.68),
        0 1px 2px rgba(7,31,67,.48) !important;
}

/*
|--------------------------------------------------------------------------
| Description — blanc légèrement adouci
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-slide small{
    color:#f1f5fb !important;

    font-weight:750 !important;

    text-shadow:
        0 2px 7px rgba(7,31,67,.68),
        0 1px 2px rgba(7,31,67,.44) !important;
}

/*
|--------------------------------------------------------------------------
| À partir de — blanc
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-price-label{
    color:#ffffff !important;

    font-weight:900 !important;

    text-shadow:
        0 2px 7px rgba(7,31,67,.68),
        0 1px 2px rgba(7,31,67,.45) !important;
}

/*
|--------------------------------------------------------------------------
| Prix — jaune doré clair comme sur la référence
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-slide h2{
    color:#ffdc57 !important;

    font-weight:1000 !important;
    letter-spacing:.15px !important;

    -webkit-text-stroke:
        .22px rgba(98,57,0,.30) !important;

    text-shadow:
        0 4px 10px rgba(7,31,67,.72),
        0 2px 3px rgba(98,57,0,.42),
        0 0 18px rgba(255,220,87,.10) !important;
}

/*
|--------------------------------------------------------------------------
| Icône de l'avion — doré
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card-icon,
body.home-premium-v2 .promo-card-icon i{
    color:#f5ad17 !important;
}

/*
|--------------------------------------------------------------------------
| Flèche — bleu vif sur fond blanc existant
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-arrow-btn,
body.home-premium-v2 .promo-card .promo-arrow-btn i{
    color:#0867ef !important;
}

/*
|--------------------------------------------------------------------------
| Points du carousel
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .promo-card .promo-dot,
body.home-premium-v2 .promo-card .hero-promo-dot,
body.home-premium-v2 .promo-card .carousel-dot,
body.home-premium-v2 .promo-card .promo-indicator{
    background:rgba(255,255,255,.42) !important;
}

body.home-premium-v2 .promo-card .promo-dot.active,
body.home-premium-v2 .promo-card .hero-promo-dot.active,
body.home-premium-v2 .promo-card .carousel-dot.active,
body.home-premium-v2 .promo-card .promo-indicator.active{
    background:#ffdc57 !important;
}

/* ======================================================================
   ASSALAS TOURS — HERO PLUS NET V21
   Réduction légère du voile blanc pour mieux voir les images du carousel.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Voile horizontal : rendu moins blanc et image plus visible
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .hero-background-shade{
    background:
        linear-gradient(
            90deg,
            rgba(245,250,255,.93) 0%,
            rgba(245,250,255,.80) 29%,
            rgba(245,250,255,.42) 48%,
            rgba(245,250,255,.10) 68%,
            rgba(1,52,102,.03) 100%
        ) !important;
}

/*
|--------------------------------------------------------------------------
| Lumière supérieure : légèrement diminuée
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .premium-home-hero::before{
    background:
        radial-gradient(
            circle at 15% 6%,
            rgba(255,255,255,.70),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            rgba(211,235,255,.22),
            rgba(255,255,255,0) 45%
        ) !important;
}

/*
|--------------------------------------------------------------------------
| Fondu inférieur plus discret
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .premium-home-hero::after{
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(238,247,255,.08)
        ) !important;
}

/*
|--------------------------------------------------------------------------
| Mobile : garder un texte lisible sans trop masquer la photo
|--------------------------------------------------------------------------
*/

@media(max-width:1080px){
    body.home-premium-v2 .hero-background-shade{
        background:
            linear-gradient(
                180deg,
                rgba(245,250,255,.85) 0%,
                rgba(245,250,255,.60) 44%,
                rgba(245,250,255,.14) 100%
            ) !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — LOGO NAVBAR LÉGÈREMENT AGRANDI V22
   Aucun autre élément de la navbar n'est modifié.
   ====================================================================== */

body.home-premium-v2 .navbar .premium-brand-link{
    min-width:112px !important;
}

body.home-premium-v2 .navbar .logo img{
    width:82px !important;
    max-width:82px !important;
    height:82px !important;

    object-fit:contain !important;

    filter:
        drop-shadow(
            0 5px 10px rgba(7,31,67,.10)
        ) !important;
}

/* Écran intermédiaire */
@media(max-width:1240px) and (min-width:1081px){
    body.home-premium-v2 .navbar .premium-brand-link{
        min-width:102px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:76px !important;
        max-width:76px !important;
        height:76px !important;
    }
}

/* Tablette et menu mobile */
@media(max-width:1080px){
    body.home-premium-v2 .navbar .premium-brand-link{
        min-width:auto !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:64px !important;
        max-width:64px !important;
        height:64px !important;
    }
}

/* Petit mobile */
@media(max-width:720px){
    body.home-premium-v2 .navbar .logo img{
        width:58px !important;
        max-width:58px !important;
        height:58px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — MOTEUR DE RECHERCHE PREMIUM V23
   Refonte visuelle ciblée sans modifier les noms, IDs ni scripts.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Position générale du moteur
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .booking-wrapper{
    position:relative !important;
    z-index:120 !important;

    margin-top:-34px !important;
    padding:0 18px 22px !important;
}

/*
|--------------------------------------------------------------------------
| Grande carte blanche
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .booking-wrapper .booking-container{
    width:min(1280px,100%) !important;

    margin:0 auto !important;
    padding:16px 18px 18px !important;

    border:1px solid rgba(7,31,67,.09) !important;
    border-radius:26px !important;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.99) 0%,
            rgba(249,252,255,.99) 100%
        ) !important;

    box-shadow:
        0 28px 70px rgba(7,31,67,.16),
        0 4px 14px rgba(7,31,67,.05) !important;

    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
}

/*
|--------------------------------------------------------------------------
| Onglets principaux : Vols, Hôtels, Visas et Transferts
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .booking-tabs{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;

    width:max-content !important;
    max-width:100% !important;

    margin:0 0 12px !important;
    padding:6px !important;

    overflow-x:auto !important;

    border:1px solid #e3eaf3 !important;
    border-radius:17px !important;

    background:#f3f6fa !important;

    scrollbar-width:none !important;
}

body.home-premium-v2 .booking-tabs::-webkit-scrollbar{
    display:none !important;
}

body.home-premium-v2 .booking-tab{
    min-width:138px !important;
    min-height:46px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;

    margin:0 !important;
    padding:0 16px !important;

    border:1px solid transparent !important;
    border-radius:12px !important;

    background:transparent !important;
    color:#53647c !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:12px !important;
    font-weight:900 !important;
    line-height:1 !important;
    white-space:nowrap !important;

    box-shadow:none !important;

    cursor:pointer !important;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease !important;
}

body.home-premium-v2 .booking-tab i{
    color:inherit !important;
    font-size:14px !important;
}

body.home-premium-v2 .booking-tab:hover{
    background:#ffffff !important;
    color:#075ee8 !important;
}

body.home-premium-v2 .booking-tab.active{
    border-color:#075ee8 !important;

    background:
        linear-gradient(
            135deg,
            #075ee8 0%,
            #0d75ff 100%
        ) !important;

    color:#ffffff !important;

    box-shadow:
        0 10px 24px rgba(7,94,232,.20) !important;

    transform:translateY(-1px) !important;
}

/*
|--------------------------------------------------------------------------
| Grille principale du formulaire vols
|--------------------------------------------------------------------------
*/

body.home-premium-v2 #vols.flight-search-pro{
    grid-template-columns:
        minmax(175px,1.15fr)
        42px
        minmax(175px,1.15fr)
        minmax(195px,1.05fr)
        minmax(160px,.88fr)
        166px !important;

    gap:9px !important;
}

/*
|--------------------------------------------------------------------------
| Types de voyage
|--------------------------------------------------------------------------
*/

body.home-premium-v2 #vols.flight-search-pro .trip-types{
    min-height:42px !important;

    margin:0 0 3px !important;
    padding:0 5px !important;

    gap:10px !important;

    border-bottom:1px solid #e6edf5 !important;
}

body.home-premium-v2 #vols.flight-search-pro .trip-option{
    min-height:38px !important;

    padding:0 13px !important;

    border-radius:10px 10px 0 0 !important;

    color:#617089 !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:12px !important;
    font-weight:850 !important;
}

body.home-premium-v2 #vols.flight-search-pro .trip-option:hover{
    color:#075ee8 !important;
    background:#f4f8ff !important;
}

body.home-premium-v2 #vols.flight-search-pro .trip-option.active{
    color:#071f43 !important;
}

body.home-premium-v2 #vols.flight-search-pro .trip-option::after{
    height:3px !important;
    background:
        linear-gradient(
            90deg,
            #075ee8,
            #3d8cff
        ) !important;
}

/*
|--------------------------------------------------------------------------
| Champs de recherche
|--------------------------------------------------------------------------
*/

body.home-premium-v2 #vols.flight-search-pro .booking-field,
body.home-premium-v2 #vols.flight-search-pro .field.booking-field{
    min-height:74px !important;

    padding:
        10px
        13px
        10px
        66px !important;

    border:1px solid #d8e2ee !important;
    border-radius:16px !important;

    background:#ffffff !important;

    box-shadow:
        0 6px 16px rgba(7,31,67,.035) !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease,
        background .2s ease !important;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field:hover,
body.home-premium-v2 #vols.flight-search-pro .field.booking-field:hover{
    border-color:#afc4dc !important;
    background:#fcfdff !important;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field:focus-within,
body.home-premium-v2 #vols.flight-search-pro .field.booking-field:focus-within{
    z-index:25 !important;

    border-color:#075ee8 !important;

    background:#ffffff !important;

    box-shadow:
        0 0 0 4px rgba(7,94,232,.09),
        0 14px 30px rgba(7,94,232,.10) !important;

    transform:translateY(-1px) !important;
}

/*
|--------------------------------------------------------------------------
| Icônes dans les champs
|--------------------------------------------------------------------------
*/

body.home-premium-v2 #vols.flight-search-pro .booking-field .flight-field-icon{
    left:14px !important;

    width:40px !important;
    height:40px !important;

    border:1px solid #dce8f6 !important;
    border-radius:12px !important;

    background:
        linear-gradient(
            180deg,
            #f3f8ff,
            #e8f2ff
        ) !important;

    color:#075ee8 !important;

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 5px 12px rgba(7,94,232,.07) !important;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field .flight-field-icon i{
    color:inherit !important;
    font-size:15px !important;
}

/*
|--------------------------------------------------------------------------
| Libellés et textes
|--------------------------------------------------------------------------
*/

body.home-premium-v2 #vols.flight-search-pro .booking-field .field-text small{
    margin-bottom:4px !important;

    color:#65758d !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:10px !important;
    font-weight:900 !important;
    line-height:1.1 !important;

    letter-spacing:.25px !important;
    text-transform:uppercase !important;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field .booking-input,
body.home-premium-v2 #vols.flight-search-pro .booking-field .travelers-summary{
    color:#071f43 !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:13px !important;
    font-weight:850 !important;
}

body.home-premium-v2 #vols.flight-search-pro .booking-field .booking-input::placeholder{
    color:#8a98aa !important;
    font-weight:650 !important;
}

/*
|--------------------------------------------------------------------------
| Bouton d'inversion
|--------------------------------------------------------------------------
*/

body.home-premium-v2 #vols.flight-search-pro .swap-btn,
body.home-premium-v2 #vols.flight-search-pro .switch-destination{
    align-self:center !important;

    width:42px !important;
    min-width:42px !important;
    height:42px !important;

    border:1px solid #d4e1ef !important;
    border-radius:50% !important;

    background:#ffffff !important;
    color:#075ee8 !important;

    box-shadow:
        0 8px 18px rgba(7,31,67,.08) !important;

    transition:
        transform .22s ease,
        background .22s ease,
        color .22s ease,
        box-shadow .22s ease !important;
}

body.home-premium-v2 #vols.flight-search-pro .swap-btn:hover,
body.home-premium-v2 #vols.flight-search-pro .switch-destination:hover{
    background:#075ee8 !important;
    color:#ffffff !important;

    box-shadow:
        0 11px 22px rgba(7,94,232,.20) !important;

    transform:rotate(180deg) !important;
}

/*
|--------------------------------------------------------------------------
| Bouton Rechercher
|--------------------------------------------------------------------------
*/

body.home-premium-v2 #vols.flight-search-pro .flight-search-submit,
body.home-premium-v2 #vols.flight-search-pro .search-btn{
    min-height:74px !important;

    border:0 !important;
    border-radius:16px !important;

    background:
        linear-gradient(
            135deg,
            #ffc928 0%,
            #f2aa08 100%
        ) !important;

    color:#071f43 !important;

    box-shadow:
        0 14px 28px rgba(242,170,8,.24) !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:12px !important;
    font-weight:1000 !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        filter .2s ease !important;
}

body.home-premium-v2 #vols.flight-search-pro .flight-search-submit:hover,
body.home-premium-v2 #vols.flight-search-pro .search-btn:hover{
    transform:translateY(-2px) !important;
    filter:brightness(1.025) !important;

    box-shadow:
        0 18px 34px rgba(242,170,8,.30) !important;
}

body.home-premium-v2 #vols.flight-search-pro .flight-search-submit-icon{
    width:31px !important;
    height:31px !important;

    border-radius:10px !important;

    background:#071f43 !important;
    color:#ffffff !important;
}

/*
|--------------------------------------------------------------------------
| Ligne des options
|--------------------------------------------------------------------------
*/

body.home-premium-v2 #vols.flight-search-pro .flight-search-options{
    margin-top:2px !important;
    padding:11px 4px 0 !important;

    border-top:1px solid #e8eef6 !important;
}

body.home-premium-v2 #vols.flight-search-pro .flight-search-options,
body.home-premium-v2 #vols.flight-search-pro .flight-search-options *{
    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;
}

/*
|--------------------------------------------------------------------------
| Résultats d'aéroport et voyageurs
|--------------------------------------------------------------------------
*/

body.home-premium-v2 #vols.flight-search-pro .airport-results,
body.home-premium-v2 #vols.flight-search-pro .travelers-dropdown{
    border:1px solid #d7e2ee !important;
    border-radius:15px !important;

    background:#ffffff !important;

    box-shadow:
        0 22px 50px rgba(7,31,67,.16) !important;
}

/*
|--------------------------------------------------------------------------
| Tablette
|--------------------------------------------------------------------------
*/

@media(max-width:1180px){
    body.home-premium-v2 .booking-wrapper{
        margin-top:-22px !important;
    }

    body.home-premium-v2 #vols.flight-search-pro{
        grid-template-columns:
            minmax(170px,1fr)
            42px
            minmax(170px,1fr)
            minmax(195px,1fr)
            minmax(160px,.9fr) !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .flight-search-submit{
        grid-column:1 / -1 !important;
        min-height:58px !important;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:760px){
    body.home-premium-v2 .booking-wrapper{
        margin-top:-12px !important;
        padding-left:10px !important;
        padding-right:10px !important;
    }

    body.home-premium-v2 .booking-wrapper .booking-container{
        padding:12px !important;
        border-radius:20px !important;
    }

    body.home-premium-v2 .booking-tabs{
        width:100% !important;
        justify-content:flex-start !important;
    }

    body.home-premium-v2 .booking-tab{
        min-width:118px !important;
        min-height:42px !important;
        padding:0 13px !important;
    }

    body.home-premium-v2 #vols.flight-search-pro{
        grid-template-columns:1fr !important;
        gap:9px !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .trip-types{
        overflow-x:auto !important;
        white-space:nowrap !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .booking-field,
    body.home-premium-v2 #vols.flight-search-pro .field.booking-field{
        min-height:68px !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .swap-btn,
    body.home-premium-v2 #vols.flight-search-pro .switch-destination{
        justify-self:center !important;
        transform:rotate(90deg) !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .swap-btn:hover,
    body.home-premium-v2 #vols.flight-search-pro .switch-destination:hover{
        transform:rotate(270deg) !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .flight-search-submit,
    body.home-premium-v2 #vols.flight-search-pro .search-btn{
        min-height:58px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — VOYAGES ORGANISÉS PREMIUM V24
   Refonte visuelle de la section sans modifier la logique PHP.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Section générale
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips.premium-trips{
    position:relative !important;
    isolation:isolate !important;

    width:min(1280px,calc(100% - 40px)) !important;

    margin:48px auto 72px !important;
    padding:44px 40px 42px !important;

    overflow:hidden !important;

    border:1px solid #e2eaf4 !important;
    border-radius:32px !important;

    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(255,196,32,.12),
            transparent 24%
        ),
        radial-gradient(
            circle at 5% 98%,
            rgba(7,94,232,.08),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7faff 100%
        ) !important;

    box-shadow:
        0 28px 70px rgba(7,31,67,.10) !important;
}

body.home-premium-v2 .organized-trips.premium-trips::before{
    content:"" !important;
    position:absolute !important;
    top:-115px !important;
    right:-105px !important;
    z-index:-1 !important;

    width:260px !important;
    height:260px !important;

    border:1px solid rgba(7,94,232,.08) !important;
    border-radius:50% !important;

    box-shadow:
        0 0 0 36px rgba(7,94,232,.025),
        0 0 0 74px rgba(7,94,232,.018) !important;

    pointer-events:none !important;
}

/*
|--------------------------------------------------------------------------
| En-tête de section
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips .premium-header{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:28px !important;

    margin-bottom:28px !important;
}

body.home-premium-v2 .organized-trips .section-tag{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;

    width:max-content !important;

    margin:0 0 10px !important;
    padding:8px 12px !important;

    border:1px solid #d8e8ff !important;
    border-radius:999px !important;

    background:#eff6ff !important;
    color:#075ee8 !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:10px !important;
    font-weight:950 !important;
    letter-spacing:.7px !important;
    line-height:1 !important;
    text-transform:uppercase !important;
}

body.home-premium-v2 .organized-trips .section-tag::before{
    content:"\f072" !important;

    font-family:"Font Awesome 6 Free" !important;
    font-weight:900 !important;

    color:#075ee8 !important;
    font-size:11px !important;
}

body.home-premium-v2 .organized-trips .section-title{
    margin:0 !important;

    color:#071f43 !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:36px !important;
    font-weight:1000 !important;
    line-height:1.12 !important;
    letter-spacing:-1px !important;
}

body.home-premium-v2 .organized-trips .section-title span{
    color:#f1ad12 !important;
}

body.home-premium-v2 .organized-trips .section-subtitle{
    max-width:610px !important;

    margin:10px 0 0 !important;

    color:#65758d !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.6 !important;
}

/*
|--------------------------------------------------------------------------
| Bouton Voir tous les forfaits
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips .section-btn{
    flex:0 0 auto !important;

    min-height:48px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;

    padding:0 18px !important;

    border:1px solid #d7e2ee !important;
    border-radius:14px !important;

    background:#ffffff !important;
    color:#071f43 !important;

    box-shadow:
        0 10px 24px rgba(7,31,67,.08) !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:12px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    white-space:nowrap !important;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease !important;
}

body.home-premium-v2 .organized-trips .section-btn:hover{
    transform:translateY(-2px) !important;

    border-color:#075ee8 !important;

    background:#075ee8 !important;
    color:#ffffff !important;

    box-shadow:
        0 15px 30px rgba(7,94,232,.20) !important;
}

body.home-premium-v2 .organized-trips .section-btn i{
    transition:transform .2s ease !important;
}

body.home-premium-v2 .organized-trips .section-btn:hover i{
    transform:translateX(3px) !important;
}

/*
|--------------------------------------------------------------------------
| Carousel
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips .package-carousel{
    position:relative !important;

    padding:4px 2px 8px !important;
}

body.home-premium-v2 .organized-trips .package-track{
    display:flex !important;
    align-items:stretch !important;
    gap:18px !important;

    padding:8px 4px 20px !important;

    scroll-behavior:smooth !important;
}

/*
|--------------------------------------------------------------------------
| Cartes
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips .package-card.premium-card{
    flex:0 0 296px !important;

    overflow:hidden !important;

    border:1px solid #e0e8f2 !important;
    border-radius:22px !important;

    background:#ffffff !important;

    box-shadow:
        0 14px 34px rgba(7,31,67,.08) !important;

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease !important;
}

body.home-premium-v2 .organized-trips .package-card.premium-card:hover{
    transform:translateY(-7px) !important;

    border-color:#bfd6f4 !important;

    box-shadow:
        0 24px 52px rgba(7,31,67,.15) !important;
}

/*
|--------------------------------------------------------------------------
| Image
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips .premium-img{
    position:relative !important;

    height:188px !important;

    overflow:hidden !important;

    background:#dce8f6 !important;
}

body.home-premium-v2 .organized-trips .premium-img::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;

    background:
        linear-gradient(
            180deg,
            transparent 48%,
            rgba(4,23,52,.48) 100%
        ) !important;

    pointer-events:none !important;
}

body.home-premium-v2 .organized-trips .premium-img img{
    width:100% !important;
    height:100% !important;

    object-fit:cover !important;

    transition:transform .45s ease !important;
}

body.home-premium-v2 .organized-trips .package-card:hover .premium-img img{
    transform:scale(1.055) !important;
}

body.home-premium-v2 .organized-trips .premium-img .badge{
    top:14px !important;
    left:14px !important;
    z-index:4 !important;

    min-height:30px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;

    padding:0 11px !important;

    border:1px solid rgba(255,255,255,.58) !important;
    border-radius:999px !important;

    background:rgba(255,255,255,.92) !important;
    color:#071f43 !important;

    box-shadow:
        0 8px 18px rgba(7,31,67,.12) !important;

    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:10px !important;
    font-weight:950 !important;
    letter-spacing:.35px !important;
    text-transform:uppercase !important;
}

body.home-premium-v2 .organized-trips .premium-img .badge::before{
    content:"\f02b" !important;

    font-family:"Font Awesome 6 Free" !important;
    font-weight:900 !important;

    color:#f1ad12 !important;
}

/*
|--------------------------------------------------------------------------
| Corps des cartes
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips .premium-body{
    display:flex !important;
    flex-direction:column !important;

    min-height:278px !important;

    padding:18px !important;
}

body.home-premium-v2 .organized-trips .trip-category{
    display:inline-flex !important;
    align-items:center !important;

    width:max-content !important;
    max-width:100% !important;

    margin:0 0 9px !important;
    padding:6px 9px !important;

    border-radius:999px !important;

    background:#eff6ff !important;
    color:#075ee8 !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:9px !important;
    font-weight:950 !important;
    letter-spacing:.45px !important;
    text-transform:uppercase !important;
}

body.home-premium-v2 .organized-trips .premium-body h3{
    min-height:48px !important;

    margin:0 0 8px !important;

    color:#071f43 !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:19px !important;
    font-weight:950 !important;
    line-height:1.25 !important;
    letter-spacing:-.25px !important;
}

body.home-premium-v2 .organized-trips .city{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;

    margin:0 0 14px !important;

    color:#687990 !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:12px !important;
    font-weight:700 !important;
}

body.home-premium-v2 .organized-trips .city i{
    color:#efad17 !important;
}

/*
|--------------------------------------------------------------------------
| Prix
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips .premium-price{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:12px !important;

    margin:auto 0 14px !important;
    padding:13px 14px !important;

    border:1px solid #dde8f5 !important;
    border-radius:14px !important;

    background:
        linear-gradient(
            135deg,
            #f7fbff,
            #eef6ff
        ) !important;
}

body.home-premium-v2 .organized-trips .premium-price span{
    color:#6b7b91 !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:10px !important;
    font-weight:850 !important;
    text-transform:uppercase !important;
}

body.home-premium-v2 .organized-trips .premium-price strong{
    color:#075ee8 !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:19px !important;
    font-weight:1000 !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

/*
|--------------------------------------------------------------------------
| Actions
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips .premium-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
}

body.home-premium-v2 .organized-trips .premium-actions .details-btn,
body.home-premium-v2 .organized-trips .premium-actions .pay-btn{
    min-height:44px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;

    margin:0 !important;
    padding:0 10px !important;

    border-radius:12px !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:11px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-decoration:none !important;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease !important;
}

body.home-premium-v2 .organized-trips .premium-actions .details-btn{
    border:1px solid #d3dfec !important;

    background:#ffffff !important;
    color:#071f43 !important;
}

body.home-premium-v2 .organized-trips .premium-actions .details-btn:hover{
    transform:translateY(-1px) !important;

    border-color:#075ee8 !important;

    background:#eff6ff !important;
    color:#075ee8 !important;
}

body.home-premium-v2 .organized-trips .premium-actions .pay-btn{
    border:1px solid #f2ad12 !important;

    background:
        linear-gradient(
            135deg,
            #ffc927,
            #f1aa0a
        ) !important;

    color:#071f43 !important;

    box-shadow:
        0 9px 18px rgba(241,170,10,.18) !important;
}

body.home-premium-v2 .organized-trips .premium-actions .pay-btn:hover{
    transform:translateY(-1px) !important;

    box-shadow:
        0 13px 24px rgba(241,170,10,.25) !important;
}

/*
|--------------------------------------------------------------------------
| Flèches du carousel
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips .carousel-btn{
    top:48% !important;
    z-index:12 !important;

    width:44px !important;
    height:44px !important;

    border:1px solid #d7e2ee !important;
    border-radius:50% !important;

    background:#ffffff !important;
    color:#075ee8 !important;

    box-shadow:
        0 12px 28px rgba(7,31,67,.14) !important;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease,
        box-shadow .2s ease !important;
}

body.home-premium-v2 .organized-trips .carousel-btn.left{
    left:-22px !important;
}

body.home-premium-v2 .organized-trips .carousel-btn.right{
    right:-22px !important;
}

body.home-premium-v2 .organized-trips .carousel-btn:hover{
    background:#075ee8 !important;
    color:#ffffff !important;

    box-shadow:
        0 16px 34px rgba(7,94,232,.24) !important;
}

body.home-premium-v2 .organized-trips .carousel-btn.left:hover{
    transform:translateY(-50%) translateX(-2px) !important;
}

body.home-premium-v2 .organized-trips .carousel-btn.right:hover{
    transform:translateY(-50%) translateX(2px) !important;
}

/*
|--------------------------------------------------------------------------
| Message vide
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips .empty-message{
    width:100% !important;

    padding:30px !important;

    border:1px dashed #cbd8e7 !important;
    border-radius:16px !important;

    background:#f8fbff !important;
    color:#6a7a90 !important;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:13px !important;
    font-weight:750 !important;
    text-align:center !important;
}

/*
|--------------------------------------------------------------------------
| Tablette
|--------------------------------------------------------------------------
*/

@media(max-width:980px){
    body.home-premium-v2 .organized-trips.premium-trips{
        width:calc(100% - 24px) !important;

        padding:34px 24px 32px !important;
        border-radius:26px !important;
    }

    body.home-premium-v2 .organized-trips .premium-header{
        align-items:flex-start !important;
        flex-direction:column !important;
        gap:18px !important;
    }

    body.home-premium-v2 .organized-trips .section-title{
        font-size:31px !important;
    }

    body.home-premium-v2 .organized-trips .carousel-btn.left{
        left:-14px !important;
    }

    body.home-premium-v2 .organized-trips .carousel-btn.right{
        right:-14px !important;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:620px){
    body.home-premium-v2 .organized-trips.premium-trips{
        width:calc(100% - 16px) !important;

        margin-top:34px !important;
        margin-bottom:52px !important;
        padding:28px 14px 26px !important;

        border-radius:22px !important;
    }

    body.home-premium-v2 .organized-trips .section-title{
        font-size:27px !important;
    }

    body.home-premium-v2 .organized-trips .section-subtitle{
        font-size:13px !important;
    }

    body.home-premium-v2 .organized-trips .section-btn{
        width:100% !important;
    }

    body.home-premium-v2 .organized-trips .package-track{
        gap:12px !important;
    }

    body.home-premium-v2 .organized-trips .package-card.premium-card{
        flex-basis:86vw !important;
        max-width:320px !important;
    }

    body.home-premium-v2 .organized-trips .carousel-btn{
        display:none !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — FORFAITS & DESTINATIONS ÉDITORIAL PREMIUM V25
   Modèle blanc neige, bleu nuit et accents dorés.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Base typographique commune
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-trips,
body.home-premium-v2 .editorial-destinations,
body.home-premium-v2 .editorial-trips *,
body.home-premium-v2 .editorial-destinations *{
    font-family:
        "Manrope",
        "Segoe UI",
        Arial,
        sans-serif;
}

/*
|--------------------------------------------------------------------------
| VOYAGES ORGANISÉS — grande section
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .organized-trips.editorial-trips{
    position:relative !important;
    isolation:isolate !important;

    width:min(1280px,calc(100% - 36px)) !important;

    margin:48px auto 22px !important;
    padding:40px 44px 34px !important;

    overflow:hidden !important;

    border:1px solid #e6ebf2 !important;
    border-radius:28px !important;

    background:
        radial-gradient(
            circle at 93% 4%,
            rgba(239,174,26,.13),
            transparent 22%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fcfdff 100%
        ) !important;

    box-shadow:
        0 22px 60px rgba(7,31,67,.08) !important;
}

body.home-premium-v2 .organized-trips.editorial-trips::before{
    content:"" !important;
    position:absolute !important;
    top:-114px !important;
    right:-90px !important;
    z-index:-1 !important;

    width:260px !important;
    height:260px !important;

    border:1px solid rgba(239,174,26,.12) !important;
    border-radius:50% !important;

    box-shadow:
        0 0 0 34px rgba(239,174,26,.035),
        0 0 0 70px rgba(239,174,26,.02) !important;
}

/*
|--------------------------------------------------------------------------
| En-tête forfaits
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-trips-header{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:28px !important;

    margin:0 0 28px !important;
}

body.home-premium-v2 .editorial-trips .section-tag{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;

    width:max-content !important;

    margin:0 0 10px !important;
    padding:8px 12px !important;

    border:1px solid #dce7f6 !important;
    border-radius:999px !important;

    background:#f8fbff !important;
    color:#075ee8 !important;

    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.85px !important;
    text-transform:uppercase !important;
}

body.home-premium-v2 .editorial-trips .section-tag::before{
    content:"\f005" !important;

    font-family:"Font Awesome 6 Free" !important;
    font-weight:900 !important;

    color:#075ee8 !important;
}

body.home-premium-v2 .editorial-trips .section-title{
    margin:0 !important;

    color:#071f43 !important;

    font-family:
        "Playfair Display",
        Georgia,
        serif !important;

    font-size:43px !important;
    font-weight:800 !important;
    line-height:1.05 !important;
    letter-spacing:-1.15px !important;
}

body.home-premium-v2 .editorial-trips .section-title span{
    color:#e6a313 !important;

    font-family:inherit !important;
    font-style:italic !important;
}

body.home-premium-v2 .editorial-trips .section-subtitle{
    max-width:640px !important;

    margin:10px 0 0 !important;

    color:#66758b !important;

    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.6 !important;
}

body.home-premium-v2 .editorial-section-btn{
    min-height:52px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;

    padding:0 22px !important;

    border:0 !important;
    border-radius:13px !important;

    background:#082554 !important;
    color:#ffffff !important;

    box-shadow:
        0 12px 26px rgba(8,37,84,.19) !important;

    font-size:12px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    white-space:nowrap !important;

    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease !important;
}

body.home-premium-v2 .editorial-section-btn:hover{
    transform:translateY(-2px) !important;

    background:#075ee8 !important;

    box-shadow:
        0 16px 32px rgba(7,94,232,.24) !important;
}

body.home-premium-v2 .editorial-section-btn i{
    transition:transform .2s ease !important;
}

body.home-premium-v2 .editorial-section-btn:hover i{
    transform:translateX(3px) !important;
}

/*
|--------------------------------------------------------------------------
| Carousel et piste forfaits
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-package-carousel{
    position:relative !important;
}

body.home-premium-v2 .editorial-package-track{
    display:flex !important;
    align-items:stretch !important;
    gap:20px !important;

    padding:5px 2px 18px !important;

    overflow-x:auto !important;
    overflow-y:visible !important;

    scroll-behavior:smooth !important;
    scroll-snap-type:x mandatory !important;
    scrollbar-width:none !important;
}

body.home-premium-v2 .editorial-package-track::-webkit-scrollbar{
    display:none !important;
}

/*
|--------------------------------------------------------------------------
| Cartes forfaits
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-package-card{
    flex:0 0 calc((100% - 40px) / 3) !important;

    min-width:300px !important;

    overflow:hidden !important;

    scroll-snap-align:start !important;

    border:1px solid #e1e7ef !important;
    border-radius:18px !important;

    background:#ffffff !important;

    box-shadow:
        0 12px 30px rgba(7,31,67,.075) !important;

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease !important;
}

body.home-premium-v2 .editorial-package-card:hover{
    transform:translateY(-6px) !important;

    border-color:#c8d9ed !important;

    box-shadow:
        0 22px 44px rgba(7,31,67,.14) !important;
}

/*
|--------------------------------------------------------------------------
| Image forfait
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-package-image{
    position:relative !important;

    height:196px !important;

    overflow:hidden !important;

    background:#dbe8f6 !important;
}

body.home-premium-v2 .editorial-package-image::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;

    background:
        linear-gradient(
            180deg,
            rgba(7,31,67,.03) 45%,
            rgba(7,31,67,.24) 100%
        ) !important;

    pointer-events:none !important;
}

body.home-premium-v2 .editorial-package-image img{
    width:100% !important;
    height:100% !important;

    object-fit:cover !important;

    transition:transform .5s ease !important;
}

body.home-premium-v2 .editorial-package-card:hover .editorial-package-image img{
    transform:scale(1.05) !important;
}

/*
|--------------------------------------------------------------------------
| Badge et favori
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-package-badge{
    position:absolute !important;
    top:14px !important;
    left:14px !important;
    z-index:5 !important;

    min-height:28px !important;

    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;

    padding:0 10px !important;

    border-radius:6px !important;

    color:#ffffff !important;

    box-shadow:
        0 8px 18px rgba(7,31,67,.18) !important;

    font-size:9px !important;
    font-weight:800 !important;
    letter-spacing:.25px !important;
    text-transform:uppercase !important;
}

body.home-premium-v2 .editorial-package-badge.blue{
    background:#075ee8 !important;
}

body.home-premium-v2 .editorial-package-badge.gold{
    background:#f2b317 !important;
    color:#071f43 !important;
}

body.home-premium-v2 .editorial-package-badge.navy{
    background:#082554 !important;
}

body.home-premium-v2 .editorial-package-favorite{
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    z-index:5 !important;

    width:36px !important;
    height:36px !important;

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

    border:1px solid rgba(255,255,255,.78) !important;
    border-radius:50% !important;

    background:rgba(255,255,255,.92) !important;
    color:#075ee8 !important;

    box-shadow:
        0 8px 20px rgba(7,31,67,.13) !important;

    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
}

/*
|--------------------------------------------------------------------------
| Actions au survol
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-package-actions{
    position:absolute !important;
    left:14px !important;
    right:14px !important;
    bottom:13px !important;
    z-index:6 !important;

    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;

    opacity:0 !important;
    transform:translateY(12px) !important;

    transition:
        opacity .22s ease,
        transform .22s ease !important;
}

body.home-premium-v2 .editorial-package-card:hover .editorial-package-actions,
body.home-premium-v2 .editorial-package-card:focus-within .editorial-package-actions{
    opacity:1 !important;
    transform:translateY(0) !important;
}

body.home-premium-v2 .editorial-package-actions .details-btn,
body.home-premium-v2 .editorial-package-actions .pay-btn{
    min-height:38px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;

    margin:0 !important;
    padding:0 9px !important;

    border-radius:10px !important;

    font-size:10px !important;
    font-weight:800 !important;
    text-decoration:none !important;

    box-shadow:
        0 9px 18px rgba(7,31,67,.15) !important;
}

body.home-premium-v2 .editorial-package-actions .details-btn{
    border:1px solid rgba(255,255,255,.84) !important;

    background:rgba(255,255,255,.94) !important;
    color:#071f43 !important;
}

body.home-premium-v2 .editorial-package-actions .pay-btn{
    border:1px solid #075ee8 !important;

    background:#075ee8 !important;
    color:#ffffff !important;
}

/*
|--------------------------------------------------------------------------
| Corps forfait
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-package-body{
    min-height:146px !important;

    display:flex !important;
    flex-direction:column !important;

    padding:14px 16px 15px !important;
}

body.home-premium-v2 .editorial-package-location{
    margin:0 0 6px !important;

    color:#587094 !important;

    font-size:10.5px !important;
    font-weight:600 !important;
}

body.home-premium-v2 .editorial-package-location i{
    color:#075ee8 !important;
}

body.home-premium-v2 .editorial-package-body h3{
    min-height:auto !important;

    margin:0 !important;

    color:#071f43 !important;

    font-family:
        "Playfair Display",
        Georgia,
        serif !important;

    font-size:19px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:-.2px !important;
}

body.home-premium-v2 .editorial-package-divider{
    width:100% !important;
    height:1px !important;

    margin:10px 0 !important;

    background:#e6ebf2 !important;
}

body.home-premium-v2 .editorial-package-footer{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:12px !important;

    margin-top:auto !important;
}

body.home-premium-v2 .editorial-package-meta{
    display:flex !important;
    align-items:center !important;
    gap:13px !important;

    min-width:0 !important;
}

body.home-premium-v2 .editorial-package-meta span{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;

    color:#526987 !important;

    font-size:9.5px !important;
    font-weight:650 !important;
    white-space:nowrap !important;
}

body.home-premium-v2 .editorial-package-meta i{
    color:#075ee8 !important;
    font-size:12px !important;
}

body.home-premium-v2 .editorial-package-price{
    display:block !important;

    min-width:max-content !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;
}

body.home-premium-v2 .editorial-package-price span{
    display:block !important;

    margin-bottom:3px !important;

    color:#758297 !important;

    font-size:9.5px !important;
    font-weight:600 !important;
    text-transform:none !important;
}

body.home-premium-v2 .editorial-package-price strong{
    color:#075ee8 !important;

    font-size:16px !important;
    font-weight:800 !important;
    line-height:1 !important;
}

/*
|--------------------------------------------------------------------------
| Flèches forfaits
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-trips .carousel-btn{
    top:55% !important;
    z-index:15 !important;

    width:44px !important;
    height:44px !important;

    border:1px solid #e0e7f0 !important;
    border-radius:50% !important;

    background:#ffffff !important;
    color:#075ee8 !important;

    box-shadow:
        0 12px 28px rgba(7,31,67,.12) !important;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease !important;
}

body.home-premium-v2 .editorial-trips .carousel-btn.left{
    left:-24px !important;
}

body.home-premium-v2 .editorial-trips .carousel-btn.right{
    right:-24px !important;
}

body.home-premium-v2 .editorial-trips .carousel-btn:hover{
    background:#075ee8 !important;
    color:#ffffff !important;
}

/*
|--------------------------------------------------------------------------
| État vide forfaits
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-empty-state{
    width:100% !important;
    min-height:150px !important;

    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
    gap:20px !important;

    padding:25px 28px !important;

    border:1px dashed #cbd8e7 !important;
    border-radius:18px !important;

    background:
        linear-gradient(
            135deg,
            #f8fbff,
            #ffffff
        ) !important;
}

body.home-premium-v2 .editorial-empty-icon{
    width:54px !important;
    height:54px !important;

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

    border-radius:16px !important;

    background:#edf5ff !important;
    color:#075ee8 !important;

    font-size:21px !important;
}

body.home-premium-v2 .editorial-empty-state h3{
    margin:0 0 5px !important;

    color:#071f43 !important;

    font-family:
        "Playfair Display",
        Georgia,
        serif !important;

    font-size:20px !important;
}

body.home-premium-v2 .editorial-empty-state p{
    margin:0 !important;

    color:#66758b !important;

    font-size:12px !important;
    line-height:1.55 !important;
}

body.home-premium-v2 .editorial-empty-button{
    min-height:44px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;

    padding:0 15px !important;

    border:0 !important;
    border-radius:12px !important;

    background:#075ee8 !important;
    color:#ffffff !important;

    font-size:10.5px !important;
    font-weight:800 !important;

    cursor:pointer !important;
}

/*
|--------------------------------------------------------------------------
| DESTINATIONS — grande section
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .destinations.editorial-destinations{
    position:relative !important;

    width:min(1280px,calc(100% - 36px)) !important;

    display:grid !important;
    grid-template-columns:300px minmax(0,1fr) !important;
    gap:34px !important;

    margin:0 auto 34px !important;
    padding:34px 38px !important;

    overflow:hidden !important;

    border:1px solid #e3eaf3 !important;
    border-radius:28px !important;

    background:
        radial-gradient(
            circle at 4% 96%,
            rgba(7,94,232,.09),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #f8fbff 0%,
            #edf5ff 100%
        ) !important;

    box-shadow:
        0 20px 55px rgba(7,31,67,.075) !important;
}

/*
|--------------------------------------------------------------------------
| Titre destinations
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-destination-title{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;

    padding:6px 0 !important;
}

body.home-premium-v2 .editorial-destination-title > p:first-child{
    margin:0 0 10px !important;

    color:#075ee8 !important;

    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.85px !important;
    text-transform:uppercase !important;
}

body.home-premium-v2 .editorial-destination-title h2{
    margin:0 !important;

    color:#071f43 !important;

    font-family:
        "Playfair Display",
        Georgia,
        serif !important;

    font-size:39px !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    letter-spacing:-1px !important;
}

body.home-premium-v2 .editorial-destination-title h2 span{
    color:#075ee8 !important;

    font-family:inherit !important;
}

body.home-premium-v2 .editorial-destination-line{
    width:46px !important;
    height:3px !important;

    margin:16px 0 !important;

    border-radius:999px !important;

    background:#e5a618 !important;
}

body.home-premium-v2 .editorial-destination-description{
    max-width:250px !important;

    margin:0 0 20px !important;

    color:#66758b !important;

    font-size:12px !important;
    font-weight:600 !important;
    line-height:1.65 !important;
}

body.home-premium-v2 .editorial-destination-button{
    min-height:47px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;

    margin:0 !important;
    padding:0 17px !important;

    border:0 !important;
    border-radius:12px !important;

    background:#075ee8 !important;
    color:#ffffff !important;

    box-shadow:
        0 12px 24px rgba(7,94,232,.19) !important;

    font-size:10.5px !important;
    font-weight:800 !important;

    cursor:pointer !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease !important;
}

body.home-premium-v2 .editorial-destination-button:hover{
    transform:translateY(-2px) !important;

    box-shadow:
        0 16px 30px rgba(7,94,232,.25) !important;
}

/*
|--------------------------------------------------------------------------
| Carousel destinations
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-destination-carousel{
    position:relative !important;

    min-width:0 !important;
}

body.home-premium-v2 .editorial-destination-track{
    display:flex !important;
    align-items:stretch !important;
    gap:14px !important;

    width:100% !important;

    padding:4px 3px 13px !important;

    overflow-x:auto !important;
    overflow-y:visible !important;

    scroll-behavior:smooth !important;
    scroll-snap-type:x mandatory !important;
    scrollbar-width:none !important;
}

body.home-premium-v2 .editorial-destination-track::-webkit-scrollbar{
    display:none !important;
}

/*
|--------------------------------------------------------------------------
| Carte destination
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-destination-card{
    flex:0 0 calc((100% - 42px) / 4) !important;

    min-width:180px !important;

    overflow:hidden !important;

    scroll-snap-align:start !important;

    border:1px solid #e0e7f0 !important;
    border-radius:16px !important;

    background:#ffffff !important;
    color:#071f43 !important;

    box-shadow:
        0 10px 25px rgba(7,31,67,.07) !important;

    text-decoration:none !important;

    transition:
        transform .24s ease,
        border-color .24s ease,
        box-shadow .24s ease !important;
}

body.home-premium-v2 .editorial-destination-card:hover{
    transform:translateY(-5px) !important;

    border-color:#bdd2ed !important;

    box-shadow:
        0 19px 38px rgba(7,31,67,.13) !important;
}

body.home-premium-v2 .editorial-destination-image{
    position:relative !important;

    height:190px !important;

    background-position:center !important;
    background-size:cover !important;

    transition:background-size .3s ease !important;
}

body.home-premium-v2 .editorial-destination-image::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;

    background:
        linear-gradient(
            180deg,
            rgba(7,31,67,.02) 55%,
            rgba(7,31,67,.18) 100%
        ) !important;
}

body.home-premium-v2 .editorial-destination-icon{
    position:absolute !important;
    left:14px !important;
    bottom:-18px !important;
    z-index:4 !important;

    width:40px !important;
    height:40px !important;

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

    border:1px solid #e5eaf1 !important;
    border-radius:50% !important;

    background:#ffffff !important;
    color:#082554 !important;

    box-shadow:
        0 8px 20px rgba(7,31,67,.12) !important;

    font-size:15px !important;
}

body.home-premium-v2 .editorial-destination-info{
    position:relative !important;

    min-height:153px !important;

    padding:27px 14px 13px !important;
}

body.home-premium-v2 .editorial-destination-info h3{
    margin:0 0 3px !important;

    color:#071f43 !important;

    font-family:
        "Playfair Display",
        Georgia,
        serif !important;

    font-size:18px !important;
    font-weight:700 !important;
}

body.home-premium-v2 .editorial-destination-info > p{
    margin:0 0 10px !important;

    color:#718096 !important;

    font-size:10.5px !important;
    font-weight:600 !important;
}

body.home-premium-v2 .editorial-destination-price{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:8px !important;

    margin:0 !important;
    padding:9px 0 0 !important;

    border-top:1px solid #e7ecf2 !important;
}

body.home-premium-v2 .editorial-destination-price i{
    display:none !important;
}

body.home-premium-v2 .editorial-destination-price span{
    color:#7a8799 !important;

    font-size:9px !important;
    font-weight:600 !important;
}

body.home-premium-v2 .editorial-destination-price strong{
    color:#075ee8 !important;

    font-size:13px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

body.home-premium-v2 .editorial-destination-discover{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:6px !important;

    margin-top:9px !important;

    color:#082554 !important;

    font-size:9px !important;
    font-weight:800 !important;

    opacity:.75 !important;
}

body.home-premium-v2 .editorial-destination-card:hover .editorial-destination-discover{
    color:#075ee8 !important;
    opacity:1 !important;
}

/*
|--------------------------------------------------------------------------
| Flèches destinations
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-destination-arrows{
    position:static !important;
}

body.home-premium-v2 .editorial-destination-arrows button{
    position:absolute !important;
    top:47% !important;
    z-index:12 !important;

    width:43px !important;
    height:43px !important;

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

    margin:0 !important;
    padding:0 !important;

    border:1px solid #e0e7f0 !important;
    border-radius:50% !important;

    background:#ffffff !important;
    color:#075ee8 !important;

    box-shadow:
        0 11px 25px rgba(7,31,67,.11) !important;

    transform:translateY(-50%) !important;
}

body.home-premium-v2 .editorial-destination-arrows #destPrev{
    left:-23px !important;
}

body.home-premium-v2 .editorial-destination-arrows #destNext{
    right:-23px !important;
}

body.home-premium-v2 .editorial-destination-arrows button:hover,
body.home-premium-v2 .editorial-destination-arrows button.active:hover{
    background:#075ee8 !important;
    color:#ffffff !important;
}

/*
|--------------------------------------------------------------------------
| État vide destinations
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-destination-empty{
    width:100% !important;
    min-height:320px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;

    padding:25px !important;

    border:1px dashed #cbd8e7 !important;
    border-radius:18px !important;

    background:rgba(255,255,255,.68) !important;
    color:#607188 !important;
}

body.home-premium-v2 .editorial-destination-empty i{
    font-size:32px !important;
    color:#075ee8 !important;
}

body.home-premium-v2 .editorial-destination-empty strong{
    display:block !important;

    margin-bottom:5px !important;

    color:#071f43 !important;
}

body.home-premium-v2 .editorial-destination-empty span{
    font-size:11px !important;
}

/*
|--------------------------------------------------------------------------
| Tablette
|--------------------------------------------------------------------------
*/

@media(max-width:1050px){
    body.home-premium-v2 .editorial-package-card{
        flex-basis:calc((100% - 20px) / 2) !important;
    }

    body.home-premium-v2 .destinations.editorial-destinations{
        grid-template-columns:255px minmax(0,1fr) !important;
        gap:24px !important;
    }

    body.home-premium-v2 .editorial-destination-card{
        flex-basis:calc((100% - 28px) / 3) !important;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:760px){
    body.home-premium-v2 .organized-trips.editorial-trips,
    body.home-premium-v2 .destinations.editorial-destinations{
        width:calc(100% - 16px) !important;

        border-radius:21px !important;
    }

    body.home-premium-v2 .organized-trips.editorial-trips{
        padding:28px 14px 24px !important;
    }

    body.home-premium-v2 .editorial-trips-header{
        align-items:flex-start !important;
        flex-direction:column !important;
        gap:17px !important;
    }

    body.home-premium-v2 .editorial-trips .section-title{
        font-size:34px !important;
    }

    body.home-premium-v2 .editorial-section-btn{
        width:100% !important;
    }

    body.home-premium-v2 .editorial-package-card{
        flex-basis:86vw !important;
        min-width:275px !important;
    }

    body.home-premium-v2 .editorial-package-actions{
        opacity:1 !important;
        transform:none !important;
    }

    body.home-premium-v2 .editorial-trips .carousel-btn{
        display:none !important;
    }

    body.home-premium-v2 .editorial-empty-state{
        grid-template-columns:1fr !important;
        justify-items:start !important;
    }

    body.home-premium-v2 .destinations.editorial-destinations{
        grid-template-columns:1fr !important;

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

    body.home-premium-v2 .editorial-destination-title h2{
        font-size:34px !important;
    }

    body.home-premium-v2 .editorial-destination-description{
        max-width:100% !important;
    }

    body.home-premium-v2 .editorial-destination-button{
        width:100% !important;
    }

    body.home-premium-v2 .editorial-destination-card{
        flex-basis:72vw !important;
        min-width:210px !important;
    }

    body.home-premium-v2 .editorial-destination-arrows button{
        display:none !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — POLICE IDENTIQUE À LA NAVBAR V26
   Seule la typographie des sections Forfaits et Destinations est modifiée.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Police générale identique à la navbar
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-trips,
body.home-premium-v2 .editorial-destinations,
body.home-premium-v2 .editorial-trips *,
body.home-premium-v2 .editorial-destinations *{
    font-family:
        Arial,
        Helvetica,
        sans-serif !important;
}

/*
|--------------------------------------------------------------------------
| Grands titres sans police éditoriale ni italique
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-trips .section-title,
body.home-premium-v2 .editorial-destination-title h2,
body.home-premium-v2 .editorial-package-body h3,
body.home-premium-v2 .editorial-destination-info h3,
body.home-premium-v2 .editorial-empty-state h3{
    font-family:
        Arial,
        Helvetica,
        sans-serif !important;
}

body.home-premium-v2 .editorial-trips .section-title{
    font-weight:900 !important;
    letter-spacing:-1px !important;
}

body.home-premium-v2 .editorial-trips .section-title span{
    font-family:inherit !important;
    font-style:normal !important;
    font-weight:900 !important;
}

body.home-premium-v2 .editorial-destination-title h2{
    font-weight:900 !important;
    letter-spacing:-1px !important;
}

body.home-premium-v2 .editorial-destination-title h2 span{
    font-family:inherit !important;
    font-style:normal !important;
    font-weight:900 !important;
}

body.home-premium-v2 .editorial-package-body h3,
body.home-premium-v2 .editorial-destination-info h3{
    font-weight:900 !important;
    letter-spacing:-.25px !important;
}

/*
|--------------------------------------------------------------------------
| Cohérence des boutons, badges et prix avec la navbar
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .editorial-trips .section-tag,
body.home-premium-v2 .editorial-section-btn,
body.home-premium-v2 .editorial-package-badge,
body.home-premium-v2 .editorial-package-actions .details-btn,
body.home-premium-v2 .editorial-package-actions .pay-btn,
body.home-premium-v2 .editorial-destination-title > p:first-child,
body.home-premium-v2 .editorial-destination-button,
body.home-premium-v2 .editorial-destination-discover{
    font-family:
        Arial,
        Helvetica,
        sans-serif !important;
    font-weight:900 !important;
}

/* ======================================================================
   ASSALAS TOURS — FOOTER PREMIUM V27
   Même langage visuel que la navbar : bleu nuit, blanc neige et doré.
   ====================================================================== */

body.home-premium-v2 .site-footer-pro{
    position:relative;
    isolation:isolate;

    width:100%;
    margin:0;
    padding:0;

    overflow:hidden;

    border:0;

    background:
        radial-gradient(
            circle at 92% 6%,
            rgba(255,190,28,.11),
            transparent 24%
        ),
        radial-gradient(
            circle at 5% 100%,
            rgba(40,113,255,.13),
            transparent 29%
        ),
        linear-gradient(
            145deg,
            #061d42 0%,
            #082958 55%,
            #061b3c 100%
        );

    color:#ffffff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06);
}

body.home-premium-v2 .site-footer-pro::before{
    content:"";
    position:absolute;
    top:-145px;
    right:-120px;
    z-index:-1;

    width:330px;
    height:330px;

    border:1px solid rgba(255,255,255,.055);
    border-radius:50%;

    box-shadow:
        0 0 0 46px rgba(255,255,255,.018),
        0 0 0 94px rgba(255,255,255,.012);
}

body.home-premium-v2 .footer-pro-wrap{
    width:min(1280px,calc(100% - 36px));
    margin:0 auto;
    padding:0;
}

/*
|--------------------------------------------------------------------------
| Bandeau d'appel à l'action
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-cta{
    position:relative;
    z-index:3;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;

    margin:0 0 48px;
    padding:25px 28px;

    border:1px solid rgba(255,255,255,.18);
    border-radius:22px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.11),
            rgba(255,255,255,.055)
        );

    box-shadow:
        0 22px 55px rgba(0,0,0,.18);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    transform:translateY(-28px);
}

body.home-premium-v2 .footer-pro-cta-copy{
    display:flex;
    align-items:center;
    gap:18px;

    min-width:0;
}

body.home-premium-v2 .footer-pro-cta-icon{
    flex:0 0 58px;

    width:58px;
    height:58px;

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

    border:1px solid rgba(255,255,255,.34);
    border-radius:17px;

    background:
        linear-gradient(
            145deg,
            #ffd04a,
            #eda80e
        );

    color:#071f43;

    box-shadow:
        0 13px 28px rgba(238,169,15,.22);

    font-size:21px;
}

body.home-premium-v2 .footer-pro-kicker{
    display:block;

    margin-bottom:4px;

    color:#ffd566;

    font-size:10px;
    font-weight:900;
    letter-spacing:.85px;
    text-transform:uppercase;
}

body.home-premium-v2 .footer-pro-cta h2{
    margin:0;

    color:#ffffff;

    font-size:23px;
    font-weight:900;
    line-height:1.25;
    letter-spacing:-.35px;
}

body.home-premium-v2 .footer-pro-cta h2 span{
    color:#ffd04a;
}

body.home-premium-v2 .footer-pro-cta p{
    max-width:660px;

    margin:7px 0 0;

    color:#c7d6ea;

    font-size:12px;
    font-weight:600;
    line-height:1.55;
}

body.home-premium-v2 .footer-pro-cta-actions{
    flex:0 0 auto;

    display:flex;
    align-items:center;
    gap:12px;
}

body.home-premium-v2 .footer-pro-quote{
    min-height:50px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;

    padding:0 19px;

    border:0;
    border-radius:13px;

    background:
        linear-gradient(
            135deg,
            #ffcf3b,
            #eda80e
        );

    color:#071f43;

    box-shadow:
        0 13px 28px rgba(238,169,15,.22);

    font-size:11px;
    font-weight:900;

    cursor:pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

body.home-premium-v2 .footer-pro-quote:hover{
    transform:translateY(-2px);

    box-shadow:
        0 17px 34px rgba(238,169,15,.29);
}

body.home-premium-v2 .footer-pro-phone{
    min-height:50px;

    display:flex;
    align-items:center;
    gap:10px;

    padding:0 14px;

    border:1px solid rgba(255,255,255,.16);
    border-radius:13px;

    background:rgba(255,255,255,.055);
    color:#ffffff;

    text-decoration:none;

    transition:
        border-color .2s ease,
        background .2s ease;
}

body.home-premium-v2 .footer-pro-phone:hover{
    border-color:rgba(255,208,74,.58);
    background:rgba(255,255,255,.09);
}

body.home-premium-v2 .footer-pro-phone > i{
    color:#ffd04a;
}

body.home-premium-v2 .footer-pro-phone small,
body.home-premium-v2 .footer-pro-contact-row small{
    display:block;

    margin-bottom:2px;

    color:#91a6c3;

    font-size:8.5px;
    font-weight:800;
    letter-spacing:.45px;
    text-transform:uppercase;
}

body.home-premium-v2 .footer-pro-phone strong{
    display:block;

    color:#ffffff;

    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}

/*
|--------------------------------------------------------------------------
| Corps principal
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-main{
    display:grid;
    grid-template-columns:
        minmax(260px,1.45fr)
        minmax(150px,.72fr)
        minmax(160px,.78fr)
        minmax(285px,1.15fr);
    gap:42px;

    padding:0 10px 42px;
}

body.home-premium-v2 .footer-pro-main h3{
    position:relative;

    margin:0 0 20px;

    color:#ffffff;

    font-size:14px;
    font-weight:900;
}

body.home-premium-v2 .footer-pro-main h3::after{
    content:"";

    display:block;

    width:34px;
    height:2px;

    margin-top:9px;

    border-radius:999px;

    background:#e9a70e;
}

/*
|--------------------------------------------------------------------------
| Marque
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-logo{
    display:inline-flex;
    align-items:center;

    width:max-content;

    margin-bottom:15px;
}

body.home-premium-v2 .footer-pro-logo img{
    width:105px;
    height:80px;

    display:block;

    object-fit:contain;

    filter:
        drop-shadow(
            0 8px 18px rgba(0,0,0,.18)
        );
}

body.home-premium-v2 .footer-pro-description{
    max-width:330px;

    margin:0;

    color:#b9c9de;

    font-size:12px;
    font-weight:600;
    line-height:1.72;
}

body.home-premium-v2 .footer-pro-trust{
    display:flex;
    flex-wrap:wrap;
    gap:8px;

    margin-top:17px;
}

body.home-premium-v2 .footer-pro-trust span{
    display:inline-flex;
    align-items:center;
    gap:7px;

    min-height:30px;

    padding:0 10px;

    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;

    background:rgba(255,255,255,.045);
    color:#d5e1f0;

    font-size:9px;
    font-weight:750;
}

body.home-premium-v2 .footer-pro-trust i{
    color:#ffd04a;
}

/*
|--------------------------------------------------------------------------
| Réseaux sociaux
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-socials{
    display:flex;
    gap:9px;

    margin-top:18px;
}

body.home-premium-v2 .footer-pro-socials a{
    width:39px;
    height:39px;

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

    border:1px solid rgba(255,255,255,.13);
    border-radius:12px;

    background:rgba(255,255,255,.055);
    color:#ffffff;

    font-size:14px;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease,
        color .2s ease;
}

body.home-premium-v2 .footer-pro-socials a:hover{
    transform:translateY(-3px);

    border-color:#ffd04a;

    background:#ffd04a;
    color:#071f43;
}

body.home-premium-v2 .footer-pro-socials a i{
    margin:0;
    color:inherit;
}

/*
|--------------------------------------------------------------------------
| Liens
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-links ul{
    margin:0;
    padding:0;

    list-style:none;
}

body.home-premium-v2 .footer-pro-links li{
    margin:0 0 11px;
}

body.home-premium-v2 .footer-pro-links a,
body.home-premium-v2 .footer-pro-text-button{
    position:relative;

    display:inline-flex;
    align-items:center;
    gap:8px;

    margin:0;
    padding:0;

    border:0;

    background:transparent;
    color:#b9c9de;

    font:inherit;
    font-size:11px;
    font-weight:650;
    line-height:1.4;
    text-decoration:none;
    text-align:left;

    cursor:pointer;

    transition:
        color .2s ease,
        transform .2s ease;
}

body.home-premium-v2 .footer-pro-links a::before,
body.home-premium-v2 .footer-pro-text-button::before{
    content:"";

    width:5px;
    height:5px;

    border-radius:50%;

    background:#e9a70e;

    opacity:0;
    transform:scale(.4);

    transition:
        opacity .2s ease,
        transform .2s ease;
}

body.home-premium-v2 .footer-pro-links a:hover,
body.home-premium-v2 .footer-pro-text-button:hover{
    color:#ffffff;
    transform:translateX(3px);
}

body.home-premium-v2 .footer-pro-links a:hover::before,
body.home-premium-v2 .footer-pro-text-button:hover::before{
    opacity:1;
    transform:scale(1);
}

/*
|--------------------------------------------------------------------------
| Contact
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-contact{
    min-width:0;
}

body.home-premium-v2 .footer-pro-contact-row{
    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:10px;

    color:#ffffff;
    text-decoration:none;
}

body.home-premium-v2 .footer-pro-contact-row > span{
    flex:0 0 34px;

    width:34px;
    height:34px;

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

    border:1px solid rgba(255,255,255,.11);
    border-radius:10px;

    background:rgba(255,255,255,.055);
    color:#ffd04a;
}

body.home-premium-v2 .footer-pro-contact-row > span i{
    margin:0;
    color:inherit;
    font-size:12px;
}

body.home-premium-v2 .footer-pro-contact-row strong{
    display:block;

    overflow-wrap:anywhere;

    color:#eaf2fc;

    font-size:10.5px;
    font-weight:750;
}

body.home-premium-v2 .footer-pro-map{
    position:relative;

    margin-top:15px;

    overflow:hidden;

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

    box-shadow:
        0 15px 34px rgba(0,0,0,.18);
}

body.home-premium-v2 .footer-pro-map iframe{
    width:100%;
    height:145px;

    display:block;

    margin:0;

    border:0;
    border-radius:0;
}

/*
|--------------------------------------------------------------------------
| Barre inférieure
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    min-height:64px;

    padding:14px 10px;

    border-top:1px solid rgba(255,255,255,.09);
}

body.home-premium-v2 .footer-pro-bottom p{
    margin:0;

    color:#94a9c5;

    font-size:10px;
    font-weight:650;
}

body.home-premium-v2 .footer-pro-bottom-badges{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
}

body.home-premium-v2 .footer-pro-bottom-badges span,
body.home-premium-v2 .footer-pro-bottom-badges a{
    min-height:30px;

    display:inline-flex;
    align-items:center;
    gap:7px;

    padding:0 10px;

    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;

    background:rgba(255,255,255,.035);
    color:#b7c7db;

    font-size:8.5px;
    font-weight:750;
    text-decoration:none;
}

body.home-premium-v2 .footer-pro-bottom-badges i{
    color:#ffd04a;
}

body.home-premium-v2 .footer-pro-bottom-badges a:hover{
    border-color:rgba(255,208,74,.44);
    color:#ffffff;
}

/*
|--------------------------------------------------------------------------
| Tablette
|--------------------------------------------------------------------------
*/

@media(max-width:1050px){
    body.home-premium-v2 .footer-pro-cta{
        align-items:flex-start;
        flex-direction:column;
    }

    body.home-premium-v2 .footer-pro-main{
        grid-template-columns:
            minmax(260px,1.2fr)
            1fr
            1fr;
    }

    body.home-premium-v2 .footer-pro-contact{
        grid-column:1 / -1;

        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:10px 15px;
    }

    body.home-premium-v2 .footer-pro-contact h3,
    body.home-premium-v2 .footer-pro-map{
        grid-column:1 / -1;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:720px){
    body.home-premium-v2 .footer-pro-wrap{
        width:calc(100% - 18px);
    }

    body.home-premium-v2 .footer-pro-cta{
        margin-bottom:25px;
        padding:21px 17px;

        border-radius:18px;

        transform:translateY(-18px);
    }

    body.home-premium-v2 .footer-pro-cta-copy{
        align-items:flex-start;
    }

    body.home-premium-v2 .footer-pro-cta-icon{
        flex-basis:48px;

        width:48px;
        height:48px;
    }

    body.home-premium-v2 .footer-pro-cta h2{
        font-size:19px;
    }

    body.home-premium-v2 .footer-pro-cta-actions{
        width:100%;

        align-items:stretch;
        flex-direction:column;
    }

    body.home-premium-v2 .footer-pro-quote,
    body.home-premium-v2 .footer-pro-phone{
        width:100%;
        justify-content:center;
    }

    body.home-premium-v2 .footer-pro-main{
        grid-template-columns:1fr;
        gap:30px;

        padding:0 10px 30px;
    }

    body.home-premium-v2 .footer-pro-contact{
        grid-column:auto;
        display:block;
    }

    body.home-premium-v2 .footer-pro-logo img{
        width:96px;
        height:72px;
    }

    body.home-premium-v2 .footer-pro-bottom{
        align-items:flex-start;
        flex-direction:column;

        padding-top:18px;
        padding-bottom:20px;
    }

    body.home-premium-v2 .footer-pro-bottom-badges{
        justify-content:flex-start;
    }
}

/* ======================================================================
   ASSALAS TOURS — CORRECTION FOOTER COMPACT PREMIUM V28
   Corrige la hauteur excessive, le bandeau coupé et les grands espaces.
   ====================================================================== */

/*
|--------------------------------------------------------------------------
| Footer général plus compact
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .site-footer-pro{
    margin-top:34px !important;
    padding-top:0 !important;
}

body.home-premium-v2 .footer-pro-wrap{
    width:min(1240px,calc(100% - 32px)) !important;
}

/*
|--------------------------------------------------------------------------
| Bandeau CTA : plus petit, entièrement visible, sans décalage négatif
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-cta{
    width:100% !important;

    margin:0 0 28px !important;
    padding:18px 22px !important;

    gap:22px !important;

    border-radius:18px !important;

    transform:none !important;

    box-shadow:
        0 14px 36px rgba(0,0,0,.14) !important;
}

body.home-premium-v2 .footer-pro-cta-copy{
    gap:14px !important;
}

body.home-premium-v2 .footer-pro-cta-icon{
    flex-basis:48px !important;

    width:48px !important;
    height:48px !important;

    border-radius:14px !important;

    font-size:18px !important;
}

body.home-premium-v2 .footer-pro-kicker{
    margin-bottom:3px !important;

    font-size:9px !important;
}

body.home-premium-v2 .footer-pro-cta h2{
    font-size:19px !important;
    line-height:1.22 !important;
}

body.home-premium-v2 .footer-pro-cta p{
    margin-top:5px !important;

    font-size:10.5px !important;
    line-height:1.45 !important;
}

body.home-premium-v2 .footer-pro-quote,
body.home-premium-v2 .footer-pro-phone{
    min-height:44px !important;
}

body.home-premium-v2 .footer-pro-quote{
    padding:0 16px !important;
}

body.home-premium-v2 .footer-pro-phone{
    padding:0 12px !important;
}

/*
|--------------------------------------------------------------------------
| Grille principale : moins d'espace et meilleur alignement
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-main{
    grid-template-columns:
        minmax(230px,1.2fr)
        minmax(135px,.65fr)
        minmax(145px,.7fr)
        minmax(260px,1.05fr) !important;

    gap:30px !important;

    padding:0 8px 28px !important;
}

body.home-premium-v2 .footer-pro-main h3{
    margin-bottom:15px !important;

    font-size:13px !important;
}

body.home-premium-v2 .footer-pro-main h3::after{
    width:30px !important;
    margin-top:7px !important;
}

/*
|--------------------------------------------------------------------------
| Logo et présentation
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-logo{
    margin-bottom:9px !important;
}

body.home-premium-v2 .footer-pro-logo img{
    width:90px !important;
    height:66px !important;
}

body.home-premium-v2 .footer-pro-description{
    max-width:300px !important;

    font-size:10.5px !important;
    line-height:1.55 !important;
}

body.home-premium-v2 .footer-pro-trust{
    margin-top:12px !important;
}

body.home-premium-v2 .footer-pro-trust span{
    min-height:27px !important;

    padding:0 8px !important;

    font-size:8px !important;
}

body.home-premium-v2 .footer-pro-socials{
    margin-top:13px !important;
}

body.home-premium-v2 .footer-pro-socials a{
    width:35px !important;
    height:35px !important;

    border-radius:10px !important;

    font-size:13px !important;
}

/*
|--------------------------------------------------------------------------
| Liens compacts
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-links li{
    margin-bottom:8px !important;
}

body.home-premium-v2 .footer-pro-links a,
body.home-premium-v2 .footer-pro-text-button{
    font-size:10px !important;
}

/*
|--------------------------------------------------------------------------
| Contact et carte
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-contact-row{
    margin-bottom:8px !important;
}

body.home-premium-v2 .footer-pro-contact-row > span{
    flex-basis:30px !important;

    width:30px !important;
    height:30px !important;

    border-radius:9px !important;
}

body.home-premium-v2 .footer-pro-contact-row small{
    font-size:7.5px !important;
}

body.home-premium-v2 .footer-pro-contact-row strong{
    font-size:9.5px !important;
}

body.home-premium-v2 .footer-pro-map{
    margin-top:11px !important;

    border-radius:13px !important;
}

body.home-premium-v2 .footer-pro-map iframe{
    height:116px !important;
}

/*
|--------------------------------------------------------------------------
| Barre inférieure visible et non masquée par le chat
|--------------------------------------------------------------------------
*/

body.home-premium-v2 .footer-pro-bottom{
    min-height:54px !important;

    padding:
        12px
        190px
        12px
        8px !important;
}

body.home-premium-v2 .footer-pro-bottom p{
    font-size:9px !important;
}

body.home-premium-v2 .footer-pro-bottom-badges span,
body.home-premium-v2 .footer-pro-bottom-badges a{
    min-height:27px !important;

    padding:0 8px !important;

    font-size:7.5px !important;
}

/*
|--------------------------------------------------------------------------
| Tablette
|--------------------------------------------------------------------------
*/

@media(max-width:1050px){
    body.home-premium-v2 .footer-pro-main{
        grid-template-columns:
            minmax(230px,1fr)
            1fr
            1fr !important;
    }

    body.home-premium-v2 .footer-pro-contact{
        grid-template-columns:repeat(3,1fr) !important;
    }

    body.home-premium-v2 .footer-pro-bottom{
        padding-right:170px !important;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:720px){
    body.home-premium-v2 .site-footer-pro{
        margin-top:24px !important;
    }

    body.home-premium-v2 .footer-pro-wrap{
        width:calc(100% - 16px) !important;
    }

    body.home-premium-v2 .footer-pro-cta{
        margin-bottom:22px !important;
        padding:17px 15px !important;
    }

    body.home-premium-v2 .footer-pro-cta h2{
        font-size:17px !important;
    }

    body.home-premium-v2 .footer-pro-main{
        gap:25px !important;

        padding-bottom:24px !important;
    }

    body.home-premium-v2 .footer-pro-bottom{
        padding:
            15px
            8px
            88px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — FOOTER CLAIR PREMIUM V29
   Blanc neige, bleu nuit, bleu vif et accents dorés.
   ====================================================================== */

body.home-premium-v2 .footer-light-pro{
    position:relative;
    width:100%;
    margin:34px 0 0;
    padding:0;
    overflow:hidden;
    border:0;
    background:
        radial-gradient(
            circle at 95% 100%,
            rgba(7,94,232,.055),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #f5f9ff 0%,
            #ffffff 25%,
            #fbfdff 100%
        );
    color:#071f43;
    font-family:Arial,Helvetica,sans-serif;
}

body.home-premium-v2 .footer-light-wrap{
    width:min(1280px,calc(100% - 34px));
    margin:0 auto;
    padding:22px 0 0;
}

/* CTA */

body.home-premium-v2 .footer-light-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:24px 28px;
    border:1px solid #dde7f2;
    border-radius:22px;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            rgba(245,249,255,.96)
        );
    box-shadow:0 16px 42px rgba(7,31,67,.09);
}

body.home-premium-v2 .footer-light-cta-copy{
    display:flex;
    align-items:center;
    gap:18px;
    min-width:0;
}

body.home-premium-v2 .footer-light-cta-icon{
    flex:0 0 64px;
    width:64px;
    height:64px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d7e5fa;
    border-radius:18px;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #eef5ff
        );
    color:#dfa30e;
    box-shadow:0 10px 26px rgba(7,31,67,.09);
    font-size:24px;
}

body.home-premium-v2 .footer-light-kicker{
    display:block;
    margin-bottom:5px;
    color:#60718b;
    font-size:11px;
    font-weight:800;
}

body.home-premium-v2 .footer-light-cta h2{
    margin:0;
    color:#0a2d63;
    font-size:26px;
    font-weight:900;
    line-height:1.18;
    letter-spacing:-.55px;
}

body.home-premium-v2 .footer-light-cta p{
    margin:8px 0 0;
    color:#697991;
    font-size:13px;
    font-weight:600;
    line-height:1.55;
}

body.home-premium-v2 .footer-light-cta-actions{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:14px;
}

body.home-premium-v2 .footer-light-quote{
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 21px;
    border:0;
    border-radius:13px;
    background:
        linear-gradient(
            135deg,
            #f8c538,
            #dda00c
        );
    color:#071f43;
    box-shadow:0 12px 28px rgba(221,160,12,.23);
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease;
}

body.home-premium-v2 .footer-light-quote:hover{
    transform:translateY(-2px);
    box-shadow:0 17px 34px rgba(221,160,12,.29);
}

body.home-premium-v2 .footer-light-call{
    min-height:52px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:0 18px;
    border:1px solid #e0b54c;
    border-radius:13px;
    background:#ffffff;
    color:#071f43;
    text-decoration:none;
}

body.home-premium-v2 .footer-light-call > i{
    color:#d99b07;
}

body.home-premium-v2 .footer-light-call small{
    display:block;
    margin-bottom:2px;
    color:#79879a;
    font-size:9px;
    font-weight:700;
}

body.home-premium-v2 .footer-light-call strong{
    display:block;
    font-size:12px;
    font-weight:900;
}

/* Main grid */

body.home-premium-v2 .footer-light-main{
    display:grid;
    grid-template-columns:
        minmax(260px,1.15fr)
        minmax(160px,.68fr)
        minmax(190px,.8fr)
        minmax(285px,1.15fr);
    gap:38px;
    padding:48px 10px 35px;
}

body.home-premium-v2 .footer-light-main h3{
    margin:0 0 20px;
    color:#0a2d63;
    font-size:16px;
    font-weight:900;
}

body.home-premium-v2 .footer-light-main h3::after{
    content:"";
    display:block;
    width:34px;
    height:2px;
    margin-top:9px;
    border-radius:999px;
    background:#dda00c;
}

/* Brand */

body.home-premium-v2 .footer-light-logo{
    display:inline-flex;
    width:max-content;
}

body.home-premium-v2 .footer-light-logo img{
    width:125px;
    height:96px;
    display:block;
    object-fit:contain;
}

body.home-premium-v2 .footer-light-brand-line{
    display:block;
    width:44px;
    height:3px;
    margin:7px 0 20px;
    border-radius:999px;
    background:#d9a10c;
}

body.home-premium-v2 .footer-light-brand > p{
    max-width:300px;
    margin:0;
    color:#617188;
    font-size:13px;
    font-weight:600;
    line-height:1.72;
}

body.home-premium-v2 .footer-light-socials{
    display:flex;
    gap:10px;
    margin-top:24px;
}

body.home-premium-v2 .footer-light-socials a{
    width:43px;
    height:43px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dce5ef;
    border-radius:50%;
    background:#ffffff;
    color:#0a2d63;
    box-shadow:0 7px 18px rgba(7,31,67,.07);
    font-size:15px;
    transition:transform .2s ease,border-color .2s ease,color .2s ease;
}

body.home-premium-v2 .footer-light-socials a:hover{
    transform:translateY(-3px);
    border-color:#dda00c;
    color:#d99b07;
}

/* Links */

body.home-premium-v2 .footer-light-column ul{
    margin:0;
    padding:0;
    list-style:none;
}

body.home-premium-v2 .footer-light-column li{
    margin:0;
    border-bottom:1px solid #e8edf3;
}

body.home-premium-v2 .footer-light-column a,
body.home-premium-v2 .footer-light-column button{
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:#4e5e75;
    font:inherit;
    font-size:12px;
    font-weight:650;
    text-decoration:none;
    text-align:left;
    cursor:pointer;
    transition:color .2s ease,transform .2s ease;
}

body.home-premium-v2 .footer-light-column a::before{
    content:"\f054";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    color:#d99b07;
    font-size:9px;
}

body.home-premium-v2 .footer-light-column a:hover,
body.home-premium-v2 .footer-light-column button:hover{
    color:#075ee8;
    transform:translateX(3px);
}

body.home-premium-v2 .footer-light-services a::before{
    display:none;
}

body.home-premium-v2 .footer-light-services i{
    width:24px;
    color:#d99b07;
    font-size:15px;
}

/* Contact */

body.home-premium-v2 .footer-light-contact-row{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:46px;
    color:#4e5e75;
    font-size:12px;
    font-weight:650;
    text-decoration:none;
}

body.home-premium-v2 .footer-light-contact-row i{
    width:22px;
    color:#d99b07;
    font-size:15px;
}

body.home-premium-v2 .footer-light-map{
    margin-top:13px;
    overflow:hidden;
    border:1px solid #e0e7ee;
    border-radius:15px;
    background:#f8fafc;
    box-shadow:0 10px 25px rgba(7,31,67,.07);
}

body.home-premium-v2 .footer-light-map iframe{
    width:100%;
    height:150px;
    display:block;
    filter:saturate(.75) brightness(1.06);
}

/* Trust */

body.home-premium-v2 .footer-light-trust{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    margin:0 10px;
    padding:20px 0;
    border:1px solid #e4eaf1;
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 10px 30px rgba(7,31,67,.055);
}

body.home-premium-v2 .footer-light-trust-item{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-height:70px;
    padding:0 22px;
    border-right:1px solid #e5eaf0;
}

body.home-premium-v2 .footer-light-trust-item:last-child{
    border-right:0;
}

body.home-premium-v2 .footer-light-trust-item > span{
    flex:0 0 50px;
    width:50px;
    height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #eadab3;
    border-radius:50%;
    background:#fffdf8;
    color:#d99b07;
    font-size:19px;
}

body.home-premium-v2 .footer-light-trust-item strong{
    display:block;
    margin-bottom:4px;
    color:#0a2d63;
    font-size:12px;
    font-weight:900;
}

body.home-premium-v2 .footer-light-trust-item small{
    display:block;
    color:#77859a;
    font-size:10px;
    font-weight:600;
}

/* Moyens de paiement */

body.home-premium-v2 .footer-payment-showcase{
    position:relative;
    display:grid;
    grid-template-columns:minmax(275px,.72fr) minmax(0,1.55fr);
    align-items:center;
    gap:32px;
    margin:22px 10px 0;
    padding:25px 27px;
    overflow:hidden;
    border:1px solid #dce6f1;
    border-radius:20px;
    background:
        radial-gradient(circle at 0 0,rgba(234,179,46,.13),transparent 31%),
        radial-gradient(circle at 100% 100%,rgba(7,94,232,.09),transparent 34%),
        linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
    box-shadow:0 14px 36px rgba(7,31,67,.075);
}

body.home-premium-v2 .footer-payment-showcase::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg,#d99b07 0%,#f4cf68 34%,#075ee8 100%);
}

body.home-premium-v2 .footer-payment-copy{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
}

body.home-premium-v2 .footer-payment-icon{
    flex:0 0 58px;
    width:58px;
    height:58px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #ead7a4;
    border-radius:17px;
    background:linear-gradient(145deg,#fffdf8,#fff7df);
    color:#d99b07;
    box-shadow:0 9px 22px rgba(217,155,7,.13);
    font-size:21px;
}

body.home-premium-v2 .footer-payment-kicker{
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom:6px;
    color:#0b8b66;
    font-size:9.5px;
    font-weight:900;
    letter-spacing:.45px;
    text-transform:uppercase;
}

body.home-premium-v2 .footer-payment-copy h3{
    margin:0;
    color:#0a2d63;
    font-size:18px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.25px;
}

body.home-premium-v2 .footer-payment-copy p{
    max-width:310px;
    margin:6px 0 0;
    color:#738197;
    font-size:10.5px;
    font-weight:650;
    line-height:1.45;
}

body.home-premium-v2 .footer-payment-content{
    min-width:0;
}

body.home-premium-v2 .footer-light-payments{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:9px;
}

body.home-premium-v2 .footer-payment-card{
    position:relative;
    min-width:0;
    min-height:64px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px 11px;
    overflow:hidden;
    border:1px solid #dde5ee;
    border-radius:13px;
    background:#ffffff;
    box-shadow:0 7px 18px rgba(7,31,67,.065);
    color:#071f43;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

body.home-premium-v2 .footer-payment-card::after{
    content:"";
    position:absolute;
    right:8px;
    top:8px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#17a673;
    box-shadow:0 0 0 3px rgba(23,166,115,.1);
}

body.home-premium-v2 .footer-payment-card:hover{
    transform:translateY(-2px);
    border-color:#c7d7ea;
    box-shadow:0 11px 24px rgba(7,31,67,.1);
}

body.home-premium-v2 .payment-brand-copy{
    min-width:0;
}

body.home-premium-v2 .payment-brand-copy strong,
body.home-premium-v2 .payment-brand-copy small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

body.home-premium-v2 .payment-brand-copy strong{
    color:#17365f;
    font-size:10px;
    font-weight:900;
    line-height:1.2;
}

body.home-premium-v2 .payment-brand-copy small{
    margin-top:3px;
    color:#8491a3;
    font-size:7.5px;
    font-weight:750;
    line-height:1.15;
}

body.home-premium-v2 .payment-edahabia-mark{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:2px;
    overflow:hidden;
    border:1px solid #e4e8ee;
    border-radius:10px;
    background:#ffffff url("images/payments/edahabia.jpg") center/contain no-repeat;
    box-shadow:0 5px 12px rgba(7,31,67,.09);
}

body.home-premium-v2 .payment-edahabia-mark > i{
    display:none !important;
}

body.home-premium-v2 .payment-edahabia-mark img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    border-radius:7px;
}

body.home-premium-v2 .payment-edahabia .payment-brand-copy strong{
    color:#9a6a00;
    font-size:9px;
    letter-spacing:.12px;
}

body.home-premium-v2 .payment-cib-logo{
    flex:0 0 46px;
    width:46px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:2px;
    overflow:hidden;
    border:1px solid #e4e8ee;
    border-radius:10px;
    background:#ffffff url("images/payments/cib.png") center/contain no-repeat;
    box-shadow:0 5px 12px rgba(7,31,67,.09);
    color:transparent;
    font-size:0;
}

body.home-premium-v2 .payment-cib-logo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    border-radius:7px;
}

body.home-premium-v2 .payment-visa-logo{
    flex:0 0 39px;
    color:#163f9d;
    font-size:15px;
    font-weight:950;
    font-style:italic;
    letter-spacing:-1px;
    line-height:1;
}

body.home-premium-v2 .payment-mastercard-mark{
    flex:0 0 40px;
    display:flex;
    align-items:center;
    justify-content:center;
}

body.home-premium-v2 .payment-mastercard-mark i{
    width:25px;
    height:25px;
    border-radius:50%;
    background:#eb001b;
}

body.home-premium-v2 .payment-mastercard-mark i:last-child{
    margin-left:-9px;
    background:rgba(247,158,27,.9);
}

body.home-premium-v2 .payment-paypal-logo{
    flex:0 0 42px;
    display:flex;
    align-items:center;
    color:#153f8f;
    font-size:12px;
    font-weight:950;
    font-style:italic;
    letter-spacing:-.65px;
}

body.home-premium-v2 .payment-paypal-logo b:last-child{
    color:#168bd1;
}

body.home-premium-v2 .footer-payment-security{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:17px;
    margin-top:9px;
    color:#78869a;
    font-size:8.5px;
    font-weight:750;
}

body.home-premium-v2 .footer-payment-security span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

body.home-premium-v2 .footer-payment-security i{
    color:#16a06f;
    font-size:9px;
}

/* Bottom */

body.home-premium-v2 .footer-light-bottom{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:22px;
    min-height:82px;
    margin-top:14px;
    padding:18px 190px 18px 10px;
    border-top:1px solid #e5ebf2;
}

body.home-premium-v2 .footer-light-bottom > p{
    margin:0;
    color:#758398;
    font-size:10px;
    font-weight:650;
}

body.home-premium-v2 .footer-light-legal{
    display:flex;
    justify-content:flex-end;
    gap:15px;
    color:#67768b;
    font-size:9.5px;
    font-weight:650;
    white-space:nowrap;
}

body.home-premium-v2 .footer-light-legal span{
    position:relative;
}

body.home-premium-v2 .footer-light-legal span + span::before{
    content:"";
    position:absolute;
    left:-8px;
    top:50%;
    width:1px;
    height:12px;
    background:#cfd8e2;
    transform:translateY(-50%);
}

/* Responsive */

@media(max-width:1050px){
    body.home-premium-v2 .footer-light-cta{
        align-items:flex-start;
        flex-direction:column;
    }

    body.home-premium-v2 .footer-light-main{
        grid-template-columns:minmax(240px,1fr) 1fr 1fr;
    }

    body.home-premium-v2 .footer-light-contact{
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:8px 18px;
    }

    body.home-premium-v2 .footer-light-contact h3,
    body.home-premium-v2 .footer-light-map{
        grid-column:1 / -1;
    }

    body.home-premium-v2 .footer-light-bottom{
        grid-template-columns:1fr auto;
        padding-right:175px;
    }

    body.home-premium-v2 .footer-payment-showcase{
        grid-template-columns:1fr;
        gap:19px;
    }

    body.home-premium-v2 .footer-light-legal{
        grid-column:1 / -1;
        justify-content:flex-start;
    }
}

@media(max-width:720px){
    body.home-premium-v2 .footer-light-wrap{
        width:calc(100% - 16px);
    }

    body.home-premium-v2 .footer-light-cta{
        padding:20px 16px;
    }

    body.home-premium-v2 .footer-light-cta-copy{
        align-items:flex-start;
    }

    body.home-premium-v2 .footer-light-cta-icon{
        flex-basis:50px;
        width:50px;
        height:50px;
    }

    body.home-premium-v2 .footer-light-cta h2{
        font-size:21px;
    }

    body.home-premium-v2 .footer-light-cta-actions{
        width:100%;
        align-items:stretch;
        flex-direction:column;
    }

    body.home-premium-v2 .footer-light-quote,
    body.home-premium-v2 .footer-light-call{
        width:100%;
        justify-content:center;
    }

    body.home-premium-v2 .footer-light-main{
        grid-template-columns:1fr;
        gap:30px;
        padding-top:34px;
    }

    body.home-premium-v2 .footer-light-contact{
        grid-column:auto;
        display:block;
    }

    body.home-premium-v2 .footer-light-trust{
        grid-template-columns:1fr;
    }

    body.home-premium-v2 .footer-light-trust-item{
        justify-content:flex-start;
        border-right:0;
        border-bottom:1px solid #e5eaf0;
    }

    body.home-premium-v2 .footer-light-trust-item:last-child{
        border-bottom:0;
    }

    body.home-premium-v2 .footer-light-bottom{
        grid-template-columns:1fr;
        padding:20px 8px 90px;
    }

    body.home-premium-v2 .footer-light-payments{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.home-premium-v2 .footer-payment-card:last-child{
        grid-column:1 / -1;
        justify-content:center;
    }

    body.home-premium-v2 .footer-payment-showcase{
        margin-left:0;
        margin-right:0;
        padding:20px 15px;
        border-radius:17px;
    }

    body.home-premium-v2 .footer-payment-copy{
        align-items:flex-start;
    }

    body.home-premium-v2 .footer-payment-icon{
        flex-basis:48px;
        width:48px;
        height:48px;
        border-radius:14px;
    }

    body.home-premium-v2 .footer-payment-copy h3{
        font-size:16px;
    }

    body.home-premium-v2 .footer-payment-card{
        min-height:62px;
    }

    body.home-premium-v2 .footer-payment-security{
        align-items:flex-start;
        justify-content:flex-start;
        flex-direction:column;
        gap:7px;
    }

    body.home-premium-v2 .footer-light-legal{
        flex-wrap:wrap;
        justify-content:flex-start;
        white-space:normal;
    }
}

/* ======================================================================
   ASSALAS TOURS — CORRECTION DES ONGLETS DE RECHERCHE V30
   Un seul formulaire est visible à la fois.
   ====================================================================== */

body.home-premium-v2
.booking-container
.booking-content[hidden]{
    display:none !important;
}

body.home-premium-v2
.booking-container
.booking-content:not(.active){
    display:none !important;
}

body.home-premium-v2
.booking-container
.booking-content.active{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
}

/*
|--------------------------------------------------------------------------
| Empêche un ancien style ou script d'afficher Vols sous les autres services.
|--------------------------------------------------------------------------
*/

body.home-premium-v2
.booking-container
#vols:not(.active),
body.home-premium-v2
.booking-container
#hotels:not(.active),
body.home-premium-v2
.booking-container
#visas:not(.active),
body.home-premium-v2
.booking-container
#transferts:not(.active){
    display:none !important;
}

/*
|--------------------------------------------------------------------------
| Les panneaux actifs restent fluides sur ordinateur et mobile.
|--------------------------------------------------------------------------
*/

body.home-premium-v2
.booking-container
#hotels.active,
body.home-premium-v2
.booking-container
#visas.active,
body.home-premium-v2
.booking-container
#transferts.active{
    display:flex !important;
}

@media(max-width:760px){
    body.home-premium-v2
    .booking-container
    .booking-content.active{
        align-items:stretch !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — PRÉSENTATION DE L'AGENCE ET AVIS GOOGLE
   ====================================================================== */

.agency-profile{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:clamp(64px,7vw,104px) 0;
    background:
        radial-gradient(circle at 8% 8%,rgba(35,118,255,.12),transparent 30%),
        radial-gradient(circle at 92% 18%,rgba(255,176,0,.13),transparent 28%),
        linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);
    scroll-margin-top:28px;
}

.agency-profile::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    opacity:.28;
    background-image:radial-gradient(rgba(8,45,95,.19) .7px,transparent .7px);
    background-size:22px 22px;
    pointer-events:none;
}

.agency-profile-shell{
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
}

.agency-profile-grid{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    gap:24px;
    align-items:stretch;
}

.agency-profile-video-card{
    min-width:0;
    margin:0;
    padding:10px;
    border:1px solid rgba(255,255,255,.74);
    border-radius:30px;
    background:linear-gradient(145deg,#061d40 0%,#0b3975 100%);
    box-shadow:0 28px 68px rgba(8,45,95,.22);
}

.agency-profile-video-frame{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    background:#04142d;
}

.agency-profile-video-frame::after{
    content:"";
    position:absolute;
    inset:0;
    border:1px solid rgba(255,255,255,.16);
    border-radius:inherit;
    pointer-events:none;
}

.agency-profile-video-frame video{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    border:0;
    border-radius:inherit;
    object-fit:cover;
    background:#04142d;
}

.agency-profile-video-caption{
    display:flex;
    align-items:center;
    gap:13px;
    min-height:78px;
    padding:14px 12px 8px;
    color:#fff;
}

.agency-profile-video-icon{
    display:inline-flex;
    flex:0 0 46px;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    background:linear-gradient(135deg,#ffbd20,#f28a00);
    color:#071f43;
    box-shadow:0 10px 22px rgba(247,157,0,.28);
}

.agency-profile-video-caption > span:last-child{
    display:grid;
    gap:3px;
}

.agency-profile-video-caption strong{
    font-size:15px;
    line-height:1.3;
}

.agency-profile-video-caption small{
    color:rgba(255,255,255,.68);
    font-size:11.5px;
    font-weight:600;
}

.agency-profile-about{
    min-width:0;
    padding:clamp(28px,3.2vw,46px);
    border:1px solid rgba(158,184,219,.38);
    border-radius:30px;
    background:rgba(255,255,255,.9);
    box-shadow:0 24px 58px rgba(28,68,118,.13);
    backdrop-filter:blur(16px);
}

.agency-profile-kicker{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    align-items:center;
    gap:9px;
    margin:0 0 14px;
    color:#1465cc;
    font-size:11px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.agency-profile-kicker > i{
    color:#f49b00;
}

.agency-profile-about h2,
.agency-reviews-heading h2{
    margin:0;
    color:#071f43;
    font-size:clamp(31px,3vw,48px);
    font-weight:900;
    line-height:1.04;
    letter-spacing:-.045em;
}

.agency-profile-lead{
    margin:20px 0 10px;
    color:#173b69;
    font-size:17px;
    font-weight:800;
    line-height:1.55;
}

.agency-profile-copy{
    margin:0;
    color:#5b6f8b;
    font-size:14px;
    font-weight:500;
    line-height:1.75;
}

.agency-profile-strengths{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:26px 0;
}

.agency-profile-strengths > div{
    display:flex;
    min-width:0;
    align-items:center;
    gap:11px;
    padding:13px;
    border:1px solid #e1eaf6;
    border-radius:17px;
    background:#f8fbff;
}

.agency-profile-strength-icon{
    display:inline-flex;
    flex:0 0 40px;
    width:40px;
    height:40px;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#e7f0ff;
    color:#1267dd;
}

.agency-profile-strengths > div > span:last-child{
    display:grid;
    min-width:0;
    gap:3px;
}

.agency-profile-strengths strong{
    color:#102f5a;
    font-size:12px;
    line-height:1.3;
}

.agency-profile-strengths small{
    color:#718097;
    font-size:9.8px;
    font-weight:600;
    line-height:1.35;
}

.agency-profile-actions{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.agency-profile-cta,
.agency-reviews-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:0 20px;
    border-radius:14px;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.agency-profile-cta{
    background:linear-gradient(135deg,#0a63dd,#084ba9);
    color:#fff;
    box-shadow:0 12px 24px rgba(10,99,221,.22);
}

.agency-profile-cta:hover,
.agency-reviews-link:hover{
    transform:translateY(-2px);
}

.agency-profile-cta:hover{
    box-shadow:0 16px 30px rgba(10,99,221,.3);
}

.agency-profile-location{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#536984;
    font-size:11.5px;
    font-weight:800;
}

.agency-profile-location i{
    color:#f29a00;
}

.agency-reviews{
    margin-top:32px;
    padding:clamp(24px,3vw,38px);
    border:1px solid rgba(158,184,219,.4);
    border-radius:30px;
    background:rgba(255,255,255,.84);
    box-shadow:0 22px 54px rgba(28,68,118,.11);
    backdrop-filter:blur(14px);
}

.agency-reviews-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:25px;
}

.agency-reviews-heading h2{
    font-size:clamp(27px,2.7vw,40px);
}

.agency-reviews-heading p{
    max-width:650px;
    margin:9px 0 0;
    color:#60738d;
    font-size:13px;
    font-weight:600;
    line-height:1.6;
}

.agency-google-g{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#4285f4;
    font-family:Arial,sans-serif;
    font-size:16px;
    font-weight:900;
    letter-spacing:0;
    text-transform:none;
}

.agency-reviews-link{
    flex:0 0 auto;
    border:1px solid #cfddee;
    background:#fff;
    color:#0c3972;
    box-shadow:0 8px 22px rgba(21,58,103,.08);
}

.agency-reviews-link:hover{
    border-color:#b7cae2;
    background:#f8fbff;
    box-shadow:0 12px 26px rgba(21,58,103,.12);
}

.agency-reviews-content{
    display:grid;
    grid-template-columns:238px minmax(0,1fr);
    gap:16px;
    align-items:stretch;
}

.agency-reviews-score{
    display:flex;
    min-height:100%;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding:27px;
    border-radius:23px;
    background:
        radial-gradient(circle at 88% 12%,rgba(255,183,0,.25),transparent 35%),
        linear-gradient(145deg,#071f43,#0a3978);
    color:#fff;
    box-shadow:0 18px 36px rgba(7,31,67,.2);
}

.agency-reviews-score-label{
    color:#a9c8f1;
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.agency-reviews-score > strong{
    display:flex;
    align-items:flex-end;
    margin:8px 0 5px;
    font-size:58px;
    font-weight:900;
    line-height:1;
    letter-spacing:-.06em;
}

.agency-reviews-score > strong span{
    margin:0 0 7px 5px;
    color:#bed0e9;
    font-size:18px;
    letter-spacing:-.02em;
}

.agency-reviews-stars,
.agency-review-stars{
    display:flex;
    gap:3px;
    color:#fbbc04;
}

.agency-reviews-stars{
    font-size:15px;
}

.agency-reviews-count{
    margin-top:10px;
    color:#fff;
    font-size:11px;
    font-weight:800;
}

.agency-reviews-address{
    display:flex;
    align-items:flex-start;
    gap:7px;
    margin-top:23px;
    padding-top:17px;
    border-top:1px solid rgba(255,255,255,.14);
    color:#b9cbe3;
    font-size:9.5px;
    font-weight:600;
    line-height:1.45;
}

.agency-reviews-address i{
    margin-top:2px;
    color:#ffb300;
}

.agency-reviews-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.agency-review-card{
    min-width:0;
    padding:19px;
    border:1px solid #e1e9f4;
    border-radius:20px;
    background:#fff;
    box-shadow:0 9px 25px rgba(31,65,109,.07);
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.agency-review-card:hover{
    transform:translateY(-2px);
    border-color:#cddbed;
    box-shadow:0 14px 30px rgba(31,65,109,.11);
}

.agency-review-card header{
    display:flex;
    align-items:center;
    gap:10px;
}

.agency-review-avatar{
    display:inline-flex;
    flex:0 0 38px;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#dbe9ff;
    color:#0754b6;
    font-size:13px;
    font-weight:900;
}

.agency-review-card:nth-child(2) .agency-review-avatar{
    background:#d9f5ed;
    color:#07856d;
}

.agency-review-card:nth-child(3) .agency-review-avatar{
    background:#ffe7d4;
    color:#c55a00;
}

.agency-review-card:nth-child(4) .agency-review-avatar{
    background:#eee5ff;
    color:#7040b8;
}

.agency-review-person{
    display:grid;
    min-width:0;
    flex:1;
    gap:2px;
}

.agency-review-person strong{
    overflow:hidden;
    color:#102f5a;
    font-size:12px;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.agency-review-person small{
    overflow:hidden;
    color:#8390a3;
    font-size:8.5px;
    font-weight:700;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.agency-review-card header > .agency-google-g{
    flex:0 0 auto;
    width:26px;
    height:26px;
    border:1px solid #edf1f6;
    border-radius:9px;
    background:#fff;
    box-shadow:0 3px 10px rgba(0,0,0,.05);
    font-size:13px;
}

.agency-review-stars{
    margin:13px 0 9px;
    font-size:10px;
}

.agency-review-card > p{
    display:-webkit-box;
    overflow:hidden;
    margin:0;
    color:#4c607b;
    font-size:10.5px;
    font-weight:600;
    line-height:1.58;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
}

[dir="rtl"] .agency-profile-cta i,
[dir="rtl"] .agency-reviews-link i{
    transform:scaleX(-1);
}

[dir="rtl"] .agency-reviews-score > strong span{
    margin-right:5px;
    margin-left:0;
}

@media(max-width:980px){
    .agency-profile-grid{
        grid-template-columns:1fr;
    }

    .agency-profile-video-card{
        max-width:760px;
        width:100%;
        margin:0 auto;
    }

    .agency-reviews-content{
        grid-template-columns:1fr;
    }

    .agency-reviews-score{
        min-height:auto;
        display:grid;
        grid-template-columns:auto auto 1fr;
        grid-template-rows:auto auto;
        column-gap:18px;
        align-items:center;
        justify-content:start;
    }

    .agency-reviews-score-label{
        grid-column:1;
    }

    .agency-reviews-score > strong{
        grid-column:1;
        grid-row:2;
        margin-bottom:0;
        font-size:48px;
    }

    .agency-reviews-stars{
        grid-column:2;
        grid-row:2;
    }

    .agency-reviews-count{
        grid-column:2;
        grid-row:1;
        margin:0;
    }

    .agency-reviews-address{
        grid-column:3;
        grid-row:1 / 3;
        margin:0;
        padding:0 0 0 18px;
        border-top:0;
        border-left:1px solid rgba(255,255,255,.14);
    }

    [dir="rtl"] .agency-reviews-address{
        padding-right:18px;
        padding-left:0;
        border-right:1px solid rgba(255,255,255,.14);
        border-left:0;
    }
}

@media(max-width:680px){
    .agency-profile{
        padding:54px 0;
    }

    .agency-profile-shell{
        width:min(1180px,calc(100% - 24px));
    }

    .agency-profile-video-card,
    .agency-profile-about,
    .agency-reviews{
        border-radius:23px;
    }

    .agency-profile-video-card{
        padding:7px;
    }

    .agency-profile-video-frame{
        border-radius:17px;
    }

    .agency-profile-about,
    .agency-reviews{
        padding:23px 19px;
    }

    .agency-profile-about h2{
        font-size:34px;
    }

    .agency-profile-strengths{
        grid-template-columns:1fr;
    }

    .agency-profile-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .agency-profile-cta{
        width:100%;
    }

    .agency-reviews-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .agency-reviews-link{
        width:100%;
    }

    .agency-reviews-score{
        display:flex;
        align-items:flex-start;
        padding:23px;
    }

    .agency-reviews-score > strong{
        font-size:50px;
    }

    .agency-reviews-address,
    [dir="rtl"] .agency-reviews-address{
        margin-top:18px;
        padding:15px 0 0;
        border-top:1px solid rgba(255,255,255,.14);
        border-right:0;
        border-left:0;
    }

    .agency-reviews-grid{
        display:flex;
        overflow-x:auto;
        gap:12px;
        margin:0 -5px;
        padding:2px 5px 12px;
        scroll-padding-inline:5px;
        scroll-snap-type:x mandatory;
        scrollbar-width:thin;
    }

    .agency-review-card{
        flex:0 0 min(84vw,330px);
        scroll-snap-align:start;
    }
}

@media(prefers-reduced-motion:reduce){
    .agency-profile-cta,
    .agency-reviews-link,
    .agency-review-card{
        transition:none;
    }
}

/* ======================================================================
   ASSALAS TOURS — VERSION COMPACTE ULTRA MODERNE
   Réduit la hauteur des deux blocs sans supprimer leur contenu.
   ====================================================================== */

body.home-premium-v2 .agency-profile{
    padding:38px 0 44px;
    background:
        radial-gradient(circle at 4% 0%,rgba(43,125,255,.13),transparent 28%),
        radial-gradient(circle at 96% 6%,rgba(255,176,0,.12),transparent 25%),
        linear-gradient(180deg,#f8fbff 0%,#edf4fd 100%);
}

body.home-premium-v2 .agency-profile-shell{
    width:min(1240px,calc(100% - 40px));
}

body.home-premium-v2 .agency-profile-grid{
    grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);
    gap:16px;
    align-items:start;
}

body.home-premium-v2 .agency-profile-video-card{
    align-self:start;
    padding:7px;
    border-radius:24px;
    box-shadow:0 20px 48px rgba(7,38,82,.2);
}

body.home-premium-v2 .agency-profile-video-frame{
    border-radius:18px;
}

body.home-premium-v2 .agency-profile-video-caption{
    display:none;
}

body.home-premium-v2 .agency-profile-about{
    position:relative;
    overflow:hidden;
    padding:27px 29px;
    border-radius:24px;
    background:rgba(255,255,255,.88);
    box-shadow:0 18px 44px rgba(30,70,122,.11);
}

body.home-premium-v2 .agency-profile-about::before{
    content:"";
    position:absolute;
    top:0;
    right:28px;
    left:28px;
    height:3px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,#1267df,#4f8cff 55%,#ffae00);
}

body.home-premium-v2 .agency-profile-kicker{
    gap:7px;
    margin-bottom:9px;
    font-size:9.5px;
    letter-spacing:.11em;
}

body.home-premium-v2 .agency-profile-about h2{
    font-size:clamp(30px,2.6vw,40px);
    line-height:1;
}

body.home-premium-v2 .agency-profile-lead{
    margin:14px 0 6px;
    font-size:14.5px;
    line-height:1.45;
}

body.home-premium-v2 .agency-profile-copy{
    font-size:12px;
    line-height:1.58;
}

body.home-premium-v2 .agency-profile-strengths{
    gap:9px;
    margin:16px 0;
}

body.home-premium-v2 .agency-profile-strengths > div{
    gap:9px;
    padding:10px;
    border-radius:14px;
    background:rgba(246,250,255,.86);
}

body.home-premium-v2 .agency-profile-strength-icon{
    flex-basis:34px;
    width:34px;
    height:34px;
    border-radius:11px;
    font-size:12px;
}

body.home-premium-v2 .agency-profile-strengths strong{
    font-size:10.5px;
}

body.home-premium-v2 .agency-profile-strengths small{
    font-size:8.5px;
    line-height:1.3;
}

body.home-premium-v2 .agency-profile-actions{
    gap:12px;
}

body.home-premium-v2 .agency-profile-cta{
    min-height:42px;
    padding:0 16px;
    border-radius:12px;
    font-size:10.5px;
    box-shadow:0 10px 22px rgba(10,99,221,.2);
}

body.home-premium-v2 .agency-profile-location{
    gap:6px;
    font-size:10px;
}

body.home-premium-v2 .agency-reviews{
    margin-top:16px;
    padding:21px 23px 23px;
    border-radius:24px;
    background:rgba(255,255,255,.82);
    box-shadow:0 16px 40px rgba(30,70,122,.09);
}

body.home-premium-v2 .agency-reviews-heading{
    align-items:center;
    margin-bottom:15px;
}

body.home-premium-v2 .agency-reviews-heading .agency-profile-kicker{
    margin-bottom:6px;
}

body.home-premium-v2 .agency-reviews-heading h2{
    font-size:clamp(25px,2.3vw,32px);
    line-height:1;
}

body.home-premium-v2 .agency-reviews-heading p{
    margin-top:6px;
    font-size:10.5px;
    line-height:1.45;
}

body.home-premium-v2 .agency-reviews-link{
    min-height:40px;
    padding:0 15px;
    border-radius:12px;
    font-size:10px;
}

body.home-premium-v2 .agency-reviews-content{
    grid-template-columns:185px minmax(0,1fr);
    gap:12px;
}

body.home-premium-v2 .agency-reviews-score{
    padding:18px;
    border-radius:18px;
    box-shadow:0 14px 30px rgba(7,31,67,.17);
}

body.home-premium-v2 .agency-reviews-score-label{
    font-size:8.5px;
    letter-spacing:.1em;
}

body.home-premium-v2 .agency-reviews-score > strong{
    margin:6px 0 4px;
    font-size:44px;
}

body.home-premium-v2 .agency-reviews-score > strong span{
    margin-bottom:5px;
    font-size:14px;
}

body.home-premium-v2 .agency-reviews-stars{
    font-size:11px;
}

body.home-premium-v2 .agency-reviews-count{
    margin-top:7px;
    font-size:9px;
}

body.home-premium-v2 .agency-reviews-address{
    margin-top:13px;
    padding-top:11px;
    font-size:8px;
}

body.home-premium-v2 .agency-reviews-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}

body.home-premium-v2 .agency-review-card{
    min-height:168px;
    padding:13px;
    border-radius:16px;
    box-shadow:0 7px 20px rgba(31,65,109,.055);
}

body.home-premium-v2 .agency-review-card header{
    gap:8px;
}

body.home-premium-v2 .agency-review-avatar{
    flex-basis:32px;
    width:32px;
    height:32px;
    font-size:11px;
}

body.home-premium-v2 .agency-review-person strong{
    font-size:10px;
}

body.home-premium-v2 .agency-review-person small{
    font-size:8px;
}

body.home-premium-v2 .agency-review-card header > .agency-google-g{
    width:23px;
    height:23px;
    border-radius:8px;
    font-size:11px;
}

body.home-premium-v2 .agency-review-stars{
    margin:9px 0 7px;
    font-size:8.5px;
}

body.home-premium-v2 .agency-review-card > p{
    font-size:9.5px;
    line-height:1.47;
    -webkit-line-clamp:6;
}

@media(max-width:1080px){
    body.home-premium-v2 .agency-reviews-grid{
        display:flex;
        overflow-x:auto;
        gap:10px;
        padding:2px 2px 8px;
        scroll-snap-type:x mandatory;
        scrollbar-width:thin;
    }

    body.home-premium-v2 .agency-review-card{
        flex:0 0 235px;
        scroll-snap-align:start;
    }
}

@media(max-width:900px){
    body.home-premium-v2 .agency-profile-grid{
        grid-template-columns:1fr;
    }

    body.home-premium-v2 .agency-profile-video-card{
        width:100%;
        max-width:720px;
        margin:0 auto;
    }

    body.home-premium-v2 .agency-reviews-content{
        grid-template-columns:1fr;
    }

    body.home-premium-v2 .agency-reviews-score{
        display:grid;
        min-height:106px;
        grid-template-columns:auto auto 1fr;
        grid-template-rows:auto auto;
        column-gap:15px;
        align-items:center;
    }

    body.home-premium-v2 .agency-reviews-score-label{
        grid-column:1;
        grid-row:1;
    }

    body.home-premium-v2 .agency-reviews-score > strong{
        grid-column:1;
        grid-row:2;
        margin-bottom:0;
    }

    body.home-premium-v2 .agency-reviews-stars{
        grid-column:2;
        grid-row:2;
    }

    body.home-premium-v2 .agency-reviews-count{
        grid-column:2;
        grid-row:1;
        margin:0;
    }

    body.home-premium-v2 .agency-reviews-address,
    [dir="rtl"] body.home-premium-v2 .agency-reviews-address{
        grid-column:3;
        grid-row:1 / 3;
        margin:0;
        padding:0 0 0 15px;
        border-top:0;
        border-right:0;
        border-bottom:0;
        border-left:1px solid rgba(255,255,255,.14);
    }

    [dir="rtl"] body.home-premium-v2 .agency-reviews-address{
        padding-right:15px;
        padding-left:0;
        border-right:1px solid rgba(255,255,255,.14);
        border-left:0;
    }
}

@media(max-width:680px){
    body.home-premium-v2 .agency-profile{
        padding:28px 0 34px;
    }

    body.home-premium-v2 .agency-profile-shell{
        width:min(1180px,calc(100% - 20px));
    }

    body.home-premium-v2 .agency-profile-about,
    body.home-premium-v2 .agency-reviews{
        padding:20px 17px;
        border-radius:20px;
    }

    body.home-premium-v2 .agency-profile-about h2{
        font-size:30px;
    }

    body.home-premium-v2 .agency-profile-copy{
        font-size:11.5px;
    }

    body.home-premium-v2 .agency-profile-strengths{
        grid-template-columns:1fr 1fr;
    }

    body.home-premium-v2 .agency-profile-actions{
        flex-direction:row;
        align-items:center;
    }

    body.home-premium-v2 .agency-profile-cta{
        width:auto;
        flex:1;
    }

    body.home-premium-v2 .agency-reviews-heading{
        gap:12px;
        margin-bottom:13px;
    }

    body.home-premium-v2 .agency-reviews-heading p{
        display:none;
    }

    body.home-premium-v2 .agency-reviews-score{
        min-height:92px;
        grid-template-columns:auto 1fr;
        padding:15px 17px;
    }

    body.home-premium-v2 .agency-reviews-score > strong{
        font-size:39px;
    }

    body.home-premium-v2 .agency-reviews-address,
    [dir="rtl"] body.home-premium-v2 .agency-reviews-address{
        display:none;
    }

    body.home-premium-v2 .agency-review-card{
        flex-basis:min(76vw,280px);
        min-height:155px;
    }
}

@media(max-width:440px){
    body.home-premium-v2 .agency-profile-strengths{
        grid-template-columns:1fr;
    }

    body.home-premium-v2 .agency-profile-location{
        display:none;
    }

    body.home-premium-v2 .agency-reviews-heading{
        align-items:stretch;
    }

    body.home-premium-v2 .agency-reviews-link{
        width:100%;
    }
}

/* ======================================================================
   ASSALAS TOURS — NAVBAR MOBILE PREMIUM V19
   Correctif final placé en fin de fichier pour neutraliser les anciennes
   règles concurrentes du menu mobile sans modifier la version ordinateur.
   ====================================================================== */

body.home-premium-v2 .mobile-menu,
body.home-premium-v2 .mobile-menu-backdrop{
    display:none !important;
}

@media(max-width:1080px){
    html{
        overflow-x:hidden;
    }

    body.home-premium-v2{
        overflow-x:clip;
    }

    body.home-premium-v2.mobile-nav-open{
        overflow:hidden !important;
        overscroll-behavior:none;
    }

    body.home-premium-v2 .premium-topbar{
        display:none !important;
    }

    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        position:absolute !important;
        top:max(10px,env(safe-area-inset-top)) !important;
        left:12px !important;
        right:12px !important;
        z-index:1800 !important;

        width:auto !important;
        height:68px !important;
        min-height:68px !important;

        margin:0 !important;
        padding:7px 9px 7px 12px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;

        border:1px solid rgba(255,255,255,.92) !important;
        border-radius:20px !important;

        background:rgba(255,255,255,.96) !important;
        box-shadow:
            0 16px 42px rgba(3,26,57,.18),
            0 1px 0 rgba(255,255,255,.95) inset !important;

        backdrop-filter:blur(18px) saturate(1.18) !important;
        -webkit-backdrop-filter:blur(18px) saturate(1.18) !important;
        transform:none !important;
    }

    body.home-premium-v2 .navbar .nav-center,
    body.home-premium-v2 .navbar .desktop-main-menu,
    body.home-premium-v2 .navbar .premium-more-menu,
    body.home-premium-v2 .navbar .nav-right{
        display:none !important;
    }

    body.home-premium-v2 .navbar .logo,
    body.home-premium-v2 .navbar .premium-brand-link{
        width:auto !important;
        min-width:0 !important;
        height:54px !important;
        margin:0 !important;
        padding:0 !important;
        display:inline-flex !important;
        align-items:center !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:58px !important;
        max-width:58px !important;
        height:54px !important;
        object-fit:contain !important;
        filter:drop-shadow(0 5px 9px rgba(7,31,67,.12)) !important;
    }

    body.home-premium-v2 .navbar .mobile-menu-btn,
    body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn{
        position:relative !important;
        z-index:2 !important;

        width:48px !important;
        min-width:48px !important;
        height:48px !important;

        margin:0 0 0 auto !important;
        padding:0 !important;

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

        border:0 !important;
        border-radius:15px !important;

        background:linear-gradient(145deg,#0b63e8,#063fb5) !important;
        color:#ffffff !important;
        box-shadow:0 10px 22px rgba(7,94,232,.25) !important;

        font-size:19px !important;
        cursor:pointer !important;
        -webkit-tap-highlight-color:transparent;
    }

    [dir="rtl"] body.home-premium-v2 .navbar .mobile-menu-btn{
        margin-right:auto !important;
        margin-left:0 !important;
    }

    body.home-premium-v2 .navbar .mobile-menu-btn:focus-visible,
    body.home-premium-v2 #mobileMenu button:focus-visible,
    body.home-premium-v2 #mobileMenu a:focus-visible{
        outline:3px solid rgba(255,190,30,.92) !important;
        outline-offset:3px !important;
    }

    body.home-premium-v2 .mobile-menu-backdrop{
        position:fixed !important;
        inset:0 !important;
        z-index:2147482500 !important;

        width:100% !important;
        height:100% !important;
        margin:0 !important;
        padding:0 !important;

        display:block !important;

        border:0 !important;
        border-radius:0 !important;
        background:rgba(2,17,38,.60) !important;

        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;

        backdrop-filter:blur(5px) !important;
        -webkit-backdrop-filter:blur(5px) !important;
        transition:opacity .28s ease,visibility .28s ease !important;
    }

    body.home-premium-v2 .mobile-menu-backdrop.active{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    body.home-premium-v2 #mobileMenu{
        position:fixed !important;
        top:0 !important;
        right:0 !important;
        bottom:0 !important;
        left:auto !important;
        z-index:2147483000 !important;

        box-sizing:border-box !important;
        width:min(90vw,390px) !important;
        max-width:390px !important;
        height:100vh !important;
        height:100dvh !important;
        max-height:none !important;

        margin:0 !important;
        padding:
            max(18px,env(safe-area-inset-top))
            max(16px,env(safe-area-inset-right))
            max(18px,env(safe-area-inset-bottom))
            16px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:12px !important;

        overflow-x:hidden !important;
        overflow-y:auto !important;
        overscroll-behavior:contain !important;

        border:0 !important;
        border-left:1px solid rgba(255,255,255,.15) !important;
        border-radius:28px 0 0 28px !important;

        background:
            radial-gradient(circle at 92% 4%,rgba(34,119,255,.34),transparent 32%),
            linear-gradient(165deg,#0a3169 0%,#061f45 46%,#03152f 100%) !important;
        color:#ffffff !important;
        box-shadow:-28px 0 80px rgba(0,0,0,.34) !important;

        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transform:translate3d(105%,0,0) !important;
        transform-origin:right center !important;

        transition:
            transform .34s cubic-bezier(.22,.8,.23,1),
            opacity .25s ease,
            visibility .34s ease !important;
    }

    body.home-premium-v2 #mobileMenu.active{
        right:0 !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translate3d(0,0,0) !important;
    }

    [dir="rtl"] body.home-premium-v2 #mobileMenu{
        right:auto !important;
        left:0 !important;
        padding-right:16px !important;
        padding-left:max(16px,env(safe-area-inset-left)) !important;
        border-right:1px solid rgba(255,255,255,.15) !important;
        border-left:0 !important;
        border-radius:0 28px 28px 0 !important;
        box-shadow:28px 0 80px rgba(0,0,0,.34) !important;
        transform:translate3d(-105%,0,0) !important;
        transform-origin:left center !important;
    }

    [dir="rtl"] body.home-premium-v2 #mobileMenu.active{
        right:auto !important;
        left:0 !important;
        transform:translate3d(0,0,0) !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-header{
        position:sticky !important;
        top:0 !important;
        z-index:5 !important;

        min-height:58px !important;
        margin:-4px -2px 2px !important;
        padding:4px 2px 10px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:12px !important;

        background:linear-gradient(180deg,#0a3169 0%,rgba(10,49,105,.95) 72%,rgba(10,49,105,0) 100%) !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-brand{
        min-width:0 !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;

        display:flex !important;
        align-items:center !important;
        gap:10px !important;

        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        color:#ffffff !important;
        text-decoration:none !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-brand img{
        width:50px !important;
        height:50px !important;
        flex:0 0 50px !important;
        object-fit:contain !important;
        filter:drop-shadow(0 6px 12px rgba(0,0,0,.25)) !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-brand span{
        min-width:0 !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
    }

    [dir="rtl"] body.home-premium-v2 #mobileMenu .mobile-menu-brand span{
        align-items:flex-end !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-brand strong{
        color:#ffffff !important;
        font-size:16px !important;
        font-weight:950 !important;
        line-height:1.2 !important;
        white-space:nowrap !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-brand small{
        margin-top:3px !important;
        color:#a9c9f7 !important;
        font-size:8px !important;
        font-weight:800 !important;
        letter-spacing:.35px !important;
        white-space:nowrap !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-close{
        width:44px !important;
        min-width:44px !important;
        height:44px !important;
        flex:0 0 44px !important;
        margin:0 !important;
        padding:0 !important;
        align-self:auto !important;

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

        border:1px solid rgba(255,255,255,.12) !important;
        border-radius:14px !important;
        background:rgba(255,255,255,.10) !important;
        color:#ffffff !important;

        font-size:20px !important;
        cursor:pointer !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-user-box{
        min-height:70px !important;
        margin:0 !important;
        padding:12px !important;

        display:flex !important;
        align-items:center !important;
        gap:11px !important;

        border:1px solid rgba(255,255,255,.12) !important;
        border-radius:18px !important;
        background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.07)) !important;
        color:#ffffff !important;
        box-shadow:none !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-user-avatar{
        width:44px !important;
        height:44px !important;
        flex:0 0 44px !important;

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

        border-radius:14px !important;
        background:linear-gradient(145deg,#ffcb45,#ee9d12) !important;
        color:#071f43 !important;

        font-size:17px !important;
        font-style:normal !important;
        font-weight:950 !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-user-box > span:last-child{
        min-width:0 !important;
        display:flex !important;
        flex-direction:column !important;
        gap:2px !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-user-box small{
        color:#aac9f5 !important;
        font-size:9px !important;
        font-weight:800 !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-user-box strong{
        max-width:210px !important;
        overflow:hidden !important;
        color:#ffffff !important;
        font-size:15px !important;
        font-weight:950 !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-account-grid{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:9px !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-section{
        padding-top:2px !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-section-title{
        display:block !important;
        margin:0 4px 8px !important;
        color:#9dbce7 !important;
        font-size:9px !important;
        font-weight:950 !important;
        letter-spacing:1px !important;
        text-transform:uppercase !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-links{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:9px !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-account-grid > a,
    body.home-premium-v2 #mobileMenu .mobile-account-grid > button,
    body.home-premium-v2 #mobileMenu .mobile-menu-links > a,
    body.home-premium-v2 #mobileMenu .mobile-menu-links > button,
    body.home-premium-v2 #mobileMenu #mobileAuthBtn,
    body.home-premium-v2 #mobileMenu .mobile-profile-link,
    body.home-premium-v2 #mobileMenu .mobile-language-trigger{
        box-sizing:border-box !important;
        width:100% !important;
        min-width:0 !important;
        min-height:54px !important;
        height:auto !important;
        margin:0 !important;
        padding:11px 12px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:9px !important;

        border:1px solid rgba(255,255,255,.09) !important;
        border-radius:15px !important;
        background:rgba(255,255,255,.075) !important;
        color:#ffffff !important;
        box-shadow:none !important;

        font-size:11px !important;
        font-weight:850 !important;
        line-height:1.25 !important;
        text-align:start !important;
        text-decoration:none !important;
        cursor:pointer !important;
        transition:background .18s ease,border-color .18s ease,transform .18s ease !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-account-grid > a:hover,
    body.home-premium-v2 #mobileMenu .mobile-account-grid > button:hover,
    body.home-premium-v2 #mobileMenu .mobile-menu-links > a:hover,
    body.home-premium-v2 #mobileMenu .mobile-menu-links > button:hover,
    body.home-premium-v2 #mobileMenu #mobileAuthBtn:hover,
    body.home-premium-v2 #mobileMenu .mobile-profile-link:hover,
    body.home-premium-v2 #mobileMenu .mobile-language-trigger:hover{
        border-color:rgba(255,203,69,.32) !important;
        background:rgba(255,255,255,.13) !important;
        color:#ffd574 !important;
        transform:translateY(-1px) !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-account-grid i,
    body.home-premium-v2 #mobileMenu .mobile-menu-links i,
    body.home-premium-v2 #mobileMenu #mobileAuthBtn i,
    body.home-premium-v2 #mobileMenu .mobile-profile-link i,
    body.home-premium-v2 #mobileMenu .mobile-language-trigger i{
        width:25px !important;
        height:25px !important;
        flex:0 0 25px !important;

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

        border-radius:8px !important;
        background:rgba(80,150,255,.18) !important;
        color:#8fc0ff !important;

        font-size:12px !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-account-grid em{
        min-width:20px !important;
        height:20px !important;
        margin-inline-start:auto !important;
        padding:0 5px !important;

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

        border-radius:999px !important;
        background:#ef4444 !important;
        color:#ffffff !important;

        font-size:9px !important;
        font-style:normal !important;
        font-weight:950 !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-language-trigger{
        justify-content:space-between !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-language-trigger > span{
        display:flex !important;
        align-items:center !important;
        gap:9px !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-language-trigger > i:last-child{
        width:auto !important;
        height:auto !important;
        flex:0 0 auto !important;
        background:transparent !important;
        color:#9dbce7 !important;
        transition:transform .2s ease !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-language-trigger[aria-expanded="true"] > i:last-child{
        transform:rotate(180deg) !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-panel{
        box-sizing:border-box !important;
        width:100% !important;
        margin:0 !important;
        padding:8px !important;

        display:none !important;

        border:1px solid rgba(255,255,255,.09) !important;
        border-radius:16px !important;
        background:rgba(1,13,31,.32) !important;
        color:#ffffff !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-panel.active{
        display:grid !important;
        gap:7px !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-language-panel.active{
        grid-template-columns:repeat(3,1fr) !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-panel .mobile-language-option{
        box-sizing:border-box !important;
        width:100% !important;
        min-width:0 !important;
        min-height:46px !important;
        height:auto !important;
        margin:0 !important;
        padding:8px 6px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:5px !important;

        border:1px solid rgba(255,255,255,.07) !important;
        border-radius:12px !important;
        background:rgba(255,255,255,.08) !important;
        color:#ffffff !important;

        font-size:9px !important;
        font-weight:850 !important;
        text-align:center !important;
        text-decoration:none !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-language-option img{
        width:20px !important;
        height:14px !important;
        flex:0 0 20px !important;
        border-radius:3px !important;
        object-fit:cover !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-notif-item{
        margin:0 !important;
        padding:10px !important;
        border:1px solid rgba(255,255,255,.07) !important;
        border-radius:12px !important;
        background:rgba(255,255,255,.08) !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-notif-item strong,
    body.home-premium-v2 #mobileMenu .mobile-notif-item small,
    body.home-premium-v2 #mobileMenu .mobile-panel p{
        color:#ffffff !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-devis-btn{
        box-sizing:border-box !important;
        width:100% !important;
        min-height:56px !important;
        height:auto !important;
        margin:2px 0 0 !important;
        padding:13px 15px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:12px !important;

        border:0 !important;
        border-radius:16px !important;
        background:linear-gradient(135deg,#ffcb45,#eda012) !important;
        color:#071f43 !important;
        box-shadow:0 13px 28px rgba(239,160,18,.22) !important;

        font-size:12px !important;
        font-weight:950 !important;
        text-align:start !important;
        cursor:pointer !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-devis-btn i{
        width:29px !important;
        height:29px !important;
        flex:0 0 29px !important;

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

        border-radius:9px !important;
        background:rgba(7,31,67,.11) !important;
        color:#071f43 !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-profile-link{
        min-height:46px !important;
        margin-top:auto !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-logout-btn{
        box-sizing:border-box !important;
        width:100% !important;
        min-height:48px !important;
        height:auto !important;
        margin:0 !important;
        padding:11px 13px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:8px !important;

        border:1px solid rgba(255,107,107,.22) !important;
        border-radius:15px !important;
        background:rgba(225,48,48,.15) !important;
        color:#ffb5b5 !important;
        box-shadow:none !important;

        font-size:11px !important;
        font-weight:900 !important;
        text-decoration:none !important;
    }
}

@media(max-width:420px){
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        left:9px !important;
        right:9px !important;
        height:64px !important;
        min-height:64px !important;
        border-radius:18px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:54px !important;
        max-width:54px !important;
        height:50px !important;
    }

    body.home-premium-v2 .navbar .mobile-menu-btn,
    body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn{
        width:44px !important;
        min-width:44px !important;
        height:44px !important;
        border-radius:14px !important;
    }

    body.home-premium-v2 #mobileMenu,
    [dir="rtl"] body.home-premium-v2 #mobileMenu{
        width:100% !important;
        max-width:none !important;
        border-radius:0 !important;
    }

    body.home-premium-v2 #mobileMenu .mobile-menu-links{
        grid-template-columns:1fr 1fr !important;
    }
}

@media(prefers-reduced-motion:reduce){
    body.home-premium-v2 #mobileMenu,
    body.home-premium-v2 .mobile-menu-backdrop{
        transition:none !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — EXPÉRIENCE MOBILE PREMIUM V20
   Hero plus compact, texte parfaitement lisible, flou réduit, moteur de
   recherche mieux organisé et sections éditoriales moins hautes.
   Toutes les règles restent limitées aux écrans tablette/mobile.
   ====================================================================== */

@media(max-width:1080px){
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        background:#ffffff !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
    }

    body.home-premium-v2 .hero-background-slide,
    body.home-premium-v2 .hero-background-slide.active{
        filter:none !important;
    }

    body.home-premium-v2 .hero-background-slide{
        inset:-1% !important;
        transform:scale(1.01) !important;
    }

    body.home-premium-v2 .hero-background-slide.active{
        transform:scale(1.035) !important;
    }

    body.home-premium-v2 .hero-background-shade{
        background:
            linear-gradient(
                180deg,
                rgba(3,24,55,.03) 0%,
                rgba(3,24,55,.07) 52%,
                rgba(3,24,55,.14) 100%
            ) !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
    }

    body.home-premium-v2 .premium-home-hero::before{
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.08),
                rgba(255,255,255,0) 40%
            ) !important;
    }

    body.home-premium-v2 .premium-home-hero::after{
        height:120px !important;
        background:
            linear-gradient(
                180deg,
                transparent,
                rgba(229,240,253,.18)
            ) !important;
    }

    body.home-premium-v2 .hero-content{
        box-sizing:border-box !important;
        width:calc(100% - 20px) !important;
        min-height:0 !important;
        margin:0 auto !important;
        padding:108px 8px 68px !important;
        grid-template-columns:minmax(0,1fr) 252px !important;
        align-items:center !important;
        gap:16px !important;
    }

    body.home-premium-v2 .hero-text{
        box-sizing:border-box !important;
        width:100% !important;
        max-width:720px !important;
        min-width:0 !important;
        padding:23px 23px 20px !important;
        border:1px solid rgba(255,255,255,.84) !important;
        border-radius:24px !important;
        background:
            linear-gradient(
                145deg,
                rgba(255,255,255,.94),
                rgba(242,248,255,.89)
            ) !important;
        box-shadow:
            0 18px 42px rgba(5,31,67,.15),
            inset 0 1px 0 rgba(255,255,255,.95) !important;
        backdrop-filter:blur(2px) !important;
        -webkit-backdrop-filter:blur(2px) !important;
    }

    body.home-premium-v2 .hero-kicker{
        margin-bottom:12px !important;
        padding:7px 10px !important;
        background:#ffffff !important;
        box-shadow:0 5px 14px rgba(7,31,67,.06) !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
    }

    body.home-premium-v2 .hero-text h1{
        font-size:clamp(36px,6.4vw,57px) !important;
        line-height:.98 !important;
        letter-spacing:-2px !important;
        text-shadow:none !important;
    }

    body.home-premium-v2 .hero-text h1 span{
        text-shadow:none !important;
    }

    body.home-premium-v2 .hero-subtitle-premium{
        margin:13px 0 0 !important;
        color:#314563 !important;
        font-size:15px !important;
        line-height:1.4 !important;
    }

    body.home-premium-v2 .features{
        width:100% !important;
        max-width:none !important;
        margin-top:16px !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:7px !important;
    }

    body.home-premium-v2 .features div,
    body.home-premium-v2 .features div:first-child,
    body.home-premium-v2 .features div:last-child{
        box-sizing:border-box !important;
        min-width:0 !important;
        min-height:72px !important;
        padding:8px 5px !important;
        border:1px solid #dce7f4 !important;
        border-radius:15px !important;
        background:#f8fbff !important;
        flex-direction:column !important;
        justify-content:center !important;
        gap:6px !important;
        font-size:9.5px !important;
        line-height:1.22 !important;
        text-align:center !important;
    }

    body.home-premium-v2 .features i{
        width:34px !important;
        height:34px !important;
        flex:0 0 34px !important;
        font-size:14px !important;
        box-shadow:0 7px 15px rgba(7,94,232,.18) !important;
    }

    body.home-premium-v2 .promo-card{
        box-sizing:border-box !important;
        width:252px !important;
        height:282px !important;
        margin:0 !important;
        padding:18px 16px 58px !important;
        justify-self:end !important;
        transform:none !important;
        border:1px solid rgba(255,255,255,.46) !important;
        border-radius:24px !important;
        background:
            linear-gradient(
                155deg,
                rgba(5,40,86,.88),
                rgba(6,66,139,.74)
            ) !important;
        box-shadow:0 20px 45px rgba(3,24,55,.22) !important;
        backdrop-filter:blur(2px) !important;
        -webkit-backdrop-filter:blur(2px) !important;
    }

    body.home-premium-v2 .promo-card::after{
        display:none !important;
    }

    body.home-premium-v2 .promo-card-icon{
        width:40px !important;
        height:40px !important;
        font-size:16px !important;
        box-shadow:0 7px 16px rgba(3,24,55,.16) !important;
    }

    body.home-premium-v2 .promo-card .promo-slide{
        inset:10px 0 auto !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h3{
        font-size:18px !important;
        line-height:1.12 !important;
    }

    body.home-premium-v2 .promo-card .promo-slide p{
        font-size:10.5px !important;
        line-height:1.32 !important;
    }

    body.home-premium-v2 .promo-card .promo-slide small{
        font-size:9px !important;
        line-height:1.28 !important;
    }

    body.home-premium-v2 .promo-card .promo-price-label{
        margin-top:7px !important;
        font-size:9.5px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h2{
        font-size:23px !important;
        text-shadow:0 3px 7px rgba(3,24,55,.55) !important;
    }

    body.home-premium-v2 .promo-card .promo-cta-row{
        right:14px !important;
        bottom:13px !important;
        width:38px !important;
        height:38px !important;
    }

    body.home-premium-v2 .promo-card .promo-arrow-btn{
        flex-basis:38px !important;
        width:38px !important;
        min-width:38px !important;
        max-width:38px !important;
        height:38px !important;
        min-height:38px !important;
        max-height:38px !important;
        box-shadow:0 8px 18px rgba(3,24,55,.18) !important;
    }

    body.home-premium-v2 .hero-background-control{
        width:36px !important;
        height:36px !important;
        background:#ffffff !important;
        box-shadow:0 8px 20px rgba(3,24,55,.16) !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
    }

    body.home-premium-v2 .hero-background-dots{
        bottom:13px !important;
    }

    body.home-premium-v2 .booking-wrapper{
        margin-top:-26px !important;
        padding:0 10px 18px !important;
    }

    body.home-premium-v2 .booking-wrapper .booking-container{
        width:100% !important;
        padding:12px !important;
        border-radius:22px !important;
        background:#ffffff !important;
        box-shadow:0 18px 45px rgba(7,31,67,.13) !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
    }

    body.home-premium-v2 .booking-tabs{
        width:100% !important;
        display:grid !important;
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:4px !important;
        padding:4px !important;
        overflow:visible !important;
    }

    body.home-premium-v2 .booking-tab{
        min-width:0 !important;
        min-height:44px !important;
        height:auto !important;
        padding:6px 3px !important;
        flex-direction:column !important;
        gap:4px !important;
        border-radius:11px !important;
        font-size:clamp(7.5px,1.8vw,9.5px) !important;
        line-height:1.12 !important;
        white-space:normal !important;
        text-align:center !important;
    }

    body.home-premium-v2 .booking-tab i{
        font-size:12px !important;
    }

    body.home-premium-v2 #vols.flight-search-pro{
        grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) !important;
        gap:8px !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .flight-search-alert,
    body.home-premium-v2 #vols.flight-search-pro .trip-types,
    body.home-premium-v2 #vols.flight-search-pro .flight-search-submit,
    body.home-premium-v2 #vols.flight-search-pro .flight-search-options{
        grid-column:1 / -1 !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .origin-field{
        grid-column:1 / 2 !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .swap-btn,
    body.home-premium-v2 #vols.flight-search-pro .switch-destination{
        grid-column:2 / 3 !important;
        justify-self:center !important;
        width:38px !important;
        min-width:38px !important;
        height:38px !important;
        transform:none !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .swap-btn:hover,
    body.home-premium-v2 #vols.flight-search-pro .switch-destination:hover{
        transform:rotate(180deg) !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .destination-field{
        grid-column:3 / 4 !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .calendar-field{
        grid-column:1 / 2 !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .travelers-pro-field{
        grid-column:2 / 4 !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .trip-types{
        min-height:38px !important;
        margin-bottom:1px !important;
        gap:4px !important;
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        overflow:visible !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .trip-option{
        min-height:36px !important;
        padding:7px 3px !important;
        font-size:9.5px !important;
        text-align:center !important;
        white-space:normal !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .booking-field,
    body.home-premium-v2 #vols.flight-search-pro .field.booking-field{
        min-height:62px !important;
        padding-block:8px !important;
        padding-inline-start:54px !important;
        padding-inline-end:8px !important;
        border-radius:14px !important;
        box-shadow:none !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .booking-field .flight-field-icon{
        left:auto !important;
        right:auto !important;
        inset-inline-start:10px !important;
        width:34px !important;
        height:34px !important;
        border-radius:10px !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .booking-field .field-text small{
        margin-bottom:3px !important;
        font-size:8.5px !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .booking-field .booking-input,
    body.home-premium-v2 #vols.flight-search-pro .booking-field .travelers-summary{
        font-size:11px !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .flight-search-submit,
    body.home-premium-v2 #vols.flight-search-pro .search-btn{
        min-height:54px !important;
        height:54px !important;
        max-width:none !important;
        justify-self:stretch !important;
        border-radius:14px !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .flight-search-options{
        margin-top:0 !important;
        padding-top:9px !important;
    }

    body.home-premium-v2 .organized-trips.editorial-trips,
    body.home-premium-v2 .destinations.editorial-destinations{
        width:calc(100% - 20px) !important;
        margin:28px auto 38px !important;
        padding:24px 16px 26px !important;
        border-radius:24px !important;
    }

    body.home-premium-v2 .editorial-trips-header,
    body.home-premium-v2 .editorial-destinations .organized-header{
        gap:14px !important;
        margin-bottom:20px !important;
    }

    body.home-premium-v2 .editorial-trips .section-title,
    body.home-premium-v2 .editorial-destinations .section-title{
        font-size:clamp(27px,7vw,36px) !important;
        line-height:1.02 !important;
    }

    body.home-premium-v2 .agency-profile{
        padding:22px 0 26px !important;
    }

    body.home-premium-v2 .agency-profile-shell{
        width:calc(100% - 20px) !important;
    }

    body.home-premium-v2 .agency-profile-grid{
        gap:12px !important;
    }

    body.home-premium-v2 .agency-profile-video-card,
    body.home-premium-v2 .agency-profile-about,
    body.home-premium-v2 .agency-reviews{
        border-radius:20px !important;
    }

    body.home-premium-v2 .agency-profile-video-caption{
        min-height:64px !important;
        padding:10px 13px !important;
    }

    body.home-premium-v2 .agency-profile-about,
    body.home-premium-v2 .agency-reviews{
        padding:18px 16px !important;
    }

    body.home-premium-v2 .agency-profile-about h2,
    body.home-premium-v2 .agency-reviews-heading h2{
        font-size:28px !important;
        line-height:1.04 !important;
    }

    body.home-premium-v2 .agency-profile-copy{
        margin-top:8px !important;
        font-size:11px !important;
        line-height:1.5 !important;
    }

    body.home-premium-v2 .agency-profile-strengths{
        margin-top:13px !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
    }

    body.home-premium-v2 .agency-profile-strengths > div{
        min-height:74px !important;
        padding:9px !important;
    }

    body.home-premium-v2 .agency-profile-actions{
        margin-top:13px !important;
    }

    body.home-premium-v2 .agency-reviews-heading{
        margin-bottom:12px !important;
    }

    body.home-premium-v2 .agency-reviews-score{
        min-height:84px !important;
        padding:13px 15px !important;
    }

    body.home-premium-v2 .agency-review-card{
        min-height:145px !important;
        padding:15px !important;
    }

    body.home-premium-v2 .chat-btn{
        right:12px !important;
        bottom:12px !important;
        width:48px !important;
        height:48px !important;
        padding:0 !important;
        border-radius:50% !important;
        box-shadow:0 10px 25px rgba(7,94,232,.28) !important;
    }

    body.home-premium-v2 .chat-icon{
        width:48px !important;
        height:48px !important;
    }
}

@media(max-width:760px){
    body.home-premium-v2 .hero-content{
        padding:94px 0 48px !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    body.home-premium-v2 .hero-text{
        padding:18px 16px 16px !important;
        border-radius:21px !important;
    }

    body.home-premium-v2 .hero-kicker{
        margin-bottom:10px !important;
        font-size:9px !important;
    }

    body.home-premium-v2 .hero-text h1{
        font-size:clamp(31px,9.4vw,43px) !important;
        letter-spacing:-1.35px !important;
    }

    body.home-premium-v2 .hero-subtitle-premium{
        margin-top:10px !important;
        font-size:13px !important;
    }

    body.home-premium-v2 .features{
        margin-top:13px !important;
        gap:5px !important;
    }

    body.home-premium-v2 .features div,
    body.home-premium-v2 .features div:first-child,
    body.home-premium-v2 .features div:last-child{
        min-height:66px !important;
        padding:7px 3px !important;
        border-radius:13px !important;
        font-size:8px !important;
    }

    body.home-premium-v2 .features i{
        width:31px !important;
        height:31px !important;
        flex-basis:31px !important;
        font-size:12px !important;
    }

    body.home-premium-v2 .promo-card{
        width:100% !important;
        height:225px !important;
        padding:14px 15px 49px !important;
        justify-self:stretch !important;
        border-radius:21px !important;
    }

    body.home-premium-v2 .promo-card-icon{
        width:36px !important;
        height:36px !important;
        font-size:14px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide{
        inset:7px 0 auto !important;
    }

    body.home-premium-v2 .promo-card .promo-eyebrow{
        margin-bottom:5px !important;
        font-size:8px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h3{
        margin-bottom:5px !important;
        font-size:17px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide p{
        display:-webkit-box !important;
        overflow:hidden !important;
        font-size:9.5px !important;
        -webkit-box-orient:vertical !important;
        -webkit-line-clamp:2 !important;
    }

    body.home-premium-v2 .promo-card .promo-slide small{
        display:none !important;
    }

    body.home-premium-v2 .promo-card .promo-price-label{
        margin-top:5px !important;
        font-size:8.5px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h2{
        font-size:22px !important;
    }

    body.home-premium-v2 .hero-background-prev{
        left:6px !important;
    }

    body.home-premium-v2 .hero-background-next{
        right:6px !important;
    }

    body.home-premium-v2 .hero-background-control{
        top:47% !important;
        width:32px !important;
        height:32px !important;
        font-size:11px !important;
    }

    body.home-premium-v2 .hero-background-dots{
        bottom:9px !important;
    }

    body.home-premium-v2 .booking-wrapper{
        margin-top:-18px !important;
    }
}

@media(max-width:520px){
    body.home-premium-v2 #vols.flight-search-pro{
        grid-template-columns:1fr !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .origin-field,
    body.home-premium-v2 #vols.flight-search-pro .swap-btn,
    body.home-premium-v2 #vols.flight-search-pro .switch-destination,
    body.home-premium-v2 #vols.flight-search-pro .destination-field,
    body.home-premium-v2 #vols.flight-search-pro .calendar-field,
    body.home-premium-v2 #vols.flight-search-pro .travelers-pro-field{
        grid-column:1 !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .swap-btn,
    body.home-premium-v2 #vols.flight-search-pro .switch-destination{
        margin:-3px 0 !important;
        transform:rotate(90deg) !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .swap-btn:hover,
    body.home-premium-v2 #vols.flight-search-pro .switch-destination:hover{
        transform:rotate(270deg) !important;
    }

    body.home-premium-v2 .agency-profile-strengths{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    body.home-premium-v2 .agency-profile-strengths small{
        font-size:8px !important;
        line-height:1.25 !important;
    }

    body.home-premium-v2 .agency-profile-cta{
        min-height:46px !important;
        padding:0 12px !important;
        font-size:10px !important;
    }
}

@media(max-width:380px){
    body.home-premium-v2 .hero-text h1{
        font-size:30px !important;
    }

    body.home-premium-v2 .hero-subtitle-premium{
        font-size:12px !important;
    }

    body.home-premium-v2 .features div,
    body.home-premium-v2 .features div:first-child,
    body.home-premium-v2 .features div:last-child{
        font-size:7.5px !important;
    }

    body.home-premium-v2 .booking-tab{
        font-size:7px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — MOBILE COMPACT V21
   - Supprime le grand bloc de texte du hero sur téléphone.
   - Remonte et réduit la publicité.
   - Place le moteur de réservation immédiatement sous la publicité.
   - Affiche Liens rapides et Nos services côte à côte dans le footer.
   La version ordinateur n'est pas modifiée.
   ====================================================================== */

@media(max-width:720px){
    /* Le grand bloc barré par le client disparaît entièrement sur mobile. */
    body.home-premium-v2 .hero-text{
        display:none !important;
    }

    /* Le hero ne conserve plus l'ancienne grande hauteur vide. */
    body.home-premium-v2 .premium-home-hero{
        min-height:0 !important;
    }

    body.home-premium-v2 .hero-content{
        box-sizing:border-box !important;
        width:100% !important;
        min-height:0 !important;
        margin:0 !important;
        padding:102px 10px 22px !important;
        display:flex !important;
        align-items:flex-start !important;
        justify-content:center !important;
        gap:0 !important;
    }

    /* Publicité plus petite, nette et immédiatement sous la navbar. */
    body.home-premium-v2 .promo-card{
        box-sizing:border-box !important;
        width:min(82vw,292px) !important;
        height:172px !important;
        min-height:172px !important;
        margin:0 auto !important;
        padding:10px 13px 37px !important;
        justify-self:auto !important;
        border-radius:19px !important;
        box-shadow:0 15px 34px rgba(3,24,55,.22) !important;
        backdrop-filter:blur(1px) !important;
        -webkit-backdrop-filter:blur(1px) !important;
    }

    body.home-premium-v2 .promo-card-icon{
        width:30px !important;
        height:30px !important;
        font-size:11px !important;
        box-shadow:0 5px 12px rgba(3,24,55,.14) !important;
    }

    body.home-premium-v2 .promo-card .promo-slides{
        min-height:99px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide{
        inset:2px 0 auto !important;
    }

    body.home-premium-v2 .promo-card .promo-eyebrow{
        margin-bottom:3px !important;
        font-size:7px !important;
        letter-spacing:1px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h3{
        margin:0 0 3px !important;
        font-size:15px !important;
        line-height:1.08 !important;
    }

    body.home-premium-v2 .promo-card .promo-slide p{
        display:block !important;
        max-width:100% !important;
        margin:0 !important;
        overflow:hidden !important;
        font-size:8px !important;
        line-height:1.2 !important;
        white-space:nowrap !important;
        text-overflow:ellipsis !important;
    }

    body.home-premium-v2 .promo-card .promo-slide small{
        display:none !important;
    }

    body.home-premium-v2 .promo-card .promo-price-label{
        margin-top:4px !important;
        font-size:7.5px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h2{
        margin-top:2px !important;
        font-size:20px !important;
        line-height:1 !important;
    }

    body.home-premium-v2 .promo-card .promo-cta-row{
        right:10px !important;
        bottom:9px !important;
        width:28px !important;
        height:28px !important;
    }

    body.home-premium-v2 .promo-card .promo-arrow-btn{
        flex-basis:28px !important;
        width:28px !important;
        min-width:28px !important;
        max-width:28px !important;
        height:28px !important;
        min-height:28px !important;
        max-height:28px !important;
        font-size:9px !important;
    }

    /* Navigation du carousel adaptée à la nouvelle hauteur. */
    body.home-premium-v2 .hero-background-control{
        top:61% !important;
        width:29px !important;
        height:29px !important;
        font-size:9px !important;
    }

    body.home-premium-v2 .hero-background-prev{
        left:5px !important;
    }

    body.home-premium-v2 .hero-background-next{
        right:5px !important;
    }

    body.home-premium-v2 .hero-background-dots{
        bottom:6px !important;
        gap:5px !important;
    }

    body.home-premium-v2 .hero-background-dot{
        width:6px !important;
        height:6px !important;
    }

    body.home-premium-v2 .hero-background-dot.active{
        width:18px !important;
    }

    /* Le moteur arrive juste après la publicité. */
    body.home-premium-v2 .booking-wrapper{
        margin:-6px auto 34px !important;
        padding:0 8px 14px !important;
    }

    /* Footer : marque sur toute la largeur, deux listes côte à côte. */
    body.home-premium-v2 .footer-light-main{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:20px 12px !important;
        padding:28px 4px 26px !important;
    }

    body.home-premium-v2 .footer-light-brand,
    body.home-premium-v2 .footer-light-contact{
        grid-column:1 / -1 !important;
    }

    body.home-premium-v2 .footer-light-main > .footer-light-column:not(.footer-light-services){
        grid-column:1 !important;
    }

    body.home-premium-v2 .footer-light-main > .footer-light-services{
        grid-column:2 !important;
    }

    body.home-premium-v2 .footer-light-main h3{
        margin-bottom:12px !important;
        font-size:14px !important;
        line-height:1.2 !important;
    }

    body.home-premium-v2 .footer-light-column a,
    body.home-premium-v2 .footer-light-column button{
        min-height:39px !important;
        gap:6px !important;
        font-size:9.5px !important;
        line-height:1.2 !important;
    }

    body.home-premium-v2 .footer-light-services i{
        width:18px !important;
        font-size:12px !important;
    }

    body.home-premium-v2 .footer-light-column a::before{
        font-size:7px !important;
    }
}

@media(max-width:390px){
    body.home-premium-v2 .hero-content{
        padding-top:92px !important;
        padding-bottom:19px !important;
    }

    body.home-premium-v2 .promo-card{
        width:min(84vw,284px) !important;
        height:164px !important;
        min-height:164px !important;
    }

    body.home-premium-v2 .footer-light-main{
        column-gap:9px !important;
    }

    body.home-premium-v2 .footer-light-column a,
    body.home-premium-v2 .footer-light-column button{
        font-size:8.8px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — MOBILE NAVIGATION & CARDS V22
   Corrections strictement limitées aux écrans de téléphone.
   ====================================================================== */

/* La navigation basse n'existe visuellement jamais sur ordinateur. */
.mobile-scroll-nav{
    display:none;
}

@media(max-width:720px){
    /* La publicité occupe la zone haute du hero sans position absolue. */
    body.home-premium-v2 .hero-content{
        min-height:250px !important;
        padding:86px 10px 14px !important;
    }

    body.home-premium-v2 .promo-card{
        position:relative !important;
        inset:auto !important;
        top:auto !important;
        right:auto !important;
        bottom:auto !important;
        left:auto !important;
        z-index:20 !important;

        width:min(70vw,268px) !important;
        height:150px !important;
        min-height:150px !important;
        margin:0 auto !important;
        padding:9px 12px 34px !important;

        border-radius:18px !important;
        box-shadow:0 13px 28px rgba(3,24,55,.2) !important;
        transform:none !important;

        transition:
            opacity .42s ease,
            transform .42s ease,
            visibility .42s ease !important;
    }

    body.home-premium-v2 .promo-card.mobile-promo-cycle-hidden{
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transform:translateY(-5px) scale(.97) !important;
    }

    body.home-premium-v2 .promo-card-icon{
        width:27px !important;
        height:27px !important;
        font-size:9px !important;
    }

    body.home-premium-v2 .promo-card .promo-slides{
        min-height:86px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h3{
        font-size:13.5px !important;
    }

    body.home-premium-v2 .promo-card .promo-slide h2{
        font-size:18px !important;
    }

    /* Le formulaire suit immédiatement le hero, sans chevauchement. */
    body.home-premium-v2 .booking-wrapper{
        position:relative !important;
        z-index:40 !important;
        margin:-2px auto 30px !important;
        padding-top:0 !important;
    }

    /* Le tiroir et son fond sont au-dessus de tout le contenu fonctionnel. */
    body.home-premium-v2 #mobileMenu{
        position:fixed !important;
        z-index:2147483000 !important;
        isolation:isolate !important;
    }

    body.home-premium-v2 .mobile-menu-backdrop{
        position:fixed !important;
        z-index:2147482500 !important;
    }

    body.home-premium-v2.mobile-nav-open .booking-wrapper,
    body.home-premium-v2.mobile-nav-open .mobile-scroll-nav{
        pointer-events:none !important;
    }

    /* Barre contextuelle : elle glisse depuis le bas lors du scroll retour. */
    body.home-premium-v2 .mobile-scroll-nav{
        position:fixed !important;
        left:50% !important;
        right:auto !important;
        bottom:max(10px,env(safe-area-inset-bottom)) !important;
        z-index:2147482000 !important;

        width:min(calc(100% - 18px),430px) !important;
        min-height:66px !important;

        display:grid !important;
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        align-items:stretch !important;
        gap:4px !important;

        margin:0 !important;
        padding:6px !important;

        border:1px solid rgba(199,214,233,.94) !important;
        border-radius:22px !important;

        background:rgba(255,255,255,.96) !important;
        box-shadow:0 16px 38px rgba(3,24,55,.25) !important;
        backdrop-filter:blur(14px) !important;
        -webkit-backdrop-filter:blur(14px) !important;

        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transform:translate3d(-50%,calc(100% + 28px),0) !important;

        transition:
            opacity .24s ease,
            visibility .24s ease,
            transform .3s cubic-bezier(.2,.8,.2,1) !important;
    }

    body.home-premium-v2 .mobile-scroll-nav.is-visible{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translate3d(-50%,0,0) !important;
    }

    body.home-premium-v2.mobile-scroll-nav-visible .chat-btn{
        bottom:max(88px,calc(78px + env(safe-area-inset-bottom))) !important;
        transition:bottom .28s ease,transform .3s ease !important;
    }

    body.home-premium-v2.mobile-nav-open .mobile-scroll-nav{
        opacity:0 !important;
        visibility:hidden !important;
        transform:translate3d(-50%,calc(100% + 28px),0) !important;
    }

    body.home-premium-v2 .mobile-scroll-nav-item{
        min-width:0 !important;
        min-height:52px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:4px !important;

        margin:0 !important;
        padding:5px 2px !important;

        border:0 !important;
        border-radius:16px !important;

        background:transparent !important;
        color:#5f6e82 !important;

        font:inherit !important;
        text-align:center !important;
        text-decoration:none !important;
        cursor:pointer !important;
    }

    body.home-premium-v2 .mobile-scroll-nav-item i{
        font-size:17px !important;
        line-height:1 !important;
    }

    body.home-premium-v2 .mobile-scroll-nav-item span{
        max-width:100% !important;
        overflow:hidden !important;
        font-size:8.5px !important;
        font-weight:800 !important;
        line-height:1.05 !important;
        white-space:nowrap !important;
        text-overflow:ellipsis !important;
    }

    body.home-premium-v2 .mobile-scroll-nav-item.is-active{
        background:linear-gradient(145deg,#0877f9,#075ee8) !important;
        color:#fff !important;
        box-shadow:0 8px 18px rgba(7,94,232,.26) !important;
    }

    /* Offres : cartes compactes avec 2 cartes et demie visibles. */
    body.home-premium-v2 .editorial-package-track{
        gap:10px !important;
        padding:4px 1px 13px !important;
        scroll-padding-inline:1px !important;
    }

    body.home-premium-v2 .editorial-package-card{
        flex:0 0 min(43vw,166px) !important;
        width:min(43vw,166px) !important;
        min-width:142px !important;
        max-width:166px !important;
        border-radius:14px !important;
    }

    body.home-premium-v2 .editorial-package-image{
        height:104px !important;
    }

    body.home-premium-v2 .editorial-package-badge{
        top:7px !important;
        left:7px !important;
        min-height:20px !important;
        gap:3px !important;
        padding:0 6px !important;
        font-size:6.5px !important;
    }

    body.home-premium-v2 .editorial-package-favorite{
        top:6px !important;
        right:6px !important;
        width:25px !important;
        height:25px !important;
        font-size:9px !important;
    }

    body.home-premium-v2 .editorial-package-actions{
        left:6px !important;
        right:6px !important;
        bottom:6px !important;
        gap:4px !important;
    }

    body.home-premium-v2 .editorial-package-actions .details-btn,
    body.home-premium-v2 .editorial-package-actions .pay-btn{
        min-height:27px !important;
        gap:3px !important;
        padding:0 3px !important;
        border-radius:7px !important;
        font-size:6.8px !important;
    }

    body.home-premium-v2 .editorial-package-body{
        min-height:104px !important;
        padding:9px 9px 10px !important;
    }

    body.home-premium-v2 .editorial-package-location{
        margin-bottom:4px !important;
        font-size:7.5px !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    body.home-premium-v2 .editorial-package-body h3{
        min-height:31px !important;
        display:-webkit-box !important;
        overflow:hidden !important;
        font-size:13px !important;
        line-height:1.18 !important;
        -webkit-box-orient:vertical !important;
        -webkit-line-clamp:2 !important;
    }

    body.home-premium-v2 .editorial-package-divider{
        margin:6px 0 !important;
    }

    body.home-premium-v2 .editorial-package-footer{
        display:block !important;
    }

    body.home-premium-v2 .editorial-package-meta{
        gap:5px !important;
        overflow:hidden !important;
    }

    body.home-premium-v2 .editorial-package-meta span{
        gap:3px !important;
        font-size:6.8px !important;
    }

    body.home-premium-v2 .editorial-package-meta span:nth-child(2){
        display:none !important;
    }

    body.home-premium-v2 .editorial-package-meta i{
        font-size:8px !important;
    }

    body.home-premium-v2 .editorial-package-price{
        margin-top:5px !important;
    }

    body.home-premium-v2 .editorial-package-price span{
        display:inline !important;
        margin-right:3px !important;
        font-size:7px !important;
    }

    body.home-premium-v2 .editorial-package-price strong{
        font-size:11px !important;
    }

    /* Destinations : petites vignettes horizontales, façon application. */
    body.home-premium-v2 .editorial-destination-track{
        gap:10px !important;
        padding:3px 1px 11px !important;
        scroll-padding-inline:1px !important;
    }

    body.home-premium-v2 .editorial-destination-card{
        flex:0 0 min(34vw,136px) !important;
        width:min(34vw,136px) !important;
        min-width:112px !important;
        max-width:136px !important;
        border-radius:13px !important;
    }

    body.home-premium-v2 .editorial-destination-image{
        height:101px !important;
    }

    body.home-premium-v2 .editorial-destination-icon{
        display:none !important;
    }

    body.home-premium-v2 .editorial-destination-info{
        min-height:82px !important;
        padding:9px 8px 8px !important;
    }

    body.home-premium-v2 .editorial-destination-info h3{
        min-height:30px !important;
        display:-webkit-box !important;
        margin-bottom:2px !important;
        overflow:hidden !important;
        font-size:12.5px !important;
        line-height:1.18 !important;
        -webkit-box-orient:vertical !important;
        -webkit-line-clamp:2 !important;
    }

    body.home-premium-v2 .editorial-destination-info > p{
        margin-bottom:6px !important;
        overflow:hidden !important;
        font-size:7.5px !important;
        white-space:nowrap !important;
        text-overflow:ellipsis !important;
    }

    body.home-premium-v2 .editorial-destination-price{
        display:block !important;
        padding-top:5px !important;
    }

    body.home-premium-v2 .editorial-destination-price span{
        display:block !important;
        overflow:hidden !important;
        font-size:6.8px !important;
        white-space:nowrap !important;
        text-overflow:ellipsis !important;
    }

    body.home-premium-v2 .editorial-destination-price strong{
        display:block !important;
        margin-top:2px !important;
        font-size:9px !important;
    }

    body.home-premium-v2 .editorial-destination-discover{
        display:none !important;
    }
}

@media(max-width:390px){
    body.home-premium-v2 .hero-content{
        min-height:240px !important;
        padding-top:82px !important;
        padding-bottom:12px !important;
    }

    body.home-premium-v2 .promo-card{
        width:min(72vw,255px) !important;
        height:146px !important;
        min-height:146px !important;
    }

    body.home-premium-v2 .mobile-scroll-nav{
        width:calc(100% - 14px) !important;
    }

    body.home-premium-v2 .mobile-scroll-nav-item span{
        font-size:8px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — NAVBAR + MOTEUR DE VOLS MOBILE V23
   - Barre supérieure bleue/or avec réservation, téléphone, e-mail,
     langue et thème.
   - Seconde barre blanche avec logo, compte et menu.
   - Tous les champs de vol ont exactement la largeur du bouton recherche.
   Les règles sont strictement limitées aux téléphones.
   ====================================================================== */

@media(max-width:720px){
    /* ---------- Première ligne : barre bleue et réservation ---------- */
    body.home-premium-v2 .premium-topbar{
        position:absolute !important;
        top:0 !important;
        left:0 !important;
        right:0 !important;
        z-index:2100 !important;

        box-sizing:border-box !important;
        width:100% !important;
        height:52px !important;
        min-height:52px !important;

        display:block !important;
        overflow:visible !important;

        border:0 !important;
        border-bottom:1px solid rgba(255,255,255,.24) !important;
        background:#0863d6 !important;
        box-shadow:0 7px 18px rgba(3,42,105,.18) !important;
    }

    body.home-premium-v2 .premium-topbar-inner{
        box-sizing:border-box !important;
        width:100% !important;
        height:52px !important;
        min-height:52px !important;

        margin:0 !important;
        display:flex !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        gap:0 !important;
        overflow:visible !important;
    }

    body.home-premium-v2 .premium-reservation-link{
        flex:0 0 50% !important;
        min-width:0 !important;
        min-height:52px !important;
        height:52px !important;

        padding:0 10px !important;
        gap:8px !important;

        background:linear-gradient(135deg,#ffc928 0%,#ffae08 100%) !important;
        color:#ffffff !important;
        box-shadow:inset -1px 0 0 rgba(255,255,255,.22) !important;

        font-size:clamp(10px,3vw,13px) !important;
        letter-spacing:0 !important;
        text-transform:none !important;
    }

    body.home-premium-v2 .premium-reservation-link i{
        flex:0 0 auto !important;
        color:#ffffff !important;
        font-size:14px !important;
    }

    body.home-premium-v2 .premium-reservation-link span{
        min-width:0 !important;
        overflow:hidden !important;
        white-space:nowrap !important;
        text-overflow:ellipsis !important;
    }

    body.home-premium-v2 .premium-topbar-contact-group{
        flex:1 1 50% !important;
        min-width:0 !important;
        height:52px !important;
        min-height:52px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:space-evenly !important;
        gap:1px !important;

        overflow:visible !important;
        background:linear-gradient(100deg,#0870e8 0%,#0758c6 100%) !important;
    }

    body.home-premium-v2 .premium-contact-link{
        flex:0 0 30px !important;
        width:30px !important;
        min-width:30px !important;
        height:44px !important;

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

        margin:0 !important;
        padding:0 !important;
        border-radius:11px !important;
        color:#ffd34d !important;
    }

    body.home-premium-v2 .premium-contact-link span,
    body.home-premium-v2 .premium-topbar-separator{
        display:none !important;
    }

    body.home-premium-v2 .premium-contact-link i{
        color:#ffd34d !important;
        font-size:17px !important;
    }

    body.home-premium-v2 .premium-topbar-language{
        flex:0 0 auto !important;
        position:relative !important;
    }

    body.home-premium-v2 .premium-topbar-language .lang-selected{
        box-sizing:border-box !important;
        width:auto !important;
        min-width:65px !important;
        height:44px !important;

        margin:0 !important;
        padding:0 6px !important;
        gap:5px !important;

        border:0 !important;
        border-radius:12px !important;
        background:transparent !important;
        color:#ffffff !important;
        box-shadow:none !important;

        font-size:11px !important;
    }

    body.home-premium-v2 .premium-topbar-language .lang-selected img{
        width:22px !important;
        height:16px !important;
        border-radius:2px !important;
        object-fit:cover !important;
    }

    body.home-premium-v2 .premium-topbar-language .lang-selected > i{
        color:#ffffff !important;
        font-size:8px !important;
    }

    body.home-premium-v2 .premium-topbar-language .lang-dropdown{
        top:48px !important;
        right:0 !important;
        left:auto !important;
        z-index:2300 !important;
    }

    body.home-premium-v2 .premium-theme-toggle{
        flex:0 0 40px !important;
        width:40px !important;
        min-width:40px !important;
        height:40px !important;

        margin:0 4px 0 0 !important;
        padding:0 !important;

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

        border:1px solid rgba(255,255,255,.28) !important;
        border-radius:50% !important;
        background:rgba(3,39,112,.22) !important;
        color:#ffd34d !important;
    }

    /* ---------- Seconde ligne : logo, compte et menu ---------- */
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        position:absolute !important;
        top:52px !important;
        left:0 !important;
        right:0 !important;
        z-index:2050 !important;

        box-sizing:border-box !important;
        width:100% !important;
        height:84px !important;
        min-height:84px !important;

        margin:0 !important;
        padding:7px 15px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:9px !important;

        border:0 !important;
        border-bottom:1px solid #e3ebf5 !important;
        border-radius:0 !important;
        background:#ffffff !important;
        box-shadow:0 8px 22px rgba(7,31,67,.11) !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
    }

    body.home-premium-v2 .navbar .logo{
        order:1 !important;
        flex:0 0 auto !important;
    }

    body.home-premium-v2 .navbar .logo,
    body.home-premium-v2 .navbar .premium-brand-link{
        width:auto !important;
        height:68px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:78px !important;
        max-width:78px !important;
        height:68px !important;
        object-fit:contain !important;
    }

    body.home-premium-v2 .navbar .nav-right{
        order:2 !important;
        flex:0 0 auto !important;
        min-width:48px !important;

        margin:0 0 0 auto !important;
        display:flex !important;
        align-items:center !important;
        gap:0 !important;
    }

    [dir="rtl"] body.home-premium-v2 .navbar .nav-right{
        margin-right:auto !important;
        margin-left:0 !important;
    }

    body.home-premium-v2 .navbar .nav-right > *{
        display:none !important;
    }

    body.home-premium-v2 .navbar .nav-right > .user-dropdown{
        display:block !important;
    }

    body.home-premium-v2 .navbar .nav-right > .login-btn{
        display:inline-flex !important;
    }

    body.home-premium-v2 .navbar .user-btn,
    body.home-premium-v2 .navbar .login-btn{
        box-sizing:border-box !important;
        width:48px !important;
        min-width:48px !important;
        max-width:48px !important;
        height:48px !important;

        margin:0 !important;
        padding:0 !important;

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

        border:1px solid #d8e3f1 !important;
        border-radius:15px !important;
        background:#ffffff !important;
        color:#071f43 !important;
        box-shadow:0 6px 14px rgba(7,31,67,.06) !important;

        font-size:0 !important;
    }

    body.home-premium-v2 .navbar .user-btn span,
    body.home-premium-v2 .navbar .user-btn .fa-chevron-down{
        display:none !important;
    }

    body.home-premium-v2 .navbar .user-btn .fa-circle-user,
    body.home-premium-v2 .navbar .login-btn i{
        display:block !important;
        margin:0 !important;
        font-size:20px !important;
        line-height:1 !important;
    }

    body.home-premium-v2 .navbar .mobile-menu-btn,
    body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn{
        order:3 !important;

        width:48px !important;
        min-width:48px !important;
        height:48px !important;

        margin:0 !important;
        border:1px solid #d8e3f1 !important;
        border-radius:15px !important;
        background:#ffffff !important;
        color:#071f43 !important;
        box-shadow:0 6px 14px rgba(7,31,67,.06) !important;
    }

    body.home-premium-v2 .navbar .mobile-menu-btn i{
        font-size:21px !important;
    }

    /* Le hero commence sous les deux lignes de navigation. */
    body.home-premium-v2 .hero-content{
        min-height:0 !important;
        padding-top:150px !important;
    }

    /* ---------- Moteur de vols parfaitement aligné ---------- */
    body.home-premium-v2 #vols.flight-search-pro{
        grid-template-columns:minmax(0,1fr) !important;
        gap:9px !important;
        width:100% !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .flight-search-alert,
    body.home-premium-v2 #vols.flight-search-pro .trip-types,
    body.home-premium-v2 #vols.flight-search-pro .origin-field,
    body.home-premium-v2 #vols.flight-search-pro .destination-field,
    body.home-premium-v2 #vols.flight-search-pro .calendar-field,
    body.home-premium-v2 #vols.flight-search-pro .travelers-pro-field,
    body.home-premium-v2 #vols.flight-search-pro .multi-city-container,
    body.home-premium-v2 #vols.flight-search-pro .flight-search-submit,
    body.home-premium-v2 #vols.flight-search-pro .flight-search-options{
        grid-column:1 / -1 !important;
        box-sizing:border-box !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        justify-self:stretch !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .swap-btn,
    body.home-premium-v2 #vols.flight-search-pro .switch-destination{
        display:none !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .booking-field,
    body.home-premium-v2 #vols.flight-search-pro .field.booking-field{
        box-sizing:border-box !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        min-height:66px !important;
        margin:0 !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .flight-search-submit,
    body.home-premium-v2 #vols.flight-search-pro .search-btn{
        box-sizing:border-box !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        height:56px !important;
        min-height:56px !important;
        margin:2px 0 0 !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .airport-results{
        width:100% !important;
        max-width:100% !important;
    }

    body.home-premium-v2 #vols.flight-search-pro .travelers-dropdown{
        left:0 !important;
        right:0 !important;
        width:100% !important;
        max-width:100% !important;
    }
}

@media(max-width:390px){
    body.home-premium-v2 .premium-reservation-link{
        flex-basis:47% !important;
        font-size:9.5px !important;
    }

    body.home-premium-v2 .premium-topbar-contact-group{
        flex-basis:53% !important;
    }

    body.home-premium-v2 .premium-contact-link{
        flex-basis:27px !important;
        width:27px !important;
        min-width:27px !important;
    }

    body.home-premium-v2 .premium-contact-link i{
        font-size:15px !important;
    }

    body.home-premium-v2 .premium-topbar-language .lang-selected{
        min-width:58px !important;
        padding-right:3px !important;
        padding-left:3px !important;
    }

    body.home-premium-v2 .premium-theme-toggle{
        flex-basis:36px !important;
        width:36px !important;
        min-width:36px !important;
        height:36px !important;
        margin-right:2px !important;
    }

    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        height:78px !important;
        min-height:78px !important;
        padding-right:10px !important;
        padding-left:10px !important;
    }

    body.home-premium-v2 .navbar .logo,
    body.home-premium-v2 .navbar .premium-brand-link{
        height:62px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:70px !important;
        max-width:70px !important;
        height:62px !important;
    }

    body.home-premium-v2 .navbar .user-btn,
    body.home-premium-v2 .navbar .login-btn,
    body.home-premium-v2 .navbar .mobile-menu-btn,
    body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn{
        width:44px !important;
        min-width:44px !important;
        max-width:44px !important;
        height:44px !important;
        border-radius:14px !important;
    }

    body.home-premium-v2 .hero-content{
        padding-top:142px !important;
    }
}

/* ======================================================================
   ASSALAS TOURS — NAVBAR MOBILE COMPACTE + THÈME V24
   - Réduction légère de la hauteur de la barre blanche.
   - Rétablissement du contraste jour/nuit après les règles mobiles V23.
   Ces ajustements restent strictement limités aux téléphones.
   ====================================================================== */

@media(max-width:720px){
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        height:74px !important;
        min-height:74px !important;
        padding:5px 13px !important;
    }

    body.home-premium-v2 .navbar .logo,
    body.home-premium-v2 .navbar .premium-brand-link{
        height:60px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:72px !important;
        max-width:72px !important;
        height:60px !important;
    }

    body.home-premium-v2 .hero-content{
        padding-top:134px !important;
    }

    /* Le thème sombre doit gagner sur le fond blanc défini par la V23. */
    body.home-premium-v2.home-nav-night .navbar,
    body.home-premium-v2.home-nav-night .navbar:hover{
        border-bottom-color:rgba(255,255,255,.14) !important;
        background:linear-gradient(110deg,#031a38 0%,#0a3977 100%) !important;
        color:#ffffff !important;
        box-shadow:0 9px 24px rgba(1,17,41,.28) !important;
    }

    body.home-premium-v2.home-nav-night .navbar .user-btn,
    body.home-premium-v2.home-nav-night .navbar .login-btn,
    body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn{
        border-color:rgba(255,255,255,.24) !important;
        background:rgba(255,255,255,.08) !important;
        color:#ffffff !important;
        box-shadow:0 6px 16px rgba(0,0,0,.16) !important;
    }

    body.home-premium-v2.home-nav-night .navbar .user-btn:hover,
    body.home-premium-v2.home-nav-night .navbar .login-btn:hover,
    body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn:hover{
        background:rgba(255,255,255,.15) !important;
        color:#ffd34d !important;
    }

    body.home-premium-v2.home-nav-night .premium-theme-toggle{
        border-color:#ffd34d !important;
        background:#ffd34d !important;
        color:#05234d !important;
        box-shadow:0 4px 12px rgba(255,199,35,.28) !important;
    }
}

@media(max-width:390px){
    body.home-premium-v2 .navbar,
    body.home-premium-v2.home-nav-night .navbar{
        height:68px !important;
        min-height:68px !important;
        padding:4px 9px !important;
    }

    body.home-premium-v2 .navbar .logo,
    body.home-premium-v2 .navbar .premium-brand-link{
        height:54px !important;
    }

    body.home-premium-v2 .navbar .logo img{
        width:64px !important;
        max-width:64px !important;
        height:54px !important;
    }

    body.home-premium-v2 .navbar .user-btn,
    body.home-premium-v2 .navbar .login-btn,
    body.home-premium-v2 .navbar .mobile-menu-btn,
    body.home-premium-v2.home-nav-night .navbar .mobile-menu-btn{
        width:42px !important;
        min-width:42px !important;
        max-width:42px !important;
        height:42px !important;
    }

    body.home-premium-v2 .hero-content{
        padding-top:126px !important;
    }
}
