/* Fonts (Manrope, IBM Plex Sans, IBM Plex Mono) are self-hosted and registered through
   theme.json fontFace (assets/fonts/, FE-011). No third-party font host is used. */

/* Signal Workshop foundation. */
:root,
.editor-styles-wrapper {
    /* Brand dark (brand-guidelines section 3): header, footer, homepage first screen only.
       Names are historical: --radix-ink is the dark BASE, --radix-paper is light text ON dark. */
    --radix-ink: #101613;
    --radix-surface: #17201b;
    --radix-task: #17201b;
    --radix-task-emphasis: #1c2e22;
    --radix-paper: #f0f1e9;
    --radix-muted: #a7b1a8;
    --radix-line: #344139;
    --radix-control: #6f7d73;
    --radix-gold: #d9b769;
    --radix-gold-hover: #e9cc8b;
    --radix-on-gold: #152018;
    --radix-positive: #a7c9ac;
    --radix-warning: #e7c985;
    --radix-negative: #f0a6a6;
    --radix-information: #a9c7dd;
    /* Light roles (default page ground once FE-013 switches surfaces). Defined only here. */
    --radix-ground: #f6f5ef;
    --radix-card: #ffffff;
    --radix-quiet: #e8ede5;
    --radix-text: #101613;
    --radix-text-muted: #566257;
    --radix-divider: #d8ddd5;
    --radix-gold-text: #806016;
    /* Status colours for light grounds: 4.5:1 or better on ground, card and quiet surface. */
    --radix-positive-on-light: #2f6b3a;
    --radix-warning-on-light: #8a5a00;
    --radix-negative-on-light: #a52a2a;
    --radix-information-on-light: #245f86;
    /* Elevation on paper: a white surface plus this one shadow. Never a border. */
    --radix-shadow-surface: 0 1px 2px rgba(16, 22, 19, .06), 0 6px 20px rgba(16, 22, 19, .08);
    --radix-radius-control: 4px;
    --radix-radius-card: 8px;
    --radix-radius-overlay: 12px;
    --radix-content: 720px;
    --radix-wide: 1280px;
    --radix-transition: 160ms ease;
    --radix-font-display: 'Manrope', system-ui, sans-serif;
    --radix-font-body: 'IBM Plex Sans', system-ui, sans-serif;
    --radix-font-mono: 'IBM Plex Mono', ui-monospace, monospace;
}

body:not(.wp-admin),
.editor-styles-wrapper {
    color-scheme: light;
    background: var(--radix-ground);
    color: var(--radix-text);
    font-family: var(--radix-font-body);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) *,
:where(body:not(.wp-admin), .editor-styles-wrapper) *::before,
:where(body:not(.wp-admin), .editor-styles-wrapper) *::after {
    box-sizing: border-box;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(h1, h2, h3, h4, h5, h6) {
    color: inherit;
    font-family: var(--radix-font-display);
    font-weight: 600;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) h1 { font-weight: 700; letter-spacing: -0.015em; }
:where(body:not(.wp-admin), .editor-styles-wrapper) h2 { font-weight: 700; letter-spacing: -0.01em; }

/* Prices and quantities use tabular figures (brand guidelines section 4). */
:where(body:not(.wp-admin)) :where(.price, .amount, .woocommerce-Price-amount, .wc-block-components-product-price, .wc-block-formatted-money-amount, .wp-block-woocommerce-product-price) {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 599px) {
    body:not(.wp-admin),
    .editor-styles-wrapper { font-size: 16px; }
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(h1, h2, h3, h4, h5, h6) a {
    color: inherit;
    text-decoration: none;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(h1, h2, h3, h4, h5, h6) a:hover {
    color: var(--radix-gold-text);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(p, li, dd, figcaption) {
    overflow-wrap: anywhere;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(a) {
    color: var(--radix-gold-text);
    text-decoration-line: underline;
    text-decoration-thickness: .08em;
    text-underline-offset: .18em;
    transition: color var(--radix-transition), text-decoration-color var(--radix-transition);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(a):hover {
    color: var(--radix-text);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--radix-gold-text);
    outline-offset: 3px;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) ::selection {
    background: #d9b76966;
    color: var(--radix-text);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(hr) {
    border: 0;
    border-top: 1px solid var(--radix-divider);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.wp-element-button, .wp-block-button__link, .woocommerce .button, .woocommerce button.button, .woocommerce input.button, input[type='submit'], button:not([class])) {
    align-items: center;
    background: var(--radix-gold);
    border: 1px solid var(--radix-gold);
    border-radius: var(--radix-radius-control);
    color: var(--radix-on-gold);
    cursor: pointer;
    display: inline-flex;
    font: 600 16px/1.25 var(--radix-font-body);
    justify-content: center;
    min-height: 44px;
    padding: 11px 20px;
    text-align: center;
    text-decoration: none;
    transition: background-color var(--radix-transition), border-color var(--radix-transition), color var(--radix-transition);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.wp-element-button, .wp-block-button__link, .woocommerce .button, .woocommerce button.button, .woocommerce input.button, input[type='submit'], button:not([class])):hover {
    background: var(--radix-gold-hover);
    border-color: var(--radix-gold-hover);
    color: var(--radix-on-gold);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) .wp-block-button.is-style-outline > .wp-block-button__link {
    background: transparent;
    border-color: var(--radix-control);
    color: var(--radix-text);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
    background: var(--radix-quiet);
    border-color: var(--radix-gold-text);
    color: var(--radix-text);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(button, input, select, textarea):disabled,
:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.disabled, [aria-disabled='true']) {
    cursor: not-allowed;
    opacity: .58;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(label, legend) {
    color: var(--radix-text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(input[type='text'], input[type='email'], input[type='password'], input[type='search'], input[type='tel'], input[type='url'], input[type='number'], input[type='date'], input[type='time'], select, textarea) {
    appearance: none;
    background: var(--radix-card);
    border: 1px solid var(--radix-control);
    border-radius: var(--radix-radius-control);
    color: var(--radix-text);
    font: 400 16px/1.4 var(--radix-font-body);
    min-height: 48px;
    max-width: 100%;
    padding: 11px 13px;
    transition: background-color var(--radix-transition), border-color var(--radix-transition);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(textarea) {
    min-height: 132px;
    resize: vertical;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(select) {
    background-image: linear-gradient(45deg, transparent 50%, var(--radix-text) 50%), linear-gradient(135deg, var(--radix-text) 50%, transparent 50%);
    background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50%;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    padding-inline-end: 40px;
}

[dir='rtl'] :where(body:not(.wp-admin), .editor-styles-wrapper) :where(select) {
    background-position: 17px 50%, 12px 50%;
    padding-inline: 40px 13px;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(input, textarea)::placeholder {
    color: var(--radix-text-muted);
    opacity: .82;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(input[type='checkbox'], input[type='radio']) {
    accent-color: var(--radix-gold);
    block-size: 20px;
    inline-size: 20px;
    margin: 0;
    min-width: 20px;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(input[type='file']) {
    color: var(--radix-text-muted);
    font: inherit;
    max-width: 100%;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(input[type='file'])::file-selector-button {
    background: var(--radix-card);
    border: 1px solid var(--radix-control);
    border-radius: var(--radix-radius-control);
    color: var(--radix-text);
    font: 600 14px/1.4 var(--radix-font-body);
    margin-inline-end: 12px;
    min-height: 44px;
    padding: 10px 14px;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where([aria-invalid='true'], .woocommerce-invalid input, .woocommerce-invalid select) {
    border-color: var(--radix-negative-on-light);
    box-shadow: 0 0 0 1px var(--radix-negative-on-light);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.required) {
    color: var(--radix-negative-on-light);
    text-decoration: none;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.radix-field, .form-row) {
    display: grid;
    gap: 8px;
    min-width: 0;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.radix-field small, .form-row .description, .woocommerce-form-row .description) {
    color: var(--radix-text-muted);
    font-size: 14px;
    line-height: 1.6;
}

body:not(.wp-admin) :is(input[type='text'], input[type='email'], input[type='password'], input[type='search'], input[type='tel'], input[type='url'], input[type='number'], input[type='date'], input[type='time'], select, textarea),
.editor-styles-wrapper :is(input[type='text'], input[type='email'], input[type='password'], input[type='search'], input[type='tel'], input[type='url'], input[type='number'], input[type='date'], input[type='time'], select, textarea) {
    font-family: var(--radix-font-body);
    font-size: 16px;
    min-height: 48px;
}

body:not(.wp-admin) textarea,
.editor-styles-wrapper textarea {
    min-height: 132px !important;
}

body:not(.wp-admin) :is(.wp-element-button, .wp-block-button__link, .woocommerce .button, .woocommerce button.button, .woocommerce input.button, input[type='submit']),
.editor-styles-wrapper :is(.wp-element-button, .wp-block-button__link, .woocommerce .button, .woocommerce button.button, .woocommerce input.button, input[type='submit']) {
    font-family: var(--radix-font-body);
    font-size: 16px;
    min-height: 44px;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.woocommerce-MyAccount-navigation a, .woocommerce-pagination a, .woocommerce-pagination span) {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.woocommerce-error, .woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner, .radix-notice) {
    background: var(--radix-card);
    border: 0;
    border-inline-start: 3px solid var(--radix-information-on-light);
    border-radius: var(--radix-radius-control);
    box-shadow: var(--radix-shadow-surface);
    color: var(--radix-text);
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    line-height: 1.6;
    list-style: none;
    margin-block: 16px;
    padding: 14px 16px;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.woocommerce-message, .is-success, .radix-notice--success) {
    border-inline-start-color: var(--radix-positive-on-light);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.woocommerce-error, .is-error, .radix-notice--error) {
    border-inline-start-color: var(--radix-negative-on-light);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.is-warning, .radix-notice--warning) {
    border-inline-start-color: var(--radix-warning-on-light);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.radix-notice--info) {
    border-inline-start-color: var(--radix-information-on-light);
}

body:not(.wp-admin) .wc-block-components-notice-banner,
.editor-styles-wrapper .wc-block-components-notice-banner {
    background: var(--radix-card) !important;
    border-color: var(--radix-information-on-light) !important;
    color: var(--radix-text) !important;
}

body:not(.wp-admin) .wc-block-components-notice-banner :is(.wc-block-components-notice-banner__content, a),
.editor-styles-wrapper .wc-block-components-notice-banner :is(.wc-block-components-notice-banner__content, a) {
    color: var(--radix-text) !important;
}

body:not(.wp-admin) .wc-block-components-notice-banner a,
.editor-styles-wrapper .wc-block-components-notice-banner a {
    text-decoration-color: var(--radix-gold-text) !important;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(table) {
    border-collapse: collapse;
    border-spacing: 0;
    color: inherit;
    font-variant-numeric: tabular-nums;
    inline-size: 100%;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(th, td) {
    border-bottom: 1px solid var(--radix-divider);
    padding: 14px 12px;
    text-align: start;
    vertical-align: top;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(th) {
    color: var(--radix-text-muted);
    font-size: 14px;
    font-weight: 500;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.wp-block-table, .woocommerce table.shop_table) {
    max-width: 100%;
    overflow-x: auto;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.price, .amount, .wc-block-components-product-price) {
    color: inherit;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(del .amount, .price del) {
    color: var(--radix-text-muted);
    font-weight: 400;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.wp-block-post-date, .wp-block-post-author-name, .wp-block-post-terms, .posted_in, .tagged_as, .sku_wrapper, .radix-meta, .woocommerce-product-attributes-item__label, .variation dt) {
    color: var(--radix-text-muted);
    font-size: 14px;
    line-height: 1.6;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.products .product, .wc-block-product, .radix-product-card, .radix-order-record) {
    background: var(--radix-card);
    border: 0;
    border-radius: var(--radix-radius-card);
    box-shadow: var(--radix-shadow-surface);
    min-width: 0;
    padding: 24px;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.products .product, .wc-block-product, .radix-product-card) :where(img) {
    background: var(--radix-quiet);
    border-radius: var(--radix-radius-control);
    object-fit: contain;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.products .product, .wc-block-product, .radix-product-card) :where(h2, h3) a {
    color: var(--radix-text);
    text-decoration: none;
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.products .product, .wc-block-product, .radix-product-card) :where(h2, h3) a:hover {
    color: var(--radix-gold-text);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(.woocommerce-orders-table__row, tr.woocommerce-table__line-item) {
    background: transparent;
    border-block-end: 1px solid var(--radix-divider);
}

:where(body:not(.wp-admin), .editor-styles-wrapper) :where(bdi, code, .sku, .radix-identifier) {
    direction: ltr;
    font-variant-numeric: tabular-nums;
    unicode-bidi: isolate;
}

/* The registered editor pattern exercises atoms without changing public content. */
.radix-system-specimen {
    background: var(--radix-card);
    border: 0;
    border-radius: var(--radix-radius-card);
    box-shadow: var(--radix-shadow-surface);
    color: var(--radix-text);
    margin-block: 32px;
    max-width: var(--radix-wide);
    padding: clamp(20px, 4vw, 56px);
}

.radix-system-specimen > * + * {
    margin-block-start: 32px;
}

.radix-specimen-section {
    border-top: 1px solid var(--radix-divider);
    padding-block-start: 24px;
}

.radix-eyebrow {
    align-items: center;
    color: var(--radix-text-muted);
    display: flex;
    font-size: 14px;
    font-weight: 500;
    gap: 12px;
    letter-spacing: .12em;
    margin-block: 0 12px;
    text-transform: uppercase;
}

.radix-eyebrow::before {
    background: var(--radix-gold);
    content: '';
    height: 18px;
    width: 3px;
}

.radix-field-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.radix-options {
    border: 0;
    box-shadow: var(--radix-shadow-surface);
    border-radius: var(--radix-radius-card);
    display: grid;
    gap: 12px;
    margin-block: 24px 0;
    min-width: 0;
    padding: 16px;
}

.radix-options legend {
    padding-inline: 6px;
}

.radix-options label {
    align-items: center;
    display: flex;
    gap: 10px;
    min-height: 44px;
}

.radix-specimen-grid {
    gap: 24px;
}

.radix-product-card > *:last-child,
.radix-order-record > *:last-child {
    margin-block-end: 0;
}

.radix-service-emblem {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: var(--radix-quiet);
    border-radius: var(--radix-radius-control);
    display: flex;
    justify-content: center;
    margin-block-end: 20px;
}

.radix-service-emblem span {
    border: 2px solid var(--radix-gold);
    border-radius: 50%;
    height: 56px;
    position: relative;
    width: 56px;
}

.radix-service-emblem span::after {
    background: var(--radix-gold);
    border-radius: 50%;
    content: '';
    height: 10px;
    inset: 21px;
    position: absolute;
    width: 10px;
}

.radix-order-line {
    margin: 0;
}

.radix-order-line > div {
    align-items: baseline;
    border-bottom: 1px solid var(--radix-divider);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(120px, 1fr) minmax(0, 1.5fr);
    padding-block: 14px;
}

.radix-order-line dt {
    color: var(--radix-text-muted);
    font-size: 14px;
}

.radix-order-line dd {
    margin: 0;
}

.radix-status {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.radix-status::before {
    border: 2px solid currentColor;
    border-radius: 50%;
    content: '';
    height: 10px;
    width: 10px;
}

.radix-status--processing {
    color: var(--radix-information-on-light);
}

.radix-product-headings h3 {
    border-bottom: 1px solid var(--radix-divider);
    margin: 0;
    padding-block: 18px;
}

/* Shared chrome remains deliberately scoped, while inheriting the same tokens. */
.radix-site-header,
.radix-site-footer {
    box-sizing: border-box;
    background: var(--radix-ink);
    color: var(--radix-paper);
    font: 14px/1.6 var(--radix-font-body);
    -webkit-font-smoothing: antialiased;
    margin: 0;
    max-width: none;
    width: 100%;
}
:is(.radix-site-header, .radix-site-footer) *,
:is(.radix-site-header, .radix-site-footer) *::before,
:is(.radix-site-header, .radix-site-footer) *::after { box-sizing: border-box; }
:is(.radix-site-header, .radix-site-footer) a { color: inherit; text-decoration: none; }
:is(.radix-site-header, .radix-site-footer) a:hover { color: var(--radix-gold-hover); }
:is(.radix-site-header, .radix-site-footer) :is(a, summary):focus-visible { outline: 3px solid var(--radix-gold); outline-offset: 3px; }
.radix-shell { margin-inline: auto; width: min(var(--radix-wide), calc(100% - 112px)); }
.radix-site-header { border-bottom: 1px solid var(--radix-line); position: relative; z-index: 30; }
.radix-header-inner { align-items: center; display: grid; gap: 24px; grid-template-columns: auto minmax(0, 1fr) auto; min-height: 92px; }
/* The homepage is its own navigation hub; only utility links remain above it. */
.radix-home .radix-site-header { border-bottom: 0; }
.radix-home .radix-shell { width: min(1480px, calc(100% - 112px)); }
.radix-home-utility { align-items: center; display: flex; justify-content: flex-end; min-height: 72px; }
.radix-home-utility nav { align-items: center; display: flex; flex-wrap: wrap; gap: 4px 24px; justify-content: flex-end; }
.radix-home-utility a { align-items: center; display: inline-flex; font-size: 14px; gap: 12px; min-height: 44px; padding-inline: 4px; }
.radix-home-utility .radix-home-support { color: var(--radix-muted); }
.radix-home-utility .radix-home-account { color: var(--radix-paper); }
.radix-home-utility a span { color: var(--radix-gold); }
.radix-brand { align-items: center; display: inline-flex; flex-shrink: 0; gap: 13px; min-height: 44px; min-width: 0; }
.radix-brand-type { font: 700 26px/1.2 var(--radix-font-display); letter-spacing: -1.3px; white-space: nowrap; }
.radix-brand-type > span { font-weight: 600; }
.radix-brand-type > b { color: var(--radix-gold); font-weight: 700; }
.radix-brand-type sup { font: 400 14px/1 var(--radix-font-body); letter-spacing: 0; margin-inline-start: 5px; vertical-align: super; }
.radix-logo { position: relative; display: block; width: 25px; aspect-ratio: 800 / 926; overflow: hidden; flex-shrink: 0; }
:is(.radix-site-header, .radix-site-footer) .radix-logo img { position: absolute; display: block; width: 156.75%; max-width: none; height: auto; left: -33%; top: -17.71%; filter: saturate(.55) brightness(.94); }
.radix-desktop-nav { align-items: center; display: flex; gap: clamp(16px, 2.2vw, 30px); justify-content: center; min-width: 0; }
.radix-desktop-nav a { color: var(--radix-muted); font-size: 14px; line-height: 1.45; min-height: 44px; overflow-wrap: anywhere; padding-block: 12px; position: relative; text-align: center; }
.radix-desktop-nav a::after { background: var(--radix-gold); bottom: 5px; content: ''; height: 2px; inset-inline: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform var(--radix-transition); }
[dir='rtl'] .radix-desktop-nav a::after { transform-origin: right; }
.radix-desktop-nav a:hover::after, .radix-desktop-nav a[aria-current]::after { transform: scaleX(1); }
.radix-desktop-nav a[aria-current] { color: var(--radix-paper); }
.radix-header-actions { align-items: center; display: flex; font-size: 14px; gap: 16px; }
.radix-header-actions .radix-support { align-items: center; color: var(--radix-muted); display: inline-flex; min-height: 44px; }
.radix-account-link { align-items: center; border: 1px solid var(--radix-control); border-radius: var(--radix-radius-control); display: flex; gap: 14px; line-height: 1.4; min-height: 44px; padding: 10px 14px; }
.radix-account-link span { font-size: 18px; color: var(--radix-gold); }
.radix-account-link:hover, .radix-account-link[aria-current] { background: var(--radix-task-emphasis); border-color: var(--radix-gold); color: var(--radix-paper); }
.radix-mobile-menu { display: none; }
.radix-site-footer { background: var(--radix-ink); border-top: 1px solid var(--radix-line); }
.radix-footer-main { display: grid; gap: 48px; grid-template-columns: minmax(260px, 1.5fr) repeat(2, minmax(170px, 1fr)); padding-block: 48px 32px; }
.radix-footer-brand { align-items: center; flex-direction: row; gap: 16px; width: fit-content; }
.radix-footer-brand .radix-logo { width: 34px; }
.radix-footer-brand .radix-brand-type { font-size: 30px; }
.radix-site-footer .radix-footer-copyright { color: var(--radix-muted); font-size: 14px; line-height: 1.6; margin: 18px 0 0; max-width: 30ch; }
.radix-site-footer .radix-footer-nav h2 { color: var(--radix-gold); font: 500 14px/1.5 var(--radix-font-body); letter-spacing: .12em; margin: 5px 0 12px; text-transform: uppercase; }
.radix-footer-nav ul { display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }
.radix-footer-nav li { margin: 0; padding: 0; }
.radix-footer-nav a, .radix-pending { align-items: center; display: inline-flex; flex-wrap: wrap; gap: 8px; min-height: 44px; overflow-wrap: anywhere; padding-block: 9px; }
.radix-site-footer .radix-footer-nav a { color: var(--radix-paper); }
.radix-site-footer .radix-footer-nav a:hover { color: var(--radix-gold-hover); }
.radix-site-footer .radix-footer-nav a[aria-current] { color: var(--radix-gold); }
.radix-pending { color: var(--radix-muted); }
.radix-pending small { border: 1px solid var(--radix-line); border-radius: var(--radix-radius-control); font-size: 14px; letter-spacing: 0; line-height: 1.4; padding: 2px 6px; }
.radix-skip-link { background: var(--radix-gold); border-radius: var(--radix-radius-control); color: var(--radix-on-gold) !important; font-weight: 600; left: 16px; padding: 12px 16px; position: fixed; top: -100px; z-index: 100000; }
.radix-skip-link:focus { top: 12px; }
body:not(.radix-home) main { background: var(--radix-ground); }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
.wp-site-blocks > .radix-site-footer { margin-block-start: var(--wp--preset--spacing--60, 60px); }

/* Sticky footer (FE-027): short pages push the footer to the viewport bottom at any height.
   The homepage keeps its own body flex column in home.css. */
body:not(.radix-home) .wp-site-blocks {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100svh;
}
body:not(.radix-home) .wp-site-blocks > main {
    flex: 1 0 auto;
    width: 100%;
}
body.admin-bar:not(.radix-home) .wp-site-blocks {
    min-height: calc(100vh - 32px);
    min-height: calc(100svh - 32px);
}
@media (max-width: 782px) {
    body.admin-bar:not(.radix-home) .wp-site-blocks {
        min-height: calc(100vh - 46px);
        min-height: calc(100svh - 46px);
    }
}

.wp-site-blocks > .wp-block-woocommerce-coming-soon {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    width: 100%;
}
.wp-block-woocommerce-coming-soon > .radix-site-footer { margin-top: auto; }

@media (max-width: 1200px) {
    .radix-shell,
    .radix-home .radix-shell { width: calc(100% - 72px); }
    .radix-header-inner { gap: 18px; }
    .radix-header-actions .radix-support { display: none; }
    .radix-footer-main { gap: 36px; }
}
@media (max-width: 1100px) {
    .radix-home-utility { min-height: 64px; }
    .radix-shell,
    .radix-home .radix-shell { width: calc(100% - 44px); }
    .radix-header-inner { display: flex; min-height: 80px; }
    .radix-brand-type { font-size: 24px; }
    .radix-desktop-nav, .radix-header-actions { display: none; }
    .radix-mobile-menu { display: block; margin-inline-start: auto; }
    .radix-mobile-menu summary { align-items: center; cursor: pointer; display: flex; font-size: 14px; gap: 13px; justify-content: flex-end; list-style: none; min-height: 44px; padding: 10px 0 10px 14px; }
    .radix-mobile-menu summary::-webkit-details-marker { display: none; }
    .radix-menu-icon { display: grid; gap: 5px; width: 18px; }
    .radix-menu-icon i { height: 1px; width: 18px; background: var(--radix-gold); transition: transform .2s; }
    .radix-mobile-menu[open] .radix-menu-icon i:first-child { transform: translateY(3px) rotate(45deg); }
    .radix-mobile-menu[open] .radix-menu-icon i:last-child { transform: translateY(-3px) rotate(-45deg); }
    .radix-mobile-menu nav { background: var(--radix-surface); border: 1px solid var(--radix-control); border-radius: 0 0 var(--radix-radius-overlay) var(--radix-radius-overlay); box-shadow: 0 22px 40px #0008; inset-inline: 22px; padding: 22px; position: absolute; top: calc(100% - 1px); }
    .radix-menu-label { color: var(--radix-muted); display: block; font-size: 14px; letter-spacing: .1em; margin-bottom: 8px; text-transform: uppercase; }
    .radix-mobile-menu nav a { align-items: center; border-bottom: 1px solid var(--radix-line); display: flex; font-size: 16px; gap: 15px; justify-content: space-between; min-height: 48px; overflow-wrap: anywhere; padding-block: 12px; }
    .radix-mobile-menu nav a span, .radix-mobile-menu nav a[aria-current] { color: var(--radix-gold); }
    .radix-mobile-menu nav .radix-mobile-account { background: var(--radix-task); border: 1px solid var(--radix-control); border-radius: var(--radix-radius-control); margin-top: 16px; padding: 10px 14px; }
    .radix-footer-main { gap: 32px 24px; grid-template-columns: 1fr 1fr; padding-block: 40px 24px; }
    .radix-footer-brand-column { grid-column: 1 / -1; }
    .radix-footer-nav a, .radix-pending { min-height: 44px; }
}
@media (max-width: 650px) {
    .radix-field-grid { grid-template-columns: 1fr; }
    .radix-order-line > div { grid-template-columns: 1fr; gap: 4px; }
    :where(body:not(.wp-admin), .editor-styles-wrapper) :where(.products .product, .wc-block-product, .radix-product-card, .radix-order-record) { padding: 16px; }
    :where(body:not(.wp-admin), .editor-styles-wrapper) :where(.woocommerce .woocommerce-result-count, .woocommerce-page .woocommerce-result-count, .woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering) {
        clear: both;
        float: none !important;
        margin-inline: 0;
        width: 100% !important;
    }
    :where(body:not(.wp-admin), .editor-styles-wrapper) :where(.woocommerce .woocommerce-ordering select, .woocommerce-page .woocommerce-ordering select) { width: 100% !important; }
    :where(body:not(.wp-admin), .editor-styles-wrapper) .wp-block-group:has(> .wp-block-woocommerce-product-results-count) { flex-wrap: wrap !important; }
    :where(body:not(.wp-admin), .editor-styles-wrapper) :where(.wp-block-woocommerce-product-results-count, .wp-block-woocommerce-catalog-sorting) { flex-basis: 100%; width: 100%; }
    .radix-footer-main { gap: 28px; grid-template-columns: 1fr; }
    .radix-footer-brand-column { grid-column: 1 / -1; padding-bottom: 20px; border-bottom: 1px solid var(--radix-line); }
    .radix-site-footer .radix-footer-nav h2 { margin: 0 0 8px; }
    .radix-footer-nav a, .radix-pending { font-size: 14px; min-height: 44px; }
}
@media (max-width: 360px) {
    .radix-shell,
    .radix-home .radix-shell { width: calc(100% - 32px); }
    .radix-brand-type { font-size: 22px; }
    .radix-brand { gap: 9px; }
    .radix-mobile-menu nav { inset-inline: 16px; padding: 18px; }
    .radix-home-utility nav { gap-inline: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    :where(body:not(.wp-admin), .editor-styles-wrapper) *,
    :where(body:not(.wp-admin), .editor-styles-wrapper) *::before,
    :where(body:not(.wp-admin), .editor-styles-wrapper) *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

@media print {
    :root { color-scheme: light; }
    body:not(.wp-admin) {
        background: #fff !important;
        color: #101613 !important;
        font-size: 11pt;
    }
    body:not(.wp-admin) :where(h1, h2, h3, h4, h5, h6, p, li, td, th, dt, dd, .amount, .price) { color: #101613 !important; }
    body:not(.wp-admin) :where(a) { color: #101613 !important; text-decoration: underline; }
    body:not(.wp-admin) :where(.radix-site-header, .radix-site-footer, nav, button, .button, form, .wp-block-buttons) { display: none !important; }
    body:not(.wp-admin) :where(table, tr, th, td, .radix-order-record) { background: transparent !important; border-color: #d8ddd5 !important; }
    body:not(.wp-admin) :where(.wp-site-blocks, main, article) { margin: 0 !important; max-width: none !important; padding: 0 !important; }
    body:not(.wp-admin) .wp-site-blocks { display: block !important; min-height: 0 !important; }
}

/* Filter chip (brand guidelines section 6), shared by the shop categories and the blog topics.
   Markup contract: a row (.radix-chip-row) of .radix-chip elements (a or button); the selected
   one carries aria-current, aria-checked="true" or .is-selected. The shop reuses it for
   WooCommerce's own chips block (.radix-chip-filters) so there is one visual definition. */
.radix-chip-row,
.radix-chip-filters .wc-block-product-filter-chips__items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.radix-chip,
.radix-chip-filters .wc-block-product-filter-chips__item {
    align-items: center;
    background: var(--radix-card);
    border: 1px solid var(--radix-divider);
    border-radius: 999px;
    box-shadow: none;
    color: var(--radix-text);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font: 500 15px/1.2 var(--radix-font-body);
    gap: 6px;
    min-height: 40px;
    padding: 0 16px;
    text-decoration: none;
    transition: background-color var(--radix-transition), border-color var(--radix-transition);
    white-space: nowrap;
}

.radix-chip:hover,
.radix-chip-filters .wc-block-product-filter-chips__item:hover {
    background: var(--radix-quiet);
    border-color: var(--radix-control);
    color: var(--radix-text);
}

.radix-chip :where(.radix-chip__count, .wc-block-product-filter-chips__count),
.radix-chip-filters .wc-block-product-filter-chips__count {
    color: var(--radix-text-muted);
    font-weight: 400;
}

.radix-chip-filters .wc-block-product-filter-chips__label {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

/* Selected: gold marks state here. Gold is fill only, with ink text on it. */
.radix-chip:is([aria-current]:not([aria-current='false']), [aria-checked='true'], .is-selected),
.radix-chip-filters .wc-block-product-filter-chips__item[aria-checked='true'] {
    background: var(--radix-gold);
    border-color: var(--radix-gold);
    color: var(--radix-on-gold);
}

.radix-chip:is([aria-current]:not([aria-current='false']), [aria-checked='true'], .is-selected) :where(.radix-chip__count, .wc-block-product-filter-chips__count),
.radix-chip-filters .wc-block-product-filter-chips__item[aria-checked='true'] .wc-block-product-filter-chips__count {
    color: var(--radix-on-gold);
}

.radix-chip:is([aria-current]:not([aria-current='false']), [aria-checked='true'], .is-selected):hover,
.radix-chip-filters .wc-block-product-filter-chips__item[aria-checked='true']:hover {
    background: var(--radix-gold-hover);
    border-color: var(--radix-gold-hover);
    color: var(--radix-on-gold);
}

.radix-chip-filters .wc-block-product-filter-chips__item:disabled {
    cursor: default;
    opacity: .5;
}

.radix-chip:focus-visible,
.radix-chip-filters .wc-block-product-filter-chips__item:focus-visible {
    outline: 3px solid var(--radix-gold-text);
    outline-offset: 2px;
}

/* Phones: one scrolling row, no second line. */
@media (max-width: 599px) {
    .radix-chip-row,
    .radix-chip-filters .wc-block-product-filter-chips__items {
        flex-wrap: nowrap;
        margin: -2px;
        overflow-x: auto;
        padding: 5px;
        scrollbar-width: none;
    }
}

@media (forced-colors: active) {
    .radix-chip:is([aria-current]:not([aria-current='false']), [aria-checked='true'], .is-selected),
    .radix-chip-filters .wc-block-product-filter-chips__item[aria-checked='true'] {
        border-color: Highlight;
        border-width: 2px;
    }
}
