[hidden]{display:none!important}
.booking-modal[hidden]{display:none!important}

:root{
  --bg:#fffaf7;
  --surface:#ffffff;
  --surface-soft:#fff2ec;
  --text:#26131b;
  --muted:#6f5a60;
  --line:#ead7d9;
  --primary:#d81b74;
  --primary-dark:#b10f5d;
  --secondary:#1f1430;
  --accent:#f7c911;
  --success:#0d8b59;
  --warning:#b36b00;
  --danger:#c43737;
  --shadow:0 22px 60px rgba(34,19,27,.10);
  --radius:24px;
  --radius-sm:16px;
  --container:min(1160px, calc(100vw - 32px));
  --font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(248,196,82,.18), transparent 28%),
    radial-gradient(circle at left top, rgba(216,27,116,.10), transparent 22%),
    var(--bg);
  line-height:1.5;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:var(--container);margin:0 auto}
.narrow{max-width:820px}
.site-shell{min-height:100dvh;display:flex;flex-direction:column}
main{flex:1}
.site-header{
  position:sticky;top:0;z-index:20;
  backdrop-filter:blur(18px);
  background:rgba(255,250,247,.82);
  border-bottom:1px solid rgba(234,215,217,.72);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}
.brand{font-weight:800;letter-spacing:.02em;font-size:1.05rem}
.nav-desktop{display:flex;align-items:center;gap:18px}
.nav-desktop a,.mobile-nav a{color:var(--muted);font-weight:600}
.nav-desktop a:hover,.mobile-nav a:hover{color:var(--text)}
.lang-switch{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff}
.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px}
.mobile-nav{display:grid;gap:10px;padding:0 0 16px 0;width:var(--container);margin:0 auto}
.breadcrumbs{padding-top:18px}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;color:var(--muted);font-size:.95rem}
.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:10px;color:#c1aeb2}
.hero{padding:68px 0 38px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.hero-card{
  background:linear-gradient(180deg,#fff,#fff5f0);
  border:1px solid var(--line);
  border-radius:32px;
  padding:18px;
  box-shadow:var(--shadow);
}

.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-size:.85rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
h1,h2,h3{margin:0 0 14px;line-height:1.1}
h1{font-size:clamp(2.2rem,5vw,4.3rem)}
h2{font-size:clamp(1.6rem,3vw,2.6rem)}
h3{font-size:1.24rem}
.lead{font-size:1.08rem;color:var(--muted);max-width:62ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--primary),#ff4b9c);color:#fff;box-shadow:0 16px 32px rgba(216,27,116,.24)}
.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary))}
.btn-secondary{background:var(--secondary);color:#fff;box-shadow:0 12px 30px rgba(31,20,48,.16)}
.btn-ghost{background:#fff;border-color:var(--line)}
.btn-link{padding:0;min-height:auto;color:var(--primary);font-weight:800}
.metric-list,.chip-row,.city-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;padding:0;list-style:none}
.metric-list li,.chip,.city-meta span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:var(--muted)}
.metric-list strong{color:var(--text);margin-right:6px}
.section{padding:42px 0}
.section-soft{background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,239,231,.75))}
.section-head{margin-bottom:24px;max-width:72ch}
.section-head p{color:var(--muted)}
.card-grid{display:grid;gap:22px}
.card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.city-card,.feature-card,.plan-card,.content-card,.status-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.city-card__body,.feature-card__body,.plan-card__body,.content-card,.status-card{padding:22px}
.plan-card__body p,.feature-card__body p,.city-card__body p{color:var(--muted)}
.plan-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:18px}
.price-stack{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.price-stack strong{font-size:1.18rem}
.price-stack small{color:var(--muted);max-width:220px}
.price-box{display:flex;flex-direction:column;gap:6px;margin-top:20px;font-size:1.05rem}
.price-box strong{font-size:2rem}
.price-support{color:var(--muted)}
.points-copy{margin-top:12px;padding:12px 14px;border:1px solid #f0d9c8;border-radius:16px;background:#fff7f1;color:#5b4940;font-size:.92rem;display:grid;gap:10px}
.points-copy__head{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#8a6450}
.points-copy__promo{padding:8px 10px;border-radius:12px;background:#fff0f7;border:1px solid rgba(216,27,116,.2);color:#8b2456;font-weight:700;line-height:1.35}
.points-copy__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.points-copy__item{padding:10px;border:1px solid #efdccc;border-radius:12px;background:#fff}
.points-copy__label{display:block;font-size:.8rem;color:#7a6257;font-weight:700;margin-bottom:6px}
.points-copy__points{display:block;font-size:1rem;color:#2f1f18}
.points-copy__value{display:block;color:#6d5a52;margin-top:2px;font-size:.83rem}
.promo-badge{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;border-radius:999px;background:#fff0f7;color:var(--primary);border:1px solid rgba(216,27,116,.18);font-weight:800;font-size:.88rem}
.content-grid,.faq-grid,.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.check-list,.detail-list,.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.check-list li,.detail-list li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:#fff8f5}
.check-list li::before{content:"✓";font-weight:900;color:var(--success)}
.detail-list li{justify-content:space-between}
.center{text-align:center}
.site-footer{margin-top:42px;padding:42px 0 24px;border-top:1px solid var(--line);background:#fff8f5}
.footer-grid{grid-template-columns:1.2fr .7fr .7fr}
.footer-links a{color:var(--muted)}
.footer-bottom{padding-top:18px;color:var(--muted)}
.booking-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px}
.booking-backdrop{position:absolute;inset:0;background:rgba(27,16,24,.62)}
.booking-panel{position:relative;width:min(980px, calc(100vw - 24px));max-height:calc(100vh - 24px);background:#fff;border:1px solid rgba(234,215,217,.95);border-radius:32px;overflow:hidden;box-shadow:0 30px 80px rgba(26,18,28,.30)}
.booking-scroll{max-height:calc(100vh - 24px);overflow:auto;padding:32px}
.booking-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.5rem}
.booking-head{padding-right:48px;margin-bottom:18px}
.alert-box{border-radius:18px;padding:14px 16px;border:1px solid transparent;margin-bottom:18px;font-weight:700}
.alert-box.info{background:#f2f7ff;border-color:#c8dcff;color:#265aaf}
.alert-box.success{background:#edf9f2;border-color:#b8ebc7;color:#14613d}
.alert-box.warning{background:#fff7e8;border-color:#ffd899;color:#8a5200}
.alert-box.error{background:#fff0f0;border-color:#ffc1c1;color:#9e2121}
.is-hidden{display:none!important}
.step-card{background:#fffaf8;border:1px solid var(--line);border-radius:22px;padding:20px;margin-top:18px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.step-card.is-current{border-color:rgba(216,27,116,.35);box-shadow:0 16px 40px rgba(216,27,116,.08)}
.step-card.is-collapsed{background:#fff}
.step-summary{margin:6px 0 0;color:var(--muted);font-weight:700}
.step-card.is-collapsed .step-body{display:none}
.step-card.is-collapsed .step-summary{display:block!important}
.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.booking-grid label{display:grid;gap:8px;font-weight:700;color:var(--muted)}
.booking-grid input,.booking-grid select,.booking-grid textarea{width:100%;border:1px solid #ddcbd0;border-radius:14px;padding:13px 14px;background:#fff;color:var(--text)}
.booking-grid .span-2{grid-column:span 2}
.slot-results{display:grid;gap:10px;margin-top:18px}
.slot-group{display:grid;gap:10px}
.slot-grid{display:flex;flex-wrap:wrap;gap:10px}
.slot-more{display:grid;gap:10px}
.slot-more[hidden]{display:none!important}
.slot-btn{min-height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);font-weight:700}
.slot-btn.is-active{background:var(--secondary);border-color:var(--secondary);color:#fff}
.found-box,.summary-card{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid var(--line);margin-top:16px}
.step-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.timer-box{padding:14px 16px;border-radius:18px;border:1px solid #ffd899;background:#fff7e8;color:#8a5200;font-weight:800;margin-top:16px}
.timer-box.is-expired{border-color:#ffc1c1;background:#fff0f0;color:#9e2121}
.timer-box small{display:block;font-weight:600;color:inherit;opacity:.85;margin-top:4px}
.summary-card dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0}
.summary-card dt{color:var(--muted)}
.summary-card dd{margin:0;text-align:right;font-weight:800}
.payment-options{display:grid;gap:12px;margin-top:16px}
.payment-option{border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;justify-content:space-between;gap:16px;background:#fff}
.payment-option input{margin-top:4px}
.payment-option strong{display:block}
.payment-option small{display:block;color:var(--muted);margin-top:3px}
.payment-option-help{margin-top:8px;line-height:1.45}
.status-card{padding:28px}
.status-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}
.microcopy{font-size:.92rem;color:var(--muted)}
.narrow{width:min(820px, calc(100vw - 32px));margin:0 auto}
.iti{width:100%}
.iti__tel-input{width:100%}
.slot-toggle{align-self:flex-start}

.booking-benefits-box{margin-top:14px;background:linear-gradient(180deg,#fff8fb 0%,#fff 100%)}
.booking-perks-list{display:grid;gap:8px;margin-top:12px;padding-left:18px;color:var(--text)}
.booking-preference-box{margin-top:14px}
.preference-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:700;color:var(--text);cursor:pointer}
.preference-chip.is-active{background:var(--secondary);border-color:var(--secondary);color:#fff}
.cabin-choice-box{display:grid;gap:10px;margin-top:14px;padding:14px 16px;border:1px dashed var(--line);border-radius:18px;background:#fff}
.cabin-choice-title{font-weight:800;color:var(--text)}
.cabin-choice-copy{margin:0;color:var(--muted)}
.selection-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff3f8;border:1px solid #f1c8da;font-weight:700;color:#8b2456;margin-top:10px}
details{border-top:1px solid var(--line);padding:14px 0}
details:first-of-type{border-top:0}
summary{cursor:pointer;font-weight:800}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);border:0}
#bold-button-mount script[data-bold-button]{display:block;margin-top:12px}
.bold-pay-wrapper{display:flex;justify-content:center;align-items:center;margin-top:12px}
.bold-pay-button{display:flex;justify-content:center;align-items:center;width:min(100%, 420px);min-height:68px;font-size:1.2rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;margin:0 auto;border-radius:18px}
#step-bold .step-body{display:flex;flex-direction:column;align-items:stretch}
#step-bold #bold-button-mount{flex:1;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;min-height:420px}
#step-bold #bold-button-mount.is-bold-embedded-active .bold-pay-wrapper{display:none!important}
#step-bold #bold-button-mount > bold-embedded-checkout{display:block;flex:1 1 auto;width:100%!important;height:100%!important;min-height:100%!important}
#step-bold #boldEmbeddedCheckout{height:100%!important;min-height:100%!important}
#step-bold #boldEmbeddedCheckout iframe{display:block;width:100%!important;height:100%!important;min-height:100%!important;border:0!important}
@media (max-width: 720px){.bold-pay-button{width:100%;min-height:62px;font-size:1.05rem}}
@media (max-width: 960px){.hero-grid,.content-grid,.faq-grid,.footer-grid,.card-grid-3{grid-template-columns:1fr}}
@media (max-width: 760px){
  .nav-desktop{display:none}
  .nav-toggle{display:inline-flex}
  .hero{padding-top:44px}
  .booking-grid{grid-template-columns:1fr}
  .booking-grid .span-2{grid-column:auto}
  .step-actions .btn{width:100%}
  .booking-scroll{padding:24px}
  .points-copy__grid{grid-template-columns:1fr}
}
.purchase-options{display:grid;gap:12px}
.purchase-option{border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;justify-content:space-between;gap:16px;background:#fff}
.purchase-option input{margin-top:4px}
.purchase-option strong{display:block}
.purchase-option small{display:block;color:var(--muted);margin-top:4px}
.gift-preview-box{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff}
.gift-preview-box img{display:block;width:100%;border-radius:14px;border:1px solid var(--line)}
.status-title.is-success{color:var(--success)}
.status-title.is-error{color:#b51d1d}
.status-title.is-warning{color:#8a5200}
.status-extra{margin-top:14px;text-align:center}
.status-actions{flex-wrap:wrap}
@media print{
  .site-header,.site-footer,.booking-modal,.btn,.nav-toggle,.nav-desktop,.mobile-nav{display:none!important}
  body{background:#fff}
  .status-card,.summary-card{box-shadow:none!important;border-color:#ddd!important}
}


:root{
  --legacy-brown:#5a3d00;
  --legacy-cream:#f7efd8;
  --legacy-text:#2f241e;
}
body{font-family:"Poppins",var(--font);background:var(--legacy-cream)}
.site-shell.legacy-layout{background:var(--legacy-cream)}
.site-header{display:none}
.legacy-header{position:relative;z-index:20}
.legacy-topbar{background:var(--legacy-brown);color:#fff;font-size:.95rem}
.legacy-topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.legacy-topbar-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.legacy-topbar a{color:#fff;display:inline-flex;align-items:center;gap:6px}
.legacy-topbar-divider{opacity:.55}
.legacy-contact-pills{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.legacy-city-contact{padding:7px 12px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(255,255,255,.08);gap:10px}
.legacy-city-contact strong{font-size:.85rem;letter-spacing:.02em;text-transform:uppercase}
.legacy-city-contact span{font-weight:600}
.legacy-navbar-wrap{background:rgba(247,239,216,.97);border-bottom:1px solid #e5d9bd;box-shadow:0 2px 8px rgba(0,0,0,.05);position:sticky;top:0;z-index:25}
.legacy-navbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}
.legacy-logo img{width:170px;height:auto}
.legacy-nav{display:flex;align-items:center;gap:26px;flex:1;justify-content:center}
.legacy-nav>a,.legacy-menu-item>a{font-weight:700;color:var(--legacy-text);font-size:1.08rem}
.legacy-nav a:hover,.legacy-menu-item:hover>a{color:var(--legacy-brown)}
.legacy-menu-item{position:relative}
.legacy-dropdown{display:none;position:absolute;top:100%;left:0;min-width:240px;background:#fff;border:1px solid #e7dcc2;border-radius:0 0 16px 16px;box-shadow:0 16px 36px rgba(30,20,8,.16);padding:10px 0}
.legacy-dropdown a{display:block;padding:10px 16px;color:var(--legacy-text);font-weight:600;white-space:nowrap}
.legacy-dropdown a:hover{background:#f8f2e4;color:var(--legacy-brown)}
.legacy-menu-item:hover .legacy-dropdown{display:block}
.legacy-whatsapp-btn{display:inline-flex;align-items:center;gap:8px;background:#15a638;color:#fff;border-radius:2px;padding:12px 18px;font-weight:600;box-shadow:0 8px 18px rgba(21,166,56,.18)}
.legacy-whatsapp-btn-mobile{justify-content:center;margin-top:12px}
.legacy-carousel{position:relative;min-height:490px;background:#332000;overflow:hidden}
.legacy-carousel-track{position:relative;min-height:490px}
.legacy-slide{position:absolute;inset:0;opacity:0;transition:opacity .45s ease;background-size:cover;background-position:center center}
.legacy-slide.is-active{opacity:1;position:absolute}
.legacy-slide-overlay{position:absolute;inset:0;background:rgba(45,29,0,.52)}
.legacy-slide-content{position:relative;z-index:2;min-height:490px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff}
.legacy-slide-content p{margin:0 0 18px;font-size:1.1rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
.legacy-slide-content h2{max-width:900px;margin:0 auto 18px;font-size:clamp(3.1rem,6vw,5.6rem);line-height:1.05;font-weight:800}
.legacy-slide-text{max-width:760px;text-transform:none!important;letter-spacing:normal!important;font-size:1.35rem!important;font-weight:500!important}
.legacy-carousel-dots{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);display:flex;gap:10px;z-index:3}
.legacy-dot{width:28px;height:28px;border:1px solid rgba(255,255,255,.5);background:transparent;cursor:pointer}
.legacy-dot.is-active{background:#fff}
.legacy-mobile-nav{display:grid;gap:0;padding:0 0 16px 0;width:var(--container);margin:0 auto;background:#fff7e6;border:1px solid #eadfc7;border-radius:0 0 18px 18px;border-top:0}
.legacy-mobile-nav>a,.legacy-mobile-nav summary{display:block;padding:13px 16px;border-bottom:1px solid #eadfc7;color:var(--legacy-text);font-weight:700}
.legacy-mobile-nav summary{cursor:pointer;list-style:none}
.legacy-mobile-nav details:last-of-type summary,.legacy-mobile-nav>a:last-of-type{border-bottom:1px solid #eadfc7}
.legacy-mobile-nav details[open] summary{color:var(--legacy-brown)}
.legacy-mobile-submenu{display:grid;padding:0 0 10px 14px}
.legacy-mobile-submenu a{font-weight:500;padding:10px 0;border-bottom:1px solid #f0e5d3}
.legacy-mobile-submenu a:last-child{border-bottom:0}
.legacy-mobile-nav details summary::-webkit-details-marker{display:none}
.legacy-mobile-nav details summary::after{content:"▾";float:right;color:var(--legacy-brown)}
.legacy-mobile-nav details[open] summary::after{content:"▴"}
.hero{padding:42px 0 36px}
.hero-home{padding-top:28px}
.section-heading{margin-bottom:18px}
.section-heading p{margin:0 0 10px;color:var(--muted)}
.card-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
.category-card,.plan-card,.city-card,.feature-card,.content-card,.status-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.category-card{display:flex;flex-direction:column;padding:18px}
.category-card img,.plan-card>img,.city-card>img{width:100%;aspect-ratio:1.15/1;object-fit:cover;border-radius:18px}
.city-card__body{padding:22px}
.city-card__body h3{margin-top:0}
.category-card h3{margin-top:16px;min-height:3.45em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.category-card p{color:var(--muted);margin:0 0 14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.65em}
.category-card .btn{margin-top:auto}
.plan-card-body,.city-card__body,.feature-card__body,.content-card,.status-card{padding:22px}
.plan-card-body p,.feature-card__body p,.city-card__body p{color:var(--muted)}
.plan-card-body h3{min-height:2.5em}
@media (max-width:1100px){.legacy-nav-desktop,.legacy-whatsapp-btn{display:none}.nav-toggle{display:inline-flex}}
@media (max-width:960px){.hero-grid,.content-grid,.faq-grid,.footer-grid,.card-grid-3,.card-grid.three-up{grid-template-columns:1fr}.legacy-carousel,.legacy-carousel-track,.legacy-slide-content{min-height:420px}}
@media (max-width:760px){.legacy-topbar{font-size:.88rem}.legacy-topbar-left{gap:10px}.legacy-topbar-divider{display:none}.legacy-contact-pills{width:100%}.legacy-city-contact{width:100%;justify-content:space-between}.legacy-navbar{padding:12px 0}.legacy-logo img{width:124px}.legacy-slide-content h2{font-size:clamp(2.1rem,9vw,3.6rem)}.legacy-slide-text{font-size:1rem!important;padding:0 12px}.hero{padding-top:24px}}


.page-home .legacy-navbar-wrap{display:none}
.page-home .legacy-carousel{margin-top:0}
.simple-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px}
.simple-modal[hidden]{display:none!important}
.simple-modal__backdrop{position:absolute;inset:0;background:rgba(27,16,24,.58)}
.simple-modal__panel{position:relative;z-index:1;width:min(520px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 24px 60px rgba(26,18,28,.28)}
.simple-modal__close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.4rem}
.simple-modal__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.share-actions .btn{width:100%}
.share-status{margin-top:14px}
.assist-fab-wrap{position:fixed;right:18px;bottom:18px;z-index:55}
.assist-fab{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:999px;background:#25d366;color:#fff;padding:14px 18px;font-weight:800;box-shadow:0 18px 40px rgba(37,211,102,.35)}
.assist-fab:hover{transform:translateY(-1px)}
@media (max-width:760px){.assist-fab{padding:14px 16px;font-size:.96rem}.simple-modal__actions .btn{width:100%}.share-actions{grid-template-columns:1fr}}


.footer-grid-rich{align-items:start}
.footer-brand-col{display:grid;gap:18px}
.footer-subtitle{margin-top:18px}
.footer-payments{padding:18px;border:1px solid var(--line);border-radius:22px;background:#fffdf7}
.payment-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.payment-badge{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #ddcfb2;color:var(--legacy-brown);font-weight:700}
.footer-maps{display:grid;gap:18px;margin-top:22px}
.footer-maps-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-maps-one{grid-template-columns:minmax(0,1fr)}
.footer-map-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;padding:20px;border:1px solid var(--line);border-radius:24px;background:#1f1a17;color:#fff;box-shadow:var(--shadow)}
.footer-map-card h3{margin:0 0 10px;color:#fff}
.footer-map-card p{color:rgba(255,255,255,.84);margin:0 0 14px}
.footer-contact-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.footer-contact-list li{position:relative;padding-left:18px;color:#fff}
.footer-contact-list li:before{content:"•";position:absolute;left:0;top:0;color:#dcb66f}
.footer-map-embed-wrap{border-radius:18px;overflow:hidden;min-height:320px;border:1px solid rgba(255,255,255,.12);background:#15110f}
.footer-map-embed{display:block;width:100%;height:100%;min-height:320px;border:0}
@media (max-width: 1080px){.footer-map-card{grid-template-columns:1fr}.footer-maps-two{grid-template-columns:1fr}}

.legal-hero{padding-top:54px;padding-bottom:24px}
.legal-hero-inner{display:grid;gap:10px}
.legal-layout{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(280px,.76fr);gap:22px;align-items:start}
.legal-main,.legal-sidebar{display:grid;gap:18px}
.legal-sidebar{position:sticky;top:108px}
.legal-card,.legal-highlight{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}
.legal-card p{margin:0 0 14px}
.legal-card p:last-child{margin-bottom:0}
.legal-card h2{font-size:1.45rem}
.legal-bullet-list{margin:16px 0 0;padding-left:20px;display:grid;gap:10px}
.legal-bullet-list li{color:var(--text)}
.legal-extra-html{margin-top:18px}
.legal-note{margin-top:18px;padding:16px 18px;border-radius:18px;border:1px solid transparent;display:grid;gap:6px}
.legal-note strong{display:block}
.legal-note--warning{background:#fff7e8;border-color:#ffd899;color:#8a5200}
.legal-note--info{background:#f3f6ff;border-color:#c7d6ff;color:#2250a8}
.legal-note--success{background:#effbf3;border-color:#bee7c9;color:#14613d}
.legal-highlight{background:linear-gradient(180deg,#fff,#fffaf4)}
.legal-highlight--accent{border-color:#ead7a8;background:linear-gradient(180deg,#fffdf8,#fff5dd)}
.legal-highlight--warning{border-color:#ffd899;background:linear-gradient(180deg,#fffdf7,#fff7e8)}
.legal-kicker{margin:0 0 8px;color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.legal-highlight h3{margin-bottom:8px}
.legal-highlight p{margin:0;color:var(--muted)}
.legal-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.legal-contact-card{padding:18px;border:1px solid var(--line);border-radius:22px;background:#fffdf8}
.legal-contact-card h3{margin:0 0 10px}
.legal-contact-card ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.legal-contact-card li{position:relative;padding-left:18px;color:var(--muted)}
.legal-contact-card li:before{content:"•";position:absolute;left:0;top:0;color:#dcb66f}
.legal-small{margin-top:14px;color:var(--muted);font-size:.94rem}
@media (max-width:960px){.legal-layout{grid-template-columns:1fr}.legal-sidebar{position:static}.legal-contact-grid{grid-template-columns:1fr}}

.cabin-choice-box .step-actions{margin-top:12px;}
.booking-preference-box select{width:100%;}


.points-wallet-box{margin:16px 0;padding:16px;border:1px solid #efcfdf;border-radius:20px;background:#fff8fc}
.points-wallet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.points-wallet-stat{padding:12px 14px;border:1px solid #ead8c5;border-radius:16px;background:#fff}
.points-wallet-stat span{display:block;font-size:.84rem;color:#7a6257;margin-bottom:6px}
.points-wallet-stat strong{font-size:1.1rem}
.points-wallet-input{display:block;margin-top:12px}
.points-wallet-input span{display:block;font-weight:700;margin-bottom:6px}
.points-wallet-input input{width:100%;max-width:240px}
.points-wallet-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
#points-wallet-summary{margin-top:12px}
@media (max-width: 720px){.points-wallet-grid{grid-template-columns:1fr}}
