/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-locale-select.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-locale-navigation { box-sizing: border-box; min-width: 0; margin: 0; color: inherit; overflow-wrap: anywhere; }
.sw-locale-navigation fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.sw-locale-navigation__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sw-locale-navigation__selector { position: relative; display: inline-grid; grid-template-columns: 20px minmax(0, 1fr) 14px; align-items: center; gap: 8px; max-width: 100%; min-height: 44px; padding-inline: 10px; background: #fff; color: #222; }
.sw-locale-navigation__selector > svg { width: 20px; height: 20px; pointer-events: none; }
.sw-locale-navigation__selector > .sw-locale-navigation__chevron { width: 14px; height: 14px; }
.sw-locale-navigation__display { font: inherit; font-size: 14px; font-weight: 400; line-height: 1.5; pointer-events: none; }
.sw-locale-navigation__selector select { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 44px; padding: 0; border: 0; border-radius: 0; opacity: 0; font: inherit; cursor: pointer; }
.sw-locale-navigation__selector:focus-within { outline: 2px solid currentColor; outline-offset: 3px; }
.sw-locale-navigation__selector select:focus { outline: 0; }
.sw-locale-navigation p { margin: 8px 0 0; max-width: 42rem; font-size: 13px; line-height: 1.5; }
.sw-locale-navigation button { min-height: 44px; font: inherit; color: inherit; background: transparent; border: 1px solid currentColor; padding: 6px 10px; }

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/buyer-form-primitives.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************/
/* Buyer form presentation only. No global reset, theme replacement or rules
 * targeting historical public snapshots, Shop Admin, checkout or product pages. */
/* One typographic line survives pending/empty values. Data and validity never
   live in CSS; callers keep the matching owner value or pass null. Longer real
   text grows naturally. No animation or layout measurement affects scrolling. */
.sw-buyer-async-value { display: inline-block; position: relative; min-inline-size: min(6ch, 100%); min-block-size: 1lh; max-inline-size: 100%; overflow-wrap: anywhere; vertical-align: baseline; }
.sw-buyer-async-value__geometry { visibility: hidden; }
/* A localized message may occupy the same slot as another state. Only fixed
 * interface copy belongs in the invisible sizing layer, never private data. */
.sw-buyer-stable-label { display: grid; min-width: 0; }
.sw-buyer-stable-label > span { grid-area: 1 / 1; min-width: 0; }
.sw-buyer-stable-label > [aria-hidden="true"] { visibility: hidden; }
.sw-buyer-stable-label > [data-label]::before { content: attr(data-label); }
.sw-buyer-async-value[data-sw-async-value="pending"]::before { content: ''; position: absolute; inset-inline-start: 0; inset-block-start: .3em; inline-size: min(6ch, 100%); block-size: .65em; border-radius: 2px; background: currentColor; opacity: .12; pointer-events: none; }
.sw-buyer-forms { min-width: 0; line-height: 1.6; }
.sw-buyer-forms :is(p, h1, h2, h3) { margin: 0; }
.sw-buyer-forms :is(button, input, select, textarea) { font-family: inherit; font-size: 1rem; line-height: 1.5; }
.sw-buyer-forms :is(button, input, select, textarea, a, h1, h2, h3, [role="alert"]) {
  scroll-margin-block-start: calc(var(--sw-site-header-height, 0px) + var(--sw-site-announcement-height, 0px) + 1rem);
}
.sw-buyer-forms button { cursor: pointer; }
.sw-buyer-forms button:disabled { cursor: default; opacity: .6; }
.sw-buyer-form-stack, .sw-buyer-form-fieldset { display: grid; min-width: 0; gap: 1rem; }
.sw-buyer-form-field { display: grid; min-width: 0; gap: .5rem; }
/* Public and member Order facts share bounded columns. A long translated
 * value must wrap inside its own track, never consume the label's width. */
.sw-buyer-form-facts { display: grid; min-width: 0; margin: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: .5rem 1rem; }
.sw-buyer-form-facts > :is(dt, dd) { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.sw-buyer-form-facts > dd { text-align: end; }
.sw-buyer-form-section { display: grid; min-width: 0; gap: 1rem; border-top: 1px solid var(--sw-color-border); padding-top: 1.5rem; }
.sw-buyer-form-fieldset { margin: 0; padding: 0; border: 0; }
.sw-buyer-form-fieldset:disabled { opacity: .6; }
.sw-buyer-form-heading { min-width: 0; overflow-wrap: anywhere; color: var(--sw-color-text); font-size: 1.25rem; line-height: 1.35; font-weight: var(--sw-theme-heading-weight, 700); }
.sw-buyer-form-input {
  box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 44px;
  padding: .5rem .75rem; border: 1px solid var(--sw-color-border); border-radius: var(--sw-radius-control);
  background: var(--sw-color-surface-panel); color: var(--sw-color-text); font: inherit;
}
.sw-buyer-form-input:focus-visible, .sw-buyer-form-link:focus-visible {
  outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 3px;
}
.sw-buyer-form-checkbox { margin: 0; width: 1.25rem; height: 1.25rem; flex-shrink: 0; accent-color: var(--sw-color-accent); }
.sw-buyer-form-check-row { display: flex; min-width: 0; min-height: 44px; align-items: center; gap: .75rem; line-height: 1.6; }
.sw-buyer-form-link { display: inline-flex; min-height: 44px; min-width: 0; max-width: 100%; align-items: center; overflow-wrap: anywhere; color: var(--sw-color-accent); text-decoration: underline; text-underline-offset: .25em; }
.sw-buyer-form-actions { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: .75rem; }
.sw-buyer-feedback { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.sw-buyer-feedback__message { flex: 1 1 16rem; min-width: 0; overflow-wrap: anywhere; line-height: 1.6; color: var(--sw-color-text-muted); }
.sw-buyer-feedback__message[role="alert"] { color: var(--sw-color-text); }
.sw-buyer-forms button[aria-disabled="true"] { opacity: .65; cursor: not-allowed; }
.sw-buyer-owner-read { min-width: 0; }
.sw-buyer-owner-snapshot { display: grid; min-width: 0; gap: inherit; }
.sw-buyer-owner-snapshot[data-unavailable="true"] { visibility: hidden; }
.sw-buyer-owner-initial { display: grid; min-block-size: 5rem; gap: .75rem; align-content: start; padding-block: .5rem; }
.sw-buyer-owner-initial > span { inline-size: 75%; block-size: 1em; background: var(--sw-color-border); opacity: .55; }
.sw-buyer-owner-initial > span:last-child { inline-size: 50%; }
.sw-buyer-orders__read-region { min-width: 0; }
.sw-buyer-orders__read-region:focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 3px; }
.sw-buyer-orders__pagination { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .75rem; align-items: start; }
.sw-buyer-orders__pagination > span { text-align: center; }
/* Long translated action labels must not squeeze the real result count into
   one letter per line. Preview and public pages use this same container. */
@container sw-buyer-account (max-width: 30rem) {
  .sw-buyer-orders__pagination { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-buyer-orders__pagination > span { grid-column: 1 / -1; grid-row: 1; }
  .sw-buyer-orders__pagination > button:first-child { grid-column: 1; grid-row: 2; }
  .sw-buyer-orders__pagination > button:last-child { grid-column: 2; grid-row: 2; }
}
.sw-buyer-feedback__message:focus { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 3px; }

/* Account console presentation. BuyerIdentity and every child controller keep
 * their original writers; this only gives the published account surface the
 * agreed desktop navigation/content hierarchy and a compact mobile rail. */
.sw-buyer-account { container: sw-buyer-account / inline-size; position: relative; padding: clamp(1rem, 4vw, 2.5rem); font-family: var(--sw-storefront-font-family, Inter, ui-sans-serif, system-ui, sans-serif); }
/* Account/recovery and opt-in Contact use one ink form family. The host's
 * theme tokens and shared action behavior remain authoritative. */
:is(.sw-buyer-account, .sw-buyer-forms--ink) :is(button, .sw-buyer-form-input, a[class*="rounded-"]) { border-radius: min(var(--sw-radius-control), .35rem); }
:is(.sw-buyer-account, .sw-buyer-forms--ink) .sw-buyer-form-primary-action { background: var(--sw-color-text); border-color: var(--sw-color-text); color: var(--sw-color-surface-panel); }
:is(.sw-buyer-account, .sw-buyer-forms--ink) .sw-buyer-form-link { color: var(--sw-color-text); }
:is(.sw-buyer-account, .sw-buyer-forms--ink) .sw-buyer-form-checkbox { accent-color: var(--sw-color-text); }
/* Preserve live regions and described-by targets without duplicate status rows.
 * Forms opt in with their original authority; Cart's routine read progress is
 * already visible on its disabled checking action. Errors do not opt in. */
.sw-buyer-forms .sw-buyer-feedback--quiet,
.sw-product-cart-action__purchase > .sw-buyer-feedback--quiet,
.sw-buyer-account .sw-buyer-account-feedback--quiet {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.sw-buyer-forms [data-feedback-request][aria-busy="true"] { box-shadow: inset 0 2px var(--sw-color-border, #e5e5e5); }
.sw-buyer-account > .sw-buyer-form-stack:first-child :is(h1,h2) { font-size: clamp(1.75rem, 3cqw, 2.25rem); line-height: 1.15; font-weight: 700; }
.sw-buyer-account-console { display: grid; min-width: 0; gap: 1.5rem; }
.sw-buyer-account-console__nav { display: flex; min-width: 0; gap: .25rem; overflow-x: auto; padding-block: .5rem; border-block: 1px solid var(--sw-color-border); }
.sw-buyer-account-console__nav-link { display: inline-flex; min-height: 44px; flex: 0 0 auto; align-items: center; padding: .5rem .75rem; color: var(--sw-color-text); text-decoration: none; white-space: nowrap; }
.sw-buyer-account-console__nav-link:hover { text-decoration: underline; text-underline-offset: .25em; }
.sw-buyer-account-console__nav-link:focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: -3px; }
.sw-buyer-account-console__content { display: grid; min-width: 0; gap: 2rem; }
.sw-buyer-account-console__content > .sw-buyer-form-section:first-child { border-top: 0; padding-top: 0; }
.sw-buyer-account-console :is(button,a[class*="rounded-"]) { border-radius: .25rem !important; }
.sw-buyer-account-console__content :is(.sw-buyer-form-section,.sw-buyer-form-fieldset,.sw-buyer-form-stack) > button,
.sw-buyer-account-console__content .sw-buyer-form-section > a,
.sw-buyer-account-console__content form > button { width: auto; justify-self: start; }

@container sw-buyer-account (min-width: 48rem) {
  .sw-buyer-account-console { grid-template-columns: minmax(11rem, 14rem) minmax(0, 1fr); gap: clamp(2rem, 4cqw, 3.5rem); align-items: start; }
  .sw-buyer-account-console__nav { position: sticky; top: calc(var(--sw-site-header-height, 0px) + var(--sw-site-announcement-height, 0px) + 1rem); display: grid; gap: .15rem; overflow: visible; padding: 0 1.5rem 0 0; border-block: 0; }
  .sw-buyer-account-console__nav-link { border-bottom: 1px solid var(--sw-color-border); white-space: normal; }
  .sw-buyer-account-console__content { padding-left: clamp(1.5rem, 3cqw, 2.5rem); border-left: 1px solid var(--sw-color-border); }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-inquiry.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
/* Contact layout only; controls, ink actions and focus use buyer-form-primitives.
 * The host alone owns private fields, pending requests and receipts. */
.sw-inquiry { container-type: inline-size; box-sizing: border-box; width: 100%; max-width: 48rem; margin-inline: auto; padding: 2rem 1rem; color: var(--sw-color-text); background: var(--sw-color-surface-page); overflow-wrap: anywhere; font-family: var(--sw-storefront-font-family, Inter, ui-sans-serif, system-ui, sans-serif); }
.sw-inquiry h2 { font-size: 1.5rem; margin: 0 0 1rem; }
.sw-inquiry p { margin: 1rem 0; line-height: 1.8; }
.sw-inquiry fieldset { margin: 1.5rem 0; }
.sw-inquiry legend { font-weight: 600; margin-bottom: 1rem; }
.sw-inquiry__identity { display: grid; min-width: 0; gap: 1rem; }
/* A narrow editor canvas must stack even inside a desktop browser. */
@container (min-width: 36rem) {
  .sw-inquiry__identity { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.sw-inquiry textarea { resize: vertical; }
.sw-inquiry__submit { width: 100%; }
.sw-inquiry .sw-buyer-feedback__message:not(:empty) { padding: 1rem; border: 1px solid var(--sw-color-border, currentColor); line-height: 1.7; }
.sw-inquiry-preview__controls select { font: inherit; box-sizing: border-box; min-height: 44px; max-width: 100%; padding: .75rem; border: 1px solid var(--sw-color-border, currentColor); border-radius: var(--sw-radius-control, .375rem); color: inherit; background: var(--sw-color-surface-page); }
.sw-inquiry-preview__controls select:focus-visible { outline: 3px solid var(--sw-color-focus-indicator, currentColor); outline-offset: 3px; }
.sw-inquiry .sw-inquiry__trap { display: none; }
.sw-inquiry-preview { min-width: 0; }
.sw-inquiry-preview__controls { box-sizing: border-box; max-width: 48rem; margin-inline: auto; padding: 1rem; border-top: 1px solid var(--sw-color-border, currentColor); color: var(--sw-color-text); font: inherit; }
.sw-inquiry-preview__controls p { margin: 0 0 1rem; line-height: 1.6; }
.sw-inquiry-preview__controls label { display: grid; gap: .5rem; }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/marketing-subscription.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/
/* Only the explicit opt-in newsletter form. The existing editorial section
 * supplies its saved width, type, tone and spacing; no shell or other form reset. */
.sw-marketing-subscription { display: grid; gap: 1rem; width: 100%; max-width: 42rem; margin-top: 1.5rem; color: inherit; }
.sw-marketing-subscription form { display: grid; gap: 1rem; min-width: 0; }
.sw-marketing-subscription__entry { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .75rem; align-items: end; }
.sw-marketing-subscription .sw-buyer-form-check-row { align-items: flex-start; padding-block: .5rem; }
.sw-marketing-subscription .sw-buyer-form-checkbox { margin-top: .2rem; accent-color: var(--sw-color-text); }
.sw-marketing-subscription button { min-width: 0; max-width: 100%; min-height: 44px; white-space: normal; overflow-wrap: anywhere; }
.sw-marketing-subscription__submit { height: auto; padding: .65rem 1rem; border: 1px solid var(--sw-color-text); background: var(--sw-color-surface-panel); color: var(--sw-color-text); border-radius: var(--sw-radius-control); }
/* The secondary actions sit directly on the saved editorial tone. Reusing a
 * light page's text token made withdrawal/recovery labels invisible on dark
 * closings. Keep the original action dimensions and transparent surface. */
.sw-marketing-subscription button[type="button"] { color: inherit; border-color: currentColor; }
.sw-marketing-subscription a { color: inherit; }
.sw-marketing-subscription .sw-marketing-subscription__notice { font-size: .875rem; line-height: 1.65; }
.sw-marketing-subscription__status:empty { height: 0; overflow: hidden; }
.sw-marketing-subscription :is(input,button,a,[role="status"],[role="alert"]):focus-visible { outline: 3px solid; outline-color: inherit; outline-offset: 3px; }
.sw-marketing-subscription > .sw-buyer-form-stack { justify-items: start; }
@container sw-editorial (max-width: 600px) {
  .sw-marketing-subscription__entry { grid-template-columns: minmax(0,1fr); }
  .sw-marketing-subscription__submit { width: 100%; }
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-focus.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************/
/* Opt-in non-interactive landmarks only. Inputs, buttons, links, menus and
 * dialogs retain their own focus-visible rings in the existing theme. */
[data-sw-focus-region][tabindex="-1"]:is(h1,h2,h3,h4,h5,h6,div,p,section,main,article):focus {
  outline: none;
}

/* A native keyboard/skip-link arrival or lost-control recovery gets a narrow
 * context marker, never a rectangle around the whole page. No geometry moves. */
[data-sw-focus-region][tabindex="-1"]:is(div,p,section,main,article):focus-visible:not([data-sw-focus-indicator="quiet"]) {
  box-shadow: inset 2px 0 0 var(--sw-color-focus-indicator, currentColor);
}
[data-sw-focus-region][tabindex="-1"]:is(h1,h2,h3,h4,h5,h6):focus-visible:not([data-sw-focus-indicator="quiet"]) {
  text-decoration: underline;
  text-decoration-color: var(--sw-color-focus-indicator, currentColor);
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
}
@media (forced-colors: active) {
  [data-sw-focus-region][tabindex="-1"]:is(div,p,section,main,article):focus-visible:not([data-sw-focus-indicator="quiet"]) {
    box-shadow: none;
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-reviews.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
/* Shared review presentation only; the app owns all data and commands. */
.sw-reviews {
  --sw-reviews-focus: var(--sw-color-text, #151515);
  container: sw-reviews / inline-size;
  scroll-margin-block-start: calc(var(--sw-site-header-height, 0px) + var(--sw-site-announcement-height, 0px) + 1rem);
  --sw-review-gap: 1rem;
  --sw-review-panel-space: 1.5rem;
  box-sizing: border-box; display: grid; gap: var(--sw-review-gap); min-width: 0;
  padding: var(--sw-review-panel-space);
  border: 1px solid var(--sw-color-border, #e5e5e5);
  font-size: .9375rem; line-height: 1.65;
  color: var(--sw-color-text, #151515); background: var(--sw-color-surface-panel, #fff);
  font-family: var(--sw-storefront-font-family, Inter, ui-sans-serif, system-ui, sans-serif);
  overflow-wrap: anywhere;
}
.sw-reviews[data-background="soft"] { background: var(--sw-color-surface-page, #f5f5f5); }
.sw-reviews[data-background="dark"] { --sw-reviews-focus: var(--sw-color-inverse-text, #fff); background: var(--sw-color-inverse-surface, #151515); color: var(--sw-color-inverse-text, #fff); }
.sw-reviews[data-spacing="compact"] { --sw-review-gap: .75rem; --sw-review-panel-space: 1rem; }
.sw-reviews[data-spacing="balanced"] { --sw-review-panel-space: 1.25rem; }
.sw-reviews[data-spacing="generous"] { --sw-review-gap: 1.5rem; --sw-review-panel-space: 1.5rem; }
.sw-reviews__header, .sw-reviews__published, .sw-reviews__request,
.sw-reviews__summary, .sw-reviews form { display: grid; min-width: 0; gap: 1rem; }
.sw-reviews__header { gap: .5rem; }
.sw-reviews .sw-reviews__header h2 { margin: 0; font-size: 1.6875rem; line-height: 1.4074; font-weight: 500; }
.sw-reviews .sw-reviews__header h2:lang(en) { font-weight: 400; }
.sw-reviews__header p, .sw-reviews__text { white-space: pre-wrap; margin: 0; }
.sw-reviews__text:lang(en) { font-size: .875rem; line-height: 1.5; }
.sw-reviews__overview { display: grid; grid-template-columns: minmax(10rem, .7fr) minmax(16rem, 1fr) minmax(12rem, 1.2fr); align-items: start; gap: 1.5rem; }
.sw-reviews__overview:empty { display: none; }
.sw-reviews__summary { gap: .5rem; align-content: start; }
.sw-reviews__summary p { margin: 0; font-size: .875rem; }
.sw-reviews__summary > strong { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; font-size: 1.125rem; font-weight: 500; }
.sw-reviews__entry-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.sw-reviews__entry-actions button { font-size: .875rem; font-weight: 400; }
.sw-reviews__tools { display: flex; align-items: end; flex-wrap: wrap; gap: .75rem 1rem; }
.sw-reviews__matching { margin: 0; font-size: .875rem; align-self: center; }
.sw-review-rating { display: inline-flex; flex: 0 0 auto; gap: .1rem; line-height: 0; vertical-align: middle; color: inherit; }
.sw-review-rating svg { display: block; flex: 0 0 16px; }
.sw-reviews__rating { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.sw-reviews__list, .sw-reviews__distribution { list-style: none; margin: 0; padding: 0; }
.sw-reviews__list > li { display: grid; gap: .5rem; border-top: 1px solid var(--sw-color-border, currentColor); padding-block: 1rem; }
.sw-reviews__byline, .sw-reviews__pagination { display: flex; gap: .5rem 1rem; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.sw-reviews__byline { justify-content: flex-start; font-size: .8125rem; }
.sw-reviews__author { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem .75rem; }
.sw-reviews__author strong { font-weight: 500; }
.sw-reviews .sw-reviews__review-title { margin: .25rem 0 0; font-size: 1rem; line-height: 1.5; font-weight: 600; }
.sw-reviews__source, .sw-reviews__management { margin: 0; font-size: .8125rem; }
.sw-reviews__management { max-width: 65ch; }
.sw-reviews__merchant-reply { margin:0; padding:1rem; border-inline-start:2px solid var(--sw-color-border,currentColor); display:grid; gap:.75rem; }
.sw-reviews__merchant-reply > :is(p,strong,time) { margin:0; }
.sw-reviews__merchant-reply time { font-size:.875rem; }
.sw-reviews__distribution { display: grid; gap: .25rem; font-size: .75rem; }
.sw-reviews__distribution li { display: grid; grid-template-columns: 5.5rem minmax(3rem, 1fr) 2.25rem 2.5rem; align-items: center; gap: .375rem; }
.sw-reviews__distribution .sw-review-rating svg { flex-basis: 16px; }
.sw-reviews meter { width: 100%; height: .875rem; appearance: none; color: inherit; background: transparent; }
.sw-reviews meter::-webkit-meter-bar { border: 1px solid var(--sw-color-border, #ddd); border-radius: 0; background: var(--sw-color-surface-panel, #fff); }
.sw-reviews meter::-webkit-meter-optimum-value { background: currentColor; }
.sw-reviews meter::-moz-meter-bar { background: currentColor; }
.sw-reviews__sort { display: grid; gap: .375rem; justify-self: start; max-width: 100%; font-size: .8125rem; }
.sw-reviews__sort select { min-height: 44px; font: inherit; width: auto; max-width: 100%; }
.sw-reviews__identity-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; }
.sw-reviews__write { border-top: 1px solid currentColor; padding-top: 1rem; }
.sw-reviews__write > p { margin-block: 1rem; }
.sw-reviews summary { min-height: 44px; box-sizing: border-box; padding-block: .6rem; cursor: pointer; }
.sw-reviews button { min-height: 44px; min-width: 0; max-width: 100%; padding: .65rem 1rem; border: 1px solid currentColor; border-radius: min(var(--sw-radius-control, .25rem), .35rem); color: inherit; background: transparent; white-space: normal; overflow-wrap: anywhere; }
.sw-reviews button[type="submit"] { justify-self: start; color: var(--sw-color-surface-panel, #fff); background: var(--sw-color-text, #151515); border-color: var(--sw-color-text, #151515); }
.sw-reviews[data-background="dark"] button[type="submit"] { color: var(--sw-color-inverse-surface, #151515); background: var(--sw-color-inverse-text, #fff); border-color: var(--sw-color-inverse-text, #fff); }
.sw-reviews .sw-buyer-form-input { border-radius: min(var(--sw-radius-control, .25rem), .35rem); }
.sw-reviews .sw-buyer-form-check-row { align-items: flex-start; padding-block: .5rem; }
.sw-reviews .sw-buyer-form-checkbox { margin-top: .2rem; }
.sw-reviews a { color: inherit; }
.sw-reviews [role="status"]:empty { height: 0; overflow: hidden; }
.sw-reviews :is(button, input, select, textarea, a, summary):focus-visible,
.sw-reviews :is([role="status"], [role="alert"]):focus { outline: 3px solid var(--sw-reviews-focus); outline-offset: 3px; }
.sw-product-review-summary { min-width: 0; max-width: 100%; margin: 0; font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; color: inherit; }
.sw-product-review-summary a { display: inline-flex; align-items: center; max-width: 100%; min-height: 44px; color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.sw-product-review-summary a > span { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem .75rem; }
.sw-product-review-summary strong { font-size: 1rem; }
.sw-product-review-summary a:focus-visible, .sw-reviews:focus { outline: 3px solid var(--sw-reviews-focus, currentColor); outline-offset: 3px; }
/* Home changes layout only; the list/source/focus implementation is shared. */
.sw-reviews__overview[data-read-error="true"] > :is(.sw-reviews__summary,.sw-reviews__distribution) { visibility: hidden; }
.sw-reviews__summary[data-review-placeholder] { min-block-size: 40px; }
.sw-reviews__distribution[data-review-placeholder] { min-block-size: 113px; box-sizing: border-box; }
[data-review-placeholder] > span { display: block; block-size: 1em; background: var(--sw-color-border, #e5e5e5); opacity: .55; }
.sw-product-review-summary[aria-busy="true"] a, .sw-product-question-summary[aria-busy="true"] a { opacity: .65; }
.sw-home-reviews { padding: 1.5rem 0 0; border: 0; color: inherit; background: transparent; --sw-reviews-focus: currentColor; }
.sw-home-reviews .sw-reviews__overview { grid-template-columns: minmax(0, 1fr) minmax(16rem, 1fr); }
.sw-home-reviews .sw-reviews__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.sw-public-editorial[data-columns="2"] .sw-home-reviews .sw-reviews__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sw-home-reviews .sw-reviews__list > li { align-content: start; padding-block: 1.25rem; }
.sw-home-reviews .sw-reviews__list > li > a { min-height: 44px; color: inherit; }
.sw-product-module[data-product-module="reviews"] { container: sw-product-reviews-frame / inline-size; }
@container sw-product-reviews-frame (max-width: 719px) {
  .sw-reviews[data-sw-reviews-mode] { padding: 1rem; }
}
@container sw-reviews (max-width: 759px) {
  .sw-reviews__overview, .sw-home-reviews .sw-reviews__overview { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .sw-reviews__distribution { width: 100%; max-width: 24rem; }
  .sw-reviews__entry-actions { justify-content: flex-start; }
  .sw-reviews .sw-reviews__header h2 { font-size: 1.5rem; line-height: 1.4167; }
}
@container sw-reviews (max-width: 679px) {
  .sw-home-reviews .sw-reviews__list, .sw-public-editorial[data-columns="2"] .sw-home-reviews .sw-reviews__list { grid-template-columns: minmax(0, 1fr); }
}
@container sw-reviews (max-width: 600px) {
  .sw-reviews__identity-fields { grid-template-columns: minmax(0, 1fr); }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-product-image-viewer.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Same qualified media, native top-layer modality, and existing theme tokens.
   Keep the enlargement independent of gallery presets and editor clipping. */
.sw-product-image-viewer__trigger { grid-column: 1 / -1; justify-self: start; min-width: 44px; min-height: 44px; margin-block: .5rem; padding: .65rem 1rem; border: 1px solid var(--sw-color-border, #aaa); border-radius: var(--sw-radius-control, 0); background: var(--sw-color-surface-panel, #fff); color: var(--sw-color-text, #151515); font: inherit; cursor: zoom-in; }
.sw-product-image-viewer__trigger[hidden] { display: none; }
.sw-product-image-viewer { box-sizing: border-box; width: min(94vw, 76rem); height: min(92dvh, 64rem); max-width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); margin: auto; padding: clamp(.75rem, 2vw, 1.5rem); border: 1px solid var(--sw-color-border, #aaa); border-radius: var(--sw-radius-card, 0); color: var(--sw-color-text, #151515); background: var(--sw-color-surface-panel, #fff); overflow: hidden; font-family: var(--sw-theme-body-font, inherit); text-align: start; }
.sw-product-image-viewer:not([open]) { display: none; }
.sw-product-image-viewer[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto auto; gap: .65rem; }
.sw-product-image-viewer::backdrop { background: rgb(0 0 0 / .72); }
.sw-product-image-viewer *, .sw-product-image-viewer *::before, .sw-product-image-viewer *::after { box-sizing: border-box; }
.sw-product-image-viewer__heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-width: 0; }
.sw-product-image-viewer__heading h2 { margin: 0; font-size: clamp(1.1rem, 3vw, 1.5rem); line-height: 1.35; color: inherit; }
.sw-product-image-viewer button { min-height: 44px; min-width: 44px; padding: .55rem .75rem; border: 1px solid var(--sw-color-border, #aaa); border-radius: var(--sw-radius-control, 0); background: var(--sw-color-surface-panel, #fff); color: inherit; font: inherit; line-height: 1.35; cursor: pointer; }
.sw-product-image-viewer button:disabled { opacity: .5; cursor: not-allowed; }
.sw-product-image-viewer button:focus-visible, .sw-product-image-viewer__trigger:focus-visible { outline: 3px solid var(--sw-color-focus-indicator, #005fcc); outline-offset: 2px; }
.sw-product-image-viewer__stage { min-width: 0; min-height: 0; overflow: auto; overscroll-behavior: contain; touch-action: pan-y pinch-zoom; background: var(--sw-color-surface-muted, #f5f5f5); }
.sw-product-image-viewer__stage[data-zoomed="true"] { touch-action: pan-x pan-y pinch-zoom; }
.sw-product-image-viewer__frame { width: min(100%, calc(58dvh * var(--sw-product-viewer-ratio, 1))); aspect-ratio: var(--sw-product-viewer-ratio, 1); margin-inline: auto; }
.sw-product-image-viewer__stage[data-zoomed="true"] .sw-product-image-viewer__frame { width: min(200%, calc(116dvh * var(--sw-product-viewer-ratio, 1))); max-width: none; }
.sw-product-image-viewer .sw-product-image-viewer__frame > :is(img,figure) { width: 100%; height: 100%; max-width: none; margin: 0; aspect-ratio: var(--sw-product-viewer-ratio, 1) !important; }
.sw-product-image-viewer__caption, .sw-product-image-viewer__hint { margin: 0; overflow-wrap: anywhere; font-size: .875rem; line-height: 1.5; }
.sw-product-image-viewer__hint { color: var(--sw-color-text-muted, #555); }
.sw-product-image-viewer__controls { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: .5rem; }
.sw-product-image-viewer__error { min-height: 100%; padding: 1rem; display: grid; place-content: center; gap: .75rem; text-align: center; }
.sw-product-image-viewer__error p { margin: 0; }
@media (max-height: 450px) {
  .sw-product-image-viewer[open] { gap: .25rem; padding: .5rem; }
  .sw-product-image-viewer__hint { display: none; }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-review-photos.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Review composition uses the existing buyer form and image-viewer families.
   Raster geometry is reserved before loading; originals never form a URL. */
.sw-review-photos, .sw-review-photo-fields { min-width: 0; max-width: 100%; font: inherit; color: inherit; }
.sw-review-photos { display: grid; gap: .5rem; }
.sw-review-photos__thumbnails { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 5px; min-width: 0; max-width: 100%; }
/* Reserve natural proportions before load. Bound exceptional panoramas/strips,
   without a group button, forced square crop or a second modal per photo. */
.sw-review-photos .sw-review-photos__thumbnail { box-sizing: border-box; display: grid; place-items: center; flex: 0 0 auto; width: min(240px, calc(120px * var(--sw-review-photo-ratio, 1))); max-width: 100%; min-width: 44px; height: 120px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; overflow: hidden; background: transparent; color: inherit; font: inherit; cursor: zoom-in; }
.sw-review-photos .sw-review-photos__thumbnail:disabled { cursor: default; }
.sw-review-photos .sw-review-photos__thumbnail:focus-visible { outline: 3px solid var(--sw-color-focus-indicator,#005fcc); outline-offset: 2px; }
.sw-review-photos__thumbnail img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sw-review-photos__thumbnail > span { padding: .25rem; font-size: .75rem; line-height: 1.4; overflow-wrap: anywhere; }
.sw-review-photos__full { display: block; object-fit: contain; }
.sw-review-photo-fields { margin: .75rem 0; padding: 1rem 0; border: 0; border-top: 1px solid var(--sw-color-border,currentColor); }
.sw-review-photo-fields legend { font: inherit; font-weight: 650; }
.sw-review-photo-fields p { margin: .5rem 0; font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere; }
.sw-review-photo-fields input[type="file"][hidden] { display: none; }
.sw-review-photo-fields__item { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: .75rem; align-items: start; margin-block: 1rem; }
.sw-review-photo-fields__item > img { width: 5rem; height: 5rem; object-fit: contain; background: var(--sw-color-surface-muted,#f5f5f5); }
.sw-review-photo-fields__item > button { grid-column: 2; justify-self: start; min-height: 44px; white-space: normal; max-width: 100%; }
.sw-review-photo-fields input:focus-visible { outline: 3px solid var(--sw-color-focus-indicator,#005fcc); outline-offset: 3px; }

/*!********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-async-region.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************/
/* A shared geometric shell, not a cache or a second loading state owner.
   Both layers remain in normal grid sizing so long translated errors can grow. */
.sw-buyer-async-region { position: relative; display: grid; min-width: 0; gap: inherit; }
.sw-buyer-async-region__content, .sw-buyer-async-region__status { grid-area: 1 / 1; min-width: 0; }
.sw-buyer-async-region__content { display: grid; gap: inherit; align-content: start; }
.sw-buyer-async-region__content[data-concealed="true"] { visibility: hidden; }
.sw-buyer-async-region__status { align-self: start; justify-self: start; max-width: 100%; overflow-wrap: anywhere; }
.sw-buyer-async-region__status--quiet { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sw-buyer-async-region[data-sw-async-region="pending"]::after { content: ''; position: absolute; inset-inline: 0; inset-block-start: 0; block-size: 2px; background: var(--sw-color-border, #e5e5e5); pointer-events: none; }
.sw-buyer-async-region__placeholder { min-block-size: var(--sw-async-placeholder-height, 14rem); display: grid; align-content: start; gap: 1rem; padding-block-start: 2rem; box-sizing: border-box; }
.sw-buyer-async-region__placeholder > span { block-size: 1em; inline-size: 85%; background: var(--sw-color-border, #e5e5e5); opacity: .55; }
.sw-buyer-async-region__placeholder > span:last-child { inline-size: 60%; }

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-questions.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************/
/* Product Q&A shares the existing buyer form/theme. No private-message styles
   or rating semantics are reused as product data. */
.sw-questions { container: sw-product-questions / inline-size; display: grid; min-width: 0; width: 100%; gap: 1.5rem; padding: 1.5rem; color: var(--sw-color-text,#151515); background: var(--sw-color-surface-panel,#fff); box-sizing: border-box; scroll-margin-block-start: calc(var(--sw-site-header-height,0px) + var(--sw-site-announcement-height,0px) + 1rem); }
.sw-questions :is(p,h2,h3) { margin: 0; overflow-wrap: anywhere; }
.sw-questions__header, .sw-questions__request, .sw-questions__published, .sw-questions form { display: grid; min-width: 0; gap: 1rem; }
.sw-questions__header h2 { font-family: var(--sw-theme-heading-font,inherit); font-size: 1.6875rem; font-weight: 500; line-height: 1.4; }
.sw-questions__header > p { white-space: pre-wrap; }
.sw-questions__write { border-block: 1px solid var(--sw-color-border,#ddd); padding-block: .75rem; }
.sw-questions__write > summary { display: list-item; width: fit-content; max-width: 100%; min-height: 44px; align-content: center; cursor: pointer; }
.sw-questions__write > p { margin-block: .75rem 1rem; line-height: 1.6; }
.sw-questions__write form { max-width: 50rem; }
.sw-questions__list { margin: 0; padding: 0; list-style: none; display: grid; min-width: 0; }
.sw-questions__list > li { border-top: 1px solid var(--sw-color-border,#ddd); padding-block: 1.5rem; display: grid; gap: .75rem; min-width: 0; }
.sw-questions__byline { display: flex; flex-wrap: wrap; gap: .5rem 1rem; justify-content: space-between; align-items: baseline; }
.sw-questions__byline > strong { font-weight: 500; }
.sw-questions__text { white-space: pre-wrap; font-size: .9375rem; line-height: 1.65; }
.sw-questions__meta, .sw-questions__byline time { font-size: .8125rem; line-height: 1.6; color: var(--sw-color-text-muted,#555); }
.sw-questions__answer { border-inline-start: 2px solid var(--sw-color-border,#ddd); padding-inline-start: 1rem; display: grid; gap: .5rem; min-width: 0; }
.sw-questions__answer h3 { font-size: .9375rem; line-height: 1.5; font-weight: 500; }
.sw-questions :is(summary,a):focus-visible, .sw-questions:focus-visible { outline: 3px solid var(--sw-color-focus-indicator,#005fcc); outline-offset: 3px; }
.sw-product-question-summary { font-size: .875rem; line-height: 1.5; min-width: 0; }
.sw-product-question-summary a { color: inherit; text-underline-offset: .2em; }
@container sw-product-questions (max-width: 40rem) { .sw-questions__header h2 { font-size: 1.5rem; } }
@media (max-width: 47.99rem) { .sw-questions { padding: 1rem; } }

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-hero-carousel.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-public-hero-carousel {
  container: sw-hero / inline-size;
  position: relative;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
  background: #0b0b0b;
  color: #ffffff;
  border-radius: 0;
}

.sw-public-hero-carousel__stage {
  position: relative;
  min-block-size: clamp(25rem, 48cqw, 40rem);
  isolation: isolate;
  background: #0b0b0b;
}

.sw-public-hero-carousel[data-responsive-composition="r2"] .sw-public-hero-carousel__stage {
  block-size: max(
    0px,
    calc(
      var(--sw-hero-viewport-bottom, 100dvh)
      - var(--sw-hero-natural-flow-inset, var(--sw-site-announcement-height, 0px))
    )
  );
  min-block-size: 0;
}

.sw-public-hero-carousel[data-responsive-composition="r4"] .sw-public-hero-carousel__stage {
  block-size: var(--sw-hero-viewport-bottom, 100dvh);
  min-block-size: 0;
}

[data-preview-mode="desktop"] .sw-public-hero-carousel:is([data-responsive-composition="r2"], [data-responsive-composition="r4"]) {
  --sw-hero-viewport-bottom: 900px;
}

[data-preview-mode="square"] .sw-public-hero-carousel:is([data-responsive-composition="r2"], [data-responsive-composition="r4"]) {
  --sw-hero-viewport-bottom: 1024px;
}

[data-preview-mode="mobile"] .sw-public-hero-carousel:is([data-responsive-composition="r2"], [data-responsive-composition="r4"]),
[data-preview-mode="portrait"] .sw-public-hero-carousel:is([data-responsive-composition="r2"], [data-responsive-composition="r4"]) {
  --sw-hero-viewport-bottom: 844px;
}

[data-preview-mode="landscape"] .sw-public-hero-carousel:is([data-responsive-composition="r2"], [data-responsive-composition="r4"]) {
  --sw-hero-viewport-bottom: 390px;
}

.sw-public-hero-carousel__slide {
  position: relative;
  min-width: 0;
}

.sw-public-hero-carousel__media,
.sw-public-hero-carousel__copy {
  position: absolute;
  inset: 0;
  min-width: 0;
}

.sw-public-hero-carousel__media {
  overflow: hidden;
  background: #0b0b0b;
}

.sw-public-hero-carousel__media::after {
  content: '';
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    linear-gradient(180deg, rgb(0 0 0 / 0.24) 0%, rgb(0 0 0 / 0.02) 34%, rgb(0 0 0 / 0.18) 64%, rgb(0 0 0 / 0.68) 100%),
    linear-gradient(90deg, rgb(0 0 0 / 0.34) 0%, transparent 44%, rgb(0 0 0 / 0.08) 100%);
  pointer-events: none;
}

.sw-public-hero-carousel .sw-public-hero-carousel__media img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  user-select: none;
  pointer-events: none;
}

.sw-public-hero-carousel__image {
  z-index: 1;
  object-fit: cover;
  object-position: var(--sw-hero-focal-x, 50%) var(--sw-hero-focal-y, 50%);
}

.sw-public-hero-carousel__backdrop {
  z-index: 0;
  display: none;
  object-fit: cover;
  object-position: var(--sw-hero-focal-x, 50%) var(--sw-hero-focal-y, 50%);
  filter: blur(28px) saturate(0.78) brightness(0.58);
  scale: 1.09;
  opacity: 0.84;
}

.sw-public-hero-carousel__media[data-background-policy="contain"] .sw-public-hero-carousel__image {
  object-fit: contain;
}

.sw-public-hero-carousel__media[data-background-policy="soft-extend"] .sw-public-hero-carousel__backdrop {
  display: block;
}

.sw-public-hero-carousel__media[data-background-policy="soft-extend"] .sw-public-hero-carousel__image {
  object-fit: contain;
}

/* R4 preserves the complete master image vertically. Width follows the
   intrinsic ratio, so only the left/right edges can leave the viewport. */
.sw-public-hero-carousel[data-responsive-composition="r4"] .sw-public-hero-carousel__media {
  background: var(--sw-hero-side-fill, #0b0b0b);
}

.sw-public-hero-carousel[data-responsive-composition="r4"] .sw-public-hero-carousel__image {
  inset-block: 0;
  inset-inline: auto;
  left: var(--sw-hero-focal-x, 50%);
  width: auto;
  max-width: none;
  height: 100%;
  transform: translateX(var(--sw-hero-focal-shift-x, -50%));
  object-fit: contain;
  object-position: 50% 50%;
}

.sw-public-hero-carousel__empty-media {
  position: absolute;
  z-index: 3;
  inset: 1rem auto auto 1rem;
  padding: 0.35rem 0.55rem;
  border: 1px solid rgb(255 255 255 / 0.38);
  background: rgb(0 0 0 / 0.56);
  color: #f2f2f2;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}

.sw-public-hero-carousel__copy {
  z-index: 3;
  pointer-events: none;
}

.sw-public-hero-carousel__position {
  position: absolute;
  left: var(--sw-hero-x);
  top: var(--sw-hero-y);
  transform: translate(
    calc(var(--sw-hero-translate-x) + var(--sw-hero-offset-x)),
    calc(var(--sw-hero-translate-y) + var(--sw-hero-offset-y))
  );
  width: max-content;
  max-width: min(42rem, 82%);
  text-align: var(--sw-hero-text-align);
  pointer-events: auto;
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__title {
  margin: 0;
  color: #ffffff;
  font-family: var(--sw-theme-heading-font, inherit);
  font-weight: var(--sw-theme-heading-weight, 680);
  font-size: clamp(1.7rem, 3.5cqw, 4.2rem);
  line-height: 1.03;
  letter-spacing: -0.035em;
  text-wrap: balance;
  overflow-wrap: anywhere;
  text-shadow: 0 2px 24px rgb(0 0 0 / 0.36);
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__title[data-size="sm"] {
  font-size: clamp(1.2rem, 2.4cqw, 2.1rem);
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__title[data-size="lg"] {
  font-size: clamp(2rem, 4.6cqw, 5rem);
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__title[data-size="xl"] {
  font-size: clamp(2.35rem, 5.4cqw, 6.25rem);
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__body {
  margin: 0;
  max-width: min(36rem, 72cqw);
  color: rgb(255 255 255 / 0.9);
  font-size: clamp(0.9rem, 1.05cqw, 1.08rem);
  font-weight: 420;
  line-height: 1.58;
  letter-spacing: 0.01em;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  text-shadow: 0 1px 16px rgb(0 0 0 / 0.42);
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__body[data-size="sm"] {
  font-size: 0.82rem;
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__body[data-size="lg"] {
  font-size: clamp(1rem, 1.35cqw, 1.28rem);
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__body[data-size="xl"] {
  font-size: clamp(1.1rem, 1.65cqw, 1.5rem);
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8rem;
  min-height: 44px;
  padding: 0.7rem 1.2rem;
  border: 1px solid rgb(255 255 255 / 0.78);
  border-radius: 0;
  background: rgb(0 0 0 / 0.18);
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  text-decoration: none;
  overflow-wrap: anywhere;
  backdrop-filter: blur(8px);
  transition: background-color 160ms ease-out, color 160ms ease-out, border-color 160ms ease-out;
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__cta:is(:hover, :focus-visible) {
  border-color: #ffffff;
  background: #ffffff;
  color: #101010;
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__cta[data-size="sm"] {
  min-width: 7rem;
  font-size: 0.72rem;
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__cta[data-size="lg"] {
  min-width: 9.5rem;
  padding-inline: 1.5rem;
  font-size: 0.84rem;
}

.sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__cta[data-size="xl"] {
  min-width: 10.5rem;
  padding-inline: 1.75rem;
  font-size: 0.9rem;
}

.sw-public-hero-carousel__controls {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: max(1rem, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  max-width: calc(100% - 2rem);
  padding: 0.15rem;
  border: 0;
  background: transparent;
  color: #ffffff;
}

.sw-public-hero-carousel__pages {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.sw-public-hero-carousel .sw-public-hero-carousel__controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0.3rem 0.55rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgb(255 255 255 / 0.72);
  font: inherit;
  font-size: 0.72rem;
  font-weight: 620;
  letter-spacing: 0.08em;
  cursor: pointer;
  text-shadow: 0 1px 10px rgb(0 0 0 / 0.76);
  transition: color 140ms ease-out, background-color 140ms ease-out;
}

.sw-public-hero-carousel .sw-public-hero-carousel__controls button:is(:hover, :focus-visible),
.sw-public-hero-carousel .sw-public-hero-carousel__controls button[aria-current="true"] {
  color: #ffffff;
  background: rgb(0 0 0 / 0.24);
}

.sw-public-hero-carousel .sw-public-hero-carousel__pages button[aria-current="true"]::after {
  content: '';
  position: absolute;
  inset: auto 0.55rem 0.45rem;
  height: 1px;
  background: currentColor;
}

.sw-public-hero-carousel .sw-public-hero-carousel__pages button {
  position: relative;
}

.sw-public-hero-carousel .sw-public-hero-carousel__controls button:disabled {
  opacity: 0.38;
  cursor: default;
}

.sw-public-hero-carousel .sw-public-hero-carousel__controls button.sw-public-hero-carousel__play {
  min-width: 4.5rem;
  flex-shrink: 0;
  white-space: nowrap;
}

.sw-public-hero-carousel a:focus-visible,
.sw-public-hero-carousel button:focus-visible {
  outline: 3px solid var(--sw-color-focus-indicator, #ffffff);
  outline-offset: 2px;
}

.sw-public-hero-carousel[data-active-aspect="portrait"] .sw-public-hero-carousel__position {
  max-width: 86%;
}

.sw-public-hero-carousel[data-active-aspect="portrait"] .sw-public-hero-carousel__controls,
.sw-public-hero-carousel[data-active-aspect="landscape"] .sw-public-hero-carousel__controls {
  bottom: max(0.45rem, env(safe-area-inset-bottom));
}

.sw-public-hero-carousel[data-active-aspect="landscape"] .sw-public-hero-carousel__title[data-size="xl"] {
  font-size: clamp(1.8rem, 5cqw, 3.4rem);
}

.sw-public-hero-carousel[data-active-aspect="landscape"] .sw-public-hero-carousel__body {
  font-size: clamp(0.78rem, 1.5cqw, 1rem);
}

@container sw-hero (max-width: 480px) {
  .sw-public-hero-carousel__position {
    max-width: 88%;
  }

  .sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__title[data-size] {
    font-size: clamp(1.75rem, 9cqw, 2.9rem);
  }

  /* R4 keeps the merchant's type scale on narrow canvases too. Applying the
     large mobile size to every setting can wrap a medium title back into the
     product. Only typography changes; the master and authored anchors stay put. */
  .sw-public-hero-carousel[data-responsive-composition="r4"] .sw-public-hero-carousel__copy .sw-public-hero-carousel__title[data-size="sm"] {
    font-size: clamp(1.2rem, 5.5cqw, 1.35rem);
  }

  .sw-public-hero-carousel[data-responsive-composition="r4"] .sw-public-hero-carousel__copy .sw-public-hero-carousel__title[data-size="md"] {
    font-size: clamp(1.5rem, 7cqw, 1.75rem);
  }

  .sw-public-hero-carousel[data-responsive-composition="r4"] .sw-public-hero-carousel__copy .sw-public-hero-carousel__title[data-size="xl"] {
    font-size: clamp(2rem, 10.5cqw, 3.25rem);
  }

  .sw-public-hero-carousel .sw-public-hero-carousel__copy .sw-public-hero-carousel__body[data-size] {
    max-width: 82cqw;
    font-size: 0.92rem;
  }

  .sw-public-hero-carousel__pages button:nth-child(n + 6) {
    display: none;
  }

  .sw-public-hero-carousel[data-responsive-composition="legacy"][data-mobile-layout="stacked"] {
    background: #111111;
  }

  .sw-public-hero-carousel[data-responsive-composition="legacy"][data-mobile-layout="stacked"] .sw-public-hero-carousel__stage {
    block-size: auto;
    min-block-size: 0;
  }

  .sw-public-hero-carousel[data-responsive-composition="legacy"][data-mobile-layout="stacked"] .sw-public-hero-carousel__slide {
    position: relative;
  }

  .sw-public-hero-carousel[data-responsive-composition="legacy"][data-mobile-layout="stacked"] .sw-public-hero-carousel__media {
    position: relative;
    aspect-ratio: 4 / 5;
  }

  .sw-public-hero-carousel[data-responsive-composition="legacy"][data-mobile-layout="stacked"] .sw-public-hero-carousel__copy {
    position: relative;
    display: grid;
    gap: 1rem;
    padding: 1.25rem 1.25rem 5.25rem;
  }

  .sw-public-hero-carousel[data-responsive-composition="legacy"][data-mobile-layout="stacked"] .sw-public-hero-carousel__position {
    position: relative;
    inset: auto;
    transform: none;
    width: 100%;
    max-width: 100%;
    text-align: left;
  }

  .sw-public-hero-carousel[data-responsive-composition="legacy"][data-mobile-layout="stacked"] .sw-public-hero-carousel__controls {
    bottom: 0.55rem;
  }
}

@keyframes sw-hero-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes sw-hero-slide-up {
  from { opacity: 0; translate: 0 0.6rem; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes sw-hero-slide-left {
  from { opacity: 0; translate: 0.6rem 0; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes sw-hero-zoom {
  from { opacity: 0; scale: 0.985; }
  to { opacity: 1; scale: 1; }
}

.sw-public-hero-carousel[data-motion="full"] [data-animation="fade"] {
  animation: sw-hero-fade 300ms ease-out both;
}

.sw-public-hero-carousel[data-motion="full"] [data-animation="slide-up"] {
  animation: sw-hero-slide-up 300ms ease-out both;
}

.sw-public-hero-carousel[data-motion="full"] [data-animation="slide-left"] {
  animation: sw-hero-slide-left 300ms ease-out both;
}

.sw-public-hero-carousel[data-motion="full"] [data-animation="zoom"] {
  animation: sw-hero-zoom 300ms ease-out both;
}

@media (prefers-reduced-motion: reduce) {
  .sw-public-hero-carousel *,
  .sw-public-hero-carousel *::before,
  .sw-public-hero-carousel *::after {
    scroll-behavior: auto;
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* Explicit v4 presentation. Immutable R4/legacy publications keep the preceding
   geometry and controls until the merchant saves and adopts the new mode. */
.sw-public-hero-carousel[data-sw-hero-motion="timed"] .sw-public-hero-carousel__stage {
  block-size: var(--sw-hero-viewport-bottom, 100dvh);
  min-block-size: 0;
}
.sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__media {
  background: var(--sw-hero-side-fill, #0b0b0b);
}
.sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__media::after {
  background: linear-gradient(180deg, rgb(0 0 0 / .4), transparent 25%, transparent 65%, rgb(0 0 0 / .6)),
    linear-gradient(90deg, transparent 32%, rgb(0 0 0 / .6) 61%, rgb(0 0 0 / .6));
}
.sw-public-hero-carousel__image-visual {
  position: absolute;
  inset: 0;
  transform: scale(1.2);
  transform-origin: 50% 50%;
  pointer-events: none;
}
.sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__image {
  inset-block: 0;
  inset-inline: auto;
  left: var(--sw-hero-focal-x, 50%);
  width: auto;
  max-width: none;
  height: 100%;
  transform: translateX(var(--sw-hero-focal-shift-x, -50%));
  object-fit: contain;
  mask-image: linear-gradient(90deg, transparent 0%, #000 var(--sw-hero-side-fade, 0%),
    #000 calc(100% - var(--sw-hero-side-fade, 0%)), transparent 100%);
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"][data-motion="reduced"] .sw-public-hero-carousel__image-visual {
  transform: scale(1);
}
.sw-public-hero-carousel[data-sw-image-state="loading"] .sw-public-hero-carousel__image-visual,
.sw-public-hero-carousel[data-sw-image-state="failed"] .sw-public-hero-carousel__image-visual {
  visibility: hidden;
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"] .sw-public-hero-carousel__controls {
  inset-inline: 0;
  bottom: env(safe-area-inset-bottom, 0px);
  height: 44px;
  width: 100%;
  max-width: none;
  padding: 0;
  transform: none;
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"] .sw-public-hero-carousel__controls .sw-public-hero-carousel__arrow {
  display: none;
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"] .sw-public-hero-carousel__pages {
  position: absolute;
  left: 50%;
  top: 0;
  height: 44px;
  transform: translateX(-50%);
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"] .sw-public-hero-carousel__pages button {
  display: inline-flex;
  flex: 0 0 44px;
  min-width: 44px;
  padding: 0;
  background: transparent;
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"]:is([data-slide-count="5"], [data-slide-count="6"], [data-slide-count="7"], [data-slide-count="8"]) .sw-public-hero-carousel__pages button {
  flex-basis: 24px;
  min-width: 24px;
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"] .sw-public-hero-carousel__pages button::after {
  display: none;
}
.sw-public-hero-carousel__dot {
  display: block;
  box-sizing: border-box;
  width: 8px;
  height: 8px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: transparent;
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"] button[aria-current="true"] .sw-public-hero-carousel__dot {
  background: #fff;
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"] .sw-public-hero-carousel__controls button.sw-public-hero-carousel__play {
  position: absolute;
  right: 12px;
  top: 0;
  min-width: 44px;
  width: 44px;
  color: #fff;
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"] button:focus-visible {
  outline-color: #fff;
  outline-offset: -3px;
}
.sw-public-hero-carousel__timeline {
  position: absolute;
  inset: auto 0 0;
  z-index: 6;
  height: var(--sw-hero-timeline-height, 1px);
  pointer-events: none;
}
.sw-public-hero-carousel__timeline > span {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  transform-origin: left center;
  transform: scaleX(var(--sw-hero-progress, 0));
}
@container sw-hero (max-width: 767px) {
  .sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__media::after {
    background: linear-gradient(180deg, rgb(0 0 0 / .6) 0%, rgb(0 0 0 / .6) 53%, rgb(0 0 0 / .12) 70%, rgb(0 0 0 / .6) 100%);
  }
  .sw-public-hero-carousel[data-sw-hero-motion="timed"] .sw-public-hero-carousel__stage {
    block-size: auto;
    aspect-ratio: 3 / 4;
  }
  .sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__image {
    left: 50%;
    transform: translateX(-50%);
  }
  /* The shorter mobile frame has a real copy flow, not three desktop offsets
     colliding after crop. Keep the image geometry independent of copy height. */
  .sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__copy {
    --sw-header-copy-top: calc(var(--sw-site-announcement-height, 0px) + var(--sw-site-header-height, 64px) + 12px);
    inset: var(--sw-header-copy-top) 16px 52px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }
  .sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__position {
    position: static;
    transform: none;
    width: auto;
    max-width: 100%;
    text-align: left;
  }
  .sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__copy .sw-public-hero-carousel__title[data-size] {
    font-size: clamp(1.15rem, 5.8cqw, 1.55rem);
    line-height: 1.13;
  }
  .sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__copy .sw-public-hero-carousel__body[data-size] {
    max-width: none;
    font-size: .875rem;
    line-height: 1.4;
  }
  .sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__cta-position {
    margin-top: auto;
  }
  .sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-position="top-right"] .sw-public-hero-carousel__copy {
    left: 50%;
    align-items: flex-end;
  }
  .sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-position="top-right"] .sw-public-hero-carousel__position {
    text-align: right;
  }
  .sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-position="top-right"] .sw-public-hero-carousel__cta-position {
    margin-top: 0;
  }
}

/* A collision changes text flow, never the master-image viewport. Short copy
   retains its authored overlay; long copy remains complete and keyboard
   reachable without an inner scrollbar or a second copy of the content. */
.sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__copy,
.sw-public-hero-carousel[data-responsive-composition="r6"] .sw-public-hero-carousel__position {
  /* These are measured layout boxes, not animated text. A blanket reduced-
     motion duration must not animate width between measurement candidates. */
  transition-property: none;
}
.sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="stack"] .sw-public-hero-carousel__copy {
  --sw-header-copy-top: calc(var(--sw-site-announcement-height, 0px) + var(--sw-site-header-height, 0px) + 16px);
  inset: var(--sw-header-copy-top) 5% 60px auto;
  width: min(42rem, 90%);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 12px;
}
.sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="stack"][data-copy-position^="bottom"] .sw-public-hero-carousel__copy {
  justify-content: safe flex-end;
}
.sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="stack"][data-copy-position$="left"] .sw-public-hero-carousel__copy {
  left: 5%;
  right: auto;
  align-items: flex-start;
}
.sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="stack"] .sw-public-hero-carousel__position,
.sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="flow"] .sw-public-hero-carousel__position {
  position: static;
  inset: auto;
  transform: none;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  margin: 0;
  text-align: right;
}
.sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="stack"][data-copy-position$="left"] .sw-public-hero-carousel__position {
  text-align: left;
}
.sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="flow"] .sw-public-hero-carousel__copy {
  --sw-header-copy-top: auto;
  position: relative;
  inset: auto;
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 24px max(16px, calc((100% - 52rem) / 2));
  background: #111111;
}
.sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="flow"] .sw-public-hero-carousel__position {
  text-align: left;
}
.sw-public-hero-carousel[data-sw-hero-motion="timed"] .sw-public-hero-carousel__cta {
  /* Native focus scrolling must leave the focused link below the same sticky
     header in both the document and the original editor scrollport. */
  scroll-margin-block-start: calc(var(--sw-site-header-height, 0px) + var(--sw-site-announcement-height, 0px) + 16px);
  scroll-margin-block-end: 16px;
}
.sw-public-hero-carousel[data-responsive-composition="r6"]:is([data-copy-layout="stack"], [data-copy-layout="flow"]) .sw-public-hero-carousel__body {
  max-width: 100%;
}
.sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="flow"] .sw-public-hero-carousel__controls {
  top: calc(var(--sw-hero-frame-height) - 44px - env(safe-area-inset-bottom, 0px));
  bottom: auto;
}
.sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="flow"] .sw-public-hero-carousel__timeline {
  top: calc(var(--sw-hero-frame-height) - 1px);
  bottom: auto;
}
@container sw-hero (max-width: 767px) {
  .sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="stack"] .sw-public-hero-carousel__copy {
    left: 16px;
    right: 16px;
    width: auto;
    bottom: 52px;
    gap: 8px;
  }
  .sw-public-hero-carousel[data-responsive-composition="r6"][data-copy-layout="stack"][data-copy-position="top-right"] .sw-public-hero-carousel__copy {
    left: 50%;
  }
}

/* v5 is an explicitly adopted presentation, not an override of the historical
   height-fit branch. The master is CSS cover at every viewport and zoom frame. */
.sw-public-hero-carousel[data-responsive-composition="r8"] {
  --sw-hero-timeline-height: 3px;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__media::after {
  background: linear-gradient(180deg, rgb(0 0 0 / .28), transparent 30%, transparent 55%, rgb(0 0 0 / .62));
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__image {
  object-fit: cover;
  object-position: 50% 50%;
}
.sw-public-hero-carousel__outgoing {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  transform-origin: 50% 50%;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__slide {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__stage {
  grid-area: 1 / 1;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy,
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__position {
  transition: none;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy[data-active="false"] {
  visibility: hidden;
  pointer-events: none;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy[data-copy-layout="stack"] {
  inset: calc(var(--sw-hero-copy-inset, 0px) + 16px) 5% 60px auto;
  width: min(42rem, 90%);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 12px;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy[data-copy-layout="stack"][data-copy-position^="bottom"] {
  justify-content: safe flex-end;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy[data-copy-layout="stack"][data-copy-position$="left"] {
  left: 5%;
  right: auto;
  align-items: flex-start;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy:is([data-copy-layout="stack"], [data-copy-layout="flow"]) .sw-public-hero-carousel__position {
  position: static;
  inset: auto;
  transform: none;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  margin: 0;
  text-align: right;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy:is([data-copy-layout="stack"], [data-copy-layout="flow"]) .sw-public-hero-carousel__body {
  max-width: 100%;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy[data-copy-layout="stack"][data-copy-position$="left"] .sw-public-hero-carousel__position {
  text-align: left;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy[data-copy-layout="flow"] {
  position: relative;
  grid-area: 2 / 1;
  inset: auto;
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 24px max(16px, calc((100% - 52rem) / 2));
  background: #111111;
}
.sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy[data-copy-layout="flow"] .sw-public-hero-carousel__position {
  text-align: left;
}
.sw-public-hero-carousel[data-responsive-composition="r8"][data-copy-layout="flow"] .sw-public-hero-carousel__controls {
  top: calc(var(--sw-hero-frame-height) - 44px - env(safe-area-inset-bottom, 0px));
  bottom: auto;
}
.sw-public-hero-carousel[data-responsive-composition="r8"][data-copy-layout="flow"] .sw-public-hero-carousel__timeline {
  top: calc(var(--sw-hero-frame-height) - var(--sw-hero-timeline-height));
  bottom: auto;
}
.sw-public-hero-carousel__reveal[data-revealing="true"] {
  overflow: hidden;
}
.sw-public-hero-carousel[data-responsive-composition="r8"][data-sw-image-state="loading"] .sw-public-hero-carousel__copy:not(:focus-within) [data-hero-copy-part] {
  visibility: hidden;
}
@container sw-hero (max-width: 767px) {
  .sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy:not([data-copy-layout="flow"]) {
    /* Keep the panel's outer box fixed while the shared Header is measured.
       Only internal clearance changes; the authored text ends at the same
       position and the transparent panel no longer shifts during hydration. */
    inset: 0 16px 52px;
    padding-top: calc(var(--sw-hero-copy-inset, 0px) + 12px);
    width: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }
  .sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__position {
    position: static;
    transform: none;
    width: auto;
    max-width: 100%;
    text-align: left;
  }
  .sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy .sw-public-hero-carousel__title[data-size] {
    font-size: clamp(1.15rem, 5.8cqw, 1.55rem);
    line-height: 1.13;
  }
  .sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy .sw-public-hero-carousel__body[data-size] {
    max-width: none;
    font-size: .875rem;
    line-height: 1.4;
  }
  .sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy:not([data-copy-layout="flow"]) .sw-public-hero-carousel__cta-position {
    margin-top: auto;
  }
  .sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy:not([data-copy-layout="flow"])[data-copy-position="top-right"] {
    left: 50%;
    align-items: flex-end;
  }
  .sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy:not([data-copy-layout="flow"])[data-copy-position="top-right"] .sw-public-hero-carousel__position {
    text-align: right;
  }
  .sw-public-hero-carousel[data-responsive-composition="r8"] .sw-public-hero-carousel__copy:not([data-copy-layout="flow"])[data-copy-position="top-right"] .sw-public-hero-carousel__cta-position {
    margin-top: 0;
  }
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-catalog-grid.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-public-catalog-grid { container: sw-catalog-grid / inline-size; width: 100%; min-width: 0; color: var(--sw-color-text); background: var(--sw-color-surface-panel); overflow-wrap: anywhere; }
.sw-public-catalog-grid *, .sw-public-catalog-grid *::before, .sw-public-catalog-grid *::after { box-sizing: border-box; }
.sw-public-catalog-grid__inner { padding: 1.5rem; margin-inline: auto; }
.sw-public-catalog-grid[data-width="compact"] .sw-public-catalog-grid__inner { max-width: 48rem; }
.sw-public-catalog-grid[data-width="split"] .sw-public-catalog-grid__inner { max-width: 60rem; }
.sw-public-catalog-grid__header { display: grid; justify-items: start; gap: .75rem; margin-bottom: 1.5rem; }
.sw-public-catalog-grid h1, .sw-public-catalog-grid h2, .sw-public-catalog-grid h3, .sw-public-catalog-grid h4, .sw-public-catalog-grid h5, .sw-public-catalog-grid h6, .sw-public-catalog-grid p { margin: 0; overflow-wrap: anywhere; }
.sw-public-catalog-grid__header > :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(1.5rem, 3cqi, 2rem); line-height: 1.3; }
.sw-public-catalog-grid p { font-size: 1rem; line-height: 1.7; white-space: pre-wrap; }
.sw-public-catalog-grid a { color: inherit; text-decoration: none; }
.sw-public-catalog-grid a:focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 3px; }
.sw-public-catalog-grid__items { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.sw-public-catalog-grid:where([data-columns="2"]) .sw-public-catalog-grid__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sw-public-catalog-grid:where([data-columns="4"]) .sw-public-catalog-grid__items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sw-public-catalog-grid__items > li { min-width: 0; display: flex; flex-direction: column; position: relative; }
.sw-public-catalog-grid__media, .sw-public-catalog-grid__missing { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; background: var(--sw-color-surface-muted); border-radius: var(--sw-radius-media); }
.sw-public-catalog-grid[data-card-ratio="4:5"] :is(.sw-public-catalog-grid__media,.sw-public-catalog-grid__missing) { aspect-ratio: 4/5; }
.sw-public-catalog-grid[data-card-ratio="3:4"] :is(.sw-public-catalog-grid__media,.sw-public-catalog-grid__missing) { aspect-ratio: 3/4; }
.sw-public-catalog-grid__media img { width: 100%; height: 100%; object-fit: contain; display: block; }
/* Category tiles are image-led navigation, not product-detail media. Preserve
 * product cards with contain, but let category artwork fill its authored frame. */
.sw-public-catalog-grid[data-catalog-kind="categories"] .sw-public-catalog-grid__media img { object-fit: cover; }
.sw-public-catalog-grid__media .sw-public-catalog-grid__mobile { display: none; }
.sw-public-catalog-grid__missing { display: grid; place-items: center; color: var(--sw-color-text-muted); font-size: .875rem; }
.sw-public-catalog-grid__copy { min-width: 0; padding-block: 1rem; display: grid; align-content: start; gap: .65rem; }
.sw-public-catalog-grid__copy > :is(h2,h3,h4,h5,h6) { font-size: 1.125rem; line-height: 1.5; }
.sw-public-catalog-grid__price { font-weight: 650; }
.sw-public-catalog-grid__link, .sw-public-catalog-grid__header > a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline !important; text-underline-offset: .25em; }
.sw-public-catalog-grid[data-spacing="dense"] .sw-public-catalog-grid__items { gap: .75rem; }
.sw-public-catalog-grid[data-spacing="loose"] .sw-public-catalog-grid__items { gap: 2rem; }
.sw-public-catalog-grid[data-spacing="dense"] .sw-public-catalog-grid__inner { padding: 1rem; }
.sw-public-catalog-grid[data-spacing="loose"] .sw-public-catalog-grid__inner { padding: 2rem; }
.sw-public-catalog-grid[data-card-style="soft-commerce"] .sw-public-catalog-grid__items > li,
.sw-public-catalog-grid[data-card-style="text-card"] .sw-public-catalog-grid__items > li { border: 1px solid var(--sw-color-border); border-radius: var(--sw-radius-panel); padding: 1rem; }
.sw-public-catalog-grid[data-card-style="image-overlay"] li[data-has-media="true"] { display: grid; }
.sw-public-catalog-grid[data-card-style="image-overlay"] li[data-has-media="true"] > .sw-public-catalog-grid__media,
.sw-public-catalog-grid[data-card-style="image-overlay"] li[data-has-media="true"] > .sw-public-catalog-grid__copy { grid-area: 1 / 1; }
.sw-public-catalog-grid[data-card-style="image-overlay"] li[data-has-media="true"] .sw-public-catalog-grid__media { height: 100%; min-height: 20rem; }
.sw-public-catalog-grid[data-card-style="image-overlay"] li[data-has-media="true"] .sw-public-catalog-grid__copy { z-index: 1; align-self: end; padding: 1rem; color: #fff; background: rgb(23 23 23 / .94); }
/* A category is one native link, including the image, label and empty-media area. */
.sw-public-catalog-grid__category { display: flex; flex-direction: column; flex: 1; min-width: 0; }
/* Keep the image square. Only a short caption band overlaps it; longer copy
 * grows below the image instead of stretching it or covering the whole photo. */
.sw-public-catalog-grid[data-catalog-kind="categories"] .sw-public-catalog-grid__items { align-items: start; }
.sw-public-catalog-grid[data-card-style="image-overlay"] li[data-has-media="true"] > .sw-public-catalog-grid__category { display: grid; grid-template-columns: minmax(0,1fr); align-content: start; }
.sw-public-catalog-grid[data-card-style="image-overlay"] li[data-has-media="true"] .sw-public-catalog-grid__category .sw-public-catalog-grid__media { grid-area: 1 / 1; height: auto; min-height: 0; border-radius: 0; }
.sw-public-catalog-grid[data-card-style="image-overlay"] li[data-has-media="true"] .sw-public-catalog-grid__category .sw-public-catalog-grid__copy { grid-area: 2 / 1; margin-top: -4.5rem; min-height: 4.5rem; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .25rem .5rem; padding: .65rem; }
.sw-public-catalog-grid[data-card-style="image-overlay"] .sw-public-catalog-grid__category .sw-public-catalog-grid__copy > :is(h2,h3,h4,h5,h6) { grid-column: 1 / -1; font-size: 1rem; line-height: 1.3; }
.sw-public-catalog-grid[data-card-style="image-overlay"] .sw-public-catalog-grid__category .sw-public-catalog-grid__description { font-size: .8125rem; line-height: 1.4; }
/* Collection descriptions are prose, not short category counts. Give them the
 * full caption width and place the action below, including narrow desktop cards. */
.sw-public-catalog-grid[data-catalog-kind="collections"][data-card-style="image-overlay"] li[data-has-media="true"] .sw-public-catalog-grid__category .sw-public-catalog-grid__copy { grid-template-columns: minmax(0, 1fr); align-items: start; }
.sw-public-catalog-grid[data-catalog-kind="categories"][data-card-style="image-overlay"][data-width="full"] .sw-public-catalog-grid__inner { max-width: var(--sw-content-max, 1240px); }
/* Collections remain native navigation cards, with the selected storefront's
 * normal editorial weight rather than the legacy theme's heavy headings. */
[data-theme-content-layout="contained-1250"] .sw-public-catalog-grid[data-catalog-kind="collections"] :is(.sw-public-catalog-grid__header, .sw-public-catalog-grid__copy) > :is(h1,h2,h3,h4,h5,h6) { font-family: var(--sw-storefront-font-family, inherit); font-weight: 400; }
[data-theme-content-layout="contained-1250"] .sw-public-catalog-grid[data-catalog-kind="collections"] .sw-public-catalog-grid__copy > :is(h2,h3,h4,h5,h6) { font-size: clamp(1rem, 2cqi, 1.25rem); line-height: 1.3; }
/* Category indexes use the same normal editorial weight. The merchant intro
 * stays visible; only its presentation is tightened for the selected theme. */
[data-theme-content-layout="contained-1250"] .sw-public-catalog-grid[data-catalog-kind="categories"] .sw-public-catalog-grid__header > :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--sw-storefront-font-family, inherit); font-size: clamp(1.5rem, 2.4cqi, 1.75rem); font-weight: 400; line-height: 1.35;
}
.sw-public-catalog-grid__category .sw-public-catalog-grid__link { min-height: 0; font-size: .8125rem; }
.sw-public-catalog-grid__category .sw-public-catalog-grid__media img { transition: transform .25s ease; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .sw-public-catalog-grid__category:hover .sw-public-catalog-grid__media img { transform: scale(1.03); }
}
@media (prefers-reduced-motion: reduce) {
  .sw-public-catalog-grid__category .sw-public-catalog-grid__media img { transition: none; }
}
.sw-public-catalog-groups { min-width: 0; width: 100%; background: var(--sw-color-surface-panel); color: var(--sw-color-text); }
.sw-public-catalog-groups > .sw-public-catalog-grid__header { padding: 1.5rem; margin: 0 auto; max-width: var(--sw-content-max, 1240px); overflow-wrap: anywhere; }
.sw-public-catalog-groups > .sw-public-catalog-grid__header :is(h2,h3,h4,p) { margin: 0; white-space: pre-wrap; }
.sw-public-catalog-groups > [data-catalog-group] + [data-catalog-group] { border-top: 1px solid var(--sw-color-border); }
.sw-public-catalog-grid__rail-hint { display: none; }
.sw-public-catalog-grid__items:focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 3px; }
@container sw-catalog-grid (max-width: 680px) {
  .sw-public-catalog-grid[data-catalog-mobile-rail="true"] .sw-public-catalog-grid__items {
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%;
    max-width: 100%; overflow-x: auto; scroll-snap-type: x proximity; padding: .25rem;
  }
  .sw-public-catalog-grid[data-catalog-mobile-rail="true"] .sw-public-catalog-grid__items > li { scroll-snap-align: start; }
  .sw-public-catalog-grid[data-catalog-mobile-rail="true"] .sw-public-catalog-grid__rail-hint { display: block; font-size: .875rem; margin-bottom: .75rem; }
}
.sw-public-catalog-grid__empty { padding-block: 1rem; }
.sw-public-catalog-grid__browsing { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem 1rem; margin-bottom: 1.5rem; }
.sw-public-catalog-grid__browsing label { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; min-width: 0; }
.sw-public-catalog-grid__browsing select, .sw-public-catalog-grid__pagination button, .sw-public-catalog-grid__pagination a { min-height: 44px; max-width: 100%; padding: .5rem .75rem; border: 1px solid var(--sw-color-border); border-radius: var(--sw-radius-control); background: var(--sw-color-surface-panel); color: inherit; font: inherit; }
.sw-public-catalog-grid__browsing .sw-public-catalog-grid__sort-note { flex-basis: 100%; font-size: .875rem; color: var(--sw-color-text-muted); }
.sw-public-catalog-grid__pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; }
.sw-public-catalog-grid__pagination button { min-width: 88px; cursor: pointer; }
.sw-public-catalog-grid__pagination a { min-width: 88px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }
.sw-public-catalog-grid__browsing form { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.sw-public-catalog-grid[data-catalog-source="all_products"][data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__header > :is(h1,h2,h3,h4,h5,h6,p) { justify-self: center; text-align: center; }
.sw-public-catalog-grid[data-catalog-source="all_products"] .sw-public-catalog-grid__browsing form { margin-inline-start: auto; justify-content: flex-end; }
.sw-public-catalog-grid__pagination button:disabled { opacity: .5; cursor: default; }
.sw-public-catalog-grid__browsing :focus-visible, .sw-public-catalog-grid__pagination :focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 3px; }
@container sw-catalog-grid (max-width: 680px) {
  .sw-public-catalog-grid .sw-public-catalog-grid__items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .sw-public-catalog-grid .sw-public-catalog-grid__inner { padding: 1rem; }
  .sw-public-catalog-grid__media .sw-public-catalog-grid__desktop { display: none; }
  .sw-public-catalog-grid__media .sw-public-catalog-grid__mobile { display: block; }
  .sw-public-catalog-grid .sw-public-catalog-grid__category .sw-public-catalog-grid__copy { padding: .65rem; }
  .sw-public-catalog-grid__category .sw-public-catalog-grid__copy > :is(h2,h3,h4,h5,h6) { font-size: 1rem; }
  .sw-public-catalog-grid__category .sw-public-catalog-grid__description { font-size: .875rem; }
  /* Translated category actions must not squeeze the count into a one-character
   * column. Keep the whole native card link and let its caption grow below the image. */
  .sw-public-catalog-grid[data-catalog-kind="categories"][data-card-style="image-overlay"] li[data-has-media="true"] .sw-public-catalog-grid__category .sw-public-catalog-grid__copy {
    grid-template-columns: minmax(0, 1fr); align-items: start;
  }
}

/* Finite, shared catalog presentations; no shop-specific IDs or content edits. */
.sw-public-catalog-grid[data-catalog-kind="products"] .sw-public-catalog-grid__description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.sw-public-catalog-grid__links { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.sw-public-catalog-grid__quick { min-height: 44px; max-width: 100%; padding: .5rem .7rem; border: 1px solid currentColor; border-radius: var(--sw-radius-control); background: transparent; color: inherit; font: inherit; font-size: .875rem; line-height: 1.4; cursor: pointer; }
.sw-public-catalog-grid__quick[hidden] { display: none; }
.sw-public-catalog-grid__quick:focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 3px; }
.sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__inner { max-width: var(--sw-content-max, 1240px); padding: clamp(1.5rem, 4cqi, 3.5rem) clamp(1rem, 3cqi, 2.5rem); }
.sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__header { grid-template-columns: minmax(0,1fr) minmax(0,3fr) minmax(0,1fr); align-items: start; margin-bottom: 2.5rem; }
.sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__header > :is(h1,h2,h3,h4,h5,h6,p) { grid-column: 2; justify-self: center; text-align: center; font-weight: 400; }
.sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__header > a { grid-column: 3; grid-row: 1; justify-self: end; font-size: .8rem; }
.sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__media { border-radius: 0; background: var(--sw-color-surface-panel); }
.sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__media img { transition: transform .3s ease; }
.sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__copy { gap: .35rem; }
.sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__copy > :is(h2,h3,h4,h5,h6) { font-size: 1rem; font-weight: 500; line-height: 1.55; }
.sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__price { font-size: .875rem; font-weight: 400; }
.sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__availability { position: absolute; right: 0; top: 0; max-width: 90%; padding: .3rem .65rem; color: #fff; background: #171717; font-size: .75rem; letter-spacing: .08em; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .sw-public-catalog-grid[data-card-style="bigidesign-minimal"] li:hover .sw-public-catalog-grid__media img { transform: scale(1.04); }
}
@container sw-catalog-grid (max-width: 680px) {
  .sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__header { grid-template-columns: minmax(0,1fr); gap: .75rem; margin-bottom: 1.5rem; }
  .sw-public-catalog-grid[data-card-style="bigidesign-minimal"] .sw-public-catalog-grid__header > :is(h1,h2,h3,h4,h5,h6,p,a) { grid-column: 1; grid-row: auto; justify-self: start; text-align: left; }
  .sw-public-catalog-grid[data-catalog-kind="products"] .sw-public-catalog-grid__copy > :is(h2,h3,h4,h5,h6) { font-size: .9rem; }
  .sw-public-catalog-grid__links { gap: .25rem; font-size: .8rem; }
  .sw-public-catalog-grid__quick { width: 100%; }
}
/* Explicit image-led navigation preset. Historical image-overlay/ratio and
 * product cards are untouched. Prose stays visible below the image, so longer
 * translations cannot stretch the photo or disappear under a caption mask. */
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__inner { display: flex; flex-direction: column; padding-block: 60px; }
.sw-public-catalog-grid[data-card-style="image-tile"][data-catalog-intro="image-first"] .sw-public-catalog-grid__header { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__browsing { order: 1; margin: 20px 0 0; }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__browsing p { font-size: .875rem; color: var(--sw-color-text-muted); }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__pagination { order: 2; }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__items { gap: 30px; align-items: start; }
.sw-public-catalog-grid[data-card-style="image-tile"][data-spacing="dense"] .sw-public-catalog-grid__items { gap: 16px; }
.sw-public-catalog-grid[data-card-style="image-tile"][data-spacing="loose"] .sw-public-catalog-grid__items { gap: 40px; }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__category { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(300px, auto); align-content: start; }
.sw-public-catalog-grid[data-card-style="image-tile"] :is(.sw-public-catalog-grid__media, .sw-public-catalog-grid__missing) { grid-area: 1 / 1; position: relative; aspect-ratio: auto; min-height: 300px; height: 100%; border-radius: 0; }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__media { container: sw-catalog-tile / inline-size; }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__media img { position: absolute; inset: 0; object-fit: cover; object-position: center; }
/* Match the actual tile width against this preset's 300px desktop frame.
 * Grid queries are named so a media container cannot switch desktop/mobile
 * image sources using the tile's width instead of the enclosing list width. */
@container sw-catalog-grid (min-width: 681px) {
  @container sw-catalog-tile (max-width: 300px) {
    .sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__media img { object-fit: contain; }
  }
}
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / .84), transparent 55%); pointer-events: none; }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__copy { display: contents; }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__copy > :is(h2,h3,h4,h5,h6) { grid-area: 1 / 1; align-self: end; z-index: 1; margin: 0; padding: 25px; font-family: var(--sw-storefront-font-family, inherit); font-size: 1.25rem; font-weight: 400; line-height: 1.3; text-transform: uppercase; }
.sw-public-catalog-grid[data-card-style="image-tile"] [data-has-media="true"] .sw-public-catalog-grid__copy > :is(h2,h3,h4,h5,h6) { color: #fff; text-shadow: 0 1px 2px rgb(0 0 0 / .4); }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__description { grid-column: 1; margin-top: 12px; font-size: .875rem; line-height: 1.5; }
.sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__links { grid-column: 1; margin-top: 8px; }
@container sw-catalog-grid (max-width: 680px) {
  .sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__inner { padding-block: 30px; }
  .sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__items { gap: 22px; }
  .sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__category { grid-template-rows: minmax(150px, auto); }
  .sw-public-catalog-grid[data-card-style="image-tile"] :is(.sw-public-catalog-grid__media, .sw-public-catalog-grid__missing) { min-height: 150px; }
  .sw-public-catalog-grid[data-card-style="image-tile"] .sw-public-catalog-grid__copy > :is(h2,h3,h4,h5,h6) { padding: 12px; font-size: .875rem; }
}
[data-theme-content-layout="contained-1250"] .sw-public-catalog-grid[data-catalog-kind="categories"][data-card-style="image-tile"] .sw-public-catalog-grid__inner { padding-block: 40px; }
[data-theme-content-layout="contained-1250"] .sw-public-catalog-grid[data-catalog-kind="categories"][data-card-style="image-tile"] .sw-public-catalog-grid__header { margin-bottom: 1.25rem; }
@container sw-catalog-grid (max-width: 680px) {
  [data-theme-content-layout="contained-1250"] .sw-public-catalog-grid[data-catalog-kind="categories"][data-card-style="image-tile"] .sw-public-catalog-grid__inner { padding-block: 24px; }
}

.sw-catalog-dialog { width: min(960px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); box-sizing: border-box; margin: auto; padding: 0; border: 1px solid var(--sw-color-border, #ddd); color: var(--sw-color-text, #171717); background: var(--sw-color-surface-panel, #fff); overflow: auto; overscroll-behavior: contain; }
.sw-catalog-dialog::backdrop { background: rgb(0 0 0 / .55); }
.sw-catalog-dialog__close { display: flex; position: sticky; top: 0; z-index: 1; align-items: center; justify-content: center; gap: .75rem; min-height: 44px; min-width: 88px; margin-left: auto; border: 0; background: var(--sw-color-surface-panel, #fff); color: inherit; font: inherit; cursor: pointer; }
.sw-catalog-dialog__layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem; padding: 0 2rem 2rem; }
.sw-catalog-dialog__media { display: grid; place-items: center; align-self: start; min-width: 0; aspect-ratio: 1; background: var(--sw-color-surface-muted, #f5f5f5); }
.sw-catalog-dialog__media img { width: 100%; height: 100%; max-height: 65dvh; object-fit: contain; }
.sw-catalog-dialog__copy { display: grid; align-content: start; gap: 1rem; min-width: 0; overflow-wrap: anywhere; }
.sw-catalog-dialog__copy h2 { font-size: clamp(1.25rem, 3vw, 1.75rem); line-height: 1.4; }
.sw-catalog-dialog__body { white-space: pre-wrap; overflow-wrap: anywhere; }
.sw-catalog-dialog .sw-catalog-dialog__notice, .sw-catalog-dialog .sw-catalog-dialog__eyebrow { font-size: .8125rem; line-height: 1.6; }
.sw-catalog-dialog__eyebrow { letter-spacing: .1em; }
.sw-catalog-dialog__product { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 0; max-width: 100%; padding: .7rem 1.35rem; border: 1px solid currentColor; border-radius: var(--sw-radius-control); line-height: 1.4; text-align: center; text-decoration: none; }
.sw-catalog-dialog button { min-height: 44px; cursor: pointer; font: inherit; }
.sw-catalog-dialog :is(a,button):focus-visible { outline: 3px solid var(--sw-color-focus-indicator, #3054d9); outline-offset: -3px; }
@media (max-width: 680px) {
  .sw-catalog-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
  .sw-catalog-dialog__layout { grid-template-columns: minmax(0,1fr); gap: 1rem; padding: 0 1rem calc(1rem + env(safe-area-inset-bottom)); }
  .sw-catalog-dialog__media { width: min(100%, 22rem); justify-self: center; }
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-quantity-control.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-quantity-control.sw-quantity-control { display: inline-flex; align-items: center; gap: .5rem; width: max-content; max-width: 100%; flex: 0 0 auto; }
.sw-quantity-control__stepper { display: inline-flex; align-items: stretch; gap: 0; }
.sw-quantity-control.sw-quantity-control :is(button,input) { box-sizing: border-box; margin: 0; min-width: 36px; width: 36px; min-height: 36px; height: 36px; padding: 0; border: 1px solid var(--sw-color-border, #aaa); border-radius: 0; background: var(--sw-color-surface-panel, #fff); color: var(--sw-color-text, #171717); font: inherit; font-size: .875rem; line-height: 1; text-align: center; box-shadow: none; }
.sw-quantity-control.sw-quantity-control button { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.sw-quantity-control.sw-quantity-control input { width: 2.5rem; border-inline: 0; font-variant-numeric: tabular-nums; appearance: textfield; }
.sw-quantity-control__stepper > button:first-child { border-inline-end: 0; }
.sw-quantity-control__stepper > button:last-child { border-inline-start: 0; }
.sw-quantity-control.sw-quantity-control .sw-quantity-control__remove { border-color: transparent; background: transparent; }
.sw-quantity-control.sw-quantity-control button > span { font-size: 16px; line-height: 1; font-weight: 400; }
.sw-quantity-control.sw-quantity-control :is(button,input):disabled { opacity: .45; cursor: not-allowed; }
.sw-quantity-control.sw-quantity-control button:hover:not(:disabled) { background: var(--sw-color-surface-subtle, #f4f4f4); }
.sw-quantity-control.sw-quantity-control :is(button,input):focus-visible { position: relative; z-index: 1; outline: 2px solid var(--sw-color-focus-indicator, #111); outline-offset: 2px; }
.sw-quantity-control.sw-quantity-control input[aria-invalid="true"] { border-block-style: dashed; }
@media (max-width: 47.99rem), (pointer: coarse) {
  .sw-quantity-control.sw-quantity-control :is(button,input) { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
}
@media (max-width: 22.5rem) {
  .sw-header-cart__line-editor:has(.sw-quantity-control) { grid-column: 1 / -1; }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-product-complements.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-public-product-complements { color: inherit; font: inherit; padding-block: 2rem; border-top: 1px solid currentColor; }
.sw-public-product-complements h2 { font-size: 1.5rem; margin-block: 0 1rem; }
.sw-public-product-complements ul { list-style: none; padding: 0; margin: 1rem 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.sw-public-product-complements label { display: flex; align-items: center; gap: .75rem; min-height: 80px; cursor: pointer; }
.sw-public-product-complements label > span { min-width: 0; overflow-wrap: anywhere; }
.sw-public-product-complements label span > * { display: block; }
.sw-public-product-complements img { flex: 0 0 72px; object-fit: contain; }
.sw-public-product-complements input { width: 20px; height: 20px; flex-shrink: 0; accent-color: currentColor; }
.sw-public-product-complements button { font: inherit; min-height: 44px; padding: .6rem 1rem; margin: .5rem .5rem .5rem 0; border: 1px solid currentColor; background: transparent; cursor: pointer; }
.sw-public-product-complements button:disabled { cursor: not-allowed; opacity: .55; }
.sw-public-product-complements :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media(max-width: 640px) { .sw-public-product-complements ul { grid-template-columns: minmax(0,1fr); } }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/product-reading-layout.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/
/* Explicit saved presentation only. Historical stacked sections and fact-only
   previews retain their original composition. Gaps are inside the fr tracks. */
.sw-product-reading { container: sw-product-reading / inline-size; min-width: 0; width: 100%; }
.sw-product-reading__columns { display: grid; grid-template-columns: minmax(0,1fr); gap: 32px; min-width: 0; align-items: start; }
.sw-product-reading__gallery, .sw-product-reading__details { min-width: 0; }
.sw-product-reading__details { display: grid; gap: 32px; }
.sw-product-reading :is(.sw-product-gallery,.sw-product-summary,.sw-product-specifications,.sw-product-service-information) { padding-inline: 0; }
.sw-product-reading .sw-product-gallery { padding-block: 0; }
.sw-product-reading .sw-product-gallery__primary { max-width: min(100%,var(--sw-reading-primary-max,100%)); margin-inline: auto !important; }
.sw-product-reading__details > .sw-product-module + .sw-product-module { border-top: 1px solid var(--sw-color-border,#ddd); padding-top: 28px; }
.sw-product-reading .sw-product-summary { padding-block: 0; max-width: none; margin-inline: 0; }
.sw-product-reading .sw-product-summary > :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(1.5rem,6cqw,2.25rem); line-height: 1.2; }
.sw-product-reading .sw-product-body__sections { padding: 0; gap: 28px; }
.sw-product-reading .sw-product-body__sections > [data-section-type] { padding-inline: 0; border: 0; border-radius: 0; box-shadow: none; }
.sw-product-reading .sw-product-body :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(1.2rem,5cqw,1.65rem); line-height: 1.3; }
.sw-product-reading .sw-product-specifications { padding-block: 0; }
.sw-product-reading .sw-product-specifications > h2 { font-size: 1.35rem; }
.sw-product-reading .sw-product-service-information { padding-block: 0; }
@container sw-product-reading (min-width: 760px) {
  .sw-product-reading__columns { grid-template-columns: minmax(0,55fr) minmax(0,45fr); column-gap: 32px; }
  .sw-product-reading[data-desktop-column-ratio="60-40"] .sw-product-reading__columns { grid-template-columns: minmax(0,60fr) minmax(0,40fr); }
  .sw-product-reading[data-desktop-column-ratio="50-50"] .sw-product-reading__columns { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .sw-product-reading[data-desktop-media-side="right"] .sw-product-reading__gallery { grid-column: 2; grid-row: 1; }
  .sw-product-reading[data-desktop-media-side="right"] .sw-product-reading__details { grid-column: 1; grid-row: 1; }
  .sw-product-reading[data-desktop-media-side="right"][data-desktop-column-ratio="60-40"] .sw-product-reading__columns { grid-template-columns: minmax(0,40fr) minmax(0,60fr); }
  .sw-product-reading[data-desktop-media-side="right"][data-desktop-column-ratio="55-45"] .sw-product-reading__columns { grid-template-columns: minmax(0,45fr) minmax(0,55fr); }
  .sw-product-reading[data-gallery-sticky="true"] .sw-product-reading__gallery { position: sticky; top: var(--sw-reading-sticky-top,16px); }
}
@container sw-product-reading (min-width: 1100px) {
  .sw-product-reading__columns { column-gap: 56px; }
}
@container sw-product-reading (max-width: 759px) {
  .sw-product-reading__gallery { position: static; }
  .sw-product-reading[data-mobile-order="info-first"] .sw-product-reading__details { order: -1; }
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-product-feedback.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Keep this storefront layout out of merchant review sheets sharing class names.
   The zero-specificity boundary preserves the existing storefront cascade. */
/* PDP-11, explicit saved presentation. Measured BIGiDESIGN reference:
   star/bar rgb(251,205,10), reply surface rgb(242,242,242). One accent owner. */
.sw-product-page-composition[data-feedback-layout="tabs-v1"] { --sw-review-accent: #fbcd0a; }
.sw-product-page-composition[data-feedback-layout="tabs-v1"] .sw-product-review-summary .sw-review-rating { color: var(--sw-review-accent); }
.sw-feedback:where([data-product-feedback="tabs-v1"]) { container: sw-unified-feedback / inline-size; min-width: 0; width: 100%; box-sizing: border-box; border: 1px solid #eee; background: #fff; color: var(--sw-color-text, #1c1d1d); scroll-margin-block-start: calc(var(--sw-site-header-height, 0px) + var(--sw-site-announcement-height, 0px) + 16px); }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__layout { display: grid; grid-template-columns: minmax(129px, max-content) minmax(290px, 318px) minmax(0, 1fr); column-gap: 16px; row-gap: 12px; padding: 24px; min-width: 0; font: 400 13px/1.4 var(--sw-storefront-font-family, sans-serif); }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"])[data-product-feedback] :is(.sw-product-module,.sw-reviews,.sw-questions,.sw-reviews__published),
.sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-composition-preview__section-frame--product-reviews,.sw-composition-preview__section-frame--product-questions) { display: contents; container-type: normal; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) [hidden] { display: none !important; }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__header { grid-row: 1; grid-column: 1 / -1; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-feedback__header h2 { margin: 0; font-size: 27px; line-height: 37.8px; font-weight: 500; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-feedback__header h2:lang(en) { font-weight: 400; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__overview { grid-row: 2; grid-column: 1 / 3; display: grid; grid-template-columns: subgrid; align-items: start; gap: 16px; }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__preview-summary { grid-row: 2; grid-column: 1 / 3; margin: 0; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__summary { gap: 4px; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__summary > strong { font-size: 13px; line-height: 18.2px; font-weight: 400; gap: 6px; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__summary p { font-size: 13px; line-height: 18.2px; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-review-rating { color: var(--sw-review-accent); }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__distribution { box-sizing: border-box; width: 100%; padding: 4px 16px; border-inline: 1px solid #f3f3f3; font-size: 12px; line-height: 16.8px; gap: 5px; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__distribution { grid-template-columns: 88px minmax(32px, 1fr) max-content max-content; column-gap: 6px; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__distribution li { grid-column: 1 / -1; grid-template-columns: subgrid; min-height: 17px; column-gap: 6px; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__distribution li > span { white-space: nowrap; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-review-rating svg { width: 14px; height: 14px; flex-basis: 14px; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__distribution .sw-review-rating svg { width: 16px; height: 16px; flex-basis: 16px; }
/* Preserve the native value/max and accessible counts. Both native wrappers
   need an explicit track height; resetting only the bar leaves the inner
   wrapper compressed. Anchor the full-height wrappers without UA offsets. */
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) meter { color: var(--sw-review-accent); height: 16px; appearance: none; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) meter::-webkit-meter-inner-element { display: block; height: 100%; position: static; transform: none; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) meter::-webkit-meter-bar { position: static; transform: none; margin: 0; box-sizing: border-box; height: 100%; border: 1px solid #eee; border-radius: 0; background: #fff; box-shadow: none; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) meter::-webkit-meter-optimum-value { height: 100%; background: var(--sw-review-accent); }
.sw-feedback:where([data-product-feedback="tabs-v1"]) meter::-moz-meter-bar { background: var(--sw-review-accent); }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__actions { grid-row: 2; grid-column: 3; display: flex; flex-wrap: wrap; align-content: start; align-items: start; justify-content: end; gap: 0 8px; margin-top: -7px; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-feedback__actions > button { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; max-width: 100%; padding: 7px 0; border: 0; border-radius: 0; font: 400 13px/18.2px var(--sw-storefront-font-family, sans-serif); color: inherit; background: transparent; cursor: pointer; }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__actions > button > span { display: block; padding: 5px 10px; border: 1px solid currentColor; overflow-wrap: anywhere; }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__actions > button:hover > span { background: #f6f6f6; }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__actions > button:active > span { background: #eee; }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__actions > button[aria-expanded="true"] > span { background: #1c1d1d; color: #fff; border-color: #1c1d1d; }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__tabs { grid-row: 4; grid-column: 1 / -1; display: flex; gap: 16px; border-bottom: 1px solid #eee; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-feedback__tabs > button { min-height: 44px; padding: 10px 0 8px; min-width: 44px; margin: 0 0 -1px; font: 400 13px/18.2px var(--sw-storefront-font-family, sans-serif); border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; color: inherit; cursor: pointer; }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__tabs > button[aria-selected="true"] { border-bottom-color: currentColor !important; }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__tabs > button:hover { color: #666; }
:where([data-product-feedback="tabs-v1"]) .sw-feedback__panel { grid-row: 5; grid-column: 1 / -1; min-width: 0; display: grid; gap: 12px; align-content: start; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request] { grid-row: 3; grid-column: 1 / -1; min-width: 0; margin: 0; gap: 12px; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__write,.sw-questions__write) { border: 0; padding: 0; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__write,.sw-questions__write) > p { margin-block: 8px; font-size: 13px; line-height: 1.5; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-buyer-form-fieldset { gap: 16px; }
/* The saved editorial controls otherwise override the feedback font rule.
   Scope their existing tokens to these two original requests, not Cart or
   other templates. Required guidance/consent and all owner fields stay intact. */
.sw-product-page-composition[data-feedback-layout="tabs-v1"] .sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request] {
 --sw-product-control-size: 14px; --sw-product-control-leading: 21px;
 --sw-product-control-weight: 400; --sw-product-control-radius: 0px;
 --sw-product-control-min: 44px; --sw-product-control-block: 8px; --sw-product-control-inline: 10px;
 font-size: 13px; line-height: 1.5; font-weight: 400;
}
.sw-product-page-composition[data-feedback-layout="tabs-v1"] .sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request]:lang(en) { --sw-product-control-size: 13px; --sw-product-control-leading: 18.2px; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-questions__write form { width: 100%; max-width: none; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request] .sw-buyer-form-field { gap: 4px; font-size: 13px; line-height: 1.5; font-weight: 400; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request]:lang(en) .sw-buyer-form-field { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(input:not([type=checkbox]),select,textarea) { border-radius: 0; font-size: 14px; font-weight: 400; line-height: 21px; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request] .sw-buyer-form-input { padding: 8px 10px; border-color: #ddd; letter-spacing: normal; text-transform: none; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request] textarea.sw-buyer-form-input { min-height: 108px; resize: vertical; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) button[type=submit] { min-height: 44px; font-size: 13px; line-height: 18px; font-weight: 500; padding: 10px 20px; border-radius: 0; justify-self: start; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__list,.sw-questions__list) { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__list,.sw-questions__list) > li { display: grid; gap: 4px; padding: 16px 0; border-top: 1px solid #eee; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__list,.sw-questions__list) > li:first-child { border-top: 0; padding-top: 4px; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__byline,.sw-reviews__author,.sw-questions__byline) { font-size: 13px; line-height: 18.2px; gap: 8px; justify-content: start; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__byline,.sw-reviews__author,.sw-questions__byline) strong { font-size: inherit; font-weight: 500; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__text,.sw-questions__text) { margin: 0; font-size: 14px; line-height: 23px; font-weight: 400; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__text,.sw-questions__text):lang(en) { font-size: 13px; line-height: 18.2px; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__review-title,.sw-questions__answer h3,.sw-reviews__merchant-reply > strong) { margin: 0; font-size: 14px; line-height: 22px; font-weight: 500; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-reviews__source,.sw-questions__meta) { margin: 0; font-size: 12px; line-height: 18px; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) :is(.sw-questions__answer,.sw-reviews__merchant-reply) { margin: 8px 0 0; background: #f2f2f2; border: 0; border-inline-start: 2px solid #e2e2e2; padding: 12px 16px; display: grid; gap: 4px; }
/* These are the original independent server sort/filter controls. Keep them
   compact without merging their values or hiding any available choice. */
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__tools { --sw-product-control-size: 13px; --sw-product-control-leading: 18px; --sw-product-control-radius: 0px; gap: 8px 16px; align-items: center; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__sort { display: flex; gap: 6px; align-items: center; }
.sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__sort select { padding: 4px 24px 4px 8px; height: 44px; min-height: 44px; font-size: 13px; line-height: 18px; background-color: #fff; border: 1px solid #eee; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__matching { font-size: 12px; }
/* Photo selection stays with the existing Review/Media owner and native input.
   Only this saved presentation gets the same quiet, square form controls. */
.sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request] .sw-review-photo-fields { margin: 8px 0 0; padding: 0; border: 0; gap: 8px; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request] .sw-review-photo-fields legend { padding: 0; font-size: 13px; line-height: 1.5; font-weight: 400; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request]:lang(en) .sw-review-photo-fields legend { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request] .sw-review-photo-fields p { margin: 0; font-size: 13px; line-height: 1.5; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request] .sw-review-photo-fields__item { margin: 0; gap: 8px; }
.sw-product-page-composition[data-feedback-layout="tabs-v1"] .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-review-photo-fields button { justify-self: start; width: auto; min-height: 44px; min-width: 44px; max-width: 100%; padding: 7px 10px; border: 1px solid currentColor; border-radius: 0; color: inherit; background: transparent; font: 400 13px/18px var(--sw-storefront-font-family, sans-serif); }
.sw-product-page-composition[data-feedback-layout="tabs-v1"] .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-review-photo-fields button:hover:not(:disabled) { background: #f6f6f6; }
.sw-product-page-composition[data-feedback-layout="tabs-v1"] .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-review-photo-fields button:active:not(:disabled) { background: #eee; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) :is(button,a,input,select,textarea,[role=tabpanel]):focus-visible,
.sw-feedback:where([data-product-feedback="tabs-v1"]):not([data-sw-focus-region]):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
/* Original module inspectors remain separate controls, outside reading/list UI. */
.sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-composition-preview__section-actions { position: relative; inset: auto; grid-row: 6; margin: 8px 0; justify-self: start; border-radius: var(--sw-primitive-radius-control); }
.sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-composition-preview__section-frame--product-reviews > .sw-composition-preview__section-actions { grid-column: 1 / 3; }
.sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-composition-preview__section-frame--product-questions > .sw-composition-preview__section-actions { grid-column: 3; }
@container sw-unified-feedback (max-width: 759px) {
 :where([data-product-feedback="tabs-v1"]) .sw-feedback__layout { grid-template-columns: minmax(0, 1fr); padding: 24px; gap: 12px; }
 /* The measured 390px reference places two full-width actions between the
    summary and histogram. Flatten only this presentation wrapper; original
    review data, controllers and the desktop subgrid remain unchanged. */
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__overview { display: contents; }
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__summary { grid-row: 2; grid-column: 1; }
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__distribution { grid-row: 4; grid-column: 1; max-width: 318px; padding: 0; border: 0; gap: 10px; }
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__distribution { grid-template-columns: 104px minmax(32px, 1fr) max-content max-content; column-gap: 6px; }
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__distribution li { grid-template-columns: subgrid; min-height: 20px; }
 .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__distribution .sw-review-rating { gap: 0; }
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__distribution .sw-review-rating svg { width: 20px; height: 20px; flex-basis: 20px; }
 :where([data-product-feedback="tabs-v1"]) .sw-feedback__actions { grid-row: 3; grid-column: 1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; justify-content: stretch; margin: 0; }
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-feedback__actions > button { width: 100%; }
 :where([data-product-feedback="tabs-v1"]) .sw-feedback__actions > button > span { width: 100%; box-sizing: border-box; text-align: center; }
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request] { grid-row: 5; }
 :where([data-product-feedback="tabs-v1"]) .sw-feedback__tabs { grid-row: 6; }
 :where([data-product-feedback="tabs-v1"]) .sw-feedback__panel { grid-row: 7; }
 :where([data-product-feedback="tabs-v1"]) .sw-feedback__preview-summary { grid-row: 2; grid-column: 1; }
 /* Explicit rows keep editor controls out of the empty closed-form track. */
 .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-composition-preview__section-frame--product-reviews > .sw-composition-preview__section-actions { grid-row: 8; grid-column: 1 !important; }
 .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-composition-preview__section-frame--product-questions > .sw-composition-preview__section-actions { grid-row: 9; grid-column: 1 !important; }
 .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__identity-fields { grid-template-columns: minmax(0, 1fr); }
 /* Option text identifies each control visually; keep both original labels
    available to assistive technology and both 44px controls on one row. */
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__tools { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 8px; }
 .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__sort { position: relative; display: block; min-width: 0; width: 100%; }
 .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__sort > label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__sort select { width: 100%; min-width: 0; max-width: 100%; }
 .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-reviews__matching { grid-column: 1 / -1; margin: 0; }
 /* Preserve readable editable text and avoid focus zoom in mobile browsers;
    compact labels, square borders and 44px action targets remain unchanged. */
 .sw-product-page-composition[data-feedback-layout="tabs-v1"] .sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request],
 .sw-product-page-composition[data-feedback-layout="tabs-v1"] .sw-feedback:where([data-product-feedback="tabs-v1"]) [data-feedback-request]:lang(en) { --sw-product-control-size: 16px; --sw-product-control-leading: 24px; }
 .sw-product-page-composition .sw-feedback:where([data-product-feedback="tabs-v1"]) .sw-feedback__header h2 { font-size: 24px; line-height: 34px; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/product-thumbnail-rail.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/
/* Same original thumbnail buttons and theme; controls replace an unexplained
   scrollbar without removing touch scrolling or changing media selection. */
.sw-product-gallery__thumbnail-navigation { display: grid; grid-template-columns: minmax(0,1fr); align-items: center; gap: .5rem; min-width: 0; max-width: 100%; margin-top: .75rem; }
.sw-product-gallery__thumbnail-navigation[data-overflow="true"] { grid-template-columns: 44px minmax(0,1fr) 44px; }
.sw-product-gallery__thumbnail-window { min-width: 0; min-height: 0; }
.sw-product-gallery__thumbnail-navigation [data-product-thumbnail-rail] { scrollbar-width: none; scroll-snap-type: x proximity; overscroll-behavior-x: contain; }
.sw-product-gallery__thumbnail-navigation [data-product-thumbnail-rail]::-webkit-scrollbar { display: none; }
.sw-product-gallery__thumbnail-navigation [data-product-thumbnail-rail] > button { scroll-snap-align: start; }
.sw-product-gallery__thumbnail-navigation .sw-product-gallery__thumbnails { margin-top: 0 !important; padding: 4px; }
.sw-product-gallery__thumbnail-navigation .sw-product-gallery__thumbnail-page { display: grid; place-items: center; padding: 0; width: 44px; height: 44px; min-width: 44px; min-height: 44px; border: 1px solid var(--sw-color-border,#aaa); border-radius: var(--sw-radius-control,0); background: var(--sw-color-surface-panel,#fff); color: var(--sw-color-text,#151515); font: inherit; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.sw-product-gallery__thumbnail-navigation .sw-product-gallery__thumbnail-page[hidden] { display: none; }
.sw-product-gallery__thumbnail-page[aria-disabled="true"] { opacity: .4; cursor: default; }
.sw-product-gallery__thumbnail-page:focus-visible { outline: 3px solid var(--sw-color-focus-indicator,#005fcc); outline-offset: 2px; }
@container sw-product-gallery (min-width: 360px) {
  .sw-product-gallery[data-thumbnail-position="left"] .sw-product-gallery__thumbnail-navigation { grid-column: 1; grid-row: 1; margin-top: 0; grid-template-columns: minmax(0,1fr); }
  .sw-product-gallery[data-thumbnail-position="left"] .sw-product-gallery__thumbnail-page { justify-self: center; }
  .sw-product-gallery[data-thumbnail-position="left"] .sw-product-gallery__thumbnail-page > span { transform: rotate(90deg); }
  .sw-product-gallery[data-thumbnail-position="left"] .sw-product-gallery__thumbnail-navigation [data-product-thumbnail-rail] { scroll-snap-type: y proximity; overscroll-behavior-y: contain; }
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-product-video.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-product-video { position: relative; width: 100%; height: 100%; min-width: 0; background: var(--sw-color-surface-panel, #fff); }
.sw-product-video > video { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; }
.sw-product-video > video:focus-visible { outline: 3px solid var(--sw-color-focus-indicator, #171717); outline-offset: -3px; }
.sw-product-video__error { position: absolute; inset: auto 0 0; padding: 12px; background: var(--sw-color-surface-panel, #fff); color: var(--sw-color-text, #171717); }
.sw-product-video__error p { margin: 0 0 8px; font: inherit; overflow-wrap: anywhere; }
.sw-product-video__error button { min-height: 44px; border: 1px solid var(--sw-color-border, #ddd); border-radius: 2px; background: transparent; color: inherit; font: inherit; padding: 8px 12px; cursor: pointer; }
.sw-product-video__error button:focus-visible { outline: 3px solid var(--sw-color-focus-indicator, #171717); outline-offset: 2px; }
[data-product-thumbnail-video] { position: relative; }
[data-product-thumbnail-video]::after { content: '▶'; position: absolute; inset: auto 3px 3px auto; padding: 2px 5px; font-size: 12px; line-height: 16px; background: #171717; color: #fff; border-radius: 2px; pointer-events: none; }

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-product-presentation.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-product-page-composition { display: grid; width: 100%; min-width: 0; gap: var(--sw-theme-section-gap, 2rem); grid-column: 1 / -1; }
.sw-product-module { min-width: 0; max-width: 100%; }
.sw-product-service-information { display: grid; gap: 1rem; min-width: 0; padding: var(--sw-theme-section-padding, clamp(1rem, 3vw, 2.5rem)); color: var(--sw-color-text, #151515); background: var(--sw-color-surface-panel, #fff); overflow-wrap: anywhere; }
.sw-product-service-information :is(h2,p) { margin: 0 0 .75rem; color: inherit; }
.sw-product-service-information h2 { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.3; }
.sw-product-service-information__eyebrow { font-size: .875rem; letter-spacing: .08em; }
.sw-product-service-information__body { white-space: pre-wrap; line-height: 1.65; }
.sw-product-service-information a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.sw-product-service-information a:focus-visible { outline: 3px solid var(--sw-color-focus-indicator, #2563eb); outline-offset: 3px; }
.sw-product-service-information[data-background="soft"] { background: var(--sw-color-surface-muted, #f5f5f5); }
.sw-product-service-information[data-background="dark"] { background: var(--sw-color-inverse-surface, #151515); color: var(--sw-color-inverse-text, #fff); }
.sw-product-service-information[data-spacing="compact"] { padding-block: 1rem; }
.sw-product-service-information[data-spacing="generous"] { padding-block: 3rem; }
.sw-product-service-information[data-title-style="editorial"] h2 { font-size: clamp(1.75rem, 4vw, 2.5rem); }
.sw-product-service-information[data-layout="split"] { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.sw-product-specifications { box-sizing: border-box; min-width: 0; padding: var(--sw-theme-section-padding, clamp(1rem, 3vw, 2.5rem)); color: var(--sw-color-text, #151515); background: var(--sw-color-surface-panel, #fff); font-size: 1rem; overflow-wrap: anywhere; }
.sw-product-specifications > h2 { margin: 0 0 1.25rem; color: inherit; font-size: clamp(1.5rem, 3vw, 2.25rem); }
.sw-product-specifications dl { margin: 0 0 1.5rem; display: grid; gap: .75rem; }
.sw-product-specifications dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 1rem; }
.sw-product-specifications dt { font-weight: 650; }
.sw-product-specifications dd { margin: 0; }
.sw-product-specifications table { width: 100%; table-layout: fixed; border-collapse: collapse; text-align: start; font-size: 1rem; }
.sw-product-specifications caption { text-align: start; margin-bottom: .75rem; font-weight: 650; }
.sw-product-specifications th, .sw-product-specifications td { border-bottom: 1px solid var(--sw-color-border, #ddd); padding: .75rem .5rem; text-align: start; vertical-align: top; }
.sw-product-specifications td > :is(strong,s,span) { display: block; }
.sw-product-specifications ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; }
.sw-product-specifications li { border: 1px solid var(--sw-color-border, #ddd); padding: 1rem; border-radius: var(--sw-radius-card, 0); }
.sw-product-specifications li h3 { margin: 0 0 .75rem; font-size: 1.1rem; }
.sw-product-specifications li > div { display: flex; flex-direction: column; gap: .4rem; }
.sw-product-specifications [data-selected="true"] { background: var(--sw-color-surface-muted, #f5f5f5); }
.sw-product-specifications[data-spacing="dense"] { padding: 1rem; }
.sw-product-specifications[data-spacing="loose"] { padding: 2.5rem; }
.sw-product-specifications[data-width="compact"] > * { max-width: 48rem; margin-inline: auto; }
.sw-product-specifications__disclosure { margin: 0; border-top: 1px solid var(--sw-color-border, #ddd); }
.sw-product-specifications__disclosure > summary { min-height: 44px; padding-block: .65rem; align-content: center; cursor: pointer; font: inherit; line-height: 1.5; }
.sw-product-specifications__disclosure > summary:focus-visible { outline: 2px solid var(--sw-color-focus-indicator, #005fcc); outline-offset: 2px; }
.sw-product-specifications__disclosure[open] > :not(summary) { margin-top: .75rem; }
@container sw-product-presentation (min-width: 720px) {
  .sw-product-presentation > [data-product-module="gallery"] { width: 55%; grid-column: 1; grid-row: 1; }
  .sw-product-presentation > [data-product-module="summary"] { width: 45%; grid-column: 1; grid-row: 1; justify-self: end; }
  .sw-product-presentation[data-desktop-column-ratio="50-50"] > .sw-product-module { width: 50%; }
  .sw-product-presentation[data-desktop-column-ratio="60-40"] > [data-product-module="gallery"] { width: 60%; }
  .sw-product-presentation[data-desktop-column-ratio="60-40"] > [data-product-module="summary"] { width: 40%; }
  .sw-product-presentation[data-desktop-media-side="right"] > [data-product-module="gallery"] { justify-self: end; }
  .sw-product-presentation[data-desktop-media-side="right"] > [data-product-module="summary"] { justify-self: start; }
  .sw-product-presentation[data-single-panel="true"] > .sw-product-module { width: 100%; }
}
@container sw-product-presentation (max-width: 719px) {
  .sw-product-presentation[data-mobile-order="info-first"] > [data-product-module="summary"] { order: -1; }
}

/* Shared product facts presentation. The editor owns overlays, not these
   content styles. Container width, not the browser viewport, selects layout. */
.sw-product-presentation { container: sw-product-presentation / inline-size; display: grid; min-width: 0; grid-column: 1 / -1; color: var(--sw-color-text, #151515); background: var(--sw-color-surface-page, #fff); }
.sw-product-gallery, .sw-product-summary { min-width: 0; max-width: 100%; color: var(--sw-color-text, #151515); background: var(--sw-color-surface-panel, #fff); padding: var(--sw-theme-section-padding, clamp(1rem, 3vw, 2.5rem)); overflow-wrap: anywhere; }
.sw-product-presentation, .sw-product-gallery, .sw-product-summary, .sw-product-gallery *, .sw-product-summary * { box-sizing: border-box; }
.sw-product-gallery:is([data-spacing="compact"],[data-spacing="dense"]), .sw-product-summary:is([data-spacing="compact"],[data-spacing="dense"]) { padding: 1rem; }
.sw-product-gallery:is([data-spacing="generous"],[data-spacing="loose"]), .sw-product-summary:is([data-spacing="generous"],[data-spacing="loose"]) { padding: 2.5rem; }
.sw-product-summary[data-spacing="dense"] .sw-product-summary__stack { gap: .8rem; }
.sw-product-summary[data-spacing="loose"] .sw-product-summary__stack { gap: 2rem; }
.sw-product-gallery[data-width="compact"] .sw-product-gallery__media { max-width: 34rem; margin-inline: auto; }
.sw-product-summary[data-width="compact"] > * { max-width: 31rem; }
.sw-product-gallery { --sw-product-media-gap: 1rem; --sw-product-thumb: 4.5rem; container: sw-product-gallery / inline-size; }
.sw-product-gallery[data-media-gap="compact"] { --sw-product-media-gap: .5rem; }
.sw-product-gallery[data-media-gap="generous"] { --sw-product-media-gap: 1.5rem; }
.sw-product-gallery[data-thumbnail-size="small"] { --sw-product-thumb: 3.5rem; }
.sw-product-gallery[data-thumbnail-size="large"] { --sw-product-thumb: 6rem; }
.sw-product-gallery__media, .sw-product-gallery__stack { min-width: 0; }
.sw-product-gallery__primary, .sw-product-gallery__stack figure { border-radius: var(--sw-radius-media, 0); }
.sw-product-gallery__primary img, .sw-product-gallery__stack img { max-width: 100%; }
.sw-product-gallery[data-image-ratio="1:1"] :is(.sw-product-gallery__primary,.sw-product-gallery__stack figure) { aspect-ratio: 1 / 1 !important; }
.sw-product-gallery[data-image-ratio="4:5"] :is(.sw-product-gallery__primary,.sw-product-gallery__stack figure) { aspect-ratio: 4 / 5 !important; }
.sw-product-gallery[data-image-ratio="3:4"] :is(.sw-product-gallery__primary,.sw-product-gallery__stack figure) { aspect-ratio: 3 / 4 !important; }
.sw-product-gallery[data-image-ratio="16:9"] :is(.sw-product-gallery__primary,.sw-product-gallery__stack figure) { aspect-ratio: 16 / 9 !important; }
.sw-product-gallery .sw-product-gallery__stack { gap: var(--sw-product-media-gap) !important; }
.sw-product-gallery .sw-product-gallery__thumbnails { gap: var(--sw-product-media-gap) !important; }
.sw-product-gallery .sw-product-gallery__thumbnails > button { flex-basis: var(--sw-product-thumb) !important; width: var(--sw-product-thumb) !important; height: var(--sw-product-thumb) !important; min-height: 44px; min-width: 44px; border-radius: var(--sw-radius-control, 0); }
.sw-product-gallery__thumbnails > button:focus-visible { outline: 3px solid var(--sw-color-focus-indicator, #005fcc); outline-offset: 2px; }
.sw-product-gallery[data-gallery-preset="catalog"] .sw-product-gallery__stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sw-product-gallery[data-gallery-preset="catalog"] .sw-product-gallery__thumbnails { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--sw-product-thumb)), 1fr)); }
.sw-product-gallery[data-gallery-preset="catalog"] .sw-product-gallery__thumbnails > button { width: 100% !important; }
@container sw-product-gallery (min-width: 360px) {
  .sw-product-gallery[data-thumbnail-position="left"] .sw-product-gallery__media:not([data-gallery-mode="stacked"]) { display: grid; grid-template-columns: var(--sw-product-thumb) minmax(0, 1fr); gap: var(--sw-product-media-gap); align-items: start; }
  .sw-product-gallery[data-thumbnail-position="left"] .sw-product-gallery__primary { grid-column: 2; grid-row: 1; }
  .sw-product-gallery[data-thumbnail-position="left"] .sw-product-gallery__thumbnails { grid-column: 1; grid-row: 1; flex-direction: column; max-height: 32rem; overflow-y: auto; margin-top: 0 !important; }
}
.sw-product-summary { --sw-product-price-size: 18px; --sw-product-price-leading: 26px; --sw-product-price-weight: 400; display: grid; align-content: start; gap: 1.25rem; container: sw-product-summary / inline-size; }
.sw-product-summary[data-price-hierarchy="price-first"] { --sw-product-price-weight: 500; }
.sw-product-summary > :is(h1,h2,h3,h4,h5,h6) { margin: 0; color: inherit; font-family: var(--sw-theme-heading-font, inherit); font-weight: var(--sw-theme-heading-weight, 750); font-size: clamp(2rem, 7cqw, 3.5rem); line-height: 1.12; }
.sw-product-summary[data-title-size="small"] > :is(h1,h2,h3,h4,h5,h6) { font-size: 1.5rem; }
.sw-product-summary[data-title-size="medium"] > :is(h1,h2,h3,h4,h5,h6) { font-size: 2rem; }
.sw-product-summary[data-title-size="display"] > :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(2.25rem, 9cqw, 4.25rem); }
.sw-product-summary[data-summary-width="narrow"] { max-width: 28rem; margin-inline: auto; }
.sw-product-summary[data-summary-width="wide"] { width: 100%; }
.sw-product-summary[data-alignment="center"] { text-align: center; }
.sw-product-summary[data-alignment="center"] :is(.sw-product-summary__price,.sw-product-summary__availability,.sw-product-options__choices) { justify-content: center; }
.sw-product-summary[data-background="transparent"] { background: transparent; }
.sw-product-summary[data-background="soft"] { background: var(--sw-color-surface-muted, #f5f5f5); }
.sw-product-summary[data-divider="top"], .sw-product-summary[data-divider="both"] { border-top: 1px solid var(--sw-color-border, #ddd); }
.sw-product-summary[data-divider="bottom"], .sw-product-summary[data-divider="both"] { border-bottom: 1px solid var(--sw-color-border, #ddd); }
.sw-product-summary__eyebrow { margin: 0; font-size: .875rem; letter-spacing: .12em; }
.sw-product-summary__stack { display: grid; gap: 1.25rem; min-width: 0; }
.sw-product-summary__description { margin: 0; white-space: pre-wrap; color: var(--sw-color-text-muted, #555); font-size: 1rem; line-height: 1.75; }
.sw-product-summary__more > summary { min-height: 44px; padding-block: .65rem; cursor: pointer; font-size: .9rem; text-underline-offset: .2em; text-decoration: underline; }
.sw-product-summary__more > summary:focus-visible { outline: 2px solid var(--sw-color-focus-indicator, #005fcc); outline-offset: 2px; }
.sw-product-summary__more[open] > .sw-product-summary__description { margin-block: .5rem 1rem; }
/* Frozen preview and live owner prices share typography, not commerce data. */
.sw-product-summary__price { display: flex; flex-wrap: wrap; gap: .35rem .75rem; align-items: baseline; line-height: var(--sw-product-price-leading, 26px); font-variant-numeric: tabular-nums; }
.sw-product-summary__price strong { font-size: var(--sw-product-price-size, 18px); line-height: var(--sw-product-price-leading, 26px); font-weight: var(--sw-product-price-weight, 400); color: inherit; }
.sw-product-summary__price s, .sw-product-summary__price span { color: var(--sw-color-text-muted, #555); font-size: 13px; line-height: 20px; }
.sw-product-summary__price[data-hierarchy="member-first"] span:first-child { font-size: var(--sw-product-price-size, 18px); line-height: var(--sw-product-price-leading, 26px); font-weight: 500; color: inherit; }
.sw-product-summary__availability { display: flex; align-items: center; gap: .5rem; margin-block: 1rem; font-size: .95rem; }
.sw-product-summary__availability i { width: .5rem; height: .5rem; border-radius: 100%; background: currentColor; }
.sw-product-options { display: grid; gap: 1rem; min-width: 0; }
.sw-product-options section { display: grid; gap: .65rem; min-width: 0; }
.sw-product-options h2 { margin: 0; color: inherit; font: inherit; font-weight: 650; font-size: 1rem; }
.sw-product-options__choices { display: flex; flex-wrap: wrap; gap: .6rem; min-width: 0; }
.sw-product-options label { position: relative; display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; min-width: 44px; max-width: 100%; padding: .65rem .8rem; border: 1px solid var(--sw-color-border, #aaa); border-radius: .5rem; color: inherit; background: var(--sw-color-surface-panel, #fff); font-size: .95rem; cursor: pointer; }
.sw-product-options input[type="radio"] { position: absolute; width: 1px; height: 1px; margin: 0; clip-path: inset(50%); }
.sw-product-options label:has(input:focus-visible) { outline: 3px solid var(--sw-color-focus-indicator, #005fcc); outline-offset: 3px; }
.sw-product-options label[data-selected="true"] { background: var(--sw-color-accent, #151515); color: var(--sw-color-accent-contrast, #fff); border-color: var(--sw-color-accent, #151515); }
.sw-product-options label[data-disabled="true"] { opacity: .6; cursor: not-allowed; }
.sw-product-options [data-variant-unavailable-style="strike"] label[data-disabled="true"] { text-decoration: line-through; }
.sw-product-options__unavailable { font-size: .8rem; }
.sw-product-options__image { display: block; flex: 0 0 3.5rem; width: 3.5rem; aspect-ratio: 1; overflow: hidden; border-radius: var(--sw-radius-media, 0); }
.sw-product-options__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-product-options [data-variant-image-ratio="4:5"] .sw-product-options__image { aspect-ratio: 4 / 5; }
.sw-product-options [data-variant-image-ratio="16:9"] .sw-product-options__image { aspect-ratio: 16 / 9; }
.sw-product-options [data-variant-label-position="below"] label[data-has-image="true"] { flex-direction: column; }
.sw-product-options [data-variant-label-position="overlay"] label[data-has-image="true"] { padding-bottom: 1.5rem; overflow: hidden; }
.sw-product-options [data-variant-label-position="overlay"] label[data-has-image="true"] .sw-product-options__label { position: absolute; inset: auto 0 0; background: var(--sw-color-surface-panel, #fff); color: var(--sw-color-text, #151515); padding: .25rem; text-align: center; }
.sw-product-options [data-variant-layout="stacked"] .sw-product-options__choices { display: grid; grid-template-columns: minmax(0,1fr); }
.sw-product-options [data-variant-layout="grid"] .sw-product-options__choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.sw-product-options [data-variant-size="small"] label { padding: .4rem .55rem; font-size: .875rem; }
.sw-product-options [data-variant-size="large"] label { padding: .85rem 1rem; font-size: 1rem; }
.sw-product-options [data-variant-radius="square"] label { border-radius: 0; }
.sw-product-options [data-variant-radius="pill"] label { border-radius: 999px; }
.sw-product-options [data-variant-border="none"] label:not([data-selected="true"]) { border-color: transparent; }
.sw-product-options [data-variant-border="strong"] label { border-width: 2px; }
.sw-product-options [data-variant-selected-style="outline"] label[data-selected="true"], .sw-product-options [data-variant-selected-style="ring"] label[data-selected="true"] { background: var(--sw-color-surface-panel, #fff); color: inherit; border-width: 2px; }
.sw-product-options [data-variant-selected-style="ring"] label[data-selected="true"] { box-shadow: 0 0 0 2px var(--sw-color-accent, #151515); }
.sw-product-options [data-variant-gap="compact"] .sw-product-options__choices { gap: .35rem; }
.sw-product-options [data-variant-gap="generous"] .sw-product-options__choices { gap: 1rem; }
.sw-product-options select { min-height: 44px; width: 100%; max-width: 100%; color: inherit; background: var(--sw-color-surface-panel, #fff); border: 1px solid var(--sw-color-border, #aaa); border-radius: var(--sw-radius-control, .25rem); font: inherit; padding: .5rem; }
.sw-product-options > p { margin: 0; color: var(--sw-color-text-muted, #555); font-size: .875rem; line-height: 1.5; }
@container sw-product-summary (min-width: 400px) {
  .sw-product-options [data-variant-columns="3"] .sw-product-options__choices { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .sw-product-options [data-variant-columns="4"] .sw-product-options__choices { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .sw-product-options [data-group-label-position="side"] { grid-template-columns: minmax(4rem,.25fr) minmax(0,1fr); align-items: start; }
}
@container sw-product-presentation (min-width: 720px) {
  .sw-product-presentation > .sw-product-gallery { width: 55%; grid-column: 1; grid-row: 1; }
  .sw-product-presentation > .sw-product-summary { width: 45%; grid-column: 1; grid-row: 1; justify-self: end; }
  .sw-product-presentation[data-desktop-column-ratio="50-50"] > :is(.sw-product-gallery,.sw-product-summary) { width: 50%; }
  .sw-product-presentation[data-desktop-column-ratio="60-40"] > .sw-product-gallery { width: 60%; }
  .sw-product-presentation[data-desktop-column-ratio="60-40"] > .sw-product-summary { width: 40%; }
  .sw-product-presentation[data-desktop-media-side="right"] > .sw-product-gallery { justify-self: end; }
  .sw-product-presentation[data-desktop-media-side="right"] > .sw-product-summary { justify-self: start; }
  .sw-product-presentation[data-single-panel="true"] > :is(.sw-product-gallery,.sw-product-summary) { width: 100%; }
}
@container sw-product-presentation (max-width: 719px) {
  .sw-product-presentation[data-mobile-order="info-first"] > .sw-product-summary { order: -1; }
}

/* Explicit saved product typography. Values follow the product content locale,
   never a UI-language toggle. Other templates and authored inline emphasis stay
   unchanged; quote/Cart typography remains owned by its existing component. */
.sw-product-page-composition[data-reading-typography="editorial-v1"] {
  --sw-product-title-size: 30px; --sw-product-title-leading: 39px;
  --sw-product-copy-weight: 400; --sw-product-heading-size: 21px;
  --sw-product-heading-leading: 27px; --sw-product-copy-size: 13px;
  --sw-product-copy-leading: 18.2px; --sw-product-section-gap: 50px;
  --sw-product-heading-gap: 21px; --sw-product-paragraph-gap: 25px;
  --sw-product-control-size: 16px; --sw-product-control-leading: 22px;
  --sw-product-control-weight: 500; --sw-product-control-min: 44px;
  --sw-product-control-radius: min(var(--sw-radius-control, 2px), 2px);
  --sw-product-control-block: 11px; --sw-product-control-inline: 20px;
  --sw-product-control-motion: 180ms;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"]:is([data-product-content-locale|="zh"],[data-product-content-locale|="ja"],[data-product-content-locale|="ko"]) {
  --sw-product-title-size: 28px; --sw-product-title-leading: 38px;
  --sw-product-copy-weight: 500; --sw-product-heading-leading: 29px;
  --sw-product-copy-size: 15px; --sw-product-copy-leading: 25px;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-summary > :is(h1,h2,h3,h4,h5,h6) {
  margin: 0; font-size: var(--sw-product-title-size); line-height: var(--sw-product-title-leading);
  font-weight: var(--sw-product-copy-weight); letter-spacing: normal;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-summary[data-title-size="small"] { --sw-product-title-size: 24px; --sw-product-title-leading: 34px; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-summary[data-title-size="display"] { --sw-product-title-size: 32px; --sw-product-title-leading: 42px; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-summary { gap: 16px; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-reading__details { gap: var(--sw-product-section-gap); }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-reading__details > .sw-product-module + .sw-product-module { padding-top: 0; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-body__sections { gap: var(--sw-product-section-gap); }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-body__sections > [data-section-type] { padding-block: 0; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-product-body,.sw-product-specifications,.sw-product-service-information) :is(h1,h2,h3,h4,h5,h6) {
  font-size: var(--sw-product-heading-size); line-height: var(--sw-product-heading-leading);
  font-weight: var(--sw-product-copy-weight); margin: 0; letter-spacing: normal;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-product-summary__description,.sw-product-body p,.sw-product-body li,.sw-product-body dd,.sw-product-body blockquote,.sw-product-specifications,.sw-product-service-information__body) {
  font-size: var(--sw-product-copy-size); line-height: var(--sw-product-copy-leading); font-weight: 400;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-body :is([data-sw-narrative-copy],[data-sw-safe-rich-text-contract] > div) {
  gap: 0;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-body :is([data-sw-narrative-copy],[data-sw-safe-rich-text-contract] > div) > * + * { margin-top: var(--sw-product-paragraph-gap); }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-body :is([data-sw-narrative-copy],[data-sw-safe-rich-text-contract] > div) > :is(h1,h2,h3,h4,h5,h6) + * { margin-top: var(--sw-product-heading-gap); }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-body [data-sw-narrative-copy] > ul { gap: var(--sw-product-paragraph-gap); }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-body [data-sw-narrative-copy] > ul > li { gap: 8px; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-specifications > h2 { margin-bottom: var(--sw-product-heading-gap); }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-specifications :is(table,li h3) { font-size: var(--sw-product-copy-size); line-height: var(--sw-product-copy-leading); }

/* Explicitly folded supporting copy shares the existing accessible disclosure.
   Core introduction and media remain in normal flow; no authored text is cut. */
.sw-product-body [data-product-supporting-details="disclosure-v1"] > .sw-public-faq {
  border-block: 1px solid var(--sw-color-border);
}
.sw-product-body [data-product-supporting-details="disclosure-v1"] > .sw-public-faq > summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 44px; padding-block: 12px; list-style: none; font-weight: 500;
}
.sw-product-body [data-product-supporting-details="disclosure-v1"] > .sw-public-faq > summary::-webkit-details-marker { display: none; }
.sw-product-body [data-product-supporting-details="disclosure-v1"] > .sw-public-faq > summary::after { content: '+'; flex: 0 0 auto; }
.sw-product-body [data-product-supporting-details="disclosure-v1"] > .sw-public-faq[open] > summary::after { content: '−'; }
.sw-product-body [data-product-supporting-details="disclosure-v1"] > .sw-public-faq > .sw-public-faq__answer { padding-block: 8px 16px; }
.sw-product-body [data-product-supporting-details="disclosure-v1"] > .sw-public-faq > summary > :is(h1,h2,h3,h4,h5,h6) { min-width: 0; margin: 0; }

/* One opt-in control scale, consumed without replacing the Cart/UGC owners.
   Explicit square/pill variant choices and photo-viewer controls are untouched. */
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-options h2 {
  font-family: inherit; font-size: var(--sw-product-control-size);
  line-height: var(--sw-product-control-leading); font-weight: var(--sw-product-control-weight);
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-options label {
  font-size: var(--sw-product-control-size); line-height: var(--sw-product-control-leading);
  min-height: var(--sw-product-control-min); overflow-wrap: anywhere;
  transition: border-color var(--sw-product-control-motion) ease, opacity var(--sw-product-control-motion) ease;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-options [data-variant-radius="soft"] label { border-radius: var(--sw-product-control-radius); }
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-product-options select,.sw-reviews .sw-buyer-form-input,.sw-questions .sw-buyer-form-input) {
  border-radius: var(--sw-product-control-radius); min-height: var(--sw-product-control-min);
  font-size: var(--sw-product-control-size); line-height: var(--sw-product-control-leading);
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-product-cart-action__add,.sw-reviews__entry-actions > button,.sw-reviews__pagination > button,.sw-buyer-form-primary-action,.sw-buyer-form-actions > button,.sw-reviews form > button,.sw-questions form > button) {
  min-height: var(--sw-product-action-min, var(--sw-product-control-min)); border-radius: var(--sw-product-control-radius);
  font-family: inherit; font-size: var(--sw-product-action-size, var(--sw-product-control-size)); line-height: var(--sw-product-control-leading); font-weight: var(--sw-product-action-weight, var(--sw-product-control-weight));
  padding: var(--sw-product-control-block) var(--sw-product-control-inline);
  max-width: 100%; white-space: normal; overflow-wrap: anywhere;
  transition: opacity var(--sw-product-control-motion) ease;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-cart-action__add { --sw-product-action-min: 50px; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-reviews__entry-actions > button { --sw-product-action-size: 14px; --sw-product-action-weight: 400; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews,.sw-questions) button[type="submit"] { justify-self: start; }
@media (hover: hover) {
  .sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-product-cart-action__add,.sw-reviews__entry-actions > button,.sw-reviews__pagination > button,.sw-buyer-form-primary-action,.sw-buyer-form-actions > button,.sw-reviews form > button,.sw-questions form > button):hover:not(:disabled):not(:active) { opacity: .85; }
  .sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-product-options label:not([data-selected="true"]):not([data-disabled="true"]):hover { border-color: currentColor; }
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-product-cart-action__add,.sw-buyer-form-primary-action):active:not(:disabled) { opacity: .7; }
@media (prefers-reduced-motion: reduce) {
  .sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-product-options label,.sw-product-cart-action__add,.sw-reviews__entry-actions > button,.sw-reviews__pagination > button,.sw-buyer-form-primary-action,.sw-buyer-form-actions > button,.sw-reviews form > button,.sw-questions form > button) { transition: none; }
}

/* The saved editorial choice also supplies one reading scale to the two
   feedback modules. Each original text's lang wins over the UI/product locale.
   No global Theme values, homepage reviews or historical opt-out are changed. */
.sw-product-page-composition[data-reading-typography="editorial-v1"] > .sw-product-module:is([data-product-module="reviews"],[data-product-module="questions"]) {
  container: sw-product-feedback-frame / inline-size;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews,.sw-questions) {
  --sw-feedback-title-size: 27px; --sw-feedback-title-leading: 38px;
  --sw-feedback-title-weight: 500; --sw-feedback-label-weight: 500;
  --sw-feedback-copy-size: 15px; --sw-feedback-copy-leading: 25px;
  --sw-feedback-gap-small: 8px; --sw-feedback-gap-medium: 16px;
  --sw-feedback-label-size: 15px; --sw-feedback-label-leading: 24px;
  font-size: var(--sw-feedback-copy-size); line-height: var(--sw-feedback-copy-leading);
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews,.sw-questions)[data-sw-interface-locale|="en"] {
  --sw-feedback-copy-size: 14px; --sw-feedback-copy-leading: 21px;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews__header,.sw-questions__header) { gap: var(--sw-feedback-gap-small); }
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews__header,.sw-questions__header) h2 {
  font-size: var(--sw-feedback-title-size); line-height: var(--sw-feedback-title-leading);
  font-weight: var(--sw-feedback-narrow-title-weight,var(--sw-feedback-title-weight));
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews__header,.sw-questions__header) h2:lang(en) { --sw-feedback-title-weight: 400; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews__text,.sw-questions__text,.sw-reviews__header > p,.sw-questions__header > p) {
  font-size: var(--sw-feedback-copy-size); line-height: var(--sw-feedback-copy-leading); font-weight: 400;
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews__text,.sw-questions__text,.sw-reviews__header > p,.sw-questions__header > p):lang(en) { --sw-feedback-copy-size: 14px; --sw-feedback-copy-leading: 21px; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews__text,.sw-questions__text,.sw-reviews__header > p,.sw-questions__header > p):is(:lang(zh),:lang(ja),:lang(ko)) { --sw-feedback-copy-size: 15px; --sw-feedback-copy-leading: 25px; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews__review-title,.sw-reviews__merchant-reply > strong,.sw-questions__answer h3) {
  font-size: var(--sw-feedback-label-size); line-height: var(--sw-feedback-label-leading); font-weight: var(--sw-feedback-label-weight);
}
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-reviews__review-title { --sw-feedback-label-size: 16px; }
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews__merchant-reply,.sw-questions__answer) { gap: var(--sw-feedback-gap-small); }
.sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews__request,.sw-questions__request) { gap: var(--sw-feedback-gap-medium); }
/* The first published item supplies the separator below the disclosure. */
.sw-product-page-composition[data-reading-typography="editorial-v1"] .sw-questions__write { border-block-end: 0; padding-block-end: 0; }
@container sw-product-feedback-frame (max-width: 719px) {
  .sw-product-page-composition[data-reading-typography="editorial-v1"] :is(.sw-reviews,.sw-questions) {
    --sw-feedback-title-size: 24px; --sw-feedback-title-leading: 34px;
    --sw-feedback-narrow-title-weight: 500;
    padding: var(--sw-feedback-gap-medium);
  }
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-checkout.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-checkout {
  box-sizing: border-box;
  container: sw-checkout / inline-size;
  width: 100%;
  max-width: 72rem;
  min-width: 0;
  margin-inline: auto;
  padding: clamp(1.25rem, 4vw, 3rem) clamp(1rem, 4vw, 2rem);
  color: var(--sw-color-text);
  font-family: var(--sw-storefront-font-family, Inter, ui-sans-serif, system-ui, sans-serif);
  font-size: 1rem;
  line-height: 1.5;
}
.sw-checkout[data-sw-checkout-width="standard"] { max-width: 54rem; }
.sw-checkout :is(p, h1, h2, dl, dd) { margin-block-start: 0; }
.sw-checkout :is(button, input, a, summary) { font: inherit; }
.sw-checkout :is(button, input, a, summary):focus-visible {
  outline: 3px solid var(--sw-color-focus-indicator);
  outline-offset: 3px;
}
.sw-checkout__header { display: grid; min-width: 0; gap: .65rem; margin-bottom: 1.25rem; }
.sw-checkout__header h1 { margin: 0; font-size: clamp(1.65rem, 2.4vw, 2rem); line-height: 1.15; font-weight: 700; overflow-wrap: anywhere; }
.sw-checkout__header p { margin: 0; max-width: 48rem; color: var(--sw-color-text-muted); line-height: 1.65; }
.sw-checkout__stack { display: grid; min-width: 0; gap: 1rem; }
.sw-checkout__section { display: grid; min-width: 0; gap: 1rem; padding: 1.25rem 0; border-top: 1px solid var(--sw-color-border); }
.sw-checkout__section h2 { margin: 0; font-size: 1.2rem; line-height: 1.3; font-weight: 700; }
.sw-checkout__fieldset { display: grid; min-width: 0; gap: 1rem; margin: 0; padding: 0; border: 0; }
.sw-checkout__fieldset:disabled { opacity: .65; }
.sw-checkout__fieldset > .sw-checkout__draft-status { grid-column: 1 / -1; margin: 0; font-size: .875rem; line-height: 1.5; color: var(--sw-color-text-muted); }
.sw-checkout__input {
  box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 44px;
  border: 1px solid var(--sw-color-border); border-radius: min(var(--sw-radius-control), .35rem);
  background: var(--sw-color-surface-panel); color: var(--sw-color-text); padding: .6rem .75rem;
}
.sw-checkout__link {
  display: inline-flex; min-height: 44px; min-width: 0; max-width: 100%; align-items: center;
  color: var(--sw-color-accent); text-decoration: underline; text-underline-offset: .25em; overflow-wrap: anywhere;
}
.sw-checkout__feedback,
.sw-checkout__uncertain {
  display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: .75rem 1rem;
  margin: 0 0 1rem; padding: .75rem 1rem; border-left: 3px solid var(--sw-color-border);
  background: var(--sw-color-surface-muted); line-height: 1.6; overflow-wrap: anywhere;
}
.sw-checkout__feedback[data-kind="error"], .sw-checkout__uncertain { border-left-color: var(--sw-color-accent); }
.sw-checkout .sw-checkout__feedback--quiet { position: absolute; width: 1px; height: 1px; min-width: 0; padding: 0; margin: -1px; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sw-checkout button[aria-disabled="true"] { opacity: .65; cursor: not-allowed; }
.sw-checkout button[aria-busy="true"] { cursor: progress; }
.sw-checkout__uncertain p { flex: 1 1 20rem; margin: 0; }
.sw-checkout__reload { margin-bottom: 1rem; }
.sw-checkout__layout { display: grid; min-width: 0; gap: 1.5rem; align-items: start; }
.sw-checkout__main { min-width: 0; }
.sw-checkout__fulfillment { min-width: 0; border: 1px solid var(--sw-color-border); border-radius: .25rem; padding: 1rem; }
.sw-checkout__fulfillment p { margin-bottom: 0; }
.sw-checkout__member-addresses {
  display: grid; min-width: 0; gap: .75rem; padding: 1rem;
  border: 1px solid var(--sw-color-border); border-radius: .25rem;
  background: var(--sw-color-surface-muted);
}
.sw-checkout__member-addresses p { margin: 0; line-height: 1.55; overflow-wrap: anywhere; }
.sw-checkout__member-addresses select { min-width: 0; max-width: 100%; }
.sw-checkout__store-map {
  display: grid; min-width: 0; gap: .85rem; padding: 1rem;
  border: 1px solid var(--sw-color-border); border-radius: .25rem;
  background: var(--sw-color-surface-muted);
}
.sw-checkout__store-map-copy { display: grid; min-width: 0; gap: .65rem; }
.sw-checkout__store-map-copy > :is(p, dl) { margin: 0; }
.sw-checkout__store-map-copy dl {
  display: grid; grid-template-columns: minmax(5.5rem, auto) minmax(0, 1fr);
  gap: .4rem .85rem; min-width: 0;
}
.sw-checkout__store-map-copy dt { color: var(--sw-color-text-muted); }
.sw-checkout__store-map-copy dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.sw-checkout__store-map > button { justify-self: start; }
.sw-checkout__store-map > p { margin: 0; line-height: 1.55; overflow-wrap: anywhere; }
.sw-checkout__read-region { min-width: 0; }
.sw-checkout__cold-read { row-gap: .75rem; }
.sw-checkout__cold-read > .sw-buyer-async-region__status { grid-area: 1 / 1; }
.sw-checkout__cold-read > .sw-buyer-async-region__content { grid-area: 2 / 1; }
.sw-checkout__cold-read .sw-buyer-async-region__placeholder { padding-block-start: 0; }
.sw-checkout__read-region:focus-visible { outline: 2px solid var(--sw-color-focus-indicator); outline-offset: 3px; }
.sw-checkout__payment-options { display: grid; gap: .65rem; margin: .85rem 0 0; padding: 0; border: 0; }
.sw-checkout__payment-options legend { margin-bottom: .35rem; font-weight: 650; }
.sw-checkout__payment-option { display: flex; min-height: 44px; align-items: center; gap: .65rem; cursor: pointer; }
.sw-checkout__payment-option input { inline-size: 18px; block-size: 18px; }
.sw-checkout__read-region .sw-buyer-async-region__content,
.sw-checkout__read-status { display: grid; min-width: 0; gap: 1rem; }
.sw-checkout__read-region p { margin: 0; }
/* The status occupies the same grid cell. Reserve its geometry, but never
   paint placeholder bars behind the readable status or recovery control. */
.sw-checkout__read-region .sw-buyer-async-region__placeholder { min-block-size: 1lh; padding: 0; gap: 0; visibility: hidden; }
.sw-checkout__read-region .sw-buyer-async-region__placeholder > span:not(:first-child) { display: none; }
.sw-checkout__read-region button[aria-disabled="true"] { opacity: .65; cursor: progress; }
.sw-checkout__policy-links, .sw-checkout__navigation { display: flex; min-width: 0; flex-wrap: wrap; gap: .75rem 1.25rem; }
.sw-checkout__navigation { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--sw-color-border); }
.sw-checkout__summary-column { min-width: 0; }
.sw-checkout__summary {
  min-width: 0; border: 1px solid var(--sw-color-border); border-radius: .25rem;
  background: color-mix(in srgb, var(--sw-color-surface-muted) 60%, var(--sw-color-surface-panel)); box-shadow: none; overflow: clip;
}
.sw-checkout__summary > summary {
  box-sizing: border-box; display: flex; min-height: 52px; align-items: center; justify-content: space-between;
  gap: 1rem; padding: .9rem 1rem; cursor: pointer; font-weight: 700; list-style-position: inside;
}
.sw-checkout__summary > summary strong { margin-left: auto; white-space: nowrap; }
.sw-checkout__summary-body { display: grid; min-width: 0; gap: 1rem; padding: 0 1rem 1.25rem; }
.sw-checkout__lines, .sw-checkout__cart-editor .sw-header-cart__lines { margin: 0; padding: 0; list-style: none; }
.sw-checkout__lines li { display: flex; min-width: 0; align-items: flex-start; gap: .85rem; padding-block: 1rem; border-bottom: 1px solid var(--sw-color-border); }
.sw-checkout__lines li > div { min-width: 0; }
.sw-checkout__lines img, .sw-checkout__cart-editor .sw-header-cart__lines img {
  width: 64px; height: 64px; flex: 0 0 64px; object-fit: contain; border-radius: .2rem;
}
.sw-checkout__lines p, .sw-checkout__cart-editor p { margin: .2rem 0; line-height: 1.4; overflow-wrap: anywhere; }
.sw-checkout__cart-editor .sw-header-cart__body { min-height: 0; overflow: visible; padding: 0; }
.sw-checkout__cart-editor .sw-header-cart__line { display: grid; grid-template-columns: 4rem minmax(0, 1fr) auto; gap: .35rem .75rem; min-width: 0; align-items: start; padding-block: 1rem; border-bottom: 1px solid var(--sw-color-border); }
.sw-checkout__cart-editor .sw-header-cart__line > img { grid-column: 1; grid-row: 1 / span 2; }
.sw-checkout__cart-editor .sw-header-cart__line-copy { grid-column: 2; min-width: 0; }
.sw-checkout__cart-editor .sw-header-cart__line-price { grid-column: 3; grid-row: 1; white-space: nowrap; font-size: .875rem; }
.sw-checkout__cart-editor .sw-header-cart__product-title { color: var(--sw-color-text); font-weight: 600; text-decoration: none; }
.sw-checkout__cart-editor .sw-header-cart__product-title:hover { text-decoration: underline; text-underline-offset: .2em; }
.sw-checkout__cart-editor :is(.sw-header-cart__variant,.sw-header-cart__unit-price,.sw-header-cart__line-meta,.sw-header-cart__availability) { color: var(--sw-color-text-muted); font-size: .825rem; }
.sw-checkout__cart-editor .sw-header-cart__line-editor { grid-column: 2 / -1; display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; padding-top: .25rem; }
.sw-checkout__cart-editor .sw-header-cart__line-actions { display: flex; flex-wrap: wrap; gap: .35rem; }
.sw-checkout__cart-editor .sw-header-cart__line-actions button { min-height: 44px; padding-inline: .35rem; border: 0; border-radius: 0; background: transparent; color: var(--sw-color-text); text-decoration: underline; text-underline-offset: .2em; }
.sw-checkout__totals { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem 1.25rem; margin: 0; }
.sw-checkout__totals dd { text-align: right; }
.sw-checkout__totals :is(dt, dd):nth-last-child(-n+2) { padding-top: .6rem; border-top: 1px solid var(--sw-color-border); font-weight: 750; }
.sw-checkout__sync-status { margin: 0; padding: .75rem; border-left: 3px solid var(--sw-color-accent); background: var(--sw-color-surface-muted); line-height: 1.55; }

@container sw-checkout (min-width: 48rem) {
  .sw-checkout__layout { grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .85fr); gap: 0; border-top: 1px solid var(--sw-color-border); }
  .sw-checkout__main { padding: 1.5rem clamp(1.25rem, 3vw, 2.5rem) 1.5rem 0; }
  .sw-checkout__summary-column { padding: 1.5rem 0 1.5rem clamp(1.25rem, 3vw, 2.5rem); border-left: 1px solid var(--sw-color-border); }
  .sw-checkout__summary-column { position: sticky; top: calc(var(--sw-site-header-height, 0px) + var(--sw-site-announcement-height, 0px) + 1rem); }
  .sw-checkout__summary > summary { cursor: default; pointer-events: none; }
  .sw-checkout__summary:not([open]) > .sw-checkout__summary-body { display: grid; }
  .sw-checkout__fieldset { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-checkout__fieldset > .sw-checkout__stack,
  .sw-checkout__fieldset > .sw-checkout__fulfillment,
  .sw-checkout__fieldset > .sw-checkout__member-addresses,
  .sw-checkout__fieldset > .sw-checkout__store-map,
  .sw-checkout__fieldset > button { grid-column: 1 / -1; }
}

@media (max-width: 30rem) {
  .sw-checkout { padding-inline: 1rem; }
  .sw-checkout__summary > summary { align-items: flex-start; }
  .sw-checkout__cart-editor .sw-header-cart__line { grid-template-columns: 3.5rem minmax(0, 1fr); }
  .sw-checkout__cart-editor .sw-header-cart__line-price { grid-column: 2; grid-row: auto; justify-self: start; }
  .sw-checkout__cart-editor .sw-header-cart__line-editor { grid-column: 1 / -1; }
  .sw-checkout__store-map-copy dl { grid-template-columns: 1fr; gap: .15rem; }
  .sw-checkout__store-map-copy dd + dt { margin-top: .5rem; }
}

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

/*!********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-order-status.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-order-status__link:focus-visible {
  outline: 3px solid var(--sw-color-focus-indicator, #005fcc);
  outline-offset: 3px;
}

@media (forced-colors: active) {
  .sw-order-status__link:focus-visible {
    outline-color: CanvasText;
  }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-site-shell.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************/
[data-sw-site-shell] {
  --sw-site-announcement-height: 0px;
  --sw-hero-natural-flow-inset: calc(
    var(--sw-site-announcement-height)
    + var(--sw-site-header-announcement-height, 0px)
    + var(--sw-site-header-height, 0px)
  );
}
[data-sw-site-shell][data-sw-header-overlay="true"] {
  --sw-hero-natural-flow-inset: calc(
    var(--sw-site-announcement-height)
    + var(--sw-site-header-announcement-height, 0px)
  );
}
.sw-site-header-chrome { min-width: 0; align-self: start; z-index: 20; }
.sw-site-header-chrome[data-sticky="true"] { position: sticky; top: var(--sw-site-header-sticky-top, 0px); }
.sw-site-announcement { position: relative; z-index: 110; min-width: 0; background: #111; color: #fff; }
/* Match SSR and initial hydration while reading the tab-local public preference.
 * The component's noscript rule restores the notice when scripting is off. */
.sw-site-announcement[data-dismissal-pending="true"] { visibility: hidden; }
/* New promotions occupy their own natural-flow row, not the sticky header.
   Historical nested announcements retain the preceding layout rules. */
[data-sw-header-overlay="true"][data-sw-announcement-independent="true"] { grid-template-rows: auto minmax(0, 1fr) auto; }
[data-sw-header-overlay="true"][data-sw-announcement-independent="true"] > [data-sw-site-announcement] { grid-area: 1 / 1; }
[data-sw-header-overlay="true"][data-sw-announcement-independent="true"] > .sw-site-header-chrome,
[data-sw-header-overlay="true"][data-sw-announcement-independent="true"] > [data-sw-shared-renderer] { grid-area: 2 / 1; }
[data-sw-site-shell][data-sw-header-overlay="true"][data-sw-announcement-independent="true"] > [data-sw-shared-renderer] { padding-block-start: 0; }
[data-sw-header-overlay="true"][data-sw-announcement-independent="true"] > [data-sw-site-shell-footer] { grid-area: 3 / 1; }
/* R4 is a viewport image, not a viewport remainder. The page body spans the
   announcement and Header rows so both chrome bands overlay the image while
   retaining their own natural heights and order. */
[data-sw-site-shell][data-sw-header-overlay="true"][data-sw-announcement-independent="true"][data-sw-hero-viewport-overlay="true"] {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}
[data-sw-header-overlay="true"][data-sw-announcement-independent="true"][data-sw-hero-viewport-overlay="true"] > [data-sw-site-announcement] {
  grid-area: 1 / 1;
  align-self: start;
  width: 100%;
}
[data-sw-header-overlay="true"][data-sw-announcement-independent="true"][data-sw-hero-viewport-overlay="true"] > .sw-site-header-chrome {
  grid-area: 2 / 1;
}
[data-sw-site-shell][data-sw-header-overlay="true"][data-sw-announcement-independent="true"][data-sw-hero-viewport-overlay="true"] > [data-sw-shared-renderer] {
  grid-area: 1 / 1 / 4 / 2;
  padding-block-start: 0;
  padding-inline: 0;
}
[data-sw-header-overlay="true"][data-sw-announcement-independent="true"][data-sw-hero-viewport-overlay="true"] > [data-sw-site-shell-footer] {
  grid-area: 4 / 1;
}
.sw-site-announcement__inner { display: flex; align-items: center; justify-content: center; gap: .75rem; max-width: 1120px; margin-inline: auto; padding-inline: 1rem; min-height: 44px; box-sizing: border-box; }
.sw-site-announcement :is(p,a) { margin: 0; padding-block: .55rem; color: inherit; font: inherit; font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.sw-site-announcement button { flex: 0 0 44px; width: 44px; min-height: 44px; border: 0; border-radius: 0; color: inherit; background: transparent; font: inherit; font-size: 1.5rem; cursor: pointer; }
.sw-site-announcement :is(a,button):focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
[data-sw-header-overlay="true"] { display: grid; grid-template-columns: minmax(0, 1fr); }
[data-sw-header-overlay="true"] > .sw-site-header-chrome,
[data-sw-header-overlay="true"] > [data-sw-shared-renderer] { grid-area: 1 / 1; }
[data-sw-site-shell][data-sw-header-overlay="true"] > [data-sw-shared-renderer] { max-width: none; padding-block-start: var(--sw-site-announcement-height, 0px); padding-inline: 0; }
[data-sw-header-overlay="true"]:has(> .sw-site-header-chrome > [data-sw-site-announcement]) > [data-sw-shared-renderer] { padding-block-start: var(--sw-site-header-announcement-height, 44px); }
[data-sw-header-overlay="true"] > [data-sw-shared-renderer] > .sw-public-hero-carousel:first-child,
[data-sw-header-overlay="true"] > [data-sw-shared-renderer] > :first-child .sw-public-hero-carousel { border-radius: 0; }
/* Versioned stable Hero panels own their measured header inset and reading
   row. Applying the legacy top offset again would move that row beyond its
   reserved height. Historical single-copy presentations retain this rule. */
[data-sw-header-overlay="true"] > [data-sw-shared-renderer] > .sw-public-hero-carousel:first-child .sw-public-hero-carousel__copy:not([data-hero-copy-slide]),
[data-sw-header-overlay="true"] > [data-sw-shared-renderer] > :first-child .sw-public-hero-carousel__copy:not([data-hero-copy-slide]) { top: var(--sw-header-copy-top, var(--sw-site-header-height, 7rem)); }
@container sw-hero (max-width: 480px) {
  .sw-public-hero-carousel[data-mobile-layout="stacked"] .sw-public-hero-carousel__copy { --sw-header-copy-top: 0px; }
}
.sw-site-header-chrome > .sw-public-site-shell-header { transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.sw-site-header-chrome[data-overlay="true"][data-scrolled="false"] > .sw-public-site-shell-header { --sw-color-text: #fff; --sw-color-text-muted: rgb(255 255 255 / .82); color: #fff; background: linear-gradient(180deg, rgb(0 0 0 / .58) 0%, rgb(0 0 0 / .22) 58%, transparent 100%) no-repeat; border-color: transparent; }
.sw-site-header-chrome[data-scrolled="true"] > .sw-public-site-shell-header { background: rgb(255 255 255 / .98); color: #111; --sw-color-text: #111; --sw-color-text-muted: #333; box-shadow: 0 1px 0 rgb(0 0 0 / .12), 0 8px 24px rgb(0 0 0 / .06); backdrop-filter: blur(14px); }
.sw-site-header-chrome .sw-site-nav__children { color: #111; --sw-color-text: #111; --sw-color-text-muted: #333; }
@media (prefers-reduced-motion: reduce) { .sw-site-header-chrome > .sw-public-site-shell-header { transition: none; } }
.sw-public-site-shell-header { container: sw-site-header / inline-size; }
.sw-public-site-shell-header__logo-image { display: block; width: auto; height: auto; max-width: min(12rem, 100%); max-height: 3.25rem; object-fit: contain; }
.sw-public-site-shell-header [data-sw-site-shell-logo] { max-width: 100%; min-height: 44px; padding-inline: .6rem; font-size: clamp(.9rem, 1.5vw, 1.15rem); font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.sw-public-site-shell-header__mobile { display: block; width: 100%; min-width: 0; }
.sw-site-nav { min-width: 0; }
.sw-site-nav__items, .sw-site-nav__children { list-style: none; margin: 0; padding: 0; min-width: 0; }
.sw-site-nav__items { display: flex; flex-wrap: wrap; align-items: start; gap: .5rem; }
.sw-site-nav__item { min-width: 0; }
.sw-public-site-shell-header__inner { position: relative; display: grid; grid-template-columns: var(--sw-site-menu-width, 4.5rem) minmax(0, 1fr) 4.5rem; gap: .5rem; width: 100%; max-width: none; min-height: 4.75rem; padding: .65rem clamp(1rem, 3.25vw, 3rem); }
.sw-public-site-shell-header__inner > [data-sw-site-shell-logo] { grid-column: 2; grid-row: 1; justify-self: center; text-align: center; }
.sw-public-site-shell-header__inner > .sw-public-site-shell-header__mobile { grid-column: 1; grid-row: 1; }
.sw-site-nav__hamburger { font-size: 1.125rem; line-height: 1; }
/* Keep the finite Japanese menu label on one line without shrinking its touch target. */
.sw-public-site-shell-header[data-sw-interface-locale="ja"] { --sw-site-menu-width: 5.5rem; }
.sw-public-site-shell-header__mobile > summary { padding-inline: .25rem; font-size: .875rem; white-space: nowrap; }
.sw-site-nav__link, .sw-site-nav__trigger { display: flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem .7rem; box-sizing: border-box; color: inherit; text-decoration: none; cursor: pointer; overflow-wrap: anywhere; font-size: .75rem; letter-spacing: .085em; text-transform: uppercase; }
.sw-site-nav__trigger { font-weight: 650; list-style: none; }
.sw-site-nav__trigger::-webkit-details-marker { display: none; }
.sw-site-nav__link:focus-visible, .sw-site-nav__trigger:focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 2px; }
.sw-site-nav__group[open] > summary .sw-site-nav__chevron { transform: rotate(180deg); }
.sw-site-nav__children { padding: .85rem; border: 1px solid rgb(0 0 0 / .12); background: #fff; border-radius: 0; box-shadow: 0 18px 44px rgb(0 0 0 / .14); }
.sw-site-nav[data-sw-site-shell-navigation-mode="mobile"] .sw-site-nav__items { display: block; }
.sw-site-nav[data-sw-site-shell-navigation-mode="mobile"] .sw-site-nav__children { margin-inline-start: .75rem; }
.sw-site-nav[data-sw-site-shell-navigation-mode="desktop"] .sw-site-nav__children { position: absolute; z-index: 5; inset-inline-start: var(--sw-nav-left, auto); inset-inline-end: 0; min-width: 12rem; width: max-content; max-width: min(28rem, 100%); box-sizing: border-box; max-height: 60vh; overflow: auto; }
.sw-site-nav[data-navigation-style="mega"][data-sw-site-shell-navigation-mode="desktop"] .sw-site-nav__children { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 26rem; }
.sw-site-nav[data-navigation-animation="fade"] details[open] > ul, .sw-site-nav[data-navigation-animation="stagger"] details[open] > ul > li { animation: sw-nav-fade .15s ease-out both; }
.sw-site-nav[data-navigation-animation="stagger"] details[open] > ul > li:nth-child(2n) { animation-delay: .04s; }
.sw-site-nav[data-navigation-animation="slide_down"] details[open] > ul { animation: sw-nav-slide .15s ease-out both; }
.sw-site-nav[data-navigation-animation="scale"] details[open] > ul { animation: sw-nav-scale .15s ease-out both; transform-origin: top; }
@keyframes sw-nav-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes sw-nav-slide { from { opacity: 0; transform: translateY(-.4rem); } to { opacity: 1; transform: translateY(0); } }
@keyframes sw-nav-scale { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .sw-site-nav[data-navigation-animation] details[open] > ul, .sw-site-nav[data-navigation-animation] details[open] > ul > li { animation: none; } }
.sw-public-site-shell-header__desktop { display: none; }
@container sw-site-header (min-width: 48rem) {
  .sw-public-site-shell-header__inner { display: flex; flex-direction: column; gap: .05rem; padding-block: .55rem .4rem; }
  .sw-public-site-shell-header__mobile { display: none; }
  .sw-public-site-shell-header__desktop { display: block; }
  .sw-public-site-shell-header__desktop .sw-site-nav__items { justify-content: center; gap: .15rem; }
}
/* A short R4 viewport keeps one original header, with its middle clear for
   the same full-height product. Navigation remains in the existing drawer. */
[data-sw-hero-compact-header="true"] .sw-public-site-shell-header__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0 .5rem;
  padding-block: .35rem;
  align-items: center;
}
[data-sw-hero-compact-header="true"] .sw-public-site-shell-header__inner:has(> .sw-header-utilities) { grid-template-columns: minmax(0, 1fr) auto; }
[data-sw-hero-compact-header="true"] .sw-public-site-shell-header__inner > [data-sw-site-shell-logo] {
  grid-column: 1; grid-row: 1; justify-self: start; padding-inline: 0; max-width: min(9rem, 100%); text-align: start;
}
[data-sw-hero-compact-header="true"] .sw-public-site-shell-header__inner > .sw-public-site-shell-header__mobile {
  display: block; grid-column: 1; grid-row: 2; width: max-content; max-width: 100%; justify-self: start;
}
[data-sw-hero-compact-header="true"] .sw-public-site-shell-header__desktop { display: none; }
[data-sw-hero-compact-header="true"] .sw-public-site-shell-header__inner > .sw-header-utilities {
  position: static; grid-column: 2; grid-row: 1; justify-self: end;
}
@container sw-site-header (min-width: 40rem) {
  [data-sw-hero-compact-header="true"] .sw-public-site-shell-header__inner,
  [data-sw-hero-compact-header="true"] .sw-public-site-shell-header__inner:has(> .sw-header-utilities) { grid-template-columns: auto auto minmax(0, 1fr) auto; }
  [data-sw-hero-compact-header="true"] .sw-public-site-shell-header__inner > .sw-public-site-shell-header__mobile { grid-column: 2; grid-row: 1; }
  [data-sw-hero-compact-header="true"] .sw-public-site-shell-header__inner > .sw-header-utilities { grid-column: 4; }
}
.sw-site-nav__link:hover { text-decoration: underline; text-underline-offset: .25em; }
.sw-site-nav__chevron { flex: 0 0 1rem; transition: transform .2s ease; }
.sw-public-site-shell-header__inner > .sw-public-site-shell-header__mobile[data-sw-site-shell-mobile-menu="native-details"][open] { grid-column: 1 / -1; grid-row: 2; }
.sw-site-drawer { position: fixed; inset: 0 auto 0 0; margin: 0; box-sizing: border-box; width: min(22rem, calc(100vw - 2.5rem)); max-width: none; height: 100dvh; max-height: 100dvh; border: 0; padding: 1.25rem; overflow-y: auto; overscroll-behavior: contain; background: #fff; color: #171717; font: inherit; }
.sw-site-drawer::backdrop { background: rgb(0 0 0 / .55); }
.sw-site-drawer[open] { animation: sw-site-drawer-enter .2s ease-out; }
.sw-site-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; border-bottom: 1px solid #ddd; padding-bottom: .5rem; }
.sw-site-drawer__head h2 { margin: 0; font-size: 1rem; font-weight: 600; }
.sw-site-drawer__close { display: inline-flex; align-items: center; gap: .6rem; justify-content: center; min-width: 64px; min-height: 44px; padding: .5rem; border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; }
.sw-site-drawer .sw-site-nav__item { border-bottom: 1px solid #e5e5e5; padding-block: .35rem; }
.sw-site-drawer .sw-site-nav__trigger { justify-content: space-between; font-weight: 500; }
.sw-site-drawer .sw-site-nav__children { margin: 0; padding-inline-start: 1rem; border: 0; border-radius: 0; background: #fff; }
.sw-site-drawer .sw-site-nav__link, .sw-site-drawer .sw-site-nav__trigger { color: #171717; }
.sw-site-drawer :is(a,button,summary):focus-visible { outline: 3px solid #171717; outline-offset: 2px; }
@keyframes sw-site-drawer-enter { from { transform: translateX(-100%); } to { transform: translateX(0); } }
.sw-footer-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); align-items: start; gap: clamp(1.5rem, 3vw, 4.5rem); width: 100%; max-width: 1280px; padding: clamp(3.25rem, 7vw, 6.5rem) clamp(1rem, 4vw, 3rem); }
.sw-public-site-shell-footer__locale { box-sizing: border-box; width: 100%; min-width: 0; max-width: 1280px; margin-inline: auto; padding: 1rem clamp(1rem, 4vw, 3rem) 2.25rem; border-top: 1px solid rgb(255 255 255 / .18); }
.sw-footer-column { min-width: 0; }
.sw-footer-column__heading { list-style: none; display: flex; justify-content: space-between; gap: 1rem; align-items: center; min-height: 44px; margin: 0 0 .8rem; font-size: .76rem; font-weight: 720; line-height: 1.5; letter-spacing: .09em; text-transform: uppercase; overflow-wrap: anywhere; }
.sw-footer-column__heading::-webkit-details-marker { display: none; }
.sw-footer-column__indicator { display: none; font-size: 1.5rem; font-weight: 400; }
.sw-footer-column__content { min-width: 0; color: rgb(255 255 255 / .72); font-size: .88rem; line-height: 1.72; }
.sw-footer-column__content p { white-space: pre-wrap; margin: 0 0 1rem; overflow-wrap: anywhere; }
.sw-footer-column__content ul { margin: 0; padding: 0; list-style: none; }
.sw-footer-column__content a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.sw-footer-column__content a:hover { text-decoration: underline; text-underline-offset: .25em; }
.sw-footer-column :is(a,summary):focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
[data-sw-site-shell-footer][data-theme-footer="editorial-footer"] { background: #0b0b0b; color: #fff; border-color: #242424; }
@media (min-width: 64rem) {
  [data-sw-site-shell-footer] > .sw-public-site-shell-footer__inner.sw-footer-groups:not([data-compact="true"]) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
[data-sw-site-shell-footer] > .sw-public-site-shell-footer__inner.sw-footer-groups[data-compact="true"] { grid-template-columns: minmax(0, 1fr); gap: 0; }
.sw-footer-groups[data-compact="true"] .sw-footer-column { border-bottom: 1px solid currentColor; padding-block: .5rem; }
.sw-footer-groups[data-compact="true"] .sw-footer-column__heading { cursor: pointer; margin: 0; }
.sw-footer-groups[data-compact="true"] .sw-footer-column__indicator { display: block; transition: transform .2s ease; }
.sw-footer-groups[data-compact="true"] details[open] .sw-footer-column__indicator { transform: rotate(45deg); }
.sw-footer-groups[data-compact="true"] .sw-footer-column__content { padding-block: .75rem; }
@media (prefers-reduced-motion: reduce) {
  .sw-site-drawer[open] { animation: none; }
  .sw-site-nav__chevron, .sw-footer-groups[data-compact="true"] .sw-footer-column__indicator { transition: none; }
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-theme.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************/
/* Applies only to an explicitly materialized, validated theme. Historical
 * snapshots without this extension retain their previous rendering rules. */
.sw-public-themed-site { background: var(--sw-color-surface-page); color: var(--sw-color-text); font-family: var(--sw-storefront-font-family, ui-sans-serif, system-ui, sans-serif); }
.sw-public-themed-site [data-sw-shared-renderer] { gap: calc(var(--sw-theme-section-gap) * 2); padding: var(--sw-theme-section-padding); }
.sw-public-themed-site :is(h1,h2,h3,h4,h5,h6) { font-family: var(--sw-theme-heading-font); font-weight: var(--sw-theme-heading-weight); }
.sw-public-site-shell-header[data-theme-header="quiet-minimal"] > .sw-public-site-shell-header__inner { padding-block: .5rem; gap: .25rem; }
.sw-public-site-shell-header[data-theme-header="quiet-minimal"] [data-sw-site-shell-navigation] { color: var(--sw-color-text-muted); }
@container sw-site-header (min-width: 48rem) {
  .sw-public-site-shell-header[data-theme-header="split-utility"] > .sw-public-site-shell-header__inner { flex-direction: row; justify-content: space-between; gap: 2rem; }
  .sw-public-site-shell-header[data-theme-header="split-utility"] [data-sw-site-shell-navigation-mode="desktop"] { border-inline-start: 1px solid var(--sw-color-border); padding-inline-start: 1.5rem; }
}
[data-sw-site-shell-section="footer"][data-theme-footer] > .sw-public-site-shell-footer__inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--sw-theme-section-gap); padding-block: var(--sw-theme-section-padding); }
[data-sw-site-shell-section="footer"][data-theme-footer="compact-policy"] > .sw-public-site-shell-footer__inner { grid-template-columns: minmax(0, 1fr); }
[data-sw-site-shell-section="footer"][data-theme-footer="newsletter-led"] [data-sw-shell-footer-column]:first-child { --sw-color-text: var(--sw-color-accent-contrast); --sw-color-text-muted: var(--sw-color-accent-contrast); background: var(--sw-color-accent); color: var(--sw-color-accent-contrast); border-radius: var(--sw-radius-panel); padding: var(--sw-theme-section-padding); }
[data-sw-site-shell-section="footer"][data-theme-footer="newsletter-led"] [data-sw-shell-footer-column]:first-child a:focus-visible { outline-color: currentColor; }

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-content-layout.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Explicit saved R7 layout. No selector targets the Admin shell or an older
   saved theme. The 1250px token is foreground width, outside the gutters. */
[data-sw-site-shell][data-theme-content-layout="contained-1250"] {
  container: sw-site-layout / inline-size;
}
[data-sw-site-shell][data-theme-content-layout="contained-1250"] > :is(.sw-site-header-chrome, [data-sw-shared-renderer], [data-sw-site-shell-footer]) {
  --sw-content-gutter: 16px;
}
@container sw-site-layout (min-width: 768px) {
  [data-sw-site-shell][data-theme-content-layout="contained-1250"] > :is(.sw-site-header-chrome, [data-sw-shared-renderer], [data-sw-site-shell-footer]) { --sw-content-gutter: 24px; }
}
@container sw-site-layout (min-width: 1024px) {
  [data-sw-site-shell][data-theme-content-layout="contained-1250"] > :is(.sw-site-header-chrome, [data-sw-shared-renderer], [data-sw-site-shell-footer]) { --sw-content-gutter: 40px; }
}
[data-sw-site-shell][data-theme-content-layout="contained-1250"] > [data-sw-shared-renderer] {
  --sw-section-gutter: 0px;
  box-sizing: border-box;
  width: min(var(--sw-content-max), calc(100% - 2 * var(--sw-content-gutter)));
  max-width: none;
  padding-inline: 0;
  margin-inline: auto;
}
/* Only an actual Hero needs a full-width page track. Other foreground content
   keeps the same token inside its original section, including editor wrappers. */
[data-sw-site-shell][data-theme-content-layout="contained-1250"] > [data-sw-shared-renderer]:has(.sw-public-hero-carousel) {
  --sw-section-gutter: var(--sw-content-gutter);
  width: 100%;
}
[data-sw-site-shell][data-theme-content-layout="contained-1250"] :is(.sw-public-catalog-grid__inner, .sw-public-editorial__inner, .sw-public-brand-story__layout) {
  box-sizing: border-box;
  width: min(var(--sw-content-max), calc(100% - 2 * var(--sw-section-gutter, 0px)));
  margin-inline: auto;
}
/* The outer foreground gutter replaces white section insets, not the padding
   inside a contrasting editorial panel. Keep its authored density padding. */
[data-sw-site-shell][data-theme-content-layout="contained-1250"] :is(.sw-public-catalog-grid__inner, .sw-public-brand-story__layout),
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-public-editorial:not([data-tone="dark-footer"]):not([data-tone="dark-proof"]) > .sw-public-editorial__inner { padding-inline: 0; }
[data-sw-site-shell][data-theme-content-layout="contained-1250"] [data-width="full"] > :is(.sw-public-catalog-grid__inner, .sw-public-editorial__inner) { max-width: none; }
[data-sw-site-shell][data-theme-content-layout="contained-1250"] :is(.sw-product-search, .sw-cart-page[data-content-width="wide"], .sw-checkout[data-sw-checkout-width="wide"], .sw-article-list, .sw-product-page-composition) {
  width: 100%; max-width: none; padding-inline: 0;
}
[data-sw-site-shell][data-theme-content-layout="contained-1250"] :is(.sw-footer-groups, .sw-public-site-shell-footer__locale) {
  box-sizing: border-box;
  width: min(var(--sw-content-max), calc(100% - 2 * var(--sw-content-gutter)));
  max-width: none; padding-inline: 0; margin-inline: auto;
}
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-public-site-shell-header__inner {
  box-sizing: border-box; position: relative;
  display: grid; grid-template-columns: 88px minmax(0, 1fr) 88px; grid-template-rows: auto;
  align-items: center; gap: 0;
  width: min(var(--sw-content-max), calc(100% - 2 * var(--sw-content-gutter)));
  max-width: none; margin-inline: auto; padding: 10px 0; min-height: 76px;
}
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-public-site-shell-header__inner > [data-sw-site-shell-logo] {
  grid-column: 2; grid-row: 1; justify-self: center; text-align: center; padding-inline: 0;
  max-width: 100%; overflow-wrap: anywhere;
}
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-public-site-shell-header__inner > .sw-header-utilities { display: contents; position: static; }
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-header-utilities__right { grid-column: 3; grid-row: 1; justify-self: end; }
.sw-header-search { display: contents; }
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-header-utilities__search { grid-column: 1; grid-row: 1; justify-self: end; }
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-public-site-shell-header__inner > .sw-public-site-shell-header__mobile {
  grid-column: 1; grid-row: 1; display: block; width: 44px; justify-self: start;
}
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-public-site-shell-header__mobile > summary { justify-content: center; padding-inline: 0; min-width: 44px; }
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-site-nav__menu-label {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-public-site-shell-header__desktop { display: none; }
@container sw-site-layout (min-width: 768px) {
  [data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-public-site-shell-header__inner { padding-block: 12px 9px; }
  [data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-header-utilities__search { justify-self: start; }
  [data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-public-site-shell-header__inner > .sw-public-site-shell-header__mobile { display: none; }
  [data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-public-site-shell-header__desktop { display: block; grid-column: 1 / -1; grid-row: 2; justify-self: center; }
}
/* Announcement text is centered independently of its right-edge dismiss hit
   area. Keep symmetric space at both edges for long translations. */
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-site-announcement__inner {
  width: 100%; max-width: none; padding-inline: max(64px, env(safe-area-inset-left), env(safe-area-inset-right));
  min-height: 48px; gap: 0; text-align: center;
}
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-site-announcement button {
  position: absolute; inset-inline-end: max(12px, env(safe-area-inset-right)); top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px;
}
.sw-site-header-chrome[data-sw-search-open="true"] { z-index: 100; }
[data-sw-site-shell][data-theme-content-layout="contained-1250"] .sw-site-header-chrome[data-sw-search-open="true"] > .sw-public-site-shell-header {
  background: #fff; color: #171717; --sw-color-text: #171717; box-shadow: 0 1px 0 #ddd;
}
.sw-site-header-chrome[data-sw-search-open="true"] :is([data-sw-site-shell-logo], .sw-public-site-shell-header__mobile, .sw-public-site-shell-header__desktop, .sw-header-utilities__right, .sw-header-utilities__search) {
  visibility: hidden;
}
.sw-header-search__form { position: absolute; z-index: 1; inset: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-content: center; align-items: center; gap: 0; background: #fff; color: #171717; }
.sw-header-search__form :is(button,input) { box-sizing: border-box; min-width: 0; min-height: 44px; border: 0; border-radius: 0; color: inherit; background: transparent; font: inherit; }
.sw-header-search__form button { display: inline-flex; align-items: center; justify-content: center; width: 44px; padding: 0; cursor: pointer; }
.sw-header-search__form input[type="search"] { width: 100%; padding: .5rem .25rem; font-size: clamp(1rem, 2cqw, 1.35rem); outline-offset: -2px; }
.sw-header-search__form .sw-header-search__close { font-size: 1.5rem; }
.sw-header-search__form :is(button,input):focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.sw-header-search__form > p { grid-column: 2; margin: 0; font-size: .75rem; line-height: 1.4; overflow-wrap: anywhere; }
.sw-header-search-backdrop { position: fixed; z-index: 95; background: rgb(0 0 0 / .55); }

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/buyer-account-console.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************/
/* Approved DIR184 six-section layout. All visual values inherit the published shop theme. */
.sw-buyer-account.sw-member-console-surface { font-family: inherit; padding: var(--sw-space-panel-padding, 1.5rem); }
.sw-buyer-account.sw-member-console-surface :is(h1,h2,h3) { font-family: var(--sw-theme-heading-font, inherit); font-weight: var(--sw-theme-heading-weight, 700); }
.sw-buyer-account.sw-member-console-surface :is(button,.sw-buyer-form-input,a[class*="rounded-"]) { border-radius: var(--sw-radius-control); }
.sw-buyer-account.sw-member-console-surface .sw-buyer-form-primary-action { background: var(--sw-theme-button-background,var(--sw-color-accent)); color: var(--sw-theme-button-color,var(--sw-color-accent-contrast)); border-color: var(--sw-theme-button-border,var(--sw-color-accent)); }
.sw-buyer-account.sw-member-console-surface .sw-buyer-form-link { color: var(--sw-color-accent); }
.sw-buyer-account.sw-member-console-surface .sw-buyer-form-checkbox { accent-color: var(--sw-color-accent); }
.sw-member-console { display:grid; min-width:0; gap:var(--sw-space-stack-md,1.5rem); grid-template-areas:"nav" "content" "logout"; }
.sw-member-console__nav { grid-area:nav; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.375rem; min-width:0; }
.sw-member-console__link { display:flex; align-items:center; justify-content:center; min-width:0; min-height:3.25rem; padding:.625rem .5rem;
 font:inherit; font-size:clamp(.75rem,3.5cqw,.875rem); line-height:1.5; text-align:center; overflow-wrap:normal; word-break:normal; hyphens:auto; color:var(--sw-color-text);
 background:var(--sw-color-surface-panel); border:1px solid var(--sw-color-border); border-radius:var(--sw-radius-control); text-decoration:none; }
.sw-member-console__link[aria-current="page"] { background:var(--sw-color-surface-muted); border-color:var(--sw-color-accent);
 box-shadow:inset 0 -2px var(--sw-color-accent); font-weight:700; }
.sw-member-console__link:hover { text-decoration:underline; text-underline-offset:.25em; }
.sw-member-console__link:focus-visible { outline:3px solid var(--sw-color-focus-indicator); outline-offset:2px; }
.sw-member-console__link[aria-disabled="true"] { opacity:.6; cursor:not-allowed; }
.sw-member-console__content { grid-area:content; min-width:0; }
.sw-member-console__panel { scroll-margin-block-start:calc(var(--sw-site-header-height,0px) + var(--sw-site-announcement-height,0px) + 1rem); display:grid; min-width:0; gap:var(--sw-space-stack-md,1.5rem); }
.sw-member-console__panel[hidden] { display:none!important; }
.sw-member-console__panel > .sw-buyer-form-section:first-child { border-top:0; padding-top:0; }
.sw-member-console__logout { grid-area:logout; padding-top:var(--sw-space-stack-md,1.5rem); border-top:1px solid var(--sw-color-border); }
.sw-member-console__logout > form { border:0; padding:0; }
.sw-member-console__shortcuts { display:flex; min-width:0; flex-wrap:wrap; justify-content:space-between; gap:var(--sw-space-stack-sm,.75rem); }
.sw-member-console__embedded { padding:0; max-width:none; font-family:inherit; }
@container sw-buyer-account (min-width:48rem) {
 .sw-member-console { grid-template-columns:minmax(11rem,14rem) minmax(0,1fr); grid-template-areas:"nav content" "logout content"; align-items:start;
  gap:var(--sw-space-stack-md,1.5rem) clamp(1.5rem,3cqw,3rem); }
 .sw-member-console__nav { grid-template-columns:minmax(0,1fr); position:sticky;
  top:calc(var(--sw-site-header-height,0px) + var(--sw-site-announcement-height,0px) + 1rem); }
 .sw-member-console__link { justify-content:flex-start; text-align:start; font-size:1rem; padding:.75rem 1rem; }
 .sw-member-console__content { padding-inline-start:clamp(1.5rem,3cqw,2.5rem); border-inline-start:1px solid var(--sw-color-border); }
}
.sw-buyer-account.sw-member-console-surface > .sw-buyer-form-stack:first-child :is(h1,h2) { font-family:var(--sw-theme-heading-font,inherit); font-weight:var(--sw-theme-heading-weight,700); }


/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/order-template-preview.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/
/* Only transient template controls. The live order and effective store theme
 * keep their existing layout, tokens and transaction authority. */
.sw-order-preview-controls { padding: 1rem; border-bottom: 1px solid var(--sw-color-border); }
.sw-order-preview-controls > legend { padding: 0; font-weight: 700; }
.sw-order-preview-controls > p { font-size: .875rem; color: var(--sw-color-text-muted); }
.sw-order-preview-controls__fields {
  display: grid; min-width: 0; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-header-utilities.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-header-utilities { display: flex; gap: 0; align-items: center; min-width: 0; }
.sw-header-utilities__right { display: flex; align-items: center; min-width: 0; }
.sw-header-cart-portal { display: contents; }
.sw-public-site-shell-header__inner:has(> .sw-header-utilities) { grid-template-columns: var(--sw-site-menu-width, 4.5rem) minmax(0, 1fr) 5.5rem; }
.sw-public-site-shell-header__inner > .sw-header-utilities { grid-column: 3; grid-row: 1; justify-self: end; }
.sw-public-site-shell-header__inner:has(.sw-header-utilities__search) { grid-template-columns: var(--sw-site-menu-width, 4.5rem) minmax(0, 1fr) 8.25rem; }
.sw-header-utilities .sw-header-utilities__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; min-width: 44px; min-height: 44px; padding: .35rem; border: 0; border-radius: 0; background: transparent; color: inherit; position: relative; text-decoration: none; cursor: pointer; }
.sw-header-utilities .sw-header-utilities__icon:disabled { opacity: .6; cursor: not-allowed; }
.sw-header-utilities__count { position: absolute; inset: 0 0 auto auto; min-width: 1rem; font-size: .65rem; line-height: 1.4; text-align: center; background: currentColor; border-radius: 1rem; color: inherit; }
.sw-header-utilities__count { background: #111; color: #fff; }
.sw-header-utilities__icon:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.sw-header-cart-backdrop { position: fixed; z-index: 80; inset: var(--sw-site-announcement-height, 0px) 0 0; background: rgb(0 0 0 / .55); animation: sw-header-cart-backdrop-in .5s ease; }
.sw-header-cart-backdrop[data-closing="true"] { animation: sw-header-cart-backdrop-out .5s ease forwards; pointer-events: none; }
.sw-header-cart { position: fixed; z-index: 90; inset: var(--sw-site-announcement-height, 0px) 0 0 auto; margin: 0; box-sizing: border-box; width: min(28rem, calc(100vw - 1.5rem)); max-width: none; height: calc(100dvh - var(--sw-site-announcement-height, 0px)); max-height: calc(100dvh - var(--sw-site-announcement-height, 0px)); padding: 1.25rem; border: 0; border-radius: 0; background: #fff; color: #171717; font: inherit; overflow-y: auto; overscroll-behavior: contain; }
.sw-header-cart[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; animation: sw-header-cart-enter .5s cubic-bezier(.43,.01,.44,1); }
.sw-header-cart[data-closing="true"] { animation: sw-header-cart-exit .5s cubic-bezier(.43,.01,.44,1) forwards; }
.sw-header-cart__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-right: .25rem; }
.sw-header-cart__body { position: relative; }
.sw-header-cart__body[data-cart-updating="true"]::before { content: ''; position: absolute; inset-inline: 0; top: 0; height: 2px; background: var(--sw-color-border, #ddd); pointer-events: none; }
.sw-header-cart__body > .sw-header-cart__status--quiet { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sw-header-cart__footer { border-top: 1px solid #ddd; padding-top: 1rem; }
.sw-header-cart__subtotal { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; }
.sw-header-cart__quantity { display: inline-flex; align-items: stretch; gap: 0; }
.sw-header-cart__quantity > :is(button,label) { margin: 0; }
.sw-header-cart__quantity button { width: 44px; padding-inline: 0; }
.sw-header-cart__quantity input { box-sizing: border-box; width: 3.5rem; min-height: 44px; padding: .4rem; border: 1px solid #777; border-inline: 0; border-radius: 0; font: inherit; color: inherit; background: transparent; text-align: center; }
.sw-header-cart__quantity input:focus-visible { outline: 3px solid var(--sw-color-focus-indicator, #111); outline-offset: 2px; }
.sw-header-cart__quantity input[aria-invalid="true"] { border-style: dashed; }
.sw-header-cart__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.sw-header-cart__checkout[aria-disabled="true"] { display: flex; justify-content: center; padding: .65rem 1rem; border: 1px solid currentColor; opacity: .65; }
.sw-header-cart [role="status"]:empty, .sw-product-cart-action [role="status"]:empty { margin: 0; }
.sw-header-cart p { margin: .5rem 0; line-height: 1.45; overflow-wrap: anywhere; }
.sw-header-cart__heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; border-bottom: 1px solid #ddd; padding-bottom: .75rem; }
.sw-header-cart__heading h2 { margin: 0; font-size: 1.25rem; flex: 1; }
.sw-header-cart__heading > button { order: 3; }
.sw-header-cart__page-link { order: 2; font-size: .875rem; text-underline-offset: .2em; }
.sw-header-cart :is(button,a) { min-height: 44px; color: inherit; font: inherit; }
.sw-header-cart button { padding: .5rem .75rem; border: 1px solid #777; background: #fff; border-radius: 0; cursor: pointer; }
.sw-header-cart button:disabled { opacity: .55; cursor: wait; }
.sw-header-cart :is(a,button):focus-visible { outline: 3px solid #111; outline-offset: 2px; }
.sw-header-cart__lines { margin: 1rem 0; padding: 0; list-style: none; }
.sw-header-cart__line { display: grid; grid-template-columns: 4.75rem minmax(0, 1fr) auto; align-items: start; gap: .45rem .8rem; padding-block: 1rem; border-bottom: 1px solid #ddd; min-width: 0; }
.sw-header-cart__line > img { grid-column: 1; grid-row: 1 / span 2; }
.sw-header-cart__line-copy { grid-column: 2; min-width: 0; }
.sw-header-cart__line-price { grid-column: 3; grid-row: 1; white-space: nowrap; font-size: .875rem; }
.sw-header-cart__line-editor { grid-column: 2 / -1; display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: .55rem .75rem; padding-top: .25rem; }
.sw-header-cart__line-editor > [role="alert"] { flex-basis: 100%; margin: 0; }
.sw-header-cart__line-actions { display: flex; min-width: 0; flex-wrap: wrap; gap: .35rem; }
.sw-header-cart__line-actions button { border-color: transparent; background: transparent; min-height: 44px; padding-inline: .25rem; text-decoration: underline; text-underline-offset: .2em; }
.sw-header-cart__line-copy p { margin-block: .2rem; }
.sw-header-cart__variant, .sw-header-cart__unit-price, .sw-header-cart__line-meta, .sw-header-cart__availability { color: #555; font-size: .875rem; }
.sw-header-cart__availability { margin-top: .35rem; }
.sw-header-cart__lines img { width: 76px; height: 76px; object-fit: contain; flex: 0 0 76px; }
.sw-header-cart__lines a.sw-header-cart__product-title { display: inline; color: inherit; font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.sw-header-cart__lines a.sw-header-cart__product-title:hover { text-decoration: underline; text-underline-offset: .2em; }
.sw-header-cart__notice { border-left: 3px solid #555; padding-left: .75rem; }
.sw-header-cart__subtotal { font-weight: 650; }
.sw-header-cart a.sw-header-cart__checkout { display: flex; align-items: center; justify-content: center; padding: .75rem 1rem; color: #fff; background: #111; border: 1px solid #111; border-radius: 0; text-decoration: none; text-transform: uppercase; letter-spacing: .02em; }
.sw-header-cart__reload, .sw-header-cart__continue { width: 100%; margin-block: 1rem; }
/* Only a validated published Theme changes the historical drawer skin. */
.sw-public-themed-site .sw-header-cart { background: var(--sw-color-surface-panel); color: var(--sw-color-text); }
.sw-public-themed-site .sw-header-cart__heading, .sw-public-themed-site .sw-header-cart__lines li, .sw-public-themed-site .sw-header-cart__footer { border-color: var(--sw-color-border); }
.sw-public-themed-site .sw-header-cart__quantity :is(button,input) { border-color: var(--sw-color-border); border-radius: 0; background: var(--sw-color-surface-panel); }
.sw-public-themed-site .sw-header-cart button { border-color: var(--sw-color-border); background: var(--sw-color-surface-panel); }
.sw-public-themed-site .sw-header-cart :is(button, a.sw-header-cart__checkout) { line-height: 1.4; max-width: 100%; overflow-wrap: anywhere; }
.sw-public-themed-site .sw-header-cart .sw-header-cart__line-actions button { border-color: transparent; background: transparent; color: var(--sw-color-text); border-radius: 0; }
.sw-public-themed-site .sw-header-cart :is(a.sw-header-cart__checkout, button.sw-header-cart__continue) { border: 1px solid #111; border-radius: 0; background: #111; color: #fff; }
.sw-public-themed-site .sw-header-cart :is(a,button):focus-visible { outline-color: var(--sw-color-focus-indicator); }
@container sw-site-header (min-width: 48rem) {
  .sw-public-site-shell-header__inner > .sw-header-utilities { position: absolute; top: .75rem; right: 1rem; }
  .sw-public-site-shell-header__inner:has(> .sw-header-utilities) > [data-sw-site-shell-logo] { max-width: calc(100% - 12rem); }
  .sw-public-site-shell-header__inner:has(.sw-header-utilities__search) > [data-sw-site-shell-logo] { max-width: calc(100% - 18rem); }
}
.sw-product-cart-action, .sw-product-cart-action__purchase { display: grid; min-width: 0; gap: .75rem; }
.sw-product-cart-action__controls { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; }
.sw-product-cart-action__quantity-field { display: grid; gap: .5rem; }
/* Summary content retains its own option/description primitives. Purchase
   control styles must not restyle the original radio buttons or story text. */
.sw-product-cart-action__purchase :is(button,input), .sw-product-cart-action__choice-review button { box-sizing: border-box; min-height: 44px; font: inherit; line-height: 1.4; border: 1px solid var(--sw-color-border); border-radius: var(--sw-radius-control); background: var(--sw-color-surface-panel); color: var(--sw-color-text); padding: .6rem .8rem; }
.sw-product-cart-action__controls input { width: 5rem; }
.sw-product-cart-action__purchase button, .sw-product-cart-action__choice-review button { cursor: pointer; transition: background-color .2s ease, opacity .2s ease; }
.sw-product-cart-action__purchase button:disabled, .sw-product-cart-action__choice-review button:disabled { opacity: .55; cursor: not-allowed; }
.sw-product-cart-action__purchase button:active:not(:disabled), .sw-header-cart button:active:not(:disabled) { opacity: .8; }
.sw-product-cart-action__controls .sw-header-cart__quantity { width: max-content; max-width: 100%; }
.sw-product-cart-action__controls .sw-header-cart__quantity button { width: 44px; padding-inline: 0; border-radius: 0; }
.sw-product-cart-action__controls .sw-header-cart__quantity input { width: 3rem; padding-inline: .25rem; text-align: center; border-inline: 0; border-radius: 0; appearance: textfield; -moz-appearance: textfield; }
.sw-product-cart-action__controls input::-webkit-inner-spin-button, .sw-product-cart-action__controls input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.sw-product-cart-action .sw-product-cart-action__add { flex: 1; min-width: 10rem; font-weight: 650; background: var(--sw-theme-button-background, var(--sw-color-accent)); color: var(--sw-theme-button-color, var(--sw-color-accent-contrast)); border-color: var(--sw-theme-button-border, var(--sw-color-accent)); }
.sw-product-cart-action .sw-product-cart-action__review { justify-self: start; background: transparent; text-decoration: underline; text-underline-offset: .2em; }
.sw-product-cart-action > p, .sw-product-cart-action__purchase > p, .sw-product-cart-action__choice-review p { margin: 0; line-height: 1.6; color: var(--sw-color-text-muted); }
.sw-product-cart-action .sw-product-cart-action__quote { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .75rem; color: var(--sw-color-text); font-size: 1.05rem; font-weight: 500; }
.sw-product-cart-action__availability { font-size: .875rem; font-weight: 400; }
.sw-product-cart-action__purchase :is(button,input):focus-visible, .sw-product-cart-action__choice-review button:focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 2px; }
.sw-product-cart-action[data-summary-layout="true"] { gap: 1.25rem; }
.sw-product-cart-action[data-summary-layout="true"] > .sw-product-cart-action__quote { display: grid; gap: .25rem; padding-bottom: 1rem; border-bottom: 1px solid var(--sw-color-border); font-size: 18px; line-height: 26px; font-weight: 400; }
.sw-product-cart-action[data-summary-layout="true"] .sw-product-cart-action__amount { font-variant-numeric: tabular-nums; }
.sw-product-cart-action[data-summary-layout="true"] .sw-product-cart-action__availability { font-size: 13px; line-height: 20px; }
.sw-product-cart-action[data-summary-layout="true"] .sw-product-cart-action__controls { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.sw-product-cart-action[data-summary-layout="true"] .sw-product-cart-action__quantity-field > label { font-size: 13px; line-height: 20px; }
.sw-product-cart-action[data-summary-layout="true"] .sw-product-cart-action__add { min-height: 50px; width: 100%; font-size: 16px; font-weight: 500; line-height: 22px; border-radius: min(var(--sw-radius-control, 2px), 2px); }
.sw-product-cart-action__purchase > [data-testid="guest-cart-status"]:empty { display: none; }
@media (max-width: 47.99rem) {
  .sw-product-page-composition[data-commerce-actions="guest-cart"] { padding-bottom: calc(10rem + env(safe-area-inset-bottom)); }
  .sw-product-page-composition[data-commerce-actions="guest-cart"] [data-public-product-commerce-actions="guest-cart"] {
    position: fixed; z-index: 70; left: 0; right: 0; bottom: var(--sw-purchase-visible-bottom, 0px); max-height: min(45dvh, 14rem, var(--sw-purchase-visible-height, 100dvh)); overflow-y: auto;
    padding: .7rem max(.75rem, env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));
    border-top: 1px solid var(--sw-color-border); background: var(--sw-color-surface-panel); color: var(--sw-color-text);
    box-shadow: 0 -.75rem 2rem rgb(0 0 0 / .14); overscroll-behavior: contain;
  }
  .sw-product-page-composition[data-commerce-actions="guest-cart"] [data-public-product-commerce-actions="guest-cart"] .sw-product-cart-action {
    width: min(100%, 40rem); margin-inline: auto; gap: .35rem;
  }
  .sw-product-page-composition[data-commerce-actions="guest-cart"] [data-public-product-commerce-actions="guest-cart"] .sw-product-cart-action__controls {
    display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .6rem; align-items: end;
  }
  .sw-product-page-composition[data-commerce-actions="guest-cart"] [data-public-product-commerce-actions="guest-cart"] .sw-product-cart-action__quote {
    font-size: .875rem; line-height: 1.35;
  }
  .sw-product-page-composition[data-commerce-actions="guest-cart"] [data-public-product-commerce-actions="guest-cart"] [data-testid="guest-cart-status"]:empty { display: none; }
  /* The composed summary keeps its sole live price above the options.
     Only the same quantity/actions move into the compact mobile bar. */
  .sw-product-cart-action__purchase[data-public-product-commerce-actions] > :not(.sw-buyer-feedback--quiet) { width: min(100%, 40rem); margin-inline: auto; }
  .sw-product-page-composition[data-commerce-actions="guest-cart"] .sw-product-cart-action__quantity-field > label,
  .sw-product-page-composition[data-commerce-actions="guest-cart"] .sw-product-cart-action__controls label > span {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
  /* An open review form owns the viewport, including consent and submit.
     Return the original purchase controls to their original summary in normal
     flow instead of hiding them or covering input/virtual-keyboard space. */
  .sw-product-page-composition[data-commerce-actions="guest-cart"] [data-public-product-commerce-actions="guest-cart"][data-purchase-input-elsewhere="true"],
  .sw-product-page-composition[data-commerce-actions="guest-cart"]:has([data-sw-questions-mode="live"] .sw-questions__write[open]) [data-public-product-commerce-actions="guest-cart"],
  .sw-product-page-composition[data-commerce-actions="guest-cart"]:has([data-sw-reviews-mode="live"] .sw-reviews__write[open]) [data-public-product-commerce-actions="guest-cart"] {
    position: static; z-index: auto; max-height: none; overflow: visible; padding: 0; border: 0; box-shadow: none; background: transparent;
  }
  .sw-product-page-composition[data-commerce-actions="guest-cart"] [data-purchase-input-elsewhere="true"] .sw-product-cart-action__quantity-field > label,
  .sw-product-page-composition[data-commerce-actions="guest-cart"]:has([data-sw-questions-mode="live"] .sw-questions__write[open]) .sw-product-cart-action__quantity-field > label,
  .sw-product-page-composition[data-commerce-actions="guest-cart"]:has([data-sw-reviews-mode="live"] .sw-reviews__write[open]) .sw-product-cart-action__quantity-field > label,
  .sw-product-page-composition[data-commerce-actions="guest-cart"]:has([data-sw-questions-mode="live"] .sw-questions__write[open]) .sw-product-cart-action__controls label > span,
  .sw-product-page-composition[data-commerce-actions="guest-cart"]:has([data-sw-reviews-mode="live"] .sw-reviews__write[open]) .sw-product-cart-action__controls label > span {
    position: static; width: auto; height: auto; margin: 0; overflow: visible; clip-path: none; white-space: normal;
  }
}
@media (max-height: 30rem) { .sw-header-cart[open] { display: block; overflow-y: auto; } .sw-header-cart__body { overflow: visible; } }
@media (max-width: 24rem) { .sw-header-cart__line { grid-template-columns: 3.75rem minmax(0, 1fr); } .sw-header-cart__line > img { width: 60px; height: 60px; } .sw-header-cart__line-price { grid-column: 2; grid-row: auto; justify-self: start; } .sw-header-cart__line-editor { grid-column: 1 / -1; } }
@media (prefers-reduced-motion: reduce) { .sw-header-cart[open], .sw-header-cart-backdrop { animation: none; } .sw-product-cart-action button { transition: none; } }
@keyframes sw-header-cart-enter { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes sw-header-cart-exit { to { transform: translateX(100%); } }
@keyframes sw-header-cart-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes sw-header-cart-backdrop-out { to { opacity: 0; } }

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-cart-page.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-cart-page { box-sizing: border-box; min-width: 0; width: 100%; max-width: 72rem; margin-inline: auto; padding: clamp(1.25rem, 4vw, 3rem) clamp(1rem, 4vw, 2rem); color: var(--sw-color-text); container: sw-cart-page / inline-size; }
.sw-cart-page[data-content-width="standard"] { max-width: 54rem; }
.sw-cart-page__heading { margin-bottom: 1.5rem; }
.sw-cart-page__heading :is(h1,h2) { margin: 0 0 .65rem; font-family: inherit; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 650; line-height: 1.25; overflow-wrap: anywhere; }
.sw-cart-page__heading p { margin: 0; line-height: 1.6; color: var(--sw-color-text-muted); }
.sw-cart-page .sw-cart-page__content { position: static; inset: auto; width: 100%; height: auto; max-width: none; max-height: none; padding: 0; overflow: visible; display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); background: transparent; }
.sw-cart-page .sw-header-cart__body { overflow: visible; padding: 0; }
.sw-cart-page .sw-header-cart__lines { margin: 0; }
.sw-cart-page .sw-header-cart__footer { align-self: start; padding: 1rem; border: 1px solid var(--sw-color-border); border-radius: var(--sw-radius-panel); background: var(--sw-color-surface-panel); }
.sw-cart-page .sw-header-cart__footer:empty { display: none; }
.sw-cart-page__continue { display: inline-flex; align-items: center; min-height: 44px; margin-top: 1rem; color: var(--sw-color-text); text-underline-offset: .2em; }
.sw-cart-page :is(a,button,input):focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 2px; }
@container sw-cart-page (min-width: 44rem) { .sw-cart-page .sw-cart-page__content { grid-template-columns: minmax(0, 1.65fr) minmax(16rem, 1fr); gap: 2rem; } .sw-cart-page .sw-header-cart__footer { position: sticky; top: 6rem; } }

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/cart-template-preview.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************/
/* Editor chrome is outside the storefront theme. The actual drawer inherits
   the same saved theme from PublicSiteShellFrame as a public document. */
.sw-cart-template-preview { min-width: 0; }
.sw-cart-template-preview__controls { display: flex; flex-wrap: wrap; gap: .75rem; padding: .75rem; }
.sw-cart-template-preview__controls label { display: grid; gap: .35rem; min-width: 0; flex: 1 1 12rem; }
.sw-cart-template-preview__controls select { width: 100%; min-height: 44px; padding: .5rem .65rem; border: 1px solid var(--sw-color-border, #d1d5db); border-radius: 6px; background: var(--sw-color-surface-panel, #fff); color: inherit; font: inherit; }
.sw-cart-template-preview__controls select:focus-visible { outline: 3px solid var(--sw-color-focus-indicator, #2563eb); outline-offset: 2px; }
.sw-cart-template-preview__notice { margin: 0; padding: 0 .75rem .75rem; font-size: .875rem; line-height: 1.6; }
.sw-cart-template-preview__viewport { position: relative; isolation: isolate; transform: translateZ(0); height: 46rem; min-height: 0; overflow: auto; }
.sw-cart-template-preview__portal { position: fixed; inset: 0; z-index: 1000; pointer-events: none; }
.sw-cart-template-preview__portal[data-open]::before { content: ''; position: absolute; inset: 0; background: rgb(0 0 0 / .55); }
.sw-cart-template-preview__portal .sw-header-cart[data-sw-cart-template-example] { position: absolute; width: min(28rem, calc(100% - 1.5rem)); height: 100%; max-height: 100%; pointer-events: auto; }
.sw-header-cart__product-title { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; overflow-wrap: anywhere; }
.sw-cart-template-preview__portal .sw-header-cart__checkout[aria-disabled="true"] { border-radius: var(--sw-radius-control, 0); }
@media (max-width: 30rem) { .sw-cart-template-preview__viewport { height: 42rem; } }

/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-product-body.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Shared presentation over the original ProductStory section renderer. The
   template does not copy, flatten or discard any authored section content. */
.sw-product-body { container: sw-product-body / inline-size; grid-column: 1 / -1; width: 100%; min-width: 0; box-sizing: border-box; color: var(--sw-color-text, #151515); background: var(--sw-color-surface-panel, #fff); }
.sw-product-body[data-background="soft"] { background: var(--sw-color-surface-muted, #f5f5f5); }
.sw-product-body[data-background="dark"] { --sw-color-text: #fff; --sw-color-text-muted: #e5e5e5; --sw-color-surface-panel: #151515; --sw-color-border: #666; --sw-color-focus-indicator: #8fbcff; background: #151515; }
.sw-product-body__sections { display: grid; min-width: 0; gap: 2rem; padding: clamp(1rem, 4cqw, 2.5rem); }
.sw-product-body[data-content-width="reading"] .sw-product-body__sections { max-width: 65rem; margin-inline: auto; }
.sw-product-body[data-width="compact"] .sw-product-body__sections { max-width: 48rem; margin-inline: auto; }
.sw-product-body[data-spacing="dense"] .sw-product-body__sections { padding: 1rem; gap: 1rem; }
.sw-product-body[data-spacing="loose"] .sw-product-body__sections { padding: clamp(1.5rem, 6cqw, 4rem); gap: 3rem; }
.sw-product-body__sections > [data-section-type] { width: 100%; min-width: 0; margin: 0; color: inherit; background: transparent; }
.sw-product-body :is(p, li, dd, blockquote) { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 1rem; line-height: 1.75; }
.sw-product-body [data-sw-safe-rich-text-contract] > div { gap: 1.2rem; }
.sw-product-body[data-paragraph-spacing="compact"] [data-sw-safe-rich-text-contract] > div { gap: .6rem; }
.sw-product-body[data-content-width="wide"] [data-sw-safe-rich-text-contract] > div { max-width: none; }
.sw-product-body [data-sw-narrative-media] > div { aspect-ratio: auto; }
.sw-product-body [data-sw-narrative-copy] { min-width: 0; gap: 1rem; }
.sw-product-body[data-paragraph-spacing="compact"] [data-sw-narrative-copy] { gap: .6rem; }
.sw-product-body[data-title-style="minimal"] :is(h1,h2,h3,h4,h5,h6) { font-size: 1.5rem; line-height: 1.25; }
.sw-product-body[data-title-style="editorial"] :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(1.5rem, 4cqw, 2.25rem); line-height: 1.2; }
.sw-product-body[data-title-style="display"] :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(1.75rem, 5cqw, 3rem); line-height: 1.2; }
.sw-product-body [data-sw-narrative-media] { min-width: 0; align-content: start; }
.sw-product-body [data-sw-narrative-media] img { width: 100%; height: auto; max-width: 100%; object-fit: cover; }
.sw-product-body[data-image-ratio="1:1"] [data-sw-narrative-media] img { aspect-ratio: 1; }
.sw-product-body[data-image-ratio="4:5"] [data-sw-narrative-media] img { aspect-ratio: 4 / 5; }
.sw-product-body[data-image-ratio="16:9"] [data-sw-narrative-media] img { aspect-ratio: 16 / 9; }
.sw-product-body a:focus-visible, .sw-product-body summary:focus-visible { outline: 3px solid var(--sw-color-focus-indicator, #005fcc); outline-offset: 3px; }
.sw-product-body summary { min-height: 44px; align-content: center; }
@container sw-product-body (min-width: 720px) {
  .sw-product-body[data-layout-mode="two-column"] .sw-product-body__sections { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-product-body[data-layout-mode="two-column"] .sw-product-body__sections > [data-section-type] { grid-template-columns: minmax(0,1fr); }
  .sw-product-body:is([data-layout-mode="media-left"],[data-layout-mode="media-right"]) [data-section-type]:has(> [data-sw-narrative-media]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: 2rem; }
  .sw-product-body[data-layout-mode="media-left"] [data-section-type] > [data-sw-narrative-media] { grid-column: 1; grid-row: 1; }
  .sw-product-body[data-layout-mode="media-left"] [data-section-type] > [data-sw-narrative-copy] { grid-column: 2; grid-row: 1; }
  .sw-product-body[data-layout-mode="media-right"] [data-section-type] > [data-sw-narrative-copy] { grid-column: 1; grid-row: 1; }
  .sw-product-body[data-layout-mode="media-right"] [data-section-type] > [data-sw-narrative-media] { grid-column: 2; grid-row: 1; }
  .sw-product-body [data-section-type]:not(:has(> [data-sw-narrative-media])) > [data-sw-narrative-copy] { grid-column: 1 / -1; }
}
@container sw-product-body (max-width: 719px) {
  /* Narrative benefits and feature grids otherwise auto-fit two 210px columns
     inside the product's already narrow reading column. Use the body container,
     not the host viewport; wide standalone content keeps its authored layout. */
  .sw-product-body [data-sw-narrative-copy] > ul,
  .sw-product-body [data-section-type="feature_grid"] > div > ul { grid-template-columns: minmax(0,1fr); }
  .sw-product-body__sections > [data-section-type] { grid-template-columns: minmax(0,1fr); }
  .sw-product-body [data-sw-narrative-copy], .sw-product-body [data-sw-narrative-media] { grid-column: 1; grid-row: auto; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-brand-story.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-public-brand-story {
  --sw-story-background: #151515;
  --sw-story-foreground: #ffffff;
  --sw-story-muted: #e5e5e5;
  --sw-story-spacing: clamp(1.25rem, 4cqw, 2.5rem);
  container: sw-brand-story / inline-size;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin-inline: auto;
  color: var(--sw-story-foreground);
  background: var(--sw-story-background);
  border-radius: var(--sw-radius-panel);
  overflow-wrap: anywhere;
}
.sw-public-brand-story[data-tone="paper-minimal"] {
  --sw-story-background: var(--sw-color-surface-panel, #ffffff);
  --sw-story-foreground: var(--sw-color-text, #151515);
  --sw-story-muted: var(--sw-color-text-muted, #475569);
}
.sw-public-brand-story[data-spacing="dense"] { --sw-story-spacing: 1rem; }
.sw-public-brand-story[data-spacing="loose"] { --sw-story-spacing: clamp(2rem, 6cqw, 4rem); }
.sw-public-brand-story[data-width="compact"] { max-width: 48rem; }
.sw-public-brand-story__layout { display: grid; min-width: 0; gap: var(--sw-story-spacing); padding: var(--sw-story-spacing); }
.sw-public-brand-story__copy { display: flex; flex-direction: column; gap: 1rem; min-width: 0; align-self: center; }
.sw-public-brand-story .sw-public-brand-story__eyebrow { margin: 0; color: var(--sw-story-muted); font-size: .875rem; font-weight: 650; letter-spacing: .08em; }
.sw-public-brand-story .sw-public-brand-story__title { margin: 0; color: var(--sw-story-foreground); font-size: clamp(1.5rem, 4cqw, 2.75rem); line-height: 1.15; font-family: var(--sw-theme-heading-font, inherit); font-weight: var(--sw-theme-heading-weight, 750); }
/* The selected storefront's category introduction is editorial navigation, not
 * a campaign hero. Keep the original module and copy, but use the restrained
 * heading weight and vertical rhythm seen across its image-led catalog pages. */
[data-theme-content-layout="contained-1250"] .sw-public-brand-story:has(+ .sw-public-catalog-grid[data-catalog-kind="categories"]),
[data-theme-content-layout="contained-1250"] .sw-public-brand-story:has(.sw-public-brand-story__cta[href*="/categories"]) { --sw-story-spacing: clamp(1.5rem, 3cqw, 2rem); }
[data-theme-content-layout="contained-1250"] .sw-public-brand-story:has(+ .sw-public-catalog-grid[data-catalog-kind="categories"]) .sw-public-brand-story__title,
[data-theme-content-layout="contained-1250"] .sw-public-brand-story:has(.sw-public-brand-story__cta[href*="/categories"]) .sw-public-brand-story__title {
  font-family: var(--sw-storefront-font-family, inherit); font-size: clamp(1.75rem, 3cqw, 2.25rem); font-weight: 400; line-height: 1.25;
}
.sw-public-brand-story .sw-public-brand-story__body,
.sw-public-brand-story__highlights p { margin: 0; color: var(--sw-story-muted); font-size: 1rem; line-height: 1.7; white-space: pre-wrap; }
.sw-public-brand-story__highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 1.25rem; list-style: none; padding: 0; margin: .5rem 0; }
.sw-public-brand-story__highlights li { min-width: 0; display: grid; gap: .5rem; align-content: start; }
.sw-public-brand-story__highlights strong { font-size: 1rem; line-height: 1.5; font-weight: 650; }
.sw-public-brand-story__cta { display: inline-flex; min-height: 44px; min-width: 0; align-items: center; justify-content: center; align-self: start; max-width: 100%; padding: .7rem 1.35rem; border: 1px solid var(--sw-theme-button-border, currentColor); border-radius: var(--sw-radius-control); background: var(--sw-theme-button-background, transparent); color: var(--sw-theme-button-color, var(--sw-story-foreground)); text-decoration: none; font: inherit; font-weight: 650; line-height: 1.4; text-align: center; }
.sw-public-brand-story__cta:focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 3px; }
.sw-public-brand-story__media { min-width: 0; align-self: center; }
.sw-public-brand-story .sw-public-brand-story__media img { width: 100%; height: auto; max-height: 38rem; object-fit: cover; border-radius: var(--sw-radius-media); }
.sw-public-brand-story .sw-public-brand-story__desktop { display: block; }
.sw-public-brand-story .sw-public-brand-story__mobile { display: none; }
/* An explicit original media placement, never a change to saved left/right stories.
 * The copy determines row height, so long text cannot be cropped by the photograph. */
.sw-public-brand-story[data-media-side="backdrop"] .sw-public-brand-story__layout { padding: 0; gap: 0; isolation: isolate; }
.sw-public-brand-story[data-media-side="backdrop"] .sw-public-brand-story__copy {
  --sw-story-foreground: var(--sw-color-text, #151515);
  --sw-story-muted: var(--sw-color-text-muted, #475569);
  color: var(--sw-story-foreground);
  background: var(--sw-color-surface-panel, #ffffff);
  margin: var(--sw-story-spacing);
  padding: var(--sw-story-spacing);
  border-radius: var(--sw-radius-panel);
  position: relative;
  z-index: 1;
}
@container sw-brand-story (min-width: 640px) {
  .sw-public-brand-story[data-has-media="true"][data-has-copy="true"] .sw-public-brand-story__layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .sw-public-brand-story[data-media-side="left"][data-has-media="true"][data-has-copy="true"] .sw-public-brand-story__media { grid-column: 1; grid-row: 1; }
  .sw-public-brand-story[data-media-side="left"][data-has-media="true"][data-has-copy="true"] .sw-public-brand-story__copy { grid-column: 2; grid-row: 1; }
  .sw-public-brand-story[data-width="split"][data-has-media="true"][data-has-copy="true"] .sw-public-brand-story__layout { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .sw-public-brand-story[data-width="split"][data-media-side="left"][data-has-media="true"][data-has-copy="true"] .sw-public-brand-story__layout { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .sw-public-brand-story[data-media-side="backdrop"][data-has-media="true"][data-has-copy="true"] .sw-public-brand-story__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: clamp(24rem, 45cqw, 36rem);
  }
  .sw-public-brand-story[data-media-side="backdrop"][data-has-media="true"][data-has-copy="true"] .sw-public-brand-story__media {
    grid-column: 1 / -1; grid-row: 1; align-self: stretch; position: relative;
  }
  .sw-public-brand-story[data-media-side="backdrop"][data-has-media="true"][data-has-copy="true"] .sw-public-brand-story__media img {
    position: absolute; inset: 0; height: 100%; max-height: none; border-radius: var(--sw-radius-panel);
  }
  .sw-public-brand-story[data-media-side="backdrop"][data-has-media="true"][data-has-copy="true"] .sw-public-brand-story__copy { grid-column: 2; grid-row: 1; }
}
@container sw-brand-story (max-width: 639px) {
  .sw-public-brand-story__media { order: -1; }
  .sw-public-brand-story .sw-public-brand-story__desktop { display: none; }
  .sw-public-brand-story .sw-public-brand-story__mobile { display: block; }
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-editorial-content.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-public-editorial { container: sw-editorial / inline-size; width: 100%; min-width: 0; max-width: 100%; color: var(--sw-color-text); background: var(--sw-color-surface-panel); border-radius: var(--sw-radius-panel); overflow-wrap: anywhere; font-family: inherit; }
.sw-public-editorial *, .sw-public-editorial *::before, .sw-public-editorial *::after { box-sizing: border-box; }
.sw-public-editorial[data-tone="dark-proof"], .sw-public-editorial[data-tone="dark-footer"] { color: #fff; background: #151515; }
.sw-public-editorial__inner { padding: clamp(1.25rem, 4cqi, 2.5rem); margin-inline: auto; min-width: 0; }
.sw-public-editorial[data-width="compact"] .sw-public-editorial__inner { max-width: 48rem; }
.sw-public-editorial[data-width="split"] .sw-public-editorial__inner { max-width: 60rem; }
.sw-public-editorial[data-spacing="dense"] .sw-public-editorial__inner { padding: 1rem; }
.sw-public-editorial[data-spacing="loose"] .sw-public-editorial__inner { padding: clamp(2rem, 6cqi, 4rem); }
.sw-public-editorial :is(h1,h2,h3,h4,h5,h6,p,blockquote) { margin: 0; color: inherit; font-family: inherit; }
.sw-public-editorial p, .sw-public-editorial blockquote { font-size: 1rem; line-height: 1.7; white-space: pre-wrap; }
.sw-public-editorial__header { display: grid; gap: 1rem; }
.sw-public-editorial__header > :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(1.5rem, 4cqi, 2.5rem); line-height: 1.25; font-family: var(--sw-theme-heading-font, inherit); font-weight: var(--sw-theme-heading-weight, 750); }
/* The selected contained storefront uses the same restrained closing heading
 * in saved previews and public pages; legacy themes keep their own typography. */
[data-theme-content-layout="contained-1250"] .sw-public-editorial[data-editorial-kind="closing"] .sw-public-editorial__header > :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(1.5rem, 2.8cqi, 1.75rem); font-family: var(--sw-storefront-font-family, inherit); font-weight: 400; line-height: 1.4; }
.sw-public-editorial .sw-public-editorial__eyebrow { font-size: .875rem; font-weight: 650; letter-spacing: .05em; }
.sw-public-editorial__proofs, .sw-public-editorial__links { list-style: none; padding: 0; margin: 1.5rem 0 0; }
.sw-public-editorial__proofs { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sw-public-editorial:where([data-columns="2"]) .sw-public-editorial__proofs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sw-public-editorial__proofs > li { display: flex; flex-direction: column; gap: .75rem; min-width: 0; padding: 1.25rem; border: 1px solid currentColor; border-radius: var(--sw-radius-panel); }
.sw-public-editorial .sw-public-editorial__author { font-weight: 650; }
.sw-public-editorial .sw-public-editorial__meta, .sw-public-editorial .sw-public-editorial__note { font-size: .875rem; }
.sw-public-editorial__closing { display: grid; gap: 1.25rem; }
.sw-public-editorial__links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.sw-public-editorial__links a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; color: inherit; text-decoration: underline; text-underline-offset: .25em; }
.sw-public-editorial a:focus-visible { outline: 3px solid var(--sw-color-focus-indicator); outline-offset: 3px; }
.sw-public-editorial__note { margin-top: 1rem !important; }
@container sw-editorial (min-width: 680px) {
  .sw-public-editorial[data-arrangement="footer-compact"] .sw-public-editorial__inner { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 2rem; }
  .sw-public-editorial[data-arrangement="footer-compact"] .sw-public-editorial__links { margin-top: 0; }
}
@container sw-editorial (max-width: 679px) {
  .sw-public-editorial .sw-public-editorial__proofs { grid-template-columns: minmax(0, 1fr); }
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-instagram-feed.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-instagram-feed { max-width: 1250px; margin-inline: auto; padding: 40px 20px; color: inherit; }
.sw-instagram-feed header { text-align: center; margin-bottom: 24px; }
.sw-instagram-feed__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; list-style: none; padding: 0; margin: 0; }
.sw-instagram-feed__grid button { position: relative; display: block; width: 100%; border: 0; padding: 0; background: transparent; cursor: pointer; }
.sw-instagram-feed__grid img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.sw-instagram-feed__grid span { position: absolute; bottom: 12px; right: 12px; color: white; text-shadow: 0 1px 4px black; }
.sw-instagram-feed__dialog { width: min(1000px,calc(100% - 24px)); max-height: calc(100dvh - 24px); box-sizing: border-box; overflow-y: auto; padding: 20px; border: 0; background: var(--sw-color-surface-panel,#fff); color: var(--sw-color-text,#171717); }
.sw-instagram-feed__dialog::backdrop { background: rgb(0 0 0 / 65%); }
.sw-instagram-feed__toolbar,.sw-instagram-feed__dialog nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sw-instagram-feed__toolbar { margin-bottom: 16px; }
.sw-instagram-feed__toolbar h3 { margin: 0; }
.sw-instagram-feed__detail { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,2fr); gap: 24px; }
.sw-instagram-feed__media { min-width: 0; display: grid; align-items: center; background: #111; aspect-ratio: 1; }
.sw-instagram-feed__media > img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.sw-instagram-feed__copy { overflow-wrap: anywhere; white-space: pre-wrap; }
.sw-instagram-feed__dialog nav { margin-top: 16px; }
.sw-instagram-feed__dialog button { min-height: 44px; font: inherit; color: inherit; background: transparent; border: 1px solid currentColor; padding: 8px 12px; cursor: pointer; }
.sw-instagram-feed__dialog button:disabled { opacity: .4; cursor: default; }
.sw-instagram-feed button:focus-visible,.sw-instagram-feed a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media(max-width:640px) { .sw-instagram-feed__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .sw-instagram-feed__detail { grid-template-columns: minmax(0,1fr); gap: 16px; } .sw-instagram-feed__dialog { padding: 12px; } }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-faq.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************/
/* Standalone FAQ uses the original accordion renderer without the generic
 * feature-card frame. Narrative/product FAQ and other grid variants retain
 * their existing layouts; all colors and fonts remain host-theme values. */
.sw-public-faq-section {
  box-sizing: border-box; width: 100%; min-width: 0; max-width: 50rem;
  margin-inline: auto; padding: 0 1rem;
  container: sw-faq / inline-size;
  color: var(--sw-color-text); overflow-wrap: anywhere;
  font-family: var(--sw-storefront-font-family, Inter, ui-sans-serif, system-ui, sans-serif);
}
/* The section's available width, not the editor's outer browser window,
 * controls responsive typography and rhythm in both template and public use. */
.sw-public-faq-section__content { display: grid; min-width: 0; gap: 1rem; padding-block: 1.5rem; }
.sw-public-faq-section__content > :is(h1,h2,h3,h4,h5,h6) {
  margin: 0; font-size: 1.5rem; line-height: 1.3;
  font-weight: var(--sw-theme-heading-weight, 700); font-family: inherit;
}
@container sw-faq (min-width: 40rem) {
  .sw-public-faq-section__content { padding-block: 2.5rem; }
  .sw-public-faq-section__content > :is(h1,h2,h3,h4,h5,h6) { font-size: 2rem; }
}
.sw-public-faq-section__content p { margin: 0; line-height: 1.8; }
.sw-public-faq-section__items { display: grid; min-width: 0; gap: 0; margin: 0; padding: 0; list-style: none; }
.sw-public-faq-section__item { min-width: 0; padding: .5rem 0; border-bottom: 1px solid var(--sw-color-border); }
.sw-public-faq-section__item:first-child { border-top: 1px solid var(--sw-color-border); }
.sw-public-faq-section .sw-public-faq__answer { padding-block: .25rem 1rem; }

.sw-public-faq {
  min-width: 0;
  overflow-wrap: anywhere;
}

.sw-public-faq > summary {
  box-sizing: border-box;
  min-height: 44px;
  min-width: 44px;
  padding: 0.625rem 0;
  cursor: pointer;
  color: var(--sw-color-text, #171717);
  font-weight: 750;
  line-height: 1.6;
  white-space: pre-wrap;
}

.sw-public-faq > summary:focus-visible {
  outline: 3px solid var(--sw-color-focus-indicator, #2563eb);
  outline-offset: 3px;
}

.sw-public-faq > .sw-public-faq__answer {
  min-width: 0;
  white-space: pre-wrap;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-not-found.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************/
/* A controlled state of the original site-frame template, never a global
 * error-page skin. Theme and shared buyer action primitives remain in charge. */
.sw-public-not-found {
  container: sw-not-found / inline-size;
  box-sizing: border-box; display: grid; gap: 1.5rem; align-content: center;
  width: 100%; min-width: 0; max-width: 48rem; min-height: 22rem;
  margin-inline: auto; padding: 3rem 1rem; overflow-wrap: anywhere;
  color: var(--sw-color-text);
  font-family: var(--sw-storefront-font-family, Inter, ui-sans-serif, system-ui, sans-serif);
}
.sw-public-not-found[data-alignment="center"] { text-align: center; justify-items: center; }
.sw-public-not-found[data-alignment="start"] { text-align: start; justify-items: start; }
.sw-public-not-found h1 { font-size: 2rem; line-height: 1.2; font-weight: var(--sw-theme-heading-weight, 700); text-wrap: balance; }
.sw-public-not-found > div { display: grid; gap: 1rem; min-width: 0; max-width: 40rem; }
.sw-public-not-found > div p { line-height: 1.8; }
.sw-public-not-found__code { letter-spacing: .15em; font-weight: 600; }
.sw-public-not-found__fallback { font-size: .875rem; color: var(--sw-color-text-muted); }
@container sw-not-found (min-width: 36rem) { .sw-public-not-found h1 { font-size: 2.75rem; } }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-article.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-article-meta { width: 100%; max-width: 48rem; margin-inline: auto; padding: 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; color: var(--sw-color-text); font-size: .875rem; line-height: 1.7; overflow-wrap: anywhere; }
.sw-article-meta ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.sw-article-meta li { padding: .2rem .6rem; border: 1px solid var(--sw-color-border, currentColor); border-radius: .25rem; }

/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/storefront-article-list.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-article-list { width: 100%; max-width: 75rem; margin-inline: auto; padding: 2.5rem 1.5rem; color: var(--sw-color-text); overflow-wrap: anywhere; }
.sw-article-list__items { display: grid; gap: 3rem; }
.sw-article-list a { color: inherit; }
.sw-article-list :is(h2,h3) a { text-decoration: none; }
.sw-article-list :is(h2,h3) a:hover { text-decoration: underline; text-underline-offset: .2em; }
.sw-article-list__card { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 2.5rem; scroll-margin-top: 9rem; }
.sw-article-list__card:nth-child(even) .sw-article-list__cover { order: 2; }
.sw-article-list__cover { display: block; min-width: 0; aspect-ratio: 1.91; overflow: hidden; border-radius: .75rem; }
.sw-article-list__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-article-list__copy { min-width: 0; }
.sw-article-list h2, .sw-article-list h3 { margin: .75rem 0; font-size: 1.75rem; font-weight: 700; line-height: 1.35; }
.sw-article-list p { line-height: 1.8; margin: 1rem 0; }
.sw-article-list__tags { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; font-size: .875rem; }
.sw-article-list__tags li { padding: .25rem .5rem; border: 1px solid var(--sw-color-border, currentColor); border-radius: .25rem; }
.sw-article-list__read, .sw-article-list__back, .sw-article-list__pagination a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; }
.sw-article-list__back { margin: 1rem 0; }
.sw-article-list__pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem; }
.sw-article-list a:focus-visible { outline: 3px solid var(--sw-color-focus-indicator, currentColor); outline-offset: 4px; }
.sw-article-list__notice { border: 1px solid var(--sw-color-border, currentColor); padding: 1rem; }
@media (max-width: 48rem) { .sw-article-list { padding: 1.5rem 1rem; } .sw-article-list__card { grid-template-columns: minmax(0, 1fr); gap: 1rem; } .sw-article-list__card:nth-child(even) .sw-article-list__cover { order: 0; } .sw-article-list h2, .sw-article-list h3 { font-size: 1.4rem; } }

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/shopwavy-renderer/src/public-product-search.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************/
.sw-product-search { container: sw-product-search / inline-size; width: 100%; max-width: 1240px; min-width: 0; margin-inline: auto; color: var(--sw-color-text, #171717); }
.sw-product-search *, .sw-product-search *::before, .sw-product-search *::after { box-sizing: border-box; }
.sw-product-search__intro { display: grid; gap: 1.5rem; justify-items: center; text-align: center; padding: clamp(1rem, 4cqw, 3rem) 1rem 1rem; }
.sw-product-search h1 { margin: 0; font-weight: var(--sw-theme-heading-weight, 500); font-size: clamp(1.75rem, 4cqw, 2.5rem); }
.sw-product-search p { margin: 0; line-height: 1.7; overflow-wrap: anywhere; }
.sw-product-search a { color: inherit; text-underline-offset: .25em; }
.sw-product-search :is(a,button) { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
/* Search controls must not override the embedded catalog or its dialog. */
.sw-product-search__form :is(input,button), .sw-product-search__retry { font: inherit; border-radius: 0; line-height: 1.4; }
.sw-public-themed-site :is(.sw-product-search__form input,.sw-product-search__form button,.sw-product-search__retry,.sw-product-search__pages a) { border-radius: var(--sw-radius-control); }
.sw-product-search :is(a,input,button):focus-visible { outline: 3px solid var(--sw-color-focus-indicator, #174b7a); outline-offset: 3px; }
.sw-product-search__form { width: min(100%, 40rem); display: grid; gap: .5rem; text-align: left; }
.sw-product-search__form > div { display: flex; gap: .75rem; min-width: 0; }
.sw-product-search__form input { min-width: 0; flex: 1; width: 100%; min-height: 48px; border: 1px solid #777; padding: .7rem; color: inherit; background: var(--sw-color-surface-panel, #fff); }
.sw-product-search__form button { min-width: 5rem; padding: .7rem 1rem; border: 1px solid var(--sw-theme-button-border, #171717); background: var(--sw-theme-button-background, #171717); color: var(--sw-theme-button-color, #fff); cursor: pointer; }
.sw-product-search__status { display: grid; padding: 1rem; text-align: center; line-height: 1.7; overflow-wrap: anywhere; }
.sw-product-search__status > span { grid-area: 1 / 1; min-width: 0; }
.sw-product-search__status > [aria-hidden] { visibility: hidden; }
.sw-product-search__status > [data-label]::before { content: attr(data-label); }
.sw-product-search__results > .sw-buyer-async-region__status { justify-self: center; }
.sw-product-search__retry[aria-disabled="true"] { opacity: .65; cursor: progress; }
.sw-product-search__skeleton { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.5rem; padding: 2rem 1rem; }
.sw-product-search__skeleton > div { display: grid; align-content: start; gap: .75rem; }
.sw-product-search__skeleton span { aspect-ratio: 1; background: var(--sw-color-border, #e5e5e5); opacity: .35; }
.sw-product-search__skeleton i { display: block; height: 1em; width: 75%; background: var(--sw-color-border, #e5e5e5); opacity: .35; }
.sw-product-search__skeleton i:last-child { width: 40%; }
@container sw-product-search (max-width: 767px) { .sw-product-search__skeleton { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.sw-product-search__price-note { text-align: center; font-size: .875rem; padding: 0 1rem; color: var(--sw-color-text-muted, #555); }
.sw-product-search .sw-product-search__retry { display: flex; width: fit-content; margin: 0 auto 1rem; padding: .7rem 1.25rem; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; }
.sw-product-search__pages, .sw-product-search__browse { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; margin-top: 1.5rem; padding: 1rem; }
.sw-product-search__pages a { padding: .5rem 1rem; border: 1px solid currentColor; text-decoration: none; }
.sw-product-search__browse { border-top: 1px solid var(--sw-color-border, #ddd); }
.sw-product-search .sw-public-catalog-grid__header:empty { display: none; }
@container sw-product-search (max-width: 420px) { .sw-product-search__form > div { gap: .5rem; } .sw-product-search__form button { min-width: 4rem; padding-inline: .7rem; } }

/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/components/ui/focus-region.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
/* Shop Admin's opt-in non-interactive landmarks. Native controls, menus,
 * dialogs and storefront previews keep their own focus-visible treatment. */
[data-sw-admin-focus-region][tabindex="-1"]:is(h1,h2,h3,h4,h5,h6,p,div,section,main,article):focus {
  outline: none;
}
[data-sw-admin-focus-region][tabindex="-1"]:is(p,div,section,main,article):focus-visible:not([data-sw-admin-focus-indicator="quiet"]) {
  box-shadow: inset 2px 0 0 var(--sw-primitive-color-accent, currentColor);
}
[data-sw-admin-focus-region][tabindex="-1"]:is(h1,h2,h3,h4,h5,h6):focus-visible:not([data-sw-admin-focus-indicator="quiet"]) {
  text-decoration: underline;
  text-decoration-color: var(--sw-primitive-color-accent, currentColor);
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
}
@media (forced-colors: active) {
  [data-sw-admin-focus-region][tabindex="-1"]:is(p,div,section,main,article):focus-visible:not([data-sw-admin-focus-indicator="quiet"]) {
    box-shadow: none;
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
}

