/* ============================================================
   ALL-INCLUSIVE PACKAGES PAGE — ARGAMAN SURGERIES
   ============================================================ */

/* --- 1. CONFIG & PALETTE --- */
:root {
    --color-gold: #C0A062;
    --color-dark: #2F353B;
    --color-cream: #F9F8F4;
    --color-slate: #545F66;
    --color-grey: #666666;
    --color-border: #999999;
    --color-grey-dark: #1E242A;
    --color-goldor: #a88852;
    --color-clair: #f9f9f8;
    --site-padding-left: max(40px, 5vw);
    --site-max-width: 1400px;
    --site-gutter: max(40px, calc((100% - 1200px) / 2));
}

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

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ============================================================
   PRICE TABLES (cost page)
   ============================================================ */

/* (Image filigrane Mexico City supprimée — fond crème uni pour lisibilité) */
#prices { position: relative; }
#prices::before { content: none !important; }

/* Both sections carry 100px of section padding, which stacks into a ~200px
   hole between the price footnote and the next title. Scoped with :has() so
   the dental page, which also uses #prices, keeps its own rhythm. */
#prices:has(+ #featured-packages) { padding-bottom: 40px; }
#featured-packages { padding-top: 32px; }

.price-table-wrap { max-width: 960px; margin: 0 auto 50px; position: relative; z-index: 1; }
.price-category {
    font-size: 18px; font-weight: 700; color: var(--color-dark);
    text-transform: uppercase; letter-spacing: 1.8px;
    margin: 0 0 14px; padding-bottom: 10px;
    border-bottom: 2px solid var(--color-gold);
    position: relative;
}
.price-category a { color: var(--color-dark); text-decoration: none; border-bottom: none; }
.price-category a:hover { color: var(--color-gold); border-bottom: none; }
.price-category-note {
    font-size: 13px; color: var(--color-grey); font-style: italic;
    margin: 0 0 16px; line-height: 1.5;
}
.price-table {
    width: 100%; border-collapse: separate; border-spacing: 0;
    table-layout: fixed;
    background-color: #fff;
    box-shadow:
        0 1px 2px rgba(30, 36, 42, 0.04),
        0 8px 24px rgba(30, 36, 42, 0.08),
        0 24px 48px rgba(30, 36, 42, 0.06);
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.35s ease, transform 0.35s ease;
}
.price-table:hover {
    box-shadow:
        0 1px 2px rgba(30, 36, 42, 0.06),
        0 12px 32px rgba(30, 36, 42, 0.12),
        0 32px 64px rgba(192, 160, 98, 0.08);
    transform: translateY(-2px);
}
/* Colonnes identiques sur tous les tableaux pour alignement vertical */
.price-table thead th:first-child,
.price-table tbody th:first-child,
.price-table tbody td:first-child { width: 50%; }
.price-table thead th:nth-child(2),
.price-table tbody td:nth-child(2) { width: 25%; }
.price-table thead th:nth-child(3),
.price-table tbody td:nth-child(3) { width: 25%; }
.price-table thead th {
    font-size: 11px; font-weight: 700; letter-spacing: 1.2px;
    text-transform: uppercase; color: var(--color-gold);
    padding: 16px 16px; text-align: left;
    border-bottom: none;
    background-color: #1E242A;
}
.price-table thead th:first-child { border-top-left-radius: 10px; }
.price-table thead th:last-child { border-top-right-radius: 10px; }
.price-table tbody tr:last-child td:first-child,
.price-table tbody tr:last-child th:first-child { border-bottom-left-radius: 10px; }
.price-table tbody tr:last-child td:last-child { border-bottom-right-radius: 10px; }
.price-table thead th:nth-child(2),
.price-table thead th:nth-child(3) { text-align: center; white-space: nowrap; }
.price-table thead th small { font-size: 9.5px; font-weight: 500; letter-spacing: 0.8px; color: rgba(216,194,140,0.85); display: block; margin-top: 2px; }
.price-table tbody th {
    font-weight: 600; font-size: 14px; color: var(--color-dark);
    text-align: left; padding: 13px 16px;
    border-bottom: 1px solid rgba(47,53,59,0.06);
}
.price-table tbody th small { font-size: 12px; font-weight: 400; color: var(--color-grey); }
.price-table tbody th a { color: var(--color-dark); text-decoration: none; border-bottom: none; transition: color 0.2s ease; }
.price-table tbody th a:hover { color: var(--color-gold); }
.price-table tbody td {
    padding: 13px 16px; text-align: center;
    font-size: 14.5px; font-weight: 700; color: var(--color-dark);
    border-bottom: 1px solid rgba(47,53,59,0.06);
    white-space: nowrap;
}
.price-table tbody td:last-child { color: var(--color-gold); }
.price-table tbody tr:last-child th,
.price-table tbody tr:last-child td { border-bottom: none; }
.price-table tbody tr:nth-child(even) th,
.price-table tbody tr:nth-child(even) td { background-color: rgba(249, 248, 244, 0.35); }
.price-table-footnote {
    text-align: center; font-size: 13.5px; color: var(--color-grey);
    max-width: 100%; margin: 30px auto 0;
    line-height: 1.7;
}
.price-table-footnote a { color: var(--color-gold); text-decoration: none; border-bottom: 1px solid rgba(192,160,98,0.4); }

/* Mobile/Tablet price tables → header sombre uni + lignes cards */
@media (max-width: 1024px) {
    .price-table-wrap { max-width: 100%; margin: 0 auto 36px; }
    .price-table {
        box-shadow:
            0 1px 2px rgba(30, 36, 42, 0.06),
            0 6px 16px rgba(30, 36, 42, 0.08);
        border-radius: 10px;
        overflow: hidden;
        table-layout: auto;
    }
    .price-table:hover { transform: none; }

    /* Désactive les largeurs fixes desktop pour laisser le flex respirer */
    .price-table thead th:first-child,
    .price-table tbody th:first-child,
    .price-table tbody td:first-child,
    .price-table thead th:nth-child(2),
    .price-table tbody td:nth-child(2),
    .price-table thead th:nth-child(3),
    .price-table tbody td:nth-child(3) { width: auto; }

    .price-table, .price-table thead, .price-table tbody { display: block; width: 100%; }

    /* Header en flex sur fond sombre uni (cohérent avec desktop) */
    .price-table thead tr {
        display: flex; align-items: center; gap: 10px;
        padding: 14px 14px;
        background-color: #1E242A;
        border-bottom: none;
    }
    .price-table thead th {
        padding: 0 !important; border: none;
        font-size: 11px; font-weight: 700; letter-spacing: 0.8px;
        text-transform: uppercase; color: var(--color-gold);
        background-color: transparent !important;
        line-height: 1.3;
        border-radius: 0 !important;
    }
    .price-table thead th:nth-child(1) { flex: 1; text-align: left; min-width: 0; }
    .price-table thead th:nth-child(2) {
        flex-shrink: 0; width: 110px; text-align: center;
        white-space: normal; word-spacing: 100vw;
    }
    .price-table thead th:nth-child(3) {
        flex-shrink: 0; width: 100px; text-align: center;
        white-space: normal; word-spacing: 100vw;
    }
    .price-table thead th small { display: none; }

    /* Body : lignes en cards plates blanches alternées crème */
    .price-table tbody tr {
        display: flex; align-items: center; gap: 10px;
        background-color: #fff;
        margin: 0; padding: 12px 14px;
        border: none;
        border-bottom: 1px solid rgba(0,0,0,0.05);
    }
    .price-table tbody tr:nth-child(even) { background-color: rgba(249,248,244,0.5); }
    .price-table tbody tr:last-child { border-bottom: none; }
    .price-table tbody th {
        flex: 1;
        padding: 0 !important; border: none;
        font-size: 13.5px; font-weight: 600;
        text-align: left;
        line-height: 1.35;
        white-space: normal;
        min-width: 0;
        background-color: transparent !important;
    }
    .price-table tbody th small { font-size: 10.5px; display: block; color: var(--color-grey); margin-top: 1px; }
    .price-table tbody td {
        flex-shrink: 0;
        padding: 0 !important; border: none;
        font-size: 13.5px; font-weight: 700;
        white-space: nowrap;
        background-color: transparent !important;
        border-radius: 0 !important;
    }
    .price-table tbody td:nth-child(2) { width: 110px; text-align: center; }
    .price-table tbody td:nth-child(3) { width: 100px; text-align: center; }
}

@media (max-width: 480px) {
    .price-table thead tr { padding: 12px 12px; gap: 6px; }
    .price-table thead th { font-size: 11px; letter-spacing: 0.5px; }
    .price-table thead th:nth-child(2) { width: 90px; }
    .price-table thead th:nth-child(3) { width: 84px; }
    .price-table tbody tr { padding: 10px 12px; gap: 6px; }
    .price-table tbody th { font-size: 13px; }
    .price-table tbody td { font-size: 13px; }
    .price-table tbody td:nth-child(2) { width: 90px; }
    .price-table tbody td:nth-child(3) { width: 84px; }
}

/* ============================================================
   CASE STUDIES CARDS (cost page)
   ============================================================ */
.case-studies-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
    max-width: 1120px; margin: 20px auto 0;
}
.case-card {
    background-color: var(--color-cream);
    border: 1px solid rgba(192,160,98,0.2);
    padding: 22px 20px;
    display: flex; flex-direction: column;
    opacity: 0; transform: translateY(30px);
    transition: opacity 0.7s cubic-bezier(0.25,0.8,0.25,1), transform 0.7s cubic-bezier(0.25,0.8,0.25,1), border-color 0.3s ease, box-shadow 0.3s ease;
    transition-delay: var(--reveal-delay, 0ms);
}
.case-card.is-visible { opacity: 1; transform: translateY(0); }
.case-card:hover {
    transform: translateY(-4px);
    border-color: var(--color-gold);
    box-shadow: 0 14px 30px rgba(47,53,59,0.08);
}
.case-age {
    font-size: 10.5px; letter-spacing: 1.5px; text-transform: uppercase;
    color: var(--color-gold); margin-bottom: 10px;
}
.case-age strong { font-size: 14px; font-weight: 700; color: var(--color-dark); letter-spacing: 0.5px; }
.case-title {
    font-size: 14.5px; font-weight: 700; color: var(--color-dark);
    line-height: 1.4; margin: 0 0 8px; min-height: 60px;
}
.case-meta { font-size: 12px; color: var(--color-grey); margin: 0 0 16px; }
.case-price-row {
    margin-top: auto; padding-top: 14px;
    border-top: 1px solid rgba(192,160,98,0.25);
    display: flex; flex-direction: column; gap: 2px;
}
.case-price-label {
    font-size: 9.5px; text-transform: uppercase; letter-spacing: 1.4px;
    color: var(--color-grey); font-weight: 600;
}
.case-price { font-size: 22px; font-weight: 700; color: var(--color-gold); letter-spacing: 0.3px; }
.case-cta-row { text-align: center; margin-top: 24px; }

/* Section now holds only a title, one line and a button — the full 100px
   section padding left it floating in white space. */
#case-studies { padding-top: 55px; padding-bottom: 55px; }

.btn-cta-outline {
    display: inline-block; padding: 13px 32px;
    background-color: transparent; border: 1px solid var(--color-gold);
    color: var(--color-gold); text-decoration: none; text-transform: uppercase;
    font-size: 11.5px; font-weight: 700; letter-spacing: 2px;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.btn-cta-outline:hover { background-color: var(--color-gold); color: #fff; }

/* ============================================================
   FEATURED PACKAGES CARDS (cost page)
   ============================================================ */
.featured-packages-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px;
    max-width: 900px; margin: 20px auto 0;
}
.featured-package-card {
    background-color: #fff;
    border: 1px solid var(--color-gold);
    padding: 32px 28px;
    display: flex; flex-direction: column;
    position: relative;
    opacity: 0; transform: translateY(30px);
    transition: opacity 0.7s cubic-bezier(0.25,0.8,0.25,1), transform 0.7s cubic-bezier(0.25,0.8,0.25,1), box-shadow 0.3s ease;
    transition-delay: var(--reveal-delay, 0ms);
}
.featured-package-card.is-visible { opacity: 1; transform: translateY(0); }
.featured-package-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(47,53,59,0.1);
}
.featured-tag {
    display: inline-block; font-size: 10px; font-weight: 700;
    letter-spacing: 1.8px; color: var(--color-gold);
    text-transform: uppercase; margin-bottom: 12px;
}
.featured-package-card h3 {
    font-size: 20px; font-weight: 700; color: var(--color-dark);
    margin: 0 0 10px; line-height: 1.35; letter-spacing: 0.2px;
}
/* Liste des chirurgies : une par ligne, "+" doré entre chaque */
.featured-surgery-list {
    display: flex; flex-direction: column; align-items: flex-start;
    gap: 0;
}
.featured-surgery-list span { line-height: 1.25; }
.featured-surgery-list span:not(:last-child)::after {
    content: "+"; display: block;
    color: var(--color-gold); font-weight: 400; font-size: 0.72em;
    margin: 3px 0; opacity: 0.85;
}
.featured-meta { font-size: 13px; color: var(--color-grey); margin: 0 0 22px; }
.featured-price-row {
    margin-top: auto; padding: 18px 0;
    border-top: 1px solid rgba(192,160,98,0.3);
    border-bottom: 1px solid rgba(192,160,98,0.3);
    display: flex; justify-content: space-between; align-items: baseline;
    margin-bottom: 22px;
}
.featured-price-label { font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--color-grey); }
.featured-price { font-size: 28px; font-weight: 700; color: var(--color-gold); }
.featured-footnote { text-align: center; font-size: 14px; color: var(--color-grey); margin: 40px auto 0; max-width: 700px; }
.featured-footnote a { color: var(--color-gold); text-decoration: none; border-bottom: 1px solid rgba(192,160,98,0.4); }

@media (max-width: 1024px) {
    .case-studies-grid { grid-template-columns: repeat(2, 1fr); }
    .featured-packages-grid { grid-template-columns: 1fr; max-width: 500px; }
}
@media (max-width: 600px) {
    .case-studies-grid { grid-template-columns: 1fr; gap: 16px; }
    .case-title { min-height: 0; }
    .featured-package-card { padding: 20px 18px; text-align: center; }
    .featured-package-card h3 { font-size: 15px; margin-bottom: 8px; }
    .featured-surgery-list { align-items: center; }
    .featured-surgery-list span:not(:last-child)::after { margin: 1px 0; }
    .featured-meta { font-size: 12px; margin-bottom: 14px; }
    .featured-price-row { padding: 12px 0; margin-bottom: 16px; justify-content: center; gap: 14px; }
    .featured-price { font-size: 22px; }
    .featured-package-card .btn-cta-gold { margin-top: 4px; padding: 12px 26px; }
    .price-category { font-size: 15px; letter-spacing: 1.4px; }
}

/* Skip-to-content link — visible only when focused via keyboard (WCAG 2.1) */
.skip-link {
    position: absolute;
    top: -48px;
    left: 16px;
    background-color: var(--color-dark);
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;
    z-index: 9999;
    border: 2px solid var(--color-gold);
    border-radius: 3px;
    transition: top 0.2s ease;
}
.skip-link:focus {
    top: 12px;
    outline: none;
}

body {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
    color: var(--color-dark);
    background-color: #fff;
    overflow-x: hidden;
    margin: 0;
}

/* ============================================================
   2. HEADER & NAVIGATION
   ============================================================ */
header {
    display: flex; justify-content: center; align-items: center;
    padding: 0 40px; height: 110px; background-color: #fff;
    border-bottom: 1px solid #e5e5e5; position: relative; z-index: 1000;
}
.brand-logo {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-decoration: none; position: absolute; left: var(--site-gutter); z-index: 1001;
    transition: opacity 0.3s;
}
.brand-icon { width: 45px; height: 45px; margin-bottom: 2px; color: var(--color-slate); transition: transform 0.3s ease, color 0.3s ease; }
.brand-icon svg { width: 100%; height: 100%; overflow: visible; }
.brand-text { display: flex; flex-direction: column; align-items: center; line-height: 1; }
.brand-name { font-weight: 300; font-size: 30px; letter-spacing: 3px; color: var(--color-slate); text-transform: uppercase; transition: color 0.3s ease; }
.brand-sub { font-weight: 400; font-size: 8px; letter-spacing: 5px; color: var(--color-slate); text-transform: uppercase; margin-top: 3px; transition: color 0.3s ease; }
.brand-logo:hover .brand-icon, .brand-logo:hover .brand-name, .brand-logo:hover .brand-sub { color: var(--color-gold); }
.brand-logo:hover .brand-icon { transform: scale(1.05); }

.navbar { display: flex; align-items: center; height: 100%; gap: 15px; margin-left: 100px; }
.nav-wrapper-mega, .nav-wrapper-simple { height: 100%; display: flex; align-items: center; }
.nav-wrapper-mega { position: static; }
.nav-wrapper-simple { position: relative; }

.nav-link {
    text-decoration: none; color: var(--color-dark); font-size: 14px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1.3px; padding: 0 14px; height: 100%;
    display: flex; align-items: center; gap: 6px; transition: color 0.3s; cursor: pointer; white-space: nowrap;
}
.nav-link:hover { color: var(--color-gold); }
.nav-link i { font-size: 10px; color: var(--color-gold); transition: transform 0.3s; }

.btn-book {
    text-decoration: none; color: var(--color-grey); background-color: transparent;
    border: 1px solid var(--color-border); padding: 12px 25px;
    position: absolute; right: var(--site-gutter); top: 50%; transform: translateY(-50%);
    white-space: nowrap; font-size: 13px; font-weight: 400;
    text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; cursor: pointer;
}
.btn-book:hover { border-color: var(--color-gold); background-color: var(--color-gold); color: #fff; }

@media (min-width: 1025px) {
    .nav-wrapper-mega:hover .nav-link, .nav-wrapper-simple:hover .nav-link { color: var(--color-gold); }
    .nav-wrapper-mega:hover .nav-link i, .nav-wrapper-simple:hover .nav-link i { transform: rotate(180deg); }
    .nav-wrapper-mega:hover .dropdown-menu, .nav-wrapper-simple:hover .dropdown-menu {
        visibility: visible; opacity: 1; transform: translateY(0);
    }
}

.dropdown-menu {
    background-color: var(--color-dark); position: absolute; top: 100%;
    visibility: hidden; opacity: 0; transform: translateY(10px);
    transition: all 0.3s ease; box-shadow: 0 15px 30px rgba(0,0,0,0.2); z-index: 999;
}
.dropdown-menu.mega-style { left: 0; width: 100%; padding: 50px 80px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.dropdown-menu.simple-style { left: 50%; transform: translateX(-50%) translateY(10px); min-width: 250px; padding: 30px; display: flex; flex-direction: column; }

@media (min-width: 1025px) {
    .nav-wrapper-simple:hover .dropdown-menu.simple-style { transform: translateX(-50%) translateY(0); }
}

.column-title { color: #fff; font-size: 18px; margin-bottom: 20px; font-weight: 600; }
ul { list-style: none; }
li { margin-bottom: 12px; }
li a { color: #b0b2b5; text-decoration: none; font-size: 14px; position: relative; display: block; transition: all 0.3s ease; }
li a::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 0px; height: 1px; background-color: var(--color-gold); transition: width 0.3s ease; }
li a:hover { color: var(--color-gold); padding-left: 25px; }
li a:hover::before { width: 15px; }

.hamburger { display: none; flex-direction: column; gap: 6px; cursor: pointer; z-index: 2001; }
.bar { width: 30px; height: 2px; background-color: var(--color-dark); transition: all 0.3s; }
.hamburger.active .bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.hamburger.active .bar:nth-child(2) { opacity: 0; }
.hamburger.active .bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* ============================================================
   3. HERO — design unifié avec la page Testimonials
   ============================================================ */
.packages-hero {
    position: relative;
    width: 100%;
    min-height: 70vh;
    padding: 120px 40px 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(15,17,20,0.55) 0%, rgba(15,17,20,0.70) 100%),
        url("Images/banner-woman-consultation.webp") center / cover no-repeat;
    background-color: #1E242A;
}
.packages-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    text-align: center;
}
.packages-hero .hero-eyebrow-gold,
h1.hero-eyebrow-gold {
    display: inline-block;
    color: #d8c28c;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.5px;
    margin: 0 0 16px;
    padding: 0;
    line-height: 1.4;
    text-shadow: none;
    text-transform: none;
}
.packages-hero .hero-main-white {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: clamp(38px, 4.5vw, 60px);
    line-height: 1.05;
    letter-spacing: -1.4px;
    color: #fff;
    margin: 0 0 22px;
    text-shadow: 0 2px 12px rgba(0,0,0,0.25);
}
.packages-hero p {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(255,255,255,0.92);
    font-weight: 300;
    max-width: 760px;
    margin: 0 auto;
}

/* Breadcrumb — collé en haut, sans hover/animation */
.packages-breadcrumb {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
    padding: 18px 24px 0;
    width: 100%;
}
.packages-breadcrumb,
.packages-breadcrumb *,
.packages-breadcrumb *::before,
.packages-breadcrumb *::after {
    transition: none !important;
    animation: none !important;
}
.packages-breadcrumb-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 max(40px, 5vw);
}
.packages-breadcrumb ol {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #fff;
}
.packages-breadcrumb ol li {
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 0;
    display: inline-flex;
    align-items: center;
}
.packages-breadcrumb ol li:not(:last-child)::after {
    content: '/';
    margin-left: 10px;
    color: rgba(255,255,255,0.45);
    font-weight: 300;
}
.packages-breadcrumb ol li + li::before { content: none !important; }
.packages-breadcrumb a,
.packages-breadcrumb a:hover,
.packages-breadcrumb a:focus,
.packages-breadcrumb a:active,
.packages-breadcrumb a:visited {
    color: #fff !important;
    text-decoration: none !important;
    background: transparent !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
}
.packages-breadcrumb li a::before,
.packages-breadcrumb li a:hover::before {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
}

/* ============================================================
   4. STATS BAND
   ============================================================ */
/* Stats integrated into the hero — transparent, gold dividers, compact */
.stats-band {
    background-color: transparent;
    width: 100%;
    max-width: 920px;
    margin: 38px auto 0;
    padding-top: 28px;
    border-top: 1px solid rgba(192,160,98,0.35);
}
.stats-grid {
    max-width: 920px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px;
    text-align: center;
}
.stat-item { position: relative; padding: 0 4px; }
.stat-item + .stat-item::before {
    content: ""; position: absolute; left: -15px; top: 18%; bottom: 18%; width: 1px;
    background-color: rgba(192,160,98,0.3);
}
.stat-number {
    display: block; font-size: 30px; font-weight: 700; color: var(--color-gold);
    line-height: 1.05; margin-bottom: 6px; letter-spacing: 0.4px;
}
.stat-label {
    display: block; font-size: 10.5px; font-weight: 500; color: rgba(255,255,255,0.82);
    text-transform: uppercase; letter-spacing: 1.6px; line-height: 1.3;
}

/* ============================================================
   5. CONTENT SECTIONS — GENERAL
   ============================================================ */
.content-section { padding: 100px 40px; }
.content-section.white-bg { background-color: #fff; }
.content-section.cream-bg { background-color: var(--color-cream); }

/* Background photos — only in the sections containing package cards (vignettes).
   The overlay fades to an opaque tone at the top AND bottom of each section so
   adjacent sections blend smoothly into each other rather than breaking hard. */
.content-section.bg-face-packages {
    background-image:
        linear-gradient(
            to bottom,
            rgba(249,248,244,0.95) 0%,
            rgba(249,248,244,0.50) 15%,
            rgba(249,248,244,0.50) 82%,
            rgba(249,248,244,0.97) 100%
        ),
        url("Images/Face-surgeries-mexico-home.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.content-section.bg-body-packages {
    background-image:
        linear-gradient(
            to bottom,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.82) 15%,
            rgba(255,255,255,0.82) 82%,
            rgba(255,255,255,0.98) 100%
        ),
        url("Images/Body_surgeries_mexico.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.content-section.bg-transgender-packages {
    background-image:
        linear-gradient(
            to bottom,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.90) 15%,
            rgba(255,255,255,0.90) 82%,
            rgba(255,255,255,0.98) 100%
        ),
        url("Images/transgender-breast-augmentation-mexico.webp");
    background-size: cover;
    background-position: center 20%;
    background-repeat: no-repeat;
}

.content-container { max-width: 1200px; margin: 0 auto; }
.content-container.centered { text-align: center; }

.content-container h2, .centered-title {
    font-size: 34px; font-weight: 300; color: var(--color-dark);
    letter-spacing: 0.5px; margin-bottom: 25px; line-height: 1.3;
}
.centered-title { text-align: center; }
.centered-title.light { color: #fff; }
.centered-title.bold, .content-container h2.bold { font-weight: 700; }

.content-container p { font-size: 15px; color: var(--color-grey); line-height: 1.8; margin-bottom: 18px; }
.content-container p strong { color: var(--color-dark); font-weight: 600; }

.section-subtitle { font-size: 15px; color: var(--color-grey); max-width: 750px; margin: 0 auto 55px; text-align: center; line-height: 1.75; }
.section-subtitle.light { color: rgba(255,255,255,0.75); }

/* Inline text links inside body copy (subtitles, paragraphs, FAQ) — gold accent, subtle underline */
.section-subtitle a,
.content-container p a,
.faq-item p a {
    color: var(--color-gold);
    text-decoration: none;
    border-bottom: 1px solid rgba(192,160,98,0.35);
    transition: color 0.25s ease, border-color 0.25s ease;
}
.section-subtitle a:hover,
.content-container p a:hover,
.faq-item p a:hover {
    color: #a8893f;
    border-bottom-color: var(--color-gold);
}
.section-subtitle a:visited,
.content-container p a:visited,
.faq-item p a:visited {
    color: var(--color-gold);
}
.section-subtitle.light a,
.section-subtitle.light a:visited {
    color: var(--color-gold);
    border-bottom-color: rgba(192,160,98,0.45);
}
.section-subtitle.light a:hover { color: #d4b97a; border-bottom-color: #d4b97a; }
.section-subtitle.light strong { color: var(--color-gold); font-weight: 700; }

/* Two-column layout */
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.col-text, .col-image { direction: ltr; }
.image-placeholder { width: 100%; height: 420px; background-color: #e0e0e0; }
.why-combine-img { width: 100%; height: 420px; object-fit: cover; display: block; }
.why-combine-h3 {
    font-size: 15px; font-weight: 700; color: var(--color-dark);
    margin: 22px 0 8px; letter-spacing: 0.2px; line-height: 1.35;
}
.why-combine-h3:first-of-type { margin-top: 14px; }

/* WHY ARGAMAN — SEO-rich content block (airy spacing, left-aligned wide) */
.why-argaman-content {
    max-width: none; margin: 30px 0 0 0;
    text-align: left;
}
.why-argaman-h3 {
    font-size: 20px; font-weight: 700; color: var(--color-dark);
    margin: 60px 0 22px; letter-spacing: 0.2px; line-height: 1.4;
    position: relative; padding-left: 20px;
}
.why-argaman-h3:first-of-type { margin-top: 10px; }
.why-argaman-h3::before {
    content: ''; position: absolute; left: 0; top: 11px;
    width: 8px; height: 8px;
    background-color: var(--color-gold); border-radius: 50%;
}
.why-argaman-content p {
    font-size: 15.5px; color: var(--color-grey); line-height: 2;
    margin-bottom: 28px;
}
.why-argaman-content p:last-child { margin-bottom: 0; }
#why-argaman .section-subtitle {
    max-width: none;
    margin: 0 0 20px 0;
    text-align: left;
    line-height: 1.95;
}
#why-argaman .centered-title {
    text-align: left;
    margin-left: 0;
}

/* CTA Buttons */
.btn-cta-gold {
    display: inline-block; padding: 14px 34px; background-color: var(--color-gold);
    color: #fff; text-decoration: none; text-transform: uppercase;
    font-size: 12px; font-weight: 600; letter-spacing: 2px;
    transition: all 0.3s ease; margin-top: 15px; border: none; cursor: pointer;
}
.btn-cta-gold:hover { background-color: #a8893f; }

.btn-cta-outline-light {
    display: inline-block; padding: 16px 40px; background-color: transparent;
    border: 1px solid var(--color-gold); color: var(--color-gold);
    text-decoration: none; text-transform: uppercase;
    font-size: 12px; font-weight: 600; letter-spacing: 2px; transition: all 0.3s ease;
    margin-top: 35px;
}
.btn-cta-outline-light:hover { background-color: var(--color-gold); color: #fff; }

/* ============================================================
   6. WHAT'S INCLUDED GRID
   ============================================================ */

/* #page-intro sits directly above and already carries ~73px of bottom
   padding, so the full section top padding would double the gap. */
#whats-included { padding-top: 20px; }

.included-grid {
    display: block;
    max-width: 640px; margin: 20px auto 0;
}

.included-item {
    text-align: center;
    padding: 5px 0;
}

.included-item span {
    font-size: 17px;
    color: var(--color-dark);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.15px;
}

/* Checkmark drawn in CSS: Font Awesome loads deferred on these pages, so a
   glyph avoids a flash of unstyled markers. */
.included-item span::before {
    content: "\2713";
    color: var(--color-gold);
    font-weight: 700;
    margin-right: 10px;
}

/* ============================================================
   7. PACKAGE CARDS
   ============================================================ */
.packages-block-header { margin-bottom: 40px; text-align: center; }

.packages-category {
    display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 3px;
    color: var(--color-gold); text-transform: uppercase; margin-bottom: 12px;
}

.packages-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 10px;
    max-width: 848px; margin-left: auto; margin-right: auto;
}
.packages-grid-2 { grid-template-columns: repeat(2, 1fr); max-width: 560px; margin-left: auto; margin-right: auto; }

/* Body packages: 4 per row, centered 2nd row via 8-col trick */
.bg-body-packages .packages-grid {
    grid-template-columns: repeat(8, 1fr);
    max-width: 1120px;
}
.bg-body-packages .packages-grid .package-card { grid-column: span 2; }
.bg-body-packages .packages-grid .package-card:nth-child(5) { grid-column: 2 / span 2; }

/* Sage accent re-used here for cohesion */
.packages-grid { --color-sage: #87a39c; --color-sage-deep: #6e8a83; --color-sage-tint: #e8efec; }

.package-card {
    position: relative;
    background:
        radial-gradient(140% 90% at 50% 0%, rgba(192,160,98, 0.07) 0%, rgba(192,160,98, 0) 50%),
        linear-gradient(180deg, #ffffff 0%, #fdfbf4 100%);
    border: 1px solid rgba(232, 226, 213, 0.85);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    padding: 22px 20px 20px;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 18px 40px -22px rgba(47, 53, 59, 0.15),
        0 4px 12px -6px rgba(192,160,98, 0.10);
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s cubic-bezier(0.25, 0.8, 0.25, 1),
                transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
                box-shadow 0.45s ease,
                border-color 0.4s ease;
    transition-delay: var(--reveal-delay, 0ms);
}
.package-card::before {
    content: "";
    position: absolute;
    top: 0; left: 50%;
    width: 0; height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold) 35%, var(--color-sage) 65%, transparent 100%);
    transform: translateX(-50%);
    transition: width 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    border-radius: 0 0 2px 2px;
    z-index: 2;
}
.package-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.package-card:hover {
    transform: translateY(-6px);
    border-color: rgba(192,160,98, 0.42);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 32px 60px -24px rgba(47, 53, 59, 0.22),
        0 10px 22px -10px rgba(192,160,98, 0.30);
}
.package-card:hover::before { width: 70%; }

@media (prefers-reduced-motion: reduce) {
    .package-card { opacity: 1; transform: none; transition: none; }
    .package-card:hover { transform: none; }
}

.package-card.popular {
    background:
        radial-gradient(160% 100% at 50% 0%, rgba(192,160,98, 0.18) 0%, rgba(192,160,98, 0) 50%),
        linear-gradient(180deg, #2f353b 0%, #262b30 100%);
    color: #fff;
    border-color: rgba(192,160,98, 0.45);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 22px 50px -18px rgba(0, 0, 0, 0.55),
        0 6px 18px -8px rgba(192,160,98, 0.25);
}
.package-card.popular:hover {
    border-color: rgba(192,160,98, 0.7);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 36px 70px -22px rgba(0, 0, 0, 0.65),
        0 12px 28px -12px rgba(192,160,98, 0.45);
}

.package-card.signature {
    background:
        radial-gradient(160% 100% at 50% 0%, rgba(192,160,98, 0.22) 0%, rgba(192,160,98, 0) 55%),
        linear-gradient(175deg, #2F353B 0%, #1c2126 60%, #2a3137 100%);
    color: #fff;
    border-color: rgba(192,160,98, 0.55);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 28px 60px -20px rgba(0, 0, 0, 0.6),
        0 8px 22px -10px rgba(192,160,98, 0.32);
}
.package-card.signature::before {
    background: linear-gradient(90deg, transparent 0%, var(--color-gold) 50%, transparent 100%);
    width: 50%;
    height: 2px;
}
.package-card.signature:hover {
    border-color: rgba(192,160,98, 0.8);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 40px 80px -24px rgba(0, 0, 0, 0.7),
        0 14px 32px -14px rgba(192,160,98, 0.55);
}
.package-card.signature:hover::before { width: 80%; }


.popular-ribbon {
    position: absolute;
    top: -12px;
    right: 18px;
    z-index: 3;
    background: linear-gradient(135deg, #d4b97a 0%, var(--color-gold) 50%, #a78844 100%);
    color: #fff;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 1.8px;
    padding: 6px 14px;
    text-transform: uppercase;
    border-radius: 999px;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.35) inset,
        0 6px 14px -4px rgba(192,160,98, 0.55),
        0 0 0 1px rgba(255, 255, 255, 0.12);
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
}
.popular-ribbon.gold {
    background: linear-gradient(135deg, #e8d49b 0%, #d4b97a 50%, #b89653 100%);
    color: var(--color-dark);
    text-shadow: none;
}

.package-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background-color: transparent;
    height: auto;
    padding: 0 0 10px;
    border-top: none;
    border-bottom: 1px solid rgba(192,160,98,0.25);
    margin-bottom: 12px;
    position: static;
    z-index: auto;
    justify-content: flex-start;
}
.package-card.popular .package-head,
.package-card.signature .package-head {
    border-bottom-color: rgba(255,255,255,0.15);
    background-color: transparent;
}

.package-tag {
    display: inline-block;
    font-size: 9px; font-weight: 700; letter-spacing: 1.6px;
    color: var(--color-gold); text-transform: uppercase;
    margin-bottom: 7px;
    padding: 2px 6px;
    background-color: transparent;
}
.package-card.popular .package-tag,
.package-card.signature .package-tag {
    color: var(--color-gold);
    background-color: transparent;
}

.package-head h3 {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
    font-size: 14.5px; font-weight: 600;
    color: var(--color-dark); line-height: 1.3;
    margin: 0 0 6px; letter-spacing: 0.2px;
    text-align: center;
}
.package-card.popular .package-head h3,
.package-card.signature .package-head h3 { color: #fff; }

.package-duration {
    font-size: 11px; color: var(--color-grey); margin: 0; font-weight: 500;
    display: flex; align-items: center; justify-content: center; gap: 6px;
}
.package-duration i { color: var(--color-gold); font-size: 11px; }
.package-card.popular .package-duration,
.package-card.signature .package-duration { color: rgba(255,255,255,0.7); }

.package-features {
    list-style: none; padding: 0; margin: 0 0 12px; flex-grow: 1;
    display: flex; flex-direction: column;
}
.package-features li {
    display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center; gap: 7px;
    padding: 7px 0; font-size: 13.5px; font-weight: 700; color: var(--color-dark); line-height: 1.4;
    border-bottom: 1px dashed rgba(47,53,59,0.08);
    text-align: center;
}
.package-features li:last-child { border-bottom: none; margin-top: auto; }
.package-features li i {
    color: var(--color-gold); font-size: 11px; margin-top: 5px; flex-shrink: 0;
}
.feature-detail {
    flex-basis: 100%;
    margin-left: 0;
    text-align: center;
    font-size: 11px; font-weight: 400;
    color: var(--color-grey);
    margin-top: 1px;
    font-style: italic;
}
.package-card.popular .package-features li,
.package-card.signature .package-features li { color: rgba(255,255,255,0.95); border-bottom-color: rgba(255,255,255,0.08); }
.package-card.popular .feature-detail,
.package-card.signature .feature-detail { color: rgba(255,255,255,0.65); }
.package-card.popular .package-features li::before,
.package-card.signature .package-features li::before { display: none; }

.package-price-row {
    display: flex; flex-direction: column; align-items: stretch;
    width: max-content; max-width: 100%;
    margin: 0 auto 3px;
    gap: 3px;
    padding: 10px 0 12px; border-top: 1px solid rgba(192,160,98,0.25);
    text-align: center;
}
.package-card.popular .package-price-row,
.package-card.signature .package-price-row { border-top-color: rgba(255,255,255,0.15); }

.package-price-from {
    display: flex; justify-content: space-between; align-items: center;
    font-size: 9px; color: var(--color-grey); text-transform: uppercase;
    letter-spacing: 0; font-weight: 600;
    padding: 0 2px;
}
.package-price-from .spread-char { display: inline-block; }
.package-card.popular .package-price-from,
.package-card.signature .package-price-from { color: rgba(255,255,255,0.6); }

.package-price {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 26px; font-weight: 700;
    color: var(--color-dark); letter-spacing: 0.2px;
    line-height: 1.1; white-space: nowrap;
    text-align: center;
}
.package-price small { font-size: 10.5px; color: var(--color-grey); font-weight: 400; margin-left: 2px; letter-spacing: 1px; }
.package-card.popular .package-price,
.package-card.signature .package-price { color: var(--color-gold); }
.package-card.popular .package-price small,
.package-card.signature .package-price small { color: rgba(255,255,255,0.6); }

.package-card .btn-cta-gold {
    width: auto; align-self: center; text-align: center; margin-top: 0;
    padding: 10px 18px; font-size: 8.5px; letter-spacing: 1.2px;
}

/* ============================================================
   8. EXCLUSIONS GRID
   ============================================================ */
.exclusions-grid {
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px;
    margin-top: 10px;
}

/* Sage accent — wellness pairing for the gold */
.exclusions-grid { --color-sage: #87a39c; --color-sage-deep: #6e8a83; --color-sage-tint: #e8efec; }

.exclusion-item {
    position: relative;
    padding: 36px 24px 30px;
    text-align: center;
    border: 1px solid rgba(135, 163, 156, 0.20);
    border-radius: 16px;
    background:
        radial-gradient(120% 90% at 50% 0%, rgba(135, 163, 156, 0.12) 0%, rgba(135, 163, 156, 0) 55%),
        linear-gradient(180deg, #fdfbf4 0%, var(--color-cream) 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.7) inset,
        0 18px 36px -22px rgba(47, 53, 59, 0.12),
        0 4px 10px -6px rgba(135, 163, 156, 0.14);
    overflow: hidden;
    transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
                box-shadow 0.45s ease,
                border-color 0.4s ease;
}
.exclusion-item::before {
    content: "";
    position: absolute;
    top: 0; left: 50%;
    width: 0; height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold) 35%, var(--color-sage) 65%, transparent 100%);
    transform: translateX(-50%);
    transition: width 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
    border-radius: 0 0 2px 2px;
}
.exclusion-item:hover {
    transform: translateY(-4px);
    border-color: rgba(135, 163, 156, 0.55);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.7) inset,
        0 30px 50px -22px rgba(47, 53, 59, 0.18),
        0 8px 18px -8px rgba(135, 163, 156, 0.32);
}
.exclusion-item:hover::before {
    width: 70%;
}

.exclusion-item i {
    position: relative;
    z-index: 1;
    font-size: 22px;
    color: var(--color-gold);
    margin-bottom: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(145deg, #ffffff 0%, var(--color-sage-tint) 100%);
    box-shadow:
        0 1px 0 #fff inset,
        0 6px 14px -6px rgba(135, 163, 156, 0.40),
        0 0 0 1px rgba(135, 163, 156, 0.22);
    transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1),
                box-shadow 0.4s ease,
                color 0.4s ease;
}
.exclusion-item:hover i {
    transform: scale(1.08) rotate(-4deg);
    color: var(--color-sage-deep);
    box-shadow:
        0 1px 0 #fff inset,
        0 10px 20px -8px rgba(135, 163, 156, 0.60),
        0 0 0 1px rgba(135, 163, 156, 0.40);
}

.exclusion-item h3 {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 600;
    color: var(--color-dark); margin: 0 0 10px; letter-spacing: 0.2px;
}

.exclusion-item p {
    font-size: 13px; color: var(--color-grey); line-height: 1.65; margin: 0;
}
.exclusion-item p strong { color: var(--color-dark); font-weight: 700; }

/* ============================================================
   9. CREDENTIALS STRIP (dark)
   ============================================================ */
.credentials-strip { background-color: var(--color-dark); padding: 90px 40px; }
.credentials-strip .section-subtitle { max-width: 800px; margin-bottom: 40px; }

.credentials-row {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    gap: 30px 55px; margin-top: 30px; margin-bottom: 10px;
}

.credentials-row img {
    max-height: 65px; width: auto; max-width: 140px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.85;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.credentials-row img:hover {
    opacity: 1;
    transform: scale(1.06);
}

/* ============================================================
   10. FAQ
   ============================================================ */
.faq-wrapper { max-width: 900px; margin: 30px auto 0; }

.faq-item { border-bottom: 1px solid #e5e5e5; padding: 5px 0; }

.faq-item summary {
    list-style: none; cursor: pointer; padding: 22px 10px;
    font-size: 16px; font-weight: 600; color: var(--color-dark);
    display: flex; justify-content: space-between; align-items: center;
    gap: 15px; transition: color 0.3s ease;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: var(--color-gold); }

.faq-item summary i {
    color: var(--color-gold); font-size: 14px; flex-shrink: 0;
    transition: transform 0.3s ease;
}
.faq-item[open] summary i { transform: rotate(45deg); }

.faq-item p {
    padding: 0 10px 25px; font-size: 14.5px; color: var(--color-grey);
    line-height: 1.8; margin: 0;
}
.faq-item p strong { color: var(--color-dark); font-weight: 600; }

.faq-item .faq-list {
    list-style: none; padding: 0 10px; margin: 10px 0 18px;
}
.faq-item .faq-list li {
    position: relative; padding: 8px 0 8px 22px;
    font-size: 14.5px; color: var(--color-grey); line-height: 1.75;
    border-bottom: 1px dashed rgba(47,53,59,0.08);
}
.faq-item .faq-list li:last-child { border-bottom: none; }
.faq-item .faq-list li::before {
    content: ''; position: absolute; left: 0; top: 17px;
    width: 6px; height: 6px; background-color: var(--color-gold); border-radius: 50%;
}
.faq-item .faq-list li strong { color: var(--color-dark); font-weight: 600; }

/* ============================================================
   11. LATEST BLOG CAROUSEL
   ============================================================ */
.latest-blog-section { background-color: #fff; padding: 90px 40px 100px; max-width: 1400px; margin: 0 auto; }
.latest-blog-header { margin-bottom: 50px; }
.latest-blog-kicker {
    display: block; font-size: 13px; font-weight: 600;
    color: var(--color-gold); text-transform: uppercase; letter-spacing: 3px; margin-bottom: 10px;
}
.latest-blog-title {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 48px; font-weight: 700;
    color: var(--color-dark); line-height: 1.15; margin: 0;
}

.latest-blog-wrapper { position: relative; }

.latest-blog-track {
    display: flex; gap: 40px; overflow-x: auto;
    scroll-behavior: smooth; scroll-snap-type: x mandatory;
    padding: 10px 4px 20px; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; -ms-overflow-style: none;
}
.latest-blog-track::-webkit-scrollbar { display: none; }

.latest-blog-track .card {
    flex: 0 0 calc((100% - 120px) / 4); scroll-snap-align: start;
    background: #fff; display: flex; flex-direction: column;
    box-shadow: none;
}

.latest-blog-track .card-link-wrap {
    display: flex; flex-direction: column; text-decoration: none; color: inherit; height: 100%;
}

.latest-blog-track .image-wrapper {
    position: relative; width: 100%; height: 200px; overflow: hidden;
}
.latest-blog-track .image-wrapper img {
    width: 100%; height: 100%; object-fit: cover;
}

.latest-blog-track .date-badge {
    position: absolute; top: 15px; left: 15px;
    background-color: #fff; border: 2px solid var(--color-dark);
    width: 50px; height: 55px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    z-index: 10; line-height: 1;
}
.latest-blog-track .date-day { font-size: 20px; font-weight: 700; color: var(--color-dark); margin-bottom: 2px; }
.latest-blog-track .date-month { font-size: 10px; text-transform: uppercase; font-weight: 600; color: var(--color-dark); }

.latest-blog-track .card-content { padding: 20px 15px; text-align: center; flex: 1; display: flex; flex-direction: column; }
.latest-blog-track .card-title { font-size: 16px; font-weight: 700; color: var(--color-dark); margin-bottom: 12px; line-height: 1.4; }
.latest-blog-track .separator { width: 40px; height: 2px; background-color: var(--color-gold); margin: 0 auto 15px auto; }
.latest-blog-track .card-excerpt { font-size: 13px; color: var(--color-grey); line-height: 1.5; flex: 1; margin: 0 0 15px; }
.latest-blog-track .card-meta { font-size: 12px; color: var(--color-grey); margin-top: auto; padding-top: 10px; }

.latest-blog-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 44px; height: 44px; border-radius: 50%; border: none;
    background-color: #f4f1ea; color: var(--color-gold);
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    z-index: 5; transition: all 0.3s ease;
}
.latest-blog-btn:hover { background-color: var(--color-gold); color: #fff; }
.latest-blog-btn.prev { left: -22px; }
.latest-blog-btn.next { right: -22px; }
.latest-blog-btn i { font-size: 14px; }
.latest-blog-btn:disabled { opacity: 0.3; cursor: not-allowed; }
.latest-blog-btn:disabled:hover { background-color: #f4f1ea; color: var(--color-gold); }

/* ============================================================
   12. FOOTER
   ============================================================ */
footer { padding: 0; background-color: transparent; border-top: none; width: 100%; }
.footer-cta-bar { background-color: var(--color-grey-dark); padding: 50px 10%; display: flex; align-items: center; justify-content: space-between; color: #fff; flex-wrap: wrap; gap: 30px; }
.cta-content h2 { font-size: 30px; font-weight: 300; line-height: 1.3; max-width: 1200px; margin: 0; text-align: left; }
.btn-footer-cta { display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--color-gold); padding: 12px 30px; color: #fff; background: var(--color-gold); text-decoration: none; text-transform: uppercase; font-size: 12px; letter-spacing: 1px; transition: all 0.3s ease; }
.btn-footer-cta:hover { background: #fff; color: var(--color-grey); border-color: #fff; }
.footer-info-section { background-color: #fff; padding: 80px 40px 30px 40px; color: var(--color-dark); }
.footer-grid-wrapper { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 60px; border-bottom: 1px solid #dcdcdc; padding-bottom: 60px; margin-bottom: 30px; align-items: flex-start; }
.f-col-identity { display: flex; flex-direction: column; align-items: flex-start; gap: 25px; }
.f-brand-block { display: flex; align-items: center; gap: 8px; text-decoration: none; color: var(--color-slate); margin-bottom: 10px; }
.f-brand-icon-ft { width: 40px; height: 40px; color: var(--color-slate); }
.f-brand-text-ft { display: flex; flex-direction: column; line-height: 1; align-items: flex-start; }
.f-name-ft { font-size: 24px; letter-spacing: 1px; font-weight: 400; }
.f-sub-ft { font-size: 9px; letter-spacing: 2.85px; text-transform: uppercase; margin-top: 2px; margin-left: 1px; }
.f-address-box p { font-size: 13px; color: var(--color-grey); line-height: 1.6; margin-bottom: 5px; }
.f-address-box .highlight { color: var(--color-dark); font-weight: 600; margin-top: 10px; display: block; }
.f-socials-row { display: flex; gap: 15px; margin-top: 10px; }
.f-socials-row a { color: var(--color-slate); font-size: 18px; transition: color 0.3s; text-decoration: none; }
.f-socials-row a:hover { color: var(--color-gold); }
.f-col-links h4 { font-size: 14px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 25px; color: var(--color-slate); font-weight: 700; }
.f-link-list { list-style: none; padding: 0; margin: 0; }
.f-link-list li { margin-bottom: 10px; }
.f-link-list li a { font-size: 13px; color: var(--color-grey); text-decoration: none; transition: color 0.3s; position: relative; }
.f-link-list li a::before { display: none; }
.f-link-list li a:hover { color: var(--color-gold); padding-left: 0; }
.f-group-title { font-size: 13px; color: var(--color-slate); font-weight: 700; margin-top: 25px; margin-bottom: 15px; display: block; text-transform: uppercase; letter-spacing: 0.5px; }
.mt-0 { margin-top: 0 !important; }
.footer-legal-row { text-align: center; font-size: 11px; color: #999; }
.footer-legal-row a { color: #999; text-decoration: none; margin-left: 10px; transition: color 0.3s; }
.footer-legal-row a:hover { color: var(--color-gold); }

/* ============================================================
   13. RESPONSIVE — TABLET
   ============================================================ */
@media (max-width: 1024px) {
    li a::before { display: none !important; }
    li a:hover { padding-left: 0 !important; }

    header { justify-content: space-between; padding: 0 20px; height: 90px; position: fixed; top: 0; left: 0; width: 100%; border-bottom: 1px solid #e5e5e5; z-index: 2000; }
    body { padding-top: 90px; }
    .brand-logo { position: static; left: auto; }
    .brand-icon { width: 35px; height: 35px; }
    .brand-name { font-size: 18px; letter-spacing: 2px; }
    .brand-sub { font-size: 7px; letter-spacing: 3px; }
    .hamburger { display: flex; }
    .navbar { position: fixed; top: 90px; left: 0; width: 100%; height: calc(100vh - 90px); background-color: #fff; flex-direction: column; align-items: flex-start; padding: 40px; transform: translateX(-100%); transition: transform 0.4s ease; overflow-y: auto; gap: 0; z-index: 1999; margin-left: 0; }
    .navbar.active { transform: translateX(0); }
    .nav-wrapper-mega, .nav-wrapper-simple { width: 100%; height: auto; flex-direction: column; align-items: flex-start; border-bottom: 1px solid #f0f0f0; }
    .nav-link { width: 100%; padding: 20px 0; justify-content: space-between; font-size: 16px; }
    .btn-book { position: relative; right: auto; top: auto; transform: none; margin-top: 20px; width: 100%; text-align: center; padding: 15px; }
    .dropdown-menu, .dropdown-menu.mega-style, .dropdown-menu.simple-style { position: static; width: 100%; box-shadow: none; padding: 0; visibility: visible; opacity: 1; transform: none; display: none; background-color: #ffffff; padding-left: 15px; }
    .column-title { color: var(--color-dark); margin-top: 10px; margin-bottom: 10px; }
    li a { color: #444; }
    .dropdown-menu.mega-style { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
    .dropdown-menu.simple-style { padding: 20px; }
    .nav-wrapper-mega.open .dropdown-menu { display: block; }
    .nav-wrapper-mega.open .dropdown-menu.mega-style { display: grid; }
    .nav-wrapper-simple.open .dropdown-menu { display: block; }
    .nav-wrapper-mega.open .nav-link i, .nav-wrapper-simple.open .nav-link i { transform: rotate(180deg); }

    .packages-hero { min-height: auto; padding: 90px 24px 60px; }
    .packages-hero .hero-eyebrow-gold { font-size: 14px; margin-bottom: 12px; }
    .packages-hero .hero-main-white { font-size: 34px; letter-spacing: -0.8px; }
    .packages-hero p { font-size: 15px; }
    .packages-breadcrumb { padding: 14px 16px 0; }
    .packages-breadcrumb-inner { padding: 0; }
    .packages-breadcrumb ol { font-size: 13px; }

    .stats-band { margin-top: 32px; padding-top: 24px; max-width: 560px; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 20px; max-width: 560px; }
    .stat-item + .stat-item::before { display: none; }
    .stat-number { font-size: 26px; }
    .stat-label { font-size: 10px; letter-spacing: 1.2px; }

    .two-col { grid-template-columns: 1fr; gap: 40px; }
    .content-section { padding: 70px 30px; }

    .packages-grid, .packages-grid-2 { grid-template-columns: repeat(2, 1fr); gap: 25px; max-width: 100%; }

    /* Reset desktop 8-col trick on tablet */
    .bg-body-packages .packages-grid { grid-template-columns: repeat(2, 1fr); }
    .bg-body-packages .packages-grid .package-card,
    .bg-body-packages .packages-grid .package-card:nth-child(5) { grid-column: auto; }

    /* Signature centered in last row on tablet (2 cols) */
    .bg-body-packages .packages-grid .package-card.signature {
        grid-column: 1 / -1;
        max-width: calc(50% - 12.5px);
        margin: 0 auto;
    }

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

    .credentials-strip { padding: 70px 30px; }
    .credentials-row { gap: 25px 40px; }
    .credentials-row img { max-height: 55px; max-width: 120px; }

    .latest-blog-section { padding: 70px 30px 80px; }
    .latest-blog-title { font-size: 38px; }
    .latest-blog-track .card { flex: 0 0 calc((100% - 30px) / 2); }
    .latest-blog-track { gap: 30px; }
    .latest-blog-btn { top: 100px; }
    .latest-blog-btn.prev { left: -12px; }
    .latest-blog-btn.next { right: -12px; }

    .footer-cta-bar { flex-direction: column; text-align: center; justify-content: center; padding: 32px 20px; gap: 20px; }
    .cta-content h2 { font-size: 22px; line-height: 1.3; text-align: center; }
    .footer-grid-wrapper { grid-template-columns: repeat(3, 1fr) !important; gap: 20px; text-align: left !important; padding-bottom: 40px; }
    .f-col-identity { grid-column: span 3; align-items: center !important; border-bottom: 1px solid #ddd; padding-bottom: 20px; margin-bottom: 10px; width: 100%; text-align: center !important; }
    .f-col-links { align-items: flex-start !important; text-align: left !important; }
    .f-col-links h4, .f-group-title { text-align: left !important; font-size: 11px; }
    .f-link-list li a { justify-content: flex-start !important; text-align: left; padding-left: 0 !important; font-size: 11px; }
    .f-link-list li a:hover { padding-left: 0 !important; color: var(--color-gold); }
}

/* ============================================================
   14. RESPONSIVE — MOBILE
   ============================================================ */
@media (max-width: 768px) {
    /* Centrage des textes en version mobile */
    .featured-package-card .btn-cta-gold { align-self: center; width: auto; }
    .price-category { text-align: center; }
    .why-principles-grid, .why-principles-grid h3, .why-principles-grid p { text-align: center !important; }
    .dental-trust-strip { justify-content: center; }

    .packages-hero { padding: 80px 18px 50px; }
    .packages-hero .hero-main-white { font-size: 28px; }
    .packages-hero p { font-size: 14px; max-width: 95%; }
    .packages-breadcrumb { padding: 12px 14px 0; }

    .stats-band { margin-top: 26px; padding-top: 20px; max-width: 90%; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 20px 15px; max-width: 90%; }
    .stat-number { font-size: 22px; }
    .stat-label { font-size: 9px; letter-spacing: 1px; }

    .content-section { padding: 60px 20px; }
    .content-container h2, .centered-title { font-size: 26px; }

    .included-item { padding: 6px 4px; }
    .included-item span { font-size: 15px; }

    .packages-grid, .packages-grid-2 { grid-template-columns: 1fr; gap: 22px; }
    .package-card { padding: 30px 25px 28px; }
    .package-head { min-height: 0; }
    .package-head h3 { font-size: 20px; min-height: 0; }
    .package-price { font-size: 24px; }

    /* Reset desktop 8-col trick on mobile */
    .bg-body-packages .packages-grid { grid-template-columns: 1fr; }
    .bg-body-packages .packages-grid .package-card,
    .bg-body-packages .packages-grid .package-card:nth-child(5) { grid-column: auto; }

    /* Signature reset on mobile (single col) */
    .bg-body-packages .packages-grid .package-card.signature {
        grid-column: auto;
        max-width: 100%;
        margin: 0;
    }

    .exclusions-grid { grid-template-columns: 1fr 1fr; gap: 15px; }
    .exclusion-item { padding: 25px 18px; }
    /* Mobile : déplacer Compression Garments (5e) entre Pre-op Blood Tests (3e) et Post-op Medications (4e) */
    .exclusion-item:nth-child(4) { order: 5; }
    .exclusion-item:nth-child(5) { order: 4; }

    .credentials-strip { padding: 55px 20px; }
    .credentials-row { gap: 20px 28px; }
    .credentials-row img { max-height: 42px; max-width: 95px; }

    .faq-item summary { font-size: 14.5px; padding: 18px 5px; }
    .faq-item p { font-size: 13.5px; padding: 0 5px 20px; }

    .latest-blog-section { padding: 55px 20px 65px; }
    .latest-blog-header { margin-bottom: 35px; }
    .latest-blog-title { font-size: 30px; }
    .latest-blog-track .card { flex: 0 0 100%; }
    .latest-blog-track { gap: 20px; }
    .latest-blog-btn { width: 40px; height: 40px; top: 100px; }
    .latest-blog-btn.prev { left: 8px; }
    .latest-blog-btn.next { right: 8px; }

    .footer-grid-wrapper { grid-template-columns: repeat(3, 1fr) !important; gap: 10px !important; padding-left: 10px; padding-right: 10px; }
    .f-col-identity { grid-column: span 3 !important; text-align: center !important; align-items: center !important; border-bottom: 1px solid #ddd; padding-bottom: 30px; margin-bottom: 10px; width: 100%; }
    .f-col-identity .f-address-box { width: 100%; text-align: center; }
    .f-col-identity .f-address-box p { font-size: 15px; line-height: 1.7; }
    .f-col-identity .f-socials-row { justify-content: center; width: 100%; }
    .f-col-links h4, .f-group-title { font-size: 11px; }
    .f-link-list li a { font-size: 11px; }
    .footer-info-section { padding: 50px 20px 20px; }
}

/* Transgender packages : 4 cartes sur une seule ligne */
#transgender-packages .packages-grid { grid-template-columns: repeat(3, 1fr); max-width: 890px; gap: 16px; }
@media (max-width: 1024px) { #transgender-packages .packages-grid { grid-template-columns: repeat(2, 1fr); max-width: 620px; } }
@media (max-width: 600px)  { #transgender-packages .packages-grid { grid-template-columns: 1fr; max-width: 100%; } }
