
/* ==== styles.css ==== */


@import url('./pages-typography.css');

:root {
    --navy-dark: #0a1628;
    --navy-primary: #1a2942;
    --navy-medium: #2a3f5f;
    --navy-light: #3d5a80;
    --accent-gold: #d4af37;
    --accent-yellow: #ffd700;
    --white: #ffffff;
    --gray-light: #f8f9fa;
    --gray-medium: #e9ecef;
    --overlay-dark: rgba(10, 22, 40, 0.7);
    --overlay-medium: rgba(10, 22, 40, 0.5);

    
    --bosse-border: #e0e0e0;
    --bosse-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    --bosse-bg: #ffffff;
    --bosse-accent: #d32f2f;
    --bosse-radius: 16px;
}


.design-bosse-section {
    padding: 80px 0;
    width: 100%;
}

.design-bosse-block {
    background: var(--bosse-bg);
    border: 1px solid var(--bosse-border);
    box-shadow: var(--bosse-shadow);
    border-radius: var(--bosse-radius);
    padding: 30px;
    margin-bottom: 40px;
}

.design-bosse-title {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 900;
    color: var(--navy-dark);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 30px;
    width: 100%;
}

.design-bosse-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 20px;
}

.design-bosse-label {
    font-size: 14px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 8px;
}

.design-bosse-more-btn {
    background: var(--bosse-accent);
    color: #fff;
    padding: 10px 25px;
    border-radius: 50px;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
}

.design-bosse-more-btn:hover {
    background: var(--navy-dark);
    transform: translateY(-2px);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #333333;
    overflow-x: hidden !important;
    
    background-color: #ffffff;
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    max-width: 100vw;
}

html {
    overflow-x: hidden !important;
    width: 100%;
}

* {
    max-width: 100vw;
}

.main-content {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    position: relative;
}



.header-v2 {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10060;
    
    background-color: var(--navy-dark);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    transform: none !important;
    overflow: visible !important;
}


.nav-menu-v2-has-mega:hover .mega-menu-v2,
.nav-menu-v2-has-mega.active .mega-menu-v2 {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.nav-menu-v2-has-videos:hover .nav-videos-dropdown {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.header-v2.scrolled {
    background-color: var(--navy-dark);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    transform: none !important;
}

.header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 40px;
    background-color: var(--navy-primary);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;
    transition: background-color 0.3s ease;
}

.header-v2.scrolled .header-top {
    background-color: var(--navy-primary);
}

.header-contact a {
    color: var(--white);
    text-decoration: none;
    transition: color 0.3s ease;
}

.header-contact a:hover {
    color: var(--accent-gold);
}

.header-promo {
    color: var(--accent-yellow);
    font-weight: 600;
}

.header-nav {
    background-color: var(--navy-dark);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: background-color 0.3s ease;
    position: relative;
}

.header-v2.scrolled .header-nav {
    background-color: var(--navy-dark);
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 40px;
    max-width: 1920px;
    margin: 0 auto;
}

.nav-left {
    display: flex;
    align-items: center;
    gap: 24px;
}

.menu-toggle {
    background: none;
    border: none;
    cursor: pointer;
    display: none;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    z-index: 1001;
}

.menu-toggle span {
    width: 28px;
    height: 3px;
    background-color: var(--white);
    transition: all 0.3s ease;
    border-radius: 2px;
}

.menu-toggle:hover span {
    background-color: var(--accent-gold);
}

.menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(8px, -8px);
}

.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--white);
}

.logo-map-icon {
    width: 50px !important;
    height: 50px !important;
    object-fit: contain;
}

.logo img:not(.logo-map-icon) {
    width: auto;
    height: auto;
    max-height: 96px;
    max-width: 280px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35));
}

.logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.logo-go {
    font-size: 24px;
    font-weight: 800;
    color: var(--accent-gold);
}

.logo-exploria {
    font-size: 24px;
    font-weight: 800;
    color: var(--white);
}

.logo-location {
    font-size: 10px;
    font-weight: 500;
    color: var(--white);
    letter-spacing: 1px;
}

.nav-center {
    flex: 1;
    display: flex;
    justify-content: center;
    position: relative;
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 32px;
    margin: 0;
    padding: 0;
}

.nav-menu li a {
    color: var(--white);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: color 0.3s ease;
    position: relative;
}

.nav-menu li a:hover {
    color: var(--accent-gold);
}

.nav-video-channel-link { display: none; }


.nav-account-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto;
    height: 36px;
    padding: 0 6px;
    transition: all 0.25s ease !important;
    font-size: 13px !important;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.nav-account-icon:hover {
    background: rgba(212,175,55,0.2) !important;
    border-color: #d4af37 !important;
    color: #d4af37 !important;
    transform: scale(1.08);
}

.nav-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.nav-icon {
    color: var(--white);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.nav-icon:hover {
    color: var(--accent-gold);
    background-color: rgba(255, 255, 255, 0.05);
}

.nav-devis-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(212, 175, 55, 0.5);
    background: linear-gradient(135deg, #d4af37, #f4c96a);
    color: #1a2942;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.nav-devis-btn i {
    font-size: 14px;
}

.nav-devis-btn:hover {
    color: #1a2942;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.35);
    opacity: 0.95;
}

.nav-devis-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    animation: devis-btn-ripple 2s ease-in-out infinite;
    pointer-events: none;
}

@keyframes devis-btn-ripple {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

@media (max-width: 1200px) {
    .nav-devis-btn {
        width: 40px;
        min-width: 40px;
        padding: 0;
        border-radius: 50%;
    }

    .nav-devis-btn span {
        display: none;
    }
}

@media (max-width: 768px) {
    .nav-devis-btn {
        width: 36px;
        min-width: 36px;
        height: 36px;
    }
}

.mobile-search-trigger {
    display: none;
}



.main-content {
    position: relative;
    min-height: 100vh;
}



.video-carousel-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    border-radius: 0;
}

.video-carousel-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.video-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    overflow: hidden;
    background: #000;
}

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

.video-background {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}


iframe.video-background {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    border: none;
    pointer-events: none;
    will-change: width, height, transform;
}



.carousel-controls {
    position: absolute;
    bottom: 200px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    gap: 12px;
    z-index: 10;
}

.carousel-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--white);
    background-color: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}

.carousel-dot:hover {
    background-color: var(--accent-gold);
    border-color: var(--accent-gold);
}

.carousel-dot.active {
    background-color: var(--white);
    transform: scale(1.2);
}


.hero-sound-toggle {
    position: absolute;
    left: 24px;
    bottom: 250px;
    z-index: 20;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(101, 113, 132, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

.hero-sound-toggle:hover {
    background: rgba(212, 175, 55, 0.25);
    border-color: #d4af37;
    color: #d4af37;
    transform: scale(1.08);
}

.hero-sound-toggle.is-unmuted {
    background: rgba(212, 175, 55, 0.25);
    border-color: #d4af37;
    color: #d4af37;
}

@media (max-width: 768px) {
    .hero-sound-toggle {
        left: 16px;
        bottom: 120px;
        width: 44px;
        height: 44px;
    }
}



.hero-v2 {
    position: relative;
    height: calc(100vh - 140px);
    min-height: 600px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    overflow: visible !important;
    
    margin-top: 100px;
    margin-bottom: 0 !important;
    background-color: var(--navy-dark);
    z-index: 1000;
    
}

.video-carousel-background,
.video-carousel-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}


.hero-video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.6));
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: none;
}

.hero-video-info {
    text-align: center;
    max-width: 800px;
    padding: 0 40px;
    pointer-events: auto;
}

.hero-video-main-title {
    font-size: 56px;
    font-weight: 800;
    color: var(--white);
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.8);
    margin-bottom: 20px;
    line-height: 1.2;
    letter-spacing: -1px;
}

.hero-video-description {
    font-size: 20px;
    font-weight: 400;
    color: var(--white);
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
    margin-bottom: 30px;
    line-height: 1.5;
}

.hero-video-main-button {
    display: inline-block;
    background: var(--accent-gold);
    color: var(--navy-dark);
    padding: 16px 40px;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.4);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.hero-video-main-button:hover {
    background: #ffd700;
    transform: translateY(-3px);
    box-shadow: 0 6px 30px rgba(212, 175, 55, 0.6);
}


.hero-video-cards-overlay {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: auto;
    max-width: 95%;
    background: transparent;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.hero-video-cards {
    display: flex;
    gap: 20px;
    justify-content: flex-start;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0;
    position: relative;
    width: auto;
    max-width: 100%;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.hero-video-cards::-webkit-scrollbar {
    display: none;
}

.carousel-nav-btn {
    position: relative;
    width: 45px;
    height: 70px;
    background: rgba(10, 22, 40, 0.85);
    border: 2px solid var(--accent-gold);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
    flex-shrink: 0;
}

.carousel-nav-btn:hover {
    background: rgba(10, 22, 40, 0.95);
    border-color: #ffd700;
    transform: scale(1.05);
}

.carousel-nav-btn.prev {
    order: -1;
}

.carousel-nav-btn.next {
    order: 1;
}

.carousel-nav-btn svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: var(--accent-gold);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.hero-video-card {
    position: relative;
    width: 210px;
    min-width: 210px;
    height: 140px;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.4s ease;
    border: 3px solid transparent;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5);
    flex-shrink: 0;
    display: block;
}

.hero-video-card:hover {
    transform: scale(1.05);
    border-color: var(--accent-gold);
}

.hero-video-card.active {
    border-color: var(--accent-gold);
    border-width: 4px;
}

.hero-video-card-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-video-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}

.hero-video-card:hover .hero-video-card-overlay {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.5));
}

.hero-video-card-play {
    width: 50px;
    height: 50px;
    background: rgba(212, 175, 55, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.hero-video-card:hover .hero-video-card-play {
    background: var(--accent-gold);
    transform: scale(1.1);
}

.hero-video-card-play svg {
    width: 20px;
    height: 20px;
    fill: var(--navy-dark);
    margin-left: 3px;
}

.hero-video-card-title {
    position: absolute;
    bottom: 10px;
    left: 12px;
    right: 12px;
    color: var(--white);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9);
    line-height: 1.3;
}


.hero-mobile-header {
    display: none;
}

.hero-content {
    text-align: center;
    max-width: 1200px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    position: relative;
    z-index: 5;
    padding-top: 50px;
}

.hero-text {
    animation: fadeInUp 1s ease-out;
}

.hero-title {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hero-subtitle {
    font-size: 48px;
    font-weight: 300;
    letter-spacing: 8px;
    color: var(--white);
    opacity: 0.9;
}

.hero-main {
    font-size: 72px;
    font-weight: 900;
    letter-spacing: 4px;
    color: var(--white);
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.hero-search {
    width: 100%;
    max-width: 900px;
    animation: fadeInUp 1s ease-out 0.3s backwards;
}

.search-container {
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    padding: 8px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    border: 3px solid var(--accent-gold);
}

.search-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 16px;
}

.search-icon {
    color: var(--navy-primary);
    flex-shrink: 0;
}

.search-input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 16px;
    font-weight: 500;
    color: var(--navy-dark);
    background: transparent;
    padding: 16px 0;
}

.search-input::placeholder {
    color: var(--navy-light);
}

.search-brand {
    padding: 8px 24px;
    border-left: 2px solid var(--gray-medium);
}

.plan-n-go-logo {
    height: 40px;
    width: auto;
    object-fit: contain;
}

.hero-scroll-btn {
    background: none;
    border: 2px solid var(--white);
    color: var(--white);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    animation: bounce 2s infinite;
}

.hero-scroll-btn:hover {
    background-color: var(--accent-gold);
    border-color: var(--accent-gold);
    transform: translateY(4px);
}



@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

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

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    40% {
        transform: translateY(-10px);
    }

    60% {
        transform: translateY(-5px);
    }
}




@media (min-width: 1920px) {
    .nav-container {
        padding: 20px 80px;
    }

    .hero-main {
        font-size: 84px;
    }
}


@media (max-width: 1440px) {
    .nav-container {
        padding: 16px 30px;
    }

    .header-top {
        padding: 8px 30px;
    }
}


@media (max-width: 1200px) {
    .nav-menu {
        gap: 20px;
    }

    .nav-menu li a {
        font-size: 12px;
    }

    .hero-main {
        font-size: 64px;
    }
}


@media (max-width: 992px) {
    .header-top {
        padding: 8px 20px;
        font-size: 11px;
    }

    .nav-container {
        padding: 12px 20px;
    }

    .nav-center {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100vh;
        background-color: var(--navy-dark);
        display: flex;
        align-items: center;
        justify-content: center;
        transition: left 0.3s ease;
        z-index: 10070;
    }

    .nav-center.active {
        left: 0;
    }

    .nav-menu {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }

    .nav-menu li a {
        font-size: 20px;
    }

    .menu-toggle {
        display: flex;
    }

    .logo img {
        width: 60px;
        height: 60px;
    }

    .hero-main {
        font-size: 56px;
        letter-spacing: 3px;
    }

    .search-container {
        max-width: 700px;
    }

    .main-content {
        margin-top: 0;
    }
}

@media (max-width: 1024px) {
    .design-bosse-section {
        padding: 40px 0;
    }

    .hero-v2 {
        margin-top: 0;
        height: 100vh;
    }

    .main-content {
        margin-top: 70px;
    }
}


@media (max-width: 768px) {

    
    .header-v2 {
        background-color: rgba(26, 41, 66, 0.95);
        backdrop-filter: blur(10px);
    }

    .header-v2.scrolled {
        background-color: var(--navy-dark);
    }

    .header-top {
        padding: 6px 15px;
        font-size: 10px;
        background-color: rgba(26, 41, 66, 0.8);
    }

    .header-nav {
        background-color: rgba(26, 41, 66, 0.6);
    }

    .header-contact a {
        font-size: 10px;
    }

    .header-promo {
        font-size: 10px;
    }

    .nav-container {
        padding: 10px 15px;
    }

    .nav-left {
        gap: 12px;
    }

    
    .logo {
        display: none;
    }

    .nav-right {
        gap: 10px;
    }

    .nav-icon {
        width: 38px;
        height: 38px;
    }

    
    .hero-mobile-header {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 20;
        padding: 15px 20px;
    }

    .hero-mobile-email {
        text-align: center;
        margin-bottom: 10px;
    }

    .hero-mobile-email a {
        color: #d4af37;
        font-size: 11px;
        font-weight: 600;
        text-decoration: none;
        letter-spacing: 0.5px;
    }

    .hero-mobile-logo-container {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
    }

    .hero-mobile-map {
        width: 35px;
        height: 35px;
        object-fit: contain;
    }

    .hero-mobile-logo {
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .hero-mobile-logo-img {
        width: 120px;
        height: 80;
        object-fit: contain;
    }

    .hero-mobile-logo .logo-text {
        text-align: left;
    }

    .hero-mobile-logo .logo-exploria {
        font-size: 18px;
        font-weight: 800;
        color: var(--white);
    }

    .hero-mobile-logo .logo-location {
        font-size: 8px;
        font-weight: 500;
        color: var(--white);
        letter-spacing: 1px;
    }

    .hero-v2 {
        padding: 0 !important;
        height: 100vh;
        min-height: 500px;
        margin-top: 70px;
        justify-content: flex-start;
    }

    .hero-video-cards-overlay {
        bottom: 40px;
        width: auto;
        max-width: 95%;
        padding: 0;
        gap: 10px;
    }

    .hero-video-card {
        width: 180px;
        min-width: 180px;
        height: 140px;
    }

    .hero-video-card-title {
        font-size: 11px;
    }

    .hero-video-main-title {
        font-size: 36px;
    }

    .hero-video-description {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .hero-video-main-button {
        font-size: 14px;
        padding: 12px 30px;
    }

    .carousel-nav-btn {
        width: 35px;
        height: 60px;
    }

    .carousel-nav-btn svg {
        width: 22px;
        height: 22px;
    }

    .video-carousel-background {
        top: 15px;
        left: 0;
        right: 0;
        width: 100%;
        height: calc(100% - 195px);
        border-radius: 0;
    }

    .hero-content {
        margin-top: 40px;
        padding-top: 40px;
        padding-left: 0;
        padding-right: 0;
        gap: 35px;
        max-width: 100%;
    }

    .hero-main {
        font-size: 48px;
        letter-spacing: 2px;
    }

    .search-container {
        flex-direction: column;
        gap: 0;
        padding: 6px;
        max-width: 100%;
        width: 100%;
        margin: 0;
    }

    .search-wrapper {
        padding: 14px 18px;
        width: 100%;
    }

    .search-input {
        font-size: 15px;
        padding: 12px 0;
    }

    .search-brand {
        border-left: none;
        border-top: 2px solid var(--gray-medium);
        padding: 14px 18px;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .plan-n-go-logo {
        height: 38px;
    }

    .carousel-controls {
        bottom: 25px;
    }

    .carousel-dot {
        width: 11px;
        height: 11px;
    }

    .hero-video-footer {
        padding: 20px 15px;
        background: #ffffff;
    }

    .hero-video-cards {
        flex-direction: row;
        gap: 10px;
        overflow-x: auto;
        justify-content: flex-start;
        flex-wrap: nowrap;
        padding-bottom: 10px;
    }

    .hero-video-card {
        width: 180px;
        min-width: 180px;
        height: 110px;
        flex-shrink: 0;
    }

    .hero-video-card-title {
        font-size: 11px;
        bottom: 8px;
        left: 8px;
        right: 8px;
    }

    .main-content {
        margin-top: 75px;
    }
}


@media (max-width: 600px) {
    .hero-main {
        font-size: 42px;
        letter-spacing: 1px;
    }

    .search-input {
        font-size: 14px;
    }

    .search-input::placeholder {
        font-size: 13px;
    }
}


@media (max-width: 480px) {
    .header-top {
        padding: 5px 12px;
        font-size: 9px;
    }

    .header-contact a {
        font-size: 9px;
        letter-spacing: 0;
    }

    .header-promo {
        font-size: 9px;
    }

    .nav-container {
        padding: 8px 12px;
    }

    .nav-left {
        gap: 10px;
    }

    .logo img {
        width: 50px;
        height: 50px;
    }

    .nav-right {
        gap: 6px;
    }

    .nav-icon {
        width: 34px;
        height: 34px;
    }

    .nav-icon svg {
        width: 20px;
        height: 20px;
    }

    .design-bosse-section {
        padding: 10px 0;
    }

    .design-bosse-block {
        margin-bottom: 10px;
    }

    .hero-v2 {
        padding: 0;
        height: 90vh;
        min-height: 450px;
        margin-top: 0;
        margin-bottom: 0 !important;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        background-color: var(--navy-dark);
    }

    .video-carousel-background,
    .video-carousel-container {
        height: 100% !important;
        min-height: 100% !important;
    }

    .slideshows-v2-section {
        margin-top: 40px !important;
        padding-top: 0 !important;
        background-color: transparent !important;
    }

    .hero-content {
        padding-top: 15px;
        gap: 12px;
        flex-grow: 0;
        justify-content: flex-start;
    }

    .hero-video-cards-overlay {
        position: relative;
        bottom: 40px;
        transform: none;
        left: 0;
        width: 100%;
        margin-top: 40px;
    }

    .hero-main {
        font-size: 38px;
        letter-spacing: 0;
    }

    .search-container {
        padding: 5px;
        border-width: 2px;
        width: 100%;
        margin: 0;
    }

    .search-wrapper {
        padding: 12px 14px;
    }

    .search-icon {
        width: 20px;
        height: 20px;
    }

    .search-input {
        font-size: 13px;
        padding: 10px 0;
    }

    .search-brand {
        padding: 10px 12px;
    }

    .plan-n-go-logo {
        height: 30px;
    }

    
    .hero-mobile-logo-img {
        width: 180px !important;
        max-height: 80px !important;
        object-fit: contain;
    }

    .hero-mobile-map {
        width: 75px !important;
        height: 75px !important;
        object-fit: contain;
    }

    .hero-mobile-logo-container {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        margin-bottom: 20px;
    }

    .carousel-controls {
        bottom: 20px;
    }

    .carousel-dot {
        width: 8px;
        height: 8px;
        border-width: 1.5px;
    }

    
    .hero-v2+.design-bosse-section,
    .hero-v2+section,
    .hero-v2+div {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .main-content>*:first-child+* {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .hero-mobile-header {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        background-color: transparent !important;
        width: 100%;
        padding: 5px 0;
        margin-top: 15px !important;
        z-index: 1 !important;
        gap: 5px;
    }

    .main-content {
        margin-top: 58px;
        background-color: #0a1628 !important;
    }

    
    .hero-mobile-email {
        text-align: center;
        width: 100%;
        margin-bottom: 5px;
    }

    .hero-mobile-email a {
        color: #ffffff !important;
        text-decoration: none;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1px;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
    }

    
    .mobile-search-trigger {
        display: flex;
    }

    .hero-v2 .search-bar-v2 {
        display: none !important;
        opacity: 0;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: auto;
        background-color: var(--navy-dark) !important;
        background: var(--navy-dark) !important;
        z-index: 100 !important;
        padding: 20px 0 !important;
        transform: translateY(-20px);
        transition: all 0.3s ease;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.8);
    }

    .hero-v2 .search-bar-v2.active {
        display: block !important;
        opacity: 1;
        transform: translateY(0);
    }

    .search-bar-v2-container {
        padding: 0 15px !important;
        gap: 15px !important;
    }

    
    .search-bar-v2 .search-bar-v2-brand,
    .search-bar-v2 .search-bar-v2-globe-icon {
        display: none !important;
    }

    .hero-video-cards-overlay {
        display: flex !important;
        position: absolute !important;
        bottom: 20px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 100% !important;
        z-index: 100 !important;
        margin-top: 0 !important;
    }
}


@media (max-width: 375px) {
    .header-top {
        padding: 4px 10px;
        font-size: 8px;
    }

    .header-contact a {
        display: none;
    }

    .header-promo {
        font-size: 8px;
        margin: 0 auto;
    }

    .nav-container {
        padding: 8px 10px;
    }

    .logo img {
        width: 45px;
        height: 45px;
    }

    .nav-right {
        gap: 4px;
    }

    .nav-icon {
        width: 32px;
        height: 32px;
    }

    .hero-main {
        font-size: 32px;
    }

    .search-input {
        font-size: 12px;
    }

    .search-input::placeholder {
        font-size: 11px;
    }

    .plan-n-go-logo {
        height: 25px;
    }
}


@media (max-height: 500px) and (orientation: landscape) {
    .header-top {
        display: none;
    }

    .nav-container {
        padding: 8px 20px;
    }

    .hero-v2 {
        padding: 0;
        height: 120vh;
        min-height: 120vh;
    }

    .hero-content {
        gap: 20px;
    }

    .hero-main {
        font-size: 32px;
    }

    .search-container {
        max-width: 600px;
    }

    .hero-scroll-btn {
        display: none;
    }

    .carousel-controls {
        bottom: 15px;
    }

    .main-content {
        margin-top: 60px;
    }
}


@media (max-width: 320px) {
    .hero-main {
        font-size: 28px;
    }

    .search-wrapper {
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }

    .search-icon {
        width: 18px;
        height: 18px;
    }
}



.search-bar-v2-quick-links {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 0 20px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    height: 100%;
}

.quick-link-item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    
    width: auto;
    transition: transform 0.3s ease;
    cursor: pointer;
    position: relative;
    padding: 0 10px;
}

.quick-link-item img {
    height: 100%;
    width: auto;
    object-fit: contain;
}


.quick-link-item.info-trigger img {
    height: 65px;
    
    animation: flash-info-bosse 2s infinite;
}

@keyframes flash-info-bosse {

    0%,
    50%,
    100% {
        opacity: 1;
    }

    25%,
    75% {
        opacity: 0.6;
    }
}

.quick-link-item:hover {
    transform: translateY(-3px);
}


.info-mega-menu-v2 {
    display: none !important;
    position: fixed !important;
    
    top: auto;
    
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(980px, calc(100vw - 40px)) !important;
    
    max-width: calc(100vw - 40px) !important;
    background: white;
    border-radius: 16px;
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.4);
    z-index: 99999 !important;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid #e0e0e0;
    margin-top: 0;
}


.info-mega-menu-v2.active {
    display: flex !important;
}


.quick-link-item.info-trigger:hover .info-mega-menu-v2 {
    display: flex !important;
}


.info-mega-menu-v2 .mega-menu-ticker {
    background: #1a3a5f;
    padding: 10px 40px;
    display: flex;
    justify-content: flex-start;
    gap: 50px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
}

.info-mega-menu-v2 .ticker-item {
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
    color: white;
}


.info-mega-menu-v2 .mega-menu-main-content {
    display: flex;
    padding: 20px;
    background: #f8fafc;
    max-height: 70vh;
    
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #3498db #f1f5f9;
}

.info-mega-menu-v2 .mega-menu-main-content::-webkit-scrollbar {
    width: 6px;
}

.info-mega-menu-v2 .mega-menu-main-content::-webkit-scrollbar-thumb {
    background: #3498db;
    border-radius: 10px;
}


.search-bar-v2-quick-links {
    display: flex;
    gap: 10px;
    margin-left: 20px;
}

.search-bar-v2-quick-links .icon-circle {
    width: 35px;
    
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    cursor: pointer;
}



.search-bar-v2-quick-links .icon-standard {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
}

.info-mega-menu-v2 {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 950px;
    background: white;
    border-radius: 12px;
    z-index: 999999;
    padding: 0;
    overflow: hidden;
    margin-top: 12px;
}

.info-mega-menu-v2 .mega-menu-column {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.info-mega-menu-v2 .mega-menu-columns-container {
    flex: 1;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 12px;
}

.info-mega-menu-v2 .mega-menu-item {
    background: #fff;
    padding: 10px 5px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    
    text-decoration: none;
    border: 1px solid #f1f5f9;
    min-height: 75px;
    
    width: 100%;
}

.info-mega-menu-v2 .mega-menu-label {
    font-size: 0.72rem;
    font-weight: 600;
    color: #334155;
    text-align: center;
    line-height: 1.1;
    min-height: 2.2em;
    
    display: flex;
    align-items: center;
    justify-content: center;
}

.info-mega-menu-v2 .mega-menu-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    border-color: #3498db;
}

.info-mega-menu-v2 .mega-menu-icon-wrapper {
    width: 30px;
    height: 30px;
    background: #f1f5f9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    color: #475569;
    margin-bottom: 4px;
}

.info-mega-menu-v2 .mega-menu-label {
    font-size: 0.7rem;
    font-weight: 600;
    color: #334155;
    text-align: center;
}

.info-mega-menu-v2 .mega-menu-carousel-clean {
    width: 300px;
    height: 320px !important;
    
    background: #000;
    margin-left: 15px;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.info-mega-menu-v2 .carousel-media-viewport {
    width: 100%;
    height: 100%;
    position: relative;
}

.info-mega-menu-v2 .carousel-item-simple {
    display: none;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.info-mega-menu-v2 .carousel-item-simple.active {
    display: block;
}

.info-mega-menu-v2 .media-container-v2 {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    background: #000;
}

.info-mega-menu-v2 .slide-media-direct {
    width: 100% !important;
    height: 100% !important;
    border: none;
    display: block;
    object-fit: cover;
}

.info-mega-menu-v2 .expand-media-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 8px;
    color: white;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    transition: all 0.3s ease;
}

.info-mega-menu-v2 .media-container-v2:hover .expand-media-btn {
    opacity: 1;
    background: rgba(255, 255, 255, 0.4);
}

.info-mega-menu-v2 .expand-media-btn:hover {
    background: white;
    color: #e60000;
    transform: scale(1.1);
}


.info-mega-menu-v2 iframe.slide-media {
    aspect-ratio: auto;
}

.info-mega-menu-v2 .mega-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    cursor: pointer;
    z-index: 100;
}

.info-mega-menu-v2 .mega-nav-btn:hover {
    background: rgba(0, 0, 0, 0.8);
}

.info-mega-menu-v2 .mega-nav-btn.prev {
    left: 10px;
}

.info-mega-menu-v2 .mega-nav-btn.next {
    right: 10px;
}

.info-mega-menu-v2 .mega-menu-footer-btns {
    display: flex;
    background: #f8fafc;
    padding: 10px 15px;
    
    gap: 15px;
    border-top: 1px solid #e2e8f0;
}

.info-mega-menu-v2 .footer-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px;
    
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.85rem;
    
    transition: all 0.3s ease;
}

.info-mega-menu-v2 .btn-quebec {
    background: #3498db;
    color: white;
}

.info-mega-menu-v2 .btn-canada {
    background: #2980b9;
    color: white;
}

.info-mega-menu-v2 .btn-monde {
    background: #2c3e50;
    color: white;
}

.info-mega-menu-v2 .footer-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(52, 152, 219, 0.4);
    filter: brightness(1.1);
}


@media (max-width: 1200px) {
    .info-mega-menu-v2 {
        width: 95vw !important;
        max-width: 1000px;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
}


@media (max-width: 1100px) {
    .search-bar-v2-container {
        flex-wrap: wrap !important;
        justify-content: center !important;
        row-gap: 15px !important;
        padding: 10px 15px !important;
    }

    .search-bar-v2-quick-links {
        order: 4 !important;
        
        width: 100% !important;
        justify-content: center !important;
        margin-left: 0 !important;
        margin-top: 5px !important;
    }

    .search-bar-v2-search {
        min-width: 300px;
        flex: 1;
    }
}

@media (max-width: 768px) {

    
    .search-bar-v2-quick-links {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important;
        width: auto !important;
        margin: 15px auto 0 !important;
    }

    .search-bar-v2-quick-links .icon-circle {
        width: 35px !important;
        height: 35px !important;
        font-size: 0.85rem !important;
    }

    
    .info-mega-menu-v2 {
        position: fixed !important;
        top: 12vh !important;
        
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 88vh !important;
        transform: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 24px 24px 0 0 !important;
        
        box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.4) !important;
        box-sizing: border-box !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        background: #fff !important;
        display: none !important;
        
        flex-direction: column !important;
        
        z-index: 9999999 !important;
    }

    .info-mega-menu-v2.active {
        display: flex !important;
        
    }

    

    
    .info-mega-menu-v2 .mega-menu-ticker {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        padding: 10px 15px !important;
        gap: 25px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        -webkit-overflow-scrolling: touch;
        flex-shrink: 0 !important;
        order: 1 !important;
        
    }

    .info-mega-menu-v2 .mega-menu-ticker::-webkit-scrollbar {
        display: none;
    }

    .info-mega-menu-v2 .mega-menu-ticker .ticker-item {
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center;
        gap: 8px;
    }

    
    .info-mega-menu-v2 .mega-menu-main-content {
        display: contents !important;
        
    }

    
    .info-mega-menu-v2 .mega-menu-columns-container {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
        padding: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        
        order: 2 !important;
        
    }

    
    .info-mega-menu-v2 .mega-menu-column {
        display: contents !important;
        
    }

    
    .info-mega-menu-v2 .mega-menu-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px 5px !important;
        min-height: 72px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        text-decoration: none !important;
        border-radius: 8px !important;
        background: #fff !important;
        border: 1px solid #f1f5f9 !important;
    }

    .info-mega-menu-v2 .mega-menu-icon-wrapper {
        width: 30px !important;
        height: 30px !important;
        font-size: 0.85rem !important;
        flex-shrink: 0 !important;
        margin-bottom: 5px !important;
    }

    .info-mega-menu-v2 .mega-menu-label {
        font-size: 0.62rem !important;
        white-space: normal !important;
        word-break: break-word !important;
        text-align: center !important;
        line-height: 1.2 !important;
    }

    
    .info-mega-menu-v2 .mega-menu-carousel-clean {
        width: 100% !important;
        height: 220px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        flex-shrink: 0 !important;
        order: 4 !important;
        
        margin-bottom: 25px !important;
        
    }

    
    .info-mega-menu-v2 .mega-menu-footer-btns {
        display: flex !important;
        flex-direction: row !important;
        order: 3 !important;
        
        overflow-x: auto !important;
        white-space: nowrap !important;
        padding: 12px !important;
        gap: 10px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        -webkit-overflow-scrolling: touch;
        flex-shrink: 0 !important;
    }

    .info-mega-menu-v2 .mega-menu-footer-btns::-webkit-scrollbar {
        display: none;
    }

    .info-mega-menu-v2 .footer-btn {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
        padding: 10px 20px !important;
        font-size: 0.75rem !important;
        border-radius: 6px !important;
    }
}


.lang-switcher {
    position: relative;
}

.lang-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    padding: 5px 10px 5px 8px;
    cursor: pointer;
    color: var(--white);
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.lang-btn:hover,
.lang-switcher.open .lang-btn {
    background: rgba(212, 175, 55, 0.15);
    border-color: rgba(212, 175, 55, 0.4);
    color: var(--accent-gold);
}

.lang-btn .lang-flag { font-size: 18px; line-height: 1; vertical-align: middle; border-radius: 2px; }
.lang-btn .lang-code { font-size: 11px; font-weight: 800; letter-spacing: 0.8px; }

.lang-chevron {
    transition: transform 0.2s ease;
    flex-shrink: 0;
    opacity: 0.7;
}

.lang-switcher.open .lang-chevron { transform: rotate(180deg); opacity: 1; }

.lang-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    background: var(--navy-dark);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 6px;
    list-style: none;
    margin: 0;
    min-width: 165px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 10200;
}

.lang-switcher.open .lang-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.lang-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s ease;
    color: rgba(255, 255, 255, 0.7);
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    user-select: none;
}

.lang-option:hover { background: rgba(255, 255, 255, 0.07); color: var(--white); }
.lang-option.lang-active { background: rgba(212, 175, 55, 0.12); color: var(--accent-gold); }
.lang-option .lang-flag { font-size: 20px; line-height: 1; flex-shrink: 0; vertical-align: middle; border-radius: 2px; }
.lang-option .lang-name { flex: 1; }

.lang-option.lang-active::after {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent-gold);
    flex-shrink: 0;
}

@media (max-width: 480px) {
    .lang-btn .lang-code { display: none; }
    .lang-btn { padding: 5px 8px; gap: 0; }
}

/* ==== vertical-menu.css ==== */
:root {
  --vm-gold: #d4af37;
  --vm-gold-light: rgba(212, 175, 55, 0.1);
  --vm-gold-border: rgba(212, 175, 55, 0.3);
  --vm-dark: #1a2942;
  --vm-text: #000000;
  --vm-muted: #6c757d;
  --vm-bg: #ffffff;
  --vm-bg-alt: #f8f9fa;
  --vm-border: #e9ecef;
  --vm-radius: 8px;
  --vm-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.vertical-menu-v2-overlay {
  position: fixed; inset: 0;
  background: rgba(10, 22, 40, 0.75);
  backdrop-filter: blur(4px);
  opacity: 0; visibility: hidden;
  z-index: 10100;
  transition: opacity var(--vm-transition), visibility var(--vm-transition);
}
.vertical-menu-v2-overlay.active {
  opacity: 1; visibility: visible;
}

.vertical-menu-v2 {
  position: fixed; top: 0; left: -400px;
  width: 380px; height: 100vh;
  background: var(--vm-bg);
  box-shadow: 4px 0 30px rgba(0,0,0,0.12);
  z-index: 10150;
  overflow-y: auto; overflow-x: hidden;
  transition: left var(--vm-transition);
}
.vertical-menu-v2.active { left: 0; }

.vertical-menu-v2::-webkit-scrollbar { width: 6px; }
.vertical-menu-v2::-webkit-scrollbar-track { background: transparent; }
.vertical-menu-v2::-webkit-scrollbar-thumb { background: var(--vm-gold-border); border-radius: 3px; }

.vertical-menu-v2-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 20px 20px;
  background: var(--vm-bg-alt);
  border-bottom: 2px solid var(--vm-gold-border);
  position: sticky; top: 0; z-index: 10;
}
.vertical-menu-v2-title { margin: 0; }
.vertical-menu-v2-logo { height: 38px; width: auto; display: block; }

.vertical-menu-v2-close {
  background: none; border: none; color: var(--vm-dark);
  cursor: pointer; padding: 8px; border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, color 0.2s;
}
.vertical-menu-v2-close:hover {
  background: var(--vm-gold-light); color: var(--vm-gold);
}

.vertical-menu-v2-content { padding: 12px 0; }
.vertical-menu-v2-list { list-style: none; margin: 0; padding: 0; }
.vertical-menu-v2-item { margin: 0; padding: 0; }

.vertical-menu-v2-link {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 20px;
  color: var(--vm-text); text-decoration: none;
  font-size: 15px; font-weight: 500;
  border-left: 3px solid transparent;
  transition: background 0.2s, border-color 0.2s, padding 0.2s, color 0.2s;
}
.vertical-menu-v2-link:hover {
  background: var(--vm-gold-light);
  border-left-color: var(--vm-gold);
  padding-left: 24px;
}
.vertical-menu-v2-link:hover span { color: var(--vm-gold); }
.vertical-menu-v2-link span { flex: 1; }

.vertical-menu-v2-open-icon {
  width: 16px; height: 16px; color: #94a3b8;
  flex-shrink: 0;
  transition: transform var(--vm-transition);
}
.vertical-menu-v2-destinations-item.active .vertical-menu-v2-open-icon,
.vertical-menu-v2-section-item.active .vertical-menu-v2-open-icon {
  transform: rotate(180deg); color: var(--vm-gold);
}

.vertical-menu-v2-mobile-only { display: none; }

.vertical-menu-v2-accordion-trigger {
  width: 100%; text-align: left; background: none; border: none;
  cursor: pointer; display: flex; align-items: center; justify-content: space-between;
  color: var(--vm-text); font-size: 15px; font-weight: 500; padding: 14px 20px;
}
.vertical-menu-v2-accordion-icon { flex-shrink: 0; }

.vertical-menu-v2-submenu {
  list-style: none; margin: 0; padding: 0;
  max-height: 0; overflow: hidden; opacity: 0; visibility: hidden;
  background: var(--vm-bg-alt);
  transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0.3s ease, padding 0.3s ease;
}
.vertical-menu-v2-accordion.active .vertical-menu-v2-submenu {
  max-height: 4000px; opacity: 1; visibility: visible;
  padding: 6px 0; overflow: visible;
}

.vertical-menu-v2-subcat {
  display: block; padding: 10px 20px 4px 32px;
  font-size: 10px; font-weight: 800; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--vm-gold);
  border-top: 1px solid var(--vm-gold-border); margin-top: 6px;
}

.vertical-menu-v2-sublink {
  display: block; padding: 10px 20px 10px 60px;
  color: var(--vm-text); text-decoration: none;
  font-size: 13px; font-weight: 500;
  border-left: 3px solid transparent;
  transition: background 0.2s, border-color 0.2s, color 0.2s, padding 0.2s;
}
.vertical-menu-v2-sublink:hover {
  background: var(--vm-gold-light);
  border-left-color: var(--vm-gold);
  color: var(--vm-gold); padding-left: 64px;
}


.vertical-menu-v2-videos-submenu {
  display: grid; gap: 10px; padding: 12px !important;
}
.vertical-menu-v2-video-item {
  display: flex; gap: 12px;
  background: var(--vm-bg); border-radius: var(--vm-radius);
  overflow: hidden; cursor: pointer;
  border: 1px solid var(--vm-border); padding: 8px;
  animation: slideInVerticalVideo 0.3s ease forwards;
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.vertical-menu-v2-video-item:hover {
  background: var(--vm-gold-light);
  border-color: var(--vm-gold-border);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transform: translateX(4px);
}
.vertical-menu-v2-video-item:nth-child(1) { animation-delay: 0.05s; }
.vertical-menu-v2-video-item:nth-child(2) { animation-delay: 0.1s; }
.vertical-menu-v2-video-item:nth-child(3) { animation-delay: 0.15s; }
.vertical-menu-v2-video-item:nth-child(4) { animation-delay: 0.2s; }
.vertical-menu-v2-video-item:nth-child(5) { animation-delay: 0.25s; }

.vertical-menu-v2-video-thumbnail {
  position: relative; width: 100px; height: 56px;
  flex-shrink: 0; border-radius: 6px; overflow: hidden; background: #000;
}
.vertical-menu-v2-video-thumbnail img { width: 100%; height: 100%; object-fit: cover; }

.vertical-menu-v2-video-play-icon {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 28px; height: 28px;
  background: rgba(255,0,0,0.9); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.2s;
}
.vertical-menu-v2-video-item:hover .vertical-menu-v2-video-play-icon {
  transform: translate(-50%, -50%) scale(1.15);
}
.vertical-menu-v2-video-play-icon svg { width: 12px; height: 12px; fill: #fff; margin-left: 2px; }

.vertical-menu-v2-video-duration {
  position: absolute; bottom: 4px; right: 4px;
  background: rgba(0,0,0,0.85); color: #fff;
  font-size: 10px; font-weight: 600; padding: 2px 5px; border-radius: 3px;
}

.vertical-menu-v2-video-info {
  flex: 1; display: flex; flex-direction: column; justify-content: center; min-width: 0;
}
.vertical-menu-v2-video-title {
  font-size: 13px; font-weight: 600; color: var(--vm-dark);
  margin: 0 0 6px 0; line-height: 1.3;
  overflow: hidden; text-overflow: ellipsis;
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;
}
.vertical-menu-v2-video-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.vertical-menu-v2-video-category {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: 10px; font-weight: 600; color: var(--vm-gold);
  background: var(--vm-gold-light); padding: 2px 6px; border-radius: 3px; text-transform: uppercase;
}
.vertical-menu-v2-video-category svg { width: 10px; height: 10px; fill: currentColor; }
.vertical-menu-v2-video-date { font-size: 10px; font-weight: 500; color: var(--vm-muted); }

.vertical-menu-v2-videos-empty {
  padding: 30px 20px; text-align: center; color: var(--vm-muted);
}
.vertical-menu-v2-videos-empty svg { width: 40px; height: 40px; margin-bottom: 10px; opacity: 0.3; }
.vertical-menu-v2-videos-empty p { font-size: 13px; margin: 0; }

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


.vertical-menu-v2-trigger {
  background: none; border: none; cursor: pointer;
  display: flex; flex-direction: column; gap: 6px;
  padding: 10px; z-index: 10080; position: relative;
}
.vertical-menu-v2-trigger span {
  width: 28px; height: 3px;
  background: #fff; border-radius: 2px;
  transition: background 0.2s, opacity 0.2s;
}
.vertical-menu-v2-trigger:hover span { background: var(--vm-gold); }
.vertical-menu-v2-trigger.active span:nth-child(2) { opacity: 0; }


.vertical-menu-v2-loading,
.vertical-menu-v2-empty,
.vertical-menu-v2-error { padding: 40px 20px; text-align: center; color: rgba(255,255,255,0.7); }
.vertical-menu-v2-loader { display: flex; flex-direction: column; align-items: center; gap: 15px; }
.vertical-menu-v2-loader .spinner {
  width: 40px; height: 40px;
  border: 3px solid rgba(255,255,255,0.1);
  border-top-color: #fff; border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.vertical-menu-v2-empty svg,
.vertical-menu-v2-error svg { width: 48px; height: 48px; margin-bottom: 15px; opacity: 0.5; }
.vertical-menu-v2-empty p,
.vertical-menu-v2-error p { margin: 0; font-size: 14px; }


.vmenu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--vm-border);
}
.vmenu-quick-link-item {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}
.vmenu .icon-blue {
  width: 38px; height: 38px;
  background: radial-gradient(circle at 36% 32%, #72c8ff 0%, #1b72cc 45%, #0a3d82 100%);
  border: 2px solid rgba(255,255,255,0.35);
  border-radius: 50%;
  box-shadow: 0 3px 10px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, box-shadow 0.2s;
}
.vmenu .icon-blue:hover {
  transform: scale(1.12);
  box-shadow: 0 5px 16px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.2);
}
.vmenu .picto-label {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-weight: 900;
  font-size: 16px;
  color: #fff;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
  user-select: none;
}
.vmenu .picto-icon {
  font-size: 16px;
  color: #fff;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}


@media (max-width: 992px) {
  .vertical-menu-v2-mobile-only { display: block; border-top: 1px solid var(--vm-border); }
  .vertical-menu-v2-mobile-only:first-of-type {
    margin-top: 20px; padding-top: 20px;
    border-top: 2px solid var(--vm-gold-border);
  }
  .vertical-menu-v2-mobile-only .vertical-menu-v2-link { padding-left: 60px; font-size: 14px; }
}

@media (max-width: 768px) {
  .vertical-menu-v2 { width: 320px; left: -320px; }
  .vertical-menu-v2-header { padding: 18px 16px; }
  .vertical-menu-v2-link { padding: 12px 16px; font-size: 14px; gap: 12px; }
}

@media (max-width: 480px) {
  .vertical-menu-v2 { width: 280px; left: -280px; }
  .vertical-menu-v2-header { padding: 16px 14px; }
  .vertical-menu-v2-link { padding: 12px 14px; font-size: 13px; gap: 10px; }
  .vertical-menu-v2-mobile-only .vertical-menu-v2-link { padding-left: 50px; }
}

/* ==== vertical-menu-videos.css ==== */



.vertical-menu-v2-video-item {
    display: flex;
    gap: 12px;
    padding: 12px 16px;
    margin: 6px 12px;
    background: #ffffff;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid #e9ecef;
}

.vertical-menu-v2-video-item:hover {
    background: rgba(212, 175, 55, 0.1);
    border-color: rgba(212, 175, 55, 0.3);
    transform: translateX(4px);
}


.vertical-menu-v2-video-thumbnail {
    position: relative;
    width: 100px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    background: #000;
}

.vertical-menu-v2-video-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.vertical-menu-v2-video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    background: rgba(255, 0, 0, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.vertical-menu-v2-video-item:hover .vertical-menu-v2-video-play-icon {
    background: rgba(255, 0, 0, 1);
    transform: translate(-50%, -50%) scale(1.15);
}

.vertical-menu-v2-video-play-icon svg {
    width: 12px;
    height: 12px;
    fill: #ffffff;
    margin-left: 2px;
}


.vertical-menu-v2-video-duration {
    position: absolute;
    bottom: 4px;
    right: 4px;
    background: rgba(0, 0, 0, 0.85);
    color: #ffffff;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 5px;
    border-radius: 3px;
}


.vertical-menu-v2-video-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.vertical-menu-v2-video-title {
    font-size: 13px;
    font-weight: 600;
    color: #1a2942;
    margin: 0 0 6px 0;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.vertical-menu-v2-video-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.vertical-menu-v2-video-category {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    font-weight: 600;
    color: #d4af37;
    background: rgba(212, 175, 55, 0.15);
    padding: 2px 6px;
    border-radius: 3px;
    text-transform: uppercase;
}

.vertical-menu-v2-video-category svg {
    width: 10px;
    height: 10px;
    fill: currentColor;
}

.vertical-menu-v2-video-date {
    font-size: 10px;
    font-weight: 500;
    color: #6c757d;
}


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

.vertical-menu-v2-video-item {
    animation: slideInVerticalVideo 0.3s ease forwards;
}

.vertical-menu-v2-video-item:nth-child(1) { animation-delay: 0.05s; }
.vertical-menu-v2-video-item:nth-child(2) { animation-delay: 0.1s; }
.vertical-menu-v2-video-item:nth-child(3) { animation-delay: 0.15s; }
.vertical-menu-v2-video-item:nth-child(4) { animation-delay: 0.2s; }
.vertical-menu-v2-video-item:nth-child(5) { animation-delay: 0.25s; }


.vertical-menu-v2-videos-empty {
    padding: 30px 20px;
    text-align: center;
    color: #6c757d;
}

.vertical-menu-v2-videos-empty svg {
    width: 40px;
    height: 40px;
    margin-bottom: 10px;
    opacity: 0.3;
}

.vertical-menu-v2-videos-empty p {
    font-size: 13px;
    margin: 0;
}

/* ==== hero.css ==== */


/* ==== carousel.css ==== */


/* ==== navigation.css ==== */


/* ==== vertical-destinations-mega.css ==== */
:root {
  --vm-gold: #d4af37;
  --vm-gold-light: rgba(212, 175, 55, 0.1);
  --vm-gold-border: rgba(212, 175, 55, 0.3);
  --vm-dark: #1a2942;
  --vm-muted: #6c757d;
  --vm-bg: #ffffff;
  --vm-bg-alt: #f8f9fa;
  --vm-border: #e9ecef;
  --vm-radius: 12px;
  --vm-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.vmenu-destinations-mega {
  pointer-events: none;
  position: fixed; top: 0; left: -600px;
  width: 550px; height: 100vh;
  background: var(--vm-bg);
  box-shadow: 4px 0 40px rgba(0,0,0,0.1);
  z-index: 1150;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: left var(--vm-transition);
}
.vmenu-destinations-mega.active { left: 0; }

.vmenu-destinations-mega-header {
  pointer-events: auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px;
  background: linear-gradient(135deg, var(--vm-bg-alt), var(--vm-bg));
  border-bottom: 1px solid var(--vm-border);
  flex-shrink: 0;
}

.vmenu-destinations-mega-title {
  display: flex; align-items: center; gap: 10px;
  margin: 0; font-size: 18px; font-weight: 700;
  color: var(--vm-dark); letter-spacing: 0.3px;
}
.vmenu-destinations-mega-icon { width: 24px; height: 24px; color: var(--vm-gold); }

.vmenu-destinations-mega-close {
  pointer-events: auto;
  background: rgba(0,0,0,0.04); border: none; border-radius: 8px;
  padding: 8px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--vm-muted);
  transition: background 0.2s, color 0.2s;
}
.vmenu-destinations-mega-close:hover {
  background: rgba(0,0,0,0.08); color: var(--vm-dark);
}
.vmenu-destinations-mega-close svg { width: 18px; height: 18px; }

.vmenu-destinations-mega-content {
  pointer-events: auto;
  flex: 1; overflow-y: auto; overflow-x: hidden;
  padding: 16px; background: var(--vm-bg);
}
.vmenu-destinations-mega-content::-webkit-scrollbar { width: 6px; }
.vmenu-destinations-mega-content::-webkit-scrollbar-track { background: transparent; }
.vmenu-destinations-mega-content::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.1); border-radius: 3px; }


.vmenu-destinations-mega-empty {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 60px 20px; gap: 15px; color: var(--vm-muted);
}
.vmenu-destinations-mega-empty svg { width: 48px; height: 48px; }
.vmenu-destinations-mega-empty p { font-size: 14px; margin: 0; }


.vmenu-destinations-mega-grid {
  display: flex; flex-direction: column; gap: 10px;
}


.vmenu-dest-section {
  background: var(--vm-bg-alt); border-radius: var(--vm-radius);
  overflow: hidden; border: 1px solid var(--vm-border);
  transition: border-color 0.2s;
}
.vmenu-dest-section:hover { border-color: var(--vm-gold-border); }
.vmenu-dest-section.expanded { border-color: var(--vm-gold-border); }

.vmenu-dest-section-header {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; cursor: pointer;
  background: transparent; user-select: none;
  transition: background 0.2s;
}
.vmenu-dest-section-header:hover { background: var(--vm-gold-light); }

.vmenu-dest-section-image {
  width: 44px; height: 44px; border-radius: 10px;
  object-fit: cover; flex-shrink: 0;
  border: 2px solid var(--vm-border);
}

.vmenu-dest-section-info { flex: 1; min-width: 0; }
.vmenu-dest-section-name {
  font-size: 15px; font-weight: 600; color: var(--vm-dark);
  margin: 0 0 2px 0; display: flex; align-items: center; gap: 8px;
}
.vmenu-dest-name-link {
  color: var(--vm-dark); text-decoration: none; transition: color 0.2s;
}
.vmenu-dest-name-link:hover { color: var(--vm-gold); }
.vmenu-dest-section-count { font-size: 11px; color: var(--vm-muted); margin: 0; }

.vmenu-dest-section-arrow {
  width: 18px; height: 18px; color: var(--vm-muted);
  flex-shrink: 0; transition: transform 0.3s ease;
}
.vmenu-dest-section.expanded > .vmenu-dest-section-header .vmenu-dest-section-arrow {
  transform: rotate(180deg);
}

.vmenu-dest-section-content {
  max-height: 0; overflow: hidden;
  transition: max-height 0.35s ease;
}
.vmenu-dest-section.expanded .vmenu-dest-section-content { max-height: 3000px; }

.vmenu-dest-section-list {
  padding: 8px 12px 12px;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;
}


.vmenu-dest-subsection {
  background: var(--vm-bg); border-radius: 10px;
  border: 1px solid var(--vm-border); overflow: hidden;
}
.vmenu-dest-subsection-header {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; cursor: pointer; user-select: none;
  transition: background 0.2s;
}
.vmenu-dest-subsection-header:hover { background: var(--vm-gold-light); }

.vmenu-dest-subsection-image {
  width: 36px; height: 36px; border-radius: 8px;
  object-fit: cover; flex-shrink: 0; border: 1px solid var(--vm-border);
}
.vmenu-dest-subsection-name {
  font-size: 13px; font-weight: 600; color: var(--vm-dark);
  margin: 0 0 1px 0;
}

.vmenu-dest-subsection-content {
  max-height: 0; overflow: hidden; transition: max-height 0.3s ease;
}
.vmenu-dest-subsection.expanded .vmenu-dest-subsection-content { max-height: 2000px; }

.vmenu-dest-subsection-list {
  padding: 4px 8px 10px;
  display: flex; flex-direction: column; gap: 4px;
}


.vmenu-dest-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  background: var(--vm-bg); border-radius: 10px;
  text-decoration: none; border: 1px solid var(--vm-border);
  transition: background 0.2s, border-color 0.2s;
}
.vmenu-dest-item:hover {
  background: var(--vm-gold-light);
  border-color: var(--vm-gold-border);
}
.vmenu-dest-item--sub {
  padding: 8px 10px; border-radius: 8px; border-color: #f0f0f0;
}
.vmenu-dest-item-image {
  width: 36px; height: 36px; border-radius: 8px;
  object-fit: cover; flex-shrink: 0;
}
.vmenu-dest-item--sub .vmenu-dest-item-image { width: 28px; height: 28px; }
.vmenu-dest-item-name {
  font-size: 13px; font-weight: 500; color: var(--vm-dark);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color 0.2s;
}
.vmenu-dest-item--sub .vmenu-dest-item-name { font-size: 12px; }
.vmenu-dest-item:hover .vmenu-dest-item-name { color: var(--vm-gold); }


.vmenu-section-card {
  pointer-events: auto;
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px;
  background: var(--vm-bg); border-radius: 10px;
  text-decoration: none; border: 1px solid var(--vm-border);
  transition: background 0.2s, border-color 0.2s;
}
.vmenu-section-card:hover {
  background: var(--vm-gold-light); border-color: var(--vm-gold-border);
}
.vmenu-section-card-icon {
  width: 40px; height: 40px; border-radius: 10px;
  background: var(--vm-bg-alt);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; color: var(--vm-gold); flex-shrink: 0;
}
.vmenu-section-card-body { flex: 1; min-width: 0; }
.vmenu-section-card-name { font-size: 14px; font-weight: 600; color: var(--vm-dark); margin-bottom: 2px; }
.vmenu-section-card-desc { font-size: 12px; color: var(--vm-muted); }

@media (max-width: 1024px) {
  .vmenu-destinations-mega { width: 100%; left: -100%; }
}
@media (max-width: 768px) {
  .vmenu-dest-section-list { grid-template-columns: 1fr; }
}


.vmenu-destinations-mega.vmenu-inline-panel {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  left: -100%;
  z-index: 5;
  pointer-events: auto;
  background: var(--vm-bg);
  border-radius: 0;
  box-shadow: 4px 0 30px rgba(0,0,0,0.08);
  overflow-y: auto;
}
.vmenu-destinations-mega.vmenu-inline-panel.active { left: 0; }
.vmenu-destinations-mega.vmenu-inline-panel .vmenu-destinations-mega-header {
  background: var(--vm-bg-alt);
  padding: 16px 20px;
  flex-shrink: 0;
}
.vmenu-destinations-mega.vmenu-inline-panel .vmenu-destinations-mega-content {
  pointer-events: auto;
  padding: 0;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}


.vmenu-components-source {
  position: absolute;
  left: -99999px;
  top: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}




.vmenu-panel-content .info-mega-menu-v2 {
  position: static !important;
  display: flex !important;
  transform: none !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  z-index: 1 !important;
  margin-top: 0 !important;
}
.vmenu-panel-content .info-mega-menu-v2 .mega-menu-main-content {
  max-height: none;
  overflow-y: auto;
}


.vmenu-panel-content .cat-mega-panel {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
  max-height: none !important;
  margin: 0 !important;
  top: auto !important;
  left: auto !important;
}


.vmenu-panel-content .cat-mega-panel .cat-mega-right {
  display: none !important;
}
.vmenu-panel-content .cat-mega-panel .cat-mega-left {
  width: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  border-right: none !important;
}
.vmenu-panel-content .cat-mega-panel .cat-mega-activities.vmenu-open {
  display: block !important;
  margin: 0 !important;
  padding: 4px 0 4px 44px !important;
  list-style: none !important;
  background: rgba(10, 22, 40, 0.03);
  border-bottom: 1px solid rgba(10, 22, 40, 0.06);
}
.vmenu-panel-content .cat-mega-panel .cat-mega-activities li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}
.vmenu-panel-content .cat-mega-panel .cat-mega-activities .cat-mega-act-link {
  display: block;
  padding: 7px 10px;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.15s, color 0.15s;
}
.vmenu-panel-content .cat-mega-panel .cat-mega-activities .cat-mega-act-link:hover {
  background: rgba(26, 114, 204, 0.08);
  color: #0a3d82;
}
.vmenu-panel-content .cat-mega-panel .cat-mega-activities .cat-mega-empty {
  font-size: 12px;
  color: #9ca3af;
  padding: 4px 10px;
}



/* ==== mega-menu.css ==== */



.mega-menu-v2 {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #ffffff;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
    transition: all 0.3s ease;
    z-index: 950;
    pointer-events: none;
    border-top: 3px solid rgba(212, 175, 55, 0.5);
    min-height: 400px;
}

.mega-menu-v2.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}


.mega-menu-v2-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 30px;
}


.mega-menu-v2-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}


.mega-menu-v2-column {
    display: flex;
    flex-direction: column;
    gap: 8px;
}


.mega-menu-v2-item {
    margin: 0;
    padding: 0;
}

.mega-menu-v2-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    color: #000000;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
    position: relative;
    overflow: hidden;
}

.mega-menu-v2-link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, rgba(212, 175, 55, 0.15) 0%, transparent 100%);
    transition: width 0.3s ease;
    z-index: -1;
}

.mega-menu-v2-link:hover {
    background-color: rgba(212, 175, 55, 0.1);
    border-left-color: #d4af37;
    padding-left: 20px;
    transform: translateX(4px);
}

.mega-menu-v2-link:hover::before {
    width: 100%;
}

.mega-menu-v2-link:hover .mega-menu-v2-icon {
    background-color: rgba(212, 175, 55, 0.2);
    transform: scale(1.1) rotate(5deg);
}

.mega-menu-v2-link:hover span {
    color: #d4af37;
}


.mega-menu-v2-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.mega-menu-v2-icon svg {
    width: 20px;
    height: 20px;
    stroke: #ffffff;
}

.mega-menu-v2-link span {
    flex: 1;
    transition: color 0.3s ease;
    line-height: 1.3;
}


.mega-menu-v2.active .mega-menu-v2-item {
    animation: fadeInUp 0.4s ease forwards;
}

.mega-menu-v2.active .mega-menu-v2-column:nth-child(1) .mega-menu-v2-item {
    animation-delay: 0.05s;
}

.mega-menu-v2.active .mega-menu-v2-column:nth-child(2) .mega-menu-v2-item {
    animation-delay: 0.1s;
}

.mega-menu-v2.active .mega-menu-v2-column:nth-child(3) .mega-menu-v2-item {
    animation-delay: 0.15s;
}

.mega-menu-v2.active .mega-menu-v2-column:nth-child(4) .mega-menu-v2-item {
    animation-delay: 0.2s;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.nav-menu-v2-has-mega {
    position: relative;
}

.nav-menu-v2-has-mega > a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background-color: #d4af37;
    transition: width 0.3s ease;
}

.nav-menu-v2-has-mega:hover > a::after,
.nav-menu-v2-has-mega.active > a::after {
    width: 100%;
}



@media (max-width: 1200px) {
    .mega-menu-v2-container {
        padding: 30px 20px;
    }
    
    .mega-menu-v2-grid {
        gap: 20px;
    }
    
    .mega-menu-v2-link {
        font-size: 13px;
        padding: 10px 14px;
    }
    
    .mega-menu-v2-icon {
        width: 32px;
        height: 32px;
    }
    
    .mega-menu-v2-icon svg {
        width: 18px;
        height: 18px;
    }
}

@media (max-width: 992px) {
    
    .mega-menu-v2-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .mega-menu-v2-container {
        padding: 25px 15px;
    }
    
    .mega-menu-v2-link {
        font-size: 13px;
        padding: 10px 12px;
    }
}

@media (max-width: 768px) {
    
    .mega-menu-v2 {
        display: none !important;
    }
    
    .mega-menu-v2-container {
        padding: 80px 20px 30px;
        min-height: 100vh;
    }
    
    .mega-menu-v2-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .mega-menu-v2-column {
        gap: 6px;
    }
    
    .mega-menu-v2-link {
        padding: 14px 16px;
        font-size: 14px;
    }
    
    .mega-menu-v2-icon {
        width: 38px;
        height: 38px;
    }
    
    .mega-menu-v2-icon svg {
        width: 20px;
        height: 20px;
    }
    
    
    .mega-menu-v2::before {
        content: '✕';
        position: fixed;
        top: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: rgba(212, 175, 55, 0.2);
        color: #ffffff;
        font-size: 24px;
        border-radius: 50%;
        cursor: pointer;
        z-index: 10;
        transition: all 0.3s ease;
    }
    
    .mega-menu-v2::before:hover {
        background-color: rgba(212, 175, 55, 0.4);
        transform: rotate(90deg);
    }
}

@media (max-width: 480px) {
    .mega-menu-v2-container {
        padding: 70px 15px 20px;
    }
    
    .mega-menu-v2-link {
        padding: 12px 14px;
        font-size: 13px;
    }
    
    .mega-menu-v2-icon {
        width: 34px;
        height: 34px;
    }
    
    .mega-menu-v2-icon svg {
        width: 18px;
        height: 18px;
    }
}




.mega-menu-v2 { min-height: auto !important; }


.smm-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 28px;
    background: linear-gradient(135deg, #0a1628 0%, #1a2942 100%);
    border-bottom: 2px solid rgba(212,175,55,0.25);
}

.smm-banner-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.smm-banner-logo {
    width: 42px;
    height: 42px;
    background: rgba(212,175,55,0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(212,175,55,0.35);
    flex-shrink: 0;
}

.smm-banner-logo svg {
    width: 22px;
    height: 22px;
    stroke: #d4af37;
}

.smm-banner-text strong {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.smm-banner-text span {
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    font-weight: 400;
}

.smm-banner-cats {
    display: flex;
    gap: 8px;
    align-items: center;
}

.smm-banner-cat {
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 600;
    color: rgba(255,255,255,0.65);
    background: rgba(255,255,255,0.07);
    letter-spacing: 0.3px;
}

.smm-cat-explorer { border-left: 2px solid #4361ee; }
.smm-cat-medias   { border-left: 2px solid #e63946; }
.smm-cat-voyages  { border-left: 2px solid #2dc653; }
.smm-cat-services { border-left: 2px solid #d4af37; }


.smm-body {
    display: flex;
    padding: 22px 10px 14px;
    gap: 0;
    align-items: flex-start;
}

.smm-col {
    flex: 1;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}


.smm-col-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 0 10px;
    margin-bottom: 6px;
    border-bottom: 1.5px solid #eee;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.smm-col-header svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

.smm-col-header.smm-col-explorer { color: #4361ee; border-color: rgba(67,97,238,0.2); }
.smm-col-header.smm-col-explorer svg { stroke: #4361ee; }
.smm-col-header.smm-col-medias   { color: #e63946; border-color: rgba(230,57,70,0.2); }
.smm-col-header.smm-col-medias svg { stroke: #e63946; }
.smm-col-header.smm-col-voyages  { color: #2dc653; border-color: rgba(45,198,83,0.2); }
.smm-col-header.smm-col-voyages svg { stroke: #2dc653; }
.smm-col-header.smm-col-services { color: #c9980a; border-color: rgba(212,175,55,0.25); }
.smm-col-header.smm-col-services svg { stroke: #c9980a; }


.smm-item {
    padding: 8px 10px !important;
    border-radius: 8px !important;
    align-items: flex-start !important;
    gap: 11px !important;
    transition: all 0.18s ease !important;
}

.smm-item::before { display: none !important; }

.smm-item:hover {
    transform: none !important;
    padding-left: 10px !important;
}


.smm-body > .smm-col:nth-child(1) .smm-item:hover {
    background: rgba(67,97,238,0.06) !important;
    border-left-color: #4361ee !important;
}
.smm-body > .smm-col:nth-child(3) .smm-item:hover {
    background: rgba(230,57,70,0.06) !important;
    border-left-color: #e63946 !important;
}
.smm-body > .smm-col:nth-child(5) .smm-item:hover {
    background: rgba(45,198,83,0.06) !important;
    border-left-color: #2dc653 !important;
}
.smm-body > .smm-col:nth-child(7) .smm-item:hover {
    background: rgba(212,175,55,0.07) !important;
    border-left-color: #d4af37 !important;
}


.smm-item:hover .mega-menu-v2-icon { transform: none !important; }
.smm-item:hover span { color: inherit !important; }


.smm-item-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
    transition: transform 0.18s ease;
}

.smm-item-icon svg {
    width: 17px;
    height: 17px;
}

.smm-item:hover .smm-item-icon { transform: scale(1.08); }

.smm-icon-explorer { background: rgba(67,97,238,0.1); }
.smm-icon-explorer svg { stroke: #4361ee; }
.smm-icon-medias   { background: rgba(230,57,70,0.1); }
.smm-icon-medias svg { stroke: #e63946; }
.smm-icon-voyages  { background: rgba(45,198,83,0.1); }
.smm-icon-voyages svg { stroke: #2dc653; }
.smm-icon-services { background: rgba(212,175,55,0.12); }
.smm-icon-services svg { stroke: #c9980a; }


.smm-item-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.smm-item-info strong {
    font-size: 13px;
    font-weight: 700;
    color: #0a1628;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.18s;
}

.smm-item-info span {
    font-size: 11px;
    color: #9ba3af;
    line-height: 1.35;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.smm-body > .smm-col:nth-child(1) .smm-item:hover .smm-item-info strong { color: #4361ee !important; }
.smm-body > .smm-col:nth-child(3) .smm-item:hover .smm-item-info strong { color: #e63946 !important; }
.smm-body > .smm-col:nth-child(5) .smm-item:hover .smm-item-info strong { color: #2dc653 !important; }
.smm-body > .smm-col:nth-child(7) .smm-item:hover .smm-item-info strong { color: #c9980a !important; }


.smm-sep {
    width: 1px;
    background: #e8ecf0;
    margin: 4px 0;
    align-self: stretch;
    flex-shrink: 0;
}


.smm-footer {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 10px 28px 12px;
    background: #f8f9fb;
    border-top: 1px solid #eaecf0;
    flex-wrap: wrap;
}

.smm-footer-label {
    font-size: 10.5px;
    font-weight: 700;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-right: 2px;
    flex-shrink: 0;
}

.smm-footer-pill {
    padding: 4px 13px !important;
    background: #ffffff !important;
    border: 1px solid #dde1e8 !important;
    border-left: 1px solid #dde1e8 !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    color: #4a5568 !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    transition: all 0.18s ease !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.smm-footer-pill::before { display: none !important; }

.smm-footer-pill:hover {
    background: #0a1628 !important;
    color: #ffffff !important;
    border-color: #0a1628 !important;
    transform: none !important;
    padding-left: 13px !important;
}


@media (max-width: 1200px) {
    .smm-banner-cats { display: none; }
    .smm-col { padding: 0 14px; }
    .smm-item-info span { display: none; }
    .smm-item-info strong { white-space: normal; }
}

@media (max-width: 992px) {
    .smm-body {
        flex-wrap: wrap;
        padding: 14px;
    }
    .smm-sep { display: none; }
    .smm-col {
        flex: 0 0 calc(50% - 14px);
        padding: 8px 10px;
        border-bottom: 1px solid #eee;
    }
    .smm-item-info span { display: block !important; }
}


.mega-menu-v2-overlay-mobile {
    display: none;
}

@media (max-width: 768px) {
    .mega-menu-v2-overlay-mobile {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(10, 22, 40, 0.9);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        z-index: 899;
    }
    
    .mega-menu-v2-overlay-mobile.active {
        opacity: 1;
        visibility: visible;
    }
}

/* ==== services-mega-menu-v2.css ==== */
   
        .smm-v4-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(4px);
            z-index: 99998;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        .smm-v4-overlay.active {
            opacity: 1;
            visibility: visible;
        }

        
        .smm-v4-container {
            position: fixed;
            top: 80px;
            left: 50%;
            transform: translateX(-50%) translateY(-20px);
            width: 95%;
            max-width: 1400px;
            height: calc(100vh - 100px);
            max-height: 700px;
            background: #ffffff;
            border-radius: 16px;
            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
            z-index: 99999;
            display: flex;
            opacity: 0;
            visibility: hidden;
            transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
            overflow: hidden;
        }

        .smm-v4-container.active {
            opacity: 1;
            visibility: visible;
            transform: translateX(-50%) translateY(0);
        }

        
        .smm-v4-sidebar {
            width: 280px;
            background: linear-gradient(180deg, #1a2942 0%, #0a1628 100%);
            border-right: 1px solid rgba(255, 255, 255, 0.1);
            display: flex;
            flex-direction: column;
            flex-shrink: 0;
        }

        .smm-v4-sidebar-header {
            padding: 24px 20px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            display: flex;
            align-items: center;
            gap: 12px;
            color: #ffffff;
        }

        .smm-v4-sidebar-header i {
            font-size: 24px;
            color: #d4af37;
        }

        .smm-v4-sidebar-header span {
            font-size: 16px;
            font-weight: 700;
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }

        .smm-v4-categories {
            flex: 1;
            overflow-y: auto;
            padding: 12px 0;
        }

        .smm-v4-categories::-webkit-scrollbar {
            width: 6px;
        }

        .smm-v4-categories::-webkit-scrollbar-track {
            background: rgba(255, 255, 255, 0.05);
        }

        .smm-v4-categories::-webkit-scrollbar-thumb {
            background: rgba(212, 175, 55, 0.3);
            border-radius: 3px;
        }

        
        .smm-v4-cat {
            padding: 14px 20px;
            display: flex;
            align-items: center;
            gap: 12px;
            color: rgba(255, 255, 255, 0.7);
            cursor: pointer;
            transition: all 0.25s ease;
            border-left: 3px solid transparent;
        }

        .smm-v4-cat i:first-child {
            font-size: 18px;
            width: 24px;
            text-align: center;
            flex-shrink: 0;
        }

        .smm-v4-cat span {
            flex: 1;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.3;
        }

        .smm-v4-cat .fa-chevron-right {
            font-size: 12px;
            opacity: 0;
            transform: translateX(-5px);
            transition: all 0.25s ease;
        }

        .smm-v4-cat:hover {
            background: rgba(255, 255, 255, 0.05);
            color: #ffffff;
            border-left-color: #d4af37;
        }

        .smm-v4-cat:hover .fa-chevron-right {
            opacity: 1;
            transform: translateX(0);
        }

        .smm-v4-cat.active {
            background: rgba(212, 175, 55, 0.15);
            color: #d4af37;
            border-left-color: #d4af37;
        }

        .smm-v4-cat.active .fa-chevron-right {
            opacity: 1;
            transform: translateX(0);
        }

        
        .smm-v4-main {
            flex: 1;
            display: flex;
            flex-direction: column;
            background: #f8f9fa;
            overflow: hidden;
        }

        .smm-v4-main-header {
            padding: 20px 28px;
            background: #ffffff;
            border-bottom: 1px solid #e9ecef;
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-shrink: 0;
        }

        .smm-v4-main-header h3 {
            font-size: 22px;
            font-weight: 700;
            color: #1a2942;
            margin: 0;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .smm-v4-main-header h3 .tag {
            font-size: 11px;
            background: #e9ecef;
            color: #6c757d;
            padding: 4px 10px;
            border-radius: 20px;
            font-weight: normal;
        }

        .smm-v4-close {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: none;
            background: #f1f3f5;
            color: #495057;
            font-size: 18px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
        }

        .smm-v4-close:hover {
            background: #e9ecef;
            color: #212529;
            transform: rotate(90deg);
        }

        
        .smm-v4-content {
            flex: 1;
            overflow-y: auto;
            padding: 28px;
        }

        .smm-v4-content::-webkit-scrollbar {
            width: 8px;
        }

        .smm-v4-content::-webkit-scrollbar-track {
            background: #e9ecef;
        }

        .smm-v4-content::-webkit-scrollbar-thumb {
            background: #adb5bd;
            border-radius: 4px;
        }

        
        .smm-v4-category-block {
            margin-bottom: 32px;
            border-bottom: 1px solid #e9ecef;
            padding-bottom: 20px;
        }

        .smm-v4-category-block:last-child {
            border-bottom: none;
        }

        .smm-v4-category-title {
            font-size: 18px;
            font-weight: 700;
            color: #1a2942;
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px;
        }

        .smm-v4-category-title a {
            color: #1a2942;
            text-decoration: none;
            transition: color 0.2s ease;
        }

        .smm-v4-category-title a:hover {
            color: #d4af37;
        }

        .smm-v4-category-tag {
            font-size: 11px;
            background: #e9ecef;
            color: #6c757d;
            padding: 3px 10px;
            border-radius: 20px;
            font-weight: normal;
        }

        .smm-v4-category-desc {
            font-size: 13px;
            color: #6c757d;
            margin-bottom: 12px;
        }

        
        .smm-v4-subcats {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 8px;
        }

        .smm-v4-subcat {
            background: #ffffff;
            border: 1px solid #e9ecef;
            border-radius: 8px;
            padding: 8px 16px;
            font-size: 13px;
            font-weight: 500;
            color: #495057;
            text-decoration: none;
            transition: all 0.2s ease;
        }

        .smm-v4-subcat:hover {
            background: #d4af37;
            border-color: #d4af37;
            color: #ffffff;
            transform: translateY(-2px);
        }

        
        .smm-v4-grandchildren {
            margin-top: 12px;
            margin-left: 16px;
            padding-left: 16px;
            border-left: 2px solid #d4af37;
        }

        .smm-v4-grandchild-title {
            font-size: 12px;
            font-weight: 600;
            color: #d4af37;
            margin-bottom: 8px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .smm-v4-grandchild-list {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .smm-v4-grandchild-list a {
            font-size: 12px;
            color: #6c757d;
            text-decoration: none;
            padding: 4px 12px;
            background: #f8f9fa;
            border-radius: 20px;
            transition: all 0.2s ease;
        }

        .smm-v4-grandchild-list a:hover {
            background: #d4af37;
            color: #ffffff;
        }

        
        .external-link {
            background: #1a2942;
            color: white !important;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .external-link:hover {
            background: #d4af37 !important;
            color: #1a2942 !important;
        }

        
        @media (max-width: 1024px) {
            .smm-v4-container {
                width: 98%;
                max-height: 650px;
            }
            .smm-v4-sidebar {
                width: 240px;
            }
        }

        @media (max-width: 768px) {
            .smm-v4-container {
                top: 60px;
                width: 100%;
                height: calc(100vh - 60px);
                max-height: none;
                border-radius: 0;
                flex-direction: column;
            }
            .smm-v4-sidebar {
                width: 100%;
                max-height: 180px;
                border-right: none;
                border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            }
            .smm-v4-categories {
                display: flex;
                overflow-x: auto;
                overflow-y: hidden;
                padding: 8px 12px;
                gap: 8px;
            }
            .smm-v4-cat {
                flex-direction: column;
                min-width: 100px;
                padding: 10px;
                text-align: center;
                border-left: none;
                border-bottom: 3px solid transparent;
                gap: 6px;
            }
            .smm-v4-cat.active {
                border-left: none;
                border-bottom-color: #d4af37;
            }
            .smm-v4-cat .fa-chevron-right {
                display: none;
            }
            .smm-v4-main-header {
                padding: 14px 20px;
            }
            .smm-v4-main-header h3 {
                font-size: 18px;
            }
            .smm-v4-content {
                padding: 16px;
            }
        }

        
        .smm-v4-cards-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
        }

        .smm-v4-card {
            background: #ffffff;
            border: 1px solid #e9ecef;
            border-radius: 10px;
            overflow: hidden;
            transition: all 0.25s ease;
            box-shadow: 0 1px 4px rgba(0,0,0,0.06);
        }

        .smm-v4-card:hover {
            box-shadow: 0 6px 18px rgba(0,0,0,0.12);
            transform: translateY(-3px);
            border-color: #d4af37;
        }

        .smm-v4-card-link {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            padding: 14px;
            text-decoration: none;
            color: inherit;
        }

        .smm-v4-card-icon {
            width: 46px;
            height: 46px;
            border-radius: 10px;
            background: linear-gradient(135deg, #1a2942 0%, #0a1628 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            color: #d4af37;
            font-size: 20px;
        }

        .smm-v4-card-body {
            flex: 1;
            min-width: 0;
        }

        .smm-v4-card-name {
            font-size: 12px;
            font-weight: 700;
            color: #1a2942;
            line-height: 1.3;
            margin-bottom: 3px;
        }

        .smm-v4-card:hover .smm-v4-card-name {
            color: #d4af37;
        }

        .smm-v4-card-desc {
            font-size: 11px;
            color: #6c757d;
            line-height: 1.4;
            margin-bottom: 6px;
        }

        .smm-v4-card-subs {
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
            margin-top: 8px;
            padding-top: 8px;
            border-top: 1px dashed #e9ecef;
        }

        .smm-v4-card-sub {
            display: inline-block;
            font-size: 10px;
            font-weight: 600;
            background: #f0f4f8;
            border: 1px solid #dee2e6;
            border-radius: 20px;
            padding: 3px 10px;
            color: #1a2942;
            text-decoration: none;
            white-space: nowrap;
            transition: all 0.2s ease;
        }

        .smm-v4-card-sub:hover {
            background: #d4af37;
            border-color: #d4af37;
            color: #ffffff;
            transform: translateY(-1px);
        }

        
        @media (max-width: 1200px) {
            .smm-v4-cards-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 768px) {
            .smm-v4-cards-grid {
                grid-template-columns: 1fr;
            }
        }

        
        .services-trigger-v4 {
            display: inline-block;
            padding: 12px 24px;
            background: #1a2942;
            color: white;
            border-radius: 8px;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
        }
        .services-trigger-v4:hover {
            background: #d4af37;
            transform: translateY(-2px);
        }
/* ==== sections-nav-bar.css ==== */

.snb-anchor {
    display: block;
    position: relative;
    top: -140px;
    visibility: hidden;
    pointer-events: none;
    height: 0;
}



.snb-bar {
    position: sticky;
    top: 80px;
    z-index: 200;
    background: rgba(255, 255, 255, 0.80);
    border-bottom: 2px solid #d4af37;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.snb-inner {
    display: flex;
    align-items: center;
    gap: 0;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
    height: 48px;
    overflow: hidden;
}


.snb-label {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    color: #d4af37;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.snb-label i {
    font-size: 14px;
}


.snb-divider {
    width: 1px;
    height: 24px;
    background: rgba(212, 175, 55, 0.35);
    margin: 0 16px;
    flex-shrink: 0;
}


.snb-links {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex: 1;
}

.snb-links::-webkit-scrollbar {
    display: none;
}


.snb-link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: linear-gradient(90deg, #0a1628 0%, #1a2942 100%);
    white-space: nowrap;
    transition: all 0.22s ease;
    border: 1px solid transparent;
}

.snb-link i {
    font-size: 12px;
    color: #d4af37;
    flex-shrink: 0;
}

.snb-link:hover,
.snb-link.active {
    background: rgba(212, 175, 55, 0.15);
    border-color: rgba(212, 175, 55, 0.4);
    color: #d4af37;
}


.snb-link.active {
    background: rgba(212, 175, 55, 0.22);
    border-color: #d4af37;
    color: #d4af37;
}


@media (max-width: 1024px) {
    .snb-label span {
        display: none;
    }
    .snb-label {
        gap: 0;
    }
    .snb-divider {
        margin: 0 10px;
    }
    .snb-link {
        padding: 6px 10px;
    }
}

@media (max-width: 768px) {
    .snb-bar {
        top: 60px;
    }
    .snb-inner {
        padding: 0 8px;
        height: 56px;
    }
    .snb-label {
        display: none;
    }
    .snb-divider {
        display: none;
    }
    .snb-link {
        flex-direction: column;
        gap: 3px;
        padding: 6px 8px;
        border-radius: 8px;
        align-items: center;
    }
    .snb-link i {
        font-size: 13px;
    }
    .snb-link span {
        font-size: 9px;
        line-height: 1.1;
        text-align: center;
        max-width: 60px;
        white-space: normal;
    }
}

/* ==== destinations-mega-menu-modern.css ==== */



.destinations-mega-menu {
    position: fixed; 
    top: 108px; 
    left: 50%;
    transform: translateX(-50%);
    width: 1200px;
    max-width: 95vw;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    padding: 0;
    z-index: 10000; 
    display: none;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.1);
}


.destinations-mega-two-columns {
    display: flex;
    min-height: 400px;
    max-height: 600px;
}


.destinations-mega-left-column {
    width: 250px;
    background: #f8f9fa;
    border-right: 1px solid #e0e0e0;
    overflow-y: auto;
    flex-shrink: 0;
}


.destinations-mega-continents-list {
    display: flex;
    flex-direction: column;
    text-align: left;
}


.destinations-mega-continent-item {
    padding: 15px 20px;
    color: #333333;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border-left: 3px solid transparent;
}

.destinations-mega-continent-item:hover {
    background: #e8f4f8;
    color: #0a1628;
    border-left-color: #0a1628;
}

.destinations-mega-continent-item.active {
    background: #d4e8f0;
    color: #0a1628;
    border-left-color: #0a1628;
    font-weight: 600;
}


.destinations-mega-right-column {
    flex: 1;
    padding: 25px 30px;
    overflow-y: auto;
}


.destinations-mega-placeholder {
    color: #999999;
    text-align: left;
    padding: 60px 20px;
    font-size: 14px;
}


.destinations-mega-loader-text,
.destinations-mega-empty-text,
.destinations-mega-error-text {
    color: #666666;
    text-align: left;
    padding: 40px 20px;
    font-size: 14px;
}

.destinations-mega-error-text {
    color: #dc3545;
}


.destinations-mega-right-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


.destinations-mega-right-title {
    color: #0a1628;
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #e0e0e0;
    text-transform: uppercase;
    letter-spacing: 1px;
}


.destinations-mega-countries-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    text-align: left;
}


.destinations-mega-country-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}


.destinations-mega-country-link {
    color: #0a1628;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 5px;
}

.destinations-mega-country-link:hover {
    color: #1a2942;
    text-decoration: none;
}

.destinations-mega-country-link:hover span {
    text-decoration: underline;
}


.destinations-mega-country-img {
    width: 48px;
    height: 32px;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
    border: 1px solid rgba(0,0,0,0.1);
}


.destinations-mega-provinces-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-left: 0;
    margin-top: 0;
}


.destinations-mega-province-item {
    display: flex;
    align-items: center;
}


.destinations-mega-province-link {
    color: #666666;
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
    padding: 2px 0;
    display: block;
}

.destinations-mega-province-link:hover {
    color: #0a1628;
    text-decoration: underline;
}


.destinations-mega-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    gap: 20px;
}

.destinations-mega-loader p {
    color: #666666;
    font-size: 14px;
    margin: 0;
}

.destinations-spinner {
    width: 50px;
    height: 50px;
    border: 4px solid #e0e0e0;
    border-top-color: #0a1628;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}


.destinations-mega-menu-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: #999999;
    font-size: 14px;
}


.destinations-mega-left-column::-webkit-scrollbar,
.destinations-mega-right-column::-webkit-scrollbar {
    width: 6px;
}

.destinations-mega-left-column::-webkit-scrollbar-track,
.destinations-mega-right-column::-webkit-scrollbar-track {
    background: #f0f0f0;
}

.destinations-mega-left-column::-webkit-scrollbar-thumb,
.destinations-mega-right-column::-webkit-scrollbar-thumb {
    background: #cccccc;
    border-radius: 3px;
}

.destinations-mega-left-column::-webkit-scrollbar-thumb:hover,
.destinations-mega-right-column::-webkit-scrollbar-thumb:hover {
    background: #999999;
}




@media (max-width: 1024px) {
    .destinations-mega-menu {
        width: 95vw;
        left: 50%;
        transform: translateX(-50%);
        margin: 10px 0 0;
    }
    
    .destinations-mega-left-column {
        width: 200px;
    }
    
    .destinations-mega-countries-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .destinations-mega-right-column {
        padding: 20px;
    }
}


@media (max-width: 768px) {
    .destinations-mega-menu {
        position: fixed;
        width: 100%;
        max-width: 100vw;
        left: 0;
        top: 130px; 
        transform: none;
        border-radius: 0;
    }
    
    .destinations-mega-two-columns {
        flex-direction: column;
        max-height: 80vh;
        min-height: auto;
    }
    
    .destinations-mega-left-column {
        width: 100%;
        max-height: 60px;
        border-right: none;
        border-bottom: 1px solid #e0e0e0;
        background: #ffffff;
    }
    
    .destinations-mega-continents-list {
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0;
        -webkit-overflow-scrolling: touch;
    }
    
    .destinations-mega-continent-item {
        white-space: nowrap;
        border-left: none;
        border-bottom: 3px solid transparent;
        padding: 12px 15px;
        font-size: 13px;
    }
    
    .destinations-mega-continent-item:hover {
        background: transparent;
        border-bottom-color: #0a1628;
    }
    
    .destinations-mega-continent-item.active {
        border-left: none;
        border-bottom-color: #0a1628;
        background: transparent;
    }
    
    .destinations-mega-right-column {
        padding: 15px;
        max-height: calc(80vh - 60px);
    }
    
    .destinations-mega-right-title {
        font-size: 16px;
        padding-bottom: 10px;
    }
    
    .destinations-mega-countries-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .destinations-mega-country-item {
        gap: 6px;
    }
    
    .destinations-mega-country-link {
        font-size: 14px;
    }
    
    .destinations-mega-province-link {
        font-size: 12px;
    }
    
    
    .destinations-mega-continents-list::-webkit-scrollbar {
        height: 3px;
    }
    
    .destinations-mega-continents-list::-webkit-scrollbar-track {
        background: #f0f0f0;
    }
    
    .destinations-mega-continents-list::-webkit-scrollbar-thumb {
        background: #cccccc;
        border-radius: 3px;
    }
}


@media (max-width: 480px) {
    .destinations-mega-continent-item {
        padding: 10px 12px;
        font-size: 12px;
    }
    
    .destinations-mega-right-column {
        padding: 12px;
    }
    
    .destinations-mega-right-title {
        font-size: 14px;
    }
    
    .destinations-mega-country-link {
        font-size: 13px;
    }
    
    .destinations-mega-province-link {
        font-size: 11px;
    }
}

/* ==== destinations-search.css ==== */


/* ==== search-bar.css ==== */



.search-bar-v2 {
    background: #0e1a2b;
    background: rgba(5, 15, 35, 0.78);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding: 10px 0;
    position: relative;
    z-index: 50;
}

.hero-v2 .search-bar-v2.search-bar-v2-floating {
    position: fixed !important;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 10035;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.search-bar-v2-container {
    max-width: 2000px;
    margin: 0 auto;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 20px;
    overflow: visible;
}


.search-bar-v2-destinations {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    flex-shrink: 0;
    min-width: 185px;
    max-width: 340px;
}

.search-bar-v2-globe-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    flex-shrink: 0;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
    transition: transform 0.2s ease;
}

.search-bar-v2-globe-icon:hover {
    transform: scale(1.0);
}

.search-bar-v2-destinations-title {
    font-size: 13px;
    font-weight: 800;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0;
    white-space: nowrap;
    text-decoration: none;
    transition: color 0.3s ease;
    text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}

.search-bar-v2-destinations-title:hover {
    color: #d4af37;
}

.search-bar-v2-destination-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    max-width: min(340px, 22vw);
    color: rgba(255, 255, 255, 0.78);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 4px rgba(0,0,0,0.65);
}

.search-bar-v2-destination-breadcrumb a {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #ffffff;
    text-decoration: none;
}

.search-bar-v2-destination-breadcrumb a:last-of-type {
    color: #2d9cff;
}

.search-bar-v2-destination-breadcrumb a:hover {
    color: #d4af37;
}

.search-bar-v2-destination-breadcrumb span {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, 0.46);
}

.search-bar-v2-destinations-links {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.search-bar-v2-destinations-link {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.search-bar-v2-destinations-link:hover {
    color: #d4af37;
}

.search-bar-v2-separator {
    color: rgba(255, 255, 255, 0.4);
    font-size: 13px;
    user-select: none;
}


.search-bar-v2-search {
    flex: 1;
    max-width: 500px;
    position: relative;
    z-index: 10040;
    overflow: visible;
}

.search-bar-v2-input-wrapper {
    position: relative;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 25px;
    display: flex;
    align-items: center;
    padding: 10px 20px;
    gap: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.search-bar-v2-input-wrapper:focus-within {
    background: #ffffff;
    box-shadow: 0 6px 25px rgba(212, 175, 55, 0.3);
}

.search-bar-v2-search-icon {
    color: #0a1628;
    flex-shrink: 0;
}

.search-bar-v2-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
    color: #0a1628;
    font-weight: 500;
}

.search-bar-v2-input::placeholder {
    color: rgba(10, 22, 40, 0.5);
    font-style: italic;
}

.search-bar-v2-clear-btn {
    background: none;
    border: none;
    color: rgba(10, 22, 40, 0.4);
    cursor: pointer;
    padding: 4px;
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.search-bar-v2-clear-btn.visible {
    display: flex;
}

.search-bar-v2-clear-btn:hover {
    background: rgba(10, 22, 40, 0.1);
    color: #0a1628;
}


.search-bar-v2-quick-links {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.quick-link-item {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    flex-shrink: 0;
}

.icon-circle {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}


.icon-blue {
    width: 68px;
    height: 68px;
    background: radial-gradient(circle at 36% 32%, #72c8ff 0%, #1b72cc 45%, #0a3d82 100%);
    border: 2.5px solid rgba(255, 255, 255, 0.40);
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.50), inset 0 2px 0 rgba(255, 255, 255, 0.28);
    transition: all 0.22s ease;
}

.icon-blue:hover {
    transform: scale(1.10);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.60), inset 0 2px 0 rgba(255, 255, 255, 0.28);
}

.quick-link-item.active .icon-blue,
.quick-link-item.info-trigger.active .icon-blue {
    box-shadow: 0 0 0 3px #d4af37, 0 5px 18px rgba(0, 0, 0, 0.50);
}


.picto-label {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-weight: 900;
    font-size: 26px;
    color: #ffffff;
    line-height: 1;
    letter-spacing: -1px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    user-select: none;
}


.picto-icon {
    font-size: 24px;
    color: #ffffff;
    line-height: 1;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}


.search-bar-v2-quick-links--post .picto-label {
    font-size: 22px;
}


.search-bar-v2-quick-links--post {
    margin-left: 4px;
}


.icon-standard { display: none; }
.icon-large { display: none; }
.cat-trigger-label { display: none; }


.search-bar-v2-brand {
    flex-shrink: 0;
    line-height: 0;
    margin-left: auto;
}

.search-bar-v2-logo {
    height: 64px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
}


.search-bar-v2-results {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(980px, calc(100vw - 32px));
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 10060;
}

.search-bar-v2-results.visible {
    max-height: 600px;
    opacity: 1;
    visibility: visible;
    overflow: hidden;
}


.search-bar-v2-results-header {
    padding: 16px 24px 12px;
    border-bottom: 1px solid rgba(10, 22, 40, 0.1);
}

.search-bar-v2-results-title {
    font-size: 13px;
    font-weight: 600;
    color: rgba(10, 22, 40, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
}


.search-bar-v2-results-list {
    list-style: none;
    margin: 0;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: minmax(88px, auto);
    gap: 16px;
    max-height: calc((88px * 3) + (16px * 2)); 
    overflow-y: auto;
    overflow-x: hidden;
}

.search-bar-v2-result-item {
    padding: 12px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid rgba(10, 22, 40, 0.1);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}

.search-bar-v2-result-item:hover {
    background: rgba(212, 175, 55, 0.1);
    border-color: #d4af37;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.search-bar-v2-result-item.highlighted {
    background: rgba(212, 175, 55, 0.15);
    border-color: #d4af37;
}


.search-bar-v2-result-image {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.search-bar-v2-result-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.search-bar-v2-result-image--icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 22, 40, 0.08);
    border: 1px solid rgba(10, 22, 40, 0.12);
}

.search-bar-v2-result-image--icon i {
    font-size: 20px;
    color: #1a2942;
}


.search-bar-v2-result-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.search-bar-v2-result-name {
    font-size: 15px;
    font-weight: 600;
    color: #0a1628;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-bar-v2-result-type {
    font-size: 11px;
    font-weight: 500;
    color: #d4af37;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.search-bar-v2-result-site {
    font-size: 12px;
    font-weight: 600;
    color: #1a2942;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-bar-v2-result-description {
    font-size: 12px;
    color: rgba(10, 22, 40, 0.6);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.search-bar-v2-result-arrow {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    opacity: 0.4;
    transition: all 0.3s ease;
}

.search-bar-v2-result-arrow svg {
    width: 100%;
    height: 100%;
    stroke: #0a1628;
}

.search-bar-v2-result-item:hover .search-bar-v2-result-arrow {
    opacity: 1;
    transform: translateX(4px);
}


.search-bar-v2-result-badge {
    padding: 3px 8px;
    background: rgba(212, 175, 55, 0.15);
    color: #d4af37;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    flex-shrink: 0;
}


.search-bar-v2-view-all {
    padding: 16px 24px;
    border-top: 1px solid rgba(10, 22, 40, 0.1);
    text-align: center;
}

.search-bar-v2-view-all-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(135deg, #d4af37 0%, #f0c14b 100%);
    color: #0a1628;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
}

.search-bar-v2-view-all-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.4);
}

.search-bar-v2-view-all-btn svg {
    transition: transform 0.3s ease;
}

.search-bar-v2-view-all-btn:hover svg {
    transform: translateX(4px);
}


.search-bar-v2-no-results {
    padding: 40px 24px;
    text-align: center;
}

.search-bar-v2-no-results-icon {
    color: rgba(10, 22, 40, 0.3);
    margin-bottom: 16px;
}

.search-bar-v2-no-results-text {
    font-size: 15px;
    color: rgba(10, 22, 40, 0.6);
    margin: 0 0 8px 0;
}

.search-bar-v2-no-results-suggestion {
    font-size: 13px;
    color: rgba(10, 22, 40, 0.4);
    margin: 0;
}


.search-bar-v2-results-list::-webkit-scrollbar {
    width: 6px;
}

.search-bar-v2-results-list::-webkit-scrollbar-track {
    background: rgba(10, 22, 40, 0.05);
}

.search-bar-v2-results-list::-webkit-scrollbar-thumb {
    background: rgba(212, 175, 55, 0.5);
    border-radius: 3px;
}

.search-bar-v2-results-list::-webkit-scrollbar-thumb:hover {
    background: rgba(212, 175, 55, 0.7);
}




@media (max-width: 1024px) {
    .search-bar-v2-container {
        padding: 0 20px;
        gap: 14px;
    }
    .icon-circle { width: 32px; height: 32px; font-size: 12px; }
    .search-bar-v2-logo { height: 36px; max-width: 100px; }

    .search-bar-v2-destinations-title {
        font-size: 14px;
    }

    .search-bar-v2-destinations-link {
        font-size: 12px;
        padding: 6px 10px;
    }

    .search-bar-v2-results-list {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: minmax(84px, auto);
        gap: 12px;
        max-height: calc((84px * 3) + (12px * 2)); 
    }

    .search-bar-v2-results {
        width: min(860px, calc(100vw - 24px));
    }

    .search-bar-v2-result-image {
        width: 45px;
        height: 45px;
    }
}


@media (max-width: 768px) {
    .search-bar-v2 {
        padding: 12px 0;
        width: 100%;
        margin-left: 0;
    }

    .search-bar-v2-container {
        padding: 0 15px;
        gap: 10px;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
    }

    
    .search-bar-v2-globe {
        display: none;
    }

    .search-bar-v2-destinations {
        order: 1;
        width: 100%;
        max-width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 0 5px;
    }

    .search-bar-v2-destination-breadcrumb {
        justify-content: flex-start;
        max-width: 100%;
        font-size: 10px;
        text-align: left;
    }

    .search-bar-v2-destinations-title {
        font-size: 12px;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .search-bar-v2-destinations-title::before {
        content: '';
        display: inline-block;
        width: 24px;
        height: 24px;
        background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23d4af37' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E");
        background-size: contain;
        background-repeat: no-repeat;
    }

    .search-bar-v2-destinations-links {
        flex-wrap: wrap;
        gap: 6px;
    }

    .search-bar-v2-destinations-link {
        font-size: 10px;
        padding: 4px 8px;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 4px;
    }

    .search-bar-v2-separator {
        font-size: 10px;
    }

    
    .search-bar-v2-search {
        order: 2;
        width: 100%;
        max-width: none;
        padding: 0 5px;
    }

    .search-bar-v2-input-wrapper {
        padding: 10px 16px;
    }

    .search-bar-v2-input {
        font-size: 14px;
    }

    
    .search-bar-v2-quick-links {
        order: 3;
        justify-content: center;
        width: 100%;
        padding: 0 5px;
    }
    .icon-circle { width: 36px; height: 36px; }

    
    .search-bar-v2-brand {
        order: 4;
        text-align: center;
        padding: 0 5px;
        margin-top: 4px;
    }

    .search-bar-v2-logo {
        height: 36px;
        max-width: 110px;
        margin: 0 auto;
    }

    .search-bar-v2-results-list {
        grid-template-columns: 1fr;
        grid-auto-rows: minmax(82px, auto);
        gap: 10px;
        padding: 12px;
        max-height: calc((82px * 3) + (10px * 2)); 
    }

    .search-bar-v2-results {
        width: calc(100vw - 20px);
        left: 50%;
        transform: translateX(-50%);
    }

    .search-bar-v2-result-item {
        padding: 8px;
    }

    .search-bar-v2-result-image {
        width: 50px;
        height: 50px;
    }
}


@media (max-width: 480px) {
    .search-bar-v2-container {
        padding: 0 15px;
    }

    .search-bar-v2-globe-icon {
        width: 35px;
        height: 35px;
    }

    .search-bar-v2-destinations-title {
        font-size: 12px;
    }

    .search-bar-v2-destination-breadcrumb {
        font-size: 9px;
        gap: 4px;
    }

    .search-bar-v2-destinations-link {
        font-size: 10px;
        padding: 3px 6px;
    }

    .search-bar-v2-logo {
        height: 30px;
    }
}

/* ==== categories-mega-menu.css ==== */



.cat-mega-panel {
    position: fixed;
    width: 820px;
    max-width: calc(100vw - 24px);
    background: #ffffff;
    border: 1px solid rgba(10, 22, 40, 0.08);
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.30);
    display: flex;
    flex-direction: row;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
    z-index: 10500;
    overflow: hidden;
}

.cat-mega-panel.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


.cat-mega-left {
    width: 260px;
    flex-shrink: 0;
    background: #f7f9fc;
    border-right: 1px solid rgba(10, 22, 40, 0.08);
    padding: 14px 0;
    overflow-y: auto;
    max-height: 480px;
}

.cat-mega-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px 14px;
    border-bottom: 1px solid rgba(10, 22, 40, 0.08);
    margin-bottom: 6px;
}

.cat-mega-header-icon {
    width: 36px;
    height: 36px;
    background: rgba(26, 114, 204, 0.12);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1a72cc;
    font-size: 16px;
}

.cat-mega-header-title {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
}

.cat-mega-cat-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 20px;
    cursor: pointer;
    color: #0a1628;
    font-size: 15px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    border-left: 3px solid transparent;
    text-decoration: none;
    gap: 10px;
}

.cat-mega-cat-item:hover,
.cat-mega-cat-item.active {
    background: rgba(26, 114, 204, 0.08);
    color: #0a3d82;
    border-left-color: #1a72cc;
    font-weight: 700;
}

.cat-mega-cat-count {
    font-size: 12px;
    font-weight: 700;
    color: #6b7280;
    background: rgba(10, 22, 40, 0.06);
    border-radius: 12px;
    padding: 2px 9px;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}

.cat-mega-cat-item.active .cat-mega-cat-count,
.cat-mega-cat-item:hover .cat-mega-cat-count {
    background: rgba(26, 114, 204, 0.15);
    color: #0a3d82;
}

.cat-mega-cat-arrow {
    font-size: 11px;
    color: #9ca3af;
    flex-shrink: 0;
    transition: transform 0.2s, color 0.2s;
    opacity: 0.7;
}
.cat-mega-cat-item.active .cat-mega-cat-arrow,
.cat-mega-cat-item:hover .cat-mega-cat-arrow {
    color: #1a72cc;
    opacity: 1;
    transform: translateX(2px);
}


.cat-mega-right {
    flex: 1;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.cat-mega-right-inner {
    flex: 1;
    overflow-y: auto;
    padding: 18px 20px;
    max-height: 440px;
}

.cat-mega-activities {
    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.cat-mega-activities.visible {
    display: grid;
}

.cat-mega-act-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    color: #334155;
    font-size: 14.5px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.cat-mega-act-link:hover {
    background: rgba(26, 114, 204, 0.08);
    color: #0a3d82;
    transform: translateX(3px);
    font-weight: 600;
}

.cat-mega-act-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #1a72cc;
    flex-shrink: 0;
    transition: background 0.15s, transform 0.15s;
}

.cat-mega-act-link:hover .cat-mega-act-dot {
    background: #0a3d82;
    transform: scale(1.3);
}

.cat-mega-empty {
    color: #94a3b8;
    font-size: 14px;
    padding: 32px 20px;
    text-align: center;
    font-style: italic;
    font-family: 'Montserrat', sans-serif;
}


.cat-mega-footer {
    padding: 14px 20px;
    background: #f7f9fc;
    border-top: 1px solid rgba(10, 22, 40, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.cat-mega-view-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1a72cc;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    letter-spacing: 0.5px;
    transition: color 0.2s, transform 0.2s;
}

.cat-mega-view-all:hover { color: #0a3d82; transform: translateX(2px); }

.cat-mega-view-all-cats {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    transition: color 0.2s;
}

.cat-mega-view-all-cats:hover { color: #0a1628; }


.cat-mega-left::-webkit-scrollbar,
.cat-mega-right-inner::-webkit-scrollbar { width: 6px; }
.cat-mega-left::-webkit-scrollbar-track,
.cat-mega-right-inner::-webkit-scrollbar-track { background: transparent; }
.cat-mega-left::-webkit-scrollbar-thumb,
.cat-mega-right-inner::-webkit-scrollbar-thumb { background: rgba(10, 22, 40, 0.15); border-radius: 3px; }
.cat-mega-left::-webkit-scrollbar-thumb:hover,
.cat-mega-right-inner::-webkit-scrollbar-thumb:hover { background: rgba(10, 22, 40, 0.3); }


@media (max-width: 768px) {
    .cat-mega-panel { display: none !important; }
}

/* ==== videos-dropdown.css ==== */



.nav-menu-v2-has-videos {
    position: relative;
}

.nav-menu-v2-has-videos > a {
    position: relative;
    padding-right: 20px;
}

.nav-menu-v2-has-videos > a::after {
    content: '';
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    transition: transform 0.3s ease;
}

.nav-menu-v2-has-videos:hover > a::after {
    transform: translateY(-50%) rotate(180deg);
}


.nav-videos-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    max-height: 0;
    background: #ffffff;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 9999;
    border-top: 3px solid rgba(212, 175, 55, 0.5);
}

.nav-videos-dropdown.active {
    max-height: 480px;
    opacity: 1;
    visibility: visible;
}


.nav-videos-header {
    padding: 20px 24px;
    background: #f8f9fa;
    border-bottom: 2px solid rgba(212, 175, 55, 0.3);
}

.nav-videos-title {
    font-size: 18px;
    font-weight: 700;
    color: #1a2942;
    margin: 0 0 6px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nav-videos-subtitle {
    font-size: 13px;
    font-weight: 400;
    color: #6c757d;
    margin: 0;
}


.nav-videos-list {
    max-height: 320px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 16px;
    display: flex;
    gap: 20px;
    scroll-behavior: smooth;
}


.nav-videos-list::-webkit-scrollbar {
    height: 8px;
}

.nav-videos-list::-webkit-scrollbar-track {
    background: #f8f9fa;
    border-radius: 4px;
    margin: 0 4px;
}

.nav-videos-list::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg, rgba(212, 175, 55, 0.6) 0%, rgba(212, 175, 55, 0.4) 100%);
    border-radius: 4px;
    transition: background 0.3s ease;
}

.nav-videos-list::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(90deg, rgba(212, 175, 55, 0.8) 0%, rgba(212, 175, 55, 0.6) 100%);
}


.nav-video-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0;
    background: #ffffff;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid #e9ecef;
    overflow: hidden;
    min-width: 280px;
    max-width: 280px;
    flex-shrink: 0;
}

.nav-video-item:hover {
    background: rgba(212, 175, 55, 0.05);
    border-color: rgba(212, 175, 55, 0.5);
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}


.nav-video-thumbnail {
    position: relative;
    width: 100%;
    height: 180px;
    flex-shrink: 0;
    overflow: hidden;
    background: #000;
}

.nav-video-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.nav-video-item:hover .nav-video-thumbnail img {
    transform: scale(1.1);
}


.nav-video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 32px;
    height: 32px;
    background: rgba(255, 0, 0, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.nav-video-item:hover .nav-video-play-icon {
    background: rgba(255, 0, 0, 1);
    transform: translate(-50%, -50%) scale(1.15);
}

.nav-video-play-icon svg {
    width: 14px;
    height: 14px;
    fill: #ffffff;
    margin-left: 2px;
}


.nav-video-duration {
    position: absolute;
    bottom: 4px;
    right: 4px;
    background: rgba(0, 0, 0, 0.85);
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 3px;
}


.nav-video-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    padding: 12px;
}

.nav-video-title {
    font-size: 13px;
    font-weight: 600;
    color: #1a2942;
    margin: 0 0 8px 0;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 36px;
}

.nav-video-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.nav-video-category {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    color: #d4af37;
    background: rgba(212, 175, 55, 0.15);
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}

.nav-video-category svg {
    width: 12px;
    height: 12px;
    fill: currentColor;
}

.nav-video-date {
    font-size: 11px;
    font-weight: 500;
    color: #6c757d;
}


.nav-videos-empty {
    padding: 40px 20px;
    text-align: center;
    color: #6c757d;
}

.nav-videos-empty svg {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
    opacity: 0.3;
}

.nav-videos-empty p {
    font-size: 14px;
    margin: 0;
}


@keyframes slideInVideo {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.nav-video-item {
    animation: slideInVideo 0.3s ease forwards;
}

.nav-video-item:nth-child(1) { animation-delay: 0.05s; }
.nav-video-item:nth-child(2) { animation-delay: 0.1s; }
.nav-video-item:nth-child(3) { animation-delay: 0.15s; }
.nav-video-item:nth-child(4) { animation-delay: 0.2s; }
.nav-video-item:nth-child(5) { animation-delay: 0.25s; }


@media (max-width: 1200px) {
    .nav-videos-dropdown {
        width: 750px;
    }
    
    .nav-videos-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
    
    .nav-video-thumbnail {
        height: 140px;
    }
}

@media (max-width: 992px) {
    .nav-videos-dropdown {
        width: 650px;
    }
    
    .nav-videos-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 12px;
    }
    
    .nav-video-thumbnail {
        height: 130px;
    }
    
    .nav-video-title {
        font-size: 12px;
    }
    
    .nav-video-category {
        font-size: 10px;
    }
}

@media (max-width: 768px) {
    
    .nav-videos-dropdown {
        position: fixed;
        top: 120px;
        left: 0;
        right: 0;
        width: 100%;
        transform: none;
        max-width: none;
        border-radius: 0;
        max-height: calc(100vh - 140px);
    }
    
    .nav-menu-v2-has-videos:hover .nav-videos-dropdown {
        max-height: calc(100vh - 140px);
    }
    
    
    .nav-videos-list {
        display: flex;
        flex-direction: row;
        gap: 12px;
        padding: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        max-height: none;
    }
    
    .nav-video-item {
        min-width: 260px;
        max-width: 260px;
    }
    
    .nav-videos-header {
        padding: 16px 18px;
    }
    
    .nav-videos-title {
        font-size: 16px;
    }
    
    .nav-videos-subtitle {
        font-size: 12px;
    }
    
    .nav-video-thumbnail {
        height: 150px;
    }
    
    .nav-video-title {
        font-size: 12px;
        min-height: 32px;
    }
    
    .nav-video-info {
        padding: 10px;
    }
    
    .nav-video-category {
        font-size: 9px;
        padding: 2px 6px;
    }
    
    .nav-video-date {
        font-size: 10px;
    }
    
    .nav-video-duration {
        font-size: 10px;
    }
    
    
    .nav-videos-dropdown::before,
    .nav-videos-dropdown::after {
        display: none;
    }
}

@media (max-width: 600px) {
    .nav-videos-dropdown {
        top: 110px;
    }
    
    .nav-videos-list {
        gap: 10px;
        padding: 10px;
    }
    
    .nav-video-item {
        min-width: 240px;
        max-width: 240px;
    }
    
    .nav-video-thumbnail {
        height: 140px;
    }
    
    .nav-video-title {
        font-size: 12px;
        min-height: auto;
    }
    
    .nav-video-info {
        padding: 10px;
    }
}

@media (max-width: 480px) {
    .nav-videos-dropdown {
        top: 100px;
    }
    
    .nav-videos-header {
        padding: 12px 14px;
    }
    
    .nav-videos-title {
        font-size: 14px;
    }
    
    .nav-videos-subtitle {
        font-size: 11px;
    }
    
    .nav-videos-list {
        padding: 8px;
        gap: 8px;
    }
    
    .nav-video-item {
        min-width: 220px;
        max-width: 220px;
    }
    
    .nav-video-thumbnail {
        height: 130px;
    }
    
    .nav-video-info {
        padding: 8px;
    }
    
    .nav-video-title {
        font-size: 11px;
    }
}


.nav-videos-dropdown::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #e9ecef;
}

.nav-videos-dropdown::after {
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ffffff;
}

/* ==== viewing-carousel.css ==== */

.gxt-section{background:#fff;margin:60px 40px 0;font-family:Montserrat,sans-serif;}


.gxt-hero-header{background:#fff;padding:24px 24px 20px;border-bottom:2px solid #e0e0e0;}
.gxt-hero-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.gxt-hero-brand{display:flex;align-items:center;gap:16px;}
.gxt-hero-title{color:#1a2942;font-size:20px;font-weight:700;margin:0;}
.gxt-hero-visit-btn{background:#f26522;color:#fff;padding:6px 16px;border-radius:20px;text-decoration:none;font-size:12px;font-weight:600;transition:all .2s;}
.gxt-hero-visit-btn:hover{background:#e84c10;}
.gxt-hero-main-title{color:#1a2942;font-size:28px;font-weight:800;margin:0;text-transform:uppercase;letter-spacing:1px;}
.gxt-hero-subtitle{color:#555;font-size:14px;line-height:1.6;margin:0 0 18px;font-weight:400;}
.gxt-hero-options{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;flex-wrap:wrap;}
.gxt-hero-options-group{display:flex;gap:8px;flex-wrap:wrap;}
.gxt-hero-option-btn{background:#f8f9fa;border:1px solid #d0d0d0;color:#555;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px;}
.gxt-hero-option-btn:hover{background:#f26522;color:#fff;border-color:#f26522;}
.gxt-hero-option-btn i{font-size:11px;}
.gxt-hero-plans{display:flex;align-items:center;gap:12px;}
.gxt-hero-plans-label{color:#666;font-size:12px;font-weight:600;}
.gxt-hero-plans-link,.gxt-hero-visit-link{color:#f26522;text-decoration:none;font-size:12px;font-weight:600;transition:color .2s;}
.gxt-hero-plans-link:hover,.gxt-hero-visit-link:hover{color:#e84c10;text-decoration:underline;}
.gxt-hero-breadcrumb{background:#f8f9fa;padding:12px 16px;border-radius:8px;border:1px solid #e0e0e0;}
.gxt-breadcrumb-section{}
.gxt-breadcrumb-title{color:#1a2942;font-size:13px;font-weight:700;margin:0 0 8px;text-transform:uppercase;}
.gxt-breadcrumb-path{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.gxt-breadcrumb-link{color:#666;text-decoration:none;font-size:12px;transition:color .2s;}
.gxt-breadcrumb-link:hover{color:#f26522;}
.gxt-breadcrumb-link.active{color:#f26522;font-weight:600;}
.gxt-breadcrumb-sep{color:#ccc;font-size:12px;}


.gxt-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 24px;
  background:#f8f9fa;
  border-bottom:2px solid #e0e0e0;
}
.gxt-logo{height:90px;width:auto;}
.gxt-header-brand{display:flex;justify-content:center;align-items:center;}
.gxt-header-brand--hero{width:100%;margin-bottom:10px;}
.gxt-header-brand--hero .gxt-logo{height:84px;}
.gxt-search-wrap{width:100%;max-width:680px;flex:1;}
.gxt-search-bar{display:flex;max-width:520px;width:100%;border-radius:24px;overflow:hidden;border:1px solid #d0d0d0;}
.gxt-search-input{flex:1;background:#fff;color:#333;border:none;padding:9px 16px;font-size:13px;font-family:Montserrat,sans-serif;outline:none;}
.gxt-search-input::placeholder{color:#999;}
.gxt-search-btn{background:#f26522;border:none;color:#fff;padding:9px 16px;cursor:pointer;transition:background .2s;}
.gxt-search-btn:hover{background:#e84c10;}
.gxt-header-actions{display:flex;gap:8px;flex-shrink:0;}
.gxt-social-btn{width:34px;height:34px;border-radius:50%;background:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px;transition:all .2s;}
.gxt-social-btn:hover{background:#f26522;color:#fff;}
.gxt-social-yt:hover{background:#ff0000;}


.gxt-filters-bar{background:#f8f9fa;padding:10px 24px;border-bottom:1px solid #e0e0e0;overflow-x:auto;}
.gxt-filters-inner{display:flex;gap:8px;min-width:max-content;}
.gxt-filter{background:#fff;color:#555;border:1px solid #d0d0d0;border-radius:20px;padding:7px 16px;font-size:12px;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .2s;white-space:nowrap;}
.gxt-filter:hover{background:#f0f0f0;color:#333;}
.gxt-filter.active{background:linear-gradient(135deg,#e84c10,#f26522);color:#fff;border-color:transparent;}


.gxt-player-wrap{display:none;gap:0;background:#f8f9fa;border-bottom:2px solid #e0e0e0;}
.gxt-player-wrap.gxt-player-active{display:flex;}
.gxt-player-main{flex:1;min-width:0;padding:20px 20px 20px 24px;}
.gxt-player-embed{position:relative;padding-bottom:56.25%;background:#000;border-radius:8px;overflow:hidden;}
.gxt-player-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;}
.gxt-player-info{padding:16px 0 0;}
.gxt-player-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.gxt-player-badge{background:linear-gradient(135deg,#e84c10,#f26522);color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;}
.gxt-close-player{background:#e0e0e0;border:none;color:#666;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:13px;transition:all .2s;}
.gxt-close-player:hover{background:#f26522;color:#fff;}
.gxt-player-title{color:#1a2942;font-size:18px;font-weight:700;margin:0 0 10px;line-height:1.3;}
.gxt-player-stats{display:flex;align-items:center;gap:8px;color:#666;font-size:12px;margin-bottom:12px;flex-wrap:wrap;}
.gxt-player-stats strong{color:#f26522;}
.gxt-dot{color:#ccc;}
.gxt-player-desc{color:#555;font-size:13px;line-height:1.6;margin:0 0 14px;}
.gxt-player-actions{display:flex;gap:10px;}
.gxt-action-btn{background:#e0e0e0;color:#555;text-decoration:none;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;transition:all .2s;}
.gxt-action-btn:hover{background:#f26522;color:#fff;}


.gxt-player-sidebar{width:320px;flex-shrink:0;background:#fff;border-left:1px solid #e0e0e0;padding:16px;overflow-y:auto;max-height:600px;}
.gxt-sidebar-title{color:#1a2942;font-size:14px;font-weight:700;margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.gxt-sidebar-title i{color:#f26522;}
.gxt-sidebar-item{display:flex;gap:10px;padding:8px;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:6px;}
.gxt-sidebar-item:hover{background:#f8f9fa;}
.gxt-sidebar-thumb{width:100px;height:56px;object-fit:cover;border-radius:4px;flex-shrink:0;}
.gxt-sidebar-meta{flex:1;min-width:0;}
.gxt-sidebar-item-title{color:#333;font-size:12px;font-weight:600;margin:0 0 3px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gxt-sidebar-item-channel{color:#666;font-size:11px;margin:0 0 2px;}
.gxt-sidebar-item-stats{color:#999;font-size:10px;margin:0;}


.gxt-content-bar{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 12px;border-bottom:1px solid #e0e0e0;}
.gxt-content-title{color:#1a2942;font-size:16px;font-weight:700;margin:0;display:flex;align-items:center;gap:10px;}
.gxt-content-title i{color:#f26522;}
.gxt-video-count{color:#666;font-size:12px;font-weight:600;}


.gxt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px 24px 32px;background:#fff;}


.gxt-card{background:#fff;border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid #e0e0e0;}
.gxt-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.15);}
.gxt-card--playing{border-color:#f26522;box-shadow:0 0 0 2px rgba(242,101,34,.4);}
.gxt-thumb{position:relative;padding-bottom:56.25%;background:#000;overflow:hidden;}
.gxt-thumb-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.gxt-card:hover .gxt-thumb-img{transform:scale(1.05);}
.gxt-duration{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.85);color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px;z-index:2;}
.gxt-play-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:3;}
.gxt-card:hover .gxt-play-overlay{opacity:1;}
.gxt-play-icon{width:52px;height:52px;background:rgba(242,101,34,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;padding-left:4px;box-shadow:0 4px 20px rgba(242,101,34,.5);}
.gxt-cat-pill{position:absolute;top:8px;left:8px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px;text-transform:uppercase;z-index:2;color:#fff;}
.gxt-cat-gastronomie{background:#e74c3c;}
.gxt-cat-destinations{background:#2980b9;}
.gxt-cat-aventure{background:#27ae60;}
.gxt-cat-evenements{background:#8e44ad;}
.gxt-cat-culture{background:#d4af37;color:#0a1628;}
.gxt-card-body{display:flex;gap:10px;padding:12px;}
.gxt-avatar{flex-shrink:0;}
.gxt-avatar-img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #e0e0e0;}
.gxt-card-meta{flex:1;min-width:0;}
.gxt-card-title{color:#333;font-size:13px;font-weight:600;margin:0 0 4px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gxt-card-channel{color:#666;font-size:11px;margin:0 0 3px;}
.gxt-card-stats{color:#999;font-size:10px;margin:0;}


.gxt-no-results{display:none;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999;gap:12px;font-size:14px;}
.gxt-no-results i{font-size:3rem;color:#ccc;}


@media(max-width:1200px){.gxt-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:900px){
  .gxt-section{margin:40px 0 0;}
  .gxt-grid{grid-template-columns:repeat(2,1fr);}
  .gxt-player-wrap{flex-direction:column;}
  .gxt-player-sidebar{width:100%;max-height:300px;border-left:none;border-top:1px solid #e0e0e0;}
}
@media(max-width:600px){
  .gxt-header{display:flex;flex-wrap:wrap;gap:10px;}
  .gxt-search-wrap{order:3;width:100%;}
  .gxt-grid{grid-template-columns:1fr;padding:12px;}
  .gxt-filters-bar{padding:8px 12px;}
  .gxt-content-bar{padding:12px;}
}

/* ==== tiktok-carousel.css ==== */


.ttk-section {
    background: #111;
    margin: 0;
    font-family: Montserrat, sans-serif;
}


.ttk-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ttk-filters .ttk-filter-btn i {
    margin-right: 6px;
}


.ttk-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 2px;
    background: #000;
    padding: 2px;
}


.ttk-card {
    position: relative;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    cursor: pointer;
    background: #1a1a1a;
}

.ttk-card-inner {
    position: absolute;
    inset: 0;
}

.ttk-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

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


.ttk-card-text-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 12px 10px 30px;
    background: linear-gradient(to bottom, rgba(0,0,0,0.55) 0%, transparent 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    white-space: pre-line;
    z-index: 2;
}


.ttk-card-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 28px 8px 8px;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 100%);
    z-index: 2;
}

.ttk-card-views {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 5px;
}

.ttk-card-views i {
    font-size: 11px;
}


.ttk-card-hover-play {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 3;
}

.ttk-card:hover .ttk-card-hover-play {
    opacity: 1;
}

.ttk-card-hover-play i {
    width: 52px;
    height: 52px;
    background: rgba(254,44,85,0.88);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    padding-left: 4px;
    box-shadow: 0 6px 24px rgba(254,44,85,0.5);
}


.ttk-cta-bar {
    display: flex;
    background: #1a1a2e;
    border-top: 3px solid #fe2c55;
}

.ttk-cta-item {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 28px;
    gap: 16px;
    border-right: 1px solid rgba(255,255,255,0.07);
}

.ttk-cta-item:last-child {
    border-right: none;
}

.ttk-cta-label {
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.ttk-cta-btn {
    background: transparent;
    border: 2px solid rgba(255,255,255,0.35);
    color: #fff;
    padding: 10px 22px;
    border-radius: 24px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.25s;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.ttk-cta-btn:hover {
    background: #fe2c55;
    border-color: #fe2c55;
    color: #fff;
}


.ttk-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,0.92);
    display: none;
    flex-direction: column;
}

.ttk-modal--open {
    display: flex;
}

.ttk-modal-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
    padding: 0 16px;
}


.ttk-modal-topbar {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 0;
    flex-shrink: 0;
}

.ttk-modal-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    flex-shrink: 0;
}

.ttk-modal-close:hover {
    background: rgba(255,255,255,0.12);
}

.ttk-modal-search {
    flex: 1;
    background: rgba(255,255,255,0.08);
    border-radius: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 16px;
    max-width: 400px;
}

.ttk-modal-search i {
    color: rgba(255,255,255,0.5);
    font-size: 14px;
}

.ttk-modal-search input {
    background: none;
    border: none;
    color: rgba(255,255,255,0.7);
    font-size: 13px;
    font-family: Montserrat, sans-serif;
    outline: none;
    width: 100%;
}

.ttk-modal-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-left: auto;
}

.ttk-nav-btn {
    background: rgba(255,255,255,0.1);
    border: none;
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: background 0.2s;
}

.ttk-nav-btn:hover {
    background: rgba(255,255,255,0.22);
}


.ttk-modal-body {
    display: flex;
    gap: 0;
    flex: 1;
    overflow: hidden;
    padding-bottom: 16px;
}


.ttk-modal-video {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding-right: 20px;
}

.ttk-modal-player {
    width: 340px;
    aspect-ratio: 9 / 16;
    background: #000;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

.ttk-modal-player iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}


.ttk-modal-panel {
    flex: 1;
    min-width: 0;
    background: #fff;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}


.ttk-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px 12px;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
}

.ttk-panel-user {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ttk-panel-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #eee;
}

.ttk-panel-username {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    color: #111;
}

.ttk-tiktok-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.ttk-panel-verified {
    color: #20d5ec;
    font-size: 14px;
}

.ttk-panel-date {
    color: #999;
    font-size: 12px;
    margin-top: 2px;
}

.ttk-panel-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ttk-panel-dots {
    background: none;
    border: none;
    color: #666;
    font-size: 18px;
    cursor: pointer;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.ttk-panel-dots:hover {
    background: #f5f5f5;
}

.ttk-panel-follow {
    background: #fe2c55;
    color: #fff;
    border: none;
    padding: 8px 20px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}

.ttk-panel-follow:hover {
    background: #d4183a;
}


.ttk-modal-panel > *:not(.ttk-panel-header):not(.ttk-panel-tabs):not(.ttk-panel-cta) {
    padding-left: 18px;
    padding-right: 18px;
}

.ttk-panel-caption {
    font-size: 14px;
    color: #111;
    line-height: 1.5;
    padding-top: 12px;
    padding-bottom: 4px;
}

.ttk-panel-translate {
    display: block;
    color: #fe2c55;
    font-size: 12px;
    text-decoration: none;
    padding-left: 18px;
    padding-bottom: 10px;
}

.ttk-panel-sound {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #555;
    padding-left: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f0f0;
}

.ttk-panel-sound i {
    color: #fe2c55;
}


.ttk-panel-stats {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid #f0f0f0;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.ttk-stat {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #111;
}

.ttk-stat-btn {
    background: #f5f5f5;
    border: none;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    color: #111;
    transition: background 0.2s;
}

.ttk-stat-btn:hover {
    background: #ffe0e5;
}

.ttk-like-btn i { color: #fe2c55; }
.ttk-liked { animation: ttk-pulse 0.3s ease; }
.ttk-liked i { color: #fe2c55; filter: drop-shadow(0 0 6px #fe2c55); }

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

.ttk-share-icons {
    display: flex;
    gap: 6px;
    margin-left: auto;
}

.ttk-share-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #fff;
    transition: opacity 0.2s;
}

.ttk-share-btn:hover { opacity: 0.8; }
.ttk-share-fb   { background: #1877f2; }
.ttk-share-wa   { background: #25d366; }
.ttk-share-tw   { background: #1da1f2; }
.ttk-share-link { background: #888; }
.ttk-share-more { background: #555; }


.ttk-panel-link-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: #f8f8f8;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
}

.ttk-panel-link-url {
    flex: 1;
    font-size: 11px;
    color: #555;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ttk-panel-copy {
    background: none;
    border: 1px solid #ccc;
    color: #333;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s;
    font-family: Montserrat, sans-serif;
}

.ttk-panel-copy:hover {
    background: #111;
    color: #fff;
    border-color: #111;
}


.ttk-panel-tabs {
    display: flex;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
}

.ttk-ptab {
    flex: 1;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #888;
    cursor: pointer;
    font-family: Montserrat, sans-serif;
    transition: all 0.2s;
}

.ttk-ptab.active {
    color: #111;
    border-bottom-color: #fe2c55;
}


.ttk-panel-comments {
    flex: 1;
    overflow-y: auto;
    padding: 12px 18px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ttk-comment {
    display: flex;
    gap: 10px;
}

.ttk-comment-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid #eee;
}

.ttk-comment-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ttk-comment-user {
    font-size: 12px;
    font-weight: 700;
    color: #111;
}

.ttk-comment-text {
    font-size: 13px;
    color: #333;
    line-height: 1.4;
}

.ttk-comment-meta {
    font-size: 11px;
    color: #999;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ttk-comment-likes {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    color: #555;
}

.ttk-comment-likes i {
    color: #fe2c55;
    font-size: 11px;
}


.ttk-panel-cta {
    padding: 12px 18px;
    border-top: 1px solid #f0f0f0;
    flex-shrink: 0;
}

.ttk-panel-cta-btn {
    width: 100%;
    background: #fe2c55;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 13px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.2s;
    font-family: Montserrat, sans-serif;
}

.ttk-panel-cta-btn:hover {
    background: #d4183a;
}


@media (max-width: 1200px) {
    .ttk-grid { grid-template-columns: repeat(4, 1fr); }
    .ttk-modal-player { width: 280px; }
}

@media (max-width: 900px) {
    .ttk-grid { grid-template-columns: repeat(3, 1fr); }
    .ttk-modal-body { flex-direction: column; overflow-y: auto; }
    .ttk-modal-video { padding-right: 0; padding-bottom: 16px; justify-content: center; }
    .ttk-modal-player { width: 260px; }
    .ttk-modal-panel { border-radius: 12px; min-height: 400px; }
    .ttk-cta-bar { flex-direction: column; }
    .ttk-cta-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.07); }
}

@media (max-width: 600px) {
    .ttk-grid { grid-template-columns: repeat(2, 1fr); }
    .ttk-modal-inner { padding: 0 8px; }
    .ttk-modal-player { width: 200px; }
}

/* ==== espace-chat-section.css ==== */
.chat-space-section {
    background: #f7f9fc;
    margin-top: 28px;
}

.chat-space-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 30px 24px 42px;
}

.chat-space-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.chat-kpi-card {
    background: #ffffff;
    border: 1px solid #e5ecf5;
    border-radius: 12px;
    padding: 14px 16px;
}

.chat-kpi-card span {
    color: #6b7280;
    font-size: 12px;
    display: block;
}

.chat-kpi-card strong {
    color: #0a1628;
    font-size: 26px;
    font-weight: 800;
}

.chat-single-showcase {
    background: #fff;
    border: 1px solid #e6edf8;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(10, 22, 40, 0.06);
    padding: 24px;
}

.chat-single-image-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
    justify-content: center;
    margin-bottom: 18px;
}

.chat-image-card {
    border-radius: 12px;
    border: 1px solid #e8edf6;
    background: #f9fbff;
    padding: 8px;
}

.chat-single-image-wrap img {
    width: 100%;
    max-height: 320px;
    object-fit: contain;
    border-radius: 8px;
}

.chat-single-content {
    text-align: center;
    max-width: 920px;
    margin: 0 auto;
}

.chat-single-content h3 {
    margin: 0 0 10px;
    font-size: 24px;
    color: #0a1628;
}

.chat-single-content p {
    margin: 0 0 10px;
    color: #546476;
    font-size: 14px;
    line-height: 1.65;
}

.chat-service-points {
    margin-top: 14px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.chat-service-points span {
    background: #f3f8ff;
    border: 1px solid #deeafd;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #2a4f7b;
    display: flex;
    align-items: center;
    gap: 8px;
}

.chat-service-points i {
    color: #1e71d8;
}

@media (max-width: 991px) {
    .chat-space-overview {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .chat-space-overview,
    .chat-service-points {
        grid-template-columns: 1fr;
    }

    .chat-single-image-wrap {
        grid-template-columns: 1fr;
    }
}

/* ==== espace-mail-marketing-section.css ==== */
.mail-space-section {
    background: #ffffff;
    margin-top: 22px;
}

.mail-space-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 30px 24px 46px;
}

.mail-performance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.mail-metric {
    border-radius: 12px;
    padding: 14px 16px;
    background: linear-gradient(135deg, #f6fbff, #eef5ff);
    border: 1px solid #deebff;
}

.mail-metric span {
    display: block;
    color: #527095;
    font-size: 12px;
}

.mail-metric strong {
    font-size: 28px;
    color: #0e2a4a;
    font-weight: 800;
}

.mail-campaign-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.mail-campaign-card {
    background: #fff;
    border: 1px solid #e7eef8;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(26, 58, 143, 0.06);
}

.mail-campaign-card img {
    width: 100%;
    height: 190px;
    object-fit: cover;
}

.mail-campaign-body {
    padding: 16px;
}

.mail-campaign-head {
    margin-bottom: 10px;
}

.mail-campaign-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 4px 10px;
    background: #edf4ff;
    border: 1px solid #d7e7ff;
    color: #275b9c;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 8px;
}

.mail-campaign-body h3 {
    margin: 0 0 7px;
    color: #0a1628;
    font-size: 17px;
}

.mail-campaign-body p {
    margin: 0;
    color: #5a6878;
    font-size: 13px;
    line-height: 1.5;
}

.mail-svg-widget {
    border-radius: 10px;
    border: 1px solid #dce8f8;
    background: linear-gradient(135deg, #f7fbff, #f0f6ff);
    padding: 8px 10px;
    margin-top: 12px;
}

.mail-svg-widget svg {
    width: 100%;
    height: 66px;
    display: block;
}

.mail-feature-list {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
    display: grid;
    gap: 8px;
}

.mail-feature-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #44566f;
    font-weight: 600;
}

.mail-feature-list li i {
    color: #2d7ff9;
}

.mail-campaign-card.hidden {
    display: none;
}

@media (max-width: 991px) {
    .mail-performance,
    .mail-campaign-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .mail-performance,
    .mail-campaign-grid {
        grid-template-columns: 1fr;
    }
}

/* ==== espace-blog-section.css ==== */
.blog-space-section {
    background: #f8fafc;
    margin-top: 22px;
    margin-bottom: 12px;
}

.blog-space-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 107px 24px 70px;
}

.blog-top-news-area {
    display: grid;
    grid-template-columns: 1.7fr 1fr;
    gap: 18px;
    margin-bottom: 16px;
}

.blog-featured-story {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    min-height: 360px;
    margin-bottom: 18px;
}

.blog-featured-story img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-featured-overlay {
    position: relative;
    z-index: 1;
    min-height: 360px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: linear-gradient(to top, rgba(10, 22, 40, 0.85), rgba(10, 22, 40, 0.15));
    color: #fff;
}

.blog-chip {
    display: inline-block;
    width: fit-content;
    background: #f26522;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.blog-featured-overlay h3 {
    margin: 10px 0 6px;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.2;
}

.blog-featured-overlay p {
    margin: 0;
    max-width: 740px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.92);
}

.blog-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 10px 0 8px;
}

.blog-post-meta span {
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 11px;
    color: #fff;
    font-weight: 600;
}

.blog-share-row {
    margin-top: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.blog-share-label {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}

.blog-social-icons {
    display: flex;
    gap: 8px;
}

.blog-social-icons a {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s ease;
}

.blog-social-icons a:hover {
    background: #ffffff;
    color: #0a1628;
}

.blog-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.blog-post-card {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #e8edf3;
    background: #fff;
}

.blog-post-card img {
    width: 100%;
    height: 170px;
    object-fit: cover;
}

.blog-post-body {
    padding: 14px;
}

.blog-post-body span {
    font-size: 11px;
    color: #6a7a8d;
    font-weight: 700;
    text-transform: uppercase;
}

.blog-post-body h4 {
    margin: 8px 0 0;
    font-size: 16px;
    line-height: 1.35;
    color: #0a1628;
}

.blog-card-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
    color: #6f8198;
    font-size: 12px;
}

.blog-card-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.blog-card-tags a {
    text-decoration: none;
    color: #3b5a86;
    background: #f2f6fb;
    border: 1px solid #e3ebf4;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
}

.blog-card-share {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.blog-card-share span {
    font-size: 12px;
    color: #5d6f87;
    font-weight: 700;
    text-transform: none;
}

.blog-card-share a {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid #d9e4ef;
    background: #f7fbff;
    color: #3b5a86;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s ease;
}

.blog-card-share a:hover {
    background: #3b5a86;
    color: #fff;
    border-color: #3b5a86;
}

.blog-post-card.hidden {
    display: none;
}

.blog-featured-story.hidden {
    display: none;
}

.blog-breaking-column {
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    padding: 14px;
}

.blog-breaking-column h4 {
    margin: 4px 6px 12px;
    font-size: 16px;
    color: #0a1628;
}

.blog-mini-post {
    display: flex;
    gap: 10px;
    border-bottom: 1px solid #edf1f7;
    padding: 10px 6px;
}

.blog-mini-post:last-child {
    border-bottom: none;
}

.blog-mini-post.hidden {
    display: none;
}

.blog-mini-post img {
    width: 110px;
    height: 78px;
    border-radius: 8px;
    object-fit: cover;
}

.blog-mini-post span {
    color: #6d7c8e;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
}

.blog-mini-post small {
    display: block;
    margin-top: 4px;
    color: #7d8da2;
    font-size: 11px;
}

.blog-mini-post p {
    margin: 4px 0 0;
    font-size: 13px;
    line-height: 1.35;
    color: #1b2b40;
}

.blog-top-news-categories {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.blog-top-news-categories span {
    background: #ffffff;
    border: 1px solid #e2e8f1;
    border-radius: 999px;
    padding: 6px 11px;
    font-size: 11px;
    font-weight: 700;
    color: #55667d;
}

@media (max-width: 991px) {
    .blog-top-news-area {
        grid-template-columns: 1fr;
    }

    .blog-posts-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .blog-space-container {
        padding: 24px 16px 36px;
    }

    .blog-featured-story,
    .blog-featured-overlay {
        min-height: 300px;
    }

    .blog-posts-grid {
        grid-template-columns: 1fr;
    }
}

/* ==== espace-social-media-section.css ==== */
.social-space-section {
    background: #f7f9fc;
    margin-top: 24px;
}

.social-space-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 30px 24px 48px;
}

.social-intro-card {
    background: linear-gradient(135deg, #ffffff, #f4f8ff);
    border: 1px solid #e1eaf7;
    border-radius: 16px;
    padding: 18px 20px;
    margin-bottom: 16px;
}

.social-intro-card h3 {
    margin: 0 0 8px;
    font-size: 24px;
    color: #0a1628;
}

.social-intro-card p {
    margin: 0;
    font-size: 14px;
    color: #55667d;
    line-height: 1.65;
}

.social-icons-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.social-icon-card {
    background: #fff;
    border: 1px solid #e5edf9;
    border-radius: 14px;
    padding: 16px 12px;
    text-align: center;
    box-shadow: 0 6px 20px rgba(10, 22, 40, 0.05);
    animation: social-float 3.2s ease-in-out infinite;
}

.social-icon-card i {
    font-size: 28px;
    margin-bottom: 8px;
}

.social-icon-card span {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #25344a;
}

.social-icon-card:nth-child(2n) { animation-delay: .4s; }
.social-icon-card:nth-child(3n) { animation-delay: .8s; }

@keyframes social-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

.social-icon-card.pinterest i { color: #e60023; }
.social-icon-card.instagram i { color: #d62976; }
.social-icon-card.facebook i { color: #1877f2; }
.social-icon-card.tiktok i { color: #111111; }
.social-icon-card.linkedin i { color: #0a66c2; }
.social-icon-card.twitch i { color: #9146ff; }
.social-icon-card.snapchat i { color: #f4cb00; }
.social-icon-card.youtube i { color: #ff0000; }

.social-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.social-service-item {
    background: #fff;
    border: 1px solid #e4ebf5;
    border-radius: 14px;
    padding: 16px;
}

.social-service-item h4 {
    margin: 0 0 8px;
    color: #153152;
    font-size: 17px;
}

.social-service-item h4 i {
    color: #1e71d8;
    margin-right: 6px;
}

.social-service-item p {
    margin: 0;
    color: #576a84;
    font-size: 13px;
    line-height: 1.6;
}

@media (max-width: 991px) {
    .social-icons-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .social-icons-grid,
    .social-services-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .social-icons-grid,
    .social-services-grid {
        grid-template-columns: 1fr;
    }
}

/* ==== slideshows.css ==== */



.slideshows-v2-section {
    margin: 0 40px 0 40px;
    padding: 20px 0;
    background-color: transparent;
}

.slideshows-v2-container {
    position: relative;
    overflow: hidden;
    background: transparent;
    margin-bottom: 20px;
    height: 450px;
    border-radius: 12px;
}

.slideshows-v2-track {
    display: flex;
    transition: transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    height: 100%;
}

.slideshows-v2-slide {
    display: flex;
    flex: 0 0 100%;
    height: 100%;
}

.slideshows-v2-column {
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.slideshows-v2-column:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.slideshows-v2-half {
    width: 50%;
}


.slideshows-v2-main-tile {
    position: relative;
    height: 100%;
}

.slideshows-v2-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    height: 100%;
    gap: 1px;
    background-color: #f0f0f0;
}

.slideshows-v2-tile {
    position: relative;
    overflow: hidden;
    background-color: white;
}


.slideshows-v2-tile img,
.slideshows-v2-main-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.slideshows-v2-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    padding: 15px 20px 15px;
    color: white;
    transform: translateY(0);
    transition: transform 0.4s ease;
}

.slideshows-v2-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    color: white;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 5;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.slideshows-v2-badge-new {
    background: linear-gradient(135deg, #ff4757, #ff3838);
}

.slideshows-v2-badge-hot {
    background: linear-gradient(135deg, #ff9f1a, #ff7f00);
}

.slideshows-v2-badge-trending {
    background: linear-gradient(135deg, #2ed573, #1dd1a1);
}

.slideshows-v2-badge-popular {
    background: linear-gradient(135deg, #1e90ff, #3742fa);
}

.slideshows-v2-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 4px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}

.slideshows-v2-description {
    font-size: 0.8rem;
    opacity: 0.9;
    line-height: 1.3;
}

.slideshows-v2-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    width: 65px;
    height: 65px;
    background: rgba(0, 0, 0, 0.85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 3px solid rgba(255, 255, 255, 0.3);
    opacity: 0;
    visibility: hidden;
}

.slideshows-v2-item:hover .slideshows-v2-play-btn {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.slideshows-v2-play-btn:hover {
    background: rgba(200, 0, 0, 0.95);
    transform: translate(-50%, -50%) scale(1.1);
    border-color: rgba(255, 255, 255, 0.6);
}

.slideshows-v2-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 25px;
}

.slideshows-v2-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(74, 111, 165, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
}

.slideshows-v2-dots {
    display: flex;
    gap: 10px;
}

.slideshows-v2-dot-active {
    background: #4a6fa5;
    transform: scale(1.3);
    box-shadow: 0 0 10px rgba(74, 111, 165, 0.5);
}

.slideshows-v2-nav-btn {
    background: white;
    border: 2px solid #e1e8f0;
    color: #4a6fa5;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
}

.slideshows-v2-nav-btn:hover {
    background: #4a6fa5;
    color: white;
    border-color: #4a6fa5;
    transform: scale(1.1);
    box-shadow: 0 5px 12px rgba(74, 111, 165, 0.3);
}


.slideshows-v2-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 1000;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.slideshows-v2-modal-active {
    display: flex;
    opacity: 1;
}

.slideshows-v2-modal-content {
    background: white;
    border-radius: 12px;
    width: 90%;
    max-width: 900px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    transform: scale(0.9);
    transition: transform 0.4s ease;
}

.slideshows-v2-modal-active .slideshows-v2-modal-content {
    transform: scale(1);
}

.slideshows-v2-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e1e8f0;
}

.slideshows-v2-modal-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #2d3748;
}

.slideshows-v2-close-modal {
    background: none;
    border: none;
    color: #718096;
    font-size: 28px;
    cursor: pointer;
    transition: color 0.3s ease;
    line-height: 1;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.slideshows-v2-close-modal:hover {
    background-color: #f1f5f9;
    color: #e53e3e;
}

.slideshows-v2-video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    background: #000;
}

.slideshows-v2-video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.slideshows-v2-item:hover img {
    transform: scale(1.08);
}

.slideshows-v2-item:hover .slideshows-v2-overlay {
    transform: translateY(0);
}


@media (max-width: 1024px) {
    .slideshows-v2-section {
        margin: 0 20px 0 20px;
    }

    .slideshows-v2-container {
        height: 380px;
        background: transparent;
        box-shadow: none;
        border: none;
    }

    .slideshows-v2-slide {
        flex-direction: column;
    }

    .slideshows-v2-half {
        width: 100%;
        height: 50%;
    }

    .slideshows-v2-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .slideshows-v2-section {
        margin: 0;
    }

    .slideshows-v2-container {
        height: 350px;
        background: transparent;
        box-shadow: none;
        border: none;
    }

    .slideshows-v2-slide {
        flex-direction: column;
    }

    .slideshows-v2-half {
        width: 100%;
        height: 50%;
    }

    .slideshows-v2-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .slideshows-v2-title {
        font-size: 1rem;
    }

    .slideshows-v2-play-btn {
        width: 55px;
        height: 55px;
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .slideshows-v2-container {
        height: 300px;
        background: transparent;
        box-shadow: none;
        border: none;
    }

    .slideshows-v2-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .slideshows-v2-title {
        font-size: 0.9rem;
    }

    .slideshows-v2-badge {
        font-size: 0.65rem;
        padding: 4px 10px;
        top: 8px;
        left: 8px;
    }

    .slideshows-v2-description {
        font-size: 0.7rem;
    }

    .slideshows-v2-play-btn {
        width: 45px;
        height: 45px;
        font-size: 18px;
    }

    .slideshows-v2-nav-btn {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
}
/* ==== video-player.css ==== */



.video-player-v2-section {
    background: #ffffff;
    margin: 0 40px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}

.video-player-v2-container {
    max-width: 100%;
    padding: 0;
}




.video-player-v2-filters {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}


.video-player-v2-filter-btn {
    padding: 8px 18px;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.video-player-v2-filter-btn:hover {
    background: #fff5f0;
    border-color: #f26522;
    color: #f26522;
    transform: translateY(-1px);
}

.video-player-v2-filter-btn.active {
    background: #f26522;
    border-color: #f26522;
    color: #ffffff;
}



.video-player-v2-content {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 0;
    align-items: start;
    background: #f0f2f5;
    padding: 28px 32px;
    gap: 24px;
}


.video-player-v2-main {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.10);
}

.video-player-v2-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    background: #000;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
}

.video-player-v2-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.video-player-v2-controls {
    background: #0a1628;
    padding: 14px 20px;
}

.video-player-v2-progress-bar {
    width: 100%;
    height: 5px;
    background: rgba(255,255,255,0.15);
    border-radius: 3px;
    cursor: pointer;
    margin-bottom: 12px;
    position: relative;
    overflow: hidden;
}

.video-player-v2-progress-filled {
    height: 100%;
    background: linear-gradient(90deg, #e84c10, #f9a52c);
    border-radius: 3px;
    width: 0%;
    transition: width 0.1s linear;
    position: relative;
}

.video-player-v2-progress-filled::after {
    content: '';
    position: absolute;
    right: -4px;
    top: 50%;
    transform: translateY(-50%);
    width: 11px;
    height: 11px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(242,101,34,0.8);
}

.video-player-v2-controls-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.video-player-v2-controls-left,
.video-player-v2-controls-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.video-player-v2-control-btn {
    background: rgba(255,255,255,0.08);
    border: none;
    color: #ffffff;
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    border-radius: 8px;
}

.video-player-v2-control-btn:hover {
    background: rgba(255,255,255,0.16);
    transform: scale(1.06);
}

.video-player-v2-control-btn.play-btn {
    width: 52px;
    height: 52px;
    background: linear-gradient(135deg, #e84c10, #f9a52c);
    border-radius: 50%;
}

.video-player-v2-control-btn.play-btn:hover {
    background: linear-gradient(135deg, #c43c0a, #f08020);
    transform: scale(1.08);
}

.video-player-v2-time {
    color: rgba(255,255,255,0.75);
    font-size: 13px;
    font-weight: 500;
    min-width: 95px;
    font-family: 'Montserrat', sans-serif;
}

.video-player-v2-counter {
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    background: rgba(255,255,255,0.1);
    padding: 5px 12px;
    border-radius: 16px;
    min-width: 55px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
}


.video-player-v2-info {
    padding: 20px 24px;
    background: #ffffff;
    border-top: 1px solid #e8eaed;
}

.video-player-v2-title {
    font-size: 20px;
    font-weight: 700;
    color: #1a2942;
    margin: 0 0 6px 0;
    letter-spacing: 0.3px;
    font-family: 'Montserrat', sans-serif;
}

.video-player-v2-description {
    font-size: 14px;
    color: #5f6b7c;
    margin: 0;
    line-height: 1.6;
    font-family: 'Montserrat', sans-serif;
}


.video-player-v2-playlist {
    background: #1a2942;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.18);
    display: flex;
    flex-direction: column;
    align-self: stretch;
}

.video-player-v2-playlist-header {
    padding: 16px 20px;
    background: #0a1628;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}

.video-player-v2-playlist-title {
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-family: 'Montserrat', sans-serif;
    display: flex;
    align-items: center;
    gap: 8px;
}

.vp-playlist-count {
    font-size: 11px;
    color: rgba(255,255,255,0.5);
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
}

.video-player-v2-playlist-items {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    flex: 1;
}

.video-player-v2-playlist-items::-webkit-scrollbar { width: 5px; }
.video-player-v2-playlist-items::-webkit-scrollbar-track { background: rgba(255,255,255,0.04); }
.video-player-v2-playlist-items::-webkit-scrollbar-thumb { background: rgba(212,175,55,0.45); border-radius: 3px; }
.video-player-v2-playlist-items::-webkit-scrollbar-thumb:hover { background: rgba(212,175,55,0.7); }


.video-player-v2-playlist-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    cursor: pointer;
    transition: background 0.2s;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    border-left: 3px solid transparent;
}

.video-player-v2-playlist-item:hover {
    background: rgba(255,255,255,0.06);
}

.video-player-v2-playlist-item.active {
    background: rgba(242,101,34,0.12);
    border-left-color: #f26522;
}


.video-player-v2-playlist-thumbnail {
    position: relative;
    width: 100px;
    height: 60px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    background: #000;
}

.video-player-v2-playlist-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-player-v2-playlist-badge {
    position: absolute;
    bottom: 4px;
    right: 4px;
    background: rgba(0,0,0,0.82);
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-family: 'Montserrat', sans-serif;
}

.video-player-v2-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    background: rgba(242,101,34,0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
}

.video-player-v2-playlist-item:hover .video-player-v2-play-icon {
    opacity: 1;
}


.video-player-v2-playlist-info {
    flex: 1;
    min-width: 0;
}

.video-player-v2-playlist-name {
    font-size: 13px;
    font-weight: 600;
    color: #e8eaed;
    margin: 0 0 4px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: 'Montserrat', sans-serif;
}

.video-player-v2-playlist-item.active .video-player-v2-playlist-name {
    color: #f9a52c;
}

.video-player-v2-playlist-type {
    font-size: 11px;
    color: rgba(255,255,255,0.45);
    margin: 0;
    font-family: 'Montserrat', sans-serif;
}



@media (max-width: 1280px) {
    .video-player-v2-content {
        grid-template-columns: 1fr 300px;
    }
}

@media (max-width: 1024px) {
    .video-player-v2-content {
        grid-template-columns: 1fr 280px;
        padding: 20px 24px;
        gap: 20px;
    }
    .vp-espace-btn { display: none; }
}

@media (max-width: 768px) {
    .video-player-v2-section {
        margin: 0 12px;
        border-radius: 12px;
    }
    .video-player-v2-content {
        grid-template-columns: 1fr;
        padding: 16px;
        gap: 16px;
    }
    .video-player-v2-playlist {
        max-height: 380px;
    }
    .video-player-v2-main { border-radius: 10px; }
    .video-player-v2-wrapper { border-radius: 10px 10px 0 0; }
    .vp-logos-group { gap: 6px; }
    .vp-logo-mytube { height: 40px; }
    .vp-logo-plans { height: 32px; }
    .vp-record-btn { width: 36px; height: 36px; font-size: 14px; }
    .vp-upload-btn { min-width: unset; padding: 10px 12px; }
    .vp-upload-text { display: none; }
    .vp-upload-icon { width: 36px; height: 36px; font-size: 14px; }
}

@media (max-width: 480px) {
    .video-player-v2-section { margin: 0; border-radius: 0; }
    .video-player-v2-content { padding: 12px; gap: 12px; }
    .video-player-v2-control-btn { width: 34px; height: 34px; }
    .video-player-v2-control-btn.play-btn { width: 44px; height: 44px; }
    .video-player-v2-time { font-size: 11px; min-width: 70px; }
    .video-player-v2-counter { font-size: 11px; padding: 4px 8px; }
    .video-player-v2-title { font-size: 17px; }
    .video-player-v2-info { padding: 14px 16px; }
    .video-player-v2-playlist-thumbnail { width: 84px; height: 50px; }
}

/* ==== media-slideshow.css ==== */




.mss-gallery-wrapper {
    width: 100%;
    margin-bottom: 36px;
    user-select: none;
    -webkit-user-select: none;
}

.mss-gallery-container {
    position: relative;
    overflow: hidden;
    height: 450px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.28);
    background: #0a1628;
    border: 1px solid rgba(255,255,255,0.07);
    margin-bottom: 20px;
}


.mss-gallery-track {
    display: flex;
    height: 100%;
    transition: transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}



.mss-gallery-slide {
    display: flex;
    flex: 0 0 100%;
    height: 100%;
}

.mss-gallery-col {
    overflow: hidden;
}

.mss-gallery-col--half {
    width: 50%;
}

.mss-gallery-main {
    position: relative;
    height: 100%;
}

.mss-gallery-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    height: 100%;
    gap: 2px;
    background-color: rgba(255,255,255,0.05);
}

.mss-gallery-tile {
    position: relative;
    overflow: hidden;
    background-color: #0a1628;
}



.mss-gallery-item {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    height: 100%;
}

.mss-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s ease;
}

.mss-gallery-item:hover img {
    transform: scale(1.07);
}


.mss-gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.18) 60%, transparent 100%);
    padding: 14px 16px;
    color: #ffffff;
}


.mss-gallery-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    color: #ffffff;
    padding: 4px 11px;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    z-index: 5;
    box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

.mss-gallery-badge--new      { background: linear-gradient(135deg, #ff4757, #ff3838); }
.mss-gallery-badge--hot      { background: linear-gradient(135deg, #f26522, #e84c10); }
.mss-gallery-badge--trending { background: linear-gradient(135deg, #2ed573, #1dd1a1); }
.mss-gallery-badge--popular  { background: linear-gradient(135deg, #1e90ff, #3742fa); }


.mss-gallery-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 3px;
    text-shadow: 0 2px 6px rgba(0,0,0,0.9);
    line-height: 1.25;
}

.mss-gallery-desc {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75rem;
    opacity: 0.88;
    line-height: 1.35;
    text-shadow: 0 1px 4px rgba(0,0,0,0.8);
}

.mss-gallery-main .mss-gallery-title { font-size: 1.25rem; }
.mss-gallery-main .mss-gallery-desc  { font-size: 0.82rem; }


.mss-gallery-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.82);
    width: 62px;
    height: 62px;
    background: rgba(0, 0, 0, 0.75);
    border: 3px solid rgba(255,255,255,0.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 22px;
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: all 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.mss-gallery-item:hover .mss-gallery-play {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.mss-gallery-play:hover {
    background: rgba(242, 101, 34, 0.92);
    border-color: #f26522;
    transform: translate(-50%, -50%) scale(1.1);
}



.mss-gallery-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
}

.mss-gallery-dots {
    display: flex;
    gap: 10px;
    align-items: center;
}

.mss-gallery-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255,255,255,0.22);
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    padding: 0;
}

.mss-gallery-dot--active {
    background: #f26522;
    transform: scale(1.35);
    box-shadow: 0 0 10px rgba(242,101,34,0.55);
}

.mss-gallery-nav-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    border: 2px solid rgba(255,255,255,0.18);
    color: #ffffff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
}

.mss-gallery-nav-btn:hover {
    background: #f26522;
    border-color: #f26522;
    transform: scale(1.08);
    box-shadow: 0 5px 14px rgba(242,101,34,0.38);
}



.mss-gallery-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.92);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.mss-gallery-modal--active {
    display: flex;
}

.mss-gallery-modal-content {
    background: #1a2942;
    border-radius: 12px;
    width: 90%;
    max-width: 900px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.7);
    transform: scale(0.92);
    transition: transform 0.35s ease;
    border: 1px solid rgba(255,255,255,0.10);
}

.mss-gallery-modal--active .mss-gallery-modal-content {
    transform: scale(1);
}

.mss-gallery-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 22px;
    background: #0a1628;
    border-bottom: 1px solid rgba(255,255,255,0.10);
}

.mss-gallery-modal-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.mss-gallery-modal-close {
    background: none;
    border: none;
    color: rgba(255,255,255,0.6);
    font-size: 26px;
    cursor: pointer;
    transition: color 0.2s ease, background 0.2s ease;
    line-height: 1;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.mss-gallery-modal-close:hover {
    background: rgba(220, 50, 50, 0.20);
    color: #ff4757;
}

.mss-gallery-video-container {
    background: #000;
}



@media (max-width: 1024px) {
    .mss-gallery-container {
        height: 380px;
        border-radius: 10px;
    }
}

@media (max-width: 768px) {
    .mss-gallery-container {
        height: auto;
        border-radius: 8px;
    }

    .mss-gallery-slide {
        flex-direction: column;
    }

    .mss-gallery-col--half {
        width: 100%;
        height: auto;
    }

    .mss-gallery-main {
        height: 220px;
    }

    .mss-gallery-grid {
        height: 220px;
    }

    .mss-gallery-title  { font-size: 0.9rem; }

    .mss-gallery-play {
        width: 52px;
        height: 52px;
        font-size: 18px;
    }

    .mss-gallery-nav-btn {
        width: 38px;
        height: 38px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .mss-gallery-main { height: 180px; }
    .mss-gallery-grid { height: 180px; }

    .mss-gallery-badge {
        font-size: 0.62rem;
        padding: 3px 8px;
    }

    .mss-gallery-title { font-size: 0.82rem; }
    .mss-gallery-desc  { font-size: 0.7rem; }

    .mss-gallery-play {
        width: 44px;
        height: 44px;
        font-size: 16px;
    }
}

/* ==== events-vedette.css ==== */




.vedette-block-header {
    font-family: 'Montserrat', sans-serif;
    overflow: hidden;
    margin-bottom: 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
    border-radius: 0 0 12px 12px;
}


.vedette-block-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 28px;
    background: linear-gradient(90deg, #1565c0, #1e88e5 50%, #42a5f5);
    flex-wrap: wrap;
}


.vedette-block-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.vedette-block-breadcrumb i {
    color: rgba(255,255,255,0.75);
    font-size: 10px;
}

.vedette-block-breadcrumb a {
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.2s ease;
}

.vedette-block-breadcrumb a:hover {
    color: #ffffff;
    text-decoration: underline;
}

.vedette-block-breadcrumb span.active {
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


.vedette-block-espaces {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.vedette-espace-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: rgba(0,0,0,0.18);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 20px;
    color: rgba(255,255,255,0.88);
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.vedette-espace-btn:hover,
.vedette-espace-btn.active {
    background: rgba(255,255,255,0.25);
    border-color: rgba(255,255,255,0.55);
    color: #ffffff;
}

.vedette-espace-btn i {
    font-size: 10px;
}


.vedette-block-heading {
    background: #ffffff;
    padding: 30px 28px 20px;
    text-align: center;
}

.vedette-block-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #1e88e5;
    margin-bottom: 10px;
}

.vedette-block-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(22px, 2.5vw, 34px);
    font-weight: 900;
    color: #0a1628;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 10px;
    line-height: 1.15;
}

.vedette-block-highlight {
    color: #1e88e5;
}

.vedette-block-lead {
    font-size: 13px;
    color: rgba(10,22,40,0.55);
    line-height: 1.6;
    max-width: 560px;
    margin: 0 auto;
}


.vedette-block-controls {
    background: #f9fafb;
    border-top: 1px solid rgba(10,22,40,0.07);
    padding: 14px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}


.vedette-block-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 20px;
    background: #1e88e5;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 2px 10px rgba(30,136,229,0.3);
}

.vedette-block-more-btn:hover {
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(30,136,229,0.45);
    color: #ffffff;
}


@media (max-width: 768px) {
    .vedette-block-topbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 12px 16px;
    }

    .vedette-block-espaces { gap: 5px; }

    .vedette-espace-btn span { display: none; }

    .vedette-espace-btn { padding: 5px 9px; }

    .vedette-block-heading { padding: 20px 16px 16px; }

    .vedette-block-controls {
        padding: 12px 16px;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .vedette-block-more-btn { justify-content: center; }
}



.events-media-carousel {
    position: relative;
    width: 100%;
    height: 420px;
    overflow: hidden;
    background: #0a1628;
    margin-bottom: 36px;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}

.events-media-track {
    position: relative;
    width: 100%;
    height: 100%;
}

.events-media-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.7s ease;
    pointer-events: none;
}

.events-media-slide.active {
    opacity: 1;
    pointer-events: auto;
}

.events-media-slide img,
.events-media-slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.events-media-slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.15) 55%, transparent 100%);
    pointer-events: none;
}

.events-media-caption {
    position: absolute;
    bottom: 52px;
    left: 0;
    right: 0;
    padding: 0 40px;
    z-index: 2;
    color: #ffffff;
}

.events-media-caption h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(18px, 2vw, 26px);
    font-weight: 800;
    margin: 0 0 6px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

.events-media-caption p {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 400;
    margin: 0;
    opacity: 0.88;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

.events-media-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(30,136,229,0.85);
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 8px;
}

.events-media-badge--video {
    background: rgba(21,101,192,0.9);
}

.events-media-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.15);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    backdrop-filter: blur(4px);
}

.events-media-nav:hover {
    background: rgba(30,136,229,0.75);
    border-color: #1e88e5;
}

.events-media-nav--prev { left: 16px; }
.events-media-nav--next { right: 16px; }

.events-media-dots {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 8px;
    align-items: center;
}

.events-media-dots button {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.6);
    background: transparent;
    cursor: pointer;
    transition: all 0.25s ease;
    padding: 0;
}

.events-media-dots button.active {
    background: #ffffff;
    border-color: #ffffff;
    width: 22px;
    border-radius: 4px;
}

@media (max-width: 768px) {
    .events-media-carousel {
        height: 260px;
        border-radius: 8px;
    }

    .events-media-caption {
        bottom: 44px;
        padding: 0 20px;
    }

    .events-media-nav {
        width: 36px;
        height: 36px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .events-media-carousel { height: 210px; }

    .events-media-caption h3 { font-size: 15px; }
}



.vedette-media-open-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
    width: 42px;
    height: 42px;
    background: rgba(0,0,0,0.45);
    border: 2px solid rgba(255,255,255,0.5);
    border-radius: 50%;
    color: #ffffff;
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.22s ease;
    backdrop-filter: blur(4px);
    opacity: 0;
    transform: scale(0.85);
}

.events-media-slide.active .vedette-media-open-btn {
    opacity: 1;
    transform: scale(1);
}

.vedette-media-open-btn:hover {
    background: rgba(30,136,229,0.75);
    border-color: #1e88e5;
    transform: scale(1.1);
}

.vedette-media-open-btn--play {
    top: 50%;
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.85);
    width: 64px;
    height: 64px;
    font-size: 22px;
    background: rgba(0,0,0,0.55);
    border-width: 3px;
}

.events-media-slide.active .vedette-media-open-btn--play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.vedette-media-open-btn--play:hover {
    transform: translate(-50%, -50%) scale(1.1);
}



.vedette-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.vedette-lightbox.active {
    display: flex;
}

.vedette-lightbox-bg {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.92);
    cursor: pointer;
}

.vedette-lightbox-close {
    position: absolute;
    top: 18px;
    right: 20px;
    z-index: 2;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.12);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.vedette-lightbox-close:hover {
    background: rgba(220,50,50,0.7);
    border-color: #e53935;
}

.vedette-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 50px;
    height: 50px;
    background: rgba(255,255,255,0.12);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.vedette-lightbox-nav:hover {
    background: rgba(30,136,229,0.7);
    border-color: #1e88e5;
}

.vedette-lightbox-prev { left: 20px; }
.vedette-lightbox-next { right: 20px; }

.vedette-lightbox-stage {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 92vw;
    max-height: 80vh;
}

.vedette-lightbox-img {
    max-width: 92vw;
    max-height: 80vh;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 16px 60px rgba(0,0,0,0.6);
}

.vedette-lightbox-video {
    max-width: 92vw;
    max-height: 80vh;
    border-radius: 6px;
    box-shadow: 0 16px 60px rgba(0,0,0,0.6);
    background: #000;
}

.vedette-lightbox-info {
    position: relative;
    z-index: 2;
    text-align: center;
    margin-top: 16px;
    color: #ffffff;
    max-width: 600px;
    padding: 0 20px;
}

.vedette-lightbox-info h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 4px;
}

.vedette-lightbox-info p {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    opacity: 0.75;
    margin: 0;
}

.vedette-lightbox-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
    letter-spacing: 1px;
}

@media (max-width: 768px) {
    .vedette-lightbox-nav  { width: 38px; height: 38px; font-size: 14px; }
    .vedette-lightbox-prev { left: 8px; }
    .vedette-lightbox-next { right: 8px; }
    .vedette-lightbox-info h3 { font-size: 15px; }
}

.events-vedette-v2-section {
    width: 100%;
    padding: 60px 0;
    background: #ffffff;
    position: relative;
}

.events-vedette-v2-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}


.events-vedette-v2-header {
    display: flex;
    flex-direction: column; 
    gap: 20px;
    margin-bottom: 40px;
    text-align: center;
}

.events-vedette-v2-title {
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #1a1a1a;
    letter-spacing: 1px;
    margin: 0;
    text-transform: uppercase;
}

.events-vedette-v2-header-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 20px;
}


.events-vedette-v2-filters {
    display: flex;
    gap: 10px;
    align-items: center;
}

.filter-label {
    font-size: 13px;
    font-weight: 700;
    color: #666;
    margin-right: 5px;
    text-transform: uppercase;
}

.events-vedette-v2-filter-btn {
    padding: 8px 18px;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.events-vedette-v2-filter-btn:hover {
    background: #f5f5f5;
    border-color: #d32f2f;
    color: #d32f2f;
    transform: translateY(-1px);
}

.events-vedette-v2-filter-btn.active {
    background: #d32f2f;
    border-color: #d32f2f;
    color: #ffffff;
}


.events-vedette-v2-more-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: #d32f2f;
    border: none;
    border-radius: 40px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 12px rgba(211, 47, 47, 0.3);
    white-space: nowrap;
    flex-shrink: 0;
}

.events-vedette-v2-more-btn:hover {
    background: #b71c1c;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(211, 47, 47, 0.4);
}

.events-vedette-v2-plus-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #ffffff;
    color: #d32f2f;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 700;
}


.events-vedette-v2-scroll-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.events-vedette-v2-scroll-container {
    display: flex;
    gap: 20px;
    overflow: visible;
    padding-bottom: 8px;
    will-change: transform;
}


.vedette-carousel-outer {
    position: relative;
    padding: 0 52px;
}

.vedette-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    color: #555555;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 3px 14px rgba(0,0,0,0.12);
    outline: none;
    padding: 0;
}

.vedette-carousel-prev { left: 0; }
.vedette-carousel-next { right: 0; }

.events-vedette-v2-section .vedette-carousel-btn:hover {
    background: #d32f2f;
    border-color: #d32f2f;
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(211,47,47,0.35);
}

.vedette-carousel-progress {
    height: 3px;
    background: #f0f0f0;
    margin: 14px 52px 4px;
    border-radius: 2px;
    overflow: hidden;
}

.vedette-carousel-bar {
    height: 100%;
    width: 0%;
    border-radius: 2px;
    transition: width 3.5s linear;
}

.events-vedette-v2-section .vedette-carousel-bar {
    background: #d32f2f;
}


.events-vedette-v2-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 320px;
    max-width: 320px;
    flex-shrink: 0;
}

.events-vedette-v2-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.events-vedette-v2-card.events-vedette-v2-hidden {
    display: none;
}


.events-vedette-v2-card-image {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.events-vedette-v2-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.events-vedette-v2-card:hover .events-vedette-v2-card-image img {
    transform: scale(1.08);
}

.events-vedette-v2-card-date {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #1b5e20;
    padding: 6px 14px;
    border-radius: 6px;
    z-index: 2;
}

.events-vedette-v2-date-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.5px;
}


.events-vedette-v2-card-content {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.events-vedette-v2-card-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.events-vedette-v2-card-description {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #666666;
    line-height: 1.5;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.events-vedette-v2-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}

.events-vedette-v2-card-location {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #333333;
    display: flex;
    align-items: center;
    gap: 4px;
}

.events-vedette-v2-card-location::before {
    content: '📍';
    font-size: 13px;
}

.events-vedette-v2-card-tag {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 500;
    color: #666666;
    background: #f5f5f5;
    padding: 4px 10px;
    border-radius: 10px;
    white-space: nowrap;
}




@media (max-width: 1024px) {
    .events-vedette-v2-section {
        padding: 40px 0;
    }

    .events-vedette-v2-container {
        padding: 0 20px;
    }

    .events-vedette-v2-header {
        gap: 15px;
    }

    .events-vedette-v2-title {
        font-size: 18px;
    }

    .events-vedette-v2-filters {
        gap: 6px;
    }

    .events-vedette-v2-filter-btn {
        font-size: 11px;
        padding: 6px 14px;
    }

    .events-vedette-v2-more-btn {
        font-size: 12px;
        padding: 6px 16px;
    }

    .events-vedette-v2-plus-icon {
        width: 22px;
        height: 22px;
        font-size: 17px;
    }

    .events-vedette-v2-card {
        min-width: 260px;
        max-width: 260px;
    }

    .events-vedette-v2-card-image {
        height: 170px;
    }
}


@media (max-width: 768px) {
    .events-vedette-v2-section {
        padding: 30px 0;
    }

    .events-vedette-v2-container {
        padding: 0 15px;
    }

    .events-vedette-v2-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 20px;
    }

    .events-vedette-v2-title {
        font-size: 16px;
        width: 100%;
        white-space: normal;
        line-height: 1.3;
    }

    .events-vedette-v2-filters {
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
        gap: 6px;
        padding-bottom: 5px;
    }

    .events-vedette-v2-filters::-webkit-scrollbar {
        display: none;
    }

    .events-vedette-v2-filter-btn {
        font-size: 11px;
        padding: 6px 12px;
        border-radius: 16px;
    }

    .events-vedette-v2-more-btn {
        font-size: 12px;
        padding: 7px 16px;
        align-self: flex-start;
    }

    .events-vedette-v2-plus-icon {
        width: 20px;
        height: 20px;
        font-size: 16px;
    }

    .events-vedette-v2-scroll-container {
        gap: 15px;
        padding-bottom: 12px;
    }

    .events-vedette-v2-card {
        min-width: 280px;
        max-width: 280px;
    }

    .events-vedette-v2-card-image {
        height: 180px;
    }

    .events-vedette-v2-card-content {
        padding: 16px;
    }

    .events-vedette-v2-card-title {
        font-size: 15px;
    }

    .events-vedette-v2-card-description {
        font-size: 12px;
    }

    .events-vedette-v2-card-footer {
        padding-top: 8px;
    }

    .events-vedette-v2-card-location {
        font-size: 11px;
    }

    .events-vedette-v2-card-tag {
        font-size: 10px;
        padding: 3px 8px;
    }
}


@media (max-width: 480px) {
    .events-vedette-v2-section {
        padding: 25px 0;
    }

    .events-vedette-v2-container {
        padding: 0 12px;
    }

    .events-vedette-v2-title {
        font-size: 14px;
        font-weight: 800;
    }

    .events-vedette-v2-filter-btn {
        font-size: 10px;
        padding: 5px 10px;
    }

    .events-vedette-v2-more-btn {
        font-size: 11px;
        padding: 6px 14px;
    }

    .events-vedette-v2-plus-icon {
        width: 18px;
        height: 18px;
        font-size: 14px;
    }

    .events-vedette-v2-scroll-container {
        gap: 12px;
    }

    .events-vedette-v2-card {
        min-width: 260px;
        max-width: 260px;
    }

    .events-vedette-v2-card-image {
        height: 160px;
    }

    .events-vedette-v2-card-content {
        padding: 14px;
    }

    .events-vedette-v2-card-title {
        font-size: 14px;
    }

    .events-vedette-v2-card-description {
        font-size: 11px;
    }

    .events-vedette-v2-card-date {
        top: 10px;
        left: 10px;
        padding: 5px 12px;
    }

    .events-vedette-v2-date-text {
        font-size: 11px;
    }
}

/* ==== destinations-vedette.css ==== */




.vedette-block-header {
    font-family: 'Montserrat', sans-serif;
    overflow: hidden;
    margin-bottom: 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
    border-radius: 0 0 12px 12px;
}


.vedette-block-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 28px;
    background: linear-gradient(90deg, #1565c0, #1e88e5 50%, #42a5f5);
    flex-wrap: wrap;
}


.vedette-block-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.vedette-block-breadcrumb i {
    color: rgba(255,255,255,0.75);
    font-size: 10px;
}

.vedette-block-breadcrumb a {
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.2s ease;
}

.vedette-block-breadcrumb a:hover {
    color: #ffffff;
    text-decoration: underline;
}

.vedette-block-breadcrumb span.active {
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


.vedette-block-espaces {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.vedette-espace-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: rgba(0,0,0,0.18);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 20px;
    color: rgba(255,255,255,0.88);
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.vedette-espace-btn:hover,
.vedette-espace-btn.active {
    background: rgba(255,255,255,0.25);
    border-color: rgba(255,255,255,0.55);
    color: #ffffff;
}

.vedette-espace-btn i {
    font-size: 10px;
}


.vedette-block-heading {
    background: #ffffff;
    padding: 30px 28px 20px;
    text-align: center;
}

.vedette-block-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #1e88e5;
    margin-bottom: 10px;
}

.vedette-block-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(22px, 2.5vw, 34px);
    font-weight: 900;
    color: #0a1628;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 10px;
    line-height: 1.15;
}

.vedette-block-highlight {
    color: #1e88e5;
}

.vedette-block-lead {
    font-size: 13px;
    color: rgba(10,22,40,0.55);
    line-height: 1.6;
    max-width: 560px;
    margin: 0 auto;
}


.vedette-block-controls {
    background: #f9fafb;
    border-top: 1px solid rgba(10,22,40,0.07);
    padding: 14px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}


.vedette-block-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 20px;
    background: #1e88e5;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 2px 10px rgba(30,136,229,0.3);
}

.vedette-block-more-btn:hover {
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(30,136,229,0.45);
    color: #ffffff;
}


@media (max-width: 768px) {
    .vedette-block-topbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 12px 16px;
    }

    .vedette-block-espaces { gap: 5px; }

    .vedette-espace-btn span { display: none; }

    .vedette-espace-btn { padding: 5px 9px; }

    .vedette-block-heading { padding: 20px 16px 16px; }

    .vedette-block-controls {
        padding: 12px 16px;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .vedette-block-more-btn { justify-content: center; }
}



.dest-media-carousel {
    position: relative;
    width: 100%;
    height: 420px;
    overflow: hidden;
    background: #0a1628;
    margin-bottom: 36px;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}

.dest-media-track {
    position: relative;
    width: 100%;
    height: 100%;
}

.dest-media-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.7s ease;
    pointer-events: none;
}

.dest-media-slide.active {
    opacity: 1;
    pointer-events: auto;
}

.dest-media-slide img,
.dest-media-slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dest-media-slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.15) 55%, transparent 100%);
    pointer-events: none;
}

.dest-media-caption {
    position: absolute;
    bottom: 52px;
    left: 0;
    right: 0;
    padding: 0 40px;
    z-index: 2;
    color: #ffffff;
}

.dest-media-caption h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(18px, 2vw, 26px);
    font-weight: 800;
    margin: 0 0 6px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

.dest-media-caption p {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 400;
    margin: 0;
    opacity: 0.88;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

.dest-media-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(30,136,229,0.85);
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 8px;
}

.dest-media-badge--video {
    background: rgba(21,101,192,0.9);
}

.dest-media-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.15);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    backdrop-filter: blur(4px);
}

.dest-media-nav:hover {
    background: rgba(30,136,229,0.75);
    border-color: #1e88e5;
}

.dest-media-nav--prev { left: 16px; }
.dest-media-nav--next { right: 16px; }

.dest-media-dots {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 8px;
    align-items: center;
}

.dest-media-dots button {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.6);
    background: transparent;
    cursor: pointer;
    transition: all 0.25s ease;
    padding: 0;
}

.dest-media-dots button.active {
    background: #ffffff;
    border-color: #ffffff;
    width: 22px;
    border-radius: 4px;
}

@media (max-width: 768px) {
    .dest-media-carousel { height: 260px; border-radius: 8px; }
    .dest-media-caption  { bottom: 44px; padding: 0 20px; }
    .dest-media-nav      { width: 36px; height: 36px; font-size: 13px; }
}

@media (max-width: 480px) {
    .dest-media-carousel         { height: 210px; }
    .dest-media-caption h3       { font-size: 15px; }
}



.vedette-media-open-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
    width: 42px;
    height: 42px;
    background: rgba(0,0,0,0.45);
    border: 2px solid rgba(255,255,255,0.5);
    border-radius: 50%;
    color: #ffffff;
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.22s ease;
    backdrop-filter: blur(4px);
    opacity: 0;
    transform: scale(0.85);
}

.dest-media-slide.active .vedette-media-open-btn,
.events-media-slide.active .vedette-media-open-btn {
    opacity: 1;
    transform: scale(1);
}

.vedette-media-open-btn:hover {
    background: rgba(30,136,229,0.75);
    border-color: #1e88e5;
    transform: scale(1.1);
}

.vedette-media-open-btn--play {
    top: 50%;
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.85);
    width: 64px;
    height: 64px;
    font-size: 22px;
    background: rgba(0,0,0,0.55);
    border-width: 3px;
}

.dest-media-slide.active .vedette-media-open-btn--play,
.events-media-slide.active .vedette-media-open-btn--play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.vedette-media-open-btn--play:hover {
    transform: translate(-50%, -50%) scale(1.1);
}



.vedette-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.vedette-lightbox.active {
    display: flex;
}

.vedette-lightbox-bg {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.92);
    cursor: pointer;
}

.vedette-lightbox-close {
    position: absolute;
    top: 18px;
    right: 20px;
    z-index: 2;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.12);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.vedette-lightbox-close:hover {
    background: rgba(220,50,50,0.7);
    border-color: #e53935;
}

.vedette-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 50px;
    height: 50px;
    background: rgba(255,255,255,0.12);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.vedette-lightbox-nav:hover {
    background: rgba(30,136,229,0.7);
    border-color: #1e88e5;
}

.vedette-lightbox-prev { left: 20px; }
.vedette-lightbox-next { right: 20px; }

.vedette-lightbox-stage {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 92vw;
    max-height: 80vh;
}

.vedette-lightbox-img {
    max-width: 92vw;
    max-height: 80vh;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 16px 60px rgba(0,0,0,0.6);
}

.vedette-lightbox-video {
    max-width: 92vw;
    max-height: 80vh;
    border-radius: 6px;
    box-shadow: 0 16px 60px rgba(0,0,0,0.6);
    background: #000;
}

.vedette-lightbox-info {
    position: relative;
    z-index: 2;
    text-align: center;
    margin-top: 16px;
    color: #ffffff;
    max-width: 600px;
    padding: 0 20px;
}

.vedette-lightbox-info h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 4px;
}

.vedette-lightbox-info p {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    opacity: 0.75;
    margin: 0;
}

.vedette-lightbox-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
    letter-spacing: 1px;
}

@media (max-width: 768px) {
    .vedette-lightbox-nav { width: 38px; height: 38px; font-size: 14px; }
    .vedette-lightbox-prev { left: 8px; }
    .vedette-lightbox-next { right: 8px; }
    .vedette-lightbox-info h3 { font-size: 15px; }
}

.destinations-vedette-v2-section {
    width: 100%;
    padding: 60px 0;
    background: #f8f9fa;
    position: relative;
}

.destinations-vedette-v2-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}


.destinations-vedette-v2-header {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
    text-align: center;
}

.destinations-vedette-v2-title {
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #1a1a1a;
    letter-spacing: 1px;
    margin: 0;
    text-transform: uppercase;
}

.destinations-vedette-v2-header-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 20px;
}


.destinations-vedette-v2-filters {
    display: flex;
    gap: 10px;
    align-items: center;
}

.filter-label {
    font-size: 13px;
    font-weight: 700;
    color: #666;
    margin-right: 5px;
    text-transform: uppercase;
}

.destinations-vedette-v2-filter-btn {
    padding: 8px 18px;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.destinations-vedette-v2-filter-btn:hover {
    background: #f5f5f5;
    border-color: #d32f2f;
    color: #d32f2f;
}

.destinations-vedette-v2-filter-btn.active {
    background: #d32f2f;
    border-color: #d32f2f;
    color: #ffffff;
}


.destinations-vedette-v2-more-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: #d32f2f;
    border: none;
    border-radius: 40px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 12px rgba(211, 47, 47, 0.3);
    white-space: nowrap;
    flex-shrink: 0;
}

.destinations-vedette-v2-more-btn:hover {
    background: #b71c1c;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(211, 47, 47, 0.4);
}

.destinations-vedette-v2-plus-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #ffffff;
    color: #d32f2f;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 700;
}


.destinations-vedette-v2-scroll-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.destinations-vedette-v2-scroll-container {
    display: flex;
    gap: 20px;
    overflow: visible;
    padding-bottom: 8px;
    will-change: transform;
}

.destinations-vedette-v2-section .vedette-carousel-btn:hover {
    background: #1e88e5;
    border-color: #1e88e5;
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(30,136,229,0.35);
}

.destinations-vedette-v2-section .vedette-carousel-bar {
    background: #1e88e5;
}


.destinations-vedette-v2-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 320px;
    max-width: 320px;
    flex-shrink: 0;
}

.destinations-vedette-v2-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}


.destinations-vedette-v2-card-image {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.destinations-vedette-v2-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.destinations-vedette-v2-card:hover .destinations-vedette-v2-card-image img {
    transform: scale(1.08);
}


.destinations-vedette-v2-card-content {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.destinations-vedette-v2-card-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.destinations-vedette-v2-card-description {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #666666;
    line-height: 1.5;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.destinations-vedette-v2-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}

.destinations-vedette-v2-card-location {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #333333;
    display: flex;
    align-items: center;
    gap: 4px;
}

.destinations-vedette-v2-card-location::before {
    content: '📍';
    font-size: 13px;
}

.destinations-vedette-v2-card-rating {
    font-size: 12px;
    line-height: 1;
}




@media (max-width: 1024px) {
    .destinations-vedette-v2-section {
        padding: 40px 0;
    }

    .destinations-vedette-v2-container {
        padding: 0 20px;
    }

    .destinations-vedette-v2-header {
        gap: 15px;
    }

    .destinations-vedette-v2-title {
        font-size: 18px;
    }

    .destinations-vedette-v2-more-btn {
        font-size: 12px;
        padding: 6px 16px;
    }

    .destinations-vedette-v2-plus-icon {
        width: 22px;
        height: 22px;
        font-size: 17px;
    }

    .destinations-vedette-v2-card {
        min-width: 260px;
        max-width: 260px;
    }

    .destinations-vedette-v2-card-image {
        height: 170px;
    }
}


@media (max-width: 768px) {
    .destinations-vedette-v2-section {
        padding: 30px 0;
    }

    .destinations-vedette-v2-container {
        padding: 0 15px;
    }

    .destinations-vedette-v2-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 20px;
    }

    .destinations-vedette-v2-title {
        font-size: 16px;
        width: 100%;
        white-space: normal;
        line-height: 1.3;
    }

    .destinations-vedette-v2-more-btn {
        font-size: 12px;
        padding: 7px 16px;
        align-self: flex-start;
    }

    .destinations-vedette-v2-plus-icon {
        width: 20px;
        height: 20px;
        font-size: 16px;
    }

    .destinations-vedette-v2-scroll-container {
        gap: 15px;
        padding-bottom: 12px;
    }

    .destinations-vedette-v2-card {
        min-width: 280px;
        max-width: 280px;
    }

    .destinations-vedette-v2-card-image {
        height: 180px;
    }

    .destinations-vedette-v2-card-content {
        padding: 16px;
    }

    .destinations-vedette-v2-card-title {
        font-size: 15px;
    }

    .destinations-vedette-v2-card-description {
        font-size: 12px;
    }

    .destinations-vedette-v2-card-footer {
        padding-top: 8px;
    }

    .destinations-vedette-v2-card-location {
        font-size: 11px;
    }

    .destinations-vedette-v2-card-rating {
        font-size: 11px;
    }
}


@media (max-width: 480px) {
    .destinations-vedette-v2-section {
        padding: 25px 0;
    }

    .destinations-vedette-v2-container {
        padding: 0 12px;
    }

    .destinations-vedette-v2-title {
        font-size: 14px;
        font-weight: 800;
    }

    .destinations-vedette-v2-more-btn {
        font-size: 11px;
        padding: 6px 14px;
    }

    .destinations-vedette-v2-plus-icon {
        width: 18px;
        height: 18px;
        font-size: 14px;
    }

    .destinations-vedette-v2-scroll-container {
        gap: 12px;
    }

    .destinations-vedette-v2-card {
        min-width: 260px;
        max-width: 260px;
    }

    .destinations-vedette-v2-card-image {
        height: 160px;
    }

    .destinations-vedette-v2-card-content {
        padding: 14px;
    }

    .destinations-vedette-v2-card-title {
        font-size: 14px;
    }

    .destinations-vedette-v2-card-description {
        font-size: 11px;
    }
}

/* ==== restaurants-vedette.css ==== */


.restaurants-vedette-v2-section {
    width: 100%;
    padding: 60px 0;
    background: #ffffff;
    position: relative;
}

.restaurants-vedette-v2-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}


.restaurants-vedette-v2-header {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
    text-align: center;
}

.restaurants-vedette-v2-title {
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #1a1a1a;
    letter-spacing: 1px;
    margin: 0;
    text-transform: uppercase;
}

.restaurants-vedette-v2-header-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 20px;
}


.restaurants-vedette-v2-filters {
    display: flex;
    gap: 10px;
    align-items: center;
}

.filter-label {
    font-size: 13px;
    font-weight: 700;
    color: #666;
    margin-right: 5px;
    text-transform: uppercase;
}

.restaurants-vedette-v2-filter-btn {
    padding: 8px 18px;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.restaurants-vedette-v2-filter-btn:hover {
    background: #f5f5f5;
    border-color: #d32f2f;
    color: #d32f2f;
}

.restaurants-vedette-v2-filter-btn.active {
    background: #d32f2f;
    border-color: #d32f2f;
    color: #ffffff;
}


.restaurants-vedette-v2-more-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: #d32f2f;
    border: none;
    border-radius: 40px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 12px rgba(211, 47, 47, 0.3);
    white-space: nowrap;
    flex-shrink: 0;
}

.restaurants-vedette-v2-more-btn:hover {
    background: #b71c1c;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(211, 47, 47, 0.4);
}

.restaurants-vedette-v2-plus-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #ffffff;
    color: #d32f2f;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 700;
}


.restaurants-vedette-v2-scroll-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.restaurants-vedette-v2-scroll-container {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    padding-bottom: 15px;
    scrollbar-width: thin;
    scrollbar-color: #d32f2f #f0f0f0;
}

.restaurants-vedette-v2-scroll-container::-webkit-scrollbar {
    height: 8px;
}

.restaurants-vedette-v2-scroll-container::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 4px;
}

.restaurants-vedette-v2-scroll-container::-webkit-scrollbar-thumb {
    background: #d32f2f;
    border-radius: 4px;
}

.restaurants-vedette-v2-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #b71c1c;
}


.restaurants-vedette-v2-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 320px;
    max-width: 320px;
    flex-shrink: 0;
}

.restaurants-vedette-v2-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}


.restaurants-vedette-v2-card-image {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.restaurants-vedette-v2-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.restaurants-vedette-v2-card:hover .restaurants-vedette-v2-card-image img {
    transform: scale(1.08);
}

.restaurants-vedette-v2-card-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(211, 47, 47, 0.95);
    padding: 6px 14px;
    border-radius: 6px;
    z-index: 2;
}

.restaurants-vedette-v2-badge-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}


.restaurants-vedette-v2-card-content {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.restaurants-vedette-v2-card-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.restaurants-vedette-v2-card-description {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #666666;
    line-height: 1.5;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.restaurants-vedette-v2-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}

.restaurants-vedette-v2-card-location {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #333333;
    display: flex;
    align-items: center;
    gap: 4px;
}

.restaurants-vedette-v2-card-location::before {
    content: '📍';
    font-size: 13px;
}

.restaurants-vedette-v2-card-rating {
    font-size: 12px;
    line-height: 1;
}




@media (max-width: 1024px) {
    .restaurants-vedette-v2-section {
        padding: 40px 0;
    }

    .restaurants-vedette-v2-container {
        padding: 0 20px;
    }

    .restaurants-vedette-v2-header {
        gap: 15px;
    }

    .restaurants-vedette-v2-title {
        font-size: 18px;
    }

    .restaurants-vedette-v2-more-btn {
        font-size: 12px;
        padding: 6px 16px;
    }

    .restaurants-vedette-v2-plus-icon {
        width: 22px;
        height: 22px;
        font-size: 17px;
    }

    .restaurants-vedette-v2-card {
        min-width: 260px;
        max-width: 260px;
    }

    .restaurants-vedette-v2-card-image {
        height: 170px;
    }
}


@media (max-width: 768px) {
    .restaurants-vedette-v2-section {
        padding: 30px 0;
    }

    .restaurants-vedette-v2-container {
        padding: 0 15px;
    }

    .restaurants-vedette-v2-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 20px;
    }

    .restaurants-vedette-v2-title {
        font-size: 16px;
        width: 100%;
        white-space: normal;
        line-height: 1.3;
    }

    .restaurants-vedette-v2-more-btn {
        font-size: 12px;
        padding: 7px 16px;
        align-self: flex-start;
    }

    .restaurants-vedette-v2-plus-icon {
        width: 20px;
        height: 20px;
        font-size: 16px;
    }

    .restaurants-vedette-v2-scroll-container {
        gap: 15px;
        padding-bottom: 12px;
    }

    .restaurants-vedette-v2-card {
        min-width: 280px;
        max-width: 280px;
    }

    .restaurants-vedette-v2-card-image {
        height: 180px;
    }

    .restaurants-vedette-v2-card-content {
        padding: 16px;
    }

    .restaurants-vedette-v2-card-title {
        font-size: 15px;
    }

    .restaurants-vedette-v2-card-description {
        font-size: 12px;
    }

    .restaurants-vedette-v2-card-footer {
        padding-top: 8px;
    }

    .restaurants-vedette-v2-card-location {
        font-size: 11px;
    }

    .restaurants-vedette-v2-card-rating {
        font-size: 11px;
    }

    .restaurants-vedette-v2-card-badge {
        top: 10px;
        right: 10px;
        padding: 5px 12px;
    }

    .restaurants-vedette-v2-badge-text {
        font-size: 10px;
    }
}


@media (max-width: 480px) {
    .restaurants-vedette-v2-section {
        padding: 25px 0;
    }

    .restaurants-vedette-v2-container {
        padding: 0 12px;
    }

    .restaurants-vedette-v2-title {
        font-size: 14px;
        font-weight: 800;
    }

    .restaurants-vedette-v2-more-btn {
        font-size: 11px;
        padding: 6px 14px;
    }

    .restaurants-vedette-v2-plus-icon {
        width: 18px;
        height: 18px;
        font-size: 14px;
    }

    .restaurants-vedette-v2-scroll-container {
        gap: 12px;
    }

    .restaurants-vedette-v2-card {
        min-width: 260px;
        max-width: 260px;
    }

    .restaurants-vedette-v2-card-image {
        height: 160px;
    }

    .restaurants-vedette-v2-card-content {
        padding: 14px;
    }

    .restaurants-vedette-v2-card-title {
        font-size: 14px;
    }

    .restaurants-vedette-v2-card-description {
        font-size: 11px;
    }

    .restaurants-vedette-v2-card-badge {
        top: 8px;
        right: 8px;
        padding: 4px 10px;
    }

    .restaurants-vedette-v2-badge-text {
        font-size: 9px;
    }
}

/* ==== products-vedette.css ==== */



.products-vedette-v2-section {
    width: 100%;
    padding: 60px 0;
    background: linear-gradient(180deg, #ffffff 0%, #faf7f2 100%);
    position: relative;
}

.products-vedette-v2-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}


.products-vedette-v2-filters {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.products-vedette-v2-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.95);
    border: 1.5px solid rgba(255, 255, 255, 0.5);
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #1a2942;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.products-vedette-v2-filter-btn:hover {
    background: #fff;
    border-color: #d4af37;
    color: #d4af37;
    transform: translateY(-1px);
}

.products-vedette-v2-filter-btn.active {
    background: linear-gradient(135deg, #d4af37 0%, #f26522 100%);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 3px 16px rgba(242, 101, 34, 0.35);
}

.products-vedette-v2-filter-btn i {
    font-size: 16px;
}


.products-vedette-v2-carousel {
    margin-top: 6px;
}

.products-vedette-v2-scroll-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 8px 0 16px;
}

.products-vedette-v2-scroll-container {
    display: flex;
    gap: 20px;
    overflow: visible;
    padding-bottom: 8px;
    will-change: transform;
}


.products-vedette-v2-section .vedette-carousel-bar {
    background: linear-gradient(90deg, #d4af37, #f26522);
}
.products-vedette-v2-section .vedette-carousel-btn:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f26522 100%);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(242, 101, 34, 0.4);
}


.products-vedette-v2-card {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(10, 22, 40, 0.06);
    border: 1px solid #f0ece3;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 260px;
    max-width: 260px;
    flex-shrink: 0;
    font-family: 'Montserrat', sans-serif;
}

.products-vedette-v2-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 40px rgba(10, 22, 40, 0.18);
    border-color: #d4af37;
}


.products-vedette-v2-card-image {
    position: relative;
    width: 100%;
    height: 240px;
    overflow: hidden;
    background: #f7f4ee;
}

.products-vedette-v2-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.products-vedette-v2-card:hover .products-vedette-v2-card-image img {
    transform: scale(1.08);
}


.products-vedette-v2-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 16px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    z-index: 3;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}
.products-vedette-v2-badge--promo    { background: linear-gradient(135deg, #e53935, #d32f2f); }
.products-vedette-v2-badge--new      { background: linear-gradient(135deg, #1e88e5, #1565c0); }
.products-vedette-v2-badge--hot      { background: linear-gradient(135deg, #f26522, #e84c10); }
.products-vedette-v2-badge--trending { background: linear-gradient(135deg, #d4af37, #b8922d); }


.products-vedette-v2-fav {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    border: none;
    color: #444;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    transition: all 0.25s ease;
}

.products-vedette-v2-fav:hover,
.products-vedette-v2-fav.is-active {
    background: #e53935;
    color: #ffffff;
    transform: scale(1.08);
}


.products-vedette-v2-quick {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 12px;
    background: linear-gradient(180deg, rgba(10, 22, 40, 0) 0%, rgba(10, 22, 40, 0.92) 100%);
    transform: translateY(110%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2;
}

.products-vedette-v2-card:hover .products-vedette-v2-quick {
    transform: translateY(0);
}

.products-vedette-v2-quick-btn {
    width: 100%;
    padding: 9px 14px;
    background: #ffffff;
    border: none;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #0a1628;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    letter-spacing: 0.3px;
    transition: all 0.2s ease;
}

.products-vedette-v2-quick-btn:hover {
    background: #d4af37;
    color: #ffffff;
}


.products-vedette-v2-card-content {
    padding: 16px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    flex: 1;
}

.products-vedette-v2-card-brand {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #d4af37;
}

.products-vedette-v2-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a2942;
    margin: 0;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 40px;
}

.products-vedette-v2-card-rating {
    display: flex;
    align-items: center;
    gap: 2px;
    color: #f59f00;
    font-size: 12px;
}

.products-vedette-v2-card-rating .far {
    color: #dcdcdc;
}

.products-vedette-v2-card-reviews {
    margin-left: 4px;
    font-size: 16px;
    font-weight: 600;
    color: #888;
}


.products-vedette-v2-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 16px;
    margin-top: 4px;
    border-top: 1px solid #f0ece3;
}

.products-vedette-v2-price-block {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.products-vedette-v2-price-old {
    font-size: 16px;
    font-weight: 500;
    color: #aaa;
    text-decoration: line-through;
    line-height: 1;
}

.products-vedette-v2-price {
    font-size: 18px;
    font-weight: 800;
    color: #0a1628;
    line-height: 1.1;
    letter-spacing: -0.2px;
}

.products-vedette-v2-add-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d4af37 0%, #f26522 100%);
    border: none;
    color: #ffffff;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 16px rgba(242, 101, 34, 0.35);
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.products-vedette-v2-add-btn:hover {
    transform: translateY(-2px) rotate(-6deg);
    box-shadow: 0 6px 18px rgba(242, 101, 34, 0.5);
}


@media (max-width: 1024px) {
    .products-vedette-v2-section   { padding: 45px 0; }
    .products-vedette-v2-container { padding: 0 20px; }
    .products-vedette-v2-card      { min-width: 240px; max-width: 240px; }
    .products-vedette-v2-card-image { height: 210px; }
    .products-vedette-v2-filter-btn { font-size: 10px; padding: 5px 11px; }
}

@media (max-width: 768px) {
    .products-vedette-v2-section   { padding: 30px 0; }
    .products-vedette-v2-container { padding: 0 12px; }

    
    .products-vedette-v2-section .vedette-carousel-outer { padding: 0 38px; }
    .products-vedette-v2-section .vedette-carousel-btn   { width: 34px; height: 34px; font-size: 12px; }
    .products-vedette-v2-section .vedette-carousel-progress { margin: 10px 38px 2px; }

    
    .products-vedette-v2-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        gap: 6px;
        padding-bottom: 4px;
        width: 100%;
    }
    .products-vedette-v2-filters::-webkit-scrollbar { display: none; }
    .products-vedette-v2-filter-btn {
        flex-shrink: 0;
        font-size: 10px;
        padding: 5px 10px;
    }

    
    .products-vedette-v2-card         { min-width: 200px; max-width: 200px; border-radius: 12px; }
    .products-vedette-v2-card-image   { height: 180px; }
    .products-vedette-v2-card-content { padding: 12px; gap: 6px; }
    .products-vedette-v2-card-brand   { font-size: 9px; letter-spacing: 1px; }
    .products-vedette-v2-card-title   { font-size: 13px; min-height: 34px; }
    .products-vedette-v2-card-rating  { font-size: 11px; }
    .products-vedette-v2-card-reviews { font-size: 10px; }
    .products-vedette-v2-price        { font-size: 15px; }
    .products-vedette-v2-price-old    { font-size: 10px; }
    .products-vedette-v2-badge        { font-size: 9px; padding: 4px 8px; }
    .products-vedette-v2-add-btn      { width: 34px; height: 34px; font-size: 12px; }
    .products-vedette-v2-fav          { width: 30px; height: 30px; font-size: 12px; }
}

@media (max-width: 480px) {
    .products-vedette-v2-container { padding: 0 8px; }

    
    .products-vedette-v2-section .vedette-carousel-outer { padding: 0 6px; }
    .products-vedette-v2-section .vedette-carousel-btn   {
        width: 30px; height: 30px; font-size: 11px;
        background: rgba(255,255,255,0.92);
    }
    .products-vedette-v2-section .vedette-carousel-prev  { left: -2px; }
    .products-vedette-v2-section .vedette-carousel-next  { right: -2px; }
    .products-vedette-v2-section .vedette-carousel-progress { margin: 10px 6px 2px; }

    
    .products-vedette-v2-scroll-container { gap: 12px; }
    .products-vedette-v2-card         { min-width: 75vw; max-width: 75vw; }
    .products-vedette-v2-card-image   { height: 56vw; max-height: 240px; }
    .products-vedette-v2-card-content { padding: 12px 14px; }
    .products-vedette-v2-card-title   { font-size: 14px; min-height: 36px; }
    .products-vedette-v2-price        { font-size: 16px; }
    .products-vedette-v2-add-btn      { width: 36px; height: 36px; font-size: 13px; }

    
    .products-vedette-v2-quick      { transform: translateY(0); background: linear-gradient(180deg, rgba(10,22,40,0) 0%, rgba(10,22,40,0.75) 100%); padding: 10px; }
    .products-vedette-v2-quick-btn  { font-size: 11px; padding: 7px 10px; }
}

@media (max-width: 360px) {
    .products-vedette-v2-card       { min-width: 82vw; max-width: 82vw; }
    .products-vedette-v2-card-title { font-size: 13px; }
    .products-vedette-v2-price      { font-size: 15px; }
}

/* ==== page-6-packages.css ==== */



.pkg-section {
    font-family: 'Montserrat', sans-serif;
    background: #ffffff;
    color: #333333;
}

.page6-wrapper {
    background: #ffffff;
    overflow: hidden;
}


.pkg-content-area {
    padding: 40px 40px 60px;
    max-width: 1400px;
    margin: 0 auto;
}


.pkg-category-section {
    margin-bottom: 60px;
}

.pkg-category-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 28px;
    padding-bottom: 16px;
    border-bottom: 2px solid #f0f4f8;
}

.pkg-cat-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #ffffff;
    flex-shrink: 0;
}

.pkg-cat-icon--quebec {
    background: linear-gradient(135deg, #1565c0, #1e88e5);
}

.pkg-cat-icon--europe {
    background: linear-gradient(135deg, #1565c0, #1e88e5);
}

.pkg-cat-titles {
    flex: 1;
}

.pkg-category-title {
    font-size: 1.6rem;
    font-weight: 800;
    color: #1a2942;
    margin: 0 0 2px;
    line-height: 1.2;
}

.pkg-category-subtitle {
    font-size: 0.9rem;
    color: #888888;
    margin: 0;
    font-weight: 500;
}

.pkg-category-count {
    background: linear-gradient(135deg, #1565c0, #1e88e5);
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    white-space: nowrap;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.3px;
}


.pkg-filters {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.pkg-filter-btn {
    padding: 8px 18px;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pkg-filter-btn:hover {
    background: #e3f2fd;
    border-color: #1e88e5;
    color: #1565c0;
    transform: translateY(-1px);
}

.pkg-filter-btn.active {
    background: linear-gradient(135deg, #1565c0, #1e88e5);
    border-color: #1e88e5;
    color: #ffffff;
}


.packages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}


.package-card {
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}

.package-card:hover {
    transform: translateY(-8px);
    border-color: #bbdefb;
    box-shadow: 0 16px 40px rgba(30, 136, 229, 0.15);
}

.package-image {
    height: 230px;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.package-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.package-card:hover .package-image img {
    transform: scale(1.07);
}


.package-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    z-index: 2;
    font-family: 'Montserrat', sans-serif;
}

.pkg-badge--popular  { background: linear-gradient(135deg, #e84c10, #f26522); box-shadow: 0 4px 12px rgba(242,101,34,0.45); }
.pkg-badge--new      { background: linear-gradient(135deg, #2e7d32, #43a047); box-shadow: 0 4px 12px rgba(67,160,71,0.4); }
.pkg-badge--luxe     { background: linear-gradient(135deg, #b8860b, #d4af37); box-shadow: 0 4px 12px rgba(212,175,55,0.4); }
.pkg-badge--couple   { background: linear-gradient(135deg, #ad1457, #e91e8c); box-shadow: 0 4px 12px rgba(233,30,140,0.4); }
.pkg-badge--exclusif { background: linear-gradient(135deg, #4527a0, #7b1fa2); box-shadow: 0 4px 12px rgba(123,31,162,0.4); }
.pkg-badge--top      { background: linear-gradient(135deg, #0277bd, #0288d1); box-shadow: 0 4px 12px rgba(2,119,189,0.4); }


.package-content {
    padding: 22px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.package-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.package-header h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a2942;
    line-height: 1.3;
    margin: 0;
    flex: 1;
}

.package-price {
    font-size: 1.45rem;
    font-weight: 800;
    color: #1e88e5;
    white-space: nowrap;
    flex-shrink: 0;
}

.package-price span {
    font-size: 0.8rem;
    font-weight: 500;
    color: #999999;
}

.package-location {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #666666;
    font-size: 0.88rem;
    font-weight: 600;
    margin-bottom: 12px;
}

.package-location i {
    color: #1e88e5;
    font-size: 12px;
}

.package-description {
    font-size: 0.88rem;
    color: #777777;
    line-height: 1.65;
    flex-grow: 1;
    margin-bottom: 16px;
}

.package-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.feature {
    background: #e3f2fd;
    border: 1px solid #bbdefb;
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 0.8rem;
    color: #1565c0;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
}

.feature i {
    color: #1e88e5;
    font-size: 10px;
}


.pkg-btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 20px;
    background: linear-gradient(135deg, #1565c0, #1e88e5, #42a5f5);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: auto;
    box-shadow: 0 4px 16px rgba(30, 136, 229, 0.35);
    letter-spacing: 0.3px;
}

.pkg-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(30, 136, 229, 0.5);
    color: #ffffff;
}


.showcase-packages {
    margin: 60px 0 40px;
}

.showcase-header {
    text-align: center;
    margin-bottom: 36px;
}

.showcase-header h2 {
    font-size: 2rem;
    font-weight: 800;
    color: #1a2942;
    margin-bottom: 8px;
}

.showcase-header p {
    font-size: 1rem;
    color: #777777;
}

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

.showcase-item {
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-top: 4px solid #1e88e5;
    border-radius: 14px;
    padding: 24px 22px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.showcase-item:hover {
    transform: translateY(-6px);
    border-top-color: #f26522;
    box-shadow: 0 12px 32px rgba(30, 136, 229, 0.12);
}

.showcase-item h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #1a2942;
    margin: 0 0 8px;
    line-height: 1.3;
}

.showcase-item p {
    font-size: 0.85rem;
    color: #888888;
    flex-grow: 1;
    margin-bottom: 12px;
    line-height: 1.5;
}

.showcase-price {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1e88e5;
}

.showcase-price span {
    font-size: 0.8rem;
    color: #999999;
    font-weight: 500;
}

.showcase-item-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 4px;
}

.showcase-details-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: transparent;
    color: #1e88e5;
    border: 1.5px solid #1e88e5;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.22s ease;
}

.showcase-details-btn:hover {
    background: #1e88e5;
    color: #ffffff;
    transform: translateY(-1px);
}

.showcase-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 700;
    margin-bottom: 12px;
    align-self: flex-start;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.showcase-badge.quebec {
    background: linear-gradient(135deg, #1565c0, #42a5f5);
    color: #ffffff;
}

.showcase-badge.europe {
    background: linear-gradient(135deg, #1565c0, #1e88e5);
    color: #ffffff;
}


.creation-section {
    margin-top: 60px;
}

.creation-card {
    background: #f8fafd;
    border: 1px solid #e3ecf7;
    border-radius: 20px;
    padding: 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.creation-info h3 {
    font-size: 1.8rem;
    font-weight: 800;
    color: #1a2942;
    margin-bottom: 14px;
}

.creation-info p {
    font-size: 0.95rem;
    color: #666666;
    margin-bottom: 24px;
    line-height: 1.7;
}

.features-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.features-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #444444;
    font-weight: 500;
    font-size: 0.92rem;
    padding: 8px 0;
    border-bottom: 1px solid #eef2f8;
}

.features-list li:last-child {
    border-bottom: none;
}

.features-list i {
    color: #1e88e5;
    font-size: 14px;
    flex-shrink: 0;
}

.creation-form {
    background: #ffffff;
    border: 1px solid #e3ecf7;
    border-radius: 16px;
    padding: 36px;
}

.creation-form h3 {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1a2942;
    margin-bottom: 24px;
}

.pkg-form-group {
    margin-bottom: 18px;
}

.pkg-form-group label {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    color: #555555;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.pkg-form-group input,
.pkg-form-group select,
.pkg-form-group textarea {
    width: 100%;
    padding: 12px 16px;
    background: #f7fafc;
    border: 1px solid #dde6f0;
    border-radius: 10px;
    color: #333333;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

.pkg-form-group input:focus,
.pkg-form-group select:focus,
.pkg-form-group textarea:focus {
    outline: none;
    border-color: #1e88e5;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(30, 136, 229, 0.12);
}

.pkg-form-group textarea {
    height: 100px;
    resize: vertical;
}

.btn-create {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 15px 20px;
    background: linear-gradient(135deg, #1565c0, #1e88e5, #42a5f5);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 8px;
    box-shadow: 0 4px 16px rgba(30, 136, 229, 0.3);
}

.btn-create:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(30, 136, 229, 0.45);
    color: #ffffff;
}


.pkg-card-actions {
    display: flex;
    gap: 10px;
    margin-top: 14px;
}

.pkg-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 1;
    padding: 10px 14px;
    background: transparent;
    color: #1e88e5;
    border: 2px solid #1e88e5;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.pkg-btn-secondary:hover {
    background: #e3f2fd;
    border-color: #1565c0;
    color: #1565c0;
    transform: translateY(-1px);
}

.pkg-btn-primary {
    flex: 1;
}


.creation-slider {
    position: relative;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 22px;
    aspect-ratio: 5 / 3;
    background: #e3f2fd;
}

.creation-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.7s ease;
}

.creation-slide.active {
    opacity: 1;
    position: relative;
}

.creation-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.creation-slide-dots {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 5;
}

.creation-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: rgba(255,255,255,0.55);
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
    border: 2px solid rgba(255,255,255,0.8);
}

.creation-dot.active {
    background: #ffffff;
    transform: scale(1.25);
}


@media (max-width: 1200px) {
    .packages-grid { grid-template-columns: repeat(2, 1fr); }
    .creation-card { grid-template-columns: 1fr; }
}

@media (max-width: 992px) {
    .showcase-grid { grid-template-columns: repeat(2, 1fr); }
    .pkg-content-area { padding: 32px 24px 48px; }
}

@media (max-width: 768px) {
    .pkg-content-area { padding: 24px 16px 40px; }
    .packages-grid { grid-template-columns: 1fr; gap: 20px; }
    .showcase-grid { grid-template-columns: 1fr; gap: 14px; }
    .creation-card { padding: 28px 20px; gap: 28px; }
    .creation-form { padding: 24px 16px; }
    .pkg-category-title { font-size: 1.3rem; }
    .pkg-filter-btn { font-size: 11px; padding: 6px 12px; }
}

@media (max-width: 480px) {
    .pkg-content-area { padding: 16px 12px 32px; }
    .creation-card { padding: 20px 12px; }
    .packages-grid { gap: 16px; }
}

/* ==== page-3-infos.css ==== */


.travel-section {
    font-family: 'Inter', sans-serif;
    margin: 60px 40px 100px 40px;
    padding: 0;
    background: transparent;
    position: relative;
    z-index: 10;
}

.travel-container {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    margin-top: 40px;
}


.travel-alerts { flex: 1 1 55%; min-width: 320px; }
.travel-bullets { flex: 1 1 35%; min-width: 320px; }


.info-section-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}
.info-section-icon {
    width: 60px; height: 60px;
    background: linear-gradient(135deg, #0066CC, #00CC99);
    border-radius: 18px;
    display: flex; align-items: center; justify-content: center;
    color: white; font-size: 1.6rem;
    box-shadow: 0 10px 25px rgba(0, 102, 204, 0.2);
}
.info-section-title { font-family: 'Poppins', sans-serif; font-size: 2.2rem; font-weight: 700; color: #1a1a1a; margin: 0; }
.info-section-sub { font-size: 1.05rem; color: #666666; margin: 5px 0 0 0; font-weight: 500; }


.alert-card {
    background: #ffffff; border-radius: 20px; padding: 30px; margin-bottom: 20px;
    border: 1px solid #e1e8f0; display: flex; align-items: flex-start; gap: 20px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}
.alert-card:hover { transform: translateY(-6px); border-color: #3399FF; box-shadow: 0 15px 35px rgba(0, 102, 204, 0.08); }

.alert-icon {
    width: 50px; height: 50px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; flex-shrink: 0;
}
.alert-orange { background: #fff7ed; color: #ea580c; border: 1px solid #ffedd5; }
.alert-blue { background: #eff6ff; color: #2563eb; border: 1px solid #dbeafe; }
.alert-red { background: #fef2f2; color: #dc2626; border: 1px solid #fee2e2; }
.alert-green { background: #f0fdf4; color: #16a34a; border: 1px solid #dcfce7; }

.alert-content { flex: 1; }
.alert-title { font-weight: 700; font-size: 1.25rem; margin: 0 0 10px 0; color: #1a1a1a; }
.alert-desc { font-size: 1rem; color: #555555; margin: 0 0 20px 0; line-height: 1.6; }
.alert-meta { display: flex; flex-wrap: wrap; gap: 20px; font-size: 0.9rem; color: #888888; font-weight: 500;}
.meta-item { display: flex; align-items: center; gap: 6px; }
.meta-item i { color: #00CC99; }


.bullets-grid { display: flex; flex-direction: column; gap: 20px; }
.bullet-item {
    background: #ffffff; border-radius: 20px; padding: 25px; display: flex; align-items: center; gap: 20px;
    border: 1px solid #e1e8f0; transition: all 0.3s ease; box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}
.bullet-item:hover { border-color: #00CC99; transform: translateX(8px); box-shadow: 0 10px 25px rgba(0, 204, 153, 0.1);}
.plane-icon {
    width: 55px; height: 55px; background: #f8fafc; border-radius: 14px;
    display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: #0066CC; border: 1px solid #e1e8f0;
}
.plane-details { flex: 1; }
.plane-route { font-weight: 700; font-size: 1.25rem; color: #1a1a1a; margin: 0 0 8px 0; display: flex; align-items: center; gap: 12px; }
.plane-route i { font-size: 1rem; color: #00CC99; }
.plane-status { font-size: 1rem; color: #555555; margin: 0; display: flex; align-items: center; justify-content: space-between; }

.status-badge { background: #dcfce7; color: #166534; padding: 5px 14px; border-radius: 50px; font-size: 0.85rem; font-weight: 600; }
.status-warning { background: #fef08a; color: #854d0e; }
.status-danger { background: #fee2e2; color: #b91c1c; }

.flight-time { font-size: 0.9rem; color: #888888; display: flex; align-items: center; gap: 6px; margin-top: 10px; font-weight: 500;}
.flight-time i { color: #0066CC; }
.weather-badge {
    display: inline-flex; align-items: center; gap: 8px; background: #f8fafc; border: 1px solid #e1e8f0;
    padding: 8px 15px; border-radius: 50px; font-size: 0.85rem; color: #555555; margin-top: 12px; font-weight: 500;
}
.weather-badge i { color: #0066CC; }


.btn-outline-primary {
    display: inline-flex; align-items: center; gap: 10px; background: #ffffff; padding: 16px 30px;
    border-radius: 50px; font-weight: 700; color: #0066CC; border: 2px solid #e1e8f0; font-size: 1.05rem;
    transition: all 0.3s ease; text-decoration: none; cursor: pointer;
}
.btn-outline-primary:hover { border-color: #0066CC; background: #f8fafc; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 102, 204, 0.1); }

@media (max-width: 1024px) {
    .travel-section { margin: 60px 20px 0 20px; }
}

@media (max-width: 768px) {
    .travel-section { 
        padding: 0; 
        margin: 40px 0; 
    }
    .travel-container { 
        flex-direction: column; 
        gap: 30px; 
    }
    .travel-alerts, .travel-bullets { 
        width: 100%; 
        padding: 0 15px; 
    }
    .info-section-header { 
        margin-bottom: 25px; 
        padding: 0 5px;
    }
    .info-section-title { font-size: 1.8rem; }
    
    .alert-card { 
        padding: 20px; 
        flex-direction: column; 
        gap: 15px;
        border-radius: 15px;
    }
    .bullet-item { 
        padding: 20px; 
        flex-direction: column; 
        text-align: center;
        border-radius: 15px;
    }
    .plane-status { 
        flex-direction: column; 
        gap: 10px; 
        align-items: center; 
    }
    .plane-route { justify-content: center; font-size: 1.15rem; }
    .flight-time { justify-content: center; }
}

@media (max-width: 480px) {
    .info-section-title { font-size: 1.5rem; }
    .alert-title { font-size: 1.1rem; }
}


.travelinfo-airline-icon {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #00acc1, #00bcd4, #26c6da);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0, 188, 212, 0.35);
}

.travelinfo-airline-icon i {
    font-size: 1.5rem;
    color: #ffffff;
}

/* ==== page-5-tourism.css ==== */

.tourism-section {
    font-family: 'Montserrat', sans-serif;
    margin: 60px 40px;
    padding: 0;
    background: transparent;
    position: relative;
}

.tourism-container {
    display: flex;
    flex-direction: column;
    gap: 70px;
    max-width: 1400px;
    margin: 40px auto 0;
    padding: 0 40px;
}


.section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 32px;
    border-bottom: 2px solid #e8edf5;
    padding-bottom: 20px;
}

.section-header-left h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a2942;
    margin-bottom: 4px;
}

.section-header-left p {
    color: #888888;
    font-size: 0.95rem;
}

.experience-counter {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #e3f2fd;
    color: #1e88e5;
    padding: 7px 18px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.82rem;
    border: 1px solid #bbdefb;
}


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

.aventure-card {
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-top: 4px solid #1e88e5;
    border-radius: 14px;
    padding: 30px 24px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.aventure-card:hover {
    border-top-color: #f26522;
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(30,136,229,0.12);
}

.aventure-icon {
    width: 54px;
    height: 54px;
    background: #e3f2fd;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin-bottom: 20px;
    color: #1e88e5;
}

.aventure-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a2942;
    margin-bottom: 10px;
}

.aventure-desc {
    color: #666666;
    line-height: 1.6;
    font-size: 0.88rem;
    margin-bottom: 20px;
    flex-grow: 1;
}

.aventure-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid #e8edf5;
}

.meta-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.78rem;
    color: #1e88e5;
    font-weight: 600;
    background: #e3f2fd;
    padding: 3px 10px;
    border-radius: 20px;
}


.saisons-carousel {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.saison-card {
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 28px 20px;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.saison-card:hover {
    border-color: #1e88e5;
    transform: translateY(-6px);
    box-shadow: 0 14px 30px rgba(30,136,229,0.12);
}

.saison-emoji {
    width: 52px;
    height: 52px;
    background: #e3f2fd;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    color: #1e88e5;
    margin: 0 auto 16px;
}

.saison-name { font-size: 1rem; font-weight: 700; color: #1a2942; margin-bottom: 14px; }

.saison-activite {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 0.82rem;
    color: #555555;
    margin-bottom: 7px;
    font-weight: 500;
}

.saison-activite i { color: #1e88e5; }

.saison-temp {
    display: inline-block;
    padding: 5px 14px;
    background: #e3f2fd;
    color: #1565c0;
    border-radius: 30px;
    font-size: 0.8rem;
    font-weight: 700;
    margin-top: 14px;
}


.hiver-section {
    background: transparent;
    border-radius: 0;
    padding: 0;
    position: relative;
}

.hiver-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 32px;
    border-bottom: 2px solid #e8edf5;
    padding-bottom: 20px;
}

.hiver-icon {
    width: 56px;
    height: 56px;
    background: #e3f2fd;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #1e88e5;
}

.hiver-title { font-size: 1.5rem; font-weight: 700; color: #1a2942; margin: 0; }
.hiver-sub { font-size: 0.9rem; color: #888888; margin-top: 3px; }

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

.hiver-activity-card {
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-top: 4px solid #1e88e5;
    border-radius: 14px;
    padding: 28px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.hiver-activity-card:hover {
    border-top-color: #f26522;
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(30,136,229,0.12);
}

.activity-icon-big {
    width: 54px;
    height: 54px;
    background: #e3f2fd;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #1e88e5;
    margin-bottom: 18px;
}

.activity-name { font-size: 1rem; font-weight: 700; color: #1a2942; margin-bottom: 10px; }
.activity-desc { color: #666666; line-height: 1.6; font-size: 0.85rem; margin-bottom: 18px; }

.activity-difficulte {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.78rem;
    font-weight: 700;
    color: #1e88e5;
    border-top: 1px solid #e8edf5;
    padding-top: 16px;
}

.difficulty-stars { color: #f9a52c; letter-spacing: 2px; }

.snow-decoration {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: #e3f2fd;
    color: #1565c0;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-top: 12px;
}

.btn-hiver-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #1e88e5, #1565c0);
    color: #ffffff;
    padding: 14px 36px;
    border-radius: 50px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    margin-top: 40px;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(30,136,229,0.3);
}

.btn-hiver-cta:hover {
    background: linear-gradient(135deg, #f26522, #e84c10);
    box-shadow: 0 8px 24px rgba(242,101,34,0.35);
    transform: translateY(-2px);
    color: #ffffff;
}


.stats-footer {
    padding: 30px 0;
    border-top: 2px solid #e8edf5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}

.stat-tag { font-weight: 700; color: #555555; font-size: 0.9rem; display: flex; align-items: center; gap: 8px; }
.stat-tag span { color: #1e88e5; }


.tourism-eco-icon {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #43a047, #66bb6a);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(67,160,71,0.3);
}

.tourism-eco-icon i {
    font-size: 1.4rem;
    color: #ffffff;
}


@media (max-width: 1200px) {
    .aventures-grid, .hiver-grid { grid-template-columns: repeat(2, 1fr); }
    .saisons-carousel { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
    .tourism-section { margin: 40px 20px; }
}

@media (max-width: 768px) {
    .tourism-section { margin: 30px 0; }
    .tourism-container { gap: 50px; padding: 0 16px; }
    .section-header { flex-direction: column; align-items: flex-start; gap: 12px; }
    .aventures-grid, .hiver-grid, .saisons-carousel { grid-template-columns: 1fr !important; gap: 16px; }
    .hiver-header { flex-direction: column; align-items: flex-start; }
    .btn-hiver-cta { width: 100%; justify-content: center; padding: 14px 20px; }
    .stats-footer { flex-direction: column; gap: 20px; }
}

/* ==== business-tourism.css ==== */
﻿


.bt-section {
    background: #f8f9fc;
}

.bt-body {
    max-width: 1400px;
    margin: 0 auto;
    padding: 60px 40px;
}

.resto-header-main.bt-header-main {
    display: grid;
    grid-template-columns: 460px minmax(0, 1fr) 460px;
    align-items: center;
    gap: 12px;
}

.resto-header-main.bt-header-main .resto-header-center {
    grid-column: 2;
    width: 100%;
    text-align: center;
}

.resto-header-main.bt-header-main .resto-header-logo-right {
    grid-column: 3;
    justify-self: end;
    width: 460px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
}

.bt-next-level-image {
    display: block;
    width: clamp(180px, 18vw, 280px);
    height: auto;
}


.bt-header-dest-row {
    justify-content: center;
    width: 100%;
    margin-top: 10px;
}

.bt-header-dest-row .resto-dest-icon-box {
    margin-right: 14px;
}

.bt-header-dest-row .resto-dest-breadcrumb {
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
}

.bt-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 230px;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    text-decoration: none;
    background: #1a3a8f;
    padding: 14px 26px;
    border-radius: 999px;
    white-space: nowrap;
    transition: background 0.2s ease, transform 0.2s ease;
}

.bt-more-btn:hover {
    background: #0f235f;
    transform: translateY(-1px);
}


.bt-dual-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-bottom: 48px;
}


.bt-card {
    background: #fff;
    border: 1px solid #e8ecf0;
    border-radius: 20px;
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.bt-card:hover {
    box-shadow: 0 16px 48px rgba(0,0,0,0.08);
    transform: translateY(-4px);
}

.bt-card-top {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}
.bt-icon-box {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    background: rgba(26, 58, 143, 0.07);
    color: #1a3a8f;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}



.bt-icon-image-box {
    width: clamp(72px, 8vw, 108px);
    height: clamp(72px, 8vw, 108px);
    padding: 6px;
    background: #fff;
    border: 1px solid #eef1f5;
}

.bt-icon-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.bt-icon-tourisme {
    background: rgba(0, 174, 154, 0.08);
    color: #00ae9a;
}

.bt-card-title {
    font-size: 20px;
    font-weight: 800;
    color: #0a1628;
    margin: 0 0 6px;
}

.bt-card-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.65;
    margin: 0;
}


.bt-features {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid #f0f2f5;
}

.bt-features li {
    padding: 10px 0;
    font-size: 13.5px;
    font-weight: 600;
    color: #444;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #f0f2f5;
}

.bt-features li i {
    color: #00c9b7;
    font-size: 15px;
    flex-shrink: 0;
}


.bt-carousel {
    flex: 1;
}

.bt-carousel-stage {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    border-radius: 14px;
    overflow: hidden;
    background: #0a1628;
    transition: opacity 0.2s ease;
}

.bt-carousel-stage.bt-carousel-fade { opacity: 0; }

.bt-carousel-preview {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.bt-carousel-stage:hover .bt-carousel-preview { transform: scale(1.03); }

.bt-carousel-stage iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    z-index: 5;
}


.bt-carousel-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255,255,255,0.92);
    border: none;
    color: #1a3a8f;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease;
    z-index: 3;
}

.bt-carousel-play:hover {
    background: #fff;
    transform: translate(-50%, -50%) scale(1.12);
}


.bt-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(10,22,40,0.55);
    border: none;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
    transition: background 0.2s ease, transform 0.2s ease;
}

.bt-carousel-prev { left: 12px; }
.bt-carousel-next { right: 12px; }

.bt-carousel-arrow:hover {
    background: #1a3a8f;
    transform: translateY(-50%) scale(1.1);
}


.bt-carousel-counter {
    position: absolute;
    bottom: 40px;
    right: 12px;
    background: rgba(10,22,40,0.6);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    z-index: 4;
    letter-spacing: 0.5px;
}


.bt-carousel-title-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(10,22,40,0.85));
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 20px 14px 10px;
    z-index: 4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.bt-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all 0.25s ease;
    align-self: flex-start;
}

.bt-cta-primary {
    background: #1a3a8f;
    color: #fff;
}
.bt-cta-primary:hover { background: #0a1628; color: #d4af37; }

.bt-cta-secondary {
    background: transparent;
    color: #1a3a8f;
    border: 2px solid #1a3a8f;
}
.bt-cta-secondary:hover { background: #1a3a8f; color: #fff; }


.bt-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.bt-stat-unit {
    background: #fff;
    border: 1px solid #e8ecf0;
    border-radius: 16px;
    padding: 28px 20px;
    text-align: center;
    transition: all 0.3s ease;
}

.bt-stat-unit:hover {
    border-color: #1a3a8f;
    box-shadow: 0 8px 24px rgba(26,58,143,0.08);
}

.bt-stat-number {
    display: block;
    font-size: 34px;
    font-weight: 900;
    color: #1a3a8f;
    margin-bottom: 4px;
}

.bt-stat-label {
    font-size: 11px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
}


@media (max-width: 1100px) {
    .bt-dual-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .resto-header-main.bt-header-main {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .resto-header-main.bt-header-main .resto-header-center,
    .resto-header-main.bt-header-main .resto-header-logo-right {
        grid-column: auto;
        justify-self: center;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .bt-body { padding: 40px 20px; }
    .bt-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .bt-card { padding: 24px; }
    .bt-vthumb { width: 100px; }
    .bt-vthumb img { height: 56px; }
}

@media (max-width: 480px) {
    .bt-stats-grid { grid-template-columns: 1fr 1fr; }
    .bt-card-top { flex-direction: column; }
.bt-icon-box {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    background: rgba(26, 58, 143, 0.07);
    color: #1a3a8f;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}
}




/* ==== multilingual-grid.css ==== */


.multilingual-v2-section {
    background: #fff;
    font-family: Montserrat, sans-serif;
}

.mlg-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px;
}

.lang-grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-top: 40px;
}


.lang-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 20px;
    padding: 35px 20px;
    text-align: center;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.lang-card:hover {
    transform: translateY(-10px);
    border-color: #008080;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}


.lang-status-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.lang-status-badge.principale { background: #8e44ad; }
.lang-status-badge.populaire { background: #1abc9c; }
.lang-status-badge.nouveau { background: #e67e22; }
.lang-status-badge.prochaine { background: #795548; }


.flag-circle {
    width: 90px;
    height: 90px;
    margin: 0 auto 25px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border: 3px solid #fff;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
}

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


.lang-card h3 {
    font-size: 22px;
    font-weight: 800;
    color: #333;
    margin-bottom: 15px;
}

.lang-card p {
    font-size: 13px;
    color: #777;
    line-height: 1.6;
    margin-bottom: 25px;
    min-height: 48px;
}


.lang-select-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 12px 20px;
    border: 2px solid #008080;
    border-radius: 50px;
    background: transparent;
    color: #008080;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.lang-select-btn:hover {
    background: #008080;
    color: #fff;
}

.lang-select-btn.selected {
    background: #eafffa;
    color: #008080;
    border-color: #008080;
}

.lang-select-btn.selected i {
    background: #008080;
    color: #fff;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}


.enterprise-footer-note {
    margin-top: 50px;
    padding-top: 30px;
    border-top: 1px solid #f0f0f0;
    text-align: center;
}

.note-box {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: #f8fcfd;
    padding: 15px 40px;
    border-radius: 50px;
    border: 1px solid #e0f2f1;
    font-weight: 700;
    color: #006064;
}

.note-box i { font-size: 20px; color: #00838f; }



@media (max-width: 1200px) {
    .lang-grid-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .mlg-container {
        padding: 32px 20px;
    }
}

@media (max-width: 600px) {
    .lang-grid-container {
        grid-template-columns: 1fr;
    }
    
    .mlg-container {
        padding: 24px 14px;
    }
}

/* ==== news-section.css ==== */


.news-v2-section {
    background: #fff;
    font-family: Montserrat, sans-serif;
}

.news-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px;
}


.news-explore-divider {
    margin: 56px 0 32px;
    text-align: center;
}

.news-explore-divider h2 {
    font-size: 22px;
    font-weight: 800;
    color: #1a3a8f;
    margin-bottom: 8px;
}

.news-explore-divider p {
    font-size: 14px;
    color: #94a3b8;
}


.news-articles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}

.news-article-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.news-article-card:hover {
    transform: translateY(-10px);
    border-color: #d32f2f;
    box-shadow: 0 15px 35px rgba(0,0,0,0.08);
}

.news-article-image {
    height: 200px;
    background: #f8f9fa;
    position: relative;
    overflow: hidden;
}

.news-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-region-badge {
    position: absolute;
    bottom: 0;
    left: 0;
    background: #1a3a8f;
    color: #fff;
    padding: 6px 15px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    border-top-right-radius: 12px;
}

.news-article-body {
    padding: 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.news-category {
    font-size: 11px;
    font-weight: 800;
    color: #d32f2f;
    text-transform: uppercase;
    margin-bottom: 10px;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.news-article-body h3 {
    font-size: 19px;
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: 15px;
    color: #0a1628;
}

.news-article-body p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

.news-article-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}

.news-time {
    font-size: 12px;
    color: #aaa;
    font-weight: 600;
}

.news-read-btn {
    color: #1a3a8f;
    font-weight: 800;
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
}

.news-read-btn:hover { color: #d32f2f; }



.news-region-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.region-explore-card {
    position: relative;
    height: 250px;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: none;
    background-size: cover;
    background-position: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    color: #fff;
    padding: 30px;
}


.region-explore-card.africa { background-image: url('https://images.unsplash.com/photo-1547471080-7cc2caa01a7e?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }
.region-explore-card.europe { background-image: url('https://images.unsplash.com/photo-1467269204594-9661b134dd2b?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }
.region-explore-card.asia { background-image: url('https://images.unsplash.com/photo-1480796275306-21808064ae3e?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }
.region-explore-card.americas { background-image: url('https://images.unsplash.com/photo-1485738422979-f5c462d49f74?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }

.region-explore-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(10, 22, 40, 0.2) 0%, rgba(10, 22, 40, 0.85) 100%);
    transition: background 0.3s ease;
    z-index: 1;
}

.region-explore-card:hover {
    transform: translateY(-8px) scale(1.02);
}

.region-explore-card:hover::before {
    background: linear-gradient(to bottom, rgba(211, 47, 47, 0.2) 0%, rgba(10, 22, 40, 0.95) 100%);
}

.region-explore-card h4 {
    font-size: 24px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 10px;
    z-index: 2;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.region-count {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 25px;
    background: rgba(255, 255, 255, 0.15);
    padding: 8px 16px;
    border-radius: 50px;
    z-index: 2;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.region-explore-btn {
    width: auto;
    min-width: 130px;
    padding: 12px 25px;
    border: 2px solid #fff;
    color: #fff;
    background: transparent;
    border-radius: 50px;
    font-weight: 800;
    font-size: 11px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 2;
}

.region-explore-btn:hover {
    background: #fff;
    color: #1a3a8f;
}


@media (max-width: 1024px) {
    .news-articles-grid { grid-template-columns: repeat(2, 1fr); }
    .news-region-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .news-articles-grid { grid-template-columns: 1fr; }
    .news-container { padding: 32px 20px; }
}

@media (max-width: 480px) {
    .news-region-grid { grid-template-columns: 1fr; }
    .news-container { padding: 24px 14px; }
}

/* ==== web-services.css ==== */


.web-services-v2-section {
    background: #fff;
    font-family: Montserrat, sans-serif;
}

.ws-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px;
}


.ws-cta-final {
    margin-top: 80px;
    text-align: center;
    background: #1a3a8f;
    padding: 60px 40px;
    border-radius: 24px;
    color: #fff;
}

.ws-cta-title {
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 20px;
    color: #fff;
}

.ws-cta-desc {
    font-size: 16px;
    opacity: 0.9;
    max-width: 700px;
    margin: 0 auto 40px;
    line-height: 1.7;
}

.ws-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    color: #1a3a8f;
    padding: 14px 32px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.25s ease;
    letter-spacing: 0.5px;
}

.ws-cta-btn:hover {
    background: #eff6ff;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}


.web-badge-pro {
    display: inline-block;
    background: rgba(26, 58, 143, 0.05);
    color: #1a3a8f;
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(26, 58, 143, 0.1);
}


.web-carousels-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}

.web-carousel-box {
    background: #fcfcfc;
    border: 1px solid #eee;
    border-radius: 24px;
    padding: 30px;
    transition: all 0.4s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 500px;
}

.web-carousel-box:hover {
    border-color: #1a3a8f;
    box-shadow: 0 20px 50px rgba(0,0,0,0.05);
    transform: translateY(-5px);
}

.web-carousel-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}

.web-carousel-icon {
    width: 50px;
    height: 50px;
    background: #1a3a8f;
    color: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.web-carousel-header h2 {
    font-size: 18px;
    font-weight: 800;
    color: #0a1628;
    line-height: 1.2;
}

.web-carousel-header h2 span {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: #888;
    margin-top: 4px;
}


.web-carousel-content {
    position: relative;
    flex-grow: 1;
    overflow: hidden;
}

.web-inner-item {
    text-align: center;
    padding: 20px 10px;
}

.web-item-circle {
    width: 100px;
    height: 100px;
    margin: 0 auto 20px;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    background: #fff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.web-item-circle img { width: 100%; height: 100%; object-fit: cover; }
.web-item-circle i { font-size: 40px; color: #1a3a8f; }

.web-item-name { font-size: 20px; font-weight: 800; color: #1a3a8f; margin-bottom: 8px; }
.web-item-sub { font-size: 13px; font-weight: 600; color: #666; margin-bottom: 15px; }
.web-item-tag { 
    display: inline-block;
    padding: 5px 15px;
    background: #f0f0f0;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
}


.web-editor-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-top: 100px;
    align-items: center;
    background: #f8fbfd;
    padding: 60px;
    border-radius: 30px;
    border: 1px solid #e0f2f1;
}

.web-editor-text h3 {
    font-size: 28px;
    font-weight: 900;
    color: #1a3a8f;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.ai-pill {
    background: #d32f2f;
    color: #fff;
    font-size: 10px;
    padding: 4px 12px;
    border-radius: 50px;
    letter-spacing: 1px;
}

.web-editor-text p {
    font-size: 15px;
    color: #555;
    line-height: 1.8;
    margin-bottom: 25px;
}

.web-editor-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.web-ef-unit {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    padding: 15px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    color: #333;
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}

.web-ef-unit i { color: #1a3a8f; }


.web-browser-ui {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 30px 60px rgba(0,0,0,0.1);
    overflow: hidden;
}

.ui-head {
    background: #f1f3f4;
    padding: 12px 20px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.ui-dot { width: 10px; height: 10px; border-radius: 50%; }
.red { background: #ff5f56; } .yellow { background: #ffbd2e; } .green { background: #27c93f; }

.ui-url {
    background: #fff;
    flex-grow: 1;
    margin-left: 15px;
    border-radius: 4px;
    height: 24px;
    font-size: 10px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    color: #aaa;
}

.ui-content { padding: 40px; text-align: center; }


.web-services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-top: 80px;
}

.web-service-card {
    position: relative;
    height: 300px;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px;
    background-size: cover;
    background-position: center;
    border: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    color: #fff;
    cursor: pointer;
}


.web-service-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(10, 22, 40, 0.1) 0%, rgba(10, 22, 40, 0.9) 100%);
    z-index: 1;
}

.web-service-card:hover {
    transform: translateY(-10px) scale(1.02);
}

.web-service-card:hover::before {
    background: linear-gradient(to bottom, rgba(211, 47, 47, 0.2) 0%, rgba(10, 22, 40, 0.95) 100%);
}


.web-service-card.blog { background-image: url('https://images.unsplash.com/photo-1499750310107-5fef28a66643?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }
.web-service-card.forms { background-image: url('https://images.unsplash.com/photo-1517048676732-d65bc937f952?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }
.web-service-card.cta { background-image: url('https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }
.web-service-card.seo { background-image: url('https://images.unsplash.com/photo-1432888498266-38ffec3eaf0a?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }
.web-service-card.phone { background-image: url('https://images.unsplash.com/photo-1523966211575-eb4a01e7dd51?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }
.web-service-card.lang { background-image: url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }
.web-service-card.video { background-image: url('https://images.unsplash.com/photo-1492724441997-5dc865305da7?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }
.web-service-card.api { background-image: url('https://images.unsplash.com/photo-1551288049-bbdac8a28a1e?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80'); }

.web-service-card i {
    position: absolute;
    top: 25px;
    left: 25px;
    font-size: 28px;
    color: rgba(255, 255, 255, 0.9);
    z-index: 2;
    background: rgba(10, 22, 40, 0.4);
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(5px);
}

.web-service-card h4 {
    position: relative;
    z-index: 2;
    font-size: 18px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.web-service-card p {
    position: relative;
    z-index: 2;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
    margin: 0;
}

.web-service-card .tech-badge {
    position: absolute;
    top: 25px;
    right: 25px;
    background: #d32f2f;
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 800;
    z-index: 2;
    letter-spacing: 0.5px;
}




@media (max-width: 1100px) {
    .web-carousels-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}


@media (max-width: 991px) {
    .ws-container {
        padding: 36px 24px;
    }

    .web-carousels-grid {
        grid-template-columns: 1fr;
    }

    .web-carousel-box {
        min-height: auto;
    }

    .web-editor-block {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 40px 25px;
    }

    .web-editor-text {
        text-align: center;
    }

    .web-editor-text h3 {
        justify-content: center;
    }

    .web-editor-features {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }

    .web-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 768px) {
    .ws-container {
        padding: 28px 16px;
    }

    .ws-cta-final {
        padding: 40px 20px;
    }

    .ws-cta-title {
        font-size: 20px;
    }

    .web-editor-text h3 {
        font-size: 20px;
        flex-direction: column;
        gap: 10px;
    }

    .web-service-card {
        padding: 20px;
    }

    .web-service-card i {
        font-size: 24px;
    }

    .web-service-card h4 {
        font-size: 14px;
    }

    .web-service-card p {
        font-size: 12px;
    }

}


@media (max-width: 480px) {
    .web-services-grid {
        grid-template-columns: 1fr;
    }

    .web-item-name {
        font-size: 18px;
    }

    .ui-content h4 {
        font-size: 18px !important;
    }

    .design-bosse-more-btn {
        width: 100%;
        justify-content: center;
        padding: 15px !important;
    }
}


/* ==== agency-section.css ==== */


.agency-v2-section {
    background: #fff;
    font-family: Montserrat, sans-serif;
}

.agency-v2-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px;
}


.agency-header-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    border: 2px solid #3b82f6;
    border-radius: 8px;
    background: transparent;
    color: #3b82f6;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    margin-left: 6px;
    white-space: nowrap;
}

.agency-header-more-btn:hover {
    background: #3b82f6;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(59,130,246,0.3);
}


.agency-v2-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}


.agency-v2-info-card {
    background: #f8fafc; 
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    border: 1px solid #f1f5f9;
}

.agency-v2-brand {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.agency-v2-logo-box {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #1a3a8f 0%, #2d5cc2 100%);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 28px;
    box-shadow: 0 8px 16px rgba(26, 58, 143, 0.2);
}

.agency-v2-brand-text h2 {
    font-size: 24px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

.agency-v2-brand-text p {
    font-size: 14px;
    color: #64748b;
    margin: 4px 0 0 0;
}

.agency-v2-description {
    margin-bottom: 30px;
}

.agency-v2-description h3 {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 15px;
}

.agency-v2-description p {
    font-size: 16px;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 15px;
}

.agency-v2-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.agency-v2-features li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #334155;
    font-weight: 600;
}

.agency-v2-features li i {
    color: #0ea5e9;
    font-size: 16px;
}


.agency-v2-form-card {
    background: #f8fafc; 
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.05);
    position: relative;
    border: 1px solid #f1f5f9;
}

.agency-v2-form-title {
    font-size: 24px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 30px;
    text-align: center;
}

.agency-v2-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.agency-v2-input-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.agency-v2-input-group.full {
    grid-column: span 2;
}

.agency-v2-input-group label {
    font-size: 14px;
    font-weight: 600;
    color: #475569;
}

.agency-v2-input-group input,
.agency-v2-input-group select {
    padding: 12px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: 15px;
    color: #1e293b;
    transition: all 0.3s ease;
    background-color: #ffffff;
}

.agency-v2-input-group input:focus,
.agency-v2-input-group select:focus {
    outline: none;
    border-color: #1a3a8f;
    background-color: #ffffff;
    box-shadow: 0 0 0 4px rgba(26, 58, 143, 0.1);
}

.agency-v2-submit-btn {
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, #1a3a8f 0%, #2d5cc2 100%);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 10px 20px rgba(26, 58, 143, 0.2);
}

.agency-v2-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(26, 58, 143, 0.3);
    filter: brightness(1.1);
}


.agency-v2-footer-content {
    margin-top: 40px;
}

.agency-v2-plans-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.agency-v2-plan-item {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 20px;
    border-radius: 16px;
    text-align: center;
    transition: all 0.3s ease;
}

.agency-v2-plan-item:hover {
    background: #ffffff;
    border-color: #1a3a8f;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
    transform: translateY(-4px);
}

.agency-v2-plan-icon {
    width: 40px;
    height: 40px;
    background: #f8fafc;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    color: #1a3a8f;
    font-size: 18px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.agency-v2-plan-item h4 {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 8px;
}

.agency-v2-plan-item p {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}


.agency-v2-stats {
    display: flex;
    justify-content: center;
    gap: 0;
    margin-top: 24px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
}

.agency-v2-stat-unit {
    flex: 1;
    text-align: center;
    padding: 24px 20px;
    border-right: 1px solid #e2e8f0;
}

.agency-v2-stat-unit:last-child {
    border-right: none;
}

.agency-v2-stat-value {
    display: block;
    font-size: 32px;
    font-weight: 900;
    color: #1e293b;
    margin-bottom: 4px;
    line-height: 1;
}

.agency-v2-stat-label {
    font-size: 12px;
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


@media (max-width: 1024px) {
    .agency-v2-content {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .agency-v2-container {
        padding: 32px 20px;
    }

    .agency-header-more-btn {
        display: none;
    }

    .agency-v2-info-card,
    .agency-v2-form-card {
        padding: 25px 20px;
        border-radius: 20px;
    }

    .agency-v2-title {
        font-size: 26px;
    }

    .agency-v2-subtitle {
        font-size: 15px;
    }

    .agency-v2-features {
        grid-template-columns: 1fr;
    }

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

    .agency-v2-input-group.full {
        grid-column: span 1;
    }

    .agency-v2-plans-grid {
        grid-template-columns: 1fr;
    }

    .agency-v2-stats {
        flex-direction: row;
        justify-content: space-around;
        gap: 20px;
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .agency-v2-container {
        padding: 24px 14px;
    }

    .agency-v2-info-card,
    .agency-v2-form-card {
        padding: 20px 15px;
    }

    .agency-v2-title {
        font-size: 22px;
    }

    .agency-v2-stats {
        flex-direction: column;
        gap: 15px;
    }

    .agency-v2-stat-value {
        font-size: 28px;
    }

    .agency-v2-brand {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }

    .agency-v2-logo-box {
        margin: 0 auto;
    }
}

/* ==== partners-master.css ==== */



:root {
    --pm-blue:       #3b82f6;
    --pm-blue-dark:  #1d4ed8;
    --pm-blue-light: #eff6ff;
    --pm-navy:       #0a1628;
    --pm-navy-mid:   #1a3a8f;
    --pm-gray-bg:    #f8fafc;
    --pm-border:     #e2e8f0;
    --pm-text:       #1e293b;
    --pm-muted:      #64748b;
}

.pm-section {
    background: #fff;
    font-family: Montserrat, sans-serif;
}


.pm-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.25s ease;
    font-family: Montserrat, sans-serif;
    white-space: nowrap;
}

.pm-btn-primary {
    background: var(--pm-blue);
    color: #fff;
    border-color: var(--pm-blue);
}

.pm-btn-primary:hover {
    background: var(--pm-blue-dark);
    border-color: var(--pm-blue-dark);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(59,130,246,0.35);
}

.pm-btn-outline {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,0.5);
}

.pm-btn-outline:hover {
    background: rgba(255,255,255,0.12);
    border-color: #fff;
    color: #fff;
}

.pm-btn-light {
    background: var(--pm-blue-light);
    color: var(--pm-blue);
    border-color: #bfdbfe;
}

.pm-btn-light:hover {
    background: var(--pm-blue);
    color: #fff;
    border-color: var(--pm-blue);
    transform: translateY(-2px);
}

.pm-btn-outline-white {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,0.5);
}

.pm-btn-outline-white:hover {
    background: rgba(255,255,255,0.15);
    border-color: #fff;
    color: #fff;
}

.pm-btn-lg {
    padding: 16px 32px;
    font-size: 15px;
    border-radius: 10px;
}


.pm-section-label {
    display: inline-block;
    background: var(--pm-blue-light);
    color: var(--pm-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 14px;
}

.pm-section-title {
    font-size: 30px;
    font-weight: 900;
    color: var(--pm-text);
    margin: 0 0 14px;
    line-height: 1.2;
    text-align: center;
}

.pm-section-title--left {
    text-align: left;
}

.pm-section-desc {
    font-size: 15px;
    color: var(--pm-muted);
    line-height: 1.7;
    text-align: center;
    max-width: 560px;
    margin: 0 auto;
}


.pm-hero-banner {
    background: linear-gradient(135deg, var(--pm-navy) 0%, var(--pm-navy-mid) 60%, #2d5cc2 100%);
    padding: 64px 48px;
}

.pm-hero-content {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.pm-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59,130,246,0.25);
    color: #93c5fd;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 20px;
    margin-bottom: 20px;
}

.pm-hero-title {
    font-size: 34px;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    margin: 0 0 18px;
}

.pm-hero-desc {
    font-size: 15px;
    color: rgba(255,255,255,0.75);
    line-height: 1.7;
    margin: 0 0 28px;
}

.pm-hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.pm-hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.pm-hero-stat {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    padding: 28px 20px;
    text-align: center;
    backdrop-filter: blur(4px);
    transition: background 0.25s;
}

.pm-hero-stat:hover {
    background: rgba(255,255,255,0.14);
}

.pm-hero-stat-value {
    display: block;
    font-size: 36px;
    font-weight: 900;
    color: #fff;
    line-height: 1;
    margin-bottom: 8px;
}

.pm-hero-stat-label {
    font-size: 12px;
    color: rgba(255,255,255,0.65);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


.pm-plans-wrap {
    background: var(--pm-gray-bg);
    padding: 72px 48px;
}

.pm-plans-header {
    text-align: center;
    margin-bottom: 52px;
}

.pm-plans-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    max-width: 1100px;
    margin: 0 auto;
}

.pm-plan-card {
    background: #fff;
    border: 2px solid var(--pm-border);
    border-radius: 20px;
    padding: 36px 30px;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    transition: all 0.3s ease;
}

.pm-plan-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(0,0,0,0.09);
}

.pm-plan-featured {
    border-color: var(--pm-blue);
    box-shadow: 0 16px 40px rgba(59,130,246,0.18);
    transform: translateY(-4px);
}

.pm-plan-featured:hover {
    transform: translateY(-10px);
    box-shadow: 0 28px 56px rgba(59,130,246,0.25);
}

.pm-plan-ribbon {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--pm-blue);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 5px 18px;
    border-radius: 20px;
    white-space: nowrap;
}

.pm-plan-badge {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 20px;
    align-self: flex-start;
}

.pm-badge-partner  { background: #f1f5f9; color: #475569; }
.pm-badge-master   { background: var(--pm-blue-light); color: var(--pm-blue); }
.pm-badge-exploria { background: #0a1628; color: #fff; }

.pm-plan-icon {
    width: 56px;
    height: 56px;
    background: var(--pm-blue-light);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: var(--pm-blue);
    margin-bottom: 18px;
}

.pm-plan-featured .pm-plan-icon {
    background: var(--pm-blue);
    color: #fff;
}

.pm-plan-name {
    font-size: 22px;
    font-weight: 900;
    color: var(--pm-text);
    margin: 0 0 10px;
}

.pm-plan-desc {
    font-size: 14px;
    color: var(--pm-muted);
    line-height: 1.6;
    margin: 0 0 24px;
}

.pm-plan-features {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.pm-plan-features li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--pm-text);
    font-weight: 600;
}

.pm-plan-features li i.fa-check {
    color: var(--pm-blue);
    font-size: 12px;
    flex-shrink: 0;
}

.pm-plan-feat-off {
    opacity: 0.4;
}

.pm-plan-feat-off i.fa-times {
    color: #94a3b8 !important;
}


.pm-features-wrap {
    background: #fff;
    padding: 72px 48px;
}

.pm-features-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
}

.pm-feature-item {
    display: flex;
    gap: 18px;
    padding: 22px;
    background: var(--pm-gray-bg);
    border: 1px solid var(--pm-border);
    border-radius: 14px;
    margin-bottom: 16px;
    transition: all 0.25s ease;
}

.pm-feature-item:last-child {
    margin-bottom: 0;
}

.pm-feature-item:hover {
    border-color: var(--pm-blue);
    box-shadow: 0 6px 20px rgba(59,130,246,0.1);
    transform: translateX(4px);
}

.pm-icon-box {
    width: 52px;
    height: 52px;
    background: var(--pm-blue-light);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pm-blue);
    font-size: 20px;
    flex-shrink: 0;
}

.pm-feat-info h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--pm-text);
    margin: 0 0 6px;
}

.pm-feat-info p {
    font-size: 13px;
    color: var(--pm-muted);
    line-height: 1.6;
    margin: 0;
}


.pm-dashboard-card {
    background: linear-gradient(160deg, var(--pm-navy) 0%, var(--pm-navy-mid) 100%);
    border-radius: 24px;
    padding: 36px;
    color: #fff;
    box-shadow: 0 24px 60px rgba(10,22,40,0.22);
}

.pm-dash-header {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 28px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}

.pm-dash-live {
    margin-left: auto;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 5px;
    color: #4ade80;
    text-transform: none;
    letter-spacing: 0;
}

.pm-dash-live i {
    font-size: 8px;
    animation: pm-blink 1.4s infinite;
}

@keyframes pm-blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.3; }
}

.pm-dash-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 24px;
}

.pm-metric {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
    padding: 18px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pm-metric-val {
    font-size: 26px;
    font-weight: 900;
    color: #fff;
    line-height: 1;
}

.pm-metric-lbl {
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.pm-metric-trend {
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
}

.pm-metric-trend.up      { color: #4ade80; }
.pm-metric-trend.neutral { color: rgba(255,255,255,0.5); }

.pm-dash-cta {
    width: 100%;
    justify-content: center;
    margin-bottom: 24px;
    padding: 14px;
    border-radius: 10px;
}

.pm-dash-advantages {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 14px;
    padding: 22px;
}

.pm-dash-advantages h4 {
    font-size: 13px;
    font-weight: 800;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.pm-dash-advantages h4 i {
    color: #fbbf24;
}

.pm-dash-advantages ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pm-dash-advantages li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: rgba(255,255,255,0.8);
    line-height: 1.5;
}

.pm-dash-advantages li i {
    color: #60a5fa;
    font-size: 13px;
    margin-top: 2px;
    flex-shrink: 0;
}


.pm-trust-wrap {
    padding: 52px 48px;
    text-align: center;
  
}

.pm-trust-label {
    font-size: 12px;
    font-weight: 800;
    color: var(--pm-muted);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 28px;
}

.pm-trust-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 16px;
    max-width: 1100px;
    margin: 0 auto;
}

.pm-trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 20px 12px;
    background: #fff;
    border: 1px solid var(--pm-border);
    border-radius: 14px;
    font-size: 11px;
    font-weight: 700;
    color: var(--pm-muted);
    transition: all 0.25s;
}

.pm-trust-item:hover {
    border-color: var(--pm-blue);
    color: var(--pm-blue);
    box-shadow: 0 4px 16px rgba(59,130,246,0.12);
    transform: translateY(-3px);
}

.pm-trust-item i {
    font-size: 24px;
    color: var(--pm-navy-mid);
}

.pm-trust-item:hover i {
    color: var(--pm-blue);
}


.pm-cta-final {
    background: linear-gradient(135deg, var(--pm-blue) 0%, var(--pm-navy-mid) 100%);
    padding: 72px 48px;
    text-align: center;
}

.pm-cta-inner {
    max-width: 680px;
    margin: 0 auto;
}

.pm-cta-title {
    font-size: 32px;
    font-weight: 900;
    color: #fff;
    margin: 0 0 16px;
    line-height: 1.2;
}

.pm-cta-desc {
    font-size: 15px;
    color: rgba(255,255,255,0.8);
    line-height: 1.7;
    margin: 0 0 36px;
}

.pm-cta-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}


@media (max-width: 1100px) {
    .pm-trust-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 900px) {
    .pm-hero-content      { grid-template-columns: 1fr; gap: 40px; }
    .pm-hero-stats        { grid-template-columns: repeat(4, 1fr); }
    .pm-plans-grid        { grid-template-columns: 1fr; max-width: 480px; }
    .pm-plan-featured     { transform: none; }
    .pm-features-container{ grid-template-columns: 1fr; }
    .pm-hero-banner,
    .pm-plans-wrap,
    .pm-features-wrap,
    .pm-trust-wrap,
    .pm-cta-final         { padding: 52px 28px; }
}

@media (max-width: 640px) {
    .pm-hero-stats  { grid-template-columns: 1fr 1fr; }
    .pm-trust-grid  { grid-template-columns: repeat(2, 1fr); }
    .pm-dash-metrics{ grid-template-columns: 1fr 1fr; }
    .pm-hero-title  { font-size: 26px; }
    .pm-section-title { font-size: 22px; }
}

@media (max-width: 480px) {
    .pm-hero-stats  { grid-template-columns: 1fr 1fr; gap: 12px; }
    .pm-hero-stat-value { font-size: 28px; }
    .pm-dash-metrics{ grid-template-columns: 1fr; }
    .pm-cta-title   { font-size: 24px; }
}

/* ==== real-estate.css ==== */


.immo-v2-section {
    background: #fff;
    font-family: Montserrat, sans-serif;
}

.immo-v2-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px;
}


.immo-header-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    border: 2px solid #3b82f6;
    border-radius: 8px;
    background: transparent;
    color: #3b82f6;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    margin-left: 6px;
    white-space: nowrap;
}

.immo-header-more-btn:hover {
    background: #3b82f6;
    color: #fff;
    box-shadow: 0 6px 16px rgba(59,130,246,0.3);
}


.immo-v2-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 60px;
}


.immo-v2-card {
    background: #ffffff;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #f1f5f9;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.immo-v2-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 25px 50px rgba(15, 23, 42, 0.1);
    border-color: #cbd5e1;
}

.immo-v2-card-img {
    position: relative;
    height: 260px;
    overflow: hidden;
}

.immo-v2-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.immo-v2-card:hover .immo-v2-card-img img {
    transform: scale(1.1);
}

.immo-v2-img-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(8px);
    padding: 8px 18px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 12px;
    color: #1a3a8f;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 2;
}

.immo-v2-card-content {
    padding: 30px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.immo-v2-card-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #1e293b;
}

.immo-v2-location {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #64748b;
    font-weight: 500;
    margin-bottom: 20px;
    font-size: 14px;
}

.immo-v2-location i {
    color: #ef4444;
}

.immo-v2-features {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 25px;
    padding: 15px 0;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
}

.immo-v2-feature-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #475569;
    font-size: 13px;
}

.immo-v2-feature-item i {
    color: #1a3a8f;
    font-size: 16px;
}

.immo-v2-price {
    font-size: 20px;
    font-weight: 800;
    color: #1a3a8f;
    margin-bottom: 12px;
    letter-spacing: -0.3px;
}

.immo-v2-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: auto;
    background: #0f172a;
    color: #ffffff;
    padding: 12px 24px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.immo-v2-btn:hover {
    background: #1a3a8f;
    transform: scale(1.05);
}


.immo-v2-agent-cta {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 35px;
    padding: 30px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 30px;
}

.immo-v2-agent-info {
    display: flex;
    align-items: center;
    gap: 25px;
}

.immo-v2-agent-img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.immo-v2-agent-details h4 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 4px;
    color: #0f172a;
}

.immo-v2-agent-details p {
    font-size: 15px;
    color: #64748b;
    margin: 0;
}

.immo-v2-contact-btn {
    background: linear-gradient(135deg, #1a3a8f 0%, #2d5cc2 100%);
    color: #ffffff;
    padding: 16px 40px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 10px 20px rgba(26, 58, 143, 0.2);
}

.immo-v2-contact-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(26, 58, 143, 0.3);
}




@media (max-width: 1200px) {
    .immo-v2-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}


@media (max-width: 1024px) {
    .immo-v2-container {
        padding: 40px 24px;
    }

    .immo-v2-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 22px;
        margin-bottom: 40px;
    }

    .immo-v2-card {
        border-radius: 22px;
    }

    .immo-v2-card-img {
        height: 220px;
    }

    .immo-v2-card-content {
        padding: 22px;
    }

    .immo-v2-card-title {
        font-size: 20px;
    }
}


@media (max-width: 768px) {
    .immo-v2-container {
        padding: 28px 16px;
    }

    .immo-header-more-btn {
        display: none;
    }

    .immo-v2-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        margin-bottom: 32px;
    }

    .immo-v2-card {
        border-radius: 18px;
    }

    .immo-v2-card-img {
        height: 170px;
    }

    .immo-v2-img-badge {
        top: 12px;
        left: 12px;
        padding: 6px 12px;
        font-size: 10px;
    }

    .immo-v2-card-content {
        padding: 16px;
    }

    .immo-v2-price {
        font-size: 17px;
        margin-bottom: 8px;
    }

    .immo-v2-card-title {
        font-size: 17px;
        margin-bottom: 6px;
    }

    .immo-v2-location {
        font-size: 12px;
        margin-bottom: 12px;
    }

    .immo-v2-features {
        gap: 10px;
        padding: 10px 0;
        margin-bottom: 16px;
    }

    .immo-v2-feature-item {
        font-size: 11px;
        gap: 5px;
    }

    .immo-v2-feature-item i {
        font-size: 13px;
    }

    .immo-v2-btn {
        padding: 10px 16px;
        font-size: 12px;
        gap: 6px;
    }

    
    .immo-v2-agent-cta {
        flex-direction: column;
        text-align: center;
        padding: 24px 18px;
        border-radius: 20px;
        gap: 20px;
    }

    .immo-v2-agent-info {
        flex-direction: column;
        gap: 14px;
        width: 100%;
    }

    .immo-v2-agent-img {
        width: 82px;
        height: 82px;
    }

    .immo-v2-agent-details h4 {
        font-size: 18px;
    }

    .immo-v2-agent-details p {
        font-size: 13px;
    }

    .immo-v2-contact-btn {
        width: 100%;
        text-align: center;
        padding: 13px 20px;
        font-size: 14px;
    }
}


@media (max-width: 560px) {
    .immo-v2-container {
        padding: 22px 12px;
    }

    .immo-v2-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .immo-v2-card {
        border-radius: 16px;
    }

    .immo-v2-card-img {
        height: 200px;
    }

    .immo-v2-card-content {
        padding: 18px;
    }

    .immo-v2-card-title {
        font-size: 19px;
    }

    .immo-v2-price {
        font-size: 19px;
    }

    .immo-v2-features {
        gap: 14px;
    }

    .immo-v2-feature-item {
        font-size: 12px;
    }

    .immo-v2-btn {
        font-size: 13px;
        padding: 11px 18px;
    }
}


@media (max-width: 380px) {
    .immo-v2-container {
        padding: 18px 10px;
    }

    .immo-v2-card-img {
        height: 180px;
    }

    .immo-v2-card-content {
        padding: 14px;
    }

    .immo-v2-features {
        gap: 10px;
    }

    .immo-v2-agent-img {
        width: 72px;
        height: 72px;
    }
}

/* ==== restaurant-header.css ==== */
﻿


.resto-service-block,
.resto-service-block *,
.resto-service-block *::before,
.resto-service-block *::after {
    font-family: 'Montserrat', sans-serif;
}


.resto-service-block .fas,
.resto-service-block .fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}
.resto-service-block .fas::before,
.resto-service-block .fa-solid::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}
.resto-service-block .far,
.resto-service-block .fa-regular {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}
.resto-service-block .far::before,
.resto-service-block .fa-regular::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}
.resto-service-block .fab,
.resto-service-block .fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}
.resto-service-block .fab::before,
.resto-service-block .fa-brands::before {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}


.resto-service-block {
    width: calc(100% - 64px);
    max-width: 1600px;
    margin: 32px auto;
    font-family: 'Montserrat', sans-serif;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,0.1);
}

.resto-header-block {
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    background: #f8f8f8;
    position: relative;
    overflow: hidden;
}

.resto-header-block::before {
    content: none;
}


.resto-header-main {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 12px;
    padding: 18px 24px 16px;
    min-height: 100px;
}


.resto-header-logo-left,
.resto-header-logo-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.resto-header-logo-left .logo-wrapper,
.resto-header-logo-right .logo-wrapper {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid rgba(30,136,229,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
    flex-shrink: 0;
}

.resto-header-logo-left .logo-wrapper:hover,
.resto-header-logo-right .logo-wrapper:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 28px rgba(0,0,0,0.4);
}

.resto-header-logo-left .logo-wrapper img,
.resto-header-logo-right .logo-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding: 0;
}

.resto-logo-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(10,22,40,0.65);
    text-align: center;
    line-height: 1.3;
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}


.resto-accord-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    padding: 7px 10px;
    border: 1.5px solid #1e88e5;
    border-radius: 10px;
    background: rgba(30,136,229,0.06);
    cursor: pointer;
    transition: all 0.25s ease;
    max-width: 100%;
}

.resto-accord-btn:hover {
    background: rgba(30,136,229,0.14);
    border-color: #1565c0;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(30,136,229,0.25);
}

.resto-accord-btn-label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: rgba(10,22,40,0.65);
    text-align: center;
    line-height: 1.25;
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}

.resto-accord-btn-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #1e88e5;
    background: rgba(30,136,229,0.1);
    border: 1px solid rgba(30,136,229,0.3);
    border-radius: 20px;
    padding: 2px 8px;
    transition: background 0.2s ease;
    white-space: nowrap;
}

.resto-accord-btn:hover .resto-accord-btn-cta {
    background: #1e88e5;
    color: #ffffff;
    border-color: #1e88e5;
}

.resto-accord-btn--sm {
    padding: 5px 8px;
    gap: 3px;
}

.resto-accord-btn--sm .resto-accord-btn-label {
    font-size: 8px;
}

.resto-accord-btn--sm .resto-accord-btn-cta {
    font-size: 8px;
    padding: 2px 6px;
}


.resto-header-center {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
}


.resto-header-logo-left {
    display: none !important;
}

.resto-header-logo-right {
    grid-column: 3;
    justify-self: end;
    width: auto;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}

.resto-header-title {
    font-size: clamp(18px, 2.4vw, 28px);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #0a1628;
    line-height: 1.2;
    text-shadow: none;
    margin: 0;
}

.resto-header-subtitle {
    font-size: clamp(11px, 1.1vw, 14px);
    font-weight: 500;
    color: rgba(10,22,40,0.68);
    line-height: 1.55;
    max-width: 520px;
    margin: 0;
    text-shadow: none;
}


.resto-header-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    align-items: center;
}

.resto-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: rgba(10,22,40,0.12);
    color: #0a1628;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    transition: background 0.25s ease, color 0.25s ease;
    margin-right: 2px;
}

.resto-tab-btn.active .resto-tab-count {
    background: rgba(255,255,255,0.3);
    color: #ffffff;
}

.resto-tab-btn {
    padding: 6px 18px;
    border-radius: 20px;
    border: 2px solid rgba(10,22,40,0.28);
    background: rgba(255,255,255,0.55);
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    text-decoration: none !important;
}

.resto-tab-btn:hover {
    background: rgba(255,255,255,0.9);
    border-color: rgba(10,22,40,0.55);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    text-decoration: none !important;
}

.resto-tab-btn.active {
    background: #1e88e5;
    border-color: #1e88e5;
    color: #ffffff;
    box-shadow: 0 3px 14px rgba(30,136,229,0.45);
    text-decoration: none !important;
}

.resto-tab-btn:focus,
.resto-tab-btn:focus-visible,
.resto-tab-btn:active {
    text-decoration: none !important;
}


.resto-events-dropdown {
    position: relative;
    display: inline-flex;
}

.resto-events-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: linear-gradient(135deg, rgba(30,136,229,0.12), rgba(30,136,229,0.06));
    border-color: rgba(30,136,229,0.5);
    color: #1e88e5;
}

.resto-events-btn:hover {
    background: linear-gradient(135deg, rgba(30,136,229,0.22), rgba(30,136,229,0.1));
    border-color: #1e88e5;
    color: #1565c0;
}

.resto-events-dropdown.open .resto-events-btn {
    background: linear-gradient(135deg, rgba(30,136,229,0.22), rgba(30,136,229,0.1));
    border-color: #1e88e5;
}

.resto-events-chevron {
    font-size: 10px !important;
    transition: transform 0.25s ease;
}

.resto-events-dropdown.open .resto-events-chevron {
    transform: rotate(180deg);
}


.resto-events-menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 220px;
    background: #ffffff;
    border: 1px solid rgba(10,22,40,0.12);
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.15), 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    z-index: 200;
    animation: eventsMenuIn 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.resto-events-dropdown.open .resto-events-menu {
    display: block;
}

@keyframes eventsMenuIn {
    from { opacity: 0; transform: translateX(-50%) translateY(-6px) scale(0.96); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}

.resto-events-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
    border-bottom: 1px solid rgba(10,22,40,0.06);
}

.resto-events-item:last-child {
    border-bottom: none;
}

.resto-events-item i {
    width: 16px;
    text-align: center;
    color: #f26522;
    font-size: 13px;
    flex-shrink: 0;
}

.resto-events-item:hover {
    background: rgba(242,101,34,0.07);
    color: #f26522;
}

.resto-events-item:hover i {
    color: #f26522;
}


.resto-plans-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    background: linear-gradient(135deg, rgba(212,175,55,0.18), rgba(212,175,55,0.08));
    border: 1.5px solid rgba(212,175,55,0.6);
    border-radius: 6px;
    color: #d4af37;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.25s ease;
}

.resto-plans-btn:hover {
    background: linear-gradient(135deg, rgba(212,175,55,0.35), rgba(212,175,55,0.15));
    border-color: #d4af37;
    color: #f0c93a;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(212,175,55,0.3);
}

.resto-plans-btn i {
    font-size: 12px;
}


.resto-header-destinations-bar {
    position: relative;
    z-index: 1;
    background: rgba(10, 22, 40, 0.07);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 32px;
    border-top: 1px solid rgba(10,22,40,0.12);
}


.resto-dest-row {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    flex-wrap: wrap;
}


.resto-actions-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    width: 100%;
    flex-wrap: wrap;
    padding-top: 8px;
    border-top: 1px solid rgba(10,22,40,0.1);
}

.resto-dest-icon-box {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(242, 101, 34, 0.2);
    border: 1px solid rgba(242, 101, 34, 0.45);
    border-radius: 6px;
    padding: 6px 12px;
    flex-shrink: 0;
}

.resto-dest-icon-box img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.resto-dest-icon-box span {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #f26522;
}

.resto-dest-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.vp-dest-breadcrumb {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
}

.vp-dest-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-width: 150px;
    max-width: 210px;
    padding: 6px 28px 6px 10px;
    border: 1px solid rgba(10, 22, 40, 0.18);
    border-radius: 8px;
    background: #fff;
    color: #0a1628;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.vp-dest-select:focus {
    outline: none;
    border-color: #f26522;
    box-shadow: 0 0 0 2px rgba(242, 101, 34, 0.18);
}

.resto-dest-link {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #0a1628;
    text-decoration: none;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.resto-dest-link:hover,
.resto-dest-link.active {
    color: #f26522;
}

.resto-dest-link.active {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.resto-dest-sep {
    color: rgba(10,22,40,0.35);
    font-size: 14px;
    font-weight: 300;
}


.resto-header-ctas {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.resto-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 20px;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.resto-cta-btn.primary {
    background: #1e88e5;
    color: #ffffff;
    box-shadow: 0 3px 12px rgba(30,136,229,0.4);
}

.resto-cta-btn.primary:hover {
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(30,136,229,0.5);
}

.resto-cta-btn.secondary {
    background: rgba(30,136,229,0.08);
    color: #1565c0;
    border: 2px solid rgba(30,136,229,0.4);
}

.resto-cta-btn.secondary:hover {
    background: rgba(30,136,229,0.16);
    border-color: #1e88e5;
    color: #1e88e5;
    transform: translateY(-1px);
}

.resto-cta-btn .cta-plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: rgba(255,255,255,0.25);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
}


.resto-header-shimmer {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #f26522, #f26522, #d4af37, #f26522, #f26522);
    background-size: 300% 100%;
    animation: resto-shimmer 3s linear infinite;
}

@keyframes resto-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}


.resto-media-strip {
    display: block;
    background: #0e1a2e;
    position: relative;
    z-index: 1;
}








@media (max-width: 1024px) {
    .resto-header-main {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 20px 20px 16px;
    }

    .resto-header-logo-left .logo-wrapper,
    .resto-header-logo-right .logo-wrapper {
        width: 90px;
        height: 90px;
    }
}

@media (max-width: 768px) {
    
    .resto-service-block {
        width: 100%;
        margin: 0;
        border-radius: 0;
    }

    .resto-header-main {
        display: grid;
        grid-template-columns: 1fr;
        padding: 16px 14px 14px;
        gap: 10px;
        min-height: auto;
        align-items: center;
        justify-content: center;
    }

    .resto-header-center {
        grid-column: auto;
    }
    .resto-header-logo-left {
        display: none;
    }
    .resto-header-logo-right {
        grid-column: auto;
        justify-self: center;
        width: 100%;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .resto-header-logo-left .logo-wrapper,
    .resto-header-logo-right .logo-wrapper {
        width: 44px;
        height: 44px;
    }

    .resto-header-destinations-bar {
        padding: 10px 14px;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .resto-dest-row {
        flex-wrap: wrap;
        gap: 8px;
    }

    .resto-dest-breadcrumb {
        display: none;
    }

    .resto-dest-breadcrumb.vp-dest-breadcrumb {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
    }

    .vp-dest-select {
        min-width: 145px;
    }

    
    .resto-actions-row {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        padding-top: 8px;
        justify-content: flex-start;
    }

    .resto-header-ctas {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    .resto-cta-btn {
        flex: 1;
        min-width: 120px;
        justify-content: center;
    }

    .resto-plans-btn,
    .resto-events-nav-btn {
        width: 100%;
        justify-content: center;
    }

    
    .resto-lang-switcher {
        width: 100%;
    }

    .resto-lang-select {
        flex: 1;
        min-width: 0;
    }
}

@media (max-width: 480px) {
    .resto-header-tabs {
        gap: 5px;
    }

    .resto-tab-btn {
        font-size: 10px;
        padding: 5px 10px;
    }

    .resto-cta-btn {
        font-size: 11px;
        padding: 8px 12px;
    }

    .resto-header-title {
        font-size: 15px;
        letter-spacing: 1px;
    }

    .resto-header-subtitle {
        font-size: 11px;
    }

    
    .resto-events-grid {
        grid-template-columns: 1fr;
        padding: 16px 12px;
    }

    .resto-events-header {
        padding: 24px 14px 18px;
    }

    .resto-events-types-bar {
        padding: 12px 12px;
        gap: 6px;
    }

    .resto-event-type-btn {
        font-size: 11px;
        padding: 6px 12px;
    }

    
    .resto-plans-inner {
        padding: 40px 14px 32px;
    }

    .resto-plans-grid {
        gap: 14px;
    }

    .resto-plan-header {
        padding: 30px 18px 16px;
    }

    .resto-plan-features {
        padding: 16px 18px;
    }

    .resto-plan-cta {
        margin: 0 18px 18px;
    }

    .resto-plans-footer {
        flex-direction: column;
        gap: 14px;
        align-items: center;
    }
}


.resto-content-area {
    position: relative;
    z-index: 2;
    background: #f9fafb;
    padding: 32px;
}

.resto-content-inner {
    max-width: 1400px;
    margin: 0 auto;
}


.resto-filter-status {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    flex-wrap: wrap;
    width: 100%;
}

.resto-filter-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #666;
}

.resto-filter-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f26522;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 4px 14px;
    border-radius: 20px;
}

.resto-filter-badge.dest {
    background: #0a1628;
}

.resto-filter-count {
    font-size: 12px;
    font-weight: 600;
    color: #888;
    margin-left: auto;
}


.resto-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    min-height: 200px;
    width: 100%;
}


.resto-cards-grid-break {
    grid-column: 1 / -1;
    width: 100%;
    margin: 8px 0;
}


.resto-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
    display: flex;
    flex-direction: column;
}

.resto-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 32px rgba(0,0,0,0.14);
}

.resto-card.hidden {
    display: none;
}

.resto-card-img {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.resto-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

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

.resto-card-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.resto-badge {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 10px;
    border-radius: 4px;
    color: #fff;
    background: #f26522;
}

.resto-badge.cat-entrees      { background: #27ae60; }
.resto-badge.cat-mets         { background: #2980b9; }
.resto-badge.cat-desserts     { background: #8e44ad; }
.resto-badge.cat-vins         { background: #f26522; }
.resto-badge.cat-toutes       { background: #f26522; }

.resto-card-rating {
    position: absolute;
    bottom: 10px;
    right: 12px;
    background: rgba(0,0,0,0.65);
    color: #ffd700;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    backdrop-filter: blur(4px);
}

.resto-price-overlay {
    position: absolute;
    bottom: 10px;
    left: 12px;
    background: #f26522;
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
    padding: 4px 14px;
    border-radius: 6px;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.resto-card-subcategory {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #999;
}


.resto-card-body {
    padding: 18px 18px 14px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.resto-card-name {
    font-size: 16px;
    font-weight: 800;
    color: #0a1628;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.resto-card-dest {
    font-size: 11px;
    font-weight: 600;
    color: #f26522;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.resto-card-desc {
    font-size: 12px;
    color: #555;
    line-height: 1.6;
    margin: 0;
    flex: 1;
}

.resto-card-accord {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #7d3c98;
    background: #f5eef8;
    padding: 5px 10px;
    border-radius: 6px;
}


.resto-card-footer {
    padding: 12px 18px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #f0f0f0;
    gap: 10px;
}

.resto-card-price {
    font-size: 13px;
    font-weight: 800;
    color: #0a1628;
}

.resto-card-reserve-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #1e88e5;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.25s ease;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(30,136,229,0.3);
}

.resto-card-reserve-btn:hover {
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(30,136,229,0.45);
}


.resto-no-results {
    display: none;
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #999;
    font-size: 14px;
    font-weight: 600;
}

.resto-no-results i {
    display: block;
    font-size: 40px;
    margin-bottom: 12px;
    color: #ddd;
}


.resto-lang-switcher {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.resto-lang-switcher > i {
    color: rgba(10,22,40,0.5);
    font-size: 14px;
    flex-shrink: 0;
}

.resto-lang-select {
    appearance: none;
    -webkit-appearance: none;
    background: rgba(255,255,255,0.65);
    border: 1.5px solid rgba(10,22,40,0.22);
    border-radius: 6px;
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 28px 6px 10px;
    cursor: pointer;
    outline: none;
    transition: all 0.2s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(10,22,40,0.45)'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 9px center;
}

.resto-lang-select:hover {
    border-color: rgba(242,101,34,0.7);
    background-color: rgba(255,255,255,0.85);
}

.resto-lang-select:focus {
    border-color: #f26522;
    box-shadow: 0 0 0 2px rgba(242,101,34,0.2);
}

.resto-lang-select option {
    background: #ffffff;
    color: #0a1628;
    font-size: 13px;
}

.resto-lang-btn-REMOVED {
    background: transparent;
    border: none;
    padding: 4px 7px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.5);
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.2s ease;
    line-height: 1;
}

.resto-lang-btn-REMOVED:hover {
    color: #ffffff;
    background: rgba(255,255,255,0.1);
}

.resto-lang-sep-REMOVED {
    color: rgba(255,255,255,0.2);
    font-size: 12px;
    font-weight: 300;
    pointer-events: none;
}


.resto-events-nav-btn {
    background: #1e88e5;
    color: #ffffff;
    border: 1.5px solid #1e88e5 !important;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    box-shadow: 0 3px 10px rgba(30,136,229,0.3);
}

.resto-events-nav-btn:hover {
    background: #1565c0;
    border-color: #1565c0 !important;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(30,136,229,0.4);
}


.resto-section-std-header {
    position: relative;
    background: #ffffff;
    display: grid;
    grid-template-columns: 90px 1fr 90px;
    align-items: center;
    gap: 16px;
    padding: 16px 24px 14px;
    border-bottom: 1px solid rgba(10,22,40,0.1);
}

.resto-section-logo-left,
.resto-section-logo-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.logo-wrapper-xs {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.85);
    border: 2px solid rgba(10,22,40,0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 3px 14px rgba(0,0,0,0.1);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.logo-wrapper-xs:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 20px rgba(0,0,0,0.18);
}

.logo-wrapper-xs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.resto-section-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

.resto-section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #f26522;
}

.resto-section-title {
    font-size: clamp(15px, 2vw, 22px);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #0a1628;
    margin: 0;
    line-height: 1.2;
}

.resto-section-desc {
    font-size: 12px;
    font-weight: 500;
    color: rgba(10,22,40,0.65);
    line-height: 1.55;
    max-width: 520px;
    margin: 0;
}

.resto-section-std-shimmer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #f26522, #f9a52c, #d4af37, #f9a52c, #f26522);
    background-size: 300% 100%;
    animation: resto-shimmer 3s linear infinite;
}


@media (max-width: 768px) {
    .resto-section-std-header {
        display: flex;
        flex-wrap: wrap;
        padding: 18px 16px 16px;
        gap: 12px;
        text-align: center;
        align-items: center;
        justify-content: center;
    }
    .resto-section-center     { order: 1; flex: 0 0 100%; }
    .resto-section-logo-left  { order: 2; flex: 1; flex-direction: row; justify-content: center; gap: 8px; }
    .resto-section-logo-right { order: 2; flex: 1; flex-direction: row; justify-content: center; gap: 8px; }
    .logo-wrapper-xs { width: 44px; height: 44px; }
}


.resto-events-section {
    background: #f9fafb;
    font-family: 'Montserrat', sans-serif;
    padding: 0 0 48px;
}


.resto-events-header {
    text-align: center;
    padding: 48px 32px 32px;
    background: #ffffff;
    border-bottom: 1px solid rgba(10,22,40,0.08);
}

.resto-events-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #f26522;
    margin-bottom: 12px;
}

.resto-events-eyebrow i {
    font-size: 13px;
}

.resto-events-title {
    font-size: clamp(20px, 2.5vw, 30px);
    font-weight: 900;
    color: #0a1628;
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.resto-events-lead {
    font-size: 14px;
    color: rgba(10,22,40,0.6);
    margin: 0;
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.55;
}


.resto-events-types-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    -ms-overflow-style: none;
    background: #ffffff;
    border-bottom: 2px solid rgba(10,22,40,0.07);
    flex-wrap: nowrap;
    white-space: nowrap;
}

.resto-events-types-bar::-webkit-scrollbar { display: none; }

.resto-event-type-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 18px;
    border-radius: 22px;
    border: 1.5px solid rgba(10,22,40,0.2);
    background: transparent;
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.22s ease;
    flex-shrink: 0;
}

.resto-type-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: rgba(10,22,40,0.1);
    color: #0a1628;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    transition: background 0.22s ease, color 0.22s ease;
    flex-shrink: 0;
}

.resto-event-type-btn.active .resto-type-count {
    background: rgba(255,255,255,0.28);
    color: #ffffff;
}

.resto-event-type-btn i {
    font-size: 12px;
    color: #f26522;
    transition: color 0.22s ease;
}

.resto-event-type-btn:hover {
    border-color: #1e88e5;
    color: #1e88e5;
    background: rgba(30,136,229,0.06);
    transform: translateY(-1px);
}

.resto-event-type-btn:hover i {
    color: #1e88e5;
}

.resto-event-type-btn.active {
    background: #1e88e5;
    border-color: #1e88e5;
    color: #ffffff;
    box-shadow: 0 3px 12px rgba(30,136,229,0.38);
}

.resto-event-type-btn.active i {
    color: #ffffff;
}


.resto-events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
    padding: 32px;
    max-width: 1400px;
    margin: 0 auto;
}


.resto-event-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
    flex-direction: column;
}

.resto-event-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.13);
}

.resto-event-card.hidden {
    display: none;
}

.resto-event-card-img {
    position: relative;
    height: 180px;
    overflow: hidden;
    flex-shrink: 0;
}

.resto-event-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

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

.resto-event-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #f26522;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 4px 10px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.resto-event-card-body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.resto-event-card-title {
    font-size: 14px;
    font-weight: 800;
    color: #0a1628;
    margin: 0;
    line-height: 1.3;
}

.resto-event-card-desc {
    font-size: 12px;
    color: rgba(10,22,40,0.6);
    margin: 0;
    line-height: 1.5;
    flex: 1;
}

.resto-event-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 4px;
    gap: 10px;
}

.resto-event-card-price {
    font-size: 15px;
    font-weight: 900;
    color: #f26522;
}

.resto-event-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #1e88e5;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    cursor: pointer;
    transition: all 0.22s ease;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(30,136,229,0.3);
}

.resto-event-card-cta:hover {
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(30,136,229,0.4);
}


.resto-events-no-results {
    display: none;
    grid-column: 1 / -1;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 60px 20px;
    color: rgba(10,22,40,0.4);
    font-size: 14px;
    font-weight: 600;
    text-align: center;
}

.resto-events-no-results i {
    font-size: 40px;
    color: rgba(10,22,40,0.2);
}


@media (max-width: 768px) {
    .resto-events-grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        padding: 24px 16px;
    }
    .resto-events-header {
        padding: 32px 20px 24px;
    }
    .resto-events-types-bar {
        padding: 16px 16px;
    }
}


.resto-plans-section {
    background: #f9fafb;
    font-family: 'Montserrat', sans-serif;
}


.resto-plans-topbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 10px 32px;
    background: linear-gradient(90deg, #e84c10, #f26522 50%, #f9a52c);
    flex-wrap: wrap;
}

.resto-plans-topbar-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(0,0,0,0.2);
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 20px;
    padding: 3px 12px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #fff;
    white-space: nowrap;
}

.resto-plans-topbar-text {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.92);
}


.resto-plans-inner {
    max-width: 1340px;
    margin: 0 auto;
    padding: 72px 40px 64px;
}


.resto-plans-heading {
    text-align: center;
    margin-bottom: 52px;
}

.resto-plans-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #f26522;
    margin-bottom: 12px;
}

.resto-plans-title {
    font-size: clamp(26px, 3vw, 42px);
    font-weight: 900;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 16px;
    line-height: 1.15;
}

.resto-plans-highlight {
    color: #f26522;
}

.resto-plans-lead {
    font-size: 14px;
    color: rgba(255,255,255,0.55);
    line-height: 1.7;
    max-width: 640px;
    margin: 0 auto;
}


.resto-plans-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 48px;
}


.resto-plan-card {
    background: #ffffff;
    border: 1px solid rgba(10,22,40,0.1);
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.resto-plan-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 36px rgba(30,136,229,0.15);
}

.resto-plan-card.featured {
    background: linear-gradient(160deg, #e8f4fd, #f0f8ff);
    border-color: #1e88e5;
    box-shadow: 0 0 30px rgba(30,136,229,0.18);
    transform: translateY(-8px);
}

.resto-plan-card.featured:hover {
    transform: translateY(-14px);
}


.resto-plan-badge {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #e84c10, #f26522);
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 4px 20px;
    border-radius: 0 0 10px 10px;
    white-space: nowrap;
}


.resto-plan-header {
    padding: 40px 28px 24px;
    text-align: center;
    border-bottom: 1px solid rgba(10,22,40,0.08);
}

.resto-plan-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 14px;
    background: rgba(30,136,229,0.1);
    border: 1px solid rgba(30,136,229,0.25);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #1e88e5;
}

.resto-plan-card.featured .resto-plan-icon {
    background: rgba(30,136,229,0.18);
    border-color: #1e88e5;
}

.resto-plan-name {
    font-size: 18px;
    font-weight: 900;
    color: #0a1628;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.resto-plan-price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 3px;
    margin-bottom: 10px;
}

.resto-plan-amount {
    font-size: 44px;
    font-weight: 900;
    color: #f26522;
    line-height: 1;
}

.resto-plan-currency {
    font-size: 22px;
    font-weight: 700;
    color: #f26522;
}

.resto-plan-period {
    font-size: 13px;
    font-weight: 600;
    color: rgba(10,22,40,0.45);
}

.resto-plan-tagline {
    font-size: 12px;
    color: rgba(10,22,40,0.5);
    margin: 0;
    line-height: 1.5;
}


.resto-plan-features {
    list-style: none;
    margin: 0;
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.resto-plan-features li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(10,22,40,0.75);
}

.resto-plan-features li i.fa-check {
    color: #27ae60;
    font-size: 11px;
    flex-shrink: 0;
}

.resto-plan-feat-no {
    opacity: 0.38;
}

.resto-plan-feat-no i.fa-times {
    color: #f9a52c;
    font-size: 11px;
    flex-shrink: 0;
}


.resto-plan-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 28px 28px;
    padding: 13px 20px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.25s ease;
}

.resto-plan-cta.starter {
    background: rgba(30,136,229,0.07);
    border: 1.5px solid rgba(30,136,229,0.35);
    color: #1e88e5;
}

.resto-plan-cta.starter:hover {
    background: rgba(30,136,229,0.14);
    border-color: #1e88e5;
    transform: translateY(-1px);
}

.resto-plan-cta.pro {
    background: #1e88e5;
    color: #ffffff;
    box-shadow: 0 6px 20px rgba(30,136,229,0.35);
}

.resto-plan-cta.pro:hover {
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(30,136,229,0.45);
}

.resto-plan-cta.premium {
    background: rgba(30,136,229,0.12);
    border: 1.5px solid rgba(30,136,229,0.45);
    color: #1565c0;
}

.resto-plan-cta.premium:hover {
    background: rgba(30,136,229,0.22);
    border-color: #1e88e5;
    color: #1e88e5;
    transform: translateY(-1px);
}


.resto-plans-footer {
    text-align: center;
    padding-top: 16px;
    border-top: 1px solid rgba(10,22,40,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}

.resto-plans-footer p {
    font-size: 12px;
    color: rgba(10,22,40,0.45);
    margin: 0;
}

.resto-plans-contact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: rgba(30,136,229,0.07);
    border: 1.5px solid rgba(30,136,229,0.4);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #1e88e5;
    text-decoration: none;
    transition: all 0.25s ease;
}

.resto-plans-contact:hover {
    background: rgba(30,136,229,0.15);
    border-color: #1e88e5;
    transform: scale(1.02);
}


@media (max-width: 1024px) {
    .resto-plans-grid { grid-template-columns: repeat(2, 1fr); }
    .resto-plan-card.featured { transform: translateY(0); }
}

@media (max-width: 640px) {
    .resto-plans-grid { grid-template-columns: 1fr; }
    .resto-plans-inner { padding: 48px 20px 40px; }
    .resto-lang-switcher { margin-left: 8px; }
}


.resto-reservation-section {
    background: #ffffff;
    padding: 48px 32px;
    text-align: center;
    border-top: 1px solid rgba(10,22,40,0.08);
}

.resto-reservation-section h3 {
    font-size: 22px;
    font-weight: 900;
    color: #0a1628;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 10px;
}

.resto-reservation-section p {
    font-size: 13px;
    color: rgba(10,22,40,0.6);
    margin: 0 0 28px;
}

.resto-reservation-form {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    max-width: 680px;
    margin: 0 auto;
}

.resto-reservation-form select,
.resto-reservation-form input[type="date"],
.resto-reservation-form input[type="number"] {
    padding: 12px 16px;
    border: 2px solid rgba(10,22,40,0.18);
    background: #ffffff;
    color: #0a1628;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    flex: 1;
    min-width: 140px;
    outline: none;
    transition: border-color 0.2s ease;
}

.resto-reservation-form select option {
    background: #ffffff;
    color: #0a1628;
}

.resto-reservation-form select:focus,
.resto-reservation-form input:focus {
    border-color: #1e88e5;
}

.resto-reservation-submit {
    padding: 12px 28px;
    background: #1e88e5;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.resto-reservation-submit:hover {
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(30,136,229,0.5);
}


@media (max-width: 1280px) {
    .resto-cards-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1024px) {
    .resto-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .resto-content-area {
        padding: 24px 20px;
    }
}

@media (max-width: 600px) {
    .resto-cards-grid {
        grid-template-columns: 1fr;
    }
    .resto-content-area {
        padding: 20px 16px;
    }
    .resto-reservation-section {
        padding: 36px 16px;
    }
    .resto-reservation-form {
        flex-direction: column;
    }
}


@media (max-width: 768px) {
    .resto-header-destinations-bar {
        padding: 12px;
        gap: 10px;
    }

    .resto-dest-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .resto-dest-icon-box {
        width: 100% !important;
        max-width: 240px !important;
        justify-self: center !important;
        justify-content: center !important;
        min-width: 0 !important;
    }

    .resto-dest-breadcrumb,
    .resto-dest-breadcrumb.vp-dest-breadcrumb,
    .vp-dest-breadcrumb {
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .resto-dest-sep {
        display: none !important;
    }

    .vp-dest-select,
    .resto-dest-select {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 40px !important;
        font-size: 12px !important;
        white-space: normal !important;
    }
}

@media (min-width: 769px) and (max-width: 1100px) {
    .resto-dest-row {
        align-items: stretch !important;
    }

    .resto-dest-breadcrumb.vp-dest-breadcrumb,
    .vp-dest-breadcrumb {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .resto-dest-sep {
        display: none !important;
    }

    .vp-dest-select,
    .resto-dest-select {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}


/* ==== resa-modal.css ==== */



.goexp-resa-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(5, 12, 28, 0.82);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 99990;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.goexp-resa-overlay.open {
    display: flex;
}


.goexp-resa-box {
    background: #ffffff;
    border: 1px solid rgba(10,22,40,0.1);
    border-radius: 14px;
    width: 100%;
    max-width: 540px;
    padding: 32px 36px 28px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.18), 0 0 0 1px rgba(30,136,229,0.1);
    animation: resaModalIn 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    max-height: 90vh;
    overflow-y: auto;
}

@keyframes resaModalIn {
    from { opacity: 0; transform: scale(0.88) translateY(20px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}


.goexp-resa-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 4px;
}

.goexp-resa-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.goexp-resa-icon.table-type {
    background: rgba(30,136,229,0.1);
    border: 1.5px solid rgba(30,136,229,0.35);
    color: #1e88e5;
}

.goexp-resa-icon.wine-type {
    background: rgba(30,136,229,0.1);
    border: 1.5px solid rgba(30,136,229,0.35);
    color: #1e88e5;
}

.goexp-resa-titles {
    flex: 1;
    min-width: 0;
}

.goexp-resa-titles h3 {
    margin: 0 0 3px;
    font-size: 17px;
    font-weight: 800;
    color: #0a1628;
    line-height: 1.2;
}

.goexp-resa-titles p {
    margin: 0;
    font-size: 12px;
    color: rgba(10,22,40,0.5);
}

.goexp-resa-close-btn {
    background: rgba(10,22,40,0.06);
    border: 1px solid rgba(10,22,40,0.14);
    color: rgba(10,22,40,0.5);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.goexp-resa-close-btn:hover {
    background: rgba(30,136,229,0.12);
    border-color: rgba(30,136,229,0.4);
    color: #1e88e5;
}


.goexp-resa-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(30,136,229,0.35), rgba(30,136,229,0.2), transparent);
    margin: 18px 0;
}


.goexp-resa-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.goexp-resa-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.goexp-resa-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.goexp-resa-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: rgba(10,22,40,0.55);
}

.goexp-resa-input,
.goexp-resa-select,
.goexp-resa-textarea {
    background: #f8f9fb;
    border: 1.5px solid rgba(10,22,40,0.15);
    border-radius: 8px;
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    padding: 10px 14px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
    box-sizing: border-box;
}

.goexp-resa-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(10,22,40,0.4)'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 34px;
    cursor: pointer;
    background-color: #f8f9fb;
}

.goexp-resa-select option {
    background: #ffffff;
    color: #0a1628;
}

.goexp-resa-textarea {
    resize: vertical;
    min-height: 72px;
}

.goexp-resa-input:focus,
.goexp-resa-select:focus,
.goexp-resa-textarea:focus {
    border-color: #1e88e5;
    box-shadow: 0 0 0 3px rgba(30,136,229,0.12);
    background: #ffffff;
}

.goexp-resa-input.selection-field {
    color: rgba(10,22,40,0.6);
    font-style: italic;
    cursor: default;
}


.goexp-resa-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 28px;
    background: #1e88e5;
    border: none;
    border-radius: 8px;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 4px;
    box-shadow: 0 4px 14px rgba(30,136,229,0.35);
}

.goexp-resa-submit:hover {
    background: #1565c0;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(30,136,229,0.45);
}


.goexp-resa-success {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 24px 0 12px;
    text-align: center;
}

.goexp-resa-success.show {
    display: flex;
}

.goexp-resa-success-icon {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, rgba(34,197,94,0.2), rgba(34,197,94,0.1));
    border: 2px solid rgba(34,197,94,0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: #22c55e;
    animation: resaSuccessPop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes resaSuccessPop {
    from { transform: scale(0); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}

.goexp-resa-success h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #0a1628;
}

.goexp-resa-success p {
    margin: 0;
    font-size: 13px;
    color: rgba(10,22,40,0.55);
    line-height: 1.5;
}


@media (max-width: 560px) {
    .goexp-resa-box {
        padding: 24px 20px 20px;
        border-radius: 10px;
    }

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

    .goexp-resa-titles h3 {
        font-size: 15px;
    }
}

/* ==== nos-plans.css ==== */
.nos-plans-section {
    position: relative;
    width: 100%;
    padding: 28px 0 56px;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}

.nos-plans-container {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
}

.nos-plans-header-block {
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    background: #f8f8f8;
    position: relative;
    overflow: hidden;
}

.nos-plans-header-block::before {
    content: none;
}

.nos-plans-header-main {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 18px 24px 16px;
    min-height: 100px;
}

.nos-plans-header-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.nos-plans-header-left .resto-accord-btn .logo-wrapper {
    width: 100px;
    height: auto;
}

.nos-plans-header-left .resto-accord-btn .logo-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}

.nos-plans-header-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
}

.nos-plans-header-title {
    font-size: clamp(20px, 2.6vw, 32px);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #0a1628;
    line-height: 1.2;
    text-shadow: none;
    margin: 0;
}

.nos-plans-header-subtitle {
    font-size: clamp(12px, 1.2vw, 15px);
    font-weight: 500;
    color: rgba(10, 22, 40, 0.68);
    line-height: 1.55;
    max-width: 520px;
    margin: 0;
    text-shadow: none;
}

.nos-plans-header-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    align-items: center;
}

.nos-plans-tab-btn {
    padding: 6px 18px;
    border-radius: 20px;
    border: 2px solid rgba(10, 22, 40, 0.28);
    background: rgba(255, 255, 255, 0.55);
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.nos-plans-tab-btn:hover {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(10, 22, 40, 0.55);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}

.nos-plans-tab-btn.active {
    background: #1e88e5;
    border-color: #1e88e5;
    color: #ffffff;
    box-shadow: 0 3px 14px rgba(30, 136, 229, 0.45);
}

.nos-plans-tab-btn.active .resto-tab-count {
    background: rgba(255, 255, 255, 0.3);
    color: #ffffff;
}

.nos-plans-header-image {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 100px;
    width: 160px;
    min-width: 100px;
}

.nos-plans-header-image img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 3px 8px rgba(17, 47, 98, 0.2));
}

.nos-plans-empty {
    margin-top: 18px;
    padding: 22px;
    border: 1px dashed #bfd2f5;
    border-radius: 14px;
    background: #f9fbff;
    color: #2f4b7a;
    text-align: center;
    font-weight: 600;
}

.nos-plans-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.nos-plan-panel {
    border: 1px solid #dbe7fb;
    border-left: 4px solid #123f8d;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 5px 14px rgba(11, 33, 73, 0.06);
    display: grid;
    padding: 16px;
    gap: 12px;
    align-content: start;
    box-sizing: border-box;
    overflow: hidden;
}

.nos-plan-panel-head,
.nos-plan-summary,
.nos-plan-metrics,
.nos-plan-columns,
.nos-plan-destinations,
.nos-plan-plugins,
.nos-plan-actions {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.nos-plan-panel-head {
    text-align: center;
}

.nos-plan-name {
    margin: 0;
    color: #0f254f;
    font-size: 24px;
    line-height: 1.2;
}

.nos-plan-head-badges {
    margin-top: 8px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
}

.nos-plan-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 9px;
    background: #f9d665;
    color: #243f6a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
}

.nos-plan-badge-soft {
    background: #eef3fe;
    color: #2d4a76;
}

.nos-plan-summary {
    display: grid;
    gap: 10px;
}

.nos-plan-description {
    margin: 0;
    color: #324a72;
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.nos-plan-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.nos-plan-tag {
    display: inline-flex;
    align-items: center;
    border: 1px solid #dbe7fb;
    border-radius: 999px;
    padding: 4px 8px;
    background: #eef3fe;
    color: #324d7b;
    font-size: 12px;
    font-weight: 700;
}

.nos-plan-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.nos-plan-metric {
    border: 1px solid #e2ecfc;
    border-radius: 10px;
    background: #f7faff;
    padding: 8px 10px;
}

.nos-plan-metric-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #5a6f93;
    text-transform: uppercase;
    letter-spacing: 0.25px;
}

.nos-plan-metric-value {
    display: block;
    margin-top: 4px;
    color: #0f2d61;
    font-size: 17px;
    font-weight: 700;
}

.nos-plan-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.nos-plan-block {
    border: 1px solid #e2ecfc;
    border-radius: 10px;
    background: #fbfdff;
    padding: 10px;
    display: grid;
    gap: 8px;
}

.nos-plan-detail-line {
    margin: 0;
    color: #2f4161;
    font-size: 14px;
    line-height: 1.45;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.nos-plan-detail-line strong {
    color: #122f61;
}

.nos-plan-points {
    margin: 0;
    padding-left: 18px;
    color: #334b74;
    font-size: 14px;
    line-height: 1.45;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.nos-plan-subtitle {
    margin: 0 0 8px;
    color: #12305f;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.nos-plan-dest-empty {
    margin: 0;
    color: #5e7294;
    font-size: 14px;
}

.nos-plan-dest-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.nos-plan-dest-chip {
    display: inline-flex;
    flex-direction: column;
    border-radius: 10px;
    border: 1px solid #dce7fb;
    background: #f8faff;
    color: #24406d;
    padding: 6px 8px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

.nos-plan-dest-chip small {
    margin-top: 2px;
    color: #5f7599;
    font-size: 12px;
    font-weight: 600;
}

.nos-plugin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 12px;
    width: min(860px, 100%);
    margin: 0 auto;
}

.nos-plugin-card {
    border: 1px solid #d9e6fc;
    border-radius: 10px;
    background: linear-gradient(135deg, #f7fbff 0%, #eef5ff 100%);
    padding: 14px;
    min-height: 132px;
    box-sizing: border-box;
    min-width: 0;
    overflow: hidden;
}

.nos-plugin-card:nth-child(3n + 2) {
    background: linear-gradient(135deg, #fff7ef 0%, #ffe8cf 100%);
}

.nos-plugin-card:nth-child(3n + 3) {
    background: linear-gradient(135deg, #eefbf5 0%, #dbf7e8 100%);
}

.nos-plugin-card:nth-child(6n + 4) {
    background: linear-gradient(135deg, #f3f1ff 0%, #e8e3ff 100%);
}

.nos-plugin-card:nth-child(6n + 5) {
    background: linear-gradient(135deg, #eef8ff 0%, #dff1ff 100%);
}

.nos-plugin-card:nth-child(6n + 6) {
    background: linear-gradient(135deg, #fff3f7 0%, #ffe1ec 100%);
}

.nos-plugin-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nos-plugin-icon {
    color: #1f4f9a;
    font-size: 20px;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nos-plugin-name {
    color: #13305e;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.nos-plugin-desc {
    margin: 7px 0 0;
    color: #51698f;
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.nos-plan-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.nos-plan-plugins {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.nos-plan-plugins .nos-plan-subtitle,
.nos-plan-plugins .nos-plan-dest-empty {
    width: 100%;
    text-align: center;
}

.nos-plan-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #123f8d;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    line-height: 1;
    white-space: nowrap;
    padding: 11px 14px;
    transition: background 0.2s ease;
}

.nos-plan-btn:hover {
    background: #0d2f69;
}

.nos-plan-btn-secondary {
    background: #ffffff;
    color: #123f8d;
    border: 1px solid #c9d9f7;
}

.nos-plan-btn-secondary:hover {
    background: #eef4ff;
}

.nos-plans-grid > .nos-plan-panel:only-child {
    grid-column: 1 / -1;
    max-width: 980px;
    width: 100%;
    justify-self: center;
}

@media (max-width: 1100px) {
    .nos-plans-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1024px) {
    .nos-plans-header-main {
        grid-template-columns: auto 1fr auto;
        padding: 20px 20px 16px;
    }
}

@media (max-width: 760px) {
    .nos-plans-header-main {
        display: flex;
        flex-wrap: wrap;
        padding: 16px 14px 14px;
        gap: 10px;
        min-height: auto;
        align-items: center;
        justify-content: center;
    }

    .nos-plans-header-center {
        order: 1;
        flex: 0 0 100%;
    }

    .nos-plans-header-left {
        order: 2;
        flex: 1;
        flex-direction: row;
        justify-content: center;
    }

    .nos-plans-header-image {
        order: 2;
        flex: 0 0 100px;
        justify-content: center;
        width: 100px;
        min-width: 100px;
    }

    .nos-plans-header-image img {
        max-width: 100%;
    }

    .nos-plan-metrics {
        grid-template-columns: 1fr;
    }

    .nos-plan-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .nos-plans-header-tabs {
        gap: 5px;
    }

    .nos-plans-tab-btn {
        font-size: 11px;
        padding: 5px 10px;
    }

    .nos-plans-header-title {
        font-size: 17px;
        letter-spacing: 1px;
    }

    .nos-plans-header-subtitle {
        font-size: 12px;
    }
}

/* ==== footer.css ==== */



:root {
    --footer-bg-dark: #0a1628;
    --footer-bg-medium: #1a2942;
    --footer-text-primary: #ffffff;
    --footer-text-secondary: rgba(255, 255, 255, 0.7);
    --footer-accent: #d4af37;
    --footer-accent-hover: #f0c14b;
}


.footer-v2 {
    background: linear-gradient(180deg, #0a1628 0%, #050d1a 100%);
    color: var(--footer-text-primary);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    margin-top: 60px;
}

.footer-v2-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}



.footer-v2-newsletter {
    background: linear-gradient(135deg, #1a2942 0%, #0a1628 100%);
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
    padding: 60px 0;
}

.footer-v2-newsletter-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.footer-v2-newsletter-text {
    flex: 1;
}

.footer-v2-newsletter-title {
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 10px 0;
    color: var(--footer-text-primary);
    letter-spacing: -0.5px;
}

.footer-v2-newsletter-subtitle {
    font-size: 16px;
    color: var(--footer-text-secondary);
    margin: 0;
    line-height: 1.6;
}

.footer-v2-newsletter-form {
    flex: 1;
    display: flex;
    gap: 12px;
    max-width: 500px;
}

.footer-v2-newsletter-input {
    flex: 1;
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: var(--footer-text-primary);
    font-size: 15px;
    transition: all 0.3s ease;
}

.footer-v2-newsletter-input:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--footer-accent);
}

.footer-v2-newsletter-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.footer-v2-newsletter-btn {
    padding: 16px 32px;
    background: var(--footer-accent);
    color: #0a1628;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.footer-v2-newsletter-btn:hover {
    background: var(--footer-accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.3);
}

.footer-v2-newsletter-btn svg {
    transition: transform 0.3s ease;
}

.footer-v2-newsletter-btn:hover svg {
    transform: translateX(4px);
}



.footer-v2-main {
    padding: 80px 0 60px;
}

.footer-v2-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1.2fr;
    gap: 60px;
}


.footer-v2-brand {
    padding-right: 40px;
}

.footer-v2-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    margin-bottom: 24px;
}

.footer-v2-logo-img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.footer-v2-logo-text {
    display: flex;
    flex-direction: column;
}

.footer-v2-logo-name {
    font-size: 24px;
    font-weight: 800;
    color: var(--footer-text-primary);
    letter-spacing: -0.5px;
}

.footer-v2-logo-location {
    font-size: 11px;
    font-weight: 500;
    color: var(--footer-accent);
    letter-spacing: 1.5px;
    margin-top: 2px;
}

.footer-v2-description {
    font-size: 14px;
    line-height: 1.8;
    color: var(--footer-text-secondary);
    margin: 0 0 30px 0;
}


.footer-v2-social {
    display: flex;
    gap: 12px;
}

.footer-v2-social-link {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: var(--footer-text-secondary);
    transition: all 0.3s ease;
}

.footer-v2-social-link:hover {
    background: var(--footer-accent);
    border-color: var(--footer-accent);
    color: #0a1628;
    transform: translateY(-4px);
}


.footer-v2-column-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--footer-text-primary);
    margin: 0 0 24px 0;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.footer-v2-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-v2-links li {
    margin-bottom: 14px;
}

.footer-v2-link {
    color: var(--footer-text-secondary);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-block;
    position: relative;
}

.footer-v2-link::before {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--footer-accent);
    transition: width 0.3s ease;
}

.footer-v2-link:hover {
    color: var(--footer-accent);
    padding-left: 8px;
}

.footer-v2-link:hover::before {
    width: 100%;
}


.footer-v2-contact {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-v2-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    color: var(--footer-text-secondary);
    font-size: 14px;
    line-height: 1.6;
}

.footer-v2-contact-item svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--footer-accent);
}

.footer-v2-contact-item a {
    color: var(--footer-text-secondary);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-v2-contact-item a:hover {
    color: var(--footer-accent);
}



.footer-v2-bottom {
    background: rgba(0, 0, 0, 0.3);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 30px 0;
}

.footer-v2-bottom-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.footer-v2-copyright {
    color: var(--footer-text-secondary);
    font-size: 14px;
}

.footer-v2-copyright p {
    margin: 0;
}

.footer-v2-legal {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.footer-v2-legal-link {
    color: var(--footer-text-secondary);
    text-decoration: none;
    font-size: 13px;
    transition: color 0.3s ease;
}

.footer-v2-legal-link:hover {
    color: var(--footer-accent);
}

.footer-v2-separator {
    color: rgba(255, 255, 255, 0.2);
    font-size: 13px;
}




@media (max-width: 1024px) {
    .footer-v2-container {
        padding: 0 30px;
    }

    .footer-v2-grid {
        grid-template-columns: 2fr 1fr 1fr;
        gap: 40px;
    }

    .footer-v2-brand {
        grid-column: 1 / -1;
        padding-right: 0;
        max-width: 600px;
    }

    .footer-v2-newsletter-content {
        flex-direction: column;
        text-align: center;
    }

    .footer-v2-newsletter-form {
        max-width: 100%;
    }
}


@media (max-width: 768px) {
    .footer-v2-container {
        padding: 0 20px;
    }

    .footer-v2-newsletter {
        padding: 40px 0;
    }

    .footer-v2-newsletter-title {
        font-size: 24px;
    }

    .footer-v2-newsletter-subtitle {
        font-size: 14px;
    }

    .footer-v2-newsletter-form {
        flex-direction: column;
    }

    .footer-v2-newsletter-btn {
        justify-content: center;
    }

    .footer-v2-main {
        padding: 50px 0 40px;
    }

    .footer-v2-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer-v2-brand {
        text-align: center;
    }

    .footer-v2-logo {
        justify-content: center;
    }

    .footer-v2-social {
        justify-content: center;
    }

    .footer-v2-column-title {
        font-size: 14px;
        margin-bottom: 16px;
    }

    .footer-v2-bottom-content {
        flex-direction: column;
        text-align: center;
    }

    .footer-v2-legal {
        justify-content: center;
    }

    .footer-v2-copyright {
        font-size: 13px;
    }

    .footer-v2-legal-link {
        font-size: 12px;
    }
}


@media (max-width: 480px) {
    .footer-v2-newsletter-input {
        padding: 14px 16px;
        font-size: 14px;
    }

    .footer-v2-newsletter-btn {
        padding: 14px 24px;
        font-size: 14px;
    }

    .footer-v2-logo-img {
        width: 50px;
        height: 50px;
    }

    .footer-v2-logo-name {
        font-size: 20px;
    }

    .footer-v2-logo-location {
        font-size: 10px;
    }

    .footer-v2-social-link {
        width: 38px;
        height: 38px;
    }

    .footer-v2-legal {
        flex-direction: column;
        gap: 8px;
    }

    .footer-v2-separator {
        display: none;
    }
}

/* ==== welcome-responsive.css ==== */

/* ============================================================
   WELCOME — Améliorations responsive (additives, non destructives)
   Ajoutées APRÈS le bundle : ne modifient pas le design desktop.
   ============================================================ */
img, video { max-width: 100%; }

@media (max-width: 768px) {
    body { -webkit-text-size-adjust: 100%; }
    .main-content { overflow-x: hidden; }
    /* Titres de section fluides et sans débordement */
    .resto-header-title {
        font-size: clamp(18px, 5vw, 28px) !important;
        line-height: 1.2;
        overflow-wrap: anywhere;
        padding-inline: 12px;
    }
    /* Carrousels horizontaux : défilement tactile fluide, scrollbars masquées */
    [class*="scroll-container"], [class*="scroll-wrapper"] {
        -webkit-overflow-scrolling: touch;
    }
    /* Cibles tactiles plus confortables */
    .nav-icon, .menu-toggle, .lang-btn, .quick-link-item { min-height: 40px; }
}

@media (max-width: 480px) {
    .resto-header-title { font-size: clamp(16px, 5.5vw, 22px) !important; }
    /* Évite tout débordement latéral résiduel sur très petits écrans */
    html, body { overflow-x: hidden; }
    .container, .row { max-width: 100%; }
}

/* ============================================================
   HERO — Barre de recherche simplifiée (destination + recherche)
   Après suppression des pictos, on repasse le conteneur en flex propre
   et responsive. La barre reste un composant fixe du hero (non flottant).
   ============================================================ */
.go-home-hero .search-bar-v2-container {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    gap: 12px !important;
    width: 100%;
}
.go-home-hero .search-bar-v2-destinations {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}
.go-home-hero .search-bar-v2-search {
    flex: 1 1 auto !important;
    order: 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}
/* La barre ne flotte plus : elle reste dans le hero */
.go-home-hero .search-bar-v2.search-bar-v2-floating {
    position: absolute !important;
    top: 24px !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
}

/* Tablette / mobile : on garde destination (globe) + recherche, bien alignés */
@media (max-width: 1024px) {
    .go-home-hero .search-bar-v2-container {
        display: flex !important;
        grid-template-columns: none !important;
    }
}
@media (max-width: 560px) {
    .go-home-hero .search-bar-v2-destinations {
        display: flex !important;              /* on garde la destination sur mobile */
    }
    .go-home-hero .search-bar-v2-destinations-title {
        display: none !important;              /* juste le globe, sans le libellé */
    }
    .go-home-hero .search-bar-v2-globe-icon {
        width: 30px !important;
        height: 30px !important;
        flex: 0 0 30px !important;
    }
}

/* ============================================================
   HEADER — transparent en haut de page, solide au scroll
   ============================================================ */
.header-v2 { transition: background-color .3s ease, box-shadow .3s ease, border-color .3s ease; }
body:not(.hdr-scrolled):not(.hdr-search-open) .header-v2 {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-bottom-color: transparent !important;
}

/* ============================================================
   HEADER SEARCH — icône + panneau déroulant (barre redesignée)
   ============================================================ */
.hdr-search-toggle { background: transparent; border: 0; cursor: pointer; color: inherit; }

.hdr-search-panel {
    position: fixed; left: 0; right: 0; top: 0; z-index: 10055;
    display: flex; justify-content: center;
    padding: 14px clamp(12px, 4vw, 40px);
    background: rgba(10, 18, 34, .97);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .28);
    transform: translateY(-120%); opacity: 0; visibility: hidden;
    transition: transform .32s cubic-bezier(.4, 0, .2, 1), opacity .3s ease, visibility .3s;
}
.hdr-search-panel.is-open { transform: translateY(0); opacity: 1; visibility: visible; }
.hdr-search-panel__inner { width: min(900px, 100%); }

.hdr-search {
    display: flex; align-items: center; gap: 10px;
    background: #fff; border-radius: 999px; padding: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.hdr-search__dest {
    display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto;
    padding: 11px 16px; border: 0; border-radius: 999px; cursor: pointer;
    background: #f2f5fa; color: #0f172a; font-weight: 700; font-size: 14px; white-space: nowrap;
    transition: background .2s ease;
}
.hdr-search__dest:hover { background: #e6ecf5; }
.hdr-search__globe { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }
.hdr-search__chev { color: #64748b; }
.hdr-search__field { position: relative; display: flex; align-items: center; flex: 1 1 auto; min-width: 0; }
.hdr-search__ico { position: absolute; left: 14px; color: #94a3b8; pointer-events: none; }
.hdr-search__input {
    width: 100%; border: 0; outline: 0; background: transparent;
    padding: 12px 40px 12px 44px; font-size: 15px; color: #0f172a;
}
.hdr-search__input::placeholder { color: #94a3b8; }
.hdr-search__clear {
    position: absolute; right: 8px; align-items: center; justify-content: center;
    width: 28px; height: 28px; border: 0; border-radius: 50%; background: #eef2f7; color: #64748b; cursor: pointer;
}
.hdr-search__submit {
    display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto;
    padding: 12px 22px; border: 0; border-radius: 999px; cursor: pointer;
    background: linear-gradient(135deg, #1677ff, #7c3aed); color: #fff; font-weight: 700; font-size: 14px;
    transition: transform .2s ease, box-shadow .2s ease;
}
.hdr-search__submit:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(22, 118, 255, .4); }
.hdr-search__results {
    margin-top: 10px; background: #fff; border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .2); max-height: min(60vh, 420px); overflow-y: auto;
}
.hdr-search__result {
    display: flex; align-items: center; gap: 12px; padding: 12px 16px; color: #0f172a; text-decoration: none;
    border-bottom: 1px solid #f1f5f9;
}
.hdr-search__result:hover { background: #f6f8fb; }
.hdr-search__result i { color: #1677ff; }
.hdr-search__empty { padding: 16px; text-align: center; color: #94a3b8; }

@media (max-width: 640px) {
    .hdr-search { flex-wrap: wrap; border-radius: 16px; }
    .hdr-search__field { order: 0; flex: 1 1 100%; }
    .hdr-search__dest { order: 1; flex: 1 1 auto; justify-content: center; }
    .hdr-search__submit { order: 2; flex: 1 1 auto; justify-content: center; }
}

/* ==== welcome-premium.css ==== */
/* ============================================================================
   REDESIGN PREMIUM — HEADER + HERO (/welcome uniquement, bundle isole)
   Direction : Premium moderne (glassmorphism, degrades, grande typo,
   recherche proeminente, animations discretes). Hero video plein ecran conserve.
   ============================================================================ */

/* ---------- HEADER : verre translucide premium ---------- */
.header-v2,
.header-v2 .header-nav,
.header-v2 .header-top {
    transition: background-color .35s ease, box-shadow .35s ease, border-color .35s ease, backdrop-filter .35s ease;
}
/* En haut de page : header ET barre de nav totalement transparents (le hero transparait).
   IMPORTANT : le fond est aussi porté par .header-nav (var(--navy-dark)), pas seulement .header-v2. */
body:not(.hdr-scrolled):not(.hdr-search-open) .header-v2,
body:not(.hdr-scrolled):not(.hdr-search-open) .header-v2 .header-nav,
body:not(.hdr-scrolled):not(.hdr-search-open) .header-v2 .header-top,
body:not(.hdr-scrolled):not(.hdr-search-open) .header-v2.scrolled,
body:not(.hdr-scrolled):not(.hdr-search-open) .header-v2.scrolled .header-nav {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-bottom-color: transparent !important;
}
/* Au scroll / recherche ouverte : glassmorphism sombre premium sur la barre visible (.header-nav) */
body.hdr-scrolled .header-v2,
body.hdr-search-open .header-v2 {
    background: transparent !important;
    box-shadow: none !important;
}
body.hdr-scrolled .header-v2 .header-nav,
body.hdr-search-open .header-v2 .header-nav,
body.hdr-scrolled .header-v2.scrolled .header-nav {
    background: rgba(9, 16, 31, .68) !important;
    background-color: rgba(9, 16, 31, .68) !important;
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    backdrop-filter: blur(20px) saturate(160%);
    border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
    box-shadow: 0 12px 34px rgba(3, 8, 18, .34) !important;
}

/* Liens de navigation : clairs + soulignement degrade anime */
.header-v2 .nav-menu > li > a {
    position: relative;
    color: #eaf0fb !important;
    font-weight: 600;
    letter-spacing: .2px;
    transition: color .2s ease;
}
.header-v2 .nav-menu > li > a::after {
    content: ""; position: absolute; left: 8px; right: 8px; bottom: -2px; height: 2px;
    background: linear-gradient(90deg, #1677ff, #7c3aed);
    border-radius: 2px; transform: scaleX(0); transform-origin: left;
    transition: transform .28s cubic-bezier(.4, 0, .2, 1);
}
.header-v2 .nav-menu > li > a:hover { color: #fff !important; }
.header-v2 .nav-menu > li > a:hover::after { transform: scaleX(1); }
.header-v2 .nav-account-icon { gap: 8px; }

/* Icones header : pastilles douces au survol */
.header-v2 .nav-icon,
.header-v2 .hdr-search-toggle,
.header-v2 .mobile-search-trigger {
    color: #eaf0fb !important;
    width: 42px; height: 42px; border-radius: 12px;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.header-v2 .nav-icon:hover,
.header-v2 .hdr-search-toggle:hover,
.header-v2 .mobile-search-trigger:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff !important;
    transform: translateY(-1px);
}

/* Bouton AFFICHEZ VOUS : pilule degradee premium */
.header-v2 .nav-devis-btn {
    background: linear-gradient(135deg, #1677ff, #7c3aed) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 10px 20px !important;
    font-weight: 700; letter-spacing: .3px;
    box-shadow: 0 10px 24px rgba(22, 118, 255, .34);
    transition: transform .2s ease, box-shadow .2s ease;
}
.header-v2 .nav-devis-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(124, 58, 237, .45);
}

/* Selecteur de langue en verre */
.header-v2 .lang-btn {
    background: rgba(255, 255, 255, .1) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    color: #fff !important;
    border-radius: 12px !important;
}
.header-v2 .lang-btn:hover { background: rgba(255, 255, 255, .18) !important; }

/* Burger premium */
.header-v2 .menu-toggle span { background: #eaf0fb !important; }

/* ---------- HERO : overlay cinematographique + typo premium ---------- */
.go-home-hero .hero-swiper > .swiper-wrapper > .swiper-slide::before {
    background: linear-gradient(180deg, rgba(4, 10, 22, .30) 0%, rgba(4, 10, 22, .52) 52%, rgba(4, 10, 22, .86) 100%) !important;
}
.go-hero-content { top: 46% !important; }
.go-hero-title {
    font-size: clamp(34px, 6vw, 68px) !important;
    font-weight: 800 !important;
    letter-spacing: -1px !important;
    line-height: 1.03 !important;
    text-shadow: 0 6px 34px rgba(0, 0, 0, .45);
    animation: wcHeroUp .85s cubic-bezier(.2, .7, .2, 1) both;
}
.go-hero-description {
    color: rgba(255, 255, 255, .92) !important;
    animation: wcHeroUp .85s .08s cubic-bezier(.2, .7, .2, 1) both;
}
@keyframes wcHeroUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }

/* Fleches de navigation en verre */
.go-home-hero .swiper-button-prev,
.go-home-hero .swiper-button-next {
    background: rgba(255, 255, 255, .12) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
}
.go-home-hero .swiper-button-prev:hover,
.go-home-hero .swiper-button-next:hover {
    background: linear-gradient(135deg, #1677ff, #7c3aed) !important;
    border-color: transparent !important;
}

/* ---------- HERO : barre de recherche proeminente (glass, centree) ---------- */
.go-home-hero .search-bar-v2 {
    width: min(820px, 94%) !important;
    margin: 0 auto !important;
    background: rgba(255, 255, 255, .12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, .24) !important;
    border-radius: 999px !important;
    box-shadow: 0 24px 60px rgba(4, 10, 22, .42) !important;
    padding: 8px !important;
    animation: wcHeroUp .85s .16s cubic-bezier(.2, .7, .2, 1) both;
}
/* Bouton destination : pilule translucide claire */
.go-home-hero .search-bar-v2-destinations {
    background: rgba(255, 255, 255, .16);
    border-radius: 999px;
    padding: 8px 14px !important;
    gap: 8px !important;
}
.go-home-hero .search-bar-v2-destinations-title { color: #fff !important; font-weight: 700; }
.go-home-hero .search-bar-v2-globe-icon { border-radius: 50%; }
/* Champ de recherche : translucide (transparent) et lisible sur le hero */
.go-home-hero .search-bar-v2-search { margin-left: 4px; }
.go-home-hero .search-bar-v2-input-wrapper {
    background: rgba(255, 255, 255, .16) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 999px !important;
    padding: 10px 16px !important;
}
.go-home-hero .search-bar-v2-input { color: #fff !important; font-size: 15px !important; }
.go-home-hero .search-bar-v2-input::placeholder { color: rgba(255, 255, 255, .72) !important; }
.go-home-hero .search-bar-v2-search-icon { color: rgba(255, 255, 255, .82) !important; }

/* ---------- Barre du hero MASQUÉE par défaut ; affichée via l'icône du header ---------- */
.go-hero-search-layer {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .3s ease, transform .3s ease, visibility .3s;
}
body.hero-search-visible .go-hero-search-layer {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
/* État actif de l'icône de recherche du header */
.header-v2 .hdr-search-toggle.is-active {
    background: rgba(255, 255, 255, .18);
    color: #fff !important;
}

/* ---------- HERO : vignettes videos premium ---------- */
.go-hero-thumbnail {
    background: rgba(10, 18, 34, .55) !important;
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 14px !important;
}
.go-hero-thumbnail.active {
    border-color: transparent !important;
    box-shadow: 0 0 0 2px #7c3aed, 0 12px 30px rgba(124, 58, 237, .4) !important;
}

@media (max-width: 640px) {
    .go-home-hero .search-bar-v2 { border-radius: 18px !important; }
    .header-v2 .nav-devis-btn { padding: 9px 14px !important; }
}
