@font-face {
  font-family: "Onest";
  src: url("../fonts/onest/Onest-VariableFont_wght.ttf") format("truetype-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --pm-yellow: var(--color-action, #fed719);
  --pm-yellow-soft: var(--primitive-color-brand-yellow-soft, #fff6ad);
  --pm-dark: var(--color-text, #363233);
  --pm-ink: var(--color-text-strong, #201e1f);
  --pm-muted: var(--color-text-muted, #736d6f);
  --pm-line: var(--color-border, #e7e2e3);
  --pm-surface: var(--color-surface, #f6f4f1);
  --pm-white: var(--color-background, #fff);
  --pm-radius: var(--primitive-radius-panel, 22px);
  --pm-shadow: var(--primitive-shadow-high, 0 24px 65px rgb(54 50 51 / 10%));
  --pm-container: var(--layout-container, 1320px);
  --pm-font: var(--font-family, Onest, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
html.pm-scroll-restore { scroll-behavior: auto !important; }
body { min-width: 0; margin: 0; color: var(--pm-dark); background: var(--pm-white); font-family: var(--pm-font); font-size: var(--font-size-body, 1rem); line-height: var(--font-line-height-body, 1.6); font-synthesis: none; overflow-wrap: break-word; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
html.menu-open, body.menu-open { overscroll-behavior: none; }
main, header, footer { min-width: 0; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .2em; }
small { font-size: var(--font-size-caption, 14px); line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:where(h1, h2, h3, h4, h5, h6) { font-family: var(--pm-font); font-weight: var(--font-weight-heading, 700); line-height: var(--font-line-height-heading, 1.08); letter-spacing: var(--font-tracking-heading, -.025em); text-wrap: balance; overflow-wrap: break-word; }
:focus-visible { outline: var(--focus-width, 3px) solid var(--focus-color, #735f00); outline-offset: var(--focus-offset, 4px); }
:where(.pm-production, .pm-footer, .pm-account-level) :focus-visible { outline-color: var(--focus-color-inverse, #fed719); }
.pm-button:disabled, .button:disabled, button.button:disabled, input.button:disabled { cursor: not-allowed; opacity: var(--interactive-disabled-opacity, .6); transform: none; box-shadow: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.pm-container { width: min(calc(100% - (var(--space-page-x-mobile, 1rem) * 2)), var(--pm-container)); margin-inline: auto; }
.pm-main { min-height: 60vh; padding-block: 32px 72px; }
.pm-skip-link { position: fixed; top: 8px; left: 8px; z-index: var(--primitive-z-a11y, 1000); min-height: var(--interactive-min-size, 44px); padding: 10px 18px; transform: translateY(-150%); background: var(--pm-white); color: var(--pm-ink); border-radius: var(--primitive-radius-sm, 8px); font-weight: var(--font-weight-label, 700); }
.pm-skip-link:focus { transform: translateY(0); }

.pm-header { position: sticky; top: 0; z-index: var(--header-z, 40); isolation: isolate; background: var(--header-background, rgb(255 255 255 / 92%)); border-bottom: var(--primitive-border-width-thin, 1px) solid var(--header-border, rgb(54 50 51 / 8%)); backdrop-filter: blur(16px); }
.admin-bar .pm-header { top: 46px; }
.pm-header__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; min-height: var(--header-height-mobile, 70px); gap: var(--space-cluster, 8px); }
.pm-logo { position: relative; z-index: var(--primitive-z-raised, 3); min-width: 0; }
.custom-logo-link { display: flex; align-items: center; width: clamp(128px, 42vw, 220px); min-height: var(--interactive-min-size, 44px); }
.custom-logo { display: block; width: 100%; height: auto; max-height: 42px; object-fit: contain; object-position: left center; }
.pm-default-logo { display: flex; align-items: center; width: clamp(128px, 42vw, 220px); min-height: var(--interactive-min-size, 44px); text-decoration: none; }
.pm-default-logo img { display: block; width: 100%; height: auto; }
.pm-wordmark { display: inline-block; font-size: clamp(18px, 4.7vw, 27px); font-weight: 900; letter-spacing: -.075em; text-decoration: none; }
.pm-wordmark span { display: inline-block; padding: 0 .14em .02em .08em; background: var(--pm-yellow); }
.pm-menu-toggle { grid-column: 2; justify-self: end; width: var(--interactive-min-size, 44px); height: var(--interactive-min-size, 44px); padding: 0; border: var(--primitive-border-width-thin, 1px) solid var(--pm-line); border-radius: var(--primitive-radius-full, 9999px); background: var(--pm-surface); cursor: pointer; }
.pm-menu-toggle > span:not(.screen-reader-text) { display: block; width: 18px; height: 2px; margin: 4px auto; background: var(--pm-dark); transition: transform var(--motion-duration-normal, .2s) var(--motion-easing-standard, ease-in-out), opacity var(--motion-duration-normal, .2s) var(--motion-easing-standard, ease-in-out); }
.pm-menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.pm-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
.pm-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.pm-nav { position: absolute; inset: 100% 0 auto; display: none; height: calc(100dvh - var(--header-height-mobile, 70px)); padding: var(--space-component, 16px) var(--space-page-x-mobile, 16px) max(var(--space-component, 16px), env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; background: var(--pm-white); border-top: var(--primitive-border-width-thin, 1px) solid var(--pm-line); }
.pm-nav.is-open { display: flex; flex-direction: column; }
.pm-nav ul { list-style: none; padding: 0; margin: 0; }
.pm-nav li { border-bottom: 1px solid var(--pm-line); }
.pm-nav a { display: flex; align-items: center; min-height: var(--interactive-comfortable-size, 54px); padding: 10px 0; text-decoration: none; font-size: var(--primitive-font-size-2xl, 24px); font-weight: var(--font-weight-heading, 800); }
.pm-nav .pm-nav__account { justify-content: center; flex: none; min-height: var(--button-height-default, 54px); padding: 0 var(--button-padding-x, 24px); margin-top: auto; border-radius: var(--button-radius, 9999px); background: var(--pm-yellow); color: var(--pm-ink); font-size: var(--font-size-label, 15px); }
.pm-header__actions { grid-column: 3; display: flex; align-items: center; min-width: 0; gap: var(--space-cluster, 8px); }
.pm-account-link, .pm-cart-link { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: var(--interactive-min-size, 44px); min-height: var(--interactive-min-size, 44px); padding: 0 12px; border-radius: var(--primitive-radius-full, 9999px); background: var(--pm-surface); text-decoration: none; font-size: var(--font-size-label, 15px); font-weight: var(--font-weight-label, 600); white-space: nowrap; }
.pm-cart-link { background: var(--pm-yellow); color: var(--pm-ink); }
.pm-action-label, .pm-account-link { display: none; }
.pm-cart-link { width: var(--interactive-min-size, 44px); padding-inline: 0; gap: 0; font-size: 0; }

.pm-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--hero-background, var(--pm-yellow)); color: var(--hero-foreground, var(--pm-dark)); transition: color .35s ease; }
.pm-hero::before { content: ""; position: absolute; inset: auto -35% -34% 42%; z-index: 1; aspect-ratio: 1; border: 1px solid rgb(54 50 51 / 15%); border-radius: 50%; pointer-events: none; transition: border-color .35s ease; }
.pm-hero__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; opacity: 0; pointer-events: none; transition: opacity .55s ease; }
.pm-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(32 30 31 / 88%) 0%, rgb(32 30 31 / 72%) 48%, rgb(32 30 31 / 30%) 100%), linear-gradient(0deg, rgb(32 30 31 / 32%) 0%, transparent 45%, rgb(32 30 31 / 18%) 100%); }
.pm-hero__background-video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.pm-hero.is-video-ready { color: var(--pm-white); }
.pm-hero.is-video-ready::before { border-color: rgb(255 255 255 / 18%); }
.pm-hero.is-video-ready .pm-hero__media { opacity: 1; }
.pm-hero__grid { position: relative; z-index: 2; display: grid; min-height: min(820px, calc(100svh - var(--header-height-mobile, 72px))); padding-block: var(--hero-padding-top-mobile, 56px) var(--hero-padding-bottom-mobile, 28px); }
.pm-hero__copy { position: relative; display: flex; flex-direction: column; justify-content: center; width: min(100%, 760px); }
.pm-eyebrow { margin: 0 0 18px; color: inherit; font-size: var(--font-size-caption, 14px); font-weight: var(--font-weight-label, 600); letter-spacing: var(--primitive-font-tracking-eyebrow, .1em); text-transform: uppercase; }
.pm-eyebrow::before { content: ""; display: inline-block; width: 28px; height: 3px; margin: 0 10px 3px 0; background: currentColor; }
.pm-hero h1 { max-width: var(--layout-content, 760px); margin: 0; font-size: var(--font-size-display, clamp(42px, 7vw, 88px)); font-weight: var(--font-weight-display, 800); line-height: var(--font-line-height-display, .96); letter-spacing: var(--font-tracking-display, -.04em); }
.pm-hero__lead { max-width: 550px; margin: 26px 0 22px; font-size: var(--font-size-lead, clamp(18px, 1.4vw, 22px)); line-height: 1.5; }
.pm-hero__price { display: flex; align-items: baseline; gap: 7px; }
.pm-hero__price strong { font-size: 30px; letter-spacing: -.04em; }
.pm-hero__price small { color: rgb(54 50 51 / 72%); }
.pm-hero__loyalty-link { display: inline-flex; align-items: center; align-self: flex-start; gap: 7px; min-height: 32px; margin-top: 5px; color: inherit; font-size: var(--font-size-caption, 14px); font-weight: 650; text-decoration-line: underline; text-decoration-color: currentColor; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.pm-hero.is-video-ready .pm-eyebrow { color: var(--pm-yellow); }
.pm-hero.is-video-ready .pm-hero__price small, .pm-hero.is-video-ready .pm-hero__proof span { color: rgb(255 255 255 / 78%); }
.pm-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--primitive-space-5, 20px); margin-top: var(--primitive-space-7, 28px); }
.pm-button, .button, button.button, input.button, .woocommerce a.button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--button-height-default, 54px); padding: 0 var(--button-padding-x, 24px); border: var(--primitive-border-width-thin, 1px) solid transparent; border-radius: var(--button-radius, 9999px); background: var(--button-primary-background, var(--pm-yellow)); color: var(--button-primary-foreground, var(--pm-ink)); font-size: var(--font-size-label, 15px); font-weight: var(--font-weight-heading, 700); line-height: 1.25; text-decoration: none; cursor: pointer; transition: transform var(--motion-duration-fast, .18s) var(--motion-easing-standard, ease-in-out), box-shadow var(--motion-duration-fast, .18s) var(--motion-easing-standard, ease-in-out), background-color var(--motion-duration-fast, .18s) var(--motion-easing-standard, ease-in-out); }
.pm-hero .pm-button { background: var(--pm-white); }
.pm-hero.is-video-ready .pm-button { background: var(--pm-yellow); color: var(--pm-ink); }
.pm-button span { margin-left: 24px; font-size: 20px; }
.pm-button--dark { background: var(--button-secondary-background, var(--pm-dark)); color: var(--button-secondary-foreground, var(--pm-white)); }
.pm-text-link { font-weight: 800; }
.pm-hero__actions .pm-text-link { display: inline-flex; align-items: center; gap: var(--primitive-space-2, 8px); min-height: var(--interactive-min-size, 44px); padding-inline: var(--primitive-space-1, 4px); border-bottom: var(--primitive-border-width-strong, 2px) solid currentColor; text-decoration: none; transition: transform var(--motion-duration-fast, .18s) var(--motion-easing-standard, ease-in-out), border-bottom-width var(--motion-duration-fast, .18s) var(--motion-easing-standard, ease-in-out); }
.pm-hero__actions .pm-text-link::after { content: "→"; display: inline-block; font-size: var(--primitive-font-size-xl, 20px); line-height: 1; transition: transform var(--motion-duration-fast, .18s) var(--motion-easing-standard, ease-in-out); }
.pm-hero__actions .pm-text-link:active { transform: translateY(1px); }
.pm-hero__proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 22px 0 0; margin: 28px 0 0; border-top: 1px solid rgb(54 50 51 / 22%); list-style: none; }
.pm-hero.is-video-ready .pm-hero__proof { border-color: rgb(255 255 255 / 30%); }
.pm-hero__proof strong, .pm-hero__proof span { display: block; }
.pm-hero__proof strong { font-size: var(--font-size-label, 15px); }
.pm-hero__proof span { margin-top: 3px; font-size: var(--font-size-caption, 14px); color: rgb(54 50 51 / 78%); }

.pm-catalog-preview { padding-block: 78px; background: var(--pm-white); }
.pm-section-heading { display: grid; gap: 18px; margin-bottom: 38px; }
.pm-section-heading h2 { max-width: 760px; margin: 0; font-size: var(--font-size-section-title, clamp(30px, 3.5vw, 52px)); line-height: var(--font-line-height-heading, 1.08); letter-spacing: var(--font-tracking-heading, -.025em); }
.pm-section-heading > p { max-width: 480px; margin: 0; color: var(--pm-muted); font-size: 16px; }
.pm-catalog-promo { display: grid; min-width: 0; overflow: hidden; border: 1px solid var(--pm-line); border-radius: clamp(20px, 3vw, 32px); background: var(--pm-surface); box-shadow: 0 24px 64px rgb(54 50 51 / 8%); }
.pm-catalog-promo__copy { display: grid; align-content: start; gap: clamp(24px, 5vw, 42px); padding: clamp(24px, 6vw, 52px); background: linear-gradient(145deg, var(--pm-yellow) 0%, #ffd92e 100%); }
.pm-catalog-promo__copy h2 { max-width: 590px; margin: 10px 0 0; font-size: var(--font-size-section-title, clamp(30px, 3.5vw, 52px)); line-height: var(--font-line-height-heading, 1.08); letter-spacing: var(--font-tracking-heading, -.025em); }
.pm-catalog-promo__lead { max-width: 590px; margin: 18px 0 0; color: rgb(54 50 51 / 80%); font-size: clamp(16px, 2vw, 18px); line-height: 1.55; }
.pm-catalog-promo__features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 0; margin: 0; list-style: none; }
.pm-catalog-promo__features li { min-width: 0; padding-top: 14px; border-top: 1px solid rgb(54 50 51 / 24%); }
.pm-catalog-promo__features strong, .pm-catalog-promo__features span { display: block; }
.pm-catalog-promo__features strong { font-size: clamp(14px, 2.8vw, 18px); line-height: 1.2; }
.pm-catalog-promo__features span { margin-top: 4px; color: rgb(54 50 51 / 70%); font-size: clamp(11px, 2.4vw, 14px); line-height: 1.35; }
.pm-catalog-loyalty { display: grid; gap: 12px; padding: 18px; border: 1px solid rgb(54 50 51 / 18%); border-radius: 16px; background: rgb(255 255 255 / 48%); }
.pm-catalog-loyalty__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.pm-catalog-loyalty__heading h3 { margin: 0; font-size: 18px; line-height: 1.25; }
.pm-catalog-loyalty__heading a { color: inherit; font-size: var(--font-size-caption, 13px); font-weight: 750; text-underline-offset: 4px; }
.pm-catalog-loyalty > p { margin: 0; color: rgb(54 50 51 / 76%); font-size: 14px; line-height: 1.5; }
.pm-catalog-loyalty__levels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 0; margin: 0; list-style: none; }
.pm-catalog-loyalty__levels li { min-width: 0; padding-top: 9px; border-top: 1px solid rgb(54 50 51 / 16%); }
.pm-catalog-loyalty__levels span, .pm-catalog-loyalty__levels strong { display: block; }
.pm-catalog-loyalty__levels span { color: rgb(54 50 51 / 66%); font-size: 11px; line-height: 1.3; }
.pm-catalog-loyalty__levels strong { margin-top: 3px; font-size: clamp(14px, 2.6vw, 17px); line-height: 1.2; white-space: nowrap; }
.pm-catalog-promo__cta { width: 100%; gap: 12px; justify-content: space-between; margin: 0; }
.pm-catalog-promo__cta span:last-child { font-size: 22px; line-height: 1; transition: transform var(--motion-duration-fast, .18s) ease; }
.pm-catalog-promo__showcase { min-width: 0; padding: clamp(20px, 4vw, 36px); background: var(--pm-white); }
.pm-catalog-promo__showcase-heading { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.pm-catalog-promo__showcase-heading p { margin: 0; font-size: 18px; font-weight: 850; }
.pm-catalog-promo__showcase-heading a { color: var(--pm-dark); font-size: 14px; font-weight: 800; text-underline-offset: 4px; }
.pm-catalog-promo__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(10px, 2vw, 18px); }
.pm-catalog-promo__card { display: grid; min-width: 0; align-content: start; gap: 11px; color: var(--pm-dark); text-decoration: none; }
.pm-catalog-promo__media { display: block; min-width: 0; overflow: hidden; border-radius: 14px; background: var(--pm-surface); }
.pm-catalog-promo__media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; transition: transform var(--motion-duration-normal, .28s) var(--motion-easing-standard, ease); }
.pm-catalog-promo__card-title { padding-inline: 2px; font-size: clamp(14px, 2vw, 16px); font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.pm-catalog-promo__card:focus-visible { border-radius: 14px; outline: 4px solid var(--pm-yellow); outline-offset: 4px; }
.pm-catalog-promo__empty { display: grid; min-height: 320px; place-items: center; border: 1px dashed var(--pm-line); border-radius: 14px; color: var(--pm-muted); text-align: center; }
.pm-catalog-promo__empty p { margin: 0; }

.woocommerce ul.products, ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0 0 32px; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, ul.products li.product { position: relative; float: none; width: auto; margin: 0; padding: 0 0 12px; }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product a img, ul.products li.product a img { width: 100%; aspect-ratio: 3 / 4; margin: 0 0 12px; object-fit: contain; background: var(--pm-surface); border-radius: 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; margin: 0 0 5px; font-size: var(--font-size-card-title, 18px); line-height: 1.3; }
.woocommerce ul.products li.product .price { display: block; margin: 5px 0; color: var(--pm-dark); font-size: 17px; font-weight: 900; }
.woocommerce ul.products li.product .button { width: 100%; min-height: var(--interactive-min-size, 44px); padding: 0 10px; margin-top: 7px; background: var(--pm-yellow); font-size: var(--font-size-label, 14px); }
.woocommerce span.onsale { top: 9px; right: 9px; left: auto; min-width: auto; min-height: auto; padding: 5px 9px; line-height: 1.4; background: var(--pm-yellow); color: var(--pm-dark); }

.pm-production { padding-block: 78px; overflow: hidden; background: #201e1f; color: var(--pm-white); }
.pm-section-heading--light > p { color: rgb(255 255 255 / 60%); }
.pm-production__eyebrow { color: var(--pm-yellow); }
.pm-production__intro { grid-template-columns: minmax(0, 1fr); align-items: start; }
.pm-production__intro > div { max-width: 820px; }
.pm-production__lead { max-width: 660px; margin: 28px 0 0; color: rgb(255 255 255 / 90%); font-size: 16px; font-weight: 700; }
.pm-production__copy { display: grid; max-width: 760px; gap: 14px; margin-top: 18px; }
.pm-production__copy p { margin: 0; color: rgb(255 255 255 / 70%); font-size: 16px; }
.pm-production__cards { display: grid; grid-auto-rows: 1fr; gap: 18px; }
.pm-production-card { display: flex; min-width: 0; height: 100%; overflow: hidden; border: 1px solid rgb(255 255 255 / 12%); border-radius: var(--pm-radius); background: var(--pm-white); color: var(--pm-dark); flex-direction: column; }
.pm-production-card__media { position: relative; aspect-ratio: 1 / 1; margin: 0; overflow: hidden; background: #ddd9d5; }
.pm-production-card__media::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: rgb(54 50 51 / 10%); }
.pm-production-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pm-production-card__zoom { position: relative; display: block; width: 100%; height: 100%; padding: 0; overflow: hidden; border: 0; background: transparent; color: var(--pm-dark); cursor: zoom-in; }
.pm-production-card__zoom img { transition: transform var(--motion-duration-normal, .28s) var(--motion-easing-standard, ease); }
.pm-production-card__zoom > span { position: absolute; right: 16px; bottom: 16px; z-index: 1; padding: 9px 12px; border-radius: 999px; background: rgb(255 255 255 / 92%); font-size: var(--font-size-caption, 14px); font-weight: var(--font-weight-label, 600); opacity: 0; transform: translateY(6px); transition: opacity var(--motion-duration-fast, .18s) ease, transform var(--motion-duration-fast, .18s) ease; }
.pm-production-card__zoom:focus-visible { outline: 4px solid var(--pm-yellow); outline-offset: -4px; }
.pm-production-card__zoom:focus-visible > span { opacity: 1; transform: none; }
.pm-production-card:nth-child(1) .pm-production-card__media img { object-position: center 48%; }
.pm-production-card:nth-child(2) .pm-production-card__media img { object-position: center 42%; }
.pm-production-card--certificate .pm-production-card__media { background: #efede9; }
.pm-production-card--certificate .pm-production-card__media img { padding: 18px; object-fit: contain; }
.pm-production-card__body { display: grid; align-content: start; gap: 12px; flex: 1; padding: 24px; }
.pm-production-card__body::before { content: ""; width: 36px; height: 4px; border-radius: 999px; background: var(--pm-yellow); }
.pm-production-card h3 { margin: 0; font-size: clamp(22px, 2.2vw, 28px); line-height: var(--font-line-height-heading, 1.08); letter-spacing: var(--font-tracking-heading, -.025em); }
.pm-production-card p { margin: 0; color: var(--pm-muted); font-size: var(--font-size-body, 16px); line-height: var(--font-line-height-body, 1.6); }
.pm-gallery[hidden] { display: none; }
.pm-gallery { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: clamp(12px, 3vw, 32px); }
.pm-gallery__backdrop { position: absolute; inset: 0; background: rgb(20 18 19 / 90%); backdrop-filter: blur(8px); }
.pm-gallery__dialog { position: relative; z-index: 1; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(1080px, 100%); max-height: calc(100dvh - clamp(24px, 6vw, 64px)); padding: clamp(16px, 2vw, 24px); border: 1px solid rgb(255 255 255 / 16%); border-radius: clamp(18px, 3vw, 28px); background: var(--pm-dark); color: var(--pm-white); box-shadow: 0 32px 90px rgb(0 0 0 / 45%); }
.pm-gallery__header { display: flex; justify-content: space-between; align-items: start; gap: 20px; padding-bottom: 14px; }
.pm-gallery__header .pm-eyebrow { margin: 0 0 6px; }
.pm-gallery__header h2 { margin: 0; font-size: clamp(22px, 4vw, 34px); }
.pm-gallery__close, .pm-gallery__controls button { min-height: 44px; padding: 0 16px; border: 1px solid rgb(255 255 255 / 28%); border-radius: 999px; background: transparent; color: var(--pm-white); font-weight: 800; cursor: pointer; }
.pm-gallery__stage { display: grid; min-height: 0; margin: 0; overflow: hidden; border-radius: 14px; background: #e9e6e1; }
.pm-gallery__stage img { display: block; width: 100%; height: 100%; max-height: min(70dvh, 760px); object-fit: var(--pm-gallery-fit, cover); }
.pm-gallery__stage figcaption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.pm-gallery__controls { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding-top: 14px; }
.pm-gallery__controls button:first-child { justify-self: start; }
.pm-gallery__controls button:last-child { justify-self: end; }
.pm-gallery__controls span { font-size: var(--font-size-label, 15px); font-weight: var(--font-weight-label, 600); }
body.pm-gallery-open { overflow: hidden; }

.pm-loyalty-band { padding-block: 70px; background: var(--pm-yellow); }
.pm-loyalty-band .pm-text-link { display: inline-flex; align-items: center; min-height: var(--interactive-min-size, 44px); }
.pm-loyalty-band h2 { max-width: 700px; margin: 0 0 30px; font-size: var(--font-size-section-title, clamp(30px, 3.5vw, 52px)); line-height: var(--font-line-height-heading, 1.08); letter-spacing: var(--font-tracking-heading, -.025em); }
.pm-level-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-bottom: 24px; }
.pm-level-cards article { padding: 16px 10px; border: 1px solid rgb(54 50 51 / 25%); border-radius: 14px; }
.pm-level-cards span, .pm-level-cards strong, .pm-level-cards small { display: block; }
.pm-level-cards span { font-size: var(--font-size-caption, 13px); text-transform: uppercase; }
.pm-level-cards strong { margin: 8px 0 0; font-size: clamp(18px, 5vw, 32px); }
.pm-level-cards small { font-size: var(--font-size-caption, 13px); }

.pm-footer { padding-top: 56px; background: var(--color-text-strong); color: var(--pm-white); }
.pm-footer__grid { display: grid; gap: 34px; }
.pm-footer__logo .pm-wordmark { color: var(--pm-white); }
.pm-footer-brand { display: inline-flex !important; align-items: center; gap: var(--primitive-space-3); min-height: var(--interactive-min-size); padding: var(--primitive-space-2) var(--primitive-space-3); margin: 0 !important; border: 1px solid rgb(255 255 255 / 10%); border-radius: var(--primitive-radius-control); background: rgb(255 255 255 / 5%); }
.pm-footer-brand__mark { display: block; width: 42px; height: 42px; overflow: hidden; flex: none; }
.pm-footer-brand__mark img { display: block; width: auto; max-width: none; height: 42px; }
.pm-footer-brand__wordmark { color: rgb(255 255 255 / 90%) !important; font-family: "Open Sans", Arial, sans-serif; font-size: clamp(20px, 2vw, 27px); font-weight: 800; line-height: 1; letter-spacing: -.025em; }
.pm-footer p, .pm-footer span { color: rgb(255 255 255 / 58%); }
.pm-footer__brand-column { display: grid; align-content: start; }
.pm-footer__tagline { margin: 12px 0 0; }
.pm-footer__legal { display: grid; gap: 3px; padding-top: 18px; margin-top: 20px; border-top: 1px solid rgb(255 255 255 / 12%); font-size: 13px; line-height: 1.5; }
.pm-footer__legal-column .pm-footer__legal { padding-top: 0; margin-top: 0; border-top: 0; }
.pm-footer__legal p { margin: 0; }
.pm-footer__legal-links { display: grid; gap: 0; margin-top: 8px; }
.pm-footer .pm-footer__legal-links a { min-height: 0; padding: 0; margin: 0; border: 0; background: transparent; color: rgb(255 255 255 / 58%); font-size: 13px; line-height: 1.5; text-align: left; text-decoration: none; }
.pm-footer h2 { margin: 0 0 14px; font-size: var(--font-size-caption, 13px); text-transform: uppercase; letter-spacing: .12em; }
.pm-footer a { display: block; width: fit-content; margin: 9px 0; text-decoration: none; }
.pm-footer a:hover { color: var(--pm-yellow); }
.pm-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 24px; margin-top: 45px; border-top: 1px solid rgb(255 255 255 / 12%); font-size: var(--font-size-caption, 13px); }

.pm-cookie-banner[hidden] { display: none; }
.pm-cookie-banner { position: fixed; right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); left: 16px; z-index: 900; width: min(1200px, calc(100% - 32px)); margin-inline: auto; padding: 18px clamp(20px, 3vw, 30px); border: 1px solid var(--pm-line); border-radius: 14px; background: var(--pm-white); color: var(--pm-dark); box-shadow: 0 16px 48px rgb(32 30 31 / 18%); }
.pm-cookie-banner__content { display: grid; gap: 18px; align-items: center; }
.pm-cookie-banner__copy { max-width: 850px; }
.pm-cookie-banner__copy > p { margin: 0; color: var(--pm-dark); font-size: 15px; line-height: 1.45; }
.pm-cookie-banner__copy span { display: block; }
.pm-cookie-banner a { color: var(--pm-dark); font-weight: 700; text-decoration-color: var(--pm-yellow); text-decoration-thickness: 3px; }
.pm-cookie-banner__actions { display: grid; }
.pm-cookie-banner__button { width: 100%; min-height: 48px; padding: 10px 22px; border: 1px solid #cec8c2; border-radius: 999px; background: var(--pm-white); color: var(--pm-dark); font-size: 14px; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.pm-cookie-banner__button:hover { border-color: var(--pm-dark); }
.pm-cookie-banner__button--primary { border-color: var(--pm-yellow); background: var(--pm-yellow); color: var(--pm-ink); }
.pm-cookie-banner__button--primary:hover { border-color: #d4b400; background: #f1cc00; }
.pm-cookie-banner__button[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--pm-dark); }
.pm-cookie-banner-visible .pm-mobile-purchase { display: none !important; }

@media (min-width: 760px) {
  .pm-cookie-banner__content { grid-template-columns: minmax(0, 1fr) 230px; gap: clamp(28px, 5vw, 70px); }
}

@media (max-width: 599px) {
  .pm-cookie-banner { right: 0; bottom: 0; left: 0; width: 100%; padding: 18px 16px max(18px, env(safe-area-inset-bottom)); border-width: 1px 0 0; border-radius: 18px 18px 0 0; }
  .pm-cookie-banner__copy > p { font-size: 14px; }
}

.pm-breadcrumbs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 28px; color: var(--pm-muted); font-size: var(--font-size-caption, 13px); }
.pm-breadcrumbs a { display: inline-flex; align-items: center; justify-content: center; min-width: var(--interactive-min-size, 44px); min-height: var(--interactive-min-size, 44px); padding-inline: var(--primitive-space-1, 4px); text-decoration: none; }
.pm-entry { max-width: 900px; margin-inline: auto; }
.pm-entry h1, .woocommerce-products-header__title, .pm-woocommerce .page-title, .woocommerce div.product .product_title, .woocommerce-cart h1, .woocommerce-checkout h1 { margin: 18px 0 28px; font-size: var(--font-size-page-title, clamp(36px, 4.5vw, 64px)); line-height: var(--font-line-height-heading, 1.08); letter-spacing: var(--font-tracking-heading, -.025em); }
.pm-entry__content { font-size: 17px; }
.pm-entry__content > * { max-width: 760px; }
.pm-entry__content h2 { margin-top: 42px; }
.pm-page-wide .pm-entry { max-width: none; }
.pm-page-wide .pm-entry__content > * { max-width: none; }

/* Delivery and payment page. */
.pm-delivery-page { padding-bottom: 0; }
.pm-delivery-options { padding-block: var(--space-section-mobile); background: var(--color-surface); }
.pm-delivery-options .pm-breadcrumbs { margin-bottom: clamp(32px, 5vw, 64px); }
.pm-delivery-options .pm-section-heading .pm-eyebrow { margin-bottom: 0; }
.pm-delivery-options__grid { display: grid; gap: var(--layout-grid-gap-mobile); }
.pm-delivery-option { display: grid; min-width: 0; align-content: start; gap: var(--primitive-space-5); padding: clamp(24px, 4vw, 40px); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); background: var(--color-background); }
.pm-delivery-option__meta { display: flex; align-items: center; gap: var(--primitive-space-3); margin-bottom: var(--primitive-space-8); }
.pm-delivery-option__meta > span { display: grid; place-items: center; width: var(--interactive-min-size); height: var(--interactive-min-size); border-radius: var(--primitive-radius-full); background: var(--color-action); color: var(--color-action-foreground); font-size: var(--font-size-label); font-weight: var(--font-weight-heading); font-variant-numeric: tabular-nums; }
.pm-delivery-option__meta small { color: var(--color-text-muted); font-size: var(--font-size-label); font-weight: var(--font-weight-label); text-transform: uppercase; letter-spacing: var(--font-tracking-label); }
.pm-delivery-option h3, .pm-delivery-freight h3 { margin: 0; font-size: clamp(26px, 3vw, 38px); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-delivery-option > p { max-width: 660px; margin: 0; color: var(--color-text-muted); }
.pm-delivery-carriers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--primitive-space-3); margin-top: var(--primitive-space-8); }
.pm-delivery-carriers > div { display: grid; min-width: 0; min-height: 88px; place-items: center; padding: var(--primitive-space-4); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-control); background: var(--color-background); }
.pm-delivery-carriers img { display: block; width: 100%; max-width: 190px; max-height: 48px; object-fit: contain; }
.pm-delivery-carriers > div:last-child img { max-width: 150px; }
.pm-carrier-logo { display: grid; width: 100%; height: 96px; min-width: 0; place-items: center; overflow: hidden; padding: var(--primitive-space-3) var(--primitive-space-5); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-control); background: #fff; }
.pm-carrier-logo img { display: block; width: 100%; max-width: 210px; height: 56px; object-fit: contain; }
.pm-carrier-logo--fivepost { position: relative; }
.pm-carrier-logo--fivepost img { position: absolute; top: 50%; left: 50%; width: 225px; max-width: none; height: auto; transform: translate(-50%, -50%); mix-blend-mode: multiply; }
.pm-registration-benefit { display: grid; gap: var(--primitive-space-2); max-width: 1180px; margin: var(--primitive-space-4) auto var(--primitive-space-6); padding: var(--primitive-space-5); border: var(--primitive-border-width-thin) solid var(--color-action); border-radius: var(--primitive-radius-control); background: var(--color-action-soft); color: var(--color-text); }
.pm-registration-benefit span { color: var(--color-text-muted); }
.pm-registration-benefit a { width: fit-content; color: var(--color-action); font-weight: var(--font-weight-heading); }
.pm-registration-benefit--product { margin-inline: 0; }
.pm-buy-now { width: 100%; margin-top: var(--primitive-space-3) !important; background: transparent !important; color: var(--color-action) !important; border: var(--primitive-border-width-thin) solid var(--color-action) !important; }
.pm-delivery-freight { display: grid; margin-top: var(--layout-grid-gap-mobile); overflow: hidden; border-radius: var(--primitive-radius-panel); background: var(--color-text-strong); color: var(--color-text-inverse); }
.pm-delivery-freight__media { min-height: 280px; margin: 0; overflow: hidden; }
.pm-delivery-freight__media img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover; object-position: center; }
.pm-delivery-freight__content { display: grid; min-width: 0; align-content: center; justify-items: start; padding: clamp(28px, 5vw, 56px); }
.pm-delivery-freight__content .pm-delivery-option__meta small { color: rgb(255 255 255 / 66%); }
.pm-delivery-freight__content > p { max-width: 620px; margin: 0 0 var(--primitive-space-7); color: rgb(255 255 255 / 72%); }
.pm-delivery-freight__content .pm-button { background: var(--color-action); color: var(--color-action-foreground); }
.pm-payment-options { padding-block: var(--space-section-mobile); background: var(--color-background); }
.pm-payment-options__layout { display: grid; gap: var(--primitive-space-6); }
.pm-payment-options__intro { max-width: 680px; }
.pm-payment-options__intro .pm-eyebrow { margin-bottom: 0; }
.pm-payment-options__intro h2 { margin: var(--primitive-space-4) 0; font-size: var(--font-size-section-title); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-payment-options__intro > p:last-child { margin: 0; color: var(--color-text-muted); font-size: var(--primitive-font-size-lg); }
.pm-payment-options__grid { display: grid; gap: var(--primitive-space-3); }
.pm-payment-options__grid article { display: grid; min-width: 0; min-height: 220px; align-content: start; padding: var(--primitive-space-6); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-surface); }
.pm-payment-options__top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--primitive-space-4); }
.pm-payment-options__index { color: var(--color-action); font-size: var(--font-size-label); font-weight: var(--font-weight-heading); }
.pm-payment-options__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: var(--primitive-radius-full); background: var(--color-action-soft); color: var(--color-text-strong); }
.pm-payment-options__icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pm-payment-options__grid h3 { margin: var(--primitive-space-5) 0 var(--primitive-space-2); font-size: var(--primitive-font-size-2xl); }
.pm-payment-options__grid p { margin: 0; color: var(--color-text-muted); }
.pm-delivery-cta { padding-block: 0 var(--space-section-mobile); background: var(--color-background); }
.pm-delivery-cta__panel { display: grid; gap: var(--primitive-space-6); align-items: center; padding: clamp(24px, 5vw, 52px); border-radius: var(--primitive-radius-panel); background: var(--color-action); color: var(--color-action-foreground); }
.pm-delivery-cta__panel h2 { max-width: 760px; margin: var(--primitive-space-3) 0; font-size: clamp(28px, 4vw, 46px); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-delivery-cta__panel p { max-width: 680px; margin-bottom: 0; }
.pm-delivery-cta__panel .pm-eyebrow::before { background: currentColor; }
.pm-delivery-cta__panel .pm-button { background: var(--color-text-strong); color: var(--color-text-inverse); }

.woocommerce .woocommerce-ordering select { min-height: 44px; padding: 0 38px 0 13px; border: 1px solid var(--pm-line); border-radius: 10px; background: var(--pm-white); }
.woocommerce .woocommerce-result-count { color: var(--pm-muted); }
.pm-catalog-filters { clear: both; padding: 16px; margin: 0 0 26px; border-radius: var(--pm-radius); background: var(--pm-surface); }
.pm-filter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: end; }
.pm-filter-grid label > span { display: block; margin-bottom: 4px; color: var(--pm-muted); font-size: var(--font-size-label, 15px); font-weight: var(--font-weight-label, 600); }
.pm-filter-grid select, .pm-filter-grid input { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid var(--input-border); border-radius: 10px; background: var(--pm-white); }
.pm-filter-grid .button { min-height: 44px; background: var(--pm-yellow); }
.pm-filter-grid > a { align-self: center; text-align: center; font-size: var(--font-size-label, 15px); font-weight: var(--font-weight-label, 600); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { padding: 18px 20px 18px 52px; border: 0; border-radius: 14px; background: var(--pm-surface); }
.woocommerce-message { border-left: 5px solid var(--color-success); }
.woocommerce-info { border-left: 5px solid var(--pm-yellow); }
.woocommerce-error { border-left: 5px solid var(--color-error); }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { top: 18px; }

.woocommerce div.product { display: grid; gap: 28px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; }
.woocommerce div.product div.images img { border-radius: var(--pm-radius); background: var(--pm-surface); }
.woocommerce div.product p.price { color: var(--pm-dark); font-size: 30px; font-weight: 900; }
.woocommerce .quantity .qty { min-height: 50px; border: 1px solid var(--pm-line); border-radius: 12px; }
.woocommerce div.product form.cart .button { min-height: 50px; background: var(--pm-yellow); color: var(--pm-dark); }
.pm-product-specs { grid-column: 1 / -1; margin-top: 30px; }
.pm-product-specs dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid var(--pm-line); }
.pm-product-specs dt, .pm-product-specs dd { padding: 13px 0; margin: 0; border-bottom: 1px solid var(--pm-line); }
.pm-product-specs dt { color: var(--pm-muted); }
.pm-product-specs dd { text-align: right; font-weight: 700; }

.woocommerce table.shop_table { border: 0; border-collapse: separate; border-spacing: 0 10px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 14px 12px; border: 0; background: var(--pm-surface); }
.woocommerce table.shop_table td:first-child, .woocommerce table.shop_table th:first-child { border-radius: 12px 0 0 12px; }
.woocommerce table.shop_table td:last-child, .woocommerce table.shop_table th:last-child { border-radius: 0 12px 12px 0; }
.woocommerce-cart-form .product-thumbnail img { width: 72px; border-radius: 9px; }
.woocommerce a.remove { display: grid; place-items: center; color: var(--pm-muted) !important; }
.woocommerce a.remove:hover { background: var(--color-error-surface); color: var(--color-error) !important; }
.pm-tier-progress { display: block; max-width: 330px; margin-top: 7px; color: var(--pm-muted); font-size: var(--font-size-caption, 13px); font-weight: 500; }
.cart-collaterals .cart_totals { padding: 20px; border-radius: var(--pm-radius); background: var(--pm-white); box-shadow: var(--pm-shadow); }
.woocommerce-cart .wc-proceed-to-checkout { position: sticky; bottom: 0; z-index: 10; padding: 12px 0 max(12px, env(safe-area-inset-bottom)); background: var(--pm-white); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { margin: 0; background: var(--pm-yellow); color: var(--pm-dark); font-size: 16px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:is(:hover, :focus-visible, :active, :visited) { background: var(--pm-yellow) !important; color: var(--pm-dark) !important; }

.woocommerce-checkout .woocommerce { display: grid; gap: 26px; }
.woocommerce form.checkout_coupon, .woocommerce form.login { border-color: var(--pm-line); border-radius: var(--pm-radius); }
.woocommerce form .form-row { margin-bottom: 15px; }
.woocommerce form .form-row label { margin-bottom: 5px; font-size: var(--font-size-label, 15px); font-weight: var(--font-weight-label, 600); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { min-height: 52px; padding: 12px 14px; border: 1px solid var(--input-border); border-radius: 12px; background: var(--pm-white); }
.woocommerce form .form-row textarea { min-height: 100px; }
.woocommerce-checkout-review-order { padding: 18px; border-radius: var(--pm-radius); background: var(--pm-white); box-shadow: var(--pm-shadow); }
#order_review_heading { margin-top: 30px; }
.woocommerce-checkout #payment { background: var(--pm-surface); border-radius: 16px; }
.woocommerce-checkout #payment div.payment_box { background: var(--pm-white); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--pm-white); }
.woocommerce-checkout #payment #place_order { width: 100%; min-height: 58px; background: var(--pm-yellow); color: var(--pm-dark); font-size: 16px; }
.pm-delivery-picker, .pm-heavy-notice { padding: 20px; margin: 24px 0; border-radius: var(--pm-radius); background: var(--pm-surface); }
.pm-delivery-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 18px; }
.pm-delivery-tabs button { min-height: 46px; padding: 8px; border: 1px solid var(--pm-line); border-radius: 100px; background: var(--pm-white); font-weight: 750; cursor: pointer; }
.pm-delivery-tabs button.is-active { background: var(--pm-dark); color: var(--pm-white); }
.pm-integration-mode { margin: 8px 0 0; color: var(--pm-muted); font-size: var(--font-size-caption, 13px); }

.woocommerce-account .woocommerce-MyAccount-navigation ul { padding: 0; list-style: none; border: 1px solid var(--pm-line); border-radius: 14px; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li + li { border-top: 1px solid var(--pm-line); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 14px; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--pm-yellow); font-weight: 800; }
.pm-account-level { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 18px; margin: 22px 0; border-radius: var(--pm-radius); background: var(--pm-dark); color: var(--pm-white); }
.pm-account-level > div > span, .pm-account-level > div > strong { display: block; }
.pm-account-level > div > span { color: rgb(255 255 255 / 72%); font-size: var(--font-size-caption, 13px); }
.pm-account-level > div > strong { font-size: var(--font-size-body, 16px); white-space: nowrap; }
.pm-account-level a { grid-column: 1 / -1; color: var(--pm-yellow); }
.pm-progress { height: 14px; margin: 22px 0; overflow: hidden; border-radius: 100px; background: var(--pm-line); }
.pm-progress span { display: block; height: 100%; border-radius: inherit; background: var(--pm-yellow); }

@media (max-width: 899px) {
  .pm-production__cards { width: 80vw; margin-inline: auto; }
}

@media (min-width: 600px) {
  .pm-container { width: min(calc(100% - (var(--space-page-x-tablet, 24px) * 2)), var(--pm-container)); }
  .pm-action-label, .pm-account-link { display: inline-flex; }
  .pm-cart-link { width: auto; padding-inline: 12px; gap: 7px; font-size: var(--font-size-label, 15px); }
  .pm-catalog-promo__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .pm-footer__grid { grid-template-columns: minmax(280px, 1.35fr) repeat(3, minmax(0, 1fr)); }
  .pm-level-cards article { padding: 22px; }
  .pm-level-cards small { font-size: var(--font-size-caption, 13px); }
  .woocommerce div.product { grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); }
}

@media (min-width: 900px) {
  .admin-bar .pm-header { top: 32px; }
  .pm-header__inner { grid-template-columns: auto minmax(0, 1fr) auto; min-height: var(--header-height-desktop, 82px); gap: var(--space-component, 16px); }
  .pm-menu-toggle { display: none; }
  .pm-nav, .admin-bar .pm-nav { position: static; display: block; height: auto; padding: 0; overflow: visible; background: transparent; border: 0; }
  .pm-nav ul { display: flex; justify-content: center; gap: 30px; }
  .pm-nav li { border: 0; }
  .pm-nav a { min-width: var(--interactive-min-size, 44px); min-height: var(--interactive-min-size, 44px); justify-content: center; padding: 8px 4px; font-size: var(--font-size-label, 14px); font-weight: var(--primitive-font-weight-semibold, 600); }
  .pm-nav a:hover { text-decoration: underline; text-decoration-color: var(--pm-yellow); text-decoration-thickness: 4px; }
  .pm-nav .pm-nav__account { display: none; }
  .pm-hero__grid { align-items: center; min-height: min(860px, calc(100svh - var(--header-height-desktop, 82px))); padding-block: var(--hero-padding-block-desktop, 64px); }
  .pm-hero__proof { max-width: 610px; }
  .pm-hero__proof strong { font-size: 15px; }
  .pm-hero__proof span { font-size: var(--font-size-caption, 13px); }
  .pm-section-heading { grid-template-columns: 1fr .55fr; align-items: end; margin-bottom: 56px; }
  .pm-section-heading--single { grid-template-columns: minmax(0, 1fr); }
  .pm-catalog-preview, .pm-production { padding-block: 120px; }
  .pm-catalog-promo__copy { min-width: 0; }
  .pm-catalog-promo__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
  .pm-filter-grid { grid-template-columns: repeat(5, minmax(120px, 1fr)) auto auto; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px; }
  .woocommerce ul.products li.product .button { min-height: 46px; font-size: var(--font-size-label, 15px); }
  .pm-production__intro { grid-template-columns: minmax(0, 1fr); }
  .pm-production__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .pm-production-card__body { padding: 28px; }
  .pm-production-card h3 { font-size: 26px; }
  .pm-loyalty-band > .pm-container { display: grid; grid-template-columns: 1fr 1fr; align-items: end; column-gap: 80px; }
  .pm-loyalty-band h2 { margin-bottom: 0; }
  .pm-level-cards, .pm-loyalty-band .pm-text-link { grid-column: 2; }
  .pm-level-cards { grid-row: 1; margin: 0 0 26px; }
  .woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
  .woocommerce-cart .woocommerce > h1, .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  .woocommerce-cart .cart-collaterals { width: 100%; }
  .woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; }
  .woocommerce-cart .wc-proceed-to-checkout { position: static; }
  .woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .78fr); gap: 48px; align-items: start; }
  .woocommerce-checkout #customer_details { grid-column: 1; }
  .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }
  .woocommerce-checkout #order_review_heading { grid-row: 1; margin: 0 0 -30px; }
  .woocommerce-checkout #order_review { grid-row: 1 / span 2; margin-top: 54px; position: sticky; top: 110px; }
}

@media (min-width: 1024px) {
  .pm-container { width: min(calc(100% - (var(--space-page-x-desktop, 32px) * 2)), var(--pm-container)); }
}

@media (min-width: 800px) and (max-width: 1199px) {
  .pm-catalog-promo__copy { grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); align-items: start; column-gap: clamp(28px, 5vw, 52px); row-gap: 24px; }
  .pm-catalog-promo__copy > div:first-child, .pm-catalog-promo__features { grid-column: 1; }
  .pm-catalog-loyalty { grid-column: 2; grid-row: 1 / span 2; align-self: stretch; }
  .pm-catalog-promo__cta { grid-column: 2; align-self: end; }
}

@media (min-width: 1200px) {
  .woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr) minmax(420px, .5fr); }
  .pm-catalog-promo { grid-template-columns: minmax(390px, .78fr) minmax(0, 1.22fr); }
  .pm-catalog-promo__copy { grid-template-columns: minmax(0, 1fr); }
  .pm-catalog-promo__copy > div:first-child, .pm-catalog-promo__features, .pm-catalog-loyalty, .pm-catalog-promo__cta { grid-column: auto; grid-row: auto; }
  .pm-catalog-promo__features { grid-template-columns: minmax(0, 1fr); }
  .pm-catalog-promo__features li { display: grid; grid-template-columns: minmax(110px, auto) minmax(0, 1fr); align-items: baseline; gap: 12px; }
  .pm-catalog-promo__features span { margin-top: 0; }
}

@media (max-width: 359px) {
  .pm-hero__actions { align-items: stretch; }
  .pm-hero__actions .pm-button { width: 100%; }
  .pm-catalog-loyalty__heading { display: grid; }
  .pm-catalog-loyalty__levels { grid-template-columns: minmax(0, 1fr); }
  .pm-catalog-loyalty__levels li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
  .pm-catalog-loyalty__levels strong { margin-top: 0; }
  .pm-hero__proof { grid-template-columns: 1fr; gap: var(--space-cluster, 8px); }
  .pm-hero__proof li { display: grid; grid-template-columns: minmax(98px, auto) minmax(0, 1fr); align-items: baseline; gap: var(--space-cluster, 8px); }
  .pm-hero__proof span { margin-top: 0; }
}

@media (hover: hover) and (pointer: fine) {
  .pm-button:hover, .button:hover { transform: translateY(-2px); box-shadow: var(--button-shadow-hover, 0 12px 28px rgb(54 50 51 / 14%)); }
  .pm-catalog-promo__cta:hover span:last-child { transform: translateX(4px); }
  .pm-hero__loyalty-link:hover span, .pm-catalog-loyalty__heading a:hover span { transform: translateX(3px); }
  .pm-catalog-promo__card:hover .pm-catalog-promo__media img { transform: scale(1.025); }
  .pm-catalog-promo__card:hover .pm-catalog-promo__card-title { text-decoration: underline; text-decoration-color: var(--pm-yellow); text-decoration-thickness: 3px; text-underline-offset: 4px; }
  .pm-production-card__zoom:hover img { transform: scale(1.035); }
  .pm-production-card__zoom:hover > span { opacity: 1; transform: none; }
  .pm-hero__actions .pm-text-link:hover { border-bottom-width: 3px; }
  .pm-hero__actions .pm-text-link:hover::after { transform: translateX(var(--primitive-space-1, 4px)); }
  .pm-contact-channel:hover { border-color: var(--color-border-strong); transform: translateY(-2px); box-shadow: var(--primitive-shadow-low); }
}

/* Complete storefront rollout: shared components and states. */
[hidden] { display: none !important; }
body.filter-open { overflow: hidden; }
.pm-live-status { position: fixed; }
.pm-page-heading { max-width: var(--layout-content); margin-bottom: var(--primitive-space-10); }
.pm-page-heading h1 { margin: 0; font-size: var(--font-size-page-title); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-main { padding-block: var(--primitive-space-8) var(--space-section-mobile); }
.pm-entry__content :where(a:not(.pm-button), .pm-text-link), .pm-text-link { text-decoration-line: underline; text-decoration-color: var(--color-action); text-decoration-thickness: var(--primitive-border-width-strong); }
.pm-entry__content :where(ul, ol) { padding-inline-start: var(--primitive-space-6); }
.pm-entry__content :where(p, li) { max-width: var(--layout-prose); }
.pm-entry__content :where(input, select, textarea),
.woocommerce :where(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], select, textarea) {
  width: 100%; min-height: var(--input-min-height); padding: var(--input-padding-y) var(--input-padding-x); border: var(--primitive-border-width-thin) solid var(--input-border); border-radius: var(--input-radius); background: var(--input-background); color: var(--input-foreground);
}
.woocommerce :where(input, select, textarea)[aria-invalid="true"], .woocommerce .woocommerce-invalid :where(input, select, textarea) { border-color: var(--color-error); box-shadow: 0 0 0 var(--primitive-border-width-thin) var(--color-error); }
.pm-field-error { display: block; margin-top: var(--primitive-space-2); color: var(--color-error); font-size: var(--font-size-label); font-weight: var(--font-weight-label); }
.pm-empty-state, .pm-content-blocker, .pm-empty-cart {
  display: grid; align-content: center; justify-items: start; min-height: min(var(--empty-state-min-height), 60vh); padding: var(--empty-state-padding); border: var(--primitive-border-width-thin) solid var(--empty-state-border); border-radius: var(--empty-state-radius); background: var(--empty-state-background);
}
.pm-empty-state > :first-child, .pm-content-blocker > :first-child, .pm-empty-cart > :first-child { margin-top: 0; }
.pm-empty-state h1, .pm-empty-state h2, .pm-empty-state h3, .pm-content-blocker h2 { max-width: var(--layout-content); margin-block: var(--primitive-space-2); font-size: var(--font-size-section-title); line-height: var(--font-line-height-heading); }
.pm-empty-state p, .pm-content-blocker p, .pm-empty-cart p { max-width: var(--layout-prose); color: var(--color-text-muted); }
.pm-empty-state__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--primitive-space-5); margin-top: var(--primitive-space-4); }
.pm-content-blocker { border-style: dashed; }
.pm-content-map { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-2); width: 100%; max-width: none !important; padding: 0 !important; margin: var(--primitive-space-5) 0 0; list-style: none; }
.pm-content-map li { display: grid; gap: var(--primitive-space-1); min-width: 0; padding: var(--primitive-space-4); border-radius: var(--primitive-radius-control); background: var(--color-background); }
.pm-content-map strong { color: var(--color-text-strong); }
.pm-content-map span { color: var(--color-text-muted); font-size: var(--font-size-label); }
.pm-error-page { margin-block: var(--primitive-space-8); }
.is-loading, [aria-busy="true"] { cursor: progress; }
.is-loading { opacity: var(--interactive-disabled-opacity); }
.is-unavailable, [aria-disabled="true"] { opacity: var(--state-disabled-opacity); }

/* Header account/cart use text and counts instead of pseudo-icons. */
.pm-cart-link { width: var(--interactive-min-size); padding-inline: 0; gap: 0; font-size: var(--font-size-label); }
.pm-cart-count { display: grid; place-items: center; min-width: var(--primitive-space-7); height: var(--primitive-space-7); padding-inline: var(--primitive-space-1); border-radius: var(--primitive-radius-full); background: var(--color-text-strong); color: var(--color-text-inverse); font-size: var(--font-size-caption); font-weight: var(--font-weight-heading); font-variant-numeric: tabular-nums; }
.pm-cart-label { display: none; }

/* Homepage process, loyalty and service navigation. */
.pm-buying-guide { padding-block: var(--space-section-mobile); background: var(--color-background); }
.pm-process-steps { display: grid; gap: var(--layout-grid-gap-mobile); padding: 0; margin: 0; list-style: none; counter-reset: none; }
.pm-process-steps li { min-width: 0; padding: var(--primitive-space-6); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-surface); }
.pm-process-steps li > span { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); padding-inline: var(--primitive-space-3); border-radius: var(--primitive-radius-full); background: var(--color-action); color: var(--color-action-foreground); font-size: var(--font-size-caption); font-weight: var(--font-weight-heading); }
.pm-process-steps h3 { margin: var(--primitive-space-5) 0 var(--primitive-space-2); font-size: var(--primitive-font-size-2xl); }
.pm-process-steps p { margin: 0; color: var(--color-text-muted); }
.pm-service-links { padding-block: var(--space-section-mobile); background: var(--color-surface); }
.pm-service-links__grid { display: grid; gap: var(--layout-grid-gap-mobile); }
.pm-service-links__grid a, .pm-product-services a { display: grid; align-content: end; gap: var(--primitive-space-2); padding: var(--primitive-space-8) var(--primitive-space-5); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-background); text-decoration: none; }
.pm-service-links__grid a { grid-template-rows: auto 1fr; align-content: start; }
.pm-service-links__grid strong, .pm-product-services strong { font-size: var(--primitive-font-size-xl); }
.pm-service-links__grid span, .pm-product-services span { color: var(--color-text-muted); }
.pm-contact { padding-block: var(--space-section-mobile); background: var(--color-background); }
.pm-contact__heading { max-width: 760px; margin: 0 0 var(--primitive-space-10); text-align: left; }
.pm-contact__heading .pm-eyebrow { color: var(--pm-yellow); }
.pm-contact__heading :is(h1, h2) { margin: 0; font-size: var(--font-size-section-title); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-contact__heading > p:last-child { max-width: 620px; margin: var(--primitive-space-4) 0 0; color: var(--color-text-muted); font-size: var(--primitive-font-size-lg); }
.pm-contact__layout { display: grid; gap: var(--primitive-space-8); align-items: start; }
.pm-contact__content { min-width: 0; }
.pm-contact__details { display: grid; align-content: start; gap: var(--primitive-space-4); }
.pm-contact__details > * { margin: 0; }
.pm-contact__kicker { color: var(--color-text-muted); font-size: var(--font-size-label); font-weight: var(--font-weight-label); text-transform: uppercase; letter-spacing: var(--font-tracking-label); }
.pm-contact__address { color: var(--color-text-muted); }
.pm-contact__details > p:not(.pm-contact__kicker, .pm-contact__address) { max-width: 520px; color: var(--color-text-muted); }
.pm-contact--page .pm-contact__heading { margin-bottom: var(--primitive-space-8); }
.pm-contact__info { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-2); padding: 0; margin: 0; }
.pm-contact__info > div { min-width: 0; padding: var(--primitive-space-4); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-control); background: var(--color-surface); }
.pm-contact__info dt { margin-bottom: var(--primitive-space-1); color: var(--color-text-muted); font-size: var(--font-size-caption); font-weight: var(--font-weight-label); text-transform: uppercase; letter-spacing: var(--font-tracking-label); }
.pm-contact__info dd { min-width: 0; margin: 0; color: var(--color-text-strong); font-size: clamp(18px, 3.6vw, 24px); font-weight: var(--font-weight-heading); line-height: 1.25; overflow-wrap: anywhere; }
.pm-contact__info a { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); text-decoration-color: var(--color-action); text-decoration-thickness: 3px; text-underline-offset: 5px; }
.pm-contact__info address { font: inherit; }
.pm-contact__channels { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-2); }
.pm-contact-channel { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: var(--primitive-space-3); min-height: 76px; padding: var(--primitive-space-3); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-control); background: var(--color-background); color: var(--color-text); text-decoration: none; transition: border-color var(--motion-duration-fast) var(--motion-easing-standard), transform var(--motion-duration-fast) var(--motion-easing-standard), box-shadow var(--motion-duration-fast) var(--motion-easing-standard); }
.pm-contact-channel__icon { display: grid; width: 48px; height: 48px; place-items: center; overflow: hidden; border-radius: 14px; background: var(--color-background); }
.pm-contact-channel__icon img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pm-contact-channel__copy { display: grid; min-width: 0; gap: 1px; }
.pm-contact-channel__copy small { color: var(--color-text-muted); font-size: var(--font-size-caption); }
.pm-contact-channel__copy strong { color: var(--color-text-strong); font-size: var(--font-size-label); overflow-wrap: anywhere; }
.pm-contact-channel__arrow { color: var(--color-text-muted); font-size: var(--primitive-font-size-xl); }
.pm-contact__note { margin-top: var(--primitive-space-2) !important; }
.pm-contact-form { position: relative; display: grid; gap: var(--primitive-space-4); padding: clamp(20px, 4vw, 36px); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); background: var(--color-surface); box-shadow: var(--primitive-shadow-low); }
.pm-contact-form > label { display: grid; gap: var(--primitive-space-2); font-size: var(--font-size-label); font-weight: var(--font-weight-label); }
.pm-contact-form :where(input[type="text"], textarea) { width: 100%; min-height: var(--input-min-height); padding: var(--input-padding-y) var(--input-padding-x); border: var(--primitive-border-width-thin) solid var(--input-border); border-radius: var(--input-radius); background: var(--input-background); color: var(--input-foreground); font: inherit; }
.pm-contact-form textarea { min-height: 112px; resize: vertical; }
.pm-contact-form fieldset { padding: 0; margin: 0; border: 0; }
.pm-contact-form legend { margin-bottom: var(--primitive-space-2); font-size: var(--font-size-label); font-weight: var(--font-weight-label); }
.pm-contact-form__methods { display: flex; flex-wrap: wrap; gap: var(--primitive-space-2); }
.pm-contact-form__methods label { position: relative; }
.pm-contact-form__methods input { position: absolute; opacity: 0; pointer-events: none; }
.pm-contact-form__methods span { display: grid; place-items: center; min-height: 44px; padding-inline: 15px; border: var(--primitive-border-width-thin) solid var(--color-border-strong); border-radius: 999px; background: var(--color-background); font-size: var(--font-size-label); font-weight: var(--font-weight-label); cursor: pointer; }
.pm-contact-form__methods input:checked + span { border-color: var(--color-action); background: var(--color-action); color: var(--color-action-foreground); }
.pm-contact-form__methods input:focus-visible + span { outline: 3px solid var(--focus-color, var(--color-action)); outline-offset: 2px; }
.pm-contact-form__consent { display: grid !important; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: var(--primitive-space-2) !important; color: var(--color-text-muted); font-weight: var(--font-weight-body) !important; }
.pm-contact-form__consent input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--color-action); }

/* Blog landing and reusable article cards. */
.pm-blog-hero { padding-block: clamp(52px, 8vw, 112px); background: var(--color-background); }
.pm-blog-hero__layout { display: grid; gap: var(--primitive-space-8); align-items: end; }
.pm-blog__heading { max-width: 920px; }
.pm-blog__heading h1 { margin: var(--primitive-space-4) 0 var(--primitive-space-5); font-size: var(--font-size-page-title); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-blog__heading > p:last-child { max-width: var(--layout-prose); margin: 0; color: var(--color-text-muted); font-size: var(--primitive-font-size-lg); }
.pm-blog-hero__note { display: grid; gap: var(--primitive-space-1); padding: var(--primitive-space-6); border-radius: var(--primitive-radius-panel); background: var(--color-action); color: var(--color-action-foreground); }
.pm-blog-hero__note strong { font-size: clamp(40px, 6vw, 64px); line-height: 1; font-variant-numeric: tabular-nums; }
.pm-blog-hero__note span { font-weight: var(--font-weight-heading); }
.pm-blog-hero__note p { margin: var(--primitive-space-4) 0 0; }
.pm-blog-featured, .pm-blog-latest { padding-block: var(--space-section-mobile); }
.pm-blog-featured { background: var(--color-surface); }
.pm-blog-latest { background: var(--color-background); }
.pm-blog-featured__grid { display: grid; gap: var(--layout-grid-gap-mobile); }
.pm-blog__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--layout-grid-gap-mobile); }
.pm-blog-card { display: flex; min-width: 0; height: 100%; overflow: hidden; border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-background); flex-direction: column; }
.pm-blog-card__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--color-surface); }
.pm-blog-card__media img { width: 100%; height: 100%; object-fit: cover; }
.pm-blog-card__media.is-placeholder { display: grid; min-height: 190px; align-content: space-between; padding: var(--primitive-space-6); background: var(--color-action); color: var(--color-action-foreground); text-decoration: none; isolation: isolate; }
.pm-blog-card__media.is-placeholder::before, .pm-blog-card__media.is-placeholder::after { content: ""; position: absolute; z-index: -1; border: 1px solid rgb(54 50 51 / 15%); border-radius: 50%; }
.pm-blog-card__media.is-placeholder::before { width: 72%; aspect-ratio: 1; right: -20%; top: -48%; }
.pm-blog-card__media.is-placeholder::after { width: 46%; aspect-ratio: 1; right: 8%; bottom: -32%; }
.pm-blog-card__placeholder-brand { font-size: var(--font-size-caption); font-weight: var(--font-weight-heading); letter-spacing: var(--font-tracking-label); }
.pm-blog-card__placeholder-topic { max-width: 80%; font-size: clamp(26px, 4vw, 40px); font-weight: var(--font-weight-heading); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-blog-card__pin { position: absolute; top: var(--primitive-space-4); right: auto; left: var(--primitive-space-4); box-sizing: border-box; max-width: calc(100% - (var(--primitive-space-4) * 2)); padding: var(--primitive-space-2) var(--primitive-space-3); border-radius: var(--primitive-radius-full); background: var(--color-text-strong); color: var(--color-text-inverse); font-size: var(--font-size-caption); font-weight: var(--font-weight-label); line-height: 1.25; overflow-wrap: anywhere; text-align: center; }
.pm-blog-card__body { display: grid; gap: var(--primitive-space-3); align-content: start; flex: 1; padding: var(--primitive-space-6); }
.pm-blog-card__body > * { margin: 0; }
.pm-blog-card__meta { display: flex; flex-wrap: wrap; gap: var(--primitive-space-2) var(--primitive-space-3); color: var(--color-text-muted); font-size: var(--font-size-caption); }
.pm-blog-card__meta > *:not(:last-child)::after { content: "·"; margin-left: var(--primitive-space-3); }
.pm-blog-card :is(h2, h3) { font-size: var(--primitive-font-size-2xl); line-height: var(--font-line-height-heading, 1.08); }
.pm-blog-card :is(h2, h3) a { color: inherit; text-decoration: none; }
.pm-blog-card p { color: var(--color-text-muted); }
.pm-blog-card .pm-text-link { width: fit-content; margin-top: auto; }
.pm-blog__empty { max-width: 880px; }
.pm-home-blog { padding-block: var(--space-section-mobile); background: var(--color-text-strong); color: var(--color-text-inverse); }
.pm-home-blog__heading { display: grid; gap: var(--primitive-space-6); margin-bottom: var(--primitive-space-8); }
.pm-home-blog__heading > div { max-width: 760px; }
.pm-home-blog__heading .pm-eyebrow { color: var(--color-action); }
.pm-home-blog__heading h2 { margin: var(--primitive-space-4) 0; font-size: var(--font-size-section-title); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-home-blog__heading p { margin: 0; color: rgb(255 255 255 / 66%); font-size: var(--primitive-font-size-lg); }
.pm-home-blog__heading > .pm-text-link { align-self: end; color: var(--color-text-inverse); text-decoration-color: var(--color-action); }
.pm-home-blog__grid { display: grid; gap: var(--layout-grid-gap-mobile); color: var(--color-text); }

/* Single article. */
.pm-post__header { padding-block: clamp(52px, 8vw, 112px); background: var(--color-surface); }
.pm-post__header .pm-container { max-width: 980px; }
.pm-post__back { display: inline-flex; min-height: var(--interactive-min-size); align-items: center; margin-bottom: var(--primitive-space-8); color: var(--color-text-muted); font-weight: var(--font-weight-label); }
.pm-post__back::before { content: "←"; margin-right: var(--primitive-space-2); }
.pm-post__header h1 { margin: var(--primitive-space-4) 0 var(--primitive-space-5); font-size: var(--font-size-page-title); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-post__lead { max-width: var(--layout-prose); color: var(--color-text-muted); font-size: var(--primitive-font-size-xl); }
.pm-post__meta { display: flex; flex-wrap: wrap; gap: var(--primitive-space-4); margin-top: var(--primitive-space-7); color: var(--color-text-muted); font-size: var(--font-size-label); }
.pm-post__cover { margin-top: calc(-1 * var(--primitive-space-8)); }
.pm-post__cover img { display: block; width: 100%; max-height: 680px; object-fit: cover; border-radius: var(--primitive-radius-panel); }
.pm-post__content { max-width: 820px; padding-block: var(--space-section-mobile); font-size: var(--primitive-font-size-lg); }
.pm-post__content > :first-child { margin-top: 0; }
.pm-post__content h2 { margin-top: var(--primitive-space-10); font-size: clamp(28px, 4vw, 42px); line-height: var(--font-line-height-heading); }
.pm-post__content h3 { margin-top: var(--primitive-space-8); font-size: var(--primitive-font-size-2xl); }
.pm-post__content :is(p, li) { color: var(--color-text-muted); }
.pm-post__content li + li { margin-top: var(--primitive-space-2); }
.pm-post__content .wp-block-table { width: 100%; margin-block: var(--primitive-space-8); overflow-x: auto; border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); }
.pm-post__content .wp-block-table table { width: 100%; min-width: 680px; border-collapse: collapse; background: var(--color-background); font-size: var(--primitive-font-size-base); }
.pm-post__content .wp-block-table :where(th, td) { padding: var(--primitive-space-4); border-bottom: var(--primitive-border-width-thin) solid var(--color-border); text-align: left; vertical-align: top; }
.pm-post__content .wp-block-table thead { background: var(--color-surface); }
.pm-post__content .wp-block-table tbody tr:last-child :where(th, td) { border-bottom: 0; }
.pm-post__content .wp-block-table tbody th { color: var(--color-text-strong); font-size: var(--primitive-font-size-xl); }
.pm-post__footer { display: grid; gap: var(--primitive-space-6); align-items: center; padding: clamp(28px, 5vw, 52px); margin-bottom: var(--space-section-mobile); border-radius: var(--primitive-radius-panel); background: var(--color-action); }
.pm-post__footer h2 { margin: var(--primitive-space-3) 0; font-size: clamp(28px, 4vw, 44px); line-height: var(--font-line-height-heading); }
.pm-post__footer p { max-width: 660px; margin-bottom: 0; }
.pm-post__footer .pm-button { background: var(--color-text-strong); color: var(--color-text-inverse); }
.pm-contact-form .pm-button { justify-self: start; min-width: min(100%, 280px); }
.pm-contact-form__honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pm-contact__notice { display: flex; flex-wrap: wrap; gap: var(--primitive-space-2); max-width: 760px; padding: var(--primitive-space-4) var(--primitive-space-5); margin: calc(-1 * var(--primitive-space-6)) auto var(--primitive-space-8); border-radius: var(--primitive-radius-control); }
.pm-contact__notice--success { background: #e5f7e8; color: #175c22; }
.pm-contact__notice--error { background: #fff0ed; color: #8a2416; }
.pm-catalog-filter-empty { min-height: var(--empty-state-min-height); margin-bottom: var(--primitive-space-6); }

/* Homepage editorial modules. */
.pm-material-guide, .pm-faq { padding-block: var(--space-section-mobile); background: var(--color-surface); }
.pm-material-guide__grid { display: grid; gap: var(--layout-grid-gap-mobile); margin-bottom: var(--primitive-space-6); }
.pm-material-guide__grid article { min-width: 0; padding: var(--primitive-space-6); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-background); }
.pm-material-guide__grid article.is-available { border-color: var(--color-text-strong); box-shadow: inset 0 var(--primitive-space-2) 0 var(--color-action); }
.pm-material-guide__grid span { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); padding-inline: var(--primitive-space-3); border-radius: var(--primitive-radius-full); background: var(--color-surface); color: var(--color-text-muted); font-size: var(--font-size-label); font-weight: var(--font-weight-label); }
.pm-material-guide__grid .is-available span { background: var(--color-action); color: var(--color-action-foreground); }
.pm-material-guide__grid h3 { margin: var(--primitive-space-4) 0 var(--primitive-space-2); font-size: var(--primitive-font-size-3xl); }
.pm-material-guide__grid p { margin: 0; color: var(--color-text-muted); }
.pm-wholesale { padding-block: var(--space-section-mobile); background: var(--color-background); }
.pm-wholesale__panel { display: grid; gap: var(--primitive-space-6); align-items: center; padding-block: var(--primitive-space-8); border-radius: var(--primitive-radius-panel); background: var(--color-surface-inverse); color: var(--color-text-inverse); }
.pm-wholesale__panel > div { max-width: var(--layout-content); }
.pm-wholesale__panel h2 { margin: 0 0 var(--primitive-space-3); font-size: var(--font-size-section-title); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-wholesale__panel p:not(.pm-eyebrow) { max-width: var(--layout-prose); margin-bottom: 0; color: rgb(255 255 255 / 74%); }
.pm-wholesale__panel .pm-button { justify-self: start; }
.pm-faq__layout { display: grid; gap: var(--primitive-space-8); }
.pm-faq__layout > div:first-child { max-width: var(--layout-prose); }
.pm-faq__layout h2 { margin: 0 0 var(--primitive-space-3); font-size: var(--font-size-section-title); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-faq__layout > div:first-child > p:last-child { color: var(--color-text-muted); }
.pm-accordion { border-top: var(--primitive-border-width-thin) solid var(--color-border-strong); }
.pm-accordion__item { border-bottom: var(--primitive-border-width-thin) solid var(--color-border-strong); }
.pm-accordion__item h3 { margin: 0; }
.pm-accordion__item button { display: grid; grid-template-columns: minmax(0, 1fr) var(--interactive-min-size); align-items: center; width: 100%; min-height: calc(var(--interactive-min-size) + var(--primitive-space-5)); padding: var(--primitive-space-3) 0; border: 0; background: transparent; color: var(--color-text); text-align: left; font-size: var(--primitive-font-size-lg); font-weight: var(--font-weight-heading); cursor: pointer; }
.pm-accordion__item button > span { display: grid; place-items: center; width: var(--interactive-min-size); height: var(--interactive-min-size); border-radius: var(--primitive-radius-full); background: var(--color-action); transition: transform var(--motion-duration-normal) var(--motion-easing-standard); }
.pm-accordion__item button[aria-expanded="true"] > span { transform: rotate(45deg); }
.pm-accordion__panel { padding: 0 var(--interactive-min-size) var(--primitive-space-5) 0; }
.pm-accordion__panel p { max-width: var(--layout-prose); margin: 0; color: var(--color-text-muted); }
.pm-accordion__panel .pm-text-link { display: inline-flex; margin-top: var(--primitive-space-3); }

/* Editorial material guide. */
.pm-article { max-width: 1180px; margin-inline: auto; }
.pm-article__header { max-width: 900px; padding-block: var(--primitive-space-4) var(--primitive-space-10); }
.pm-article__header h1 { max-width: 820px; margin: var(--primitive-space-4) 0; font-size: var(--font-size-page-title, clamp(36px, 4.5vw, 64px)); line-height: var(--font-line-height-heading, 1.08); letter-spacing: var(--font-tracking-heading, -.025em); }
.pm-article__lead { max-width: 65ch; margin: 0; color: var(--color-text-muted); font-size: var(--font-size-lead, clamp(18px, 1.4vw, 22px)); line-height: 1.55; }
.pm-article__layout { display: grid; gap: var(--primitive-space-8); align-items: start; }
.pm-article__aside { display: grid; gap: var(--primitive-space-3); padding: var(--primitive-space-6); border-radius: var(--primitive-radius-panel); background: var(--color-action); color: var(--color-action-foreground); }
.pm-article__aside > * { margin: 0; }
.pm-article__aside strong { font-size: var(--primitive-font-size-2xl); }
.pm-article__aside .pm-text-link { width: fit-content; color: currentColor; }
.pm-article__body { display: grid; gap: var(--primitive-space-12); min-width: 0; }
.pm-article__body > section { min-width: 0; }
.pm-article__body section > :first-child { margin-top: 0; }
.pm-article__body h2 { max-width: 760px; margin: 0 0 var(--primitive-space-5); font-size: clamp(28px, 3vw, 44px); line-height: var(--font-line-height-heading, 1.08); letter-spacing: var(--font-tracking-heading, -.025em); }
.pm-article__body :where(p, li, td, th) { line-height: var(--primitive-font-line-height-longform, 1.7); }
.pm-article__body :where(p, li) { max-width: 760px; }
.pm-article__body ol { display: grid; gap: var(--primitive-space-4); padding-inline-start: var(--primitive-space-6); }
.pm-article__feature { padding: clamp(24px, 5vw, 48px); border-radius: var(--primitive-radius-panel); background: var(--color-surface-inverse); color: var(--color-text-inverse); }
.pm-article__feature p:not(.pm-eyebrow) { color: rgb(255 255 255 / 76%); }
.pm-article-table-wrap { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); }
.pm-article-table { width: 100%; min-width: 680px; border-collapse: collapse; background: var(--color-background); }
.pm-article-table :where(th, td) { padding: var(--primitive-space-4); border-bottom: var(--primitive-border-width-thin) solid var(--color-border); text-align: left; vertical-align: top; }
.pm-article-table thead { background: var(--color-surface); }
.pm-article-table tbody tr:last-child :where(th, td) { border-bottom: 0; }
.pm-article-table tbody th { font-size: var(--primitive-font-size-xl); }
.pm-article__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--primitive-space-4); margin-top: var(--primitive-space-6); }

/* Footer. */
.pm-footer__grid { align-items: start; }
.pm-footer__grid > div { min-width: 0; }
.pm-footer a { display: flex; align-items: center; min-height: var(--interactive-min-size); margin: 0; }
.pm-footer__bottom { flex-wrap: wrap; }

/* Catalog filtering. */
.woocommerce-products-header { margin-bottom: var(--primitive-space-6); }
.woocommerce-products-header__title { max-width: var(--layout-content); }
.pm-filter-shell { margin-bottom: var(--primitive-space-5); }
.pm-filter-toggle, .pm-filter-close { display: none; align-items: center; justify-content: center; min-height: var(--interactive-min-size); padding-inline: var(--primitive-space-4); border: var(--primitive-border-width-thin) solid var(--color-border-strong); border-radius: var(--primitive-radius-full); background: var(--color-background); color: var(--color-text); font-weight: var(--font-weight-label); cursor: pointer; }
.pm-filter-toggle { width: 100%; justify-content: space-between; }
.pm-filter-toggle > span { display: grid; place-items: center; min-width: var(--primitive-space-7); height: var(--primitive-space-7); border-radius: var(--primitive-radius-full); background: var(--color-action); color: var(--color-action-foreground); }
.pm-filter-panel { padding: var(--primitive-space-4); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); background: var(--color-surface); }
.pm-filter-panel__header { display: flex; align-items: center; justify-content: space-between; gap: var(--primitive-space-4); margin-bottom: var(--primitive-space-4); }
.pm-filter-panel__header h2 { margin: 0; font-size: var(--primitive-font-size-2xl); }
.pm-catalog-filters { margin: 0; padding: 0; border-radius: 0; background: transparent; }
.pm-filter-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--filter-gap); }
.pm-filter-group { min-width: 0; padding: 0; margin: 0; border: 0; }
.pm-filter-group legend { margin-bottom: var(--primitive-space-2); color: var(--color-text-strong); font-size: var(--font-size-label); font-weight: var(--font-weight-heading); }
.pm-filter-options { display: flex; flex-wrap: wrap; gap: var(--primitive-space-2); }
.pm-filter-options label { position: relative; display: inline-flex; min-height: var(--interactive-min-size); align-items: center; cursor: pointer; }
.pm-filter-options input { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.pm-filter-options label > span { display: inline-flex; min-height: var(--interactive-min-size); align-items: center; padding-inline: var(--primitive-space-3); margin: 0; border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-full); background: var(--color-background); color: var(--color-text); }
.pm-filter-options input:checked + span { border-color: var(--color-text); background: var(--color-surface-inverse); color: var(--color-text-inverse); }
.pm-filter-options input:focus-visible + span { outline: 3px solid var(--focus-color); outline-offset: 2px; }
.pm-filter-options label.is-disabled { cursor: not-allowed; }
.pm-filter-options label.is-disabled > span { border-style: dashed; background: transparent; color: var(--color-text-muted); opacity: .66; }
.pm-filter-option { gap: var(--primitive-space-2); }
.pm-filter-option__soon { font-size: var(--font-size-caption); font-weight: var(--font-weight-label); }
.pm-filter-group--pm_color .pm-filter-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-2); }
.pm-filter-group--pm_color .pm-filter-options label { width: 100%; }
.pm-filter-options label > .pm-filter-color-option { width: 100%; justify-content: flex-start; gap: var(--primitive-space-3); margin: 0; border-radius: var(--primitive-radius-control); color: var(--color-text); }
.pm-filter-color-swatch { width: 22px; height: 22px; flex: none; border: 1px solid rgb(54 50 51 / 22%); border-radius: var(--primitive-radius-full); background: var(--pm-filter-color); box-shadow: inset 0 0 0 2px rgb(255 255 255 / 28%); }
.pm-filter-options input:checked + .pm-filter-color-option .pm-filter-color-swatch { border-color: rgb(255 255 255 / 70%); box-shadow: 0 0 0 2px rgb(255 255 255 / 18%); }
.pm-filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--primitive-space-3); }
.pm-filter-grid label > span { margin-bottom: var(--primitive-space-1); color: var(--color-text-muted); font-size: var(--font-size-label); font-weight: var(--font-weight-label); }
.pm-filter-grid select, .pm-filter-grid input { min-height: var(--filter-control-height); border-color: var(--filter-border); border-radius: var(--filter-radius); }
.pm-filter-grid .button { min-height: var(--interactive-min-size); margin: 0; border-color: var(--color-action); background: var(--button-primary-background, var(--color-action)); color: var(--button-primary-foreground, var(--color-action-foreground)); }
.pm-filter-reset { display: inline-flex; align-items: center; justify-content: center; min-height: var(--interactive-min-size); }
.pm-active-filters { display: flex; flex-wrap: wrap; gap: var(--primitive-space-2); margin-bottom: var(--primitive-space-4); }
.pm-active-filters a { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); padding-inline: var(--primitive-space-3); border: var(--primitive-border-width-thin) solid var(--color-border-strong); border-radius: var(--primitive-radius-full); background: var(--color-background); text-decoration: none; font-size: var(--font-size-label); }
.pm-js .pm-filter-toggle { display: flex; }
.pm-js .pm-filter-panel { position: fixed; inset: 0 0 0 auto; z-index: var(--primitive-z-modal); width: min(100%, var(--layout-summary)); height: 100dvh; padding: var(--primitive-space-5); border: 0; border-radius: 0; overflow-y: auto; overscroll-behavior: contain; box-shadow: var(--primitive-shadow-high); visibility: hidden; transform: translateX(100%); transition: transform var(--motion-duration-normal) var(--motion-easing-enter), visibility 0s linear var(--motion-duration-normal); }
.pm-js .pm-filter-panel.is-open { visibility: visible; transform: translateX(0); transition-delay: 0s; }
.pm-js .pm-filter-close { display: inline-flex; }
.woocommerce .woocommerce-result-count { margin: 0 0 var(--primitive-space-4); color: var(--color-text-muted); }
.woocommerce .woocommerce-ordering { float: none; margin: 0 0 var(--primitive-space-5); }
.woocommerce .woocommerce-ordering select { width: 100%; }

/* Product grid and card. */
.woocommerce ul.products, ul.products { align-items: stretch; gap: var(--product-grid-gap-mobile); }
.woocommerce ul.products li.product, ul.products li.product { display: flex; width: 100% !important; min-width: 0; flex-direction: column; float: none !important; padding: var(--primitive-space-3); margin: 0; border: var(--primitive-border-width-thin) solid var(--product-card-border); border-radius: var(--primitive-radius-card); background: var(--product-card-background); transition: transform var(--motion-duration-fast) var(--motion-easing-standard), border-color var(--motion-duration-fast) var(--motion-easing-standard), box-shadow var(--motion-duration-fast) var(--motion-easing-standard); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; }
.woocommerce ul.products li.product a img, ul.products li.product a img { border-radius: var(--product-card-image-radius); background: var(--product-card-image-background); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: var(--product-card-title-size); text-decoration-color: transparent; text-decoration-thickness: 3px; text-underline-offset: 4px; overflow-wrap: anywhere; transition: text-decoration-color var(--motion-duration-fast) var(--motion-easing-standard); }
.pm-card-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--primitive-space-2); margin-block: var(--primitive-space-3); }
.pm-card-summary__item { display: grid; min-width: 0; align-content: start; gap: 2px; padding: var(--primitive-space-3); border-radius: var(--primitive-radius-control); background: var(--color-surface); }
.pm-card-summary__item--stock { align-content: center; }
.pm-card-summary__item--stock { grid-column: 1 / -1; }
.pm-card-summary__item > span { color: var(--color-text-muted); font-size: var(--font-size-caption); line-height: 1.35; }
.pm-card-summary__item > strong { color: var(--color-text-strong); font-size: var(--font-size-label); font-weight: var(--font-weight-heading); line-height: 1.3; overflow-wrap: anywhere; }
.pm-card-stock { display: inline-flex; align-items: center; gap: 6px; }
.pm-card-stock::before { content: ""; width: 8px; height: 8px; border-radius: var(--primitive-radius-full); background: currentColor; flex: none; }
.pm-card-stock.is-available { color: var(--state-success-foreground, #287a3d); }
.pm-card-stock.is-order { color: var(--state-warning-foreground, #8a5a00); }
.pm-card-stock.is-unavailable { color: var(--state-unavailable-foreground); }
.woocommerce ul.products li.product .price { margin-block: auto var(--primitive-space-3); padding-top: var(--primitive-space-3); color: var(--color-text); }
.pm-price-block { display: grid; gap: var(--primitive-space-1); min-width: 0; font-variant-numeric: tabular-nums; }
.pm-price-block__label { color: var(--color-text-muted); font-size: var(--font-size-caption); font-weight: var(--font-weight-label); text-transform: uppercase; letter-spacing: var(--font-tracking-label); }
.pm-price-block.is-personal { padding: var(--primitive-space-2); border-radius: var(--primitive-radius-control); background: var(--price-personal-background); }
.pm-price-block__primary { color: var(--color-text-strong); font-size: var(--price-primary-size); font-weight: var(--price-weight); line-height: var(--font-line-height-heading); overflow-wrap: anywhere; }
.pm-price-block--card { gap: 0; }
.pm-price-block--card .pm-price-block__primary { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px; font-size: clamp(24px, 4vw, 30px); }
.pm-price-block--unit .pm-price-block__primary { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--primitive-space-1); }
.pm-price-block__suffix { color: var(--color-text-muted); font-size: var(--font-size-label); font-weight: var(--font-weight-label); }
.pm-price-block__base, .pm-price-block__unit { color: var(--color-text-muted); font-size: var(--price-secondary-size); font-weight: var(--font-weight-body); }
.pm-price-unavailable { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); color: var(--state-unavailable-foreground); font-size: var(--font-size-label); font-weight: var(--font-weight-label); }
.woocommerce ul.products li.product .button { width: 100%; min-height: var(--interactive-min-size); margin-top: 0; }
.woocommerce ul.products li.product a.button.product_type_variable { display: flex; align-items: center; justify-content: center; text-align: center; }
.pm-card-purchase { display: grid; gap: var(--primitive-space-2); }
.pm-card-buy-toggle[aria-expanded="true"] { background: var(--color-text-strong); color: var(--color-background); }
.pm-card-purchase__panel { display: grid; gap: var(--primitive-space-3); padding: var(--primitive-space-3); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-control); background: var(--color-surface); }
.pm-card-purchase__panel[hidden] { display: none; }
.pm-card-variation { min-width: 0; padding: 0; margin: 0; border: 0; }
.pm-card-variation legend { padding: 0; margin-bottom: var(--primitive-space-2); font-size: var(--font-size-caption); font-weight: var(--font-weight-label); }
.pm-card-variation__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--primitive-space-2); }
.pm-card-variation__options label { position: relative; min-width: 0; cursor: pointer; }
.pm-card-variation__options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pm-card-variation__options span { display: grid; min-height: var(--interactive-min-size); place-items: center; padding-inline: var(--primitive-space-2); border: var(--primitive-border-width-thin) solid var(--color-border-strong); border-radius: var(--primitive-radius-control); background: var(--color-background); font-size: var(--font-size-label); font-weight: var(--font-weight-heading); }
.pm-card-variation__options input:checked + span { border-color: var(--color-text-strong); box-shadow: inset 0 0 0 var(--primitive-border-width-strong) var(--color-text-strong); }
.pm-card-variation__options input:focus-visible + span { outline: var(--primitive-border-width-focus) solid var(--color-focus); outline-offset: var(--focus-offset); }
.pm-card-purchase__quantity { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: var(--primitive-space-2); }
.pm-card-purchase__status { color: var(--color-text-muted); font-size: var(--font-size-caption); text-align: center; }
.pm-card-quantity { display: grid; width: 100%; grid-template-columns: var(--interactive-min-size) minmax(34px, 1fr) var(--interactive-min-size); align-items: center; overflow: hidden; border: var(--primitive-border-width-thin) solid var(--color-border-strong); border-radius: var(--primitive-radius-full); background: var(--color-background); }
.pm-card-quantity button { min-width: var(--interactive-min-size); min-height: var(--interactive-min-size); padding: 0; border: 0; background: transparent; color: var(--color-text-strong); font-size: var(--primitive-font-size-xl); font-weight: var(--font-weight-heading); cursor: pointer; }
.pm-card-quantity button:disabled { color: var(--state-unavailable-foreground); cursor: default; }
.pm-card-quantity output { min-width: 34px; text-align: center; font-weight: var(--font-weight-heading); font-variant-numeric: tabular-nums; }
.pm-card-purchase__add { width: 100%; }
.pm-card-purchase__panel[aria-busy="true"] { opacity: .65; }
body.pm-single-catalog-result .pm-woocommerce ul.products { grid-template-columns: minmax(260px, 420px); justify-content: start; }
.woocommerce nav.woocommerce-pagination { margin-top: var(--primitive-space-8); }
.woocommerce nav.woocommerce-pagination ul { display: flex; flex-wrap: wrap; gap: var(--primitive-space-2); border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li :where(a, span) { display: grid; place-items: center; min-width: var(--interactive-min-size); min-height: var(--interactive-min-size); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-full); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--color-action); color: var(--color-action-foreground); }

@media (hover: hover) and (pointer: fine) {
  .woocommerce ul.products li.product:hover, ul.products li.product:hover { border-color: var(--color-action); box-shadow: var(--primitive-shadow-low); transform: translateY(-3px); }
  .woocommerce ul.products li.product:hover .woocommerce-loop-product__title, ul.products li.product:hover .woocommerce-loop-product__title { text-decoration-line: underline; text-decoration-color: var(--color-action); }
}

.woocommerce ul.products li.product:focus-within, ul.products li.product:focus-within { border-color: var(--color-action); box-shadow: var(--primitive-shadow-low); }

/* Single product. */
.single-product .pm-woocommerce { padding-top: var(--primitive-space-5); }
.woocommerce div.product { grid-template-columns: minmax(0, 1fr); align-items: start; }
.woocommerce div.product div.images.woocommerce-product-gallery { opacity: 1 !important; transition: none !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__image { aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--primitive-radius-panel); background: var(--product-card-image-background); }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; background: transparent; }
.woocommerce div.product div.summary { min-width: 0; padding: var(--primitive-space-5); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); background: var(--color-background); }
.woocommerce div.product .product_title { margin-top: 0; overflow-wrap: anywhere; }
.woocommerce div.product .pm-product-rating { display: inline-flex; width: fit-content; min-height: var(--interactive-min-size); align-items: center; gap: 6px; padding: 6px var(--primitive-space-3); margin: 0 0 var(--primitive-space-4); border-radius: var(--primitive-radius-full); background: var(--color-surface); color: var(--color-text-muted); font-size: var(--font-size-label); line-height: 1; }
.pm-product-rating__star { color: #f5a300; font-size: var(--primitive-font-size-lg); line-height: 1; }
.pm-product-rating__value { color: var(--color-text-strong); font-size: var(--primitive-font-size-base); }
.pm-product-rating__separator { color: var(--color-text-muted); }
.woocommerce div.product .pm-product-rating__reviews { display: inline-flex; min-height: 32px; align-items: center; color: var(--color-text-muted); font-weight: var(--font-weight-label); text-decoration: none; }
.woocommerce div.product a.pm-product-rating__reviews:hover { color: var(--color-text-strong); text-decoration: underline; text-decoration-color: var(--color-action); text-decoration-thickness: var(--primitive-border-width-strong); text-underline-offset: 4px; }
.pm-product-context { display: flex; flex-wrap: wrap; gap: var(--primitive-space-2); margin: 0 0 var(--primitive-space-4); }
.pm-product-context > span { display: inline-flex; min-height: var(--interactive-min-size); align-items: center; gap: var(--primitive-space-1); padding-inline: var(--primitive-space-3); border-radius: var(--primitive-radius-full); background: var(--color-surface); font-size: var(--font-size-label); }
.pm-product-intro { margin-bottom: var(--primitive-space-4); }
.pm-product-intro p { margin: 0; color: var(--color-text-muted); font-size: var(--primitive-font-size-base); }
.pm-product-meta { display: grid; gap: var(--primitive-space-2); margin-top: var(--primitive-space-4); color: var(--color-text-muted); font-size: var(--font-size-label); }
.pm-product-meta > span { display: flex; flex-wrap: wrap; align-items: center; min-height: var(--interactive-min-size); }
.pm-product-meta a { display: inline-flex; align-items: center; justify-content: center; min-width: var(--interactive-min-size); min-height: var(--interactive-min-size); padding-inline: var(--primitive-space-1); }
.woocommerce div.product p.price { margin-block: var(--primitive-space-4); color: var(--color-text); }
.pm-rating-stars { display: inline-flex; color: var(--pm-dark); font-size: var(--primitive-font-size-lg); letter-spacing: 2px; }
.comment-form-rating .stars { display: none !important; }
.comment-form-rating select#rating { display: block !important; min-width: 180px; min-height: var(--interactive-min-size); }
.woocommerce div.product form.cart { margin-block: var(--primitive-space-5); }
.woocommerce div.product form.cart .variations { margin-bottom: var(--primitive-space-4); }
.woocommerce div.product .single_variation .woocommerce-variation-price { display: none; }
.woocommerce div.product form.cart .variations tbody, .woocommerce div.product form.cart .variations tr, .woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; width: 100%; }
.woocommerce div.product form.cart .variations tr { margin-bottom: var(--primitive-space-4); }
.woocommerce div.product form.cart .variations tr.pm-variation-row--fixed { display: none !important; }
.woocommerce div.product form.cart .variations th { padding: 0 0 var(--primitive-space-2); text-align: left; }
.woocommerce div.product form.cart .variations td { padding: 0; }
.woocommerce div.product form.cart .variations select { min-height: var(--variation-min-height); }
.pm-variation-select--enhanced { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.pm-variation-swatches { display: flex; flex-wrap: wrap; gap: var(--variation-gap); }
.pm-variation-swatch { min-width: var(--swatch-target-size); min-height: var(--swatch-target-size); padding-inline: var(--primitive-space-3); border: var(--primitive-border-width-thin) solid var(--swatch-border); border-radius: var(--variation-radius); background: var(--color-background); color: var(--color-text); font-weight: var(--font-weight-label); cursor: pointer; }
.pm-variation-swatch.is-selected, .pm-variation-swatch[aria-pressed="true"] { border-color: var(--variation-selected-border); box-shadow: inset 0 0 0 var(--primitive-border-width-strong) var(--variation-selected-border); }
.pm-variation-swatch.is-unavailable, .pm-variation-swatch:disabled { color: var(--state-unavailable-foreground); background: var(--state-unavailable-background); text-decoration: line-through; cursor: not-allowed; opacity: var(--state-disabled-opacity); }
.pm-variation-select--choice { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.pm-variation-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--variation-gap); }
.pm-variation-option { min-height: var(--variation-min-height); padding: var(--primitive-space-3) var(--primitive-space-4); border: var(--primitive-border-width-thin) solid var(--swatch-border); border-radius: var(--variation-radius); background: var(--color-background); color: var(--color-text); font-weight: var(--font-weight-heading); cursor: pointer; }
.pm-variation-option.is-selected, .pm-variation-option[aria-pressed="true"] { border-color: var(--variation-selected-border); background: var(--color-surface-inverse); color: var(--color-text-inverse); box-shadow: inset 0 0 0 var(--primitive-border-width-strong) var(--variation-selected-border); }
.pm-variation-option.is-unavailable, .pm-variation-option:disabled { color: var(--state-unavailable-foreground); background: var(--state-unavailable-background); text-decoration: line-through; cursor: not-allowed; opacity: var(--state-disabled-opacity); }
.woocommerce div.product form.cart .reset_variations { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); }
.woocommerce .quantity .qty { min-height: var(--quantity-target-size); border-color: var(--quantity-border); border-radius: var(--quantity-radius); }
.woocommerce div.product form.cart .button { min-height: var(--button-height-default); }
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .pm-buy-now { border-radius: var(--button-radius) !important; }
.woocommerce div.product form.cart .single_add_to_cart_button.button.alt:is(:hover, :focus, :focus-visible, :active, :disabled, .disabled),
.woocommerce div.product form.cart .single_add_to_cart_button.button.alt.disabled:hover,
.woocommerce div.product form.cart .single_add_to_cart_button.button.alt:disabled:hover {
  border-color: var(--color-action) !important;
  background: var(--color-action) !important;
  color: var(--color-action-foreground) !important;
}
.pm-single-cart-control { display: inline-grid; width: 100%; min-height: var(--button-height-default); flex: 1 0 100%; }
.pm-single-cart-control > .single_add_to_cart_button,
.pm-single-cart-control__stepper { grid-area: 1 / 1; width: 100%; }
.pm-single-cart-control > .single_add_to_cart_button { margin: 0 !important; }
.pm-single-cart-control > .single_add_to_cart_button[hidden],
.pm-single-cart-control__stepper[hidden] { display: none !important; }
.pm-single-cart-control__stepper { display: grid; min-height: var(--button-height-default); grid-template-columns: var(--button-height-default) minmax(0, 1fr) var(--button-height-default); align-items: stretch; overflow: hidden; border: var(--primitive-border-width-thin) solid var(--color-action); border-radius: var(--button-radius); background: var(--color-action); color: var(--color-action-foreground); }
.pm-single-cart-control__change { display: grid; min-width: var(--button-height-default); min-height: var(--button-height-default); place-items: center; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font-size: var(--primitive-font-size-2xl); font-weight: var(--font-weight-heading); line-height: 1; cursor: pointer; }
.pm-single-cart-control__quantity { display: grid; min-width: 0; margin: 0 !important; float: none !important; }
.woocommerce .pm-single-cart-control__quantity .qty { width: 100% !important; min-width: 0; min-height: var(--button-height-default); padding: 0 var(--primitive-space-1); border: 0; border-radius: 0; outline: 0; background: transparent; color: inherit; font-size: var(--primitive-font-size-lg); font-weight: var(--font-weight-heading); text-align: center; appearance: textfield; }
.woocommerce .pm-single-cart-control__quantity .qty::-webkit-inner-spin-button,
.woocommerce .pm-single-cart-control__quantity .qty::-webkit-outer-spin-button { margin: 0; appearance: none; }
.pm-single-cart-control__change:hover { background: rgb(255 255 255 / 24%); }
.pm-single-cart-control__change:focus-visible,
.woocommerce .pm-single-cart-control__quantity .qty:focus-visible { position: relative; z-index: 1; outline: var(--primitive-border-width-focus) solid var(--color-focus); outline-offset: calc(var(--focus-offset) * -1); }
.pm-single-cart-control.is-busy { opacity: var(--state-disabled-opacity); }
.pm-single-cart-control.is-busy :where(button, input) { cursor: wait; }
.woocommerce div.product .woocommerce-variation-availability { width: 100%; }
.woocommerce div.product .stock { display: flex; width: 100%; min-height: 48px; align-items: center; gap: var(--primitive-space-2); padding: var(--primitive-space-3) var(--primitive-space-4); border: var(--primitive-border-width-thin) solid color-mix(in srgb, var(--color-success) 30%, transparent); border-left: 4px solid var(--color-success); border-radius: var(--primitive-radius-control); background: var(--color-success-surface); color: var(--color-success); font-size: var(--stock-font-size); font-weight: var(--font-weight-heading); }
.woocommerce div.product .stock::before { content: ""; flex: none; width: 9px; height: 9px; border-radius: var(--primitive-radius-full); background: currentColor; box-shadow: 0 0 0 5px color-mix(in srgb, currentColor 14%, transparent); }
.woocommerce div.product .stock.available-on-backorder { border-color: color-mix(in srgb, var(--color-action) 48%, transparent); border-left-color: var(--color-action); background: var(--color-warning-surface); color: var(--color-text); }
.woocommerce div.product .stock.out-of-stock { border-color: var(--color-border); border-left-color: var(--state-unavailable-foreground); background: var(--state-unavailable-background); color: var(--state-unavailable-foreground); }
.woocommerce div.product .product_meta a { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); }
.pm-product-specs, .pm-product-documents, .pm-product-services { margin-top: var(--space-section-mobile); }
.pm-product-specs h2, .pm-product-documents h2 { font-size: var(--font-size-section-title); }
.woocommerce div.product .woocommerce-Tabs-panel .pm-product-specs { margin-top: 0; }
.woocommerce div.product .woocommerce-Tabs-panel .pm-product-specs h2 { margin-top: 0; }
.pm-product-specs dl { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-2); border: 0; }
.pm-product-specs dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-radius: var(--primitive-radius-control); background: var(--color-surface); }
.pm-product-specs dt, .pm-product-specs dd { padding: var(--primitive-space-3); border: 0; background: transparent; }
.pm-product-specs dd { text-align: right; overflow-wrap: anywhere; }
.woocommerce div.product .pm-spool-guide { grid-column: 1 / -1; margin-top: 0; padding: clamp(20px, 4vw, 40px); border-radius: var(--primitive-radius-panel); background: var(--color-surface); }
.pm-spool-guide__header { display: grid; gap: var(--primitive-space-3); margin-bottom: var(--primitive-space-5); }
.pm-spool-guide__header h2 { margin: 0; font-size: var(--font-size-section-title); }
.pm-spool-guide__header > p { max-width: var(--layout-prose); margin: 0; color: var(--color-text-muted); }
.pm-spool-guide__visuals figure { display: grid; gap: var(--primitive-space-4); margin: 0; }
.pm-spool-guide__visuals figure[hidden] { display: none; }
.pm-spool-guide__visuals img { display: block; width: 100%; max-height: 560px; padding: var(--primitive-space-3); object-fit: contain; border-radius: var(--primitive-radius-card); background: var(--color-surface); }
.pm-spool-guide figcaption { display: grid; gap: var(--primitive-space-1); }
.pm-spool-guide figcaption strong { font-size: var(--primitive-font-size-xl); }
.pm-spool-guide figcaption span { color: var(--color-text-muted); }
.woocommerce div.product .pm-product-print-profiles { grid-column: 1 / -1; margin: 0; padding: clamp(20px, 4vw, 40px); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); background: var(--color-background); }
.pm-product-print-profiles__header { display: grid; gap: var(--primitive-space-2); margin-bottom: var(--primitive-space-5); }
.pm-product-print-profiles__header :where(p, h2) { margin: 0; }
.pm-product-print-profiles__header h2 { font-size: var(--font-size-section-title); }
.pm-product-print-profiles__header > p:last-child { max-width: var(--layout-prose); color: var(--color-text-muted); }
.pm-product-print-profiles__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--primitive-space-3); padding: 0; margin: 0; list-style: none; }
.pm-product-print-profiles__list li { margin: 0; }
.pm-product-print-profiles__list a { display: grid; grid-template-columns: var(--interactive-min-size) minmax(0, 1fr) auto; align-items: center; gap: var(--primitive-space-3); min-height: 72px; padding: var(--primitive-space-3); border-radius: var(--primitive-radius-card); background: var(--color-surface); color: var(--color-text); text-decoration: none; }
.pm-product-print-profiles__list a:hover { box-shadow: var(--primitive-shadow-low); }
.pm-product-print-profiles__list a:focus-visible { outline: var(--primitive-border-width-focus) solid var(--color-focus); outline-offset: var(--focus-offset); }
.pm-product-print-profiles__icon { display: grid; width: var(--interactive-min-size); height: var(--interactive-min-size); place-items: center; border-radius: var(--primitive-radius-full); background: var(--color-action); color: var(--color-action-foreground); font-size: var(--primitive-font-size-xl); font-weight: var(--font-weight-heading); }
.pm-product-print-profiles__icon--bambu { overflow: hidden; border-radius: var(--primitive-radius-card); background: transparent; }
.pm-product-print-profiles__icon--bambu img { display: block; width: 100%; height: 100%; object-fit: contain; }
.pm-product-print-profiles__file { display: grid; min-width: 0; gap: var(--primitive-space-1); }
.pm-product-print-profiles__file :where(strong, small) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pm-product-print-profiles__file small { color: var(--color-text-muted); }
.pm-product-print-profiles__download { font-weight: var(--font-weight-label); text-decoration: underline; text-underline-offset: 4px; }
.pm-product-documents { padding: var(--primitive-space-6); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); }
.pm-product-documents ul { display: grid; gap: var(--primitive-space-2); padding: 0; list-style: none; }
.pm-product-documents a { display: flex; align-items: center; min-height: var(--interactive-min-size); }
.pm-product-services { display: grid; gap: var(--layout-grid-gap-mobile); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: var(--primitive-space-2); padding: 0; 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 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; margin: 0; padding: 0; border: 0; border-radius: var(--primitive-radius-full); background: var(--color-surface); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: flex; align-items: center; min-height: var(--interactive-min-size); padding-inline: var(--primitive-space-4); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--color-action); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--color-text-strong); }
.woocommerce div.product .woocommerce-Tabs-panel--reviews { margin-top: var(--primitive-space-5); }
.woocommerce #reviews { display: grid; gap: var(--primitive-space-5); }
.woocommerce #reviews #comments,
.woocommerce #reviews #review_form_wrapper { min-width: 0; padding: clamp(20px, 4vw, 36px); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); background: var(--color-background); }
.woocommerce #reviews #comments h2,
.woocommerce #reviews #reply-title { display: grid; gap: var(--primitive-space-3); margin: 0 0 var(--primitive-space-5); color: var(--color-text-strong); font-size: clamp(24px, 3vw, 34px); line-height: var(--font-line-height-heading); }
.woocommerce #reviews #comments h2::after,
.woocommerce #reviews #reply-title::after { content: ""; width: 44px; height: 4px; border-radius: var(--primitive-radius-full); background: var(--color-action); }
.woocommerce #reviews #comments .woocommerce-noreviews { margin: 0; padding: var(--primitive-space-5); border-radius: var(--primitive-radius-control); background: var(--color-surface); color: var(--color-text-muted); }
.woocommerce #reviews.pm-reviews-list-only { grid-template-columns: minmax(0, 1fr); }
.woocommerce #reviews.pm-reviews-list-only #comments { width: 100%; }
.pm-reviews-order-note { display: flex; flex-wrap: wrap; align-items: center; gap: var(--primitive-space-2) var(--primitive-space-4); max-width: none; padding: var(--primitive-space-4); margin: var(--primitive-space-5) 0 0; border-radius: var(--primitive-radius-control); background: var(--color-surface); color: var(--color-text-muted); }
.pm-reviews-order-note a { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); color: var(--color-text-strong); font-weight: var(--font-weight-heading); text-decoration-color: var(--color-action); text-underline-offset: 4px; }
.woocommerce #reviews ol.commentlist { display: grid; gap: var(--primitive-space-4); padding: 0; margin: 0; list-style: none; }
.woocommerce #reviews ol.commentlist li { margin: 0; }
.woocommerce #reviews ol.commentlist li .comment_container { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: var(--primitive-space-3); align-items: start; padding: var(--primitive-space-4); border-radius: var(--primitive-radius-control); background: var(--color-surface); }
.woocommerce #reviews #comments ol.commentlist li img.avatar { position: static; float: none; width: 48px; height: 48px; padding: 0; border: 0; border-radius: var(--primitive-radius-full); background: var(--color-background); object-fit: cover; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { min-width: 0; width: auto; padding: 0; margin: 0; border: 0; }
.woocommerce #reviews .star-rating { margin-bottom: var(--primitive-space-2); color: var(--color-text-strong); }
.woocommerce #reviews .woocommerce-review__author { color: var(--color-text-strong); font-weight: var(--font-weight-heading); }
.woocommerce #reviews .woocommerce-review__verified { display: none; }
.woocommerce #reviews .woocommerce-review__published-date { color: var(--color-text-muted); font-size: var(--font-size-caption); }
.woocommerce #reviews .description { margin-top: var(--primitive-space-3); }
.woocommerce #reviews .description > :first-child { margin-top: 0; }
.woocommerce #reviews .description > :last-child { margin-bottom: 0; }
.woocommerce #review_form #respond { padding: 0; margin: 0; }
.woocommerce #review_form #respond .comment-notes,
.woocommerce #review_form #respond .must-log-in { color: var(--color-text-muted); }
.woocommerce #review_form #respond form { display: grid; gap: var(--primitive-space-4); }
.woocommerce #review_form #respond form > p { margin: 0; }
.woocommerce #review_form #respond label:not(.woocommerce-form__label-for-checkbox) { display: block; margin-bottom: var(--primitive-space-2); color: var(--color-text-strong); font-weight: var(--font-weight-label); }
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"],
.woocommerce #review_form #respond textarea { width: 100%; border: var(--primitive-border-width-thin) solid var(--color-border-strong); border-radius: var(--primitive-radius-control); background: var(--color-background); color: var(--color-text); }
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] { min-height: var(--interactive-comfortable-size); padding: 0 var(--primitive-space-4); }
.woocommerce #review_form #respond textarea { min-height: 160px; padding: var(--primitive-space-3) var(--primitive-space-4); resize: vertical; }
.woocommerce #review_form #respond input:focus,
.woocommerce #review_form #respond textarea:focus { border-color: var(--color-text-strong); outline: var(--focus-width) solid var(--focus-color); outline-offset: var(--focus-offset); }
.woocommerce #review_form #respond .comment-form-rating { padding: var(--primitive-space-3) var(--primitive-space-4); border-radius: var(--primitive-radius-control); background: var(--color-surface); }
.woocommerce #review_form #respond .comment-form-rating label { margin-bottom: var(--primitive-space-1); }
.woocommerce p.stars a { display: inline-grid; place-items: center; min-width: var(--interactive-min-size); min-height: var(--interactive-min-size); }
.woocommerce #review_form p.stars { margin: 0; }
.woocommerce #review_form p.stars a { margin-right: var(--primitive-space-1); border-radius: var(--primitive-radius-full); color: var(--color-text-strong); }
.woocommerce #review_form p.stars a:hover,
.woocommerce #review_form p.stars a:focus-visible { background: var(--color-action); }
.woocommerce label.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); }
.woocommerce .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: var(--primitive-space-2); min-height: var(--interactive-min-size); color: var(--color-text-muted); }
.woocommerce .comment-form-cookies-consent input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 12px; accent-color: var(--color-action); }
.woocommerce .comment-form-cookies-consent label { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); }
.woocommerce #respond input#submit { min-height: var(--button-height-default); padding-inline: var(--button-padding-x); border: 0; border-radius: var(--button-radius); background: var(--color-action); color: var(--color-text-strong); font-weight: var(--font-weight-heading); cursor: pointer; }
.pm-mobile-purchase { position: fixed; inset: auto 0 0; z-index: var(--primitive-z-sticky); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--primitive-space-3); padding: var(--primitive-space-3) var(--space-page-x-mobile) max(var(--primitive-space-3), env(safe-area-inset-bottom)); border-top: var(--primitive-border-width-thin) solid var(--color-border); background: var(--color-background); box-shadow: var(--primitive-shadow-low); }
.pm-mobile-purchase__price { min-width: 0; overflow: hidden; }
.pm-mobile-purchase__price .pm-price-block__label, .pm-mobile-purchase__price .pm-price-block__base, .pm-mobile-purchase__price .pm-price-block__unit { display: none; }
.pm-mobile-purchase__price .pm-price-block__primary { font-size: var(--primitive-font-size-xl); }
.pm-mobile-purchase__button { min-height: var(--interactive-min-size); padding-inline: var(--primitive-space-4); border: 0; border-radius: var(--primitive-radius-full); background: var(--color-action); color: var(--color-action-foreground); font-weight: var(--font-weight-heading); }

@media (max-width: 767px) {
  .pm-product-print-profiles__download { display: none; }
  .woocommerce-cart-form table.shop_table tr.cart_item td::before { display: none !important; content: none !important; }
  .woocommerce-cart-form table.shop_table tr.cart_item { grid-template-columns: 80px minmax(0, 1fr); grid-template-rows: auto auto auto; gap: var(--primitive-space-2) var(--primitive-space-3); align-items: start; padding: var(--primitive-space-4); }
  .woocommerce-cart-form table.shop_table tr.cart_item .product-thumbnail { grid-column: 1; grid-row: 1 / span 3; align-self: start; }
  .woocommerce-cart-form table.shop_table tr.cart_item .product-name { grid-column: 2; grid-row: 1; min-width: 0; padding-right: 44px !important; text-align: left !important; }
  .woocommerce-cart-form table.shop_table tr.cart_item .product-name > a { display: block; min-height: 0; line-height: 1.35; overflow-wrap: anywhere; }
  .woocommerce-cart-form table.shop_table tr.cart_item .product-price { grid-column: 2; grid-row: 2; padding-right: 0 !important; text-align: left !important; }
  .woocommerce-cart-form table.shop_table tr.cart_item .product-quantity { grid-column: 2; grid-row: 3; padding-right: 0 !important; text-align: left !important; }
  .woocommerce-cart-form table.shop_table tr.cart_item .product-subtotal { display: none !important; }
  .woocommerce-cart-form table.shop_table tr.cart_item .product-remove { top: var(--primitive-space-3); right: var(--primitive-space-2); }
  .woocommerce-cart-form table.shop_table tr.cart_item .pm-cart-line-total { min-width: 0; padding: 0; }
  .woocommerce-cart-form table.shop_table tr.cart_item .product-price::before,
  .woocommerce-cart-form table.shop_table tr.cart_item .product-subtotal::before { display: none; }
}

/* Cart. */
body.woocommerce-cart { background: var(--color-surface); }
.woocommerce-cart .pm-main { padding-bottom: var(--space-section-mobile); }
.woocommerce-cart .pm-entry h1 { display: flex; align-items: flex-start; gap: var(--primitive-space-2); }
.pm-cart-title-count { padding-top: .36em; color: var(--color-text-muted); font-size: var(--primitive-font-size-base); font-weight: var(--font-weight-label); letter-spacing: 0; }
.woocommerce-cart .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-cart .pm-registration-benefit--cart { grid-column: 1 / -1; width: 100%; max-width: none; margin: 0; }
.woocommerce-cart-form { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.woocommerce-cart .pm-entry, .woocommerce-checkout .pm-entry { max-width: none; }
.woocommerce-cart .pm-entry__content > .woocommerce, .woocommerce-checkout .pm-entry__content > .woocommerce { max-width: none; }
.pm-ready-cart, .pm-backorder-cart { padding: var(--primitive-space-3); overflow: hidden; border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); background: var(--color-background); }
.pm-cart-section-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--primitive-space-3); min-height: var(--interactive-comfortable-size); padding: var(--primitive-space-3) var(--primitive-space-4); margin: 0; border-radius: var(--primitive-radius-card); background: var(--color-surface); }
.pm-cart-section-heading h2 { margin: 0; color: var(--color-text-strong); font-size: var(--primitive-font-size-lg); }
.pm-cart-section-heading span { color: var(--color-text-muted); font-size: var(--font-size-caption); white-space: nowrap; }
.pm-backorder-cart { margin-top: var(--primitive-space-6); }
.pm-backorder-cart__header { display: flex; min-height: var(--interactive-comfortable-size); align-items: center; justify-content: space-between; gap: var(--primitive-space-3); padding: var(--primitive-space-3) var(--primitive-space-4); border-radius: var(--primitive-radius-card); background: var(--color-surface); }
.pm-backorder-cart__header h2 { margin: 0; color: var(--color-text-strong); font-size: var(--primitive-font-size-lg); }
.pm-backorder-cart__count { flex: none; color: var(--color-text-muted); font-size: var(--font-size-caption); white-space: nowrap; }
.pm-backorder-cart__rules { max-width: 760px; margin: 0; padding: var(--primitive-space-3) var(--primitive-space-4); color: var(--color-text-muted); font-size: var(--font-size-label); }
.pm-backorder-cart__items { display: grid; }
.pm-backorder-item { position: relative; display: grid; grid-template-columns: 40px 80px minmax(0, 1fr); gap: var(--primitive-space-3); padding: var(--primitive-space-4); border-bottom: var(--primitive-border-width-thin) solid var(--color-border); background: var(--color-background); }
.pm-backorder-item:last-child { border-bottom: 0; }
.pm-backorder-item.is-below-minimum { background: color-mix(in srgb, var(--color-surface) 58%, var(--color-background)); }
.pm-backorder-item__image { grid-column: 2; grid-row: 1 / span 3; }
.pm-backorder-item__image a { display: grid; min-height: var(--interactive-min-size); place-items: center; }
.pm-backorder-item__image img { width: 78px !important; height: 104px; object-fit: contain; border-radius: var(--cart-item-image-radius); background: var(--product-card-image-background); }
.pm-backorder-item__details { grid-column: 3; grid-row: 1; min-width: 0; }
.pm-backorder-item__details h3 { margin: 0; font-size: var(--primitive-font-size-lg); }
.pm-backorder-item__details h3 a { display: inline-flex; min-height: var(--interactive-min-size); align-items: center; color: var(--color-text-strong); text-decoration-color: var(--color-action); text-underline-offset: 4px; }
.pm-backorder-item__details dl.variation { display: grid; grid-template-columns: auto 1fr; gap: var(--primitive-space-1) var(--primitive-space-2); margin: 0 0 var(--primitive-space-2); color: var(--color-text-muted); font-size: var(--font-size-label); }
.pm-backorder-item__details dl.variation :where(dt, dd, p) { margin: 0; padding: 0; }
.pm-backorder-item__status { display: inline-flex; width: fit-content; min-height: 36px; align-items: center; gap: var(--primitive-space-2); padding: 7px var(--primitive-space-3); margin: 0; border-radius: var(--primitive-radius-full); font-size: var(--font-size-caption); font-weight: var(--font-weight-heading); }
.pm-backorder-item button.pm-backorder-item__status { border: 0; font-family: inherit; text-align: left; cursor: pointer; }
.pm-backorder-item button.pm-backorder-item__status:hover { filter: brightness(.96); }
.pm-backorder-item button.pm-backorder-item__status:focus-visible { outline: var(--primitive-border-width-focus) solid var(--color-focus); outline-offset: 2px; }
.pm-backorder-item.is-below-minimum .pm-backorder-item__status { background: var(--color-error-surface); color: var(--color-error); }
.pm-backorder-item.is-eligible .pm-backorder-item__status { background: var(--color-success-surface); color: var(--color-success); }
.pm-backorder-item__status .dashicons { flex: none; width: var(--primitive-size-icon-sm); height: var(--primitive-size-icon-sm); font-size: var(--primitive-size-icon-sm); }
.pm-backorder-item__quantity, .pm-backorder-item__price { grid-column: 3; display: grid; align-items: center; justify-items: start; }
.pm-backorder-item__price strong { color: var(--color-text-strong); font-size: var(--primitive-font-size-lg); white-space: nowrap; }
.pm-backorder-item.is-below-minimum .pm-backorder-item__price strong { color: var(--color-text-muted); }
.pm-backorder-item__remove { grid-column: 1; grid-row: 1; align-self: center; justify-self: center; }
.pm-stock-alert-slot { display: none; min-height: 36px; align-items: center; gap: var(--primitive-space-2); padding: 0 var(--primitive-space-3); margin-top: var(--primitive-space-3); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-full); background: var(--color-background); color: var(--color-text-muted); font-size: var(--font-size-caption); }
.pm-stock-alert-slot small { padding: 2px 6px; border-radius: var(--primitive-radius-full); background: var(--color-surface); font-size: 10px; font-weight: var(--font-weight-heading); text-transform: uppercase; letter-spacing: .04em; }
.pm-stock-alert-slot[data-pm-stock-alert-ready="true"] { display: inline-flex; }
.cart-collaterals .cart_totals table tr.pm-backorder-exclusion-summary td { max-width: 190px; color: var(--color-error); font-size: var(--font-size-caption); font-weight: var(--font-weight-label); }
.pm-cart-checkout-disabled { display: grid; gap: var(--primitive-space-1); padding: var(--primitive-space-4); border-radius: var(--primitive-radius-control); background: var(--color-warning-surface); color: var(--color-text); }
.pm-cart-checkout-disabled strong { color: var(--color-text-strong); }
.pm-cart-checkout-disabled span { font-size: var(--font-size-label); }
.woocommerce-cart-form table.shop_table { display: block; margin: 0; border: 0; border-radius: 0; background: var(--color-background); }
.woocommerce-cart-form table.shop_table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.woocommerce-cart-form table.shop_table tbody { display: grid; gap: 0; }
.woocommerce-cart-form table.shop_table tr.cart_item { position: relative; display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: var(--primitive-space-2) var(--primitive-space-3); padding: var(--primitive-space-4); border: 0; border-bottom: var(--primitive-border-width-thin) solid var(--color-border); border-radius: 0; background: var(--color-background); }
.woocommerce-cart-form table.shop_table tr.cart_item td { display: block; padding: 0; background: transparent; overflow-wrap: anywhere; }
.woocommerce-cart-form .product-remove { position: absolute; top: var(--primitive-space-3); right: var(--primitive-space-2); z-index: var(--primitive-z-content); }
.woocommerce a.remove { display: grid; place-items: center; width: 36px; height: 36px; border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-full); background: var(--color-background); color: var(--color-text-muted) !important; font-size: var(--primitive-font-size-xl); text-decoration: none; box-shadow: var(--primitive-shadow-low); }
.woocommerce a.remove:hover { border-color: var(--color-error); background: var(--color-error-surface); color: var(--color-error) !important; }
.woocommerce a.remove .dashicons { width: var(--primitive-size-icon-md); height: var(--primitive-size-icon-md); font-size: var(--primitive-size-icon-md); }
.woocommerce-cart-form .product-thumbnail { grid-row: 1 / span 4; }
.woocommerce-cart-form .product-thumbnail a { display: grid; place-items: center; min-height: var(--cart-item-image-size); }
.woocommerce-cart-form .product-thumbnail img { width: 78px !important; height: 104px; aspect-ratio: 3 / 4; object-fit: contain; border-radius: var(--cart-item-image-radius); background: var(--product-card-image-background); }
.woocommerce-cart-form .product-name, .woocommerce-cart-form .product-price, .woocommerce-cart-form .product-quantity, .woocommerce-cart-form .product-subtotal { grid-column: 2; padding-right: var(--primitive-space-8) !important; }
.woocommerce-cart-form .product-name { font-weight: var(--font-weight-heading); }
.woocommerce-cart-form .product-name > a { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); color: var(--color-text-strong); text-decoration-color: var(--color-action); text-underline-offset: 4px; }
.woocommerce-cart-form .product-name dl.variation { display: grid; grid-template-columns: auto 1fr; gap: var(--primitive-space-1) var(--primitive-space-2); margin-top: var(--primitive-space-2); color: var(--color-text-muted); font-size: var(--font-size-label); }
.woocommerce-cart-form .product-name dl.variation :where(dt, dd, p) { margin: 0; padding: 0; }
.pm-cart-line-total { display: inline-grid; justify-items: start; gap: var(--primitive-space-1); min-width: 108px; padding: var(--primitive-space-2) var(--primitive-space-3); border-radius: var(--primitive-radius-control); background: transparent; }
.pm-cart-line-total.is-personal { background: var(--price-personal-background); }
.pm-cart-line-total__current { color: var(--color-text-strong); font-size: var(--primitive-font-size-lg); line-height: 1.2; white-space: nowrap; }
.pm-cart-line-total__base { color: var(--color-text-muted); font-size: var(--font-size-caption); font-weight: var(--font-weight-label); line-height: 1.2; white-space: nowrap; text-decoration-thickness: 1px; }
.woocommerce-cart-form .product-subtotal { color: var(--color-text-strong); font-size: var(--primitive-font-size-lg); font-weight: var(--font-weight-heading); }
.woocommerce-cart-form .product-subtotal:empty { display: none; }
.pm-cart-quantity-stepper { display: flex; align-items: center; width: 148px; max-width: 100%; min-height: var(--interactive-min-size); overflow: hidden; border: var(--primitive-border-width-thin) solid var(--color-border-strong); border-radius: var(--primitive-radius-full); background: var(--color-surface); }
.pm-cart-quantity-stepper__button { position: relative; z-index: 1; display: grid; flex: 0 0 var(--interactive-min-size); place-items: center; width: var(--interactive-min-size); height: var(--interactive-min-size); padding: 0; border: 0; background: transparent; color: var(--color-text-strong); cursor: pointer; }
.pm-cart-quantity-stepper__button:hover { background: var(--color-action); }
.pm-cart-quantity-stepper__button:disabled { color: var(--color-disabled-foreground); cursor: not-allowed; opacity: var(--interactive-disabled-opacity); }
.pm-cart-quantity-stepper__button .dashicons { width: var(--primitive-size-icon-sm); height: var(--primitive-size-icon-sm); font-size: var(--primitive-size-icon-sm); }
.pm-cart-quantity-stepper .quantity { position: relative; z-index: 2; display: block !important; flex: 1 1 60px; width: 60px !important; min-width: 0; margin: 0 !important; }
.woocommerce .pm-cart-quantity-stepper .quantity .qty { display: block; width: 100% !important; min-width: 0; min-height: var(--interactive-min-size); padding: 0 var(--primitive-space-1); border: 0; border-radius: 0; outline: 0; background: transparent; text-align: center; font-variant-numeric: tabular-nums; appearance: textfield; }
.woocommerce .pm-cart-quantity-stepper .quantity .qty::-webkit-inner-spin-button,
.woocommerce .pm-cart-quantity-stepper .quantity .qty::-webkit-outer-spin-button { margin: 0; appearance: none; }
.woocommerce-cart-form .actions { display: none !important; }
.woocommerce-cart-form .coupon { display: none !important; }
.woocommerce-cart-form .actions .button { min-height: var(--interactive-min-size); }
.cart-collaterals { min-width: 0; }
.cart-collaterals .cart_totals { display: flex; flex-direction: column; padding: var(--primitive-space-5); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); background: var(--color-background); box-shadow: var(--checkout-summary-shadow); }
.cart-collaterals .cart_totals h2 { order: 3; width: 100%; margin: var(--primitive-space-3) 0 0; padding-bottom: var(--primitive-space-3); border-bottom: var(--primitive-border-width-thin) solid var(--color-border); font-size: var(--primitive-font-size-2xl); }
.cart-collaterals .cart_totals table { order: 4; display: block; width: 100%; margin: 0; }
.cart-collaterals .cart_totals table tbody { display: grid; gap: 0; }
.cart-collaterals .cart_totals table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--primitive-space-3); align-items: start; border-bottom: var(--primitive-border-width-thin) solid var(--color-border); border-radius: 0; background: transparent; }
.cart-collaterals .cart_totals table tr.shipping { display: none; }
.cart-collaterals .cart_totals table tr.cart-subtotal { display: none; }
.woocommerce-cart .cart-collaterals .cart_totals table tr.cart-discount { display: none; }
.cart-collaterals .cart_totals table :where(th, td) { display: block; width: auto; padding: var(--primitive-space-3) 0; border: 0 !important; border-radius: 0 !important; background: transparent !important; overflow-wrap: normal; word-break: normal; }
.cart-collaterals .cart_totals table th { color: var(--color-text-strong); font-weight: var(--font-weight-label); }
.cart-collaterals .cart_totals table td { text-align: right; }
.cart-collaterals .cart_totals table tr.shipping td { padding-top: 0; text-align: left; }
.cart-collaterals .cart_totals table .order-total { border-bottom: 0; }
.cart-collaterals .cart_totals table .order-total :where(th, td) { padding-top: var(--primitive-space-4); padding-bottom: var(--primitive-space-2); font-size: var(--primitive-font-size-xl); }
.cart-collaterals .cart_totals table .order-total td { font-size: var(--primitive-font-size-2xl); }
.cart-collaterals .cart_totals table tr.pm-cart-base-summary { background: transparent; }
.cart-collaterals .cart_totals table tr.pm-cart-base-summary th { white-space: nowrap; }
.cart-collaterals .cart_totals table tr.pm-backorder-exclusion-summary th { white-space: nowrap; }
.cart-collaterals .cart_totals table tr.pm-cart-base-summary td { color: var(--color-text-muted); text-decoration: line-through; }
.cart-collaterals .cart_totals table tr.pm-cart-discount-summary { background: transparent !important; }
.cart-collaterals .cart_totals table tr.pm-cart-discount-summary :where(th, td) { background: transparent !important; }
.cart-collaterals .cart_totals table tr.pm-cart-discount-summary td { color: var(--color-error); font-weight: var(--font-weight-heading); white-space: nowrap; }
.woocommerce-cart .wc-proceed-to-checkout { position: static; order: 1; padding: 0 0 var(--primitive-space-3); background: transparent; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; align-items: center; justify-content: center; min-height: var(--button-height-checkout); margin: 0; border-radius: var(--button-radius); background: var(--color-action); color: var(--color-action-foreground); font-size: var(--primitive-font-size-base); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:is(:hover, :focus-visible, :active, :visited) { background: var(--color-action) !important; color: var(--color-action-foreground) !important; transform: none; }
.pm-cart-recommendations { grid-column: 1 / -1; min-width: 0; margin-top: clamp(var(--primitive-space-8), 5vw, var(--primitive-space-16)); }
.pm-cart-recommendations__header { display: flex; align-items: end; justify-content: space-between; gap: var(--primitive-space-4); margin-bottom: var(--primitive-space-5); }
.pm-cart-recommendations__header :where(p, h2) { margin: 0; }
.pm-cart-recommendations__header h2 { margin-top: var(--primitive-space-2); font-size: var(--font-size-section-title); }
.pm-cart-recommendations__header .pm-text-link { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); white-space: nowrap; }
.pm-cart-recommendations ul.products { margin-bottom: 0; }
.woocommerce-cart .pm-empty-cart { grid-column: 1 / -1; min-height: 320px; padding: clamp(var(--primitive-space-6), 6vw, var(--primitive-space-12)); border-color: var(--color-border); background: var(--color-background); }
.pm-empty-cart h2 { max-width: 680px; margin: var(--primitive-space-2) 0 var(--primitive-space-4); font-size: var(--font-size-section-title); }
.pm-empty-cart p:not(.pm-eyebrow) { max-width: 620px; margin: 0 0 var(--primitive-space-6); color: var(--color-text-muted); }
.pm-empty-cart .pm-button { min-height: var(--button-height-default); padding-inline: var(--button-padding-x); }
.woocommerce-cart .return-to-shop { display: none; }
.woocommerce .shipping-calculator-button { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); }

/* Classic checkout and delivery. */
.woocommerce-checkout .woocommerce { min-width: 0; }
.woocommerce-checkout .woocommerce-info:first-of-type { margin-bottom: var(--primitive-space-3); }
.woocommerce-checkout form.checkout_coupon { margin-block: var(--primitive-space-2) var(--primitive-space-4); padding: var(--primitive-space-4); }
.pm-test-order-result { margin-top: var(--primitive-space-5); }
.woocommerce-checkout form.checkout { min-width: 0; }
.woocommerce-checkout form.checkout[aria-busy="true"] { opacity: .86; }
.woocommerce-checkout .col2-set, .woocommerce-checkout .col2-set .col-1 { float: none; width: 100%; }
.woocommerce-checkout .col2-set .col-2 { display: none; }
.woocommerce form .form-row { float: none; width: 100%; margin-bottom: var(--primitive-space-4); }
.woocommerce form .form-row label { display: block; font-size: var(--font-size-label); font-weight: var(--font-weight-label); }
.woocommerce form .form-row .optional { color: var(--color-text-muted); font-weight: var(--font-weight-body); }
.pm-delivery-picker, .pm-heavy-notice { padding: var(--heavy-order-padding); border-radius: var(--delivery-panel-radius); background: var(--delivery-panel-background); }
.pm-delivery-picker h3, .pm-heavy-notice h3 { margin-top: 0; font-size: var(--primitive-font-size-2xl); }
.pm-delivery-picker > p:not(.pm-eyebrow), .pm-heavy-notice p { color: var(--color-text-muted); }
.pm-heavy-notice { background: var(--heavy-order-background); color: var(--heavy-order-foreground); }
.pm-heavy-notice p { color: inherit; }
.woocommerce ul#shipping_method { display: grid; gap: var(--delivery-gap); }
.woocommerce ul#shipping_method li { display: grid; grid-template-columns: var(--interactive-min-size) minmax(0, 1fr); align-items: center; min-height: var(--interactive-min-size); }
.woocommerce ul#shipping_method input { width: var(--primitive-space-5); height: var(--primitive-space-5); margin: 0; }
.woocommerce-checkout-review-order { padding: var(--checkout-summary-padding); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--checkout-summary-radius); background: var(--checkout-summary-background); box-shadow: var(--checkout-summary-shadow); }
.woocommerce-checkout-review-order table.shop_table { width: 100%; table-layout: fixed; }
.woocommerce-checkout-review-order table.shop_table :where(th, td) { overflow-wrap: anywhere; }
.woocommerce-checkout #payment { border-radius: var(--delivery-panel-radius); background: var(--delivery-panel-background); }
.woocommerce-checkout #payment ul.payment_methods { padding: var(--primitive-space-4); }
.woocommerce-checkout #payment ul.payment_methods li { min-height: var(--interactive-min-size); }
.woocommerce-checkout #payment #place_order { position: sticky; bottom: 0; z-index: var(--primitive-z-sticky); min-height: var(--button-height-checkout); margin: 0; }
.pm-field-error { display: block; margin-top: var(--primitive-space-1); color: var(--color-error); font-size: var(--font-size-caption); }

@media (max-width: 767px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .woocommerce-checkout .woocommerce-info { padding-block: 12px; font-size: var(--font-size-caption); }
  .woocommerce-checkout form.checkout_coupon { padding: var(--primitive-space-3); }
  .woocommerce div.product div.summary { order: initial; padding: var(--primitive-space-4); }
  .woocommerce div.product div.images .woocommerce-product-gallery__image { max-height: min(56vh, 420px); }
  .woocommerce div.product .product_title { font-size: clamp(30px, 10vw, 42px); }
}
.woocommerce .blockUI.blockOverlay::before { width: var(--primitive-space-7); height: var(--primitive-space-7); }
.woocommerce-cart .woocommerce-cart-form .blockUI.blockOverlay::before { display: none; }

/* Notices and global states. */
.woocommerce-message, .woocommerce-info, .woocommerce-error { min-height: var(--interactive-min-size); padding: var(--notice-padding-y) var(--notice-padding-x); padding-left: calc(var(--notice-padding-x) + var(--primitive-space-6)); border: 0; border-left: var(--notice-accent-width) solid var(--color-info); border-radius: var(--notice-radius); background: var(--color-info-surface); color: var(--color-text); overflow-wrap: anywhere; }
.woocommerce-message { border-left-color: var(--color-success); background: var(--color-success-surface); }
.woocommerce-error { border-left-color: var(--color-error); background: var(--color-error-surface); }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { top: var(--notice-padding-y); left: var(--notice-padding-x); }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button { float: none; min-height: var(--interactive-min-size); margin: var(--primitive-space-2) var(--primitive-space-2) var(--primitive-space-2) 0; }
.woocommerce-info .showcoupon, .woocommerce-privacy-policy-link { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); }

/* Account and order tables. */
.woocommerce-account .pm-entry { max-width: none; }
.woocommerce-account .pm-entry__header { max-width: none; }
.woocommerce-account .pm-entry__content { max-width: none; }
.woocommerce-account .pm-entry__content > .woocommerce { max-width: none; }
.woocommerce-account .woocommerce { display: grid; gap: var(--primitive-space-5); }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: 100%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--primitive-space-2); padding: var(--primitive-space-2); margin: 0; overflow: visible; border-color: var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-surface); }
.woocommerce-account .woocommerce-MyAccount-navigation li, .woocommerce-account .woocommerce-MyAccount-navigation li + li { min-width: 0; border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-width: 0; min-height: var(--interactive-min-size); padding: var(--primitive-space-2) var(--primitive-space-3); border-radius: var(--primitive-radius-control); color: var(--color-text); font-weight: var(--font-weight-label); text-decoration: none; overflow-wrap: anywhere; transition: background var(--motion-duration-fast) var(--motion-easing-standard), color var(--motion-duration-fast) var(--motion-easing-standard); }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--color-surface); color: var(--color-text-strong); }
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible { outline: var(--primitive-border-width-focus) solid var(--color-focus); outline-offset: var(--focus-offset); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--color-action); color: var(--color-action-foreground); }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; min-width: 0; padding: var(--primitive-space-5); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); background: var(--color-background); box-shadow: var(--primitive-shadow-low); }
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-content :where(p, li) { max-width: var(--layout-prose); }
.woocommerce-account .woocommerce-MyAccount-content :where(h2, h3) { color: var(--color-text-strong); letter-spacing: var(--font-tracking-heading); }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table { overflow: hidden; border-color: var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-background); }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table :where(th, td) { padding: var(--primitive-space-3) var(--primitive-space-4); border-color: var(--color-border); }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th { background: var(--color-surface); color: var(--color-text-strong); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
.woocommerce-account .woocommerce-MyAccount-content fieldset { padding: var(--primitive-space-5); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-surface); }
.woocommerce-account .woocommerce-MyAccount-content .button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--button-height-default); padding-inline: var(--primitive-space-5); border: 0; border-radius: var(--button-radius); background: var(--color-action); color: var(--color-action-foreground); font-weight: var(--font-weight-heading); text-decoration: none; }
.woocommerce-account .password-input .show-password-input { right: var(--primitive-space-1); width: var(--interactive-min-size); min-width: var(--interactive-min-size); height: var(--interactive-min-size); min-height: var(--interactive-min-size); }
.woocommerce-account form.woocommerce-EditAccountForm { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-4); margin: 0; }
.woocommerce-account form.woocommerce-EditAccountForm > :where(.form-row, fieldset, .pm-profile-header, .pm-profile-address, p:has(.woocommerce-Button[name="save_account_details"])) { width: 100%; max-width: none; margin: 0; float: none; }
.woocommerce-account form.woocommerce-EditAccountForm .form-row { width: 100%; max-width: none; box-sizing: border-box; }
.woocommerce-account form.woocommerce-EditAccountForm .woocommerce-input-wrapper { display: block; width: 100%; }
.woocommerce-account form.woocommerce-EditAccountForm :where(input.input-text, select, textarea) { width: 100%; box-sizing: border-box; }
.woocommerce-account form.woocommerce-EditAccountForm > .clear { display: none; }
.woocommerce-account form.woocommerce-EditAccountForm > .pm-profile-header { order: 0; }
.woocommerce-account form.woocommerce-EditAccountForm > :is(.form-row-first, .form-row-last) { order: 10; }
.woocommerce-account form.woocommerce-EditAccountForm > #billing_patronymic_field { order: 20; }
.woocommerce-account form.woocommerce-EditAccountForm > .form-row:has(#account_display_name) { order: 30; }
.woocommerce-account form.woocommerce-EditAccountForm > #billing_phone_field { order: 40; }
.woocommerce-account form.woocommerce-EditAccountForm > .form-row:has(#account_email) { order: 50; }
.woocommerce-account form.woocommerce-EditAccountForm > .pm-profile-address--delivery { order: 60; }
.pm-profile-header { display: grid; gap: var(--primitive-space-2); padding-bottom: var(--primitive-space-2); }
.pm-profile-header :where(h2, p) { max-width: none !important; margin: 0; }
.pm-profile-header h2 { font-size: clamp(26px, 3vw, 36px); }
.pm-profile-header > p:last-child { color: var(--color-text-muted); }
.pm-profile-address { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-4); padding: var(--primitive-space-5); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-surface); }
.pm-profile-address > header { display: grid; gap: var(--primitive-space-1); }
.pm-profile-address > header :where(h3, p) { max-width: none !important; margin: 0; }
.pm-profile-address > header p { color: var(--color-text-muted); font-size: var(--font-size-label); }
.pm-profile-address .form-row { width: 100%; margin: 0; float: none; }
.pm-profile-address--delivery { background: var(--color-surface); }
.pm-profile-address .select2-container { width: 100% !important; }
.pm-profile-address .select2-container .select2-selection--single { display: flex; min-height: var(--interactive-comfortable-size); align-items: center; border-color: var(--color-border); border-radius: var(--primitive-radius-control); background: var(--color-background); }
.pm-profile-address .select2-container .select2-selection__rendered { padding-inline: var(--primitive-space-4); }
.pm-profile-address .select2-container .select2-selection__arrow { top: 50%; right: var(--primitive-space-2); transform: translateY(-50%); }
.woocommerce-account form.woocommerce-EditAccountForm fieldset { position: relative; display: grid; order: 70; gap: var(--primitive-space-4); margin: 0; padding-top: calc(var(--primitive-space-5) + 62px); }
.woocommerce-account form.woocommerce-EditAccountForm fieldset legend { position: absolute; top: var(--primitive-space-5); right: var(--primitive-space-5); left: var(--primitive-space-5); width: auto; margin: 0; padding: 0; color: var(--color-text-strong); font-size: 20px; font-weight: var(--font-weight-heading); line-height: 1.25; }
.woocommerce-account form.woocommerce-EditAccountForm fieldset legend::after { display: block; margin-top: var(--primitive-space-1); content: "Оставьте поля пустыми, если не хотите менять пароль."; color: var(--color-text-muted); font-size: var(--font-size-label); font-weight: 400; line-height: 1.45; }
.woocommerce-account form.woocommerce-EditAccountForm fieldset .form-row { margin: 0; }
.woocommerce-account form.woocommerce-EditAccountForm > p:has(.woocommerce-Button[name="save_account_details"]) { order: 80; }
.pm-account-level { grid-template-columns: minmax(0, 1fr); gap: var(--loyalty-gap); padding: var(--primitive-space-5); border-radius: var(--loyalty-radius); background: var(--loyalty-background); color: var(--loyalty-foreground); }
.pm-account-level > div { padding: var(--primitive-space-3); border: var(--primitive-border-width-thin) solid var(--primitive-color-utility-white-35); border-radius: var(--primitive-radius-control); }
.pm-account-level a { display: inline-flex; align-items: center; min-height: var(--interactive-min-size); color: var(--loyalty-accent); }
.pm-entry__content > :where(.pm-loyalty-overview, .pm-loyalty-level-list, .pm-loyalty-rules) { max-width: none; }
.pm-loyalty-overview { display: grid; gap: var(--primitive-space-6); }
.pm-loyalty-overview__copy h2, .pm-loyalty-level-list h2, .pm-loyalty-rules h2 { max-width: var(--layout-content); margin: 0 0 var(--primitive-space-4); font-size: var(--font-size-section-title); line-height: var(--font-line-height-heading); letter-spacing: var(--font-tracking-heading); }
.pm-loyalty-overview__copy > p:last-child { color: var(--color-text-muted); }
.pm-loyalty-status { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-3); padding: var(--primitive-space-5); border-radius: var(--loyalty-radius); background: var(--loyalty-background); color: var(--loyalty-foreground); }
.pm-loyalty-status > div:not(.pm-loyalty-progress) { display: grid; gap: var(--primitive-space-1); padding: var(--primitive-space-4); border: var(--primitive-border-width-thin) solid rgb(255 255 255 / 22%); border-radius: var(--primitive-radius-control); }
.pm-loyalty-status span, .pm-loyalty-status small { color: rgb(255 255 255 / 72%); font-size: var(--font-size-label); }
.pm-loyalty-status strong { color: var(--loyalty-accent); font-size: var(--primitive-font-size-2xl); }
.pm-loyalty-progress { grid-column: 1 / -1; height: var(--primitive-space-3); overflow: hidden; border-radius: var(--primitive-radius-full); background: rgb(255 255 255 / 20%); }
.pm-loyalty-progress i { display: block; width: var(--pm-progress); height: 100%; background: var(--loyalty-accent); }
.pm-loyalty-level-list, .pm-loyalty-rules { margin-top: var(--space-section-mobile); }
.pm-loyalty-level-grid { display: grid; gap: var(--layout-grid-gap-mobile); }
.pm-loyalty-level-grid article { display: grid; gap: var(--primitive-space-2); padding: var(--primitive-space-5); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-surface); }
.pm-loyalty-level-grid article.is-current { border-color: var(--color-text-strong); box-shadow: inset 0 var(--primitive-space-2) 0 var(--color-action); }
.pm-loyalty-level-grid h3 { margin: 0; font-size: var(--primitive-font-size-xl); }
.pm-loyalty-level-grid article > span, .pm-loyalty-level-grid small { color: var(--color-text-muted); font-size: var(--font-size-label); }
.pm-loyalty-level-grid article > strong { font-size: var(--primitive-font-size-2xl); }
.pm-loyalty-rules ol { display: grid; gap: var(--primitive-space-3); padding: 0; list-style: none; }
.pm-loyalty-rules li { display: grid; gap: var(--primitive-space-2); padding: var(--primitive-space-5); border-radius: var(--primitive-radius-card); background: var(--color-surface); }
.pm-loyalty-rules li span { color: var(--color-text-muted); }
.pm-loyalty-example { padding: var(--primitive-space-5); border-left: var(--primitive-space-2) solid var(--color-action); border-radius: var(--primitive-radius-control); background: var(--color-surface); }
.pm-progress { height: var(--primitive-space-3); background: var(--color-border); }
.woocommerce-account table.shop_table { width: 100%; }
.woocommerce-account .woocommerce-table__line-item .wc-item-meta + .pm-order-review-open,
.woocommerce-account .woocommerce-table__line-item .pm-order-review-open { display: inline-flex; align-items: center; justify-content: center; min-height: var(--interactive-min-size); padding-inline: var(--primitive-space-4); margin-top: var(--primitive-space-3); border: var(--primitive-border-width-thin) solid var(--color-action); border-radius: var(--primitive-radius-full); background: var(--color-background); color: var(--color-text-strong); font-weight: var(--font-weight-heading); text-decoration: none; }
.pm-order-review-status { display: inline-flex; align-items: center; min-height: 36px; padding-inline: var(--primitive-space-3); margin-top: var(--primitive-space-3); border-radius: var(--primitive-radius-full); background: var(--color-success-surface); color: var(--state-success-foreground, #287a3d); font-size: var(--font-size-caption); font-weight: var(--font-weight-label); }
.pm-order-review { width: min(620px, calc(100% - 24px)); max-height: calc(100dvh - 24px); padding: 0; overflow: auto; border: 0; border-radius: var(--primitive-radius-panel); background: var(--color-background); color: var(--color-text); box-shadow: var(--primitive-shadow-high); }
.pm-order-review[open] { position: fixed; inset: 50% auto auto 50%; margin: 0; transform: translate(-50%, -50%); }
.pm-order-review::backdrop { background: rgb(32 30 31 / 62%); backdrop-filter: blur(3px); }
.pm-order-review__form { display: grid; gap: var(--primitive-space-5); padding: clamp(20px, 5vw, 36px); margin: 0; }
.pm-order-review__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--primitive-space-4); }
.pm-order-review__product { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: var(--primitive-space-3); min-width: 0; }
.pm-order-review__product img { display: block; width: 64px; height: 64px; object-fit: contain; border-radius: var(--primitive-radius-control); background: var(--color-surface); }
.pm-order-review__product div { display: grid; min-width: 0; gap: var(--primitive-space-1); }
.pm-order-review__product span { color: var(--color-text-muted); font-size: var(--font-size-caption); }
.pm-order-review__product strong { color: var(--color-text-strong); font-size: var(--primitive-font-size-lg); line-height: 1.35; overflow-wrap: anywhere; }
.pm-order-review__close { display: grid; flex: none; width: var(--interactive-min-size); height: var(--interactive-min-size); padding: 0; place-items: center; border: 0; border-radius: var(--primitive-radius-full); background: var(--color-surface); color: var(--color-text-muted); font-size: 30px; line-height: 1; cursor: pointer; }
.pm-order-review__close:hover { background: var(--color-border); color: var(--color-text-strong); }
.pm-order-review__close:focus-visible,
.pm-order-review__stars input:focus-visible + label,
.pm-order-review__comment textarea:focus-visible,
.pm-order-review__anonymous input:focus-visible + i { outline: var(--primitive-border-width-focus) solid var(--color-focus); outline-offset: var(--focus-offset); }
.pm-order-review__rating { padding: 0; margin: 0; border: 0; }
.pm-order-review__rating legend,
.pm-order-review__comment > span { margin-bottom: var(--primitive-space-2); color: var(--color-text-strong); font-weight: var(--font-weight-heading); }
.pm-order-review__stars { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: var(--primitive-space-2); padding: var(--primitive-space-3) var(--primitive-space-4); border-radius: var(--primitive-radius-control); background: var(--color-surface); }
.pm-order-review__stars input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pm-order-review__stars label { display: grid; width: var(--interactive-min-size); height: var(--interactive-min-size); place-items: center; border-radius: var(--primitive-radius-full); color: var(--color-border-strong); font-size: 32px; line-height: 1; cursor: pointer; }
.pm-order-review__stars label:hover,
.pm-order-review__stars label:hover ~ label,
.pm-order-review__stars input:checked ~ label { color: #f5a400; }
.pm-order-review__comment { display: grid; }
.pm-order-review__comment textarea { width: 100%; min-height: 140px; padding: var(--primitive-space-4); resize: vertical; border: var(--primitive-border-width-thin) solid var(--color-border-strong); border-radius: var(--primitive-radius-control); background: var(--color-background); color: var(--color-text); font: inherit; }
.pm-order-review__anonymous { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--primitive-space-3); min-height: var(--interactive-comfortable-size); padding: var(--primitive-space-3) var(--primitive-space-4); border-radius: var(--primitive-radius-control); background: var(--color-surface); cursor: pointer; }
.pm-order-review__anonymous input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pm-order-review__anonymous i { position: relative; width: 46px; height: 26px; border-radius: var(--primitive-radius-full); background: var(--color-border-strong); transition: background var(--motion-duration-fast) var(--motion-easing-standard); }
.pm-order-review__anonymous i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: var(--primitive-radius-full); background: var(--color-background); box-shadow: var(--primitive-shadow-low); transition: transform var(--motion-duration-fast) var(--motion-easing-standard); }
.pm-order-review__anonymous input:checked + i { background: var(--color-text-strong); }
.pm-order-review__anonymous input:checked + i::after { transform: translateX(20px); }
.pm-order-review__policy { max-width: none !important; margin: 0; color: var(--color-text-muted); font-size: var(--font-size-caption); }
.woocommerce .pm-order-review__submit.button.alt { width: 100%; min-height: var(--button-height-default); border: 0; border-radius: var(--button-radius); background: var(--color-action) !important; color: var(--color-action-foreground) !important; font-weight: var(--font-weight-heading); cursor: pointer; }
.pm-order-review:not([open]) { display: none; }
.pm-reorder-note { display: block; margin-top: var(--primitive-space-2); color: var(--color-text-muted); line-height: var(--font-line-height-body); }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password { max-width: var(--layout-form); padding: var(--primitive-space-5); border-color: var(--color-border); border-radius: var(--primitive-radius-panel); }
.woocommerce-account #customer_login.pm-auth-shell { display: block; width: 100%; max-width: var(--layout-form); margin-inline: auto; }
.pm-auth-panel[hidden] { display: none !important; }
.pm-auth-panel > h2 { margin: 0 0 var(--primitive-space-4); font-size: var(--primitive-font-size-2xl); }
.woocommerce-account .pm-auth-panel form.login, .woocommerce-account .pm-auth-panel form.register { width: 100%; max-width: none; margin: 0; }
.pm-auth-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--primitive-space-3) var(--primitive-space-5); margin-bottom: var(--primitive-space-4); }
.pm-auth-actions .woocommerce-form-login__rememberme { display: inline-flex !important; flex-direction: row; align-items: center; gap: var(--primitive-space-2); margin: 0 !important; white-space: nowrap; }
.pm-auth-actions .woocommerce-form-login__rememberme input[type="checkbox"] { flex: 0 0 auto; width: 20px; min-width: 20px; height: 20px; min-height: 20px; margin: 0; }
.pm-auth-links { display: grid; gap: var(--primitive-space-2); padding-top: var(--primitive-space-4); border-top: var(--primitive-border-width-thin) solid var(--color-border); }
.pm-auth-register-link, .pm-auth-back-link { color: var(--color-text-muted); }
.pm-auth-back-link { margin: var(--primitive-space-3) 0 0; }
.pm-auth-link { display: inline-flex; align-items: center; width: fit-content; min-height: var(--interactive-min-size); padding: 0; border: 0; background: transparent; color: var(--color-text); font: inherit; text-decoration: underline; text-decoration-color: var(--color-action); text-underline-offset: .2em; cursor: pointer; }
.pm-auth-link:hover, .pm-auth-link:focus-visible { color: var(--color-action-strong); }
.pm-auth-help { color: var(--color-text-muted); }

/* Search and generic content. */
.pm-search-results { display: grid; gap: var(--layout-grid-gap-mobile); }
.pm-search-result { padding: var(--primitive-space-5); border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-card); background: var(--color-background); }
.pm-search-result__type { margin: 0; color: var(--color-text-muted); font-size: var(--font-size-caption); font-weight: var(--font-weight-label); text-transform: uppercase; letter-spacing: var(--font-tracking-label); }
.pm-search-result h2 { margin: var(--primitive-space-2) 0; }
.pm-search-result h2 a { display: inline-flex; min-height: var(--interactive-min-size); align-items: center; }

/* WooCommerce site-visibility screen uses the same brand foundations. */
.wp-block-woocommerce-coming-soon { min-height: calc(100dvh - var(--header-height-mobile)); background: var(--color-action); color: var(--color-text); font-family: var(--font-family); }
.wp-block-woocommerce-coming-soon :where(h1, h2, h3, p, a, button) { font-family: inherit !important; }
.wp-block-woocommerce-coming-soon h1 { max-width: var(--layout-content); margin-inline: auto; font-size: var(--font-size-display) !important; line-height: var(--font-line-height-display); letter-spacing: var(--font-tracking-display); }
.wp-block-woocommerce-coming-soon p { max-width: var(--layout-prose); margin-inline: auto; }
.wp-block-woocommerce-coming-soon :where(a, button) { min-height: var(--interactive-min-size); }

@media (max-width: 359px) {
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-level-cards { grid-template-columns: minmax(0, 1fr); }
  .pm-mobile-purchase { grid-template-columns: minmax(0, 1fr); }
  .pm-mobile-purchase__button { width: 100%; }
}

@media (max-width: 599px) {
  .pm-hero__media::after { background: linear-gradient(180deg, rgb(32 30 31 / 72%) 0%, rgb(32 30 31 / 80%) 56%, rgb(32 30 31 / 88%) 100%); }
  .pm-hero__background-video { object-position: 56% center; }
  .pm-hero__grid { gap: var(--primitive-space-2, 8px); min-height: calc(100svh - var(--header-height-mobile, 72px)); padding-block: var(--primitive-space-10, 40px) var(--primitive-space-6, 24px); }
  .pm-hero .pm-eyebrow { margin-bottom: var(--primitive-space-3-5, 14px); }
  .pm-hero h1 { font-size: var(--font-size-display, clamp(2.625rem, 7vw, 5.5rem)); line-height: var(--font-line-height-display, .96); letter-spacing: var(--font-tracking-display, -.04em); }
  .pm-hero__lead { margin: var(--primitive-space-5, 20px) 0 var(--primitive-space-4, 16px); }
  .pm-hero__actions { gap: var(--primitive-space-3, 12px) var(--primitive-space-4, 16px); margin-top: var(--primitive-space-5, 20px); }
  .pm-hero__proof { padding-top: var(--primitive-space-4, 16px); margin-top: var(--primitive-space-4, 16px); }
  .pm-gallery { padding: 8px; }
  .pm-gallery__dialog { max-height: calc(100dvh - 16px); padding: 14px; border-radius: 18px; }
  .pm-gallery__header { align-items: center; }
  .pm-gallery__header .pm-eyebrow { display: none; }
  .pm-gallery__stage img { max-height: 68dvh; }
  .pm-contact-form .pm-button { width: 100%; }
  .pm-article__header { padding-bottom: var(--primitive-space-8); }
  .pm-catalog-preview ul.products.pm-product-grid { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--primitive-space-2); }
  .pm-catalog-preview ul.products.pm-product-grid li.product, .woocommerce ul.products li.product, ul.products li.product { padding: var(--primitive-space-2); }
  .pm-catalog-preview ul.products.pm-product-grid li.product a img, .woocommerce ul.products li.product a img, ul.products li.product a img { margin-bottom: var(--primitive-space-2); }
  .pm-catalog-preview ul.products.pm-product-grid li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .woocommerce-loop-product__title { margin-bottom: var(--primitive-space-2); font-size: clamp(14px, 4vw, 16px); }
  .pm-card-summary { grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-1); margin-block: var(--primitive-space-2); }
  .pm-card-summary__item { display: flex; align-items: center; justify-content: space-between; gap: var(--primitive-space-1); padding: 6px var(--primitive-space-2); }
  .pm-card-summary__item--stock { justify-content: flex-start; }
  .pm-card-summary__item > span { font-size: 11px; }
  .pm-card-summary__item > strong { font-size: 12px; }
  .pm-card-stock { gap: 4px; white-space: nowrap; }
  .pm-card-stock::before { width: 6px; height: 6px; }
  .pm-price-block--card .pm-price-block__primary { font-size: clamp(19px, 5vw, 24px); }
  .woocommerce ul.products li.product .button { padding-inline: var(--primitive-space-1); font-size: 12px; }
  .woocommerce div.product div.images { margin-bottom: var(--primitive-space-5); }
  body.single-product div.product div.images .woocommerce-product-gallery__image {
    height: auto;
    max-height: none !important;
    aspect-ratio: auto;
  }
  body.single-product div.product div.images .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto !important;
    aspect-ratio: auto;
    object-fit: contain !important;
  }
  body.single-product div.product div.images.woocommerce-product-gallery > .flex-control-thumbs,
  .woocommerce-product-gallery.pm-product-gallery--mobile > .flex-control-thumbs,
  .woocommerce-product-gallery > ol.flex-control-nav.flex-control-thumbs[hidden] { display: none !important; }
  body.single-product div.product div.images.woocommerce-product-gallery > .flex-viewport {
    touch-action: pan-y;
    cursor: grab;
  }
  body.single-product div.product div.images.woocommerce-product-gallery > .flex-viewport:active { cursor: grabbing; }
  body.single-product div.product div.images.woocommerce-product-gallery .woocommerce-product-gallery__wrapper { user-select: none; }
  .woocommerce div.product div.summary { padding: var(--primitive-space-4); }
}

@media (min-width: 600px) {
  body.single-product div.product div.images.woocommerce-product-gallery {
    display: grid;
    width: 100%;
    max-width: 580px;
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: start;
    column-gap: 12px;
    justify-self: center;
  }
  body.single-product div.product div.images.woocommerce-product-gallery > .flex-viewport,
  body.single-product div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
  }
  body.single-product div.product div.images.woocommerce-product-gallery .woocommerce-product-gallery__image {
    max-height: none;
    aspect-ratio: 3 / 4;
  }
  body.single-product div.product div.images.woocommerce-product-gallery > .flex-control-thumbs {
    display: grid;
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 8px;
    max-height: 680px;
    padding: 0 3px 0 0;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--color-border-strong) transparent;
  }
  body.single-product div.product div.images.woocommerce-product-gallery > .flex-control-thumbs li {
    width: 100% !important;
    aspect-ratio: 3 / 4;
    padding: 0;
    margin: 0 !important;
    overflow: hidden;
    float: none !important;
  }
  body.single-product div.product div.images.woocommerce-product-gallery > .flex-control-thumbs img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 4;
    object-fit: contain;
    border: 2px solid transparent;
    border-radius: var(--primitive-radius-sm);
    background: var(--product-card-image-background);
    cursor: pointer;
    opacity: .72;
    transition: border-color var(--motion-duration-fast) var(--motion-easing-standard), opacity var(--motion-duration-fast) var(--motion-easing-standard);
  }
  body.single-product div.product div.images.woocommerce-product-gallery > .flex-control-thumbs img:hover,
  body.single-product div.product div.images.woocommerce-product-gallery > .flex-control-thumbs img.flex-active {
    border-color: var(--color-action);
    opacity: 1;
  }
  .pm-cart-link { width: auto; padding-inline: var(--primitive-space-3); gap: var(--primitive-space-2); }
  .pm-contact__channels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-contact-channel--store { grid-column: 1 / -1; }
  .pm-cart-label { display: inline; font-size: var(--font-size-label); }
  .pm-process-steps, .pm-service-links__grid, .pm-product-services, .pm-search-results { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--layout-grid-gap-tablet); }
  .pm-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce .woocommerce-ordering { float: right; }
  .woocommerce .woocommerce-ordering select { width: auto; min-width: var(--layout-summary); }
  .woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
  .pm-product-specs dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-product-specs dd { text-align: right; }
  .pm-account-level { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pm-material-guide__grid, .pm-loyalty-level-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pm-content-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-loyalty-status { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--layout-grid-gap-tablet); }
  .pm-blog-featured__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-blog-card--lead { grid-column: 1 / -1; }
  .pm-home-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-delivery-options__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-payment-options__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pm-delivery-options__grid--carriers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pm-delivery-options__grid--carriers .pm-delivery-option h3 { min-height: 2.16em; }
}

@media (min-width: 768px) {
  .woocommerce-account form.woocommerce-EditAccountForm { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce-account form.woocommerce-EditAccountForm > :where(.pm-profile-header, .form-row-wide, .pm-profile-address, fieldset, p:has(.woocommerce-Button[name="save_account_details"])) { grid-column: 1 / -1; }
  .woocommerce-account form.woocommerce-EditAccountForm > .form-row-first { grid-column: 1; }
  .woocommerce-account form.woocommerce-EditAccountForm > .form-row-last { grid-column: 2; }
  .pm-profile-address { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-profile-address > :where(header, .form-row-wide) { grid-column: 1 / -1; }
  .woocommerce div.product { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  .woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells, .pm-product-documents, .pm-product-services { grid-column: 1 / -1; }
  .woocommerce-cart-form { padding: 0; }
  .woocommerce-cart-form table.shop_table { display: block; }
  .woocommerce-cart-form table.shop_table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .woocommerce-cart-form table.shop_table tbody { display: grid; }
  .woocommerce-cart-form table.shop_table tr.cart_item { display: grid; grid-template-columns: 40px 90px minmax(180px, 1fr) minmax(124px, 150px) 148px; gap: var(--primitive-space-2) var(--primitive-space-4); align-items: center; padding: var(--primitive-space-5) var(--primitive-space-4); }
  .woocommerce-cart-form table.shop_table tr.cart_item td { display: block; padding: 0; background: transparent; }
  .woocommerce-cart-form .product-remove { position: static; grid-column: 1; grid-row: 1; align-self: center; transform: none; }
  .woocommerce-cart-form .product-thumbnail { grid-column: 2; grid-row: 1; }
  .woocommerce-cart-form .product-thumbnail img { width: 90px !important; height: 120px; aspect-ratio: 3 / 4; }
  .woocommerce-cart-form .product-name { grid-column: 3; grid-row: 1; padding-right: 0 !important; }
  .woocommerce-cart-form .product-price { grid-column: 4; grid-row: 1; padding-right: 0 !important; }
  .woocommerce-cart-form .product-subtotal { grid-column: 4; grid-row: 2; padding-right: 0 !important; }
  .woocommerce-cart-form .product-quantity { grid-column: 5; grid-row: 1; padding-right: 0 !important; }
  .woocommerce-cart-form .actions { display: none !important; }
  .pm-backorder-item { grid-template-columns: 40px 90px minmax(180px, 1fr) minmax(124px, 150px) 148px; align-items: center; gap: var(--primitive-space-4); padding: var(--primitive-space-5) var(--primitive-space-4); }
  .pm-backorder-item__image { grid-column: 2; grid-row: 1; }
  .pm-backorder-item__image img { width: 90px !important; height: 120px; }
  .pm-backorder-item__details { grid-column: 3; grid-row: 1; }
  .pm-backorder-item__details h3 a { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .pm-backorder-item__price { grid-column: 4; grid-row: 1; }
  .pm-backorder-item__quantity { grid-column: 5; grid-row: 1; justify-self: end; }
  .pm-backorder-item__remove { grid-column: 1; grid-row: 1; }
  .cart-collaterals .cart_totals { position: sticky; top: calc(var(--header-height-desktop) + var(--primitive-space-5)); }
}

@media (min-width: 768px) and (max-width: 899px) {
  body.single-product div.product { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 900px) {
  .woocommerce #reviews { grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); align-items: start; }
  .woocommerce #reviews.pm-reviews-list-only { grid-template-columns: minmax(0, 1fr); }
  .woocommerce #reviews #review_form_wrapper { position: sticky; top: calc(var(--header-height-desktop) + var(--primitive-space-5)); }
  body.single-product div.product {
    grid-template-columns: minmax(400px, 500px) minmax(360px, 500px);
    justify-content: center;
    gap: clamp(28px, 3vw, 44px);
  }
  body.single-product div.product div.images {
    width: 100%;
    max-width: 500px;
    justify-self: end;
  }
  body.single-product div.product div.images .woocommerce-product-gallery__image { max-height: none; }
  body.single-product div.product div.summary {
    width: 100%;
    max-width: 500px;
    padding: var(--primitive-space-5);
    font-size: 15px;
  }
  body.single-product div.product .product_title {
    margin-bottom: var(--primitive-space-4);
    font-size: clamp(34px, 3.2vw, 42px);
  }
  .single-product .pm-product-context { margin-bottom: var(--primitive-space-3); }
  .single-product .pm-product-context > span {
    min-height: 40px;
    font-size: 13px;
  }
  .single-product .pm-product-intro { margin-bottom: var(--primitive-space-3); }
  .single-product .pm-product-intro p { font-size: 15px; }
  body.single-product div.product p.price { margin-block: var(--primitive-space-3); }
  body.single-product div.product form.cart { margin-block: var(--primitive-space-4); }
  .pm-buying-guide, .pm-service-links, .pm-material-guide, .pm-faq, .pm-wholesale, .pm-contact, .pm-home-blog { padding-block: var(--space-section-desktop); }
  .pm-faq__layout { grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); align-items: start; }
  .pm-contact__layout { grid-template-columns: minmax(0, .78fr) minmax(440px, 1fr); gap: clamp(64px, 9vw, 136px); }
  .pm-contact-form { align-self: center; }
  .pm-contact__details { padding-top: var(--primitive-space-5); }
  .pm-article__layout { grid-template-columns: minmax(240px, .42fr) minmax(0, 1fr); gap: clamp(56px, 8vw, 120px); }
  .pm-article__aside { position: sticky; top: calc(var(--header-height-desktop) + var(--primitive-space-5)); }
  .pm-wholesale__panel { grid-template-columns: minmax(0, 1fr) auto; padding-inline: var(--primitive-space-10); }
  .pm-loyalty-overview { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); align-items: start; }
  .pm-blog-hero__layout { grid-template-columns: minmax(0, 1fr) minmax(280px, .38fr); gap: clamp(64px, 9vw, 136px); }
  .pm-blog-featured, .pm-blog-latest { padding-block: var(--space-section-desktop); }
  .pm-blog-featured__grid { grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); grid-template-rows: repeat(2, minmax(0, 1fr)); }
  .pm-blog-card--lead { grid-column: 1; grid-row: 1 / span 2; }
  .pm-blog-card--compact { display: grid; grid-template-columns: minmax(150px, .42fr) minmax(0, 1fr); }
  .pm-blog-card--compact .pm-blog-card__media { height: 100%; min-height: 0; aspect-ratio: auto; }
  .pm-blog-card--compact .pm-blog-card__media.is-placeholder { padding: var(--primitive-space-4); }
  .pm-blog-card--compact .pm-blog-card__placeholder-topic { font-size: var(--primitive-font-size-xl); }
  .pm-blog-card--compact .pm-blog-card__body { padding: var(--primitive-space-5); }
  .pm-blog-card--compact p { display: none; }
  .pm-blog-card--compact :is(h2, h3) { font-size: var(--primitive-font-size-xl); }
  .pm-blog__grid, .pm-home-blog__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pm-home-blog__heading { grid-template-columns: minmax(0, 1fr) auto; }
  .pm-post__content { padding-block: var(--space-section-desktop); }
  .pm-post__footer { grid-template-columns: minmax(0, 1fr) auto; margin-bottom: var(--space-section-desktop); }
  .pm-delivery-options, .pm-payment-options { padding-block: var(--space-section-desktop); }
  .pm-delivery-options__grid { gap: var(--layout-grid-gap-desktop); }
  .pm-delivery-freight { grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); margin-top: var(--layout-grid-gap-desktop); }
  .pm-delivery-freight__media { min-height: 520px; }
  .pm-delivery-cta { padding-bottom: var(--space-section-desktop); }
  .pm-delivery-cta__panel { grid-template-columns: minmax(0, 1fr) auto; }
  .pm-main { padding-bottom: var(--space-section-desktop); }
  .pm-mobile-purchase { display: none !important; }
  .woocommerce-account .woocommerce { grid-template-columns: minmax(220px, .28fr) minmax(0, 1fr); align-items: start; }
  .woocommerce-account .woocommerce > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
  .woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; position: sticky; top: calc(var(--header-height-desktop) + var(--primitive-space-4)); }
  .woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; padding: var(--primitive-space-7); }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-1); overflow: visible; }
  .woocommerce-account .woocommerce-MyAccount-navigation li + li { border-top: 0; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { min-height: var(--interactive-comfortable-size); border-radius: var(--primitive-radius-control); }
  .woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-radius: var(--primitive-radius-control); }
}

@media (min-width: 1200px) {
  body.single-product div.product {
    grid-template-columns: minmax(580px, .9fr) minmax(360px, 1.1fr);
    justify-content: stretch;
  }
  body.single-product div.product div.images.woocommerce-product-gallery {
    max-width: 580px;
    grid-template-columns: 64px minmax(0, 500px);
    grid-template-rows: minmax(0, 660px);
    column-gap: 14px;
    justify-self: start;
  }
  body.single-product div.product div.images.woocommerce-product-gallery .woocommerce-product-gallery__image {
    height: 660px;
    max-height: 660px;
  }
  body.single-product div.product div.images.woocommerce-product-gallery > .flex-control-thumbs {
    gap: 10px;
    max-height: 660px;
    padding: 0 4px 0 0;
  }
  body.single-product div.product div.summary { max-width: none; }
}

@media (min-width: 1024px) {
  .pm-js .pm-filter-toggle { display: none; }
  .pm-js .pm-filter-panel, .pm-filter-panel { position: sticky; inset: auto; top: calc(var(--header-height-desktop) + var(--primitive-space-4)); z-index: var(--primitive-z-content); width: auto; height: auto; padding: var(--primitive-space-4); overflow: visible; border: var(--primitive-border-width-thin) solid var(--color-border); border-radius: var(--primitive-radius-panel); box-shadow: none; visibility: visible; transform: none; transition: none; }
  .pm-filter-panel__header { margin-bottom: var(--primitive-space-5); }
  .pm-filter-close { display: none !important; }
  .pm-filter-grid { grid-template-columns: minmax(0, 1fr); }
  body.woocommerce-shop .pm-woocommerce > .pm-woocommerce-content,
  body.post-type-archive-product .pm-woocommerce > .pm-woocommerce-content,
  body.tax-pm_material .pm-woocommerce > .pm-woocommerce-content,
  body.tax-pm_color .pm-woocommerce > .pm-woocommerce-content,
  body.tax-pm_weight .pm-woocommerce > .pm-woocommerce-content,
  body.tax-pm_packaging .pm-woocommerce > .pm-woocommerce-content,
  body.tax-product_cat .pm-woocommerce > .pm-woocommerce-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 4fr); column-gap: var(--primitive-space-8); align-items: start; }
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce .woocommerce-products-header,
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce .page-title,
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce .woocommerce-products-header { grid-row: 1; }
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce .page-title { grid-row: 1; }
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce .woocommerce-notices-wrapper { grid-row: 2; }
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce .pm-filter-shell { grid-column: 1; grid-row: 3 / span 3; margin: 0; }
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce .woocommerce-result-count { grid-column: 2; grid-row: 3; align-self: center; justify-self: start; margin: 0; }
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce .woocommerce-ordering { grid-column: 2; grid-row: 3; align-self: center; justify-self: end; margin: 0; }
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce ul.products { grid-column: 2; grid-row: 4; margin-top: var(--primitive-space-6); }
  :is(body.woocommerce-shop, body.post-type-archive-product, body.tax-pm_material, body.tax-pm_color, body.tax-pm_weight, body.tax-pm_packaging, body.tax-product_cat) .pm-woocommerce .woocommerce-pagination { grid-column: 2; grid-row: 5; }
  .woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) minmax(var(--layout-summary), .78fr); gap: var(--primitive-space-12); }
  .woocommerce-checkout #order_review { top: calc(var(--header-height-desktop) + var(--primitive-space-7)); }
}

/* Checkout: contact card, delivery map, and compact order summary */
body.woocommerce-checkout { background: var(--pm-surface, #f5f3f0); }
.woocommerce-checkout .pm-main { padding-top: 34px; }
.woocommerce-checkout .pm-entry { max-width: 1280px; }
.woocommerce-checkout .pm-entry > h1 { margin: 4px 0 24px; font-size: clamp(38px, 4vw, 58px); }
.woocommerce-checkout .pm-entry__content > .woocommerce { gap: 18px; }
.woocommerce-checkout .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-checkout .pm-registration-benefit--checkout { width: 100%; max-width: none; box-sizing: border-box; margin: 0 0 2px; }
.pm-checkout-back { display: inline-flex; align-items: center; min-height: 36px; color: var(--pm-dark, #2f2d2b); font-size: 14px; font-weight: 700; text-decoration: underline; text-decoration-color: var(--pm-yellow, #ffd20a); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.woocommerce-checkout .woocommerce-form-login-toggle { display: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle { margin-bottom: 12px; }
.woocommerce-checkout .woocommerce-info, .woocommerce-checkout form.checkout_coupon { border: 1px solid #dedbd6; border-radius: 16px; background: #fff; }
.woocommerce-checkout form.checkout { display: flex; flex-direction: column; gap: 20px; align-items: stretch; }
.woocommerce-checkout #customer_details { order: 1; }
.woocommerce-checkout .pm-checkout-delivery { order: 2; }
.woocommerce-checkout .pm-checkout-payment { order: 3; }
.woocommerce-checkout .pm-checkout-summary-column { order: 4; }
.woocommerce-checkout #customer_details, .pm-checkout-delivery, .pm-checkout-payment, .woocommerce-checkout-review-order { border: 1px solid #dedbd6; border-radius: 24px; background: #fff; }
.woocommerce-checkout #customer_details { padding: clamp(20px, 3vw, 34px); }
.woocommerce-checkout #customer_details h3 { margin: 0 0 20px; font-size: clamp(22px, 2vw, 28px); }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { float: none; width: 100% !important; max-width: none; margin: 0; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper :is(#billing_address_1_field, #billing_email_field) { grid-column: 1 / -1; }
.woocommerce-checkout #billing_country_field { display: none !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .pm-address-only[hidden] { display: none; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .is-conditionally-required .optional { display: none; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .is-conditionally-required label::after { content: " *"; color: #b51f1f; }
.woocommerce-checkout #billing_address_2_field .optional { display: none; }
.woocommerce-checkout .form-row label { margin-bottom: 7px; color: #5f5b57; font-size: 13px; font-weight: 700; }
.woocommerce-checkout .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
.woocommerce-checkout .form-row :where(input.input-text, textarea, .select2-selection) { width: 100%; min-height: 50px; box-sizing: border-box; border: 1px solid #d9d5cf; border-radius: 14px; background: #faf9f7; }
.woocommerce-checkout .form-row input.input-text { padding-inline: 14px; }
.woocommerce-checkout #billing_city_field .select2-container .select2-selection--single { min-height: 50px; border: 1px solid #d9d5cf; border-radius: 14px !important; background: #faf9f7; }
.woocommerce-checkout #billing_city_field .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 42px 0 14px; line-height: 48px; }
.woocommerce-checkout #billing_city_field .select2-container .select2-selection--single .select2-selection__arrow { right: 8px; height: 48px; }
.woocommerce-checkout .woocommerce-account-fields { margin-top: 18px; }
.woocommerce-checkout .woocommerce-account-fields .form-row.create-account { width: 100%; margin: 0; padding: 0; }
.woocommerce-checkout form.checkout .woocommerce-account-fields .form-row.create-account label.woocommerce-form__label-for-checkbox { display: flex; width: 100%; min-height: 54px; box-sizing: border-box; margin: 0; padding: 14px 16px; align-items: center; gap: 12px; border: 1px solid #dedbd6; border-radius: 15px; background: #faf9f7; color: #3b3835; font-size: 14px; font-weight: 750; line-height: 1.4; cursor: pointer; transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.woocommerce-checkout .woocommerce-account-fields label.woocommerce-form__label-for-checkbox:hover { border-color: #b9b4ad; background: #fff; }
.woocommerce-checkout .woocommerce-account-fields label.woocommerce-form__label-for-checkbox:focus-within { border-color: #2f2d2b; box-shadow: 0 0 0 3px rgba(255, 210, 10, .35); }
.woocommerce-checkout .woocommerce-account-fields input#createaccount { flex: 0 0 20px; width: 20px; height: 20px; min-height: 0; margin: 0; accent-color: #ffd20a; cursor: pointer; }
.woocommerce-checkout .woocommerce-account-fields label.woocommerce-form__label-for-checkbox > span { min-width: 0; }
.woocommerce-checkout .woocommerce-account-fields.pm-account-fields--inline { align-self: end; margin-top: 0; }
.woocommerce-checkout form.checkout .woocommerce-account-fields.pm-account-fields--inline label.woocommerce-form__label-for-checkbox { min-height: 50px; padding-block: 12px; }
.pm-checkout-delivery { padding: clamp(20px, 3vw, 34px); }
.pm-checkout-delivery .pm-eyebrow { margin: 0 0 6px; color: #74706b; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pm-checkout-delivery > h2 { margin: 0 0 20px; font-size: clamp(24px, 2.6vw, 34px); }
.pm-delivery-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 26px; }
.pm-delivery-choice--single { grid-template-columns: minmax(0, 1fr); }
.pm-delivery-choice__button { display: flex; min-width: 0; min-height: 76px; padding: 17px 18px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; border: 1px solid #dedbd6; border-radius: 18px; background: #f8f7f5; color: #2f2d2b; text-align: left; cursor: pointer; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.pm-delivery-choice__button:hover { border-color: #b9b4ad; background: #fff; color: #2f2d2b; transform: translateY(-1px); }
.pm-delivery-choice__button.is-active { border-color: #2f2d2b; background: #fff3a7; box-shadow: inset 0 0 0 1px #2f2d2b; }
.pm-delivery-choice__button strong { font-size: 16px; line-height: 1.2; }
.pm-delivery-choice__button span { color: #68635e; font-size: 13px; line-height: 1.4; }
.pm-delivery-mode-panel[hidden] { display: none !important; }
.pm-pickup-toolbar { display: flex; margin-bottom: 14px; align-items: end; justify-content: space-between; gap: 20px; }
.pm-pickup-toolbar h3, .pm-manager-delivery h3 { margin: 0 0 5px; font-size: 21px; }
.pm-pickup-toolbar p, .pm-manager-delivery p { margin: 0; color: #6d6863; font-size: 14px; }
.pm-carrier-filter { display: inline-flex; padding: 4px; align-items: stretch; gap: 4px; border: 1px solid #dfdcd7; border-radius: 15px; background: #f6f4f1; }
.pm-carrier-filter button { display: inline-flex; min-width: 54px; height: 38px; padding: 6px 11px; align-items: center; justify-content: center; border: 0; border-radius: 11px; background: transparent; color: #393633; font-size: 12px; font-weight: 800; cursor: pointer; }
.pm-carrier-filter button:hover, .pm-carrier-filter button.is-active { background: #fff; color: #2f2d2b; box-shadow: 0 2px 10px rgba(34, 31, 28, .08); }
.pm-carrier-filter img { display: block; width: 66px; height: 24px; object-fit: contain; }
.pm-pickup-map { position: relative; z-index: 1; width: 100%; height: 390px; overflow: hidden; border: 1px solid #dad7d1; border-radius: 20px; background: #edf0e8; }
.pm-pickup-map .leaflet-control-zoom a { color: #2f2d2b; }
.pm-pickup-map .leaflet-popup-content-wrapper, .pm-pickup-map .leaflet-popup-tip { box-shadow: 0 16px 36px rgba(36, 32, 27, .18); }
.pm-map-popup { display: grid; gap: 5px; min-width: 210px; color: #2f2d2b; }
.pm-map-popup > strong { font-size: 15px; }
.pm-map-popup > span { font-size: 13px; }
.pm-map-popup > small { color: #726d67; }
.pm-map-popup > button { min-height: 38px; margin-top: 6px; border: 0; border-radius: 11px; background: #ffd20a; color: #2f2d2b; font-weight: 800; cursor: pointer; }
.pm-map-fallback { margin: 10px 0 0; color: #6f6a64; font-size: 13px; }
.pm-pickup-point-list { display: grid; max-height: 250px; margin-top: 14px; padding-right: 4px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; overflow: auto; }
.pm-pickup-point { display: flex; min-width: 0; min-height: 112px; padding: 13px; flex-direction: column; align-items: flex-start; gap: 5px; border: 1px solid #dedbd6; border-radius: 15px; background: #faf9f7; color: #2f2d2b; text-align: left; cursor: pointer; }
.pm-pickup-point:hover { border-color: #aaa49c; background: #fff; color: #2f2d2b; }
.pm-pickup-point.is-selected { border-color: #2f2d2b; background: #fff3a7; box-shadow: inset 0 0 0 1px #2f2d2b; }
.pm-pickup-point__carrier { color: #706b65; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pm-pickup-point strong { font-size: 13px; line-height: 1.35; }
.pm-pickup-point small { margin-top: auto; color: #746f69; font-size: 11px; }
.pm-selected-pickup { display: grid; margin-top: 14px; padding: 15px 17px; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 12px; border: 1px dashed #c8c3bc; border-radius: 15px; background: #faf9f7; }
.pm-selected-pickup.is-selected { border-style: solid; border-color: #d9b900; background: #fff8ca; }
.pm-selected-pickup > span { grid-column: 1 / -1; color: #77716b; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.pm-selected-pickup > strong { font-size: 14px; }
.pm-selected-pickup > small { color: #6d6862; font-size: 12px; text-align: right; }
.pm-integration-mode { margin: 10px 0 0; color: #827c75; font-size: 11px; }
.pm-manager-delivery { padding: 22px; border: 1px solid #e5ce48; border-radius: 17px; background: #fff8ca; }
.pm-checkout-payment { padding: clamp(20px, 3vw, 34px); }
.pm-checkout-payment .pm-eyebrow { margin: 0 0 6px; color: #74706b; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pm-checkout-payment > h2 { margin: 0 0 20px; font-size: clamp(24px, 2.6vw, 34px); }
.pm-payment-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pm-payment-choice__button { display: flex; min-width: 0; min-height: 104px; padding: 17px 18px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; border: 1px solid #dedbd6; border-radius: 18px; background: #f8f7f5; color: #2f2d2b; text-align: left; cursor: pointer; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.pm-payment-choice__button:hover:not(:disabled) { border-color: #b9b4ad; background: #fff; color: #2f2d2b; transform: translateY(-1px); }
.pm-payment-choice__button.is-active { border-color: #2f2d2b; background: #fff3a7; box-shadow: inset 0 0 0 1px #2f2d2b; }
.pm-payment-choice__button:disabled { opacity: .52; cursor: not-allowed; }
.pm-payment-choice__button strong { font-size: 16px; line-height: 1.2; }
.pm-payment-choice__button span { color: #68635e; font-size: 13px; line-height: 1.4; }
.pm-payment-choice__note { margin: 14px 0 0; color: #6d6863; font-size: 13px; line-height: 1.45; }
body.pm-payment-choice-ready.woocommerce-checkout #payment ul.payment_methods { display: none; }
.woocommerce-checkout #order_review_heading { margin: 0; padding: 24px 24px 0; border: 1px solid #dedbd6; border-bottom: 0; border-radius: 24px 24px 0 0; background: #fff; font-size: 25px; }
.woocommerce-checkout-review-order { padding: 12px 24px 24px; border-top: 0; border-radius: 0 0 24px 24px; box-shadow: 0 22px 50px rgba(43, 38, 32, .11); }
.woocommerce-checkout-review-order table.shop_table { margin: 0 0 16px; border: 0; border-collapse: separate; border-spacing: 0 4px; table-layout: auto; background: transparent; }
.woocommerce-checkout-review-order table.shop_table :where(th, td) { padding: 12px; border: 0; background: #f7f5f2; overflow-wrap: normal; vertical-align: middle; }
.woocommerce-checkout-review-order table.shop_table th { padding-right: 14px; color: #3b3835; text-align: left; }
.woocommerce-checkout-review-order table.shop_table td { text-align: right; }
.woocommerce-checkout-review-order table.shop_table tr > :first-child { border-radius: 14px 0 0 14px; }
.woocommerce-checkout-review-order table.shop_table tr > :last-child { border-radius: 0 14px 14px 0; }
.woocommerce-checkout-review-order table.shop_table thead th { background: #f2f0ed; font-size: 13px; }
.woocommerce-checkout-review-order table.shop_table tbody td { padding-block: 16px; background: #fbfaf8; }
.woocommerce-checkout-review-order table.shop_table tfoot tr.cart-subtotal { display: none; }
.woocommerce-checkout-review-order table.shop_table tfoot tr.cart-discount :where(th, td) { background: #fff8ca; }
.woocommerce-checkout-review-order table.shop_table td.product-name { max-width: 230px; text-align: left; }
.woocommerce-checkout-review-order .product-total { white-space: nowrap; }
.woocommerce-checkout-review-order .woocommerce-remove-coupon { display: inline-flex; min-height: 32px; align-items: center; margin-top: 4px; border: 0; background: transparent; color: #3b3835; font-size: 12px; font-weight: 750; text-decoration: underline; text-decoration-color: #ffd20a; text-decoration-thickness: 2px; text-underline-offset: 3px; cursor: pointer; }
.woocommerce-checkout-review-order .woocommerce-remove-coupon:hover { color: #171615; }
.woocommerce-checkout-review-order tr.shipping { position: static; width: auto; height: auto; margin: 0; padding: 0; overflow: visible; border: 0; clip: auto; white-space: normal; }
.woocommerce-checkout-review-order tr.shipping ul#shipping_method { display: block; }
.woocommerce-checkout-review-order tr.shipping ul#shipping_method li { display: none; min-height: 0; }
.woocommerce-checkout-review-order tr.shipping ul#shipping_method li:has(input:checked) { display: block; }
.woocommerce-checkout-review-order tr.shipping ul#shipping_method input { display: none; }
.woocommerce-checkout-review-order tr.shipping ul#shipping_method label { display: block; color: #3b3835; font-weight: 750; line-height: 1.35; text-align: right; cursor: default; }
.pm-delivery-mode-panel,
.pm-external-shipping-methods,
.pm-external-pickup-controls,
.pm-external-pickup-map { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.pm-external-shipping-methods { margin-top: 16px; }
.pm-external-shipping-methods ul#shipping_method { display: grid; margin: 0; padding: 0; gap: 10px; list-style: none; }
.pm-external-shipping-methods ul#shipping_method li,
.pm-external-shipping-methods ul#shipping_method li:has(input:checked) { display: grid; width: 100%; max-width: none; min-height: 62px; margin: 0; padding: 12px 14px; box-sizing: border-box; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 10px; border: 1px solid #dedbd6; border-radius: 15px; background: #faf9f7; }
.pm-external-shipping-methods ul#shipping_method li:has(input:checked) { border-color: #2f2d2b; background: #fff8ca; box-shadow: inset 0 0 0 1px #2f2d2b; }
.pm-external-shipping-methods ul#shipping_method li.pm-manager-shipping-rate { display: none !important; }
.pm-external-shipping-methods ul#shipping_method input { display: block; width: 18px; height: 18px; margin: 0; accent-color: #2f2d2b; }
.pm-external-shipping-methods ul#shipping_method label { display: grid !important; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; align-items: center; justify-self: stretch; gap: 12px; color: #3b3835; font-size: 14px; font-weight: 750; line-height: 1.35; text-align: left; cursor: pointer; }
.pm-external-shipping-methods ul#shipping_method label .pm-shipping-rate-label { grid-column: 1; grid-row: 1; min-width: 0; }
.pm-external-shipping-methods ul#shipping_method label .pm-shipping-rate-price { grid-column: 2; grid-row: 1; justify-self: end; text-align: right; }
.pm-external-shipping-methods .wc-edostavka-method-additional-info { grid-column: 2; min-width: 0; }
.pm-external-pickup-controls:empty { display: none; }
.pm-external-pickup-control { display: flex; margin-top: 14px; padding: 15px 16px; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid #dedbd6; border-radius: 15px; background: #faf9f7; }
.pm-external-pickup-control__title { color: #3b3835; font-size: 14px; }
.pm-external-pickup-control p { margin: 0; }
.pm-external-pickup-control :where(button, .button, a.button) { min-height: 42px; border-radius: 12px; }
.pm-external-pickup-controls[hidden] { display: none !important; }
.pm-external-pickup-map:empty { display: none; }
.pm-external-pickup-map { position: relative; margin-top: 16px; overflow: hidden; border-radius: 18px; }
.pm-external-pickup-map__loading { display: grid; min-height: 360px; margin: 0; place-items: center; border: 1px solid #dedbd6; border-radius: 18px; background: #f3f1ed; color: #6d6863; font-size: 14px; }
.pm-external-pickup-map .wc-backbone-modal.pm-inline-carrier-map { position: relative !important; inset: auto !important; z-index: 1 !important; display: block !important; width: 100% !important; height: auto !important; }
.pm-external-pickup-map .pm-inline-carrier-map .wc-backbone-modal-content { position: relative !important; inset: auto !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important; height: auto !important; max-height: none !important; margin: 0 !important; transform: none !important; box-sizing: border-box; overflow: hidden; border: 1px solid #dedbd6; border-radius: 18px; background: #fff; box-shadow: none; }
.pm-external-pickup-map .pm-inline-carrier-map .wc-backbone-modal-main { position: static; width: 100%; min-width: 0; max-width: 100%; padding: 0; box-sizing: border-box; overflow: hidden; }
.pm-external-pickup-map .pm-inline-carrier-map .wc-backbone-modal-header { position: relative; padding: 14px 18px; border-bottom: 1px solid #dedbd6; background: #faf9f7; }
.pm-external-pickup-map .pm-inline-carrier-map .wc-backbone-modal-header h1 { margin: 0; font-size: 18px; }
.pm-external-pickup-map .pm-inline-carrier-map .modal-close { display: none !important; }
.pm-external-pickup-map .pm-inline-carrier-map :is(#yandex-delivery-map-container, #wc-edostavka-map-container, .modal-map-container) { width: 100% !important; min-width: 0 !important; max-width: 100% !important; height: clamp(380px, 48vw, 520px) !important; max-height: none !important; box-sizing: border-box; overflow: hidden !important; }
.pm-external-pickup-map .pm-inline-carrier-map .ymaps-2-1-79-map { width: 100% !important; height: 100% !important; }
.pm-external-carrier-checkout .pm-shipping-rate-label { min-width: 0; overflow-wrap: anywhere; }
.pm-external-carrier-checkout .pm-shipping-rate-price { white-space: nowrap; }
.pm-external-carrier-checkout .woocommerce-checkout-review-order tr.shipping td { font-size: 16px; font-weight: 850; white-space: nowrap; }
.pm-summary-shipping-price { color: #3b3835; white-space: nowrap; }
.pm-shipping-rate-empty { margin: 0; color: #716c66; font-size: 12px; line-height: 1.4; text-align: left; }
.woocommerce-checkout-review-order tr.order-total :where(th, td) { padding-block: 16px; background: #efede9; font-size: 19px; }
.woocommerce-checkout #payment { overflow: hidden; border: 1px solid #e1ddd7; border-radius: 18px; background: #f8f7f5; }
.woocommerce-checkout #payment ul.payment_methods { padding: 17px; border-bottom: 0; }
.woocommerce-checkout #payment div.form-row.place-order { display: grid; gap: 10px; margin: 0; padding: 17px; }
.woocommerce-checkout #payment div.form-row.place-order::before,
.woocommerce-checkout #payment div.form-row.place-order::after { display: none; content: none; }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper:not(:has(#terms)):has(.woocommerce-privacy-policy-text:empty) { display: none; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text:empty { display: none; }
.woocommerce-checkout #payment #place_order { position: static; float: none; width: 100%; min-height: 54px; border-radius: 999px; background: #ffd20a; color: #2f2d2b; font-weight: 850; }
.woocommerce-checkout #payment #place_order:hover { background: #efc500; color: #2f2d2b; }
.woocommerce-checkout #payment .pm-checkout-privacy-note { clear: both; margin: 0; color: #716c66; font-size: 13px; line-height: 1.45; }
.woocommerce-checkout #payment .pm-checkout-privacy-note a { color: inherit; text-decoration: underline; text-decoration-color: #ffd20a; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.woocommerce-checkout #payment .pm-checkout-privacy-note a:hover { color: #2f2d2b; }
.pm-checkout-summary-column { min-width: 0; }
.pm-checkout-summary-column #order_review_heading { grid-column: auto; grid-row: auto; position: static; top: auto; z-index: auto; margin: 0; }
.pm-checkout-summary-column #order_review { grid-column: auto; grid-row: auto; position: static; top: auto; margin-top: 0; }
.pm-checkout-coupon { margin-top: 14px; padding: 20px; border: 1px solid #dedbd6; border-radius: 22px; background: #fff; box-shadow: 0 16px 38px rgba(43, 38, 32, .08); }
.pm-checkout-coupon__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.pm-checkout-coupon__heading h3 { margin: 0 0 4px; color: #2f2d2b; font-size: 20px; }
.pm-checkout-coupon__heading p { margin: 0; color: #716c66; font-size: 13px; line-height: 1.45; }
.pm-checkout-coupon__control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.pm-checkout-coupon__control input { width: 100%; min-width: 0; min-height: 48px; padding: 10px 13px; border: 1px solid #d9d5cf; border-radius: 14px; background: #faf9f7; color: #2f2d2b; font: inherit; text-transform: uppercase; }
.pm-checkout-coupon__control input::placeholder { color: #8a857f; text-transform: none; }
.pm-checkout-coupon__control input:focus { border-color: #2f2d2b; outline: 3px solid rgba(255, 210, 10, .35); outline-offset: 1px; }
.woocommerce .pm-checkout-coupon__button.button { min-height: 48px; padding-inline: 18px; border: 0; border-radius: 14px; background: #2f2d2b; color: #fff; font-weight: 800; }
.woocommerce .pm-checkout-coupon__button.button:hover { background: #171615; color: #fff; }
.pm-checkout-coupon.is-loading { opacity: .72; }
.pm-checkout-coupon__status { min-height: 0; margin-top: 0; color: #5f5b57; font-size: 13px; }
.pm-checkout-coupon__status:not(:empty) { margin-top: 10px; }
.pm-checkout-coupon__status :where(.woocommerce-error, .woocommerce-message, .woocommerce-info) { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 12px; border: 0; border-radius: 12px; background: #f8f7f5; font-size: 13px; line-height: 1.35; }
.pm-checkout-coupon__status :where(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before { position: static; inset: auto; flex: none; margin: 0; transform: none; }
.pm-checkout-coupon__status .woocommerce-message { background: #edf8ef; color: #256331; }
.pm-checkout-coupon__status .woocommerce-error { background: #fff0ed; color: #982d22; }

/* Order received. */
body.woocommerce-order-received .woocommerce-order { display: grid; width: 100%; max-width: 980px; margin-inline: auto; grid-template-columns: minmax(0, 1fr); gap: 18px; }
body.woocommerce-order-received .woocommerce-order > :where(p, ul, div, section) { margin-block: 0; }
body.woocommerce-order-received .woocommerce-thankyou-order-received { position: relative; min-height: 72px; padding: 22px 24px 22px 72px; border: 1px solid #e5ce48; border-radius: 22px; background: #fff8ca; color: #2f2d2b; font-size: clamp(20px, 2vw, 26px); font-weight: 850; line-height: 1.25; }
body.woocommerce-order-received .woocommerce-thankyou-order-received { display: none; }
body.woocommerce-order-received .woocommerce-thankyou-order-received::before { content: "✓"; position: absolute; top: 50%; left: 22px; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #ffd20a; color: #2f2d2b; font-size: 20px; line-height: 1; transform: translateY(-50%); }
body.woocommerce-order-received .woocommerce-order-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 8px; border: 1px solid #dedbd6; border-radius: 22px; background: #fff; box-shadow: 0 16px 38px rgba(43, 38, 32, .07); }
body.woocommerce-order-received .woocommerce-order-overview::before,
body.woocommerce-order-received .woocommerce-order-overview::after { display: none; }
body.woocommerce-order-received .woocommerce-order-overview li { display: grid; width: auto; min-width: 0; min-height: 74px; align-content: center; gap: 6px; float: none; padding: 14px 16px; margin: 0; border: 0; border-bottom: 1px solid #ebe8e4; color: #77716b; font-size: 11px; line-height: 1.25; text-transform: uppercase; }
body.woocommerce-order-received .woocommerce-order-overview li:nth-last-child(-n + 2) { border-bottom: 0; }
body.woocommerce-order-received .woocommerce-order-overview li strong { min-width: 0; color: #2f2d2b; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; text-transform: none; }
body.woocommerce-order-received .woocommerce-order-overview li.method { grid-column: 1 / -1; border-bottom: 0; }
body.woocommerce-order-received .woocommerce-info.pm-test-order-result { position: relative; order: -1; min-height: 72px; padding: 20px 24px 20px 72px; border: 1px solid #e5ce48; border-radius: 22px; background: #fff8ca; color: #5f5b57; line-height: 1.45; }
body.woocommerce-order-received .woocommerce-info.pm-test-order-result::before { content: "✓"; position: absolute; top: 50%; left: 22px; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #ffd20a; color: #2f2d2b; font-family: inherit; font-size: 20px; font-style: normal; font-weight: 850; line-height: 1; transform: translateY(-50%); }
body.woocommerce-order-received .woocommerce-info.pm-test-order-result strong { display: block; margin-bottom: 2px; color: #2f2d2b; font-size: clamp(20px, 2vw, 26px); line-height: 1.25; }
body.woocommerce-order-received .woocommerce-info.pm-test-order-result span { display: block; }
body.woocommerce-order-received .woocommerce-order-details { padding: clamp(20px, 3vw, 28px); border: 1px solid #dedbd6; border-radius: 24px; background: #fff; box-shadow: 0 18px 42px rgba(43, 38, 32, .08); }
body.woocommerce-order-received :where(.woocommerce-order-details__title, .woocommerce-customer-details .woocommerce-column__title) { margin: 0 0 18px; color: #2f2d2b; font-size: clamp(22px, 2vw, 28px); }
body.woocommerce-order-received .woocommerce-order-details table.shop_table { margin: 0; border: 0; border-collapse: separate; border-spacing: 0 4px; table-layout: auto; background: transparent; }
body.woocommerce-order-received .woocommerce-order-details table.shop_table :where(th, td) { padding: 14px 16px; border: 0; background: #f7f5f2; vertical-align: middle; }
body.woocommerce-order-received .woocommerce-order-details table.shop_table tr > :first-child { border-radius: 14px 0 0 14px; text-align: left; }
body.woocommerce-order-received .woocommerce-order-details table.shop_table tr > :last-child { border-radius: 0 14px 14px 0; text-align: right; }
body.woocommerce-order-received .woocommerce-order-details table.shop_table thead th { background: #f2f0ed; color: #5f5b57; font-size: 12px; text-transform: uppercase; }
body.woocommerce-order-received .woocommerce-order-details table.shop_table tbody td { background: #fbfaf8; }
body.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot tr:nth-last-child(2) :where(th, td) { font-size: 17px; font-weight: 850; }
body.woocommerce-order-received .woocommerce-order-details .product-name a { color: #2f2d2b; font-weight: 750; text-decoration-color: #ffd20a; text-decoration-thickness: 2px; text-underline-offset: 3px; }
body.woocommerce-order-received .woocommerce-order-details .product-total { white-space: nowrap; }
body.woocommerce-order-received .woocommerce-order-details .woocommerce-button.cancel { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding-inline: 16px; border: 1px solid #e3b9b4; border-radius: 999px; background: #fff6f4; color: #8a2d25; font-weight: 750; }
body.woocommerce-order-received .woocommerce-order-details > .woocommerce-customer-details { width: 100%; max-width: 620px; margin: clamp(28px, 4vw, 42px) auto 0; padding-top: clamp(24px, 3vw, 34px); border-top: 1px solid #ebe8e4; text-align: center; }
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns { display: block; margin: 0; }
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column { width: 100%; max-width: 620px; float: none; padding: 0; margin: 0 auto; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; }
body.woocommerce-order-received .woocommerce-customer-details address { padding: 0; border: 0; color: #5f5b57; font-style: normal; line-height: 1.75; text-align: center; }
body.woocommerce-order-received .woocommerce-customer-details :where(.woocommerce-customer-details--phone, .woocommerce-customer-details--email) { margin: 12px 0 0; color: #2f2d2b; font-weight: 650; }

@media (min-width: 760px) {
  body.woocommerce-order-received .woocommerce-order-overview { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  body.woocommerce-order-received .woocommerce-order-overview li { border-right: 1px solid #ebe8e4; border-bottom: 0; }
  body.woocommerce-order-received .woocommerce-order-overview li:last-child { grid-column: auto; border-right: 0; }
}

@media (min-width: 960px) {
  body.woocommerce-order-received .woocommerce-order { align-items: start; }
}

@media (min-width: 1024px) {
  .woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 420px); gap: 20px 24px; }
  .woocommerce-checkout #customer_details, .woocommerce-checkout .pm-checkout-delivery, .woocommerce-checkout .pm-checkout-payment { grid-column: 1; }
  .woocommerce-checkout #customer_details { grid-row: 1; }
  .woocommerce-checkout .pm-checkout-delivery { grid-row: 2; }
  .woocommerce-checkout .pm-checkout-payment { grid-row: 3; }
  .woocommerce-checkout .pm-checkout-summary-column { grid-column: 2; grid-row: 1 / span 3; align-self: start; position: sticky; top: 100px; }
}
@media (max-width: 1023px) {
  .woocommerce-checkout #order_review_heading { margin-top: 4px; }
  .woocommerce-checkout .pm-checkout-delivery { margin-top: 0; }
}
@media (max-width: 720px) {
  .woocommerce-account form.woocommerce-EditAccountForm fieldset { padding-top: calc(var(--primitive-space-5) + 90px); }
  .woocommerce-checkout .pm-main { padding-top: 22px; }
  .woocommerce-checkout .pm-entry > h1 { font-size: 38px; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .pm-delivery-choice, .pm-payment-choice, .pm-pickup-point-list { grid-template-columns: 1fr; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper :is(#billing_address_1_field, #billing_email_field) { grid-column: auto; }
  .pm-pickup-toolbar { align-items: stretch; flex-direction: column; }
  .pm-carrier-filter { width: 100%; overflow-x: auto; }
  .pm-carrier-filter button { flex: 1 0 auto; }
  .pm-pickup-map { height: 310px; }
  .pm-pickup-point-list { max-height: 360px; }
  .pm-selected-pickup { grid-template-columns: 1fr; }
  .pm-selected-pickup > small { text-align: left; }
  .woocommerce-checkout #order_review_heading, .woocommerce-checkout-review-order { padding-inline: 18px; }
  .woocommerce-checkout-review-order table.shop_table :where(th, td) { padding-inline: 10px; }
  .pm-checkout-coupon { padding: 18px; }
  .pm-checkout-coupon__control { grid-template-columns: 1fr; }
  .woocommerce .pm-checkout-coupon__button.button { width: 100%; }
  body.woocommerce-order-received .woocommerce-thankyou-order-received { padding: 20px 18px 20px 62px; border-radius: 18px; }
  body.woocommerce-order-received .woocommerce-thankyou-order-received::before { left: 16px; }
  body.woocommerce-order-received .woocommerce-info.pm-test-order-result { padding: 18px 18px 18px 62px; border-radius: 18px; }
  body.woocommerce-order-received .woocommerce-info.pm-test-order-result::before { left: 16px; }
  body.woocommerce-order-received .woocommerce-order-overview li { padding-inline: 12px; }
  body.woocommerce-order-received .woocommerce-order-details { overflow: visible; }
  body.woocommerce-order-received .woocommerce-order-details table.shop_table { min-width: 0; }
  body.woocommerce-order-received .woocommerce-order-details table.shop_table thead { display: none; }
  body.woocommerce-order-received .woocommerce-order-details table.shop_table :where(tbody, tfoot) { display: grid; gap: 4px; }
  body.woocommerce-order-received .woocommerce-order-details table.shop_table tbody { margin-bottom: 4px; }
  body.woocommerce-order-received .woocommerce-order-details table.shop_table tr { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(92px, .65fr); }
  body.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot tr { grid-template-columns: 118px minmax(0, 1fr); }
  body.woocommerce-order-received .woocommerce-order-details table.shop_table :where(th, td) { display: block; min-width: 0; padding: 12px; overflow-wrap: anywhere; }
  body.woocommerce-order-received .woocommerce-order-details .product-total { white-space: normal; }
}

/* Primary PETG organic landing page. */
.pm-petg-guide { display: grid; gap: clamp(30px, 5vw, 58px); margin-top: clamp(54px, 8vw, 96px); padding: clamp(28px, 5vw, 64px); border-radius: clamp(24px, 4vw, 42px); background: #262323; color: #fff; }
.pm-petg-guide__header { max-width: 860px; }
.pm-petg-guide__header h2 { max-width: 780px; margin: 0; font-size: clamp(32px, 4vw, 56px); line-height: 1.04; letter-spacing: -.035em; }
.pm-petg-guide__header > p:last-child { max-width: 760px; margin: 22px 0 0; color: rgba(255, 255, 255, .78); font-size: clamp(17px, 1.7vw, 21px); line-height: 1.65; }
.pm-petg-guide__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid rgba(255, 255, 255, .18); }
.pm-petg-guide__facts > div { display: grid; gap: 6px; padding: 22px 20px; border-right: 1px solid rgba(255, 255, 255, .18); }
.pm-petg-guide__facts > div:first-child { padding-left: 0; }
.pm-petg-guide__facts > div:last-child { border-right: 0; }
.pm-petg-guide__facts strong { color: #ffd20a; font-size: clamp(20px, 2.2vw, 28px); }
.pm-petg-guide__facts span { color: rgba(255, 255, 255, .66); font-size: 13px; }
.pm-petg-guide__body { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 46px); }
.pm-petg-guide__body section { min-width: 0; }
.pm-petg-guide__body h2 { margin: 0 0 16px; color: #fff; font-size: clamp(23px, 2.4vw, 31px); line-height: 1.15; }
.pm-petg-guide__body p { margin: 0 0 16px; color: rgba(255, 255, 255, .76); font-size: 15px; line-height: 1.72; }
.pm-petg-guide__links { display: flex; flex-wrap: wrap; gap: 10px; }
.pm-petg-guide__links a { display: inline-flex; min-height: 46px; padding: 0 18px; align-items: center; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; color: #fff; font-size: 14px; font-weight: 750; text-decoration: none; }
.pm-petg-guide__links a:hover { border-color: #ffd20a; background: #ffd20a; color: #262323; }
.pm-petg-guide__faq { display: grid; gap: 10px; }
.pm-petg-guide__faq > h2 { margin: 0 0 12px; color: #fff; font-size: clamp(28px, 3vw, 42px); }
.pm-petg-guide__faq details { padding: 0 18px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 16px; background: rgba(255, 255, 255, .04); }
.pm-petg-guide__faq summary { padding: 18px 34px 18px 0; color: #fff; font-weight: 750; line-height: 1.35; cursor: pointer; }
.pm-petg-guide__faq details[open] summary { color: #ffd20a; }
.pm-petg-guide__faq p { max-width: 760px; margin: -2px 0 18px; color: rgba(255, 255, 255, .74); line-height: 1.65; }

@media (max-width: 900px) {
  .pm-petg-guide__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-petg-guide__facts > div:nth-child(2) { border-right: 0; }
  .pm-petg-guide__facts > div:nth-child(n + 3) { border-top: 1px solid rgba(255, 255, 255, .18); }
  .pm-petg-guide__facts > div:nth-child(3) { padding-left: 0; }
  .pm-petg-guide__body { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 520px) {
  .pm-petg-guide { margin-inline: -12px; padding: 28px 20px; border-radius: 24px; }
  .pm-petg-guide__facts { grid-template-columns: minmax(0, 1fr); }
  .pm-petg-guide__facts > div { padding: 16px 0; border-right: 0; border-top: 1px solid rgba(255, 255, 255, .18); }
  .pm-petg-guide__facts > div:first-child { border-top: 0; }
  .pm-petg-guide__links { align-items: stretch; flex-direction: column; }
  .pm-petg-guide__links a { justify-content: center; text-align: center; }
}

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

@media print {
  .pm-header, .pm-footer, .pm-menu-toggle { display: none !important; }
}
