/* Peptra Club theme: the brand layer over theme.json + WooCommerce. Mobile first; nothing may overflow at 390px.
   Identity: "Cap code" (Steve's pick, 2026-11-06). A neutral bench-white page, ink type in Red Hat Display / Text,
   data in Red Hat Mono, and color only where a lab would put it: on vial caps. Each product keeps one cap color
   everywhere it appears (the plugin's includes/caps.php sets --pc-cap and --pc-cap-tint per product). Signal red
   is the brand's own cap and the primary action. Provisional until Osama's brand files arrive (P5). */

:root {
  --pc-max: 1400px;
  --pc-rule: 1px solid var(--wp--preset--color--line);
  --pc-ease: cubic-bezier(.2,.7,.2,1);
  --pc-radius: 16px;
  --pc-radius-field: 10px;
  --pc-mono: var(--wp--preset--font-family--mono);
}
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; }
img, svg, video { max-width: 100%; height: auto; }
:focus-visible { outline: 3px solid var(--wp--preset--color--cap-cobalt); outline-offset: 2px; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
.pc-muted { color: var(--wp--preset--color--slate); }
.pc-cap { flex: none; display: inline-block; vertical-align: middle; }
/* Data reads as data: lots, purity, dates and SKUs in the mono; tabular figures only where numbers stack. */
.price, .woocommerce-Price-amount, .wc-block-components-product-price { font-variant-numeric: tabular-nums; }

/* ---------- placeholder tags (staging only; the plugin prints them) ---------- */
.pc-ph { background: transparent; color: inherit; text-decoration: underline dotted var(--wp--preset--color--gold); text-decoration-thickness: 1.5px; text-underline-offset: .22em; white-space: normal; }
.pc-ph--unknown { text-decoration-color: #C4685C; }
.pc-ph--missing { background: #B5473A; color: #fff; padding: 0 .3em; text-decoration: none; }
.pc-ph__tag { display: inline-block; margin-left: .4em; padding: 0 .45em; border-radius: 999px; background: #FBF1DF; color: #7A5410; font: 500 .6875rem/1.6 var(--wp--preset--font-family--body); letter-spacing: 0; text-transform: none; vertical-align: .08em; white-space: nowrap; text-decoration: none; }
.pc-ph--unknown .pc-ph__tag { background: #FBE7E3; color: #8E2F24; }

/* ---------- notice bar + header ---------- */
.pc-noticebar { margin: 0; }
.pc-notice--bar { margin: 0; padding: .6rem 1rem; text-align: center; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); font-size: .75rem; font-weight: 500; letter-spacing: .03em; line-height: 1.55; }
/* The blur lives on a pseudo-element: backdrop-filter on the header itself makes it the containing block for
   the fixed menu overlay, which then collapsed to the header's 70px height on phones (found 2026-11-05). */
.pc-header { position: sticky; top: 0; z-index: 50; isolation: isolate; border-bottom: var(--pc-rule); padding-top: .85rem; padding-bottom: .85rem; transition: box-shadow .3s var(--pc-ease); }
.pc-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--wp--preset--color--white) 94%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.pc-header.is-scrolled { box-shadow: 0 8px 30px -18px rgba(18,20,23,.35); }
.pc-header .pc-header__row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 1rem; }
.pc-header .pc-header__row > .pc-wordmark { justify-self: start; }
.pc-header .pc-header__row > .pc-nav { justify-self: center; }
.pc-header .pc-header__actions { justify-self: end; gap: .25rem; }
.pc-header__actions .wc-block-customer-account__link, .pc-header__actions .wc-block-mini-cart__button { padding: .5rem; }
@media (max-width: 599px) {
  .pc-header .pc-header__row { grid-template-columns: minmax(0, 1fr) auto auto; gap: .25rem; }
  .pc-header .pc-header__row > .pc-nav { order: 3; justify-self: end; }
  .pc-header .pc-header__actions { order: 2; }
}
.pc-wordmark { margin: 0; white-space: nowrap; }
.pc-nav .wp-block-navigation__container { gap: clamp(1.25rem, 2.4vw, 2rem); }
.pc-nav .wp-block-navigation-item__content { padding: .35rem 0; border-bottom: 2px solid transparent; font-size: .875rem; font-weight: 600; }
.pc-nav .wp-block-navigation-item__content:hover, .pc-nav .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: var(--wp--preset--color--gold); text-decoration: none; }
.pc-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--white); padding: 2rem 1.5rem; }
.pc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; }
.pc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font: 800 2rem/1.1 var(--wp--preset--font-family--display); letter-spacing: -.035em; }
.pc-minicart .wc-block-mini-cart__button { color: var(--wp--preset--color--ink); }
.pc-minicart .wc-block-mini-cart__badge { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--white); border: 0; }

/* ---------- the logo (provisional; [peptra_logo] in functions.php) ---------- */
.pc-logo { display: inline-flex; align-items: center; gap: .6rem; color: var(--wp--preset--color--ink); text-decoration: none; }
.pc-logo__mark { width: 2.125rem; height: 2.125rem; flex: none; }
.pc-logo__word { font-family: var(--wp--preset--font-family--display); font-size: 1.5625rem; font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.pc-logo__light { font-weight: 500; color: var(--wp--preset--color--slate); }
.pc-logo:hover .pc-logo__word { color: var(--wp--preset--color--ink); }

/* ---------- buttons: pills. Signal red is the primary action; ink for list and card actions. ---------- */
.wp-block-button.is-style-outline-ink .wp-block-button__link { background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); border: 1.5px solid var(--wp--preset--color--ink); }
.wp-block-button.is-style-outline-ink .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.wp-element-button, .wp-block-button__link, .woocommerce button.button, .woocommerce a.button, .woocommerce .button, .wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  font-family: var(--wp--preset--font-family--body); font-weight: 600; font-size: var(--wp--preset--font-size--small); letter-spacing: 0; border-radius: 999px; transition: background .2s var(--pc-ease), color .2s var(--pc-ease), border-color .2s var(--pc-ease);
}
.woocommerce button.button, .woocommerce a.button, .woocommerce .button, .wc-block-components-button:not(.is-link) { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); border: 1.5px solid var(--wp--preset--color--ink); }
.woocommerce button.button:hover, .woocommerce a.button:hover, .wc-block-components-button:not(.is-link):hover { background: var(--wp--preset--color--graphite); border-color: var(--wp--preset--color--graphite); color: var(--wp--preset--color--white); }
/* The buying actions are the brand's red. */
.woocommerce div.product form.cart .single_add_to_cart_button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--wp--preset--color--gold) !important; border-color: var(--wp--preset--color--gold) !important; color: var(--wp--preset--color--white) !important; }
.woocommerce div.product form.cart .single_add_to_cart_button:hover, .wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--wp--preset--color--gold-dark) !important; border-color: var(--wp--preset--color--gold-dark) !important; }

/* ---------- sections ---------- */
/* Section titles and ledes live in a plain-flow .pc-section-intro group: a constrained layout centres any
   child narrower than its column, which put "What you can check" and its lede on two different left edges. */
.pc-section-intro { margin-bottom: 2rem; }
.pc-band__intro { margin-bottom: 1.25rem; }
.pc-section-title { margin-bottom: .5rem; max-width: 18ch; text-wrap: balance; }
.pc-section-title.has-text-align-center { margin-left: auto; margin-right: auto; }
.pc-section-lede { max-width: 52ch; color: var(--wp--preset--color--slate); margin-bottom: 0; }
@media (min-width: 900px) { .pc-section-intro--split { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(2rem, 5vw, 4rem); align-items: end; } .pc-section-intro--split > * { margin: 0 !important; } }
.pc-section-head { margin-bottom: 1.5rem; }
.pc-section-link a { font-weight: 600; border-bottom: 2px solid var(--wp--preset--color--gold); text-decoration: none; }
.pc-lede { color: var(--wp--preset--color--slate); line-height: 1.55; max-width: 46ch; text-wrap: pretty; }

/* ---------- one layout system ----------
   Every surface shares one left edge: the global content column. Template parts and home sections butt
   together with no 20px "seams" (the root block gap was showing paper between full-bleed bands). */
.wp-site-blocks > * + * { margin-block-start: 0; }
.pc-main--home > .wp-block-post-content > * { margin-block: 0; }
/* WooCommerce marks its breadcrumbs, notices and the classic product template "alignwide"; inside our pages that
   meant a second left edge (48px vs 140px at 1440). They sit on the content column like everything else. */
.pc-main.is-layout-constrained > .alignwide { max-width: var(--wp--style--global--content-size) !important; }

/* ---------- page head (every inner page) ----------
   Title and lede sit in a plain-flow wrapper, so their left edge is the content edge. A max-width on a
   child of a constrained layout centres it instead (the old 18ch title stuck out 50px to the left). */
.pc-pagehead { margin-bottom: clamp(2rem, 4vw, 3rem); }
.pc-page-title { margin: 0; max-width: none; text-wrap: balance; }
.pc-pagehead > .pc-lede { margin: 1.5rem 0 0; font-size: var(--wp--preset--font-size--large); max-width: 44ch; }
.pc-page-body > .pc-lede { margin: 0 0 clamp(2rem, 4vw, 3rem); }

/* ---------- document pages (policies, About): headings in a margin column ---------- */
.pc-doc { font-size: 1.0625rem; line-height: 1.7; }
.pc-doc > * { margin-block: 0; max-width: 40rem; }
.pc-doc > * + * { margin-top: 1.15em; }
.pc-doc > h2 { font-size: var(--wp--preset--font-size--x-large); line-height: 1.15; margin-top: clamp(2.75rem, 6vw, 3.5rem); text-wrap: balance; }
.pc-doc > h2 + * { margin-top: .85rem; }
.pc-doc > .pc-lede { font-size: var(--wp--preset--font-size--large); }
.pc-doc > .pc-doc__note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--slate); }
.pc-doc > .pc-doc__note + :not(h2) { margin-top: 1.5rem; }
.pc-doc ul, .pc-doc ol { padding-left: 1.15em; }
.pc-doc li + li { margin-top: .6em; }
.pc-doc li::marker { color: var(--wp--preset--color--gold); }
.pc-doc .pc-plate { margin: 1.75rem 0 .5rem; }
@media (min-width: 900px) {
  .pc-doc { display: grid; grid-template-columns: minmax(0, 13.5rem) minmax(0, 40rem); column-gap: clamp(3rem, 6vw, 5.5rem); align-items: start; }
  .pc-doc > * { grid-column: 2; }
  .pc-doc > .pc-lede, .pc-doc > .pc-doc__note { grid-column: 1 / -1; }
  /* A heading shares its row with the first block of its section, so both start on the same line. */
  .pc-doc > h2 { grid-column: 1; font-size: 1.25rem; font-weight: 800; letter-spacing: -.025em; line-height: 1.25; padding-top: 1rem; border-top: 2px solid var(--wp--preset--color--ink); }
  .pc-doc > h2, .pc-doc > h2 + * { margin-top: clamp(3rem, 5vw, 4rem); }
  .pc-doc > h2 + * { padding-top: calc(1rem + 2px); }
  .pc-doc > ul, .pc-doc > ol { padding-left: 0; }
}

/* ---------- hero ----------
   Bench white, the headline heavy and tight, a rack of the posted products' caps over the newest batch's
   certificate card, and the shipping facts along the bottom edge. */
.pc-hero { background: var(--wp--preset--color--paper); }
.pc-hero__cols { gap: clamp(2rem, 5vw, 4.5rem) !important; }
.pc-hero__title { font-size: clamp(2.75rem, 5.6vw, 5rem) !important; line-height: .96 !important; letter-spacing: -.05em !important; margin: 0 0 clamp(1.5rem, 3vw, 2rem); text-wrap: balance; }
.pc-hero__lede { max-width: 42ch; color: var(--wp--preset--color--slate); line-height: 1.55; margin: 0; }
.pc-hero__actions { margin-top: clamp(1.75rem, 3vw, 2.25rem); }
.pc-hero__side > * { margin-left: auto; max-width: 460px; }
.pc-hero__plate .pc-plate { max-width: 460px; margin: 1.25rem 0 0 auto; box-shadow: 0 30px 60px -44px rgba(18,20,23,.45); }
.pc-hero__strip { display: flex; flex-wrap: wrap; gap: .5rem 2.25rem; margin-top: clamp(3rem, 6vw, 4.5rem) !important; margin-bottom: 0 !important; padding: 1.1rem 0 1.25rem; border-top: var(--pc-rule); font-size: .875rem; font-weight: 500; color: var(--wp--preset--color--slate); }
@media (max-width: 781px) { .pc-hero__side > *, .pc-hero__plate .pc-plate { margin-left: 0; max-width: none; } }
@media (max-width: 599px) { .pc-hero__actions .wp-block-button { flex: 1 1 100%; } .pc-hero__actions .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; text-align: center; } }
/* The rack: the posted products' caps, two staggered rows (decorative; the register names them). */
.pc-rack { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem .7rem; }
.pc-rack li { margin: 0; line-height: 0; }
.pc-rack__cap { width: clamp(2.75rem, 4.6vw, 3.75rem); height: auto; }
@media (max-width: 781px) { .pc-rack { justify-content: flex-start; } }

/* ---------- the batch register (home signature device) ----------
   One row per product: its cap, its name, its current batch. A white band between rules. */
.pc-register-section { background: var(--wp--preset--color--white); border-top: var(--pc-rule); border-bottom: var(--pc-rule); }
.pc-register { --pc-col: min(var(--wp--style--global--content-size), calc(100% - 2 * var(--wp--style--root--padding-left, 1rem))); }
.pc-register__intro, .pc-register__rows, .pc-register__total { width: var(--pc-col); margin-inline: auto; }
.pc-register__intro { display: grid; gap: 1.25rem; margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem); }
@media (min-width: 900px) { .pc-register__intro { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: clamp(2rem, 5vw, 4rem); align-items: end; } }
.pc-register__title { margin: 0; text-wrap: balance; }
.pc-register__aside p { margin: 0; color: var(--wp--preset--color--slate); font-size: var(--wp--preset--font-size--small); line-height: 1.6; max-width: 40ch; }
.pc-register__aside p + p { margin-top: 1rem; }
.pc-register__all { color: var(--wp--preset--color--ink); font-weight: 600; text-decoration: none; padding-bottom: .2rem; border-bottom: 2px solid var(--wp--preset--color--gold); }
.pc-register__rows { list-style: none; padding: 0; margin-top: 0; margin-bottom: 0; border-top: 1.5px solid var(--wp--preset--color--ink); }
.pc-register__row { margin: 0; border-bottom: var(--pc-rule); }
.pc-register__link { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .75rem 1rem; padding: clamp(1rem, 2vw, 1.35rem) 0; color: var(--wp--preset--color--ink); text-decoration: none; }
.pc-register__name { display: flex; align-items: center; gap: clamp(.75rem, 1.4vw, 1.1rem); min-width: 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.875rem, 3.4vw, 2.75rem); font-weight: 800; line-height: 1; letter-spacing: -.04em; overflow-wrap: anywhere; }
.pc-register__name .pc-cap { width: clamp(1.75rem, 2.6vw, 2.25rem); height: auto; transition: transform .3s var(--pc-ease); }
.pc-register__row:hover .pc-cap { transform: rotate(-35deg); }
.pc-register__data { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem 1rem; }
.pc-register__cell { display: flex; flex-direction: column; gap: .2rem; white-space: nowrap; font-family: var(--pc-mono); font-size: .9375rem; }
.pc-register__k { font-family: var(--wp--preset--font-family--body); font-size: .75rem; font-weight: 600; color: var(--wp--preset--color--slate); }
.pc-register__v { font-weight: 500; }
.pc-register__cell--pending { grid-column: 1 / -1; font-family: var(--wp--preset--font-family--body); color: var(--wp--preset--color--slate); }
.pc-register__go { grid-column: 2; grid-row: 1; font-size: .875rem; font-weight: 600; color: var(--wp--preset--color--ink); padding: .45rem 1rem; border: 1.5px solid var(--wp--preset--color--ink); border-radius: 999px; transition: background .2s, color .2s; }
.pc-register__row:hover .pc-register__go { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
@media (min-width: 900px) {
  .pc-register__link { grid-template-columns: minmax(0, 1fr) minmax(0, 29rem) auto; column-gap: clamp(1.5rem, 3vw, 3rem); }
  .pc-register__data { grid-column: 2; grid-row: 1; grid-template-columns: minmax(0, 11fr) minmax(0, 7fr) minmax(0, 10fr); gap: 0 1.5rem; }
  .pc-register__v { font-size: 1rem; }
  .pc-register__go { grid-column: 3; }
}
@media (prefers-reduced-motion: reduce) { .pc-register__row:hover .pc-cap { transform: none; } }
.pc-register__link:focus-visible { outline-offset: 4px; border-radius: 4px; }
/* The total line: what's shown, what's posted and where the rest is. */
.pc-register__total { padding: 1rem 0 0; border-top: 1.5px solid var(--wp--preset--color--ink); display: flex; flex-wrap: wrap; gap: .5rem 2rem; font-size: .875rem; font-weight: 500; color: var(--wp--preset--color--slate); }
.pc-register__total a { margin-left: auto; color: var(--wp--preset--color--ink); font-weight: 600; text-decoration: none; padding-bottom: .15rem; border-bottom: 2px solid var(--wp--preset--color--gold); }
.pc-register__row:last-child { border-bottom: 0; }

/* ---------- the certificate card ----------
   A white card with the product's cap in its header, the batch's cells below, values in the mono. */
.pc-plate { --pc-plate-pad: clamp(1rem, 2.5vw, 1.35rem); position: relative; background: var(--wp--preset--color--white); border: var(--pc-rule); border-radius: var(--pc-radius); overflow: hidden; padding: 0; margin: 1rem 0 1.5rem; max-width: 520px; }
.pc-plate > * { margin: 0; }
.pc-plate__head { display: flex; align-items: center; gap: .8rem; padding: .95rem var(--pc-plate-pad); border-bottom: var(--pc-rule); }
.pc-plate__label { flex: 1 1 auto; min-width: 0; margin: 0; display: flex; flex-direction: column; font-size: .8125rem; font-weight: 600; color: var(--wp--preset--color--slate); line-height: 1.3; }
.pc-plate__product { font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; font-weight: 800; letter-spacing: -.035em; line-height: 1.1; color: var(--wp--preset--color--ink); }
.pc-plate__chip { flex: none; font-family: var(--pc-mono); font-size: .75rem; font-weight: 600; padding: .2rem .65rem; border-radius: 999px; background: var(--pc-cap-tint, #E9EAEB); color: var(--wp--preset--color--ink); }
.pc-plate__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; padding: 1.1rem var(--pc-plate-pad) .25rem; }
.pc-plate__cell dt { margin: 0 0 .2rem; font-size: .8125rem; font-weight: 600; color: var(--wp--preset--color--slate); }
.pc-plate__cell dd { margin: 0; font-family: var(--pc-mono); font-size: 1.125rem; font-weight: 500; line-height: 1.3; }
.pc-plate__cell--lab dd { font-family: var(--wp--preset--font-family--body); font-size: 1.0625rem; }
.pc-plate__method { padding: .75rem var(--pc-plate-pad) 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--slate); }
.pc-plate__link { display: block; margin: 1rem var(--pc-plate-pad) var(--pc-plate-pad) !important; padding: .7rem 1rem; text-align: center; border: 1.5px solid var(--wp--preset--color--ink); border-radius: 999px; font-weight: 600; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink); text-decoration: none; transition: background .2s, color .2s; }
.pc-plate__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.pc-plate > mark { display: inline-block; margin: 1rem var(--pc-plate-pad) var(--pc-plate-pad) !important; font-weight: 600; font-size: var(--wp--preset--font-size--small); }
.pc-plate--empty .pc-plate__fallback { padding: .9rem var(--pc-plate-pad) 1.1rem; color: var(--wp--preset--color--slate); }

/* ---------- badge + notice + COA table ---------- */
.pc-badge { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .2rem .5rem; margin: 0 0 .5rem; font-family: var(--pc-mono); font-size: .8125rem; color: var(--wp--preset--color--slate); }
.pc-badge__purity { color: var(--wp--preset--color--ink); font-weight: 600; }
.pc-badge--pending { font-family: var(--wp--preset--font-family--body); }
.pc-badge--pending .pc-cap { filter: grayscale(1); opacity: .55; }
.pc-notice--product { margin: 1.25rem 0 0; padding: .95rem 1.1rem; border-radius: var(--pc-radius-field); background: var(--wp--preset--color--stone); font-size: var(--wp--preset--font-size--small); }
.pc-notice--product p { margin: 0; }
.pc-notice--footer { max-width: 80ch; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--slate); margin: 2rem 0 0; }
.pc-coa-table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.pc-coa-table caption { text-align: left; color: var(--wp--preset--color--slate); padding-bottom: .75rem; }
.pc-coa-table th, .pc-coa-table td { text-align: left; padding: .7rem .5rem; border-bottom: var(--pc-rule); vertical-align: top; }
.pc-coa-table td { font-family: var(--pc-mono); }
.pc-coa-table th { font-size: .8125rem; color: var(--wp--preset--color--slate); font-weight: 600; }
@media (max-width: 640px) {
  .pc-coa-table thead { display: none; }
  .pc-coa-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem .75rem; padding: .75rem 0; border-bottom: var(--pc-rule); }
  .pc-coa-table td { border: 0; padding: 0; }
  .pc-coa-table td::before { content: attr(data-label); display: block; font-family: var(--wp--preset--font-family--body); font-size: .75rem; font-weight: 600; color: var(--wp--preset--color--slate); }
}

/* ---------- certificates page: lot finder + ledger ---------- */
.pc-page-body > .pc-lede:has(+ .pc-certs__lab) { margin-bottom: 1.25rem; }
.pc-page-body > .pc-certs__lab { margin: 0 0 clamp(2rem, 4vw, 3rem); max-width: 60ch; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--slate); }
.pc-lotfind { margin: 0 0 clamp(2.5rem, 5vw, 3.5rem); padding: clamp(1.4rem, 3vw, 2rem); background: var(--wp--preset--color--white); border: var(--pc-rule); border-radius: var(--pc-radius); }
@media (min-width: 900px) { .pc-lotfind:not([hidden]) { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(2rem, 4vw, 3.5rem); align-items: center; } .pc-lotfind__label { grid-column: 1; grid-row: 1; } .pc-lotfind__hint { grid-column: 1; grid-row: 2; margin-bottom: 0 !important; } .pc-lotfind__input { grid-column: 2; grid-row: 1 / span 2; } .pc-lotfind__status { grid-column: 2; grid-row: 3; } }
.pc-lotfind__label { display: block; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--x-large); font-weight: 800; letter-spacing: -.035em; line-height: 1.15; }
.pc-lotfind__hint { margin: .6rem 0 1.1rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--slate); }
.pc-lotfind__input { width: 100%; box-sizing: border-box; padding: .85rem 1.1rem; border: 1.5px solid var(--wp--preset--color--ink); border-radius: var(--pc-radius-field); background: var(--wp--preset--color--paper); font: 500 1.2rem/1.3 var(--pc-mono); color: var(--wp--preset--color--ink); }
.pc-lotfind__input::placeholder { color: #8A9098; }
.pc-lotfind__status { margin: .8rem 0 0; font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.pc-lotfind__status:empty { display: none; }
/* One table: a single header row, a tbody per product whose first row is the product's name and cap. */
.pc-coa-ledger { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.pc-coa-ledger col.pc-col-lot { width: 30%; }
.pc-coa-ledger col.pc-col-tested { width: 17%; }
.pc-coa-ledger col.pc-col-purity { width: 12%; }
.pc-coa-ledger col.pc-col-file { width: 16%; }
.pc-coa-ledger thead th { padding: 0 1.25rem .7rem 0; text-align: left; font-size: .8125rem; font-weight: 600; color: var(--wp--preset--color--slate); border-bottom: 1.5px solid var(--wp--preset--color--ink); }
.pc-coa-ledger tbody th, .pc-coa-ledger td { padding: 1rem 1.25rem 1rem 0; text-align: left; font-weight: 400; vertical-align: baseline; border-bottom: var(--pc-rule); }
.pc-coa-ledger td[data-label="Tested"], .pc-coa-ledger__purity { font-family: var(--pc-mono); }
.pc-coa-group[hidden], .pc-coa-ledger tr[hidden] { display: none !important; }
.pc-coa-group__head th { padding: clamp(1.75rem, 3.5vw, 2.5rem) 0 .75rem !important; border-bottom: var(--pc-rule); }
.pc-coa-group:first-of-type .pc-coa-group__head th { padding-top: 1.25rem !important; }
.pc-coa-group__head th { display: table-cell; }
.pc-coa-group__title { display: inline-flex; align-items: center; gap: .75rem; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.625rem, 2.8vw, 2.25rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.1; color: var(--wp--preset--color--ink); }
.pc-coa-group__title .pc-cap { width: 1.875rem; height: auto; }
.pc-coa-group__link, .pc-coa-ledger__file a { font-size: var(--wp--preset--font-size--small); font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--wp--preset--color--gold); white-space: nowrap; }
.pc-coa-group__link { float: right; margin-top: .65rem; }
.pc-coa-ledger__lot { font-family: var(--pc-mono); font-weight: 500; }
.pc-coa-ledger__newest { display: inline-block; margin-left: .5rem; padding: .05rem .55rem; border-radius: 999px; background: #FBE7E3; font-family: var(--wp--preset--font-family--body); font-size: .75rem; font-weight: 600; color: #8E2F24; white-space: nowrap; }
.pc-coa-ledger__purity { font-weight: 600; }
.pc-coa-ledger__lab { color: var(--wp--preset--color--slate); }
.pc-coa-ledger__method { display: block; margin-top: .15rem; font-size: var(--wp--preset--font-size--xs); }
.pc-coa-ledger__file { text-align: right !important; padding-right: 0 !important; white-space: nowrap; }
.pc-coa-ledger__pending { color: var(--wp--preset--color--slate); }
@media (max-width: 700px) {
  .pc-coa-ledger thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pc-coa-ledger, .pc-coa-ledger tbody, .pc-coa-group__head th { display: block; }
  .pc-coa-group__head { display: block; }
  .pc-coa-ledger tbody tr:not(.pc-coa-group__head) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1rem; padding: 1.1rem 0; border-bottom: var(--pc-rule); }
  .pc-coa-ledger tbody tr:not(.pc-coa-group__head) > * { padding: 0; border: 0; }
  .pc-coa-ledger tbody th[scope="row"], .pc-coa-ledger__lab, .pc-coa-ledger__file, .pc-coa-ledger__pending { grid-column: 1 / -1; }
  .pc-coa-ledger td[data-label]::before { content: attr(data-label); display: block; margin-bottom: .2rem; font-family: var(--wp--preset--font-family--body); font-size: .75rem; font-weight: 600; color: var(--wp--preset--color--slate); }
  .pc-coa-ledger__file { text-align: left !important; }
}

/* ---------- contact page: a contact sheet beside what to include ---------- */
.pc-contact { display: grid; gap: 2.5rem; }
@media (min-width: 900px) { .pc-contact { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(3rem, 6vw, 5.5rem); align-items: start; } }
.pc-contact > * { margin: 0; }
.pc-contact__sheet { margin: 0; border-top: 1.5px solid var(--wp--preset--color--ink); }
.pc-contact__row { display: grid; grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr); gap: .45rem 1.5rem; align-items: baseline; padding: 1.35rem 0; border-bottom: var(--pc-rule); }
.pc-contact__row dt { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--slate); }
.pc-contact__row dd { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.2rem, 2.2vw, 1.5rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.35; overflow-wrap: anywhere; }
.pc-contact__row dd a { color: var(--wp--preset--color--ink); text-decoration: none; border-bottom: 2px solid var(--wp--preset--color--gold); }
.pc-contact__row dd a:hover { border-bottom-color: var(--wp--preset--color--ink); }
@media (max-width: 520px) { .pc-contact__row { grid-template-columns: minmax(0, 1fr); } }
.pc-contact__aside { padding: clamp(1.5rem, 3vw, 2rem); background: var(--wp--preset--color--white); border: var(--pc-rule); border-radius: var(--pc-radius); }
.pc-contact__aside > * { margin: 0; }
.pc-contact__h { font-size: var(--wp--preset--font-size--large); }
.pc-contact__list { margin-top: .9rem !important; padding-left: 1.1em; line-height: 1.6; }
.pc-contact__list li + li { margin-top: .6em; }
.pc-contact__list li::marker { color: var(--wp--preset--color--gold); }
.pc-contact__more { margin-top: 1.25rem !important; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--slate); }
.pc-contact__aside > p:last-child:not(.pc-contact__more) { margin-top: 1.25rem; }

/* ---------- ledger cards (anatomy) ---------- */
.pc-ledger { gap: 1.5rem; }
@media (min-width: 600px) { .pc-ledger.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 2.25rem 1.5rem; } }
@media (min-width: 1100px) { .pc-ledger.is-layout-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
.wp-block-group.is-style-ledger { padding-top: 1.25rem; border-top: 2px solid var(--wp--preset--color--ink); }
.wp-block-group.is-style-ledger h3, .wp-block-group.is-style-ledger h2 { margin: 0 0 .5rem; }
.wp-block-group.is-style-ledger p { margin: 0; color: var(--wp--preset--color--slate); }

/* ---------- steps ---------- */
.pc-steps__cols { gap: 2rem; }
.pc-step { padding-top: 1rem; border-top: 2px solid var(--wp--preset--color--ink); }
.pc-step p { color: var(--wp--preset--color--slate); }

/* ---------- the split: a statement on the left, the substance on the right (band, FAQ) ---------- */
.pc-split { display: grid; gap: 2rem; }
.pc-split > * > :first-child { margin-top: 0; }
.pc-split > * > :last-child { margin-bottom: 0; }
@media (min-width: 900px) { .pc-split { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: clamp(3rem, 7vw, 7rem); align-items: start; } }

/* ---------- dark band: the full cap palette over the statement ---------- */
.pc-band__caps { display: block; width: min(100%, 18rem); height: auto; margin: 0 0 clamp(1.5rem, 3vw, 2rem); }
.pc-band__title { font-size: clamp(2.5rem, 5vw, 4.5rem) !important; line-height: .98 !important; letter-spacing: -.05em !important; max-width: 11ch; text-wrap: balance; }
.pc-band__lede { font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: #C9CDD2; }
.pc-band a { color: var(--wp--preset--color--white); }
.pc-band__list { list-style: none; padding: 0; margin: 2rem 0; border-top: 1px solid #2E3238; }
.pc-band__list li { padding: 1rem 0; margin: 0; border-bottom: 1px solid #2E3238; }
.pc-band__link a { font-weight: 600; text-decoration: none; padding-bottom: .2rem; border-bottom: 2px solid var(--wp--preset--color--gold); }

/* ---------- FAQ: every answer open, two columns beside the title ---------- */
.pc-qa { display: grid; gap: 2.25rem 2.5rem; }
@media (min-width: 640px) { .pc-qa { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pc-qa > * { margin: 0 !important; }
.pc-qa__item > * { margin: 0; }
.pc-qa__q { font-size: 1.1875rem !important; font-weight: 800; letter-spacing: -.03em; line-height: 1.25; margin-bottom: .55rem !important; }
.pc-qa__item p { font-size: var(--wp--preset--font-size--small); line-height: 1.65; color: var(--wp--preset--color--slate); }
.pc-split--faq .pc-section-title { max-width: none; }
@media (min-width: 900px) { .pc-split--faq { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); } }
.pc-split--faq .pc-section-link { margin-top: 1.5rem; }

/* ---------- closing statement ---------- */
.pc-cta__title { font-size: clamp(2.75rem, 6vw, 5rem) !important; line-height: .98 !important; letter-spacing: -.05em !important; margin-bottom: 1.5rem; text-wrap: balance; }
.pc-cta__lede { max-width: 46ch; margin-left: auto !important; margin-right: auto !important; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--slate); }
.pc-cta .wp-block-buttons { margin-top: 2rem; }

/* ---------- shop ---------- */
.pc-shop-title { margin-bottom: .5rem; }
.pc-shop-lede { max-width: 62ch; color: var(--wp--preset--color--slate); }
.pc-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 1rem; }
.pc-chip { padding: .45rem 1rem; border: 1.5px solid var(--wp--preset--color--line); border-radius: 999px; font-size: var(--wp--preset--font-size--small); font-weight: 600; text-decoration: none; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--white); }
.pc-chip:hover, .pc-chip.is-current { border-color: var(--wp--preset--color--ink); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.pc-shop-toolbar { margin: .5rem 0 1.5rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--slate); }
.pc-shop-toolbar .woocommerce-result-count, .pc-shop-toolbar .woocommerce-ordering { margin: 0; }
.woocommerce-ordering select, .woocommerce div.product form.cart table.variations select { -webkit-appearance: none; appearance: none; padding: .6rem 2.4rem .6rem 1rem; border: 1.5px solid var(--wp--preset--color--ink); border-radius: 999px; background: var(--wp--preset--color--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23121417' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 1rem center; font: inherit; font-weight: 500; color: var(--wp--preset--color--ink); cursor: pointer; }
.pc-grid .wc-block-product-template { gap: 1.5rem; }
@media (min-width: 720px) { .pc-grid .wc-block-product-template.columns-3, .pc-grid .wc-block-product-template.columns-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pc-grid .wc-block-product-template.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Cards: white, rounded, the photo field tinted with the product's cap color. */
.pc-grid .wc-block-product { background: var(--wp--preset--color--white); border: var(--pc-rule); border-radius: var(--pc-radius); overflow: hidden; padding: 0 0 1.25rem; display: flex; flex-direction: column; transition: border-color .2s var(--pc-ease), box-shadow .3s var(--pc-ease); }
.pc-grid .wc-block-product:hover { border-color: var(--pc-cap, var(--wp--preset--color--ink)); box-shadow: 0 18px 40px -30px rgba(18,20,23,.45); }
.pc-grid .wc-block-product > :not(.wc-block-components-product-image) { margin-left: 1.25rem; margin-right: 1.25rem; }
.pc-grid .wc-block-components-product-image { margin: 0 0 1.1rem !important; background: var(--pc-cap-tint, var(--wp--preset--color--stone)); aspect-ratio: 1 / 1; display: grid; place-items: center; overflow: hidden; }
.pc-grid .wc-block-components-product-image img { object-fit: cover; width: 100%; height: 100%; }
.pc-card__title, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-weight: 800 !important; letter-spacing: -.035em !important; }
.pc-card__title { margin: 0 0 .45rem; }
.pc-card__title a { text-decoration: none; color: var(--wp--preset--color--ink); }
.pc-card__price { margin: .25rem 0 1rem; font-weight: 600; }
.pc-card__btn { margin-top: auto; }
.pc-card__btn .wp-block-button__link, .pc-grid .pc-card__btn .wc-block-components-product-button__button { width: 100%; text-align: center; justify-content: center; background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.pc-grid .pc-card__btn .wc-block-components-product-button__button:hover { background: var(--wp--preset--color--graphite); border-color: var(--wp--preset--color--graphite); }
/* Phones: one product per row (photo left, details right, button across), so names, lots and prices never wrap into stubs. */
@media (max-width: 719px) {
  .pc-grid .wc-block-product-template { grid-template-columns: minmax(0, 1fr) !important; gap: 1rem; }
  .pc-grid .wc-block-product { display: grid; grid-template-columns: 7rem minmax(0, 1fr); column-gap: 1rem; align-items: start; padding: .875rem; }
  .pc-grid .wc-block-product > * { grid-column: 2; margin-bottom: .35rem !important; }
  .pc-grid .wc-block-product > :not(.wc-block-components-product-image) { margin-left: 0; margin-right: 0; }
  .pc-grid .wc-block-product > .wc-block-components-product-image { grid-column: 1; grid-row: 1 / span 3; margin: 0 !important; border-radius: var(--pc-radius-field); }
  .pc-grid .wc-block-product > .pc-card__btn { grid-column: 1 / -1; margin: .75rem 0 0 !important; }
  .pc-grid .pc-card__title { font-size: var(--wp--preset--font-size--large) !important; }
  .pc-grid .pc-card__price { margin: 0 !important; }
}

/* ---------- single product (classic template inside the block theme) ---------- */
.pc-main--product .woocommerce-breadcrumb { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--slate); margin-bottom: 1.5rem; }
.pc-crumb-sep { margin: 0 .5rem; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.woocommerce div.product > * { min-width: 0; }
@media (min-width: 900px) { .woocommerce div.product { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 3rem 4rem; } .woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .up-sells { grid-column: 1 / -1; } }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce div.product div.images { background: var(--pc-cap-tint, var(--wp--preset--color--stone)); border-radius: var(--pc-radius); overflow: hidden; align-self: start; }
/* Not sticky: the tabs and related products are rows of the same grid, so a sticky gallery slid down through
   them and showed under the related cards (found 2026-11-06, the same day it was added). */
.woocommerce div.product div.images img { display: block; width: 100%; }
.woocommerce div.product .product_title { font-size: var(--wp--preset--font-size--xx-large); line-height: 1; margin-bottom: .5rem; }
.woocommerce div.product .summary p.price, .woocommerce div.product .summary > span.price { font-family: var(--wp--preset--font-family--body); font-weight: 600; font-size: 1.375rem; color: var(--wp--preset--color--ink); margin: .5rem 0 1rem; }
/* Before a size is chosen the button is outlined, not a grey block that reads as broken. */
.woocommerce div.product form.cart .button.disabled, .woocommerce div.product form.cart .button:disabled { background: var(--wp--preset--color--white) !important; color: var(--wp--preset--color--ink) !important; border: 1.5px solid var(--wp--preset--color--ink) !important; opacity: 1 !important; cursor: not-allowed; }
.pc-shipline { margin: .9rem 0 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--slate); }
.woocommerce div.product form.cart { margin: 1.25rem 0; padding: 1.25rem 0; border-top: var(--pc-rule); border-bottom: var(--pc-rule); }
.woocommerce div.product form.cart table.variations { margin-bottom: 1rem; }
.woocommerce div.product form.cart table.variations th { font-size: var(--wp--preset--font-size--small); padding-right: 1rem; }
.woocommerce div.product form.cart .reset_variations { font-size: var(--wp--preset--font-size--xs); }
.woocommerce .quantity .qty { padding: .7rem; border: 1.5px solid var(--wp--preset--color--ink); border-radius: 999px; width: 4.75rem; font: inherit; text-align: center; }
.woocommerce div.product form.cart .button { padding: .9rem 1.6rem; }
.woocommerce div.product .product_meta { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--slate); margin-top: 1rem; }
.woocommerce div.product .product_meta > span { display: block; }
.woocommerce div.product .product_meta .sku { font-family: var(--pc-mono); }
.woocommerce div.product .woocommerce-tabs { margin-top: 2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 1.5rem; display: flex; gap: 0; border-bottom: var(--pc-rule); overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .75rem 1rem; color: var(--wp--preset--color--slate); font-weight: 600; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--wp--preset--color--ink); border-bottom-color: var(--pc-cap, var(--wp--preset--color--gold)); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 0; margin: 0 0 1.5rem; max-width: 72ch; overflow-x: auto; }
@media (max-width: 600px) { .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .75rem .55rem; font-size: var(--wp--preset--font-size--small); } }
.woocommerce table.shop_attributes { border: 0; font-size: var(--wp--preset--font-size--small); }
.woocommerce table.shop_attributes th { width: 11rem; font-weight: 600; color: var(--wp--preset--color--slate); background: none; border-bottom: var(--pc-rule); padding: .6rem .5rem .6rem 0; }
.woocommerce table.shop_attributes td { border-bottom: var(--pc-rule); padding: .6rem .5rem; font-style: normal; background: none; }
.woocommerce table.shop_attributes td p { margin: 0; }
.woocommerce div.product .related, .woocommerce div.product .up-sells { margin-top: 1rem; padding-top: 2rem; border-top: var(--pc-rule); }
.woocommerce div.product .related > h2, .woocommerce div.product .up-sells > h2 { font-size: var(--wp--preset--font-size--x-large); margin: 0 0 1.25rem; }
.woocommerce ul.products { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; margin: 0; }
@media (min-width: 720px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; display: flex; flex-direction: column; background: var(--wp--preset--color--white); border: var(--pc-rule); border-radius: var(--pc-radius); overflow: hidden; padding: 0 1.25rem 1.25rem; }
.woocommerce ul.products li.product a img { background: var(--pc-cap-tint, var(--wp--preset--color--stone)); margin: 0 -1.25rem .5rem; width: calc(100% + 2.5rem); max-width: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--large); padding: .75rem 0 .4rem; }
.woocommerce ul.products li.product .price { display: block; margin: .25rem 0 1rem; font-family: var(--wp--preset--font-family--body); color: var(--wp--preset--color--ink); font-weight: 600; }
.woocommerce ul.products li.product .button { display: block; box-sizing: border-box; width: 100%; margin-top: auto; text-align: center; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-top-color: var(--wp--preset--color--gold); border-radius: var(--pc-radius-field); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--wp--preset--color--gold); }

/* ---------- cart + checkout (block versions) ---------- */
.wc-block-components-sidebar-layout { font-size: var(--wp--preset--font-size--small); }
.wc-block-components-checkout-step__title, .wc-block-components-title { font-family: var(--wp--preset--font-family--display); font-weight: 800; letter-spacing: -.03em; }
.wc-block-components-text-input input, .wc-block-components-select select, .wc-block-components-textarea textarea { border-radius: var(--pc-radius-field); border-color: var(--wp--preset--color--line); }
.wc-block-components-text-input input:focus, .wc-block-components-select select:focus { border-color: var(--wp--preset--color--ink); box-shadow: none; }
.wc-block-components-checkbox .wc-block-components-checkbox__input:checked { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); }
.wc-block-checkout__order-notes .wc-block-components-checkbox__label, .wc-block-components-additional-fields .wc-block-components-checkbox__label { line-height: 1.45; }
.pc-ack label { font-size: var(--wp--preset--font-size--small); line-height: 1.45; }

/* ---------- footer: ink, the logo at full size across the bottom ---------- */
.pc-footer { --pc-footer-rule: 1px solid #2E3238; }
.pc-footer a { color: var(--wp--preset--color--white); }
.pc-footer__cols { gap: 2.5rem; padding-bottom: clamp(2.5rem, 5vw, 4rem); }
@media (min-width: 782px) and (max-width: 1199px) { .pc-footer__cols { flex-wrap: wrap !important; } .pc-footer__cols > .wp-block-column:first-child { flex-basis: 100% !important; } }
@media (max-width: 781px) { .pc-footer__cols { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; } .pc-footer__cols > .wp-block-column:first-child, .pc-footer__cols > .wp-block-column:last-child { grid-column: 1 / -1; } }
.pc-footer__tag { font-family: var(--wp--preset--font-family--display); font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 800; line-height: 1.08; letter-spacing: -.04em; max-width: 16ch; margin: 0 0 1.25rem; }
.pc-footer__meta, .pc-footer__contact { line-height: 1.7; color: #A9AEB5; }
.pc-footer__h { margin: .35rem 0 1.1rem; font-family: var(--wp--preset--font-family--body); font-size: .8125rem !important; font-weight: 600; letter-spacing: 0; color: #8A9098; }
.pc-footer__list { list-style: none; padding: 0; margin: 0; }
.pc-footer__list li { margin: 0 0 .7rem; font-size: var(--wp--preset--font-size--small); }
.pc-footer__list a { text-decoration: none; border-bottom: 2px solid transparent; }
.pc-footer__list a:hover { border-bottom-color: var(--wp--preset--color--gold); }
.pc-footer__mark { margin: 0; padding: clamp(1.75rem, 3.5vw, 2.75rem) 0 clamp(1.25rem, 2.5vw, 1.75rem); border-top: var(--pc-footer-rule); }
.pc-footer__mark .pc-logo { gap: clamp(.75rem, 1.8vw, 1.5rem); color: var(--wp--preset--color--white); }
.pc-footer__mark .pc-logo__mark { width: clamp(3.5rem, 9vw, 8.5rem); height: auto; }
.pc-footer__mark .pc-logo__word { font-size: clamp(3.25rem, 9.6vw, 8.75rem); letter-spacing: -.055em; line-height: .9; }
.pc-footer__mark .pc-logo__light { color: #8A9098; }
.pc-footer .pc-notice--footer { color: #8A9098; margin-top: 1.25rem; padding-top: 1.5rem; border-top: var(--pc-footer-rule); max-width: none; }
.pc-footer .pc-notice--footer p { max-width: 90ch; }
.pc-footer__legal { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1.5rem; color: #8A9098; margin-top: 1.25rem; }
.pc-footer .pc-optout { color: var(--wp--preset--color--gold-light); }
.pc-footer .pc-optout:hover { color: var(--wp--preset--color--white); }
.pc-footer .pc-ph__tag { background: #3A3F46; color: #E9D7AE; }
.pc-footer .pc-ph--unknown .pc-ph__tag { background: #4A2420; color: #F2C9C2; }
/* "Do Not Sell or Share": a button (it toggles state) styled as a footer link */
.pc-optout { background: none; border: 0; padding: 0; font: inherit; color: var(--wp--preset--color--gold-dark); text-decoration: underline; text-underline-offset: 0.15em; cursor: pointer; text-align: left; }
.pc-optout:hover { color: var(--wp--preset--color--ink); }
.pc-optout:disabled { cursor: default; text-decoration: none; }
.pc-optout:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* ---------- reveal (opt-in, reduced-motion safe) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .pc-reveal { opacity: 0; transform: translateY(12px); transition: opacity .6s var(--pc-ease), transform .6s var(--pc-ease); }
  .pc-reveal.is-in { opacity: 1; transform: none; }
}
