/* =========================================================
   Mountain Batur Adventure — Design System
   Tokens verified directly from the reference site's own
   production CSS bundle (Tailwind v4 @theme variables).
   ========================================================= */

:root{
  --teal-50:#f0fdfa; --teal-100:#ccfbf1; --teal-200:#99f6e4; --teal-300:#5eead4; --teal-400:#2dd4bf;
  --teal-500:#14b8a6; --teal-600:#0d9488; --teal-700:#0f766e; --teal-800:#115e59; --teal-900:#134e4a;
  --burnt-50:#fdf8f0; --burnt-100:#faecd6; --burnt-300:#edb86e; --burnt-400:#e5993a; --burnt-500:#d97706; --burnt-600:#b45309;
  --accent-1:#b8632f; --accent-2:#ee7d3f;
  --sand-50:#fefdf8; --sand-100:#fdf9ed; --sand-200:#faf3d7;
  --red-50:#fef2f2; --red-100:#ffe2e2; --red-500:#fb2c36; --red-700:#bf000f; --red-800:#9f0712;
  --green-500:#00c758; --green-600:#00a544;
  --font-display:'Cabinet Grotesk', 'General Sans', sans-serif;
  --font-body:'General Sans', sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--sand-50);
  color:var(--teal-800);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);margin:0}
p{margin:0}
ul{list-style:none;margin:0;padding:0}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit}

.container{max-width:1280px;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.container{padding:0 1.5rem}}
@media(min-width:1024px){.container{padding:0 2rem}}

.section{padding:4rem 0}
@media(min-width:768px){.section{padding:6rem 0}}

.eyebrow{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--burnt-500)}
.eyebrow-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--burnt-50);border:1px solid var(--burnt-100);color:var(--burnt-500);padding:.4rem 1rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}
.section-title{font-weight:700;color:var(--teal-800);letter-spacing:-0.02em;margin-top:.5rem;font-size:1.875rem;line-height:1.15}
@media(min-width:768px){.section-title{font-size:2.25rem}}
@media(min-width:1024px){.section-title{font-size:3rem}}
.section-lead{color:var(--teal-600);margin-top:.75rem;font-size:.9rem;line-height:1.7}
.story-lead{margin-top:1rem;line-height:1.8}
@media(min-width:768px){.section-lead{font-size:1rem}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;font-weight:600;font-size:.875rem;padding:.85rem 1.75rem;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;border:none;cursor:pointer;line-height:1}
.btn-primary{background:var(--burnt-500);color:#fff;box-shadow:0 10px 30px rgba(184,99,47,.18)}
.btn-primary:hover{background:var(--burnt-600);color:#fff}
.btn-secondary{background:var(--teal-500);color:#fff;box-shadow:0 10px 30px rgba(20,184,166,.18)}
.btn-secondary:hover{background:var(--teal-600);color:#fff}
.btn-outline{display:inline-flex;align-items:center;gap:.3rem;background:#fff;border:1px solid var(--sand-200);color:var(--teal-700);padding:.6rem 1rem;border-radius:.75rem;font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap}
.btn-outline:hover{border-color:var(--teal-300);color:var(--teal-800)}
.btn-outline svg,.btn-outline i{width:.85rem;height:.85rem;flex-shrink:0}
.btn-ghost-light{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff}
.btn-ghost-light:hover{background:rgba(255,255,255,.2);color:#fff}
.btn-icon{width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:.75rem;background:var(--teal-500);color:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background .2s,transform .2s}
.btn-icon:hover{background:var(--teal-600);transform:scale(1.06)}
.btn-icon svg,.btn-icon i{width:1.1rem;height:1.1rem}
@media(min-width:768px){.btn-icon{width:2.75rem;height:2.75rem}}
.btn-block{width:100%}
.arrow-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--burnt-500);font-weight:600;font-size:.875rem;text-decoration:none;transition:gap .2s}
.arrow-link:hover{gap:.75rem;color:var(--burnt-500)}
.section-header-row>.elementor-container{display:flex !important;flex-direction:column !important;justify-content:space-between;margin-bottom:2.5rem}
.section-header-row .arrow-link{margin-top:1rem}
.packages-lead{max-width:32rem}
.why-lead{max-width:28rem}

/* ---------- Header / Nav ---------- */
.site-header{position:fixed;top:0;left:0;right:0;background:#fff;z-index:500;border-bottom:1px solid var(--sand-200);box-shadow:0 2px 20px rgba(45,90,90,.06);animation:slideDown .5s ease both}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
@media(min-width:768px){.nav-wrap{height:80px}}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand img{width:36px;height:36px;object-fit:cover;border-radius:.5rem}
@media(min-width:768px){.brand img{width:44px;height:44px}}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--font-display);font-weight:700;color:var(--teal-700);font-size:1rem}
@media(min-width:768px){.brand-name{font-size:1.125rem}}
.brand-sub{font-size:.65rem;color:var(--teal-400);letter-spacing:.18em;text-transform:uppercase;display:none;font-weight:500}
@media(min-width:640px){.brand-sub{display:block}}
.nav-links{display:none;align-items:center;gap:2rem}
@media(min-width:1024px){.nav-links{display:flex}}
.nav-links li,.mobile-menu li{list-style:none;margin:0;padding:0}
.nav-links a{position:relative;font-size:.875rem;font-weight:500;color:var(--teal-600);text-decoration:none;padding-bottom:4px}
.nav-links a:hover{color:var(--teal-700)}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--accent-1);transition:width .3s}
.nav-links a:hover::after{width:100%}
.nav-links li.current-menu-item > a{color:var(--teal-700)}
.nav-actions{display:flex;align-items:center;gap:.65rem}
.lang-btn{background:var(--burnt-500) !important;color:#fff !important;border-radius:9999px !important;padding:.55rem .85rem !important;border:none !important;font-size:.8rem;font-weight:600 !important;display:inline-flex;align-items:center;gap:.35rem;transition:background .2s;font-family:var(--font-body)}
.lang-btn:hover{background:var(--burnt-600) !important}
.lang-dropdown-wrap{position:relative}
.lang-dropdown{display:none;position:absolute;top:calc(100% + .6rem);right:0;background:#fff;border-radius:.85rem;box-shadow:0 18px 40px rgba(15,55,50,.18);border:1px solid var(--sand-100);min-width:12rem;max-height:16.5rem;overflow-y:auto;z-index:60;padding:.4rem}
.lang-dropdown.is-open{display:block}
.lang-dropdown-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .65rem !important;background:none !important;border:none !important;border-radius:.55rem !important;text-align:left;cursor:pointer;font-family:var(--font-body);transition:background .15s}
.lang-dropdown-item:hover{background:var(--teal-50) !important}
.lang-dropdown-item.is-selected{background:var(--teal-50) !important}
.lang-code{font-size:.7rem;font-weight:700;color:var(--sand-500,#78716c);width:1.6rem;flex-shrink:0}
.lang-dropdown-item.is-selected .lang-code{color:var(--teal-700)}
.lang-name{flex:1;font-size:.85rem;font-weight:500;color:var(--teal-900)}
.lang-dropdown-item.is-selected .lang-name{color:var(--teal-700);font-weight:600}
.lang-check{color:var(--teal-600);flex-shrink:0;visibility:hidden}
.lang-dropdown-item.is-selected .lang-check{visibility:visible}
.btn-book-header{display:none}
@media(min-width:640px){.btn-book-header{display:inline-flex;padding:.6rem 1.25rem}}
.hamburger-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem !important;border:none !important;background:none !important;border-radius:.5rem !important;color:var(--teal-700) !important}
.hamburger-btn:hover{background:var(--sand-100)}
@media(min-width:1024px){.hamburger-btn{display:none}}
.mobile-menu{display:none;border-top:1px solid var(--sand-200);margin-top:.5rem;padding:1rem 0}
.mobile-menu.is-open{display:block}
.mobile-menu a{display:block;padding:.6rem 0;font-size:.9rem;font-weight:500;color:var(--teal-700);text-decoration:none}

/* ---------- Hero (home) ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:5rem;overflow:hidden;background:var(--teal-900) center/cover no-repeat}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.6)}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.hero-inner{position:relative;z-index:10;max-width:48rem}
.badge-pill{display:inline-flex !important;width:fit-content !important;max-width:max-content !important;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;padding:.4rem 1rem;border-radius:9999px;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(4px);margin-bottom:1.5rem}
.hero h1{font-weight:700;color:#fff !important;line-height:1;letter-spacing:-0.02em;margin:0}
.hero h1 span{display:block;font-size:2.25rem;margin-top:.25rem}
.hero h1 span:first-child{margin-top:0}
@media(min-width:640px){.hero h1 span{font-size:3rem}}
@media(min-width:768px){.hero h1 span{font-size:3.75rem}}
@media(min-width:1024px){.hero h1 span{font-size:4.5rem}}
.hero h1 .accent{color:var(--burnt-300)}
.hero .lead{color:rgba(255,255,255,.85);margin-top:1.25rem;max-width:32rem;line-height:1.7;font-size:1rem}
.hero-ctas{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1.75rem}
@media(min-width:640px){.hero-ctas{flex-direction:row;align-items:center}}
.wa-text-link{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:500;text-decoration:none;font-size:.9rem}
.icon-circle-lg{width:2.5rem;height:2.5rem;border-radius:9999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;color:#fff}
@media(min-width:768px){.icon-circle-lg{width:3rem;height:3rem}}

/* ---------- Interior page hero (About / Contact / Package / Blog) ---------- */
.page-hero{position:relative;padding:9rem 0 3.5rem;overflow:hidden;background:var(--teal-900) center/cover no-repeat}
.page-hero .hero-bg-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(9,33,31,.55) 0%, rgba(9,33,31,.85) 100%)}
.page-hero .inner{position:relative;z-index:1;text-align:center}
.breadcrumb-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;margin-bottom:1.25rem;font-size:.75rem}
.breadcrumb-hero a{color:rgba(255,255,255,.7);text-decoration:none;font-weight:500}
.breadcrumb-hero a:hover{color:#fff}
.breadcrumb-hero .crumb-current{color:#fff;font-weight:600;font-family:var(--font-display)}
.breadcrumb-hero .crumb-sep{color:rgba(255,255,255,.4);margin:0 .4rem}
.breadcrumb-hero .crumb-sep::before{content:'\203A'}
.page-hero h1{font-weight:700;color:#fff !important;font-size:2.25rem;max-width:48rem;margin:0 auto;letter-spacing:-.02em}
@media(min-width:768px){.page-hero h1{font-size:3rem}}
@media(min-width:1024px){.page-hero h1{font-size:3.75rem}}
.page-hero h1 .accent{color:var(--burnt-300)}
.page-hero .lead{color:rgba(255,255,255,.8);margin:1rem auto 0;max-width:40rem;font-size:1rem;line-height:1.7}
.hero-meta-row{display:flex;align-items:center;gap:.4rem;margin:1rem 0;color:rgba(255,255,255,.8);font-size:.8rem}
.hero-price-row{display:flex;align-items:baseline;gap:.4rem;margin-top:.5rem}
.hero-price-row .from-label{color:rgba(255,255,255,.6);font-size:.85rem}
.hero-price-row .price{color:#fff;font-weight:700;font-size:1.875rem}
.hero-price-row .unit{color:rgba(255,255,255,.6);font-size:.85rem}

/* ---------- Plain/light page intro (no background image) ---------- */
.page-intro{padding:8rem 0 3rem;text-align:center;background:linear-gradient(180deg, var(--teal-50) 0%, var(--sand-50) 100%)}
.page-intro .breadcrumb-hero{justify-content:center;margin-bottom:1.5rem}
.page-intro .breadcrumb-hero a{color:var(--teal-600)}
.page-intro .breadcrumb-hero a:hover{color:var(--teal-800)}
.page-intro .breadcrumb-hero .crumb-current{color:var(--teal-900)}
.page-intro .breadcrumb-hero .crumb-sep{color:var(--teal-300)}
.page-intro .badge-pill{background:var(--teal-50);border-color:var(--teal-100);color:var(--teal-700);margin-bottom:1.25rem}
.page-intro h1{font-weight:700;color:var(--teal-900) !important;font-size:2.25rem;max-width:100%;white-space:normal;margin:0 auto;letter-spacing:-.02em}
@media(min-width:768px){.page-intro h1{white-space:nowrap}}
@media(min-width:768px){.page-intro h1{font-size:3rem}}
@media(min-width:1024px){.page-intro h1{font-size:3.75rem}}
.page-intro .lead{color:var(--teal-600);margin:1rem auto 0;max-width:34rem;font-size:1rem;line-height:1.7}

/* ---------- Package cards ---------- */
/* Elementor's own .elementor-widget-wrap uses align-items:flex-start (not
   stretch), so a widget placed directly in a column — like the [mba_package_grid]
   / [mba_popular_packages] shortcode widgets — shrinks to fit its content's
   natural width instead of filling the column. That made the grid size itself
   to its narrowest possible content width rather than the full container. */
.elementor-widget-shortcode{width:100%}
.elementor-shortcode{width:100%;display:block}
.elementor-widget-html{width:100%}
.package-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;width:100%;box-sizing:border-box}
@media(min-width:640px){.package-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.package-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}}
.package-grid.grid-2col{grid-template-columns:1fr}
@media(min-width:640px){.package-grid.grid-2col{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.package-grid.grid-2col{grid-template-columns:repeat(2,1fr)}}
.package-grid.grid-3col{grid-template-columns:1fr}
@media(min-width:640px){.package-grid.grid-3col{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.package-grid.grid-3col{grid-template-columns:repeat(3,1fr)}}

.package-card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s;text-decoration:none;display:block}
@media(min-width:768px){.package-card{border-radius:1.5rem}}
.package-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(45,90,90,.18)}
.package-card .img-wrap{position:relative;overflow:hidden}
.package-card .img-wrap img{width:100%;height:11rem;object-fit:cover;transition:transform .4s}
@media(min-width:768px){.package-card .img-wrap img{height:13rem}}
.package-card:hover .img-wrap img{transform:scale(1.06)}
/* Soft dark scrim over the bottom of the card photo, matching the reference
   site's own overlay (from-black/40 to transparent, bottom to top). */
.package-card .img-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.4),transparent);pointer-events:none}
.badge-category{position:absolute;top:.75rem;left:.75rem;color:#fff;font-size:.7rem;font-weight:700;padding:.3rem .8rem;border-radius:9999px}
.badge-teal-700{background:var(--teal-700)}
.badge-teal-600{background:var(--teal-600)}
.package-card .body{padding:1.1rem}
@media(min-width:768px){.package-card .body{padding:1.25rem}}
.package-card h3{font-weight:700;color:var(--teal-800);font-size:1rem;letter-spacing:-.01em}
@media(min-width:768px){.package-card h3{font-size:1.125rem}}
.package-card .desc{color:var(--teal-500);font-size:.75rem;margin-top:.4rem;line-height:1.6}
.card-footer-row{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--sand-200)}
/* Matches the reference site's own package-card Detail button padding
   (px-3 py-2, tighter than the generic .btn-outline used elsewhere e.g. the
   Kontak page's "Open in Maps") — the wider generic padding was just wide
   enough to push the icon-button variant onto its own line inside a
   4-column card instead of sitting on the same row as the price. */
.card-actions .btn-outline{padding:.5rem .75rem}
/* Homepage cards only (icon WhatsApp button, not the "Pesan" text variant
   used on the Paket Tour listing) — force price and actions to always share
   one row instead of allowing flex-wrap to drop actions onto their own line
   whenever the row is a little tight. Scoped narrowly so the listing page's
   footer row (still needs to wrap sometimes with the wider "Pesan" button)
   is completely untouched. */
.card-footer-row-icon{flex-wrap:nowrap}
.card-footer-row-icon .card-actions{flex-shrink:0}
.card-footer-row-icon > div:first-child{min-width:0}
/* Homepage price matches the reference site's own homepage card (burnt/orange),
   which differs from the Paket Tour listing page's own reference (teal) —
   same per-page difference already established for the category badge. */
.card-footer-row-icon .price-value{color:var(--burnt-500)}
.card-footer-row-icon .price-unit{display:none}
.price-label{font-size:.7rem;color:var(--teal-500);display:block}
.price-value{font-weight:700;color:var(--teal-900);font-size:1.125rem;display:block}
@media(min-width:768px){.price-value{font-size:1.25rem}}
.price-value .price-unit{font-weight:500;color:var(--teal-400);font-size:.7rem}
.card-actions{display:flex;align-items:center;gap:.5rem}

/* ---------- Stats band ---------- */
.stats-band{background:var(--teal-500);padding:2.5rem 0;position:relative;overflow:hidden}
@media(min-width:768px){.stats-band{padding:3.5rem 0}}
.stats-glow{position:absolute;inset:0;opacity:.1;pointer-events:none}
.stats-glow span{position:absolute;border-radius:9999px;background:#fff;filter:blur(60px)}
.stats-glow span:first-child{top:0;left:0;width:16rem;height:16rem}
.stats-glow span:last-child{bottom:0;right:0;width:24rem;height:16rem}
.stats-grid>.elementor-container{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:1.5rem;max-width:64rem;margin:0 auto;position:relative;z-index:1}
@media(min-width:768px){.stats-grid>.elementor-container{grid-template-columns:repeat(4,1fr) !important;gap:2rem}}
.stat-item{text-align:center}
.stat-icon{width:3rem;height:3rem;border-radius:1rem;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;color:#fff}
@media(min-width:768px){.stat-icon{width:3.5rem;height:3.5rem}}
.stat-value{font-weight:700;color:#fff;font-size:1.875rem;display:block}
@media(min-width:768px){.stat-value{font-size:2.25rem}}
.stat-label{color:var(--teal-100);font-size:.75rem;margin-top:.25rem;display:block}

/* ---------- Why choose us ---------- */
.why-grid>.elementor-container{display:grid !important;grid-template-columns:1fr !important;gap:2.5rem;align-items:center}
@media(min-width:1024px){.why-grid>.elementor-container{grid-template-columns:1fr 1fr !important;gap:4rem}}
/* Two native Elementor rows of 2 columns each (see mba_build_beranda_elementor_data) — no CSS grid override needed here. */
.feature-mini-row{margin-bottom:1rem}
.feature-mini-row>.elementor-container{gap:1.25rem}
.feature-mini{background:var(--sand-50);border:1px solid var(--sand-200);border-radius:1rem;padding:1.25rem;transition:transform .3s,box-shadow .3s}
.feature-mini:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(45,90,90,.08)}
.feature-mini .icon-box{width:3rem;height:3rem;border-radius:.75rem;background:var(--burnt-50);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--burnt-500)}
.feature-mini h3{font-weight:700;color:var(--teal-800);font-size:.9rem}
@media(min-width:768px){.feature-mini h3{font-size:1rem}}
.feature-mini p{color:var(--teal-500);font-size:.75rem;margin-top:.5rem;line-height:1.6}

/* Flat, borderless guarantee row (Paket Tour listing "Garansi Kepuasan 100%") */
.package-guarantee-intro{max-width:28rem;margin:0 auto 2.5rem}
.package-guarantee-intro .section-title{font-size:1.5rem}
@media(min-width:768px){.package-guarantee-intro .section-title{font-size:1.875rem}}
.guarantee-row{text-align:center}
/* Grid with staged breakpoints (1 → 2 → 4 columns), not a single-row flex
   that has to cram all 4 items side by side as soon as 640px hits — that
   forced items to fight over space and wrap back into a stack whenever
   their content (especially the description text) needed more room than a
   quarter of the row could offer at tablet-ish widths. */
.guarantee-row>.elementor-container{display:grid !important;grid-template-columns:1fr !important;gap:2.5rem;width:100%}
@media(min-width:640px){.guarantee-row>.elementor-container{grid-template-columns:repeat(2,1fr) !important;gap:2rem}}
@media(min-width:1024px){.guarantee-row>.elementor-container{grid-template-columns:repeat(4,1fr) !important}}
/* Elementor puts the icon/heading/text of each item as separate widgets
   inside its own widget-wrap (flex-direction:row by default) rather than as
   direct children of .guarantee-flat-item, so a flex/align-items rule on
   .guarantee-flat-item itself never reaches them — text ends up centered
   only because text-align:center affects inline text, while the icon box
   (a block-level div) stays stuck at the left. Same fix already proven for
   .stat-icon on the homepage: center the box itself with margin:auto. */
.guarantee-flat-item{text-align:center;flex:0 1 auto;min-width:0;padding:0 .5rem}
/* One uniform icon treatment for all four, matching the reference site
   (bg-teal-50 + border-teal-100 on every item) rather than alternating
   teal/burnt, which read as uneven across the row. */
.guarantee-flat-item .icon-box,
.guarantee-flat-item .icon-box.teal,
.guarantee-flat-item .icon-box.burnt{width:3.5rem;height:3.5rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;background:var(--teal-50);border:1px solid var(--teal-100);color:var(--teal-600)}
.guarantee-flat-item h3{font-weight:700;color:var(--teal-900);font-size:.95rem;margin-bottom:.5rem}
.guarantee-flat-item p{color:var(--teal-600);font-size:.8rem;line-height:1.6;max-width:14rem;margin-left:auto;margin-right:auto}
@media(min-width:1024px){.guarantee-flat-item p.nowrap{white-space:nowrap;max-width:none}}

.feature-icon-grid>.elementor-container{display:grid !important;grid-template-columns:1fr !important;gap:1.5rem}
@media(min-width:640px){.feature-icon-grid>.elementor-container{grid-template-columns:repeat(2,1fr) !important}}
@media(min-width:1024px){.feature-icon-grid>.elementor-container{grid-template-columns:repeat(3,1fr) !important;gap:1.75rem}}
.vm-intro{text-align:center;max-width:32rem;margin:0 auto 2.5rem}
.features-intro{text-align:center;max-width:36rem;margin:0 auto 2.5rem}
.feature-icon-card{background:#fff;border:1px solid var(--sand-200);border-radius:1rem;padding:1.75rem;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:transform .3s,box-shadow .3s}
.feature-icon-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(45,90,90,.1)}
.feature-icon-card .icon-box{width:2.75rem;height:2.75rem;border-radius:.75rem;background:var(--teal-50);color:var(--teal-700);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.feature-icon-card h4{font-weight:700;color:var(--teal-900);font-size:1rem;margin-bottom:.6rem}
.feature-icon-card p{color:var(--teal-600);font-size:.82rem;line-height:1.7}

/* ---------- Testimonials ---------- */
.testimonial-section{background:linear-gradient(135deg,#f0f7f7 0%,#fefdf8 100%);position:relative;overflow:hidden}
.testimonial-glow{position:absolute;top:0;right:0;width:20rem;height:20rem;border-radius:9999px;background:var(--burnt-100);opacity:.2;filter:blur(60px)}
.testimonial-header{text-align:center;max-width:36rem;margin:0 auto}
.avatar-row{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem}
.avatar-stack{display:flex}
.avatar-stack .avatar-circle{margin-left:-.75rem;border:2px solid #fff}
.avatar-stack .avatar-circle:first-child{margin-left:0}
.avatar-circle{width:2.5rem;height:2.5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff}
.testimonial-grid>.elementor-container{display:grid !important;grid-template-columns:1fr !important;gap:1.25rem;margin-top:2.5rem}
@media(min-width:640px){.testimonial-grid>.elementor-container{grid-template-columns:repeat(2,1fr) !important}}
@media(min-width:1024px){.testimonial-grid>.elementor-container{grid-template-columns:repeat(3,1fr) !important;gap:1.5rem}}
.testimonial-card{background:#fff;border-radius:1rem;padding:1.25rem;border:1px solid var(--sand-100);box-shadow:0 1px 3px rgba(0,0,0,.05);transition:transform .3s,box-shadow .3s}
@media(min-width:768px){.testimonial-card{padding:1.5rem}}
.testimonial-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(45,90,90,.15)}
.stars{display:flex;gap:2px;color:var(--burnt-400);margin-bottom:.75rem}
.testimonial-quote{color:var(--teal-700);font-size:.9rem;font-style:italic;line-height:1.6}
.testimonial-person{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--sand-100)}
.testimonial-person .avatar-circle{background:var(--teal-100);color:var(--teal-600)}
.testimonial-person .name{font-weight:600;color:var(--teal-800);font-size:.875rem;display:block}
.testimonial-person .origin{color:var(--teal-400);font-size:.75rem}

/* ---------- Custom package CTA ---------- */
.cta-card{background:var(--teal-800);border-radius:1.5rem;padding:2rem;position:relative;overflow:hidden;width:100%}
@media(min-width:768px){.cta-card{padding:3rem 3.5rem}}
.cta-glow-1{position:absolute;top:0;right:0;width:20rem;height:20rem;background:rgba(15,118,110,.5);border-radius:9999px;filter:blur(60px);transform:translate(50%,-50%)}
.cta-glow-2{position:absolute;bottom:0;left:0;width:15rem;height:15rem;background:rgba(217,119,6,.2);border-radius:9999px;filter:blur(60px)}
.cta-inner{position:relative;z-index:1}
.cta-inner>.elementor-container{display:flex !important;flex-direction:column !important;gap:1.5rem;align-items:center;text-align:center}
@media(min-width:1024px){.cta-inner>.elementor-container{flex-direction:row !important;justify-content:space-between;text-align:left}}
/* Same layout for the plain-markup version of this card (Paket Tour listing
   renders it as one HTML block, so it has no .elementor-container child for
   the rules above to hit) — text left, buttons pushed to the right edge. */
.cta-inner:not(.elementor-section){display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center}
@media(min-width:1024px){.cta-inner:not(.elementor-section){flex-direction:row;justify-content:space-between;align-items:center;text-align:left}}
.cta-inner .badge-pill{margin-bottom:1rem}
/* Elementor's own column/container wrappers default to position:relative,
   which would break our absolutely-positioned decorative glow blobs (they'd
   anchor to the nearest Elementor wrapper instead of the outer section).
   Force those specific wrappers back to static so the glows still anchor to
   the outer section exactly like the original hand-written markup. */
.stats-band .elementor-container,.stats-band .elementor-column,
.testimonial-section .elementor-container,.testimonial-section .elementor-column,
.cta-card .elementor-container,.cta-card .elementor-column{position:static}
.section-white{background:#fff}
.section-notop{padding-top:0}
.cta-inner h2{color:#fff !important;font-weight:700;font-size:1.5rem;margin-bottom:.5rem}
@media(min-width:768px){.cta-inner h2{font-size:1.875rem}}
.cta-inner p{color:var(--teal-200);font-size:.9rem;max-width:32rem;line-height:1.7}
.cta-buttons{display:flex;flex-direction:column;flex-wrap:wrap;gap:.75rem;width:100%}
.cta-card.is-light{background:#fff;border:1px solid var(--sand-200)}
.cta-card.is-light .cta-inner h2{color:var(--teal-900)}
.cta-card.is-light .cta-inner p{color:var(--teal-600)}
.cta-card.is-light .badge-pill{background:var(--teal-50);border-color:var(--teal-100);color:var(--teal-700)}
@media(min-width:640px){.cta-buttons{flex-direction:row;width:auto}}

/* ---------- Footer ---------- */
.site-footer{background:var(--teal-900);padding:3rem 0}
@media(min-width:768px){.site-footer{padding:4rem 0}}
.footer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr);gap:3rem}}
.footer-col:first-child{grid-column:span 2}
@media(min-width:768px){.footer-col:first-child{grid-column:span 1}}
.footer-brand{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;text-decoration:none}
.footer-brand img{width:40px;height:40px;object-fit:cover;border-radius:.5rem}
.footer-brand .brand-name{color:#fff}
.footer-desc{color:var(--teal-300);font-size:.75rem;line-height:1.6;max-width:20rem}
.footer-social-row{display:flex;align-items:center;gap:.75rem;margin-top:1rem}
.footer-social{width:2.25rem;height:2.25rem;border-radius:9999px;background:var(--teal-800);display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:background .2s}
.footer-social:hover{background:var(--teal-700)}
.footer-col h4{font-weight:600;color:#fff;font-size:.875rem;margin-bottom:1rem}
.footer-col ul{display:flex;flex-direction:column;gap:.65rem}
.footer-col a{color:var(--teal-300);font-size:.75rem;text-decoration:none;transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-contact-list li{display:flex;align-items:flex-start;gap:.5rem;color:var(--teal-300);font-size:.75rem;margin-bottom:.75rem}
.footer-bottom{border-top:1px solid var(--teal-800);margin-top:2.5rem;padding-top:1.5rem;color:var(--teal-400);font-size:.75rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}

/* ---------- Floating WhatsApp button ---------- */
.wa-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:400;width:3.5rem;height:3.5rem;border-radius:9999px;background:var(--green-500);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,199,88,.35);transition:background .2s,transform .2s;text-decoration:none;animation:float 3s ease-in-out infinite}
.wa-float:hover{background:var(--green-600);transform:scale(1.1);color:#fff}

/* ---------- Package archive (listing) ---------- */
.archive-intro{text-align:center;max-width:42rem;margin:0 auto 3rem}

/* ---------- Package single ---------- */
.package-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-top:2.5rem}
@media(min-width:1024px){.package-layout{grid-template-columns:2fr 1fr;gap:3rem}}
.package-main{display:flex;flex-direction:column;gap:3rem}
.about-package p{color:var(--teal-700);font-size:.9rem;line-height:1.75;margin-bottom:1rem}
.gallery-carousel{position:relative;margin-top:1.5rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;border-radius:1rem;overflow:hidden}
.gallery-grid img{width:100%;height:9rem;object-fit:cover;border-radius:.75rem;transition:transform .3s;cursor:pointer}
@media(min-width:768px){.gallery-grid img{height:11rem}}
.gallery-grid img:hover{transform:scale(1.05)}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border-radius:9999px !important;background:var(--teal-600) !important;color:#fff;border:none !important;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:2;padding:0 !important;font-family:var(--font-body)}
.gallery-nav:hover{background:var(--teal-700) !important}
.gallery-nav.prev{left:-.75rem}
.gallery-nav.next{right:-.75rem}

.inc-exc-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.inc-exc-grid{grid-template-columns:1fr 1fr}}
.inc-box,.exc-box{border-radius:1rem;padding:1.25rem;border:1px solid}
.inc-box{background:rgba(240,253,250,.6);border-color:var(--teal-100)}
.exc-box{background:rgba(254,242,242,.6);border-color:var(--red-100)}
.inc-exc-head{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}
.inc-exc-icon{width:1.75rem;height:1.75rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#fff}
.inc-exc-icon.inc{background:var(--teal-600)}
.inc-exc-icon.exc{background:var(--red-500)}
.inc-box h3{color:var(--teal-800);font-size:.875rem;font-weight:700}
.exc-box h3{color:var(--red-800);font-size:.875rem;font-weight:700}
.inc-box ul li,.exc-box ul li{display:flex;align-items:flex-start;gap:.6rem;font-size:.75rem;line-height:1.6;margin-bottom:.5rem}
.inc-box ul li{color:var(--teal-700)}
.exc-box ul li{color:#b91c2c}

.itinerary-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.tab-btn{padding:.55rem .9rem !important;border-radius:9999px !important;font-size:.75rem;font-weight:600 !important;border:1px solid var(--sand-200) !important;background:#fff !important;color:var(--teal-700) !important;font-family:var(--font-body)}
.tab-btn.active{background:var(--teal-700) !important;color:#fff !important;border-color:var(--teal-700) !important}
.itinerary-card{background:#fff;border-radius:1rem;border:1px solid var(--sand-200);padding:1.25rem}
@media(min-width:768px){.itinerary-card{padding:1.5rem}}
.itinerary-card-head{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem}
.itinerary-card-head .icon-box{width:2rem;height:2rem;border-radius:.5rem;background:var(--teal-100);color:var(--teal-700);display:flex;align-items:center;justify-content:center}
.itinerary-card-head h4{font-weight:700;color:var(--teal-900);font-size:.875rem}
.itinerary-card-head p{color:var(--teal-500);font-size:.7rem}
.timeline{margin-left:1.5rem}
.timeline-item{position:relative;padding-bottom:1.25rem;padding-left:1.5rem;border-left:2px solid var(--sand-200)}
.timeline-item:last-child{padding-bottom:0;border-color:transparent}
.timeline-item::before{content:'';position:absolute;left:-6px;top:2px;width:10px;height:10px;border-radius:9999px;background:var(--teal-500);border:2px solid #fff;box-shadow:0 0 0 1px var(--sand-200)}
.timeline-row{display:flex;align-items:baseline;gap:.9rem}
.timeline-time{font-weight:700;color:var(--teal-800);font-size:.75rem;width:3.2rem;flex-shrink:0}
.timeline-title{color:var(--teal-900);font-weight:600;font-size:.875rem;display:block;margin-bottom:.15rem}
.timeline-desc{color:var(--teal-500);font-size:.8rem;line-height:1.6}

.price-table-wrap{background:#fff;border-radius:1rem;border:1px solid var(--sand-200);overflow:hidden;overflow-x:auto}
.price-table{width:100%;border-collapse:collapse;min-width:480px}
.price-table thead tr{background:var(--teal-800);color:#fff}
.price-table th,.price-table td{padding:.9rem 1.25rem;text-align:left;font-size:.8rem}
.price-table td:first-child{font-weight:500;color:var(--teal-900)}
.price-table .col-total{display:none}
@media(min-width:768px){.price-table .col-total{display:table-cell}}
.price-table tbody tr{border-top:1px solid var(--sand-100);transition:background .2s}
.price-table tbody tr:hover{background:var(--sand-50)}
.price-table .price-cell{font-weight:700;color:var(--teal-900)}
.price-table .book-link{color:var(--burnt-600);font-weight:600;font-size:.75rem;text-decoration:none}
.promo-banner{display:flex;align-items:flex-start;gap:.6rem;margin-top:.9rem;padding:.9rem;background:var(--burnt-50);border:1px solid var(--burnt-100);border-radius:.75rem;color:var(--burnt-500);font-size:.75rem;line-height:1.6}

.map-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}
@media(min-width:768px){.map-legend{grid-template-columns:repeat(3,1fr)}}
.map-legend-item{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:.75rem;padding:.6rem .8rem;border:1px solid var(--sand-100)}
.map-legend-dot{width:.75rem;height:.75rem;border-radius:9999px;flex-shrink:0}
.map-legend-item span{font-size:.75rem;color:var(--teal-700);font-weight:500}

.faq-list{max-width:48rem}
.faq-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem !important;background:none !important;border:none !important;border-radius:0 !important;width:100%;text-align:left;font-family:var(--font-display) !important;font-weight:700 !important;color:var(--teal-900) !important;font-size:.875rem;letter-spacing:-.025em}
.faq-q-inner{display:flex;align-items:center;gap:.75rem}
.faq-q-icon{width:2rem;height:2rem;flex-shrink:0;border-radius:.5rem;display:flex;align-items:center;justify-content:center;border:1px solid transparent}
.faq-q-icon.teal{background:var(--teal-50);color:var(--teal-600);border-color:var(--teal-100)}
.faq-q-icon.burnt{background:var(--burnt-50);color:var(--burnt-500);border-color:var(--burnt-100)}
.faq-item{background:#fff;border:1px solid var(--sand-100) !important;border-radius:1rem;margin-bottom:.75rem;overflow:hidden}
.faq-question .chev{transition:transform .3s;flex-shrink:0;color:var(--teal-500)}
.faq-item.is-open .faq-question .chev{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-list.always-open .faq-answer{max-height:none !important}
.faq-list.always-open .faq-question{cursor:default}
.faq-item.is-open .faq-answer{max-height:400px}
.faq-answer p{padding:0 1.25rem 1rem 4rem;color:var(--teal-600);font-size:.75rem;line-height:1.625}

.response-quick-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem;max-width:64rem;margin-left:auto;margin-right:auto}
@media(min-width:768px){.response-quick-grid{grid-template-columns:repeat(3,1fr)}}
.response-quick-card{background:var(--sand-50);border-radius:1rem;padding:2rem 1.5rem;text-align:center}
.response-quick-icon{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:9999px;background:var(--green-50,#f0fdf4);color:var(--green-600);margin-bottom:1rem}
.response-quick-card h4{font-weight:700;color:var(--teal-900);font-size:1rem;margin-bottom:.6rem}
.response-quick-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--green-50,#f0fdf4);color:var(--green-600);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.3rem .8rem;border-radius:9999px;margin-bottom:1rem}
.response-quick-badge::before{content:'';width:6px;height:6px;border-radius:9999px;background:var(--green-500)}
.response-quick-card p{color:var(--teal-500);font-size:.8rem;line-height:1.6}

/* Sidebar */
.package-sidebar{display:flex;flex-direction:column;gap:1.25rem}
@media(min-width:1024px){.package-sidebar{position:sticky;top:6rem;align-self:start}}
.sidebar-card{background:#fff;border-radius:1rem;padding:1.5rem;border:1px solid var(--sand-200)}
.sidebar-card-dark{background:var(--teal-800);border-radius:1rem;padding:1.5rem;text-align:center;color:#fff}
.sidebar-card-dark h4{font-size:.9rem;margin-bottom:.35rem}
.sidebar-card-dark p{color:var(--teal-300);font-size:.75rem;margin-bottom:1rem;line-height:1.6}
.sidebar-card-dark .btn-ghost-light{width:100%;margin-bottom:.6rem;font-size:.75rem;padding:.65rem 1rem}
.booking-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.booking-head h3{font-size:1rem;color:var(--teal-900)}
.booking-price{display:flex;align-items:baseline;gap:.2rem}
.booking-price .amount{font-weight:700;font-size:1.25rem;color:var(--teal-900)}
.booking-price .unit{font-size:.7rem;color:var(--teal-500)}
.form-field{margin-bottom:.9rem}
.form-field label{display:block;font-size:.75rem;font-weight:500;color:var(--teal-700);margin-bottom:.3rem}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:.65rem .9rem;border-radius:.75rem;border:1px solid var(--sand-200);font-family:var(--font-body);font-size:.85rem;color:var(--teal-800);background:#fff}
.form-field textarea{resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px rgba(45,212,191,.15)}
.guarantee-list{display:flex;flex-direction:column;gap:.9rem}
.guarantee-item{display:flex;align-items:center;gap:.75rem}
.guarantee-item .icon-box{width:2.25rem;height:2.25rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid}
.guarantee-item .icon-box.teal{background:var(--teal-50);border-color:var(--teal-100);color:var(--teal-600)}
.guarantee-item .icon-box.burnt{background:var(--burnt-50);border-color:var(--burnt-100);color:var(--burnt-600)}
.guarantee-item .title{font-size:.75rem;font-weight:600;color:var(--teal-800);display:block}
.guarantee-item .desc{font-size:.68rem;color:var(--teal-500)}
.form-notice{padding:.75rem 1rem;border-radius:.75rem;font-size:.8rem;margin-bottom:1rem}
.form-notice.success{background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100)}
.form-notice.error{background:var(--red-50);color:var(--red-700);border:1px solid var(--red-100)}

/* ---------- About page ---------- */
.about-hero-card{position:absolute;bottom:-1.5rem;right:1.5rem;background:#fff;border-radius:1rem;padding:.75rem 1rem;box-shadow:0 10px 30px rgba(0,0,0,.15);display:none}
.about-stats{background:var(--teal-500)}
/* story-grid is now two NATIVE Elementor columns (see mba_build_about_elementor_data) — Elementor's own flex row already stacks responsively, this just adds the gap. */
.story-grid>.elementor-container{gap:2.5rem}
@media(min-width:1024px){.story-grid>.elementor-container{gap:3.5rem;align-items:center}}
.story-image-wrap{position:relative}
.story-image-frame{position:absolute;top:-1rem;left:-1rem;width:5rem;height:5rem;border:2px solid var(--teal-200);border-radius:1rem;z-index:0;display:none}
@media(min-width:640px){.story-image-frame{display:block}}
.story-image{position:relative;z-index:1;border-radius:1.5rem;width:100%;height:auto;display:block;box-shadow:0 20px 50px rgba(15,60,55,.15)}
.story-image-badge{position:absolute;z-index:2;bottom:-1.25rem;right:1.5rem;background:#fff;border-radius:1rem;padding:.75rem 1.1rem;box-shadow:0 15px 35px rgba(0,0,0,.15);display:flex;align-items:center;gap:.65rem}
.story-image-badge .icon-box{width:2.25rem;height:2.25rem;border-radius:.65rem;background:var(--burnt-50);color:var(--burnt-500);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.story-image-badge span:last-child{display:flex;flex-direction:column;line-height:1.3}
.story-image-badge small{color:var(--teal-500);font-size:.68rem}
.story-image-badge strong{color:var(--teal-900);font-size:.85rem;font-family:var(--font-display)}
.team-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:640px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.team-grid{grid-template-columns:repeat(4,1fr)}}
.team-card{background:#fff;border:1px solid var(--sand-200);border-radius:1rem;padding:1.5rem;text-align:center}
.team-card .icon-box{width:3.5rem;height:3.5rem;border-radius:9999px;background:var(--teal-50);color:var(--teal-600);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.team-card h4{font-weight:700;color:var(--teal-900);font-size:.9rem}
.team-card .count{color:var(--burnt-500);font-weight:600;font-size:.75rem;margin:.35rem 0 .6rem}
.team-card p{color:var(--teal-500);font-size:.75rem;line-height:1.6}
/* vision-mission-grid is now two NATIVE Elementor columns — same reasoning as story-grid above. */
.vision-mission-grid>.elementor-container{gap:1.5rem}
.vm-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.vm-heading h3{margin-bottom:0 !important}
.vm-heading .icon-box{width:2.75rem;height:2.75rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vision-card{background:var(--teal-800);border-radius:1.25rem;padding:2rem;color:#fff}
.vision-card h3{color:#fff !important;margin-bottom:0}
.vision-card .vm-heading .icon-box{background:rgba(255,255,255,.15);color:#fff}
.vision-card p{color:var(--teal-200);font-size:.9rem;line-height:1.75}
.mission-card{background:var(--sand-50);border:1px solid var(--sand-200);border-radius:1.25rem;padding:2rem}
.mission-card h3{color:var(--teal-900) !important;margin-bottom:0}
.mission-card .vm-heading .icon-box{background:var(--burnt-50);color:var(--burnt-500)}
.mission-card li{display:flex;gap:.6rem;font-size:.85rem;color:var(--teal-700);line-height:1.6;margin-bottom:.75rem}
.mission-card li .icon-box{width:1.5rem;height:1.5rem;border-radius:.4rem;background:var(--teal-50);color:var(--teal-600);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-cta-card{background:var(--teal-800);border-radius:1.5rem;padding:2.5rem;text-align:center;color:#fff}
.contact-cta-card h2{color:#fff !important;margin-bottom:.75rem}
.contact-cta-card p{color:var(--teal-200);max-width:36rem;margin:0 auto 1.5rem}
.contact-cta-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}
.contact-cta-split{text-align:left;padding:2rem}
.contact-cta-split>.elementor-container{gap:2rem}
@media(min-width:1024px){.contact-cta-split{padding:3rem}.contact-cta-split>.elementor-container{gap:3rem;align-items:center}}
.contact-cta-info p{margin:.75rem 0 1.5rem;max-width:none}
.contact-cta-info .contact-cta-buttons{justify-content:flex-start}
.contact-cta-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.75rem}
.contact-cta-list li{display:flex;align-items:center;gap:.75rem}
.contact-cta-list .icon-box{width:2.5rem;height:2.5rem;border-radius:.65rem;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-cta-list small{display:block;color:var(--teal-300);font-size:.7rem}
.contact-cta-list strong{display:block;color:#fff;font-size:.85rem;font-weight:600}
.contact-cta-map{border-radius:1rem;overflow:hidden;min-height:280px}
.contact-cta-map iframe{width:100%;height:100%;min-height:280px;border:0;display:block}
.final-cta-card{max-width:52rem;margin:0 auto;text-align:center;padding:2.5rem 1.75rem;border-radius:1.5rem;border:1px solid var(--sand-200);background:linear-gradient(135deg,#fdf1e3 0%,#fefdf8 45%,#f1faf6 100%)}
@media(min-width:768px){.final-cta-card{padding:3rem 3.5rem}}
.final-cta-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--burnt-300);margin-bottom:1rem}
.final-cta-card .section-title{margin-top:0}
.final-cta-card .section-lead{max-width:34rem;margin:.75rem auto 0}
.final-cta-buttons{display:flex;justify-content:center;gap:.75rem;margin-top:1.75rem;flex-wrap:wrap}
.final-cta-card.is-dark{position:relative;overflow:hidden;border:none;background:linear-gradient(135deg,var(--teal-800),var(--teal-900))}
.final-cta-card.is-dark .section-title{color:#fff !important}
.final-cta-card.is-dark .section-lead{color:var(--teal-200) !important}
.final-cta-content{position:relative;z-index:1}

/* ---------- Contact page ---------- */
.contact-info-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:640px){.contact-info-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.contact-info-grid{grid-template-columns:repeat(4,1fr)}}
.contact-info-card{background:#fff;border:1px solid var(--sand-200);border-radius:1rem;padding:1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.contact-info-card .icon-box{width:3rem;height:3rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;margin-bottom:.85rem}
.contact-info-card .icon-box.teal{background:var(--teal-50);color:var(--teal-600)}
.contact-info-grid-overlap{position:relative;z-index:5;margin-top:-2.5rem}
@media(min-width:768px){.contact-info-grid-overlap{margin-top:-4.5rem}}
.contact-info-card .icon-box.green{background:var(--green-50,var(--teal-50));color:var(--green-600)}
.contact-info-card .icon-box.burnt{background:var(--burnt-50);color:var(--burnt-500)}
.contact-info-card .label{color:var(--teal-600);font-size:.78rem;font-weight:600}
.contact-info-card .value{color:var(--teal-900);font-weight:700;font-size:1rem;font-family:var(--font-display);margin:.35rem 0}
.contact-info-card .sub{color:var(--teal-500);font-size:.72rem}
.contact-info-card .sub.green{color:var(--green-600)}
.contact-layout{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:3rem;align-items:start}
@media(min-width:1024px){.contact-layout{grid-template-columns:1.3fr 1fr;gap:2.5rem}}

.send-message-card{background:#fff;border:1px solid var(--sand-200);border-radius:1.25rem;padding:1.75rem;box-shadow:0 1px 3px rgba(0,0,0,.04)}
@media(min-width:768px){.send-message-card{padding:2.25rem}}
.send-message-head{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.75rem}
.send-message-head .icon-box{width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:.75rem;background:var(--teal-50);color:var(--teal-600);display:flex;align-items:center;justify-content:center}
.send-message-head h2{font-size:1.25rem;color:var(--teal-900);font-weight:700}
.send-message-head p{font-size:.8rem;color:var(--teal-500);margin-top:.25rem}
.form-row{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:560px){.form-row{grid-template-columns:1fr 1fr;gap:1rem}}
.form-field .req{color:var(--red-500)}
.form-optin{display:flex;align-items:flex-start;gap:.55rem}
.form-optin input{width:auto !important;margin-top:.2rem}
.form-optin label{margin:0;font-weight:400 !important;font-size:.78rem;line-height:1.5;color:var(--teal-600)}
.send-message-footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.5rem}
.send-message-footer .btn{flex-shrink:0}
.send-message-footer span{font-size:.78rem;color:var(--teal-500)}

.contact-side-cards{display:flex;flex-direction:column;gap:1.5rem}
.location-card{background:#fff;border:1px solid var(--sand-200);border-radius:1.25rem;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.location-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.1rem 1.25rem;flex-wrap:wrap}
.location-card-head span{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--teal-900);font-size:.9rem}
.location-card-head .btn-outline{white-space:nowrap}
.location-card-map{height:220px;background:var(--sand-100)}
.location-card-map iframe{width:100%;height:100%;border:0;display:block}
.hours-card{background:#fff;border:1px solid var(--sand-200);border-radius:1.25rem;padding:1.5rem}
.hours-card h3{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--teal-900);font-weight:700;margin-bottom:1.1rem}
.hours-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-top:1px solid var(--sand-100)}
.hours-row:first-of-type{border-top:0}
.hours-row span:first-child{font-size:.85rem;color:var(--teal-700);font-weight:500}
.hours-pill{background:var(--teal-50);color:var(--teal-700);font-size:.75rem;font-weight:600;padding:.35rem .85rem;border-radius:9999px;border:1px solid var(--teal-100)}
.hours-pill.green{background:var(--green-500);color:#fff;border-color:var(--green-500)}

.social-follow-card{background:#fff;border:1px solid var(--sand-200);border-radius:1.25rem;padding:1.5rem}
.social-follow-card h3{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--teal-900);font-weight:700;margin-bottom:1.1rem}
.social-follow-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.social-follow-btn{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:.9rem;border:1px solid transparent;font-size:.85rem;font-weight:600;text-decoration:none;transition:transform .2s}
.social-follow-btn:hover{transform:translateY(-2px)}
.social-follow-btn.instagram{background:#fce7f3;color:#be185d}
.social-follow-btn.facebook{background:#eff6ff;color:#1d4ed8}
.social-follow-btn.tiktok{background:var(--sand-50);color:#18181b;border-color:var(--sand-200)}
.social-follow-btn.youtube{background:#fef2f2;color:#dc2626}
.response-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:2rem}
@media(min-width:640px){.response-grid{grid-template-columns:repeat(3,1fr)}}
.response-card{text-align:center;padding:1.5rem;background:var(--sand-50);border-radius:1rem;border:1px solid var(--sand-200)}
.nearby-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:640px){.nearby-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.nearby-grid{grid-template-columns:repeat(6,1fr)}}
.nearby-item{text-align:center;padding:1rem;background:var(--sand-50);border:1px solid var(--sand-100);border-radius:1rem;cursor:pointer;transition:background .2s,border-color .2s}
.nearby-item:hover{background:var(--teal-50);border-color:var(--teal-200)}
.nearby-item .icon-box{width:2.5rem;height:2.5rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;margin:0 auto .65rem;border:1px solid transparent;transition:background .2s}
.nearby-item.teal .icon-box{background:var(--teal-100);color:var(--teal-600);border-color:var(--teal-200)}
.nearby-item.burnt .icon-box{background:var(--burnt-100);color:var(--burnt-600);border-color:var(--burnt-300)}
.nearby-item p{font-size:.75rem;font-weight:600;color:var(--teal-900);margin:0}
.badge-pill-teal{display:inline-flex;align-items:center;gap:.5rem;background:var(--teal-50);border:1px solid var(--teal-200);color:var(--teal-700);padding:.4rem 1rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1rem}
.text-burnt-accent{color:var(--burnt-600)}
.map-embed-wrap{border-radius:1rem;overflow:hidden;border:1px solid var(--sand-200);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.map-embed-wrap iframe{width:100%;height:350px;border:0;display:block}

/* ---------- Blog ---------- */
.blog-layout{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media(min-width:1024px){.blog-layout{grid-template-columns:2fr 1fr}}
.blog-grid{display:grid;grid-template-columns:1fr;gap:1.75rem}
@media(min-width:640px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
.blog-card{background:#fff;border-radius:1rem;overflow:hidden;border:1px solid var(--sand-200);text-decoration:none;transition:transform .3s,box-shadow .3s;display:block}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 15px 40px rgba(45,90,90,.12)}
.blog-card img{width:100%;height:11rem;object-fit:cover}
.blog-card .body{padding:1.25rem}
.blog-card .meta{font-size:.7rem;color:var(--teal-400);margin-bottom:.5rem}
.blog-card h3{color:var(--teal-800);font-size:1rem;font-weight:700;margin-bottom:.5rem}
.blog-card p{color:var(--teal-500);font-size:.8rem;line-height:1.6}
.blog-empty{text-align:center;padding:4rem 2rem;background:#fff;border:1px dashed var(--sand-200);border-radius:1rem}
.blog-empty .icon-box{width:4rem;height:4rem;border-radius:9999px;background:var(--sand-50);color:var(--teal-400);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.blog-sidebar .sidebar-card{margin-bottom:1.25rem}
.pagination-row{display:flex;justify-content:center;gap:.5rem;margin-top:2.5rem}
.pagination-row a,.pagination-row span{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .6rem;border-radius:.5rem;border:1px solid var(--sand-200);font-size:.8rem;color:var(--teal-700);text-decoration:none}
.pagination-row .current{background:var(--teal-700);color:#fff;border-color:var(--teal-700)}

/* Single blog post */
.single-post-content{max-width:48rem}
.single-post-content h1{color:var(--teal-800);font-size:1.875rem;margin-bottom:1rem}
@media(min-width:768px){.single-post-content h1{font-size:2.5rem}}
.single-post-meta{color:var(--teal-400);font-size:.8rem;margin-bottom:1.5rem}
.single-post-content .entry-content{font-size:.95rem;line-height:1.8;color:var(--teal-700)}
.single-post-content .entry-content h2,.single-post-content .entry-content h3{color:var(--teal-800);margin:1.75rem 0 .75rem}
.single-post-content .entry-content img{border-radius:1rem;margin:1.5rem 0}
.single-post-content .entry-content a{color:var(--burnt-600);text-decoration:underline}

/* ---------- Related packages ---------- */
.related-head{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.5rem}

/* ---------- Animations ---------- */
@keyframes slideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}

.anim-fade-in-left{animation:fadeInLeft .7s ease both}
.anim-fade-in-up{animation:fadeInUp .7s ease both}
.delay-200{animation-delay:.2s}
.delay-300{animation-delay:.3s}
.delay-400{animation-delay:.4s}
.delay-500{animation-delay:.5s}

.scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.scroll-reveal.is-visible{opacity:1;transform:none}

/* ---------- Utility ---------- */
.text-center{text-align:center}
.mt-0{margin-top:0}
.mx-auto{margin-left:auto;margin-right:auto}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ---------- Google Translate (driven by the custom .lang-dropdown UI — see main.js) ---------- */
.mba-google-translate{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body{top:0 !important}
.goog-te-banner-frame,.skiptranslate > iframe.goog-te-banner-frame{display:none !important;visibility:hidden !important}
#goog-gt-tt,.goog-te-balloon-frame{display:none !important}
.goog-text-highlight{background:none !important;box-shadow:none !important}
