/**
 * LUXURIOUS GLOBAL (OPC) PRIVATE LIMITED — global responsive system
 * Loaded after page CSS; complements per-page media queries.
 */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
img,
svg,
video {
  max-width: 100%;
  height: auto;
}
.page-wrap,
.page-main {
  min-width: 0;
}

/* ── Tablet (≤960px) ── */
@media (max-width: 960px) {
  .container { width: min(1200px, 94vw); }
  .page-main { overflow-x: clip; }
  .a52-pier-header,
  .a52-canopy-header,
  .a52-manifest-bar,
  .a52-skybar {
    position: relative;
    z-index: 40;
  }

  .a52-section-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  /* Shared hero stacks */
  [class*="-hero-inner"],
  [class*="-hero-grid"],
  [class*="-stage"] > .container > [class*="-deck"],
  [class*="-workspace"],
  [class*="-layout"],
  [class*="-grid"]:not(.a52-mobile-cat-grid):not(.a52-mobile-link-list):not(.a52-mobile-link-grid):not(.a52-footer-columns):not(.a52-footer-main) {
    max-width: 100%;
  }

  /* Redesigned Fieldcrest page shells */
  .a52-vault-hero-grid,
  .a52-bay-hero-grid,
  .a52-seal-hero-grid,
  .a52-folio-hero-grid,
  .a52-wire-hero-grid,
  .a52-stall-hero-grid,
  .a52-index-hero-grid,
  .a52-charter-hero-grid,
  .a52-route-hero-grid,
  .a52-signal-hero-grid,
  .a52-lock-hero-grid,
  .a52-pulse-hero-grid,
  .a52-seal-layout,
  .a52-bay-layout,
  .a52-vault-layout,
  .a52-folio-layout,
  .a52-wire-layout,
  .a52-stall-layout,
  .a52-index-layout,
  .a52-charter-layout,
  .a52-route-layout,
  .a52-signal-layout {
    grid-template-columns: 1fr !important;
  }

  .a52-bay-meters,
  .a52-seal-meters,
  .a52-vault-meters,
  .a52-folio-meters,
  .a52-wire-meters,
  .a52-stall-meters,
  .a52-index-meters,
  .a52-charter-meters,
  .a52-route-meters,
  .a52-signal-meters,
  .a52-lock-meters,
  .a52-pulse-meters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .a52-folio-stages-row {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .a52-seal-ribbon-row,
  .a52-bay-ribbon-row,
  .a52-vault-ribbon-row {
    flex-wrap: wrap;
    gap: 0.45rem;
  }

  .a52-seal-ticket,
  .a52-bay-summary,
  .a52-vault-aside,
  .a52-stall-buy,
  .a52-wire-aside {
    position: static !important;
  }

  .a52-bay-mobile-bar,
  .a52-seal-mobile-bar,
  .a52-stall-mobile-bar {
    display: flex;
  }

  /* Home — Verdant */
  .a52-hero > .container.a52-hero-grid,
  .a52-story-grid,
  .a52-top-grid,
  .a52-banner-grid { grid-template-columns: 1fr !important; }
  .a52-hero-visual { min-height: 260px; order: -1; }
  .a52-hero-float { display: none; }
  .a52-carousel-nav { display: none; }
  .a52-carousel-wrap::before,
  .a52-carousel-wrap::after { display: none; }
  .a52-top-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a52-category-rail { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }

  /* Shop */
  .a52-shop-layout,
  .a52-shop-grid-wrap { grid-template-columns: 1fr !important; }
  .a52-shop-sidebar { display: none; }
  .a52-shop-toolbar { flex-wrap: wrap; gap: 0.65rem; }
  .a52-shop-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Catalog — Panorama */
  .a52-pano-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .a52-pano-block--wide { grid-column: span 2 !important; }
  .a52-pano-dock { flex-wrap: wrap; overflow: visible; }
  .a52-pano-dock-wrap { position: static; }

  /* Product — Farm Pick */
  .a52-pick-layout,
  .a52-pick-deck { grid-template-columns: 1fr !important; }
  .a52-pick-gallery { position: static; }
  .a52-pick-tower { position: static; order: -1; }
  .a52-pick-spec-grid { grid-template-columns: 1fr 1fr; }

  /* Cart — Produce Crate */
  .a52-crate-deck { grid-template-columns: 1fr !important; }
  .a52-crate-tower { position: static; order: -1; }
  .a52-crate-runway { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a52-crate-mobile-bar { display: flex; }

  /* Checkout — Cold Chain Gate */
  .a52-gate-deck,
  .a52-seal-layout { grid-template-columns: 1fr !important; }
  .a52-gate-tower,
  .a52-seal-summary { position: static; order: -1; }
  .a52-gate-runway,
  .a52-seal-dock { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Account — Grove Passport */
  .a52-grove-layout,
  .a52-grove-deck { grid-template-columns: 1fr !important; }
  .a52-grove-sidebar { position: static; }
  .a52-grove-runway,
  .a52-grove-nav { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Orders — Harvest Ledger */
  .a52-ledger-deck { grid-template-columns: 1fr !important; }
  .a52-ledger-runway { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Track — Cold Chain Dispatch */
  .a52-dispatch-deck,
  .a52-dispatch-workspace { grid-template-columns: 1fr !important; }
  .a52-dispatch-runway-grid,
  .a52-dispatch-runway { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Help — Harvest Desk */
  .a52-harvest-workspace,
  .a52-harvest-grid,
  .a52-help-grid,
  .a52-help-lanes { grid-template-columns: 1fr !important; }
  .a52-harvest-dock { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Contact — Produce Relay */
  .a52-relay-deck,
  .a52-relay-layout { grid-template-columns: 1fr !important; }
  .a52-relay-runway { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Order status — Cold Chain Signal */
  .a52-signal-deck,
  .a52-signal-layout { grid-template-columns: 1fr !important; }
  .a52-signal-runway { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Order success — Harvest Clear */
  .a52-clear-deck { grid-template-columns: 1fr !important; }
  .a52-clear-runway { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Company — Farm Roots */
  .a52-roots-deck,
  .a52-atlas-layout { grid-template-columns: 1fr !important; }
  .a52-roots-runway,
  .a52-atlas-dock { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Policy / payment */
  .a52-policy-nav { flex-wrap: wrap; gap: 0.35rem; }
  .a52-policy-nav a { font-size: 0.74rem; padding: 0.42rem 0.75rem; }
  .a52-pay-actions { flex-direction: column; align-items: stretch; }
  .a52-pay-btn { width: 100%; }

  /* Legacy shared */
  .catalog-layout { grid-template-columns: 1fr; }
  .filter-panel { display: none; }
  .product-detail-grid { grid-template-columns: 1fr; }

  /* Footer */
  .a52-newsletter-form { flex-direction: column; }
  .a52-newsletter-form input,
  .a52-newsletter-form button { width: 100%; }
  .a52-footer-cats { gap: 0.45rem 0.75rem; }

  /* Sticky / dock grids (legacy bloom names) */
  .a52-bloom-dock,
  .a52-grove-runway,
  .a52-ledger-runway,
  .a52-gate-runway,
  .a52-signal-runway,
  .a52-relay-runway,
  .a52-clear-runway,
  .a52-roots-runway,
  .a52-pano-runway,
  .a52-petal-dock-grid,
  .a52-florist-dock,
  .a52-celebrate-dock,
  .a52-beacon-dock,
  .a52-trace-dock-grid,
  .a52-dispatch-runway-grid,
  .a52-specimen-dock,
  .a52-basket-dock {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .a52-conserv-dock { flex-direction: column; text-align: center; }
  .a52-seal-dock-inner,
  .a52-gate-mobile-inner { flex-direction: column; align-items: stretch; text-align: center; }

  /* Generic two-column → one on tablet when needed */
  [class*="-metrics"],
  [class*="-stats"] {
    flex-wrap: wrap;
  }
}

/* ── Phone (≤640px) ── */
@media (max-width: 640px) {
  .container { width: min(1200px, 92vw); }

  h1 { font-size: clamp(1.55rem, 6vw, 2.2rem); }
  h2 { font-size: clamp(1.25rem, 5vw, 1.65rem); }

  .a52-top-products-grid,
  .a52-shop-product-grid,
  .a52-pano-mosaic { grid-template-columns: 1fr !important; }
  .a52-pano-block,
  .a52-pano-block--wide { grid-column: auto !important; grid-template-columns: 1fr !important; }

  /* Hero metrics / counters */
  [class*="-metrics"],
  [class*="-hero-metrics"] {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
  }

  /* Stage overlap tighten */
  [class*="-stage"],
  .a52-bloom-stage.auth-page,
  .a52-grove-stage.auth-page {
    margin-top: -1.5rem !important;
    padding-bottom: 4.5rem;
  }

  .page-cart-crate .a52-crate-stage,
  .page-checkout-gate .a52-gate-stage,
  .page-product-pick .a52-pick-stage {
    padding-bottom: 5.5rem;
  }

  /* Forms — prevent iOS zoom */
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="tel"],
  input[type="search"],
  input[type="number"],
  select,
  textarea,
  [class*="-form"] input,
  [class*="-form"] select,
  [class*="-form"] textarea {
    font-size: 16px;
  }

  /* Tables scroll */
  table,
  .a52-specimen-spec-table,
  .a52-pick-spec-table,
  [class*="-spec-table"] {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Single-column docks / runways */
  .a52-bloom-dock,
  .a52-grove-runway,
  .a52-ledger-runway,
  .a52-gate-runway,
  .a52-signal-runway,
  .a52-relay-runway,
  .a52-clear-runway,
  .a52-roots-runway,
  .a52-pano-runway,
  .a52-crate-runway,
  .a52-petal-dock-grid,
  .a52-florist-dock,
  .a52-celebrate-dock,
  .a52-beacon-dock,
  .a52-trace-dock-grid,
  .a52-dispatch-runway-grid,
  .a52-specimen-dock,
  .a52-basket-dock,
  .a52-harvest-dock {
    grid-template-columns: 1fr !important;
  }

  [class*="-tile--wide"],
  [class*="-dock-tile--wide"],
  [class*="-dock-tile--email"] {
    grid-column: span 1 !important;
  }

  /* Product page */
  .a52-pick-spec-grid { grid-template-columns: 1fr; }
  .a52-pick-actions,
  .a52-pick-buy-row,
  .a52-specimen-buy-row {
    flex-direction: column;
    align-items: stretch;
  }
  .a52-pick-actions .a52-pick-btn,
  .a52-specimen-buy-row .a52-specimen-btn { width: 100%; }
  .a52-pick-mobile-bar,
  .a52-specimen-ribbon,
  .a52-gate-mobile-bar,
  .a52-seal-mobile-bar {
    display: flex;
  }
  .a52-pick-mobile-inner,
  .a52-specimen-ribbon-inner,
  .a52-gate-mobile-inner,
  .a52-seal-dock-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
  }
  .a52-pick-mobile-actions,
  .a52-specimen-ribbon-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  /* Cart lines */
  .a52-basket-line,
  .a52-crate-line {
    grid-template-columns: 28px 72px 1fr;
    grid-template-rows: auto auto;
    gap: 0.65rem;
  }
  .a52-basket-line-controls,
  .a52-crate-line-controls {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-top: 0.5rem;
    border-top: 1px dashed rgba(27, 58, 26, 0.12);
  }

  /* Checkout / account forms */
  .a52-gate-form-row,
  .a52-seal-form-row,
  .a52-grove-form-row,
  .a52-relay-form-row,
  [class*="-form-row"] {
    grid-template-columns: 1fr !important;
  }

  /* Stats grids */
  .a52-atlas-stats,
  .a52-roots-metrics,
  [class*="-metrics-grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Order timeline */
  .a52-petal-vine-item,
  [class*="-timeline-item"] {
    grid-template-columns: auto 1fr;
  }

  /* Cards padding */
  .a52-policy-card,
  .a52-pay-card,
  [class*="-card"]:not(.a52-mobile-user-card):not(.a52-mobile-link) {
    padding: 1.15rem;
    border-radius: 18px;
  }

  /* Account profile */
  .page-account-grove .profile-grid,
  .page-account-bloom .profile-grid,
  .a52-grove-member,
  .a52-bloom-member {
    grid-template-columns: 1fr !important;
  }
  .a52-grove-member-actions,
  .a52-bloom-member-actions {
    grid-column: 1 / -1;
    flex-direction: column;
  }
  .a52-grove-member-actions .a52-grove-btn,
  .a52-bloom-member-actions .a52-bloom-btn { width: 100%; }

  /* Help FAQ */
  .a52-harvest-lanes,
  .a52-help-accordions { grid-template-columns: 1fr !important; }

  /* Footer */
  .a52-footer { margin-top: 2rem; }
  .a52-footer-base { font-size: 0.72rem; text-align: center; }
  .a52-support-callout { flex-direction: column; text-align: center; }
}

/* ── Small phone (≤480px) ── */
@media (max-width: 480px) {
  .a52-atlas-stats,
  .a52-roots-metrics,
  [class*="-metrics-grid"] {
    grid-template-columns: 1fr !important;
  }

  .a52-pick-mobile-actions,
  .a52-specimen-ribbon-actions {
    grid-template-columns: 1fr;
  }

  .a52-bloom-lanes,
  .a52-bloom-member,
  .a52-grove-nav,
  .a52-grove-member {
    grid-template-columns: 1fr;
  }

  .a52-crate-hero-metrics,
  .a52-crate-counter {
    display: none;
  }

  .a52-crate-hero-lede {
    font-size: 0.88rem;
  }
}

/* Touch targets */
@media (max-width: 960px) {
  .a52-btn,
  [class*="-btn"]:not(.a52-mobile-close):not(.a52-menu-toggle),
  button:not(.a52-mobile-close):not(.a52-menu-toggle),
  .a52-subnav-link,
  .a52-mobile-link,
  .a52-mobile-cat-chip,
  .a52-mobile-quick-btn,
  .a52-mobile-user-card {
    min-height: 44px;
  }
}

/* Phone polish for Fieldcrest shells */
@media (max-width: 640px) {
  .a52-bay-meters,
  .a52-seal-meters,
  .a52-vault-meters,
  .a52-folio-meters,
  .a52-wire-meters,
  .a52-stall-meters,
  .a52-index-meters,
  .a52-charter-meters,
  .a52-route-meters,
  .a52-signal-meters,
  .a52-lock-meters,
  .a52-pulse-meters,
  .a52-seal-fields--duo,
  .a52-seal-fields--route,
  .a52-bay-fields,
  .a52-vault-fields,
  .a52-wire-fields {
    grid-template-columns: 1fr !important;
  }

  .a52-seal-ribbon,
  .a52-bay-ribbon,
  .a52-vault-ribbon {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .a52-seal-ribbon-row,
  .a52-bay-ribbon-row {
    flex-wrap: nowrap;
    width: max-content;
    min-width: 100%;
  }

  .a52-seal-film-track,
  .a52-bay-film-track,
  .a52-index-rail {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .a52-partner-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
  }

  .a52-footer-grid {
    grid-template-columns: 1fr !important;
  }

  .a52-mobile-panel {
    width: min(100vw, 420px);
  }
}

@media (max-width: 480px) {
  .a52-utility { font-size: 0.72rem; }
  .a52-brand-est { font-size: 0.58rem; }
  .a52-brand-name { font-size: clamp(1.05rem, 5.5vw, 1.35rem); }
  .a52-search-rail { padding-bottom: 0.75rem; }
  .a52-partner-row { grid-template-columns: 1fr; }
  .a52-mobile-quick { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .a52-mobile-panel,
  .a52-mobile-backdrop,
  .a52-menu-toggle span,
  .a52-mobile-link,
  .a52-mobile-cat-chip {
    transition: none !important;
  }
  .a52-mobile-nav.is-open .a52-mobile-panel {
    transform: none;
  }
  .a52-mobile-nav.is-open .a52-mobile-link,
  .a52-mobile-nav.is-open .a52-mobile-cat-chip {
    opacity: 1;
    transform: none;
    transition-delay: 0s !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   Premium global polish (loads last — elevates all pages)
   Soft cards, breathing room, refined forms & CTAs
   ═══════════════════════════════════════════════════════════ */
body.a52-store .page-main > section,
body.a52-store .page-main > .container {
  scroll-margin-top: 6rem;
}

/* Soften hard card shells across page modules */
body.a52-store [class*="-crate"],
body.a52-store [class*="-card"]:not(.a52-aisle-card),
body.a52-store [class*="-panel"]:not(.a52-tide-copy-panel):not(.a52-season-panel),
body.a52-store [class*="-sheet"],
body.a52-store [class*="-tile"],
body.a52-store [class*="-box"],
body.a52-store .policy-card,
body.a52-store .a52-policy-sheet,
body.a52-store .highlight-box,
body.a52-store .contact-card {
  border-radius: var(--a52-radius) !important;
}

body.a52-store .a52-product-card,
body.a52-store .a52-aisle-card,
body.a52-store [class*="-crate"],
body.a52-store [class*="-summary"],
body.a52-store [class*="-aside"],
body.a52-store [class*="-registry"],
body.a52-store [class*="-desk"]:not(.a52-cleat-desk) {
  box-shadow: var(--a52-shadow-sm);
  border-color: var(--a52-border-soft) !important;
}

/* Section breathing room on home & inner pages */
body.a52-store .a52-split-bay,
body.a52-store .a52-ink-bay,
body.a52-store .a52-new-products,
body.a52-store .a52-best,
body.a52-store .a52-aisles {
  padding-block: var(--a52-space-section);
}

body.a52-store .a52-tide-copy-panel {
  border-radius: 0 var(--a52-radius-lg) var(--a52-radius-lg) 0;
  padding: 2rem 2rem 2rem 1.75rem;
  background: linear-gradient(90deg, rgba(8, 14, 22, .62), rgba(8, 14, 22, .08));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

body.a52-store .a52-tide-badge {
  border-radius: 10px;
  clip-path: none;
  box-shadow: 0 8px 20px rgba(196, 92, 38, 0.35);
}

body.a52-store .a52-tide-arrow {
  border-radius: 14px;
  clip-path: none !important;
  width: 48px;
  height: 48px;
}

/* Feature / aisle / ink blocks as soft bento tiles */
body.a52-store .a52-feature-quad article,
body.a52-store .a52-ink-cols article,
body.a52-store .a52-aisle-card {
  border-radius: var(--a52-radius) !important;
  box-shadow: var(--a52-shadow-sm);
  border: 1px solid var(--a52-border-soft);
  transition: transform .28s var(--a52-ease), box-shadow .28s var(--a52-ease);
}
body.a52-store .a52-feature-quad article:hover,
body.a52-store .a52-ink-cols article:hover,
body.a52-store .a52-aisle-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--a52-shadow);
}

body.a52-store .a52-ribbon-filters {
  gap: .65rem;
  margin-bottom: 1.75rem;
}
body.a52-store .a52-ribbon {
  border-radius: 999px !important;
  padding: .55rem 1rem !important;
  border: 1px solid var(--a52-border-soft);
  background: rgba(255,255,255,.8);
  backdrop-filter: blur(8px);
  transition: transform .25s var(--a52-ease), background .25s ease, box-shadow .25s ease;
}
body.a52-store .a52-ribbon:hover,
body.a52-store .a52-ribbon.is-active {
  transform: translateY(-1px);
  box-shadow: var(--a52-shadow-sm);
}

/* Shop / product / checkout field polish */
body.a52-store .a52-berth-search,
body.a52-store .a52-wharf-field input,
body.a52-store .a52-wharf-field textarea,
body.a52-store .a52-keel-stepper,
body.a52-store [class*="-field"] input,
body.a52-store [class*="-field"] textarea,
body.a52-store [class*="-field"] select {
  border-radius: var(--a52-radius-sm) !important;
}

body.a52-store .a52-wharf-field input:focus,
body.a52-store .a52-wharf-field textarea:focus,
body.a52-store [class*="-field"] input:focus,
body.a52-store [class*="-field"] textarea:focus,
body.a52-store [class*="-field"] select:focus {
  border-color: var(--a52-copper) !important;
  box-shadow: var(--a52-shadow-focus) !important;
}

/* Page heroes — more air */
body.a52-store [class*="-hero"]:not(.a52-tide-hero) {
  padding-block: clamp(2.75rem, 6vw, 4.25rem);
}

body.a52-store [class*="-hero"] h1 {
  letter-spacing: -0.035em;
  line-height: 1.12;
}

body.a52-store [class*="-lede"],
body.a52-store [class*="-copy"] p {
  line-height: 1.75;
}

/* Primary CTA consistency on page modules */
body.a52-store [class*="-btn--primary"],
body.a52-store [class*="-btn-primary"],
body.a52-store a[class*="-btn--primary"] {
  border-radius: var(--a52-radius-sm) !important;
  transition: transform .25s var(--a52-ease), box-shadow .25s var(--a52-ease), background .25s ease !important;
}
body.a52-store [class*="-btn--primary"]:hover,
body.a52-store [class*="-btn-primary"]:hover,
body.a52-store a[class*="-btn--primary"]:hover {
  transform: translateY(-2px) scale(1.015);
}

/* Footer category chips */
body.a52-store .a52-footer-cats a {
  border-radius: 999px !important;
  padding: .4rem .85rem !important;
  border: 1px solid rgba(255,255,255,.12);
  transition: background .25s ease, transform .25s ease, border-color .25s ease;
}
body.a52-store .a52-footer-cats a:hover {
  transform: translateY(-1px);
  border-color: rgba(196, 92, 38, .55);
}

body.a52-store .a52-copper-seal {
  border-radius: 12px !important;
}

body.a52-store .a52-back-top {
  border-radius: 14px !important;
  box-shadow: var(--a52-shadow);
  transition: transform .25s var(--a52-ease), background .25s ease !important;
}
body.a52-store .a52-back-top:hover {
  transform: translateY(-3px) scale(1.05);
}

/* Split / visual frames */
body.a52-store .a52-split-visual,
body.a52-store .a52-product-gallery,
body.a52-store .product-gallery {
  border-radius: var(--a52-radius-lg) !important;
  overflow: hidden;
  box-shadow: var(--a52-shadow);
  border: 1px solid var(--a52-border-soft);
}

/* Commerce panels — soft cards instead of hard crates */
body.a52-store .a52-berth-crate,
body.a52-store .a52-berth-rail,
body.a52-store .a52-keel-panel,
body.a52-store .a52-keel-buy,
body.a52-store .a52-wharf-dock,
body.a52-store .a52-wharf-pass,
body.a52-store .a52-hold-crate,
body.a52-store .a52-hold-dock,
body.a52-store .a52-cleat-card,
body.a52-store .a52-cleat-workspace,
body.a52-store .a52-cleared-pass,
body.a52-store .policy-card,
body.a52-store .a52-policy-sheet {
  border-radius: var(--a52-radius) !important;
  box-shadow: var(--a52-shadow-sm);
  border-color: var(--a52-border-soft) !important;
}

body.a52-store .a52-product-card,
body.a52-store .a52-crate-card,
body.a52-store .product-card {
  border-radius: var(--a52-radius) !important;
  box-shadow: var(--a52-shadow-xs);
  border: 1px solid var(--a52-border-soft);
  transition: transform .28s var(--a52-ease), box-shadow .28s var(--a52-ease);
}
body.a52-store .a52-product-card:hover,
body.a52-store .a52-crate-card:hover,
body.a52-store .product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--a52-shadow);
}

@media (max-width: 720px) {
  body.a52-store .a52-tide-copy-panel {
    border-radius: var(--a52-radius);
    margin-inline: 0.25rem;
  }
}

/* ═══════════════════════════════════════════════════════════
   Contrast safety — readable text on light AND dark surfaces
   Loaded last so page modules inherit safe overrides.
   ═══════════════════════════════════════════════════════════ */

body.a52-store {
  color: var(--a52-ink);
  --a52-muted: #3F4D5C;
  --a52-accent-text: #8B3D14;
  --a52-sand: #F0C090;
  --a52-brass-bright: #E8C56A;
}

/* Body / supporting copy on light surfaces */
body.a52-store p,
body.a52-store .a52-section-head p,
body.a52-store [class*="-lede"],
body.a52-store [class*="-empty"] p,
body.a52-store .a52-split-lede,
body.a52-store .a52-feature-quad p,
body.a52-store .a52-aisle-card p,
body.a52-store .a52-tool-label small,
body.a52-store .a52-mobile-tag,
body.a52-store .a52-mobile-section-label,
body.a52-store .a52-mobile-quick-btn small,
body.a52-store .policy-content .last-updated,
body.a52-store .a52-policy-lede,
body.a52-store .a52-policy-kicker {
  color: var(--a52-muted);
}

/* Light headings only — do not override clipped/gradient hero titles */
body.a52-store .a52-section-head h2,
body.a52-store .a52-product-body h3,
body.a52-store .a52-price-row strong,
body.a52-store .a52-tool-label strong,
body.a52-store .a52-stamp-brand .a52-stamp-copy strong,
body.a52-store .a52-keel-miss h1,
body.a52-store .policy-content h1,
body.a52-store .policy-content h2 {
  color: var(--a52-harbor);
}

/* Light-surface accent labels (kickers, chips, meta) — deep copper, not mid copper/brass */
body.a52-store .a52-section-kicker,
body.a52-store [class*="-kicker--ink"],
body.a52-store .a52-aisle-label,
body.a52-store .a52-featured-more a,
body.a52-store .a52-account-label small,
body.a52-store .a52-berth-rail-label,
body.a52-store .a52-cleat-forgot summary,
body.a52-store .a52-cleat-id-tag,
body.a52-store .a52-cleat-gate-head small,
body.a52-store .a52-beacon-empty a,
body.a52-store .a52-beacon-chip-num,
body.a52-store .a52-charter-berths-link,
body.a52-store .a52-keel-chip,
body.a52-store .a52-keel-miss .a52-keel-kicker,
body.a52-store .a52-hold-crate-num,
body.a52-store .a52-hold-empty a,
body.a52-store .a52-berth-empty a,
body.a52-store .a52-accent,
body.a52-store a[class*="-more"],
body.a52-store .a52-pay-state .a52-pay-kicker {
  color: var(--a52-accent-text) !important;
}

body.a52-store .a52-stamp-copy em,
body.a52-store .a52-account-label small.is-on,
body.a52-store .a52-tool-account.is-verified .a52-account-label small {
  color: var(--a52-seaglass) !important;
}

/* Dark surfaces — force light readable text (blocks global harbor/muted leaks) */
body.a52-store .a52-manifest-bar,
body.a52-store .a52-deck-rail,
body.a52-store .a52-ink-bay,
body.a52-store .a52-tide-signal,
body.a52-store .a52-pier-footer,
body.a52-store .a52-hold-dock,
body.a52-store .a52-hold-hero,
body.a52-store .a52-berth-hero,
body.a52-store .a52-wharf-hero,
body.a52-store .a52-cleat-hero,
body.a52-store .a52-cleared-hero,
body.a52-store .a52-keel-mast,
body.a52-store .a52-tide-hero,
body.a52-store .a52-beacon-hero,
body.a52-store .a52-tideway-hero,
body.a52-store .a52-charter-hero,
body.a52-store .a52-codex-hero,
body.a52-store .a52-bayix-hero,
body.a52-store .a52-log-hero,
body.a52-store .a52-chart-hero,
body.a52-store .a52-pay-hero,
body.a52-store .a52-pier-hero,
body.a52-store .a52-berth-rail,
body.a52-store .a52-wharf-pass,
body.a52-store .a52-hold-mobile,
body.a52-store .a52-keel-mobile,
body.a52-store .a52-keel-ledger--spec header,
body.a52-store .a52-cleared-vital--total,
body.a52-store .a52-berth-berth.is-active {
  color: var(--a52-text-on-dark, rgba(255, 255, 255, 0.9));
}

body.a52-store .a52-manifest-bar p,
body.a52-store .a52-deck-rail p,
body.a52-store .a52-ink-bay p,
body.a52-store .a52-tide-signal p,
body.a52-store .a52-pier-footer p,
body.a52-store .a52-hold-hero p,
body.a52-store .a52-berth-hero p,
body.a52-store .a52-wharf-hero p,
body.a52-store .a52-cleat-hero p,
body.a52-store .a52-cleared-hero p,
body.a52-store .a52-keel-mast p,
body.a52-store .a52-tide-hero p,
body.a52-store .a52-beacon-hero p,
body.a52-store .a52-tideway-hero p,
body.a52-store .a52-charter-hero p,
body.a52-store .a52-codex-hero p,
body.a52-store .a52-bayix-hero p,
body.a52-store .a52-log-hero p,
body.a52-store .a52-chart-hero p,
body.a52-store .a52-pay-hero p,
body.a52-store .a52-pier-hero p,
body.a52-store .a52-hold-dock p,
body.a52-store .a52-berth-rail p,
body.a52-store .a52-wharf-pass p,
body.a52-store .a52-ink-cols p,
body.a52-store .a52-tide-copy p,
body.a52-store .a52-pier-brand-block p,
body.a52-store .a52-footer-touch,
body.a52-store .a52-pay-note,
body.a52-store .a52-hold-lede,
body.a52-store .a52-cleat-lede,
body.a52-store .a52-wharf-lede,
body.a52-store .a52-berth-lede {
  color: var(--a52-muted-on-dark, rgba(255, 255, 255, 0.78)) !important;
}

body.a52-store .a52-ink-bay h1,
body.a52-store .a52-ink-bay h2,
body.a52-store .a52-ink-bay h3,
body.a52-store .a52-tide-signal h2,
body.a52-store .a52-hold-hero h1,
body.a52-store .a52-berth-hero h1,
body.a52-store .a52-wharf-hero h1,
body.a52-store .a52-cleat-hero h1,
body.a52-store .a52-cleared-hero h1,
body.a52-store .a52-tide-copy-panel h1,
body.a52-store .a52-beacon-hero h1,
body.a52-store .a52-tideway-hero h1,
body.a52-store .a52-charter-hero h1,
body.a52-store .a52-codex-hero h1,
body.a52-store .a52-bayix-hero h1,
body.a52-store .a52-log-hero h1,
body.a52-store .a52-chart-hero h1,
body.a52-store .a52-pay-hero h1,
body.a52-store .a52-pier-hero h1,
body.a52-store .a52-hold-dock h2,
body.a52-store .a52-pier-footer h3,
body.a52-store .a52-pier-footer h4,
body.a52-store .a52-pier-brand-block .a52-stamp-copy strong,
body.a52-store .a52-footer-cats a,
body.a52-store .a52-deck-link,
body.a52-store .a52-berth-berth.is-active strong,
body.a52-store .a52-berth-berth.is-active small {
  color: #fff !important;
}

/* Product mast title stays gradient-clipped (not forced white/harbor) */
body.a52-store .a52-keel-mast-copy h1,
body.a52-store .a52-tide-script,
body.a52-store .a52-ink-head h2,
body.a52-store .a52-hold-hero h1 em,
body.a52-store .a52-cleat-hero h1 em,
body.a52-store .a52-wharf-hero h1 em,
body.a52-store .a52-cleared-hero h1 em,
body.a52-store .a52-beacon-hero h1 em,
body.a52-store .a52-tideway-hero h1 em {
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

/* Kickers on dark — bright sand/brass, never mid-copper */
body.a52-store .a52-ink-bay .a52-section-kicker,
body.a52-store .a52-tide-copy .a52-section-kicker,
body.a52-store .a52-hold-kicker,
body.a52-store .a52-berth-kicker,
body.a52-store .a52-wharf-kicker,
body.a52-store .a52-cleat-kicker,
body.a52-store .a52-cleared-kicker,
body.a52-store .a52-keel-mast .a52-keel-kicker,
body.a52-store .a52-beacon-kicker:not(.a52-beacon-kicker--ink),
body.a52-store .a52-tideway-kicker:not(.a52-tideway-kicker--ink),
body.a52-store .a52-charter-kicker,
body.a52-store .a52-codex-kicker,
body.a52-store .a52-bayix-kicker,
body.a52-store .a52-log-kicker,
body.a52-store .a52-chart-kicker,
body.a52-store .a52-pay-hero .a52-pay-kicker,
body.a52-store .a52-pier-kicker,
body.a52-store .a52-berth-rail-note strong,
body.a52-store .a52-hold-figures-total dd,
body.a52-store .a52-footer-col h3,
body.a52-store .a52-pier-brand-block .a52-stamp-copy em {
  color: var(--a52-brass-bright, #E8C56A) !important;
}

/* Links on dark panels — sand, not copper */
body.a52-store .a52-berth-rail-note a,
body.a52-store .a52-hold-dock a,
body.a52-store .a52-wharf-pass a,
body.a52-store .a52-pier-footer a,
body.a52-store .a52-footer-more,
body.a52-store .a52-beacon-panel-stamp,
body.a52-store .a52-deck-cats a,
body.a52-store .a52-manifest-meta a {
  color: var(--a52-sand, #F0C090) !important;
}
body.a52-store .a52-berth-rail-note a:hover,
body.a52-store .a52-hold-dock a:hover,
body.a52-store .a52-pier-footer a:hover,
body.a52-store .a52-footer-more:hover,
body.a52-store .a52-manifest-meta a:hover {
  color: #fff !important;
}

/* Dark form fields — light placeholder */
body.a52-store .a52-tide-form input,
body.a52-store .a52-berth-search input,
body.a52-store .a52-beacon-search input {
  color: #fff !important;
}
body.a52-store .a52-tide-form input::placeholder,
body.a52-store .a52-berth-search input::placeholder,
body.a52-store .a52-beacon-search input::placeholder {
  color: rgba(255, 255, 255, 0.72) !important;
  opacity: 1;
}

/* Gradient clipped titles on dark — brighter stops */
body.a52-store .a52-ink-head h2 {
  background: linear-gradient(100deg, #F0A060 10%, #F5D78A 45%, #E8C56A 90%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
body.a52-store .a52-hold-hero h1 em,
body.a52-store .a52-cleat-hero h1 em,
body.a52-store .a52-wharf-hero h1 em,
body.a52-store .a52-cleared-hero h1 em {
  background: linear-gradient(100deg, #F0A060, #F5D78A, #E8C56A) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

/* Light cards / panels keep dark ink even if nested near heroes */
body.a52-store .a52-product-card,
body.a52-store .a52-feature-quad article,
body.a52-store .a52-aisle-card,
body.a52-store .policy-card,
body.a52-store .a52-policy-sheet,
body.a52-store .a52-cleat-card,
body.a52-store .a52-cleat-workspace,
body.a52-store .a52-hold-crate,
body.a52-store .a52-wharf-dock,
body.a52-store .a52-keel-buy,
body.a52-store .a52-keel-panel,
body.a52-store .a52-berth-crate,
body.a52-store .contact-card,
body.a52-store .a52-mobile-panel {
  color: var(--a52-ink);
}
body.a52-store .a52-product-card h3,
body.a52-store .a52-feature-quad article h3,
body.a52-store .a52-aisle-card h3,
body.a52-store .a52-cleat-card h2,
body.a52-store .a52-cleat-card h3,
body.a52-store .a52-hold-crate h3,
body.a52-store .a52-wharf-dock h2,
body.a52-store .a52-keel-buy h2,
body.a52-store .a52-mobile-panel strong {
  color: var(--a52-harbor) !important;
}
body.a52-store .a52-product-card p,
body.a52-store .a52-feature-quad article p,
body.a52-store .a52-aisle-card p,
body.a52-store .a52-hold-crate p,
body.a52-store .a52-wharf-dock p,
body.a52-store .a52-cleat-card p,
body.a52-store .contact-card dd {
  color: var(--a52-muted) !important;
}

/* Buttons with white labels stay white */
body.a52-store .a52-btn-primary,
body.a52-store .a52-btn-dark,
body.a52-store .a52-btn-chartreuse,
body.a52-store .a52-btn-cart,
body.a52-store .a52-cart-badge,
body.a52-store [class*="-btn--primary"],
body.a52-store [class*="-btn-primary"] {
  color: #fff !important;
}

/* Reveal fallback — never leave copy at opacity 0 forever */
@media (prefers-reduced-motion: reduce) {
  body.a52-store [data-a52-reveal],
  body.a52-store [class*="-reveal"] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    visibility: visible !important;
  }
}

