@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap");
:root {
  --color-primary: #446084;
  --color-accent: #446084;
  --font-heading: Lato, Helvetica, Arial, sans-serif;
  --font-body: Lato, Helvetica, Arial, sans-serif;
}
html, body, .storefront-header, .store-topbar {
  font-family: Lato, Helvetica, Arial, sans-serif !important;
}
a, a:visited { color: #446084 !important; }
a:hover { color: #2f4660 !important; }
.storefront-header--modern,
.store-topbar,
.storefront-header--modern .store-topbar,
.layout-preset-glam_events .navbar,
.layout-preset-street_swag .navbar {
  background: #fff !important;
  position: relative !important;
  color: #446084 !important;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.storefront-header--modern .store-topbar-inner { min-height: 90px; align-items: center; }
.storefront-header--modern .store-topbar-brand .logo-img {
  max-height: 72px !important;
  max-width: 240px !important;
  height: 72px;
  width: auto;
}
.storefront-header--modern .store-topbar-brand-text { display: none !important; }
.store-topbar-links a,
.store-topbar-nav a,
.store-drawer-link {
  color: #446084 !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12.8px;
}
.store-topbar-btn,
.store-topbar-btn--primary,
.store-topbar-btn--ghost { display: none !important; }
footer,
.storefront-footer,
.site-footer {
  background: #5b5b5b !important;
  color: #fff !important;
}
footer a,
.storefront-footer a,
.site-footer a,
footer p, footer span, footer li, footer h2, footer h3, footer h4 {
  color: #fff !important;
}
.hero, .hero-seo, .hero-content, .hero-content p, .hero-content .muted {
  color: #fff !important;
}
.hero a, .hero-seo a { color: #fff !important; }

/* Product page CTA — must be readable */
.product-price--stockist,
.product-price.product-price--stockist,
p.product-price--stockist a,
.product-page-main a[href*="stockist"] {
  display: inline-block !important;
  background: #446084 !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 0 18px !important;
  line-height: 2.5em;
  border-radius: 0;
  text-decoration: none !important;
}
.product-price--stockist a:hover,
p.product-price--stockist a:hover {
  background: #2f4660 !important;
  color: #fff !important;
}

/* Footer: copyright only — no nav tabs / Quick links row */
.footer-section--brand,
.footer-tagline,
.footer-section--links,
.footer-links-row,
.footer-content,
.footer-content--spread { display: none !important; }
.footer {
  padding: 0.85rem 0 0.65rem !important;
  margin-top: 1.5rem !important;
}
.footer-bottom {
  border-top: 0 !important;
  padding-top: 0.2rem !important;
  color: rgba(255,255,255,.55) !important;
  font-size: 11px;
  text-align: center;
}

/* ===== Live Flatsome homepage match ===== */
.aw-live-home { color: #333; }
.aw-live-home a { color: #446084 !important; }
.aw-page-title { padding: 1.75rem 0 0.5rem; text-align: center; }
.aw-page-title h1 {
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 auto;
  max-width: 920px;
  line-height: 1.35;
}
.aw-panel { background: #f2f2f2; margin: 1.25rem 0; padding: 2rem 0; }
.aw-panel-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
}
.aw-panel-row--reverse .aw-panel-media { order: -1; }
.aw-panel-copy h2 {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  color: #111;
  margin: 0 0 0.85rem;
  line-height: 1.25;
}
.aw-panel-copy p { margin: 0 0 1rem; line-height: 1.65; color: #444; }
.aw-panel-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.aw-tagline {
  text-align: center;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 700;
  color: #6b6b6b;
  max-width: 820px;
  margin: 1.75rem auto 1.25rem;
  padding: 0 1rem;
  line-height: 1.35;
}
/* Homepage CTAs: logo-green outline (default) → solid fill (hover). Scoped so admin .btn untouched. */
.aw-live-home a.aw-btn,
.aw-live-home a.aw-btn--ghost,
.aw-live-home .btn,
.aw-live-home a.btn,
.aw-live-home button.btn,
body.layout-home-hero-split main a.aw-btn,
body.layout-home-hero-split main a.btn {
  display: inline-block !important;
  background: transparent !important;
  color: #8bc43f !important;
  border: 2px solid #8bc43f !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 13px;
  padding: 0.7rem 1.35rem;
  text-decoration: none !important;
  border-radius: 0;
  box-shadow: none;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.aw-live-home a.aw-btn:hover,
.aw-live-home a.aw-btn:focus-visible,
.aw-live-home a.aw-btn--ghost:hover,
.aw-live-home a.aw-btn--ghost:focus-visible,
.aw-live-home .btn:hover,
.aw-live-home a.btn:hover,
.aw-live-home button.btn:hover,
body.layout-home-hero-split main a.aw-btn:hover,
body.layout-home-hero-split main a.btn:hover {
  background: #8bc43f !important;
  color: #fff !important;
  border-color: #8bc43f !important;
}
.aw-cards { padding: 1.5rem 0 2rem; }
.aw-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.aw-card {
  display: block;
  text-decoration: none !important;
  color: inherit !important;
}
.aw-card img { width: 100%; height: auto; display: block; margin-bottom: 0.85rem; }
.aw-card h3 { margin: 0 0 0.45rem; font-size: 1.15rem; color: #111 !important; }
.aw-card p { margin: 0; color: #555 !important; line-height: 1.55; font-size: 0.95rem; }
.aw-why { padding: 2rem 0 2.5rem; text-align: center; }
.aw-why h2 { color: #6b6b6b; margin: 0 0 0.75rem; font-size: clamp(1.4rem, 2.2vw, 1.85rem); }
.aw-why-intro { max-width: 820px; margin: 0 auto 1.75rem; color: #555; line-height: 1.65; }
.aw-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
  text-align: left;
  margin-top: 0.5rem;
}
.aw-why-grid h3 { margin: 0 0 0.5rem; font-size: 1.1rem; color: #111; }
.aw-why-grid p { margin: 0; color: #555; line-height: 1.55; }
.aw-blog { padding: 1.5rem 0 3rem; }
.aw-blog-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 2rem;
  align-items: center;
}
.aw-blog-video { position: relative; padding-top: 56.25%; background: #111; }
.aw-blog-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.aw-blog-copy h3 { margin: 0 0 0.75rem; font-size: 1.35rem; }
.aw-blog-copy p { margin: 0 0 0.85rem; line-height: 1.6; color: #444; }
@media (max-width: 900px) {
  .aw-panel-row,
  .aw-panel-row--reverse,
  .aw-cards-grid,
  .aw-why-grid,
  .aw-blog-row { grid-template-columns: 1fr; }
  .aw-panel-row--reverse .aw-panel-media { order: 0; }
}

/* Animal Wellbeing — modern floating 3D account dropdown */
.nav-account-wrap,
.nav-account-details {
  position: relative;
}
.nav-account-chip {
  display: inline-flex !important;
  align-items: center;
  gap: 0.55rem;
  padding: 0.4rem 0.85rem 0.4rem 0.4rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(139, 196, 63, 0.35) !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  cursor: pointer;
  list-style: none;
}
.nav-account-chip::-webkit-details-marker { display: none; }
.nav-account-avatar {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #9fd24f, #8bc43f 55%, #6fa32e);
  color: #fff !important;
  font-weight: 700;
  font-size: 0.8rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 1px 2px rgba(0,0,0,.12);
}
.nav-account-label {
  font-weight: 600;
  font-size: 0.9rem;
  color: #2f4660 !important;
  max-width: 9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-account-dropdown {
  position: absolute !important;
  right: 0;
  top: calc(100% + 0.65rem);
  z-index: 1200;
  min-width: 280px !important;
  width: max(280px, 100%);
  max-width: min(340px, calc(100vw - 1.5rem));
  padding: 0.55rem !important;
  border-radius: 16px !important;
  border: 1px solid rgba(47, 70, 96, 0.08) !important;
  background: #fff !important;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 12px 28px rgba(15, 23, 42, 0.12),
    0 28px 56px rgba(15, 23, 42, 0.10) !important;
  transform-origin: top right;
  animation: awAccountPop .16s ease-out;
}
@keyframes awAccountPop {
  from { opacity: 0; transform: translateY(-6px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.nav-account-dropdown::before {
  content: "";
  position: absolute;
  top: -6px;
  right: 1.4rem;
  width: 12px;
  height: 12px;
  background: #fff;
  border-left: 1px solid rgba(47, 70, 96, 0.08);
  border-top: 1px solid rgba(47, 70, 96, 0.08);
  transform: rotate(45deg);
  box-shadow: -2px -2px 4px rgba(15, 23, 42, 0.03);
}
.nav-account-dropdown-head {
  padding: 0.75rem 0.85rem 0.7rem !important;
  margin: 0 0 0.35rem !important;
  border-radius: 12px;
  background: linear-gradient(180deg, #f7faf2 0%, #f3f6f1 100%);
  border: 1px solid rgba(139, 196, 63, 0.18);
}
.nav-account-dropdown-head strong {
  font-size: 0.98rem;
  color: #1f3348;
}
.nav-account-dropdown a[role="menuitem"],
.nav-account-dropdown a {
  display: block !important;
  padding: 0.7rem 0.9rem !important;
  margin: 0.1rem 0 !important;
  border-radius: 10px !important;
  color: #2f4660 !important;
  font-weight: 560;
  font-size: 0.94rem;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.nav-account-dropdown a:hover,
.nav-account-dropdown a:focus-visible {
  background: rgba(139, 196, 63, 0.14) !important;
  color: #1f3348 !important;
  transform: translateX(2px);
}
.nav-account-divider {
  margin: 0.4rem 0.5rem !important;
  border: 0;
  border-top: 1px solid rgba(47, 70, 96, 0.1) !important;
  opacity: 1;
}
.nav-account-signout {
  color: #b42318 !important;
  font-weight: 650 !important;
}
.nav-account-signout:hover {
  background: rgba(180, 35, 24, 0.08) !important;
  color: #912018 !important;
}
.nav-account-badge-pending {
  display: inline-block;
  margin-top: 0.4rem;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: #fff7ed;
  color: #9a3412;
  font-size: 0.72rem;
  font-weight: 700;
}

/* Remove footer link tabs */
.footer-section--links,
.footer-links-row,
.footer-content--spread nav,
.footer nav[aria-label="Footer"] {
  display: none !important;
}
.footer-content,
.footer-content--spread {
  margin-bottom: 0 !important;
}

/* Homepage logo-green outline buttons — aw-home-btn-green */
.layout-home-hero-split main a.btn,
.layout-home-hero-split main .btn,
.layout-home-hero-split main a.aw-btn,
.layout-home-hero-split main .aw-btn,
.layout-home-hero-split main a.button,
.aw-live-home a.btn,
.aw-live-home .btn,
.aw-live-home a.aw-btn,
.aw-live-home .aw-btn,
.aw-live-home a.aw-cta,
main .aw-live-home a[class*="btn"],
main .aw-home-panel a.btn,
main .aw-home-panel a.aw-btn {
  background: transparent !important;
  background-color: transparent !important;
  color: #8bc43f !important;
  border: 2px solid #8bc43f !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}
.layout-home-hero-split main a.btn:hover,
.layout-home-hero-split main .btn:hover,
.layout-home-hero-split main a.aw-btn:hover,
.layout-home-hero-split main .aw-btn:hover,
.layout-home-hero-split main a.button:hover,
.aw-live-home a.btn:hover,
.aw-live-home .btn:hover,
.aw-live-home a.aw-btn:hover,
.aw-live-home .aw-btn:hover,
.aw-live-home a.aw-cta:hover,
main .aw-live-home a[class*="btn"]:hover,
main .aw-home-panel a.btn:hover,
main .aw-home-panel a.aw-btn:hover {
  background: #8bc43f !important;
  background-color: #8bc43f !important;
  color: #fff !important;
  border-color: #8bc43f !important;
}

/* AW force: homepage .aw-btn green outline (readable text) */
.layout-home-hero-split a.aw-btn,
.aw-live-home a.aw-btn,
main a.aw-btn {
  background: transparent !important;
  background-color: transparent !important;
  color: #8bc43f !important;
  border: 2px solid #8bc43f !important;
  box-shadow: none !important;
}
.layout-home-hero-split a.aw-btn:hover,
.layout-home-hero-split a.aw-btn:focus-visible,
.aw-live-home a.aw-btn:hover,
main a.aw-btn:hover {
  background: #8bc43f !important;
  background-color: #8bc43f !important;
  color: #ffffff !important;
  border-color: #8bc43f !important;
}
.layout-home-hero-split a.aw-btn--ghost,
.aw-live-home a.aw-btn--ghost,
main a.aw-btn--ghost {
  background: transparent !important;
  color: #8bc43f !important;
  border: 2px solid #8bc43f !important;
}
.layout-home-hero-split a.aw-btn--ghost:hover,
.aw-live-home a.aw-btn--ghost:hover,
main a.aw-btn--ghost:hover {
  background: #8bc43f !important;
  color: #ffffff !important;
}

/* 2026-10-06 product image size/uncrop */
/* Product page: wider page, ~56/44 image/info split, whole square pack shot (no cropping). */
body.storefront main.vb-page-main.product-page-main {
  max-width: 1320px;
  padding-left: clamp(1rem, 2.5vw, 2rem) !important;
  padding-right: clamp(1rem, 2.5vw, 2rem) !important;
}
.product-page {
  max-width: none;
}
@media (max-width: 600px) {
  .product-page {
    padding-left: 0;
    padding-right: 0;
  }
  .product-detail-shell {
    padding: 0.75rem;
  }
}
@media (min-width: 901px) {
  .product-detail-grid {
    grid-template-columns: minmax(0, 56fr) minmax(0, 44fr);
  }
}
.product-gallery-main,
.product-gallery-thumbs {
  max-width: none;
}
.product-gallery-main {
  background: #fff;
}
.product-gallery-main img {
  aspect-ratio: 1 / 1;
  max-height: none;
  height: auto;
  object-fit: contain;
  background: #fff;
}
.product-gallery-thumb {
  width: 76px;
  height: 76px;
}
.product-gallery-thumb img {
  object-fit: contain;
  background: #fff;
}
/* Collection product cards: square media so the square pack shot shows whole. */
.shop-product-card .shop-category-card-media {
  aspect-ratio: 1 / 1;
  background: #fff;
}
.shop-product-card .shop-category-card-media img {
  object-fit: contain;
}
.shop-product-card:hover .shop-category-card-media img {
  transform: none;
}
/* Category tiles that fall back to a product pack shot: show it whole, keep the 5:4 tile. */
.shop-category-card-media img[src*="/uploads/media/"] {
  object-fit: contain;
  background: #fff;
}
.shop-category-card:hover .shop-category-card-media img[src*="/uploads/media/"] {
  transform: none;
}
/* 2026-10-06 remove footer */
/* Public storefront only (body.storefront): hide the bottom copyright bar entirely. */
body.storefront footer.footer,
body.storefront .footer.footer--spread {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
/* AW: compact cookie consent banner (brand-protected) */
.cookie-consent-banner { padding: .6rem 1rem !important; font-size: .85rem; }
.cookie-consent-banner__inner { display: flex !important; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; max-width: 1200px; margin: 0 auto; }
.cookie-consent-banner__text { flex: 1 1 320px; margin: 0 !important; line-height: 1.35; }
.cookie-consent-banner__inner > label.d-block { display: inline-flex !important; align-items: center; gap: .3rem; margin: 0 !important; font-size: .8rem; }
.cookie-consent-banner__actions { display: flex; gap: .5rem; margin-left: auto; }
.cookie-consent-banner__btn { padding: .35rem .9rem !important; font-size: .85rem !important; line-height: 1.2; border-radius: 4px; }

/* ===== AW top bar: Reef Revolution layout (logo left, nav centred, account/cart right) — 2026-10-22 ===== */
body.storefront .storefront-header--modern .store-topbar-inner{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;column-gap:1.5rem;min-height:90px}
body.storefront .storefront-header--modern .store-topbar-nav{display:flex!important;justify-content:center;min-width:0}
body.storefront .storefront-header--modern .store-topbar-links{display:flex;align-items:center;justify-content:center;gap:2.25rem;margin:0;padding:0}
body.storefront .storefront-header--modern .store-topbar-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:.5rem}
body.storefront .storefront-header--modern .store-topbar-cart{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(68,96,132,.25);border-radius:10px;color:#446084!important}
/* Guest account icon: reuse the Sign in link (-> /login.php); Register stays hidden */
body.storefront .storefront-header--modern .store-topbar-actions .store-topbar-btn--primary{display:inline-flex!important;width:42px;height:42px;padding:0!important;border:1px solid rgba(68,96,132,.25)!important;border-radius:10px;background:transparent!important;font-size:0!important;color:transparent!important;position:relative}
body.storefront .storefront-header--modern .store-topbar-actions .store-topbar-btn--primary::before{content:"";position:absolute;inset:0;margin:auto;width:22px;height:22px;background:#446084;-webkit-mask:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3e%3ccircle cx='12' cy='8' r='4'/%3e%3cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3e%3c/svg%3e") center/contain no-repeat;mask:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3e%3ccircle cx='12' cy='8' r='4'/%3e%3cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3e%3c/svg%3e") center/contain no-repeat}
body.storefront .storefront-header--modern .store-topbar-actions .store-topbar-btn--primary:hover{background:rgba(68,96,132,.08)!important}
@media (max-width:900px){
body.storefront .storefront-header--modern .store-topbar-inner{grid-template-columns:44px 1fr auto;min-height:64px;column-gap:.75rem;padding:0 1rem}
body.storefront .storefront-header--modern .store-topbar-nav{display:none!important}
body.storefront .storefront-header--modern .store-topbar-brand{justify-self:center}
body.storefront .storefront-header--modern .store-topbar-brand .logo-img{height:48px!important;max-height:48px!important;max-width:180px!important}
}

/* ===== AW light checkout + cart: Reef Revolution layout, AW colours/fonts — 2026-10-22 ===== */
body.storefront main:has(#cartPanel){max-width:1120px!important}
html:has(main.checkout-page),html:has(#cartPanel),body.storefront:has(main.checkout-page),body.storefront:has(#cartPanel){background:#f7f4f1!important;background-image:none!important}
body.storefront main:is(.checkout-page,:has(#cartPanel)){--ck-text:#0f172a;--ck-muted:#64748b;--ck-border:#dbe3ee;--ck-card:#fff;--ck-blue:#446084;--ck-blue-h:#2f4660;color:var(--ck-text);font-family:Lato,system-ui,sans-serif;max-width:1120px!important;padding:2.5rem 1.25rem 4rem!important}
body.storefront main:is(.checkout-page,:has(#cartPanel)) h1{color:var(--ck-text);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}
body.storefront main.checkout-page #authNotice{color:var(--ck-muted);margin-bottom:1.5rem}
body.storefront main:is(.checkout-page,:has(#cartPanel)) a:not(.btn){color:var(--ck-blue)}
/* two-column layout: form left, summary right */
body.storefront main.checkout-page #checkoutFormWrap:not([style*="none"]){display:grid!important;grid-template-columns:minmax(0,1fr) 380px;gap:1.75rem;align-items:start}
body.storefront main.checkout-page #checkoutFormWrap>section.checkout-panel{grid-column:2;grid-row:1;position:sticky;top:6rem}
body.storefront main.checkout-page #checkoutForm{grid-column:1;grid-row:1}
@media (max-width:900px){body.storefront main.checkout-page #checkoutFormWrap:not([style*="none"]){grid-template-columns:1fr}body.storefront main.checkout-page #checkoutFormWrap>section.checkout-panel{grid-column:1;grid-row:1;position:static}body.storefront main.checkout-page #checkoutForm{grid-row:2}}
/* cards */
body.storefront main:is(.checkout-page,:has(#cartPanel)) :is(.checkout-panel,.cart-panel){background:var(--ck-card)!important;color:var(--ck-text);border:1px solid var(--ck-border)!important;border-radius:16px!important;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 32px rgba(15,23,42,.08)!important;padding:1.5rem!important;margin:0 0 1.25rem}
body.storefront main.checkout-page h2{color:var(--ck-text);font-size:1.05rem!important;font-weight:700;letter-spacing:-.01em;margin:0 0 1rem!important;display:flex;align-items:center;gap:.6rem}
/* section order + names: Contact & shipping address, then Delivery */
body.storefront main.checkout-page #checkoutShippingBlock:not([style*="none"]){display:flex!important;flex-direction:column}
body.storefront main.checkout-page #checkoutShippingBlock>*{order:2}
body.storefront main.checkout-page #checkoutShippingBlock>h2:first-of-type,body.storefront main.checkout-page #checkoutShippingBlock>div.mb-3:has(#shippingMethod){order:3}
body.storefront main.checkout-page #checkoutShippingBlock>h2:first-of-type{margin-top:1.5rem!important;padding-top:1.5rem;border-top:1px solid var(--ck-border)}
body.storefront main.checkout-page #checkoutShippingBlock>h2{font-size:0!important}
body.storefront main.checkout-page #checkoutShippingBlock>h2:first-of-type::before{content:"Delivery";font-size:1.05rem}
body.storefront main.checkout-page #checkoutShippingBlock>h2:nth-of-type(2)::before{content:"Contact & shipping address";font-size:1.05rem}
body.storefront main.checkout-page #checkoutForm>h2.mt-3{margin-top:1.5rem!important;padding-top:1.5rem;border-top:1px solid var(--ck-border)}
/* field grid + floating-style labels via wrappers */
body.storefront main.checkout-page .row{display:grid;grid-template-columns:1fr 1fr;gap:0 .875rem;margin:0}
body.storefront main.checkout-page .row>[class*=col-]{width:auto;max-width:none;padding:0}
@media (max-width:520px){body.storefront main.checkout-page .row{grid-template-columns:1fr}}
body.storefront main.checkout-page #checkoutShippingBlock :is(.mb-2,.mb-3){margin-bottom:.9rem!important}
body.storefront main.checkout-page .form-label{display:block;color:#334155;font-size:.8125rem;font-weight:600;margin:0 0 .35rem}
body.storefront main.checkout-page div.mb-3:has(>#shippingMethod)::before,body.storefront main.checkout-page div:has(>#savedAddressSelect)::before{content:none}
/* inputs */
body.storefront main:is(.checkout-page,:has(#cartPanel)) :is(input:not([type=checkbox]):not([type=radio]),select,.form-control){display:block;width:100%;max-width:none!important;min-height:46px;background:#fff!important;color:var(--ck-text)!important;border:1px solid #cbd5e1!important;border-radius:10px!important;padding:.65rem .85rem!important;font:500 .9375rem/1.3 Lato,system-ui,sans-serif;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:border-color .15s,box-shadow .15s}
body.storefront main.checkout-page :is(input,select,.form-control)::placeholder{color:#94a3b8!important}
body.storefront main:is(.checkout-page,:has(#cartPanel)) :is(input,select,.form-control):focus{border-color:var(--ck-blue)!important;box-shadow:0 0 0 4px rgba(68,96,132,.15)!important;outline:none}
body.storefront main.checkout-page select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-position:right .85rem center!important;background-size:14px!important;padding-right:2.25rem!important}
body.storefront main.checkout-page input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:var(--ck-text)!important}
/* order summary */
body.storefront main:is(.checkout-page,:has(#cartPanel)) .cart-line{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid #eef2f7;color:var(--ck-text);font-size:.9375rem}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .cart-line>span:last-child{font-weight:600;white-space:nowrap}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .cart-line-main{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;min-width:0}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .cart-line-main>span:first-child{flex-basis:100%;font-weight:600}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .cart-line-qty{display:inline-flex;align-items:center;border:1px solid var(--ck-border);border-radius:999px;overflow:hidden;background:#fff}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .cart-line-qty>span{min-width:1.75rem;text-align:center;font-weight:600;font-size:.875rem;color:var(--ck-text)}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .cart-qty-btn{width:30px;height:30px;border:0!important;background:transparent!important;color:#334155!important;font-size:1rem;line-height:1;padding:0!important;cursor:pointer}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .cart-qty-btn:hover{background:#eef2f7!important;color:var(--ck-blue)!important}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .cart-line-remove{border:0!important;background:none!important;color:var(--ck-muted)!important;font-size:.8125rem;padding:0!important;text-decoration:underline;cursor:pointer}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .cart-line-remove:hover{color:#dc2626!important}
body.storefront main.checkout-page section.checkout-panel>p{display:flex;justify-content:space-between;align-items:baseline;margin:.6rem 0 0;color:#334155;font-size:.9375rem}
body.storefront main.checkout-page section.checkout-panel>p strong{font-weight:500;color:var(--ck-muted)}
body.storefront main.checkout-page section.checkout-panel>p:has(#grandTotal){margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--ck-border);font-size:1.125rem;font-weight:700;color:var(--ck-text)}
body.storefront main.checkout-page section.checkout-panel>p:has(#grandTotal) strong{color:var(--ck-text);font-weight:700}
body.storefront main.checkout-page section.checkout-panel>div.d-flex{display:grid!important;grid-template-columns:1fr auto;gap:.5rem!important;margin-top:1.1rem!important}
body.storefront main.checkout-page section.checkout-panel>div.d-flex input{min-height:40px!important;font-size:.875rem!important}
body.storefront main.checkout-page #discountMsg{grid-column:1/-1}
/* buttons */
body.storefront main:is(.checkout-page,:has(#cartPanel)) .btn-outline-secondary{background:#fff!important;color:var(--ck-blue)!important;border:1px solid #c5d0de!important;border-radius:10px!important;font-weight:600;padding:.5rem 1rem!important}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .btn-outline-secondary:hover{background:#eef2f7!important;border-color:var(--ck-blue)!important}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .btn-primary,body.storefront main.checkout-page #payBtn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#4f6f97,#446084)!important;color:#fff!important;border:0!important;border-radius:12px!important;font:700 1rem Lato,system-ui,sans-serif;padding:.95rem 1.5rem!important;box-shadow:0 8px 20px rgba(68,96,132,.28)!important;transition:transform .15s,box-shadow .15s}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(68,96,132,.34)!important}
body.storefront main:is(.checkout-page,:has(#cartPanel)) .btn-primary:focus-visible{outline:3px solid rgba(68,96,132,.35);outline-offset:2px}
body.storefront main.checkout-page #payBtn{width:100%;margin-top:1.25rem!important;font-size:1.05rem}
body.storefront main:has(#cartPanel) #cartPanel>p:last-child{display:flex;justify-content:flex-end;margin:1.25rem 0 0}
/* payment + prefs */
body.storefront main.checkout-page #payRadios label{display:flex!important;align-items:center;gap:.6rem;padding:.85rem 1rem;border:1.5px solid var(--ck-blue);border-radius:12px;background:#f6f8fb;font-weight:600;color:var(--ck-text)}
body.storefront main.checkout-page input[type=radio],body.storefront main.checkout-page input[type=checkbox]{accent-color:var(--ck-blue);width:18px;height:18px}
body.storefront main.checkout-page #stripePayBox p.small{color:var(--ck-muted)!important;font-size:.8125rem}
body.storefront main.checkout-page #stripePayBox p.small.mb-0:not(.text-muted){display:none}
body.storefront main.checkout-page #checkoutForm>section.border-top{border-top:1px solid var(--ck-border)!important;margin-top:1.5rem!important;padding-top:1.25rem!important}
body.storefront main.checkout-page .form-check{display:flex!important;align-items:center;gap:.6rem;color:#334155;padding-left:0}
body.storefront main.checkout-page .form-check-input{margin:0;position:static}
body.storefront main.checkout-page .form-check-label{font-size:.875rem!important;color:#334155}
body.storefront main.checkout-page :is(#formMsg,#payment-errors){color:#dc2626!important}
body.storefront main.checkout-page .alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:12px;padding:.85rem 1rem}
@media (max-width:520px){body.storefront main:is(.checkout-page,:has(#cartPanel)){padding:1.5rem .85rem 3rem!important}body.storefront main:is(.checkout-page,:has(#cartPanel)) :is(.checkout-panel,.cart-panel){padding:1.15rem!important;border-radius:14px!important}}
