@font-face {font-display:swap;font-family:"Barlow Condensed";font-style:normal;font-weight:400;src:url("/static/fonts/storefront/barlow/BarlowCondensed-400.woff2") format("woff2");
}

@font-face {font-display:swap;font-family:"Barlow Condensed";font-style:normal;font-weight:700;src:url("/static/fonts/storefront/barlow/BarlowCondensed-700.woff2") format("woff2");
}

/* Storefront theme — open editorial coastal house.
   A quiet, single-ink world adapted from the European luxury-house grammar:
   ivory paper, one deep ink with alpha-tint hairlines, sage kept decorative,
   condensed display type, tiny tracked uppercase labels, square corners, and
   underline-only fields. */

/* Token definitions live in tokens.css. This file contains storefront rules
   and theme composition only. Branding.css may replace editable colour hooks
   at runtime without introducing another static token definition layer. */
.public-scaffold {background:var(--bg-surface);color:var(--text-body);display:grid;font-family:var(--font-body);font-size:var(--text-m);grid-template-columns:minmax(0, 1fr);grid-template-rows:auto 1fr auto;line-height:var(--leading-body);min-height:var(--viewport-height);overflow-x:clip;
}

.storefront-body ::selection {background:var(--text-body);color:var(--light);
}

.storefront-body :focus-visible {outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset);
}

/* Content set over photography flips the focus and selection colours. */
.on-media ::selection {background:var(--light);color:var(--text-body);
}

.on-media :focus-visible {outline-color:var(--light);
}

.storefront-body main {display:block;padding:0;
}

.storefront-body h1,
.storefront-body h2,
.storefront-body h3,
.storefront-body h4 {font-family:var(--font-display);font-weight:var(--weight-regular);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);text-wrap:balance;
}

.storefront-body button,
.storefront-body input,
.storefront-body select,
.storefront-body textarea {font-family:var(--font-body);
}

.storefront-body .skip-link {align-items:center;background:var(--text-body);color:var(--light);display:flex;left:var(--space-3xs);min-height:var(--control-min-height);padding:var(--space-3xs) var(--space-s);position:fixed;top:0;transform:translateY(calc(-1 * var(--size-full)));z-index:var(--layer-dialog);
}

.storefront-body .skip-link:focus {top:0;transform:translateY(0);
}

.storefront-body button,
.storefront-body input:not([type="checkbox"]):not([type="radio"]),
.storefront-body select,
.storefront-body textarea {min-height:var(--control-min-height);
}

.storefront-body input[type="checkbox"],
.storefront-body input[type="radio"] {accent-color:var(--primary);min-height:var(--control-icon-size);min-width:var(--control-icon-size);
}

.storefront-body input.storefront-honeypot:not([type="checkbox"]):not([type="radio"]) {display:none;min-height:var(--line-width);min-width:var(--line-width);
}

.visually-hidden {clip:rect(0 0 0 0);clip-path:inset(50%);height:var(--hidden-clip-size);overflow:hidden;position:absolute;white-space:nowrap;width:var(--hidden-clip-size);
}

.shell {margin-inline:auto;width:min(100% - var(--space-2xl), var(--page-max));
}

.storefront-edge {margin-inline:auto;max-width:none;width:calc(var(--size-full) - 2 * var(--page-gutter));
}

/* Tiny tracked uppercase label — the second voice of the type system. */
.storefront-label {font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;
}

/* ----------------------------------------------------------------- header */

.storefront-header {background:var(--light);border-bottom:var(--line-width) solid var(--border-hairline);color:var(--text-body);position:sticky;top:0;z-index:var(--layer-header);transition:background-color var(--motion-standard) var(--ease-standard), border-color var(--motion-standard) var(--ease-standard), color var(--motion-standard) var(--ease-standard);
}

.storefront-body:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-header {background:transparent;border-bottom-color:var(--border-on-media);color:var(--light);left:0;position:absolute;right:0;
}

.storefront-body.is-scroll-aware:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-header {position:fixed;
}

.storefront-body.is-scroll-aware:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-header.is-scrolled {background:var(--light);border-bottom-color:var(--border-hairline);color:var(--text-body);
}

.storefront-header__inner {align-items:center;display:grid;gap:var(--space-s);grid-template-columns:var(--columns-header);min-height:var(--header-height);position:relative;
}

.storefront-header__left,
.storefront-header__links,
.storefront-nav {align-items:center;display:flex;gap:clamp(var(--space-xs), var(--fluid-small), var(--space-m));min-width:0;
}

.storefront-header__left {gap:var(--space-m);
}

.storefront-header__links {gap:clamp(var(--space-m), var(--fluid-medium), var(--space-xl));
}

.storefront-nav {gap:var(--space-3xs);
}

.storefront-header__links a,
.storefront-nav a,
.storefront-mega-menu__toggle {align-items:center;color:var(--text-body);cursor:pointer;display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);line-height:var(--leading-none);min-height:var(--control-min-height);text-decoration:none;text-transform:uppercase;transition:opacity var(--motion-standard) var(--ease-standard);
}

.storefront-header__links a:hover,
.storefront-header__links a:focus-visible,
.storefront-nav a:hover,
.storefront-nav a:focus-visible,
.storefront-mega-menu__toggle:hover,
.storefront-mega-menu__toggle:focus-visible {opacity:var(--opacity-hover);
}

.storefront-wordmark {align-items:center;color:var(--text-body);display:inline-flex;justify-content:center;max-width:min(var(--measure-wordmark), var(--fluid-brand-width));min-height:var(--control-min-height);text-decoration:none;transition:opacity var(--motion-standard) var(--ease-standard);
}

.storefront-header .storefront-wordmark {left:var(--position-center);position:absolute;top:var(--position-center);transform:translate(var(--position-center-negative), var(--position-center-negative));
}

.storefront-wordmark:hover,
.storefront-wordmark:focus-visible {opacity:var(--opacity-hover-strong);
}

.storefront-header .storefront-wordmark:focus-visible {transform:translate(var(--position-center-negative), var(--position-center-negative));
}

.storefront-brand {align-items:center;display:inline-flex;gap:var(--space-3xs);justify-content:center;white-space:nowrap;
}

.storefront-brand__mark {align-items:center;display:inline-flex;flex:0 0 var(--brand-mark-size);height:var(--brand-mark-size);justify-content:center;width:var(--brand-mark-size);
}

.storefront-brand__mark img {display:block;height:var(--size-full);object-fit:contain;width:var(--size-full);
}

.storefront-brand__name {font-family:var(--font-display);font-size:var(--text-s);font-weight:var(--weight-regular);letter-spacing:var(--tracking-tight);line-height:var(--leading-none);
}

.storefront-logo__image {align-items:center;display:flex;height:var(--brand-mark-size);justify-content:center;max-height:var(--brand-mark-size);overflow:hidden;width:min(var(--measure-wordmark), var(--fluid-wordmark-width));
}

.storefront-header .storefront-logo__image {max-width:var(--brand-mark-size);width:var(--brand-mark-size);
}

.storefront-logo__image img {display:block;height:var(--size-full);max-height:var(--size-full);max-width:var(--size-full);object-fit:contain;width:var(--size-full);
}

.storefront-logo__text {font-family:var(--font-display);font-size:var(--text-m);font-weight:var(--weight-regular);letter-spacing:var(--tracking-tight);line-height:var(--leading-none);text-align:center;white-space:nowrap;
}

.storefront-header__left {grid-column:1;justify-self:start;
}

.storefront-nav {grid-column:3;justify-self:end;
}

.storefront-cart-link {align-items:center;display:inline-flex;gap:var(--space-4xs);
}

.storefront-cart-link__count {font-size:var(--text-xs);letter-spacing:var(--tracking-wide);min-width:var(--space-xs);
}

.storefront-mega-menu {align-self:stretch;display:block;position:static;
}

.storefront-mega-menu__toggle {align-items:center;display:inline-flex;gap:var(--space-3xs);list-style:none;
}

.storefront-mega-menu__toggle::-webkit-details-marker {display:none;
}

.storefront-mega-menu__icon {display:inline-block;height:var(--menu-icon-width);position:relative;width:var(--menu-icon-width);
}

.storefront-mega-menu__icon i {background:currentColor;display:block;height:var(--line-width);left:0;position:absolute;top:calc(50% - var(--line-width) / 2);transition:transform var(--motion-standard) var(--ease-standard);width:var(--size-full);
}

.storefront-mega-menu__icon i:first-child {transform:translateY(var(--offset-menu-negative));
}

.storefront-mega-menu__icon i:last-child {transform:translateY(var(--offset-menu));
}

.storefront-mega-menu[open] .storefront-mega-menu__icon i:first-child {transform:rotate(45deg);
}

.storefront-mega-menu[open] .storefront-mega-menu__icon i:last-child {transform:rotate(-45deg);
}

.storefront-mega-menu__panel {background:var(--light);border-bottom:var(--line-width) solid var(--border-subtle);color:var(--text-body);display:none;height:calc(var(--viewport-height) - var(--header-height));inset-inline:0;overflow-y:auto;padding:var(--space-l) 0 var(--space-xl);position:fixed;top:var(--header-height);width:var(--viewport-width);z-index:var(--layer-header);
}

.storefront-mega-menu[open] .storefront-mega-menu__panel {display:block;
}

.storefront-mega-menu__inner {display:grid;gap:clamp(var(--space-xl), var(--fluid-menu), var(--space-4xl));grid-template-columns:var(--columns-mega-menu-full);min-height:calc(var(--viewport-height) - var(--header-height) - var(--space-xl));
}

.storefront-body:has(.storefront-mega-menu[open]) {overflow:hidden;
}

.storefront-header:has(.storefront-mega-menu[open]) {background:var(--light);border-bottom-color:var(--border-hairline);color:var(--text-body);position:fixed;
}

.storefront-header:has(.storefront-mega-menu[open]) .storefront-mega-menu__toggle,
.storefront-header:has(.storefront-mega-menu[open]) .storefront-header__links a,
.storefront-header:has(.storefront-mega-menu[open]) .storefront-nav a,
.storefront-header:has(.storefront-mega-menu[open]) .storefront-wordmark {color:var(--text-body);
}

.storefront-header__search {align-items:center;display:flex;gap:var(--space-4xs);margin:0;min-height:var(--control-min-height);position:relative;
}

.storefront-header__search-label {align-items:center;cursor:text;display:inline-flex;flex:0 0 var(--control-min-height);height:var(--control-min-height);justify-content:center;width:var(--control-min-height);
}

.storefront-header__search input {background:transparent;border:0;border-bottom:var(--line-width) solid var(--border-subtle);border-radius:0;color:inherit;font-size:var(--text-xs);height:var(--control-min-height);min-height:var(--control-min-height);padding:var(--space-3xs) 0;width:clamp(var(--measure-search-min), var(--fluid-search-width), var(--measure-search-max));
}

.storefront-header__search input:focus {border-bottom-color:currentColor;outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset);
}

.storefront-header__search input::placeholder {color:currentColor;opacity:var(--opacity-muted);
}

.storefront-header__icon {fill:none;height:var(--control-icon-size);pointer-events:none;position:static;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--icon-stroke-width);width:var(--control-icon-size);
}

.storefront-header__account,
.storefront-cart-link {justify-content:center;min-width:var(--control-min-height);position:relative;
}

.storefront-header__tooltip {background:var(--dark);color:var(--light);font-size:var(--text-xs);font-weight:var(--weight-regular);left:var(--position-center);letter-spacing:var(--tracking-subtle);line-height:var(--leading-none);opacity:var(--opacity-none);padding:var(--space-4xs) var(--space-3xs);pointer-events:none;position:absolute;text-transform:none;top:calc(100% + var(--space-4xs));transform:translateX(var(--position-center-negative));transition:opacity var(--motion-fast) var(--ease-standard);white-space:nowrap;z-index:var(--layer-dialog);
}

.storefront-header__account:hover .storefront-header__tooltip,
.storefront-header__account:focus-visible .storefront-header__tooltip,
.storefront-cart-link:hover .storefront-header__tooltip,
.storefront-cart-link:focus-visible .storefront-header__tooltip {opacity:var(--opacity-full);
}

.storefront-mega-menu__feature a {color:var(--text-body);display:grid;gap:var(--space-xs);min-height:var(--control-min-height);text-decoration:none;
}

.storefront-mega-menu__feature img {aspect-ratio:var(--ratio-square);display:block;object-fit:cover;width:min(100%, var(--measure-menu-feature));
}

.storefront-mega-menu__feature-copy {display:grid;gap:var(--space-4xs);
}

.storefront-mega-menu__feature-copy strong {font-family:var(--font-display);font-size:var(--text-l);font-weight:var(--weight-regular);line-height:var(--leading-none);
}

.storefront-mega-menu__feature-copy span {color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;
}

.storefront-mega-menu__columns {display:grid;gap:clamp(var(--space-l), var(--fluid-menu), var(--space-4xl));grid-template-columns:var(--columns-three);
}

.storefront-mega-menu__column {align-content:start;display:grid;gap:var(--space-s);
}

.storefront-mega-menu__column h2 {font-size:var(--text-xl);margin:0;
}

.storefront-mega-menu__column nav {align-content:start;display:grid;
}

.storefront-mega-menu__column a {align-items:center;color:var(--text-body);display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);min-height:var(--control-min-height);text-decoration:none;text-transform:uppercase;transition:opacity var(--motion-standard) var(--ease-standard);
}

.storefront-mega-menu__column a:hover,
.storefront-mega-menu__column a:focus-visible,
.storefront-mega-menu__feature a:hover,
.storefront-mega-menu__feature a:focus-visible {opacity:var(--opacity-hover);
}

.storefront-mega-menu__toggle {color:inherit;
}

.storefront-mega-menu__toggle:focus-visible {opacity:var(--opacity-soft);
}

.storefront-body:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-mega-menu__toggle,
.storefront-body:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-header__links a,
.storefront-body:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-nav a,
.storefront-body:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-wordmark {color:var(--light);
}

.storefront-body.is-scroll-aware:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-header.is-scrolled .storefront-mega-menu__toggle,
.storefront-body.is-scroll-aware:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-header.is-scrolled .storefront-header__links a,
.storefront-body.is-scroll-aware:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-header.is-scrolled .storefront-nav a,
.storefront-body.is-scroll-aware:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-wordmark {color:var(--text-body);
}

.storefront-logo__variant--light {display:none;
}

.storefront-logo__variant--dark {display:inline-flex;
}

.storefront-body:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-logo__variant--light {display:inline-flex;
}

.storefront-body:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-logo__variant--dark,
.storefront-footer .storefront-logo__variant--light {display:none;
}
.storefront-body:has(:is(.storefront-home__hero, .storefront-managed-page--craft)) .storefront-footer .storefront-logo__variant--light {display:none;
}
.storefront-body:has(:is(.storefront-home__hero, .storefront-managed-page--craft)) .storefront-footer .storefront-logo__variant--dark {display:inline-flex;
}

.storefront-body.is-scroll-aware:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-header.is-scrolled .storefront-logo__variant--light {display:none;
}

.storefront-body.is-scroll-aware:has(:is(.storefront-home__hero, .storefront-managed-page--craft)):not(:has(.storefront-notice--banner)) .storefront-header.is-scrolled .storefront-logo__variant--dark {display:inline-flex;
}

/* An open mega menu is an opaque navigation surface, including on media-led pages. */
.storefront-body:has(.storefront-mega-menu[open]) .storefront-header,
.storefront-body.is-scroll-aware:has(.storefront-mega-menu[open]) .storefront-header {background:var(--light);border-bottom-color:var(--border-hairline);color:var(--text-body);position:fixed;right:auto;width:var(--viewport-width);
}

.storefront-body:has(.storefront-mega-menu[open]) .storefront-mega-menu__toggle,
.storefront-body:has(.storefront-mega-menu[open]) .storefront-header__links a,
.storefront-body:has(.storefront-mega-menu[open]) .storefront-nav a,
.storefront-body:has(.storefront-mega-menu[open]) .storefront-wordmark {color:var(--text-body);
}

.storefront-body:has(.storefront-mega-menu[open]) .storefront-logo__variant--light {display:none;
}

.storefront-body:has(.storefront-mega-menu[open]) .storefront-logo__variant--dark {display:inline-flex;
}

/* ----------------------------------------------------------------- footer */

.storefront-footer {background:var(--text-body);color:var(--text-body);isolation:isolate;overflow:hidden;padding:var(--section-space-wide) 0 var(--space-l);position:relative;
}

.storefront-footer > .shell {max-width:none;width:calc(var(--size-full) - 2 * var(--space-s));
}

.storefront-footer::before {background:linear-gradient(var(--text-muted),var(--text-muted)),url("/static/media/website-images/process/my-story-create.webp") center / cover;content:"";inset:0;opacity:var(--opacity-muted);position:absolute;z-index:var(--layer-base);
}

.storefront-footer__panel {background:var(--bg-surface);background:color-mix(in srgb,var(--bg-surface) var(--surface-opacity),transparent);padding:var(--section-space) var(--space-l) var(--space-l);position:relative;z-index:var(--layer-content);
}

.storefront-footer__main {display:grid;gap:var(--section-space);grid-template-columns:var(--columns-footer);
}

.storefront-footer__newsletter,
.storefront-footer__column {align-content:start;display:grid;gap:var(--space-xs);min-width:0;
}

.storefront-footer__kicker {color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);margin:0;text-transform:uppercase;
}

.storefront-footer__newsletter > h2,
.storefront-footer .storefront-newsletter-signup h2 {color:var(--text-body);font-size:var(--text-2xl);line-height:var(--leading-tight);margin:0;
}

.storefront-footer__newsletter > p {color:var(--text-muted);font-size:var(--text-s);line-height:var(--leading-copy);margin:var(--space-xs) 0 0;
}

.storefront-footer__columns {display:grid;gap:var(--space-l) var(--space-m);grid-template-columns:var(--columns-four);
}

.storefront-footer__column summary {list-style:none;pointer-events:none;
}

.storefront-footer__column summary::-webkit-details-marker {display:none;
}

.storefront-footer__column h2 {color:var(--text-body);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);line-height:var(--leading-copy);margin:0 0 var(--space-xs);text-transform:uppercase;
}

.storefront-footer__column nav {align-content:start;display:grid !important;gap:var(--space-xs);
}

.storefront-footer__column,
.storefront-footer__column span {color:var(--text-muted);font-size:var(--text-s);
}

.storefront-footer a:not(.storefront-wordmark) {align-items:center;color:inherit;display:inline-flex;min-height:var(--control-min-height);text-decoration:none;transition:opacity var(--motion-standard) var(--ease-standard);
}

.storefront-footer a:not(.storefront-wordmark):hover,
.storefront-footer a:not(.storefront-wordmark):focus-visible {color:var(--text-body);text-decoration:underline;text-decoration-thickness:var(--line-width);text-underline-offset:var(--underline-offset);
}

.storefront-footer__newsletter .storefront-newsletter-signup {min-width:0;
}

.storefront-footer .storefront-newsletter-signup .eyebrow {color:var(--text-muted);
}

.storefront-footer .storefront-newsletter-signup .storefront-form {background:transparent;border:0;display:flex;gap:var(--space-m);padding:0;
}

.storefront-footer .storefront-newsletter-signup .storefront-form .field {flex:1;
}

.storefront-footer .storefront-newsletter-signup input {background:transparent;border-bottom-color:var(--text-subtle);border-left:0;border-right:0;border-top:0;color:var(--text-body);
}

.storefront-footer .storefront-newsletter-signup input::placeholder {color:var(--text-muted);
}

.storefront-footer .storefront-newsletter-signup .button {align-self:end;background:var(--text-body);border-color:var(--text-body);color:var(--light);
}

.storefront-footer__legal {border-top:var(--line-width) solid var(--border-primary);align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:var(--space-2xs) var(--space-l);justify-content:flex-start;line-height:var(--leading-copy);margin-top:var(--section-space);padding-top:var(--space-m);
}

.storefront-footer__legal a {align-items:center;display:inline-flex;min-height:var(--control-min-height);
}

/* ------------------------------------------------- shared page furniture */

.storefront-page-heading {padding-block:var(--space-3xl) var(--space-m);
}

.storefront-page-heading h1 {font-size:var(--text-4xl);max-width:var(--measure-title);
}

.storefront-page-heading > p:not(.eyebrow),
.storefront-page-heading__inner > p:not(.eyebrow) {color:var(--text-muted);font-size:var(--text-m);line-height:var(--leading-body);margin-top:var(--space-m);max-width:var(--measure-copy-short);
}

.storefront-body .eyebrow {color:var(--text-subtle);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;
}

.storefront-body .button {align-items:center;background:var(--primary);border:var(--line-width) solid var(--primary);border-radius:0;color:var(--text-on-primary);cursor:pointer;display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-medium);justify-content:center;letter-spacing:var(--tracking-label);min-height:var(--control-min-height);padding:var(--space-3xs) var(--space-m);text-decoration:none;text-transform:uppercase;transition:background-color var(--motion-standard) var(--ease-standard), border-color var(--motion-standard) var(--ease-standard), color var(--motion-standard) var(--ease-standard), opacity var(--motion-standard) var(--ease-standard);
}

.storefront-body .button:hover,
.storefront-body .button:focus-visible {background:var(--text-body);border-color:var(--text-body);color:var(--light);
}

.storefront-body .button-secondary {background:transparent;border-color:var(--primary);color:var(--primary);
}

.storefront-body .button-secondary:hover,
.storefront-body .button-secondary:focus-visible {background:var(--primary);color:var(--text-on-primary);
}

/* Underline-only fields — no boxes, no radii. */
.storefront-body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.storefront-body select,
.storefront-body textarea {background:transparent;border:0;border-bottom:var(--line-width) solid var(--border-subtle);border-radius:0;color:var(--text-body);padding:var(--space-3xs) var(--space-4xs);
}

.storefront-body input:hover,
.storefront-body select:hover,
.storefront-body textarea:hover {border-bottom-color:var(--text-subtle);
}

.storefront-body input:focus,
.storefront-body select:focus,
.storefront-body textarea:focus {border-bottom-color:var(--text-body);box-shadow:none;outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset);
}

.storefront-body input::placeholder,
.storefront-body textarea::placeholder {color:var(--text-subtle);
}

/* Generic field primitives. More specific selectors (.storefront-form
   .field-label, .storefront-field label) override the label treatment below
   for forms that opt into the full storefront form frame; this baseline
   keeps every other field (checkout, gift-card purchase) on the same tiny
   tracked-uppercase label used everywhere else in the storefront. */
.storefront-body .field {display:grid;gap:var(--space-4xs);
}

.storefront-body .field-label {font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;
}

.storefront-body .field-help {color:var(--text-muted);font-size:var(--text-s);letter-spacing:0;text-transform:none;
}

.storefront-body .field-error {color:var(--color-danger);font-size:var(--text-s);font-weight:var(--weight-medium);letter-spacing:0;text-transform:none;
}

.storefront-body [aria-invalid="true"] {border-bottom-color:var(--color-danger);
}

.storefront-body .empty-state {background:transparent;border:var(--line-width) solid var(--border-primary);border-radius:0;padding:var(--space-2xl) var(--space-m);text-align:center;
}

.storefront-body .empty-state h2 {font-size:var(--text-2xl);
}

.storefront-body .empty-state p {color:var(--text-muted);margin:var(--space-s) auto 0;
}

.storefront-body .empty-state .button {margin-top:var(--space-m);
}

@media (max-width: 980px) {
  .shell {width:min(100% - var(--space-xl), var(--page-max));
  }

  .storefront-header__links {display:none;
  }

  .storefront-header__inner {grid-template-columns:minmax(var(--space-2xl), 1fr) minmax(0, 1fr) minmax(var(--space-2xl), 1fr);min-height:var(--header-height);
  }

  .storefront-header__left {gap:0;
  }

  .storefront-wordmark {max-width:calc(var(--viewport-width) - var(--measure-column-wide));
  }

  .storefront-logo__image {width:min(var(--measure-logo), var(--fluid-logo-width));
  }

.storefront-logo__text {font-size:clamp(var(--text-s), var(--fluid-heading), var(--text-l));
  }

  .storefront-nav {gap:var(--space-xs);
  }

  .storefront-nav .storefront-header__account {display:inline-flex;
  }

  .storefront-footer__panel {padding-inline:var(--space-s);
  }

  .storefront-footer__main {gap:var(--section-space);grid-template-columns:var(--columns-one);min-height:0;
  }

  .storefront-footer .storefront-newsletter-signup .storefront-form {align-items:stretch;display:grid;gap:var(--space-s);grid-template-columns:var(--columns-one);
  }

  .storefront-mega-menu__inner {grid-template-columns:var(--columns-one);
  }

  .storefront-mega-menu__feature {display:none;
  }

  .storefront-mega-menu__columns {gap:var(--space-xl);
  }

  .storefront-header__search input {border-bottom:0;min-width:var(--space-0);opacity:var(--opacity-none);padding:var(--space-0);width:var(--space-0);
  }

  .storefront-header__search:focus-within {background:var(--light);color:var(--text-body);gap:var(--space-4xs);position:absolute;right:var(--space-0);width:min(var(--measure-column-wide), var(--size-full));z-index:var(--layer-header);
  }

  .storefront-header__search input:focus {border-bottom:var(--line-width) solid currentColor;color:var(--text-body);font-size:var(--text-xs);opacity:var(--opacity-soft);padding:var(--space-3xs) 0;width:var(--size-full);
  }
}

@media (max-width: 560px) {
  .shell {width:min(100% - var(--space-l), var(--page-max));
  }

  .storefront-header__inner {gap:var(--space-3xs);min-height:var(--space-3xl);
  }

  .storefront-header__search {flex:0 0 var(--control-min-height);
  }

  .storefront-header__account {display:inline-flex;
  }

  .storefront-logo__text {font-size:var(--text-m);
  }

  .storefront-brand {gap:var(--space-4xs);
  }

  .storefront-brand__mark {flex-basis:var(--control-icon-size);height:var(--control-icon-size);width:var(--control-icon-size);
  }

  .storefront-brand__name {font-size:var(--text-m);
  }

  .storefront-logo__image {width:min(var(--measure-logo), var(--fluid-brand-width));
  }

  .storefront-mega-menu__toggle {gap:var(--space-3xs);
  }

  .storefront-nav {gap:0;
  }

  .storefront-footer__panel {padding-inline:var(--space-s);
  }

  .storefront-cart-link {font-size:var(--text-xs);
  }

  .storefront-footer__columns {gap:0;grid-template-columns:var(--columns-one);
  }

  .storefront-footer__column {border-top:var(--line-width) solid var(--border-primary);gap:0;
  }

  .storefront-footer__columns > :last-child {border-bottom:var(--line-width) solid var(--border-primary);
  }

  .storefront-footer__column summary {align-items:center;cursor:pointer;display:flex;justify-content:space-between;min-height:var(--control-height);pointer-events:auto;
  }

  .storefront-footer__column summary::after {content:"+";font-size:var(--text-m);
  }

  .storefront-footer__column[open] summary::after {content:"−";
  }

  .storefront-footer__column h2 {margin:0;
  }

  .storefront-footer__column nav {display:none !important;padding-bottom:var(--space-m);
  }

  .storefront-footer__column[open] nav {display:grid !important;
  }

  .storefront-footer__legal {align-items:center;flex-direction:column;gap:var(--space-4xs);text-align:center;
  }

  .storefront-mega-menu__columns {gap:0;grid-template-columns:var(--columns-one);
  }

  .storefront-mega-menu__column {border-bottom:var(--line-width) solid var(--border-subtle);gap:var(--space-2xs);padding-block:var(--space-s);
  }

  .storefront-mega-menu__column:first-child {padding-top:0;
  }

  .storefront-mega-menu__column:last-child {border-bottom:0;
  }

  .storefront-mega-menu__column h2 {font-size:var(--text-xl);
  }
}

@media (max-width: 360px) {
  .storefront-logo__text {font-size:var(--text-s);
  }

  .storefront-brand {gap:var(--space-4xs);
  }

  .storefront-brand__mark {flex-basis:var(--control-icon-size);height:var(--control-icon-size);width:var(--control-icon-size);
  }

  .storefront-brand__name {font-size:var(--text-s);
  }
}

@media (prefers-reduced-motion: reduce) {
  .storefront-body *,
  .storefront-body *::before,
  .storefront-body *::after {scroll-behavior:auto !important;transition-duration:var(--motion-none) !important;
  }
}
