@font-face {
    font-family: "Cormorant Garamond";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/cormorant-garamond-500.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Cormorant Garamond";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/cormorant-garamond-600.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "DM Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/dm-sans-400.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "DM Sans";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/dm-sans-500.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "DM Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/dm-sans-600.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --color-bg: #F4EFE6;
    --color-surface: #FFFDF8;
    --color-primary: #003008;
    --color-primary-hover: #002008;
    --color-brand-green: #104028;
    --color-accent: #B08020;
    --color-accent-light: #D8B24C;
    --color-text: #181810;
    --color-text-muted: #706B63;
    --color-border: #DDD5C8;
    --color-danger: #A83B32;
    --color-on-primary: #FFFDF8;
    --color-danger-soft: color-mix(in srgb, var(--color-danger) 12%, var(--color-surface));
    --color-success: var(--color-brand-green);
    --color-success-soft: color-mix(in srgb, var(--color-brand-green) 12%, var(--color-surface));
    --color-info: var(--color-brand-green);
    --color-info-soft: color-mix(in srgb, var(--color-brand-green) 10%, var(--color-surface));
    --color-warning: var(--color-accent);
    --color-warning-soft: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));
    --color-accent-soft: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));

    --color-ink: var(--color-text);
    --color-ink-muted: var(--color-text-muted);
    --color-brand: var(--color-primary);
    --color-brand-strong: var(--color-primary-hover);
    --color-line: var(--color-border);

    --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --font-body: "DM Sans", "Segoe UI", sans-serif;

    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-md: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.375rem;
    --text-2xl: 1.75rem;
    --text-3xl: 2.25rem;
    --leading-tight: 1.22;
    --leading-body: 1.6;

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    --space-8: 4rem;

    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-full: 999px;

    --shadow-sm: 0 1px 2px rgba(24, 24, 16, 0.04);
    --shadow-md: 0 6px 16px rgba(24, 24, 16, 0.05);
    --shadow-lg: 0 12px 28px rgba(24, 24, 16, 0.06);
    --shadow-focus: 0 0 0 3px rgba(0, 48, 8, 0.22);

    --container: 80rem;
    --container-narrow: 23.5rem;
    --header-h: 4.25rem;

    --bp-sm: 480px;
    --bp-md: 768px;
    --bp-lg: 1024px;
    --bp-xl: 1200px;

    --duration: 160ms;
    --ease: ease;
    --transition: color var(--duration) var(--ease),
        background-color var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--color-text);
    background: var(--color-bg);
    font-family: var(--font-body);
    font-size: var(--text-md);
    font-weight: 400;
    line-height: var(--leading-body);
}

body:not(.admin-page) {
    color: #292A24;
    background: #FBF8F1;
}

body:not(.admin-page) .field__control {
    font-size: 1rem;
}

h1,
h2,
h3,
.display {
    font-family: var(--font-display);
    font-weight: 500;
    letter-spacing: -0.015em;
    line-height: var(--leading-tight);
}

h1 {
    font-weight: 600;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

a:hover {
    color: var(--color-primary);
}

:focus {
    outline: none;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.skip-link {
    position: absolute;
    left: var(--space-4);
    top: -3rem;
    z-index: 20;
    padding: var(--space-2) var(--space-3);
    background: var(--color-primary);
    color: var(--color-on-primary);
    border-radius: var(--radius-sm);
}

.skip-link:focus {
    top: var(--space-3);
}

.shell {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.shell-main {
    flex: 1;
}

.container {
    width: min(calc(100% - 2.5rem), var(--container));
    max-width: 100%;
    margin-inline: auto;
}

.container--narrow {
    width: min(calc(100% - 2.5rem), 42rem);
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.icon {
    display: block;
    flex-shrink: 0;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 10;
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
}

.site-header__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    min-width: 0;
    min-height: var(--header-h);
}

.logo {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    text-decoration: none;
}

.logo img {
    display: block;
    width: auto;
    height: 1.9rem;
    max-width: min(9.25rem, 52vw);
    object-fit: contain;
}

.auth-brand {
    overflow: visible;
    text-align: center;
}

.auth-brand__link {
    display: flex;
    justify-content: center;
    overflow: visible;
    text-decoration: none;
}

.auth-brand__logo {
    display: block;
    flex-shrink: 0;
    width: auto;
    height: auto;
    max-width: min(10.25rem, 100%);
    margin-inline: auto;
    object-fit: contain;
    object-position: center;
}

.nav {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: 0;
    margin: 0;
    list-style: none;
    font-weight: 500;
}

.nav a,
.nav__soon {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    text-decoration: none;
    color: var(--color-text-muted);
}

.nav a:hover,
.nav a[aria-current="page"] {
    color: var(--color-text);
}

.nav__soon {
    gap: var(--space-2);
    color: var(--color-text-muted);
}

.nav__soon em {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-accent);
}

.nav-desktop {
    display: none;
}

.header-tools {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: var(--space-1);
}

.tool-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-text);
    text-decoration: none;
    cursor: pointer;
}

.tool-btn:hover {
    background: var(--color-bg);
    color: var(--color-primary);
}

.header-cart {
    position: relative;
}

.header-cart .tool-btn {
    position: relative;
}

.header-cart__count {
    position: absolute;
    top: 0.15rem;
    right: 0.1rem;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.25rem;
    border-radius: var(--radius-full);
    background: var(--color-primary);
    color: var(--color-on-primary);
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 1.15rem;
    text-align: center;
}

.header-search,
.header-account {
    display: none;
}

.header-search {
    position: relative;
}

.header-panel {
    position: absolute;
    right: 0;
    top: calc(100% + var(--space-2));
    width: min(18rem, calc(100vw - 2.5rem));
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    z-index: 12;
}

.header-panel__title {
    margin: 0 0 var(--space-2);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.header-panel__text {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.menu-toggle__close {
    display: none;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__open {
    display: none;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__close {
    display: block;
}

.mobile-nav {
    border-top: 1px solid var(--color-border);
    background: var(--color-surface);
}

.mobile-nav .container {
    padding-block: var(--space-4) var(--space-5);
}

.mobile-nav__account {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--color-border);
}

.mobile-nav__label {
    margin: 0 0 var(--space-2);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.mobile-nav__guest {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
}

.flash-stack {
    display: grid;
    gap: var(--space-3);
    padding-top: var(--space-5);
}

.site-footer {
    margin-top: var(--space-8);
    padding: var(--space-7) 0 var(--space-5);
    background: var(--color-primary-hover);
    color: var(--color-on-primary);
}

.site-footer a {
    color: var(--color-on-primary);
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--color-accent-light);
}

.site-footer .logo img {
    height: 2rem;
    max-width: min(14rem, 80vw);
    filter: none;
}

.site-footer__brand p {
    margin: 0;
}

.site-footer__brand p:not(.logo) {
    margin-top: var(--space-3);
    color: color-mix(in srgb, var(--color-on-primary) 78%, transparent);
    max-width: 18rem;
}

.site-footer__heading {
    margin: 0 0 var(--space-3);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-accent-light);
}

.site-footer .nav a,
.site-footer .nav__soon {
    min-height: 2.25rem;
    color: var(--color-on-primary);
}

.site-footer .nav__soon em {
    color: var(--color-accent-light);
}

.site-footer__grid {
    display: grid;
    gap: var(--space-6);
}

.site-footer__legal {
    margin-top: var(--space-6);
    padding-top: var(--space-4);
    border-top: 1px solid color-mix(in srgb, var(--color-on-primary) 18%, transparent);
    color: color-mix(in srgb, var(--color-on-primary) 78%, transparent);
    font-size: var(--text-sm);
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-height: 2.75rem;
    padding: 0.7rem 1.1rem;
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    background: transparent;
    font: inherit;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition);
}

.btn--primary {
    background: var(--color-primary);
    color: var(--color-on-primary);
    font-weight: 600;
}

.btn--primary:hover {
    background: var(--color-primary-hover);
    color: var(--color-on-primary);
}

.btn--primary:active {
    background: var(--color-primary-hover);
    transform: translateY(1px);
}

.btn--secondary {
    background: var(--color-accent-soft);
    color: var(--color-text);
}

.btn--secondary:hover {
    background: var(--color-bg);
}

.btn--text,
.btn--ghost {
    border-color: transparent;
    color: var(--color-text);
    min-height: 2.5rem;
    padding-inline: 0.35rem;
}

.btn--text:hover,
.btn--ghost:hover {
    color: var(--color-primary);
    background: transparent;
}

.btn--danger {
    background: var(--color-danger);
    color: var(--color-on-primary);
}

.btn--danger:hover {
    background: color-mix(in srgb, var(--color-danger) 88%, #000);
    color: var(--color-on-primary);
}

.btn--sm {
    min-height: 2.25rem;
    padding: 0.4rem 0.85rem;
    font-size: var(--text-sm);
}

.btn--block {
    width: 100%;
}

.btn:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.btn.is-loading,
.btn[aria-busy="true"] {
    position: relative;
    color: transparent;
    pointer-events: none;
}

.btn.is-loading::after,
.btn[aria-busy="true"]::after {
    content: "";
    position: absolute;
    width: 1rem;
    height: 1rem;
    border: 2px solid color-mix(in srgb, var(--color-on-primary) 35%, transparent);
    border-top-color: var(--color-on-primary);
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
}

.btn--text.is-loading::after,
.btn--text[aria-busy="true"]::after,
.btn--secondary.is-loading::after,
.btn--secondary[aria-busy="true"]::after {
    border-color: color-mix(in srgb, var(--color-primary) 28%, transparent);
    border-top-color: var(--color-primary);
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.field {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
    margin: 0 0 var(--space-5);
    min-width: 0;
}

.field__label {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-text);
}

.field__control {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 2.85rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    color: var(--color-text);
    font: inherit;
    font-weight: 400;
    transition: var(--transition);
}

.field__control:hover:not(:disabled) {
    border-color: var(--color-text-muted);
}

.field__control:focus-visible {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-focus);
    outline: none;
}

.field__control:disabled {
    background: var(--color-bg);
    color: var(--color-text-muted);
    cursor: not-allowed;
}

.field__control--static {
    display: flex;
    align-items: center;
    min-height: 2.85rem;
    margin: 0;
    overflow-wrap: anywhere;
    background: var(--color-bg);
}

.profile-form {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
}

.profile-form .btn {
    justify-self: start;
    min-height: 2.75rem;
}

.field__control--area {
    min-height: 7rem;
    padding: 0.85rem;
    resize: vertical;
}

select.field__control {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%),
        linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);
    background-position: calc(100% - 1.15rem) 50%, calc(100% - 0.75rem) 50%;
    background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
    background-repeat: no-repeat;
    padding-right: 2.25rem;
}

.field--invalid .field__control {
    border-color: var(--color-danger);
}

.field--invalid .field__control:focus-visible {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger) 22%, transparent);
}

.field__hint {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.field--invalid .field__hint,
.field__hint--error {
    color: var(--color-danger);
}

.field--toggle .field__label {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    max-width: 100%;
}

.field__toggle {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    min-height: 2.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-text-muted);
    font: inherit;
    font-size: var(--text-sm);
    font-weight: 500;
    letter-spacing: 0.02em;
    white-space: nowrap;
    cursor: pointer;
}

.field__toggle:hover {
    color: var(--color-text);
}

.card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.card--elevated {
    box-shadow: var(--shadow-sm);
}

.card__media {
    min-height: 8.5rem;
    background: var(--color-primary);
}

.card__body {
    padding: var(--space-5);
}

.card__eyebrow {
    margin: 0 0 var(--space-2);
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.card__title {
    margin: 0 0 var(--space-2);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 500;
    line-height: var(--leading-tight);
}

.card__text {
    margin: 0;
    color: var(--color-text-muted);
}

.badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: var(--radius-sm);
    background: var(--color-accent-soft);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.badge--brand {
    background: var(--color-primary);
    color: var(--color-on-primary);
}

.badge--warn {
    background: var(--color-warning-soft);
    color: var(--color-warning);
}

.badge--danger {
    background: var(--color-danger-soft);
    color: var(--color-danger);
}

.alert {
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    font-size: var(--text-sm);
}

.alert--error {
    background: color-mix(in srgb, var(--color-danger) 8%, var(--color-surface));
    border: 1px solid color-mix(in srgb, var(--color-danger) 22%, var(--color-border));
    color: var(--color-danger);
}

.alert--success {
    background: var(--color-success-soft);
    border: 1px solid color-mix(in srgb, var(--color-success) 22%, var(--color-border));
    color: var(--color-success);
}

.alert--info {
    background: var(--color-info-soft);
    border: 1px solid color-mix(in srgb, var(--color-info) 22%, var(--color-border));
    color: var(--color-info);
}

.alert--warning {
    background: var(--color-warning-soft);
    border: 1px solid color-mix(in srgb, var(--color-warning) 28%, var(--color-border));
    color: var(--color-text);
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 0.85rem 0.75rem;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
}

th {
    font-size: var(--text-sm);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    list-style: none;
    padding: 0;
    margin: var(--space-5) 0 0;
}

.pagination a,
.pagination span {
    display: inline-flex;
    min-width: 2.4rem;
    min-height: 2.4rem;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
    text-decoration: none;
}

.pagination [aria-current="page"] {
    background: var(--color-primary);
    color: var(--color-on-primary);
    border-color: var(--color-primary);
}

.modal {
    width: min(32rem, calc(100% - var(--space-6)));
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    background: var(--color-surface);
}

.modal::backdrop {
    background: color-mix(in srgb, var(--color-text) 40%, transparent);
}

.modal__header,
.modal__body,
.modal__footer {
    padding: var(--space-5);
}

.modal__header {
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
    border-bottom: 1px solid var(--color-border);
}

.skeleton {
    display: block;
    min-height: 1rem;
    border-radius: var(--radius-sm);
    background: var(--color-border);
}

.hero {
    padding: var(--space-6) 0 var(--space-7);
}

.hero__grid {
    display: grid;
    gap: var(--space-6);
    align-items: center;
    min-width: 0;
}

.hero__copy,
.hero__visual {
    min-width: 0;
    max-width: 100%;
}

.hero__eyebrow,
.section__eyebrow,
.page-header__eyebrow {
    margin: 0 0 var(--space-3);
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.hero__copy h1 {
    margin: 0 0 var(--space-4);
    font-family: var(--font-display);
    font-size: clamp(2rem, 6vw, 3rem);
    line-height: var(--leading-tight);
    font-weight: 600;
    overflow-wrap: break-word;
}

.hero__copy p {
    max-width: 34rem;
    color: var(--color-text-muted);
    overflow-wrap: break-word;
}

.hero__visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 16rem;
    padding: var(--space-5);
    background: var(--color-primary);
    border-radius: var(--radius-md);
}

.hero__visual img {
    width: min(14rem, 70%);
    height: auto;
}

.section {
    padding: var(--space-7) 0;
}

.section--surface {
    background: var(--color-surface);
    border-block: 1px solid var(--color-border);
}

.section__head {
    max-width: 36rem;
    margin-bottom: var(--space-6);
}

.section__head h2,
.page-title {
    margin: 0 0 var(--space-3);
    font-family: var(--font-display);
    font-size: clamp(1.65rem, 3vw, 2.1rem);
    line-height: var(--leading-tight);
    font-weight: 500;
}

.auth-card h1 {
    margin: 0 0 var(--space-2);
    font-family: var(--font-display);
    font-size: 1.875rem;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.section__head p,
.page-header__lede {
    margin: 0;
    color: var(--color-text-muted);
}

.page-header {
    margin-bottom: var(--space-6);
}

.crumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: 0 0 var(--space-4);
    padding: 0;
    list-style: none;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.crumbs li:not(:last-child)::after {
    content: "/";
    margin-left: var(--space-2);
    color: var(--color-border);
}

.crumbs a {
    text-decoration: none;
}

.placeholder-tile {
    border: 1px solid var(--color-border);
    background: var(--color-surface);
}

.placeholder-tile__media {
    min-height: 11rem;
    background: color-mix(in srgb, var(--color-primary) 8%, var(--color-bg));
}

.placeholder-tile__label {
    margin: 0;
    padding: var(--space-3) var(--space-4);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.story {
    display: grid;
    gap: var(--space-6);
    align-items: center;
}

.story__panel {
    min-height: 14rem;
    background: var(--color-brand-green);
    border-radius: var(--radius-md);
}

.account-page {
    padding: var(--space-6) 0 var(--space-8);
}

.account-page .alert {
    margin-bottom: var(--space-5);
}

.account-shell {
    display: grid;
    gap: var(--space-6);
}

.account-nav {
    display: grid;
    align-content: start;
    gap: var(--space-2);
}

.account-nav a,
.account-nav span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 2.75rem;
    padding: 0 var(--space-3);
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    text-decoration: none;
    color: var(--color-text);
}

.account-nav a[aria-current="page"] {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-on-primary);
}

.account-nav em {
    font-style: normal;
    color: var(--color-accent);
    font-size: var(--text-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.account-nav form {
    margin-top: var(--space-3);
}

.account-main {
    display: grid;
    gap: var(--space-5);
    min-width: 0;
}

.account-card {
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.account-card h2 {
    margin: 0 0 var(--space-4);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 500;
}

.account-card p {
    margin: 0;
    color: var(--color-text-muted);
}

.account-card--quiet {
    background: var(--color-bg);
}

.account-card__status {
    margin-top: var(--space-3);
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.account-grid {
    display: grid;
    gap: var(--space-4);
}

.empty-state {
    padding: var(--space-6) var(--space-5);
    border: 1px dashed var(--color-border);
    background: var(--color-surface);
}

.empty-state__title {
    margin: 0 0 var(--space-2);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 500;
}

.empty-state__body {
    margin: 0;
    color: var(--color-text-muted);
}

.error-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.error-page__actions .btn {
    min-height: 2.75rem;
}

.divider {
    width: 100%;
    height: 0;
    margin: var(--space-2) 0;
    border: 0;
    border-top: 1px solid var(--color-border);
}

.loading {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.loading__dot {
    width: 0.75rem;
    height: 0.75rem;
    border: 2px solid var(--color-border);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
}

.price {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--space-2);
    font-family: var(--font-body);
    font-weight: 600;
    letter-spacing: 0.01em;
}

.price__compare {
    color: var(--color-text-muted);
    font-weight: 400;
    text-decoration: line-through;
}

.account-empty {
    margin: 0;
    color: var(--color-text-muted);
}

.grid {
    display: grid;
    gap: var(--space-5);
}

.actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.auth-shell {
    box-sizing: border-box;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.85rem;
    width: 100%;
    max-width: 32.5rem;
    margin: 0 auto;
    padding: 1.25rem;
    overflow: visible;
}

.auth-brand__tagline {
    margin: 0.4rem 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.auth-shell main {
    min-width: 0;
    max-width: 100%;
}

.auth-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 1.5rem;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.auth-card__lede {
    margin: 0 0 1.35rem;
    color: var(--color-text-muted);
    font-size: 0.9375rem;
    line-height: 1.55;
    overflow-wrap: break-word;
}

.auth-card .alert {
    margin-bottom: 1.25rem;
}

.auth-form .field {
    margin-bottom: 1.15rem;
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

.auth-form .field__control {
    min-height: 3.5rem;
    padding: 0 1rem;
}

.auth-form .field__control:focus,
.auth-form .field__control:focus-visible {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: var(--shadow-focus);
}

.auth-form .field__toggle {
    min-height: 2.25rem;
    padding: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--color-text-muted);
}

.auth-form .field__toggle:hover,
.auth-form .field__toggle:focus-visible {
    color: var(--color-primary);
}

.auth-form .btn {
    margin-top: 0.15rem;
    min-height: 3.5rem;
    border-radius: 10px;
    font-weight: 600;
}

.auth-form .btn--primary {
    background: #003008;
    color: #fff;
}

.auth-form .btn--primary:hover {
    background: var(--color-primary-hover);
    color: #fff;
}

.auth-form .btn--primary:active {
    background: var(--color-primary-hover);
    color: #fff;
    transform: translateY(1px);
}

.auth-form .btn:disabled,
.auth-form .btn[aria-busy="true"] {
    opacity: 0.55;
}

.auth-card__footer {
    margin: 1.25rem 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    text-align: center;
    line-height: 1.5;
    overflow-wrap: break-word;
}

.auth-card__footer a {
    color: var(--color-primary);
    font-weight: 500;
    text-decoration: none;
}

.auth-card__footer a:hover,
.auth-card__footer a:focus-visible {
    color: var(--color-primary-hover);
    text-decoration: underline;
}

.account-dl {
    display: grid;
    gap: var(--space-4);
    margin: 0;
}

.account-dl div {
    display: grid;
    gap: var(--space-1);
}

.account-dl dt {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.account-dl dd {
    margin: 0;
    font-size: var(--text-lg);
    overflow-wrap: anywhere;
}

.admin-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.admin-toolbar__filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
    min-width: 0;
}

.admin-toolbar__filters .field__control {
    min-height: 2.5rem;
    width: auto;
    max-width: 14rem;
    font-size: 14px;
}

.admin-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
}

.admin-row-actions form {
    margin: 0;
}

.admin-page .admin-categories {
    max-width: 100%;
}

.admin-page .admin-categories table {
    min-width: 0;
}

.admin-page .admin-categories th,
.admin-page .admin-categories td {
    overflow-wrap: anywhere;
    vertical-align: top;
}

.admin-page .admin-categories .admin-category-parent,
.admin-page .admin-categories .admin-category-child {
    font-size: 14px;
    font-weight: 400;
}

.admin-page .admin-categories td {
    font-size: 13px;
    font-weight: 400;
}

.admin-page .admin-categories td:first-child {
    font-size: 14px;
}

.admin-page .admin-categories code {
    font-size: 13px;
}

.admin-page .admin-categories .badge {
    font-size: 11px;
    font-weight: 600;
}

.admin-page .admin-categories .admin-row-actions a,
.admin-page .admin-categories .admin-row-actions .btn {
    font-size: 13px;
    font-weight: 500;
}

.admin-page .admin-category-child {
    display: inline-block;
    padding-left: 1.15rem;
}

@media (max-width: 767.98px) {
    .admin-page .admin-categories th,
    .admin-page .admin-categories td {
        padding: 0.65rem 0.5rem;
    }
}

.admin-image-preview {
    margin: 0 0 var(--space-3);
}

.admin-image-preview img {
    width: 8rem;
    height: auto;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
}

.admin-form {
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-form__heading {
    margin: var(--space-6) 0 var(--space-4);
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 500;
}

.admin-form__heading:first-child {
    margin-top: 0;
}

.admin-product-cell {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-width: 0;
}

.admin-product-cell img,
.admin-product-cell__placeholder {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    object-fit: cover;
    background: color-mix(in srgb, var(--color-primary) 8%, var(--color-bg));
    border: 1px solid var(--color-border);
}

.admin-product-cards {
    display: grid;
    gap: var(--space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-product-table {
    display: none;
}

.admin-product-card {
    min-width: 0;
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-product-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.admin-product-card__head .admin-product-cell {
    flex: 1 1 12rem;
}

.admin-product-card__title {
    min-width: 0;
}

.admin-product-card__title h2 {
    margin: 0 0 var(--space-1);
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.admin-product-card__title code {
    overflow-wrap: anywhere;
}

.admin-product-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
    margin: 0;
}

.admin-product-card__meta div {
    min-width: 0;
    display: grid;
    gap: var(--space-1);
}

.admin-product-card__meta dt {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.admin-product-card__meta dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-product-card__actions {
    margin-top: var(--space-5);
    padding-top: var(--space-4);
    border-top: 1px solid var(--color-border);
}

.admin-product-card__actions .btn,
.admin-product-card__actions a.btn {
    min-height: 2.75rem;
    min-width: 2.75rem;
}

.admin-order-cards {
    display: grid;
    gap: var(--space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-order-table {
    display: none;
}

.admin-order-card,
.admin-order-detail,
.admin-order-item {
    min-width: 0;
}

.admin-order-card {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-order-card__number,
.admin-order-item h3,
.admin-order-email {
    overflow-wrap: anywhere;
}

.admin-order-card__number {
    margin: 0;
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 500;
}

.admin-order-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
    margin: 0;
}

.admin-order-card__meta div {
    min-width: 0;
    display: grid;
    gap: var(--space-1);
}

.admin-order-card__meta dt,
.admin-order-email {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.admin-stock-readonly {
    margin: 0 0 var(--space-2);
    font-size: var(--text-lg);
}

.admin-product-card__mode {
    display: block;
    margin-top: 0.15rem;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.admin-variants-panel {
    margin-top: var(--space-6);
    padding-top: var(--space-5);
    border-top: 1px solid var(--color-border);
}

.admin-variant-table-wrap {
    overflow-x: auto;
    margin: 0 0 var(--space-5);
}

.admin-variant-quick-edit {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-4) 0;
}

.admin-variant-quick-edit__grid {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.admin-variant-quick-edit__stock {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
    margin: 0;
}

.admin-variant-quick-row td {
    background: color-mix(in srgb, var(--color-surface) 70%, var(--color-bg));
}

.admin-variant-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}

.admin-variant-table th,
.admin-variant-table td {
    padding: 0.55rem 0.65rem;
    text-align: left;
    border-bottom: 1px solid var(--color-border);
    vertical-align: middle;
}

.admin-variant-table th {
    color: var(--color-text-muted);
    font-weight: 600;
}

.admin-inventory-card__variant {
    margin: 0.2rem 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.admin-inventory-summary {
    margin-bottom: var(--space-5);
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-inventory-summary .account-dl {
    margin-bottom: var(--space-3);
}

.admin-inventory-form {
    margin-bottom: var(--space-5);
}

.admin-inventory-cards {
    display: grid;
    gap: var(--space-4);
    margin: 0 0 var(--space-5);
    padding: 0;
    list-style: none;
}

.admin-inventory-card {
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-inventory-card__head h2 {
    margin: 0 0 var(--space-1);
    font-size: 17px;
    font-weight: 500;
}

.admin-inventory-card__head code,
.admin-inventory-card__meta code {
    font-size: var(--text-sm);
}

.admin-inventory-card__meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-3);
    margin: var(--space-3) 0 0;
}

.admin-inventory-card__meta div {
    min-width: 0;
}

.admin-inventory-card__meta dt {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-inventory-card__meta dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-inventory-table {
    display: none;
}

.inventory-delta--pos {
    color: var(--color-success);
}

.inventory-delta--neg {
    color: var(--color-danger);
}

.actions--stack-sm {
    margin-top: var(--space-4);
}

.actions--stack-sm .btn,
.actions--stack-sm button.btn {
    width: 100%;
}

.admin-order-card__meta dt {
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.admin-order-card__meta dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-order-card__actions .btn {
    min-height: 2.75rem;
}

.admin-order-detail {
    display: grid;
    gap: var(--space-5);
}

.admin-order-items {
    display: grid;
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-order-item {
    display: grid;
    gap: var(--space-2);
    padding-bottom: var(--space-3);
    border-bottom: 1px solid var(--color-border);
}

.admin-order-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.admin-order-item h3 {
    margin: 0 0 var(--space-1);
    font-family: var(--font-display);
    font-size: var(--text-lg);
    font-weight: 500;
}

.admin-order-item p {
    margin: 0;
}

.admin-order-detail .address-card__lines {
    overflow-wrap: anywhere;
}

.admin-order-detail__actions {
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.dashboard-grid,
.dashboard-queues,
.customer-detail,
.customer-address-list,
.dashboard-queue,
.admin-customer-cards {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
}

.dashboard-grid,
.dashboard-queues,
.customer-detail {
    margin-bottom: var(--space-5);
}

.dashboard-card {
    min-width: 0;
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.dashboard-card h2,
.admin-customer-card__name {
    margin: 0 0 var(--space-3);
    font-family: var(--font-display);
    font-size: var(--text-lg);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.dashboard-card__value {
    margin: 0 0 var(--space-3);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 500;
}

.dashboard-card__note,
.dashboard-card__links {
    margin: 0 0 var(--space-3);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.dashboard-card__links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.dashboard-card__meta,
.admin-customer-card__meta,
.customer-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
    margin: 0;
}

.dashboard-card__meta div,
.admin-customer-card__meta div,
.customer-summary div {
    min-width: 0;
    display: grid;
    gap: var(--space-1);
}

.dashboard-card__meta dt,
.admin-customer-card__meta dt {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.dashboard-card__meta dd,
.admin-customer-card__meta dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.dashboard-queue,
.customer-address-list,
.admin-customer-cards {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dashboard-queue li,
.customer-address,
.admin-customer-card {
    display: grid;
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    overflow-wrap: anywhere;
}

.dashboard-queue li {
    grid-template-columns: minmax(0, 1fr);
}

.customer-address__head {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    align-items: center;
}

.customer-address p {
    margin: 0;
}

.admin-customer-table {
    display: none;
}

.admin-order-detail__actions .btn,
.admin-order-detail__actions form .btn {
    width: 100%;
    min-height: 2.75rem;
}

.admin-order-email {
    display: block;
}

.admin-image-list {
    display: grid;
    gap: var(--space-4);
    margin: 0 0 var(--space-5);
    padding: 0;
    list-style: none;
}

.admin-image-list__item {
    display: grid;
    gap: var(--space-4);
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--color-border);
}

.admin-image-list__item img {
    width: 7.5rem;
    height: 7.5rem;
    object-fit: cover;
    border: 1px solid var(--color-border);
    background: var(--color-bg);
}

.admin-image-thumb {
    position: relative;
    width: 7.5rem;
    height: 7.5rem;
}

.admin-image-thumb img {
    display: block;
    width: 100%;
    height: 100%;
}

.admin-image-delete {
    position: absolute;
    top: var(--space-1);
    right: var(--space-1);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    min-height: 2rem;
    margin: 0;
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: 0.25rem;
    background: color-mix(in srgb, var(--color-surface) 92%, transparent);
    color: var(--color-text);
    font: inherit;
    font-size: 1.125rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 1px 2px color-mix(in srgb, var(--color-text) 12%, transparent);
}

.admin-image-delete:hover,
.admin-image-delete:focus-visible {
    border-color: var(--color-danger);
    color: var(--color-danger);
    outline: 2px solid color-mix(in srgb, var(--color-danger) 45%, transparent);
    outline-offset: 2px;
}

.admin-image-thumb__status {
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    padding: var(--space-1) var(--space-2);
    background: color-mix(in srgb, var(--color-danger) 88%, var(--color-text));
    color: var(--color-on-primary);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-align: center;
    text-transform: uppercase;
}

.admin-image-thumb.is-marked-delete img {
    opacity: 0.45;
    filter: grayscale(0.35);
}

.admin-image-thumb.is-marked-delete .admin-image-delete {
    border-color: var(--color-brand-green);
    color: var(--color-brand-green);
}

.catalogue-page {
    padding: var(--space-6) 0 var(--space-7);
}

.care-page {
    min-width: 0;
}

.care-prose {
    display: grid;
    gap: var(--space-4);
    max-width: 40rem;
    min-width: 0;
}

.care-prose p {
    margin: 0;
    overflow-wrap: anywhere;
}

.care-dl {
    display: grid;
    gap: var(--space-4);
    margin: 0;
    min-width: 0;
}

.care-dl div {
    display: grid;
    gap: var(--space-1);
    min-width: 0;
}

.care-dl dt {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.care-dl dd {
    margin: 0;
    font-size: var(--text-lg);
    overflow-wrap: anywhere;
}

.section__more {
    margin: var(--space-5) 0 0;
}

.section__more a {
    font-weight: 500;
}

.catalogue-toolbar {
    display: grid;
    gap: 0.75rem;
    margin: 0;
}

.catalogue-toolbar__search {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.catalogue-toolbar__search-icon {
    position: absolute;
    left: 0.85rem;
    z-index: 1;
    display: inline-flex;
    color: var(--color-text-muted);
    pointer-events: none;
}

.catalogue-toolbar__search-icon .icon {
    width: 1rem;
    height: 1rem;
}

.catalogue-toolbar__search-input,
.catalogue-toolbar input[type="search"] {
    width: 100%;
    max-width: none;
    min-height: 3rem;
    padding-left: 2.55rem;
    flex: 1 1 auto;
}

.catalogue-toolbar__controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.catalogue-toolbar .field__control {
    width: auto;
    min-width: 0;
    max-width: 14rem;
    min-height: 2.75rem;
    flex: 1 1 8.5rem;
    border-radius: 3px;
    font-size: 0.875rem;
}

.catalogue-toolbar__prices {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.catalogue-toolbar__price-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 0;
    flex: 1 1 6.5rem;
    max-width: 8rem;
}

.catalogue-toolbar__currency {
    position: absolute;
    left: 0.7rem;
    z-index: 1;
    color: var(--color-text-muted);
    font-size: 0.8125rem;
    pointer-events: none;
}

.catalogue-toolbar__price {
    width: 100%;
    max-width: none;
    padding-left: 1.45rem;
}

.catalogue-toolbar__apply {
    min-height: 2.7rem;
    padding: 0.45rem 1rem;
    border-radius: 2px;
    font-size: 0.875rem;
    font-weight: 500;
    flex: 0 0 auto;
}

.collection-grid,
.product-grid {
    display: grid;
    gap: var(--space-5);
    min-width: 0;
}

.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.collection-card,
.product-tile {
    min-width: 0;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.collection-card__link,
.product-tile__link {
    display: grid;
    color: inherit;
    text-decoration: none;
}

.collection-card__link {
    height: 100%;
}

.product-tile__link {
    height: auto;
    flex: 1 1 auto;
}

.collection-card__media,
.product-tile__media {
    position: relative;
    overflow: hidden;
    background: color-mix(in srgb, var(--color-primary) 8%, var(--color-bg));
}

.collection-card__media {
    aspect-ratio: 4 / 3;
}

.product-tile__media {
    aspect-ratio: 4 / 5;
}

.collection-card__media img,
.product-tile__media img,
.collection-card__placeholder,
.product-tile__placeholder,
.product-gallery__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.collection-card__placeholder,
.product-tile__placeholder,
.product-gallery__placeholder {
    background: color-mix(in srgb, var(--color-primary) 10%, var(--color-bg));
}

.collection-card__body,
.product-tile__body {
    padding: var(--space-4);
    min-width: 0;
}

.collection-card__title,
.product-tile__title {
    margin: 0 0 var(--space-2);
    font-family: var(--font-display);
    font-size: var(--text-lg);
    font-weight: 500;
    line-height: var(--leading-tight);
    overflow-wrap: anywhere;
}

.collection-card__text,
.product-tile__stock,
.product-detail__stock {
    margin: var(--space-2) 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.collection-card__action {
    margin: var(--space-3) 0 0;
    font-size: var(--text-sm);
    font-weight: 500;
}

.product-tile__eyebrow {
    margin: 0 0 var(--space-2);
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.header-search__form,
.mobile-nav__search {
    display: grid;
    gap: var(--space-3);
}

.mobile-nav__search {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--color-border);
}

.mobile-nav__search .field__control,
.header-search__form .field__control {
    min-height: 2.75rem;
}

.product-detail {
    display: grid;
    gap: var(--space-6);
    min-width: 0;
}

.product-detail__title {
    margin: 0 0 var(--space-4);
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 4vw, 2.4rem);
    font-weight: 500;
    line-height: var(--leading-tight);
    overflow-wrap: anywhere;
}

.product-detail__short {
    margin: 0 0 var(--space-4);
    color: var(--color-text-muted);
    max-width: 36rem;
}

.product-detail__copy .price {
    font-size: var(--text-lg);
}

.product-detail__meta {
    display: grid;
    gap: var(--space-4);
    margin: var(--space-5) 0 0;
}

.product-detail__meta div {
    min-width: 0;
}

.product-detail__meta dt {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.product-detail__meta dd {
    margin: var(--space-1) 0 0;
    overflow-wrap: anywhere;
}

.product-detail__description {
    margin-top: var(--space-6);
    padding-top: var(--space-5);
    border-top: 1px solid var(--color-border);
}

.product-detail__description h2 {
    margin: 0 0 var(--space-3);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 500;
}

.product-gallery {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
}

.product-gallery__stage {
    margin: 0;
    aspect-ratio: 4 / 5;
    background: color-mix(in srgb, var(--color-primary) 8%, var(--color-bg));
    border: 1px solid var(--color-border);
    overflow: hidden;
}

.product-gallery__stage img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-gallery__thumbs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-gallery__thumb {
    display: block;
    width: 100%;
    min-height: 2.75rem;
    padding: 0;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    cursor: pointer;
}

.product-gallery__thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

.product-gallery__thumb[aria-pressed="true"] {
    border-color: var(--color-primary);
}

.product-detail__cart {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.product-detail__price {
    margin-top: var(--space-3);
}

.product-variant-picker {
    margin-top: var(--space-4);
}

.product-variant-picker__label {
    margin: 0 0 var(--space-2);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.product-variant-picker__options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.product-variant-picker__option {
    min-height: 2.5rem;
    padding: 0.45rem 0.85rem;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-text);
    font: inherit;
    font-size: var(--text-sm);
    cursor: pointer;
}

.product-variant-picker__option:hover {
    border-color: var(--color-primary);
}

.product-variant-picker__option:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.product-variant-picker__option.is-selected {
    border-color: var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));
    box-shadow: inset 0 0 0 1px var(--color-primary);
    font-weight: 600;
}

.product-detail__variant-note {
    flex: 1 1 100%;
    margin: var(--space-2) 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

@media (max-width: 47.99rem) {
    .product-variant-picker__options {
        flex-direction: column;
        align-items: stretch;
    }

    .product-variant-picker__option {
        width: 100%;
        text-align: left;
    }
}

.product-detail__qty {
    min-width: 6.5rem;
    max-width: 8rem;
}

.product-detail__qty .field__control {
    min-height: 2.75rem;
}

.cart-empty-actions {
    margin-top: var(--space-5);
}

.address-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-3);
}

.address-empty-actions {
    margin-top: var(--space-4);
}

.address-list {
    display: grid;
    gap: var(--space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.address-card {
    display: grid;
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.address-card--default {
    border-color: color-mix(in srgb, var(--color-primary) 35%, var(--color-border));
}

.address-card__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
}

.address-card__type {
    margin: 0;
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.address-card__name {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 500;
}

.address-card__phone {
    margin: 0;
}

.address-card__lines {
    display: grid;
    gap: var(--space-1);
    min-width: 0;
    font-style: normal;
    color: var(--color-text-muted);
    overflow-wrap: anywhere;
}

.address-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-top: var(--space-2);
}

.address-card__actions .btn {
    min-height: 2.75rem;
}

.address-card__actions form {
    margin: 0;
}

.order-history-list {
    display: grid;
    gap: var(--space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.order-history-card {
    display: grid;
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.order-history-card__number {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.order-history-card__preview {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.order-history-card__preview-line {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.order-history-card__preview-name {
    font-size: var(--text-sm);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.order-history-card__preview-variant,
.order-history-card__preview-qty {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
}

.order-history-card__preview-more {
    margin: 0;
    font-size: var(--text-xs);
}

.order-history-card__preview-more a {
    color: var(--color-text-muted);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.order-history-card__meta {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    min-width: 0;
}

.order-history-card__meta div {
    display: grid;
    grid-template-columns: minmax(0, 7.5rem) minmax(0, 1fr);
    gap: var(--space-2);
    min-width: 0;
}

.order-history-card__meta dt {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.order-history-card__meta dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.order-history-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
}

.order-history-card__actions .btn {
    min-height: 2.75rem;
}

.order-history-empty-actions {
    margin-top: var(--space-4);
}

.address-form__grid {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
}

.address-form__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.cart-layout {
    display: grid;
    gap: var(--space-6);
    min-width: 0;
}

.cart-list {
    display: grid;
    gap: var(--space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.cart-item {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.cart-item--unavailable {
    opacity: 0.85;
}

.cart-item__media {
    width: 6.5rem;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: color-mix(in srgb, var(--color-primary) 8%, var(--color-bg));
}

.cart-item__media img,
.cart-item__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-item__body {
    min-width: 0;
}

.cart-item__title {
    margin: 0 0 var(--space-2);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.cart-item__title a {
    color: inherit;
    text-decoration: none;
}

.cart-item__sku,
.cart-item__notice,
.cart-item__line span {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.cart-item__qty {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin: var(--space-4) 0;
}

.cart-item__qty .field__control {
    width: 5.5rem;
    min-height: 2.75rem;
}

.cart-item__qty .btn,
.cart-item__remove .btn {
    min-height: 2.75rem;
}

.cart-item__line {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-2);
    margin: 0 0 var(--space-3);
}

.cart-item__remove {
    margin: 0;
}

.cart-summary {
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    height: max-content;
}

.cart-summary h2 {
    margin: 0 0 var(--space-4);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 500;
}

.cart-summary__row {
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
    margin: 0 0 var(--space-3);
    font-weight: 600;
}

.cart-summary__note {
    margin: 0 0 var(--space-5);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.cart-summary__actions {
    display: grid;
    gap: var(--space-3);
}

.cart-summary__actions form {
    margin: 0;
}

.checkout-heading {
    margin: 0 0 var(--space-4);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 500;
}

.checkout-heading:not(:first-child) {
    margin-top: var(--space-6);
}

.checkout-main {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
}

.checkout-qty {
    margin-left: var(--space-2);
    color: var(--color-text-muted);
    font-weight: 400;
}

.checkout-address--selected {
    border-color: var(--color-primary);
}

.checkout-add {
    margin-top: var(--space-4);
}

.checkout-page .address-card__actions .btn,
.checkout-page .address-empty-actions .btn,
.checkout-page .checkout-add .btn,
.checkout-page .cart-summary__actions .btn,
.order-page .cart-summary__actions .btn {
    min-height: 2.75rem;
}

.order-kicker {
    margin: 0 0 var(--space-2);
    color: var(--color-accent);
    font-size: var(--text-sm);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.order-layout,
.order-page .checkout-main,
.order-page .address-card,
.order-page .cart-item,
.order-page .cart-summary {
    min-width: 0;
}

.order-page .address-card__lines {
    overflow-wrap: anywhere;
}

.order-pay-status {
    margin: 0 0 var(--space-2);
    color: var(--color-brand-green);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.order-fulfill-status {
    margin: 0 0 var(--space-2);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.order-shipping-status {
    margin: 0 0 var(--space-4);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.order-timeline {
    display: grid;
    gap: var(--space-3);
    margin: 0 0 var(--space-5);
    padding: 0;
    list-style: none;
}

.order-timeline__item {
    display: grid;
    gap: var(--space-1);
    min-width: 0;
    padding-left: var(--space-4);
    border-left: 2px solid var(--color-border);
}

.order-timeline__item.is-complete {
    border-left-color: var(--color-brand-green);
}

.order-timeline__label {
    font-weight: 600;
}

.order-timeline__when {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.order-shipping-dl,
.order-tracking {
    min-width: 0;
    overflow-wrap: anywhere;
}

.order-ship-form {
    display: grid;
    gap: var(--space-3);
    min-width: 0;
}

.order-page .cart-summary__actions .btn {
    width: 100%;
}

.order-page .cart-summary__actions form .btn {
    width: 100%;
}

@media (min-width: 480px) {
    .auth-brand__logo {
        max-width: 10.5rem;
    }

    .auth-card {
        padding: 2.85rem;
    }

    .auth-card h1 {
        font-size: 2rem;
    }

    .logo img {
        height: 2.15rem;
        max-width: min(11rem, 46vw);
    }
}

@media (max-height: 820px) {
    .auth-shell {
        gap: 0.7rem;
        padding: 1rem 0;
    }

    .auth-brand__logo {
        max-width: min(8.75rem, 100%);
    }
}

@media (min-width: 768px) {
    .nav-desktop {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
    }

    .nav-desktop .nav {
        flex-direction: row;
        align-items: center;
        gap: var(--space-5);
    }

    .nav-desktop .nav a,
    .nav-desktop .nav__soon {
        min-height: auto;
        padding: var(--space-2) 0;
    }

    .header-search,
    .header-account {
        display: block;
    }

    .menu-toggle,
    .mobile-nav {
        display: none;
    }

    .account-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-image-list__item {
        grid-template-columns: 7.5rem minmax(0, 1fr);
        align-items: start;
    }

    .hero__grid,
    .story {
        grid-template-columns: 1.05fr 0.95fr;
        gap: var(--space-7);
    }

    .account-shell {
        grid-template-columns: 14.5rem minmax(0, 1fr);
    }

    .site-footer__grid {
        grid-template-columns: 1.3fr 0.8fr 0.9fr 0.8fr;
    }

    .grid--3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .collection-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product-detail {
        grid-template-columns: 1.05fr 0.95fr;
        gap: var(--space-7);
        align-items: start;
    }

    .cart-item {
        grid-template-columns: 7.5rem minmax(0, 1fr);
        align-items: start;
    }

    .cart-layout {
        grid-template-columns: minmax(0, 1fr) 18rem;
        align-items: start;
    }

    .account-nav {
        width: 14.5rem;
    }

    .actions--stack-sm .btn,
    .actions--stack-sm button.btn {
        width: auto;
    }

    .address-form__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .dashboard-grid,
    .dashboard-queues,
    .customer-detail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .admin-product-cards {
        display: none;
    }

    .admin-product-table {
        display: block;
        overflow-x: visible;
    }

    .admin-order-cards {
        display: none;
    }

    .admin-order-table {
        display: block;
        overflow-x: visible;
    }

    .admin-inventory-cards {
        display: none;
    }

    .admin-inventory-table {
        display: block;
        overflow-x: visible;
    }

    .admin-customer-cards {
        display: none;
    }

    .admin-customer-table {
        display: block;
        overflow-x: visible;
    }

    .dashboard-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .hero__visual {
        min-height: 22rem;
    }

    .grid--4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .collection-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .account-shell {
        grid-template-columns: 15rem 1fr;
    }
}

@media (min-width: 1280px) {
    .dashboard-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* =========================================
   V2.5 STOREFRONT UX
   ========================================= */

.storefront-header {
    z-index: 30;
}

.storefront-header .site-header__bar {
    gap: var(--space-4);
}

.storefront-header .logo img {
    height: 2rem;
    max-width: min(10.5rem, 48vw);
}

.storefront-header .header-tools {
    gap: var(--space-2);
}

.storefront-nav-overlay {
    position: fixed;
    inset: 0;
    top: var(--header-h);
    z-index: 28;
    background: color-mix(in srgb, var(--color-text) 38%, transparent);
}

.storefront-header .mobile-nav {
    position: relative;
    z-index: 29;
    border-bottom: 1px solid var(--color-border);
}

body.storefront-nav-open {
    overflow: hidden;
}

.storefront-hero {
    padding: var(--space-6) 0 var(--space-8);
}

.storefront-hero__grid {
    display: grid;
    gap: var(--space-6);
    align-items: center;
    min-width: 0;
}

.storefront-hero__copy,
.storefront-hero__visual {
    min-width: 0;
    max-width: 100%;
}

.storefront-featured-label,
.storefront-section .section__eyebrow,
.storefront-care .page-header__eyebrow,
.storefront-catalogue .page-header__eyebrow,
.storefront-cart .page-header__eyebrow,
.storefront-checkout .page-header__eyebrow,
.storefront-account .page-header__eyebrow,
.storefront-order .page-header__eyebrow,
.storefront-product .section__eyebrow {
    color: var(--color-brand-green);
}

.storefront-hero__copy h1 {
    margin: 0 0 var(--space-4);
    font-family: var(--font-display);
    font-size: clamp(2.1rem, 8vw, 3.6rem);
    line-height: var(--leading-tight);
    font-weight: 600;
    overflow-wrap: break-word;
}

.storefront-hero__copy p {
    max-width: 34rem;
    margin: 0 0 var(--space-5);
    color: var(--color-text-muted);
    overflow-wrap: break-word;
}

.storefront-hero__visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 16rem;
    max-height: 28rem;
    overflow: hidden;
}

.storefront-hero--fallback .storefront-hero__visual {
    background:
        radial-gradient(120% 90% at 70% 40%, color-mix(in srgb, var(--color-primary) 78%, var(--color-bg)) 0%, var(--color-primary) 70%);
}

.storefront-hero__fallback img {
    width: min(11rem, 58%);
    height: auto;
    opacity: 0.92;
}

.storefront-hero--photo .storefront-hero__visual {
    background: transparent;
}

.storefront-hero--photo .storefront-hero__visual img {
    width: 100%;
    height: 100%;
    max-height: 28rem;
    object-fit: cover;
    object-position: center;
    mask-image: linear-gradient(to top, transparent 0%, #000 18%);
}

.storefront-section .section__head {
    max-width: 38rem;
    margin-bottom: var(--space-6);
}

.storefront-section .section__more a {
    color: var(--color-brand-green);
    font-weight: 500;
    text-decoration: none;
}

.storefront-about__grid {
    max-width: 40rem;
}

.storefront-about__grid--photo {
    display: grid;
    gap: var(--space-6);
    max-width: none;
    align-items: center;
}

.storefront-about__visual {
    min-width: 0;
    overflow: hidden;
}

.storefront-about__visual img {
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 4;
    object-fit: cover;
}

.storefront-pillars .card {
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.storefront-footer {
    margin-top: 0;
    padding: 0 0 1.25rem;
    background: var(--sv-green);
    border-top: 0;
    font-family: var(--font-body);
}

.storefront-footer::before {
    content: "";
    display: block;
    height: 1px;
    background: var(--sv-gold-soft);
    opacity: 0.55;
}

.storefront-footer .container {
    position: relative;
}

.storefront-footer .site-footer__heading {
    margin: 0 0 0.95rem;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: none;
    color: var(--sv-white);
}

.storefront-footer .site-footer__heading::after {
    content: "";
    display: block;
    width: 2.4rem;
    height: 1px;
    margin-top: 0.6rem;
    background: var(--sv-gold-soft);
}

.storefront-footer__lede {
    margin: 1rem 0 0;
    max-width: 18.5rem;
    color: rgba(255, 255, 255, 0.68);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.6;
}

.storefront-footer__marks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 1.2rem 0 0;
    color: var(--sv-gold-soft);
    font-family: var(--font-body);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.storefront-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    border: 1px solid rgba(214, 181, 106, 0.45);
    border-radius: 5px;
    color: var(--sv-gold-soft);
    transition: background 180ms var(--ease), border-color 180ms var(--ease), color 180ms var(--ease);
}

.storefront-footer__social a:hover,
.storefront-footer__social a:focus-visible {
    background: transparent;
    border-color: var(--sv-gold-soft);
    color: var(--sv-gold-soft);
}

.storefront-footer .nav a,
.storefront-footer .nav__soon {
    min-height: 0;
    padding: 0.28rem 0;
    color: rgba(255, 255, 255, 0.78);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: none;
}

.storefront-footer .nav a:hover,
.storefront-footer .nav a:focus-visible {
    color: var(--sv-gold-soft);
}

.storefront-footer__facts li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    color: rgba(255, 255, 255, 0.78);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.55;
}

.storefront-footer__fact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(214, 181, 106, 0.42);
    border-radius: 5px;
    color: var(--sv-gold-soft);
}

.storefront-footer__facts a:hover,
.storefront-footer__facts a:focus-visible {
    color: var(--sv-gold-soft);
}

.storefront-footer__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.85rem 1.5rem;
    margin-top: 0;
    padding: 1.15rem 0 0.35rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    background: transparent;
    color: rgba(255, 255, 255, 0.6);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 400;
    text-align: center;
}

.storefront-footer__main {
    display: grid;
    gap: 2rem;
    padding-top: 2.75rem;
    padding-bottom: 2rem;
}

.storefront-footer__brand .logo img {
    height: 2.5rem;
    max-width: min(16.5rem, 80vw);
}

.storefront-footer__social {
    display: flex;
    gap: 0.7rem;
    margin: 1.35rem 0 0;
    padding: 0;
    list-style: none;
}

.storefront-footer__social .icon {
    width: 0.95rem;
    height: 0.95rem;
}

.storefront-footer .nav {
    display: grid;
    gap: 0.08rem;
}

.storefront-footer__facts {
    display: grid;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.storefront-footer__fact-icon .icon {
    width: 0.95rem;
    height: 0.95rem;
}

.storefront-footer__facts a {
    color: inherit;
}

.storefront-footer__legal p {
    margin: 0;
}

.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.product-tile {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: transparent;
    border: 0;
}

.product-tile__media {
    overflow: hidden;
}

.product-tile__media img {
    transition: transform 220ms var(--ease);
}

.product-tile:hover .product-tile__media img,
.product-tile:focus-within .product-tile__media img {
    transform: scale(1.03);
}

.product-tile__body {
    padding: var(--space-4) 0 var(--space-2);
}

.product-tile__title {
    font-size: var(--text-lg);
}

.product-tile__stock {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-3);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.product-tile__stock-mark {
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    flex-shrink: 0;
    border-radius: var(--radius-full);
    background: var(--color-brand-green);
}

.product-tile--limited .product-tile__stock,
.product-detail__stock--limited {
    color: var(--color-text);
}

.product-tile--limited .product-tile__stock-mark,
.product-detail__stock--limited .product-tile__stock-mark {
    background: var(--color-brand-green);
}

.product-tile--oos .product-tile__stock,
.product-detail__stock--oos {
    color: var(--color-text);
}

.product-tile--oos .product-tile__stock-mark,
.product-detail__stock--oos .product-tile__stock-mark {
    background: var(--color-text-muted);
}

.product-tile--oos .product-tile__media img {
    filter: grayscale(0.35);
}

.product-tile__eyebrow {
    position: absolute;
    top: var(--space-3);
    left: var(--space-3);
    z-index: 1;
    margin: 0;
    padding: 0.2rem 0.5rem;
    background: var(--color-accent);
    color: var(--color-primary);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-tile__meta {
    margin: 0.2rem 0 0.35rem;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    line-height: 1.4;
}

.product-tile__cart {
    margin: 0.15rem 0 0;
    flex-shrink: 0;
}

.product-tile__cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.35rem;
    margin: 0;
    padding: 0.4rem 0.75rem;
    border: 1px solid color-mix(in srgb, var(--color-primary) 28%, var(--color-border));
    border-radius: 2px;
    background: transparent;
    color: var(--color-primary);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    cursor: pointer;
}

.product-tile__cart-btn:hover,
.product-tile__cart-btn:focus-visible {
    background: var(--color-primary);
    color: var(--color-on-primary);
    outline: none;
}

.catalogue-status {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin: 0 0 1rem;
}

.catalogue-status__count,
.catalogue-status__sort {
    margin: 0;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 0.875rem;
    line-height: 1.4;
}

.catalogue-status__sort {
    font-size: 0.8125rem;
}

.catalogue-empty {
    padding: 1.25rem 0 0.5rem;
}

.catalogue-empty__action {
    margin: 1rem 0 0;
}

.storefront-catalogue.catalogue-page {
    padding: 1.35rem 0 2.75rem;
}

.storefront-catalogue .page-header {
    margin-bottom: 1.1rem;
}

.storefront-catalogue .page-header .crumbs ol {
    margin-bottom: 0.65rem;
}

.storefront-catalogue .page-header__eyebrow {
    margin-bottom: 0.45rem;
}

.storefront-catalogue .page-title {
    margin-bottom: 0.45rem;
    font-size: clamp(1.75rem, 3vw, 2.05rem);
}

.storefront-catalogue .page-header__lede {
    max-width: 34rem;
    font-size: 0.9375rem;
    line-height: 1.55;
}

.storefront-catalogue .product-tile__media {
    aspect-ratio: 1 / 1.1;
    background: color-mix(in srgb, var(--sv-sand, #E8DDC8) 35%, var(--sv-ivory, #F7F2E8));
}

.storefront-catalogue .product-tile__media img {
    object-fit: contain;
    object-position: center;
    padding: 0.55rem;
}

.storefront-catalogue .product-tile__body {
    padding: 0.7rem 0 0.35rem;
}

.storefront-catalogue .product-tile__title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.3;
}

.storefront-catalogue .product-tile__body .price {
    margin-top: 0.35rem;
    font-size: 0.9rem;
    font-weight: 500;
}

.storefront-catalogue .product-tile__stock {
    margin-top: 0.4rem;
    font-size: 0.75rem;
}

.storefront-catalogue .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.storefront-catalogue .catalogue-toolbar .field__control,
.storefront-catalogue .catalogue-toolbar__search-input {
    background: color-mix(in srgb, var(--sv-white, #fff) 80%, var(--sv-ivory, #F7F2E8));
    border: 1px solid color-mix(in srgb, var(--sv-sand, #E8DDC8) 80%, transparent);
    box-shadow: none;
}

.storefront-catalogue .catalogue-toolbar__apply {
    background: var(--sv-green, #0B3D2E);
    border-color: var(--sv-green, #0B3D2E);
    color: var(--sv-white, #fff);
}

.storefront-catalogue .catalogue-toolbar__apply:hover,
.storefront-catalogue .catalogue-toolbar__apply:focus-visible {
    background: var(--sv-green-deep, #123F32);
    border-color: var(--sv-green-deep, #123F32);
    color: var(--sv-white, #fff);
}

@media (min-width: 768px) {
    .storefront-catalogue .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem;
    }

    .storefront-catalogue .catalogue-toolbar__search-input {
        min-height: 3.125rem;
    }

    .storefront-catalogue .catalogue-toolbar .field__control {
        min-height: 2.8rem;
    }
}

@media (min-width: 1024px) {
    .storefront-catalogue .product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.4rem;
    }
}

.storefront-collection-card {
    background: transparent;
    border: 0;
}

.storefront-collection-card .collection-card__media {
    overflow: hidden;
}

.storefront-collection-card img {
    transition: transform 220ms var(--ease);
}

.storefront-collection-card:hover img,
.storefront-collection-card:focus-within img {
    transform: scale(1.03);
}

.storefront-collection-card .collection-card__body {
    padding: var(--space-4) 0 0;
}

.storefront-collection-card .collection-card__action {
    color: var(--color-brand-green);
}

/* V3.0.6-R2 — Shop by Ritual homepage rail */
.storefront-ritual {
    padding-top: clamp(2.5rem, 5vw, 3.75rem);
    padding-bottom: clamp(2.5rem, 5vw, 3.75rem);
}

.storefront-ritual__head {
    display: grid;
    gap: 1.25rem;
    margin-bottom: 1.75rem;
}

.storefront-ritual__eyebrow {
    margin: 0 0 0.55rem;
    color: #667052;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.storefront-ritual__intro h2 {
    margin: 0 0 0.65rem;
    color: #292A24;
    font-family: var(--font-display, "Cormorant Garamond", serif);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 500;
    line-height: 1.15;
}

.storefront-ritual__intro p {
    margin: 0;
    max-width: 34rem;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 0.98rem;
    line-height: 1.55;
}

.storefront-ritual__all {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 44px;
    color: #0B3D2E;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
}

.storefront-ritual__all:hover,
.storefront-ritual__all:focus-visible {
    color: #123F32;
}

.storefront-ritual__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .storefront-ritual__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .storefront-ritual__head {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 2rem;
    }

    .storefront-ritual__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

.storefront-catalogue .collection-subnav {
    margin: 0 0 1.75rem;
    min-width: 0;
    max-width: 100%;
}

.storefront-catalogue .collection-subnav__label {
    margin: 0 0 0.75rem;
    color: var(--sv-olive, #667052);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.3;
    text-transform: uppercase;
}

.storefront-catalogue .collection-subnav__scroller {
    max-width: 100%;
}

.storefront-catalogue .collection-subnav__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.storefront-catalogue .collection-subnav__link {
    display: inline-flex;
    align-items: center;
    min-height: 2.625rem;
    padding: 0 1rem;
    border: 1px solid var(--sv-gold, #B8892D);
    border-radius: 2px;
    background: transparent;
    color: var(--sv-green, #0B3D2E);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}

.storefront-catalogue .collection-subnav__link:hover,
.storefront-catalogue .collection-subnav__link:focus-visible {
    border-color: #A87920;
    color: var(--sv-green, #0B3D2E);
    background: transparent;
}

.storefront-catalogue .collection-subnav__link.is-current {
    background: var(--sv-green, #0B3D2E);
    border-color: var(--sv-green, #0B3D2E);
    color: var(--sv-white, #FFFFFF);
}

@media (max-width: 47.99em) {
    .storefront-catalogue .collection-subnav__scroller {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 0.15rem;
    }

    .storefront-catalogue .collection-subnav__list {
        flex-wrap: nowrap;
        width: max-content;
        max-width: none;
    }
}

.storefront-filters {
    margin: 0 0 var(--space-4);
}

.catalogue-toolbar__filter-bar {
    display: grid;
    gap: 0.65rem;
}

.storefront-filters__toggle {
    min-height: 2.5rem;
    min-width: 2.5rem;
}

.storefront-filters__panel[hidden] {
    display: none;
}

@media (max-width: 767.98px) {
    .storefront-filters__toggle[aria-expanded="false"] + .storefront-filters__panel {
        display: none;
    }

    .storefront-filters__toggle {
        width: 100%;
        justify-content: center;
    }

    .catalogue-toolbar__controls {
        display: flex;
        flex-wrap: wrap;
        gap: 0.55rem;
        align-items: center;
    }

    .catalogue-toolbar__controls > .field__control {
        flex: 1 1 calc(50% - 0.35rem);
        max-width: none;
    }

    .catalogue-toolbar__prices {
        width: 100%;
    }

    .catalogue-toolbar__price-wrap {
        flex: 1 1 calc(50% - 0.35rem);
        max-width: none;
    }

    .catalogue-toolbar__apply {
        width: 100%;
    }
}

.storefront-filters__summary {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
    justify-content: space-between;
    margin: var(--space-3) 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.storefront-filters__summary a {
    color: var(--color-brand-green);
    font-weight: 500;
}

.storefront-qty {
    display: inline-flex;
    align-items: stretch;
    min-height: 2.75rem;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
}

.storefront-qty__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    min-height: 2.75rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-text);
    font-size: 1.125rem;
    line-height: 1;
    cursor: pointer;
}

.storefront-qty__input.field__control,
.storefront-qty__input {
    width: 3.25rem;
    min-width: 0;
    min-height: 2.75rem;
    padding: 0;
    border: 0;
    border-inline: 1px solid var(--color-border);
    border-radius: 0;
    text-align: center;
}

.storefront-product .product-detail__qty {
    min-width: 10rem;
    max-width: none;
}

.storefront-product .product-detail__stock {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.storefront-product .product-gallery__thumb {
    min-height: 2.75rem;
}

.storefront-product .product-gallery__thumb[aria-pressed="true"] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.storefront-related {
    margin-top: var(--space-8);
    padding-top: var(--space-7);
    border-top: 1px solid var(--color-border);
}

/* =========================================
   V3.0.3 PDP TYPOGRAPHY, CTA, RELATED
   ========================================= */

.storefront-product .product-detail__title {
    margin: 0 0 0.85rem;
    color: var(--sv-green, #0B3D2E);
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 28px;
    font-weight: 500;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.storefront-product .product-detail__copy .price {
    font-size: 18px;
    font-weight: 600;
}

.storefront-product .product-detail__copy .price__current {
    font-size: 18px;
    font-weight: 600;
}

.storefront-product .product-detail__copy .price__compare {
    font-size: 15px;
    font-weight: 400;
    text-decoration: line-through;
}

.storefront-product .product-detail__stock {
    margin: 0.65rem 0 0;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
}

.storefront-product .product-detail__cart {
    align-items: flex-end;
    gap: 0.75rem;
    margin-top: 1.15rem;
}

.storefront-product .product-detail__qty {
    min-width: 0;
    max-width: 100%;
}

.storefront-product .product-detail__qty .field__label {
    margin: 0 0 0.4rem;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-product .storefront-qty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 9.25rem;
    max-width: 100%;
    height: 44px;
    min-height: 44px;
    border: 1px solid #D8CDBA;
    border-radius: 2px;
    background: #FBF8F1;
    box-shadow: none;
}

.storefront-product .storefront-qty__btn {
    display: inline-flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #0B3D2E;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
    transform: none;
    transition: background-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

.storefront-product .storefront-qty__btn .icon {
    display: block;
    width: 14px;
    height: 14px;
}

.storefront-product .storefront-qty__btn:hover:not(:disabled) {
    background: #F1EBDD;
}

.storefront-product .storefront-qty__btn:active:not(:disabled) {
    background: #E8E0D0;
}

.storefront-product .storefront-qty__btn:disabled {
    opacity: 0.38;
    cursor: not-allowed;
    background: transparent;
}

.storefront-product .storefront-qty__btn:focus-visible {
    outline: 1px solid #B8892D;
    outline-offset: -3px;
}

.storefront-product .storefront-qty__input.field__control,
.storefront-product .storefront-qty__input {
    flex: 1 1 auto;
    width: 2.75rem;
    min-width: 2.5rem;
    max-width: 3.25rem;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    border-inline: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.storefront-product .storefront-qty__input::-webkit-outer-spin-button,
.storefront-product .storefront-qty__input::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}

.storefront-product .storefront-qty__input:hover:not(:disabled),
.storefront-product .storefront-qty__input:focus,
.storefront-product .storefront-qty__input:focus-visible {
    border: 0;
    border-inline: 0;
    background: transparent;
    box-shadow: none;
}

.storefront-product .storefront-qty__input:focus-visible {
    outline: 1px solid #B8892D;
    outline-offset: -3px;
}

@media (max-width: 360px) {
    .storefront-product .storefront-qty {
        width: 9.25rem;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .storefront-product .storefront-qty {
        width: 9.25rem;
        max-width: 100%;
    }
}

.storefront-product .product-detail__cart .btn {
    height: 42px;
    min-height: 42px;
    padding: 0 18px;
    border: none;
    border-radius: 2px;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: none;
    box-shadow: none;
    transform: none;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}

.storefront-product .product-detail__cart .btn--primary {
    background: #0B3D2E;
    border: none;
    color: #FFFFFF;
}

.storefront-product .product-detail__cart .btn--primary:hover,
.storefront-product .product-detail__cart .btn--primary:focus-visible,
.storefront-product .product-detail__cart .btn--primary:active {
    background: #123F32;
    border: none;
    color: #FFFFFF;
    box-shadow: none;
    transform: none;
}

.storefront-product .product-detail__meta {
    margin: 1.25rem 0 0;
}

.storefront-product .product-detail__meta dt {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
}

.storefront-product .product-detail__meta dd,
.storefront-product .product-detail__meta a {
    font-size: 16px;
    font-weight: 500;
}

.storefront-pdp-trust {
    display: grid;
    gap: 0.75rem;
    margin: 1.75rem 0 0;
    padding: 0;
    list-style: none;
}

.storefront-pdp-trust__item {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--sv-charcoal, #292A24);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}

.storefront-pdp-trust__icon {
    display: inline-flex;
    color: var(--sv-green, #0B3D2E);
}

.storefront-pdp-trust__icon .icon {
    width: 0.95rem;
    height: 0.95rem;
}

.storefront-product .storefront-related .section__head {
    margin-bottom: 1.25rem;
}

.storefront-product .storefront-related h2 {
    margin: 0;
    color: var(--sv-green, #0B3D2E);
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 26px;
    font-weight: 500;
    line-height: 1.15;
}

@media (min-width: 768px) {
    .storefront-product .product-detail__title {
        font-size: 36px;
        line-height: 1.12;
    }

    .storefront-product .storefront-related h2 {
        font-size: 32px;
    }

    .storefront-pdp-trust {
        grid-auto-flow: column;
        justify-content: start;
        gap: 1.5rem;
    }
}

.storefront-cart .cart-item__media {
    width: 7rem;
}

.storefront-cart .cart-item__qty {
    align-items: flex-end;
}

.storefront-cart .cart-item__qty .field__control {
    width: 3.25rem;
}

.storefront-cart .cart-item__notice {
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    background: var(--color-bg);
    color: var(--color-text);
}

.storefront-steps {
    margin: calc(var(--space-5) * -1) 0 var(--space-6);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    letter-spacing: 0.04em;
}

.storefront-checkout .checkout-address--selected {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 1px var(--color-primary);
}

.storefront-checkout .address-card__type,
.storefront-account .address-card__type {
    color: var(--color-brand-green);
}

.storefront-order .order-pay-status,
.storefront-order .order-fulfill-status,
.storefront-order .order-shipping-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    margin: 0 0 var(--space-3);
}

.storefront-care .care-prose {
    max-width: 38rem;
}

.storefront-legal .care-prose {
    max-width: 44rem;
    gap: var(--space-5);
}

.storefront-legal__effective {
    margin: 0 0 var(--space-5);
    color: var(--color-accent);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-legal__prose h2 {
    margin: var(--space-2) 0 0;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 500;
    color: var(--color-primary);
}

.storefront-legal__prose ul {
    margin: 0;
    padding-left: 1.15rem;
}

.storefront-legal__prose li {
    margin: 0 0 0.35rem;
}

.storefront-legal__types {
    display: grid;
    gap: var(--space-3);
}

.storefront-legal__type {
    padding: 1rem 1.1rem;
    border: 1px solid color-mix(in srgb, var(--color-accent) 28%, var(--color-border));
    background: var(--color-surface);
}

.storefront-legal__mark {
    margin: 0 0 0.35rem;
    color: var(--color-accent);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.storefront-legal__type h3 {
    margin: 0 0 0.4rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--color-primary);
}

.storefront-legal__type p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.storefront-legal__type ul {
    margin: 0.45rem 0 0;
    padding-left: 1.15rem;
}

.storefront-legal__type li {
    margin: 0 0 0.25rem;
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.storefront-legal__contact {
    padding: 1.15rem 1.2rem;
    border: 1px solid color-mix(in srgb, var(--color-accent) 28%, var(--color-border));
    background: var(--color-surface);
}

.storefront-legal__house {
    margin: 0 0 0.45rem;
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: var(--color-primary);
}

.storefront-legal__contact p {
    margin: 0 0 0.35rem;
}

.storefront-legal__contact p:last-child {
    margin-bottom: 0;
}

.storefront-legal__contact a {
    color: var(--color-primary);
}

.storefront-legal__contact a:hover,
.storefront-legal__contact a:focus-visible {
    color: var(--color-accent);
}

.storefront-legal__notice {
    padding: 1.15rem 1.2rem;
    border: 1px solid color-mix(in srgb, var(--color-accent) 28%, var(--color-border));
    background: color-mix(in srgb, var(--color-accent) 8%, var(--color-surface));
}

.storefront-legal__notice p {
    margin: 0 0 0.45rem;
}

.storefront-legal__notice p:last-child {
    margin-bottom: 0;
}

.storefront-legal__prose a {
    color: var(--color-primary);
}

.storefront-legal__prose a:hover,
.storefront-legal__prose a:focus-visible {
    color: var(--color-accent);
}

.storefront-legal__steps {
    display: grid;
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.storefront-legal__step {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1rem 1.1rem;
    border: 1px solid color-mix(in srgb, var(--color-accent) 28%, var(--color-border));
    background: var(--color-surface);
}

.storefront-legal__step-num {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--color-accent);
    color: var(--color-primary);
    font-size: 0.85rem;
    font-weight: 700;
}

.storefront-legal__step-label {
    padding-top: 0.2rem;
    font-family: var(--font-display);
    font-size: 1.05rem;
    color: var(--color-primary);
}

@media (min-width: 768px) {
    .storefront-legal__types {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
    }

    .storefront-legal__steps {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: stretch;
    }
}

.storefront-auth {
    width: 100%;
}

.header-cart__count {
    background: var(--color-primary);
    color: var(--color-on-primary);
}

@media (min-width: 480px) {
    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .storefront-hero__grid,
    .storefront-about__grid--photo {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-7);
    }

    .storefront-hero {
        padding: var(--space-8) 0;
    }

    .storefront-hero__visual {
        min-height: 28rem;
        max-height: 36rem;
    }

    .storefront-hero--photo .storefront-hero__visual img {
        max-height: 36rem;
        mask-image: linear-gradient(to right, transparent 0%, #000 22%);
    }

    .storefront-filters__toggle {
        display: none;
    }

    .storefront-filters__panel,
    .storefront-filters__panel[hidden] {
        display: flex !important;
    }

    .catalogue-toolbar__filter-bar {
        display: block;
    }

    .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .storefront-buybox {
        position: sticky;
        top: calc(var(--header-h) + 1.25rem);
    }

    .storefront-cart .cart-item {
        grid-template-columns: 7.5rem minmax(0, 1fr);
    }
}

@media (min-width: 1024px) {
    .product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--space-6);
    }

    .storefront-hero__copy h1 {
        font-size: clamp(2.8rem, 4vw, 4rem);
    }
}

@media (min-width: 1280px) {
    .storefront-hero .container,
    .storefront-section .container,
    .storefront-catalogue .container,
    .storefront-product .container,
    .storefront-cart .container,
    .storefront-checkout .container {
        max-width: 80rem;
    }

    .product-grid {
        gap: var(--space-6);
    }
}

@media (min-width: 1440px) {
    .product-grid {
        gap: var(--space-7);
    }

    .storefront-hero,
    .storefront-section {
        padding-block: var(--space-7);
    }
}

/* =========================================
   V3.0.1 STOREFRONT SHELL + HOME
   ========================================= */

.storefront-header,
.storefront-home,
.storefront-footer,
.storefront-about,
.storefront-catalogue,
.storefront-product {
    --sv-green: #0B3D2E;
    --sv-green-deep: #123F32;
    --sv-olive: #667052;
    --sv-gold: #B8892D;
    --sv-gold-soft: #D6B56A;
    --sv-ivory: #F7F2E8;
    --sv-cream: #FBF8F1;
    --sv-sand: #E8DDC8;
    --sv-charcoal: #292A24;
    --sv-muted: #6C6A61;
    --sv-white: #FFFFFF;
    --font-display: "Cormorant Garamond", Georgia, serif;
    --font-body: "DM Sans", Arial, sans-serif;
}

.storefront-header {
    --header-h: 5.25rem;
    background: var(--sv-cream);
    border-bottom: 1px solid var(--sv-sand);
}

.storefront-header .container,
.storefront-home .container,
.storefront-footer .container,
.storefront-hero .container {
    width: min(calc(100% - 2.25rem), 80rem);
}

.storefront-announce {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    min-height: 2.5625rem;
    padding: 0.45rem 1rem;
    background: var(--sv-green);
    color: var(--sv-white);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-align: center;
    text-transform: uppercase;
}

.storefront-announce a {
    color: inherit;
    text-decoration: none;
}

.storefront-announce a:hover {
    color: var(--sv-gold-soft);
}

.storefront-header .site-header__bar {
    min-height: var(--header-h);
    gap: var(--space-4);
    align-items: center;
}

.storefront-header .logo {
    display: inline-flex;
    align-items: center;
}

.storefront-header .header-search {
    display: block;
    position: relative;
}

.storefront-header .logo img {
    height: 2rem;
    max-width: min(10.5rem, 42vw);
}

.storefront-header .header-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.storefront-header .nav-desktop .nav a,
.storefront-header .nav-desktop .nav__soon,
.storefront-header .header-contact {
    display: inline-flex;
    align-items: center;
    min-height: 0;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    color: var(--sv-green);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: none;
    text-decoration: none;
    transition: color 180ms ease;
}

.storefront-header .nav-desktop .nav a:hover,
.storefront-header .nav-desktop .nav a:focus-visible,
.storefront-header .nav-desktop .nav a[aria-current="page"],
.storefront-header .header-contact:hover,
.storefront-header .header-contact:focus-visible,
.storefront-header .header-contact[aria-current="page"] {
    color: var(--sv-gold);
    background: none;
}

.storefront-header .nav-desktop .nav a::after {
    content: none;
}

.storefront-header .nav__soon em {
    display: none;
}

.storefront-header .header-contact {
    display: none;
}

.storefront-header .tool-btn {
    width: 1.5rem;
    min-width: 1.5rem;
    height: 2.75rem;
    border-radius: 0;
    background: transparent;
    color: var(--sv-green);
    transition: color 180ms ease;
}

.storefront-header .tool-btn:hover,
.storefront-header .tool-btn:focus-visible {
    background: transparent;
    color: var(--sv-gold);
}

.storefront-header .tool-btn .icon {
    width: 1.3125rem;
    height: 1.3125rem;
    stroke-width: 1.7;
}

.storefront-header .header-cart__count {
    top: 0.15rem;
    right: 0.05rem;
    min-width: 1rem;
    height: 1rem;
    line-height: 1rem;
    font-size: 0.6rem;
    background: var(--sv-gold);
    color: var(--sv-white);
}

.storefront-header .header-panel {
    border-radius: 0;
    box-shadow: var(--shadow-sm);
}

.storefront-nav-overlay {
    top: 0;
}

.storefront-header .site-header__bar,
.storefront-announce {
    position: relative;
    z-index: 31;
}

.storefront-header .header-panel__title {
    color: var(--sv-olive);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}

.mobile-nav__rule {
    margin: var(--space-4) 0;
    border: 0;
    border-top: 1px solid var(--sv-sand);
}

.storefront-header .mobile-nav__account {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.storefront-header .mobile-nav {
    background: var(--sv-cream);
    border-bottom-color: var(--sv-sand);
}

.storefront-header .mobile-nav__label {
    color: var(--sv-olive);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}

.storefront-header .mobile-nav .nav a,
.storefront-header .mobile-nav__help a {
    color: var(--sv-green);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: none;
    background: none;
    box-shadow: none;
    transition: color 180ms ease;
}

.storefront-header .mobile-nav .nav a:hover,
.storefront-header .mobile-nav .nav a:focus-visible,
.storefront-header .mobile-nav .nav a[aria-current="page"],
.storefront-header .mobile-nav__help a:hover,
.storefront-header .mobile-nav__help a:focus-visible,
.storefront-header .mobile-nav__help a[aria-current="page"] {
    color: var(--sv-gold);
    background: none;
    box-shadow: none;
}

.storefront-header .mobile-nav__help {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--sv-sand);
}

.storefront-home {
    color: var(--sv-charcoal);
    background: var(--sv-cream);
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
}

.storefront-home .section {
    padding: var(--space-6) 0;
}

.storefront-home .storefront-promise {
    padding-block: clamp(1.1rem, 3.5vh, 2.5rem);
}

.storefront-hero {
    --storefront-chrome: 8.1rem;
    --storefront-ivory: var(--sv-ivory);
    position: relative;
    overflow: hidden;
    padding: 0;
    min-height: 42.5rem; /* 680px — spacious mobile first viewport */
    background: var(--sv-ivory);
}

.storefront-hero__stage {
    position: relative;
    z-index: 1;
    display: grid;
    min-width: 0;
    min-height: 42.5rem;
}

.storefront-hero__board {
    position: relative;
    z-index: 2;
    padding-left: clamp(0.35rem, 3vw, 2rem);
}

.storefront-hero__copy {
    position: relative;
    z-index: 2;
    max-width: 35rem; /* ~560px */
    margin: 0;
    padding: var(--space-6) 0 var(--space-7);
    text-align: left;
}

.storefront-hero__eyebrow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.5rem;
    align-items: center;
    margin: 0 0 0.85rem;
    color: var(--sv-olive);
}

.storefront-hero__phrase {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
}

.storefront-hero__word {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0.16em;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--sv-olive);
    background: none;
    text-shadow: none;
}

.storefront-hero__sep {
    display: inline-block;
    width: 0.85rem;
    height: 1px;
    margin: 0 0.2rem 0.18em;
    border: 0;
    background: var(--sv-gold);
    box-shadow: none;
    transform: none;
}

.storefront-hero__mark {
    display: inline-flex;
    color: var(--sv-gold);
    opacity: 0.75;
    background: none;
    border: 0;
}

.storefront-hero__mark .icon {
    width: 0.85rem;
    height: 0.85rem;
    stroke-width: 1.35;
}

.storefront-hero__heading {
    position: relative;
    margin: 0 0 0.7rem;
}

.storefront-hero__copy h1 {
    max-width: 14ch;
    margin: 0;
    font-family: var(--font-display);
    font-size: 2.125rem;
    font-weight: 500;
    letter-spacing: -0.018em;
    line-height: 1.05;
    color: var(--sv-green);
}

.storefront-hero__title,
.storefront-hero__accent {
    display: block;
}

.storefront-hero__accent {
    color: var(--sv-gold);
}

.storefront-hero__copy p.storefront-hero__ornament {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    max-width: none;
    margin: 0 0 1.05rem;
    color: var(--sv-gold);
    opacity: 0.75;
}

.storefront-hero__ornament::before,
.storefront-hero__ornament::after {
    content: "";
    width: 1.85rem;
    height: 1px;
    background: currentColor;
}

.storefront-hero__ornament .icon {
    width: 1.1rem;
    height: 1.1rem;
    stroke-width: 1.35;
}

.storefront-hero__copy p.storefront-hero__lede {
    max-width: 34rem;
    margin: 0 0 1.45rem;
    color: var(--sv-muted);
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    text-wrap: pretty;
}

.storefront-hero__actions {
    justify-content: flex-start;
    gap: 0.85rem;
    margin-bottom: 1.85rem;
}

.storefront-home .storefront-hero__cta {
    flex: none;
    gap: 0;
    width: auto;
    min-width: 0;
    max-width: none;
    height: 42px;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 2px;
    font-family: "DM Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.07em;
    line-height: 1;
    text-transform: none;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: none;
    transform: none;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}

.storefront-home .storefront-hero__cta.btn--primary {
    background: #0B3D2E;
    border: none;
    color: #FFFFFF;
    box-shadow: none;
}

.storefront-home .storefront-hero__cta.btn--primary:hover,
.storefront-home .storefront-hero__cta.btn--primary:active {
    background: #123F32;
    border: none;
    color: #FFFFFF;
    transform: none;
    box-shadow: none;
}

.storefront-home .storefront-hero__cta--ghost {
    border: 1px solid #B8892D;
    background: transparent;
    color: #0B3D2E;
    box-shadow: none;
}

.storefront-home .storefront-hero__cta--ghost:hover {
    background: transparent;
    border-color: #A87920;
    color: #0B3D2E;
    box-shadow: none;
}

.storefront-hero__cta-icon {
    display: inline-flex;
    align-items: center;
    margin-left: 12px;
    font-size: 11px;
}

.storefront-hero__cta-icon .icon {
    width: 11px;
    height: 11px;
    stroke-width: 1.6;
}

.storefront-hero__notes {
    display: flex;
    flex-wrap: wrap;
    gap: 1.1rem 1.6rem;
    margin: 0;
    padding: 0.15rem 0 0;
    list-style: none;
    color: var(--sv-charcoal);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 400;
    letter-spacing: 0.01em;
}

.storefront-hero__notes li {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 5.75rem;
}

.storefront-hero__note-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid rgba(184, 137, 45, 0.45);
    border-radius: 50%;
    color: var(--sv-green);
    background: rgba(255, 255, 255, 0.35);
    box-shadow: none;
}

.storefront-hero__note-icon::after {
    content: "";
    position: absolute;
    bottom: -0.18rem;
    width: 0.32rem;
    height: 1px;
    background: var(--sv-gold);
}

.storefront-hero__note-icon .icon {
    width: 0.95rem;
    height: 0.95rem;
    stroke-width: 1.4;
}

.storefront-hero__visual {
    position: relative;
    order: -1;
    min-height: 0;
    max-height: 18rem;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.storefront-hero--photo .storefront-hero__visual,
.storefront-hero--video .storefront-hero__visual {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    order: 0;
    aspect-ratio: auto;
    min-height: 100%;
    max-height: none;
    background: transparent;
}

.storefront-hero--photo .storefront-hero__visual::after,
.storefront-hero--video .storefront-hero__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    /* Soft ivory fade for mobile: readable text without washing out the fire */
    background:
        linear-gradient(
            180deg,
            rgba(250, 247, 238, 0.96) 0%,
            rgba(250, 247, 238, 0.88) 28%,
            rgba(250, 247, 238, 0.45) 52%,
            rgba(250, 247, 238, 0.12) 72%,
            transparent 88%
        );
}

.storefront-hero__media {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: 65% center;
    display: block;
    filter: none;
}

.storefront-hero--photo .storefront-hero__visual img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: 65% center;
    mask-image: none;
    filter: none;
}

.storefront-hero--photo .storefront-hero__ritual {
    opacity: 0.22;
}

.storefront-hero--video .storefront-hero__ritual {
    opacity: 0.18;
}

.storefront-hero--photo .storefront-hero__verse,
.storefront-hero--video .storefront-hero__verse {
    opacity: 0.55;
}

.storefront-hero__ritual {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
}

.storefront-hero__agarbatti {
    position: absolute;
    left: 46.5%;
    top: 14%;
    width: 0.55rem;
    height: 8.5rem;
    background: linear-gradient(to top, rgba(255, 255, 255, 0.08), rgba(255, 245, 220, 0.38) 28%, rgba(255, 255, 255, 0.08) 100%);
    filter: blur(5px);
    border-radius: 999px;
    animation: storefront-hero-agarbatti 6.5s ease-in-out infinite;
}

.storefront-hero__agarbatti--mid {
    left: 48.2%;
    top: 12%;
    height: 9.2rem;
    animation-duration: 7.4s;
    animation-delay: -2.2s;
}

.storefront-hero__agarbatti--late {
    left: 44.8%;
    top: 16%;
    height: 7.4rem;
    animation-duration: 8s;
    animation-delay: -4s;
}

.storefront-hero__mist {
    position: absolute;
    right: 38%;
    top: 6%;
    z-index: 2;
    width: 3rem;
    height: 10rem;
    pointer-events: none;
    background: radial-gradient(closest-side, rgba(255, 255, 255, 0.42), transparent 72%);
    filter: blur(10px);
    animation: storefront-hero-mist 8s ease-in-out infinite;
}

.storefront-hero__mist--late {
    right: 33%;
    top: 11%;
    width: 2rem;
    height: 7.5rem;
    animation-duration: 11s;
    animation-delay: -4s;
}

.storefront-hero--fallback .storefront-hero__visual {
    background: var(--sv-ivory);
}

.storefront-hero__verse {
    display: none;
}

.storefront-hero__botanical {
    position: absolute;
    left: -1.25rem;
    bottom: -1.4rem;
    z-index: 1;
    color: var(--sv-olive);
    opacity: 0.14;
    pointer-events: none;
    transform: rotate(-16deg);
}

.storefront-hero__botanical .icon {
    width: 10.5rem;
    height: 10.5rem;
    stroke-width: 0.85;
}

.storefront-spiritual .collection-grid {
    max-width: 22rem;
}

.storefront-spiritual .collection-grid:has(:nth-child(2)) {
    max-width: none;
}

.storefront-editorial__grid,
.storefront-story__grid {
    max-width: 40rem;
}

.storefront-editorial__grid--photo,
.storefront-story__grid--photo {
    display: grid;
    gap: var(--space-5);
    max-width: none;
    align-items: center;
}

.storefront-close h2 {
    margin: 0 0 var(--space-3);
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1.1;
    color: var(--sv-green);
}

.storefront-editorial__copy p,
.storefront-story p {
    margin: 0 0 var(--space-4);
    color: var(--sv-muted);
    max-width: 36rem;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
}

.storefront-editorial__visual,
.storefront-story__visual {
    min-width: 0;
    overflow: hidden;
}

.storefront-editorial__visual img,
.storefront-story__visual img {
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 4;
    object-fit: cover;
}

.storefront-pillars .card {
    padding: var(--space-4);
}

.storefront-promise {
    --storefront-chrome: 8.1rem;
    padding-block: clamp(0.9rem, 3vh, 2.2rem);
    background: var(--sv-cream);
    border-block: 1px solid var(--sv-sand);
}

.storefront-promise .container {
    width: 100%;
}

.storefront-promise__head {
    max-width: 38rem;
    margin: 0 auto clamp(1rem, 3.2vh, 2rem);
    text-align: center;
}

.storefront-promise__mark {
    display: inline-flex;
    color: var(--sv-gold);
    margin-bottom: 0.35rem;
}

.storefront-promise__mark .icon {
    width: 1.45rem;
    height: 1.45rem;
}

.storefront-promise__head h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1.1;
    color: var(--sv-green);
}

.storefront-promise__head h2::after {
    content: "";
    display: block;
    width: 2.4rem;
    height: 1px;
    margin: 0.55rem auto 0;
    background: var(--sv-gold);
}

.storefront-promise__list {
    position: relative;
    display: grid;
    gap: clamp(0.55rem, 1.8vh, 1rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

.storefront-promise__list::before {
    content: "";
    position: absolute;
    left: 1.35rem;
    top: 1.1rem;
    bottom: 1.1rem;
    width: 2px;
    background-image: repeating-linear-gradient(
        180deg,
        var(--sv-gold) 0 7px,
        transparent 7px 13px
    );
    opacity: 0.72;
}

.storefront-promise__item {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 2.7rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: var(--space-4);
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
}

.storefront-promise__node {
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
}

.storefront-promise__index {
    color: var(--sv-gold);
    font-family: var(--font-display);
    font-size: 0.68rem;
    font-style: italic;
    letter-spacing: 0.16em;
    line-height: 1;
}

.storefront-promise__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    margin: 0;
    border: 1px solid rgba(184, 137, 45, 0.45);
    border-radius: 50%;
    color: var(--sv-green);
    background: rgba(255, 255, 255, 0.35);
    box-shadow:
        0 0 0 5px var(--sv-cream),
        0 0 0 6px rgba(184, 137, 45, 0.18);
}

.storefront-promise__item--here .storefront-promise__icon {
    width: 2.9rem;
    height: 2.9rem;
    border-color: var(--sv-gold);
    background: var(--sv-gold);
    color: var(--sv-white);
    box-shadow:
        0 0 0 5px var(--sv-cream),
        0 0 0 6px var(--sv-gold);
}

.storefront-promise__icon .icon {
    width: 1.12rem;
    height: 1.12rem;
}

.storefront-promise__item h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.08rem;
    font-weight: 500;
    color: var(--sv-green);
}

.storefront-promise__item p {
    display: none;
    margin: 0.15rem 0 0;
    color: var(--sv-muted);
    font-size: 0.8125rem;
    line-height: 1.6;
}

@media (max-width: 767.98px) {
    .storefront-promise,
    .storefront-home .storefront-promise {
        display: block;
        min-height: 0;
        height: auto;
        padding-block: 1.5rem;
    }

    .storefront-promise .container {
        width: min(calc(100% - 3rem), var(--container));
    }

    .storefront-promise__head {
        margin: 0 auto 0.9rem;
    }

    .storefront-promise__list {
        width: 100%;
        gap: 0;
        margin: 0;
        padding: 0;
    }

    .storefront-promise__list::before {
        left: 1.75rem;
        top: 2.75rem;
        bottom: 2.75rem;
        width: 2px;
    }

    .storefront-promise__item {
        grid-template-columns: 3.5rem minmax(0, 1fr);
        column-gap: 0.5rem;
        min-height: 5.5rem;
        align-items: center;
        padding: 0;
    }

    .storefront-promise__item:last-child {
        margin-bottom: 0;
    }

    .storefront-promise__node {
        justify-content: center;
    }
}

.storefront-home .storefront-pieces {
    padding-block: clamp(1.75rem, 5.5vh, 3.5rem);
    background: var(--sv-ivory);
    border-block: 1px solid var(--sv-sand);
}

.storefront-pieces__head {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.65rem;
}

.storefront-pieces__eyebrow {
    margin: 0 0 0.45rem;
    color: var(--sv-olive);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.storefront-pieces__intro h2 {
    margin: 0 0 0.55rem;
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1.1;
    color: var(--sv-green);
}

.storefront-pieces__intro p {
    margin: 0;
    max-width: 34rem;
    color: var(--sv-muted);
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
}

.storefront-pieces__all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: start;
    gap: 0.45rem;
    min-height: 2.75rem;
    padding: 0.7rem 1.25rem;
    border: none;
    border-radius: 3px;
    color: var(--sv-white);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    background: var(--sv-green);
    transition:
        color 180ms var(--ease),
        background-color 180ms var(--ease),
        border-color 180ms var(--ease),
        box-shadow 180ms var(--ease);
}

.storefront-pieces__all:hover,
.storefront-pieces__all:focus-visible {
    background: var(--sv-green-deep);
    border-color: var(--sv-green-deep);
    color: var(--sv-white);
    box-shadow: none;
}

.storefront-pieces__all .icon {
    width: 0.95rem;
    height: 0.95rem;
    transition: transform 180ms var(--ease);
}

.storefront-pieces__all:hover .icon,
.storefront-pieces__all:focus-visible .icon {
    transform: translateX(3px);
}

.storefront-pieces__grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(15.25rem, 16.75rem);
    gap: 1.15rem;
    overflow-x: auto;
    padding: 0.15rem 0.15rem 0.55rem;
    scroll-snap-type: x mandatory;
}

.storefront-pieces__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: var(--sv-cream);
    border: 1px solid var(--sv-sand);
    box-shadow: none;
    scroll-snap-align: start;
    transition:
        border-color 180ms var(--ease),
        box-shadow 180ms var(--ease),
        transform 180ms var(--ease);
}

.storefront-pieces__card:hover {
    border-color: var(--sv-gold);
    box-shadow: none;
    transform: translateY(-2px);
}

.storefront-pieces__media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: var(--sv-ivory);
}

.storefront-pieces__media img,
.storefront-pieces__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms var(--ease);
}

.storefront-pieces__placeholder {
    background: var(--sv-ivory);
}

.storefront-pieces__card:hover .storefront-pieces__media img {
    transform: scale(1.04);
}

.storefront-pieces__badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 1;
    padding: 0.25rem 0.5rem;
    background: var(--sv-green);
    color: var(--sv-white);
    font-family: var(--font-body);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    box-shadow: none;
}

.storefront-pieces__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.85rem 0.9rem 0.95rem;
}

.storefront-pieces__body h3 {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    font-family: var(--font-body);
    font-size: 1.0625rem;
    font-weight: 500;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.storefront-pieces__body h3 a {
    color: var(--sv-charcoal);
    text-decoration: none;
}

.storefront-pieces__body h3 a:hover,
.storefront-pieces__body h3 a:focus-visible {
    color: var(--sv-green);
}

.storefront-pieces__body .price {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    color: var(--sv-green);
}

.storefront-pieces__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin-top: auto;
}

.storefront-pieces__actions form {
    margin: 0;
}

.storefront-pieces__cart,
.storefront-pieces__buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 100%;
    min-width: 0;
    height: 42px;
    min-height: 42px;
    padding: 0 15px;
    border-radius: 2px;
    font-family: "DM Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: none;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none;
    transform: none;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}

.storefront-pieces__cart {
    border: 1px solid #B8892D;
    background: transparent;
    color: #0B3D2E;
}

.storefront-pieces__cart:hover,
.storefront-pieces__cart:focus-visible {
    background: transparent;
    border-color: #A87920;
    color: #0B3D2E;
    box-shadow: none;
    transform: none;
}

.storefront-pieces__buy {
    border: none;
    background: #0B3D2E;
    color: #FFFFFF;
}

.storefront-pieces__buy:hover,
.storefront-pieces__buy:focus-visible {
    background: #123F32;
    border-color: #123F32;
    color: #FFFFFF;
    box-shadow: none;
    transform: none;
}

.storefront-pieces__card--oos .storefront-pieces__actions {
    grid-template-columns: 1fr;
}

.storefront-pieces__card--oos .storefront-pieces__media img {
    filter: grayscale(0.28);
}

.storefront-trust {
    padding: 1.7rem 0;
    background: var(--sv-green);
    border-block: 1px solid var(--sv-green-deep);
}

.storefront-trust__list {
    display: grid;
    gap: 1.15rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.storefront-trust__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
    color: var(--sv-white);
    font-family: var(--font-body);
    text-align: center;
    text-decoration: none;
}

.storefront-trust__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.85rem;
    height: 2.85rem;
    border: 1px solid rgba(214, 181, 106, 0.55);
    border-radius: 50%;
    color: var(--sv-gold-soft);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: none;
    transition:
        color 180ms var(--ease),
        background-color 180ms var(--ease),
        border-color 180ms var(--ease);
}

.storefront-trust__icon .icon {
    width: 1.15rem;
    height: 1.15rem;
}

.storefront-trust__label {
    max-width: 11.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.01em;
}

a.storefront-trust__item:hover,
a.storefront-trust__item:focus-visible {
    color: var(--sv-gold-soft);
}

a.storefront-trust__item:hover .storefront-trust__icon,
a.storefront-trust__item:focus-visible .storefront-trust__icon {
    background: transparent;
    border-color: var(--sv-gold-soft);
    color: var(--sv-gold-soft);
}

.storefront-close {
    text-align: center;
}

.storefront-close__inner {
    max-width: 34rem;
    margin-inline: auto;
}

.storefront-close p {
    margin: 0 0 var(--space-4);
    color: var(--sv-muted);
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
}

.storefront-close .actions {
    justify-content: center;
}

.storefront-home .btn:not(.storefront-hero__cta) {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    min-height: 2.75rem;
    padding: 0.7rem 1.25rem;
    border-radius: 3px;
}

.storefront-home .btn--primary:not(.storefront-hero__cta) {
    background: var(--sv-green);
    color: var(--sv-white);
}

.storefront-home .btn--primary:not(.storefront-hero__cta):hover,
.storefront-home .btn--primary:not(.storefront-hero__cta):active {
    background: var(--sv-green-deep);
    color: var(--sv-white);
}

.storefront-footer .site-footer__contact p {
    margin: 0 0 var(--space-2);
    color: rgba(255, 255, 255, 0.78);
    max-width: 18rem;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.55;
}

.storefront-home .product-tile:hover .product-tile__media img,
.storefront-home .product-tile:focus-within .product-tile__media img,
.storefront-home .storefront-collection-card:hover img,
.storefront-home .storefront-collection-card:focus-within img {
    transform: scale(1.02);
}

@media (min-width: 480px) {
    .storefront-home .storefront-hero__copy h1 {
        font-size: 2.25rem;
    }

    .storefront-trust__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .storefront-footer__main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .storefront-footer__brand {
        grid-column: 1 / -1;
    }
}

@media (min-width: 768px) {
    .storefront-header .container,
    .storefront-home .container,
    .storefront-footer .container,
    .storefront-hero .container {
        width: min(calc(100% - 3.5rem), 80rem);
    }

    .storefront-header .nav-desktop,
    .storefront-header .header-account,
    .storefront-header .header-contact {
        display: none;
    }

    .storefront-header .menu-toggle {
        display: inline-flex;
    }

    .storefront-header .mobile-nav[hidden] {
        display: none;
    }

    .storefront-header .mobile-nav:not([hidden]) {
        display: block;
    }

    .storefront-home .section {
        padding: var(--space-7) 0;
    }

    .storefront-promise {
        display: flex;
        align-items: center;
        min-height: calc(100svh - var(--storefront-chrome));
    }

    .storefront-promise .container {
        width: min(calc(100% - 3.5rem), 80rem);
    }

    .storefront-promise__head {
        margin: 0 auto clamp(1rem, 3.2vh, 2rem);
    }

    .storefront-promise__item {
        min-height: 0;
    }

    .storefront-home .storefront-promise {
        padding-block: clamp(1rem, 3.4vh, 2.1rem);
    }

    .storefront-home .storefront-pieces {
        padding-block: clamp(1.75rem, 5vh, 3.5rem);
    }

    .storefront-pieces__head {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 1.5rem;
        margin-bottom: 1.85rem;
    }

    .storefront-pieces__all {
        align-self: center;
        margin: 0;
    }

    .storefront-pieces__grid {
        grid-auto-flow: unset;
        grid-auto-columns: unset;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible;
        padding-bottom: 0;
        scroll-snap-type: none;
    }

    .storefront-trust__list {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0;
    }

    .storefront-trust__list li {
        position: relative;
        padding-inline: 0.75rem;
    }

    .storefront-trust__list li:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 0.55rem;
        right: 0;
        width: 1px;
        height: 2.6rem;
        background: linear-gradient(180deg, transparent, var(--sv-gold-soft), transparent);
        opacity: 0.45;
    }

    .storefront-promise__list {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.4rem;
        align-items: start;
        padding-top: 0.35rem;
    }

    .storefront-promise__list::before {
        left: 10%;
        right: 10%;
        top: 1.55rem;
        bottom: auto;
        width: auto;
        height: 2px;
        background-image: repeating-linear-gradient(
            90deg,
            var(--sv-gold) 0 10px,
            transparent 10px 16px
        );
        opacity: 0.8;
    }

    .storefront-promise__item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 0 0.3rem;
    }

    .storefront-promise__item--here {
        transform: translateY(-0.55rem);
    }

    .storefront-promise__node {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 0.7rem;
        order: 0;
    }

    .storefront-promise__index {
        order: -1;
        margin: 0 0 0.4rem;
        font-size: 0.72rem;
    }

    .storefront-promise__icon {
        width: 3rem;
        height: 3rem;
    }

    .storefront-promise__item--here .storefront-promise__icon {
        width: 3.45rem;
        height: 3.45rem;
    }

    .storefront-promise__icon .icon {
        width: 1.22rem;
        height: 1.22rem;
    }

    .storefront-promise__item h3 {
        font-size: 1.05rem;
    }

    .storefront-promise__item p {
        display: block;
        max-width: 11.5rem;
    }

    .storefront-promise__head h2,
    .storefront-pieces__intro h2,
    .storefront-close h2 {
        font-size: 2rem;
    }

    .storefront-pieces__body h3 {
        font-size: 1.125rem;
    }

    .storefront-hero {
        padding: 0;
        height: auto;
        min-height: 38.75rem; /* 620px */
    }

    .storefront-hero__stage {
        height: auto;
        min-height: 38.75rem;
        align-items: stretch;
    }

    .storefront-hero__board {
        display: flex;
        align-items: center;
        height: 100%;
        min-height: 38.75rem;
        padding-block: clamp(1.75rem, 5vh, 3.75rem);
        padding-left: clamp(1.25rem, 5vw, 4.25rem);
        width: min(45%, 35rem);
        max-width: 35rem;
    }

    .storefront-hero__copy {
        order: 0;
        max-width: 35rem;
        padding: 0;
    }

    .storefront-hero__copy h1 {
        max-width: none;
        font-size: 2.75rem;
    }

    .storefront-hero__accent {
        white-space: nowrap;
    }

    .storefront-hero__lede {
        margin-bottom: 1.45rem;
        max-width: 28rem;
        font-size: 1rem;
    }

    .storefront-hero__actions {
        margin-bottom: 2rem;
    }

    .storefront-hero__notes {
        position: relative;
        gap: 0 1.85rem;
        flex-wrap: nowrap;
    }

    .storefront-hero__notes::before {
        content: "";
        position: absolute;
        left: 1.1rem;
        right: 1.1rem;
        top: 1.1rem;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(184, 137, 45, 0.28) 18%, rgba(184, 137, 45, 0.28) 82%, transparent);
    }

    .storefront-hero__notes li {
        position: relative;
        z-index: 1;
        min-width: 7rem;
    }

    .storefront-hero__visual,
    .storefront-hero--photo .storefront-hero__visual,
    .storefront-hero--video .storefront-hero__visual {
        order: 0;
        position: absolute;
        inset: 0;
        z-index: 0;
        aspect-ratio: auto;
        min-height: 100%;
        max-height: none;
    }

    .storefront-hero__visual::after,
    .storefront-hero--photo .storefront-hero__visual::after,
    .storefront-hero--video .storefront-hero__visual::after {
        content: "";
        position: absolute;
        inset: 0;
        height: auto;
        z-index: 1;
        /* Soft left ivory fade — keeps fire bright on the right (~55% visual) */
        background: linear-gradient(
            90deg,
            rgba(250, 247, 238, 0.98) 0%,
            rgba(250, 247, 238, 0.85) 28%,
            rgba(250, 247, 238, 0.25) 52%,
            rgba(250, 247, 238, 0) 72%
        );
        pointer-events: none;
    }

    .storefront-hero__verse {
        display: flex;
        flex-direction: column;
        align-items: center;
        position: absolute;
        right: 1.35rem;
        top: 50%;
        z-index: 2;
        margin: 0;
        transform: translateY(-50%);
        color: var(--sv-ivory);
        font-size: 0.62rem;
        font-weight: 500;
        letter-spacing: 0.22em;
        line-height: 1.15;
        text-align: center;
        text-transform: uppercase;
        gap: 0.42rem;
    }

    .storefront-hero__verse-rule {
        width: 1px;
        height: 1.55rem;
        margin: 0.15rem 0;
        background: var(--sv-gold);
        opacity: 0.7;
    }

    .storefront-hero--photo .storefront-hero__visual img,
    .storefront-hero__media {
        max-height: none;
        mask-image: none;
        object-position: center right;
    }

    .storefront-editorial__grid--photo,
    .storefront-story__grid--photo {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-7);
    }

    .storefront-trust__list {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: var(--space-4);
    }

    .storefront-header .logo img {
        height: 2.25rem;
        max-width: min(12.25rem, 44vw);
    }
}

@media (min-width: 1024px) {
    .storefront-header .container,
    .storefront-home .container,
    .storefront-footer .container,
    .storefront-hero .container {
        width: min(calc(100% - 5rem), 80rem);
    }

    .storefront-pieces__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .storefront-header .site-header__bar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        column-gap: 1.5rem;
    }

    .storefront-header .logo {
        justify-self: start;
    }

    .storefront-header .nav-desktop {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: none;
        justify-self: center;
    }

    .storefront-header .nav-desktop .nav {
        gap: 2rem;
    }

    .storefront-header .header-account,
    .storefront-header .header-contact {
        display: inline-flex;
        align-items: center;
    }

    .storefront-header .header-contact {
        margin-right: 1.25rem;
    }

    .storefront-header .header-tools {
        justify-self: end;
        gap: 1.25rem;
    }

    .storefront-header .menu-toggle,
    .storefront-header .mobile-nav,
    .storefront-header .mobile-nav:not([hidden]) {
        display: none;
    }

    .storefront-hero__copy h1 {
        max-width: none;
        font-size: 3.25rem;
    }

    .storefront-hero__lede {
        font-size: 1.0625rem;
    }

    .storefront-promise__head h2,
    .storefront-pieces__intro h2,
    .storefront-close h2 {
        font-size: 2.125rem;
    }

    .storefront-hero {
        height: auto;
        min-height: 40rem; /* ~640px within 620–700 */
    }

    .storefront-hero__stage {
        height: auto;
        min-height: 40rem;
    }

    .storefront-trust__list {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .storefront-footer__main {
        grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 0.88fr));
        gap: var(--space-6);
        align-items: start;
    }

    .storefront-footer__brand {
        grid-column: auto;
    }
}

@media (min-width: 1280px) {
    .storefront-header .container,
    .storefront-home .container,
    .storefront-footer .container,
    .storefront-hero .container {
        width: min(calc(100% - 6rem), 80rem);
        max-width: 80rem;
    }

    .storefront-hero__copy {
        max-width: 31rem;
    }

    .storefront-home .storefront-hero__copy h1 {
        font-size: 3.375rem;
    }

    .storefront-hero__lede {
        font-size: 1.0625rem;
    }
}

@keyframes storefront-hero-mist {
    0% { transform: translate3d(0, 12%, 0) scale(0.8); opacity: 0.12; }
    45% { transform: translate3d(-10%, -16%, 0) scale(1.15); opacity: 0.42; }
    100% { transform: translate3d(8%, -40%, 0) scale(1.35); opacity: 0.05; }
}

@keyframes storefront-hero-agarbatti {
    0% { transform: translate3d(0, 10%, 0) scaleX(0.8); opacity: 0.15; }
    40% { transform: translate3d(-18%, -12%, 0) scaleX(1.15); opacity: 0.55; }
    100% { transform: translate3d(14%, -38%, 0) scaleX(1.3); opacity: 0.05; }
}

/* =========================================
   V3.0.3-R1 PDP VISUAL UAT
   Header bar height is unchanged (5.25rem).
   Clearance accounts for announce + bar so the
   title cannot sit under the sticky header.
   ========================================= */

.storefront-product {
    --pdp-header-bar: 5.25rem;
    --pdp-announce: 2.5625rem;
    --pdp-header-clearance: calc(var(--pdp-header-bar) + var(--pdp-announce) + 0.75rem);
}

.storefront-product.catalogue-page {
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
}

.storefront-product .container,
.storefront-product .product-detail,
.storefront-product .product-detail__copy,
.storefront-product .product-detail__title {
    min-width: 0;
    max-width: 100%;
}

.storefront-product .product-detail__copy {
    overflow: visible;
}

.storefront-product .product-detail__title {
    display: block;
    overflow: visible;
    max-height: none;
    white-space: normal;
    text-overflow: unset;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    scroll-margin-top: var(--pdp-header-clearance);
}

.storefront-product .storefront-pdp-trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.35rem;
    margin: 1.35rem 0 0;
    padding-top: 1.15rem;
    border-top: 1px solid var(--sv-sand, var(--color-border));
    max-width: 100%;
}

.storefront-product .storefront-related {
    margin-top: 1.75rem;
    padding-top: 1.5rem;
}

html:has(.storefront-product) {
    scroll-padding-top: calc(5.25rem + 2.5625rem + 0.75rem);
}

@media (min-width: 768px) {
    /*
     * Desktop PDP: LEFT gallery sticks; RIGHT column scrolls normally.
     * Sticky must never be on .storefront-buybox / .product-detail__copy.
     */
    .storefront-product .product-gallery {
        position: sticky;
        top: var(--pdp-header-clearance);
        align-self: start;
        z-index: 1;
    }

    .storefront-product .storefront-buybox,
    .storefront-product .product-detail__copy {
        position: static;
        top: auto;
        z-index: auto;
    }

    .storefront-product .product-detail__copy {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-width: 0;
    }

    .storefront-pdp-trust,
    .storefront-product .storefront-pdp-trust {
        grid-auto-flow: unset;
        justify-content: start;
    }
}

@media (max-width: 767px) {
    .storefront-product .product-gallery {
        position: static;
        top: auto;
        z-index: auto;
    }
}

/* =========================================
   V3.0.3-R2 PREMIUM PDP VISUAL REFINEMENT
   ========================================= */

.storefront-product .container {
    width: min(calc(100% - 2.25rem), 80rem);
}

.storefront-product .product-gallery {
    gap: 0.75rem;
    justify-items: start;
}

.storefront-product .product-gallery__stage {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 22rem;
    max-height: min(22rem, 48vh);
    aspect-ratio: 4 / 5;
    padding: 1.1rem;
    overflow: hidden;
    background: #F3EEE3;
    border: 1px solid var(--sv-sand, #E8DDC8);
    border-radius: 4px;
}

.storefront-product .product-gallery__stage img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.storefront-product .product-gallery__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: #F3EEE3;
}

.storefront-product .product-gallery__thumbs {
    width: min(100%, 22rem);
    grid-template-columns: repeat(4, minmax(0, 4.5rem));
    gap: 0.5rem;
}

.storefront-product .product-gallery__thumb {
    overflow: hidden;
    background: #F3EEE3;
    border-radius: 2px;
}

.storefront-product .product-gallery__thumb img {
    object-fit: contain;
    background: #F3EEE3;
}

.storefront-product .storefront-featured-label {
    margin: 0 0 0.5rem;
    color: var(--sv-olive, #667052);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.16em;
    line-height: 1.2;
    text-transform: uppercase;
}

.storefront-product .product-detail__stock {
    margin: 0.5rem 0 0;
}

.storefront-product .product-detail__cart {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
    margin-top: 1.15rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--sv-sand, #E8DDC8);
}

.storefront-product .product-detail__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
    min-width: 0;
    max-width: 26rem;
}

.storefront-product .product-detail__action-form {
    margin: 0;
    min-width: 0;
}

.storefront-product .product-detail__actions .btn,
.storefront-product .product-detail__action-form .btn {
    width: 100%;
    min-width: 0;
}

.storefront-product .product-detail__cart .btn--secondary,
.storefront-product .product-detail__cart .btn--secondary:hover,
.storefront-product .product-detail__cart .btn--secondary:focus-visible,
.storefront-product .product-detail__cart .btn--secondary:active {
    background: transparent;
    border: 1px solid #B8892D;
    color: #0B3D2E;
    box-shadow: none;
    transform: none;
}

.storefront-product .product-detail__cart .btn--secondary:hover,
.storefront-product .product-detail__cart .btn--secondary:focus-visible,
.storefront-product .product-detail__cart .btn--secondary:active {
    border-color: #9A7224;
}

.storefront-product .product-detail__meta {
    margin: 1.15rem 0 0;
}

.storefront-product .storefront-pdp-trust {
    gap: 0.65rem 1.25rem;
    margin: 1.15rem 0 0;
    padding-top: 1.05rem;
}

.storefront-product .product-detail__description {
    margin-top: 1.35rem;
    padding-top: 1.15rem;
}

@media (min-width: 480px) {
    .storefront-product .product-detail__actions {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

@media (min-width: 768px) {
    .storefront-product .product-detail {
        grid-template-columns: minmax(15rem, 22rem) minmax(0, 1fr);
        justify-content: start;
        column-gap: 3.5rem;
        row-gap: 1.5rem;
        align-items: start;
    }

    .storefront-product .product-gallery__stage {
        max-width: 22rem;
        max-height: min(27.5rem, 56vh);
    }

    .storefront-product .product-gallery__thumbs {
        width: 100%;
        max-width: 22rem;
    }
}

@media (min-width: 1024px) {
    .storefront-product .product-detail {
        grid-template-columns: minmax(16rem, 26rem) minmax(0, 1fr);
        column-gap: 4.5rem;
    }

    .storefront-product .product-gallery__stage {
        max-width: 26rem;
        max-height: min(32.5rem, 56vh);
    }

    .storefront-product .product-gallery__thumbs {
        max-width: 26rem;
    }
}

/* =========================================
   V3.0.3-R3 NEW-USER PDP REFINEMENT
   ========================================= */

.storefront-product .crumbs ol {
    gap: 0.35rem 0.5rem;
    margin: 0 0 1rem;
    color: var(--sv-muted, #6C6A61);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}

.storefront-product .crumbs li:not(:last-child)::after {
    margin-left: 0.5rem;
}

.storefront-product .product-gallery__stage {
    width: 100%;
    max-width: 24rem;
    max-height: min(20rem, 42vh);
    padding: 0.75rem;
}

.storefront-product .product-gallery__stage img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.storefront-product .product-gallery__thumbs {
    display: grid;
    width: min(100%, 24rem);
    grid-template-columns: repeat(4, minmax(0, 4.25rem));
    gap: 0.4rem;
}

.storefront-product .product-gallery__thumb {
    aspect-ratio: 4 / 5;
    min-height: 0;
    padding: 0.2rem;
    border: 1px solid var(--sv-sand, #E8DDC8);
    border-radius: 2px;
    background: #F3EEE3;
    box-shadow: none;
    outline: none;
}

.storefront-product .product-gallery__thumb img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 5;
    object-fit: contain;
    background: #F3EEE3;
}

.storefront-product .product-gallery__thumb[aria-pressed="true"] {
    border: 2px solid #0B3D2E;
    outline: none;
}

.storefront-product .product-detail__title {
    max-width: 22rem;
}

.storefront-product .product-detail__lede {
    max-width: 36rem;
    margin: 0.85rem 0 0;
    color: var(--sv-charcoal, #292A24);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
}

.storefront-product .product-detail__cart {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}

.storefront-product .product-detail__actions {
    max-width: 24rem;
}

@media (max-width: 767px) {
    .storefront-product .product-detail__actions {
        grid-template-columns: 1fr;
    }
}

.storefront-product .product-detail__meta {
    margin: 1.5rem 0 0;
}

.storefront-product .storefront-pdp-trust {
    margin: 1.5rem 0 0;
    padding-top: 1.5rem;
}

.storefront-product .product-detail__story {
    display: grid;
    gap: 1.5rem;
    max-width: none;
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.storefront-product .product-detail__content {
    display: grid;
    gap: 2rem;
    max-width: 100%;
    width: 100%;
    margin: 1.75rem 0 0;
    padding-top: 1.5rem;
    border-top: 1px solid var(--sv-sand, #E8DDC8);
}

.storefront-product .product-detail__copy .product-detail__content {
    /* Keep AISEO blocks aligned with the buy-box column, not the gallery. */
    grid-column: auto;
}

.storefront-product .product-facts h2,
.storefront-product .product-faq h2 {
    margin: 0 0 0.85rem;
    color: var(--sv-green, #0B3D2E);
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
}

.storefront-product .product-facts__list {
    margin: 0;
    display: grid;
    gap: 0;
}

.storefront-product .product-facts__row {
    display: grid;
    grid-template-columns: minmax(6.5rem, 9rem) minmax(0, 1fr);
    gap: 0.75rem 1.25rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid rgba(184, 137, 45, 0.18);
}

.storefront-product .product-facts__row:last-child {
    border-bottom: 0;
}

.storefront-product .product-facts__row dt {
    margin: 0;
    color: var(--sv-olive, #5C6B5A);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.storefront-product .product-facts__row dd {
    margin: 0;
    color: var(--sv-charcoal, #292A24);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 0.9375rem;
    line-height: 1.45;
}

.storefront-product .product-facts__row a {
    color: var(--sv-green, #0B3D2E);
    text-decoration-color: rgba(11, 61, 46, 0.28);
}

.storefront-product .product-faq__list {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(184, 137, 45, 0.22);
}

.storefront-product .product-faq__item {
    border-bottom: 1px solid rgba(184, 137, 45, 0.22);
}

.storefront-product .product-faq__question {
    list-style: none;
    cursor: pointer;
    padding: 1rem 1.75rem 1rem 0;
    color: var(--sv-green, #0B3D2E);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    position: relative;
}

.storefront-product .product-faq__question::-webkit-details-marker {
    display: none;
}

.storefront-product .product-faq__question::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--sv-gold, #B8892D);
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
}

.storefront-product .product-faq__item[open] .product-faq__question::after {
    content: "–";
}

.storefront-product .product-faq__question:hover {
    color: var(--sv-primary-hover, #0F3525);
}

.storefront-product .product-faq__question:focus-visible {
    outline: 2px solid var(--sv-gold, #B8892D);
    outline-offset: 3px;
}

.storefront-product .product-faq__answer {
    padding: 0 0 1.15rem;
}

.storefront-product .product-faq__answer p {
    margin: 0 0 0.7rem;
    color: var(--sv-charcoal, #292A24);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 0.9375rem;
    line-height: 1.55;
}

.storefront-product .product-faq__answer p:last-child {
    margin-bottom: 0;
}

.admin-form__faqs {
    margin: 1.75rem 0 0;
    padding-top: 1.25rem;
    border-top: 1px solid var(--sv-sand, #E8DDC8);
    display: grid;
    gap: 1rem;
}

.admin-form__faqs-list {
    display: grid;
    gap: 1rem;
}

.admin-form__faqs-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
}

.admin-faq-row {
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--sv-sand, #E8DDC8);
    border-radius: 0.5rem;
    background: rgba(250, 247, 238, 0.55);
}

.admin-faq-row legend {
    padding: 0 0.35rem;
    color: var(--sv-green, #0B3D2E);
    font-weight: 600;
}

.admin-faq-row__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    align-items: end;
}

.admin-faq-row__active {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    margin: 0;
}

.admin-faq-row__remove {
    margin-left: auto;
}

.storefront-product .product-detail__block h2 {
    margin: 0 0 0.65rem;
    color: var(--sv-green, #0B3D2E);
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
}

.storefront-product .product-detail__block p {
    margin: 0 0 0.75rem;
    color: var(--sv-charcoal, #292A24);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
}

.storefront-product .product-detail__block p:last-child {
    margin-bottom: 0;
}

.storefront-product .product-detail__facts {
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--sv-charcoal, #292A24);
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
}

.storefront-product .product-detail__facts li {
    position: relative;
    padding-left: 1rem;
    margin: 0 0 0.4rem;
}

.storefront-product .product-detail__facts li:last-child {
    margin-bottom: 0;
}

.storefront-product .product-detail__facts li::before {
    content: "";
    position: absolute;
    top: 0.55em;
    left: 0;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 50%;
    background: var(--sv-green, #0B3D2E);
}

.storefront-product .storefront-related {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    padding-bottom: var(--space-7);
}

.storefront-product .storefront-related .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

@media (min-width: 768px) {
    .storefront-product .product-detail {
        grid-template-columns: minmax(16rem, 24rem) minmax(0, 1fr);
        column-gap: 3.5rem;
    }

    .storefront-product .product-gallery__stage {
        max-width: 24rem;
        max-height: min(30rem, 58vh);
        padding: 0.85rem;
    }

    .storefront-product .product-gallery__thumbs {
        width: 100%;
        max-width: 24rem;
    }

    .storefront-product .product-detail__title {
        max-width: 26rem;
    }

    .storefront-product .product-detail__block h2 {
        font-size: 28px;
    }

    .storefront-product .product-detail__actions {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .storefront-product .storefront-related .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem;
    }
}

@media (min-width: 1024px) {
    .storefront-product .product-detail {
        grid-template-columns: minmax(18rem, 26rem) minmax(0, 1fr);
        column-gap: 4rem;
    }

    .storefront-product .product-gallery__stage {
        max-width: 26rem;
        max-height: min(32.5rem, 58vh);
    }

    .storefront-product .product-gallery__thumbs {
        max-width: 26rem;
    }

    .storefront-product .storefront-related .product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .storefront-home .product-tile__media img,
    .storefront-pieces__media img,
    .storefront-pieces__card,
    .storefront-pieces__all .icon,
    .storefront-home .storefront-collection-card img,
    .storefront-header .nav-desktop .nav a::after,
    .storefront-hero__cta-icon {
        transition: none;
        transform: none;
    }

    .storefront-hero__media,
    .storefront-hero__mist,
    .storefront-hero__agarbatti {
        animation: none !important;
        transform: none;
    }
}

/* =========================================
   V2.6 ADMIN UX — ADMIN SHELL
   ========================================= */

.admin-page {
    --admin-header-h: 3.25rem;
    --admin-nav-width: 15rem;
    --container: 68rem;
    --header-h: 3.25rem;
    font-size: 14px;
    line-height: 1.5;
}

.admin-page .shell {
    min-width: 0;
}

.admin-app {
    min-width: 0;
}

.admin-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: var(--color-primary);
    color: var(--color-on-primary);
    border-bottom: 1px solid color-mix(in srgb, var(--color-on-primary) 14%, transparent);
}

.admin-header__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    min-width: 0;
    min-height: var(--admin-header-h);
    width: min(calc(100% - 2rem), 90rem);
    max-width: 100%;
    margin-inline: auto;
}

.admin-header__brand {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    min-width: 0;
    text-decoration: none;
    color: var(--color-on-primary);
}

.admin-header__brand img {
    display: block;
    width: auto;
    height: 1.55rem;
    max-width: min(7.5rem, 42vw);
    object-fit: contain;
}

.admin-header__identity {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
    line-height: 1.15;
}

.admin-header__house {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.admin-header__area {
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-accent-light);
}

.admin-header__brand:focus-visible,
.admin-menu-toggle:focus-visible {
    outline: 2px solid var(--color-accent-light);
    outline-offset: 2px;
}

.admin-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-on-primary);
    cursor: pointer;
}

.admin-menu-toggle:hover {
    background: color-mix(in srgb, var(--color-on-primary) 10%, transparent);
}

.admin-menu-toggle__close {
    display: none;
}

.admin-menu-toggle[aria-expanded="true"] .admin-menu-toggle__open {
    display: none;
}

.admin-menu-toggle[aria-expanded="true"] .admin-menu-toggle__close {
    display: block;
}

.admin-nav-overlay {
    position: fixed;
    inset: 0;
    top: var(--admin-header-h);
    z-index: 36;
    background: color-mix(in srgb, var(--color-text) 38%, transparent);
}

.admin-shell {
    display: grid;
    min-width: 0;
    flex: 1;
}

.admin-main {
    min-width: 0;
    max-width: 100%;
}

.admin-page .flash-stack {
    padding-top: var(--space-4);
}

.admin-nav {
    display: none;
    min-width: 0;
    background: var(--color-surface);
    border-right: 1px solid var(--color-border);
}

.admin-nav__brand {
    margin: 0 0 var(--space-4);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-accent);
}

.admin-nav__group + .admin-nav__group {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--color-border);
}

.admin-nav__heading {
    margin: 0 0 var(--space-2);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.admin-nav__list {
    display: grid;
    gap: 0.2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-nav a,
.admin-nav__logout-btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 2.75rem;
    padding: 0 0.75rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.admin-nav a:hover,
.admin-nav__logout-btn:hover {
    background: var(--color-bg);
    color: var(--color-primary);
}

.admin-nav a[aria-current="page"] {
    background: color-mix(in srgb, var(--color-primary) 9%, var(--color-surface));
    box-shadow: inset 3px 0 0 var(--color-accent);
    color: var(--color-primary);
    font-weight: 600;
}

.admin-nav a:focus-visible,
.admin-nav__logout-btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-nav__logout {
    margin-top: var(--space-2);
}

body.admin-nav-open {
    overflow: hidden;
}

body.admin-nav-open .admin-nav {
    display: block;
    position: fixed;
    top: var(--admin-header-h);
    left: 0;
    bottom: 0;
    z-index: 38;
    width: min(var(--admin-nav-width), calc(100vw - 2.75rem));
    padding: var(--space-4);
    overflow-x: hidden;
    overflow-y: auto;
    box-shadow: var(--shadow-md);
}

@media (min-width: 768px) {
    .admin-menu-toggle,
    .admin-nav-overlay {
        display: none;
    }

    .admin-shell {
        grid-template-columns: var(--admin-nav-width) minmax(0, 1fr);
        align-items: start;
    }

    .admin-nav,
    body.admin-nav-open .admin-nav {
        display: block;
        position: sticky;
        top: var(--admin-header-h);
        left: auto;
        bottom: auto;
        z-index: auto;
        width: var(--admin-nav-width);
        max-height: calc(100vh - var(--admin-header-h));
        padding: var(--space-5) var(--space-4) var(--space-6);
        overflow-x: hidden;
        overflow-y: auto;
        box-shadow: none;
    }

    body.admin-nav-open {
        overflow: auto;
    }

    .admin-main .container,
    .admin-main .container--narrow {
        width: min(calc(100% - 2.5rem), var(--container));
    }
}

@media (min-width: 1024px) {
    .admin-page {
        --admin-nav-width: 15.5rem;
        --container: 72rem;
    }
}

@media (min-width: 1280px) {
    .admin-page {
        --container: 74rem;
    }
}

/* V2.6.2 — Admin dashboard */
.admin-page .admin-dashboard {
    min-width: 0;
}

.admin-page .admin-dashboard__section {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
    margin-bottom: var(--space-6);
}

.admin-page .admin-dashboard__section:last-child {
    margin-bottom: 0;
}

.admin-page .admin-dashboard__section-head {
    display: grid;
    gap: var(--space-1);
    min-width: 0;
}

.admin-page .admin-dashboard__section-head h2 {
    margin: 0;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-primary);
}

.admin-page .admin-dashboard__section-head p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 13px;
}

.admin-page .admin-dashboard__section--queues .admin-dashboard__section-head h2 {
    color: var(--color-accent);
}

.admin-page .admin-dashboard__queues,
.admin-page .admin-dashboard__pair,
.admin-page .admin-dashboard__status-grid,
.admin-page .admin-dashboard__breakdowns {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
}

.admin-page .admin-dashboard__queue,
.admin-page .admin-dashboard__panel {
    min-width: 0;
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-dashboard__queue {
    border-left: 3px solid var(--color-accent);
    box-shadow: var(--shadow-sm);
}

.admin-page .admin-dashboard__queue-head {
    display: grid;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
}

.admin-page .admin-dashboard__queue-head h3,
.admin-page .admin-dashboard__panel h3 {
    margin: 0;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 600;
}

.admin-page .admin-dashboard__panel h4 {
    margin: 0 0 var(--space-2);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.admin-page .admin-dashboard__queue-head a,
.admin-page .admin-dashboard__queue-links,
.admin-page .admin-dashboard__links,
.admin-page .admin-dashboard__section-head a {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    font-size: 13px;
}

.admin-page .admin-dashboard__queue-head a,
.admin-page .admin-dashboard__links a,
.admin-page .admin-dashboard__section-head a,
.admin-page .admin-dashboard__empty a {
    min-height: 2.75rem;
    align-items: center;
}

.admin-page .admin-dashboard__value {
    margin: 0 0 var(--space-4);
    font-family: var(--font-body);
    font-size: 24px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.03em;
    color: var(--color-primary);
    overflow-wrap: anywhere;
}

.admin-page .admin-dashboard__value .price,
.admin-page .admin-dashboard__value .price__current {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.admin-page .admin-dashboard__note {
    margin: 0 0 var(--space-4);
    color: var(--color-text-muted);
    font-size: 13px;
}

.admin-page .admin-dashboard__empty {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 13px;
}

.admin-page .admin-dashboard__stats,
.admin-page .admin-dashboard__queue-list,
.admin-page .admin-dashboard__people {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-page .admin-dashboard__stats li,
.admin-page .admin-dashboard__queue-list li,
.admin-page .admin-dashboard__people li {
    display: grid;
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-2) 0;
    border-bottom: 1px solid var(--color-border);
    overflow-wrap: anywhere;
}

.admin-page .admin-dashboard__stats li {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    font-variant-numeric: tabular-nums;
}

.admin-page .admin-dashboard__stats li:last-child,
.admin-page .admin-dashboard__queue-list li:last-child,
.admin-page .admin-dashboard__people li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.admin-page .admin-dashboard__label {
    color: var(--color-text-muted);
    font-size: 13px;
}

.admin-page .admin-dashboard__queue-list li {
    align-items: start;
}

.admin-page .admin-dashboard__people li {
    padding: var(--space-3) 0;
}

.admin-page .admin-dashboard__people a,
.admin-page .admin-dashboard__queue-list a {
    overflow-wrap: anywhere;
}

.admin-page .admin-status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.admin-page .admin-status__mark {
    display: block;
    flex-shrink: 0;
    width: 0.55rem;
    height: 0.55rem;
    border: 1.5px solid currentColor;
    background: transparent;
}

.admin-page .admin-status--unpaid .admin-status__mark,
.admin-page .admin-status--placed .admin-status__mark,
.admin-page .admin-status--unshipped .admin-status__mark {
    border-radius: var(--radius-full);
}

.admin-page .admin-status--pending .admin-status__mark,
.admin-page .admin-status--packed .admin-status__mark,
.admin-page .admin-status--low .admin-status__mark {
    border-style: dashed;
}

.admin-page .admin-status--paid .admin-status__mark,
.admin-page .admin-status--fulfilled .admin-status__mark,
.admin-page .admin-status--shipped .admin-status__mark,
.admin-page .admin-status--delivered .admin-status__mark,
.admin-page .admin-status--in .admin-status__mark {
    border-radius: var(--radius-full);
    background: currentColor;
}

.admin-page .admin-status--failed .admin-status__mark,
.admin-page .admin-status--cancelled .admin-status__mark,
.admin-page .admin-status--out .admin-status__mark {
    transform: rotate(45deg);
}

.admin-page .admin-dashboard__table-wrap {
    min-width: 0;
    width: 100%;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-dashboard__table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: auto;
}

.admin-page .admin-dashboard__table th,
.admin-page .admin-dashboard__table td {
    padding: var(--space-3);
    text-align: left;
    vertical-align: top;
    overflow-wrap: break-word;
    word-break: normal;
}

.admin-page .admin-dashboard__table tbody th {
    font-weight: 600;
}

.admin-page .admin-dashboard__amount,
.admin-page .admin-dashboard__table .price,
.admin-page .admin-dashboard__table .price__current {
    display: inline-flex;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.admin-page .admin-dashboard__links {
    margin: var(--space-4) 0 0;
}

@media (min-width: 768px) {
    .admin-page .admin-dashboard__queues,
    .admin-page .admin-dashboard__pair,
    .admin-page .admin-dashboard__breakdowns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-page .admin-dashboard__status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-page .admin-dashboard__queue-list li,
    .admin-page .admin-dashboard__people li {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
        align-items: center;
    }

    .admin-page .admin-dashboard__queue-head {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
    }

    .admin-page .admin-dashboard__panel,
    .admin-page .admin-dashboard__queue {
        padding: var(--space-5);
    }

    .admin-page .admin-dashboard__section {
        margin-bottom: var(--space-7);
    }
}

@media (min-width: 1024px) {
    .admin-page .admin-dashboard__status-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .admin-page .admin-dashboard__queues {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-5);
    }

    .admin-page .admin-dashboard__pair {
        gap: var(--space-5);
    }

    .admin-page .admin-dashboard__value {
        font-size: 26px;
    }
}

/* V2.6.3 — Admin orders */
.admin-page .admin-orders {
    min-width: 0;
}

.admin-page .admin-orders-toolbar {
    display: grid;
    gap: var(--space-3);
    min-width: 0;
    margin-bottom: var(--space-5);
}

.admin-page .admin-orders-filters__toggle {
    justify-self: start;
    min-height: 2.75rem;
    min-width: 2.75rem;
    padding: 0.45rem 0.95rem;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-text);
    font: inherit;
    font-weight: 600;
}

.admin-page .admin-orders-filters__toggle:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-page .admin-orders-filters {
    min-width: 0;
}

.admin-page .admin-orders-filters__form {
    display: grid;
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-orders-filters__field,
.admin-page .admin-orders-filters__actions {
    display: grid;
    gap: var(--space-1);
    min-width: 0;
}

.admin-page .admin-orders-filters__label {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-page .admin-orders-filters__actions {
    align-content: end;
    gap: var(--space-2);
}

.admin-page .admin-orders-filters__clear {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    color: var(--color-brand-green);
    font-size: var(--text-sm);
    font-weight: 600;
}

.admin-page .admin-orders-filters__clear:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-page .admin-orders__empty {
    margin: 0;
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-orders__table-wrap {
    min-width: 0;
    width: 100%;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-orders__table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: auto;
}

.admin-page .admin-orders__table th,
.admin-page .admin-orders__table td {
    padding: var(--space-3);
    text-align: left;
    vertical-align: top;
    overflow-wrap: break-word;
    word-break: normal;
}

.admin-page .admin-orders__table tbody th {
    font-weight: 600;
}

.admin-page .admin-orders__item-summary {
    display: grid;
    gap: 0.1rem;
    margin-top: 0.35rem;
    max-width: 16rem;
    font-weight: 400;
    line-height: 1.35;
}

.admin-page .admin-orders__item-summary-product {
    display: -webkit-box;
    overflow: hidden;
    font-size: var(--text-sm);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.admin-page .admin-orders__item-summary-variants,
.admin-page .admin-orders__item-summary-more {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-page .admin-orders__table a:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-page .admin-orders__customer-name,
.admin-page .admin-orders__customer-email {
    display: block;
}

.admin-page .admin-orders__customer-email {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.admin-page .admin-orders__amount,
.admin-page .admin-orders__amount .price,
.admin-page .admin-orders__amount .price__current {
    display: inline-flex;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.admin-page .admin-orders .pagination {
    margin-top: var(--space-5);
}

.admin-page .admin-order-detail {
    display: grid;
    gap: var(--space-5);
    min-width: 0;
}

.admin-page .admin-order-status {
    display: grid;
    gap: var(--space-4);
    margin: 0;
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-order-status > div {
    display: grid;
    gap: var(--space-2);
    min-width: 0;
}

.admin-page .admin-order-status dt {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-page .admin-order-status dd {
    margin: 0;
}

.admin-page .admin-order-timeline {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding: var(--space-4);
    list-style: none;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.admin-page .admin-order-panel {
    min-width: 0;
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-order-panel h2 {
    margin: 0 0 var(--space-4);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.admin-page .admin-order-dl {
    display: grid;
    gap: var(--space-3);
    margin: 0;
}

.admin-page .admin-order-dl > div {
    display: grid;
    gap: var(--space-1);
    min-width: 0;
}

.admin-page .admin-order-dl dt {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-page .admin-order-dl dd {
    margin: 0;
    overflow-wrap: break-word;
}

.admin-page .admin-order-item__body,
.admin-page .admin-order-item__total {
    min-width: 0;
}

.admin-page .admin-order-actions {
    display: grid;
    gap: var(--space-5);
    min-width: 0;
}

.admin-page .admin-order-actions__group,
.admin-page .admin-order-actions__danger {
    display: grid;
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-order-actions__group h2,
.admin-page .admin-order-actions__danger h2 {
    margin: 0;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.admin-page .admin-order-actions__group form,
.admin-page .admin-order-actions__danger form {
    min-width: 0;
}

.admin-page .admin-order-actions__group .btn,
.admin-page .admin-order-actions__danger .btn {
    width: 100%;
}

.admin-page .admin-order-actions__danger {
    border-color: color-mix(in srgb, var(--color-danger) 35%, var(--color-border));
    background: color-mix(in srgb, var(--color-danger) 6%, var(--color-surface));
}

.admin-page .admin-order-actions__back {
    margin: 0;
}

@media (max-width: 767.98px) {
    .admin-page .admin-orders-filters__toggle[aria-expanded="false"] + .admin-orders-filters {
        display: none;
    }
}

@media (min-width: 768px) {
    .admin-page .admin-orders-filters__toggle {
        display: none;
    }

    .admin-page .admin-orders-filters {
        display: block;
    }

    .admin-page .admin-orders-filters__form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: end;
    }

    .admin-page .admin-orders-filters__actions {
        grid-column: 1 / -1;
        grid-template-columns: auto auto;
        justify-content: start;
        align-items: center;
    }

    .admin-page .admin-order-status {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-page .admin-order-dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-page .admin-order-item {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
    }

    .admin-page .admin-order-actions__group .btn,
    .admin-page .admin-order-actions__danger .btn {
        width: auto;
    }
}

@media (min-width: 1024px) {
    .admin-page .admin-orders-filters__form {
        grid-template-columns: minmax(12rem, 1.4fr) repeat(3, minmax(9rem, 1fr)) auto;
        gap: var(--space-3);
        padding: var(--space-3);
    }

    .admin-page .admin-orders-filters__actions {
        grid-column: auto;
        grid-template-columns: auto auto;
    }
}

/* V2.6.4 — Admin customers */
.admin-page .admin-customers {
    min-width: 0;
}

.admin-page .admin-customers-toolbar {
    display: grid;
    gap: var(--space-3);
    min-width: 0;
    margin-bottom: var(--space-5);
}

.admin-page .admin-customers-filters__toggle {
    justify-self: start;
    min-height: 2.75rem;
    min-width: 2.75rem;
    padding: 0.45rem 0.95rem;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-text);
    font: inherit;
    font-weight: 600;
}

.admin-page .admin-customers-filters {
    min-width: 0;
}

.admin-page .admin-customers-filters__form {
    display: grid;
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-customers-filters__field,
.admin-page .admin-customers-filters__actions {
    display: grid;
    gap: var(--space-1);
    min-width: 0;
}

.admin-page .admin-customers-filters__label {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-page .admin-customers-filters__actions {
    align-content: end;
    gap: var(--space-2);
}

.admin-page .admin-customers-filters__clear {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    color: var(--color-brand-green);
    font-size: var(--text-sm);
    font-weight: 600;
}

.admin-page .admin-customers__empty {
    margin: 0;
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-customers__table-wrap {
    min-width: 0;
    width: 100%;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-customers__table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: auto;
}

.admin-page .admin-customers__table th,
.admin-page .admin-customers__table td {
    padding: var(--space-3);
    text-align: left;
    vertical-align: top;
    overflow-wrap: break-word;
    word-break: normal;
}

.admin-page .admin-customers__table tbody th {
    font-weight: 600;
}

.admin-page .admin-customers__table a:focus-visible,
.admin-page .admin-customers-filters__toggle:focus-visible,
.admin-page .admin-customers-filters__clear:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.admin-page .admin-customers__name,
.admin-page .admin-customers__meta {
    display: block;
}

.admin-page .admin-customers__meta {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    font-weight: 400;
}

.admin-page .admin-customers__amount,
.admin-page .admin-customers__amount .price,
.admin-page .admin-customers__amount .price__current {
    display: inline-flex;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.admin-page .admin-customers .pagination {
    margin-top: var(--space-5);
}

.admin-page .admin-customer-detail {
    display: grid;
    gap: var(--space-5);
    min-width: 0;
}

.admin-page .admin-customer-panel {
    min-width: 0;
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-customer-panel h2 {
    margin: 0 0 var(--space-4);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.admin-page .admin-customer-panel__note {
    margin: 0 0 var(--space-4);
    color: var(--color-text-muted);
}

.admin-page .admin-customer-dl {
    display: grid;
    gap: var(--space-3);
    margin: 0;
}

.admin-page .admin-customer-dl > div {
    display: grid;
    gap: var(--space-1);
    min-width: 0;
}

.admin-page .admin-customer-dl dt {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-page .admin-customer-dl dd {
    margin: 0;
    overflow-wrap: break-word;
}

.admin-page .admin-customer-addresses {
    display: grid;
    gap: var(--space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-page .admin-customer-address {
    display: grid;
    gap: var(--space-2);
    min-width: 0;
}

.admin-page .admin-customer-address h3 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 600;
}

.admin-page .admin-customer-address p,
.admin-page .admin-customer-address address {
    margin: 0;
}

.admin-page .admin-customer-address address {
    display: grid;
    gap: var(--space-1);
    font-style: normal;
    color: var(--color-text-muted);
}

.admin-page .admin-customers__status .admin-status__mark {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: var(--radius-full);
    background: currentColor;
}

@media (max-width: 767.98px) {
    .admin-page .admin-customers-filters__toggle[aria-expanded="false"] + .admin-customers-filters {
        display: none;
    }
}

@media (min-width: 768px) {
    .admin-page .admin-customers-filters__toggle {
        display: none;
    }

    .admin-page .admin-customers-filters {
        display: block;
    }

    .admin-page .admin-customers-filters__form {
        grid-template-columns: minmax(12rem, 1.6fr) auto;
        align-items: end;
    }

    .admin-page .admin-customers-filters__actions {
        grid-template-columns: auto auto;
        justify-content: start;
        align-items: center;
    }

    .admin-page .admin-customer-dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-page .admin-customer-addresses {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .admin-page .admin-customer-dl--summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* V2.6 admin data tables — shared dashboard + orders + customers layout */
@media (max-width: 1023.98px) {
    .admin-page .admin-dashboard__table thead,
    .admin-page .admin-orders__table thead,
    .admin-page .admin-customers__table thead,
    .admin-page .admin-shipping__table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .admin-page .admin-dashboard__table,
    .admin-page .admin-dashboard__table tbody,
    .admin-page .admin-dashboard__table tr,
    .admin-page .admin-dashboard__table th,
    .admin-page .admin-dashboard__table td,
    .admin-page .admin-orders__table,
    .admin-page .admin-orders__table tbody,
    .admin-page .admin-orders__table tr,
    .admin-page .admin-orders__table th,
    .admin-page .admin-orders__table td,
    .admin-page .admin-customers__table,
    .admin-page .admin-customers__table tbody,
    .admin-page .admin-customers__table tr,
    .admin-page .admin-customers__table th,
    .admin-page .admin-customers__table td,
    .admin-page .admin-shipping__table,
    .admin-page .admin-shipping__table tbody,
    .admin-page .admin-shipping__table tr,
    .admin-page .admin-shipping__table th,
    .admin-page .admin-shipping__table td {
        display: block;
        width: 100%;
    }

    .admin-page .admin-dashboard__table tr,
    .admin-page .admin-orders__table tr,
    .admin-page .admin-customers__table tr,
    .admin-page .admin-shipping__table tr {
        padding: var(--space-4);
        border-bottom: 1px solid var(--color-border);
    }

    .admin-page .admin-dashboard__table tr:last-child,
    .admin-page .admin-orders__table tr:last-child,
    .admin-page .admin-customers__table tr:last-child,
    .admin-page .admin-shipping__table tr:last-child {
        border-bottom: 0;
    }

    .admin-page .admin-dashboard__table th,
    .admin-page .admin-dashboard__table td,
    .admin-page .admin-orders__table th,
    .admin-page .admin-orders__table td,
    .admin-page .admin-customers__table th,
    .admin-page .admin-customers__table td,
    .admin-page .admin-shipping__table th,
    .admin-page .admin-shipping__table td {
        display: grid;
        grid-template-columns: 7rem minmax(0, 1fr);
        gap: var(--space-3);
        padding: var(--space-2) 0;
        border: 0;
    }

    .admin-page .admin-dashboard__table th::before,
    .admin-page .admin-dashboard__table td::before,
    .admin-page .admin-orders__table th::before,
    .admin-page .admin-orders__table td::before,
    .admin-page .admin-customers__table th::before,
    .admin-page .admin-customers__table td::before,
    .admin-page .admin-shipping__table th::before,
    .admin-page .admin-shipping__table td::before {
        content: attr(data-label);
        color: var(--color-text-muted);
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.08em;
    }
}

@media (min-width: 1024px) {
    .admin-page .admin-dashboard__table-wrap,
    .admin-page .admin-orders__table-wrap,
    .admin-page .admin-customers__table-wrap,
    .admin-page .admin-shipping__table-wrap {
        overflow-x: auto;
    }

    .admin-page .admin-dashboard__table,
    .admin-page .admin-orders__table,
    .admin-page .admin-customers__table,
    .admin-page .admin-shipping__table {
        display: table;
        width: 100%;
        table-layout: auto;
        border-collapse: collapse;
    }

    .admin-page .admin-dashboard__table thead,
    .admin-page .admin-orders__table thead,
    .admin-page .admin-customers__table thead,
    .admin-page .admin-shipping__table thead {
        display: table-header-group;
        position: static;
        width: auto;
        height: auto;
        padding: 0;
        margin: 0;
        overflow: visible;
        clip: auto;
        white-space: normal;
        border: 0;
    }

    .admin-page .admin-dashboard__table tbody,
    .admin-page .admin-orders__table tbody,
    .admin-page .admin-customers__table tbody,
    .admin-page .admin-shipping__table tbody {
        display: table-row-group;
    }

    .admin-page .admin-dashboard__table tr,
    .admin-page .admin-orders__table tr,
    .admin-page .admin-customers__table tr,
    .admin-page .admin-shipping__table tr {
        display: table-row;
    }

    .admin-page .admin-dashboard__table th,
    .admin-page .admin-dashboard__table td,
    .admin-page .admin-orders__table th,
    .admin-page .admin-orders__table td,
    .admin-page .admin-customers__table th,
    .admin-page .admin-customers__table td,
    .admin-page .admin-shipping__table th,
    .admin-page .admin-shipping__table td {
        display: table-cell;
        width: auto;
        padding: var(--space-3);
        border-bottom: 1px solid var(--color-border);
        overflow-wrap: normal;
        word-break: normal;
        vertical-align: top;
        text-align: left;
    }

    .admin-page .admin-dashboard__table th::before,
    .admin-page .admin-dashboard__table td::before,
    .admin-page .admin-orders__table th::before,
    .admin-page .admin-orders__table td::before,
    .admin-page .admin-customers__table th::before,
    .admin-page .admin-customers__table td::before,
    .admin-page .admin-shipping__table th::before,
    .admin-page .admin-shipping__table td::before {
        content: none;
    }

    .admin-page .admin-dashboard__table thead th,
    .admin-page .admin-orders__table thead th,
    .admin-page .admin-customers__table thead th,
    .admin-page .admin-shipping__table thead th {
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--color-text-muted);
        border-bottom: 1px solid var(--color-border);
        white-space: nowrap;
    }

    .admin-page .admin-dashboard__table tbody tr:last-child th,
    .admin-page .admin-dashboard__table tbody tr:last-child td,
    .admin-page .admin-orders__table tbody tr:last-child th,
    .admin-page .admin-orders__table tbody tr:last-child td,
    .admin-page .admin-customers__table tbody tr:last-child th,
    .admin-page .admin-customers__table tbody tr:last-child td,
    .admin-page .admin-shipping__table tbody tr:last-child th,
    .admin-page .admin-shipping__table tbody tr:last-child td {
        border-bottom: 0;
    }

    .admin-page .admin-dashboard__col--order,
    .admin-page .admin-orders__col--order,
    .admin-page .admin-customers__col--order {
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }

    .admin-page .admin-dashboard__col--customer,
    .admin-page .admin-orders__col--customer,
    .admin-page .admin-customers__col--customer {
        overflow-wrap: break-word;
        word-break: normal;
    }

    .admin-page .admin-dashboard__col--total,
    .admin-page .admin-dashboard__col--payment,
    .admin-page .admin-dashboard__col--status,
    .admin-page .admin-dashboard__col--shipping,
    .admin-page .admin-dashboard__col--placed,
    .admin-page .admin-orders__col--total,
    .admin-page .admin-orders__col--payment,
    .admin-page .admin-orders__col--status,
    .admin-page .admin-orders__col--shipping,
    .admin-page .admin-orders__col--placed,
    .admin-page .admin-customers__col--orders,
    .admin-page .admin-customers__col--paid,
    .admin-page .admin-customers__col--last,
    .admin-page .admin-customers__col--registered,
    .admin-page .admin-customers__col--payment,
    .admin-page .admin-customers__col--status,
    .admin-page .admin-customers__col--shipping,
    .admin-page .admin-customers__col--placed {
        white-space: nowrap;
    }

    .admin-page .admin-dashboard__table a,
    .admin-page .admin-dashboard__when,
    .admin-page .admin-orders__table a,
    .admin-page .admin-orders__when,
    .admin-page .admin-customers__col--order a,
    .admin-page .admin-customers__when {
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }

    .admin-page .admin-dashboard__table .admin-status,
    .admin-page .admin-dashboard__table .badge,
    .admin-page .admin-orders__table .admin-status,
    .admin-page .admin-orders__table .badge,
    .admin-page .admin-customers__table .admin-status,
    .admin-page .admin-customers__table .badge {
        white-space: nowrap;
    }
}

/* V2.7 — Admin shipping */
.admin-page .admin-shipping {
    min-width: 0;
}

.admin-page .admin-shipping-panel {
    min-width: 0;
    margin-bottom: var(--space-5);
    padding: var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.admin-page .admin-shipping-panel h2 {
    margin: 0 0 var(--space-4);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.admin-page .admin-shipping-settings__grid {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
}

.admin-page .admin-shipping-settings__actions {
    margin-top: var(--space-4);
}

.admin-page .admin-shipping-settings__actions .btn,
.admin-page .admin-shipping-row__actions .btn {
    min-height: 2.75rem;
}

.admin-page .admin-shipping__empty,
.admin-page .admin-shipping__form-error {
    margin: 0;
}

.admin-page .admin-shipping__form-error {
    margin-top: var(--space-3);
    color: var(--color-danger);
}

.admin-page .admin-shipping__table-wrap {
    min-width: 0;
    width: 100%;
}

.admin-page .admin-shipping__table .field__control {
    width: 100%;
    min-width: 0;
    min-height: 2.75rem;
}

@media (min-width: 1024px) {
    .admin-page .admin-shipping__table select[name="active"] {
        min-width: 5.75rem;
        width: auto;
    }
}

.admin-page .admin-shipping-row__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    align-items: center;
}

.storefront-checkout .cart-summary__row {
    align-items: flex-start;
}

.storefront-checkout .cart-summary__row > span:last-child {
    max-width: 70%;
    text-align: right;
    overflow-wrap: break-word;
}

.storefront-checkout .cart-summary__row .price,
.storefront-checkout .cart-summary__row .price__current {
    max-width: none;
    overflow-wrap: normal;
    white-space: nowrap;
    flex-wrap: nowrap;
}

@media (min-width: 768px) {
    .admin-page .admin-shipping-settings__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================
   V2.6-R2 — ADMIN TYPOGRAPHY
   ========================================= */

.admin-page .page-title {
    font-size: 22px;
    line-height: 1.2;
}

.admin-page .page-header__lede,
.admin-page .crumbs ol {
    font-size: 13px;
}

.admin-page thead th {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
}

.admin-page tbody td,
.admin-page tbody th {
    font-size: 14px;
    font-weight: 400;
}

.admin-page .admin-row-actions a,
.admin-page .admin-row-actions .btn {
    font-size: 13px;
    font-weight: 500;
}

.admin-page .badge {
    font-size: 11px;
    font-weight: 600;
}

.admin-page .btn {
    font-size: 13px;
    font-weight: 600;
}

.admin-page .admin-toolbar__filters .field__control::placeholder,
.admin-page .field__control::placeholder {
    font-size: 13px;
}

.admin-page .field__label,
.admin-page .admin-orders-filters__label,
.admin-page .admin-customers-filters__label {
    font-size: 13px;
    font-weight: 600;
}

.admin-page .field__control,
.admin-page .admin-shipping__table .field__control {
    font-size: 14px;
}

.admin-page .field__hint {
    font-size: 12px;
}

.admin-page .admin-customer-card__name,
.admin-page .admin-order-item h3 {
    font-size: 17px;
}

.admin-page .admin-product-card__meta dt,
.admin-page .admin-order-card__meta dt,
.admin-page .admin-customer-card__meta dt,
.admin-page .admin-inventory-card__meta dt,
.admin-page .account-dl dt {
    font-size: 13px;
}

.admin-page .account-dl dd {
    font-size: 14px;
}

.admin-page .admin-categories td {
    font-size: 13px;
    font-weight: 400;
}

.admin-page .admin-categories td:first-child,
.admin-page .admin-categories .admin-category-parent,
.admin-page .admin-categories .admin-category-child {
    font-size: 14px;
}

.admin-page .admin-categories code {
    font-size: 13px;
}

@media (min-width: 768px) {
    .admin-page .page-title {
        font-size: 24px;
    }
}

/* =========================================
   V3.0.4 OUR STORY / ABOUT
   ========================================= */

.storefront-about {
    color: var(--sv-charcoal);
    background: var(--sv-cream);
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.7;
}

.storefront-about h1,
.storefront-about h2,
.storefront-about h3,
.storefront-about .storefront-about__quote,
.storefront-about .storefront-about__vision-text {
    font-family: var(--font-display);
    font-weight: 500;
}

.storefront-about h1 {
    margin: 0 0 1rem;
    color: var(--sv-green);
    font-size: 2.25rem;
    line-height: 1.08;
    letter-spacing: -0.02em;
}

.storefront-about h2 {
    margin: 0 0 0.85rem;
    color: var(--sv-green);
    font-size: 1.75rem;
    line-height: 1.15;
}

.storefront-about h3 {
    margin: 0 0 0.45rem;
    color: var(--sv-green);
    font-size: 1.25rem;
    line-height: 1.25;
}

.storefront-about p {
    margin: 0 0 1rem;
    color: var(--sv-charcoal);
}

.storefront-about__eyebrow,
.storefront-about h2.storefront-about__eyebrow-heading,
.storefront-about__label {
    margin: 0 0 0.75rem;
    color: var(--sv-olive);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.storefront-about__label {
    color: var(--sv-gold);
}

.storefront-about__lede {
    max-width: 34rem;
    color: var(--sv-muted);
}

.storefront-about__hero {
    position: relative;
    overflow: hidden;
    background: var(--sv-ivory);
}

.storefront-about__hero-board {
    position: relative;
    z-index: 2;
    padding-block: 3.25rem 3.5rem;
}

.storefront-about__hero-copy {
    max-width: 32rem;
}

.storefront-about__hero-visual {
    position: relative;
    min-height: 14rem;
}

.storefront-about__hero-visual img {
    width: 100%;
    height: 16rem;
    object-fit: cover;
    object-position: 70% 50%;
}

.storefront-about__hero--photo .storefront-about__hero-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, var(--sv-ivory) 0%, rgba(247, 242, 232, 0.2) 40%, transparent 100%);
}

.storefront-about__section {
    padding-block: 3rem;
}

.storefront-about__narrow {
    max-width: 40rem;
}

.storefront-about__intro {
    max-width: 38rem;
    margin-bottom: 1.75rem;
}

.storefront-about__intro p,
.storefront-about__story p,
.storefront-about__more-copy p,
.storefront-about__place p {
    color: var(--sv-muted);
}

.storefront-about__quote {
    position: relative;
    margin: 0 0 1.75rem;
    padding: 0.35rem 0 0.35rem 1.15rem;
    border-left: 1px solid var(--sv-gold);
}

.storefront-about__quote p {
    margin: 0;
    color: var(--sv-green);
    font-size: 1.5rem;
    font-style: italic;
    line-height: 1.25;
}

.storefront-about__rule {
    display: block;
    width: 2.4rem;
    height: 1px;
    margin-top: 0.5rem;
    background: var(--sv-gold);
}

.storefront-about__why,
.storefront-about__look,
.storefront-about__believe {
    background: var(--sv-ivory);
    border-block: 1px solid var(--sv-sand);
}

.storefront-about__pillars,
.storefront-about__steps,
.storefront-about__values,
.storefront-about__principles,
.storefront-about__badges {
    margin: 0;
    padding: 0;
    list-style: none;
}

.storefront-about__pillars {
    display: grid;
    gap: 1.25rem;
}

.storefront-about__pillars li {
    padding: 1.25rem 0 0;
    border-top: 1px solid var(--sv-sand);
    background: transparent;
}

.storefront-about__pillar-icon {
    display: inline-flex;
    color: var(--sv-gold);
    margin-bottom: 0.65rem;
}

.storefront-about__pillar-icon .icon {
    width: 1.35rem;
    height: 1.35rem;
}

.storefront-about__pillars p,
.storefront-about__steps p,
.storefront-about__values p {
    margin: 0;
    color: var(--sv-muted);
}

.storefront-about__steps {
    display: grid;
    gap: 1.5rem;
    position: relative;
}

.storefront-about__steps::before {
    content: "";
    position: absolute;
    left: 0.85rem;
    top: 0.5rem;
    bottom: 0.5rem;
    width: 1px;
    background: var(--sv-gold);
    opacity: 0.55;
}

.storefront-about__steps li {
    position: relative;
    z-index: 1;
    padding-left: 3.25rem;
}

.storefront-about__step-num {
    position: absolute;
    left: 0;
    top: 0;
    color: var(--sv-gold);
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1;
    background: var(--sv-cream);
}

.storefront-about__more-grid {
    display: grid;
    gap: 1.25rem;
}

.storefront-about__more-copy {
    padding-left: 1rem;
    border-left: 1px solid var(--sv-gold);
}

.storefront-about__values {
    display: grid;
    gap: 1.35rem;
}

.storefront-about__check {
    display: block;
    margin-bottom: 0.4rem;
    color: var(--sv-gold);
    font-size: 1.05rem;
    line-height: 1;
}

.storefront-about__feature-grid {
    display: grid;
    gap: 1.75rem;
}

.storefront-about__feature-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 14rem;
    background: var(--sv-ivory);
    border: 1px solid var(--sv-sand);
}

.storefront-about__feature-visual img {
    width: 100%;
    height: 100%;
    max-height: 26rem;
    object-fit: cover;
}

.storefront-about__feature-mark {
    margin: 0;
    padding: 1.5rem;
    max-width: 12rem;
    color: var(--sv-olive);
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
}

.storefront-about__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1.25rem 0 0;
}

.storefront-about__badges li {
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--sv-sand);
    color: var(--sv-olive);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
}

.storefront-about__btn {
    margin-top: 1.25rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    min-height: 2.75rem;
    background: var(--sv-green);
    color: var(--sv-white);
}

.storefront-about__principles {
    display: grid;
    gap: 1.15rem;
}

.storefront-about__principles li {
    padding-left: 1rem;
    border-left: 1px solid var(--sv-gold);
}

.storefront-about__principles h3 {
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 600;
}

.storefront-about__principles p {
    margin: 0;
    color: var(--sv-muted);
}

.storefront-about__place {
    background: var(--sv-ivory);
}

.storefront-about__vision-text {
    margin: 0;
    color: var(--sv-green);
    font-size: 1.5rem;
    line-height: 1.3;
}

.storefront-about__cta {
    padding-block: 3.25rem;
    background: var(--sv-green);
    color: var(--sv-white);
}

.storefront-about__cta-inner {
    max-width: 38rem;
    text-align: center;
    margin-inline: auto;
}

.storefront-about__cta h2 {
    color: var(--sv-white);
}

.storefront-about__cta p {
    color: rgba(255, 255, 255, 0.78);
}

.storefront-about__cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.storefront-about__cta-primary,
.storefront-about__cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.6rem 1.25rem;
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
}

.storefront-about__cta-primary {
    background: var(--sv-white);
    color: var(--sv-green);
}

.storefront-about__cta-primary:hover,
.storefront-about__cta-primary:focus-visible {
    background: var(--sv-ivory);
    color: var(--sv-green);
}

.storefront-about__cta-secondary {
    border: 1px solid var(--sv-gold-soft);
    background: transparent;
    color: var(--sv-white);
}

.storefront-about__cta-secondary:hover,
.storefront-about__cta-secondary:focus-visible {
    background: rgba(255, 255, 255, 0.06);
    color: var(--sv-white);
}

@media (min-width: 480px) {
    .storefront-about__values {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem 1.25rem;
    }

    .storefront-about__hero-visual img {
        height: 18rem;
    }
}

@media (min-width: 768px) {
    .storefront-about h1 {
        font-size: 3.25rem;
    }

    .storefront-about h2 {
        font-size: 2.25rem;
    }

    .storefront-about h2.storefront-about__eyebrow-heading {
        font-size: 0.8125rem;
    }

    .storefront-about__quote p {
        font-size: 2rem;
    }

    .storefront-about__vision-text {
        font-size: 2rem;
    }

    .storefront-about__section {
        padding-block: 3.75rem;
    }

    .storefront-about__hero-board {
        padding-block: 4.25rem 4.5rem;
    }

    .storefront-about__hero--photo .storefront-about__hero-board {
        min-height: 22rem;
        display: flex;
        align-items: center;
    }

    .storefront-about__hero--photo .storefront-about__hero-visual {
        position: absolute;
        inset: 0;
        z-index: 0;
    }

    .storefront-about__hero--photo .storefront-about__hero-visual img {
        height: 100%;
    }

    .storefront-about__hero--photo .storefront-about__hero-visual::after {
        background: linear-gradient(90deg, var(--sv-ivory) 0%, rgba(247, 242, 232, 0.88) 38%, rgba(247, 242, 232, 0.28) 68%, transparent 100%);
    }

    .storefront-about__pillars {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 2rem;
    }

    .storefront-about__pillars li {
        padding: 0;
        border-top: 0;
    }

    .storefront-about__steps {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.25rem;
    }

    .storefront-about__steps::before {
        left: 8%;
        right: 8%;
        top: 0.65rem;
        bottom: auto;
        width: auto;
        height: 1px;
    }

    .storefront-about__steps li {
        padding-left: 0;
        padding-top: 2.1rem;
    }

    .storefront-about__step-num {
        font-size: 1.75rem;
        background: transparent;
    }

    .storefront-about__more-grid {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 2.5rem;
        align-items: start;
    }

    .storefront-about__feature-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
        gap: 2.5rem;
        align-items: center;
    }

    .storefront-about__principles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.35rem 2rem;
    }
}

@media (min-width: 1024px) {
    .storefront-about h1 {
        font-size: 3.5rem;
    }

    .storefront-about__quote p {
        font-size: 2.15rem;
    }

    .storefront-about__values {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .storefront-about__principles {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .storefront-about .container {
        max-width: 76rem;
    }
}

@media (max-width: 479.98px) {
    .storefront-about__cta-actions {
        flex-direction: column;
    }

    .storefront-about__cta-primary,
    .storefront-about__cta-secondary {
        width: 100%;
    }
}

/* =========================================
   V3.0.3-R5 PRODUCT EXPERIENCE
   ========================================= */

.storefront-product .product-gallery {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.storefront-product .product-gallery__frame {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 24rem;
}

.storefront-product .product-gallery__viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    max-height: min(20rem, 42vh);
    background: #F4EEE2;
    border: 1px solid #E8DDC8;
    border-radius: 4px;
    touch-action: pan-y;
}

.storefront-product .product-gallery__viewport.is-zoomed {
    cursor: grab;
    touch-action: none;
}

.storefront-product .product-gallery__stage {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0.75rem;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.storefront-product .product-gallery__stage img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    transform-origin: center center;
    user-select: none;
    -webkit-user-drag: none;
}

.storefront-product .product-gallery__placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    width: 100%;
    height: 100%;
    min-height: 100%;
    padding: 1.25rem 1rem;
    background: #F4EEE2;
    color: #0B3D2E;
    text-align: center;
}

.storefront-product .product-gallery__mark {
    color: #B8892D;
    font-size: 1.15rem;
    line-height: 1;
}

.storefront-product .product-gallery__brand {
    color: #0B3D2E;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    line-height: 1.2;
    text-transform: uppercase;
}

.storefront-product .product-gallery__note {
    max-width: 11rem;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.45;
}

.storefront-product .product-gallery__zoom {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.storefront-product .product-gallery__ctrl,
.storefront-product .product-gallery__nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    background: #FBF8F1;
    border: 1px solid #E8DDC8;
    border-radius: 2px;
    color: #0B3D2E;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
}

.storefront-product .product-gallery__ctrl:hover,
.storefront-product .product-gallery__nav:hover,
.storefront-product .product-gallery__ctrl:focus-visible,
.storefront-product .product-gallery__nav:focus-visible {
    border-color: #B8892D;
    outline: none;
}

.storefront-product .product-gallery__ctrl:disabled {
    cursor: default;
    opacity: 0.45;
}

.storefront-product .product-gallery__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
}

.storefront-product .product-gallery__nav--prev {
    left: 0.5rem;
}

.storefront-product .product-gallery__nav--next {
    right: 0.5rem;
}

.storefront-product .product-gallery__thumbs {
    display: flex;
    width: 100%;
    max-width: 24rem;
    gap: 0.4rem;
    overflow-x: auto;
    overflow-y: hidden;
    grid-template-columns: none;
    -webkit-overflow-scrolling: touch;
}

.storefront-product .product-gallery__thumbs li {
    flex: 0 0 4.25rem;
}

.storefront-product .product-share {
    margin: 1.15rem 0 0;
    padding-top: 1rem;
}

.storefront-product .product-share__label {
    margin: 0 0 0.55rem;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 1.3;
    text-transform: uppercase;
}

.storefront-product .product-share__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.storefront-product .product-share__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0.15rem 0;
    border: 0;
    background: none;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
}

.storefront-product .product-share__icon {
    display: inline-flex;
    color: #0B3D2E;
}

.storefront-product .product-share__icon .icon {
    width: 14px;
    height: 14px;
}

.storefront-product .product-share__link:hover,
.storefront-product .product-share__link:focus-visible {
    color: #B8892D;
}

.storefront-product .product-share__link:hover .product-share__icon,
.storefront-product .product-share__link:focus-visible .product-share__icon {
    color: #B8892D;
}

.storefront-product .product-share__copied {
    margin: 0.4rem 0 0;
    color: #0B3D2E;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 12px;
}

.storefront-product .product-reviews {
    max-width: 42rem;
    margin: 2.25rem 0 0;
    padding-top: 2rem;
    border-top: 1px solid #E8DDC8;
}

.storefront-product .product-reviews .section__head {
    margin-bottom: 0.85rem;
}

.storefront-product .product-reviews h2 {
    margin: 0;
    color: #0B3D2E;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
}

.storefront-product .product-reviews__summary {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.4rem 0.75rem;
    margin: 0 0 1.15rem;
}

.storefront-product .product-reviews__average {
    margin: 0;
    color: #0B3D2E;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 1.35rem;
    font-weight: 500;
}

.storefront-product .product-reviews__count,
.storefront-product .product-reviews__empty,
.storefront-product .product-reviews__invite,
.storefront-product .product-reviews__note {
    margin: 0;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
    line-height: 1.5;
}

.storefront-product .product-reviews__invite,
.storefront-product .product-reviews__note {
    margin-top: 0.25rem;
}

.storefront-product .review-stars {
    position: relative;
    display: inline-block;
    color: #E8DDC8;
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    line-height: 1;
}

.storefront-product .review-stars__track,
.storefront-product .review-stars__fill {
    font-family: Georgia, "Times New Roman", serif;
    white-space: nowrap;
}

.storefront-product .review-stars__fill {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    color: #B8892D;
}

.storefront-product .review-form {
    max-width: 26rem;
    margin: 1.25rem 0 1.5rem;
    padding: 1rem 0 0;
}

.storefront-product .review-form__title {
    margin: 0 0 0.75rem;
    color: #0B3D2E;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 1.15rem;
    font-weight: 500;
}

.storefront-product .review-form__rating {
    margin: 0 0 0.85rem;
    padding: 0;
    border: 0;
}

.storefront-product .review-form__rating legend {
    margin: 0 0 0.35rem;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
}

.storefront-product .review-form__stars {
    display: flex;
    gap: 0.15rem;
}

.storefront-product .review-form__stars input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.storefront-product .review-form__stars label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    cursor: pointer;
}

.storefront-product .review-form__glyph {
    color: #C4BBA8;
    font-size: 1.2rem;
    line-height: 1;
}

.storefront-product .review-form__glyph::after {
    content: "☆";
}

.storefront-product .review-form__stars:has([value="1"]:checked) label[for="review-rating-1"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="2"]:checked) label[for="review-rating-1"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="2"]:checked) label[for="review-rating-2"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="3"]:checked) label[for="review-rating-1"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="3"]:checked) label[for="review-rating-2"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="3"]:checked) label[for="review-rating-3"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="4"]:checked) label[for="review-rating-1"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="4"]:checked) label[for="review-rating-2"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="4"]:checked) label[for="review-rating-3"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="4"]:checked) label[for="review-rating-4"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="5"]:checked) label[for="review-rating-1"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="5"]:checked) label[for="review-rating-2"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="5"]:checked) label[for="review-rating-3"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="5"]:checked) label[for="review-rating-4"] .review-form__glyph,
.storefront-product .review-form__stars:has([value="5"]:checked) label[for="review-rating-5"] .review-form__glyph {
    color: #B8892D;
}

.storefront-product .review-form__stars:has([value="1"]:checked) label[for="review-rating-1"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="2"]:checked) label[for="review-rating-1"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="2"]:checked) label[for="review-rating-2"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="3"]:checked) label[for="review-rating-1"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="3"]:checked) label[for="review-rating-2"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="3"]:checked) label[for="review-rating-3"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="4"]:checked) label[for="review-rating-1"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="4"]:checked) label[for="review-rating-2"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="4"]:checked) label[for="review-rating-3"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="4"]:checked) label[for="review-rating-4"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="5"]:checked) label[for="review-rating-1"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="5"]:checked) label[for="review-rating-2"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="5"]:checked) label[for="review-rating-3"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="5"]:checked) label[for="review-rating-4"] .review-form__glyph::after,
.storefront-product .review-form__stars:has([value="5"]:checked) label[for="review-rating-5"] .review-form__glyph::after {
    content: "★";
}

.storefront-product .review-form__stars input:focus-visible + label {
    outline: 1px solid #B8892D;
    outline-offset: 2px;
}

.storefront-product .review-form__field {
    margin: 0 0 0.75rem;
}

.storefront-product .review-form .field__control {
    min-height: 2.4rem;
}

.storefront-product .review-form textarea.field__control {
    min-height: 6rem;
    resize: vertical;
}

.storefront-product .product-reviews__list {
    display: grid;
    gap: 1rem;
    margin: 1.25rem 0 0;
    padding: 1.15rem 0 0;
    border-top: 1px solid #E8DDC8;
    list-style: none;
}

.storefront-product .product-reviews__card {
    min-width: 0;
}

.storefront-product .product-reviews__card-title {
    margin: 0.45rem 0 0.3rem;
    color: #0B3D2E;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 1.05rem;
    font-weight: 500;
}

.storefront-product .product-reviews__card-body {
    margin: 0;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
}

.storefront-product .product-reviews__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    margin: 0.55rem 0 0;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 12px;
}

.storefront-product .product-reviews__verified {
    color: #0B3D2E;
}

.admin-page .admin-reviews__detail {
    display: grid;
    gap: 0.85rem;
    max-width: 40rem;
    margin: 0 0 1.25rem;
}

.admin-page .admin-reviews__detail dt {
    margin: 0 0 0.2rem;
    color: #6C6A61;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-page .admin-reviews__detail dd {
    margin: 0;
}

.admin-page .admin-reviews__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.admin-page .admin-reviews__count {
    margin: 0.75rem 0 0;
    color: #6C6A61;
    font-size: 0.85rem;
}

.admin-page .review-stars {
    position: relative;
    display: inline-block;
    color: #E8DDC8;
    letter-spacing: 0.04em;
    line-height: 1;
}

.admin-page .review-stars__fill {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    color: #B8892D;
    white-space: nowrap;
}

@media (min-width: 768px) {
    .storefront-product .product-detail {
        grid-template-columns: minmax(16rem, 47fr) minmax(0, 53fr);
        column-gap: 3.25rem;
    }

    .storefront-product .product-gallery__frame,
    .storefront-product .product-gallery__thumbs {
        max-width: none;
        width: 100%;
    }

    .storefront-product .product-gallery__viewport {
        max-height: min(32rem, 58vh);
    }

    .storefront-product .product-reviews h2 {
        font-size: 28px;
    }
}

@media (min-width: 1024px) {
    .storefront-product .product-detail {
        grid-template-columns: minmax(18rem, 46fr) minmax(0, 54fr);
        column-gap: 4rem;
    }

    .storefront-product .product-gallery__viewport {
        max-height: min(34rem, 60vh);
    }
}

@media (min-width: 1280px) {
    .storefront-product .product-detail {
        grid-template-columns: minmax(18rem, 45fr) minmax(0, 55fr);
    }
}

/* =========================================
   V3.0.3-R7 PDP RATING SUMMARY
   ========================================= */

.storefront-product .product-rating {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    width: fit-content;
    max-width: 100%;
    height: 2.25rem;
    margin: 0.75rem 0 0;
    padding: 7px 10px;
    border: 0;
    border-radius: 8px;
    background: #F7F5F0;
    box-shadow: none;
    color: inherit;
    text-decoration: none;
}

.storefront-product .product-rating__score {
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}

.storefront-product .product-rating__star {
    display: inline-flex;
    color: #0B3D2E;
    line-height: 0;
}

.storefront-product .product-rating__star .icon {
    width: 14px;
    height: 14px;
}

.storefront-product .product-rating__rule {
    display: block;
    width: 1px;
    height: 0.9rem;
    margin: 0 0.15rem;
    background: #C8C2B4;
}

.storefront-product .product-rating__count {
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
}

.storefront-product .product-rating--empty {
    height: auto;
    min-height: 2.25rem;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
    font-weight: 400;
}

.storefront-product .product-rating:hover,
.storefront-product .product-rating:focus-visible {
    color: inherit;
}

.storefront-product .product-rating:focus-visible {
    outline: 1px solid #B8892D;
    outline-offset: 2px;
}

.storefront-product .product-detail__copy .price {
    margin-top: 0.85rem;
}

/* =========================================
   V3.0.3-R8-FIX PDP PURCHASE ALIGNMENT
   Quantity and CTAs share one left-aligned
   content grid. Visual/spacing only.
   ========================================= */

.storefront-product .product-detail__cart {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    max-width: 35rem;
    gap: 0;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}

.storefront-product .product-detail__qty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
}

.storefront-product .product-detail__qty .field__label {
    display: block;
    width: auto;
    margin: 0 0 8px;
}

.storefront-product .storefront-qty {
    margin-left: 0;
    margin-right: 0;
}

.storefront-product .product-detail__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-top: 16px;
}

.storefront-product .product-detail__action-form {
    margin: 0;
    min-width: 0;
}

.storefront-product .product-detail__actions .btn,
.storefront-product .product-detail__action-form .btn {
    width: 100%;
    min-width: 0;
}

@media (max-width: 767px) {
    .storefront-product .product-detail__cart {
        max-width: 100%;
    }

    .storefront-product .product-detail__actions {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 768px) {
    .storefront-product .product-detail__actions {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

/* =========================================
   V3.0.5-A CUSTOMER CART EXPERIENCE
   Visual/layout only. Cart POST actions,
   prices, stock, and shipping rules unchanged.
   ========================================= */

.storefront-cart .container {
    max-width: 72rem;
}

.storefront-cart .page-header {
    margin-bottom: 1.75rem;
}

.storefront-cart .page-header .page-title {
    margin: 0 0 0.5rem;
    color: #0B3D2E;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 28px;
    font-weight: 500;
    line-height: 1.15;
}

.storefront-cart .page-header__lede {
    max-width: 36rem;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
}

.storefront-cart .cart-empty {
    max-width: 28rem;
}

.storefront-cart .empty-state {
    padding: 1.75rem 0 0;
    border: 0;
    background: transparent;
}

.storefront-cart .empty-state__title {
    margin: 0 0 0.65rem;
    color: #292A24;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 22px;
    font-weight: 500;
}

.storefront-cart .empty-state__body {
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    line-height: 1.6;
}

.storefront-cart .cart-empty-actions {
    margin-top: 1.25rem;
}

.storefront-cart .cart-empty-actions .btn {
    min-height: 44px;
    padding: 0 1.25rem;
    border: 0;
    border-radius: 2px;
    background: #0B3D2E;
    box-shadow: none;
    color: #FFFFFF;
}

.storefront-cart .cart-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
    min-width: 0;
    max-width: 100%;
}

.storefront-cart .cart-list {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.storefront-cart .cart-item {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: 1rem;
    min-width: 0;
    max-width: 100%;
    padding: 1rem 0 1.25rem;
    border: 0;
    border-bottom: 1px solid #E8DDC8;
    background: transparent;
}

.storefront-cart .cart-item--unavailable {
    opacity: 0.78;
}

.storefront-cart .cart-item__media {
    width: 5.5rem;
    max-width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border: 1px solid #D8CDBA;
    border-radius: 2px;
    background: #FBF8F1;
    box-shadow: none;
}

.storefront-cart .cart-item__media img,
.storefront-cart .cart-item__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #FBF8F1;
}

.storefront-cart .cart-item__body {
    display: grid;
    align-content: start;
    min-width: 0;
}

.storefront-cart .cart-item__title {
    margin: 0;
    color: #0B3D2E;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.25;
}

.storefront-cart .cart-item__title a {
    color: inherit;
    text-decoration: none;
}

.storefront-cart .cart-item__title a:hover,
.storefront-cart .cart-item__title a:focus-visible {
    color: #123F32;
}

.storefront-cart .cart-item__collection {
    margin: 0.2rem 0 0;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
    font-weight: 400;
}

.storefront-cart .cart-item__variant {
    margin: 0.25rem 0 0;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 500;
}

.storefront-cart .cart-summary__notice {
    margin: 0 0 0.85rem;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    line-height: 1.45;
}

.storefront-cart .cart-item__collection a {
    color: inherit;
    text-decoration: none;
}

.storefront-cart .cart-item__price {
    margin: 0.55rem 0 0;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 500;
}

.storefront-cart .cart-item__qty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 100%;
    max-width: 100%;
    margin: 0.85rem 0 0;
}

.storefront-cart .cart-item__qty .field__label {
    display: block;
    margin: 0 0 8px;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-cart .storefront-qty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 9.25rem;
    max-width: 100%;
    height: 44px;
    min-height: 44px;
    margin: 0;
    border: 1px solid #D8CDBA;
    border-radius: 2px;
    background: #FBF8F1;
    box-shadow: none;
}

.storefront-cart .storefront-qty__btn {
    display: inline-flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #0B3D2E;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
    transform: none;
    transition: background-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

.storefront-cart .storefront-qty__btn .icon {
    display: block;
    width: 14px;
    height: 14px;
}

.storefront-cart .storefront-qty__btn:hover:not(:disabled) {
    background: #F1EBDD;
}

.storefront-cart .storefront-qty__btn:active:not(:disabled) {
    background: #E8E0D0;
}

.storefront-cart .storefront-qty__btn:disabled {
    opacity: 0.38;
    cursor: not-allowed;
    background: transparent;
}

.storefront-cart .storefront-qty__btn:focus-visible {
    outline: 1px solid #B8892D;
    outline-offset: -3px;
}

.storefront-cart .storefront-qty__input.field__control,
.storefront-cart .storefront-qty__input {
    flex: 1 1 auto;
    width: 2.75rem;
    min-width: 2.5rem;
    max-width: 3.25rem;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    border-inline: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.storefront-cart .storefront-qty__input::-webkit-outer-spin-button,
.storefront-cart .storefront-qty__input::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}

.storefront-cart .storefront-qty__input:hover:not(:disabled),
.storefront-cart .storefront-qty__input:focus,
.storefront-cart .storefront-qty__input:focus-visible {
    border: 0;
    border-inline: 0;
    background: transparent;
    box-shadow: none;
}

.storefront-cart .storefront-qty__input:focus-visible {
    outline: 1px solid #B8892D;
    outline-offset: -3px;
}

.storefront-cart .cart-item__update {
    margin-top: 0.45rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    cursor: pointer;
}

.storefront-cart .cart-item__update:hover,
.storefront-cart .cart-item__update:focus-visible {
    color: #0B3D2E;
}

.storefront-cart .cart-item__update:focus-visible,
.storefront-cart .cart-item__remove-btn:focus-visible,
.storefront-cart .cart-continue:focus-visible,
.storefront-cart .cart-clear:focus-visible {
    outline: 1px solid #B8892D;
    outline-offset: 2px;
}

.storefront-cart .cart-item__line {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0.75rem 0 0;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
}

.storefront-cart .cart-item__line span {
    color: #6C6A61;
}

.storefront-cart .cart-item__notice {
    margin: 0.65rem 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #6C6A61;
    font-size: 14px;
}

.storefront-cart .cart-item__remove {
    margin: 0.7rem 0 0;
}

.storefront-cart .cart-item__remove-btn,
.storefront-cart .cart-clear {
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    cursor: pointer;
}

.storefront-cart .cart-item__remove-btn:hover,
.storefront-cart .cart-clear:hover {
    color: #292A24;
}

.storefront-cart .cart-summary {
    min-width: 0;
    max-width: 100%;
    padding: 1.35rem 0 0;
    border: 0;
    border-top: 1px solid #E8DDC8;
    background: transparent;
}

.storefront-cart .cart-summary h2 {
    margin: 0 0 1rem;
    color: #0B3D2E;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 22px;
    font-weight: 500;
}

.storefront-cart .cart-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    margin: 0 0 0.7rem;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 400;
}

.storefront-cart .cart-summary__row--shipping {
    color: #6C6A61;
}

.storefront-cart .cart-summary__row--total {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid #E8DDC8;
    font-size: 18px;
    font-weight: 600;
}

.storefront-cart .cart-summary__actions {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.15rem;
}

.storefront-cart .cart-summary__actions .btn--primary {
    width: 100%;
    min-height: 46px;
    padding: 0 1.15rem;
    border: 0;
    border-radius: 2px;
    background: #0B3D2E;
    box-shadow: none;
    color: #FFFFFF;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.03em;
    transform: none;
}

.storefront-cart .cart-summary__actions .btn--primary:hover,
.storefront-cart .cart-summary__actions .btn--primary:focus-visible {
    background: #123F32;
    box-shadow: none;
    transform: none;
}

.storefront-cart .cart-continue {
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

.storefront-cart .cart-continue:hover,
.storefront-cart .cart-continue:focus-visible {
    color: #0B3D2E;
}

.storefront-cart .cart-summary__trust {
    margin: 0;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.04em;
}

@media (max-width: 767px) {
    .storefront-cart .cart-layout,
    .storefront-cart .cart-item,
    .storefront-cart .cart-summary,
    .storefront-cart .cart-summary__actions .btn--primary {
        width: 100%;
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .storefront-cart .page-header .page-title {
        font-size: 34px;
    }

    .storefront-cart .cart-layout {
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
        column-gap: 2.5rem;
        row-gap: 1.5rem;
        align-items: start;
    }

    .storefront-cart .cart-item {
        grid-template-columns: 7.5rem minmax(0, 1fr);
        gap: 1.25rem;
        padding-top: 1.15rem;
        padding-bottom: 1.35rem;
    }

    .storefront-cart .cart-item__media {
        width: 7.5rem;
    }

    .storefront-cart .cart-summary {
        position: sticky;
        top: calc(var(--header-h, 5.25rem) + 2.75rem);
        padding: 1.25rem 1.35rem 1.4rem;
        border: 1px solid #E8DDC8;
        border-radius: 2px;
        background: #FBF8F1;
    }
}

@media (min-width: 1024px) {
    .storefront-cart .cart-item__media {
        width: 8.5rem;
    }

    .storefront-cart .cart-item {
        grid-template-columns: 8.5rem minmax(0, 1fr);
    }
}

@media (min-width: 1280px) {
    .storefront-cart .container {
        max-width: 72rem;
    }
}

/* =========================================
   V3.0.5-B CHECKOUT EXPERIENCE
   Presentation only. Place/order/shipping/
   address ownership rules unchanged.
   ========================================= */

.storefront-checkout .container {
    max-width: 72rem;
}

.storefront-checkout .page-header {
    margin-bottom: 1.25rem;
}

.storefront-checkout .page-header .page-title {
    margin: 0 0 0.5rem;
    color: #0B3D2E;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 28px;
    font-weight: 500;
    line-height: 1.15;
}

.storefront-checkout .page-header__lede {
    max-width: 36rem;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
}

.storefront-checkout .storefront-steps {
    margin: 0 0 1.5rem;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.04em;
}

.storefront-checkout .checkout-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
    min-width: 0;
    max-width: 100%;
}

.storefront-checkout .checkout-main,
.storefront-checkout .checkout-summary,
.storefront-checkout .checkout-address {
    min-width: 0;
    max-width: 100%;
}

.storefront-checkout .checkout-heading {
    margin: 0 0 1rem;
    color: #0B3D2E;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
}

.storefront-checkout .checkout-heading:not(:first-child) {
    margin-top: 0;
}

.storefront-checkout .empty-state {
    padding: 1rem 0 0;
    border: 0;
    background: transparent;
}

.storefront-checkout .empty-state__title {
    color: #292A24;
    font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
    font-size: 20px;
    font-weight: 500;
}

.storefront-checkout .empty-state__body {
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
}

.storefront-checkout .checkout-addresses {
    display: grid;
    gap: 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.storefront-checkout .checkout-address-card {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    min-width: 0;
    min-height: 0;
    height: auto;
    margin: 0;
    padding: 1.25rem;
    border: 1px solid #E8DDC8;
    border-radius: 2px;
    background: #FFFFFF;
    box-shadow: none;
    transition: border-color 160ms ease, background-color 160ms ease;
}

.storefront-checkout .checkout-address-card:hover,
.storefront-checkout .checkout-address-card:focus-within {
    border-color: #B8892D;
}

.storefront-checkout .checkout-address--selected {
    border: 1px solid #0B3D2E;
    background: #FBF8F1;
    box-shadow: none;
}

.storefront-checkout .checkout-address-card__mark {
    padding-top: 0.15rem;
    line-height: 0;
}

.storefront-checkout .checkout-address-card__radio {
    display: block;
    width: 1rem;
    height: 1rem;
    border: 1px solid #D8CDBA;
    border-radius: 50%;
    background: #FFFFFF;
}

.storefront-checkout .checkout-address-card__radio.is-selected {
    border: 4px solid #0B3D2E;
    background: #FFFFFF;
}

.storefront-checkout .checkout-address-card__body {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.storefront-checkout .address-card__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin: 0;
}

.storefront-checkout .address-card__type {
    margin: 0;
    color: #0B3D2E;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
}

.storefront-checkout .address-card__name {
    margin: 0;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

.storefront-checkout .address-card__lines {
    display: grid;
    gap: 0.15rem;
    margin: 0;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    line-height: 1.4;
}

.storefront-checkout .address-card__phone {
    margin: 0;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    line-height: 1.35;
}

.storefront-checkout .address-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin: 0.15rem 0 0;
}

.storefront-checkout .address-card__actions .btn,
.storefront-checkout .address-empty-actions .btn {
    min-height: 44px;
}

.storefront-checkout .address-card__actions .btn--text,
.storefront-checkout .address-card__actions .btn.btn--text {
    min-height: 44px;
    padding: 0.35rem 0;
    line-height: 1.2;
}

.storefront-checkout .checkout-add,
.storefront-checkout .address-empty-actions {
    margin-top: 1rem;
}

.storefront-checkout .checkout-add-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: #0B3D2E;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.storefront-checkout .checkout-add-link:hover,
.storefront-checkout .checkout-add-link:focus-visible {
    color: #123F32;
}

.storefront-checkout .checkout-add-link:focus-visible,
.storefront-checkout .checkout-return:focus-visible,
.storefront-checkout .checkout-place-order__btn:focus-visible {
    outline: 1px solid #B8892D;
    outline-offset: 2px;
}

.storefront-checkout .checkout-summary {
    padding: 1.25rem 0 0;
    border-top: 1px solid #E8DDC8;
    background: transparent;
}

.storefront-checkout .checkout-summary__items {
    display: grid;
    gap: 0.9rem;
    margin: 0 0 1.15rem;
    padding: 0;
    list-style: none;
}

.storefront-checkout .checkout-line {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr);
    gap: 0.75rem;
    min-width: 0;
}

.storefront-checkout .checkout-line--unavailable {
    opacity: 0.78;
}

.storefront-checkout .checkout-line__media {
    width: 4.5rem;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border: 1px solid #D8CDBA;
    border-radius: 2px;
    background: #FBF8F1;
}

.storefront-checkout .checkout-line__media img,
.storefront-checkout .checkout-line__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #FBF8F1;
}

.storefront-checkout .checkout-line__body {
    min-width: 0;
}

.storefront-checkout .checkout-line__title {
    margin: 0;
    color: #0B3D2E;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.storefront-checkout .checkout-line__title a {
    color: inherit;
    text-decoration: none;
}

.storefront-checkout .checkout-line__variant {
    margin: 0.2rem 0 0;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
}

.storefront-checkout .checkout-line__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0.35rem 0 0;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
}

.storefront-checkout .checkout-qty {
    margin: 0;
    color: #6C6A61;
    font-weight: 400;
}

.storefront-checkout .checkout-line__notice {
    margin: 0.35rem 0 0;
    color: #6C6A61;
    font-size: 13px;
}

.storefront-checkout .checkout-totals {
    display: grid;
    gap: 0.65rem;
    padding-top: 0.85rem;
    border-top: 1px solid #E8DDC8;
}

.storefront-checkout .checkout-totals__row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 0;
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    font-weight: 400;
}

.storefront-checkout .checkout-totals__row > span:last-child {
    max-width: 70%;
    text-align: right;
    overflow-wrap: break-word;
}

.storefront-checkout .checkout-totals__row .price,
.storefront-checkout .checkout-totals__row .price__current {
    max-width: none;
    white-space: nowrap;
}

.storefront-checkout .checkout-totals__row--total {
    margin-top: 0.35rem;
    padding-top: 0.75rem;
    border-top: 1px solid #E8DDC8;
    font-size: 18px;
    font-weight: 600;
}

.storefront-checkout .checkout-summary__actions {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.15rem;
}

.storefront-checkout .checkout-place-order {
    margin: 0;
}

.storefront-checkout .checkout-place-order__btn {
    width: 100%;
    min-height: 46px;
    padding: 0 1.15rem;
    border: 0;
    border-radius: 2px;
    background: #0B3D2E;
    box-shadow: none;
    color: #FFFFFF;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.03em;
    transform: none;
    transition: background-color 180ms ease;
}

.storefront-checkout .checkout-place-order__btn:hover,
.storefront-checkout .checkout-place-order__btn:focus-visible {
    background: #123F32;
    box-shadow: none;
    transform: none;
}

.storefront-checkout .checkout-return {
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

.storefront-checkout .checkout-return:hover,
.storefront-checkout .checkout-return:focus-visible {
    color: #0B3D2E;
}

.storefront-checkout .checkout-address-form {
    max-width: 36rem;
}

.storefront-checkout .checkout-address-form .field__label {
    color: #292A24;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 13px;
    font-weight: 600;
}

.storefront-checkout .checkout-address-form .field__control {
    font-size: 16px;
}

.storefront-checkout .address-form__actions .btn--primary {
    min-height: 44px;
    border-radius: 2px;
    background: #0B3D2E;
    box-shadow: none;
    color: #FFFFFF;
}

.storefront-checkout .address-form__actions .btn--primary:hover,
.storefront-checkout .address-form__actions .btn--primary:focus-visible {
    background: #123F32;
}

@media (max-width: 767px) {
    .storefront-checkout .checkout-layout,
    .storefront-checkout .checkout-summary,
    .storefront-checkout .checkout-place-order__btn {
        width: 100%;
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .storefront-checkout .page-header .page-title {
        font-size: 32px;
    }

    .storefront-checkout .checkout-layout {
        gap: 2rem;
    }

    .storefront-checkout .checkout-line {
        grid-template-columns: 5rem minmax(0, 1fr);
    }

    .storefront-checkout .checkout-line__media {
        width: 5rem;
    }
}

@media (min-width: 1024px) {
    .storefront-checkout .page-header .page-title {
        font-size: 34px;
    }

    .storefront-checkout .checkout-layout {
        grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.9fr);
        column-gap: 3rem;
        row-gap: 1.5rem;
        align-items: start;
    }

    .storefront-checkout .checkout-summary {
        position: sticky;
        top: calc(var(--header-h, 5.25rem) + 2.75rem);
        padding: 1.25rem 1.35rem 1.4rem;
        border: 1px solid #E8DDC8;
        border-top: 1px solid #E8DDC8;
        border-radius: 2px;
        background: #FBF8F1;
    }

    .storefront-checkout .checkout-line__media {
        width: 4.75rem;
    }

    .storefront-checkout .checkout-line {
        grid-template-columns: 4.75rem minmax(0, 1fr);
    }
}

@media (min-width: 1280px) {
    .storefront-checkout .container {
        max-width: 72rem;
    }

    .storefront-checkout .checkout-layout {
        column-gap: 3.5rem;
    }
}







/* =========================================================
   V3.0.5-C ORDER CONFIRMATION & POST-PURCHASE
   ========================================================= */

.storefront-order .container {
    max-width: 68rem;
}

.storefront-order .page-header {
    margin-bottom: var(--space-4);
}

.storefront-order .page-header .page-title {
    font-family: var(--font-display);
    font-weight: 500;
    color: var(--color-primary);
}

.order-confirm {
    display: grid;
    gap: var(--space-3);
    justify-items: center;
    text-align: center;
    margin: 0 0 var(--space-7);
    padding: var(--space-6) var(--space-4);
    border: 1px solid var(--color-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(251, 248, 241, 0.92)),
        var(--color-bg-elevated, #fff);
}

.order-confirm__mark {
    margin: 0;
    width: 2.5rem;
    height: 2.5rem;
    display: grid;
    place-items: center;
    border: 1px solid var(--color-accent);
    color: var(--color-primary);
    font-size: 1.15rem;
    line-height: 1;
}

.order-confirm[data-order-cancelled="1"] .order-confirm__mark {
    border-color: var(--color-danger, #8b3a2f);
    color: var(--color-danger, #8b3a2f);
}

.order-confirm__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 2.4vw, 2.35rem);
    font-weight: 500;
    color: var(--color-primary);
    line-height: 1.15;
}

.order-confirm__lede {
    margin: 0;
    max-width: 28rem;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    line-height: 1.55;
}

.order-confirm__number {
    display: grid;
    gap: 0.35rem;
    justify-items: center;
    margin-top: var(--space-2);
}

.order-confirm__label {
    display: block;
    color: var(--color-text-muted);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.order-confirm__value {
    margin: 0;
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    overflow-wrap: anywhere;
}

.order-confirm__copy {
    min-height: 2.75rem;
    min-width: 5.5rem;
    padding: 0.55rem 1rem;
    border: 1px solid var(--color-border);
    background: transparent;
    color: var(--color-primary);
    font: inherit;
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
}

.order-confirm__copy:hover,
.order-confirm__copy:focus-visible {
    border-color: var(--color-primary);
}

.order-confirm__copy:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.order-confirm__copied {
    color: var(--color-brand-green, #0B3D2E);
    font-size: var(--text-sm);
    font-weight: 500;
}

.order-confirm__meta {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 22rem);
    margin: var(--space-2) 0 0;
}

.order-confirm__meta div {
    display: grid;
    gap: 0.35rem;
    justify-items: center;
}

.order-confirm__meta dt {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.order-confirm__meta dd {
    margin: 0;
}

.order-confirm__actions {
    display: grid;
    gap: var(--space-2);
    width: min(100%, 22rem);
    margin-top: var(--space-2);
}

.order-confirm__actions .btn {
    width: 100%;
    min-height: 2.75rem;
    justify-content: center;
}

.order-layout {
    display: grid;
    gap: var(--space-6);
    align-items: start;
}

.order-main,
.order-summary,
.order-panel,
.order-line,
.order-delivery {
    min-width: 0;
}

.order-heading {
    margin: 0 0 var(--space-4);
    font-family: var(--font-display);
    font-size: 1.45rem;
    font-weight: 500;
    color: var(--color-primary);
}

.order-panel + .order-panel {
    margin-top: var(--space-6);
    padding-top: var(--space-6);
    border-top: 1px solid var(--color-border);
}

.order-lines {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-4);
}

.order-line {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr);
    gap: var(--space-3);
    align-items: start;
}

.order-line__media {
    width: 4.5rem;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--color-sand, #E8DDC8);
}

.order-line__media img,
.order-line__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.order-line__placeholder {
    background:
        linear-gradient(135deg, rgba(11, 61, 46, 0.08), rgba(184, 137, 45, 0.12)),
        var(--color-sand, #E8DDC8);
}

.order-line__title {
    margin: 0 0 0.35rem;
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 500;
    color: var(--color-primary);
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.order-line__meta,
.order-line__total {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin: 0.25rem 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.order-delivery {
    display: grid;
    gap: 0.4rem;
}

.order-delivery__type,
.order-delivery__phone .order-confirm__label {
    color: var(--color-brand-green, #0B3D2E);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.order-delivery__name {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--color-primary);
}

.order-delivery__lines {
    display: grid;
    gap: 0.15rem;
    margin: 0;
    font-style: normal;
    color: var(--color-text);
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.order-delivery__phone {
    margin: var(--space-2) 0 0;
    color: var(--color-text);
    font-size: var(--text-sm);
}

.order-status-list {
    display: grid;
    gap: var(--space-3);
    margin: 0 0 var(--space-5);
}

.order-status-list div {
    display: grid;
    gap: 0.25rem;
}

.order-status-list dt {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.order-status-list dd {
    margin: 0;
    color: var(--color-text);
    overflow-wrap: anywhere;
}

.order-tracking a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.storefront-order .order-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-3);
}

.storefront-order .order-timeline__item {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.15rem 0.75rem;
    align-items: start;
    color: var(--color-text-muted);
}

.storefront-order .order-timeline__item.is-complete {
    color: var(--color-text);
}

.storefront-order .order-timeline__mark {
    grid-row: 1 / span 2;
    width: 1.25rem;
    height: 1.25rem;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    font-size: 0.7rem;
    line-height: 1;
}

.storefront-order .order-timeline__item:not(.is-complete) .order-timeline__mark {
    opacity: 0.35;
}

.storefront-order .order-timeline__label {
    font-weight: 500;
}

.storefront-order .order-timeline__when {
    grid-column: 2;
    font-size: var(--text-sm);
    color: var(--color-text-muted);
}

.order-summary {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-5);
    border: 1px solid var(--color-border);
    background: rgba(255, 255, 255, 0.7);
}

.order-totals {
    display: grid;
    gap: 0.65rem;
    padding-top: var(--space-4);
    border-top: 1px solid var(--color-border);
}

.order-totals__row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin: 0;
    color: var(--color-text);
    font-size: var(--text-sm);
}

.order-totals__row > span:last-child,
.order-totals__row .price,
.order-totals__row .price__current {
    font-variant-numeric: tabular-nums;
}

.order-totals__row--total {
    padding-top: 0.55rem;
    border-top: 1px solid var(--color-border);
    color: var(--color-primary);
    font-size: 1rem;
    font-weight: 600;
}

.order-summary__note {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.order-summary__actions {
    display: grid;
    gap: var(--space-2);
}

.order-summary__actions .btn,
.order-summary__actions form .btn {
    width: 100%;
    min-height: 2.75rem;
    justify-content: center;
}

.storefront-account .order-history-card {
    border: 1px solid var(--color-border);
    background: rgba(255, 255, 255, 0.65);
    padding: var(--space-4);
}

.storefront-account .order-history-card__number {
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    overflow-wrap: anywhere;
}

@media (max-width: 479px) {
    .order-confirm {
        padding: var(--space-5) var(--space-3);
    }

    .order-confirm__meta {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .order-confirm__actions,
    .order-summary__actions .btn {
        width: 100%;
    }

    .order-line {
        grid-template-columns: 3.75rem minmax(0, 1fr);
    }
}

@media (min-width: 768px) {
    .order-confirm {
        padding: var(--space-7) var(--space-6);
    }

    .order-confirm__actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(100%, 28rem);
    }

    .order-line {
        grid-template-columns: 5.5rem minmax(0, 1fr);
        gap: var(--space-4);
    }

    .order-line__media {
        width: 5.5rem;
    }
}

@media (min-width: 1024px) {
    .order-layout {
        grid-template-columns: minmax(0, 1.45fr) minmax(17rem, 0.85fr);
        column-gap: 2.5rem;
    }

    .order-summary {
        position: sticky;
        top: 1.25rem;
    }

    .order-confirm__actions {
        width: min(100%, 30rem);
    }
}

@media (min-width: 1280px) {
    .storefront-order .container {
        max-width: 72rem;
    }

    .order-layout {
        column-gap: 3.25rem;
    }
}

/* V3.0.5-D Phase D3 — payment-session UX */
.storefront-checkout .storefront-steps__current {
    color: #0B3D2E;
    font-weight: 600;
}

.checkout-payment-page .checkout-payment-state {
    display: grid;
    gap: 0.85rem;
    padding: 1.25rem 0 0;
}

.checkout-payment-page .checkout-payment-state__lede {
    margin: 0;
    max-width: 36rem;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 15px;
    line-height: 1.55;
}

.checkout-payment-page .checkout-payment-state__badge {
    margin: 0.15rem 0 0.35rem;
}

.checkout-payment-page .checkout-payment-state__actions {
    display: grid;
    gap: 0.85rem;
    margin-top: 0.5rem;
    max-width: 24rem;
}

.checkout-payment-page .checkout-payment-state__note {
    margin: 0;
    color: #6C6A61;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    line-height: 1.5;
}

.checkout-payment-page .checkout-payment-refresh__btn {
    background: transparent;
    border: 1px solid #0B3D2E;
    color: #0B3D2E;
}

.checkout-payment-page .checkout-payment-refresh__btn:hover,
.checkout-payment-page .checkout-payment-refresh__btn:focus-visible {
    background: #0B3D2E;
    color: #FFFFFF;
}

.checkout-payment-page .checkout-line__body--full {
    grid-column: 1 / -1;
}

.checkout-payment-page .checkout-line {
    grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 767px) {
    .checkout-payment-page .checkout-payment-state__actions,
    .checkout-payment-page .checkout-place-order__btn {
        width: 100%;
        max-width: 100%;
    }
}

/* V3.2 admin users */
.admin-users__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0 0 1.25rem;
}

.admin-users__inline {
    display: grid;
    gap: 0.4rem;
    min-width: 10rem;
}

.admin-users__confirm {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.8rem;
    line-height: 1.3;
}

.admin-users__actions {
    display: grid;
    gap: 0.35rem;
}

.admin-users__actions a {
    white-space: nowrap;
}
