/* Customer-facing theme. Checkout layouts and interactive states use the existing rules. */
:root {
  --shop-navy: #0b1932;
  --shop-deep: #081327;
  --shop-ivory: #f6f3ec;
  --shop-ice: #d8e4ff;
  --shop-rule: #dce2eb;
  --bg: #f6f3ec;
  --text: #14223b;
  --muted: #52617a;
  --surface: #fff;
  --surface-2: #fbfaf7;
  --shadow: 0 12px 32px rgba(11,25,50,.08);
  --dark-btn: #0b1932;
  --amazon: #d8e4ff;
}
body, .light-surface { background: var(--shop-ivory); }
.site-header.glass-header {
  background: rgba(8,19,39,.97);
  border-color: rgba(255,255,255,.16);
  color: #fff;
}
.site-header .brand-logo, .site-header .nav-cart-icon img { filter: brightness(0) invert(1); }
@media (max-width: 760px) {
  .site-header .site-nav { background-color: var(--shop-deep); }
}
.site-header .site-nav a:not(.cta-signup):not(.cta-login) { color: var(--shop-ice); }
.site-header .site-nav a:not(.cta-signup):not(.cta-login):is(:hover,.active) {
  background-color: rgba(255,255,255,.13);
  color: #fff;
}
.site-header .site-nav .cta-signup { background: var(--shop-ice); }
.site-header .site-nav .cta-login, .site-header .nav-logout-btn { color: var(--shop-navy); background: #fff; }
.site-header .nav-toggle { color: #fff; background: var(--shop-navy); border-color: rgba(255,255,255,.24); }
.site-header .nav-toggle span { background-color: #fff; }
.site-footer {
  background: var(--shop-deep);
  border-color: rgba(255,255,255,.16);
  color: var(--shop-ice);
}
.site-footer .footer-logo { filter: brightness(0) invert(1); }
.site-footer :is(.footer-copy,.footer-heading,.footer-note-list,.footer-bottom p,.footer-links a,.footer-link-button) {
  color: var(--shop-ice);
}
.site-footer :is(.footer-links a,.footer-link-button):hover { color: #fff; text-decoration: underline; }
.site-footer .footer-bottom { border-color: rgba(255,255,255,.16); }
.btn.btn-dark { background: var(--shop-navy); color: #fff; box-shadow: none; }
.btn.btn-amazon { background: var(--shop-ice); color: var(--shop-navy); box-shadow: none; }
.btn.btn-light { border-color: var(--shop-rule); color: var(--shop-navy); }
:where(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid #547bc7;
  outline-offset: 3px;
}
:is(.page-hero,.page-hero-extended,.section-head,.detail-panel,.signup-intro,.success-shell) :is(h1,h2) {
  color: var(--shop-navy);
  letter-spacing: -.035em;
}
:is(.product-card,.card-panel,.purchase-box,.faq-category-group) {
  border-color: var(--shop-rule);
  box-shadow: var(--shadow);
}
:is(.product-card-image,.detail-image) {
  background: linear-gradient(145deg,#f8f6f0,#e5eaf3);
}
:is(.product-card-footer,.detail-price,.cart-summary) { font-variant-numeric: tabular-nums; }
.faq-category-group { border-top: 3px solid #34517e; }
.home-lp-c .hero-section.lp-hero.lp-hero-c.lp-hero-c-compact {
  background: radial-gradient(ellipse at 72% 40%, #1a3157, var(--shop-deep) 69%);
  color: var(--shop-ivory);
}
.home-lp-c .lp-copy-c-refined :is(h1,.hero-line-1,.hero-line-2) { color: var(--shop-ivory); }
.home-lp-c .lp-copy-c-refined .hero-text { color: var(--shop-ice); }
.home-lp-c .lp-copy-c-refined .eyebrow {
  display: block;
  color: var(--shop-ice);
  font-size: .74rem;
  letter-spacing: .2em;
}
.home-lp-c .hero-actions .btn-dark { background: var(--shop-ivory); color: var(--shop-navy); }
.home-lp-c .lp-mini-point { color: var(--shop-navy); }
.shop-hero-photo, .shop-scene-photo { position: relative; margin: 0; aspect-ratio: 3/2; overflow: hidden; }
.shop-hero-photo { width: 100%; border-radius: 12px; }
.shop-hero-photo > img:first-child, .shop-scene-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shop-hero-photo .shop-hero-wordmark {
  position: absolute;
  left: 56.4%;
  top: 57.6%;
  width: 17%;
  height: auto;
  transform: translate(-50%,-50%) rotate(-10deg);
  mix-blend-mode: multiply;
}
.home-lp-c .lp-usecase-media { aspect-ratio: 3/2; }
.lp-usecase-media .shop-scene-photo { width: 100%; }
.shop-scene-photo .scene-wordmark {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  fill: #172448;
  mix-blend-mode: multiply;
}
.shop-scene-photo .scene-wordmark-light { fill: #fff5eb; mix-blend-mode: screen; opacity: .88; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .product-card, .btn { transition: none; }
}
