/*
Theme Name: SteriPodz
Theme URI: https://steripodz.local/
Author: SteriPodz
Description: Custom SteriPodz product website, built from the approved Figma design.
Version: 1.0.0
Text Domain: steripodz
*/

:root {
  --brand-ink: #1d1d1d;
  --brand-accent: #159fcd;
  --brand-selected: #1aa6a8;
  --brand-button: #1d1d1d;
  --brand-button-text: #fff;
  --brand-link: #159fcd;
  --brand-surface: #f8f8f5;
  --brand-panel: #fff;
  --brand-option: #fff;
  --header-button: #1d1d1d;
  --header-button-text: #fff;
  --purchase-button: #1d1d1d;
  --purchase-button-text: #fff;
  --ink: var(--brand-ink);
  --paper: var(--brand-surface);
  --blue: var(--brand-accent);
  --muted: #737373;
  --pad: clamp(20px, 3.125vw, 60px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.lenis { scroll-behavior: auto !important; }
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent], .lenis [data-lenis-prevent-wheel], .lenis [data-lenis-prevent-touch], .lenis [data-lenis-prevent-vertical], .lenis [data-lenis-prevent-horizontal] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; color: var(--ink); background: #fff; font-family: "Questrial", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body.admin-bar .header-shell { top: 32px; }
a { color: inherit; text-decoration: none; }
main a:not(.pill):not(.button):not(.wp-element-button) { color: var(--brand-link); }
a:hover { color: var(--brand-link); }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button, .button, .pill, .wp-element-button, input[type="button"], input[type="submit"], input[type="reset"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { font-weight: 700; font-synthesis: weight; }
.button, .wp-element-button, input[type="button"], input[type="submit"], input[type="reset"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { color: var(--brand-button-text); background-color: var(--brand-button); }
.woocommerce .add_to_cart_button, .woocommerce .single_add_to_cart_button { color: var(--purchase-button-text); background-color: var(--purchase-button); }
.screen-reader-text { position: absolute; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

.page-transition-loader { position: fixed; z-index: 10000; top: 0; left: 0; width: 100%; height: 4px; overflow: hidden; pointer-events: none; background: rgba(255,255,255,.14); opacity: 1; transition: opacity .28s ease; }
.page-transition-loader span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,#159fcd,#7fdaf2,#159fcd); transform: scaleX(0); transform-origin: left center; transition: transform .46s cubic-bezier(.65,0,.35,1); box-shadow: 0 0 16px rgba(21,159,205,.55); }
.page-transition-loader.is-complete { opacity: 0; }
body { transition: opacity .28s ease, transform .34s cubic-bezier(.22,1,.36,1); }
body.is-page-entering { opacity: .72; transform: translateY(5px); }
body.is-page-ready { opacity: 1; transform: none; }
body.is-page-leaving { opacity: .82; transform: translateY(3px); }

.header-shell { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; will-change: transform; }
.top-bar { width: 100%; height: 47px; flex: 0 0 47px; display: flex; align-items: center; justify-content: center; background-color: #1d1d1d; color: rgba(255,255,255,.82); }
.top-bar-content { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 0 var(--pad); font-size: 11px; line-height: 1.2; letter-spacing: .055em; text-transform: uppercase; }
.top-bar a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.site-header { position: relative; width: 100%; height: 82px; padding: 0 var(--pad); display: flex; align-items: center; color: var(--ink); background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.08); transition: color .3s ease, background-color .3s ease, box-shadow .3s ease; }
body.home .header-shell:not(.is-scrolled) .site-header { color: #fff; background: transparent; box-shadow: none; }
.brand { display: flex; align-items: center; width: 390px; min-width: 0; }
.custom-header-logo { display: block; width: auto; max-width: 310px; height: 45px; object-fit: contain; object-position: left center; margin-top: 0; }
.brand-mark, .brand-name { margin-top: 0; }
.custom-header-logo-transparent { display: none; }
body.home .header-shell:not(.is-scrolled) .custom-header-logo-transparent { display: block; }
body.home .header-shell:not(.is-scrolled) .custom-header-logo-scrolled { display: none; }
.brand-mark { width: 45px; height: 45px; object-fit: contain; margin-right: 11px; margin-top: 0; filter: brightness(0); transition: filter .3s ease; }
body.home .header-shell:not(.is-scrolled) .brand-mark { filter: none; }
.brand-name { display: block; font-family: "Quicksand", sans-serif; font-weight: 700; font-size: clamp(27px, 2.8vw, 54px); line-height: .9; letter-spacing: -2.5px; margin-top: 0; }
.brand-tag { display: block; margin: 5px 0 0 4px; font-size: 10px; line-height: 1.15; letter-spacing: .085em; text-transform: uppercase; }
.main-nav { margin: 0 auto; }
.main-nav ul { display: flex; align-items: center; gap: clamp(22px, 2.1vw, 40px); list-style: none; margin: 0; padding: 0; white-space: nowrap; }
.main-nav a { font-size: 15px; }
.site-header .main-nav a { position: relative; display: inline-flex; overflow: hidden; padding: 9px 0; color: var(--ink); text-decoration: none; transition: color .28s ease; }
.nav-link-text { display: grid; height: 1.25em; overflow: hidden; line-height: 1.25; }
.nav-link-text-current, .nav-link-text-incoming { grid-area: 1 / 1; white-space: nowrap; transition: transform .42s cubic-bezier(.22,1,.36,1); }
.nav-link-text-incoming { transform: translateY(110%); }
.site-header .main-nav a:hover .nav-link-text-current, .site-header .main-nav a:focus-visible .nav-link-text-current { transform: translateY(-110%); }
.site-header .main-nav a:hover .nav-link-text-incoming, .site-header .main-nav a:focus-visible .nav-link-text-incoming { transform: translateY(0); }
.site-header .main-nav a::after { content: ""; position: absolute; right: 0; bottom: 2px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right center; transition: transform .38s cubic-bezier(.22,1,.36,1); }
.site-header .main-nav a:hover::after, .site-header .main-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left center; }
body.home .header-shell:not(.is-scrolled) .main-nav a { color: #fff; }
.site-header.menu-open .main-nav a { color: #fff; }
@media (prefers-reduced-motion: reduce) {
  .nav-link-text-current, .nav-link-text-incoming, .site-header .main-nav a, .site-header .main-nav a::after { transition-duration: .01ms; }
}
.header-actions { width: 280px; display: flex; justify-content: flex-end; align-items: center; gap: 25px; }
.header-icon img { width: 22px; height: 24px; }
.header-icon img { filter: brightness(0); transition: filter .3s ease; }
body.home .header-shell:not(.is-scrolled) .header-icon img { filter: none; }
.cart-toggle { cursor: pointer; }
.pill { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 30px; border-radius: 999px; border: 0; background: var(--brand-button); color: var(--brand-button-text); font-size: 14px; transition: transform .2s ease, background .2s ease; }
.pill .home-text-mask + .home-text-mask { margin-left: .24em; }
.pill:hover { transform: translateY(-2px); }
.site-header .pill { color: var(--header-button-text); background: var(--header-button); }
body.home .header-shell:not(.is-scrolled) .site-header .pill { color: var(--ink); background: #fff; }
.menu-toggle { display: none; min-width: 44px; min-height: 44px; margin-left: auto; padding: 6px; border: 0; background: transparent; color: #fff; font-size: 26px; line-height: 1; }

body.cart-drawer-open { overflow: hidden; }
.cart-drawer-backdrop { position: fixed; z-index: 998; inset: 0; visibility: hidden; border: 0; background: rgba(0,0,0,.42); opacity: 0; transition: opacity .3s ease, visibility .3s ease; }
.cart-drawer { position: fixed; z-index: 999; top: 0; right: 0; width: min(460px, 100%); height: 100dvh; padding: 30px; overflow-y: auto; color: var(--ink); background: #fff; box-shadow: -20px 0 60px rgba(0,0,0,.16); transform: translateX(100%); transition: transform .36s cubic-bezier(.22,1,.36,1); }
.cart-drawer-open .cart-drawer-backdrop { visibility: visible; opacity: 1; }
.cart-drawer-open .cart-drawer { transform: translateX(0); }
.cart-drawer-header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid #e7e7e7; }
.cart-drawer-header h2 { margin: 0; font-size: 28px; font-weight: 400; }
.cart-drawer-close { width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; color: var(--ink); background: #f2f2f0; font-size: 28px; line-height: 1; cursor: pointer; }
.cart-drawer .widget_shopping_cart_content { padding-top: 22px; }
.cart-drawer .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.cart-drawer .woocommerce-mini-cart-item { position: relative; min-height: 92px; margin-bottom: 18px; padding: 0 30px 18px 92px; border-bottom: 1px solid #ededeb; }
.cart-drawer .woocommerce-mini-cart-item img { position: absolute; top: 0; left: 0; width: 72px; height: 72px; object-fit: cover; }
.cart-drawer .remove_from_cart_button { position: absolute; top: 0; right: 0; font-size: 24px; line-height: 1; }
.cart-drawer .quantity { display: block; margin-top: 8px; color: var(--muted); font-size: 14px; }
.cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 26px 0 20px; padding-top: 18px; border-top: 1px solid #ddd; font-size: 18px; }
.cart-drawer .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.cart-drawer .woocommerce-mini-cart__buttons .button { display: flex; min-height: 50px; align-items: center; justify-content: center; border-radius: 999px; color: var(--brand-button-text); background: var(--brand-button); }
.cart-drawer .woocommerce-mini-cart__empty-message { margin: 40px 0; color: var(--muted); text-align: center; }

.hero { position: relative; height: 100vh; min-height: 0; overflow: hidden; background: #222; color: #fff; }
.cover-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero .cover-image { object-position: center 45%; }
.hero-video { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.hero.has-hero-video .hero-poster { z-index: 0; }
.hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(rgba(0,0,0,var(--hero-overlay,.48)), rgba(0,0,0,var(--hero-overlay,.48))), linear-gradient(90deg, rgba(0,0,0,.28), transparent 55%); pointer-events: none; }
.hero-copy { position: absolute; z-index: 2; left: var(--pad); top: 32%; width: min(760px, 44vw); }
.eyebrow { margin: 0 0 8px; font-size: clamp(13px, 1vw, 19px); line-height: 1.25; letter-spacing: .01em; text-transform: uppercase; }
.hero h1 { margin: 0 0 20px; font-size: clamp(64px, 7.76vw, 149px); line-height: .84; letter-spacing: -.035em; font-weight: 400; }
.hero-copy > p:not(.eyebrow) { margin: 0 0 32px; max-width: 690px; color: rgba(248,248,245,.78); font-size: clamp(16px, 1vw, 19px); line-height: 1.38; }
.hero-copy .pill { min-height: 54px; padding: 0 28px; font-size: 16px; }
.hero-benefits { position: absolute; z-index: 3; bottom: 0; left: var(--pad); right: var(--pad); height: 82px; border-top: 1px solid rgba(248,248,245,.25); display: grid; grid-template-columns: repeat(3,1fr); }
.benefit { display: flex; align-items: center; gap: 16px; font-family: Inter, sans-serif; font-size: 12px; line-height: 1.35; }
.benefit strong { display: block; font-weight: 500; }
.benefit span { color: rgba(248,248,245,.62); }
.benefit-icon { width: 26px; height: 26px; object-fit: contain; }

.product-overview { position: relative; height: min(1200px, 62.5vw); min-height: 650px; overflow: hidden; background: linear-gradient(#fff,#dbeaf4); cursor: pointer; }
.product-overview .cover-image { object-position: center; }
.overview-copy { position: absolute; z-index: 2; top: 5%; left: var(--pad); }
.overview-copy h2 { margin: 0 0 18px; font-size: clamp(27px, 2.2vw, 42px); font-weight: 400; }
.feature-tags { display: flex; flex-wrap: wrap; width: 330px; gap: 8px 10px; }
.feature-tags span { padding: 6px 9px; border-radius: 7px; background: rgba(255,255,255,.82); font-size: 14px; }
.slider-controls { position: absolute; left: var(--pad); bottom: 60px; display: flex; gap: 10px; }
.round-control { width: 40px; height: 40px; border: 0; border-radius: 8px; background: #fff; font-size: 20px; }
.overview-cursor-cta { position: absolute; z-index: 6; top: 0; left: 0; width: 152px; min-height: 66px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; color: var(--brand-button-text); background: var(--brand-button); font-size: 16px; font-weight: 700; opacity: 0; pointer-events: none; will-change: transform, opacity; }
.blue-ribbon { width: 100%; min-height: 53px; display: flex; align-items: center; justify-content: center; gap: 10px; background: #159fcd; color: #fff; font-size: 14px; }

@media (hover: none), (pointer: coarse) {
  .product-overview { cursor: default; }
  .overview-cursor-cta { top: auto; right: var(--pad); bottom: 28px; left: auto; opacity: 1; pointer-events: auto; transform: none !important; }
}

.choice { position: relative; isolation: isolate; height: 100svh; min-height: 0; overflow: hidden; background: #222; color: #fff; }
.choice .cover-image { z-index: 0; }
.choice-video { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.choice::after { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(rgba(0,0,0,var(--choice-overlay,.42)),rgba(0,0,0,var(--choice-overlay,.42))),linear-gradient(90deg,rgba(0,0,0,.18),transparent 58%); pointer-events:none; }
.choice-copy { position: absolute; z-index: 3; top: 31%; left: var(--pad); width: min(850px, 48vw); }
.home-text-mask { display: inline-block; overflow: hidden; vertical-align: baseline; padding-bottom: .08em; margin-bottom: -.08em; }
.home-text-word { display: inline-block; }
.choice h2 { margin: 0 0 30px; font-size: clamp(62px, 5.7vw, 110px); line-height: .86; letter-spacing: -.035em; font-weight: 400; }
.choice p { max-width: 570px; margin: 0 0 30px; font-size: 19px; line-height: 1.38; }
.choice .pill { margin-top: 0; min-height: 54px; }

.flow { position: relative; background: #fff; }
.flow-intro { height: clamp(235px, 29vh, 300px); min-height: 235px; display: flex; align-items: flex-start; justify-content: center; padding-top: clamp(36px, 4vh, 48px); text-align: center; }
.flow-intro h2 { margin: 0; max-width: 650px; font-size: clamp(44px, 3.75vw, 72px); line-height: 1; letter-spacing: -.025em; font-weight: 400; }
.flow-stage { position: relative; height: 100vh; height: 100svh; min-height: 620px; overflow: hidden; background: var(--ink); color: #fff; }
.flow-stage.is-scroll-pinned { position: relative; z-index: 1; height: 100vh; height: 100svh; min-height: 620px; }
.layer-stack { position: absolute; inset: 0; overflow: hidden; background: #fff; }
.layer { position: absolute; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,var(--flow-shadow-opacity,.14)); will-change: transform; }
.layer img, .layer video { display: block; width: 100%; height: 100%; object-fit: cover; }
.layer-1 { top: 0; left: 27.5%; width: 45%; height: 100%; }
.layer-2 { top: 6.7%; left: 17.5%; width: 65%; height: 100%; }
.layer-3 { top: 16.7%; left: 7.5%; width: 85%; height: 100%; }
.layer-4 { top: 26.7%; left: 0; width: 100%; height: 100%; }
.flow-stage::after { content:""; position:absolute; z-index:2; inset:25% 0 0; background:linear-gradient(transparent,rgba(29,29,29,.92) 86%); pointer-events:none; }
.flow-copy { position: absolute; z-index: 3; left: 50%; top: 48%; width: min(760px, 70vw); transform: translate(-50%,-50%); text-align: center; will-change: transform; }
.flow-copy .eyebrow { margin: 0 0 12px; text-transform: none; }
.flow-copy h3 { margin: 0 0 22px; font-size: clamp(48px, 6.3vw, 86px); font-weight: 400; line-height: .9; letter-spacing: -.035em; }
.workflow-icons { display: flex; justify-content: center; gap: 50px; margin: 0 0 27px; }
.workflow-item img { width: 80px; height: 80px; padding: 22px; border-radius: 50%; background: rgba(255,255,255,.16); }
.workflow-item span { display: block; margin-top: 16px; font-size: 16px; }
.flow-copy > p:not(.eyebrow) { max-width: 520px; margin: 0 auto 22px; color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.38; }
.flow-copy .pill { min-height: 56px; }

.process { --process-gap: clamp(18px, 2.6vw, 50px); position: relative; z-index: 2; isolation: isolate; padding: var(--process-gap); background: var(--ink); color: #fff; }
.process-card { position: relative; height: calc(100svh - (var(--process-gap) * 2)); min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 1.25vw, 24px); background: transparent; }
.process-copy { position: relative; z-index: 2; overflow: hidden; border-radius: 20px; background: #f7f7f5; color: var(--ink); padding: clamp(30px, 3.125vw, 60px); }
.process-copy h2 { margin: 0; font-size: clamp(24px, 1.56vw, 30px); font-weight: 400; }
.process-list { position: absolute; left: clamp(30px, 3.125vw, 60px); top: 43%; margin: 0; padding: 0; list-style: none; color: #c3c3c0; font-size: clamp(31px, 3vw, 58px); line-height: .98; letter-spacing: -.03em; will-change: transform; }
.process-list li { color: #c3c3c0; will-change: color; }
.process-list li.is-active { color: var(--brand-selected); }
.process-images { position: relative; min-width: 0; overflow: hidden; border-radius: 20px; background: #ddd; }
.process-image { position: absolute; inset: 0; margin: 0; overflow: hidden; opacity: 0; visibility: hidden; will-change: opacity; }
.process-image.is-active { opacity: 1; visibility: visible; }
.process-image img { width: 100%; height: 100%; object-fit: cover; }

.community { position: relative; height: min(2018px, 105vw); min-height: 1080px; overflow: hidden; padding-top: clamp(85px, 8vw, 155px); background: #fff; text-align: center; }
.community h2 { margin: 0; font-size: clamp(48px, 5.8vw, 112px); line-height: .88; font-weight: 400; letter-spacing: -.04em; }
.community > p { margin: 14px auto 0; max-width: 300px; color: var(--muted); line-height: 1.38; }
.mosaic { position: absolute; left: 2.35%; right: 2.35%; top: 21.8%; height: 79%; display: grid; grid-template-columns: repeat(7,1fr); gap: 10px; align-items: start; }
.mosaic-column { display: grid; gap: 10px; }
.mosaic-column:nth-child(2), .mosaic-column:nth-child(6) { margin-top: 5vw; }
.mosaic-column:nth-child(3), .mosaic-column:nth-child(5) { margin-top: 10vw; }
.mosaic-column:nth-child(4) { margin-top: 15vw; }
.mosaic-item { position: relative; overflow: hidden; border-radius: 8px; }
.mosaic-item::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: rgba(0,0,0,.18); }
.mosaic img, .mosaic video { display: block; width: 100%; aspect-ratio: 248 / 381; object-fit: cover; }

.cta { margin: 0 20px; min-height: 570px; display: flex; align-items: center; justify-content: center; background: var(--brand-surface); text-align: center; }
.cta-inner img { width: 402px; height: 152px; margin: 0 auto -8px; object-fit: contain; }
.cta h2 { margin: 40px 0 18px; font-size: clamp(38px, 3vw, 58px); line-height: .9; font-weight: 400; }
.cta .pill { color: var(--brand-button-text); background: var(--brand-button); min-width: 260px; min-height: 56px; }
.cta-link { display: block; margin-top: 20px; color: var(--brand-link); line-height: 1.3; text-decoration: underline; text-underline-offset: 3px; }

.support-hero { position: relative; height: min(1200px, 62.5vw); min-height: 700px; overflow: hidden; color: #fff; }
.support-hero::after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.5)); }
.support-copy { position: absolute; z-index: 2; left: var(--pad); bottom: 12.5%; }
.support-copy h2 { margin: 0 0 12px; font-size: clamp(60px, 6vw, 115px); line-height: .88; font-weight: 400; }
.support-copy p { margin: 0; font-size: clamp(24px, 2.2vw, 42px); line-height: 1.2; }
.support-tabs { position: absolute; z-index: 3; left: var(--pad); right: var(--pad); bottom: 26px; display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.support-tabs span { padding-top: 24px; border-top: 2px solid rgba(255,255,255,.5); font-size: 16px; }

.journal { padding: 94px var(--pad) 110px; background: #fff; }
.journal h2 { margin: 0 0 48px; text-align: center; font-size: clamp(38px, 3.5vw, 68px); line-height: .95; font-weight: 400; }
.journal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.journal-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; }
.journal-card h3 { margin: 14px 0 8px; max-width: 95%; font-size: 21px; line-height: 1.12; font-weight: 400; }
.journal-card time { color: var(--muted); font-size: 13px; }
.journal-card > a { display: block; overflow: hidden; border-radius: 8px; }
.journal-card > a img { transition: transform .45s ease; }
.journal-card:hover > a img { transform: scale(1.025); }
.journal-card h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }

.site-footer { background: var(--ink); color: #fff; padding: 58px var(--pad) 0; }
.footer-grid { display: grid; grid-template-columns: repeat(4,1fr) 2fr; min-height: 300px; }
.footer-column h3, .newsletter h3 { margin: 0 0 18px; font-size: 18px; font-weight: 400; }
.footer-column ul { list-style: none; padding: 0; margin: 0; }
.footer-column li { margin: 0 0 12px; color: rgba(255,255,255,.68); font-size: 14px; }
.newsletter-form { display: flex; border-bottom: 1px solid rgba(255,255,255,.45); }
.newsletter-form input { flex: 1; min-width: 0; padding: 10px 0; border: 0; outline: 0; background: transparent; color: #fff; font-size: 18px; }
.newsletter-form button { border: 0; background: transparent; color: #fff; }
.newsletter-note { color: rgba(255,255,255,.4); font-size: 11px; }
.socials { display: flex; gap: 16px; margin-top: 24px; }
.socials img { width: 24px; height: 24px; }
.footer-brand { display: flex; align-items: center; gap: 12px; font-family: Quicksand, sans-serif; font-size: 28px; font-weight: 700; }
.footer-brand img { width: 380px; height: auto; }
.footer-bottom { min-height: 82px; margin-top: 14px; border-top: 1px solid rgba(255,255,255,.15); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.45); font-size: 12px; }

/* WooCommerce product configurator */
body.steripodz-configurator-page { --store-chrome-height: 137px; height: 100dvh; overflow: hidden; padding-top: var(--store-chrome-height); background: #f6f6f3; }
body.steripodz-configurator-page .header-shell { top: 0; }
.product-configurator { --config-ink:var(--brand-ink); --config-accent:var(--brand-accent); --config-selected:var(--brand-selected); --config-button:var(--brand-button); --config-button-text:var(--brand-button-text); --config-link:var(--brand-link); --config-panel:var(--brand-panel); --config-option:var(--brand-option); height: calc(100dvh - var(--store-chrome-height)); display: grid; grid-template-columns: minmax(0,56%) minmax(440px,44%); color:var(--config-ink); background:var(--config-panel); font-family: "Questrial", Arial, sans-serif; }
.config-visual { position: relative; min-width: 0; min-height: 0; overflow: hidden; background: linear-gradient(145deg,#f4f8fa,#dce9ee); }
.config-product-stage { position: absolute; inset: 0; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 22px; overflow: hidden; }
.config-image-wrap { position: relative; flex: 0 1 auto; width: auto; height: 100%; max-width: 100%; aspect-ratio: 2 / 3; }
.config-main-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; object-position: center; filter: drop-shadow(0 18px 22px rgba(30,49,57,.12)); z-index: 1; }
.config-panel { position: relative; min-width: 0; overflow: hidden; border-left: 1px solid #ddd; background: var(--config-panel); }
.config-panel-scroll { height: 100%; overflow-y: auto; padding: 30px clamp(32px,2.8vw,52px) 112px; scrollbar-width: thin; }
.config-product-intro { padding: 0 0 22px; border-bottom:1px solid #e3e5e8; }
.config-intro-eyebrow { margin:0 0 8px; color:var(--config-accent); font-size:12px; line-height:1.2; font-weight:700; letter-spacing:.035em; text-transform:uppercase; }
.config-product-intro h1 { margin: 0 0 5px; color:var(--config-ink); font-size: clamp(34px,2.5vw,48px); line-height: 1.03; letter-spacing: -.035em; font-weight:700; }
.config-badge { display: inline-flex; margin:7px 0; padding: 5px 10px; border-radius: 999px; color: var(--config-button-text); background: var(--config-accent); font-size: 12px; font-weight: 700; }
.config-intro-subtitle { margin:5px 0 12px; color:var(--config-ink); font-size:clamp(18px,1.45vw,24px); line-height:1.28; font-weight:500; letter-spacing:-.015em; }
.config-intro-description { margin:0; color:#747d8b; font-size:15px; line-height:1.42; }
.config-requirements-link { display:inline-flex; align-items:center; gap:8px; margin-top:15px; color:var(--config-link); font-size:14px; text-decoration:underline; text-underline-offset:2px; }
.config-requirements-link span { font-size:17px; text-decoration:none; }
.config-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:23px; padding-top:18px; border-top:1px solid #e5e7ea; }
.config-benefit { display:flex; min-height:50px; align-items:center; gap:10px; padding:0 12px; color:var(--config-ink); font-size:12px; line-height:1.3; }
.config-benefit:first-child { padding-left:0; }.config-benefit + .config-benefit { border-left:1px solid #d8dce2; }
.config-benefit-icon { flex:0 0 30px; width:30px; height:30px; color:var(--config-accent); }
.config-benefit-icon.material-symbols-outlined { display:flex; align-items:center; justify-content:center; font-family:'Material Symbols Outlined'; font-size:28px; font-weight:300; line-height:1; font-feature-settings:'liga'; font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 28; }
.config-benefit-icon svg { display:block; width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.config-description { margin-top: 15px; color: #4e4e4e; font-size: 15px; line-height: 1.4; }
.config-description p { margin: 0; }
.config-product-intro ul { display: grid; gap: 7px; margin: 16px 0; padding: 0; list-style: none; }
.config-product-intro li { position: relative; padding-left: 23px; font-size: 14px; }.config-product-intro li::before { content:"✓"; position:absolute; left:0; font-weight:700; }
.config-text-links { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 18px; }.config-text-links a { font-size:14px; font-weight: 700; }
.config-option-group { padding: 38px 0 34px; border-bottom: 1px solid #dededb; }
.config-option-group h2 { margin: 0 0 18px; font-size: 21px; }.config-option-group h2 span { color: #777; font-weight: 400; }
.config-option-group > p { margin: 0 0 22px; color: #5d5d5d; line-height: 1.45; }
.size-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.config-option { min-height: 76px; padding: 12px; border: 1px solid #dfdfdc; border-radius: 12px; background: var(--config-option); cursor: pointer; }
.config-option.is-selected { border: 2px solid var(--config-selected); box-shadow: inset 0 0 0 1px var(--config-panel); }
.size-options .config-option { min-height: 205px; display: flex; flex-direction: column; justify-content: flex-start; gap: 7px; padding: 11px 13px 13px; text-align: left; transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.size-options .config-option:hover { transform: translateY(-2px); }
.config-size-image { width: 100%; height: 104px; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 8px; background: #f6f7f7; }
.config-size-image img { width: 100%; height: 100%; padding: 6px 12px; object-fit: cover; object-position: center 48%; }
.config-size-copy { display: grid; gap: 2px; }
.config-size-copy strong { color: var(--config-ink); font-size: 15px; line-height: 1.2; }
.size-options .config-size-copy small { color: #747d8b; font-size: 13px; line-height: 1.25; }
.size-options .config-size-copy .variation-option-price { color: var(--config-ink); font-weight: 700; }
.finish-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.finish-options .config-option { min-height: 106px; display: grid; align-content: center; justify-items: center; gap: 9px; padding: 10px 5px; }
.finish-options strong { color: var(--config-ink); font-size: 12px; line-height: 1.1; text-align: center; }
.finish-swatch { width: 43px; height: 43px; border: 1px solid rgba(0,0,0,.1); border-radius: 50%; background: var(--swatch); }.finish-options .is-selected .finish-swatch::after { content:"✓"; display:grid; place-items:center; width:100%; height:100%; color:var(--config-selected); font-size:20px; font-weight:700; }
.config-address { width: 100%; height: 48px; padding: 0 15px; border: 1px solid #ccc; border-radius: 10px; background: #fff; }
.config-delivery-note { display: flex; justify-content: space-between; gap: 16px; margin-top: 14px; font-size: 12px; }.config-delivery-note strong { color: #42994a; }
.finance-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.finance-options button { min-height: 92px; display:grid; gap:8px; padding:15px; border:1px solid #ccc; border-radius:12px; background:var(--config-option); text-align:left; }.finance-options button.is-selected { border:2px solid var(--config-selected); background:var(--config-option); }.finance-options small { color:#666; }
.config-reassurance { display: grid; gap: 0; }.config-reassurance article { padding: 28px 0; border-bottom:1px solid #ddd; }.config-reassurance h3 { margin:0 0 7px; font-size:18px; }.config-reassurance p { margin:0; color:#666; line-height:1.45; }
.config-sticky-bar { position: absolute; z-index: 8; left: 0; right: 0; bottom: 0; min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px clamp(32px,2.8vw,52px); border-top: 1px solid #ddd; background: rgba(247,247,244,.96); backdrop-filter: blur(18px); }
.config-sticky-bar > div { display: grid; gap: 3px; }.config-total-price,.drawer-total-price { font-size: 27px; line-height:1; }.config-sticky-bar span,.config-sticky-bar small { font-size: 11px; }.config-addon-summary { color:#3b9847; font-weight:700; }
.config-open-addons,.config-continue-cart { min-height: 52px; padding: 0 27px; border: 0; border-radius: 999px; color: var(--purchase-button-text); background: var(--purchase-button); font-weight: 700; cursor: pointer; box-shadow: 0 8px 18px rgba(0,0,0,.15); }.config-open-addons span { margin-left:16px; }
.config-drawer-backdrop { position: fixed; z-index: 500; inset: 0; visibility: hidden; opacity: 0; background: rgba(15,17,18,.68); backdrop-filter: blur(8px); transition: .35s ease; }
.config-addons-drawer { position: fixed; z-index: 501; top: 0; right: 0; width: min(660px, 52vw); height: 100dvh; display: grid; grid-template-rows: auto 1fr auto; visibility: hidden; background: #f8f9fa; transform: translateX(100%); transition: transform .42s cubic-bezier(.22,1,.36,1), visibility .42s; }
.config-drawer-open { overflow: hidden !important; }.config-drawer-open .config-drawer-backdrop { visibility: visible; opacity: 1; }.config-drawer-open .config-addons-drawer { visibility: visible; transform: translateX(0); }
.config-addons-drawer > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:23px 28px 21px; border-bottom:1px solid #ddd; }.config-addons-drawer header span { display:inline-flex; padding:5px 10px; border-radius:999px; color:#fff; background:#286e70; font-size:11px; font-weight:700; }.config-addons-drawer h2 { margin:8px 0 4px; font-size:27px; }.config-addons-drawer header p { margin:0; color:#555; }.config-close-addons { width:38px; height:38px; flex:0 0 38px; border:0; border-radius:50%; background:#e9eef2; font-size:26px; cursor:pointer; }
.config-addon-list { display:grid; align-content:start; gap:12px; padding:25px 28px; overflow-y:auto; }
.config-addon { display:grid; grid-template-columns:46px 1fr auto; gap:12px; align-items:center; min-height:92px; padding:15px 17px; border:1px solid #d9dddf; border-radius:13px; background:#fff; }.config-addon.is-selected { border-color:var(--config-selected); }.config-addon-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:10px; color:var(--config-accent); background:#f0f5f6; }.config-addon.is-selected .config-addon-icon { color:var(--purchase-button-text); background:var(--purchase-button); }.config-addon h3 { margin:0 0 5px; font-size:15px; }.config-addon h3 span { display:inline-block; margin-left:6px; padding:3px 7px; border-radius:999px; color:#72551e; background:#fff0c8; font-size:9px; }.config-addon p { margin:0; color:#59616a; font-size:12px; line-height:1.35; }.config-addon-action { display:grid; justify-items:end; gap:8px; }.config-addon-action button { min-width:68px; min-height:34px; border:1px solid var(--purchase-button); border-radius:999px; color:var(--purchase-button); background:var(--brand-option); font-weight:700; cursor:pointer; }.config-addon.is-selected .config-addon-action button { color:var(--purchase-button-text); background:var(--purchase-button); }
.config-addons-drawer > footer { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:10px; min-height:95px; padding:14px 24px; border-top:1px solid #ddd; background:#f8f9fa; }.config-addons-drawer footer > div { display:grid; gap:5px; }.config-addons-drawer footer span { color:#58616b; font-size:11px; }.config-skip-addons { min-height:48px; padding:0 22px; border:1px solid #d2d8dc; border-radius:999px; background:#fff; font-weight:700; cursor:pointer; }

@media (max-width: 900px) {
  body.steripodz-configurator-page { height:auto; min-height:100dvh; overflow:auto; padding-top:var(--store-chrome-height); }
  .product-configurator { height:auto; min-height:calc(100dvh - var(--store-chrome-height)); grid-template-columns:1fr; }
  .config-visual { height:min(72svh,760px); min-height:480px; }
  .config-product-stage { padding:14px; }
  .config-panel { overflow:visible; border-left:0; }.config-panel-scroll { height:auto; overflow:visible; padding-bottom:140px; }
  .config-sticky-bar { position:fixed; z-index:100; }.config-addons-drawer { width:min(100%,680px); }
}
@media (max-width: 600px) {
  body.steripodz-configurator-page { --store-chrome-height:137px; }
  .config-visual { height:62svh; min-height:400px; }
  .config-product-stage { padding:10px 4px; }.config-image-wrap { max-height:100%; }
  .config-product-intro h1 { font-size:42px; }.config-panel-scroll { padding-left:20px; padding-right:20px; }.size-options { grid-template-columns:repeat(2,minmax(0,1fr)); }.finish-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .config-sticky-bar { min-height:92px; padding:12px 15px; }.config-total-price { font-size:24px; }.config-sticky-bar span,.config-sticky-bar small { display:none; }.config-open-addons { padding:0 20px; }
  .config-addons-drawer > header,.config-addon-list { padding-left:16px; padding-right:16px; }.config-addon { grid-template-columns:40px 1fr; }.config-addon-action { grid-column:2; grid-template-columns:1fr auto; align-items:center; justify-items:start; }
  .config-addons-drawer > footer { grid-template-columns:1fr 1fr; }.config-addons-drawer footer > div { grid-column:1/-1; }.config-skip-addons,.config-continue-cart { padding:0 12px; }
}

.page-content { min-height: 60vh; padding: 160px var(--pad) 80px; }
.page-content .entry { max-width: 900px; margin: auto; }

@media (max-width: 1100px) {
  .main-nav, .header-actions { display: none; }
  .menu-toggle { display: block; }
  .site-header.menu-open { position: fixed; height: 100vh; align-items: flex-start; color: #fff; background: var(--ink); }
  .site-header.menu-open .brand-mark { filter: none; }
  .site-header.menu-open .menu-toggle { color: #fff; }
  .site-header.menu-open .main-nav { display: block; position: absolute; left: var(--pad); top: 150px; }
  .site-header.menu-open .main-nav ul { display: grid; gap: 26px; }
  .hero-copy { width: 65vw; }
  .footer-grid { grid-template-columns: repeat(2,1fr); gap: 35px; }
  .newsletter { grid-column: 1 / -1; max-width: 600px; }
}

@media (max-width: 700px) {
  body.admin-bar .header-shell { top: 46px; }
  .top-bar { height: 47px; }
  .top-bar-content { gap: 5px; font-size: 11px; text-align: center; }
  .site-header { height: 80px; padding-top: 0; }
  .brand { width: auto; max-width: calc(100% - 58px); }
  .brand-mark { width: 44px; height: 44px; }
  .brand-name { font-size: 28px; line-height: .92; letter-spacing: -1px; }
  .brand-tag { margin-top: 4px; font-size: 7px; line-height: 1.1; }
  .hero { height: 90svh; min-height: 0; }
  .product-overview, .choice, .flow-stage, .support-hero { height: 100svh; min-height: 690px; }
  .hero .cover-image { object-position: 61% center; }
  .hero-copy { top: 27%; width: calc(100% - 40px); }
  .hero h1 { margin-bottom: 17px; font-size: 52px; line-height: .88; max-width: 320px; }
  .hero-copy > p:not(.eyebrow) { max-width: 330px; margin-bottom: 27px; line-height: 1.36; }
  .hero-copy .pill { min-height: 52px; padding: 0 25px; }
  .hero-benefits { height: 90px; grid-template-columns: 1fr; padding: 12px 0; }
  .benefit { display: none; }
  .benefit:first-child { display: flex; }
  .product-overview .cover-image { object-position: 50% center; }
  .overview-copy { top: 110px; }
  .product-overview { cursor: default; }
  .overview-cursor-cta { top: auto; right: 20px; bottom: 22px; left: auto; opacity: 1; pointer-events: auto; transform: none !important; }
  .choice .cover-image { object-position: 61% center; }
  .choice-copy { top: 27%; width: calc(100% - 40px); }
  .choice h2 { margin-bottom: 22px; font-size: 50px; line-height: .9; }
  .choice p { max-width: 330px; font-size: 17px; line-height: 1.38; }
  .choice .pill { margin-top: 0; }
  .flow-intro { height: clamp(205px, 29vh, 245px); min-height: 205px; padding-top: clamp(30px, 4vh, 38px); }
  .layer-1 { left: 20%; width: 60%; }
  .layer-2 { left: 14%; width: 72%; }
  .layer-3 { left: 7%; width: 86%; }
  .flow-stage, .flow-stage.is-scroll-pinned { height: 100svh; min-height: 610px; }
  .flow-copy { top: 52%; left: 50%; width: 90%; transform: translate(-50%,-50%); }
  .flow-copy .eyebrow { margin-bottom: 12px; }
  .flow-copy h3 { margin-bottom: 18px; font-size: clamp(42px, 11vw, 60px); line-height: .94; }
  .workflow-icons { gap: 18px; }
  .workflow-item img { width: 65px; height: 65px; padding: 18px; }
  .workflow-item span { font-size: 13px; }
  .process { --process-gap: 14px; }
  .process-card { height: calc(100svh - 28px); grid-template-columns: 1fr; grid-template-rows: 43% 57%; gap: 12px; }
  .process-copy { min-height: 0; padding: 24px; }
  .process-copy h2 { font-size: 22px; }
  .process-list { left: 24px; top: 42%; font-size: clamp(25px, 8vw, 36px); }
  .process-images { grid-row: 2; }
  .community { height: 1500px; min-height: 0; padding-top: 90px; }
  .community h2 { font-size: 55px; }
  .mosaic { top: 24%; grid-template-columns: repeat(4,1fr); gap: 7px; }
  .mosaic-column:nth-child(n+5) { display: none; }
  .mosaic-column:nth-child(2) { margin-top: 50px; }
  .mosaic-column:nth-child(3) { margin-top: 100px; }
  .mosaic-column:nth-child(4) { margin-top: 150px; }
  .cta { margin: 0; min-height: 500px; }
  .cta-inner img { width: 290px; height: 120px; }
  .support-hero .cover-image { object-position: 55% center; }
  .support-copy { bottom: 18%; }
  .support-copy h2 { font-size: 58px; }
  .support-tabs { grid-template-columns: repeat(2,1fr); gap: 12px; bottom: 24px; }
  .support-tabs span { padding-top: 8px; font-size: 12px; }
  .journal { padding-top: 65px; }
  .journal h2 { margin-bottom: 42px; }
  .journal-grid { grid-template-columns: 1fr; gap: 45px; }
.footer-grid { grid-template-columns: 1fr 1fr; }
  .newsletter { grid-column: 1 / -1; }
}

.cookie-float { position: fixed; z-index: 1200; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 58px; padding: 8px clamp(18px, 2vw, 28px); border: 1px solid rgba(255,255,255,.16); border-bottom: 0; color: #fff; background: rgba(13,17,18,.84); box-shadow: 0 -12px 42px rgba(0,0,0,.2); -webkit-backdrop-filter: blur(22px) saturate(155%); backdrop-filter: blur(22px) saturate(155%); font-family: "Questrial", Arial, sans-serif; }
.cookie-float[hidden], .cookie-settings-panel[hidden] { display: none; }
.cookie-message { display: flex; align-items: center; gap: 7px; min-width: 0; font-size: 10px; line-height: 1.3; }
.cookie-message p { margin: 0; }
.cookie-message a { flex: 0 0 auto; color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.cookie-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; }
.cookie-actions button, .cookie-save { min-height: 32px; padding: 0 17px; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; color: #fff; background: transparent; font: 600 11px/1 "Questrial", Arial, sans-serif; cursor: pointer; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.cookie-actions button:hover, .cookie-save:hover { transform: translateY(-1px); background: rgba(255,255,255,.14); }
.cookie-actions .cookie-choice { min-width: 78px; border-color: #fff; color: #171a1b; background: #fff; }
.cookie-actions .cookie-choice:hover { border-color: #e8eeee; background: #e8eeee; }
.cookie-settings-toggle { min-width: 122px; }
.cookie-settings-panel { position: absolute; right: clamp(18px, 2vw, 34px); bottom: calc(100% + 12px); width: min(390px, calc(100vw - 32px)); padding: 22px; border: 1px solid rgba(255,255,255,.17); border-radius: 16px; color: #fff; background: rgba(13,17,18,.9); box-shadow: 0 14px 48px rgba(0,0,0,.28); -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%); }
.cookie-settings-panel h2 { margin: 0 0 8px; font-size: 19px; font-weight: 500; }
.cookie-settings-panel > p { margin: 0 0 15px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.45; }
.cookie-option { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.14); }
.cookie-option span { display: grid; gap: 3px; }
.cookie-option strong { font-size: 13px; font-weight: 500; }
.cookie-option small { color: rgba(255,255,255,.62); font-size: 11px; }
.cookie-option input { width: 18px; height: 18px; accent-color: #fff; cursor: pointer; }
.cookie-option input:disabled { cursor: not-allowed; }
.cookie-save { width: 100%; margin-top: 11px; border-color: #fff; color: #171a1b; background: #fff; }
@media (max-width: 760px) {
  .cookie-float { align-items: stretch; flex-direction: column; gap: 11px; padding: 13px 16px max(13px, env(safe-area-inset-bottom)); }
  .cookie-message { flex-wrap: wrap; gap: 4px 7px; font-size: 11px; }
  .cookie-actions { justify-content: space-between; gap: 8px; }
  .cookie-actions button { min-width: 0; padding: 0 13px; font-size: 11px; }
  .cookie-settings-toggle { flex: 1; }
  .cookie-settings-panel { right: 12px; bottom: calc(100% + 10px); }
}
