/* == woopify-01-tokens == */
:root {
  --color-bg: #0B0B0B;
  --color-surface: #1A1A1A;
  --color-ink: #F2F0EB;
  --color-ink-body: #C9C7C1;
  --color-ink-muted: #9A9892;
  --color-hairline: #262626;
  --color-control: #6E6C67;
  --color-accent: #C9A84C;
  --color-accent-ink: #0B0B0B;
  --color-border: #262626;
  --color-input-border: #6E6C67;
  --color-sale: #9A9892;
  --color-success: #C9C7C1;
  --color-error: #E07A63;
  --color-highlight: #1A1A1A;
  --font-heading: "Cormorant Garamond", Cormorant, Garamond, "Times New Roman", serif;
  --fw-heading: 600;
  --font-body: Jost, "Helvetica Neue", Arial, sans-serif;
  --fw-body: 400;
  --font-mood: "Playfair Display", Georgia, "Times New Roman", serif;
  --fw-mood: 400;
  --fs-display: 104px;
  --lh-display: 0.98;
  --fs-h1: 80px;
  --lh-h1: 1;
  --fs-h2: 48px;
  --lh-h2: 1.1;
  --fs-h3: 28px;
  --lh-h3: 1.15;
  --fs-product-title: 80px;
  --lh-product-title: 1;
  --fs-pull: 28px;
  --lh-pull: 1.4;
  --fs-mood-word: 20px;
  --lh-mood-word: 1;
  --fs-lead: 20px;
  --lh-lead: 1.6;
  --fs-body-md: 17px;
  --lh-body-md: 1.7;
  --fs-ui: 15px;
  --lh-ui: 1;
  --fs-label: 13px;
  --lh-label: 1;
  --fs-caption: 15px;
  --lh-caption: 1.5;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 32px;
  --space-xl: 64px;
  --space-section: 160px;
  --space-container: 1312px;
  --space-gutter: 64px;
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-pill: 999px;
  --shadow-raised: -24px 0 80px rgba(0, 0, 0, 0.6);
}
@media (max-width: 767px) {
  :root {
    --fs-display: 52px;
    --lh-display: 0.98;
    --fs-h1: 46px;
    --lh-h1: 1.02;
    --fs-h2: 34px;
    --lh-h2: 1.1;
    --fs-h3: 22px;
    --lh-h3: 1.15;
    --fs-product-title: 46px;
    --lh-product-title: 1.02;
    --fs-pull: 22px;
    --lh-pull: 1.4;
    --fs-mood-word: 16px;
    --lh-mood-word: 1;
    --fs-lead: 17px;
    --lh-lead: 1.6;
    --fs-body-md: 16px;
    --lh-body-md: 1.7;
    --fs-caption: 13px;
    --lh-caption: 1.5;
    --space-section: 96px;
    --space-gutter: 20px;
  }
}

/* == woopify-02-fonts == */
/* 02-fonts.css: self-hosted faces (SIL OFL, fontsource latin subsets), font-display: swap.
 * Second src: the spare copy in wp-content/uploads/blf-fonts/ (a theme ZIP reinstall deletes theme fonts). */
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 600; font-display: swap; src: url("https://blacklabelfragrance.com/wp-content/themes/blf-child/assets/fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2"), url("/wp-content/uploads/blf-fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 700; font-display: swap; src: url("https://blacklabelfragrance.com/wp-content/themes/blf-child/assets/fonts/cormorant-garamond-latin-700-normal.woff2") format("woff2"), url("/wp-content/uploads/blf-fonts/cormorant-garamond-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Jost"; font-style: normal; font-weight: 400; font-display: swap; src: url("https://blacklabelfragrance.com/wp-content/themes/blf-child/assets/fonts/jost-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Jost"; font-style: normal; font-weight: 500; font-display: swap; src: url("https://blacklabelfragrance.com/wp-content/themes/blf-child/assets/fonts/jost-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 400; font-display: swap; src: url("https://blacklabelfragrance.com/wp-content/themes/blf-child/assets/fonts/playfair-display-latin-400-italic.woff2") format("woff2"), url("/wp-content/uploads/blf-fonts/playfair-display-latin-400-italic.woff2") format("woff2"); }

/* == woopify-03-base == */
/* 03-base.css (R2, 2026-10-29): ground, type, links, buttons, forms, FAQ, notices.
 * Every rule is scoped to body.woopify (never on funnel pages). Nothing inside WooCommerce's .payment_box
 * (a gateway's own markup, D-115) is restyled: the exclusion sits in :where() so it adds no specificity.
 * Source of truth: design-v2/design-spec-R2.md and the Claude Design boards. */
@media (min-width: 768px) and (max-width: 1023px) { :root { --space-gutter: 40px; --space-section: 128px; } }

body.woopify { background: var(--color-bg); color: var(--color-ink-body); font-family: var(--font-body); font-weight: 400; font-size: var(--fs-body-md); line-height: var(--lh-body-md); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.woopify #page, body.woopify .site-content, body.woopify .col-full { background: transparent; color: var(--color-ink-body); }
body.woopify :where(h1, h2, h3, h4):not(:where(.payment_box *)) { font-family: var(--font-heading); font-weight: var(--fw-heading); color: var(--color-ink); letter-spacing: 0; text-transform: none; margin: 0; }
body.woopify h1, body.woopify .woopify-h1 { font-weight: 700; font-size: var(--fs-h1); line-height: var(--lh-h1); letter-spacing: -0.01em; }
body.woopify h2, body.woopify .woopify-h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); }
body.woopify h3, body.woopify .woopify-h3 { font-size: var(--fs-h3); line-height: var(--lh-h3); }
body.woopify p { margin: 0; }
body.woopify strong, body.woopify b { color: var(--color-ink); font-weight: 500; }
body.woopify a:not(.button):not(:where(.payment_box *)) { color: var(--color-ink); text-decoration: none; transition: color .3s; }
body.woopify a:not(.button):not(:where(.payment_box *)):hover { color: var(--color-accent); }
body.woopify .woopify-body a:not(.button), body.woopify .woopify-link { border-bottom: 1px solid currentColor; padding-bottom: 4px; }
body.woopify img { max-width: 100%; height: auto; }
body.woopify .woopify-container { max-width: calc(var(--space-container) + 2 * var(--space-gutter)); margin: 0 auto; padding: 0 var(--space-gutter); box-sizing: border-box; }
body.woopify .woopify-main { display: block; }
body.woopify .woopify-section { padding: var(--space-section) 0 0; }
body.woopify .woopify-main > .woopify-section:last-child:not(.woopify-section--final-cta):not(.woopify-section--band) { padding-bottom: var(--space-section); }
body.woopify .woopify-body p + p, body.woopify .woopify-body p + ul, body.woopify .woopify-body ul + p { margin-top: 24px; }
body.woopify .woopify-body ul { margin: 24px 0 0; padding-left: 1.1em; }
body.woopify .woopify-body li + li { margin-top: 10px; }
body.woopify .woopify-kicker, body.woopify .woopify-label { font: 500 var(--fs-label)/1 var(--font-body); letter-spacing: 0.2em; text-transform: uppercase; color: var(--color-ink-body); margin: 0; }
body.woopify .woopify-lead { font-size: var(--fs-lead); line-height: var(--lh-lead); color: var(--color-ink); }
body.woopify .woopify-caption, body.woopify figcaption { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--color-ink-muted); margin-top: 16px; }
body.woopify .woopify-mood { font-family: var(--font-mood); font-style: italic; font-weight: 400; color: var(--color-accent); letter-spacing: 0; text-transform: none; }
/* ==highlight==: no box (R2 departure 6). Body: ink at 500. Inside a pull quote (em): a gold underline. Final call: the mood face. */
body.woopify mark { background: none; color: var(--color-ink); font-weight: 500; padding: 0; margin: 0; }
body.woopify em mark, body.woopify .woopify-pull mark { font-weight: inherit; border-bottom: 1px solid var(--color-accent); }
body.woopify .woopify-body em, body.woopify .woopify-pull { display: block; font-family: var(--font-mood); font-style: italic; font-weight: 400; font-size: var(--fs-pull); line-height: var(--lh-pull); color: var(--color-ink); }
body.woopify .woopify-body p > em:only-child { display: block; }
body.woopify .woopify-body p:has(> em:only-child) { margin: 40px 0 0; }
body.woopify .woopify-scene-caption { font: 400 15px/1.5 var(--font-body); color: var(--color-ink-muted); }
body.woopify .woopify-scene-caption .woopify-mood { font-size: 16px; line-height: 1; }

/* Buttons (spec "Buttons"): primary on black = solid ink; on photos = ink outline. 52px, radius 0, never wraps. */
body.woopify :is(.button, a.button, button.button, .woopify-button, input[type=submit].button):not(:where(.payment_box *)),
body.woopify .product .cart .single_add_to_cart_button, body.woopify .woocommerce-cart p.return-to-shop a, body.woopify .widget_shopping_cart a.button.checkout {
  display: inline-flex; align-items: center; justify-content: center; height: 52px; line-height: 1; padding: 0 36px; box-sizing: border-box;
  background: var(--color-ink); color: var(--color-accent-ink); border: 1px solid var(--color-ink); border-radius: 0; box-shadow: none;
  font: 500 15px/1 var(--font-body); letter-spacing: 0.08em; text-transform: none; white-space: nowrap; text-decoration: none; cursor: pointer;
  transition: background-color .3s, border-color .3s, color .3s; }
body.woopify :is(.button, a.button, button.button, .woopify-button, input[type=submit].button):not(:where(.payment_box *)):hover,
body.woopify .product .cart .single_add_to_cart_button:hover { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-accent-ink); }
body.woopify :is(.button, a.button, button.button, .woopify-button).woopify-button--outline, body.woopify .woopify-on-photo :is(a.button, .woopify-button) { background: transparent; color: var(--color-ink); border-color: var(--color-ink); }
body.woopify :is(.button, a.button, button.button, .woopify-button).woopify-button--outline:hover, body.woopify .woopify-on-photo :is(a.button, .woopify-button):hover { background: transparent; color: var(--color-accent); border-color: var(--color-accent); }
body.woopify :is(.button, button, .single_add_to_cart_button):is([disabled], .disabled) { opacity: .4; cursor: not-allowed; }
body.woopify :is(.button, button, .single_add_to_cart_button):is([disabled], .disabled):hover { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-accent-ink); }
body.woopify :is(a, button, input, select, textarea, summary, label, [tabindex]):not(:where(.payment_box *)):focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
@media (max-width: 767px) { body.woopify .woopify-button { width: 100%; } }

/* Forms (components sheet: transparent field, 1px control border, 52px, focus gold, error message in error). */
body.woopify :where(input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea):not(:where(.payment_box *)) {
  background: transparent; color: var(--color-ink); border: 1px solid var(--color-control); border-radius: 0; min-height: 52px; padding: 0 16px; font: 400 16px/1.4 var(--font-body); box-shadow: none; box-sizing: border-box; }
body.woopify textarea:not(:where(.payment_box *)) { padding: 14px 16px; }
body.woopify :where(input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]), select, textarea):not(:where(.payment_box *)):focus { border-color: var(--color-accent); outline: none; }
body.woopify ::placeholder { color: var(--color-ink-muted); opacity: 1; }
body.woopify select:not(:where(.payment_box *)) { -webkit-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--color-ink-muted) 50%), linear-gradient(135deg, var(--color-ink-muted) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 40px; }
body.woopify select option { background: var(--color-bg); color: var(--color-ink); }
body.woopify label { color: var(--color-ink-body); font: 400 14px/1.4 var(--font-body); }
body.woopify .woocommerce-invalid :is(input, select), body.woopify [aria-invalid=true] { border-color: var(--color-error) !important; }

/* Quantity stepper (components sheet): one hairline box, − value +. */
body.woopify .quantity { display: inline-flex; align-items: stretch; height: 52px; border: 1px solid var(--color-control); }
body.woopify .quantity input.qty { width: 48px; min-height: 0; height: 50px; border: 0; padding: 0; text-align: center; background: transparent; color: var(--color-ink); -moz-appearance: textfield; }
body.woopify .quantity input.qty::-webkit-inner-spin-button, body.woopify .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.woopify .quantity .quantity-nav, body.woopify .quantity .shoptimizer-quantity-nav { display: none !important; }
body.woopify .woopify-step { width: 44px; border: 0; background: transparent; color: var(--color-ink-body); font: 400 18px/1 var(--font-body); cursor: pointer; padding: 0; }
body.woopify .woopify-step:hover { color: var(--color-accent); }

/* FAQ (details rows): question 19px ink, answer body; hairline rules; − and +. */
body.woopify .woopify-faq__item { border-top: 1px solid var(--color-hairline); }
body.woopify .woopify-faq__item:last-child { border-bottom: 1px solid var(--color-hairline); }
body.woopify .woopify-faq__q { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; padding: 28px 0; font: 400 19px/1.4 var(--font-body); color: var(--color-ink); }
body.woopify .woopify-faq__q::-webkit-details-marker { display: none; }
body.woopify .woopify-faq__q::after { content: "+"; color: var(--color-ink-muted); flex: none; }
body.woopify .woopify-faq__item[open] .woopify-faq__q::after { content: "\2212"; }
body.woopify .woopify-faq__q:hover { color: var(--color-accent); }
body.woopify .woopify-faq__a { max-width: 640px; padding: 0 0 28px; margin-top: -12px; color: var(--color-ink-body); font-size: 17px; line-height: 1.7; }
@media (max-width: 767px) { body.woopify .woopify-faq__q { font-size: 17px; padding: 22px 0; } body.woopify .woopify-faq__a { font-size: 16px; } }

/* Split block: heading column + content column (problem, FAQ, details, story). */
body.woopify .woopify-split { display: grid; grid-template-columns: 4fr 8fr; gap: 80px; align-items: start; }
body.woopify .woopify-split--even { grid-template-columns: 1fr 1fr; }
@media (max-width: 1023px) { body.woopify .woopify-split, body.woopify .woopify-split--even { grid-template-columns: 1fr; gap: 40px; } }

/* Hairline spec table (details, contact, membership). */
body.woopify .woopify-spec { list-style: none; margin: 0; padding: 0; max-width: 760px; }
body.woopify .woopify-spec li { display: grid; grid-template-columns: 140px 1fr; gap: 24px; padding: 18px 0; border-top: 1px solid var(--color-hairline); color: var(--color-ink); font-size: 16px; line-height: 1.6; margin: 0; }
body.woopify .woopify-spec li:last-child { border-bottom: 1px solid var(--color-hairline); }
body.woopify .woopify-spec .woopify-spec__k { color: var(--color-ink-muted); }
@media (max-width: 767px) { body.woopify .woopify-spec li { grid-template-columns: 1fr; gap: 4px; } }

/* Full-bleed scene with the spec scrim; text sits in the darkest band. */
body.woopify .woopify-scene { position: relative; overflow: hidden; background: var(--color-bg); }
body.woopify .woopify-scene > img.woopify-scene__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.woopify .woopify-scene::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(11,11,11,.72) 0%, rgba(11,11,11,.08) 28%, rgba(11,11,11,.25) 55%, rgba(11,11,11,.98) 100%); }
body.woopify .woopify-scene > .woopify-scene__inner { position: relative; z-index: 1; height: 100%; }
body.woopify .woopify-ratio { display: block; position: relative; overflow: hidden; }
body.woopify .woopify-ratio > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
body.woopify .woopify-ratio--1 { aspect-ratio: 1 / 1; }
body.woopify .woopify-ratio--43 { aspect-ratio: 4 / 3; }

/* Declared placeholder (D-135): only while a slot has no approved photo. */
body.woopify .woopify-photo-pending, body.woopify .woopify-scene-pending { aspect-ratio: 1 / 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: #111; border: 1px solid #1F1F1F; color: var(--color-ink-muted); font: 400 13px/1.4 var(--font-body); letter-spacing: 0.16em; text-transform: uppercase; text-align: center; }
body.woopify .woopify-need { color: var(--color-ink); outline: 1px dashed var(--color-ink-muted); }

/* WooCommerce notices: hairline, no panel colour. */
body.woopify :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) { background: transparent; color: var(--color-ink); border: 1px solid var(--color-hairline); border-left: 2px solid var(--color-accent); border-radius: 0; font-size: 16px; }
body.woopify .woocommerce-error { border-left-color: var(--color-error); }
body.woopify :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) a:not(.button) { color: var(--color-ink); border-bottom: 1px solid currentColor; }
body.woopify :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice)::before { color: var(--color-ink); }
@media (max-width: 767px) { body.woopify :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button { float: none; margin-top: 12px; } }
.woopify-admin-notice { background: #FFF4E5; color: #5A3A00; border: 2px solid #B26A00; padding: 12px 16px; margin: 16px; font: 14px/1.4 sans-serif; }
@media (prefers-reduced-motion: reduce) { body.woopify * { animation: none !important; transition: none !important; } }

/* == woopify-04-chrome == */
/* 04-chrome.css (R2): announcement, header, menu/search panel, footer. Boards "BLF Header", "BLF Footer". */
/* Shoptimizer's own header parts are unhooked in inc/chrome.php; the empty wrappers it still prints are hidden. */
body.woopify #masthead, body.woopify .col-full-nav, body.woopify .shoptimizer-sticky-header, body.woopify .header-widget-region, body.woopify .mobile-overlay, body.woopify .shoptimizer-mobile-menu, body.woopify .archive-header, body.woopify .woocommerce-breadcrumb { display: none !important; }
body.woopify .site-header, body.woopify .header-4-container { background: transparent; border: 0; box-shadow: none; }

body.woopify .woopify-header { position: relative; z-index: 60; background: var(--color-bg); color: var(--color-ink); }
body.woopify .header-4-container { display: none; } /* Shoptimizer's empty header wrapper (90px) once its header actions are removed */
body.woopify.woopify-has-scene .woopify-header { position: absolute; top: 0; left: 0; right: 0; background: transparent; }
body.admin-bar.woopify.woopify-has-scene .woopify-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar.woopify.woopify-has-scene .woopify-header { top: 46px; } }
body.woopify .woopify-announcement { height: 40px; display: flex; align-items: center; justify-content: center; padding: 0 20px; font: 400 13px/1.5 var(--font-body); letter-spacing: 0.02em; color: var(--color-ink-body); text-align: center; background: transparent; }
body.woopify .woopify-header__bar { height: 96px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 var(--space-gutter); max-width: calc(var(--space-container) + 2 * var(--space-gutter)); margin: 0 auto; box-sizing: border-box; }
body.woopify .woopify-header__menu-btn { display: none; }
body.woopify a.woopify-wordmark { justify-self: start; font: 600 19px/1 var(--font-heading); letter-spacing: 0.32em; text-transform: uppercase; color: var(--color-ink); white-space: nowrap; }
body.woopify a.woopify-wordmark:hover { color: var(--color-accent); }
body.woopify .woopify-header__nav ul { display: flex; gap: 44px; list-style: none; margin: 0; padding: 0; }
body.woopify .woopify-header__nav li { margin: 0; }
body.woopify .woopify-header__nav a, body.woopify .woopify-header__tools a, body.woopify .woopify-header__search { font: 400 15px/1 var(--font-body); letter-spacing: 0.02em; color: var(--color-ink); background: none; border: 0; padding: 12px 0; cursor: pointer; }
body.woopify .woopify-header__nav .current-menu-item > a, body.woopify .woopify-header__nav a:hover, body.woopify .woopify-header__tools a:hover, body.woopify .woopify-header__search:hover { color: var(--color-accent); }
body.woopify .woopify-header__tools { justify-self: end; display: flex; gap: 36px; align-items: center; }
@media (max-width: 1023px) {
  body.woopify .woopify-announcement { height: auto; padding: 10px 20px; }
  body.woopify .woopify-header__bar { height: 68px; grid-template-columns: 48px 1fr 60px; padding: 0 20px; }
  body.woopify .woopify-header__menu-btn { display: flex; align-items: center; justify-content: flex-start; width: 48px; height: 48px; padding: 0; background: none; border: 0; color: var(--color-ink); cursor: pointer; }
  body.woopify .woopify-header__bar > a.woopify-wordmark { justify-self: center; font-size: 13px; letter-spacing: 0.22em; }
  body.woopify .woopify-header__nav, body.woopify .woopify-header__search { display: none; }
  body.woopify .woopify-header__tools { gap: 0; }
  body.woopify .woopify-header__tools a { font-size: 14px; white-space: nowrap; }
}
@media (max-width: 359px) { body.woopify .woopify-header__bar > a.woopify-wordmark { font-size: 11px; letter-spacing: 0.12em; } body.woopify .woopify-header__tools a { font-size: 13px; } } /* R2 sweep: at 305-320 the cart link ran to the edge */

/* Menu and search panel (phone menu, and Search everywhere). */
body.woopify .woopify-panel { position: fixed; inset: 0; z-index: 100000; background: var(--color-bg); overflow-y: auto; padding: 0 var(--space-gutter) 48px; }
body.woopify .woopify-panel[hidden] { display: none; }
body.woopify .woopify-panel__top { height: 96px; display: flex; align-items: center; justify-content: space-between; max-width: calc(var(--space-container)); margin: 0 auto; }
body.woopify .woopify-panel__close { background: none; border: 0; color: var(--color-ink); font: 400 15px/1 var(--font-body); letter-spacing: 0.02em; padding: 12px 0; cursor: pointer; }
body.woopify .woopify-panel__close:hover { color: var(--color-accent); }
body.woopify .woopify-search { display: flex; gap: 12px; max-width: var(--space-container); margin: 48px auto 0; }
body.woopify .woopify-search input[type=search] { flex: 1; min-width: 0; font-size: 18px; }
body.woopify .woopify-panel__nav { max-width: var(--space-container); margin: 56px auto 0; }
body.woopify .woopify-panel__nav ul { list-style: none; margin: 0; padding: 0; }
body.woopify .woopify-panel__nav li { margin: 0; border-top: 1px solid var(--color-hairline); }
body.woopify .woopify-panel__nav li:last-child { border-bottom: 1px solid var(--color-hairline); }
body.woopify .woopify-panel__nav a { display: block; padding: 18px 0; font: 600 34px/1.1 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-panel--search .woopify-panel__nav { display: none; }
body.woopify.woopify-panel-open { overflow: hidden; }
@media (max-width: 1023px) {
  body.woopify .woopify-panel { padding: 0 20px 40px; }
  body.woopify .woopify-panel__top { height: 68px; }
  body.woopify .woopify-panel__top a.woopify-wordmark { font-size: 14px; letter-spacing: 0.22em; }
  body.woopify .woopify-search { margin-top: 24px; }
  body.woopify .woopify-search .button { padding: 0 20px; }
  body.woopify .woopify-panel__nav { margin-top: 32px; }
  body.woopify .woopify-panel__nav a { font-size: 30px; }
}

/* Footer (board: 120px top, gold rule, 3fr 3fr 4fr 2fr, policy row 96px below). */
body.woopify .site-footer { background: var(--color-bg); padding: 0; margin: 0; border: 0; color: var(--color-ink-body); }
body.woopify .site-footer .col-full { max-width: none; padding: 0; }
body.woopify .woopify-footer { padding: 120px 0 56px; }
body.woopify .woopify-footer__rule { width: 48px; height: 1px; background: var(--color-accent); opacity: .7; }
body.woopify .woopify-footer__grid { display: grid; grid-template-columns: 3fr 3fr 4fr 2fr; gap: 48px; margin-top: 48px; align-items: start; }
body.woopify .woopify-footer .woopify-label { color: var(--color-ink-muted); font-weight: 400; letter-spacing: 0.18em; }
body.woopify .woopify-footer__nav ul { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
body.woopify .woopify-footer__nav li { margin: 0; line-height: 1.4; }
body.woopify .woopify-footer__nav a { font: 400 16px/1.4 var(--font-body); color: var(--color-ink); }
body.woopify .woopify-footer__support { margin-top: 24px; display: flex; flex-direction: column; gap: 14px; font: 400 16px/1.5 var(--font-body); color: var(--color-ink-body); }
body.woopify .woopify-footer__support a { color: var(--color-ink); }
body.woopify .woopify-footer__support a[href*="page_id"], body.woopify .woopify-footer__support a[href*="policy"] { border-bottom: 1px solid var(--color-control); padding-bottom: 2px; }
body.woopify .woopify-footer__offer { margin: 24px 0 0; font: 600 26px/1.3 var(--font-heading); color: var(--color-ink); max-width: 380px; }
body.woopify .woopify-footer__col--membership .woopify-link { display: inline-block; margin-top: 20px; font: 400 15px/1 var(--font-body); letter-spacing: 0.04em; color: var(--color-ink); padding-bottom: 5px; }
body.woopify .woopify-footer__col--logo { display: flex; justify-content: flex-end; }
body.woopify .woopify-footer__col--logo img { width: 96px; height: 96px; display: block; }
body.woopify .woopify-footer__base { display: flex; justify-content: space-between; gap: 40px; flex-wrap: wrap; margin-top: 96px; font: 400 14px/1.5 var(--font-body); color: var(--color-ink-muted); }
body.woopify .woopify-footer__policy ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 28px; flex-wrap: wrap; }
body.woopify .woopify-footer__policy li { margin: 0; }
body.woopify .woopify-footer__policy a, body.woopify .woopify-footer__legal { color: var(--color-ink-muted); font: 400 14px/1.5 var(--font-body); margin: 0; }
body.woopify .woopify-footer__policy a:hover { color: var(--color-accent); }
@media (max-width: 1023px) {
  body.woopify .woopify-footer { padding: 80px 0 48px; }
  body.woopify .woopify-footer__rule { width: 40px; }
  body.woopify .woopify-footer__grid { display: flex; flex-direction: column; gap: 56px; margin-top: 40px; }
  body.woopify .woopify-footer__col--membership { order: 1; }
  body.woopify .woopify-footer__col--shop { order: 2; }
  body.woopify .woopify-footer__col--help { order: 3; }
  body.woopify .woopify-footer__col--logo { order: 4; justify-content: flex-start; }
  body.woopify .woopify-footer__col--logo img { width: 72px; height: 72px; }
  body.woopify .woopify-footer__offer { margin-top: 16px; font-size: 24px; }
  body.woopify .woopify-footer__nav ul { flex-direction: row; flex-wrap: wrap; gap: 12px 24px; margin-top: 20px; }
  body.woopify .woopify-footer__support { margin-top: 20px; font-size: 15px; line-height: 1.6; }
  body.woopify .woopify-footer__base { flex-direction: column; gap: 32px; margin-top: 40px; }
  body.woopify .woopify-footer__policy ul { flex-direction: column; gap: 12px; }
}
@media (min-width: 768px) and (max-width: 1023px) { body.woopify .woopify-footer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px 48px; } }

/* Tap targets (Lighthouse and WCAG 2.5.8, 29 Oct 2026): footer links at least 24px tall, spacing kept. */
body.woopify .woopify-footer__nav ul { gap: 13px; }
body.woopify .woopify-footer__nav a { display: inline-block; min-height: 24px; line-height: 24px; }
body.woopify .woopify-footer__policy a { display: inline-block; min-height: 24px; line-height: 24px; }
body.woopify .woopify-footer__col--membership .woopify-link { min-height: 24px; line-height: 19px; }

/* == woopify-05-home == */
/* 05-home.css (R2, board 01 Home): hero scene, problem, mechanism, mood tiles, featured, membership, facts,
 * steps, guarantee, FAQ, final call. Shared pieces (scene, split, FAQ, buttons) live in 03-base.css. */

/* Hero: 920px desktop / 780px phone; scrim from the board; text in the lower band. */
body.woopify .woopify-section--hero { padding: 0; height: 920px; min-height: 640px; max-height: 100svh; }
body.woopify .woopify-section--hero::after { background: linear-gradient(180deg, rgba(11,11,11,.7) 0%, rgba(11,11,11,.05) 28%, rgba(11,11,11,.2) 55%, rgba(11,11,11,.98) 100%); }
body.woopify .woopify-section--hero .woopify-scene__img { object-position: center 35%; }
body.woopify .woopify-hero { position: absolute; left: var(--space-gutter); right: var(--space-gutter); bottom: 80px; display: grid; grid-template-columns: 8fr 4fr; gap: 80px; align-items: end; max-width: var(--space-container); margin: 0 auto; }
body.woopify .woopify-hero .woopify-kicker { font-weight: 500; letter-spacing: 0.2em; color: var(--color-ink-body); }
body.woopify .woopify-display { margin: 28px 0 0; font: 700 var(--fs-display)/var(--lh-display) var(--font-heading); letter-spacing: -0.015em; color: var(--color-ink); text-wrap: pretty; }
body.woopify .woopify-hero__subhead { margin-top: 32px; max-width: 580px; font-size: var(--fs-lead); line-height: var(--lh-lead); color: var(--color-ink); }
body.woopify .woopify-hero .woopify-button { margin-top: 44px; }
body.woopify .woopify-hero__caption { font: 400 14px/1.6 var(--font-body); color: var(--color-ink-body); text-align: right; }
body.woopify .woopify-hero__caption .woopify-mood { display: block; font-size: 17px; line-height: 1; margin-bottom: 4px; }
@media (max-width: 1023px) {
  body.woopify .woopify-section--hero { height: 780px; }
  body.woopify .woopify-section--hero::after { background: linear-gradient(180deg, rgba(11,11,11,.9) 0%, rgba(11,11,11,.25) 30%, rgba(11,11,11,.55) 55%, rgba(11,11,11,.99) 100%); }
  body.woopify .woopify-section--hero .woopify-scene__img { object-position: 30% center; }
  body.woopify .woopify-hero { left: 20px; right: 20px; bottom: 40px; grid-template-columns: 1fr; gap: 20px; }
  body.woopify .woopify-display { margin-top: 16px; }
  body.woopify .woopify-hero__subhead { margin-top: 20px; }
  body.woopify .woopify-hero .woopify-button { margin-top: 28px; }
  body.woopify .woopify-hero__caption { text-align: left; font-size: 13px; }
  body.woopify .woopify-hero__caption .woopify-mood { display: inline; font-size: 15px; }
}
@media (min-width: 768px) and (max-width: 1023px) { body.woopify .woopify-section--hero { height: 860px; } body.woopify .woopify-hero { left: 40px; right: 40px; bottom: 64px; } body.woopify .woopify-display { font-size: 80px; } }
@media (max-width: 767px) { body.woopify .woopify-hero .woopify-button { width: 100%; } }

/* Large H2 (56px) used by problem and membership; numbered list under the pull quote. */
body.woopify .woopify-h2--large { font-size: 56px; line-height: 1.05; max-width: 520px; text-wrap: pretty; }
@media (max-width: 767px) { body.woopify .woopify-h2--large { font-size: 38px; line-height: 1.08; } }
body.woopify .woopify-section--problem .woopify-body > p:first-child { font-size: 18px; line-height: 1.7; }
body.woopify .woopify-body.woopify-body--numbered ul { list-style: none; padding: 0; margin: 44px 0 0; counter-reset: woopify-n; display: flex; flex-direction: column; gap: 18px; font-size: 17px; line-height: 1.6; }
body.woopify .woopify-body.woopify-body--numbered li { display: flex; gap: 24px; margin: 0; counter-increment: woopify-n; }
body.woopify .woopify-body--numbered li::before { content: counter(woopify-n, decimal-leading-zero); flex: none; color: var(--color-ink-muted); font-size: 14px; padding-top: 3px; }
@media (max-width: 767px) { body.woopify .woopify-section--problem .woopify-split { gap: 24px; } body.woopify .woopify-section--problem .woopify-body p:has(> em:only-child) { margin-top: 28px; } body.woopify .woopify-body.woopify-body--numbered ul { margin-top: 28px; gap: 14px; font-size: 16px; } body.woopify .woopify-body.woopify-body--numbered li { gap: 16px; } body.woopify .woopify-body--numbered li::before { font-size: 13px; } body.woopify .woopify-section--problem .woopify-body > p:first-child { font-size: 16px; } }

/* Image + words rows (mechanism 7/5, membership 5/7). */
body.woopify .woopify-media-row { display: grid; gap: 96px; align-items: center; }
body.woopify .woopify-media-row--7-5 { grid-template-columns: 7fr 5fr; }
body.woopify .woopify-media-row--5-7 { grid-template-columns: 5fr 7fr; }
body.woopify .woopify-media-row__media { margin: 0; }
body.woopify .woopify-media-row__text .woopify-body { margin-top: 32px; font-size: 18px; line-height: 1.7; }
body.woopify .woopify-media-row__text .woopify-scene-caption { margin-top: 40px; }
body.woopify .woopify-crop-corner > img { object-position: 0% 100%; transform: scale(1.5); transform-origin: 0% 100%; }
@media (max-width: 1023px) {
  body.woopify .woopify-media-row, body.woopify .woopify-media-row--7-5, body.woopify .woopify-media-row--5-7 { grid-template-columns: 1fr; gap: 40px; }
  body.woopify .woopify-section--mechanism .woopify-container { padding: 0; }
  body.woopify .woopify-section--mechanism .woopify-media-row__text { padding: 0 var(--space-gutter); }
  body.woopify .woopify-media-row__text .woopify-body { margin-top: 20px; font-size: 16px; }
  body.woopify .woopify-media-row__text .woopify-body p + p { margin-top: 16px; }
  body.woopify .woopify-media-row__text .woopify-scene-caption { margin-top: 20px; font-size: 14px; }
}

/* Mood tiles: 5 across; phone a horizontal scroll of 220px tiles. */
body.woopify .woopify-section--categories .woopify-h2 { margin-bottom: 56px; }
body.woopify .woopify-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
body.woopify .woopify-tiles li { margin: 0; }
body.woopify .woopify-tile { display: block; }
body.woopify .woopify-tile .woopify-ratio > img { transition: transform 1.2s ease; }
body.woopify .woopify-tile:hover .woopify-ratio > img { transform: scale(1.03); }
body.woopify .woopify-tile__name { display: block; margin-top: 20px; font: 600 28px/1.1 var(--font-heading); color: var(--color-ink); transition: color .3s; }
body.woopify .woopify-tile:hover .woopify-tile__name { color: var(--color-accent); }
body.woopify .woopify-tile__line { display: block; margin-top: 8px; font: 400 16px/1.6 var(--font-body); color: var(--color-ink-body); }
@media (max-width: 1023px) {
  body.woopify .woopify-section--categories .woopify-h2 { margin-bottom: 36px; }
  body.woopify .woopify-section--categories .woopify-container { padding-right: 0; }
  body.woopify .woopify-tiles { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-right: 20px; scrollbar-width: none; }
  body.woopify .woopify-tiles::-webkit-scrollbar { display: none; }
  body.woopify .woopify-tiles li { flex: none; width: 220px; scroll-snap-align: start; }
  body.woopify .woopify-tile__name { margin-top: 16px; font-size: 24px; }
  body.woopify .woopify-tile__line { margin-top: 6px; line-height: 1.55; }
}

/* Membership text column. */
body.woopify .woopify-membership { max-width: 560px; }
body.woopify .woopify-rule { width: 48px; height: 1px; background: var(--color-accent); }
body.woopify .woopify-membership .woopify-h2 { margin-top: 32px; }
body.woopify .woopify-lead--22 { font-size: 22px; line-height: 1.5; color: var(--color-ink); }
body.woopify .woopify-membership .woopify-lead { margin-top: 32px; }
body.woopify .woopify-membership__body { margin-top: 20px; font-size: 17px; line-height: 1.7; }
body.woopify .woopify-membership .woopify-button { margin-top: 40px; }
@media (max-width: 1023px) { body.woopify .woopify-rule { width: 40px; } body.woopify .woopify-membership .woopify-h2 { margin-top: 24px; } body.woopify .woopify-membership .woopify-lead { margin-top: 20px; font-size: 19px; } body.woopify .woopify-membership__body { font-size: 16px; } body.woopify .woopify-membership .woopify-button { margin-top: 28px; } }

/* Facts row and steps. */
body.woopify .woopify-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 48px; }
body.woopify .woopify-facts li { margin: 0; font-size: 17px; line-height: 1.6; color: var(--color-ink-body); }
body.woopify .woopify-facts__head { display: block; font: 600 34px/1.1 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-facts__text { display: block; margin-top: 12px; }
body.woopify .woopify-facts__text::first-letter { text-transform: uppercase; }
body.woopify .woopify-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
body.woopify .woopify-steps li { margin: 0; }
body.woopify .woopify-steps__n { display: block; font: 400 14px/1 var(--font-body); letter-spacing: 0.16em; color: var(--color-ink-muted); }
body.woopify .woopify-steps__h { margin-top: 20px; font-size: 30px; line-height: 1.15; }
body.woopify .woopify-steps p { margin-top: 14px; font-size: 17px; line-height: 1.7; }
body.woopify .woopify-guarantee { max-width: 760px; margin: 0 auto; text-align: center; font: 600 30px/1.4 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-guarantee p { margin: 0; }
@media (max-width: 1023px) {
  body.woopify .woopify-facts { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
  body.woopify .woopify-facts li { font-size: 16px; }
  body.woopify .woopify-facts__head { font-size: 28px; }
  body.woopify .woopify-facts__text { margin-top: 8px; }
  body.woopify .woopify-steps { grid-template-columns: 1fr; gap: 40px; }
  body.woopify .woopify-steps__h { margin-top: 14px; font-size: 26px; }
  body.woopify .woopify-steps p { font-size: 16px; margin-top: 10px; }
  body.woopify .woopify-steps__n { font-size: 13px; }
  body.woopify .woopify-guarantee { font-size: 24px; }
}

/* FAQ heading column. */
body.woopify .woopify-section--faq .woopify-split { grid-template-columns: 4fr 8fr; }
@media (max-width: 1023px) { body.woopify .woopify-section--faq .woopify-split { grid-template-columns: 1fr; gap: 28px; } }

/* Final call band: 760px desktop / 620px phone, stronger scrim, centred. */
body.woopify .woopify-band { margin-top: var(--space-section); padding: 0; height: 760px; }
body.woopify .woopify-band::after { background: linear-gradient(180deg, rgba(11,11,11,.98) 0%, rgba(11,11,11,.72) 35%, rgba(11,11,11,.78) 70%, rgba(11,11,11,.98) 100%); }
body.woopify .woopify-band .woopify-scene__img { object-position: center 60%; }
body.woopify .woopify-band__inner { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
body.woopify .woopify-band__h { font: 700 80px/1.02 var(--font-heading); letter-spacing: -0.01em; color: var(--color-ink); margin: 0; }
body.woopify .woopify-band__lead { margin-top: 32px; max-width: 640px; font-size: 18px; line-height: 1.7; color: var(--color-ink); }
body.woopify .woopify-band__lead mark { font: italic 400 20px/1 var(--font-mood); color: var(--color-accent); }
body.woopify .woopify-band__body { margin-top: 16px; max-width: 640px; font-size: 17px; line-height: 1.7; color: var(--color-ink-body); }
body.woopify .woopify-band .woopify-button { margin-top: 44px; }
@media (max-width: 1023px) {
  body.woopify .woopify-band { height: 620px; }
  body.woopify .woopify-band__h { font-size: 44px; letter-spacing: 0; }
  body.woopify .woopify-band__lead mark { font-size: 18px; }
  body.woopify .woopify-band__lead { margin-top: 24px; font-size: 16px; }
  body.woopify .woopify-band__body { font-size: 16px; }
  body.woopify .woopify-band .woopify-button { margin-top: 32px; }
}
@media (max-width: 767px) { body.woopify .woopify-band .woopify-button { width: 100%; } }

/* == woopify-06-collection == */
/* 06-collection.css (R2, boards 02 Collection and 02b Woods & Smoke, "BLF Card"): collection scene header, intro,
 * filter row, 4-up grid (2-up phone), product card, pagination, bottom copy. */

/* Shoptimizer's archive wrappers: no sidebar, our container width. */
body.woopify .col-full { max-width: calc(var(--space-container) + 2 * var(--space-gutter)); padding-left: var(--space-gutter); padding-right: var(--space-gutter); box-sizing: border-box; }
body.woopify .col-full:has(> .woopify-main) { max-width: none; padding-left: 0; padding-right: 0; } /* page templates: sections run full-bleed and carry their own container */
body.woopify.woocommerce-page .content-area, body.woopify .content-area { width: 100%; float: none; margin: 0; }
body.woopify #secondary, body.woopify .woocommerce-products-header { display: none; }
body.woopify .shoptimizer-archive > .col-full, body.woopify .site-content { padding-top: 0; }
body.woopify.archive .site-main, body.woopify.post-type-archive-product .site-main { padding: 0; margin: 0; }

/* Scene header: 640px desktop, 560px phone. */
body.woopify .woopify-collection-head { position: relative; height: 640px; }
body.woopify .woopify-collection-head:not(.woopify-scene) { height: auto; padding: 200px 0 64px; }
body.woopify .woopify-collection-head::after { background: linear-gradient(180deg, rgba(11,11,11,.8) 0%, rgba(11,11,11,.3) 35%, rgba(11,11,11,.98) 100%); }
body.woopify .woopify-collection-head .woopify-scene__img { object-position: center 35%; }
body.woopify .woopify-collection-head__grid { position: absolute; left: var(--space-gutter); right: var(--space-gutter); bottom: 64px; display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: end; max-width: var(--space-container); margin: 0 auto; }
body.woopify .woopify-collection-head:not(.woopify-scene) .woopify-collection-head__grid { position: static; }
body.woopify .woopify-collection-head h1 { margin: 0; text-wrap: pretty; }
body.woopify .woopify-collection-head__intro { margin-bottom: 8px; }
body.woopify .woopify-collection-head__intro p, body.woopify .woopify-collection-intro p { margin: 0; }
body.woopify .woopify-collection-head__cap { text-align: right; font-size: 14px; color: var(--color-ink-body); }
body.woopify .woopify-collection-head__cap .woopify-mood { font-size: 17px; }
body.woopify .woopify-collection-intro { margin-top: 64px; }
body.woopify .woopify-collection-intro .woopify-lead { max-width: 760px; }
body.woopify .woopify-collection-intro--phone { display: none; }
@media (max-width: 1023px) {
  body.woopify .woopify-collection-head { height: 560px; }
  body.woopify .woopify-collection-head::after { background: linear-gradient(180deg, rgba(11,11,11,.9) 0%, rgba(11,11,11,.35) 35%, rgba(11,11,11,.99) 100%); }
  body.woopify .woopify-collection-head .woopify-scene__img { object-position: 40% center; }
  body.woopify .woopify-collection-head__grid { left: 20px; right: 20px; bottom: 32px; grid-template-columns: 1fr; gap: 16px; }
  body.woopify .woopify-collection-head h1 { font-size: 42px; line-height: 1.05; }
  body.woopify .woopify-collection-head__intro { display: none; }
  body.woopify .woopify-collection-head__cap { text-align: left; font-size: 13px; }
  body.woopify .woopify-collection-intro { margin-top: 40px; }
  body.woopify .woopify-collection-intro--phone { display: block; }
  body.woopify .woopify-collection-intro .woopify-lead { font-size: 17px; }
}
@media (min-width: 768px) and (max-width: 1023px) { body.woopify .woopify-collection-head__grid { left: 40px; right: 40px; } body.woopify .woopify-collection-head h1 { font-size: 64px; } }

/* Filter row: moods (links) left with format and size facts; result count and sorting right. */
body.woopify .woopify-filter-row { display: flex; justify-content: space-between; align-items: baseline; gap: 24px 40px; flex-wrap: wrap; padding: 64px 0 40px; font: 400 15px/1.4 var(--font-body); letter-spacing: 0.02em; color: var(--color-ink-muted); }
body.woopify .woopify-filter-row__moods { display: flex; gap: 8px 28px; flex-wrap: wrap; }
body.woopify .woopify-filter-row__moods a { color: var(--color-ink-muted); padding: 6px 0; border-bottom: 1px solid transparent; }
body.woopify .woopify-filter-row__moods a[aria-current] { color: var(--color-ink); border-bottom-color: var(--color-ink); }
body.woopify .woopify-filter-row__moods a:hover { color: var(--color-accent); }
body.woopify .woopify-filter-row__facts { display: flex; gap: 8px 32px; flex-wrap: wrap; margin: 0; width: 100%; order: 3; }
body.woopify .woopify-filter-row__facts b { color: var(--color-ink); font-weight: 400; }
body.woopify .woopify-filter-row__right { display: flex; gap: 32px; align-items: baseline; }
body.woopify .woopify-filter-row .woocommerce-result-count { margin: 0; float: none; padding: 0; color: var(--color-ink-muted); font-size: 15px; }
body.woopify .woopify-filter-row .woocommerce-ordering { margin: 0; float: none; }
body.woopify .woopify-filter-row .woocommerce-ordering select { min-height: 0; height: 40px; border: 0; border-bottom: 1px solid var(--color-control); padding: 0 32px 0 0; font-size: 15px; color: var(--color-ink); background-position: calc(100% - 12px) 50%, calc(100% - 7px) 50%; width: auto; }
@media (max-width: 1023px) {
  body.woopify .woopify-filter-row { padding: 40px 0 32px; flex-direction: column; align-items: stretch; gap: 12px; }
  body.woopify .woopify-filter-row__facts { order: 0; gap: 8px 24px; }
  body.woopify .woopify-filter-row__right { justify-content: space-between; }
}

/* Grid: 4-up, 64/32 gaps; phone 2-up, 40/16. */
body.woopify ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 64px 32px; margin: 0; padding: 0; list-style: none; }
body.woopify ul.products::before, body.woopify ul.products::after { display: none !important; }
body.woopify ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; text-align: left; }
/* Shoptimizer (>=993px) draws a white panel with a shadow behind each card on hover/focus (li.product::before);
   on the black ground it hid the card text. Off everywhere (Gabriel, 29 Oct 2026). */
body.woopify ul.products li.product::before, body.woopify ul.products li.product:hover::before, body.woopify ul.products li.product:focus-within::before { display: none !important; content: none !important; }
@media (max-width: 1023px) { body.woopify ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 16px; } }

/* Card. */
body.woopify .woopify-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 64px 32px; }
body.woopify .woopify-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.woopify .woopify-cards li { margin: 0; }
@media (max-width: 1023px) { body.woopify .woopify-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; } }
body.woopify a.woopify-card { display: block; color: var(--color-ink); }
body.woopify .woopify-card__media { display: block; background: #111; }
body.woopify .woopify-card__media > img { transition: opacity .9s ease; }
body.woopify .woopify-card__placard { opacity: 0; }
@media (hover: hover) and (pointer: fine) { body.woopify .woopify-card:hover .woopify-card__media--swap .woopify-card__placard, body.woopify .woopify-card:focus-visible .woopify-card__media--swap .woopify-card__placard { opacity: 1; } }
body.woopify .woopify-card .woopify-scene-pending { position: absolute; inset: 0; aspect-ratio: auto; padding: 24px; letter-spacing: 0.16em; }
body.woopify .woopify-card .woopify-scene-pending .woopify-mood { font-size: 17px; letter-spacing: 0; }
body.woopify .woopify-card__pending-title { font: 600 26px/1.1 var(--font-heading); color: var(--color-ink); letter-spacing: 0; text-transform: none; margin-bottom: 10px; }
body.woopify .woopify-card__mood { display: block; margin-top: 20px; font-size: 17px; line-height: 1; }
body.woopify .woopify-card__title { display: block; margin-top: 8px; font: 600 26px/1.15 var(--font-heading); color: var(--color-ink); transition: color .3s; }
body.woopify a.woopify-card:hover .woopify-card__title { color: var(--color-accent); }
body.woopify .woopify-card__desc { display: block; margin-top: 10px; font: 400 16px/1.6 var(--font-body); color: var(--color-ink-body); }
body.woopify .woopify-card__price { display: block; margin-top: 10px; font: 400 15px/1.4 var(--font-body); letter-spacing: 0.02em; color: var(--color-ink-muted); }
body.woopify .woopify-card__price .amount, body.woopify .woopify-card__price bdi { color: inherit; font-weight: 400; }
body.woopify .woopify-card__link { display: inline-block; margin-top: 12px; font: 400 14px/1 var(--font-body); letter-spacing: 0.04em; color: var(--color-ink); border-bottom: 1px solid var(--color-ink); padding-bottom: 4px; }
@media (max-width: 1023px) {
  body.woopify .woopify-card__mood { margin-top: 16px; font-size: 15px; }
  body.woopify .woopify-card__title { font-size: 22px; }
  body.woopify .woopify-card__desc { font-size: 15px; }
}

/* Pagination: numbers in muted Jost, current underlined in ink; centred under the grid (board 02). */
body.woopify .shoptimizer-sorting.sorting-end { display: flex; justify-content: center; float: none; width: 100%; }
body.woopify .woocommerce-pagination { padding-top: 80px; text-align: center; }
body.woopify .woocommerce-pagination ul.page-numbers { display: inline-flex; gap: 40px; border: 0; margin: 0; }
body.woopify .woocommerce-pagination ul.page-numbers li { border: 0; float: none; }
body.woopify .woocommerce-pagination ul.page-numbers li .page-numbers { background: none !important; border: 0 !important; padding: 0 0 6px; min-width: 0; font: 400 14px/1 var(--font-body); letter-spacing: 0.04em; color: var(--color-ink-muted); }
body.woopify .woocommerce-pagination ul.page-numbers li .page-numbers.current { color: var(--color-ink) !important; border-bottom: 1px solid var(--color-ink) !important; }
body.woopify .woocommerce-pagination ul.page-numbers li a.page-numbers:hover { color: var(--color-accent); }
body.woopify .woocommerce-pagination .next::after, body.woopify .woocommerce-pagination .prev::after, body.woopify .woocommerce-pagination .next::before, body.woopify .woocommerce-pagination .prev::before { display: none !important; }
@media (max-width: 767px) { body.woopify .woocommerce-pagination { padding-top: 56px; } body.woopify .woocommerce-pagination ul.page-numbers { gap: 28px; } }

/* Bottom copy ("How to choose") and the membership line. */
body.woopify .woopify-section--bottom-copy { padding-bottom: var(--space-section); }
body.woopify .woopify-cols-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; margin-top: 48px; font-size: 17px; line-height: 1.7; }
body.woopify .woopify-cols-3 p { margin: 0; }
body.woopify .woopify-cols-3 strong, body.woopify .woopify-section--bottom-copy .woopify-body strong { color: var(--color-ink); font-weight: 500; }
body.woopify .woopify-section--bottom-copy .woopify-split .woopify-body { font-size: 18px; max-width: 680px; }
body.woopify .woopify-offer-line { margin-top: 72px; max-width: 760px; font: 600 30px/1.4 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-offer-line .woopify-link { display: inline-block; margin-left: 16px; font: 400 15px/1 var(--font-body); letter-spacing: 0.04em; white-space: nowrap; padding-bottom: 5px; vertical-align: middle; }
@media (max-width: 1023px) {
  body.woopify .woopify-cols-3 { grid-template-columns: 1fr; gap: 24px; margin-top: 28px; font-size: 16px; }
  body.woopify .woopify-offer-line { margin-top: 48px; font-size: 24px; }
  body.woopify .woopify-offer-line .woopify-link { display: block; margin: 16px 0 0; width: max-content; }
}

/* Search results and empty results. */
body.woopify.search .woopify-filter-row { padding-top: 96px; align-items: flex-end; }
body.woopify .woopify-search-title { margin: 0; font: 700 56px/1.05 var(--font-heading); color: var(--color-ink); }
@media (max-width: 1023px) { body.woopify.search .woopify-filter-row { padding-top: 48px; } body.woopify .woopify-search-title { font-size: 36px; } }
body.woopify .woocommerce-info.woocommerce-no-products-found { margin-top: 40px; }

/* == woopify-07-product == */
/* 07-product.css (R2, board 03 "Product Smoldering", 375 and launch-message variants): scene opener, gallery and buy
 * box on the black ground (7/5), Format tabs and Size list (theme.js builds them over WooCommerce's selects),
 * quantity stepper and add to cart, highlights alternating with 4:3 images, details spec list, proof statements,
 * FAQ (03-base.css), phone sticky bar. Shoptimizer's own product chrome is neutralised here. */

/* Ground and wrappers. */
body.woopify.single-product .site-content, body.woopify.single-product .col-full { background: transparent; }
body.woopify.single-product .site-main { margin: 0; padding: 0; }
body.woopify.single-product div.product { margin: 0; padding: 0; }
body.woopify .shoptimizer-product-prevnext, body.woopify .call-back-feature, body.woopify .product-widget,
body.woopify.single-product .product_meta, body.woopify .shoptimizer-sticky-add-to-cart,
body.woopify .woocommerce-product-gallery__trigger, body.woopify .woocommerce-product-gallery .flex-direction-nav,
body.woopify.single-product .related-wrapper:not(:has(.products li)), body.woopify .single_variation_wrap .woocommerce-variation.single_variation,
body.woopify form.variations_form .reset_variations { display: none !important; }

/* Scene opener: 640px desktop, 600px phone; mood, title and descriptor low left. */
body.woopify .woopify-product-head { position: relative; height: 640px; }
body.woopify .woopify-product-head::after { background: linear-gradient(180deg, rgba(11,11,11,.75) 0%, rgba(11,11,11,.1) 35%, rgba(11,11,11,.98) 100%); }
body.woopify .woopify-product-head .woopify-scene__img { object-position: center 60%; }
body.woopify .woopify-product-head__text { position: absolute; left: var(--space-gutter); right: var(--space-gutter); bottom: 56px; max-width: var(--space-container); margin: 0 auto; }
body.woopify .woopify-product-head__mood { margin: 0; font-size: 24px; line-height: 1; }
body.woopify h1.woopify-product-head__title { margin: 14px 0 0; font: 700 92px/0.98 var(--font-heading); letter-spacing: -0.01em; color: var(--color-ink); text-transform: none; text-wrap: balance; }
body.woopify .woopify-product-head__descriptor { margin: 22px 0 0; font: 400 13px/1 var(--font-body); letter-spacing: 0.24em; text-transform: uppercase; color: var(--color-ink-body); }
@media (max-width: 1023px) {
  body.woopify .woopify-product-head { height: 600px; }
  body.woopify .woopify-product-head::after { background: linear-gradient(180deg, rgba(11,11,11,.9) 0%, rgba(11,11,11,.25) 35%, rgba(11,11,11,.99) 100%); }
  body.woopify .woopify-product-head .woopify-scene__img { object-position: 30% center; }
  body.woopify .woopify-product-head__text { left: 20px; right: 20px; bottom: 32px; }
  body.woopify .woopify-product-head__mood { font-size: 18px; }
  body.woopify h1.woopify-product-head__title { margin-top: 10px; font-size: 50px; letter-spacing: 0; }
  body.woopify .woopify-product-head__descriptor { margin-top: 14px; letter-spacing: 0.22em; line-height: 1.5; }
}
@media (min-width: 768px) and (max-width: 1023px) { body.woopify .woopify-product-head__text { left: 40px; right: 40px; } body.woopify h1.woopify-product-head__title { font-size: 72px; } }

/* Gallery and buy box: 7/5, 96px gap. */
body.woopify.single-product .product-details-wrapper { display: grid; grid-template-columns: 7fr 5fr; gap: 96px; align-items: start; max-width: calc(var(--space-container) + 2 * var(--space-gutter)); margin: 0 auto; padding: 64px var(--space-gutter) 0; box-sizing: border-box; }
body.woopify.single-product .product-details-wrapper::before, body.woopify.single-product .product-details-wrapper::after { display: none; }
/* Shoptimizer's .col-full adds its own 20px phone gutter around the whole product page (content sat at x40, the
 * gallery overflowed to 395px); the wrapper and the sections carry the gutter themselves, as on the home page. */
body.woopify.single-product .col-full:has(.product-details-wrapper) { max-width: none; padding-left: 0; padding-right: 0; }
body.woopify.single-product .product-details-wrapper > * { min-width: 0; }
body.woopify.single-product div.product .woocommerce-product-gallery, body.woopify.single-product div.product .summary { width: auto !important; float: none !important; margin: 0 !important; padding: 0; background: none; border: 0; }
body.woopify .woocommerce-product-gallery { position: relative; opacity: 1 !important; }
body.woopify .woocommerce-product-gallery .flex-viewport, body.woopify .woocommerce-product-gallery__wrapper { margin: 0; }
body.woopify .woocommerce-product-gallery__image { aspect-ratio: 1 / 1; overflow: hidden; background: #111; }
body.woopify .woocommerce-product-gallery__image a { display: block; height: 100%; pointer-events: none; }
body.woopify .woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
body.woopify .woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 16px; margin: 16px 0 0; padding: 3px; list-style: none; }
body.woopify .woocommerce-product-gallery .flex-control-thumbs li { width: 96px !important; height: 96px; flex: none; margin: 0 !important; float: none; }
body.woopify .woocommerce-product-gallery .flex-control-thumbs img { width: 96px; height: 96px; object-fit: cover; opacity: 1 !important; cursor: pointer; display: block; }
body.woopify .woocommerce-product-gallery .flex-control-thumbs img.flex-active { outline: 1px solid var(--color-ink); outline-offset: 3px; }
body.woopify .woocommerce-product-gallery .flex-control-thumbs img:hover { outline: 1px solid var(--color-control); outline-offset: 3px; }

/* Buy box. */
body.woopify .summary .woopify-price { margin: 0; font: 400 20px/1 var(--font-body); color: var(--color-ink); }
body.woopify .summary .woopify-price .amount, body.woopify .summary .woopify-price bdi { color: inherit; font-weight: 400; }
body.woopify .woopify-price__member { margin-left: 10px; font-size: 15px; color: var(--color-ink-muted); }
body.woopify.single-product .woocommerce-product-details__short-description { margin: 36px 0 0; color: var(--color-ink-body); font-size: 17px; line-height: 1.7; }
body.woopify.single-product .woocommerce-product-details__short-description p { margin: 0; }
body.woopify.single-product .woocommerce-product-details__short-description p + p { margin-top: 14px; }
body.woopify.single-product .woocommerce-product-details__short-description strong { display: block; font: 600 30px/1.3 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-options-help { margin: 0; }
body.woopify .woopify-help { margin: 14px 0 0; font: 400 16px/1.6 var(--font-body); color: var(--color-ink-muted); }
body.woopify.single-product form.cart { margin: 0; padding: 0; border: 0; }
body.woopify form.variations_form table.variations { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0; }
body.woopify .woopify-optlabel { margin: 44px 0 0; font: 400 13px/1 var(--font-body); letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-ink-muted); }
body.woopify .woopify-optlabel--size { margin-top: 36px; }
body.woopify .woopify-tabs { display: flex; gap: 32px; margin: 14px 0 0; border-bottom: 1px solid var(--color-hairline); }
body.woopify button.woopify-tab { height: auto; padding: 0 0 14px; margin: 0 0 -1px; background: none; border: 0; border-bottom: 1px solid transparent; border-radius: 0; font: 400 16px/1 var(--font-body); letter-spacing: 0; color: var(--color-ink-muted); cursor: pointer; }
body.woopify button.woopify-tab:hover { color: var(--color-ink); background: none; }
body.woopify button.woopify-tab[aria-checked="true"] { font-weight: 500; color: var(--color-ink); border-bottom-color: var(--color-ink); }
body.woopify button.woopify-tab[disabled] { opacity: .4; cursor: not-allowed; }
body.woopify .woopify-sizes { display: flex; flex-direction: column; margin: 14px 0 0; border-bottom: 1px solid var(--color-hairline); }
body.woopify button.woopify-size { display: grid; grid-template-columns: 96px 1fr 1fr 1.2fr; align-items: center; width: 100%; height: auto; padding: 16px 0; margin: 0; background: none; border: 0; border-top: 1px solid var(--color-hairline); border-radius: 0; text-align: left; font: 400 16px/1 var(--font-body); letter-spacing: 0; color: var(--color-ink-body); cursor: pointer; white-space: normal; }
body.woopify button.woopify-size:hover { background: none; color: var(--color-ink); }
body.woopify button.woopify-size[aria-checked="true"] { color: var(--color-ink); }
body.woopify button.woopify-size[disabled] { opacity: .4; cursor: not-allowed; }
body.woopify .woopify-size__name { display: flex; align-items: center; gap: 14px; font-weight: 500; }
body.woopify .woopify-size__dot { width: 9px; height: 9px; flex: none; border-radius: 50%; border: 1px solid var(--color-control); box-sizing: border-box; }
body.woopify button.woopify-size[aria-checked="true"] .woopify-size__dot { border-color: var(--color-ink); background: var(--color-ink); }
body.woopify .woopify-size__oz, body.woopify .woopify-size__member { color: var(--color-ink-muted); }
body.woopify .woopify-size__member { text-align: right; }
body.woopify .single_variation_wrap { margin: 0; }
body.woopify .woocommerce-variation-add-to-cart, body.woopify form.cart:not(.variations_form) { display: grid !important; grid-template-columns: 148px 1fr; gap: 12px; margin: 36px 0 0; align-items: stretch; }
body.woopify .woocommerce-variation-add-to-cart::before, body.woopify .woocommerce-variation-add-to-cart::after, body.woopify form.cart:not(.variations_form)::before, body.woopify form.cart:not(.variations_form)::after { display: none !important; } /* clearfix pseudo-elements take grid cells */
body.woopify form.cart .quantity { display: grid; grid-template-columns: 48px 1fr 48px; align-items: center; height: 52px; width: auto !important; min-width: 0 !important; margin: 0 !important; border: 1px solid var(--color-control); box-sizing: border-box; position: relative; float: none; }
body.woopify form.cart .quantity .quantity-nav { display: none !important; }
body.woopify form.cart .quantity input.qty { width: 100% !important; height: 50px; padding: 0 !important; margin: 0; border: 0 !important; background: none !important; text-align: center; font: 400 16px/1 var(--font-body); color: var(--color-ink); -moz-appearance: textfield; box-shadow: none; }
body.woopify form.cart .quantity input.qty::-webkit-inner-spin-button, body.woopify form.cart .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.woopify button.woopify-step { height: 50px; width: 48px; padding: 0; margin: 0; background: none; border: 0; border-radius: 0; color: var(--color-ink-muted); font: 400 18px/1 var(--font-body); cursor: pointer; }
body.woopify button.woopify-step:hover { background: none; color: var(--color-ink); }
body.woopify form.cart .single_add_to_cart_button { width: 100%; height: 52px; margin: 0 !important; padding: 0 16px; font: 500 15px/1 var(--font-body); letter-spacing: 0.08em; text-transform: none; float: none; }
body.woopify form.cart .single_add_to_cart_button.disabled { opacity: 1; cursor: pointer; }
body.woopify .woopify-buy-note { margin: 20px 0 0; font: 400 16px/1.6 var(--font-body); color: var(--color-ink-muted); }
body.woopify .woopify-buy-note p { margin: 0; }
body.woopify.single-product .summary .stock { display: none; }
@media (max-width: 1023px) {
  body.woopify.single-product .product-details-wrapper { grid-template-columns: 1fr; gap: 0; padding: 32px 20px 0; }
  body.woopify .woocommerce-product-gallery .flex-control-thumbs { gap: 12px; margin-top: 12px; }
  body.woopify .woocommerce-product-gallery .flex-control-thumbs li, body.woopify .woocommerce-product-gallery .flex-control-thumbs img { width: 64px !important; height: 64px; }
  body.woopify .summary .woopify-price { margin-top: 40px; font-size: 19px; }
  body.woopify .woopify-price__member { display: block; margin: 8px 0 0; font-size: 14px; }
  body.woopify.single-product .woocommerce-product-details__short-description { margin-top: 28px; font-size: 16px; }
  body.woopify.single-product .woocommerce-product-details__short-description strong { font-size: 26px; }
  body.woopify.single-product .woocommerce-product-details__short-description p + p { margin-top: 12px; }
  body.woopify .woopify-optlabel { margin-top: 36px; }
  body.woopify .woopify-optlabel--size { margin-top: 32px; }
  body.woopify .woopify-tabs { gap: 28px; margin-top: 12px; }
  body.woopify button.woopify-tab { padding-bottom: 12px; }
  body.woopify .woopify-help { margin-top: 12px; }
  body.woopify .woopify-sizes { margin-top: 12px; }
  body.woopify button.woopify-size { grid-template-columns: 72px 1fr 1fr; padding: 14px 0; line-height: 1.4; }
  body.woopify .woopify-size__name { gap: 10px; }
  body.woopify .woopify-size__price { display: flex; flex-direction: column; }
  body.woopify .woopify-size__price .woopify-size__oz { font-size: 13px; }
  body.woopify .woopify-size__member { font-size: 14px; }
  body.woopify .woocommerce-variation-add-to-cart, body.woopify form.cart:not(.variations_form) { grid-template-columns: 120px 1fr; gap: 10px; margin-top: 32px; }
  body.woopify form.cart .quantity { grid-template-columns: 40px 1fr 40px; }
  body.woopify button.woopify-step { width: 40px; }
  body.woopify .woopify-buy-note { margin-top: 16px; }
}
@media (min-width: 768px) and (max-width: 1023px) { body.woopify.single-product .product-details-wrapper { padding: 40px 40px 0; } }
@media (min-width: 1024px) { body.woopify .woopify-size__price .woopify-size__oz { display: none; } }
@media (max-width: 1023px) { body.woopify .woopify-size > .woopify-size__oz { display: none; } }

/* Highlights: rows alternate 7/5 and 5/7; 4:3 images; the second row is the scene closer in. */
body.woopify .woopify-section--highlight .woopify-media-row { align-items: center; }
body.woopify .woopify-section--highlight-flip .woopify-media-row__media { order: 2; }
body.woopify .woopify-crop--scene > img { object-position: center 70%; }
body.woopify .woopify-crop--scene-close > img { object-position: left 80%; transform: scale(1.6); transform-origin: 20% 90%; }
body.woopify .woopify-crop--placard > img { object-position: center 30%; }
body.woopify .woopify-figcaption { margin-top: 16px; font: 400 15px/1.5 var(--font-body); color: var(--color-ink-muted); }
body.woopify .woopify-section--highlight .woopify-h2 .woopify-mood { font-size: 0.84em; line-height: 1; }
body.woopify .woopify-section--highlight .woopify-media-row__text .woopify-body { margin-top: 28px; font-size: 18px; line-height: 1.7; }
@media (max-width: 1023px) {
  body.woopify .woopify-section--highlight { padding-top: 96px; }
  body.woopify .woopify-section--highlight .woopify-container { padding: 0; }
  body.woopify .woopify-section--highlight .woopify-media-row { gap: 0; }
  body.woopify .woopify-section--highlight-flip .woopify-media-row__media { order: 0; }
  body.woopify .woopify-figcaption { margin: 0; padding: 16px 20px 0; font-size: 14px; }
  body.woopify .woopify-section--highlight .woopify-media-row__text { padding: 32px 20px 0; }
  body.woopify .woopify-section--highlight .woopify-media-row__text .woopify-body { margin-top: 16px; font-size: 16px; }
}
@media (min-width: 768px) and (max-width: 1023px) { body.woopify .woopify-section--highlight .woopify-media-row__text, body.woopify .woopify-figcaption { padding-left: 40px; padding-right: 40px; } }

/* Details: label / value rows. */
body.woopify .woopify-section--details .woopify-split { grid-template-columns: 4fr 8fr; }
body.woopify dl.woopify-spec { margin: 0; max-width: 720px; }
body.woopify .woopify-spec__row { display: grid; grid-template-columns: 200px 1fr; gap: 24px; padding: 18px 0; border-top: 1px solid var(--color-hairline); font: 400 17px/1.6 var(--font-body); }
body.woopify .woopify-spec__row:last-child { border-bottom: 1px solid var(--color-hairline); }
body.woopify .woopify-spec__row dt { margin: 0; font-weight: 400; color: var(--color-ink-muted); }
body.woopify .woopify-spec__row dd { margin: 0; color: var(--color-ink); }
@media (max-width: 1023px) {
  body.woopify .woopify-section--details .woopify-split { grid-template-columns: 1fr; gap: 24px; }
  body.woopify .woopify-spec__row { grid-template-columns: 1fr; gap: 0; padding: 14px 0; font-size: 16px; }
  body.woopify .woopify-spec__row dt { font-size: 13px; letter-spacing: 0.06em; }
}

/* Proof statements. */
body.woopify .woopify-statements { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
body.woopify .woopify-statement { margin: 0; font: 600 28px/1.4 var(--font-heading); color: var(--color-ink); }
@media (max-width: 1023px) { body.woopify .woopify-statements { grid-template-columns: 1fr; gap: 28px; } body.woopify .woopify-statement { font-size: 26px; } }
@media (max-width: 767px) { body.woopify .woopify-statement { font-size: 24px; } }

/* Reviews (shown only once a product has some). */
body.woopify .woocommerce-tabs { max-width: calc(var(--space-container) + 2 * var(--space-gutter)); margin: var(--space-section) auto 0; padding: 0 var(--space-gutter); border: 0; box-sizing: border-box; }
body.woopify .woocommerce-tabs ul.tabs { display: none; }
body.woopify .woocommerce-tabs .panel, body.woopify #reviews, body.woopify .woocommerce-Reviews { background: none; color: var(--color-ink-body); margin: 0; padding: 0; }
body.woopify #reviews .woocommerce-Reviews-title { font: 600 48px/1.1 var(--font-heading); color: var(--color-ink); }

/* Phone sticky bar: title, chosen options and price, add to cart; shown once the buy button scrolls away. */
body.woopify .woopify-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; gap: 12px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); background: var(--color-bg); border-top: 1px solid var(--color-hairline); box-shadow: 0 -12px 40px rgba(0,0,0,.5); transform: translateY(110%); transition: transform .35s ease; }
body.woopify .woopify-sticky[hidden] { display: none; }
body.woopify .woopify-sticky.is-shown { transform: none; }
body.woopify .woopify-sticky__info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
body.woopify .woopify-sticky__title { font: 600 18px/1.1 var(--font-heading); color: var(--color-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.woopify .woopify-sticky__variant { font: 400 13px/1.3 var(--font-body); color: var(--color-ink-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.woopify button.woopify-sticky__add { flex: none; height: 48px; padding: 0 22px; }
@media (min-width: 1024px) { body.woopify .woopify-sticky { display: none !important; } }

/* Membership (board 04): no scene opener; photo and buy box side by side (6/6), the title in the buy box under a
 * short gold rule, the price in gold, the promise as a lead line. The stock line is WooCommerce's own. */
body.woopify.woopify-product--membership .product-details-wrapper { grid-template-columns: 1fr 1fr; align-items: center; }
body.woopify.woopify-product--membership .summary { max-width: 520px; }
body.woopify.woopify-product--membership .summary::before { content: ""; display: block; width: 48px; border-top: 1px solid var(--color-accent); }
body.woopify.woopify-product--membership .summary .product_title { margin: 32px 0 0; font: 700 64px/1.02 var(--font-heading); letter-spacing: -.01em; color: var(--color-ink); text-transform: none; }
body.woopify.woopify-product--membership .summary .woopify-price { margin-top: 28px; font: 600 36px/1 var(--font-heading); color: var(--color-accent); }
body.woopify.woopify-product--membership .summary .woopify-price .amount, body.woopify.woopify-product--membership .summary .woopify-price bdi { font-weight: 600; color: var(--color-accent); }
body.woopify.woopify-product--membership .summary .woocommerce-product-details__short-description { margin: 0; }
body.woopify.woopify-product--membership .summary .woocommerce-product-details__short-description p { margin: 14px 0 0; font: 400 17px/1.7 var(--font-body); color: var(--color-ink-body); }
body.woopify.woopify-product--membership .summary .woocommerce-product-details__short-description p:first-child { margin-top: 36px; font: 600 28px/1.3 var(--font-heading); color: var(--color-ink); }
body.woopify.woopify-product--membership .summary .woocommerce-product-details__short-description strong { display: inline; font: inherit; color: inherit; }
/* Product pages end with a section gap before the footer (boards 03 and 04: 160px desktop, 96px phone). */
body.woopify.single-product footer.woopify-footer { margin-top: var(--space-section); }
body.woopify.woopify-product--membership .summary p.stock { margin: 40px 0 0; font: 400 16px/1.6 var(--font-body); color: var(--color-ink-muted); }
body.woopify.woopify-not-selling.woopify-product--membership .summary p.stock { display: none; }
body.woopify.woopify-product--membership .summary .woopify-buy-note p { margin: 20px 0 0; font: 400 16px/1.6 var(--font-body); color: var(--color-ink-muted); }
@media (max-width: 1023px) {
  body.woopify.woopify-product--membership .product-details-wrapper { grid-template-columns: 1fr; padding-top: 24px; }
  body.woopify.woopify-product--membership .summary { max-width: none; margin-top: 32px; }
  body.woopify.woopify-product--membership .summary .product_title { margin-top: 24px; font-size: 42px; line-height: 1.05; }
  body.woopify.woopify-product--membership .summary .woopify-price { margin-top: 20px; font-size: 32px; }
  body.woopify.woopify-product--membership .summary .woocommerce-product-details__short-description p { font-size: 16px; margin-top: 12px; }
  body.woopify.woopify-product--membership .summary .woocommerce-product-details__short-description p:first-child { margin-top: 28px; font-size: 24px; }
  body.woopify.woopify-product--membership .summary p.stock { margin-top: 28px; }
  body.woopify.woopify-product--membership .summary .woopify-buy-note p { margin-top: 16px; }
}

/* Product story (board 04, template-parts/product-story.php): heading over a scene band, then two columns. */
body.woopify .woopify-story__band { height: 520px; }
body.woopify .woopify-story__band::after { background: linear-gradient(180deg, rgba(11,11,11,.98) 0%, rgba(11,11,11,.4) 50%, rgba(11,11,11,.98) 100%); }
body.woopify .woopify-story__band .woopify-scene__img { object-position: center 40%; }
body.woopify .woopify-story__band-inner { display: flex; align-items: center; justify-content: center; text-align: center; }
body.woopify .woopify-story__h { margin: 0; font: 700 72px/1.02 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-story__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 96px; padding-top: 96px; align-items: start; font: 400 18px/1.7 var(--font-body); color: var(--color-ink-body); }
body.woopify .woopify-story__lead p { margin: 0; }
body.woopify .woopify-story__lead p + p { margin-top: 32px; }
body.woopify .woopify-story__pull { font: italic 400 28px/1.4 var(--font-mood); color: var(--color-ink); }
body.woopify .woopify-story__h3 { margin: 48px 0 0; font: 600 30px/1.15 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-story__h3:first-child { margin-top: 0; }
body.woopify .woopify-story__body p { margin: 20px 0 0; }
body.woopify .woopify-story__body ul { margin: 20px 0 0; padding: 0 0 0 20px; display: flex; flex-direction: column; gap: 10px; list-style: disc; }
body.woopify .woopify-story__body mark { background: none; color: var(--color-ink); font-weight: 500; }
body.woopify .woopify-story__button { margin-top: 48px; }
@media (max-width: 1023px) {
  body.woopify .woopify-story__band { height: 360px; }
  body.woopify .woopify-story__h { font-size: 42px; line-height: 1.05; }
  body.woopify .woopify-story__cols { grid-template-columns: 1fr; gap: 0; padding-top: 56px; font-size: 16px; }
  body.woopify .woopify-story__lead p + p { margin-top: 24px; }
  body.woopify .woopify-story__pull { font-size: 22px; }
  body.woopify .woopify-story__h3, body.woopify .woopify-story__h3:first-child { margin-top: 40px; font-size: 26px; }
  body.woopify .woopify-story__body p, body.woopify .woopify-story__body ul { margin-top: 14px; }
  body.woopify .woopify-story__body ul { padding-left: 18px; gap: 8px; }
  body.woopify .woopify-story__button { display: flex; width: 100%; margin-top: 36px; }
}

/* == woopify-08-pages == */
/* 08-pages.css: About, Contact (slots template), legal measure, 404 / search / empty cart. 2026-10-28 v1; R2 About and
 * Contact (boards 05, 06) below the header comment. */
/* The 4/8 split: heading (or nothing) left, words right. */
body.woopify .woopify-split { display: grid; grid-template-columns: 4fr 8fr; gap: 80px; align-items: start; }
body.woopify .woopify-split__main { max-width: 680px; min-width: 0; }
/* About opener: the summary's first line as the h1 over the scene, caption right. */
body.woopify .woopify-section--page-hero { height: 640px; padding: 0; }
body.woopify .woopify-section--page-hero::after { background: linear-gradient(180deg, rgba(11,11,11,.75) 0%, rgba(11,11,11,.15) 35%, rgba(11,11,11,.98) 100%); }
body.woopify .woopify-section--page-hero .woopify-scene__img { object-position: center 40%; }
body.woopify .woopify-page-hero { display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: end; align-content: end; height: 100%; padding-bottom: 64px; box-sizing: border-box; }
body.woopify .woopify-page-hero__h1 { margin: 0; max-width: 900px; font: 700 80px/1 var(--font-heading); letter-spacing: -.01em; color: var(--color-ink); text-wrap: pretty; }
body.woopify .woopify-page-hero__caption { margin: 0; text-align: right; font: 400 14px/1.6 var(--font-body); color: var(--color-ink-body); }
body.woopify .woopify-page-hero__caption .woopify-mood { font-size: 17px; line-height: 1; }
body.woopify .woopify-section--summary { padding-top: 80px; }
body.woopify .woopify-lead p { margin: 0; font: 400 22px/1.6 var(--font-body); color: var(--color-ink); }
body.woopify .woopify-lead p + p { margin-top: 28px; }
/* About story, band, values, proof, contact */
body.woopify .woopify-split .woopify-h2 { margin: 0; font: 600 48px/1.1 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-section--page-story .woopify-body, body.woopify .woopify-section--contact .woopify-body { font-size: 18px; line-height: 1.7; color: var(--color-ink-body); }
body.woopify .woopify-section--page-story .woopify-body p, body.woopify .woopify-section--contact .woopify-body p { margin: 0; }
body.woopify .woopify-section--page-story .woopify-body p + p { margin-top: 28px; }
body.woopify .woopify-section--contact .woopify-body p + p { margin-top: 20px; }
body.woopify .woopify-pull { font: italic 400 28px/1.4 var(--font-mood); color: var(--color-ink); }
body.woopify .woopify-section--page-story .woopify-body .woopify-pull, body.woopify .woopify-section--page-story .woopify-body .woopify-pull + p { margin-top: 40px; }
body.woopify .woopify-section--page-story mark { background: none; color: var(--color-ink); font-weight: 500; }
body.woopify .woopify-page-band { margin: 160px 0 0; }
body.woopify .woopify-page-band__ratio { aspect-ratio: 21 / 9; }
body.woopify .woopify-page-band__ratio img { object-position: center 60%; }
body.woopify .woopify-page-band .woopify-scene-caption { display: block; padding-top: 16px; }
body.woopify .woopify-values { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; max-width: none; font: 400 17px/1.7 var(--font-body); color: var(--color-ink-body); }
body.woopify .woopify-value p { margin: 0; }
body.woopify .woopify-value__h { margin: 0 0 12px; font: 600 28px/1.15 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-section--proof-about .woopify-facts { grid-template-columns: repeat(3, 1fr); }
body.woopify .woopify-section--proof-about .woopify-facts li { font: 600 26px/1.4 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-section--contact a, body.woopify .woopify-facts-list a { color: var(--color-ink); text-decoration: none; border-bottom: 1px solid #3A3A3A; }
body.woopify .woopify-section--contact a:is(:hover, :focus-visible), body.woopify .woopify-facts-list a:is(:hover, :focus-visible) { color: var(--color-accent); border-color: var(--color-accent); }
/* Contact: the page title left, the intro and the support rows right. */
body.woopify .woopify-page-split { padding-top: 96px; }
body.woopify .woopify-page-title { margin: 0; font: 700 72px/1.02 var(--font-heading); color: var(--color-ink); }
body.woopify .woopify-page-split__body .woopify-section { padding: 0; }
body.woopify .woopify-page-split__body .woopify-container { max-width: none; padding: 0; margin: 0; }
body.woopify .woopify-page-split__body .woopify-section--intro .woopify-body p { margin: 8px 0 0; font: 400 22px/1.6 var(--font-body); color: var(--color-ink); }
body.woopify .woopify-page-split__body .woopify-section--support { margin-top: 72px; }
body.woopify .woopify-facts-list { margin: 0; }
body.woopify .woopify-facts-list__row { display: grid; grid-template-columns: 160px 1fr; gap: 24px; padding: 24px 0; border-top: 1px solid var(--color-hairline); font: 400 17px/1.7 var(--font-body); }
body.woopify .woopify-facts-list dt { color: var(--color-ink-muted); font-weight: 400; }
body.woopify .woopify-facts-list dd { margin: 0; color: var(--color-ink-body); }
/* Pages end with a section gap before the footer (boards 05, 06). */
body.woopify.page-template-woopify-slots .woopify-page-split { padding-bottom: var(--space-section); } /* scene pages: 03-base pads the last section */
@media (max-width: 1023px) {
  body.woopify .woopify-split, body.woopify .woopify-page-hero { grid-template-columns: 1fr; gap: 0; }
  body.woopify .woopify-split__side:empty { display: none; }
  body.woopify .woopify-section--page-hero { height: 560px; }
  body.woopify .woopify-page-hero { padding-bottom: 32px; }
  body.woopify .woopify-page-hero__h1 { font-size: 38px; line-height: 1.05; }
  body.woopify .woopify-page-hero__caption { margin-top: 16px; text-align: left; font-size: 13px; }
  body.woopify .woopify-page-hero__caption .woopify-mood { font-size: 14px; }
  body.woopify .woopify-section--summary { padding-top: 48px; }
  body.woopify .woopify-lead p { font-size: 18px; }
  body.woopify .woopify-lead p + p { margin-top: 20px; }
  body.woopify .woopify-split .woopify-h2 { font-size: 34px; margin-bottom: 24px; }
  body.woopify .woopify-section--page-story .woopify-body, body.woopify .woopify-section--contact .woopify-body { font-size: 16px; }
  body.woopify .woopify-section--page-story .woopify-body p + p { margin-top: 20px; }
  body.woopify .woopify-pull { font-size: 22px; }
  body.woopify .woopify-section--page-story .woopify-body .woopify-pull, body.woopify .woopify-section--page-story .woopify-body .woopify-pull + p { margin-top: 28px; }
  body.woopify .woopify-page-band { margin-top: 96px; }
  body.woopify .woopify-page-band__ratio { aspect-ratio: 4 / 3; }
  body.woopify .woopify-page-band .woopify-scene-caption { padding-top: 12px; font-size: 14px; }
  body.woopify .woopify-values { grid-template-columns: 1fr; gap: 32px; font-size: 16px; }
  body.woopify .woopify-value__h { font-size: 24px; }
  body.woopify .woopify-section--proof-about .woopify-facts { grid-template-columns: 1fr; gap: 20px; }
  body.woopify .woopify-section--proof-about .woopify-facts li { font-size: 22px; }
  body.woopify .woopify-section--contact .woopify-body p + p { margin-top: 16px; }
  body.woopify .woopify-page-split { padding-top: 56px; }
  body.woopify .woopify-page-title { font-size: 44px; line-height: 1.05; }
  body.woopify .woopify-page-split__body .woopify-section--intro .woopify-body p { margin-top: 20px; font-size: 18px; }
  body.woopify .woopify-page-split__body .woopify-section--support { margin-top: 48px; }
  body.woopify .woopify-facts-list__row { display: block; padding: 18px 0; font-size: 16px; }
  body.woopify .woopify-facts-list dt { font-size: 13px; letter-spacing: .06em; }
}
body.woopify.page:not(.page-template):not(.woocommerce-page) .entry-content, body.woopify .woopify-legal { max-width: 70ch; }
body.woopify .entry-content, body.woopify .entry-content :where(p, li, td, th, span, strong, em, a, blockquote) { font-family: var(--font-body); } /* Shoptimizer's Inter on page content (2026-10-28 QA) */
body.woopify.page .entry-content h2 { font-size: var(--fs-h3); line-height: var(--lh-h3); margin: var(--space-lg) 0 var(--space-sm); }
body.woopify.page .entry-content, body.woopify.page .entry-header, body.woopify .page-header, body.woopify.error404 .site-content, body.woopify.search .site-content { color: var(--color-ink); }
body.woopify .woopify-page-content { padding-bottom: var(--space-section); }
body.woopify .cart-empty, body.woopify .return-to-shop { text-align: center; }
body.woopify .cart-empty.woocommerce-info { background: var(--color-surface); }
/* Empty cart (2026-10-28 QA): Shoptimizer hides the page's h1 and paints its own green button and white icon; the h1 shows
 * in the heading face above the message, the message takes the body face, the button the accent. */
body.woopify.woocommerce-cart .entry-header, body.woopify.woocommerce-cart h1.entry-title { display: block; text-align: center; margin: 0 0 var(--space-lg); }
body.woopify.woocommerce-cart .cart-empty.woocommerce-info { color: var(--color-ink); font-family: var(--font-body); font-size: var(--fs-h3); line-height: var(--lh-h3); border-left: 0; }
body.woopify.woocommerce-cart .cart-empty::before { opacity: .5; }
body.woopify.woocommerce-cart .wc-backward, body.woopify .woocommerce-cart p.return-to-shop a.button, body.woopify.woocommerce-cart p.return-to-shop a { background-color: var(--color-accent); color: var(--color-accent-ink); border-color: var(--color-accent); }
/* 2026-10-28 interaction QA: Shoptimizer's empty .below-content widget band (its widget areas are unregistered in
 * inc/chrome.php) drew a #EEE rule above the footer on every page; the empty-cart heading sat 4px under the header rule. */
body.woopify .below-content { display: none; }
body.woopify.woocommerce-cart .entry-header { padding-top: var(--space-lg); }
/* 2026-10-28 sweep: a [story] with no image in its copy kept the two-column grid, so its button stood alone in the
 * right column (About, Membership); one column, text then button. 404: the product grid ran into the footer rule.
 * My Account: Shoptimizer's #222 link hover and #111 menu icons on black. Email preferences (FunnelKit Automations
 * page in the theme): its white card under ivory headings (1.15:1). */
body.woopify.error404 .site-main { padding-bottom: var(--space-section); }
body.woopify .woocommerce-MyAccount-navigation ul li a { color: var(--color-ink); }
body.woopify .woocommerce-MyAccount-navigation ul li a:is(:hover, :focus), body.woopify .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--color-accent); }
body.woopify .woocommerce-MyAccount-navigation ul li a::before { background-color: currentColor; }
body.woopify #bwfan_unsubscribe_fields .bwfan-unsubscribe-lists { background: var(--color-surface); border: 1px solid var(--color-border); color: var(--color-ink); }
body.woopify #bwfan_unsubscribe_fields .bwfan-unsubscribe-lists * { color: var(--color-ink); }
body.woopify #bwfan_unsubscribe_fields .bwfan-unsubscribe-list-description { color: var(--color-ink-muted); }
/* 2026-10-28 blog on brand (Gabriel: "it should be a branded blog page already"). Sidebars off (theme mods
 * shoptimizer_layout_archives_sidebar / _post_sidebar = none; sidebar-posts and sidebar-pages unregistered in inc/chrome.php).
 * Blog index, category archives, single posts, and the WordPress empty states (blog with no posts, search with no results). */
body.woopify :is(.blog-title, .no-results .page-title, .archive .page-title, .single-post .entry-title) { font-family: var(--font-heading); color: var(--color-ink); }
body.woopify.blog .site-main.grid, body.woopify.archive:not(.woocommerce) .site-main.grid { gap: var(--space-lg); }
body.woopify .site-main .no-results { grid-column: 1 / -1; padding-bottom: var(--space-section); }
body.woopify.blog .no-results .page-title { font-size: var(--fs-h3); line-height: var(--lh-h3); margin: 0 0 var(--space-sm); } /* the page's h1 is "Blog"; the empty-state line reads as a sub-heading */
body.woopify .no-results .page-content { color: var(--color-ink-muted); max-width: 60ch; }
body.woopify :is(.blog, .archive:not(.woocommerce), .search:not(.woocommerce)) article.hentry { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-md); }
body.woopify article.hentry .entry-title a, body.woopify .entry-header .entry-title a { color: var(--color-ink); font-family: var(--font-heading); text-decoration: none; }
body.woopify article.hentry .entry-title a:is(:hover, :focus) { color: var(--color-accent); }
body.woopify :is(.entry-meta, .posted-on, .byline, .cat-links, .tags-links, .comments-link, .post-meta) , body.woopify :is(.entry-meta, .posted-on, .byline, .cat-links, .tags-links) a { color: var(--color-ink-muted); font-size: var(--fs-label); letter-spacing: .08em; text-transform: uppercase; }
body.woopify article.hentry .entry-content, body.woopify article.hentry .entry-summary { color: var(--color-ink); }
body.woopify article.hentry a.more-link, body.woopify article.hentry .read-more a { color: var(--color-accent); text-transform: uppercase; letter-spacing: .15em; font-size: var(--fs-label); font-weight: 600; }
body.woopify.single-post .site-main { max-width: 760px; margin: 0 auto; }
body.woopify.single-post .entry-content a { color: var(--color-accent); }
body.woopify .post-navigation a, body.woopify .comment-respond a { color: var(--color-accent); }
/* WordPress search form (blog empty state, search with no results): Shoptimizer's green #009245 button at rest. */
body.woopify .search-form .search-submit, body.woopify .widget_search .search-submit { background: var(--color-accent); color: var(--color-accent-ink); border: 1px solid var(--color-accent); border-radius: var(--radius-md); text-transform: uppercase; letter-spacing: .15em; font-weight: 600; font-size: 13px; }
body.woopify .search-form .search-field { background: var(--color-surface); color: var(--color-ink); border: 1px solid var(--color-input-border); border-radius: var(--radius-md); }
body.woopify .no-results .page-header { margin-bottom: var(--space-sm); } /* Shoptimizer: -32px, the text ran under the heading */
body.woopify .no-results .search-form { position: relative; } /* its magnifier icon anchored to the page edge on the blog */
/* 2026-10-28 Manage Profile (FunnelKit Automations profile page, switched from its own "prebuild" template to the theme):
 * its white card and white fields under ivory text (typed text invisible), a white button; its contact line repeats the
 * email the page text already shows. */
body.woopify .bwfan-manage-profile-wrapper .bwfan-manage-profile-contact-details { display: none; }
body.woopify .bwfan-manage-profile-wrapper #bwfan-profile-fields { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: none; color: var(--color-ink); }
body.woopify .bwfan-manage-profile-wrapper .bwf-h2 { color: var(--color-ink); font-family: var(--font-heading); }
body.woopify .bwfan-manage-profile-wrapper label { color: var(--color-ink-muted); }
body.woopify .bwfan-manage-profile-wrapper #bwfan-profile-fields input:not([type=hidden]) { background: var(--color-bg); color: var(--color-ink); border: 1px solid var(--color-input-border); border-radius: var(--radius-md); }
body.woopify .bwfan-manage-profile-wrapper #bwfan-profile-fields input:not([type=hidden]):is(:hover, :focus) { border-color: var(--color-accent); }
body.woopify .bwfan-manage-profile-wrapper a#bwfan_manage_profile_update { background: var(--color-accent); color: var(--color-accent-ink); border: 1px solid var(--color-accent); border-radius: var(--radius-md); text-transform: uppercase; letter-spacing: .15em; font-weight: 600; font-size: 13px; }
body.woopify .bwfan-manage-profile-wrapper a#bwfan_manage_profile_update:is(:hover, :focus) { filter: brightness(1.1); }
body.woopify #bwfan_manage_profile_fields label, body.woopify #bwfan_manage_profile_fields .bwf-label { color: var(--color-ink-muted); } /* FunnelKit: #353030 by ID */
body.woopify .bwfan-manage-profile-wrapper a#bwfan_manage_profile_update:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
/* R2 utility pages (spec "Buttons", "no panels"): every button here is the primary on black (solid ink, black label,
 * Jost 500 15 / .08em, 52px, no caps), hover gold; no surface panels outside the cart drawer; hairline cards. */
body.woopify.woocommerce-cart .wc-backward, body.woopify .woocommerce-cart p.return-to-shop a.button, body.woopify.woocommerce-cart p.return-to-shop a,
body.woopify .search-form .search-submit, body.woopify .widget_search .search-submit,
body.woopify .bwfan-manage-profile-wrapper a#bwfan_manage_profile_update {
  background: var(--color-ink); color: var(--color-accent-ink); border: 1px solid var(--color-ink); border-radius: 0;
  font: 500 15px/1 var(--font-body); letter-spacing: .08em; text-transform: none; min-height: 52px; padding: 0 36px;
  display: inline-flex; align-items: center; justify-content: center; filter: none;
}
body.woopify.woocommerce-cart .wc-backward:is(:hover, :focus-visible), body.woopify.woocommerce-cart p.return-to-shop a:is(:hover, :focus-visible),
body.woopify .search-form .search-submit:is(:hover, :focus-visible), body.woopify .widget_search .search-submit:is(:hover, :focus-visible),
body.woopify .bwfan-manage-profile-wrapper a#bwfan_manage_profile_update:is(:hover, :focus-visible) { background: var(--color-accent); border-color: var(--color-accent); filter: none; }
body.woopify .cart-empty.woocommerce-info, body.woopify.woocommerce-cart .cart-empty.woocommerce-info { background: transparent; }
body.woopify :is(.blog, .archive:not(.woocommerce), .search:not(.woocommerce)) article.hentry { background: transparent; border: 0; border-top: 1px solid var(--color-hairline); padding: 32px 0 0; }
body.woopify .search-form .search-field, body.woopify .bwfan-manage-profile-wrapper #bwfan-profile-fields input:not([type=hidden]) { background: transparent; border: 1px solid var(--color-control); border-radius: 0; min-height: 52px; }
body.woopify .bwfan-manage-profile-wrapper #bwfan-profile-fields, body.woopify #bwfan_unsubscribe_fields .bwfan-unsubscribe-lists { background: transparent; border: 1px solid var(--color-hairline); }
body.woopify article.hentry a.more-link, body.woopify article.hentry .read-more a { color: var(--color-ink); text-transform: none; letter-spacing: 0; font: 400 15px/1 var(--font-body); border-bottom: 1px solid var(--color-control); padding-bottom: 5px; }
body.woopify article.hentry a.more-link:is(:hover, :focus-visible), body.woopify article.hentry .read-more a:is(:hover, :focus-visible) { color: var(--color-accent); border-color: var(--color-accent); }
/* 404 (R2 sweep): the h1 sat on the header rule and "Popular Products" ran into the message. */
body.woopify.error404 .site-main > .page-title, body.woopify.error404 h1.page-title { margin: 0; padding-top: 96px; font: 700 72px/1.02 var(--font-heading); }
body.woopify.error404 h1.page-title + p { margin: 20px 0 0; font-size: 18px; line-height: 1.7; color: var(--color-ink-body); }
body.woopify.error404 section.site-main { margin-top: 96px; }
body.woopify.error404 section.site-main > h2 { margin: 0 0 40px; font: 600 48px/1.1 var(--font-heading); }
@media (max-width: 1023px) {
  body.woopify.error404 h1.page-title { padding-top: 56px; font-size: 44px; line-height: 1.05; }
  body.woopify.error404 h1.page-title + p { font-size: 16px; }
  body.woopify.error404 section.site-main { margin-top: 64px; }
  body.woopify.error404 section.site-main > h2 { font-size: 34px; margin-bottom: 28px; }
}
/* Cart page (/cart/, R2 sweep; the drawer is the main cart, this page is reached by "View cart" links). CSS only on
 * WooCommerce's own markup (D-133): full width, the light totals panel and #111 text made dark-ground, Shoptimizer's
 * green progress bar hidden, the form controls and buttons in the R2 style. */
body.woopify.woocommerce-cart .entry-content { max-width: none; }
body.woopify.woocommerce-cart .checkout-wrap { display: none; }
body.woopify.woocommerce-cart h1.entry-title, body.woopify.woocommerce-cart .entry-header h1 { font: 700 72px/1.02 var(--font-heading); color: var(--color-ink); text-align: left; margin: 0; padding-top: 96px; }
body.woopify.woocommerce-cart .woocommerce-cart-form .shop_table, body.woopify.woocommerce-cart .cart_totals .shop_table { background: transparent; border: 0; border-collapse: collapse; }
body.woopify.woocommerce-cart .shop_table :is(th, td) { color: var(--color-ink-body); border-color: var(--color-hairline); background: transparent; font-family: var(--font-body); }
body.woopify.woocommerce-cart .shop_table tr { border-color: var(--color-hairline); }
body.woopify.woocommerce-cart .shop_table td.product-name a { color: var(--color-ink); font: 600 22px/1.2 var(--font-heading); text-decoration: none; }
body.woopify.woocommerce-cart .shop_table td.product-name a:is(:hover, :focus-visible) { color: var(--color-accent); }
body.woopify.woocommerce-cart .shop_table :is(.product-subtotal, .order-total) { color: var(--color-ink); }
body.woopify.woocommerce-cart .shop_table a.remove { color: var(--color-ink-muted) !important; background: transparent !important; }
body.woopify.woocommerce-cart .shop_table a.remove:hover { color: var(--color-accent) !important; }
body.woopify.woocommerce-cart .cart_totals h2 { font: 600 34px/1.1 var(--font-heading); color: var(--color-ink); }
body.woopify.woocommerce-cart .cart_totals .shop_table :is(th, td) { padding: 16px 0; border-top: 1px solid var(--color-hairline); }
body.woopify.woocommerce-cart .cart_totals a, body.woopify.woocommerce-cart .shipping-calculator-button { color: var(--color-ink); }
body.woopify.woocommerce-cart :is(.coupon .input-text, .quantity .qty, .shipping-calculator-form :is(input, select)) { background: transparent; color: var(--color-ink); border: 1px solid var(--color-control); border-radius: 0; min-height: 52px; }
body.woopify.woocommerce-cart :is(.coupon button, button[name=update_cart], .shipping-calculator-form button, .wc-proceed-to-checkout a.checkout-button) {
  background: var(--color-ink); color: var(--color-accent-ink); border: 1px solid var(--color-ink); border-radius: 0; font: 500 15px/1 var(--font-body);
  letter-spacing: .08em; text-transform: none; min-height: 52px; padding: 0 36px; box-shadow: none;
}
body.woopify.woocommerce-cart button[name=update_cart]:disabled { opacity: .4; }
body.woopify.woocommerce-cart :is(.coupon button, button[name=update_cart], .shipping-calculator-form button, .wc-proceed-to-checkout a.checkout-button):is(:hover, :focus-visible):not(:disabled) { background: var(--color-accent); border-color: var(--color-accent); }
body.woopify.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before { display: none; }
@media (max-width: 1023px) { body.woopify.woocommerce-cart h1.entry-title, body.woopify.woocommerce-cart .entry-header h1 { padding-top: 56px; font-size: 44px; } }
body.woopify.woocommerce-cart .shop_table .quantity { border: 0; background: transparent; box-shadow: none; }
body.woopify.woocommerce-cart .shop_table .quantity .qty { width: 72px; box-shadow: none; }
body.woopify.woocommerce-cart .cart_totals .shop_table th { font-weight: 400; color: var(--color-ink-muted); }
/* Plain pages (account, cart, legal, email preferences): the page h1 sat on the header rule. */
body.woopify.page:not(.page-template-woopify-slots):not(.page-template-woopify-home) .entry-header .entry-title { margin: 0 0 48px; padding-top: 96px; font: 700 72px/1.02 var(--font-heading); color: var(--color-ink); text-align: left; }
@media (max-width: 1023px) { body.woopify.page:not(.page-template-woopify-slots):not(.page-template-woopify-home) .entry-header .entry-title { padding-top: 56px; margin-bottom: 32px; font-size: 44px; line-height: 1.05; } }
body.woopify.page:not(.page-template):not(.woocommerce-page) .entry-content :is(p, li) { font-size: 17px; line-height: 1.7; color: var(--color-ink-body); }
body.woopify.page:not(.page-template):not(.woocommerce-page) .entry-content h2 { margin: 48px 0 12px; font: 600 30px/1.15 var(--font-heading); color: var(--color-ink); }
/* Legal and other plain pages (policies published 29 Oct 2026): paragraphs and lists had 0 margins and ran together. */
body.woopify.page:not(.page-template):not(.woocommerce-page) .entry-content > :is(p, ul, ol) + :is(p, ul, ol) { margin-top: 16px; }
body.woopify.page:not(.page-template):not(.woocommerce-page) .entry-content :is(ul, ol) { margin-left: 0; padding-left: 1.25em; }
body.woopify.page:not(.page-template):not(.woocommerce-page) .entry-content li + li { margin-top: 8px; }

/* Tap targets on the account forms (WooCommerce markup, CSS only): show-password and remember-me at 24px. */
body.woopify .woocommerce-form .show-password-input { min-width: 24px; min-height: 24px; }
body.woopify .woocommerce-form input[type="checkbox"] { width: 20px; height: 20px; margin: 2px 8px 2px 0; vertical-align: middle; }
body.woopify .woocommerce-form .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; min-height: 24px; }

/* 404: room between the 72px title and the line under it (descenders touched it at 1440). */
body.woopify.error404 .page-header .page-title { margin-bottom: 16px; }

/* == woopify-09-cart-drawer == */
/* 09-cart-drawer.css: FunnelKit Cart drawer to board 07 (R2). CSS on FunnelKit's own markup only (D-133);
 * Selectors use #fkcart-modal#fkcart-modal: FunnelKit ships one-ID rules up to four classes deep (e.g.
 * #fkcart-modal .fkcart-item-wrap .fkcart--item .fkcart-item-title), so a single ID loses.
 * the drawer's words live in FunnelKit > Cart settings (heading "Your bag", button labels), never here.
 * theme.js adds three things FunnelKit has no setting for: the item count text, the mood word split
 * from the product name, and a "Remove" text link that clicks FunnelKit's own remove control. */

/* Floating bubble hidden: the header's "Cart (n)" opens the drawer. The toggler stays enabled in FunnelKit. */
body.woopify #fkcart-floating-toggler { display: none; }

/* Panel and backdrop */
body.woopify #fkcart-modal#fkcart-modal .fkcart-modal-backdrop { background-color: rgba(11, 11, 11, .55); opacity: 1; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-preview-ui { width: 480px; max-width: 100%; background: var(--color-bg); border-left: 1px solid var(--color-hairline); box-shadow: var(--shadow-raised); border-radius: 0; color: var(--color-ink); font-family: var(--font-body); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-preview-ui * { font-family: var(--font-body); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-panel { padding-left: 40px; padding-right: 40px; }

/* Heading: "Your bag" + "n items", close × */
body.woopify #fkcart-modal#fkcart-modal .fkcart-slider-heading { padding-top: 36px; padding-bottom: 0; border: 0; align-items: center; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-title { font-family: var(--font-heading); font-weight: 600; font-size: 32px; line-height: 1; color: var(--color-ink); letter-spacing: 0; text-transform: none; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-title span { font-size: 0; margin-left: 8px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-title span::after { content: attr(data-woopify-count); font-family: var(--font-body); font-size: 15px; line-height: 1; color: var(--color-ink-muted); font-weight: 400; vertical-align: 4px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-modal-close svg { width: 18px; height: 18px; color: var(--color-ink-muted); fill: currentColor; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-modal-close:is(:hover, :focus-visible) svg { color: var(--color-accent); }

/* Items */
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-wrap { padding-top: 48px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart--item-parent + .fkcart--item-parent { margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--color-hairline); }
body.woopify #fkcart-modal#fkcart-modal .fkcart--item { display: grid; grid-template-columns: 112px 1fr; gap: 24px; align-items: start; border: 0; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-thumb-wrap { width: 112px; height: auto; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-wrap .fkcart--item .fkcart-image-wrapper, body.woopify #fkcart-modal#fkcart-modal .fkcart-thumb-wrap .fkcart-image-wrapper { width: 112px; height: 112px; display: block; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-wrap .fkcart--item .fkcart-image-wrapper img, body.woopify #fkcart-modal#fkcart-modal .fkcart-thumb-wrap img { width: 112px; height: 112px; object-fit: cover; border: 0; border-radius: 0; max-width: none; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-remove-item { display: none; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-info { display: grid; grid-template-columns: 1fr auto; column-gap: 16px; row-gap: 0; align-items: start; width: auto; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-meta { display: contents; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-title-price { grid-column: 1 / -1; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-title { display: block; font-family: var(--font-heading); font-weight: 600; font-size: 24px; line-height: 1.1; color: var(--color-ink); text-decoration: none; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-title .woopify-mood { display: block; font-family: var(--font-mood); font-size: 15px; line-height: 1; margin-bottom: 8px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-title .woopify-cart-name { display: block; font-family: var(--font-heading); font-weight: 600; font-size: inherit; line-height: 1.1; color: var(--color-ink); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-title .woopify-mood { font-family: var(--font-mood); font-style: italic; font-weight: 400; color: var(--color-accent); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-title:is(:hover, :focus-visible) .woopify-cart-name { color: var(--color-accent); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-meta-content { margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--color-ink-muted); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-meta-content:has(.fkcart-select-options) { display: none; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-attr-key { display: none; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-meta-content { display: block; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-attr-wrap, body.woopify #fkcart-modal#fkcart-modal .fkcart-attr-value { display: inline; font-size: 15px; color: var(--color-ink-muted); margin: 0; padding: 0; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-attr-wrap + .fkcart-attr-wrap::before { content: "\00b7"; margin: 0 6px 0 0; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-qty-wrap { grid-column: 1; grid-row: 2; margin-top: 20px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-quantity-selector { width: 112px; height: 40px; display: grid; grid-template-columns: 36px 1fr 36px; align-items: center; border: 1px solid var(--color-control); border-radius: 0; background: transparent; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-quantity-selector .fkcart-quantity-button { width: 36px; height: 38px; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-quantity-selector .fkcart-quantity-button svg { color: var(--color-ink-muted); fill: currentColor; width: 10px; height: 10px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-quantity-selector .fkcart-quantity-button:is(:hover, :focus) { background: transparent; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-quantity-selector .fkcart-quantity-button:is(:hover, :focus) svg { color: var(--color-accent); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-quantity__input { width: 100%; height: 38px; background: transparent; border: 0; box-shadow: none; outline: 0; color: var(--color-ink); font-size: 15px; text-align: center; padding: 0; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-misc { grid-column: 2; grid-row: 2; margin-top: 20px; text-align: right; display: block; width: auto; min-width: max-content; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-price, body.woopify #fkcart-modal#fkcart-modal .fkcart-item-price * { white-space: nowrap; font-size: 17px; line-height: 1.4; color: var(--color-ink); font-weight: 400; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-item-price del, body.woopify #fkcart-modal#fkcart-modal .fkcart-item-price del * { color: var(--color-ink-muted); font-size: 14px; }
body.woopify #fkcart-modal#fkcart-modal .woopify-cart-remove { grid-column: 1; grid-row: 3; justify-self: start; margin-top: 16px; padding: 0 0 3px; background: none; border: 0; border-bottom: 1px solid var(--color-control); border-radius: 0; font-size: 13px; line-height: 1; color: var(--color-ink-muted); cursor: pointer; }
body.woopify #fkcart-modal#fkcart-modal .woopify-cart-remove:is(:hover, :focus-visible) { color: var(--color-accent); border-color: var(--color-accent); }

/* Footer: discount code, subtotal, shipping note, checkout, continue shopping */
body.woopify #fkcart-modal#fkcart-modal .fkcart-slider-footer { padding-bottom: 40px; border: 0; background: var(--color-bg); box-shadow: none; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-area { border: 0; padding: 0 40px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-area .fkcart-panel { padding-left: 0; padding-right: 0; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-head { padding-top: 0; padding-bottom: 16px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-title, body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-title * { font-size: 15px; font-weight: 400; color: var(--color-ink-body); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-icon svg { color: var(--color-ink-muted); fill: currentColor; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-area input { background: transparent; border: 1px solid var(--color-control); border-radius: 0; color: var(--color-ink); font-size: 15px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-area button, body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-area .fkcart-coupon-btn { background: transparent; border: 1px solid var(--color-ink); border-radius: 0; color: var(--color-ink); font-size: 15px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-code, body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-code-wrapper { background-color: transparent; color: var(--color-ink-body); border-color: var(--color-control); border-radius: 0; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-remove-coupon { background-color: var(--color-ink-muted); color: var(--color-bg); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-order-summary { padding-top: 0; padding-bottom: 0; border: 0; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-order-summary-container { border-top: 1px solid var(--color-hairline); padding: 24px 0 0; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-subtotal-wrap { padding-bottom: 24px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-subtotal-wrap, body.woopify #fkcart-modal#fkcart-modal .fkcart-subtotal-wrap * { font-size: 17px; line-height: 1; font-weight: 400 !important; color: var(--color-ink); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-shipping-tax-calculation-text { font-size: 16px; line-height: 1.6; color: var(--color-ink-muted); width: 100%; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-checkout-wrap { padding-top: 24px; padding-bottom: 0; border: 0; }

/* Checkout button: solid ivory, ink label, 52px, Jost 500 15 / .08em; hover fill gold (spec "Buttons") */
body.woopify #fkcart-modal#fkcart-modal .fkcart-checkout-info a { min-height: 52px; height: 52px; padding: 0 36px; display: flex; align-items: center; justify-content: center; background: var(--color-ink); color: var(--color-accent-ink); border: 0; border-radius: 0; box-shadow: none; text-transform: none; transition: background-color .2s; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-checkout-info a, body.woopify #fkcart-modal#fkcart-modal .fkcart-checkout-info a * { font-size: 15px; font-weight: 500; line-height: 1; letter-spacing: .08em; color: var(--color-accent-ink); white-space: nowrap; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-checkout-info a:is(:hover, :focus-visible) { background: var(--color-accent); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-checkout-info a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-checkout-info a svg { display: none; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-shopping-link { display: block; margin-top: 20px; font-size: 15px; font-weight: 400; line-height: 1; text-align: center; color: var(--color-ink-body); text-decoration: none; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-shopping-link:is(:hover, :focus-visible) { color: var(--color-accent); }

/* Empty drawer: FunnelKit's zero state with the page's outline button */
body.woopify #fkcart-modal#fkcart-modal .fkcart-zero-state, body.woopify #fkcart-modal#fkcart-modal .fkcart-zero-state * { color: var(--color-ink-body); }
body.woopify #fkcart-modal#fkcart-modal .fkcart-zero-state .fkcart-shop-button { height: 52px; padding: 0 36px; display: inline-flex; align-items: center; background: var(--color-ink); color: var(--color-accent-ink); border-radius: 0; text-transform: none; letter-spacing: .08em; font-weight: 500; font-size: 15px; }
body.woopify #fkcart-modal#fkcart-modal .fkcart-zero-state .fkcart-shop-button:is(:hover, :focus) { background: var(--color-accent); filter: none; }

/* Phone: full-width panel, 20px gutter */
@media (max-width: 600px) {
  body.woopify #fkcart-modal#fkcart-modal .fkcart-preview-ui { width: 100%; border-left: 0; }
  body.woopify #fkcart-modal#fkcart-modal .fkcart-panel { padding-left: 20px; padding-right: 20px; }
  body.woopify #fkcart-modal#fkcart-modal .fkcart-coupon-area { padding: 0 20px; }
  body.woopify #fkcart-modal#fkcart-modal .fkcart-slider-heading { padding-top: 24px; }
  body.woopify #fkcart-modal#fkcart-modal .fkcart-title { font-size: 28px; }
  body.woopify #fkcart-modal#fkcart-modal .fkcart-item-wrap { padding-top: 32px; }
  body.woopify #fkcart-modal#fkcart-modal .fkcart--item { grid-template-columns: 88px 1fr; gap: 16px; }
  body.woopify #fkcart-modal#fkcart-modal .fkcart-thumb-wrap, body.woopify #fkcart-modal#fkcart-modal .fkcart-item-wrap .fkcart--item .fkcart-image-wrapper, body.woopify #fkcart-modal#fkcart-modal .fkcart-thumb-wrap .fkcart-image-wrapper, body.woopify #fkcart-modal#fkcart-modal .fkcart-item-wrap .fkcart--item .fkcart-image-wrapper img, body.woopify #fkcart-modal#fkcart-modal .fkcart-thumb-wrap img { width: 88px; height: 88px; }
  body.woopify #fkcart-modal#fkcart-modal .fkcart-item-title { font-size: 21px; }
  body.woopify #fkcart-modal#fkcart-modal .fkcart-slider-footer { padding-bottom: 24px; }
}

/* == woopify-11-not-selling == */
/* 11-not-selling.css: "Not selling yet" mode (D-161; inc/selling.php).
 * The launch message is printed on product pages only while the mode is on, and shown only under the body
 * class. Under the class, add-to-cart is hidden everywhere on the storefront. The server refuses the add
 * anyway; this layer only keeps visitors from pressing a button that cannot work.
 * Shoptimizer's sticky add-to-cart class is UNVERIFIED: measure it on the first store and correct it here. */
body.woopify .woopify-launch-message { display: none; }
body.woopify.woopify-not-selling .woopify-launch-message {
  display: block;
  margin: 32px 0 0;
  padding: 24px;
  border: 1px solid var(--color-control);
  background: transparent;
  color: var(--color-ink);
  font: 400 16px/1.7 var(--font-body);
}
body.woopify.woopify-not-selling .woopify-launch-message p { margin: 0; }
body.woopify.woopify-not-selling form.cart:not(.variations_form),
body.woopify.woopify-not-selling form.variations_form .single_variation_wrap .woocommerce-variation-add-to-cart,
body.woopify.woopify-not-selling .woopify-sticky,
body.woopify.woopify-not-selling .single_add_to_cart_button,
body.woopify.woopify-not-selling .add_to_cart_button,
body.woopify.woopify-not-selling .shoptimizer-sticky-add-to-cart { display: none !important; }

/* == shoptimizer-child-style == */
/*
Theme Name: Black Label Fragrance Child
Template: shoptimizer
Description: Black Label Fragrance storefront for Shoptimizer. Built by the woopify-theme-build skill from design-system.md and the copy files. Styles live in assets/css/ (layered, see functions.php); this file only declares the theme.
Version: 1.0.0
Text Domain: woopify-child
*/

