/* Calculator-specific integration with the original liquid-main visual system. */
:root {
  --ride-ink: #0b0b0c;
  --ride-ink-soft: #111816;
  --ride-snow: #f2f0eb;
  --ride-snow-muted: #c1d5ce;
  --ride-mint: #7e9f98;
  --ride-mint-dark: #32584f;
  --ride-red: #ed1c24;
}

body.calc-page.ridecalc-redesign {
  color: var(--ride-snow);
  background: var(--ride-ink);
}

body.calc-page.ridecalc-redesign::before {
  z-index: 1;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.52'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  mask-image: none;
  -webkit-mask-image: none;
  mix-blend-mode: soft-light;
}

body.calc-page > main.container {
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: clip;
}

.calculator-hero {
  width: 100%;
  min-height: 680px;
  height: min(100svh, 960px);
  margin: 0;
}

.calculator-hero .hero-inner {
  display: grid;
  width: 100%;
  max-width: 1528px;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 0;
  margin: 0 auto;
}

.calculator-hero .hero-copy {
  max-width: 960px;
  padding-top: 12px;
}

.calculator-hero h1 {
  max-width: 1020px;
  font-size: clamp(54px, 8.2vw, 118px);
  line-height: .99;
  letter-spacing: -.085em;
}

.calculator-hero .hero-description {
  max-width: 570px;
  margin-top: 23px;
  color: #c1d5ce;
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 1.7;
}

.calculator-hero .hero-actions { margin-top: 30px; }
.calculator-hero .button-primary {
  min-width: 248px;
  min-height: 58px;
  justify-content: space-between;
  padding: 0 22px;
  border-color: var(--ride-red);
  border-radius: 3px;
  color: var(--ride-snow);
  background: var(--ride-red);
}

.planner {
  color: var(--ride-snow);
  background: var(--ride-ink);
}

.planner-header .eyebrow,
.planner-overview .mini-label,
.builder-step-intro .mini-label { color: var(--ride-snow-muted); }
.planner-header h2,
.planner-overview h2,
.builder-step-intro h2 { color: var(--ride-snow); }
.planner-header > p:last-child,
.planner-overview .panel-description,
.builder-step-intro .panel-description { color: #c1d5ce; }
.planner-header h2 em,
.planner-overview h2 em { color: var(--ride-mint); }
.planner-roadmap li { border-color: rgba(242, 240, 235, .18); color: var(--ride-snow); }

.path-request {
  border-color: #6d9788;
  color: #101714;
  background: #dcebe3;
}
.path-request .eyebrow { color: #456a5c; }
.path-request .request-button { background: #173e30; }
.path-budget {
  border-color: rgba(193, 213, 206, .28);
  color: var(--ride-snow);
  background: #141918;
}

.planner-workspace { color: var(--ride-snow); }
.planner.is-step-flow { color: var(--ride-snow); background: var(--ride-ink); }
.planner.is-step-flow .planner-overview h2 em { color: var(--ride-mint); }
.interview {
  border-color: rgba(193, 213, 206, .28);
  color: var(--ride-snow);
  background: #111816;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .3);
}
.journey-step,
.journey-step:last-child,
.step-actions { border-color: rgba(193, 213, 206, .22); }
.step-header,
.step-header[aria-current='step'] { color: var(--ride-snow); }
.step-header-copy b { color: inherit; }
.step-header .step-summary { color: var(--ride-snow-muted); }
.step-header[aria-current='step'] .step-summary { color: #ff777d; }
.step-number { color: var(--ride-snow-muted); }
.step-header[aria-current='step'] .step-number { color: #ff777d; }
.step-chevron { color: var(--ride-red); }
.step-panel-content { color: var(--ride-snow); }
.step-panel > .step-actions { border-color: rgba(193, 213, 206, .22); background: #111816; }
.step-actions > span { color: var(--ride-snow-muted); }
.back-button { color: var(--ride-snow); border-color: rgba(193, 213, 206, .3); }
.back-button:hover:not(:disabled) { background: #203c34; }
.choice-field legend,
.small-label,
.field-hint,
.transfer-picker .field-hint { color: #c1d5ce; }
.toggle-row { color: var(--ride-snow); border-color: rgba(193, 213, 206, .2); }
.toggle-row small { color: #aabeb5; }
.budget-mode .interview { border-color: #45544c; background: #111816; }
.budget-mode .journey-step { border-color: #45544c; }

.planner.is-step-flow .step-panel-content { justify-content: center; }
.planner.is-step-flow #panel-stays .step-panel-content,
.planner.is-step-flow #panel-experiences .step-panel-content { justify-content: flex-start; }
.planner.is-step-flow .selection-step-panel .section-heading h2,
.planner.is-step-flow .selection-step-panel .section-heading .eyebrow { display: none; }
.planner.is-step-flow .selection-step-panel .result-note { color: #c1d5ce; }
.planner.is-step-flow .selection-step-panel .stay-card,
.planner.is-step-flow .selection-step-panel .experience-card { color: #111816; }
.planner.is-step-flow .selection-step-panel .stay-card { background: #f5f5ef; }
.planner.is-step-flow .selection-step-panel .experience-card { background: #f5f5ef; }

.stays-section,
.experiences { color: var(--ride-snow); }
.stays-section .section-heading h2,
.experiences .section-heading h2 { color: var(--ride-snow); }
.stays-section .result-note { color: #c1d5ce; }
.stay-card,
.experience-card { color: #111816; }

.money-section { color: #111816; }
.finish-section { color: var(--ride-snow); }

.powder-canvas { z-index: 4; }
.site-header, .mobile-nav { z-index: 5; }

@media (max-width: 640px) {
  .calculator-hero { display: grid; min-height: 0; height: auto; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto clamp(185px, 54vw, 245px) auto; align-content: start; gap: 0; padding: 88px 0 28px; }
  .calculator-hero .hero-inner { display: contents; min-height: 0; height: auto; padding: 0; }
  .calculator-hero .hero-copy { grid-row: 1; padding: 0 var(--page-pad); }
  .calculator-hero h1 { max-width: 100%; margin-top: 0; font-size: clamp(36px, 11vw, 48px); overflow-wrap: anywhere; }
  .calculator-hero .hero-description { max-width: 360px; font-size: 13px; }
  .calculator-hero .hero-skyline { position: relative; z-index: 1; grid-row: 2; right: auto; bottom: auto; left: auto; width: 100%; height: 100%; opacity: .88; }
  .calculator-hero .hero-grain,
  .calculator-hero .hero-orbit { display: none; }
  .calculator-hero .hero-actions { z-index: 2; grid-row: 3; align-items: flex-end; justify-content: flex-end; margin: 8px var(--page-pad) 0; }
  .calculator-hero .hero-actions .button { width: 100%; }
  .planner { padding-top: 46px; padding-bottom: 52px; }
  .planner.is-step-flow { padding-top: max(10px, env(safe-area-inset-top)); padding-bottom: max(8px, env(safe-area-inset-bottom)); }
  .planner.is-step-flow .planner-overview { width: 100%; min-width: 0; align-self: stretch; }
  .planner.is-step-flow .planner-overview h2,
  .planner.is-step-flow .planner-overview .panel-description { max-width: 100%; overflow-wrap: anywhere; }
  .planner.is-step-flow .planner-overview h2 { color: var(--ride-snow); }
  .planner.is-step-flow .planner-overview .panel-description { color: #c1d5ce; }
  .planner.is-step-flow .builder-step-intro .mini-label { font-size: 9px; }
  .planner.is-step-flow .builder-step-intro h2 { font-size: clamp(20px, 5.8vw, 25px); }
  .planner.is-step-flow .builder-step-intro .panel-description { font-size: 10px; line-height: 1.4; }
  .planner.is-step-flow .step-panel-content { gap: 8px; }
  .planner.is-step-flow .step-panel-content > .choice-field legend,
  .planner.is-step-flow .trip-metric .small-label,
  .planner.is-step-flow .origin-options label span,
  .planner.is-step-flow .transport-options label > span { font-size: 9px; }
  .planner.is-step-flow .vibe-level-options label > span,
  .planner.is-step-flow .vibe-choice-group .segmented label > span { min-height: 36px; font-size: 9px; }
  .planner.is-step-flow .vibe-toggle-group .toggle-row strong { font-size: 10px; }
  .planner.is-step-flow .vibe-toggle-group .toggle-row small { font-size: 9px; }
  .planner.is-step-flow .transfer-vehicle-option strong { font-size: 9px; }
  .planner.is-step-flow .transfer-vehicle-option small,
  .planner.is-step-flow .transfer-vehicle-option b { font-size: 8px; }
  .planner.is-step-flow .selection-step-panel .stay-card h3,
  .planner.is-step-flow .selection-step-panel .experience-title { font-size: 10px; }
  .planner.is-step-flow .selection-step-panel .stay-card p,
  .planner.is-step-flow .selection-step-panel .experience-description,
  .planner.is-step-flow .selection-step-panel .card-details { font-size: 8px; }
  .planner.is-step-flow .selection-step-panel .stay-tags span { font-size: 7px; }
  .planner.is-step-flow .selection-step-panel .card-choice { min-height: 28px; font-size: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .powder-canvas { display: none; }
}
