
/* Sanum.store v40 — Calm UI system
   Reduce visual noise while preserving all functionality. */
:root{
  --calm-shell:1180px;
  --calm-radius:18px;
  --calm-line:#e5ebf0;
  --calm-soft:#f7f9fb;
  --calm-shadow:0 10px 30px rgba(6,47,85,.07);
  --calm-shadow-hover:0 16px 38px rgba(6,47,85,.10);
}
html{background:#fff}
body{background:#fff;color:#173954}
.shell,.sp-shell,.sj-shell,.wrap{width:min(var(--calm-shell),calc(100% - 48px))!important}

/* One strong header instead of stacked utility bars */
.utility-bar,.sp-utility,.sanum-platform-bar{display:none!important}
.header,.sp-header{box-shadow:none!important;border-bottom:1px solid var(--calm-line)!important;background:rgba(255,255,255,.98)!important}
.nav-shell{height:76px!important}.sp-nav-shell{min-height:76px!important}
.header .logo-image{width:210px!important;height:56px!important}.sp-logo{flex-basis:205px!important}.sp-logo img{width:190px!important}
.nav,.sp-nav{gap:16px!important}.nav a,.sp-nav a{font-size:12px!important;padding-top:25px!important;padding-bottom:22px!important}
.head-cta,.sp-trip{box-shadow:none!important;border-radius:11px!important}
.sp-context{background:#fff!important;border-bottom:1px solid #edf1f4!important}
.sp-context .sp-shell{min-height:34px!important}

/* Integrated trip context stays available, but not as a full extra bar on every tool page */
body.flight-app .sj-strip,body.transit-app .sj-strip,body.weather-app .sj-strip{display:none!important}
.sanum-site:not(.route-journey):not(.route-dashboard):not(.route-trip-planner)>.sj-strip{display:none!important}

/* Main page rhythm */
.section{padding:74px 0!important}
.section.soft{background:#f8fafc!important}
.section-head{margin-bottom:28px!important;align-items:flex-end!important}
.section-head h2{font-size:32px!important;letter-spacing:-.8px!important;max-width:760px}
.section-head p{max-width:650px!important;color:#687d8e!important}
.kicker,.eyebrow{letter-spacing:1.25px!important}

/* quieter cards */
.card,.content-card,.service-card,.stay-card,.package-card,.smart-tool,.panel,.map-card,.weather-card,.sj-tool-card{
  border:1px solid var(--calm-line)!important;
  box-shadow:none!important;
  border-radius:var(--calm-radius)!important;
}
.service-card,.sj-tool-card{padding:22px!important}
.service-card:hover,.sj-tool-card:hover,.stay-card:hover,.package-card:hover{transform:translateY(-2px)!important;box-shadow:var(--calm-shadow-hover)!important}
.service-grid{gap:20px!important}.dest-grid{gap:20px!important}.stay-grid,.package-grid{gap:20px!important}
.service-card p{min-height:0!important}

/* Home: remove duplicated dashboard-like sections. Core discovery stays visible. */
.route-home .platform-command,.route-home .v4-os{display:none!important}
.route-home .trust-strip{padding:26px 0 34px!important}
.route-home .trust-row>div{border-right:0!important;background:#fafbfd;border:1px solid #edf1f4;border-radius:14px;padding:14px!important}
.route-home .mega-hero{min-height:520px!important}
.route-home .hero-content{padding-top:68px!important;padding-bottom:118px!important}
.route-home .hero h1{font-size:54px!important;max-width:700px!important}
.route-home .search-card{box-shadow:var(--calm-shadow)!important;border-radius:20px!important}
.route-home .home-dest-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.route-home .live-mini-grid{gap:20px!important}

/* content pages: more editorial, less dashboard */
.sanum-site main>.section:first-child{padding-top:58px!important}
.prose{max-width:790px!important}.prose p{font-size:15px!important;line-height:1.78!important}
.detail-grid{gap:34px!important}

/* shared module header: platform first, module second */
body.flight-app>header.topbar,body.weather-app>header.topbar,body.transit-app>header.site-header{
  border-bottom:1px solid var(--calm-line)!important;
  box-shadow:none!important;
}
body.flight-app>header.topbar,body.weather-app>header.topbar{min-height:70px!important;padding-top:10px!important;padding-bottom:10px!important}
body.transit-app>header.site-header .nav-wrap{min-height:72px!important}

/* Flight tracker: fewer decorative chips and calmer hero */
.flight-app .hero-redesigned{gap:34px!important;padding-top:42px!important;padding-bottom:42px!important}
.flight-app .feature-chips{display:none!important}
.flight-app .hero-copy p{max-width:650px!important}
.flight-app .topbar .nav{gap:14px!important}
.flight-app .topbar .nav a{font-size:12px!important}

/* Transit: keep navigation usable without looking like a second website */
.transit-app .site-header{background:#fff!important}
.transit-app .site-header .desktop-nav{gap:16px!important}
.transit-app .site-header .desktop-nav a{font-size:12px!important}
.transit-app .hero{padding-top:54px!important;padding-bottom:54px!important}
.transit-app .hero h1{font-size:54px!important;line-height:1.02!important}
.transit-app .modes,.transit-app .city-grid,.transit-app .country-grid,.transit-app .operator-grid{gap:18px!important}

/* Weather: this was the busiest screen. Reduce simultaneous controls. */
.weather-app .topbar{display:grid!important;grid-template-columns:auto minmax(360px,1fr) auto!important;gap:22px!important;align-items:center!important;padding-left:max(24px,calc((100% - var(--calm-shell))/2))!important;padding-right:max(24px,calc((100% - var(--calm-shell))/2))!important}
.weather-app .topbar .desktop-nav{grid-column:1/-1!important;order:3!important;display:flex!important;gap:8px!important;border-top:1px solid #edf1f4!important;padding-top:10px!important;overflow-x:auto!important}
.weather-app .topbar .desktop-nav a{padding:7px 10px!important;border-radius:8px!important;background:#f8fafc!important;font-size:11px!important;white-space:nowrap!important}
.weather-app .topbar .search{max-width:560px!important;justify-self:end!important}
.weather-app .hero{padding:54px max(24px,calc((100% - var(--calm-shell))/2))!important;min-height:300px!important}
.weather-app .hero h1{font-size:50px!important;max-width:760px!important}
.weather-app .hero p{max-width:720px!important}
.weather-app .quick-strip{width:min(var(--calm-shell),calc(100% - 48px))!important;margin:26px auto!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.weather-app .quick-strip a{border:1px solid var(--calm-line)!important;box-shadow:none!important;border-radius:14px!important;padding:14px!important}
.weather-app .quick-strip a:nth-child(n+5){display:none!important}
.weather-app .workspace{width:min(var(--calm-shell),calc(100% - 48px))!important;margin:0 auto!important;gap:18px!important}
.weather-app .panel{box-shadow:none!important}
.weather-app .controls .layer:nth-of-type(n+7){display:none!important}

/* Journey: less like a control room, more like a clear plan */
.route-journey .sj-page-hero{padding:54px 0!important}
.route-journey .sj-page-hero h1{font-size:46px!important}
.route-journey .sj-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.route-journey .sj-tool-card{min-height:180px!important}
.route-journey .sj-summary{gap:16px!important}

/* Buttons: consistent and calmer */
.btn,.primary-btn,.secondary-btn,.ghost-btn,.cta-primary,.planner-btn,.sj-main-btn{border-radius:11px!important;box-shadow:none!important;transition:transform .15s ease,background .15s ease,border-color .15s ease!important}
.btn:hover,.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover,.cta-primary:hover,.planner-btn:hover,.sj-main-btn:hover{transform:translateY(-1px)!important}

/* Footer: retain exact shared structure but make it less visually dense */
.sp-footer{padding-top:46px!important}
.sp-footer-grid-v37{column-gap:28px!important;row-gap:26px!important}
.sp-footer-brand p{line-height:1.65!important}
.sp-footer h4{margin-bottom:13px!important}
.sp-footer-grid>div:not(.sp-footer-brand)>a{margin-bottom:8px!important;font-size:12.5px!important}
.sp-footer-bottom{margin-top:28px!important}

@media(max-width:1100px){
  .shell,.sp-shell,.sj-shell,.wrap{width:min(100% - 36px,var(--calm-shell))!important}
  .weather-app .quick-strip,.weather-app .workspace{width:min(100% - 36px,var(--calm-shell))!important}
  .weather-app .quick-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .route-home .home-dest-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .nav-shell,.sp-nav-shell{height:auto!important;min-height:70px!important}
  .section{padding:56px 0!important}
  .weather-app .topbar{grid-template-columns:1fr!important;padding:14px 18px!important}
  .weather-app .topbar .search{justify-self:stretch!important;max-width:none!important}
  .weather-app .topbar .desktop-nav{grid-column:1!important}
  .weather-app .hero{padding:42px 18px!important}
  .weather-app .hero h1,.transit-app .hero h1{font-size:40px!important}
  .route-journey .sj-tool-grid{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .shell,.sp-shell,.sj-shell,.wrap,.weather-app .quick-strip,.weather-app .workspace{width:min(100% - 24px,var(--calm-shell))!important}
  .route-home .home-dest-grid,.weather-app .quick-strip{grid-template-columns:1fr!important}
  .route-home .mega-hero{min-height:470px!important}
  .route-home .hero h1{font-size:42px!important}
  .section-head h2{font-size:28px!important}
}
