/* ==========================================================
   SMILES TO MILES — LOCKED CENTRAL DESIGN SYSTEM v2.1
   Single active public design authority; shared tokens remain compatible with Admin / CRM / Customer.
   Palette: premium graphite + warm orange. Typography: Poppins.
   Brand wordmark: Shrikhand where explicitly used.
   ========================================================== */
:root{
  --stm-orange:#f28a00;
  --stm-orange-2:#ff9f24;
  --stm-orange-dark:#d87500;
  --stm-orange-deep:#c96900;
  --stm-orange-soft:#fff3e3;
  --stm-orange-light:#fff7ec;

  --stm-grey-950:#2f3034;
  --stm-grey-900:#3f4045;
  --stm-grey-850:#4a4b50;
  --stm-grey-800:#57585d;
  --stm-grey-700:#6b6c72;
  --stm-grey-500:#909298;
  --stm-grey-300:#d5d6d9;
  --stm-grey-200:#e5e6e8;
  --stm-grey-100:#f1f2f3;
  --stm-grey-050:#f8f8f9;

  --stm-ink:#24262a;
  --stm-text:#24262a;
  --stm-muted:#74777e;
  --stm-surface:#ffffff;
  --stm-card:#ffffff;
  --stm-soft:#f4f5f6;
  --stm-bg:#f4f5f6;
  --stm-line:#e0e1e3;
  --stm-border:#e0e1e3;
  --stm-dark:#35363b;
  --stm-charcoal:var(--stm-grey-950);
  --stm-public-sans:"Poppins",Arial,sans-serif;
  --sidebar:var(--stm-grey-900);
  --sidebar-deep:var(--stm-grey-950);
  --sidebar-hover:#635344;
  --shadow:var(--stm-shadow);
  --stm-white:#ffffff;
  --stm-navy:var(--stm-grey-900);
  --stm-purple:var(--stm-grey-850);
  --stm-purple-dark:var(--stm-grey-950);
  --stm-graphite:var(--stm-grey-800);
  --stm-graphite-dark:var(--stm-grey-900);
  --stm-graphite-deep:var(--stm-grey-950);
  --stm-grey:var(--stm-grey-700);
  --stm-grey-soft:var(--stm-grey-100);
  --stm-grey-pale:var(--stm-grey-050);

  --stm-radius-xs:8px;
  --stm-radius-sm:10px;
  --stm-radius:14px;
  --stm-radius-md:16px;
  --stm-radius-lg:20px;
  --stm-radius-xl:24px;
  --stm-shadow-soft:0 5px 18px rgba(35,36,40,.055);
  --stm-shadow:0 9px 26px rgba(35,36,40,.075);
  --stm-shadow-hover:0 14px 34px rgba(35,36,40,.11);
  --stm-shadow-lg:0 18px 48px rgba(35,36,40,.14);
  --stm-max:1280px;
  --stm-gap:18px;
  --stm-section-space:76px;

  /* Compatibility aliases used by older components */
  --stm-public-ink:var(--stm-ink);
  --stm-public-muted:var(--stm-muted);
  --stm-public-line:var(--stm-line);
  --stm-public-soft:var(--stm-grey-050);
  --stm-public-cream:var(--stm-orange-light);
  --stm-public-orange:var(--stm-orange);
  --stm-public-orange-deep:var(--stm-orange-dark);
  --stm-public-shadow:var(--stm-shadow-lg);

  --brand-orange:var(--stm-orange);
  --brand-orange-dark:var(--stm-orange-dark);
  --brand-orange-light:var(--stm-orange-soft);
  --brand-navy:var(--stm-grey-900);
  --brand-navy-2:var(--stm-grey-950);
  --brand-navy-light:var(--stm-grey-700);
  --ink:var(--stm-ink);
  --muted:var(--stm-muted);
  --bg:var(--stm-bg);
  --white:#fff;
  --line:var(--stm-line);
  --success:#21864b;
  --danger:#b93434;
}

html{scroll-behavior:smooth}
body{font-family:"Poppins",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
img{max-width:100%}
.stm-brand-font,.stm-brand-name{font-family:"Shrikhand",cursive!important}

/* Shared premium geometry. Component CSS may specialize these without changing tokens. */
.stm-container{width:min(calc(100% - 36px),var(--stm-max));margin-inline:auto}
.stm-section{padding:var(--stm-section-space) 0}
.stm-card,.stm-panel{background:var(--stm-surface);border:1px solid var(--stm-line);border-radius:var(--stm-radius-lg);box-shadow:var(--stm-shadow-soft)}
.stm-btn{border-radius:var(--stm-radius-sm)}

:focus-visible{outline:3px solid rgba(242,138,0,.25);outline-offset:2px}

@media(max-width:700px){
  :root{--stm-section-space:58px;--stm-gap:14px}
  .stm-container{width:min(calc(100% - 24px),var(--stm-max))}
}

/* === Migrated public compatibility layer === */
/*
  Smiles To Miles public website refresh.
  Presentation only: shared page surfaces, cards, controls and responsive refinements.
  No routes, forms, database calls, authentication, or page content are changed here.
*/
body{color:var(--stm-public-ink);background:var(--stm-public-soft)}
body:not(.stm-site) .ftco-section,
body:not(.stm-site) .ftco-section.ftco-no-pt{background:#fff}
body:not(.stm-site) .ftco-section{padding:92px 0}
body:not(.stm-site) .ftco-section h2,
body:not(.stm-site) h2{color:var(--stm-public-ink);font-weight:800;letter-spacing:-.035em;line-height:1.16}
body:not(.stm-site) p{color:var(--stm-public-muted);line-height:1.85}
body:not(.stm-site) .para-align{text-align:left!important}

/* Shared interior hero: a crisp editorial introduction across About, Contact, Services and listings. */
body:not(.stm-site) .about-hero-wrap{min-height:480px;position:relative;display:flex;align-items:flex-end;background-position:center;background-size:cover}
body:not(.stm-site) .about-hero-wrap .overlay{background:linear-gradient(90deg,rgba(17,18,20,.86),rgba(17,18,20,.43))}
body:not(.stm-site) .about-hero-wrap .slider-text{min-height:480px;align-items:flex-end!important;padding-bottom:82px}
body:not(.stm-site) .about-hero-wrap .breadcrumbs{margin-bottom:16px;color:rgba(255,255,255,.72);font-size:.73rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
body:not(.stm-site) .about-hero-wrap .breadcrumbs a{color:#fff}
body:not(.stm-site) .about-hero-wrap .bread{color:#fff;font-size:clamp(3rem,6vw,5.8rem);font-weight:800;letter-spacing:-.065em;line-height:.94}

/* Refined button and form language, retaining all existing Bootstrap behavior. */
body:not(.stm-site) .btn,
body:not(.stm-site) button.btn{border-radius:999px;padding:.74rem 1.35rem;font-weight:700;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
body:not(.stm-site) .btn-primary{background:linear-gradient(135deg,var(--stm-public-orange),#ff9d22);border-color:transparent;box-shadow:0 12px 26px rgba(244,134,0,.22)}
body:not(.stm-site) .btn-primary:hover,
body:not(.stm-site) .btn-primary:focus{background:var(--stm-public-orange-deep);border-color:transparent;transform:translateY(-2px);box-shadow:0 16px 32px rgba(244,134,0,.28)}
body:not(.stm-site) input,
body:not(.stm-site) select,
body:not(.stm-site) textarea{border:1px solid var(--stm-public-line)!important;border-radius:12px!important;box-shadow:none!important}
body:not(.stm-site) input:focus,
body:not(.stm-site) select:focus,
body:not(.stm-site) textarea:focus{border-color:var(--stm-public-orange)!important;box-shadow:0 0 0 4px rgba(244,134,0,.12)!important}

/* About page content: hierarchy, readability and team cards without touching its copy. */
body:not(.stm-site) .about-intro{background:#fff;border:1px solid var(--stm-public-line);border-radius:24px;overflow:hidden;box-shadow:var(--stm-public-shadow)}
body:not(.stm-site) .about-intro .img{min-height:430px;background-size:cover;background-position:center}
body:not(.stm-site) .heading-section .subheading,
body:not(.stm-site) .subheading{display:inline-block;color:var(--stm-public-orange);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
body:not(.stm-site) .heading-section h2{font-size:clamp(2rem,3.5vw,3.25rem)}
body:not(.stm-site) .about-intro ul,
body:not(.stm-site) .container > .row ul{padding-left:0;list-style:none}
body:not(.stm-site) .about-intro li,
body:not(.stm-site) .container > .row li{position:relative;padding:10px 0 10px 30px;color:var(--stm-public-muted);line-height:1.65}
body:not(.stm-site) .about-intro li:before,
body:not(.stm-site) .container > .row li:before{content:'✓';position:absolute;left:0;top:10px;color:var(--stm-public-orange);font-weight:800}
body:not(.stm-site) .our-team-section{background:var(--stm-public-cream);padding:88px 0!important}
body:not(.stm-site) .section-title{font-size:clamp(2rem,3.5vw,3.25rem);margin-bottom:2.5rem!important}
body:not(.stm-site) .team-link{display:block;color:inherit;text-decoration:none}
body:not(.stm-site) .team-card{height:100%;background:#fff;border:1px solid var(--stm-public-line);border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(32,33,36,.06);transition:transform .24s ease,box-shadow .24s ease}
body:not(.stm-site) .team-link:hover .team-card{transform:translateY(-6px);box-shadow:var(--stm-public-shadow)}
body:not(.stm-site) .team-photo{width:100%;height:280px;object-fit:cover}
body:not(.stm-site) .team-info{padding:20px;text-align:left}
body:not(.stm-site) .team-name{font-size:1.05rem;font-weight:800;margin:0 0 5px}
body:not(.stm-site) .team-info small{color:var(--stm-public-orange);font-weight:700}

/* Listing cards and destination surfaces. */
body:not(.stm-site) .destination-wrap .destination,
body:not(.stm-site) .destination-wrap .text,
body:not(.stm-site) .blog-entry,
body:not(.stm-site) .block-21{border-radius:18px}
body:not(.stm-site) .destination-wrap .destination,
body:not(.stm-site) .blog-entry{overflow:hidden;background:#fff;border:1px solid var(--stm-public-line);box-shadow:0 10px 28px rgba(32,33,36,.06);transition:transform .22s ease,box-shadow .22s ease}
body:not(.stm-site) .destination-wrap .destination:hover,
body:not(.stm-site) .blog-entry:hover{transform:translateY(-5px);box-shadow:var(--stm-public-shadow)}
body:not(.stm-site) .destination-wrap .text{padding:22px}
body:not(.stm-site) .destination-wrap h3 a,
body:not(.stm-site) .blog-entry .heading a{color:var(--stm-public-ink);font-weight:800}
body:not(.stm-site) .destination-wrap h3 a:hover,
body:not(.stm-site) .blog-entry .heading a:hover{color:var(--stm-public-orange);text-decoration:none}



@media (max-width:767px){
  body:not(.stm-site) .ftco-section{padding:64px 0}
  body:not(.stm-site) .about-hero-wrap,
  body:not(.stm-site) .about-hero-wrap .slider-text{min-height:390px}
  body:not(.stm-site) .about-hero-wrap .slider-text{padding-bottom:54px}
  body:not(.stm-site) .about-intro{border-radius:18px}
  body:not(.stm-site) .about-intro .img{min-height:280px}
  body:not(.stm-site) .team-photo{height:250px}
  body:not(.stm-site) .our-team-section{padding:64px 0!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* Signed-in customer area: shared page surfaces and controls. */
.stm-site .stm-account-page{background:var(--stm-grey-050);padding-bottom:80px}.stm-site .stm-account-hero{padding:154px 0 78px;background:linear-gradient(120deg,var(--stm-grey-950) 0%,var(--stm-grey-900) 55%,var(--stm-grey-800) 100%);color:#fff}.stm-site .stm-account-hero-inner{display:flex;align-items:end;justify-content:space-between;gap:38px}.stm-site .stm-account-breadcrumb{margin:0 0 28px;color:rgba(255,255,255,.65);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stm-site .stm-account-breadcrumb a{color:#fff}.stm-site .stm-account-breadcrumb span{padding:0 9px;color:var(--stm-public-orange)}.stm-site .stm-account-kicker,.stm-site .customer-hub-head span,.stm-site .customer-panel-kicker,.stm-site .stm-account-section-heading>span{display:block;color:var(--stm-public-orange);font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.stm-site .stm-account-hero h1{max-width:820px;margin:12px 0 18px;color:#fff;font-size:clamp(2.6rem,5vw,5rem);font-weight:800;letter-spacing:-.065em;line-height:.98}.stm-site .stm-account-intro{max-width:650px;margin:0;color:rgba(255,255,255,.77);font-size:1.1rem;line-height:1.65}.stm-site .stm-account-hero-action,.stm-site .stm-account-primary-action{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--stm-public-orange),#ff9d22);box-shadow:0 12px 26px rgba(244,134,0,.22);color:#fff!important;font:700 1rem Poppins,sans-serif;text-decoration:none;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}.stm-site .stm-account-hero-action{min-height:59px;padding:0 25px}.stm-site .stm-account-hero-action:hover,.stm-site .stm-account-primary-action:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(244,134,0,.3)}
.stm-site .customer-hub{max-width:1140px;margin:-42px auto 55px;position:relative;z-index:4;padding:0 15px}.stm-site .customer-hub-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 36px;border-radius:20px;background:var(--stm-grey-900);color:#fff;box-shadow:0 16px 36px rgba(32,33,36,.14)}.stm-site .customer-hub-head h2{margin:7px 0 0;color:#fff;font-size:1.9rem;font-weight:800}.stm-site .customer-hub-head p{margin:7px 0 0;color:#ddd9e5}.stm-site .customer-hub-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0}.stm-site .customer-hub-stat,.stm-site .customer-panel,.stm-site .stm-account-settings-card{background:#fff;border:1px solid var(--stm-public-line);border-radius:20px;box-shadow:0 15px 34px rgba(32,33,36,.07)}.stm-site .customer-hub-stat{padding:26px 28px}.stm-site .customer-hub-stat span{display:block;color:var(--stm-public-muted);font-size:.9rem}.stm-site .customer-hub-stat b{display:block;margin-top:6px;color:var(--stm-grey-900);font-size:2.5rem;line-height:1;font-weight:800}.stm-site .customer-panel{margin-top:20px;padding:32px}.stm-site .customer-panel h3{margin:8px 0 17px;color:var(--stm-grey-900);font-size:1.75rem;font-weight:800}.stm-site .customer-record{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:17px 0;border-top:1px solid var(--stm-public-line)}.stm-site .customer-record:first-of-type{border-top:0}.stm-site .customer-record i{color:var(--stm-public-orange);font-size:1.2rem}.stm-site .customer-record strong,.stm-site .customer-record small{display:block}.stm-site .customer-record strong{color:var(--stm-grey-900);font-weight:800}.stm-site .customer-record small{margin-top:3px;color:var(--stm-public-muted)}.stm-site .customer-record-value{font-weight:800;white-space:nowrap}.stm-site .customer-record-value small{display:inline;margin-left:3px;font-size:.78rem}.stm-site .customer-download,.stm-site .stm-account-secondary-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(244,134,0,.38);border-radius:999px;background:#fff8ee;color:#cc6500!important;font-weight:800;text-decoration:none;white-space:nowrap}.stm-site .customer-download{min-height:38px;padding:0 15px;font-size:.83rem}.stm-site .customer-download:hover,.stm-site .stm-account-secondary-action:hover{background:#f48600;color:#fff!important}.stm-site .customer-empty,.stm-site .customer-hub-note{padding:20px 22px;border-radius:14px;color:var(--stm-public-muted);background:var(--stm-grey-050)}.stm-site .customer-hub-note{margin-top:16px;color:#825400;background:#fff5e8}
.stm-site .stm-account-settings{padding:6px 0 0}.stm-site .stm-account-settings-card{max-width:850px;margin:0 auto;padding:42px}.stm-site .stm-account-section-heading{margin-bottom:30px}.stm-site .stm-account-section-heading h2{margin:9px 0 8px;color:var(--stm-grey-900);font-size:2rem;font-weight:800}.stm-site .stm-account-section-heading p{margin:0;color:var(--stm-public-muted)}.stm-site .stm-account-field label{color:#36333d;font-size:.9rem;font-weight:800}.stm-site .stm-account-form .form-control{height:56px;border-color:var(--stm-public-line)!important;border-radius:13px!important;color:var(--stm-grey-900);font-size:1rem}.stm-site .stm-account-form-divider{height:1px;margin:32px 0;background:var(--stm-public-line)}.stm-site .stm-account-form-title{margin:0 0 20px;color:var(--stm-grey-900);font-size:1.15rem;font-weight:800}.stm-site .stm-account-form-title small{color:var(--stm-public-muted);font-weight:500}.stm-site .stm-account-form-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:34px}.stm-site .stm-account-secondary-action{min-height:52px;padding:0 21px;background:#fff}.stm-site .stm-account-primary-action{min-height:54px;padding:0 25px;cursor:pointer}
@media(max-width:767px){.stm-site .stm-account-hero{padding:128px 0 64px}.stm-site .stm-account-hero-inner{display:block}.stm-site .stm-account-hero h1{font-size:clamp(2.4rem,11vw,3.6rem)}.stm-site .stm-account-hero-action{margin-top:28px}.stm-site .customer-hub{margin:-25px auto 38px}.stm-site .customer-hub-head{display:block;padding:25px}.stm-site .customer-hub-head .customer-download{margin-top:22px}.stm-site .customer-hub-stats{grid-template-columns:1fr;gap:12px}.stm-site .customer-hub-stat{padding:21px}.stm-site .customer-panel{padding:23px}.stm-site .customer-record{grid-template-columns:28px minmax(0,1fr)}.stm-site .customer-record-value,.stm-site .customer-download{grid-column:2}.stm-site .stm-account-settings{padding-top:0}.stm-site .stm-account-settings-card{padding:27px 22px}.stm-site .stm-account-form-actions{align-items:stretch;flex-direction:column}.stm-site .stm-account-secondary-action,.stm-site .stm-account-primary-action{width:100%}}

/* Legacy public pages, rebuilt through the shared Central design system.
   These rules intentionally replace the old ftco page surfaces without changing
   any live route, form post target, database call, or navigation link. */
.stm-site{background:var(--stm-grey-050);color:var(--stm-public-ink)}
.stm-site .about-hero-wrap{position:relative;display:flex;align-items:flex-end;min-height:480px;margin:0;background-position:center!important;background-size:cover!important;overflow:hidden}.stm-site .about-hero-wrap .overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,19,23,.87),rgba(18,19,23,.36))!important}.stm-site .about-hero-wrap .container{position:relative;z-index:1}.stm-site .about-hero-wrap .slider-text{min-height:480px;padding-bottom:74px;align-items:flex-end!important}.stm-site .about-hero-wrap .breadcrumbs{margin:0 0 15px;color:rgba(255,255,255,.76);font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.stm-site .about-hero-wrap .breadcrumbs a{color:#fff}.stm-site .about-hero-wrap .bread{margin:0;color:#fff;font-size:clamp(3.2rem,6vw,6rem);font-weight:800;letter-spacing:-.065em;line-height:.96}
.stm-site .ftco-section{padding:80px 0;background:var(--stm-grey-050)}.stm-site .ftco-section.ftco-no-pt{padding-top:0}.stm-site .heading-section .subheading,.stm-site .subheading{display:inline-block;color:var(--stm-public-orange)!important;font-size:.76rem!important;font-weight:800!important;letter-spacing:.17em;text-transform:uppercase}.stm-site .heading-section h2,.stm-site .ftco-section h2{color:var(--stm-grey-900);font-weight:800;letter-spacing:-.04em;line-height:1.12}.stm-site .ftco-section p{color:var(--stm-public-muted);line-height:1.8}.stm-site .about-intro{overflow:hidden;background:#fff;border:1px solid var(--stm-public-line);border-radius:22px;box-shadow:var(--stm-public-shadow)}.stm-site .about-intro .img{min-height:400px;background-position:center;background-size:cover}.stm-site .about-intro .py-5{padding:56px!important}.stm-site .about-intro .para-align{text-align:left!important}
.stm-site .service-card{border:1px solid var(--stm-public-line)!important;border-radius:19px!important;box-shadow:0 14px 34px rgba(32,33,36,.07)!important;transition:transform .2s ease,box-shadow .2s ease}.stm-site .service-card:hover{transform:translateY(-5px);box-shadow:var(--stm-public-shadow)!important}.stm-site .service-card .card-body{padding:34px 27px!important}.stm-site .service-card i{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;margin-bottom:20px!important;border-radius:18px;background:#fff2df;color:var(--stm-public-orange)!important;font-size:1.55rem!important}.stm-site .service-card h5{color:var(--stm-grey-900);font-size:1.1rem;font-weight:800}.stm-site .service-card p{margin-bottom:0;color:var(--stm-public-muted);line-height:1.7}
.stm-site .contact-section .contact-info{gap:0}.stm-site .contact-section .box{width:100%;margin:0 8px;background:#fff;border:1px solid var(--stm-public-line);border-radius:19px;box-shadow:0 14px 34px rgba(32,33,36,.07)}.stm-site .contact-section .box .icon{width:64px;height:64px;margin:0 auto 19px;border-radius:50%;background:var(--stm-public-orange);color:#fff}.stm-site .contact-section .box h3{color:var(--stm-grey-900);font-size:1.05rem;font-weight:800}.stm-site .contact-section .box p,.stm-site .contact-section .box a{color:var(--stm-public-muted);overflow-wrap:anywhere}.stm-site .contact-section .block-9{align-items:stretch}.stm-site .contact-section .contact-form{width:100%;background:#fff!important;border:1px solid var(--stm-public-line);border-radius:21px;box-shadow:var(--stm-public-shadow)}.stm-site .contact-section .form-control{min-height:52px;border:1px solid var(--stm-public-line)!important;border-radius:12px!important}.stm-site .contact-section textarea.form-control{min-height:150px}.stm-site .contact-section iframe{width:100%!important;height:auto!important;min-height:560px;border-radius:21px!important;box-shadow:var(--stm-public-shadow)}.stm-site .contact-section .btn-primary{border:0;border-radius:999px;background:linear-gradient(135deg,var(--stm-public-orange),#ff9d22);box-shadow:0 12px 26px rgba(244,134,0,.22);font-weight:800}
.stm-site .stm-blog-hero{min-height:480px}.stm-site .stm-blog-section{padding-top:72px;background:var(--stm-grey-050)}.stm-site .stm-blog-toolbar{padding:0!important;background:transparent!important}.stm-site .stm-blog-search{padding:12px;border:1px solid var(--stm-public-line);border-radius:19px;background:#fff;box-shadow:0 14px 34px rgba(32,33,36,.07)}.stm-site .stm-blog-card{border:1px solid var(--stm-public-line);border-radius:19px;box-shadow:0 14px 34px rgba(32,33,36,.07)}.stm-site .stm-blog-card:hover{box-shadow:var(--stm-public-shadow)}
@media(max-width:767px){.stm-site .about-hero-wrap,.stm-site .about-hero-wrap .slider-text{min-height:395px}.stm-site .about-hero-wrap .slider-text{padding-bottom:52px}.stm-site .about-intro .py-5{padding:34px 25px!important}.stm-site .about-intro .img{min-height:275px}.stm-site .contact-section .box{margin:0 0 14px}.stm-site .contact-section iframe{min-height:360px;margin-top:20px}.stm-site .ftco-section{padding:58px 0}}

/* Final shared route adapters: every migrated public page declares its surface.
   This keeps the Central design system authoritative when content is updated. */
body.stm-public-page{background:var(--stm-grey-050);color:var(--stm-public-ink)}
body.stm-public-page .about-hero-wrap,body.stm-public-page .stm-blog-hero{isolation:isolate}
body.stm-public-page .ftco-section{position:relative;z-index:1}
body.stm-public-page--about .about-intro,body.stm-public-page--services .service-card,body.stm-public-page--contact .contact-section,body.stm-public-page--journal .stm-blog-section{font-family:var(--stm-public-sans,'Poppins',sans-serif)}


/* === Header migrated into central design system === */
/* ==========================================================
   Smiles To Miles — MASTER PUBLIC HEADER V6.6
   The homepage/landing-page header is the geometry master for
   every public page that includes nav.php.

   Desktop master:
   - 32px outer left/right gutter
   - 116px header shell height
   - 26px top offset
   - 28px radius
   - Grey glass + Orange branding
   ========================================================== */

:root{
  --stm-header-gutter:24px;
  --stm-header-top:18px;
  --stm-header-height:92px;
  --stm-header-radius:20px;
  --stm-header-pad-x:20px;

  --stm-header-grey:var(--stm-grey-850);
  --stm-header-grey-dark:var(--stm-grey-950);
  --stm-header-orange:var(--stm-orange);
  --stm-header-orange-dark:var(--stm-orange-dark);
}

/* One consistent header canvas on every public page */
body .stm-public-header{
  position:absolute!important;
  z-index:900!important;
  top:var(--stm-header-top)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none;
}

/* Same width + same height as the approved landing-page header */
body .stm-public-header .stm-nav-shell{
  position:relative!important;
  width:calc(100% - (var(--stm-header-gutter) * 2))!important;
  max-width:none!important;
  min-width:0!important;

  height:var(--stm-header-height)!important;
  min-height:var(--stm-header-height)!important;
  max-height:var(--stm-header-height)!important;

  margin:0 auto!important;
  padding:0 var(--stm-header-pad-x)!important;

  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr) max-content!important;
  align-items:center!important;
  column-gap:28px!important;

  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:var(--stm-header-radius)!important;
  background:
    linear-gradient(120deg,rgba(75,75,80,.96),rgba(61,61,66,.93))!important;
  box-shadow:0 18px 52px rgba(26,26,30,.22)!important;

  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;

  overflow:visible!important;
  pointer-events:auto;
}

/* Brand lock-up — logo + Smiles To Miles, one line */
body .stm-public-header .stm-brand{
  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;

  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;

  margin:0!important;
  padding:0!important;
  color:#fff!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
body .stm-public-header .stm-brand img{
  display:block!important;
  flex:0 0 68px!important;
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  max-width:68px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
}
body .stm-public-header .stm-brand-copy{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}
body .stm-public-header .stm-brand-copy strong{
  display:inline-block!important;
  width:max-content!important;
  min-width:max-content!important;
  margin:0!important;
  padding:0!important;

  font-family:"Shrikhand",cursive!important;
  font-size:1.72rem!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;

  color:var(--stm-header-orange)!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
body .stm-public-header .stm-brand-copy small{
  display:none!important;
}

/* Navigation */
body .stm-public-header .stm-primary-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
body .stm-public-header .stm-primary-nav a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:46px!important;
  padding:0 13px!important;
  margin:0!important;

  color:#fff!important;
  background:transparent!important;
  border:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;

  font-size:.82rem!important;
  font-weight:750!important;
  line-height:1!important;
}
body .stm-public-header .stm-primary-nav a::after{
  content:""!important;
  position:absolute!important;
  left:13px!important;
  right:13px!important;
  bottom:2px!important;
  height:2px!important;
  border-radius:2px!important;
  background:var(--stm-header-orange)!important;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
body .stm-public-header .stm-primary-nav a:hover::after,
body .stm-public-header .stm-primary-nav a.is-active::after{
  transform:scaleX(1);
}

/* Actions */
body .stm-public-header .stm-nav-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  width:max-content!important;
  min-width:max-content!important;
  margin:0!important;
  padding:0!important;
}
body .stm-public-header .stm-nav-quote{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:68px!important;
  height:68px!important;
  padding:0 27px!important;
  margin:0!important;

  color:#fff!important;
  background:var(--stm-header-orange)!important;
  border:1px solid var(--stm-header-orange)!important;
  border-radius:17px!important;
  box-shadow:0 12px 28px rgba(247,148,0,.20)!important;

  font-size:.86rem!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
body .stm-public-header .stm-nav-quote:hover{
  background:var(--stm-header-orange-dark)!important;
  border-color:var(--stm-header-orange-dark)!important;
}
body .stm-public-header .stm-account-wrap{
  position:relative!important;
  margin:0!important;
}
body .stm-public-header .stm-account-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;

  min-height:68px!important;
  height:68px!important;
  padding:0 14px 0 10px!important;
  margin:0!important;

  color:#fff!important;
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:17px!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
body .stm-public-header .stm-account-avatar{
  display:grid!important;
  place-items:center!important;
  flex:0 0 46px!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  background:var(--stm-header-orange)!important;
  color:#fff!important;
}
body .stm-public-header .stm-account-label{
  font-size:.78rem!important;
  font-weight:850!important;
  color:#fff!important;
}

/* Scrolled state: retain SAME width and height so the header does not jump */
body .stm-public-header.is-scrolled{
  position:fixed!important;
  top:12px!important;
}
body .stm-public-header.is-scrolled .stm-nav-shell{
  width:calc(100% - (var(--stm-header-gutter) * 2))!important;
  height:var(--stm-header-height)!important;
  min-height:var(--stm-header-height)!important;
  max-height:var(--stm-header-height)!important;
  background:rgba(61,61,66,.97)!important;
  box-shadow:0 15px 44px rgba(26,26,30,.25)!important;
}

/* Mobile toggle is hidden on desktop */
body .stm-public-header .stm-nav-toggle{
  display:none!important;
}

/* Large tablets / smaller laptops */
@media(max-width:1280px){
  :root{
    --stm-header-gutter:24px;
    --stm-header-height:102px;
    --stm-header-top:20px;
    --stm-header-pad-x:20px;
  }
  body .stm-public-header .stm-brand img{
    flex-basis:58px!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    max-width:58px!important;
  }
  body .stm-public-header .stm-brand-copy strong{
    font-size:1.40rem!important;
  }
  body .stm-public-header .stm-primary-nav{
    gap:2px!important;
  }
  body .stm-public-header .stm-primary-nav a{
    padding-left:9px!important;
    padding-right:9px!important;
    font-size:.75rem!important;
  }
  body .stm-public-header .stm-nav-quote{
    min-height:58px!important;
    height:58px!important;
    padding:0 18px!important;
    font-size:.76rem!important;
  }
  body .stm-public-header .stm-account-button{
    min-height:58px!important;
    height:58px!important;
  }
  body .stm-public-header .stm-account-avatar{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
  }
}

/* Tablet / mobile */
@media(max-width:991px){
  :root{
    --stm-header-gutter:16px;
    --stm-header-height:82px;
    --stm-header-top:12px;
    --stm-header-radius:22px;
    --stm-header-pad-x:14px;
  }

  body .stm-public-header .stm-nav-shell{
    grid-template-columns:max-content 1fr max-content!important;
    column-gap:10px!important;
  }

  body .stm-public-header .stm-brand{
    gap:9px!important;
  }
  body .stm-public-header .stm-brand img{
    flex-basis:50px!important;
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    max-width:50px!important;
  }
  body .stm-public-header .stm-brand-copy strong{
    font-size:1.18rem!important;
  }

  body .stm-public-header .stm-nav-toggle{
    display:block!important;
    justify-self:end!important;
    width:42px!important;
    height:42px!important;
    padding:7px!important;
    margin:0!important;
    border:0!important;
    border-radius:11px!important;
    background:rgba(255,255,255,.08)!important;
  }
  body .stm-public-header .stm-nav-toggle span{
    display:block!important;
    width:24px!important;
    height:2px!important;
    margin:5px auto!important;
    background:#fff!important;
  }

  body .stm-public-header .stm-primary-nav{
    position:absolute!important;
    left:14px!important;
    right:14px!important;
    top:calc(var(--stm-header-height) + 8px)!important;

    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:2px!important;

    padding:10px!important;
    border:1px solid rgba(255,255,255,.15)!important;
    border-radius:18px!important;
    background:rgba(61,61,66,.98)!important;
    box-shadow:0 18px 45px rgba(25,25,28,.24)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }
  body .stm-public-header .stm-primary-nav.is-open{
    display:flex!important;
  }
  body .stm-public-header .stm-primary-nav a{
    min-height:44px!important;
    justify-content:flex-start!important;
    padding:0 13px!important;
    font-size:.78rem!important;
  }
  body .stm-public-header .stm-primary-nav a::after{
    left:13px!important;
    right:auto!important;
    bottom:4px!important;
    width:28px!important;
  }

  body .stm-public-header .stm-nav-quote{
    display:none!important;
  }
  body .stm-public-header .stm-account-button{
    min-height:50px!important;
    height:50px!important;
    padding:0 8px!important;
  }
  body .stm-public-header .stm-account-avatar{
    flex-basis:36px!important;
    width:36px!important;
    height:36px!important;
  }
  body .stm-public-header .stm-account-label{
    display:none!important;
  }
}

/* Small phones */
@media(max-width:480px){
  :root{
    --stm-header-gutter:10px;
    --stm-header-height:72px;
    --stm-header-top:9px;
    --stm-header-radius:18px;
    --stm-header-pad-x:10px;
  }

  body .stm-public-header .stm-nav-shell{
    column-gap:7px!important;
  }
  body .stm-public-header .stm-brand{
    gap:7px!important;
  }
  body .stm-public-header .stm-brand img{
    flex-basis:43px!important;
    width:43px!important;
    height:43px!important;
    min-width:43px!important;
    max-width:43px!important;
  }
  body .stm-public-header .stm-brand-copy strong{
    font-size:1rem!important;
  }
  body .stm-public-header .stm-account-wrap{
    display:none!important;
  }
}


/* === Footer migrated into central design system === */
/* ==========================================================
   Smiles To Miles — CENTRAL PREMIUM FOOTER V6.7
   Brand: Grey + Orange
   Branding lock-up: Logo + Smiles To Miles
   Legal copyright: Smiles To Miles Vacations Private Limited
   ========================================================== */

body .stm-site-footer{
  --sf-orange:#f79400;
  --sf-orange-dark:#df7900;
  --sf-bg-1:#56565b;
  --sf-bg-2:#45454a;
  --sf-bg-3:#323236;
  --sf-white:#ffffff;
  --sf-text:#d7d7da;
  --sf-muted:#aaaab0;
  --sf-line:rgba(255,255,255,.10);

  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:74px 0 0!important;
  overflow:hidden!important;
  color:var(--sf-text)!important;
  background:
    radial-gradient(circle at 6% 7%,rgba(247,148,0,.10),transparent 23%),
    radial-gradient(circle at 96% 0%,rgba(247,148,0,.08),transparent 22%),
    linear-gradient(135deg,var(--sf-bg-1) 0%,var(--sf-bg-2) 52%,var(--sf-bg-3) 100%)!important;
  border-top:1px solid rgba(247,148,0,.45)!important;
  font-family:"Poppins",Arial,sans-serif!important;
}

body .stm-site-footer *,
body .stm-site-footer *::before,
body .stm-site-footer *::after{
  box-sizing:border-box!important;
}

body .stm-site-footer .container{
  width:min(1440px,calc(100% - 64px))!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

.stm-footer-glow{
  position:absolute!important;
  border-radius:50%!important;
  pointer-events:none!important;
}
.stm-footer-glow-one{
  width:360px!important;height:360px!important;
  right:-155px!important;top:-165px!important;
  background:rgba(247,148,0,.07)!important;
}
.stm-footer-glow-two{
  width:420px!important;height:420px!important;
  left:-210px!important;bottom:-220px!important;
  background:rgba(255,255,255,.025)!important;
}

/* ---------- MAIN LAYOUT ---------- */

body .stm-site-footer .stm-footer-main{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(300px,1.42fr) minmax(145px,.72fr) minmax(170px,.82fr) minmax(190px,.90fr) minmax(300px,1.30fr)!important;
  gap:42px!important;
  align-items:start!important;
}

/* ---------- BRAND LOCK-UP ---------- */

body .stm-site-footer .stm-footer-brand-panel{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0 14px 0 0!important;
}

body .stm-site-footer .stm-footer-brand-lockup{
  display:grid!important;
  grid-template-columns:74px max-content!important;
  align-items:center!important;
  justify-content:start!important;
  column-gap:14px!important;

  width:max-content!important;
  max-width:100%!important;
  min-height:74px!important;

  margin:0!important;
  padding:0!important;

  color:var(--sf-white)!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

body .stm-site-footer .stm-footer-brand-lockup img{
  display:block!important;
  width:74px!important;
  height:74px!important;
  max-width:74px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  align-self:center!important;
}

body .stm-site-footer .stm-footer-brand-name{
  display:block!important;
  width:max-content!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;

  color:var(--sf-orange)!important;
  font-family:"Shrikhand",cursive!important;
  font-size:1.78rem!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;

  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;

  align-self:center!important;
  transform:none!important;
}

body .stm-site-footer .stm-footer-tagline{
  max-width:385px!important;
  margin:29px 0 10px!important;
  padding:0!important;
  color:#fff!important;
  font-size:.82rem!important;
  font-weight:750!important;
  line-height:1.58!important;
}

body .stm-site-footer .stm-footer-about{
  max-width:390px!important;
  margin:0!important;
  padding:0!important;
  color:#c8c8cc!important;
  font-size:.69rem!important;
  font-weight:400!important;
  line-height:1.88!important;
}

body .stm-site-footer .stm-footer-socials{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin:21px 0 0!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-socials a{
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  padding:0!important;

  color:#fff!important;
  background:rgba(255,255,255,.05)!important;
  border:1px solid rgba(255,255,255,.17)!important;
  border-radius:50%!important;
  text-decoration:none!important;
}

body .stm-site-footer .stm-footer-socials a:hover{
  color:#fff!important;
  background:var(--sf-orange)!important;
  border-color:var(--sf-orange)!important;
  transform:translateY(-2px)!important;
}

/* ---------- LINK COLUMNS ---------- */

body .stm-site-footer .stm-footer-column{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  padding:4px 0 0!important;
}

body .stm-site-footer .stm-footer-column h3{
  position:relative!important;
  display:block!important;
  margin:0 0 25px!important;
  padding:0!important;

  color:#fff!important;
  background:none!important;

  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

body .stm-site-footer .stm-footer-column h3::after{
  content:""!important;
  display:block!important;
  width:30px!important;
  height:2px!important;
  margin-top:10px!important;
  border-radius:3px!important;
  background:var(--sf-orange)!important;
}

body .stm-site-footer .stm-footer-column>a:not(.stm-footer-cta){
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 11px!important;
  padding:0!important;

  color:#d1d1d4!important;
  background:none!important;
  border:0!important;

  font-size:.66rem!important;
  font-weight:500!important;
  line-height:1.46!important;
  text-decoration:none!important;
}

body .stm-site-footer .stm-footer-column>a:not(.stm-footer-cta):hover{
  color:#fff!important;
  transform:translateX(3px)!important;
}

/* ---------- CONTACT ---------- */

body .stm-site-footer .stm-footer-contact-item{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:start!important;
  margin:0 0 17px!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-contact-item>i{
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;

  color:var(--sf-orange)!important;
  background:rgba(247,148,0,.14)!important;
  border:1px solid rgba(247,148,0,.09)!important;
  border-radius:11px!important;
  font-size:.80rem!important;
}

body .stm-site-footer .stm-footer-contact-item>div{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-contact-item small{
  display:block!important;
  margin:1px 0 4px!important;
  padding:0!important;

  color:#aaaab0!important;
  font-size:.49rem!important;
  font-weight:850!important;
  line-height:1.3!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}

body .stm-site-footer .stm-footer-contact-item span,
body .stm-site-footer .stm-footer-contact-item a{
  display:block!important;
  margin:0 0 2px!important;
  padding:0!important;

  color:#ececee!important;
  background:none!important;
  border:0!important;

  font-size:.62rem!important;
  font-weight:500!important;
  line-height:1.62!important;
  text-decoration:none!important;

  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

body .stm-site-footer .stm-footer-contact-item a:hover{
  color:#fff!important;
}

body .stm-site-footer .stm-footer-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;

  width:max-content!important;
  min-height:48px!important;
  margin:7px 0 0!important;
  padding:0 18px!important;

  color:#fff!important;
  background:linear-gradient(135deg,var(--sf-orange),#ff9f25)!important;
  border:1px solid var(--sf-orange)!important;
  border-radius:13px!important;

  font-size:.66rem!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 12px 28px rgba(247,148,0,.18)!important;
}

body .stm-site-footer .stm-footer-cta:hover{
  background:var(--sf-orange-dark)!important;
  border-color:var(--sf-orange-dark)!important;
  transform:translateY(-2px)!important;
}

/* ---------- TRUST + PAYMENT BAND ---------- */

body .stm-site-footer .stm-footer-assurance{
  position:relative!important;
  z-index:2!important;
  margin-top:58px!important;
  padding:0!important;
  border-top:1px solid var(--sf-line)!important;
}

body .stm-site-footer .stm-footer-trust{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid var(--sf-line)!important;
}

body .stm-site-footer .stm-footer-trust>div{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:center!important;
  min-height:82px!important;

  margin:0!important;
  padding:18px 20px!important;
  border-right:1px solid var(--sf-line)!important;
}

body .stm-site-footer .stm-footer-trust>div:last-child{
  border-right:0!important;
}

body .stm-site-footer .stm-footer-trust i{
  margin:0!important;
  color:var(--sf-orange)!important;
  font-size:1rem!important;
  text-align:center!important;
}

body .stm-site-footer .stm-footer-trust span{
  display:flex!important;
  flex-direction:column!important;
  margin:0!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-trust strong{
  margin:0!important;
  color:#fff!important;
  font-size:.65rem!important;
  font-weight:800!important;
  line-height:1.35!important;
}

body .stm-site-footer .stm-footer-trust small{
  margin:4px 0 0!important;
  color:#aaaab0!important;
  font-size:.50rem!important;
  font-weight:500!important;
  line-height:1.35!important;
}

body .stm-site-footer .stm-footer-payments{
  display:grid!important;
  grid-template-columns:minmax(220px,.8fr) minmax(0,2.2fr)!important;
  gap:24px!important;
  align-items:center!important;

  width:100%!important;
  min-height:92px!important;
  margin:0!important;
  padding:19px 20px!important;

  background:rgba(255,255,255,.025)!important;
  border-bottom:1px solid var(--sf-line)!important;
}

body .stm-site-footer .stm-footer-payments-title{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:center!important;
}

body .stm-site-footer .stm-footer-payments-title>i{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  border-radius:11px!important;
  background:rgba(247,148,0,.14)!important;
  color:var(--sf-orange)!important;
}

body .stm-site-footer .stm-footer-payments-title span{
  display:flex!important;
  flex-direction:column!important;
}

body .stm-site-footer .stm-footer-payments-title strong{
  color:#fff!important;
  font-size:.66rem!important;
  font-weight:850!important;
}

body .stm-site-footer .stm-footer-payments-title small{
  margin-top:3px!important;
  color:#aaaab0!important;
  font-size:.50rem!important;
}

body .stm-site-footer .stm-payment-badges{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:9px!important;
}

body .stm-site-footer .stm-payment-badges span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;

  min-height:38px!important;
  padding:0 12px!important;

  color:#ececee!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:11px!important;

  font-size:.57rem!important;
  font-weight:750!important;
  line-height:1!important;
  white-space:nowrap!important;
}

body .stm-site-footer .stm-payment-badges span i{
  color:var(--sf-orange)!important;
  font-size:.76rem!important;
}

/* ---------- BOTTOM LEGAL BAR ---------- */

body .stm-site-footer .stm-footer-bottom{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:rgba(22,22,24,.42)!important;
}

body .stm-site-footer .stm-footer-bottom>.container{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  min-height:70px!important;
  margin:auto!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-bottom p{
  margin:0!important;
  padding:0!important;
  color:#b7b7bc!important;
  font-size:.58rem!important;
  font-weight:550!important;
  line-height:1.5!important;
}

body .stm-site-footer .stm-footer-bottom-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:17px!important;
  margin:0!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-bottom-links a{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;

  color:#d0d0d3!important;
  background:none!important;
  border:0!important;

  font-size:.57rem!important;
  font-weight:750!important;
  text-decoration:none!important;
}

body .stm-site-footer .stm-footer-bottom-links a:hover{
  color:#fff!important;
}

/* Stop legacy footer/bootstrap rules bleeding into the central footer */
body .stm-site-footer p,
body .stm-site-footer a,
body .stm-site-footer span,
body .stm-site-footer strong,
body .stm-site-footer small,
body .stm-site-footer nav,
body .stm-site-footer section{
  float:none!important;
}

body .stm-site-footer ul,
body .stm-site-footer li{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

/* ---------- RESPONSIVE ---------- */

@media(max-width:1220px){
  body .stm-site-footer .stm-footer-main{
    grid-template-columns:minmax(300px,1.3fr) repeat(2,minmax(170px,1fr))!important;
    gap:36px!important;
  }

  body .stm-site-footer .stm-footer-contact{
    grid-column:2 / 4!important;
  }
}

@media(max-width:850px){
  body .stm-site-footer{
    padding-top:60px!important;
  }

  body .stm-site-footer .container{
    width:min(100% - 36px,1440px)!important;
  }

  body .stm-site-footer .stm-footer-main{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:32px 25px!important;
  }

  body .stm-site-footer .stm-footer-brand-panel{
    grid-column:1 / -1!important;
    padding-right:0!important;
  }

  body .stm-site-footer .stm-footer-contact{
    grid-column:auto!important;
  }

  body .stm-site-footer .stm-footer-trust{
    grid-template-columns:repeat(2,1fr)!important;
  }

  body .stm-site-footer .stm-footer-trust>div:nth-child(2){
    border-right:0!important;
  }

  body .stm-site-footer .stm-footer-trust>div:nth-child(-n+2){
    border-bottom:1px solid var(--sf-line)!important;
  }

  body .stm-site-footer .stm-footer-payments{
    grid-template-columns:1fr!important;
  }

  body .stm-site-footer .stm-payment-badges{
    justify-content:flex-start!important;
  }
}

@media(max-width:560px){
  body .stm-site-footer{
    padding-top:52px!important;
  }

  body .stm-site-footer .container{
    width:min(100% - 30px,1440px)!important;
  }

  body .stm-site-footer .stm-footer-main{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  body .stm-site-footer .stm-footer-brand-panel{
    grid-column:auto!important;
  }

  body .stm-site-footer .stm-footer-brand-lockup{
    grid-template-columns:58px max-content!important;
    column-gap:10px!important;
    min-height:58px!important;
  }

  body .stm-site-footer .stm-footer-brand-lockup img{
    width:58px!important;
    height:58px!important;
    max-width:58px!important;
  }

  body .stm-site-footer .stm-footer-brand-name{
    font-size:1.38rem!important;
  }

  body .stm-site-footer .stm-footer-trust{
    grid-template-columns:1fr!important;
  }

  body .stm-site-footer .stm-footer-trust>div{
    border-right:0!important;
    border-bottom:1px solid var(--sf-line)!important;
  }

  body .stm-site-footer .stm-footer-trust>div:last-child{
    border-bottom:0!important;
  }

  body .stm-site-footer .stm-payment-badges{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  body .stm-site-footer .stm-payment-badges span{
    width:100%!important;
  }

  body .stm-site-footer .stm-footer-bottom>.container{
    min-height:0!important;
    padding-top:20px!important;
    padding-bottom:20px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}

@media(max-width:390px){
  body .stm-site-footer .stm-footer-brand-lockup{
    grid-template-columns:50px max-content!important;
    column-gap:8px!important;
    min-height:50px!important;
  }

  body .stm-site-footer .stm-footer-brand-lockup img{
    width:50px!important;
    height:50px!important;
    max-width:50px!important;
  }

  body .stm-site-footer .stm-footer-brand-name{
    font-size:1.18rem!important;
  }

  body .stm-site-footer .stm-payment-badges{
    grid-template-columns:1fr!important;
  }
}



/* ==========================================================
   PUBLIC FOUNDATION — FINAL AUTHORITY
   ========================================================== */
html{scroll-behavior:smooth}
body{margin:0;background:var(--stm-grey-050);color:var(--stm-ink);font-family:var(--stm-public-sans);font-size:15px;line-height:1.65;overflow-x:hidden}
body.stm-public-page,body.stm-site,body.stm-public-wrap{background:var(--stm-grey-050);color:var(--stm-ink)}
body *,body *::before,body *::after{box-sizing:border-box}
a{color:var(--stm-grey-900)}
a:hover{color:var(--stm-orange);text-decoration:none}
h1,h2,h3,h4,h5,h6{color:var(--stm-grey-950);font-family:var(--stm-public-sans);font-weight:800;letter-spacing:-.025em}
p{color:var(--stm-muted)}
.container,.stm-container,.dg-container,.stm-pkg-wrap,.stm-destination-wrap{width:min(calc(100% - 40px),var(--stm-max));max-width:var(--stm-max);margin-left:auto;margin-right:auto}
.stm-section,.ftco-section,.stm-public-main,.stm-destination-section,.stm-svc-section,.stm-leadership-section{padding-top:68px;padding-bottom:68px}
.stm-section-title,.stm-section-head h2,.stm-centered-head h2,.stm-svc-heading h2,.stm-leadership-section-heading h2{color:var(--stm-grey-900)}
.stm-section-copy,.stm-section-head p,.stm-centered-head p{color:var(--stm-muted)}
.stm-kicker,.stm-section-kicker,.stm-eyebrow,.stm-managed-hero-eyebrow{color:var(--stm-orange)}
.stm-card,.stm-panel,.stm-package-card,.stm-blog-card{border-color:var(--stm-line);border-radius:var(--stm-radius-md);box-shadow:var(--stm-shadow-soft)}
.stm-card:hover,.stm-panel:hover,.stm-package-card:hover,.stm-blog-card:hover{box-shadow:var(--stm-shadow-hover)}
.btn,.stm-btn,.stm-svc-btn,.stm-about-btn,.stm-leadership-btn,.stm-nav-quote,.stm-account-primary-action{
  border-radius:12px!important;
}
.btn-primary,.stm-btn-primary{background:var(--stm-orange)!important;border-color:var(--stm-orange)!important;color:#fff!important}
.btn-primary:hover,.stm-btn-primary:hover{background:var(--stm-orange-dark)!important;border-color:var(--stm-orange-dark)!important}
.form-control,input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea{
  border-color:var(--stm-line);border-radius:11px;box-shadow:none
}
.form-control:focus,input:focus,select:focus,textarea:focus{border-color:rgba(242,138,0,.65);box-shadow:0 0 0 3px rgba(242,138,0,.10);outline:0}

/* Unified interior hero adapter for remaining legacy pages */
.about-hero-wrap.about-hero-wrap-2{
  position:relative;isolation:isolate;min-height:460px;display:flex;align-items:flex-end;
  padding:150px 0 58px;background-position:center!important;background-size:cover!important;
}
.about-hero-wrap.about-hero-wrap-2 .overlay{
  position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(31,32,35,.88),rgba(47,48,52,.55),rgba(47,48,52,.22))!important
}
.about-hero-wrap .slider-text{min-height:auto!important}
.about-hero-wrap .breadcrumbs{margin:0 0 12px;color:rgba(255,255,255,.72);font-size:.72rem;font-weight:700;letter-spacing:.04em}
.about-hero-wrap .breadcrumbs a{color:#fff}
.about-hero-wrap .bread{margin:6px 0 0!important;color:#fff!important;font-size:clamp(2.5rem,5vw,4.7rem)!important;line-height:1!important;font-weight:800!important;letter-spacing:-.045em!important}
.about-hero-wrap .stm-managed-hero-description{max-width:720px;margin:15px auto 0;color:rgba(255,255,255,.80);font-size:.95rem;line-height:1.7}

/* Legacy public content now inherits the central geometry */
.ftco-section{background:transparent}
.project-wrap,.sidebar-box,.details-content,.stm-side-box,.contact-section .box,.favourites-empty{
  background:#fff!important;border:1px solid var(--stm-line)!important;border-radius:var(--stm-radius-md)!important;
  box-shadow:var(--stm-shadow-soft)!important
}
.project-wrap{overflow:hidden}
.project-wrap .img,.destination-media{border-radius:var(--stm-radius-md) var(--stm-radius-md) 0 0}
.project-wrap .text{padding:20px!important}
.project-wrap .text h3 a,.project-wrap h3 a{color:var(--stm-grey-900)!important}
.project-wrap .price{color:var(--stm-orange)!important}
.btn-details{background:var(--stm-grey-900)!important;color:#fff!important;border:0!important}
.btn-details:hover{background:var(--stm-orange)!important}
.details-container{width:min(calc(100% - 40px),1180px)!important;gap:26px!important}
.details-content,.sidebar-box{padding:24px!important}
.details-sidebar{gap:16px}
.section-heading,.sidebar-heading,.tour-title{color:var(--stm-grey-900)!important}
.package-info-item,.more-packages-item,.tour-facility-panel,.gallery-item{
  border-color:var(--stm-line)!important;border-radius:14px!important
}
.book-button{background:var(--stm-orange)!important;border-color:var(--stm-orange)!important;border-radius:12px!important}
.contact-section .box{padding:24px!important}
.contact-section .box .icon{width:50px!important;height:50px!important;margin:0 auto 14px;border-radius:14px;background:var(--stm-orange-soft)!important;color:var(--stm-orange)!important}
.contact-form{background:#fff!important;border:1px solid var(--stm-line);border-radius:var(--stm-radius-md);padding:28px!important;box-shadow:var(--stm-shadow-soft)}
.block-9 iframe{border-radius:var(--stm-radius-md);overflow:hidden}

/* Legal / information pages */
.stm-public-content-page main,.stm-public-content-page .ftco-section{background:var(--stm-grey-050)}
.stm-public-content-page .stm-content-card,.stm-public-content-page .content-card,
.stm-public-content-page .container>.row>div[class*="col-"]>div.bg-white{
  background:#fff;border:1px solid var(--stm-line);border-radius:var(--stm-radius-md);box-shadow:var(--stm-shadow-soft)
}


/* Customer portal styles moved out of inline page CSS */
.customer-hub{max-width:1140px;margin:-38px auto 48px;position:relative;z-index:4;padding:0 20px}
.customer-hub-head{background:var(--stm-grey-900);color:#fff;border-radius:18px;padding:26px 30px;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:var(--stm-shadow)}
.customer-hub-head span,.customer-panel-kicker{display:block;color:var(--stm-orange);font-size:.68rem;font-weight:850;letter-spacing:.15em}
.customer-hub-head h2{margin:6px 0 0;font-size:1.75rem;color:#fff}
.customer-hub-head p{margin:6px 0 0;color:rgba(255,255,255,.72)}
.customer-hub-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}
.customer-hub-stat,.customer-panel{background:#fff;border:1px solid var(--stm-line);border-radius:16px;box-shadow:var(--stm-shadow-soft)}
.customer-hub-stat{padding:20px}
.customer-hub-stat span{display:block;color:var(--stm-muted);font-size:.78rem}
.customer-hub-stat b{font-size:1.8rem;color:var(--stm-grey-900)}
.customer-panel{padding:24px;margin-top:16px}
.customer-panel h3{margin:5px 0 14px;font-size:1.45rem}
.customer-record{display:grid;grid-template-columns:38px 1fr auto auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--stm-line)}
.customer-record:first-of-type{border-top:0}.customer-record i{color:var(--stm-orange);font-size:1rem}.customer-record strong{display:block;color:var(--stm-ink)}.customer-record small{color:var(--stm-muted)}
.customer-record-value{font-weight:750;white-space:nowrap}.customer-download{background:var(--stm-orange-soft);color:var(--stm-orange-dark)!important;border-radius:9px;padding:8px 11px;font-weight:750;font-size:.76rem;text-decoration:none;white-space:nowrap}
.customer-empty{padding:20px;color:var(--stm-muted);background:var(--stm-grey-050);border-radius:10px}
.customer-hub-note{background:var(--stm-orange-light);color:#875200;padding:13px 16px;border-radius:11px;margin-top:14px}

/* Compact premium proportions — lock */
.stm-destination-card{min-height:320px!important;border-radius:18px!important}
.stm-package-image{height:220px}
.stm-style-card{min-height:165px!important;border-radius:16px!important}
.stm-blog-image{height:210px}
.stm-split{min-height:520px!important;border-radius:20px!important}
.stm-split-media{min-height:420px!important}
.stm-split-copy{padding:48px!important}
.stm-ph-hero,.stm-svc-hero,.stm-leadership-hero{padding-top:145px!important;padding-bottom:78px!important;min-height:auto!important}
.stm-about-hero{min-height:620px!important}
.stm-about-hero-inner{padding-top:150px!important;padding-bottom:68px!important}
.dg-list-hero{min-height:390px!important;padding-top:140px!important;padding-bottom:58px!important}
.dg-hero{min-height:560px!important}
.stm-visa-hero{padding-top:125px!important;padding-bottom:62px!important}
.stm-visa-card{border-radius:18px!important;padding:24px!important}
.stm-ph-card,.stm-svc-card,.dg-card,.stm-package-card{border-radius:16px!important}

/* Header compact lock — central file is the only active header authority */
body .stm-public-header{top:14px!important}
body .stm-public-header .stm-nav-shell{height:90px!important;min-height:90px!important;max-height:90px!important;border-radius:20px!important;padding-left:18px!important;padding-right:18px!important}
body .stm-public-header .stm-brand img{width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;flex-basis:54px!important}
body .stm-public-header .stm-brand-copy strong{font-size:1.32rem!important}
body .stm-public-header .stm-nav-quote{height:50px!important;min-height:50px!important;padding:0 18px!important;border-radius:12px!important}
body .stm-public-header .stm-account-button{height:50px!important;min-height:50px!important;border-radius:12px!important}
body .stm-public-header .stm-account-avatar{width:36px!important;height:36px!important;min-width:36px!important;flex-basis:36px!important}
body .stm-public-header.is-scrolled{top:8px!important}
body .stm-public-header.is-scrolled .stm-nav-shell{height:82px!important;min-height:82px!important;max-height:82px!important}

/* Footer compact lock */
body .stm-site-footer{padding-top:56px!important}
body .stm-site-footer .stm-footer-main{gap:30px!important}
body .stm-site-footer .stm-footer-assurance{margin-top:44px!important}
body .stm-site-footer .stm-footer-brand-lockup{grid-template-columns:62px max-content!important;min-height:62px!important}
body .stm-site-footer .stm-footer-brand-lockup img{width:62px!important;height:62px!important;max-width:62px!important}
body .stm-site-footer .stm-footer-brand-name{font-size:1.58rem!important}
body .stm-site-footer .stm-footer-tagline{margin-top:22px!important}
body .stm-site-footer .stm-footer-trust>div{min-height:72px!important;padding:15px 16px!important}

@media(max-width:991px){
  .about-hero-wrap.about-hero-wrap-2{min-height:410px;padding-top:125px}
  .stm-section,.ftco-section,.stm-public-main,.stm-destination-section,.stm-svc-section,.stm-leadership-section{padding-top:56px;padding-bottom:56px}
  .details-container{display:block!important}
}
@media(max-width:700px){
  body{font-size:14px}
  .container,.stm-container,.dg-container,.stm-pkg-wrap,.stm-destination-wrap{width:min(calc(100% - 24px),var(--stm-max))}
  .customer-hub{margin:18px auto 38px;padding:0 12px}.customer-hub-head{padding:22px;display:block}.customer-hub-stats{grid-template-columns:1fr}.customer-record{grid-template-columns:26px 1fr}.customer-record-value,.customer-download{grid-column:2}.customer-panel{padding:20px}
  .stm-split-copy{padding:34px 24px!important}
}


/* Focused customer activation surface */
body.stm-activation-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(180deg,var(--stm-grey-050),var(--stm-grey-100))}
.stm-activation-card{width:min(100%,460px);background:#fff;padding:34px;border:1px solid var(--stm-line);border-radius:18px;box-shadow:var(--stm-shadow)}
.stm-activation-brand{color:var(--stm-orange);font-family:"Shrikhand",cursive;font-size:1.75rem;line-height:1}
.stm-activation-card h1{margin:22px 0 7px;font-size:1.8rem}.stm-activation-card p{margin:0}
.stm-activation-card label{display:block;font-weight:750;margin-top:18px;color:var(--stm-ink)}
.stm-activation-card input{width:100%;padding:12px 13px;margin-top:6px;background:#fff}
.stm-activation-card button{width:100%;min-height:48px;margin-top:22px;background:var(--stm-orange);color:#fff;border:0;border-radius:11px;font-weight:800}
.stm-activation-error{background:#fff2f2;color:#9b3030;padding:12px 14px;border:1px solid #f1cccc;border-radius:10px;margin-top:18px}

/* Customer document / printable travel document */
body.stm-customer-document-page{background:var(--stm-grey-050);color:var(--stm-ink)}
.stm-doc-actions{max-width:920px;margin:24px auto 0;display:flex;justify-content:flex-end;gap:10px;padding:0 18px}
.stm-doc-actions a,.stm-doc-actions button{border:0;border-radius:10px;padding:10px 15px;background:var(--stm-orange);color:#fff!important;font-weight:750;text-decoration:none;cursor:pointer}
.stm-doc-actions a{background:var(--stm-grey-900)}
.stm-doc-sheet{max-width:920px;margin:16px auto 32px;background:#fff;padding:38px;border:1px solid var(--stm-line);border-radius:16px;box-shadow:var(--stm-shadow-soft)}
.stm-doc-top{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--stm-orange);padding-bottom:18px}
.stm-doc-brand{font-family:"Shrikhand",cursive;font-size:1.75rem;color:var(--stm-orange)}
.stm-doc-eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:var(--stm-muted);text-transform:uppercase}
.stm-doc-title{margin:24px 0 4px;font-size:1.65rem}.stm-doc-number{color:var(--stm-muted)}
.stm-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.stm-doc-box{padding:14px;border:1px solid var(--stm-line);border-radius:11px}.stm-doc-box b{display:block;margin-bottom:5px}
.stm-doc-table{width:100%;border-collapse:collapse;margin:18px 0}.stm-doc-table th,.stm-doc-table td{padding:10px 8px;border-bottom:1px solid var(--stm-line);text-align:left}.stm-doc-table th{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stm-muted);background:var(--stm-grey-050)}
.stm-doc-total{margin-left:auto;max-width:330px}.stm-doc-total div{display:flex;justify-content:space-between;padding:7px 0}.stm-doc-total div:last-child{border-top:2px solid var(--stm-orange);font-size:1.05rem;font-weight:800}
.stm-doc-note{margin-top:26px;padding:15px;background:var(--stm-orange-light);border-left:3px solid var(--stm-orange)}.stm-doc-footer{margin-top:42px;padding-top:14px;border-top:1px solid var(--stm-line);font-size:.72rem;color:var(--stm-muted)}
@media(max-width:650px){.stm-doc-sheet{padding:22px;margin:0;border-radius:0}.stm-doc-top,.stm-doc-grid{display:block}.stm-doc-box{margin-top:10px}.stm-doc-actions{padding:12px;margin:0}}
@media print{body.stm-customer-document-page{background:#fff}.stm-doc-actions{display:none}.stm-doc-sheet{border:0;box-shadow:none;margin:0;max-width:none;padding:18px;border-radius:0}@page{size:A4;margin:12mm}}

/* Small reusable helpers replacing hard-coded public inline design values */
.stm-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.stm-fact-label{color:var(--stm-grey-900)!important}
.stm-section-soft-bg{background:var(--stm-grey-050)!important}
.stm-mt-20{margin-top:20px!important}.stm-mt-22{margin-top:22px!important}.stm-mt-25{margin-top:25px!important}
.stm-price-label{display:block;color:var(--stm-muted);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.stm-contact-success-icon{font-size:54px!important;color:var(--stm-orange)!important}
@media(max-width:700px){.stm-fact-grid{grid-template-columns:1fr}}

/* Central adapter: destination/listing renderer normalized to the master card structure */
.stm-central-adapter-page .project-wrap{margin-bottom:20px!important;border-radius:16px!important}
.stm-central-adapter-page .project-wrap .img{height:230px!important;border-radius:0!important;overflow:hidden}
.stm-central-adapter-page .project-wrap .text{width:100%!important;margin:0!important;padding:20px!important;box-shadow:none!important;background:#fff!important}
.stm-central-adapter-page .project-wrap .text .days{color:var(--stm-orange)!important;font-size:.68rem!important;letter-spacing:.08em}
.stm-central-adapter-page .project-wrap .text h3{font-size:1.25rem!important;font-weight:800!important;margin:5px 0 8px!important}
.stm-central-adapter-page .project-wrap .img .price{top:14px!important;left:14px!important;padding:6px 10px!important;border-radius:999px!important;background:var(--stm-orange)!important;font-size:.72rem!important;font-weight:800!important}
.stm-central-adapter-page .project-wrap .img .price::before,.stm-central-adapter-page .project-wrap .img .price::after{display:none!important}
.stm-central-adapter-page .project-wrap .img .hover-overlay{background:rgba(35,36,40,.72)!important}
.stm-central-adapter-page .project-wrap .img .hover-item{padding:9px 0!important;font-size:.78rem!important}
.stm-central-adapter-page .project-wrap .img .hover-item i{color:var(--stm-orange)!important;font-size:1rem!important}
.stm-central-adapter-page .project-wrap .img .hover-btn{padding:9px 14px!important;border-radius:10px!important;background:var(--stm-orange)!important;font-size:.72rem!important}

/* Central adapter: destination detail renderer normalized */
.stm-destination-detail-central .details-section{padding:62px 0!important;background:var(--stm-grey-050)!important}
.stm-destination-detail-central .details-container{grid-template-columns:minmax(0,1.7fr) minmax(270px,.72fr)!important;gap:22px!important}
.stm-destination-detail-central .content-inner{padding:26px!important}
.stm-destination-detail-central .tour-image{height:360px!important;border-radius:14px!important}
.stm-destination-detail-central .tour-title{font-size:clamp(1.9rem,3.5vw,2.8rem)!important;margin-bottom:14px!important}
.stm-destination-detail-central .tour-description{font-size:.92rem!important;color:var(--stm-muted)!important;margin-bottom:26px!important}
.stm-destination-detail-central .section-heading{font-size:clamp(1.55rem,2.8vw,2.2rem)!important;margin:32px 0 16px!important}
.stm-destination-detail-central .itinerary-list,.stm-destination-detail-central .package-includes,.stm-destination-detail-central .package-excludes{font-size:.9rem!important;line-height:1.8!important;color:var(--stm-muted)!important;margin-bottom:28px!important}
.stm-destination-detail-central .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-bottom:22px!important}
.stm-destination-detail-central .gallery-item{height:118px!important;border-radius:11px!important;object-fit:cover!important}
.stm-destination-detail-central .tour-facilities-wrap{background:var(--stm-orange-light)!important;border-color:rgba(242,138,0,.18)!important;border-radius:14px!important;margin:18px 0!important}
.stm-destination-detail-central .tour-facilities-icons{padding:13px 12px 8px!important}
.stm-destination-detail-central .tour-facility-icon-btn{color:var(--stm-grey-900)!important;font-size:.72rem!important}
.stm-destination-detail-central .tour-facility-icon-btn i,
.stm-destination-detail-central .tour-facility-panel-head i{background:var(--stm-orange)!important;color:#fff!important}
.stm-destination-detail-central .tour-facility-panel{border-color:var(--stm-line)!important;box-shadow:none!important;border-radius:11px!important}
.stm-destination-detail-central .tour-facility-panel-head h4{color:var(--stm-grey-900)!important}
.stm-destination-detail-central .tour-facility-panel-body p,.stm-destination-detail-central .tour-facility-panel p{color:var(--stm-muted)!important}
.stm-destination-detail-central .sidebar-box{padding:20px!important}
.stm-destination-detail-central .sidebar-heading{font-size:1.15rem!important}
@media(max-width:900px){.stm-destination-detail-central .details-container{grid-template-columns:1fr!important}.stm-destination-detail-central .tour-image{height:300px!important}}
@media(max-width:600px){.stm-destination-detail-central .gallery-grid{grid-template-columns:repeat(2,1fr)!important}.stm-destination-detail-central .content-inner{padding:20px!important}}


/* === Customer authentication modal migrated from legacy theme === */
/* =============================================
   AUTH MODAL — redesigned
   ============================================= */

#userAuthModal .auth-modal-dialog {
  max-width: 900px;
}

#userAuthModal .auth-modal-content {
  border: none;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.22);
  padding: 0;
  position: relative;
}

/* Floating close button */
.auth-modal-close-btn {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 20;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.22s ease, transform 0.18s ease;
  line-height: 1;
}

.auth-modal-close-btn:hover {
  background: rgba(0, 0, 0, 0.42);
  transform: scale(1.08);
}

/* --- Slides / viewport --- */
.auth-slides-viewport {
  overflow: hidden;
  transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.auth-slides-track {
  display: flex;
  width: 200%;
  transition: transform 0.42s cubic-bezier(0.4, 0, 0.2, 1);
}

.auth-slides-track.show-signup {
  transform: translateX(-50%);
}

.auth-slide {
  flex: 0 0 50%;
  min-width: 50%;
  display: flex;
  flex-direction: column;
}

/* --- Split grid --- */
.auth-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex: 1 1 auto;
}

/* --- Media side --- */
.auth-split-media {
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
}

.auth-media-inner {
  width: 100%;
  padding: 36px 32px;
  color: #fff;
}

.auth-media-logo {
  height: 42px;
  filter: brightness(0) invert(1);
  margin-bottom: 28px;
  display: block;
}

.auth-media-heading {
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.28;
  margin-bottom: 12px;
}

.auth-media-text {
  color: rgba(255, 255, 255, 0.88);
  font-size: 13.5px;
  line-height: 1.7;
  margin-bottom: 20px;
}

.auth-trust-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.auth-trust-list li {
  color: rgba(255, 255, 255, 0.92);
  font-size: 13px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.auth-trust-list li .fa {
  color: #F48502;
  font-size: 14px;
  flex-shrink: 0;
}

/* --- Form side --- */
.auth-split-form-wrap {
  padding: 42px 38px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
}

.auth-form-title {
  font-size: 22px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 6px;
  line-height: 1.25;
}

.auth-form-subtitle {
  font-size: 13.5px;
  color: #6b7280;
  margin-bottom: 22px;
  line-height: 1.5;
}

/* --- Form fields --- */
.auth-field {
  margin-bottom: 15px;
}

.auth-label {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.auth-input-row {
  position: relative;
  display: flex;
  align-items: center;
}

.auth-field-icon {
  position: absolute;
  left: 13px;
  color: #b0b7c3;
  font-size: 13px;
  pointer-events: none;
  z-index: 1;
  transition: color 0.2s ease;
}

.auth-input-row:focus-within .auth-field-icon {
  color: #F48502;
}

.auth-input {
  width: 100%;
  height: 46px;
  padding: 0 42px 0 38px;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  font-size: 14px;
  color: #111827;
  background: #f9fafb;
  outline: none;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
  -webkit-appearance: none;
  appearance: none;
}

.auth-input:focus {
  background: #fff;
  border-color: #F48502;
  box-shadow: 0 0 0 3.5px rgba(244, 133, 2, 0.14);
}

.auth-input::placeholder {
  color: #c4cad5;
  font-weight: 400;
}

/* Password toggle */
.auth-pw-toggle {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
  color: #b0b7c3;
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
}

.auth-pw-toggle:hover {
  color: #F48502;
}

/* Submit button */
.auth-submit-btn {
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #f5a623 0%, #F48502 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  margin-top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: opacity 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 16px rgba(244, 133, 2, 0.36);
}

.auth-submit-btn:hover {
  opacity: 0.92;
  transform: translateY(-1px);
  box-shadow: 0 7px 22px rgba(244, 133, 2, 0.46);
}

.auth-submit-btn:active {
  transform: translateY(0);
  opacity: 0.85;
}

.auth-submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Switch prompt */
.auth-footer-prompt {
  text-align: center;
  font-size: 13.5px;
  color: #6b7280;
  margin-top: 18px;
  margin-bottom: 0;
}

.auth-switch-link {
  font-weight: 600;
  color: #F48502;
  text-decoration: none;
}

.auth-switch-link:hover {
  color: #d07500;
  text-decoration: underline;
}

/* Live alert */
.auth-live-alert {
  border-radius: 8px;
  font-size: 13.5px;
  padding: 10px 14px;
  margin-bottom: 16px;
}

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
  #userAuthModal .auth-modal-dialog {
    max-width: 95%;
    margin: 0.75rem auto;
  }

  .auth-split {
    grid-template-columns: 1fr;
  }

  .auth-split-media {
    min-height: 200px;
    align-items: flex-end;
  }

  .auth-split-form-wrap {
    padding: 28px 22px;
  }

  .auth-media-inner {
    padding: 24px 20px;
  }

  .auth-media-heading {
    font-size: 20px;
  }

  .auth-split-login .auth-split-media     { order: 1; }
  .auth-split-login .auth-split-form-wrap { order: 2; }
  .auth-split-signup .auth-split-form-wrap { order: 1; }
  .auth-split-signup .auth-split-media     { order: 2; }
}

@media (max-width: 575.98px) {
  #userAuthModal .auth-modal-dialog {
    max-width: 100%;
    margin: 0;
  }

  #userAuthModal .modal-dialog-centered {
    align-items: flex-end;
  }

  #userAuthModal .auth-modal-content {
    border-radius: 16px 16px 0 0;
  }

  .auth-split-media {
    min-height: 160px;
  }

  .auth-media-logo {
    height: 34px;
    margin-bottom: 16px;
  }
}

/* === CENTRAL STRUCTURE ADAPTER — NO LEGACY THEME DEPENDENCY V3 === */
/* Remaining classic PHP markup now receives layout behavior directly from the master system. */
.stm-public-page .details-container{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.72fr);align-items:start}
.stm-public-page .details-content,.stm-public-page .details-sidebar{width:100%}
.stm-public-page .details-sidebar{display:flex;flex-direction:column}
.stm-public-page .tour-image{display:block;width:100%;object-fit:cover}
.stm-public-page .tour-facilities-wrap{overflow:hidden}
.stm-public-page .tour-facilities-icons{display:grid;grid-template-columns:repeat(var(--facility-count,1),minmax(0,1fr));gap:8px}
.stm-public-page .tour-facility-icon-btn{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;border:0;background:transparent;cursor:pointer;min-width:0}
.stm-public-page .tour-facility-icon-btn i{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px}
.stm-public-page .tour-facility-icon-btn span{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.stm-public-page .tour-facility-details{padding:0 16px 16px}
.stm-public-page .tour-facility-panel{display:none;padding:15px 16px;background:#fff}
.stm-public-page .tour-facility-panel.active{display:block}
.stm-public-page .tour-facility-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid var(--stm-line)}
.stm-public-page .tour-facility-panel-head i{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px}
.stm-public-page .tour-facility-panel-head h4{margin:0;font-size:.95rem}
.stm-public-page .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stm-public-page .gallery-item{display:block;width:100%;object-fit:cover}
.stm-public-page .package-info-item{padding:12px 13px;margin-bottom:8px;background:var(--stm-orange-light)}
.stm-public-page .more-packages-item{display:flex;align-items:center;gap:10px;padding:12px 13px;margin-bottom:8px;background:var(--stm-grey-050)}
.stm-public-page .more-packages-item p{margin:0;flex:1}
.stm-public-page .sidebar-favourite-form{position:static;margin-top:12px}
.stm-public-page .sidebar-favourite-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border:1px solid rgba(242,138,0,.28);border-radius:11px;background:var(--stm-orange-light);color:var(--stm-orange-dark);font-weight:800}

/* Destination listing cards: overlay/favourite/pagination behavior retained without style.css. */
.stm-public-page .destination-media{position:relative}
.stm-public-page .fav-toggle-form{position:absolute;top:12px;right:12px;z-index:4;margin:0}
.stm-public-page .fav-toggle-btn{width:36px;height:36px;border:1px solid rgba(255,255,255,.65);border-radius:11px;background:rgba(255,255,255,.96);color:var(--stm-grey-500);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(20,20,20,.12);transition:transform .2s ease,color .2s ease,background .2s ease}
.stm-public-page .fav-toggle-btn:hover,.stm-public-page .fav-toggle-btn.is-favorited{color:var(--stm-orange);transform:translateY(-1px)}
.stm-public-page .project-wrap .img{position:relative;display:block;width:100%;background-position:center;background-size:cover}
.stm-public-page .project-wrap .img .hover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;z-index:2}
.stm-public-page .project-wrap .img:hover .hover-overlay{opacity:1;visibility:visible}
.stm-public-page .project-wrap .img .hover-content{display:flex;flex-direction:column;justify-content:center;text-align:center;color:#fff;width:100%;height:100%;padding:18px}
.stm-public-page .project-wrap .img .hover-item{display:flex;align-items:center;justify-content:center;color:#fff}
.stm-public-page .project-wrap .img .hover-divider{border:0;border-top:1px solid rgba(255,255,255,.24);margin:0 24px}
.stm-public-page .project-wrap .img .hover-btn-wrapper{margin-top:15px}
.stm-public-page .project-wrap .img .hover-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:#fff;text-decoration:none}
.stm-public-page .block-27 ul{padding:0;margin:0;display:flex;justify-content:center;gap:7px;flex-wrap:wrap;list-style:none}
.stm-public-page .block-27 ul li{display:inline-flex}
.stm-public-page .block-27 ul li a,.stm-public-page .block-27 ul li span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--stm-line);border-radius:10px;background:#fff;color:var(--stm-grey-800);font-size:.78rem;font-weight:750}
.stm-public-page .block-27 ul li.active a,.stm-public-page .block-27 ul li.active span,.stm-public-page .block-27 ul li:hover a,.stm-public-page .block-27 ul li:hover span{background:var(--stm-orange);border-color:var(--stm-orange);color:#fff}
.stm-public-page .favourites-empty{padding:34px 24px;text-align:center}

/* Loader is a shared public component and belongs to the master system. */
#ftco-loader{position:fixed;inset:auto;left:50%;top:50%;width:88px;height:88px;transform:translate(-50%,-50%);background:rgba(255,255,255,.96);border:1px solid var(--stm-line);border-radius:16px;box-shadow:var(--stm-shadow);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s;z-index:99999}
#ftco-loader.fullscreen{inset:0;left:0;top:0;width:100%;height:100%;transform:none;border:0;border-radius:0;box-shadow:none;background:#fff}
#ftco-loader.show{visibility:visible;opacity:1;transition:opacity .3s ease}
#ftco-loader .circular{position:absolute;left:calc(50% - 24px);top:calc(50% - 24px);display:block;animation:stm-loader-rotate 2s linear infinite}
#ftco-loader .path{stroke:var(--stm-orange);stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:stm-loader-dash 1.5s ease-in-out infinite}
@keyframes stm-loader-rotate{100%{transform:rotate(360deg)}}
@keyframes stm-loader-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-136px}}

/* The old Japan search markup is currently commented out, but if re-enabled it still uses central geometry. */
.stm-public-page .ftco-search{position:relative;width:100%;display:block;margin:0}
.stm-public-page .ftco-search .tab-content{background:#fff;border:1px solid var(--stm-line);border-radius:16px;box-shadow:var(--stm-shadow-soft)}
.stm-public-page .search-property-1 .form-group{position:relative;margin:0;width:100%;border-left:1px solid var(--stm-line)}
.stm-public-page .search-property-1 .form-field{position:relative;width:100%}
.stm-public-page .search-property-1 .form-field .icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:2;color:var(--stm-orange)}
.stm-public-page .search-property-1 .form-field .icon~.form-control{padding-left:38px}
.stm-public-page .members-counter{display:flex;align-items:center;gap:12px}
.stm-public-page .counter-btn{width:34px;height:34px;border:1px solid var(--stm-line);border-radius:9px;background:var(--stm-grey-050);color:var(--stm-grey-900);font-weight:900}
.stm-public-page .members-label{display:block;margin-bottom:7px;font-size:.7rem;font-weight:850;letter-spacing:.08em;color:var(--stm-muted)}

/* Contact structural behavior now comes from central CSS rather than the retired theme. */
.stm-public-page .contact-section .contact-info{display:flex;flex-wrap:wrap}
.stm-public-page .contact-section .box{display:block;width:100%;overflow-wrap:anywhere}
.stm-public-page .contact-section .box .icon{display:flex;align-items:center;justify-content:center}
.stm-public-page .contact-section .contact-form{width:100%}
.stm-public-page .block-9 .form-control{outline:0!important;box-shadow:none!important}

@media(max-width:900px){
  .stm-public-page .details-container{grid-template-columns:1fr}
  .stm-public-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .stm-public-page .gallery-grid{grid-template-columns:1fr}
  .stm-public-page .tour-facilities-icons{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ==========================================================================
   SITEWIDE CTA REMOVAL LOCK — 2026-08-19 V4.2
   These legacy promotional bands are retired. Keep this safeguard so stale
   PHP/includes cached by hosting cannot render them again.
   ========================================================================== */
.stm-final-cta,
.stm-svc-cta {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}


/* ==========================================================================
   SHARED PUBLIC CTA — 2026-08-19 V4.3
   Grey premium CTA restored sitewide via footer include
   ========================================================================== */
.stm-shared-cta{padding:18px 0 68px;background:var(--stm-grey-050)}
.stm-shared-cta-card{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:34px 38px;border:1px solid var(--stm-line);border-radius:20px;background:linear-gradient(135deg,var(--stm-grey-900),var(--stm-grey-950));box-shadow:var(--stm-shadow)}
.stm-shared-cta-copy{max-width:760px}
.stm-shared-cta-kicker{display:block;color:var(--stm-orange);font-size:.68rem;font-weight:900;letter-spacing:.17em}
.stm-shared-cta h2{margin:8px 0 8px;color:#fff;font-size:clamp(1.9rem,3.3vw,3.1rem);letter-spacing:-.04em;line-height:1.02}
.stm-shared-cta p{margin:0;color:rgba(255,255,255,.72);font-size:1rem;line-height:1.7}
.stm-shared-cta-points{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;color:#fff;font-size:.78rem;font-weight:700}
.stm-shared-cta-points i{color:var(--stm-orange);margin-right:6px}
.stm-shared-cta-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:50px;padding:0 20px;border:0;border-radius:14px;background:var(--stm-orange);color:#fff;font-weight:850;box-shadow:var(--stm-shadow-soft);cursor:pointer;transition:transform .2s ease,filter .2s ease}
.stm-shared-cta-button:hover{transform:translateY(-2px);filter:brightness(1.03)}
@media(max-width:991px){.stm-shared-cta-card{display:block;padding:28px}.stm-shared-cta-button{margin-top:22px}}
@media(max-width:700px){.stm-shared-cta{padding:14px 0 56px}.stm-shared-cta h2{font-size:clamp(2rem,10vw,3rem)}.stm-shared-cta-points{gap:10px 14px}.stm-shared-cta-button{width:100%}}
