/*
 * Smiles To Miles — Central Platform Design System v1
 * Shared visual language for PUBLIC / ADMIN / CRM / CUSTOMER.
 * Landing page is the first implementation; other shells can consume these tokens/components later.
 */
:root {
  --stm-orange:#ff8500;
  --stm-orange-deep:#e96f00;
  --stm-ink:#1d1a2b;
  --stm-navy:#272348;
  --stm-purple:#51498d;
  --stm-muted:#746f86;
  --stm-surface:#ffffff;
  --stm-soft:#f7f5fa;
  --stm-line:#e8e3ee;
  --stm-dark:#11121a;
  --stm-radius-sm:12px;
  --stm-radius-md:20px;
  --stm-radius-lg:30px;
  --stm-shadow:0 18px 50px rgba(36,29,64,.08);
  --stm-shadow-lg:0 30px 80px rgba(20,16,40,.16);
  --stm-max:1380px;
  --stm-gap:28px;
}
.stm-site{color:var(--stm-ink);background:var(--stm-surface);font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
.stm-site *, .stm-site *::before, .stm-site *::after{box-sizing:border-box}
.stm-container{width:min(calc(100% - 48px),var(--stm-max));margin:0 auto}
.stm-kicker{display:inline-block;color:var(--stm-orange);font-size:.76rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px}
.stm-section{padding:112px 0}
.stm-section-light{background:#fff}
.stm-section-soft{background:var(--stm-soft)}
.stm-section-dark{background:linear-gradient(135deg,#171626,#292445);color:#fff}
.stm-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}
.stm-section-head>div{max-width:760px}
.stm-section-head h2,.stm-centered-head h2{margin:0;color:var(--stm-navy);font-size:clamp(2rem,3.3vw,3.4rem);line-height:1.05;font-weight:800;letter-spacing:-.04em}
.stm-section-dark .stm-section-head h2,.stm-section-dark h2{color:#fff}
.stm-section-head p,.stm-centered-head p{margin:18px 0 0;color:var(--stm-muted);font-size:1rem;line-height:1.85;max-width:720px}
.stm-section-dark p{color:rgba(255,255,255,.72)}
.stm-text-link{color:var(--stm-navy);font-weight:800;text-decoration:none;white-space:nowrap}
.stm-text-link span{color:var(--stm-orange);margin-left:8px;font-size:1.1em}
.stm-text-link:hover{color:var(--stm-orange);text-decoration:none}
.stm-btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:0 26px;border-radius:14px;font-weight:800;text-decoration:none;border:1px solid transparent;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.stm-btn:hover{transform:translateY(-2px);text-decoration:none}
.stm-btn-primary{background:var(--stm-orange);color:#fff;box-shadow:0 14px 34px rgba(255,133,0,.25)}
.stm-btn-primary:hover{background:var(--stm-orange-deep);color:#fff}
.stm-btn-ghost{border-color:rgba(255,255,255,.42);color:#fff;background:rgba(0,0,0,.16);backdrop-filter:blur(10px)}
.stm-btn-ghost:hover{color:#fff;background:rgba(255,255,255,.12)}

/* HERO */
.stm-hero{position:relative;min-height:790px;background:#111;overflow:hidden;color:#fff}
.stm-hero-slider,.stm-hero-slide{position:absolute;inset:0}
.stm-hero-slide{background-size:cover;background-position:center;opacity:0;visibility:hidden;transform:scale(1.04);transition:opacity 1s ease,transform 7s ease,visibility 1s}
.stm-hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.stm-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,13,.9) 0%,rgba(7,8,13,.72) 34%,rgba(7,8,13,.2) 72%,rgba(7,8,13,.28) 100%),linear-gradient(0deg,rgba(7,8,13,.72),transparent 42%)}
.stm-hero-inner{position:relative;z-index:2;min-height:790px;display:flex;align-items:center}
.stm-hero-copy{max-width:790px;padding-top:55px}
.stm-eyebrow{display:flex;align-items:center;gap:12px;color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;margin-bottom:22px}
.stm-eyebrow span{width:32px;height:2px;background:var(--stm-orange)}
.stm-hero h1{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.7rem,6.8vw,7.4rem);line-height:.92;letter-spacing:-.055em;font-weight:700;text-shadow:0 8px 35px rgba(0,0,0,.3)}
.stm-hero h1 em{display:block;color:var(--stm-orange);font-style:normal;margin-top:7px}
.stm-hero-rule{width:86px;height:4px;background:var(--stm-orange);margin:30px 0 24px}
.stm-hero p{max-width:650px;margin:0 0 30px;color:rgba(255,255,255,.9);font-size:1.08rem;line-height:1.8}
.stm-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.stm-hero-arrow{position:absolute;z-index:5;top:52%;width:56px;height:56px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(0,0,0,.2);color:#fff;font-size:2rem;line-height:1;cursor:pointer;backdrop-filter:blur(10px);transition:.25s}
.stm-hero-arrow:hover{background:var(--stm-orange);border-color:var(--stm-orange)}
.stm-hero-prev{left:24px}.stm-hero-next{right:24px}
.stm-hero-bottom{position:absolute;z-index:5;left:50%;bottom:34px;transform:translateX(-50%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;color:#fff}
.stm-slide-counter{display:flex;align-items:center;gap:14px;font-size:.86rem;font-weight:800}.stm-slide-counter strong{color:var(--stm-orange)}.stm-slide-counter i{display:block;width:150px;height:2px;background:rgba(255,255,255,.35);position:relative}.stm-slide-counter i::after{content:"";display:block;width:30%;height:100%;background:var(--stm-orange)}
.stm-hero-dots{display:flex;gap:7px;justify-content:center}.stm-hero-dots button{width:28px;height:4px;border:0;border-radius:4px;background:rgba(255,255,255,.42);padding:0;cursor:pointer}.stm-hero-dots button.is-active{background:var(--stm-orange)}
.stm-hero-note{justify-self:end;display:flex;align-items:center;gap:12px;padding:12px 17px;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(10,10,15,.48);backdrop-filter:blur(14px);font-size:.8rem}.stm-hero-note>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,133,0,.8);color:var(--stm-orange)}.stm-hero-note strong,.stm-hero-note small{display:block}.stm-hero-note small{color:rgba(255,255,255,.7);margin-top:2px}

/* TRUST */
.stm-trust-wrap{position:relative;z-index:8;margin-top:-1px;background:var(--stm-dark);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.stm-trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stm-trust-item{padding:28px 30px;border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px}.stm-trust-item:last-child{border-right:0}.stm-trust-item strong{font-size:1.75rem;color:#fff}.stm-trust-item span{color:rgba(255,255,255,.56);font-size:.82rem;text-transform:uppercase;letter-spacing:.13em}

/* DESTINATIONS */
.stm-destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stm-destination-card{position:relative;display:block;min-height:370px;border-radius:22px;overflow:hidden;background:#222;box-shadow:var(--stm-shadow);color:#fff}.stm-card-image,.stm-card-overlay{position:absolute;inset:0}.stm-card-image{background-size:cover;background-position:center;transition:transform .7s ease}.stm-card-overlay{background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.82) 100%)}.stm-destination-card:hover{color:#fff;text-decoration:none}.stm-destination-card:hover .stm-card-image{transform:scale(1.06)}.stm-destination-content{position:absolute;z-index:2;left:24px;right:24px;bottom:24px}.stm-destination-content>span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}.stm-destination-content h3{margin:7px 0 10px;font-size:1.65rem;font-weight:800}.stm-destination-content small{font-size:.8rem;color:#fff}.stm-destination-content b{color:var(--stm-orange);margin-left:8px}.stm-empty-state{grid-column:1/-1;padding:50px;border:1px dashed var(--stm-line);border-radius:18px;text-align:center;color:var(--stm-muted)}

/* SPLIT */
.stm-split{display:grid;grid-template-columns:1fr 1fr;min-height:650px;border-radius:30px;overflow:hidden;background:#211e38;box-shadow:var(--stm-shadow-lg)}.stm-split-media{background-size:cover;background-position:center;min-height:500px}.stm-split-copy{padding:70px 70px 65px;display:flex;flex-direction:column;justify-content:center}.stm-split-copy h2{font-size:clamp(2.3rem,4vw,4.2rem);line-height:1.02;letter-spacing:-.05em}.stm-feature-list{margin:30px 0 34px;display:grid;gap:20px}.stm-feature-list>div{display:grid;grid-template-columns:44px 1fr;column-gap:12px}.stm-feature-list span{grid-row:1/3;color:var(--stm-orange);font-weight:800}.stm-feature-list strong{font-size:1rem}.stm-feature-list small{color:rgba(255,255,255,.58);line-height:1.55;margin-top:4px}

/* PACKAGES */
.stm-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.stm-package-card{background:#fff;border:1px solid var(--stm-line);border-radius:22px;overflow:hidden;box-shadow:0 12px 38px rgba(36,29,64,.05);transition:transform .25s,box-shadow .25s}.stm-package-card:hover{transform:translateY(-5px);box-shadow:var(--stm-shadow)}.stm-package-image{position:relative;display:block;height:260px;background-size:cover;background-position:center}.stm-package-image>span{position:absolute;left:18px;top:18px;padding:7px 11px;background:rgba(255,255,255,.92);border-radius:999px;color:var(--stm-orange);font-size:.72rem;font-weight:800}.stm-package-body{padding:25px}.stm-package-meta{display:flex;justify-content:space-between;gap:15px;color:var(--stm-muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.stm-package-body h3{margin:12px 0 10px;font-size:1.4rem;line-height:1.15}.stm-package-body h3 a{color:var(--stm-navy)}.stm-package-body h3 a:hover{color:var(--stm-orange);text-decoration:none}.stm-package-body p{color:var(--stm-muted);font-size:.88rem;line-height:1.7;min-height:48px}.stm-package-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--stm-line)}.stm-package-footer strong{color:var(--stm-orange);font-size:1.1rem}.stm-package-footer a{color:var(--stm-navy);font-weight:800;font-size:.78rem}.stm-package-footer a:hover{color:var(--stm-orange);text-decoration:none}

/* STYLES */
.stm-centered-head{text-align:center;max-width:780px;margin:0 auto 44px}.stm-centered-head p{margin-left:auto;margin-right:auto}.stm-style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stm-style-card{min-height:190px;padding:28px;border:1px solid var(--stm-line);border-radius:22px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 12px 35px rgba(36,29,64,.04);transition:.25s;text-decoration:none;background-image:linear-gradient(145deg,#fff,#faf8fc)}.stm-style-card:hover{transform:translateY(-4px);border-color:rgba(255,133,0,.45);text-decoration:none}.stm-style-card span{font-size:1.45rem;font-weight:800;color:var(--stm-navy)}.stm-style-card small{margin-top:5px;color:var(--stm-muted)}

/* BLOG */
.stm-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.stm-blog-card{border:1px solid var(--stm-line);border-radius:22px;overflow:hidden;background:#fff}.stm-blog-image{display:block;height:230px;background-size:cover;background-position:center}.stm-blog-body{padding:24px}.stm-blog-body>span{color:var(--stm-orange);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.stm-blog-body h3{font-size:1.35rem;line-height:1.2;margin:10px 0}.stm-blog-body h3 a{color:var(--stm-navy)}.stm-blog-body p{color:var(--stm-muted);font-size:.88rem;line-height:1.7;min-height:62px}

/* CTA */
.stm-final-cta{background:var(--stm-orange);color:#fff}.stm-final-cta-inner{min-height:300px;display:flex;align-items:center;justify-content:space-between;gap:40px}.stm-final-cta .stm-kicker{color:#fff}.stm-final-cta h2{margin:0;font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.05em;line-height:1}.stm-final-cta p{margin:14px 0 0;color:rgba(255,255,255,.82)}.stm-final-cta .stm-btn-primary{background:#fff;color:var(--stm-orange);box-shadow:none}.stm-final-cta .stm-btn-primary:hover{background:#fff;color:var(--stm-orange-deep)}

@media (max-width:1100px){
  .stm-destination-grid{grid-template-columns:repeat(2,1fr)}
  .stm-package-grid{grid-template-columns:repeat(2,1fr)}
  .stm-style-grid{grid-template-columns:repeat(2,1fr)}
  .stm-split{grid-template-columns:1fr}.stm-split-media{min-height:420px}.stm-split-copy{padding:55px}
  .stm-hero-bottom{grid-template-columns:auto 1fr}.stm-hero-note{display:none}
}
@media (max-width:768px){
  .stm-container{width:min(calc(100% - 32px),var(--stm-max))}.stm-section{padding:78px 0}.stm-section-head{display:block;margin-bottom:34px}.stm-section-head .stm-text-link{display:inline-block;margin-top:18px}.stm-hero,.stm-hero-inner{min-height:720px}.stm-hero-copy{padding-top:85px}.stm-hero h1{font-size:clamp(3.1rem,13vw,5rem)}.stm-hero p{font-size:.96rem}.stm-hero-arrow{display:none}.stm-hero-bottom{left:16px;right:16px;width:auto;transform:none;display:block;bottom:20px}.stm-slide-counter{margin-bottom:14px}.stm-slide-counter i{width:110px}.stm-hero-dots{justify-content:flex-start}.stm-trust-grid{grid-template-columns:repeat(2,1fr)}.stm-trust-item{padding:22px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.stm-destination-grid,.stm-package-grid,.stm-blog-grid{grid-template-columns:1fr}.stm-destination-card{min-height:330px}.stm-style-grid{grid-template-columns:1fr 1fr}.stm-split-copy{padding:42px 28px}.stm-final-cta-inner{min-height:360px;display:block;padding-top:65px;padding-bottom:65px}.stm-final-cta .stm-btn{margin-top:28px}
}
@media (max-width:480px){.stm-style-grid{grid-template-columns:1fr}.stm-btn{width:100%}.stm-hero-actions{max-width:320px}.stm-hero-note{display:none}.stm-package-image{height:230px}}

/* PUBLIC HEADER */
.stm-public-header{position:absolute;z-index:50;top:18px;left:0;right:0;padding:0 0;transition:.25s}
.stm-public-header.is-scrolled{position:fixed;top:10px}.stm-nav-shell{min-height:82px;padding:10px 16px 10px 18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(12,13,19,.62);box-shadow:0 20px 60px rgba(0,0,0,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.stm-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:235px}.stm-brand:hover{color:#fff;text-decoration:none}.stm-brand img{width:58px;height:58px;object-fit:contain}.stm-brand-copy strong{display:block;font-family:Shrikhand,Poppins,sans-serif;font-size:1.5rem;font-weight:400;line-height:1;color:var(--stm-orange)}.stm-brand-copy small{display:block;margin-top:5px;color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.88}
.stm-primary-nav{display:flex;align-items:center;justify-content:center;gap:5px}.stm-primary-nav a{position:relative;padding:12px 12px;color:rgba(255,255,255,.9);font-size:.82rem;font-weight:700;text-decoration:none}.stm-primary-nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;background:var(--stm-orange);transform:scaleX(0);transform-origin:center;transition:.2s}.stm-primary-nav a:hover,.stm-primary-nav a.is-active{color:#fff}.stm-primary-nav a:hover::after,.stm-primary-nav a.is-active::after{transform:scaleX(1)}
.stm-nav-actions{display:flex;align-items:center;gap:10px}.stm-nav-quote{border:0;border-radius:12px;min-height:48px;padding:0 18px;background:var(--stm-orange);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 26px rgba(255,133,0,.24)}.stm-account-wrap{position:relative}.stm-account-button{min-height:48px;padding:5px 10px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;display:flex;align-items:center;gap:8px;cursor:pointer}.stm-account-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--stm-orange);font-size:.75rem;font-weight:800}.stm-account-avatar.is-guest{background:rgba(255,255,255,.12)}.stm-account-label{font-size:.78rem;font-weight:800}.stm-account-menu{position:absolute;right:0;top:56px;width:230px;padding:9px;border:1px solid var(--stm-line);border-radius:16px;background:#fff;box-shadow:var(--stm-shadow-lg)}.stm-account-menu[hidden]{display:none}.stm-account-info{padding:10px 11px 12px;border-bottom:1px solid var(--stm-line);margin-bottom:5px}.stm-account-info strong,.stm-account-info small{display:block}.stm-account-info strong{color:var(--stm-navy);font-size:.82rem}.stm-account-info small{color:var(--stm-muted);font-size:.7rem;margin-top:3px}.stm-account-menu a{display:flex;gap:9px;align-items:center;padding:10px 11px;border-radius:10px;color:var(--stm-ink);font-size:.78rem;font-weight:700;text-decoration:none}.stm-account-menu a:hover{background:var(--stm-soft);color:var(--stm-orange)}.stm-account-menu i{width:15px;text-align:center;color:var(--stm-orange)}
.stm-nav-toggle{display:none;border:0;background:transparent;padding:8px}.stm-nav-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px 0}
@media (max-width:1200px){.stm-nav-shell{grid-template-columns:auto auto auto;gap:14px}.stm-brand{min-width:205px}.stm-brand-copy strong{font-size:1.3rem}.stm-primary-nav{gap:0}.stm-primary-nav a{padding-left:8px;padding-right:8px;font-size:.76rem}.stm-nav-quote{padding:0 13px}.stm-account-label{display:none}}
@media (max-width:991px){.stm-public-header{top:10px}.stm-nav-shell{grid-template-columns:1fr auto;min-height:72px}.stm-brand img{width:52px;height:52px}.stm-brand-copy strong{font-size:1.25rem}.stm-nav-toggle{display:block}.stm-primary-nav{position:absolute;left:16px;right:16px;top:82px;padding:10px;display:none;flex-direction:column;align-items:stretch;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(15,16,23,.96);backdrop-filter:blur(18px)}.stm-primary-nav.is-open{display:flex}.stm-primary-nav a{padding:13px 15px}.stm-primary-nav a::after{left:15px;right:auto;width:28px;bottom:7px}.stm-nav-actions{margin-left:auto}.stm-nav-quote{display:none}.stm-account-label{display:inline}.stm-account-button{min-height:44px}}
@media (max-width:480px){.stm-brand-copy small{font-size:.52rem}.stm-brand-copy strong{font-size:1.08rem}.stm-brand img{width:46px;height:46px}.stm-nav-shell{padding-left:10px;padding-right:10px}.stm-account-label{display:none}}

/* ================================================================
   SMILES TO MILES — PREMIUM UI V2
   Landing page refinement only. Existing data bindings/classes kept.
   ================================================================ */
:root{
  --stm-orange:#ff8a00;
  --stm-orange-deep:#e96f00;
  --stm-midnight:#090a10;
  --stm-ink:#19172a;
  --stm-navy:#28234d;
  --stm-purple:#50478e;
  --stm-muted:#77728a;
  --stm-soft:#f6f4f8;
  --stm-line:rgba(39,35,72,.10);
  --stm-glass:rgba(10,11,17,.58);
  --stm-shadow:0 22px 70px rgba(28,22,52,.10);
  --stm-shadow-lg:0 35px 100px rgba(10,9,20,.18);
}

html{scroll-behavior:smooth}
body.stm-site{background:#fff;color:var(--stm-ink)}
.stm-site ::selection{background:var(--stm-orange);color:#fff}
.stm-site a,.stm-site button{outline-color:var(--stm-orange)}

/* ---------- Premium header ---------- */
.stm-public-header{top:18px;transition:top .35s ease,filter .35s ease}
.stm-nav-shell{
  min-height:88px;
  padding:10px 12px 10px 18px;
  gap:24px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:28px;
  background:linear-gradient(120deg,rgba(7,9,15,.76),rgba(18,19,27,.48));
  box-shadow:0 24px 80px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(22px) saturate(130%);
  -webkit-backdrop-filter:blur(22px) saturate(130%);
}
.stm-brand{min-width:255px;gap:13px}
.stm-brand img{width:61px;height:61px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.20))}
.stm-brand-copy strong{font-size:1.58rem;letter-spacing:-.025em;text-shadow:0 3px 18px rgba(0,0,0,.18)}
.stm-brand-copy small{margin-top:6px;font-size:.57rem;letter-spacing:.24em;color:rgba(255,255,255,.86)}
.stm-primary-nav{gap:2px}
.stm-primary-nav a{padding:14px 12px;color:rgba(255,255,255,.78);font-size:.79rem;letter-spacing:.005em;transition:color .25s ease,transform .25s ease}
.stm-primary-nav a:hover{transform:translateY(-1px)}
.stm-primary-nav a::after{left:13px;right:13px;bottom:6px;height:2px;border-radius:10px;box-shadow:0 0 12px rgba(255,138,0,.75)}
.stm-nav-quote{min-height:52px;padding:0 21px;border-radius:15px;background:linear-gradient(135deg,#ff9a17,#ff7900);box-shadow:0 12px 34px rgba(255,133,0,.30),inset 0 1px 0 rgba(255,255,255,.18);font-size:.79rem;letter-spacing:.01em;transition:transform .25s ease,box-shadow .25s ease}
.stm-nav-quote:hover{transform:translateY(-2px);box-shadow:0 17px 40px rgba(255,133,0,.36)}
.stm-account-button{min-height:52px;padding:5px 12px 5px 7px;border-radius:15px;border-color:rgba(255,255,255,.20);background:rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.stm-account-avatar{width:38px;height:38px;background:linear-gradient(135deg,#ffad3d,#ff7b00);box-shadow:0 5px 18px rgba(255,133,0,.22)}
.stm-account-label{font-size:.77rem}
.stm-account-menu{top:62px;width:250px;border-radius:18px;box-shadow:0 30px 70px rgba(20,16,40,.20);backdrop-filter:blur(20px)}

/* Scrolled state: elegant light glass instead of a heavy grey bar. */
.stm-public-header.is-scrolled{top:12px;filter:drop-shadow(0 18px 35px rgba(24,20,43,.10))}
.stm-public-header.is-scrolled .stm-nav-shell{background:rgba(255,255,255,.91);border-color:rgba(39,35,72,.09);box-shadow:0 18px 60px rgba(24,20,43,.13),inset 0 1px 0 rgba(255,255,255,.95)}
.stm-public-header.is-scrolled .stm-brand-copy small{color:var(--stm-navy);opacity:.66}
.stm-public-header.is-scrolled .stm-primary-nav a{color:var(--stm-navy)}
.stm-public-header.is-scrolled .stm-primary-nav a:hover,.stm-public-header.is-scrolled .stm-primary-nav a.is-active{color:var(--stm-orange)}
.stm-public-header.is-scrolled .stm-account-button{color:var(--stm-navy);border-color:rgba(39,35,72,.12);background:rgba(39,35,72,.035)}
.stm-public-header.is-scrolled .stm-account-avatar.is-guest{background:rgba(39,35,72,.07);color:var(--stm-navy)}
.stm-public-header.is-scrolled .stm-nav-toggle span{background:var(--stm-navy)}

/* ---------- Hero: cinematic / editorial ---------- */
.stm-hero{min-height:860px;background:var(--stm-midnight)}
.stm-hero-inner{min-height:860px}
.stm-hero-slide{background-position:center center;transition:opacity 1.1s ease,transform 8s cubic-bezier(.2,.65,.2,1),visibility 1.1s}
.stm-hero-slide.is-active{transform:scale(1)}
.stm-hero-shade{
  background:
    radial-gradient(circle at 72% 38%,rgba(255,160,60,.12),transparent 25%),
    linear-gradient(90deg,rgba(5,7,13,.94) 0%,rgba(5,7,13,.82) 27%,rgba(5,7,13,.46) 53%,rgba(5,7,13,.10) 78%,rgba(5,7,13,.18) 100%),
    linear-gradient(0deg,rgba(5,7,13,.88) 0%,rgba(5,7,13,.04) 48%,rgba(5,7,13,.34) 100%);
}
.stm-hero-copy{max-width:820px;padding-top:82px}
.stm-eyebrow{gap:14px;margin-bottom:24px;font-size:.72rem;letter-spacing:.29em;color:rgba(255,255,255,.88)}
.stm-eyebrow span{width:46px;height:2px;box-shadow:0 0 14px rgba(255,138,0,.75)}
.stm-hero h1{font-size:clamp(4rem,7.1vw,8.1rem);line-height:.87;letter-spacing:-.065em;text-wrap:balance;text-shadow:0 12px 45px rgba(0,0,0,.36)}
.stm-hero h1 em{margin-top:12px;text-shadow:0 10px 40px rgba(255,133,0,.16)}
.stm-hero-rule{width:112px;height:3px;margin:34px 0 25px;box-shadow:0 0 20px rgba(255,138,0,.42)}
.stm-hero p{max-width:610px;margin-bottom:34px;color:rgba(255,255,255,.82);font-size:1rem;line-height:1.85;letter-spacing:.005em}
.stm-hero-actions{gap:14px}
.stm-btn{min-height:56px;padding:0 27px;border-radius:16px;letter-spacing:.005em;box-shadow:none}
.stm-btn-primary{background:linear-gradient(135deg,#ff9a18,#ff7900);box-shadow:0 16px 42px rgba(255,133,0,.28),inset 0 1px 0 rgba(255,255,255,.20)}
.stm-btn-primary:hover{background:linear-gradient(135deg,#ffa52e,#ef7200);box-shadow:0 20px 48px rgba(255,133,0,.34)}
.stm-btn-ghost{border-color:rgba(255,255,255,.30);background:rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
.stm-btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.48)}
.stm-hero-arrow{width:62px;height:62px;border-color:rgba(255,255,255,.25);background:rgba(10,11,16,.30);box-shadow:0 12px 35px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08);font-size:1.85rem}
.stm-hero-arrow:hover{box-shadow:0 16px 40px rgba(255,133,0,.24)}
.stm-hero-prev{left:28px}.stm-hero-next{right:28px}
.stm-hero-bottom{bottom:28px;gap:32px}
.stm-slide-counter{font-size:.76rem;letter-spacing:.12em}.stm-slide-counter i{width:170px;background:rgba(255,255,255,.25);overflow:hidden;border-radius:10px}.stm-slide-counter i::after{width:32%;box-shadow:0 0 10px rgba(255,138,0,.7)}
.stm-hero-dots{gap:8px}.stm-hero-dots button{width:32px;height:3px;background:rgba(255,255,255,.28);transition:.25s}.stm-hero-dots button.is-active{width:46px;background:var(--stm-orange);box-shadow:0 0 14px rgba(255,138,0,.55)}
.stm-hero-note{padding:13px 18px;border-radius:18px;background:rgba(7,8,12,.42);border-color:rgba(255,255,255,.15);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.stm-hero-note>span{box-shadow:0 0 20px rgba(255,138,0,.14)}

/* ---------- Trust strip: luxury editorial band ---------- */
.stm-trust-wrap{background:#0b0c12;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -20px 70px rgba(0,0,0,.08)}
.stm-trust-grid{width:min(calc(100% - 80px),var(--stm-max));}
.stm-trust-item{position:relative;padding:34px 34px 32px;border-right:1px solid rgba(255,255,255,.09)}
.stm-trust-item::before{content:"";position:absolute;left:34px;top:0;width:34px;height:2px;background:var(--stm-orange);box-shadow:0 0 14px rgba(255,138,0,.55)}
.stm-trust-item strong{font-size:2rem;letter-spacing:-.04em}.stm-trust-item span{font-size:.68rem;letter-spacing:.20em;color:rgba(255,255,255,.48)}

/* ---------- Section rhythm ---------- */
.stm-section{padding:128px 0}
.stm-section-soft{background:linear-gradient(180deg,#f8f6fa 0%,#f5f2f8 100%)}
.stm-section-head{margin-bottom:54px}
.stm-section-head h2,.stm-centered-head h2{font-size:clamp(2.4rem,4vw,4.3rem);line-height:.98;letter-spacing:-.055em}
.stm-section-head p,.stm-centered-head p{font-size:.96rem;line-height:1.9;color:#777188}
.stm-kicker{font-size:.67rem;letter-spacing:.28em;margin-bottom:15px}
.stm-text-link{font-size:.84rem;letter-spacing:-.01em}

/* ---------- Destination gallery ---------- */
.stm-destination-grid{grid-template-columns:repeat(4,1fr);gap:16px}
.stm-destination-card{min-height:430px;border-radius:26px;box-shadow:0 20px 55px rgba(29,24,52,.09);isolation:isolate}
.stm-destination-card::after{content:"";position:absolute;inset:1px;border:1px solid rgba(255,255,255,.12);border-radius:25px;z-index:3;pointer-events:none}
.stm-card-image{filter:saturate(1.06) contrast(1.02);transition:transform 1s cubic-bezier(.2,.65,.2,1),filter .5s}
.stm-destination-card:hover .stm-card-image{transform:scale(1.09);filter:saturate(1.14) contrast(1.04)}
.stm-card-overlay{background:linear-gradient(180deg,rgba(4,5,10,.02) 24%,rgba(4,5,10,.16) 46%,rgba(4,5,10,.90) 100%)}
.stm-destination-content{left:26px;right:26px;bottom:26px}
.stm-destination-content>span{font-size:.62rem;letter-spacing:.24em;color:rgba(255,255,255,.70)}
.stm-destination-content h3{font-size:1.72rem;letter-spacing:-.035em;margin:8px 0 13px}
.stm-destination-content small{font-size:.73rem;letter-spacing:.02em}

/* ---------- Experience split ---------- */
.stm-section-dark{background:linear-gradient(135deg,#12111d 0%,#211d3b 52%,#151421 100%)}
.stm-split{min-height:680px;border:1px solid rgba(255,255,255,.07);border-radius:34px;background:#171522;box-shadow:0 40px 110px rgba(9,8,20,.28)}
.stm-split-media{position:relative;min-height:620px}
.stm-split-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(23,21,34,.35) 100%),linear-gradient(0deg,rgba(23,21,34,.12),transparent)}
.stm-split-copy{padding:78px 76px}
.stm-split-copy h2{font-size:clamp(2.6rem,4.2vw,4.5rem);letter-spacing:-.06em}
.stm-feature-list{gap:22px;margin:34px 0 38px}
.stm-feature-list>div{padding-bottom:19px;border-bottom:1px solid rgba(255,255,255,.08)}
.stm-feature-list span{font-size:.78rem}.stm-feature-list strong{font-size:.98rem}.stm-feature-list small{font-size:.78rem;color:rgba(255,255,255,.54)}

/* ---------- Packages: boutique cards ---------- */
.stm-package-grid{gap:20px}
.stm-package-card{border:1px solid rgba(39,35,72,.08);border-radius:26px;box-shadow:0 16px 55px rgba(36,29,64,.07);transition:transform .35s cubic-bezier(.2,.65,.2,1),box-shadow .35s}
.stm-package-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(36,29,64,.14)}
.stm-package-image{height:285px;overflow:hidden;background-color:#ddd}
.stm-package-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.22));transition:.35s}
.stm-package-card:hover .stm-package-image::after{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.32))}
.stm-package-image>span{z-index:2;left:18px;top:18px;padding:8px 13px;border:1px solid rgba(255,255,255,.50);background:rgba(255,255,255,.88);backdrop-filter:blur(10px);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}
.stm-package-body{padding:27px 27px 25px}
.stm-package-meta{font-size:.63rem;letter-spacing:.14em}
.stm-package-body h3{font-size:1.52rem;letter-spacing:-.035em;margin:12px 0 9px}
.stm-package-body p{font-size:.82rem;line-height:1.75;color:#7b758b}
.stm-package-footer{margin-top:24px;padding-top:18px}
.stm-package-footer strong{font-size:1.08rem}.stm-package-footer a{font-size:.72rem}

/* ---------- Travel style cards ---------- */
.stm-style-grid{gap:16px}
.stm-style-card{position:relative;min-height:205px;padding:30px;border-radius:26px;overflow:hidden;background:linear-gradient(145deg,#fff,#faf8fc);box-shadow:0 16px 45px rgba(36,29,64,.05);transition:transform .35s,box-shadow .35s,border-color .35s}
.stm-style-card::before{content:"";position:absolute;width:120px;height:120px;right:-45px;top:-45px;border-radius:50%;background:rgba(255,138,0,.08);transition:.35s}
.stm-style-card::after{content:"→";position:absolute;right:28px;bottom:27px;color:var(--stm-orange);font-size:1.2rem;opacity:.25;transition:.35s}
.stm-style-card:hover{transform:translateY(-7px);box-shadow:0 25px 65px rgba(36,29,64,.10);border-color:rgba(255,138,0,.30)}
.stm-style-card:hover::before{transform:scale(1.5);background:rgba(255,138,0,.11)}
.stm-style-card:hover::after{opacity:1;transform:translateX(4px)}
.stm-style-card span{font-size:1.5rem;letter-spacing:-.035em}.stm-style-card small{font-size:.78rem}

/* ---------- Journal ---------- */
.stm-blog-grid{gap:20px}
.stm-blog-card{border:1px solid rgba(39,35,72,.08);border-radius:26px;box-shadow:0 16px 50px rgba(36,29,64,.06);transition:transform .35s,box-shadow .35s;overflow:hidden}
.stm-blog-card:hover{transform:translateY(-7px);box-shadow:0 26px 70px rgba(36,29,64,.12)}
.stm-blog-image{height:255px;transition:transform .8s cubic-bezier(.2,.65,.2,1)}
.stm-blog-card:hover .stm-blog-image{transform:scale(1.035)}
.stm-blog-body{padding:26px 27px 28px}.stm-blog-body>span{font-size:.63rem;letter-spacing:.18em}.stm-blog-body h3{font-size:1.34rem;letter-spacing:-.025em}.stm-blog-body p{font-size:.82rem;line-height:1.75}

/* ---------- Final CTA ---------- */
.stm-final-cta{position:relative;overflow:hidden;background:linear-gradient(120deg,#ff8500 0%,#ff941a 55%,#ff7a00 100%)}
.stm-final-cta::before,.stm-final-cta::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.18);pointer-events:none}
.stm-final-cta::before{width:520px;height:520px;right:-160px;top:-270px}.stm-final-cta::after{width:340px;height:340px;left:-190px;bottom:-230px}
.stm-final-cta-inner{position:relative;z-index:2;min-height:340px}
.stm-final-cta h2{font-size:clamp(2.5rem,4.7vw,4.8rem);letter-spacing:-.065em}
.stm-final-cta p{font-size:.95rem}
.stm-final-cta .stm-btn-primary{min-width:205px;min-height:58px;border-radius:17px;background:#fff;color:var(--stm-orange);box-shadow:0 20px 50px rgba(102,47,0,.16)}

/* ---------- Desktop breathing room ---------- */
@media (min-width:1400px){
  .stm-container{width:min(calc(100% - 72px),1480px)}
  .stm-hero-copy{padding-left:30px}
  .stm-destination-grid{gap:18px}
}

/* ---------- Responsive premium treatment ---------- */
@media (max-width:1200px){
  .stm-brand{min-width:220px}
  .stm-primary-nav a{padding-left:8px;padding-right:8px;font-size:.74rem}
  .stm-nav-shell{gap:12px}
  .stm-hero h1{font-size:clamp(4rem,7vw,6.7rem)}
}
@media (max-width:991px){
  .stm-nav-shell{min-height:76px;border-radius:22px}
  .stm-brand img{width:54px;height:54px}
  .stm-brand-copy strong{font-size:1.28rem}
  .stm-public-header.is-scrolled .stm-primary-nav{background:rgba(255,255,255,.97);border-color:rgba(39,35,72,.09)}
  .stm-public-header.is-scrolled .stm-primary-nav a{color:var(--stm-navy)}
  .stm-hero,.stm-hero-inner{min-height:780px}
  .stm-hero-copy{padding-top:70px}
  .stm-hero h1{font-size:clamp(3.6rem,8.5vw,6rem)}
  .stm-section{padding:105px 0}
}
@media (max-width:768px){
  .stm-container{width:min(calc(100% - 30px),var(--stm-max))}
  .stm-nav-shell{padding:8px 10px 8px 13px;border-radius:19px}
  .stm-brand{min-width:0;gap:9px}.stm-brand img{width:47px;height:47px}.stm-brand-copy strong{font-size:1.08rem}.stm-brand-copy small{font-size:.48rem;letter-spacing:.19em}
  .stm-primary-nav{top:78px}
  .stm-hero,.stm-hero-inner{min-height:740px}
  .stm-hero-copy{padding-top:75px}
  .stm-hero h1{font-size:clamp(3.25rem,13vw,5rem);line-height:.91}
  .stm-hero p{font-size:.88rem;line-height:1.75}
  .stm-hero-bottom{bottom:18px}
  .stm-trust-grid{width:100%}
  .stm-trust-item{padding:27px 20px}.stm-trust-item::before{left:20px}
  .stm-section{padding:88px 0}
  .stm-section-head h2,.stm-centered-head h2{font-size:clamp(2.35rem,10vw,3.6rem)}
  .stm-destination-card{min-height:360px;border-radius:23px}
  .stm-split{border-radius:26px}.stm-split-copy{padding:48px 30px}.stm-split-media{min-height:400px}
  .stm-package-image{height:245px}
  .stm-final-cta-inner{min-height:390px}
}
@media (max-width:480px){
  .stm-hero h1{font-size:clamp(3rem,14vw,4.2rem)}
  .stm-hero-copy{padding-top:60px}
  .stm-hero-actions .stm-btn{width:auto;min-width:0;padding:0 20px}
  .stm-trust-item strong{font-size:1.55rem}
  .stm-trust-item span{font-size:.58rem}
  .stm-style-grid{grid-template-columns:1fr}
  .stm-final-cta .stm-btn-primary{width:100%}
}

/* ================================================================
   Smiles To Miles — CENTRAL PREMIUM GREY + ORANGE THEME v2
   Shared theme layer for PUBLIC / ADMIN / CRM / CHATBOT.
   This block intentionally comes last so it safely overrides the
   earlier purple/navy landing-page refinements without changing
   existing data bindings or component markup.
   ================================================================ */
:root{
  --stm-orange:#ff8500;
  --stm-orange-deep:#e96f00;
  --stm-orange-soft:#fff1df;
  --stm-graphite:#2f3135;
  --stm-charcoal:#3b3d42;
  --stm-slate:#62666c;
  --stm-ink:#24262a;
  --stm-muted:#74787e;
  --stm-surface:#ffffff;
  --stm-soft:#f4f5f6;
  --stm-soft-2:#eceef0;
  --stm-line:#dfe2e5;
  --stm-dark:#2a2c30;
  --stm-dark-2:#34363b;
  --stm-glass:rgba(48,50,55,.78);
  --stm-shadow:0 18px 55px rgba(35,37,41,.10);
  --stm-shadow-lg:0 30px 85px rgba(30,32,35,.18);
}

/* Neutralise legacy purple/navy references through the same semantic tokens. */
.stm-site{color:var(--stm-ink)}
.stm-site .stm-section-head h2,
.stm-site .stm-centered-head h2,
.stm-site .stm-text-link,
.stm-site .stm-package-body h3 a,
.stm-site .stm-package-footer a{color:var(--stm-graphite)}
.stm-site .stm-section-soft{background:linear-gradient(180deg,#f7f8f9 0%,#eef0f2 100%)}
.stm-site .stm-section-dark{background:linear-gradient(135deg,#292b2f 0%,#35373c 52%,#25272b 100%)}
.stm-site .stm-split{background:#303236;border-color:rgba(255,255,255,.09)}
.stm-site .stm-split-copy h2{color:#fff}
.stm-site .stm-style-card{background:linear-gradient(145deg,#fff,#f4f5f6);border-color:var(--stm-line)}
.stm-site .stm-package-card,.stm-site .stm-blog-card{border-color:var(--stm-line);box-shadow:0 16px 50px rgba(35,37,41,.07)}
.stm-site .stm-package-card:hover,.stm-site .stm-blog-card:hover{box-shadow:0 28px 70px rgba(35,37,41,.13)}
.stm-site .stm-empty-state{border-color:#d3d6da;color:var(--stm-muted)}

/* Premium grey header — consistent across page states. */
.stm-nav-shell{
  background:linear-gradient(135deg,rgba(57,59,64,.94),rgba(39,41,45,.88));
  border-color:rgba(255,255,255,.18);
  box-shadow:0 24px 70px rgba(25,27,30,.24),inset 0 1px 0 rgba(255,255,255,.10);
}
.stm-brand-copy strong{color:var(--stm-orange)}
.stm-primary-nav a{color:rgba(255,255,255,.88)}
.stm-primary-nav a:hover,.stm-primary-nav a.is-active{color:#fff}
.stm-nav-quote{background:linear-gradient(135deg,#ff9418,#f87900);box-shadow:0 12px 32px rgba(255,133,0,.28)}
.stm-account-button{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);color:#fff}
.stm-account-menu{background:#fff;border-color:#dfe2e5;box-shadow:var(--stm-shadow-lg)}
.stm-account-info{border-color:var(--stm-line)}
.stm-account-info strong{color:var(--stm-graphite)}
.stm-account-menu a{color:var(--stm-ink)}
.stm-account-menu a:hover{background:#f3f4f5;color:var(--stm-orange)}

/* Scrolled header remains grey instead of turning purple/navy. */
.stm-public-header.is-scrolled .stm-nav-shell{
  background:rgba(247,248,249,.96);
  border-color:rgba(55,57,61,.14);
  box-shadow:0 18px 55px rgba(35,37,41,.16),inset 0 1px 0 rgba(255,255,255,.98);
}
.stm-public-header.is-scrolled .stm-brand-copy small{color:var(--stm-slate);opacity:1}
.stm-public-header.is-scrolled .stm-primary-nav a{color:var(--stm-graphite)}
.stm-public-header.is-scrolled .stm-primary-nav a:hover,
.stm-public-header.is-scrolled .stm-primary-nav a.is-active{color:var(--stm-orange)}
.stm-public-header.is-scrolled .stm-account-button{color:var(--stm-graphite);background:rgba(47,49,53,.055);border-color:rgba(47,49,53,.14)}
.stm-public-header.is-scrolled .stm-account-avatar.is-guest{background:#e5e7e9;color:var(--stm-graphite)}

/* Trust / data bands. */
.stm-trust-wrap{background:linear-gradient(135deg,#292b2f,#36383d);border-top-color:rgba(255,255,255,.12)}
.stm-trust-item{border-color:rgba(255,255,255,.10)}

/* Shared admin / CRM shell primitives. */
.stm-app-shell,.stm-admin-shell,.stm-crm-shell,.stm-dashboard-shell{color:var(--stm-ink);background:var(--stm-soft)}
.stm-app-header,.stm-admin-header,.stm-crm-header,.stm-dashboard-header{
  background:linear-gradient(135deg,#3b3d42,#292b2f);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 16px 45px rgba(30,32,35,.14);
}
.stm-app-sidebar,.stm-admin-sidebar,.stm-crm-sidebar{
  background:#303236;
  color:#fff;
  border-right:1px solid rgba(255,255,255,.09);
}
.stm-app-sidebar a,.stm-admin-sidebar a,.stm-crm-sidebar a{color:rgba(255,255,255,.78)}
.stm-app-sidebar a:hover,.stm-app-sidebar a.is-active,
.stm-admin-sidebar a:hover,.stm-admin-sidebar a.is-active,
.stm-crm-sidebar a:hover,.stm-crm-sidebar a.is-active{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,133,0,.35)}
.stm-app-card,.stm-admin-card,.stm-crm-card,.stm-panel,.stm-card{
  background:#fff;
  border:1px solid var(--stm-line);
  border-radius:18px;
  box-shadow:0 12px 38px rgba(35,37,41,.07);
}
.stm-app-card h1,.stm-app-card h2,.stm-admin-card h1,.stm-admin-card h2,
.stm-crm-card h1,.stm-crm-card h2,.stm-panel h1,.stm-panel h2{color:var(--stm-graphite)}
.stm-muted,.stm-help,.stm-meta{color:var(--stm-muted)}
.stm-input,.stm-select,.stm-textarea,.stm-form-control,
.stm-app-shell input,.stm-app-shell select,.stm-app-shell textarea,
.stm-admin-shell input,.stm-admin-shell select,.stm-admin-shell textarea,
.stm-crm-shell input,.stm-crm-shell select,.stm-crm-shell textarea{
  border:1px solid #d7dade;
  background:#fff;
  color:var(--stm-ink);
  border-radius:12px;
  box-shadow:inset 0 1px 2px rgba(35,37,41,.03);
}
.stm-input:focus,.stm-select:focus,.stm-textarea:focus,.stm-form-control:focus,
.stm-app-shell input:focus,.stm-app-shell select:focus,.stm-app-shell textarea:focus,
.stm-admin-shell input:focus,.stm-admin-shell select:focus,.stm-admin-shell textarea:focus,
.stm-crm-shell input:focus,.stm-crm-shell select:focus,.stm-crm-shell textarea:focus{
  border-color:rgba(255,133,0,.65);
  box-shadow:0 0 0 4px rgba(255,133,0,.10);
  outline:0;
}
.stm-btn-primary,.stm-app-shell .btn-primary,.stm-admin-shell .btn-primary,.stm-crm-shell .btn-primary{
  background:linear-gradient(135deg,#ff9418,#f87900);
  border-color:transparent;
  color:#fff;
  box-shadow:0 12px 28px rgba(255,133,0,.22);
}
.stm-btn-primary:hover,.stm-app-shell .btn-primary:hover,.stm-admin-shell .btn-primary:hover,.stm-crm-shell .btn-primary:hover{background:linear-gradient(135deg,#ffa32d,#eb7100);color:#fff}
.stm-btn-secondary,.stm-app-shell .btn-secondary,.stm-admin-shell .btn-secondary,.stm-crm-shell .btn-secondary{
  background:#eef0f2;border:1px solid #d9dcdf;color:var(--stm-graphite)
}
.stm-table,.stm-admin-table,.stm-crm-table{background:#fff;border:1px solid var(--stm-line);border-radius:16px;overflow:hidden}
.stm-table th,.stm-admin-table th,.stm-crm-table th{background:#f0f2f3;color:#565a60;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}
.stm-table td,.stm-admin-table td,.stm-crm-table td{border-color:#e5e7e9;color:var(--stm-ink)}
.stm-badge,.stm-status{background:#eef0f2;color:#555a60;border:1px solid #dde0e3}
.stm-badge-success,.stm-status-success{background:#eaf6ef;color:#187044;border-color:#cce8d7}
.stm-badge-warning,.stm-status-warning{background:#fff3e4;color:#a85a00;border-color:#ffd7a8}
.stm-badge-danger,.stm-status-danger{background:#fff0ef;color:#b33a31;border-color:#f2cbc7}

/* Login surfaces — same system for customer and employee authentication. */
.stm-auth-shell,.stm-login-shell{background:radial-gradient(circle at top right,#fff4e7 0%,transparent 32%),linear-gradient(180deg,#f5f6f7,#eceef0);min-height:100vh}
.stm-auth-card,.stm-login-card{background:rgba(255,255,255,.96);border:1px solid #dde0e3;border-radius:24px;box-shadow:0 30px 80px rgba(35,37,41,.14)}
.stm-auth-card h1,.stm-login-card h1{color:var(--stm-graphite)}
.stm-auth-accent{color:var(--stm-orange)}

/* Chatbot / Plan My Trip — central theme. */
.stm-chatbot,.stm-chatbot-widget,.stm-chat-widget,.stm-plan-my-trip,.plan-my-trip-widget{
  --chat-orange:var(--stm-orange);
  --chat-dark:var(--stm-graphite);
  --chat-line:var(--stm-line);
}
.stm-chatbot-button,.stm-chatbot-toggle,.stm-chat-toggle,.stm-plan-my-trip-button,.plan-my-trip-button{
  background:linear-gradient(135deg,#ff9418,#f87900) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.25) !important;
  box-shadow:0 18px 42px rgba(255,133,0,.28) !important;
}
.stm-chatbot-panel,.stm-chatbot-window,.stm-chat-panel,.stm-plan-my-trip-panel,.plan-my-trip-panel{
  background:#fff !important;
  color:var(--stm-ink) !important;
  border:1px solid var(--stm-line) !important;
  border-radius:20px !important;
  box-shadow:0 30px 90px rgba(30,32,35,.20) !important;
  overflow:hidden;
}
.stm-chatbot-header,.stm-chat-header,.stm-plan-my-trip-header{
  background:linear-gradient(135deg,#3b3d42,#292b2f) !important;
  color:#fff !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
}
.stm-chatbot-header strong,.stm-chat-header strong,.stm-plan-my-trip-header strong{color:#fff !important}
.stm-chatbot-message-agent,.stm-chat-message-agent{background:#f0f2f3 !important;color:var(--stm-ink) !important}
.stm-chatbot-message-user,.stm-chat-message-user{background:var(--stm-orange) !important;color:#fff !important}
.stm-chatbot input,.stm-chat-input,.stm-chatbot textarea{border-color:#d7dade !important;background:#fff !important;color:var(--stm-ink) !important}
.stm-chatbot-send,.stm-chat-send{background:var(--stm-orange) !important;color:#fff !important}

/* Generic orange interaction states for shared modules. */
.stm-app-shell a:hover,.stm-admin-shell a:hover,.stm-crm-shell a:hover{color:var(--stm-orange)}
.stm-app-shell .nav-link.active,.stm-admin-shell .nav-link.active,.stm-crm-shell .nav-link.active{color:var(--stm-orange);border-color:rgba(255,133,0,.40)}

/* Mobile: retain the same premium grey language. */
@media(max-width:991px){
  .stm-public-header.is-scrolled .stm-primary-nav{background:rgba(247,248,249,.98);border-color:#dfe2e5}
  .stm-public-header.is-scrolled .stm-primary-nav a{color:var(--stm-graphite)}
}
.stm-account-menu-divider{height:1px;background:var(--stm-line);margin:6px 7px}
.stm-account-menu a.stm-employee-login-link{font-weight:800}
.stm-account-menu a.stm-employee-login-link i{color:var(--stm-orange)}
