/* ==========================================================================
   PIXELBAKE STUDIO — main.css
   Mobile-first. Plain CSS, no build step. Sections:
   1 Fonts & tokens · 2 Base · 3 Layout · 4 Type · 5 Buttons & forms
   6 Brand elements · 7 Header & drawers · 8 Cards & price · 9 Homepage
   10 WooCommerce (shop, product, cart/checkout, account, notices) · 11 Pages · 12 Footer · 13 Utilities
   ========================================================================== */

/* 1 ─ Fonts & tokens ─────────────────────────────────────────────────────── */
@font-face {
	font-family: "Fraunces";
	src: url("../fonts/fraunces-soft-var.woff2") format("woff2");
	font-weight: 300 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Figtree";
	src: url("../fonts/figtree-var.woff2") format("woff2");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Colour — Pixel Blue from the master vector logo */
	--blue: #4469ac;
	--blue-deep: #2f4a86;
	--blue-tint: #e3e9f5;
	--paper: #fcf8f1;
	--cream: #f7ebd9;
	--oat: #efe2cc;
	--butter: #ffec89;
	--rust: #b5452c; /* PLACEHOLDER — confirm hex */
	--date: #4a2c1e;
	--date-deep: #2e1a11;
	--ink: #1d1b19;
	--stone: #675e55;
	--line: #e8dcc8;
	--leaf: #4d6a3a;

	--font-display: "Fraunces", Georgia, "Times New Roman", serif;
	--font-sans: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--r: 4px;
	--ease: cubic-bezier(0.2, 0.8, 0.2, 1);
	--gutter: 20px;
	--section: 64px;
	--header-h: 56px;
}
@media (min-width: 640px) { :root { --gutter: 32px; } }
@media (min-width: 1024px) { :root { --gutter: 48px; --section: 112px; --header-h: 76px; } }

/* 2 ─ Base ──────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.625;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip; /* safety net: no sideways page scroll on mobile */
}
@media (min-width: 1024px) { body { font-size: 17px; } }
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
::selection { background: var(--butter); color: var(--ink); }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
[data-on-dark] :focus-visible { outline-color: var(--butter); }
[hidden] { display: none !important; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.pb-skip { position: absolute; left: 12px; top: -60px; z-index: 200; background: var(--ink); color: #fff; padding: 12px 16px; border-radius: var(--r); }
.pb-skip:focus { top: 12px; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* 3 ─ Layout ────────────────────────────────────────────────────────────── */
.pb-container { width: 100%; max-width: calc(1320px + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.pb-section { padding-block: var(--section); position: relative; overflow: hidden; }
.pb-bg-cream { background: var(--cream); }
.pb-rule-top { border-top: 1px solid var(--line); }

.pb-split { display: grid; gap: 32px; }
@media (min-width: 1024px) {
	.pb-split { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: start; }
	.pb-split--center { align-items: center; }
	.pb-split--end { align-items: end; }
	.pb-split--6-5 > :first-child { grid-column: 1 / span 6; } .pb-split--6-5 > :last-child { grid-column: 8 / span 5; }
	.pb-split--7-4 > :first-child { grid-column: 1 / span 7; } .pb-split--7-4 > :last-child { grid-column: 9 / span 4; }
	.pb-split--4-8 > :first-child { grid-column: 1 / span 4; } .pb-split--4-8 > :last-child { grid-column: 5 / span 8; }
	.pb-split--4-7 > :first-child { grid-column: 1 / span 4; } .pb-split--4-7 > :last-child { grid-column: 6 / span 7; }
	.pb-split--5-6 > :first-child { grid-column: 7 / span 6; } .pb-split--5-6 > :last-child { grid-column: 1 / span 5; grid-row: 1; }
	.pb-meet .pb-split { align-items: center; }
}
@media (max-width: 1023px) {
	.pb-bleed-mobile { margin-inline: calc(-1 * var(--gutter)); }
}

.pb-head-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; margin-bottom: 32px; }
@media (min-width: 1024px) { .pb-head-row { margin-bottom: 48px; } }

/* 4 ─ Type ──────────────────────────────────────────────────────────────── */
.pb-display, .pb-h1, .pb-h2, .pb-band__line, .pb-caption, .pb-ingredients__name, .pb-ingredients__payoff, .pb-tier__title, .pb-review blockquote, .pb-review__q, .pb-menu__big a, .pb-numbered__n {
	font-family: var(--font-display);
	font-weight: 400;
	font-variation-settings: "opsz" 48; /* warmer and lower-contrast than opsz 144 */
	letter-spacing: -0.015em;
}
.pb-display { font-size: 40px; line-height: 1.06; letter-spacing: -0.02em; }
.pb-h1 { font-size: 34px; line-height: 1.12; }
.pb-h2 { font-size: 30px; line-height: 1.12; margin-top: 16px; }
.pb-h3 { font-family: var(--font-sans); font-weight: 600; font-size: 20px; line-height: 1.3; letter-spacing: -0.005em; }
@media (min-width: 1024px) {
	.pb-display { font-size: 76px; line-height: 1.04; }
	.pb-display--md { font-size: 60px; }
	.pb-h1 { font-size: 56px; }
	.pb-h2 { font-size: 46px; line-height: 1.06; }
	.pb-h3 { font-size: 22px; }
}
.pb-eyebrow { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 12px; line-height: 16px; letter-spacing: .2em; text-transform: uppercase; color: var(--blue); }
.pb-eyebrow--sm { font-size: 10px; letter-spacing: .16em; }
.pb-eyebrow--plain .pb-dot { display: none; }
.pb-eyebrow--butter { color: var(--butter); }
.pb-lead { font-size: 17px; margin-top: 16px; }
@media (min-width: 1024px) { .pb-lead { font-size: 18px; } }
.pb-prose-lg { margin-top: 20px; font-size: 17px; color: rgba(29, 27, 25, .85); }
.pb-prose-lg p + p { margin-top: 16px; }
@media (min-width: 1024px) { .pb-prose-lg { font-size: 18px; } }
.pb-muted { color: var(--stone); }
.pb-small { font-size: 13px; }
.pb-blue { color: var(--blue); }
.pb-ink { color: var(--ink); }
.pb-measure-14 { max-width: 14ch; } .pb-measure-16 { max-width: 16ch; } .pb-measure-18 { max-width: 18ch; } .pb-measure-52 { max-width: 52ch; }
.pb-caption { font-size: 19px; margin-top: 12px; }
@media (min-width: 1024px) { .pb-caption { font-size: 20px; } }

.pb-link { background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat; padding-bottom: 2px; font-weight: 600; transition: background-size 200ms var(--ease); }
.pb-link:hover { background-size: 0 1.5px; background-position: 100% 100%; }
.pb-arrowlink { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; margin-bottom: 4px; }
.pb-arrowlink .pb-icon { transition: transform 150ms var(--ease); }
.pb-arrowlink:hover .pb-icon { transform: translateX(2px); }

/* Editorial prose (pages, story, policies, FAQ blocks) */
.pb-prose { max-width: 68ch; font-size: 17px; }
.pb-prose > * + * { margin-top: 1.1em; }
.pb-prose h2 { font-family: var(--font-display); font-weight: 400; font-size: 30px; line-height: 1.15; margin-top: 1.8em; }
.pb-prose h3 { font-weight: 600; font-size: 20px; margin-top: 1.6em; }
.pb-prose a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.pb-prose ul { list-style: disc; padding-left: 1.2em; } .pb-prose ol { list-style: decimal; padding-left: 1.2em; }
.pb-prose li + li { margin-top: .4em; }
.pb-prose blockquote { font-family: var(--font-display); font-size: 26px; line-height: 1.25; border-left: 3px solid var(--blue); padding-left: 20px; }
.pb-prose details { border-top: 1px solid var(--line); padding: 16px 0; }
.pb-prose details:last-of-type { border-bottom: 1px solid var(--line); }
.pb-prose details summary { font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.pb-prose details summary::after { content: "+"; font-weight: 400; font-size: 22px; line-height: 1; color: var(--blue); }
.pb-prose details[open] summary::after { content: "–"; }
.pb-prose details > :not(summary) { margin-top: 10px; color: var(--stone); }
.pb-prose--story { font-size: 18px; }
.pb-prose--story > p:first-child { font-family: var(--font-display); font-size: 26px; line-height: 1.3; }
@media (min-width: 1024px) { .pb-prose--story { margin-left: calc(100% / 12 * 3); } .pb-prose h2 { font-size: 38px; } }

/* 5 ─ Buttons & forms ──────────────────────────────────────────────────── */
.pb-btn, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 0 24px; border-radius: var(--r); border: 1.5px solid transparent;
	font-family: var(--font-sans); font-weight: 600; font-size: 15px; line-height: 1; letter-spacing: .06em; text-transform: uppercase;
	white-space: nowrap; cursor: pointer; -webkit-tap-highlight-color: transparent;
	transition: background-color 150ms var(--ease), color 150ms var(--ease), border-color 150ms var(--ease), transform 150ms var(--ease);
}
@media (min-width: 1024px) { .pb-btn, .woocommerce button.button, .woocommerce a.button { min-height: 48px; } }
.pb-btn:active { transform: translateY(1px); }
.pb-btn--primary, .woocommerce button.button.alt, .woocommerce button.button, .woocommerce a.button.alt { background: var(--blue); color: #fff; }
.pb-btn--primary:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover { background: var(--blue-deep); }
.pb-btn--secondary, .woocommerce a.button { background: transparent; color: var(--ink); border-color: var(--ink); }
.pb-btn--secondary:hover, .woocommerce a.button:hover { background: var(--cream); }
.pb-btn--light { background: var(--paper); color: var(--ink); }
.pb-btn--light:hover { background: var(--butter); }
.pb-btn--outline-light { color: #fff; border-color: rgba(255, 255, 255, .7); }
.pb-btn--outline-light:hover { background: rgba(255, 255, 255, .1); }
.pb-btn--block { width: 100%; }
@media (max-width: 639px) { .pb-btn--mobile-block { width: 100%; } }
.pb-btn[disabled], .pb-btn:disabled, .woocommerce button.button:disabled, .woocommerce button.button.disabled { background: var(--oat); color: var(--stone); border-color: var(--oat); cursor: not-allowed; }
.pb-btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
@media (max-width: 639px) { .pb-btn-row > .pb-btn { flex: 1 1 100%; } }

.pb-iconbtn { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r); position: relative; }

/* Forms */
.pb-form__grid { display: grid; gap: 16px; }
@media (min-width: 640px) { .pb-form__grid { grid-template-columns: 1fr 1fr; } .pb-field--wide { grid-column: 1 / -1; } }
.pb-field label, .woocommerce form .form-row label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.pb-field__opt { font-weight: 400; color: var(--stone); }
.pb-field input, .pb-field select, .pb-field textarea,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce .quantity .qty, .woocommerce-ordering select, .pb-search__form input, .variations select {
	width: 100%; min-height: 52px; padding: 12px 16px; border: 1.5px solid var(--line); border-radius: var(--r);
	background: #fff; font-size: 16px; /* prevents iOS zoom */ transition: border-color 150ms var(--ease), box-shadow 150ms var(--ease);
}
.pb-field textarea { min-height: 120px; resize: vertical; }
.pb-field input:focus, .pb-field select:focus, .pb-field textarea:focus, .woocommerce form .form-row .input-text:focus { border-color: var(--blue); outline: none; box-shadow: 0 0 0 3px var(--blue-tint); }
.pb-form .pb-btn { margin-top: 20px; }
.pb-form--newsletter { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.pb-form--newsletter .pb-form__grid { flex: 1 1 260px; display: block; }
.pb-form--newsletter .pb-btn { margin-top: 0; }
@media (max-width: 639px) { .pb-form--newsletter .pb-btn { width: 100%; } }
.pb-hp { position: absolute; left: -9999px; }
.pb-form-success { font-family: var(--font-display); font-size: 24px; color: var(--blue); }
.pb-form-error { color: var(--rust); margin-bottom: 12px; font-weight: 600; }

/* 6 ─ Brand elements ───────────────────────────────────────────────────── */
.pb-logo { display: inline-flex; flex-direction: column; align-items: center; line-height: 1; }
.pb-logo__mark { height: 100%; width: auto; }
.pb-logo__tagline { margin-top: .35em; font-size: .3em; font-weight: 700; letter-spacing: .44em; padding-left: .44em; text-transform: uppercase; }
.pb-logo--footer { height: 44px; color: #fff; }
.pb-logo--footer .pb-logo__mark { height: 44px; }
.pb-logo--footer .pb-logo__tagline { font-size: 11px; }
.pb-logo--story { height: 40px; }
.pb-logo--story .pb-logo__mark { height: 40px; }
@media (min-width: 1024px) { .pb-logo--footer, .pb-logo--footer .pb-logo__mark { height: 56px; } .pb-logo--story, .pb-logo--story .pb-logo__mark { height: 64px; } }

.pb-dot { display: inline-block; flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--butter); }
.pb-dot--blue { background: var(--blue); width: 6px; height: 6px; }
.pb-dot--lg { width: 14px; height: 14px; margin-left: 8px; vertical-align: baseline; }

/* Brand-board quarter circles — anchored to a corner, cropped by the section */
.pb-corner { position: absolute; width: var(--size); height: var(--size); border-radius: 50%; pointer-events: none; z-index: 0; }
.pb-corner--tl { top: 0; left: 0; transform: translate(-50%, -50%); }
.pb-corner--tr { top: 0; right: 0; transform: translate(50%, -50%); }
.pb-corner--bl { bottom: 0; left: 0; transform: translate(-50%, 50%); }
.pb-corner--br { bottom: 0; right: 0; transform: translate(50%, 50%); }
.pb-corner--blue { background: var(--blue); } .pb-corner--deep { background: var(--blue-deep); } .pb-corner--butter { background: var(--butter); }
.pb-section > .pb-container, .pb-band > .pb-container, .pb-footer > .pb-container { position: relative; z-index: 1; }

/* Photos & placeholder slots */
.pb-photo { position: relative; overflow: hidden; background: var(--oat); }
.pb-photo img { width: 100%; height: 100%; object-fit: cover; }
.pb-photo--cream { background: var(--cream); } .pb-photo--date { background: var(--date-deep); }
.pb-slot { display: flex; color: var(--stone); background-image: linear-gradient(to top right, transparent calc(50% - .5px), rgba(103, 94, 85, .12) 50%, transparent calc(50% + .5px)), linear-gradient(to top left, transparent calc(50% - .5px), rgba(103, 94, 85, .12) 50%, transparent calc(50% + .5px)); }
.pb-slot.pb-photo--date { color: rgba(239, 226, 204, .75); }
.pb-slot__text { margin-top: auto; padding: 16px; font-size: 12px; line-height: 1.4; }
.pb-slot__label { display: block; margin-bottom: 4px; font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; opacity: .8; }

.pb-tbc { display: inline-block; margin-left: 6px; padding: 0 4px; border: 1px dashed rgba(181, 69, 44, .6); border-radius: 2px; font-size: 10px; font-weight: 600; line-height: 16px; letter-spacing: .08em; text-transform: uppercase; color: var(--rust); background: rgba(252, 248, 241, .9); vertical-align: middle; white-space: nowrap; font-family: var(--font-sans); }
.pb-media-tag { position: absolute; left: 12px; bottom: 12px; z-index: 2; }

/* Scroll reveal — images only. Hidden only once JS has flagged <html class="js">. */
.js .pb-reveal { opacity: 0; transform: translateY(8px); transition: opacity 500ms var(--ease), transform 500ms var(--ease); }
.js .pb-reveal.is-in { opacity: 1; transform: none; }
.pb-reveal { position: relative; }

/* Horizontal swipe rail */
.pb-rail { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-inline: var(--gutter); -webkit-overflow-scrolling: touch; }
.pb-rail::-webkit-scrollbar { display: none; }
.pb-rail > li { flex: 0 0 84%; scroll-snap-align: start; }
@media (min-width: 640px) { .pb-rail > li { flex-basis: 60%; } }

/* 7 ─ Ribbon, announcement, header, drawers ────────────────────────────── */
.pb-ribbon { background: var(--ink); color: var(--oat); font-size: 12px; line-height: 20px; text-align: center; padding: 6px var(--gutter); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-ribbon__l { display: none; }
@media (min-width: 640px) { .pb-ribbon__s { display: none; } .pb-ribbon__l { display: inline; } }
.pb-announce { background: var(--blue); color: #fff; text-align: center; font-size: 12px; font-weight: 600; letter-spacing: .04em; line-height: 32px; padding-inline: var(--gutter); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-announce a:hover { text-decoration: underline; }

.pb-header { position: sticky; top: 0; z-index: 50; background: rgba(252, 248, 241, .97); transition: transform 250ms var(--ease), box-shadow 200ms var(--ease); }
.admin-bar .pb-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .pb-header { top: 0; } }
.pb-header.is-scrolled { box-shadow: 0 1px 0 var(--line); }
.pb-header.is-hidden { transform: translateY(-100%); }
.pb-header__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: var(--header-h); }
.pb-header__menu { margin-left: -10px; }
.pb-header__logo { justify-self: center; color: var(--blue); height: 26px; }
.pb-header__logo .pb-logo, .pb-header__logo .pb-logo__mark { height: 26px; }
.pb-header__tools { display: flex; align-items: center; justify-self: end; margin-right: -10px; }
.pb-header__account { display: none; }
.pb-nav { display: none; }
.pb-count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--blue); color: #fff; font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; font-variant-numeric: tabular-nums; transition: transform 200ms var(--ease); }
.pb-count.is-tick { transform: scale(1.25); }
@media (min-width: 1024px) {
	.pb-header__bar { grid-template-columns: auto 1fr auto; gap: 40px; }
	.pb-header__menu { display: none; }
	.pb-header__logo { justify-self: start; height: 34px; }
	.pb-header__logo .pb-logo, .pb-header__logo .pb-logo__mark { height: 34px; }
	.pb-header__account { display: grid; }
	.pb-nav { display: flex; justify-content: center; }
	.pb-nav ul { display: flex; gap: 28px; }
	.pb-nav__link { position: relative; display: block; padding: 8px 0; font-size: 15px; font-weight: 500; transition: color 150ms var(--ease); }
	.pb-nav__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 200ms var(--ease); }
	.pb-nav__link:hover, .pb-nav__link[aria-current="page"] { color: var(--blue); }
	.pb-nav__link:hover::after, .pb-nav__link[aria-current="page"]::after { transform: scaleX(1); }
}
@media (min-width: 1280px) { .pb-nav ul { gap: 36px; } }

.pb-search { border-top: 1px solid var(--line); background: var(--paper); }
.pb-search__form { display: flex; align-items: center; gap: 12px; padding-block: 10px; }
.pb-search__form input { border: 0; background: transparent; padding-inline: 0; min-height: 44px; }
.pb-search__form input:focus { outline: none; box-shadow: none; }
.pb-search__close { font-size: 14px; color: var(--stone); }

/* Drawers (menu + cart) */
.pb-drawer { position: fixed; inset: 0; z-index: 100; }
.pb-drawer__scrim { position: absolute; inset: 0; background: rgba(29, 27, 25, .4); opacity: 0; transition: opacity 200ms var(--ease); }
.pb-drawer__panel { position: absolute; top: 0; bottom: 0; display: flex; flex-direction: column; background: var(--paper); overflow-y: auto; transition: transform 250ms var(--ease); }
.pb-drawer--left .pb-drawer__panel { left: 0; width: 88%; max-width: 400px; transform: translateX(-100%); }
.pb-drawer--right .pb-drawer__panel { right: 0; width: 100%; max-width: 440px; transform: translateX(100%); box-shadow: 0 0 40px rgba(29, 27, 25, .12); }
.pb-drawer.is-open .pb-drawer__scrim { opacity: 1; }
.pb-drawer.is-open .pb-drawer__panel { transform: none; }
.pb-drawer__head { display: flex; align-items: center; justify-content: space-between; height: 56px; flex-shrink: 0; padding: 0 12px 0 20px; }
.pb-drawer__head--line { height: 64px; border-bottom: 1px solid var(--line); }
.pb-drawer__logo { color: var(--blue); height: 24px; } .pb-drawer__logo .pb-logo, .pb-drawer__logo .pb-logo__mark { height: 24px; }
.admin-bar .pb-drawer__panel { top: 32px; } @media (max-width: 782px) { .admin-bar .pb-drawer__panel { top: 46px; } }

.pb-menu__big { padding: 16px 20px 0; }
.pb-menu__big a { display: block; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 28px; line-height: 1.15; }
.pb-menu__big a:hover, .pb-menu__big a[aria-current="page"] { color: var(--blue); }
.pb-menu__feature { display: flex; gap: 16px; align-items: center; margin: 24px 20px 0; padding: 12px; background: var(--cream); }
.pb-menu__feature strong { display: block; }
.pb-menu__thumb { width: 64px; height: 80px; flex-shrink: 0; overflow: hidden; background: var(--oat); }
.pb-menu__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pb-menu__small { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; padding: 24px 20px 0; font-size: 15px; }
.pb-menu__small a { display: block; padding: 10px 0; color: var(--stone); }
.pb-menu__foot { margin-top: auto; padding: 32px 20px max(24px, env(safe-area-inset-bottom)); }

/* Cart drawer */
.pb-cart__title { font-size: 17px; font-weight: 600; }
.pb-cart__title .pb-muted { font-weight: 400; }
.pb-cart__body { flex: 1; overflow-y: auto; padding: 0 20px; }
.pb-cart__loading { display: grid; place-items: center; padding: 64px 0; color: var(--stone); }
.pb-cart__empty { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 48px 4px; }
.pb-cart__empty p:first-child { font-family: var(--font-display); font-size: 28px; line-height: 1.15; }
.pb-line { display: flex; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.pb-line__img { width: 76px; height: 100px; flex-shrink: 0; overflow: hidden; background: var(--oat); }
.pb-line__img img { width: 100%; height: 100%; object-fit: cover; }
.pb-line__main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-line__top { display: flex; justify-content: space-between; gap: 12px; }
.pb-line__name { font-weight: 600; line-height: 1.3; }
.pb-line__var { font-size: 14px; color: var(--stone); }
.pb-line__bottom { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 12px; }
.pb-line__remove { font-size: 13px; color: var(--stone); text-decoration: underline; text-underline-offset: 3px; }
.pb-line.is-busy { opacity: .5; pointer-events: none; }
.pb-upsell { padding: 24px 0; }
.pb-upsell__h { margin-bottom: 16px; color: var(--stone); }
.pb-upsell__item { display: flex; align-items: center; gap: 12px; padding: 6px 0; }
.pb-upsell__img { width: 48px; height: 64px; flex-shrink: 0; overflow: hidden; background: var(--oat); }
.pb-upsell__img img { width: 100%; height: 100%; object-fit: cover; }
.pb-upsell__item > div { flex: 1; min-width: 0; font-size: 14px; line-height: 1.35; }
.pb-cart__foot { flex-shrink: 0; border-top: 1px solid var(--line); padding: 20px 20px max(20px, env(safe-area-inset-bottom)); background: var(--paper); }
.pb-cart__row { display: flex; justify-content: space-between; align-items: baseline; font-size: 15px; }
.pb-cart__note { display: flex; align-items: center; gap: 8px; margin: 4px 0 16px; font-size: 13px; color: var(--stone); }
.pb-cart__links { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; font-size: 14px; }
.pb-cart__links a:last-child { display: inline-flex; gap: 6px; align-items: center; }
.pb-cart__error { margin: 12px 0; color: var(--rust); font-size: 14px; }

/* Quantity stepper (drawer + enhanced Woo inputs) */
.pb-qty { display: inline-flex; align-items: stretch; height: 40px; border: 1.5px solid var(--line); border-radius: var(--r); background: #fff; }
.pb-qty button { width: 40px; display: grid; place-items: center; transition: background-color 150ms; }
.pb-qty button:hover { background: var(--cream); }
.pb-qty button:disabled { color: var(--line); }
.pb-qty input, .pb-qty span { width: 40px; border: 0; text-align: center; font-weight: 600; font-variant-numeric: tabular-nums; background: transparent; -moz-appearance: textfield; display: grid; place-items: center; }
.pb-qty input::-webkit-inner-spin-button { -webkit-appearance: none; }
.pb-qty--lg { height: 52px; } .pb-qty--lg button { width: 48px; }
@media (min-width: 1024px) { .pb-qty--lg { height: 48px; } }

.pb-spinner { width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: pb-spin .7s linear infinite; display: inline-block; }
@keyframes pb-spin { to { transform: rotate(360deg); } }

/* 8 ─ Product cards, price, add buttons ────────────────────────────────── */
.pb-grid--products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 16px; }
@media (min-width: 1024px) { .pb-grid--products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 24px; } }

.pb-card { position: relative; display: flex; flex-direction: column; height: 100%; }
.pb-card__media { position: relative; }
.pb-card__img { display: block; position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: var(--oat); }
.pb-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--ease), opacity 300ms var(--ease); }
.pb-card__img .pb-photo { position: absolute; inset: 0; aspect-ratio: auto !important; }
.pb-card__alt { position: absolute; inset: 0; opacity: 0; }
.pb-card__badge { position: absolute; left: 0; top: 12px; background: var(--paper); padding: 6px 10px; font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.pb-card__mock { position: absolute; left: 8px; bottom: 8px; }
.pb-card__quick { display: none; }
.pb-card__body { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-top: 16px; }
.pb-card__text { min-width: 0; }
.pb-card__kicker { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); margin-bottom: 2px; }
.pb-card__title { font-size: 16px; font-weight: 600; line-height: 1.35; }
.pb-card__title a::after { content: ""; position: absolute; inset: 0; } /* whole card tappable on mobile */
.pb-card__title a:hover { color: var(--blue); }
.pb-card__desc { margin-top: 2px; font-size: 14px; line-height: 1.4; color: var(--stone); }
.pb-card .pb-price { margin-top: 8px; }
.pb-card__plus { position: relative; z-index: 2; }
@media (min-width: 1024px) {
	.pb-card__title a::after { content: none; }
	.pb-card:hover .pb-card__img img { transform: scale(1.02); }
	.pb-card:hover .pb-card__alt { opacity: 1; }
	.pb-card__quick { display: block; position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 2; opacity: 0; transform: translateY(8px); transition: opacity 200ms var(--ease), transform 200ms var(--ease); }
	.pb-card:hover .pb-card__quick, .pb-card:focus-within .pb-card__quick { opacity: 1; transform: none; }
	.pb-card__plus { display: none; }
}

.pb-price { font-weight: 600; font-size: 18px; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.pb-price del { order: 2; font-weight: 400; font-size: .78em; color: var(--stone); }
.pb-price ins { order: 1; text-decoration: none; color: var(--rust); }
.pb-price .woocommerce-Price-amount { white-space: nowrap; }
.pb-price .pb-tbc { order: 3; margin-left: 0; }
.pb-price--lg { font-size: 20px; }
@media (min-width: 1024px) { .pb-price { font-size: 19px; } }

.pb-add-form { margin: 0; }
.pb-add-form--block, .pb-add-form--block .pb-btn { width: 100%; }
.pb-add { position: relative; }
.pb-add__state { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; gap: 8px; }
.pb-add .pb-spinner, .pb-add .pb-add__done { display: none; }
.pb-add.is-busy .pb-add__label, .pb-add.is-done .pb-add__label { visibility: hidden; }
.pb-add.is-busy .pb-add__state, .pb-add.is-done .pb-add__state { display: flex; }
.pb-add.is-busy .pb-spinner { display: inline-block; }
.pb-add.is-done .pb-add__done { display: inline-block; }
.pb-add--compact { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r); background: var(--blue); color: #fff; transition: background-color 150ms var(--ease); }
.pb-add--compact:hover { background: var(--blue-deep); }
.pb-add--compact:disabled { background: var(--oat); color: var(--stone); }
.pb-add--compact .pb-add__icon { display: block; }
.pb-add--compact.is-busy .pb-add__icon, .pb-add--compact.is-done .pb-add__icon { display: none; }

/* 9 ─ Homepage ───────────────────────────────────────────────────────────── */
/* Hero: image ≤44svh on mobile so headline + CTA sit inside the first screen */
.pb-hero { position: relative; overflow: hidden; }
.pb-hero__media { position: relative; }
.pb-hero__img, .pb-hero__media picture img { display: block; width: 100%; height: min(44svh, 460px); object-fit: cover; object-position: 50% 35%; }
.pb-hero__media .pb-slot { height: min(44svh, 460px); aspect-ratio: auto !important; }
.pb-hero__mock { position: absolute; left: 12px; bottom: 12px; }
.pb-hero__copy { position: relative; }
.pb-hero__inner { position: relative; z-index: 1; padding: 24px var(--gutter) 40px; }
.pb-hero__body { margin-top: 12px; max-width: 38ch; font-size: 16px; line-height: 1.55; color: var(--stone); }
.pb-hero__ctas { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; }
.pb-hero__price { margin-top: 12px; font-size: 14px; color: var(--stone); display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.pb-hero__price .pb-price { display: inline; font-size: 14px; color: var(--ink); }
.pb-hero__link { display: inline-block; margin-top: 16px; font-size: 15px; }
.pb-trust { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.pb-trust li { display: flex; align-items: center; gap: 8px; }
@media (min-width: 640px) { .pb-hero__ctas { flex-direction: row; } }
@media (min-width: 1024px) {
	.pb-hero { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); min-height: min(760px, calc(100svh - 140px)); }
	.pb-hero__media { grid-column: 6 / -1; order: 2; }
	.pb-hero__img, .pb-hero__media picture img, .pb-hero__media .pb-slot { position: absolute; inset: 0; height: 100%; }
	.pb-hero__copy { grid-column: 1 / span 5; order: 1; display: flex; align-items: center; }
	.pb-hero__inner { padding: 72px 40px 120px max(48px, calc((100vw - 1320px) / 2)); }
	.pb-hero__inner .pb-display { margin-top: 24px; font-size: clamp(56px, 5.1vw, 76px); }
	.pb-hero__body { margin-top: 24px; font-size: 19px; }
	.pb-hero__ctas { margin-top: 36px; }
	.pb-trust { margin-top: 48px; }
	.pb-hero__mock { left: 16px; }
}

/* Meet */
.pb-pairs { display: grid; grid-template-columns: 1fr 1fr; margin: 32px 0; border-block: 1px solid var(--line); }
.pb-pairs > div { padding: 16px 0; }
.pb-pairs > div + div { border-left: 1px solid var(--line); padding-left: 20px; }
.pb-pairs dt { font-weight: 600; }
.pb-pairs dd { font-size: 14px; color: var(--stone); }
@media (max-width: 1023px) { .pb-meet .pb-split { gap: 32px; } }

/* Why: numbered editorial list */
.pb-numbered { display: grid; gap: 0 40px; margin-top: 40px; }
@media (min-width: 640px) { .pb-numbered { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .pb-numbered { margin-top: 56px; } }
.pb-numbered li { border-top: 1px solid var(--line); padding: 24px 0; }
.pb-numbered__n { display: block; color: var(--blue); font-size: 15px; }
.pb-numbered .pb-h3 { margin-top: 8px; }
.pb-numbered p { margin-top: 8px; }
.pb-why__img { height: 100%; }

/* Lifestyle */
.pb-life__rail { margin-top: 32px; padding-bottom: 8px; }
.pb-mosaic { display: none; }
@media (min-width: 1024px) {
	.pb-life__rail { display: none; }
	.pb-mosaic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; margin-top: 56px; }
	.pb-mosaic__item--1 { grid-column: 1 / span 7; grid-row: span 2; }
	.pb-mosaic__item--2, .pb-mosaic__item--3 { grid-column: 8 / span 5; }
	.pb-mosaic__item--4 { grid-column: 1 / span 5; }
	.pb-mosaic__item--5 { grid-column: 6 / span 7; align-self: end; }
}

/* Brand band */
.pb-band { position: relative; overflow: hidden; background: var(--blue); color: #fff; padding-block: 64px; }
.pb-band__line { max-width: 16ch; font-size: 40px; line-height: 1.05; letter-spacing: -0.02em; }
@media (min-width: 1024px) { .pb-band { padding-block: 96px; } .pb-band__line { font-size: 84px; } }

/* Ingredients */
.pb-ingredients { background: var(--date); color: var(--oat); }
.pb-ingredients .pb-h2 { color: var(--paper); }
.pb-ingredients__pair { display: grid; gap: 40px; margin-top: 40px; }
@media (min-width: 640px) { .pb-ingredients__pair { grid-template-columns: 1fr 1fr; gap: 24px; } .pb-ingredients__item:nth-child(2) { margin-top: 64px; } }
.pb-ingredients__name { margin-top: 20px; font-size: 30px; color: var(--paper); }
.pb-ingredients__item p { margin-top: 8px; max-width: 36ch; font-size: 17px; color: rgba(239, 226, 204, .85); }
.pb-ingredients__foot { display: flex; flex-direction: column; gap: 24px; margin-top: 56px; padding-top: 32px; border-top: 1px solid rgba(239, 226, 204, .2); }
.pb-ingredients__payoff { max-width: 24ch; font-size: 26px; line-height: 1.2; color: var(--paper); }
.pb-ingredients__foot .pb-btn { align-self: flex-start; }
@media (min-width: 1024px) {
	.pb-ingredients__pair { margin-top: 64px; }
	.pb-ingredients__name { font-size: 36px; }
	.pb-ingredients__foot { flex-direction: row; justify-content: space-between; align-items: flex-end; margin-top: 80px; }
	.pb-ingredients__payoff { font-size: 36px; }
}

/* Bundles */
.pb-tiers { display: grid; gap: 12px; }
.pb-tier { position: relative; display: flex; align-items: center; gap: 16px; padding: 16px; background: var(--paper); border: 1.5px solid var(--line); }
.pb-tier.is-highlight { border-color: var(--blue); }
.pb-tier__flag { position: absolute; top: -1px; right: 16px; background: var(--blue); color: #fff; padding: 4px 8px; font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.pb-tier__info { flex: 1; min-width: 0; }
.pb-tier .pb-eyebrow { color: var(--stone); }
.pb-tier__title { margin-top: 4px; font-size: 24px; line-height: 1.15; }
.pb-tier .pb-price { margin-top: 8px; }
.pb-tier__per { font-size: 13px; color: var(--stone); font-variant-numeric: tabular-nums; }
@media (min-width: 1024px) {
	.pb-tiers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
	.pb-tier { flex-direction: column; align-items: stretch; padding: 24px; }
	.pb-tier__title { font-size: 30px; }
	.pb-tier .pb-price { margin-top: 20px; }
	.pb-tier .pb-add-form--block { margin-top: auto; padding-top: 24px; }
	.pb-tier__flag { right: 24px; }
}
.pb-bundles .pb-split > :first-child .pb-link { display: inline-block; margin-top: 24px; font-size: 15px; }
.pb-bundles[data-campaign="ramadan"] { background: #f3ead8; }
.pb-bundles[data-campaign="ramadan"] .pb-corner--butter { background: #e9d9b0; }

/* Reviews */
.pb-reviews__list { margin: 32px calc(-1 * var(--gutter)) 0; gap: 16px; }
.pb-review { border-top: 1.5px solid var(--ink); padding-top: 24px; }
.pb-review blockquote, .pb-review__q { font-size: 22px; line-height: 1.35; }
.pb-review__q { font-size: 20px; color: var(--stone); }
.pb-review figcaption, .pb-review > p.pb-muted { margin-top: 20px; font-size: 14px; }
.pb-review figcaption span { display: block; }
@media (min-width: 640px) {
	.pb-rail--3 { display: grid; grid-template-columns: repeat(3, 1fr); overflow: visible; margin-inline: 0; padding-inline: 0; }
	.pb-rail--3 > li { flex: none; }
}
@media (min-width: 1024px) { .pb-reviews__list { margin-top: 48px; gap: 24px; } }

/* Corporate */
.pb-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin-top: 24px; border-top: 1px solid var(--line); }
.pb-checks li { display: flex; align-items: center; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.pb-checks .pb-icon { color: var(--blue); flex-shrink: 0; }

/* Social */
.pb-social-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
@media (min-width: 1024px) { .pb-social-grid { grid-template-columns: repeat(6, 1fr); gap: 12px; } }
.pb-social-grid a { display: block; }
.pb-social-grid img { transition: transform 500ms var(--ease); }
.pb-social-grid a:hover img { transform: scale(1.03); }

/* Newsletter */
.pb-perks { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin-top: 24px; font-size: 15px; color: var(--stone); }
.pb-perks li { display: flex; align-items: center; gap: 8px; }
.pb-newsletter .pb-small { margin-top: 8px; }

/* 10 ─ WooCommerce ──────────────────────────────────────────────────────── */
.pb-wc { padding-bottom: var(--section); }
.pb-crumbs { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 16px; font-size: 13px; color: var(--stone); }
.pb-crumbs a:hover { color: var(--ink); text-decoration: underline; }
.pb-crumbs__sep { color: var(--line); }
.pb-archive-head { padding-block: 16px 24px; }
.pb-archive-head .term-description { margin-top: 12px; max-width: 60ch; color: var(--stone); }
.woocommerce-products-header { display: contents; }

.pb-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin: 0 auto 32px; max-width: calc(1320px + 2 * var(--gutter)); padding-inline: var(--gutter); }
.pb-filter ul { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.pb-filter a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1.5px solid var(--line); border-radius: var(--r); font-size: 14px; font-weight: 600; white-space: nowrap; transition: border-color 150ms, background 150ms; }
.pb-filter a:hover { border-color: var(--ink); }
.pb-filter a[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.pb-toolbar__right { display: flex; align-items: center; gap: 16px; font-size: 14px; color: var(--stone); }
.woocommerce-ordering select { min-height: 40px; padding: 6px 36px 6px 12px; font-size: 14px; width: auto; }
.woocommerce-result-count { margin: 0; }
.pb-wc > .pb-grid--products, .pb-wc .woocommerce-pagination, .pb-wc .woocommerce-info, .pb-wc .woocommerce-no-products-found { max-width: calc(1320px + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.woocommerce-pagination ul { display: flex; gap: 8px; justify-content: center; margin-top: 48px; }
.woocommerce-pagination .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; border: 1.5px solid var(--line); border-radius: var(--r); font-weight: 600; }
.woocommerce-pagination .current { background: var(--ink); color: #fff; border-color: var(--ink); }

/* Notices */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;
	margin: 0 auto 24px; padding: 14px 16px; border-left: 3px solid var(--blue); background: var(--blue-tint); list-style: none; font-size: 15px;
}
.woocommerce-error { border-color: var(--rust); background: #f8e7e2; }
.woocommerce-message .button, .woocommerce-info .button { min-height: 40px; order: 2; }
.pb-wc > .woocommerce-notices-wrapper { max-width: calc(1320px + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }

/* Single product */
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; max-width: calc(1320px + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
@media (max-width: 1023px) { .single-product div.product .woocommerce-product-gallery { margin-inline: calc(-1 * var(--gutter)); } }
@media (min-width: 1024px) {
	.single-product div.product { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 0; }
	.single-product div.product > .woocommerce-product-gallery { grid-column: 1 / span 7; position: sticky; top: calc(var(--header-h) + 24px); align-self: start; }
	.single-product div.product > .summary { grid-column: 8 / span 5; padding-top: 8px; }
	.single-product div.product > .pb-pdp-sections, .single-product div.product > .pb-pdp-reviews { grid-column: 8 / span 5; }
	.single-product div.product > .related, .single-product div.product > .up-sells { grid-column: 1 / -1; }
}
.woocommerce-product-gallery { position: relative; min-width: 0; }
.single-product div.product > * { min-width: 0; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image { background: var(--oat); overflow: hidden; position: relative; }
.woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 8px; margin-top: 8px; overflow-x: auto; padding-inline: var(--gutter); scrollbar-width: none; }
@media (min-width: 1024px) { .woocommerce-product-gallery .flex-control-thumbs { padding-inline: 0; } }
.woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 72px; }
.woocommerce-product-gallery .flex-control-thumbs img { aspect-ratio: 1; object-fit: cover; opacity: .55; cursor: pointer; transition: opacity 150ms; border: 1.5px solid transparent; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--ink); }
.woocommerce-product-gallery__trigger { position: absolute; top: 12px; right: 12px; z-index: 5; width: 40px; height: 40px; border-radius: 50%; background: var(--paper); display: grid; place-items: center; font-size: 0; }
.woocommerce-product-gallery__trigger::before { content: ""; width: 14px; height: 14px; border: 2px solid var(--ink); border-radius: 50%; }
.woocommerce-product-gallery .flex-viewport { overflow: hidden; }
.onsale { position: absolute; top: 12px; left: 0; z-index: 5; background: var(--paper); padding: 6px 10px; font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }

.summary .product_title { font-family: var(--font-display); font-weight: 400; font-variation-settings: "opsz" 48; font-size: 34px; line-height: 1.1; letter-spacing: -0.015em; margin-top: 12px; }
@media (min-width: 1024px) { .summary .product_title { font-size: 48px; } }
.summary .woocommerce-product-details__short-description { margin-top: 12px; color: var(--stone); font-size: 17px; }
.summary > .price { margin-top: 16px; font-size: 26px; font-weight: 600; font-variant-numeric: tabular-nums; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
@media (min-width: 1024px) { .summary > .price { font-size: 30px; } }
.summary > .price del { order: 2; font-size: .65em; font-weight: 400; color: var(--stone); }
.summary > .price ins { text-decoration: none; color: var(--rust); }
.pb-pdp__tbc { margin-top: 6px; }
.woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-size: 14px; }
.woocommerce-review-link { color: var(--stone); text-decoration: underline; }
.star-rating { position: relative; display: inline-block; width: 5.4em; height: 1em; font-size: 14px; line-height: 1; overflow: hidden; }
.star-rating::before { content: "★★★★★"; position: absolute; inset: 0; color: var(--line); letter-spacing: .1em; }
.star-rating span { position: absolute; inset: 0 auto 0 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "★★★★★"; position: absolute; top: 0; left: 0; color: var(--blue); letter-spacing: .1em; }
.summary .stock { margin-top: 8px; font-size: 14px; font-weight: 600; color: var(--leaf); }
.summary .stock.out-of-stock { color: var(--rust); }

form.cart { margin-top: 24px; }
form.cart:not(.variations_form), .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
form.cart .quantity { flex: 0 0 auto; }
form.cart .single_add_to_cart_button { flex: 1 1 180px; }
form.cart .pb-buy-now { flex: 1 1 100%; }
@media (min-width: 640px) { form.cart .pb-buy-now { flex: 1 1 140px; } }
.woocommerce .quantity .qty { width: 64px; text-align: center; padding-inline: 4px; font-weight: 600; }
.quantity.pb-enhanced .qty { border: 0; width: 44px; min-height: 0; padding: 0; background: transparent; -moz-appearance: textfield; }
.quantity.pb-enhanced .qty::-webkit-inner-spin-button { -webkit-appearance: none; }

/* Variations → size buttons */
table.variations { width: 100%; border-collapse: collapse; margin-bottom: 8px; }
table.variations tr { display: block; margin-bottom: 16px; }
table.variations th, table.variations td { display: block; padding: 0; text-align: left; }
table.variations th label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; }
.pb-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-swatch { min-height: 52px; padding: 8px 16px; border: 1.5px solid var(--line); border-radius: var(--r); background: #fff; font-weight: 600; font-size: 15px; text-align: left; line-height: 1.25; transition: border-color 150ms, background 150ms; }
.pb-swatch small { display: block; font-weight: 400; font-size: 13px; color: var(--stone); font-variant-numeric: tabular-nums; }
.pb-swatch:hover { border-color: var(--ink); }
.pb-swatch[aria-pressed="true"] { border-color: var(--blue); background: var(--blue-tint); box-shadow: inset 0 0 0 1px var(--blue); }
.pb-swatch:disabled { opacity: .45; text-decoration: line-through; cursor: not-allowed; }
table.variations td.value { position: relative; }
.pb-swatches-native { position: absolute !important; left: 0; top: 0; width: 1px !important; min-height: 0 !important; height: 1px; padding: 0 !important; border: 0 !important; opacity: 0; pointer-events: none; overflow: hidden; clip-path: inset(50%); }
.reset_variations { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--stone); text-decoration: underline; }
.woocommerce-variation { margin-bottom: 12px; }
.woocommerce-variation-price .price { font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
.woocommerce-variation-description { color: var(--stone); font-size: 14px; }

.pb-assure { display: grid; gap: 10px; margin-top: 24px; padding: 16px 0; border-block: 1px solid var(--line); font-size: 14px; }
.pb-assure li { display: flex; gap: 10px; align-items: flex-start; }
.pb-assure .pb-icon { flex-shrink: 0; margin-top: 2px; color: var(--blue); }
.pb-assure a { text-decoration: underline; text-underline-offset: 2px; }
.pb-ask { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; font-weight: 600; font-size: 15px; }
.pb-ask span { background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat; padding-bottom: 2px; }

.pb-pdp-sections { margin-top: 40px; border-top: 1px solid var(--line); }
.pb-acc { border-bottom: 1px solid var(--line); }
.pb-acc summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; cursor: pointer; list-style: none; }
.pb-acc summary::-webkit-details-marker { display: none; }
.pb-acc summary h2 { font-size: 17px; font-weight: 600; }
.pb-acc__chev { transition: transform 200ms var(--ease); }
.pb-acc[open] .pb-acc__chev { transform: rotate(180deg); }
.pb-acc__body { padding-bottom: 24px; color: rgba(29, 27, 25, .85); }
.pb-acc__body > * + * { margin-top: 12px; }
.pb-acc__body h4 { font-weight: 600; color: var(--ink); }
.pb-acc__body h4 + p { margin-top: 4px; color: var(--stone); }
.pb-acc__body a { text-decoration: underline; }
.pb-dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px dashed var(--line); }
.pb-dl dt { color: var(--stone); }
.pb-dl dd { font-weight: 600; text-align: right; }
.pb-list { list-style: disc; padding-left: 1.2em; }

.pb-pdp-reviews { margin-top: 40px; }
.pb-pdp-reviews h2 { font-family: var(--font-display); font-weight: 400; font-size: 30px; }
.pb-pdp-reviews .commentlist { margin-top: 24px; }
.pb-pdp-reviews .commentlist li { padding: 20px 0; border-top: 1px solid var(--line); }
.pb-pdp-reviews .commentlist img.avatar { display: none; }
.pb-pdp-reviews .meta { font-size: 14px; color: var(--stone); }
.pb-pdp-reviews .woocommerce-noreviews { color: var(--stone); margin-top: 12px; }
.pb-pdp-reviews #respond { margin-top: 24px; padding: 20px; background: var(--cream); }
.pb-pdp-reviews #respond .comment-reply-title { font-weight: 600; display: block; margin-bottom: 12px; }
.pb-pdp-reviews #respond p { margin-bottom: 12px; }
.pb-pdp-reviews #respond textarea, .pb-pdp-reviews #respond input[type="text"], .pb-pdp-reviews #respond input[type="email"] { width: 100%; padding: 12px; border: 1.5px solid var(--line); border-radius: var(--r); background: #fff; }
.pb-pdp-reviews .stars a { font-size: 0; display: inline-block; width: 28px; height: 28px; position: relative; }
.pb-pdp-reviews .stars a::before { content: "★"; font-size: 24px; color: var(--line); position: absolute; inset: 0; }
.pb-pdp-reviews .stars a:hover::before, .pb-pdp-reviews .stars.selected a.active::before, .pb-pdp-reviews .stars.selected a:not(.active)::before { color: var(--blue); }
.pb-pdp-reviews .stars.selected a.active ~ a::before { color: var(--line); }
.pb-pdp-reviews .form-submit input { background: var(--blue); color: #fff; border: 0; min-height: 48px; padding: 0 24px; border-radius: var(--r); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }

.related.products, .up-sells { margin-top: var(--section); padding-top: 48px; border-top: 1px solid var(--line); }
.related.products > h2, .up-sells > h2 { font-family: var(--font-display); font-weight: 400; font-size: 30px; margin-bottom: 32px; }
@media (min-width: 1024px) { .related.products > h2 { font-size: 40px; } }

/* Sticky add-to-cart (mobile) */
.pb-sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: flex; align-items: center; gap: 12px; padding: 10px var(--gutter) max(10px, env(safe-area-inset-bottom)); background: var(--paper); border-top: 1px solid var(--line); box-shadow: 0 -6px 20px rgba(29, 27, 25, .06); transform: translateY(100%); transition: transform 250ms var(--ease); }
.pb-sticky-atc.is-visible { transform: none; }
.pb-sticky-atc__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-sticky-atc__name { font-size: 13px; color: var(--stone); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-sticky-atc__price { font-size: 17px; }
.pb-sticky-atc__wa { display: grid; place-items: center; width: 48px; height: 48px; border: 1.5px solid var(--line); border-radius: var(--r); color: var(--ink); flex-shrink: 0; }
.pb-sticky-atc .pb-btn { min-height: 48px; padding: 0 20px; }
@media (min-width: 1024px) { .pb-sticky-atc { display: none !important; } }
.single-product .pb-footer { padding-bottom: 80px; }
@media (min-width: 1024px) { .single-product .pb-footer { padding-bottom: 0; } }

/* Cart / checkout / account pages */
.pb-wcpage .pb-page-head { margin-bottom: 32px; }
.pb-wcpage__body { max-width: 1320px; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	background: var(--blue) !important; color: #fff !important; border-radius: var(--r) !important; min-height: 52px; font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase;
}
.wc-block-components-button:not(.is-link):hover { background: var(--blue-deep) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-blocks-components-select__select, .wc-block-components-textarea { border-radius: var(--r) !important; border-color: var(--line) !important; background: #fff !important; }
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: var(--blue) !important; box-shadow: 0 0 0 1px var(--blue) !important; }
.wc-block-components-title.wc-block-components-title, .wc-block-cart__totals-title { font-family: var(--font-display) !important; font-weight: 400 !important; text-transform: none !important; font-size: 24px !important; letter-spacing: -0.01em; }
.wc-block-components-product-name { font-weight: 600; color: var(--ink) !important; }
.wc-block-components-totals-item__value, .wc-block-components-product-price { font-variant-numeric: tabular-nums; }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar { font-size: 16px; }
.wp-block-woocommerce-checkout-order-summary-block, .wc-block-components-sidebar .wc-block-components-panel, .wp-block-woocommerce-cart-order-summary-block { background: var(--cream); padding: 16px; }
.wc-block-components-radio-control__option { border-radius: var(--r); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--blue); border-color: var(--blue); }

/* Classic cart/checkout fallback & account */
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px 8px; border-bottom: 1px solid var(--line); text-align: left; }
.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.woocommerce-MyAccount-navigation a { display: inline-flex; min-height: 40px; align-items: center; padding: 0 14px; border: 1.5px solid var(--line); border-radius: var(--r); font-size: 14px; font-weight: 600; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce form .form-row { margin-bottom: 16px; }
.woocommerce form.login, .woocommerce form.register { max-width: 440px; }
.woocommerce .col2-set { display: grid; gap: 40px; }
@media (min-width: 1024px) { .woocommerce .col2-set { grid-template-columns: 1fr 1fr; } }

/* 11 ─ Pages ─────────────────────────────────────────────────────────────── */
.pb-page-head { margin-bottom: 32px; }
.pb-page .pb-page-head { max-width: 68ch; }
.pb-404 { min-height: 50vh; }
.pb-404 .pb-display { margin-top: 16px; max-width: 14ch; }
.pb-uses { display: grid; gap: 0 32px; margin-top: 32px; }
@media (min-width: 640px) { .pb-uses { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .pb-uses { grid-template-columns: repeat(3, 1fr); margin-top: 48px; } }
.pb-uses li { padding: 24px 0; border-top: 1px solid var(--line); }
.pb-uses p { margin-top: 8px; }
.pb-steps { counter-reset: step; display: grid; gap: 16px; margin-top: 32px; }
.pb-steps li { counter-increment: step; display: grid; grid-template-columns: 36px 1fr; column-gap: 12px; }
.pb-steps li::before { content: counter(step); grid-row: span 2; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--blue); color: #fff; font-weight: 600; font-size: 15px; }
.pb-steps strong { font-weight: 600; }
.pb-steps span { font-size: 14px; }
.pb-corp-hero { position: relative; overflow: hidden; }
.pb-post-list li { padding: 24px 0; border-bottom: 1px solid var(--line); }

/* 12 ─ Footer & floating WhatsApp ─────────────────────────────────────── */
.pb-footer { position: relative; overflow: hidden; background: var(--blue); color: #fff; }
.pb-footer__inner { display: grid; gap: 48px; padding-top: 64px; }
.pb-footer__blurb { max-width: 34ch; margin-top: 24px; color: rgba(255, 255, 255, .85); }
.pb-footer__brand .pb-btn { margin-top: 24px; }
.pb-footer__social { display: flex; gap: 4px; margin-top: 20px; }
.pb-footer__social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r); color: rgba(255, 255, 255, .9); }
.pb-footer__social a:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.pb-footer__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 24px; }
.pb-footer__h { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--butter); }
.pb-footer__nav ul { margin-top: 16px; }
.pb-footer__nav a { display: inline-block; padding: 6px 0; font-size: 15px; color: rgba(255, 255, 255, .9); }
.pb-footer__nav a:hover { color: #fff; text-decoration: underline; }
.pb-footer__base { display: flex; flex-direction: column; gap: 24px; margin-top: 64px; padding-top: 24px; padding-bottom: 40px; border-top: 1px solid rgba(255, 255, 255, .2); font-size: 13px; color: rgba(255, 255, 255, .75); }
.pb-footer__pay { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-footer__pay li { padding: 4px 10px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 2px; font-size: 12px; font-weight: 600; letter-spacing: .03em; color: rgba(255, 255, 255, .8); }
@media (min-width: 640px) { .pb-footer__nav { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) {
	.pb-footer__inner { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; padding-top: 96px; }
	.pb-footer__brand { grid-column: 1 / span 4; }
	.pb-footer__nav { grid-column: 6 / span 7; }
	.pb-footer__base { flex-direction: row; align-items: center; justify-content: space-between; padding-bottom: 48px; }
}

.pb-wa { position: fixed; right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); z-index: 40; display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 13px; border-radius: 24px; background: var(--blue-deep); color: #fff; box-shadow: 0 6px 20px rgba(29, 27, 25, .18); transition: background-color 150ms; }
.pb-wa:hover { background: var(--blue); }
.pb-wa span { display: none; font-size: 14px; font-weight: 600; }
.pb-wa--pdp { display: none; } /* on mobile PDP, WhatsApp lives in the sticky bar */
@media (min-width: 1024px) { .pb-wa { right: 24px; bottom: 24px; padding: 0 16px; } .pb-wa span { display: inline; } .pb-wa--pdp { display: inline-flex; } }

/* 13 ─ Utilities ─────────────────────────────────────────────────────────── */
.pb-mt { margin-top: 16px; } .pb-mt-lg { margin-top: 40px; }
@media (max-width: 1023px) { .pb-hide-mobile { display: none !important; } }
@media (min-width: 1024px) { .pb-hide-desktop { display: none !important; } }
.pb-card__quick .pb-btn { width: 100%; }
.pb-from { font-weight: 400; font-size: .78em; color: var(--stone); }
@media (max-width: 639px) { .pb-toolbar .woocommerce-result-count { display: none; } .pb-toolbar__right { width: 100%; } .pb-toolbar__right form { width: 100%; } .woocommerce-ordering select { width: 100%; } }
.pb-nowrap { white-space: nowrap; }
