[data-z4-store-foundation] {
    isolation: isolate;
}

/* Multi-stage customer return workflow */
.z4-return-workflow {
    display: grid;
    gap: 24px;
    margin-bottom: 24px;
    border-top: 3px solid #b4000b;
}
.z4-return-workflow-header,
.z4-return-customer-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}
.z4-return-workflow-header h2,
.z4-return-customer-heading h2 { margin: 4px 0 10px; }
.z4-return-workflow-header p { margin: 6px 0; color: #596273; }
.z4-return-workflow-badges { display: grid; justify-items: end; gap: 10px; }
.z4-return-workflow-badges strong,
.z4-return-rma {
    border: 1px solid #efc7ca;
    border-radius: 999px;
    padding: 8px 12px;
    color: #a6000a;
    background: #fff7f7;
    white-space: nowrap;
}
.z4-return-progress {
    display: grid;
    grid-template-columns: repeat(10, minmax(60px, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
}
.z4-return-progress li {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 7px;
    min-width: 78px;
    color: #8a929f;
    text-align: center;
}
.z4-return-progress li::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 15px;
    left: -50%;
    width: 100%;
    height: 2px;
    background: #e4e6ea;
}
.z4-return-progress li:first-child::before { display: none; }
.z4-return-progress li span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: #eef0f3;
    font-weight: 700;
}
.z4-return-progress li.is-complete,
.z4-return-progress li.is-current { color: #a6000a; }
.z4-return-progress li.is-complete span,
.z4-return-progress li.is-current span { color: #fff; background: #b4000b; }
.z4-return-progress li.is-complete::before,
.z4-return-progress li.is-current::before { background: #b4000b; }
.z4-return-stage-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.z4-return-stage-actions > :only-child { grid-column: 1 / -1; }
.z4-return-stage-actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.z4-return-stage-actions > form,
.z4-return-waiting,
.z4-return-authorization,
.z4-return-customer-form,
.z4-return-customer-notice {
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 18px;
    border: 1px solid #e8dfe0;
    border-radius: 14px;
    background: #fffafa;
}
.z4-return-stage-actions h3,
.z4-return-customer-form h3,
.z4-return-authorization h3 { margin: 0; }
.z4-return-stage-actions label,
.z4-return-customer-form label { display: grid; gap: 7px; font-weight: 600; }
.z4-return-stage-actions form > .z4-store-btn { justify-self: start; }
.z4-return-evidence-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}
.z4-return-evidence-grid a {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 2px 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid #e4e6ea;
    border-radius: 12px;
    color: #17191d;
    text-decoration: none;
    background: #fff;
}
.z4-return-evidence-grid a > span {
    grid-row: 1 / span 2;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 10px;
    color: #a6000a;
    background: #fff0f1;
    font-size: 11px;
    font-weight: 800;
}
.z4-return-evidence-grid a small { color: #6f7784; }
.z4-return-shipment-summary,
.z4-return-customer-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}
.z4-return-shipment-summary > div,
.z4-return-customer-summary > div { padding: 14px; border-radius: 12px; background: #f6f7f9; }
.z4-return-shipment-summary dt,
.z4-return-customer-summary small { color: #747d8a; }
.z4-return-shipment-summary dd,
.z4-return-customer-summary p { margin: 5px 0 0; font-weight: 700; }
.z4-return-event-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.z4-return-event-list li { position: relative; display: grid; grid-template-columns: 20px 1fr; gap: 12px; padding: 0 0 18px; }
.z4-return-event-list li::before { content: ""; position: absolute; top: 10px; bottom: -2px; left: 5px; width: 1px; background: #e2b7ba; }
.z4-return-event-list li:last-child::before { display: none; }
.z4-return-event-list li > span { position: relative; z-index: 1; width: 11px; height: 11px; margin-top: 5px; border-radius: 50%; background: #b4000b; }
.z4-return-event-list strong { display: block; }
.z4-return-event-list p { margin: 4px 0; color: #596273; }
.z4-return-event-list small { color: #7b8491; }
.z4-account-return-workflow { display: grid; gap: 22px; margin-bottom: 18px; border-top: 3px solid #c90012; }
.z4-return-customer-form input[type="file"],
.z4-return-customer-form input[type="text"],
.z4-return-customer-form input[type="tel"],
.z4-return-customer-form textarea {
    width: 100%;
    border: 1px solid #d8dce2;
    border-radius: 9px;
    padding: 11px 12px;
    background: #fff;
}
.z4-return-customer-notice.is-success { border-color: #b9dec8; background: #f2fbf6; }
.z4-refund-form-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.z4-refund-form-heading span:first-child { color: #a6000a; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.z4-refund-form-heading .material-symbols-outlined { color: #a6000a; }
.z4-refund-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.z4-refund-methods label {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 15px;
    border: 1px solid #dfd5d6;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
}
.z4-refund-methods label:has(input:checked) { border-color: #b4000b; box-shadow: 0 0 0 2px rgba(180, 0, 11, .08); }
.z4-refund-methods input { margin-top: 3px; accent-color: #b4000b; }
.z4-refund-methods span { display: grid; gap: 3px; }
.z4-refund-methods small, .z4-refund-help { color: #667085; font-weight: 400; }
.z4-refund-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.z4-refund-destination-form:has(input[value="bank_transfer"]:checked) .z4-refund-cliq-fields,
.z4-refund-destination-form:has(input[value="bank_transfer"]:checked) .z4-refund-cliq-help,
.z4-refund-destination-form:has(input[value="cliq"]:checked) .z4-refund-bank-fields,
.z4-refund-destination-form:has(input[value="cliq"]:checked) .z4-refund-bank-help { display: none; }
.z4-refund-confirm-form { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; border: 1px solid #b9dec8; border-radius: 14px; background: #f2fbf6; }
.z4-refund-confirm-form label { display: flex; align-items: center; gap: 9px; }
.z4-refund-confirm-form input { accent-color: #b4000b; }
.z4-refund-admin-details { display: grid; gap: 8px; margin: 0; padding: 14px; border: 1px solid #eadfdf; border-radius: 12px; background: #fff; }
.z4-refund-admin-details > div { display: grid; grid-template-columns: minmax(110px, .7fr) 1.5fr; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #eee7e7; }
.z4-refund-admin-details > div:last-child { padding-bottom: 0; border-bottom: 0; }
.z4-refund-admin-details dt { color: #667085; }
.z4-refund-admin-details dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }

@media (max-width: 900px) {
    .z4-return-stage-actions,
    .z4-return-shipment-summary,
    .z4-return-customer-summary { grid-template-columns: 1fr; }
    .z4-refund-methods,
    .z4-refund-fields-grid { grid-template-columns: 1fr; }
    .z4-refund-confirm-form { align-items: stretch; flex-direction: column; }
    .z4-return-workflow-header,
    .z4-return-customer-heading { align-items: stretch; flex-direction: column; }
    .z4-return-workflow-badges { justify-items: start; }
}

/* Verified product reviews */
.z4-review-stars {
    display: inline-flex;
    gap: 3px;
    color: #c8c8c8;
    font-size: 1.05rem;
    line-height: 1;
}

.z4-review-stars span.is-active {
    color: #b40008;
}

.z4-account-items article > .z4-account-submitted-review,
.z4-account-items article > .z4-account-review-form {
    grid-column: 1 / -1;
    width: 100%;
}

.z4-account-submitted-review {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    margin-top: 14px;
    padding: 16px;
    border: 1px solid #ead8d8;
    border-radius: 10px;
    background: #fff9f8;
}

.z4-account-submitted-review p {
    margin: 6px 0;
    color: #31313a;
}

.z4-account-submitted-review small {
    color: #687083;
}

.z4-account-review-form {
    margin-top: 14px;
    border-top: 1px solid #e7e2df;
    padding-top: 14px;
}

.z4-account-review-form summary {
    width: fit-content;
    cursor: pointer;
    color: #b40008;
    font-weight: 700;
}

.z4-account-review-form form {
    display: grid;
    gap: 14px;
    margin-top: 16px;
    padding: 18px;
    border: 1px solid #ead8d8;
    border-radius: 12px;
    background: #fffaf9;
}

.z4-account-review-form fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.z4-account-review-form legend,
.z4-account-review-form label {
    display: grid;
    gap: 7px;
    color: #18181d;
    font-size: .86rem;
    font-weight: 700;
}

.z4-account-review-form label > span {
    color: #7b8190;
    font-size: .75rem;
    font-weight: 500;
}

.z4-account-review-form input[type="text"],
.z4-account-review-form textarea {
    width: 100%;
    border: 1px solid #d8d9de;
    border-radius: 8px;
    background: #fff;
    color: #17171b;
    font: inherit;
    padding: 11px 12px;
}

.z4-account-review-form p {
    margin: 0;
    color: #687083;
    font-size: .82rem;
}

.z4-review-rating-input {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 3px;
    margin-top: 7px;
    width: fit-content;
}

.z4-review-rating-input input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.z4-review-rating-input label {
    cursor: pointer;
    color: #c8c8c8;
    font-size: 1.65rem;
    line-height: 1;
    transition: color .15s ease, transform .15s ease;
}

.z4-review-rating-input label:hover,
.z4-review-rating-input label:hover ~ label,
.z4-review-rating-input input:checked ~ label {
    color: #b40008;
}

.z4-review-rating-input input:focus-visible + label {
    outline: 2px solid #b40008;
    outline-offset: 3px;
}

.z4sf-product-reviews {
    margin: clamp(42px, 6vw, 82px) 0;
    border-top: 1px solid #dedbd8;
    border-bottom: 1px solid #dedbd8;
    padding: clamp(30px, 4vw, 52px) 0;
}

.z4sf-product-reviews__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 28px;
}

.z4sf-product-reviews__heading p {
    margin: 0 0 7px;
    color: #b40008;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.z4sf-product-reviews__heading h2 {
    margin: 0;
    color: #171719;
    font-size: clamp(1.6rem, 2.7vw, 2.35rem);
}

.z4sf-product-reviews__summary {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 220px;
    padding: 15px 18px;
    border: 1px solid #e4d4d2;
    border-radius: 10px;
    background: #fff9f8;
}

.z4sf-product-reviews__summary > strong {
    color: #171719;
    font-size: 2rem;
}

.z4sf-product-reviews__summary > div {
    display: grid;
    gap: 5px;
    color: #687083;
    font-size: .78rem;
}

.z4sf-product-reviews__empty {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px;
    border: 1px dashed #d9d4d1;
    border-radius: 10px;
    background: #faf9f8;
}

.z4sf-product-reviews__empty > span {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    background: #f3e6e5;
    color: #b40008;
}

.z4sf-product-reviews__empty strong,
.z4sf-product-reviews__empty p {
    display: block;
    margin: 0;
}

.z4sf-product-reviews__empty p {
    margin-top: 5px;
    color: #687083;
}

.z4sf-product-review-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.z4sf-product-review {
    display: flex;
    flex-direction: column;
    min-height: 210px;
    padding: 22px;
    border: 1px solid #e1dedb;
    border-radius: 10px;
    background: #fff;
}

.z4sf-product-review > header,
.z4sf-product-review > footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.z4sf-product-review time {
    color: #7b8190;
    font-size: .76rem;
}

.z4sf-product-review h3 {
    margin: 20px 0 7px;
    color: #171719;
    font-size: 1rem;
}

.z4sf-product-review > p {
    flex: 1;
    margin: 4px 0 22px;
    color: #34343b;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.z4sf-product-review > footer {
    border-top: 1px solid #ece9e7;
    padding-top: 14px;
}

.z4sf-product-review > footer > span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #167c4a;
    font-size: .76rem;
    font-weight: 700;
}

.z4sf-product-review > footer .material-symbols-outlined {
    font-size: 17px;
}

@media (max-width: 720px) {
    .z4sf-product-reviews__heading {
        align-items: stretch;
        flex-direction: column;
    }

    .z4sf-product-reviews__summary {
        min-width: 0;
    }

    .z4sf-product-review-list {
        grid-template-columns: 1fr;
    }

    .z4-account-submitted-review {
        grid-template-columns: 1fr;
    }
}

/* Storefront Phase 4 — Anvogue-derived system, scoped to the Store plugin only. */
.z4sf {
    --z4sf-accent: #9b111e;
    --z4sf-accent-dark: #760d16;
    --z4sf-accent-soft: #f8ebed;
    --z4sf-ink: #1f1f1f;
    --z4sf-copy: #44474c;
    --z4sf-muted: #696c70;
    --z4sf-soft: #f7f7f7;
    --z4sf-line: #e9e9e9;
    --z4sf-white: #fff;
    --z4sf-success: #267a4d;
    background: var(--z4sf-white);
    color: var(--z4sf-ink);
    direction: rtl;
    font-family: inherit;
    isolation: isolate;
    min-height: 72vh;
    text-align: right;
}

/* The public catalog uses an LTR layout independently of the site's language. */
.z4sf.z4sf-catalog-page {
    direction: ltr;
    text-align: left;
}

.z4sf,
.z4sf * {
    box-sizing: border-box;
}

.z4sf img {
    display: block;
    max-width: 100%;
}

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

.z4sf button,
.z4sf input,
.z4sf select,
.z4sf textarea {
    font: inherit;
}

.z4sf button,
.z4sf select {
    cursor: pointer;
}

.z4sf-container {
    margin-inline: auto;
    max-width: 1320px;
    padding-inline: 24px;
    width: 100%;
}

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

.z4sf-nav-wrap {
    background: var(--z4sf-white);
    border-bottom: 1px solid var(--z4sf-line);
    position: relative;
    z-index: 20;
}

.z4sf-nav {
    align-items: center;
    display: grid;
    gap: 30px;
    grid-template-columns: auto minmax(280px, 1fr) auto;
    min-height: 86px;
}

.z4sf-brand {
    align-items: baseline;
    display: flex;
    gap: 9px;
    white-space: nowrap;
}

.z4sf-brand span {
    color: var(--z4sf-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
}

.z4sf-brand strong {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.04em;
}

.z4sf-search {
    align-items: center;
    background: var(--z4sf-soft);
    border: 1px solid transparent;
    border-radius: 999px;
    display: flex;
    min-height: 48px;
    overflow: hidden;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.z4sf-search:focus-within {
    border-color: #d8b7bc;
    box-shadow: 0 0 0 4px rgba(155, 17, 30, .08);
}

.z4sf-search input {
    background: transparent;
    border: 0;
    color: var(--z4sf-ink);
    min-width: 0;
    outline: 0;
    padding: 0 20px;
    width: 100%;
}

.z4sf-search button {
    background: var(--z4sf-ink);
    border: 0;
    border-radius: 999px;
    color: var(--z4sf-white);
    font-size: 13px;
    font-weight: 800;
    margin: 4px;
    min-height: 38px;
    padding: 0 22px;
}

.z4sf-nav-links {
    align-items: center;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    gap: 22px;
    white-space: nowrap;
}

.z4sf-nav-links > a {
    position: relative;
}

.z4sf-nav-links > a:not(.z4sf-cart-link)::after {
    background: var(--z4sf-accent);
    bottom: -7px;
    content: "";
    height: 2px;
    inset-inline-start: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .2s ease;
    width: 100%;
}

.z4sf-nav-links > a:hover::after,
.z4sf-nav-links > a.is-active::after {
    transform: scaleX(1);
}

.z4sf-cart-link {
    align-items: center;
    background: var(--z4sf-accent);
    border-radius: 999px;
    color: var(--z4sf-white) !important;
    display: inline-flex;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
}

.z4sf-cart-link span {
    align-items: center;
    background: var(--z4sf-white);
    border-radius: 999px;
    color: var(--z4sf-accent);
    display: inline-flex;
    font-size: 11px;
    height: 22px;
    justify-content: center;
    min-width: 22px;
    padding: 0 5px;
}

.z4sf-alerts {
    margin-top: 18px;
}

.z4sf-alert {
    border: 1px solid;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.7;
    padding: 13px 16px;
}

.z4sf-alert + .z4sf-alert {
    margin-top: 10px;
}

.z4sf-alert.is-success {
    background: #edf8f2;
    border-color: #b9e3cb;
    color: #155f3b;
}

.z4sf-alert.is-error {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #8a1420;
}

.z4sf-alert ul {
    margin: 5px 0 0;
    padding-inline-start: 20px;
}

.z4sf-hero {
    background:
        radial-gradient(circle at 16% 24%, rgba(155, 17, 30, .11), transparent 34%),
        linear-gradient(120deg, #f7f4f1 0%, #f4f0ec 52%, #faf8f5 100%);
    min-height: 310px;
    overflow: hidden;
    padding-block: 42px 64px;
    position: relative;
}

.z4sf-hero::after {
    border: 1px solid rgba(155, 17, 30, .14);
    border-radius: 50%;
    content: "";
    height: 310px;
    inset-block-start: -120px;
    inset-inline-start: 7%;
    position: absolute;
    width: 310px;
}

.z4sf-breadcrumbs {
    align-items: center;
    color: var(--z4sf-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    gap: 9px;
    margin-bottom: 44px;
    position: relative;
    z-index: 1;
}

.z4sf-breadcrumbs a:hover {
    color: var(--z4sf-accent);
}

.z4sf-hero__copy {
    max-width: 760px;
    position: relative;
    z-index: 1;
}

.z4sf-hero__copy > p,
.z4sf-section-heading p,
.z4sf-catalog-heading p,
.z4sf-flow-heading > p,
.z4sf-product-info > div:first-child > p,
.z4sf-form-card__heading p {
    color: var(--z4sf-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.z4sf-hero h1 {
    font-size: clamp(38px, 5vw, 66px);
    font-weight: 750;
    letter-spacing: -.055em;
    line-height: 1.08;
    margin: 0;
}

.z4sf-hero__copy > div {
    color: var(--z4sf-copy);
    font-size: 17px;
    line-height: 1.8;
    margin-top: 20px;
    max-width: 680px;
}

.z4sf-section {
    padding-block: 76px 0;
}

.z4sf-section-heading,
.z4sf-catalog-heading {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 28px;
}

.z4sf-section-heading h2,
.z4sf-catalog-heading h2,
.z4sf-flow-heading h1,
.z4sf-product-info h2 {
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 750;
    letter-spacing: -.04em;
    line-height: 1.15;
    margin: 0;
}

.z4sf-section-heading > a {
    border-bottom: 1px solid currentColor;
    font-size: 14px;
    font-weight: 800;
    padding-bottom: 4px;
}

.z4sf-category-strip {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.z4sf-category-strip > a {
    aspect-ratio: .92;
    background: var(--z4sf-soft);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    padding: 18px;
    position: relative;
}

.z4sf-category-strip img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    transition: transform .35s ease;
    width: 100%;
}

.z4sf-category-strip > a:hover img {
    transform: scale(1.04);
}

.z4sf-category-strip > a::after {
    background: linear-gradient(transparent 36%, rgba(15, 15, 15, .74));
    content: "";
    inset: 0;
    position: absolute;
}

.z4sf-category-strip span {
    color: var(--z4sf-white);
    display: block;
    position: relative;
    z-index: 1;
}

.z4sf-category-strip strong,
.z4sf-category-strip small {
    display: block;
}

.z4sf-category-strip strong {
    font-size: 17px;
}

.z4sf-category-strip small {
    font-size: 12px;
    margin-top: 4px;
    opacity: .82;
}

.z4sf-catalog-heading {
    border-bottom: 1px solid var(--z4sf-line);
    margin-bottom: 34px;
    padding-bottom: 24px;
}

.z4sf-catalog-heading span {
    color: var(--z4sf-muted);
    display: block;
    font-size: 13px;
    margin-top: 7px;
}

.z4sf-filter-toggle {
    background: var(--z4sf-white);
    border: 1px solid var(--z4sf-line);
    border-radius: 999px;
    display: none;
    font-size: 13px;
    font-weight: 800;
    min-height: 42px;
    padding: 0 20px;
}

.z4sf-catalog {
    display: grid;
    gap: 44px;
    grid-template-columns: 245px minmax(0, 1fr);
}

.z4sf-filters {
    border-inline-end: 1px solid var(--z4sf-line);
    padding-inline-end: 28px;
}

.z4sf-filters form {
    display: grid;
    gap: 22px;
}

.z4sf-field > span,
.z4sf-price-filter legend {
    color: var(--z4sf-ink);
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 8px;
}

.z4sf-field input,
.z4sf-field select,
.z4sf-field textarea,
.z4sf-price-filter input,
.z4sf-sort select,
.z4sf-cart-item__quantity input {
    background: var(--z4sf-white);
    border: 1px solid #dcdcdc;
    border-radius: 9px;
    color: var(--z4sf-ink);
    min-height: 46px;
    outline: none;
    padding: 10px 12px;
    width: 100%;
}

.z4sf-field input:focus,
.z4sf-field select:focus,
.z4sf-field textarea:focus,
.z4sf-price-filter input:focus,
.z4sf-sort select:focus,
.z4sf-cart-item__quantity input:focus {
    border-color: var(--z4sf-accent);
    box-shadow: 0 0 0 3px rgba(155, 17, 30, .09);
}

.z4sf-field textarea {
    line-height: 1.7;
    resize: vertical;
}

.z4sf-price-filter {
    border: 0;
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    padding: 0;
}

.z4sf-price-filter legend {
    grid-column: 1 / -1;
}

.z4sf-price-filter label span {
    color: var(--z4sf-muted);
    display: block;
    font-size: 11px;
    margin-bottom: 5px;
}

.z4sf-check {
    align-items: flex-start;
    cursor: pointer;
    display: flex;
    font-size: 13px;
    gap: 10px;
    line-height: 1.55;
}

.z4sf-check input {
    accent-color: var(--z4sf-accent);
    height: 17px;
    margin-top: 2px;
    width: 17px;
}

.z4sf-filter-actions {
    align-items: center;
    display: flex;
    gap: 14px;
}

.z4sf-filter-actions > a {
    color: var(--z4sf-muted);
    font-size: 13px;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.z4sf-btn {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.z4sf-btn-dark {
    background: var(--z4sf-ink);
    color: var(--z4sf-white) !important;
}

.z4sf-btn-dark:hover {
    background: var(--z4sf-accent);
    transform: translateY(-1px);
}

.z4sf-sort {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-bottom: 24px;
}

.z4sf-sort label {
    color: var(--z4sf-muted);
    font-size: 13px;
}

.z4sf-sort select {
    min-height: 42px;
    width: 190px;
}

.z4sf-product-grid {
    display: grid;
    gap: 34px 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.z4sf-product-card {
    min-width: 0;
}

.z4sf-product-card__media {
    aspect-ratio: 4 / 5;
    background: #f0eeeb;
    border-radius: 13px;
    display: block;
    overflow: hidden;
    position: relative;
}

.z4sf-product-card__media img {
    height: 100%;
    object-fit: cover;
    transition: transform .38s ease;
    width: 100%;
}

.z4sf-product-card:hover .z4sf-product-card__media img {
    transform: scale(1.035);
}

.z4sf-badge {
    background: var(--z4sf-ink);
    border-radius: 999px;
    color: var(--z4sf-white);
    font-size: 11px;
    font-weight: 800;
    inset-block-start: 12px;
    inset-inline-start: 12px;
    padding: 7px 11px;
    position: absolute;
}

.z4sf-badge.is-sale {
    background: var(--z4sf-accent);
}

.z4sf-product-card__body {
    padding-top: 16px;
}

.z4sf-product-card__meta {
    align-items: center;
    color: var(--z4sf-muted);
    display: flex;
    font-size: 11px;
    gap: 12px;
    justify-content: space-between;
    min-height: 20px;
}

.z4sf-product-card__meta > a {
    font-weight: 800;
    text-transform: uppercase;
}

.z4sf-product-card__meta span {
    position: relative;
}

.z4sf-product-card__meta span::before {
    background: currentColor;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 6px;
    margin-inline-end: 6px;
    width: 6px;
}

.z4sf-product-card__meta .is-available {
    color: var(--z4sf-success);
}

.z4sf-product-card__meta .is-unavailable {
    color: var(--z4sf-accent);
}

.z4sf-product-card h3 {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
    margin: 8px 0 14px;
}

.z4sf-product-card h3 a:hover {
    color: var(--z4sf-accent);
}

.z4sf-product-card__footer {
    align-items: end;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.z4sf-price strong,
.z4sf-price del {
    display: block;
}

.z4sf-price strong {
    font-size: 15px;
}

.z4sf-price del {
    color: #96989b;
    font-size: 11px;
    margin-top: 3px;
}

.z4sf-tax-included {
    color: #687268;
    display: block;
    font-size: 10px;
    font-weight: 600;
    margin-top: 4px;
}

.z4sf-card-action {
    background: transparent;
    border: 0;
    border-bottom: 1px solid currentColor;
    color: var(--z4sf-ink);
    font-size: 12px;
    font-weight: 800;
    padding: 0 0 3px;
}

.z4sf-card-action:hover {
    color: var(--z4sf-accent);
}

.z4sf-card-action:disabled {
    color: #a6a6a6;
    cursor: not-allowed;
}

.z4sf-pagination {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: center;
    margin-top: 54px;
}

.z4sf-pagination a,
.z4sf-pagination span {
    border: 1px solid var(--z4sf-line);
    border-radius: 999px;
    font-size: 13px;
    min-width: 90px;
    padding: 10px 16px;
    text-align: center;
}

.z4sf-pagination span {
    color: #aaa;
}

.z4sf-pagination strong {
    font-size: 12px;
}

.z4sf-empty {
    background: var(--z4sf-soft);
    border-radius: 16px;
    padding: 70px 28px;
    text-align: center;
}

.z4sf-empty > p {
    color: var(--z4sf-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.z4sf-empty h2 {
    font-size: 34px;
    margin: 0;
}

.z4sf-empty > div {
    color: var(--z4sf-muted);
    line-height: 1.7;
    margin: 14px auto 24px;
}

.z4sf-service-bar {
    background: var(--z4sf-ink);
    color: var(--z4sf-white);
    margin-top: 84px;
    padding-block: 36px;
}

.z4sf-service-bar .z4sf-container {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.z4sf-service-bar div > div {
    border-inline-end: 1px solid rgba(255, 255, 255, .18);
    padding-inline-end: 28px;
}

.z4sf-service-bar div > div:last-child {
    border: 0;
}

.z4sf-service-bar strong,
.z4sf-service-bar span {
    display: block;
}

.z4sf-service-bar strong {
    font-size: 15px;
}

.z4sf-service-bar span {
    color: rgba(255, 255, 255, .66);
    font-size: 12px;
    margin-top: 6px;
}

/* Keep the shared theme footer flush with Store pages. The theme's 100vw
   full-bleed rule includes the scrollbar width and leaves a visible edge. */
body:has(.z4sf-catalog-page) .art-theme-footer {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.z4sf-product-page,
.z4sf-flow-page {
    padding-block: 38px 84px;
}

.z4sf-product {
    display: grid;
    gap: 70px;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    margin-top: 34px;
}

.z4sf-gallery__main {
    aspect-ratio: 4 / 5;
    background: var(--z4sf-soft);
    border-radius: 15px;
    overflow: hidden;
    position: relative;
}

.z4sf-gallery__main img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.z4sf-gallery__thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    overflow-x: auto;
}

.z4sf-gallery__thumbs button {
    background: var(--z4sf-white);
    border: 1px solid var(--z4sf-line);
    border-radius: 8px;
    flex: 0 0 76px;
    height: 92px;
    overflow: hidden;
    padding: 3px;
}

.z4sf-gallery__thumbs button.is-active {
    border-color: var(--z4sf-accent);
}

.z4sf-gallery__thumbs img {
    border-radius: 5px;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.z4sf-product__details {
    align-self: center;
    padding-block: 20px;
}

.z4sf-product__eyebrow {
    align-items: center;
    color: var(--z4sf-accent);
    display: flex;
    font-size: 12px;
    font-weight: 800;
    gap: 12px;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.z4sf-product__eyebrow > * + *::before {
    color: #bbb;
    content: "•";
    margin-inline-end: 12px;
}

.z4sf-product h1 {
    font-size: clamp(38px, 4.5vw, 60px);
    font-weight: 750;
    letter-spacing: -.055em;
    line-height: 1.05;
    margin: 17px 0 12px;
}

.z4sf-product__artist {
    align-items: baseline;
    color: var(--z4sf-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 15px;
    gap: 7px;
    margin: 0 0 20px;
}

.z4sf-product__artist strong {
    color: var(--z4sf-ink);
    font-size: 17px;
    font-weight: 700;
}

.z4sf-product__summary {
    color: var(--z4sf-copy);
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}

.z4sf-product__price {
    align-items: baseline;
    border-bottom: 1px solid var(--z4sf-line);
    display: flex;
    gap: 14px;
    margin-top: 27px;
    padding-bottom: 22px;
}

.z4sf-product__price strong {
    font-size: 29px;
}

.z4sf-product__price del {
    color: #929292;
    font-size: 15px;
}

.z4sf-stock {
    font-size: 13px;
    font-weight: 800;
    margin-top: 20px;
}

.z4sf-stock::before {
    background: currentColor;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 8px;
    margin-inline-end: 8px;
    width: 8px;
}

.z4sf-stock.is-available {
    color: var(--z4sf-success);
}

.z4sf-stock.is-unavailable {
    color: var(--z4sf-accent);
}

.z4sf-add-form {
    margin-top: 26px;
}

.z4sf-variant-picker {
    border: 0;
    margin: 0 0 22px;
    padding: 0;
}

.z4sf-variant-picker legend {
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 11px;
}

.z4sf-variant-picker label {
    display: inline-block;
    margin: 0 0 8px 6px;
}

.z4sf-variant-picker input {
    position: absolute;
    opacity: 0;
}

.z4sf-variant-picker span {
    border: 1px solid #dcdcdc;
    border-radius: 9px;
    display: block;
    min-width: 130px;
    padding: 10px 13px;
}

.z4sf-variant-picker strong,
.z4sf-variant-picker small {
    display: block;
}

.z4sf-variant-picker strong {
    font-size: 12px;
}

.z4sf-variant-picker small {
    color: var(--z4sf-muted);
    font-size: 10px;
    margin-top: 4px;
}

.z4sf-variant-picker input:checked + span {
    border-color: var(--z4sf-ink);
    box-shadow: inset 0 0 0 1px var(--z4sf-ink);
}

.z4sf-variant-picker label.is-unavailable {
    opacity: .45;
}

.z4sf-purchase-row {
    display: grid;
    gap: 12px;
    grid-template-columns: 130px minmax(0, 1fr);
}

.z4sf-quantity {
    align-items: center;
    border: 1px solid #dcdcdc;
    border-radius: 999px;
    display: grid;
    grid-template-columns: 38px 1fr 38px;
    overflow: hidden;
}

.z4sf-quantity button,
.z4sf-quantity input {
    background: transparent;
    border: 0;
    height: 48px;
    min-width: 0;
    outline: 0;
    text-align: center;
}

.z4sf-quantity input {
    appearance: textfield;
}

.z4sf-product__facts {
    border-top: 1px solid var(--z4sf-line);
    display: grid;
    gap: 11px;
    margin: 28px 0 0;
    padding-top: 23px;
}

.z4sf-product__facts div {
    display: grid;
    font-size: 13px;
    gap: 12px;
    grid-template-columns: 100px 1fr;
}

.z4sf-product__facts dt {
    color: var(--z4sf-muted);
}

.z4sf-product__facts dd {
    font-weight: 700;
    margin: 0;
}

.z4sf-product-info {
    border-top: 1px solid var(--z4sf-line);
    display: grid;
    gap: 50px;
    grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
    margin-top: 78px;
    padding-top: 45px;
}

.z4sf-rich-text {
    color: var(--z4sf-copy);
    font-size: 16px;
    line-height: 1.9;
}

.z4sf-specs {
    border-top: 1px solid var(--z4sf-line);
    margin: 28px 0 0;
}

.z4sf-specs div {
    border-bottom: 1px solid var(--z4sf-line);
    display: grid;
    font-size: 13px;
    gap: 20px;
    grid-template-columns: 160px 1fr;
    padding-block: 13px;
}

.z4sf-specs dt {
    color: var(--z4sf-muted);
}

.z4sf-specs dd {
    font-weight: 700;
    margin: 0;
}

.z4sf-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.z4sf-tags span {
    background: var(--z4sf-soft);
    border-radius: 999px;
    color: var(--z4sf-muted);
    font-size: 11px;
    padding: 7px 12px;
}

.z4sf-related {
    padding-inline: 0;
}

.z4sf-flow-heading {
    border-bottom: 1px solid var(--z4sf-line);
    margin: 36px 0 40px;
    padding-bottom: 25px;
}

.z4sf-flow-heading > span {
    color: var(--z4sf-muted);
    display: block;
    font-size: 13px;
    margin-top: 9px;
}

.z4sf-cart-layout,
.z4sf-checkout,
.z4sf-confirmation__grid {
    align-items: start;
    display: grid;
    gap: 44px;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .65fr);
}

.z4sf-cart-items {
    border-top: 1px solid var(--z4sf-line);
    min-width: 0;
}

.z4sf-cart-item {
    align-items: center;
    border-bottom: 1px solid var(--z4sf-line);
    display: grid;
    gap: 22px;
    grid-template-columns: 112px minmax(0, 1fr) 118px 115px;
    padding-block: 22px;
}

.z4sf-cart-item__image {
    aspect-ratio: 1;
    background: var(--z4sf-soft);
    border-radius: 10px;
    overflow: hidden;
}

.z4sf-cart-item__image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.z4sf-cart-item__details h2 {
    font-size: 16px;
    margin: 0 0 7px;
}

.z4sf-cart-item__details p,
.z4sf-cart-item__details small,
.z4sf-cart-item__details strong {
    display: block;
}

.z4sf-cart-item__details p,
.z4sf-cart-item__details small {
    color: var(--z4sf-muted);
    font-size: 11px;
    margin: 3px 0;
}

.z4sf-cart-item__details strong {
    font-size: 13px;
    margin-top: 9px;
}

.z4sf-cart-item__quantity label {
    color: var(--z4sf-muted);
    display: block;
    font-size: 10px;
    margin-bottom: 5px;
}

.z4sf-cart-item__quantity input {
    min-height: 40px;
}

.z4sf-cart-item__quantity button,
.z4sf-cart-item__total button,
.z4sf-cart-actions button {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--z4sf-muted);
    display: inline-flex;
    font-size: 11px;
    justify-content: center;
    min-height: 40px;
    padding: 5px 7px 0;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.z4sf-cart-item__total {
    text-align: end;
}

.z4sf-cart-item__total strong {
    font-size: 14px;
}

.z4sf-cart-actions {
    align-items: center;
    display: flex;
    font-size: 12px;
    font-weight: 800;
    gap: 12px;
    justify-content: space-between;
    padding-block: 12px 0;
}

.z4sf-order-summary,
.z4sf-form-card {
    background: var(--z4sf-soft);
    border-radius: 15px;
    padding: 28px;
}

.z4sf-order-summary {
    position: sticky;
    top: 24px;
}

.z4sf-order-summary h2,
.z4sf-form-card h2 {
    font-size: 22px;
    margin: 0;
}

.z4sf-order-summary dl {
    margin: 24px 0;
}

.z4sf-order-summary dl > div,
.z4sf-confirmation__totals > div {
    display: flex;
    font-size: 13px;
    justify-content: space-between;
    padding-block: 10px;
}

.z4sf-order-summary dt,
.z4sf-order-summary dd,
.z4sf-confirmation__totals dt,
.z4sf-confirmation__totals dd {
    margin: 0;
}

.z4sf-order-summary .is-total {
    border-top: 1px solid #d8d8d8;
    font-size: 17px;
    font-weight: 800;
    margin-top: 10px;
    padding-top: 18px;
}

.z4sf-order-summary > p,
.z4sf-confirmation__grid aside > p {
    color: var(--z4sf-muted);
    font-size: 12px;
    line-height: 1.7;
}

.z4sf-order-summary .z4sf-btn {
    margin-top: 7px;
    width: 100%;
}

.z4sf-coupon-form {
    border-block: 1px solid #dedede;
    margin-top: 20px;
    padding-block: 18px;
}

.z4sf-coupon-form > label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 8px;
}

.z4sf-coupon-form > div {
    display: flex;
    gap: 8px;
}

.z4sf-coupon-form input {
    background: var(--z4sf-white);
    border: 1px solid #cfcfcf;
    border-radius: 7px;
    flex: 1;
    min-width: 0;
    padding: 10px 12px;
    text-transform: uppercase;
}

.z4sf-coupon-form button,
.z4sf-coupon-applied button {
    background: var(--z4sf-ink);
    border: 0;
    border-radius: 7px;
    color: var(--z4sf-white);
    cursor: pointer;
    font-weight: 800;
    padding: 10px 14px;
}

.z4sf-coupon-form button:hover,
.z4sf-coupon-applied button:hover {
    background: var(--z4sf-accent);
}

.z4sf-coupon-form button:focus-visible,
.z4sf-coupon-applied button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--z4sf-accent) 35%, transparent);
    outline-offset: 2px;
}

.z4sf-coupon-form button:disabled {
    cursor: wait;
    opacity: .65;
}

.z4sf-coupon-error,
.z4sf-coupon-message.is-error {
    color: #a31d1d;
    display: block;
    font-size: 12px;
    margin-top: 9px;
}

.z4sf-coupon-applied {
    align-items: center;
    background: #eef7ef;
    border: 1px solid #b7d7ba;
    border-radius: 9px;
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    padding: 12px;
}

.z4sf-coupon-applied span {
    display: grid;
    gap: 3px;
}

.z4sf-coupon-applied small {
    color: var(--z4sf-muted);
}

.z4sf-order-summary .is-discount {
    color: #23742d;
    font-weight: 800;
}

.z4sf-summary-edit {
    color: var(--z4sf-muted);
    display: inline-block;
    font-size: 12px;
    margin-bottom: 14px;
}

.z4sf-shipping-quote {
    background: #eef5ef;
    border: 1px solid #c7d8c9;
    border-radius: 9px;
    display: grid;
    font-size: 12px;
    gap: 5px;
    margin-bottom: 14px;
    padding: 12px;
}

.z4sf-shipping-quote.is-error {
    background: #fff1f0;
    border-color: #e4b8b3;
    color: #8d2118;
}

.z4sf-shipping-quote small {
    color: var(--z4sf-muted);
    line-height: 1.5;
}

.z4sf-checkout {
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .72fr);
}

.z4sf-checkout__forms {
    display: grid;
    gap: 18px;
}

.z4sf-form-card {
    background: var(--z4sf-white);
    border: 1px solid var(--z4sf-line);
}

.z4sf-form-card__heading {
    align-items: center;
    border-bottom: 1px solid var(--z4sf-line);
    display: flex;
    gap: 14px;
    margin-bottom: 24px;
    padding-bottom: 18px;
}

.z4sf-form-card__heading > span {
    align-items: center;
    background: var(--z4sf-accent-soft);
    border-radius: 50%;
    color: var(--z4sf-accent);
    display: flex;
    font-size: 11px;
    font-weight: 800;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.z4sf-form-card__heading p {
    margin-bottom: 2px;
}

.z4sf-form-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr 1fr;
}

.z4sf-form-grid .is-wide {
    grid-column: 1 / -1;
}

.z4sf-payment-option {
    align-items: flex-start;
    border: 1px solid var(--z4sf-accent);
    border-radius: 11px;
    cursor: default;
    display: flex;
    gap: 12px;
    padding: 16px;
}

.z4sf-payment-option input {
    accent-color: var(--z4sf-accent);
    margin-top: 3px;
}

.z4sf-payment-option strong,
.z4sf-payment-option small {
    display: block;
}

.z4sf-payment-option small {
    color: var(--z4sf-muted);
    line-height: 1.6;
    margin-top: 5px;
}

.z4sf-checkout-summary {
    background: var(--z4sf-soft);
}

.z4sf-checkout-page {
    padding-bottom: 84px;
}

.z4sf-checkout-page .z4sf-flow-heading {
    border-bottom-color: #eadfe1;
}

.z4sf-checkout-page .z4sf-form-card,
.z4sf-checkout-page .z4sf-checkout-summary {
    border: 1px solid #eadfe1;
    border-top: 3px solid var(--z4sf-accent);
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(69, 20, 27, .07);
}

.z4sf-checkout-page .z4sf-form-card {
    padding: 30px;
}

.z4sf-checkout-page .z4sf-checkout-summary {
    background: #fbf6f6;
    padding: 30px;
}

.z4sf-checkout-page .z4sf-form-card__heading {
    border-bottom-color: #eadfe1;
    margin-bottom: 26px;
}

.z4sf-checkout-page .z4sf-field input,
.z4sf-checkout-page .z4sf-field select,
.z4sf-checkout-page .z4sf-field textarea {
    background: #fff;
    border-color: #d8ced0;
    border-radius: 11px;
    min-height: 50px;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.z4sf-checkout-page .z4sf-field select {
    accent-color: var(--z4sf-accent);
    color: var(--z4sf-ink);
}

.z4sf-choice-picker {
    position: relative;
}

.z4sf-choice-picker__toggle {
    background: var(--z4sf-white);
    border: 1px solid #d8ced0;
    border-radius: 11px;
    color: var(--z4sf-ink);
    min-height: 50px;
    padding: 10px 12px;
    text-align: start;
    transition: border-color .18s ease, box-shadow .18s ease;
    width: 100%;
}

.z4sf-choice-picker__toggle:hover,
.z4sf-choice-picker__toggle[aria-expanded="true"] {
    border-color: var(--z4sf-accent);
}

.z4sf-choice-picker__toggle:focus-visible {
    border-color: var(--z4sf-accent);
    box-shadow: 0 0 0 3px rgba(155, 17, 30, .1);
    outline: 0;
}

.z4sf-choice-picker__toggle:disabled {
    background: #f1eded;
    color: var(--z4sf-muted);
    cursor: not-allowed;
}

.z4sf-choice-picker__options {
    background: var(--z4sf-white);
    border: 1px solid #d8ced0;
    border-radius: 11px;
    box-shadow: 0 18px 38px rgba(69, 20, 27, .14);
    inset-inline: 0;
    margin-top: 6px;
    max-height: 250px;
    overflow-y: auto;
    padding: 6px;
    position: absolute;
    z-index: 80;
}

.z4sf-choice-picker__options[hidden] {
    display: none;
}

.z4sf-choice-picker__options [data-picker-option] {
    background: var(--z4sf-white);
    border: 0;
    border-radius: 8px;
    color: var(--z4sf-ink);
    display: block;
    min-height: 42px;
    padding: 9px 11px;
    text-align: start;
    width: 100%;
}

.z4sf-choice-picker__options [data-picker-option]:hover,
.z4sf-choice-picker__options [data-picker-option]:focus-visible,
.z4sf-choice-picker__options [data-picker-option][aria-selected="true"] {
    background: var(--z4sf-accent-soft);
    color: var(--z4sf-accent-dark);
    outline: 0;
}

.z4sf-checkout-page .z4sf-field select option {
    background: var(--z4sf-white);
    color: var(--z4sf-ink);
}

.z4sf-checkout-page .z4sf-field select option:checked {
    background: var(--z4sf-accent-soft);
    color: var(--z4sf-accent-dark);
}

.z4sf-checkout-page .z4sf-field select:disabled {
    background: #f1eded;
    color: var(--z4sf-muted);
    cursor: not-allowed;
}

.z4sf-checkout-page input[type="checkbox"],
.z4sf-checkout-page input[type="radio"] {
    accent-color: var(--z4sf-accent);
}

.z4sf-checkout-page ::selection {
    background: var(--z4sf-accent);
    color: var(--z4sf-white);
}

.z4sf-checkout-page .z4sf-field input:-webkit-autofill,
.z4sf-checkout-page .z4sf-field textarea:-webkit-autofill,
.z4sf-checkout-page .z4sf-field select:-webkit-autofill {
    background-color: var(--z4sf-white) !important;
    caret-color: var(--z4sf-accent);
    -webkit-box-shadow: 0 0 0 1000px var(--z4sf-white) inset !important;
    -webkit-text-fill-color: var(--z4sf-ink) !important;
}

.z4sf-checkout-page .z4sf-field input:autofill,
.z4sf-checkout-page .z4sf-field textarea:autofill,
.z4sf-checkout-page .z4sf-field select:autofill {
    background-color: var(--z4sf-white) !important;
    box-shadow: 0 0 0 1000px var(--z4sf-white) inset !important;
    color: var(--z4sf-ink) !important;
}

.z4sf-checkout-page .z4sf-shipping-quote {
    border-radius: 11px;
    margin-top: 4px;
    padding: 14px;
}

.z4sf-review-items {
    border-bottom: 1px solid #dcdcdc;
    margin-top: 18px;
    padding-bottom: 12px;
}

.z4sf-review-items article {
    align-items: center;
    display: grid;
    gap: 11px;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    padding-block: 8px;
}

.z4sf-review-items img {
    aspect-ratio: 1;
    border-radius: 7px;
    object-fit: cover;
}

.z4sf-review-items strong,
.z4sf-review-items span {
    display: block;
}

.z4sf-review-items strong {
    font-size: 12px;
}

.z4sf-review-items span {
    color: var(--z4sf-muted);
    font-size: 10px;
    margin-top: 3px;
}

.z4sf-review-items b {
    font-size: 11px;
}

.z4sf-terms {
    margin-block: 18px 12px;
}

.z4sf-terms.is-invalid {
    color: #9b111e;
}

.z4sf-terms.is-invalid input {
    outline: 2px solid rgba(155, 17, 30, .24);
    outline-offset: 3px;
}

.z4sf-terms-error {
    margin: -4px 0 14px;
    padding: 10px 12px;
    border-inline-start: 3px solid var(--z4sf-accent);
    border-radius: 6px;
    background: var(--z4sf-accent-soft);
    color: var(--z4sf-accent-dark);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.55;
}

.z4sf-terms-error[hidden] {
    display: none;
}

.z4sf-confirmation {
    padding-block: 70px 90px;
}

.z4sf-confirmation__hero {
    background: var(--z4sf-ink);
    border-radius: 18px;
    color: var(--z4sf-white);
    margin-bottom: 30px;
    padding: 55px;
}

.z4sf-confirmation__hero > span {
    background: var(--z4sf-accent);
    border-radius: 999px;
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    padding: 8px 13px;
}

.z4sf-confirmation__hero > p {
    color: rgba(255, 255, 255, .64);
    margin: 26px 0 8px;
}

.z4sf-confirmation__hero h1 {
    font-size: clamp(32px, 4vw, 52px);
    letter-spacing: -.04em;
    margin: 0;
    max-width: 780px;
}

.z4sf-confirmation__hero > div {
    margin-top: 24px;
}

.z4sf-confirmation__hero strong {
    color: #f2c4c9;
}

.z4sf-confirmation__totals {
    border-top: 1px solid var(--z4sf-line);
    margin: 20px 0 0;
    padding-top: 10px;
}

.z4sf-confirmation__totals > div:last-child {
    font-size: 16px;
    font-weight: 800;
}

.z4sf-confirmation__details {
    margin: 0;
}

.z4sf-confirmation__details > div {
    border-bottom: 1px solid var(--z4sf-line);
    padding-block: 12px;
}

.z4sf-confirmation__details dt {
    color: var(--z4sf-muted);
    font-size: 11px;
}

.z4sf-confirmation__details dd {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
    margin: 5px 0 0;
}

.z4sf-confirmation__grid aside .z4sf-btn {
    margin-top: 14px;
}

.z4sf-confirmation__actions {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
}

.z4sf-confirmation__grid aside .z4sf-confirmation__actions .z4sf-btn {
    margin-top: 0;
    padding-inline: 14px;
    width: 100%;
}

.z4sf-btn-outline {
    background: var(--z4sf-white);
    border-color: var(--z4sf-ink);
    color: var(--z4sf-ink);
}

.z4sf-btn-outline:hover {
    background: var(--z4sf-accent-soft);
    border-color: var(--z4sf-accent);
    color: var(--z4sf-accent);
    transform: translateY(-1px);
}

.z4sf-btn-outline:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--z4sf-accent) 35%, transparent);
    outline-offset: 2px;
}

@media (max-width: 1100px) {
    .z4sf-nav {
        gap: 18px;
        grid-template-columns: auto 1fr;
    }

    .z4sf-search {
        grid-column: 1 / -1;
        grid-row: 2;
        margin-bottom: 16px;
    }

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

    .z4sf-category-strip > a {
        aspect-ratio: 1.6;
    }

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

    .z4sf-product {
        gap: 42px;
    }
}

@media (max-width: 860px) {
    .z4sf-container {
        padding-inline: 18px;
    }

    .z4sf-nav-links > a:not(.z4sf-cart-link) {
        display: none;
    }

    .z4sf-hero {
        min-height: 260px;
        padding-block: 32px 50px;
    }

    .z4sf-hero .z4sf-breadcrumbs {
        margin-bottom: 30px;
    }

    .z4sf-catalog {
        grid-template-columns: 1fr;
    }

    .z4sf-filter-toggle {
        display: inline-flex;
    }

    .z4sf-filters {
        border: 0;
        display: none;
        padding: 0;
    }

    .z4sf-filters.is-open {
        background: var(--z4sf-soft);
        border-radius: 14px;
        display: block;
        padding: 20px;
    }

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

    .z4sf-product,
    .z4sf-product-info,
    .z4sf-cart-layout,
    .z4sf-checkout,
    .z4sf-confirmation__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .z4sf-product__details {
        padding: 0;
    }

    .z4sf-order-summary {
        position: static;
    }

    .z4sf-service-bar .z4sf-container {
        grid-template-columns: 1fr;
    }

    .z4sf-service-bar div > div {
        border: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .18);
        padding: 0 0 20px;
    }

    .z4sf-service-bar div > div:last-child {
        padding-bottom: 0;
    }
}

@media (max-width: 620px) {
    .z4sf-container {
        padding-inline: 14px;
    }

    .z4sf-nav {
        min-height: 72px;
    }

    .z4sf-brand strong {
        font-size: 20px;
    }

    .z4sf-nav-links {
        gap: 10px;
    }

    .z4sf-cart-link {
        min-height: 38px;
        padding-inline: 13px;
    }

    .z4sf-section {
        padding-top: 54px;
    }

    .z4sf-category-strip {
        display: flex;
        margin-inline: -14px;
        overflow-x: auto;
        padding-inline: 14px;
        scroll-snap-type: x mandatory;
    }

    .z4sf-category-strip > a {
        aspect-ratio: 1.15;
        flex: 0 0 72%;
        scroll-snap-align: start;
    }

    .z4sf-product-grid,
    .z4sf-product-grid.is-featured {
        gap: 28px 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .z4sf-product-card__media {
        border-radius: 9px;
    }

    .z4sf-product-card__meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .z4sf-product-card h3 {
        font-size: 14px;
        margin-block: 7px 10px;
    }

    .z4sf-product-card__footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .z4sf-card-action {
        font-size: 11px;
    }

    .z4sf-section-heading,
    .z4sf-catalog-heading {
        align-items: flex-start;
    }

    .z4sf-section-heading > a {
        display: none;
    }

    .z4sf-sort {
        align-items: stretch;
        flex-direction: column;
    }

    .z4sf-sort select {
        width: 100%;
    }

    .z4sf-product-page,
    .z4sf-flow-page {
        padding-block: 26px 60px;
    }

    .z4sf-product {
        margin-top: 20px;
    }

    .z4sf-product h1 {
        font-size: 36px;
    }

    .z4sf-purchase-row {
        grid-template-columns: 1fr;
    }

    .z4sf-product-info {
        gap: 28px;
        margin-top: 54px;
    }

    .z4sf-cart-item {
        align-items: start;
        gap: 13px;
        grid-template-columns: 86px minmax(0, 1fr);
    }

    .z4sf-cart-item__quantity,
    .z4sf-cart-item__total {
        grid-column: 2;
        text-align: start;
    }

    .z4sf-cart-item__quantity input {
        max-width: 110px;
    }

    .z4sf-quantity {
        grid-template-columns: 44px minmax(0, 1fr) 44px;
    }

    .z4sf-cart-item__quantity button,
    .z4sf-cart-item__total button,
    .z4sf-cart-actions a,
    .z4sf-cart-actions button {
        min-height: 44px;
        min-width: 44px;
    }

    .z4sf-cart-actions {
        flex-wrap: wrap;
    }

    .z4sf-form-grid {
        grid-template-columns: 1fr;
    }

    .z4sf-form-grid .is-wide {
        grid-column: auto;
    }

    .z4sf-order-summary,
    .z4sf-form-card {
        padding: 21px 17px;
    }

    .z4sf-confirmation {
        padding-block: 36px 60px;
    }

    .z4sf-confirmation__hero {
        padding: 36px 22px;
    }
}

/* Storefront product detail: legacy selectors retained for older cached views. */
.z4-storefront-product {
    background: #fbf8f5;
    color: #1e293b;
    min-height: 100%;
    padding: 52px 24px 84px;
}

.z4-storefront-product__shell {
    margin: 0 auto;
    max-width: 1180px;
}

.z4-storefront-product__crumbs {
    align-items: center;
    color: #64748b;
    display: flex;
    font-size: 13px;
    gap: 10px;
    margin-bottom: 30px;
    overflow: hidden;
    white-space: nowrap;
}

.z4-storefront-product__crumbs a {
    color: #9b111e;
    font-weight: 700;
    text-decoration: none;
}

.z4-storefront-product__crumbs span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.z4-storefront-product__layout {
    display: grid;
    gap: 62px;
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
}

.z4-storefront-product__image-frame {
    align-items: center;
    aspect-ratio: 4 / 5;
    background: #f1ece6;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.z4-storefront-product__image-frame img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.z4-storefront-product__thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

.z4-storefront-product__thumb {
    background: #fff;
    border: 1px solid #ddd4cc;
    cursor: pointer;
    height: 72px;
    overflow: hidden;
    padding: 2px;
    transition: border-color .18s ease, transform .18s ease;
    width: 62px;
}

.z4-storefront-product__thumb:hover,
.z4-storefront-product__thumb.is-active {
    border-color: #9b111e;
    transform: translateY(-2px);
}

.z4-storefront-product__thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.z4-storefront-product__details {
    align-self: center;
    padding: 22px 0;
}

.z4-storefront-product__eyebrow,
.z4-storefront-product__section-label {
    color: #9b111e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.z4-storefront-product__eyebrow {
    display: flex;
    gap: 12px;
}

.z4-storefront-product__eyebrow span + span::before {
    color: #c5bcb5;
    content: "•";
    margin-right: 12px;
}

.z4-storefront-product__details h1 {
    color: #172033;
    font-size: clamp(34px, 4vw, 54px);
    letter-spacing: -.045em;
    line-height: 1.06;
    margin: 15px 0 20px;
}

.z4-storefront-product__summary {
    color: #516176;
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
    max-width: 530px;
}

.z4-storefront-product__price {
    align-items: baseline;
    border-bottom: 1px solid #e4dcd5;
    display: flex;
    gap: 14px;
    margin-top: 31px;
    padding-bottom: 24px;
}

.z4-storefront-product__price strong {
    color: #172033;
    font-size: 31px;
    letter-spacing: -.03em;
}

.z4-storefront-product__price small {
    font-size: 14px;
    letter-spacing: .04em;
}

.z4-storefront-product__price del {
    color: #8490a1;
    font-size: 15px;
}

.z4-storefront-product__availability {
    border-left: 3px solid #a3a3a3;
    color: #4b5563;
    font-size: 14px;
    font-weight: 700;
    margin-top: 23px;
    padding-left: 11px;
}

.z4-storefront-product__variants { border-top: 1px solid #e5e7eb; margin-top: 22px; padding-top: 18px; }
.z4-storefront-product__variants > span { color: #6b7280; display: block; font-size: 12px; font-weight: 800; letter-spacing: .05em; margin-bottom: 10px; text-transform: uppercase; }
.z4-storefront-product__variants > div { display: grid; gap: 8px; }
.z4-storefront-product__variants article { align-items: center; border: 1px solid #e5e7eb; border-radius: 9px; display: grid; gap: 4px 12px; grid-template-columns: minmax(0, 1fr) auto; padding: 11px 12px; }
.z4-storefront-product__variants article.is-unavailable { opacity: .58; }
.z4-storefront-product__variants strong { color: #111827; font-size: 13px; }
.z4-storefront-product__variants small { color: #6b7280; font-size: 11px; }
.z4-storefront-product__variants b { color: #111827; grid-column: 2; grid-row: 1; font-size: 13px; }
.z4-storefront-product__variants em { color: #15803d; font-size: 11px; font-style: normal; font-weight: 750; grid-column: 2; grid-row: 2; text-align: end; }
.z4-storefront-product__variants article.is-unavailable em { color: #b91c1c; }

.z4-storefront-product__availability.is-available {
    border-color: #23845a;
    color: #186140;
}

.z4-storefront-product__availability.is-unavailable {
    border-color: #b42318;
    color: #8f1e18;
}

.z4-storefront-product__facts {
    display: grid;
    gap: 12px;
    margin: 25px 0 0;
}

.z4-storefront-product__facts div {
    display: grid;
    gap: 16px;
    grid-template-columns: 110px 1fr;
}

.z4-storefront-product__facts dt {
    color: #79869a;
    font-size: 13px;
}

.z4-storefront-product__facts dd {
    color: #26364f;
    font-size: 14px;
    font-weight: 650;
    margin: 0;
}

.z4-storefront-product__notice {
    background: #f3eee9;
    color: #5b6471;
    font-size: 13px;
    line-height: 1.6;
    margin: 31px 0 0;
    padding: 15px 17px;
}

.z4-storefront-product__about {
    border-top: 1px solid #e4dcd5;
    display: grid;
    gap: 48px;
    grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr);
    margin-top: 72px;
    padding-top: 42px;
}

.z4-storefront-product__about h2 {
    color: #172033;
    font-size: 27px;
    letter-spacing: -.03em;
    margin: 11px 0 0;
}

.z4-storefront-product__description {
    color: #445268;
    font-size: 16px;
    line-height: 1.8;
}

.z4-storefront-product__description p {
    margin: 0;
}

.z4-storefront-product__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.z4-storefront-product__tags span {
    background: #fff;
    border: 1px solid #ddd4cc;
    color: #5a6677;
    font-size: 12px;
    padding: 6px 10px;
}

@media (max-width: 760px) {
    .z4-storefront-product {
        padding: 30px 16px 52px;
    }

    .z4-storefront-product__crumbs {
        margin-bottom: 20px;
    }

    .z4-storefront-product__layout,
    .z4-storefront-product__about {
        gap: 30px;
        grid-template-columns: 1fr;
    }

    .z4-storefront-product__details {
        padding: 0;
    }

    .z4-storefront-product__about {
        margin-top: 44px;
        padding-top: 30px;
    }
}

/* Storefront product detail: purchase-focused layout. */
.z4sf-pdp {
    direction: ltr;
    padding-block: 28px 90px;
    text-align: left;
}

.z4sf-pdp__breadcrumbs {
    align-items: center;
    color: var(--z4sf-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 9px;
    margin-bottom: 22px;
}

.z4sf-pdp__breadcrumbs a {
    color: var(--z4sf-copy);
    font-weight: 700;
}

.z4sf-pdp__breadcrumbs a:hover {
    color: var(--z4sf-accent);
}

.z4sf-pdp__breadcrumbs span[aria-current="page"] {
    color: var(--z4sf-ink);
    font-weight: 700;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.z4sf-pdp__hero {
    align-items: start;
    display: grid;
    gap: 44px;
    grid-template-areas: "purchase gallery";
    grid-template-columns: minmax(340px, .78fr) minmax(0, 1.22fr);
}

.z4sf-pdp-gallery {
    grid-area: gallery;
    min-width: 0;
}

.z4sf-pdp-gallery__stage {
    align-items: center;
    aspect-ratio: 1 / 1.04;
    background: #f4f1ed;
    border: 1px solid #e8e1db;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.z4sf-pdp-gallery__stage > img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.z4sf-pdp-gallery__stage .z4sf-badge {
    inset-block-start: 18px;
    inset-inline-start: 18px;
    position: absolute;
}

.z4sf-pdp-gallery__counter {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(31, 31, 31, .1);
    border-radius: 6px;
    bottom: 16px;
    color: var(--z4sf-copy);
    direction: ltr;
    font-size: 11px;
    inset-inline-end: 16px;
    padding: 6px 9px;
    position: absolute;
}

.z4sf-pdp-gallery__counter b {
    color: var(--z4sf-ink);
}

.z4sf-pdp-gallery__rail {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    margin-top: 12px;
}

.z4sf-pdp-gallery__arrow {
    align-items: center;
    background: #fff;
    border: 1px solid var(--z4sf-line);
    border-radius: 7px;
    color: var(--z4sf-ink);
    display: flex;
    font-size: 26px;
    height: 50px;
    justify-content: center;
    padding: 0;
    width: 42px;
}

.z4sf-pdp-gallery__arrow:hover,
.z4sf-pdp-gallery__arrow:focus-visible {
    border-color: var(--z4sf-accent);
    color: var(--z4sf-accent);
    outline: 0;
}

.z4sf-pdp-gallery__thumbs {
    display: flex;
    gap: 10px;
    min-width: 0;
    overflow-x: auto;
    padding: 2px;
    scrollbar-width: thin;
}

.z4sf-pdp-gallery__thumbs button {
    background: #f7f5f2;
    border: 1px solid #ddd8d2;
    border-radius: 7px;
    flex: 0 0 94px;
    height: 86px;
    overflow: hidden;
    padding: 3px;
}

.z4sf-pdp-gallery__thumbs button:hover,
.z4sf-pdp-gallery__thumbs button:focus-visible {
    border-color: #9d777b;
    outline: 0;
}

.z4sf-pdp-gallery__thumbs button.is-active {
    border-color: var(--z4sf-accent);
    box-shadow: 0 0 0 1px var(--z4sf-accent);
}

.z4sf-pdp-gallery__thumbs img {
    border-radius: 4px;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.z4sf-pdp-purchase {
    align-self: start;
    grid-area: purchase;
    min-width: 0;
    position: sticky;
    top: 24px;
}

.z4sf-pdp-purchase__eyebrow {
    align-items: center;
    color: var(--z4sf-accent);
    display: flex;
    flex-wrap: wrap;
    font-size: 11px;
    font-weight: 800;
    gap: 9px 14px;
    letter-spacing: .08em;
    min-height: 20px;
    text-transform: uppercase;
}

.z4sf-pdp-purchase__eyebrow > * + *::before {
    color: #b7b7b7;
    content: "•";
    margin-inline-end: 14px;
}

.z4sf-pdp-purchase h1 {
    color: var(--z4sf-ink);
    font-size: 48px;
    font-weight: 780;
    letter-spacing: 0;
    line-height: 1.08;
    margin: 13px 0 11px;
    overflow-wrap: anywhere;
}

.z4sf-pdp-purchase__artist {
    align-items: baseline;
    color: var(--z4sf-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    gap: 6px;
    margin: 0 0 17px;
}

.z4sf-pdp-purchase__artist strong {
    color: var(--z4sf-ink);
    font-size: 15px;
}

.z4sf-pdp-purchase__summary {
    color: var(--z4sf-copy);
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}

.z4sf-pdp-purchase__commercial {
    align-items: flex-start;
    border-bottom: 1px solid var(--z4sf-line);
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 24px;
    padding-bottom: 20px;
}

.z4sf-pdp-purchase .z4sf-product__price {
    border: 0;
    margin: 0;
    padding: 0;
}

.z4sf-pdp-purchase .z4sf-product__price strong {
    font-size: 27px;
    letter-spacing: 0;
}

.z4sf-pdp-purchase .z4sf-stock {
    margin: 0;
    text-align: start;
}

.z4sf-pdp-sale-period,
.z4sf-stock-quantity {
    align-items: baseline;
    color: var(--z4sf-copy);
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 6px;
    margin: 0;
}

.z4sf-pdp-sale-period strong,
.z4sf-stock-quantity strong {
    color: var(--z4sf-ink);
    font-size: 12px;
}

.z4sf-pdp-stock-summary {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.z4sf-pdp-form {
    margin-top: 23px;
}

.z4sf-pdp-options {
    border: 0;
    margin: 0 0 21px;
    padding: 0;
}

.z4sf-pdp-options__heading {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
}

.z4sf-pdp-options__heading span,
.z4sf-pdp-form__label {
    color: var(--z4sf-ink);
    font-size: 12px;
    font-weight: 800;
}

.z4sf-pdp-options__heading small {
    color: var(--z4sf-muted);
    font-size: 10px;
    font-weight: 500;
}

.z4sf-pdp-options__axes {
    display: grid;
    gap: 16px;
}

.z4sf-pdp-option-axis {
    border: 0;
    margin: 0;
    min-width: 0;
    padding: 0;
}

.z4sf-pdp-option-axis legend {
    color: var(--z4sf-ink);
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 8px;
    padding: 0;
}

.z4sf-pdp-option-axis__values {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.z4sf-pdp-option-axis label {
    cursor: pointer;
    min-width: 0;
}

.z4sf-pdp-option-axis input {
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.z4sf-pdp-option-axis label > span {
    align-items: center;
    border: 1px solid #dcdcdc;
    border-radius: 7px;
    color: var(--z4sf-ink);
    display: inline-flex;
    font-size: 11px;
    font-weight: 750;
    justify-content: center;
    min-height: 40px;
    min-width: 52px;
    padding: 8px 14px;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.z4sf-pdp-option-axis label:hover > span {
    border-color: #a9a9a9;
}

.z4sf-pdp-option-axis input:focus-visible + span {
    box-shadow: 0 0 0 4px rgba(155, 17, 30, .1);
}

.z4sf-pdp-option-axis input:checked + span {
    background: #fffafb;
    border-color: var(--z4sf-accent);
    box-shadow: inset 0 0 0 1px var(--z4sf-accent);
}

.z4sf-pdp-option-axis label.is-unavailable {
    cursor: not-allowed;
    opacity: .45;
}

.z4sf-pdp-option-axis label.is-unavailable > span {
    text-decoration: line-through;
}

.z4sf-pdp-form__label {
    display: block;
    margin-bottom: 9px;
}

.z4sf-pdp-form__actions {
    display: grid;
    gap: 10px;
    grid-template-columns: 118px minmax(0, 1fr);
}

.z4sf-pdp-form__actions .z4sf-quantity {
    border-radius: 7px;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
}

.z4sf-pdp-form__actions .z4sf-quantity input {
    min-width: 0;
    padding-inline: 0;
    width: 100%;
}

.z4sf-pdp-form__actions .z4sf-add-button {
    border-radius: 7px;
    min-height: 50px;
}

.z4sf-pdp-trust {
    border-bottom: 1px solid var(--z4sf-line);
    border-top: 1px solid var(--z4sf-line);
    display: grid;
    gap: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 25px;
    padding-block: 8px;
}

.z4sf-pdp-trust > div {
    align-items: center;
    display: grid;
    gap: 9px;
    grid-template-columns: 31px minmax(0, 1fr);
    min-width: 0;
    padding: 10px 7px;
}

.z4sf-pdp-trust > div > span {
    align-items: center;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    color: var(--z4sf-accent);
    direction: ltr;
    display: flex;
    font-size: 9px;
    font-weight: 900;
    height: 31px;
    justify-content: center;
    width: 31px;
}

.z4sf-pdp-trust p,
.z4sf-pdp-trust strong,
.z4sf-pdp-trust small {
    display: block;
    margin: 0;
}

.z4sf-pdp-trust strong {
    color: var(--z4sf-ink);
    font-size: 10px;
}

.z4sf-pdp-trust small {
    color: var(--z4sf-muted);
    font-size: 9px;
    line-height: 1.45;
    margin-top: 2px;
}

.z4sf-pdp-meta {
    display: grid;
    gap: 8px;
    margin: 18px 0 0;
}

.z4sf-pdp-meta > div {
    display: grid;
    font-size: 11px;
    gap: 12px;
    grid-template-columns: 82px minmax(0, 1fr);
}

.z4sf-pdp-meta dt {
    color: var(--z4sf-muted);
}

.z4sf-pdp-meta dd {
    color: var(--z4sf-ink);
    font-weight: 700;
    margin: 0;
    overflow-wrap: anywhere;
}

.z4sf-pdp-information {
    border-top: 1px solid var(--z4sf-line);
    margin-top: 72px;
    padding-top: 0;
}

.z4sf-pdp-tabs {
    display: flex;
    gap: 38px;
    justify-content: center;
    overflow-x: auto;
}

.z4sf-pdp-tabs button {
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    color: var(--z4sf-muted);
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 800;
    min-height: 56px;
    padding: 0 8px;
}

.z4sf-pdp-tabs button:hover,
.z4sf-pdp-tabs button:focus-visible {
    color: var(--z4sf-ink);
    outline: 0;
}

.z4sf-pdp-tabs button[aria-selected="true"] {
    border-bottom-color: var(--z4sf-accent);
    color: var(--z4sf-ink);
}

.z4sf-pdp-panel {
    border-top: 1px solid var(--z4sf-line);
    padding: 36px 20px 10px;
}

.z4sf-pdp-panel[hidden] {
    display: none;
}

.z4sf-pdp-panel:not([hidden]) {
    display: grid;
    gap: 60px;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
}

.z4sf-pdp-panel__intro > span {
    color: var(--z4sf-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.z4sf-pdp-panel__intro h2 {
    color: var(--z4sf-ink);
    font-size: 27px;
    letter-spacing: 0;
    margin: 7px 0 16px;
}

.z4sf-pdp-panel__intro > p {
    color: var(--z4sf-copy);
    line-height: 1.8;
}

.z4sf-pdp-specification-block {
    border: 1px solid var(--z4sf-line);
    border-radius: 8px;
    padding: 22px;
}

.z4sf-pdp-specification-block h3 {
    font-size: 15px;
    margin: 0 0 8px;
}

.z4sf-pdp-specification-block .z4sf-specs {
    margin-top: 0;
}

.z4sf-pdp-specification-block .z4sf-specs div {
    grid-template-columns: 130px minmax(0, 1fr);
}

.z4sf-pdp-policy {
    align-items: start;
    border-bottom: 1px solid var(--z4sf-line);
    display: grid;
    gap: 18px;
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 4px 0 24px;
}

.z4sf-pdp-policy > span {
    color: var(--z4sf-accent);
    direction: ltr;
    font-size: 12px;
    font-weight: 900;
}

.z4sf-pdp-policy h2 {
    font-size: 16px;
    margin: 0 0 7px;
}

.z4sf-pdp-policy p {
    color: var(--z4sf-copy);
    font-size: 13px;
    line-height: 1.75;
    margin: 0;
}

.z4sf-pdp-related {
    padding-inline: 0;
    padding-top: 78px;
}

.z4sf-pdp-related .z4sf-section-heading {
    border-top: 1px solid var(--z4sf-line);
    padding-top: 34px;
}

@media (max-width: 1100px) {
    .z4sf-pdp__hero {
        gap: 30px;
        grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
    }

    .z4sf-pdp-purchase h1 {
        font-size: 40px;
    }

}

@media (max-width: 860px) {
    .z4sf-pdp {
        padding-block: 22px 70px;
    }

    .z4sf-pdp__hero {
        grid-template-areas: "gallery" "purchase";
        grid-template-columns: minmax(0, 1fr);
    }

    .z4sf-pdp-gallery__stage {
        aspect-ratio: 1 / .96;
    }

    .z4sf-pdp-purchase {
        position: static;
    }

    .z4sf-pdp-panel:not([hidden]) {
        gap: 34px;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .z4sf-pdp {
        padding-block: 18px 54px;
    }

    .z4sf-pdp__breadcrumbs {
        margin-bottom: 16px;
    }

    .z4sf-pdp__hero {
        gap: 26px;
    }

    .z4sf-pdp-gallery__stage {
        aspect-ratio: 1 / 1.04;
        margin-inline: -14px;
        border-left: 0;
        border-radius: 0;
        border-right: 0;
    }

    .z4sf-pdp-gallery__rail {
        gap: 7px;
        grid-template-columns: 36px minmax(0, 1fr) 36px;
    }

    .z4sf-pdp-gallery__arrow {
        font-size: 22px;
        height: 46px;
        width: 36px;
    }

    .z4sf-pdp-gallery__thumbs button {
        flex-basis: 76px;
        height: 70px;
    }

    .z4sf-pdp-purchase h1 {
        font-size: 34px;
    }

    .z4sf-pdp-purchase__commercial {
        align-items: start;
        flex-direction: column;
        gap: 11px;
    }

    .z4sf-pdp-purchase .z4sf-stock {
        text-align: start;
    }

    .z4sf-pdp-options__heading {
        align-items: start;
        flex-direction: column;
        gap: 4px;
    }

    .z4sf-pdp-option-axis label > span {
        min-height: 38px;
        min-width: 48px;
        padding-inline: 12px;
    }

    .z4sf-pdp-form__actions {
        grid-template-columns: 104px minmax(0, 1fr);
    }

    .z4sf-pdp-trust {
        grid-template-columns: 1fr;
    }

    .z4sf-pdp-trust > div {
        border-bottom: 1px solid var(--z4sf-line);
    }

    .z4sf-pdp-trust > div:last-child {
        border-bottom: 0;
    }

    .z4sf-pdp-information {
        margin-top: 52px;
    }

    .z4sf-pdp-tabs {
        justify-content: flex-start;
        margin-inline: -14px;
        padding-inline: 14px;
    }

    .z4sf-pdp-panel {
        padding: 28px 0 0;
    }

    .z4sf-pdp-specification-block {
        padding: 18px 14px;
    }

    .z4sf-pdp-specification-block .z4sf-specs div {
        gap: 7px;
        grid-template-columns: 1fr;
    }

    .z4sf-pdp-related {
        padding-top: 58px;
    }
}

.z4-store-admin {
    --store-bg: #f8fbff;
    --store-surface: #ffffff;
    --store-border: #dde5f1;
    --store-border-strong: #cbd5e1;
    --store-text: #111827;
    --store-copy: #1f2a44;
    --store-muted: #405072;
    --store-primary: #9a0000;
    --store-primary-strong: #790000;
    --store-primary-soft: #fff4f0;
    --store-danger: #dc2626;
    --store-success: #15803d;
    background: var(--store-bg);
    color: var(--store-copy);
    direction: ltr;
    text-align: start;
    min-height: 100vh;
    min-width: 0;
    overflow-x: clip;
    padding: 48px 24px 80px;
    width: 100%;
}

/* Product creation is a focused workspace: retain the top bar, but free the canvas from the admin sidebar. */
html body:has(.z4-store-product-editor-page) > .min-h-screen {
    padding-left: 0 !important;
}

html body:has(.z4-store-product-editor-page) .z4-admin-sidebar,
html body:has(.z4-store-product-editor-page) .z4-builder-sidebar-toggle {
    display: none !important;
}

/* The admin theme clears padding on every <main>; Store owns this nested main. */
html body:has(.z4-admin-sidebar) main.z4-store-admin,
html body:has(.admin-sidebar) main.z4-store-admin,
html body:has(.dashboard-sidebar) main.z4-store-admin {
    padding: 48px 24px 80px !important;
}

.z4-store-admin,
.z4-store-admin * {
    box-sizing: border-box;
}

.z4-store-container {
    margin: 0 auto;
    max-width: 1500px;
    min-width: 0;
}

.z4-store-container-narrow {
    max-width: 1180px;
}

.z4-store-nav {
    align-items: center;
    border-bottom: 1px solid var(--store-border);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 34px;
    padding-bottom: 14px;
}

.z4-store-nav a {
    border: 1px solid transparent;
    border-radius: 8px;
    color: #5d3430;
    font-size: 13px;
    font-weight: 750;
    padding: 9px 13px;
    text-decoration: none;
}

.z4-store-nav a:hover,
.z4-store-nav a:focus-visible {
    border-color: #ead7d4;
    color: var(--store-primary);
    outline: none;
}

.z4-store-nav a.is-active {
    background: var(--store-primary);
    border-color: var(--store-primary);
    color: #fff;
}

.z4-store-heading {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 56px;
}

.z4-store-heading h1 {
    color: var(--store-text);
    font-size: 32px;
    font-weight: 800;
    line-height: 1.1;
    margin: 7px 0 10px;
}

.z4-store-heading p {
    color: var(--store-muted);
    font-size: 15px;
    margin: 0;
}

.z4-store-eyebrow {
    color: var(--store-primary);
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.z4-store-back {
    color: var(--store-primary);
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 4px;
    text-decoration: none;
}

.z4-store-title-line,
.z4-store-heading-actions,
.z4-store-filter-actions,
.z4-store-form-actions,
.z4-store-media-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.z4-store-title-line h1 {
    margin-right: 8px;
}

.z4-store-heading-actions {
    justify-content: flex-end;
}

.z4-store-heading-actions form {
    margin: 0;
}

.z4-store-btn {
    align-items: center;
    appearance: none;
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 8px;
    color: var(--store-copy);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.z4-store-btn:hover,
.z4-store-btn:focus-visible {
    border-color: var(--store-primary);
    color: var(--store-primary);
    outline: none;
}

.z4-store-btn:active {
    transform: translateY(1px);
}

.z4-store-btn:disabled {
    cursor: wait;
    opacity: .62;
}

.z4-store-btn-primary,
.z4-store-btn-primary:visited {
    background: var(--store-primary);
    border-color: var(--store-primary);
    color: #fff !important;
}

.z4-store-btn-primary:hover,
.z4-store-btn-primary:focus-visible {
    background: var(--store-primary-strong);
    border-color: var(--store-primary-strong);
    color: #fff !important;
}

html body main .z4-store-admin a.z4-store-btn.z4-store-btn-primary,
html body main .z4-store-admin a.z4-store-btn.z4-store-btn-primary:visited,
html body main .z4-store-admin button.z4-store-btn.z4-store-btn-primary {
    background: var(--store-primary) !important;
    border-color: var(--store-primary) !important;
    color: #fff !important;
}

html body main .z4-store-admin a.z4-store-btn.z4-store-btn-primary:hover,
html body main .z4-store-admin a.z4-store-btn.z4-store-btn-primary:focus-visible,
html body main .z4-store-admin button.z4-store-btn.z4-store-btn-primary:hover,
html body main .z4-store-admin button.z4-store-btn.z4-store-btn-primary:focus-visible {
    background: var(--store-primary-strong) !important;
    border-color: var(--store-primary-strong) !important;
}

.z4-store-btn-danger {
    border-color: #fecaca;
    color: var(--store-danger);
}

.z4-store-btn-danger:hover {
    background: #fef2f2;
    border-color: #ef4444;
    color: #b91c1c;
}

.z4-store-confirm-dialog {
    background: var(--store-surface);
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 20px;
    box-shadow: 0 32px 90px rgba(17, 24, 39, .32);
    color: var(--store-copy);
    margin: auto;
    max-width: 540px;
    overflow: hidden;
    padding: 0;
    width: calc(100% - 32px);
}

.z4-store-confirm-dialog:not([open]) {
    display: none;
}

.z4-store-confirm-dialog::backdrop {
    backdrop-filter: blur(6px);
    background: rgba(17, 24, 39, .64);
}

.z4-store-confirm-dialog__accent {
    background: linear-gradient(90deg, #991b1b, #dc2626 58%, #f87171);
    height: 6px;
    width: 100%;
}

.z4-store-confirm-dialog__content {
    padding: 30px 32px 26px;
}

.z4-store-confirm-dialog__heading {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    margin-bottom: 14px;
}

.z4-store-confirm-dialog__icon {
    align-items: center;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 14px;
    color: #b91c1c;
    display: inline-flex;
    flex: 0 0 48px;
    height: 48px;
    justify-content: center;
}

.z4-store-confirm-dialog__icon svg {
    fill: none;
    height: 24px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 24px;
}

.z4-store-confirm-dialog__eyebrow {
    color: var(--store-primary);
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.z4-store-confirm-dialog h2 {
    color: var(--store-text);
    font-size: 23px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 10px;
}

.z4-store-confirm-dialog p {
    color: var(--store-muted);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}

.z4-store-confirm-dialog__verification {
    background: #fff8f8;
    border: 1px solid #fecaca;
    border-radius: 14px;
    margin-top: 22px;
    padding: 16px;
}

.z4-store-confirm-dialog__verification[hidden] {
    display: none;
}

.z4-store-confirm-dialog__verification-label {
    color: #6b2020;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px;
}

.z4-store-confirm-dialog__required-value {
    background: #fff;
    border: 1px dashed #ef9a9a;
    border-radius: 9px;
    color: #991b1b;
    display: block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 14px;
    letter-spacing: .035em;
    margin-bottom: 12px;
    padding: 10px 12px;
    user-select: all;
}

.z4-store-confirm-dialog__input-wrap {
    display: block;
}

.z4-store-confirm-dialog__input-wrap .z4-store-input {
    background: #fff;
    border-color: #e5b4b4;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    width: 100%;
}

.z4-store-confirm-dialog__input-wrap .z4-store-input:focus {
    border-color: #b91c1c;
    box-shadow: 0 0 0 3px rgba(185, 28, 28, .12);
}

.z4-store-confirm-dialog__input-wrap .z4-store-input[aria-invalid="true"] {
    border-color: #dc2626;
}

.z4-store-confirm-dialog__error {
    color: #b91c1c;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-top: 8px;
}

.z4-store-confirm-dialog__error[hidden] {
    display: none;
}

.z4-store-confirm-dialog__actions {
    align-items: center;
    background: #fafafa;
    border-top: 1px solid var(--store-border);
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding: 17px 32px 20px;
}

.z4-store-confirm-dialog__confirm,
.z4-store-confirm-dialog__confirm:visited {
    background: var(--store-primary);
    border-color: var(--store-primary);
    color: #fff;
}

.z4-store-confirm-dialog__confirm:hover,
.z4-store-confirm-dialog__confirm:focus-visible {
    background: var(--store-primary-strong);
    border-color: var(--store-primary-strong);
    color: #fff;
}

.z4-store-confirm-dialog__confirm.is-danger,
.z4-store-confirm-dialog__confirm.is-danger:visited {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
}

.z4-store-confirm-dialog__confirm.is-danger:hover,
.z4-store-confirm-dialog__confirm.is-danger:focus-visible {
    background: #991b1b;
    border-color: #991b1b;
}

.z4-store-confirm-dialog__confirm:disabled {
    background: #d6d3d1 !important;
    border-color: #d6d3d1 !important;
    color: #78716c !important;
    cursor: not-allowed;
    opacity: 1;
}

@media (max-width: 520px) {
    .z4-store-confirm-dialog__content {
        padding: 24px 22px 20px;
    }

    .z4-store-confirm-dialog__heading {
        gap: 12px;
    }

    .z4-store-confirm-dialog__icon {
        border-radius: 12px;
        flex-basis: 42px;
        height: 42px;
    }

    .z4-store-confirm-dialog__actions {
        padding: 14px 22px 20px;
    }

    .z4-store-confirm-dialog__actions .z4-store-btn {
        flex: 1 1 0;
    }
}

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

.z4-store-btn-small {
    min-height: 36px;
    padding: 0 12px;
}

.z4-store-field-note {
    color: #687076;
    font-size: 12px;
    line-height: 1.55;
    margin: 0 0 6px;
}

.z4-store-alert {
    border: 1px solid;
    border-radius: 10px;
    font-size: 14px;
    margin-bottom: 22px;
    padding: 14px 16px;
}

.z4-store-alert:focus {
    outline: 3px solid rgba(154, 0, 0, .18);
    outline-offset: 3px;
}

.z4-store-alert strong {
    margin-right: 4px;
}

.z4-store-alert ul {
    margin: 8px 0 0;
    padding-left: 22px;
}

.z4-store-alert-success {
    background: #ecfdf5;
    border-color: #bbf7d0;
    color: #166534;
}

.z4-store-alert-warning {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a6300;
}

.z4-store-alert-danger {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

.z4-store-stat-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 30px;
}

.z4-store-stat-card,
.z4-store-filter-card,
.z4-store-table-card,
.z4-store-form-card,
.z4-store-side-card,
.z4-store-next-card {
    background: var(--store-surface);
    border: 1px solid var(--store-border);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .03);
}

.z4-store-stat-card {
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: 58px minmax(0, 1fr);
    min-height: 114px;
    padding: 20px;
}

.z4-store-stat-card small,
.z4-store-stat-card span {
    color: var(--store-muted);
    display: block;
    font-size: 13px;
}

.z4-store-stat-card strong {
    color: var(--store-text);
    display: block;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    margin: 9px 0;
}

.z4-store-stat-icon {
    align-items: center;
    border: 1px solid;
    border-radius: 10px;
    display: flex !important;
    font-size: 25px !important;
    height: 56px;
    justify-content: center;
    width: 56px;
}

.z4-store-stat-icon.is-purple,
.z4-store-stat-icon.is-orange,
.z4-store-stat-icon.is-blue { background: var(--store-primary-soft); border-color: #e9c7c2; color: var(--store-primary); }
.z4-store-stat-icon.is-green { background: #e5f7ed; border-color: #c6ebd7; color: #16a34a; }

.z4-store-filter-card {
    align-items: end;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(220px, 1.35fr) repeat(5, minmax(135px, .75fr)) auto;
    margin-bottom: 28px;
    padding: 24px 20px;
}

.z4-store-admin label > span {
    color: var(--store-copy);
    display: block;
    font-size: 13px;
    font-weight: 750;
    margin-bottom: 7px;
}

.z4-store-admin label:not(.z4-store-check) > span > small {
    display: inline;
    font-size: 11px;
    font-weight: 500;
    margin: 0 0 0 4px;
}

.z4-store-admin label > span b {
    color: var(--store-danger);
}

.z4-store-admin label small {
    color: #64748b;
    display: block;
    font-size: 12px;
    margin-top: 6px;
}

.z4-store-input,
.z4-store-select,
.z4-store-textarea {
    appearance: none;
    background: #fff;
    border: 1px solid #d4deec;
    border-radius: 8px;
    color: var(--store-text);
    font: inherit;
    font-size: 14px;
    min-height: 44px;
    padding: 10px 12px;
    width: 100%;
}

.z4-store-admin :is(.z4-store-input, .z4-store-select, .z4-store-textarea).is-invalid {
    border-color: var(--store-danger);
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .12);
}

.z4-store-admin .z4-store-field-error {
    color: var(--store-danger);
    display: block;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.45;
    margin-top: 7px;
}

.z4-store-admin :is(button, a, input, select, textarea):focus-visible {
    outline: 3px solid rgba(154, 0, 0, .24);
    outline-offset: 2px;
}

.z4-store-admin button[aria-busy="true"],
.z4-store-admin input[type="submit"][aria-busy="true"] {
    cursor: progress;
    opacity: .72;
}

.z4-store-select {
    background-image: linear-gradient(45deg, transparent 50%, #64748b 50%), linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position: calc(100% - 17px) 19px, calc(100% - 12px) 19px;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    padding-right: 34px;
}

.z4-store-textarea {
    line-height: 1.55;
    resize: vertical;
}

.z4-store-input:focus,
.z4-store-select:focus,
.z4-store-textarea:focus {
    border-color: var(--store-primary);
    box-shadow: 0 0 0 3px rgba(154, 0, 0, .12);
    outline: none;
}

.z4-store-search {
    position: relative;
}

.z4-store-search .z4-store-input {
    padding-right: 42px;
}

.z4-store-search i {
    color: #64748b;
    font-size: 23px;
    font-style: normal;
    pointer-events: none;
    position: absolute;
    right: 14px;
    top: 37px;
}

.z4-store-filter-actions {
    flex-wrap: nowrap;
}

.z4-store-table-card {
    overflow: hidden;
}

.z4-store-table-scroll {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-gutter: stable;
}

.z4-store-table {
    border-collapse: collapse;
    min-width: 1280px;
    width: 100%;
}

.z4-store-table th {
    background: #fbfcff;
    color: var(--store-text);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    padding: 17px 18px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.z4-store-table td {
    border-top: 1px solid #e3e9f2;
    color: var(--store-copy);
    font-size: 13px;
    padding: 17px 18px;
    vertical-align: middle;
}

.z4-store-table tbody tr:hover {
    background: #fffafa;
}

.z4-store-table td strong,
.z4-store-table td small {
    display: block;
}

.z4-store-table td small {
    color: var(--store-muted);
    margin-top: 5px;
}

.z4-store-table code {
    color: var(--store-copy);
    font-size: 12px;
    white-space: nowrap;
}

.z4-store-actions-note {
    color: var(--store-muted);
    display: block;
    font-size: 12px;
    line-height: 1.45;
    padding: 10px 12px;
}

.z4-store-products-page .z4-store-table th:nth-child(1),
.z4-store-products-page .z4-store-table td:nth-child(1) { min-width: 265px; }
.z4-store-products-page .z4-store-table th:nth-child(2),
.z4-store-products-page .z4-store-table td:nth-child(2) { min-width: 120px; }
.z4-store-products-page .z4-store-table th:nth-child(3),
.z4-store-products-page .z4-store-table td:nth-child(3) { min-width: 145px; }
.z4-store-products-page .z4-store-table th:nth-child(4),
.z4-store-products-page .z4-store-table td:nth-child(4) { min-width: 120px; }
.z4-store-products-page .z4-store-table th:nth-child(5),
.z4-store-products-page .z4-store-table td:nth-child(5),
.z4-store-products-page .z4-store-table th:nth-child(6),
.z4-store-products-page .z4-store-table td:nth-child(6),
.z4-store-products-page .z4-store-table th:nth-child(7),
.z4-store-products-page .z4-store-table td:nth-child(7) { min-width: 115px; white-space: nowrap; }
.z4-store-products-page .z4-store-table th:nth-child(8),
.z4-store-products-page .z4-store-table td:nth-child(8) { min-width: 140px; white-space: nowrap; }

.z4-store-product-cell {
    align-items: center;
    display: grid;
    gap: 13px;
    grid-template-columns: 66px minmax(150px, 1fr);
}

.z4-store-product-cell img,
.z4-store-product-fallback {
    align-items: center;
    background: linear-gradient(135deg, #eef2ff, #f8fafc);
    border: 1px solid #dbe4f0;
    border-radius: 7px;
    color: #5b2de1;
    display: flex;
    font-weight: 800;
    height: 52px;
    justify-content: center;
    object-fit: cover;
    width: 66px;
}

.z4-store-product-cell a {
    color: var(--store-text);
    display: block;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.z4-store-product-cell a:hover {
    color: var(--store-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.z4-store-pill,
.z4-store-status,
.z4-store-stock {
    align-items: center;
    border: 1px solid;
    border-radius: 6px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 750;
    gap: 7px;
    padding: 7px 10px;
    white-space: nowrap;
}

.z4-store-pill.is-purple { background: #f3edff; border-color: #ded0ff; color: #4c1d95; }
.z4-store-status.is-published { background: #eaf8ef; border-color: #cfeedd; color: #15803d; }
.z4-store-status.is-draft { background: #f1f5f9; border-color: #dbe4f0; color: #334155; }
.z4-store-status.is-hidden { background: #fff4e6; border-color: #ffd8a8; color: #c2410c; }
.z4-store-status.is-archived { background: #f3f4f6; border-color: #d1d5db; color: #4b5563; }

.z4-store-stock i {
    background: currentColor;
    border-radius: 50%;
    height: 7px;
    width: 7px;
}

.z4-store-stock.is-in-stock { background: #eaf8ef; border-color: #cfeedd; color: #15803d; }
.z4-store-stock.is-low-stock { background: #fff7ed; border-color: #fed7aa; color: #b45309; }
.z4-store-stock.is-out-of-stock { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.z4-store-stock.is-not-configured { background: #f1f5f9; border-color: #dbe4f0; color: #64748b; }

.z4-store-old-price {
    text-decoration: line-through;
}

.z4-store-muted {
    color: #64748b;
}

.z4-store-row-actions {
    text-align: center;
    width: 78px;
}

.z4-store-actions-menu {
    display: inline-flex;
    justify-content: center;
    position: relative;
}

.z4-store-actions-menu summary {
    align-items: center;
    background: #fff;
    border: 1px solid #d4deec;
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
    color: var(--store-copy);
    cursor: pointer;
    display: inline-flex;
    font-size: 16px;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    list-style: none;
    width: 38px;
}

.z4-store-actions-menu summary::-webkit-details-marker {
    display: none;
}

.z4-store-actions-menu summary:hover,
.z4-store-actions-menu[open] summary {
    background: var(--store-primary-soft);
    border-color: #e2aaa1;
    color: var(--store-primary);
}

.z4-store-actions-menu > div {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
    display: grid;
    gap: 3px;
    min-width: 184px;
    padding: 8px;
    position: absolute;
    right: 0;
    text-align: left;
    top: calc(100% + 8px);
    z-index: 10000;
}

.z4-store-actions-menu[open] > div {
    left: var(--z4-action-menu-left) !important;
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    position: fixed !important;
    right: auto !important;
    top: var(--z4-action-menu-top) !important;
    width: var(--z4-action-menu-width);
    z-index: 10000 !important;
}

.z4-store-actions-menu form {
    margin: 0;
    width: 100%;
}

.z4-store-actions-menu a,
.z4-store-actions-menu button {
    align-items: center;
    background: #fff8f6;
    border: 0;
    border-radius: 6px;
    color: var(--store-primary);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    min-height: 36px;
    padding: 8px 10px;
    text-align: left;
    text-decoration: none;
    width: 100%;
}

.z4-store-actions-menu a:hover,
.z4-store-actions-menu button:hover {
    background: #fff0ec;
    color: var(--store-primary);
}

.z4-store-actions-menu .is-danger {
    background: #fff8f6;
    color: var(--store-primary);
}

.z4-store-actions-menu .is-danger:hover {
    background: #fff0ec;
    color: var(--store-primary);
}

/* Keep menu actions visually consistent when the admin theme promotes submit buttons. */
html body main.z4-store-admin .z4-store-actions-menu > div > a[href],
html body main.z4-store-admin .z4-store-actions-menu > div > button,
html body main.z4-store-admin .z4-store-actions-menu > div > form > button {
    appearance: none !important;
    background: #fff8f6 !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    color: var(--store-primary) !important;
    min-height: 36px !important;
    padding: 8px 10px !important;
    text-align: left !important;
    transform: none !important;
    width: 100% !important;
}

html body main.z4-store-admin .z4-store-actions-menu > div > a[href]:hover,
html body main.z4-store-admin .z4-store-actions-menu > div > button:hover,
html body main.z4-store-admin .z4-store-actions-menu > div > form > button:hover {
    background: #fff0ec !important;
    background-image: none !important;
    color: var(--store-primary) !important;
    box-shadow: none !important;
    transform: none !important;
}

html body main.z4-store-admin .z4-store-actions-menu > div > button[type="submit"],
html body main.z4-store-admin .z4-store-actions-menu > div > form > button[type="submit"] {
    background: #fff8f6 !important;
    background-image: none !important;
    border: 0 !important;
    color: var(--store-primary) !important;
    box-shadow: none !important;
}

html body main.z4-store-admin .z4-store-actions-menu > div > button[type="submit"]:hover,
html body main.z4-store-admin .z4-store-actions-menu > div > form > button[type="submit"]:hover {
    background: #fff0ec !important;
    background-image: none !important;
    color: var(--store-primary) !important;
    box-shadow: none !important;
}

.z4-store-table-footer {
    align-items: center;
    border-top: 1px solid #e3e9f2;
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr auto 1fr;
    padding: 17px 20px;
}

.z4-store-table-footer form label {
    align-items: center;
    display: flex;
    gap: 10px;
}

.z4-store-table-footer .z4-store-select {
    min-height: 40px;
    width: 76px;
}

.z4-store-table-footer > span {
    color: var(--store-muted);
    font-size: 13px;
    text-align: center;
}

.z4-store-pagination {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.z4-store-pagination a,
.z4-store-pagination span {
    align-items: center;
    border: 1px solid var(--store-border);
    border-radius: 7px;
    color: var(--store-text);
    display: flex;
    font-size: 13px;
    font-weight: 750;
    height: 38px;
    justify-content: center;
    text-decoration: none;
    width: 38px;
}

.z4-store-pagination a.is-active {
    background: var(--store-primary);
    border-color: var(--store-primary);
    color: #fff;
}

.z4-store-pagination span {
    color: #94a3b8;
}

.z4-store-empty {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 52px 20px;
    text-align: center;
}

.z4-store-empty > span {
    align-items: center;
    background: var(--store-primary-soft);
    border-radius: 12px;
    color: var(--store-primary);
    display: flex;
    font-size: 24px;
    height: 50px;
    justify-content: center;
    width: 50px;
}

.z4-store-empty strong {
    color: var(--store-text);
    font-size: 17px;
}

.z4-store-empty p {
    color: var(--store-muted);
    margin: 0 0 6px;
}

.z4-store-editor {
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) 330px;
}

.z4-store-form-card,
.z4-store-side-card,
.z4-store-next-card {
    padding: 26px;
}

.z4-store-form-card + .z4-store-form-card {
    margin-top: 24px;
}

.z4-store-section-heading {
    align-items: flex-start;
    display: flex;
    gap: 13px;
    margin-bottom: 24px;
}

.z4-store-section-heading > span {
    align-items: center;
    background: var(--store-primary);
    border-radius: 9px;
    color: #fff;
    display: flex;
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 800;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.z4-store-section-heading h2,
.z4-store-side-card h2,
.z4-store-next-card h2,
.z4-store-card-header h2 {
    color: var(--store-text);
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 5px;
}

.z4-store-section-heading p,
.z4-store-card-header p {
    color: var(--store-muted);
    font-size: 13px;
    margin: 0;
}

.z4-store-form-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.z4-store-form-grid .is-wide {
    grid-column: 1 / -1;
}

.z4-shipping-country-tabs {
    border: 1px solid var(--store-border);
    border-radius: 14px;
    margin-bottom: 22px;
    overflow: hidden;
}

.z4-shipping-country-tab-list {
    background: #fff8f6;
    border-bottom: 1px solid var(--store-border);
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 10px;
}

.z4-shipping-country-tab-list button {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 9px;
    color: var(--store-muted);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    gap: 8px;
    min-height: 40px;
    padding: 8px 12px;
}

.z4-shipping-country-tab-list button small {
    align-items: center;
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    height: 23px;
    justify-content: center;
    min-width: 23px;
    padding: 0 6px;
}

.z4-shipping-country-tab-list button[aria-selected="true"] {
    background: var(--store-primary);
    border-color: var(--store-primary);
    color: #fff;
}

.z4-shipping-country-tab-list button[aria-selected="true"] small {
    color: var(--store-primary);
}

.z4-shipping-country-panel {
    padding: 18px;
}

.z4-shipping-country-panel-heading {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.z4-shipping-country-panel-heading > div {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.z4-shipping-country-panel-heading strong {
    color: var(--store-text);
    font-size: 15px;
}

.z4-shipping-country-panel-heading span {
    color: var(--store-muted);
    font-size: 12px;
}

.z4-shipping-country-panel-heading .z4-store-btn {
    min-height: 34px;
    padding: 6px 10px;
}

.z4-shipping-country-grid {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.z4-shipping-country-option {
    align-items: flex-start;
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    min-width: 0;
    padding: 11px 12px;
}

.z4-shipping-country-option:has(input:checked) {
    background: #fff7f5;
    border-color: var(--store-primary);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--store-primary) 18%, transparent);
}

.z4-shipping-country-option input {
    accent-color: var(--store-primary);
    flex: 0 0 auto;
    height: 17px;
    margin-top: 2px;
    width: 17px;
}

.z4-shipping-country-option span,
.z4-shipping-country-option strong,
.z4-shipping-country-option small {
    display: block;
    min-width: 0;
}

.z4-shipping-country-option strong {
    color: var(--store-text);
    font-size: 13px;
    overflow-wrap: anywhere;
}

.z4-shipping-country-option small {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 3px;
}

.z4-shipping-country-attribution {
    color: var(--store-muted);
    font-size: 11px;
    margin: -10px 0 18px;
}

.z4-shipping-country-attribution a {
    color: var(--store-primary);
    font-weight: 700;
}

.z4-store-product-type {
    border: 0;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    padding: 0;
}

.z4-store-product-type legend {
    color: var(--store-text);
    font-size: 13px;
    font-weight: 750;
    grid-column: 1 / -1;
    margin-bottom: 1px;
    padding: 0;
}

.z4-store-product-type label {
    align-items: flex-start;
    border: 1px solid var(--store-border);
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    padding: 14px;
}

.z4-store-product-type input { accent-color: var(--store-primary); margin-top: 3px; }
.z4-store-admin [hidden] { display: none !important; }
.z4-store-product-type strong,
.z4-store-product-type small { display: block; }
.z4-store-product-type strong { color: var(--store-text); font-size: 14px; }
.z4-store-product-type small { color: var(--store-muted); font-size: 12px; line-height: 1.45; margin-top: 3px; }

.z4-store-custom-options {
    margin-bottom: 18px;
}

.z4-store-custom-options-heading,
.z4-store-option-axis-heading,
.z4-store-option-value-entry {
    align-items: flex-end;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.z4-store-custom-options-heading {
    align-items: center;
    margin-bottom: 14px;
}

.z4-store-custom-options-heading strong,
.z4-store-custom-options-heading small,
.z4-store-option-axis label > span {
    display: block;
}

.z4-store-custom-options-heading strong {
    color: var(--store-text);
    font-size: 14px;
}

.z4-store-custom-options-heading small,
.z4-store-custom-options-note,
.z4-store-option-axis-hint {
    color: var(--store-muted);
    font-size: 12px;
    line-height: 1.5;
}

.z4-store-custom-options-heading .z4-store-btn span,
.z4-store-option-value-entry .z4-store-btn span {
    font-size: 18px;
    line-height: .8;
}

.z4-store-option-axis-list {
    display: grid;
    gap: 14px;
}

.z4-store-option-axis {
    background: #fffaf8;
    border: 1px solid #efd8d2;
    border-radius: 12px;
    margin: 0;
    padding: 16px;
}

.z4-store-option-axis-heading > label,
.z4-store-option-value-entry > label {
    flex: 1 1 auto;
}

.z4-store-option-axis label > span {
    color: var(--store-text);
    font-size: 12px;
    font-weight: 750;
    margin-bottom: 6px;
}

.z4-store-option-value-entry {
    margin-top: 13px;
}

.z4-store-option-value-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.z4-store-option-value-chip {
    align-items: center;
    background: #fff;
    border: 1px solid #e2c5be;
    border-radius: 999px;
    color: var(--store-text);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 7px;
    min-height: 30px;
    padding: 5px 7px 5px 12px;
}

.z4-store-option-value-chip button {
    align-items: center;
    background: #f9e9e6;
    border: 0;
    border-radius: 50%;
    color: var(--store-primary);
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    height: 20px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 20px;
}

.z4-store-option-axis-hint {
    display: block;
    margin-top: 9px;
}

.z4-store-option-axis-hint.is-error {
    color: #b42318;
}

.z4-store-custom-options-note {
    margin: 11px 0 0;
}

.z4-store-icon-button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 8px;
    color: var(--store-muted);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 20px;
    height: 34px;
    justify-content: center;
    padding: 0;
    width: 34px;
}

.z4-store-icon-button.is-danger {
    border-color: #efc4bc;
    color: #b42318;
}

.z4-store-variant-builder {
    border-top: 1px solid var(--store-border);
}

.z4-store-create-variants {
    display: grid;
    gap: 16px;
    padding-top: 16px;
}

.z4-store-create-variant {
    border: 1px solid var(--store-border);
    border-radius: 8px;
    min-width: 0;
    padding: 18px;
}

.z4-store-create-variant > header {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.z4-store-create-variant > header h3 {
    color: var(--store-text);
    font-size: 16px;
    margin: 4px 0 0;
}

.z4-store-variant-image-field {
    margin: 16px 0 18px;
}

.z4-store-variant-image-field .z4-store-upload-box {
    min-height: 170px;
}

.z4-store-variant-image-field .z4-store-upload-box.has-preview {
    min-height: 210px;
}

.z4-store-create-variant .z4-store-check {
    align-self: stretch;
    min-height: 44px;
}

.z4-store-variant-workspace { margin-top: 24px; }

.z4-store-variant-axes,
.z4-store-variant-create {
    background: #fffaf8;
    border: 1px solid #f0ddd8;
    border-radius: 12px;
    margin-bottom: 20px;
    padding: 20px;
}

.z4-store-variant-axes > div:first-child,
.z4-store-variant-create > div:first-child { margin-bottom: 16px; }
.z4-store-variant-axes h3,
.z4-store-variant-create h3,
.z4-store-variant-card h3,
.z4-store-variant-card h4 { color: var(--store-text); margin: 0; }
.z4-store-variant-axes p,
.z4-store-variant-create p,
.z4-store-variant-inventory p { color: var(--store-muted); font-size: 13px; line-height: 1.55; margin: 5px 0 0; }

.z4-store-axis-list { display: flex; flex-wrap: wrap; gap: 10px; }
.z4-store-axis-list form { margin: 0; }
.z4-store-axis-pill {
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 9px;
    color: var(--store-text);
    display: inline-flex;
    flex-direction: column;
    padding: 9px 12px;
    text-align: start;
}
button.z4-store-axis-pill { cursor: pointer; }
.z4-store-axis-pill.is-active { background: #f1fdf6; border-color: #bde8ce; }
.z4-store-axis-pill strong { font-size: 13px; }
.z4-store-axis-pill small { color: var(--store-muted); font-size: 11px; margin-top: 2px; }

.z4-store-variant-list { display: grid; gap: 18px; }
.z4-store-variant-card { border: 1px solid var(--store-border); border-radius: 12px; padding: 20px; }
.z4-store-variant-card > header { align-items: flex-start; display: flex; gap: 14px; justify-content: space-between; }
.z4-store-variant-card > header h3 { font-size: 16px; margin-top: 4px; }
.z4-store-variant-summary-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 18px 0; }
.z4-store-variant-summary-grid > div { background: #f8fafc; border: 1px solid #e8edf3; border-radius: 8px; padding: 10px; }
.z4-store-variant-summary-grid small,
.z4-store-variant-summary-grid strong { display: block; }
.z4-store-variant-summary-grid small { color: var(--store-muted); font-size: 11px; }
.z4-store-variant-summary-grid strong { color: var(--store-text); font-size: 13px; margin-top: 4px; overflow-wrap: anywhere; }
.z4-store-variant-forms { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.z4-store-variant-forms > * { margin: 0; }
.z4-store-variant-forms h4 { font-size: 14px; }
.z4-store-variant-inventory { display: flex; flex-direction: column; justify-content: space-between; }
.z4-store-variant-inventory .z4-store-btn { align-self: flex-start; margin-top: 16px; }
.z4-store-variant-lifecycle { align-items: center; border-top: 1px solid var(--store-border); display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; padding-top: 16px; }
.z4-store-variant-editor { margin: 0; }
.z4-store-variant-current-image {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e8edf3;
    border-radius: 9px;
    display: flex;
    gap: 12px;
    grid-column: 1 / -1;
    padding: 10px;
}
.z4-store-variant-current-image img {
    border-radius: 7px;
    height: 64px;
    object-fit: cover;
    width: 64px;
}
.z4-store-variant-current-image span { color: var(--store-muted); font-size: 12px; }
.z4-store-variant-save {
    align-items: center;
    border-top: 1px solid var(--store-border);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: 18px;
    padding-top: 16px;
}
.z4-store-variant-save > span { color: var(--store-muted); font-size: 12px; line-height: 1.5; }
.z4-store-variant-delete { margin: 12px 0 0; text-align: end; }

.z4-store-media-gallery-actions {
    align-items: start;
    background: #fffaf8;
    border: 1px solid #f0ddd8;
    border-radius: 12px;
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 18px;
}

.z4-store-media-gallery-actions strong { color: var(--store-text); display: block; font-size: 14px; }
.z4-store-media-gallery-actions p { color: var(--store-muted); font-size: 12px; line-height: 1.5; margin: 5px 0 12px; }
.z4-store-media-gallery-actions .z4-store-btn { margin: 0 7px 8px 0; }
.z4-store-media-gallery-actions small { color: var(--store-muted); display: block; font-size: 11px; margin-top: 4px; }

.z4-store-media-picker {
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 12px;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .28);
    color: var(--store-copy);
    margin: auto;
    max-height: calc(100vh - 64px);
    overflow: auto;
    padding: 18px;
    width: min(980px, calc(100vw - 48px));
}

body.z4-store-media-modal-open { overflow: hidden; }
.z4-store-media-picker:not([open]) { display: none; }
.z4-store-media-picker::backdrop {
    backdrop-filter: blur(2px);
    background: rgba(15, 23, 42, .56);
}

.z4-store-media-picker > header { align-items: start; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 16px; }
.z4-store-media-picker-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.z4-store-media-picker h3 { color: var(--store-text); font-size: 16px; margin: 4px 0; }
.z4-store-media-picker p { color: var(--store-muted); font-size: 12px; margin: 0; }
.z4-store-media-picker-grid { display: grid; gap: 12px; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.z4-store-media-picker-item { background: #fff; border: 1px solid var(--store-border); border-radius: 9px; cursor: pointer; overflow: hidden; padding: 0; text-align: left; }
.z4-store-media-picker-item img { aspect-ratio: 1; display: block; object-fit: cover; width: 100%; }
.z4-store-media-picker-item span { color: var(--store-copy); display: block; font-size: 11px; overflow: hidden; padding: 7px; text-overflow: ellipsis; white-space: nowrap; }
.z4-store-media-picker-item small { background: #eaf8ef; color: #08783f; display: block; font-size: 10px; font-weight: 700; padding: 6px 7px; }
.z4-store-media-picker-item:hover,
.z4-store-media-picker-item.is-selected { border-color: var(--store-primary); box-shadow: 0 0 0 2px var(--store-primary-soft); }
.z4-store-media-selection-summary { align-items: center; background: #fffaf8; border: 1px solid #f0ddd8; border-radius: 10px; display: flex; flex-wrap: wrap; gap: 10px; padding: 12px; }
.z4-store-media-selection-summary small { color: var(--store-muted); font-size: 12px; }
.z4-store-upload-box { font: inherit; width: 100%; }
.z4-store-upload-preview {
    aspect-ratio: 1;
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .08);
    display: block;
    height: 128px;
    margin-bottom: 12px;
    object-fit: cover;
    width: 128px;
}
.z4-store-upload-box.has-preview {
    background: #fffaf8;
    border-style: solid;
    min-height: 230px;
}
.z4-store-upload-box.has-preview > [data-main-upload-icon] { display: none !important; }
.z4-store-selected-media {
    align-items: start;
    background: #fbfcff;
    border: 1px solid var(--store-border);
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px;
}
.z4-store-selected-media figure {
    margin: 0;
    min-width: 0;
    width: 96px;
}
.z4-store-selected-media img {
    aspect-ratio: 1;
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 7px;
    display: block;
    object-fit: cover;
    width: 100%;
}
.z4-store-selected-media figcaption {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.z4-store-tag-editor > span,
.z4-store-organization-label strong { color: var(--store-text); display: block; font-size: 13px; font-weight: 750; margin-bottom: 7px; }
.z4-store-tag-entry { align-items: flex-start; display: flex; gap: 10px; }
.z4-store-tag-input-wrap { flex: 1 1 auto; min-width: 0; position: relative; }
.z4-store-tag-entry .z4-store-input { min-width: 0; width: 100%; }
.z4-store-tag-entry .z4-store-btn { flex: 0 0 auto; }
.z4-store-tag-suggestions { background: #fff; border: 1px solid #dbe2ea; border-radius: 6px; box-shadow: 0 14px 32px rgba(15, 23, 42, .14); left: 0; max-height: 232px; overflow-y: auto; padding: 5px; position: absolute; right: 0; top: calc(100% + 5px); z-index: 30; }
.z4-store-tag-suggestion { background: transparent; border: 0; border-radius: 4px; color: var(--store-text); cursor: pointer; display: block; font: inherit; font-size: 13px; font-weight: 650; padding: 10px 11px; text-align: left; width: 100%; }
.z4-store-tag-suggestion:hover,
.z4-store-tag-suggestion.is-active { background: #fff2ef; color: var(--store-red); }
.z4-store-tag-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; min-height: 1px; }
.z4-store-tag-chip { align-items: center; background: #f4efff; border: 1px solid #ddd1ff; border-radius: 999px; color: #5b21b6; display: inline-flex; font-size: 12px; font-weight: 700; gap: 5px; padding: 5px 8px 5px 10px; }
.z4-store-tag-chip button { background: transparent; border: 0; color: inherit; cursor: pointer; font-size: 16px; line-height: 1; padding: 0; }
.z4-store-tag-editor > small { color: var(--store-muted); display: block; font-size: 12px; margin-top: 8px; }
.z4-store-organization-label { border-top: 1px solid #edf1f5; margin-top: 22px; padding-top: 20px; }
.z4-store-organization-label strong { margin-bottom: 3px; }
.z4-store-organization-label small { color: var(--store-muted); display: block; font-size: 12px; line-height: 1.5; }
.z4-store-quick-category { margin: 13px 0 16px; }
.z4-store-quick-category-form { background: #fffaf8; border: 1px solid #f0ddd8; border-radius: 10px; display: grid; gap: 14px; margin-top: 12px; padding: 16px; }
.z4-store-quick-category-form > div:first-child strong,
.z4-store-quick-category-form > div:first-child small { display: block; }
.z4-store-quick-category-form > div:first-child strong { color: var(--store-text); font-size: 14px; }
.z4-store-quick-category-form > div:first-child small,
.z4-store-quick-category-form > p { color: var(--store-muted); font-size: 12px; margin: 4px 0 0; }
.z4-store-quick-category-actions { display: flex; flex-wrap: wrap; gap: 9px; }

@media (max-width: 900px) { .z4-store-media-picker-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

@media (max-width: 900px) {
    .z4-store-product-type,
    .z4-store-product-policy-grid,
    .z4-store-variant-forms,
    .z4-store-variant-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .z4-store-product-type,
    .z4-store-product-policy-grid,
    .z4-store-variant-forms,
    .z4-store-variant-summary-grid { grid-template-columns: 1fr; }
    .z4-store-custom-options-heading,
    .z4-store-option-axis-heading,
    .z4-store-option-value-entry { align-items: stretch; flex-direction: column; }
    .z4-store-custom-options-heading .z4-store-btn,
    .z4-store-option-value-entry .z4-store-btn { justify-content: center; width: 100%; }
    .z4-store-option-axis-heading .z4-store-icon-button { align-self: flex-end; }
    .z4-store-variant-card > header { align-items: flex-start; flex-direction: column; }
    .z4-store-variant-save { align-items: stretch; flex-direction: column; }
    .z4-store-variant-save .z4-store-btn { justify-content: center; width: 100%; }
    .z4-store-media-gallery-actions { grid-template-columns: 1fr; }
    .z4-store-media-picker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .z4-store-media-picker { max-height: calc(100vh - 32px); width: calc(100vw - 24px); }
    .z4-store-media-picker > header { flex-direction: column; }
    .z4-store-tag-entry { align-items: stretch; flex-direction: column; }
    .z4-store-quick-category-actions { flex-direction: column; }
}

.z4-store-form-actions {
    justify-content: flex-end;
    margin-top: 22px;
}

.z4-store-form-actions.is-wide {
    grid-column: 1 / -1;
}

.z4-store-check {
    align-items: flex-start;
    cursor: pointer;
    display: flex;
    gap: 11px;
    padding: 10px 0;
}

.z4-store-check input {
    accent-color: var(--store-primary);
    height: 18px;
    margin-top: 2px;
    width: 18px;
}

.z4-store-check > span {
    margin: 0 !important;
}

.z4-store-check strong,
.z4-store-check small {
    display: block;
}

.z4-store-next-card {
    align-self: start;
    background: linear-gradient(145deg, #fff, #fff8f6);
    position: sticky;
    top: 24px;
}

.z4-store-next-card h2 {
    font-size: 21px;
    margin-top: 10px;
}

.z4-store-next-card ol {
    display: grid;
    gap: 16px;
    list-style: none;
    margin: 22px 0;
    padding: 0;
}

.z4-store-next-card li {
    align-items: flex-start;
    color: var(--store-copy);
    display: grid;
    font-size: 13px;
    gap: 10px;
    grid-template-columns: 28px 1fr;
    line-height: 1.5;
}

.z4-store-next-card li span {
    align-items: center;
    background: var(--store-primary-soft);
    border-radius: 8px;
    color: var(--store-primary);
    display: flex;
    font-weight: 800;
    height: 28px;
    justify-content: center;
}

.z4-store-next-card > p {
    border-top: 1px solid #eeded8;
    color: var(--store-muted);
    font-size: 12px;
    line-height: 1.55;
    margin: 0;
    padding-top: 18px;
}

.z4-store-sticky-actions {
    align-items: center;
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 12px;
    bottom: 18px;
    box-shadow: 0 14px 38px rgba(15, 23, 42, .12);
    display: flex;
    gap: 10px;
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding: 14px 18px;
    position: sticky;
    z-index: 30;
}

.z4-store-editor-tabs {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -8px 0 24px;
}

.z4-store-editor-tabs a {
    border: 1px solid #ead7d4;
    border-radius: 8px;
    color: #5d3430;
    font-size: 13px;
    font-weight: 750;
    padding: 9px 13px;
    text-decoration: none;
}

.z4-store-editor-tabs a.is-active,
.z4-store-editor-tabs a:hover {
    background: var(--store-primary);
    border-color: var(--store-primary);
    color: #fff;
}

.z4-store-editor-layout {
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) 320px;
}

.z4-store-editor-side {
    display: grid;
    gap: 20px;
    position: sticky;
    top: 20px;
}

.z4-store-side-card > p {
    color: var(--store-muted);
    font-size: 12px;
    line-height: 1.55;
    margin: 16px 0 0;
}

.z4-store-side-card dl {
    margin: 0;
}

.z4-store-side-card dl div {
    align-items: center;
    border-top: 1px solid #e3e9f2;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 12px 0;
}

.z4-store-side-card dt {
    color: var(--store-muted);
    font-size: 12px;
}

.z4-store-side-card dd {
    color: var(--store-text);
    font-size: 13px;
    font-weight: 750;
    margin: 0;
    text-align: right;
}

.z4-store-readiness {
    display: grid;
    gap: 11px;
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
}

.z4-store-readiness li {
    align-items: center;
    color: #64748b;
    display: flex;
    font-size: 13px;
    gap: 9px;
}

.z4-store-readiness li::before {
    align-items: center;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    border-radius: 50%;
    content: "·";
    display: flex;
    height: 20px;
    justify-content: center;
    width: 20px;
}

.z4-store-readiness li.is-done {
    color: var(--store-success);
    font-weight: 700;
}

.z4-store-readiness li.is-done::before {
    background: #eaf8ef;
    border-color: #86d6a9;
    content: "✓";
}

.z4-store-product-summary-identity {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 64px minmax(0, 1fr);
    margin-top: 18px;
}

.z4-store-product-summary-identity img,
.z4-store-product-summary-placeholder {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--store-border);
    border-radius: 8px;
    display: flex;
    height: 64px;
    justify-content: center;
    object-fit: cover;
    width: 64px;
}

.z4-store-product-summary-placeholder {
    color: var(--store-muted);
    font-size: 10px;
    text-align: center;
}

.z4-store-product-summary-identity strong,
.z4-store-product-summary-identity small {
    display: block;
    overflow-wrap: anywhere;
}

.z4-store-product-summary-identity strong {
    color: var(--store-text);
    font-size: 14px;
}

.z4-store-product-summary-identity small {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 4px;
}

.z4-store-product-summary-card dl,
.z4-store-product-inventory-card dl {
    margin-top: 16px;
}

.z4-store-product-summary-card dl div:first-child,
.z4-store-product-inventory-card dl div:first-child {
    border-top: 0;
}

.z4-store-side-inventory-value {
    border-bottom: 1px solid var(--store-border);
    margin-top: 18px;
    padding-bottom: 16px;
}

.z4-store-side-inventory-value strong,
.z4-store-side-inventory-value small {
    display: block;
}

.z4-store-side-inventory-value strong {
    color: var(--store-text);
    font-size: 22px;
}

.z4-store-side-inventory-value small {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 4px;
}

.z4-store-side-card-action {
    justify-content: center;
    margin-top: 16px;
    width: 100%;
}

.z4-store-upload-form {
    display: grid;
    gap: 22px;
}

.z4-store-upload-box {
    align-items: center;
    background: #fbfcff;
    border: 1px dashed #b8c4d6;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 170px;
    padding: 24px;
    text-align: center;
}

.z4-store-upload-box:hover {
    background: var(--store-primary-soft);
    border-color: var(--store-primary);
}

.z4-store-upload-box input {
    display: none;
}

.z4-store-upload-box > span {
    align-items: center;
    border: 2px solid currentColor;
    border-radius: 8px;
    color: var(--store-primary);
    display: flex !important;
    font-size: 22px !important;
    height: 42px;
    justify-content: center;
    margin: 0 0 10px !important;
    width: 42px;
}

.z4-store-upload-box > [hidden],
.z4-store-selected-media[hidden] {
    display: none !important;
}

.z4-store-upload-box strong {
    color: var(--store-text);
    font-size: 14px;
}

.z4-store-upload-box small {
    color: var(--store-muted);
    margin-top: 5px;
}

.z4-store-media-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 24px;
}

.z4-store-editor-media-tools {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr);
}

.z4-store-editor-media-tools .z4-store-upload-box {
    min-height: 220px;
}

.z4-store-media-source {
    min-width: 0;
}

.z4-store-media-source-footer {
    align-items: center;
    background: #fffaf8;
    border: 1px solid #f0ddd8;
    border-top: 0;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 12px 14px;
}

.z4-store-media-source-footer span,
.z4-store-inline-gallery-heading span {
    min-width: 0;
}

.z4-store-media-source-footer strong,
.z4-store-media-source-footer small,
.z4-store-inline-gallery-heading strong,
.z4-store-inline-gallery-heading small {
    display: block;
}

.z4-store-media-source-footer strong,
.z4-store-inline-gallery-heading strong {
    color: var(--store-text);
    font-size: 13px;
}

.z4-store-media-source-footer small,
.z4-store-inline-gallery-heading small {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.z4-store-inline-gallery-heading {
    align-items: center;
    border-bottom: 1px solid var(--store-border);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 16px 0 10px;
}

.z4-store-inline-gallery {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    padding-top: 12px;
}

.z4-store-inline-gallery-item {
    border: 1px solid var(--store-border);
    border-radius: 8px;
    display: grid;
    gap: 9px;
    min-width: 0;
    padding: 9px;
}

.z4-store-inline-gallery-item > img {
    aspect-ratio: 4 / 3;
    border-radius: 6px;
    object-fit: cover;
    width: 100%;
}

.z4-store-inline-gallery-item strong,
.z4-store-inline-gallery-item small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.z4-store-inline-gallery-item strong {
    color: var(--store-text);
    font-size: 12px;
}

.z4-store-inline-gallery-item small {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 3px;
}

.z4-store-inline-gallery-item .z4-store-media-actions {
    display: grid;
    grid-template-columns: 34px 34px minmax(0, 1fr);
}

.z4-store-inline-gallery-item .z4-store-media-actions button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

.z4-store-inline-gallery-item .z4-store-media-actions button:disabled {
    cursor: not-allowed;
    opacity: .42;
}

.z4-store-media-card {
    border: 1px solid var(--store-border);
    border-radius: 10px;
    display: grid;
    gap: 10px;
    padding: 10px;
}

.z4-store-media-card img {
    aspect-ratio: 4 / 3;
    border-radius: 7px;
    object-fit: cover;
    width: 100%;
}

.z4-store-media-card strong,
.z4-store-media-card span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.z4-store-media-card strong {
    color: var(--store-text);
    font-size: 13px;
}

.z4-store-media-card span {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 3px;
}

.z4-store-media-actions button,
.z4-store-link-danger {
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 6px;
    color: var(--store-copy);
    cursor: pointer;
    min-height: 32px;
    padding: 5px 9px;
}

.z4-store-link-danger {
    color: var(--store-danger);
    font-size: 12px;
    font-weight: 750;
}

.z4-store-inline-empty {
    background: #fbfcff;
    border: 1px dashed var(--store-border-strong);
    border-radius: 10px;
    color: var(--store-muted);
    font-size: 13px;
    margin-top: 18px;
    padding: 22px;
    text-align: center;
}

.z4-store-inline-empty a {
    color: var(--store-primary);
    font-weight: 750;
}

.z4-store-price-summary {
    align-items: center;
    background: linear-gradient(135deg, #fff8f6, #fff);
    border: 1px solid #efd9d3;
    border-radius: 10px;
    display: grid;
    gap: 7px;
    grid-template-columns: 1fr auto;
    margin-bottom: 20px;
    padding: 18px;
}

.z4-store-price-summary span,
.z4-store-price-summary small {
    color: var(--store-muted);
    font-size: 12px;
}

.z4-store-price-summary strong {
    color: var(--store-primary);
    font-size: 24px;
    grid-row: span 2;
}

.z4-store-split-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.z4-store-subcard {
    border: 1px solid var(--store-border);
    border-radius: 10px;
    display: grid;
    gap: 16px;
    padding: 20px;
}

.z4-store-subcard h3 {
    color: var(--store-text);
    font-size: 15px;
    margin: 0;
}

.z4-store-product-policy-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.z4-store-product-policy-grid .z4-store-subcard {
    align-content: start;
}

.z4-store-policy-default {
    background: #f8fafc;
    border: 1px solid #e8edf3;
    border-radius: 9px;
    padding: 14px;
}

.z4-store-policy-default strong,
.z4-store-policy-default p {
    display: block;
}

.z4-store-policy-default strong {
    color: var(--store-text);
    font-size: 12px;
}

.z4-store-policy-default p {
    color: var(--store-muted);
    font-size: 12px;
    line-height: 1.6;
    margin: 6px 0;
    max-height: 96px;
    overflow: auto;
    white-space: pre-line;
}

.z4-store-policy-default a {
    color: var(--store-accent);
    font-size: 12px;
    font-weight: 700;
}

.z4-store-inventory-summary {
    align-items: center;
    border: 1px solid var(--store-border);
    border-radius: 10px;
    display: grid;
    gap: 20px;
    grid-template-columns: auto repeat(3, 1fr) auto;
    margin-top: 22px;
    padding: 20px;
}

.z4-store-inventory-summary > div {
    border-left: 1px solid var(--store-border);
    padding-left: 18px;
}

.z4-store-inventory-summary strong,
.z4-store-inventory-summary small {
    display: block;
}

.z4-store-inventory-summary strong {
    color: var(--store-text);
    font-size: 18px;
}

.z4-store-inventory-summary small {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 3px;
}

.z4-store-category-checks {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.z4-store-category-checks > label {
    align-items: center;
    border: 1px solid var(--store-border);
    border-radius: 9px;
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: auto 1fr auto;
    margin-left: calc(var(--category-depth, 0) * 10px);
    padding: 13px;
}

.z4-store-category-checks > label:has(input[type="checkbox"]:checked) {
    background: var(--store-primary-soft);
    border-color: #e2aaa1;
}

.z4-store-category-checks input {
    accent-color: var(--store-primary);
}

.z4-store-category-checks strong,
.z4-store-category-checks small {
    display: block;
}

.z4-store-category-checks small {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 3px;
}

.z4-store-advanced-card summary {
    color: var(--store-copy);
    cursor: pointer;
    font-weight: 800;
}

.z4-store-advanced-card > p {
    color: var(--store-muted);
    font-size: 13px;
}

.z4-store-management-grid {
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: 350px minmax(0, 1fr);
}

/* Catalog taxonomies need equal working space for creation and review. */
.z4-store-categories-page .z4-store-management-grid,
.z4-store-brands-page .z4-store-management-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

/* Attributes use the same balanced creation-and-review layout as categories. */
.z4-store-attributes-page .z4-store-management-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

/* Taxonomy action popovers must be able to extend beyond their cards. */
.z4-store-categories-page .z4-store-table-card,
.z4-store-brands-page .z4-store-table-card {
    overflow: visible;
}

.z4-store-create-panel {
    position: sticky;
    top: 18px;
}

.z4-store-create-panel form {
    display: grid;
    gap: 16px;
}

.z4-store-card-header {
    align-items: center;
    border-bottom: 1px solid var(--store-border);
    display: flex;
    justify-content: space-between;
    padding: 20px 22px;
}

.z4-store-category-list {
    display: grid;
}

.z4-store-category-row {
    align-items: center;
    border-bottom: 1px solid #e9eef5;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(220px, 1fr) auto 50px;
    margin-left: calc(var(--category-depth, 0) * 20px);
    padding: 16px 20px;
}

.z4-store-category-row:last-child {
    border-bottom: 0;
}

.z4-store-category-identity {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 46px minmax(0, 1fr);
}

.z4-store-category-identity > img,
.z4-store-category-identity > span,
.z4-store-brand-logo {
    align-items: center;
    background: var(--store-primary-soft);
    border: 1px solid #efd9d3;
    border-radius: 9px;
    color: var(--store-primary);
    display: flex;
    font-weight: 800;
    height: 46px;
    justify-content: center;
    object-fit: cover;
    width: 46px;
}

.z4-store-brands-page .z4-store-category-identity > img {
    object-fit: contain;
}

.z4-store-category-identity strong,
.z4-store-category-identity small {
    display: block;
}

.z4-store-category-identity strong {
    color: var(--store-text);
    font-size: 14px;
}

.z4-store-category-identity small {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 4px;
}

.z4-store-inline-editor {
    background: #fbfcff;
    border-radius: 9px;
    grid-column: 1 / -1;
    padding: 20px;
}

.z4-store-category-edit-page .z4-store-editor-layout {
    grid-template-columns: minmax(0, 1fr) 340px;
}

.z4-store-category-image-preview {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: #fbfcff;
    border: 1px solid var(--store-border);
    border-radius: 8px;
    color: var(--store-primary);
    display: flex;
    font-size: 44px;
    font-weight: 800;
    justify-content: center;
    margin-bottom: 20px;
    overflow: hidden;
}

.z4-store-category-image-preview img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.z4-store-category-edit-page .z4-store-side-card dl div:first-child {
    border-top: 0;
}

.z4-store-image-row {
    align-items: end;
    border-top: 1px solid var(--store-border);
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr auto auto;
    margin-top: 20px;
    padding-top: 18px;
}

.z4-store-brand-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 20px;
}

.z4-store-brand-card {
    align-items: center;
    border: 1px solid var(--store-border);
    border-radius: 10px;
    display: grid;
    gap: 14px;
    grid-template-columns: 58px minmax(0, 1fr) auto auto;
    padding: 16px;
}

.z4-store-brand-logo {
    height: 58px;
    width: 58px;
}

.z4-store-brand-logo img {
    border-radius: inherit;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.z4-store-brand-copy strong,
.z4-store-brand-copy span,
.z4-store-brand-copy small {
    display: block;
}

.z4-store-brand-copy strong {
    color: var(--store-text);
    font-size: 14px;
}

.z4-store-brand-copy span,
.z4-store-brand-copy small {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 3px;
}

.z4-store-brand-card .z4-store-inline-editor {
    grid-column: 1 / -1;
}

.z4-store-preview-gallery {
    display: grid;
    gap: 14px;
    grid-template-columns: 2fr repeat(3, 1fr);
    margin-bottom: 24px;
}

.z4-store-preview-gallery img {
    aspect-ratio: 4 / 3;
    border: 1px solid var(--store-border);
    border-radius: 10px;
    object-fit: cover;
    width: 100%;
}

.z4-store-preview-gallery img.is-primary {
    grid-row: span 2;
}

.z4-store-preview-grid {
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) 320px;
    margin-bottom: 24px;
}

.z4-store-preview-grid .z4-store-form-card {
    margin: 0;
}

.z4-store-lead {
    color: var(--store-copy);
    font-size: 16px;
    line-height: 1.65;
}

.z4-store-richtext {
    border-top: 1px solid var(--store-border);
    color: var(--store-muted);
    line-height: 1.7;
    margin-top: 20px;
    padding-top: 20px;
}

.z4-store-variant-summary {
    display: grid;
    gap: 12px;
}

.z4-store-variant-summary article {
    align-items: center;
    border: 1px solid var(--store-border);
    border-radius: 9px;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
    padding: 16px;
}

.z4-store-variant-summary strong,
.z4-store-variant-summary small {
    display: block;
}

.z4-store-variant-summary small {
    color: var(--store-muted);
    font-size: 11px;
    margin-top: 4px;
}

.z4-store-overview-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 24px;
}

.z4-store-overview-grid .z4-store-form-card {
    margin: 0;
}

.z4-store-kpi-row {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 22px;
}

.z4-store-kpi-row > div {
    background: #fbfcff;
    border: 1px solid var(--store-border);
    border-radius: 10px;
    padding: 16px;
}

.z4-store-kpi-row small,
.z4-store-kpi-row strong {
    display: block;
}

.z4-store-kpi-row small {
    color: var(--store-muted);
    font-size: 12px;
}

.z4-store-kpi-row strong {
    color: var(--store-text);
    font-size: 24px;
    margin-top: 7px;
}

.z4-store-note {
    align-items: flex-start;
    background: #fff8f6;
    border: 1px solid #efd9d3;
    border-radius: 10px;
    display: flex;
    gap: 12px;
    padding: 15px 18px;
}

.z4-store-note strong {
    color: var(--store-primary);
    white-space: nowrap;
}

.z4-store-note span {
    color: var(--store-muted);
    font-size: 13px;
    line-height: 1.5;
}

.z4-store-stat-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.z4-store-check-stack {
    display: grid;
    gap: 4px;
}

.z4-store-check-stack .z4-store-check {
    border-bottom: 1px solid #edf1f6;
    padding: 11px 0;
}

.z4-store-check-stack .z4-store-check:last-child {
    border-bottom: 0;
}

.z4-store-record-list {
    display: grid;
}

.z4-store-record-card {
    align-items: center;
    border-bottom: 1px solid #e9eef5;
    display: grid;
    gap: 16px;
    grid-template-columns: 48px minmax(0, 1fr) auto 44px;
    padding: 17px 20px;
}

.z4-store-record-card:last-child {
    border-bottom: 0;
}

.z4-store-record-icon {
    align-items: center;
    background: var(--store-primary-soft);
    border: 1px solid #efd9d3;
    border-radius: 9px;
    color: var(--store-primary);
    display: flex;
    font-size: 16px;
    font-weight: 800;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.z4-store-record-copy > strong,
.z4-store-record-copy > span {
    display: block;
}

.z4-store-record-copy > strong {
    color: var(--store-text);
    font-size: 14px;
}

.z4-store-record-copy > span {
    color: var(--store-muted);
    font-size: 12px;
    margin-top: 4px;
}

.z4-store-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 9px;
}

.z4-store-badges small {
    background: #f1f5f9;
    border-radius: 999px;
    color: #475569;
    font-size: 10px;
    font-weight: 750;
    padding: 4px 8px;
}

.z4-store-record-card .z4-store-inline-editor {
    grid-column: 1 / -1;
}

.z4-store-inline-action {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(180px, 260px) auto;
    justify-content: start;
}

.z4-store-option-form {
    align-items: end;
    border-top: 1px solid var(--store-border);
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr 120px auto;
    margin-top: 18px;
    padding-top: 18px;
}

.z4-store-token-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.z4-store-token-list form {
    align-items: center;
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 9px;
    display: flex;
    gap: 8px;
    padding: 7px 8px 7px 11px;
}

.z4-store-token-list span {
    color: var(--store-copy);
    font-size: 12px;
    font-weight: 750;
}

.z4-store-token-list .z4-store-select {
    font-size: 11px;
    min-height: 32px;
    padding-bottom: 5px;
    padding-top: 5px;
    width: 110px;
}

.z4-store-collapsible-form {
    margin-bottom: 28px;
}

.z4-store-table-compact {
    min-width: 920px;
}

.z4-store-inventory-list {
    display: grid;
    gap: 22px;
}

.z4-store-inventory-browser { margin-bottom: 22px; }
.z4-store-filter-card.z4-store-inventory-filters {
    border: 0;
    border-bottom: 1px solid var(--store-border);
    border-radius: 0;
    box-shadow: none;
    grid-template-columns: minmax(260px, 1fr) minmax(190px, .55fr) auto;
    margin: 0;
    padding: 16px 20px;
}
.z4-store-inventory-browser .z4-store-table tr.is-selected td { background: #fff6f3; }
.z4-store-inventory-browser .z4-store-table td:last-child { text-align: end; }

.z4-store-inventory-list > .z4-store-form-card {
    margin: 0;
}

.z4-store-inventory-header {
    align-items: flex-start;
    border-bottom: 1px solid var(--store-border);
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin: -2px 0 22px;
    padding-bottom: 20px;
}

.z4-store-inventory-header h2 {
    color: var(--store-text);
    font-size: 19px;
    margin: 6px 0;
}

.z4-store-inventory-header p {
    color: var(--store-muted);
    font-size: 13px;
    margin: 0;
}

.z4-store-inventory-balances {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    margin-top: 18px;
}

.z4-store-inventory-balances > div {
    background: #fbfcfe;
    border: 1px solid var(--store-border);
    border-radius: 8px;
    display: grid;
    gap: 2px;
    padding: 12px 14px;
}

.z4-store-inventory-balances strong {
    color: var(--store-text);
    font-size: 20px;
}

.z4-store-inventory-balances span {
    color: var(--store-copy);
    font-size: 12px;
    font-weight: 800;
}

.z4-store-inventory-balances small {
    color: var(--store-muted);
    font-size: 11px;
}

.z4-store-subcard .z4-store-section-heading {
    display: block;
    margin-bottom: 0;
}

.z4-store-section-heading h3 {
    margin-bottom: 6px;
}

.z4-store-section-heading p {
    color: var(--store-muted);
    font-size: 12px;
    line-height: 1.55;
    margin: 0;
}

.z4-store-check-explained {
    align-items: flex-start;
    padding-top: 25px;
}

.z4-store-check-explained span {
    display: grid;
    gap: 4px;
}

.z4-store-check-explained small {
    font-weight: 500;
}

.z4-store-stock-preview {
    background: #fbfcfe;
    border: 1px solid var(--store-border);
    border-radius: 8px;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.z4-store-stock-preview > div {
    display: grid;
    gap: 6px;
    padding: 14px;
}

.z4-store-stock-preview > div + div {
    border-left: 1px solid var(--store-border);
}

.z4-store-stock-preview span {
    color: var(--store-muted);
    font-size: 10px;
    font-weight: 700;
}

.z4-store-stock-preview strong {
    color: var(--store-text);
    font-size: 17px;
}

.z4-store-stock-preview strong.is-positive {
    color: var(--store-success);
}

.z4-store-stock-preview strong.is-negative {
    color: var(--store-danger);
}

.z4-store-stock-preview-warning {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #991b1b;
    font-size: 12px;
    margin: 0;
    padding: 10px 12px;
}

.z4-store-inventory-check {
    align-items: center;
    background: #fbfcfe;
    border: 1px solid var(--store-border);
    border-radius: 8px;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-top: 18px;
    padding: 16px 18px;
}

.z4-store-inventory-check strong {
    color: var(--store-text);
    display: block;
    font-size: 13px;
    margin-bottom: 4px;
}

.z4-store-inventory-check p {
    color: var(--store-muted);
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
    max-width: 720px;
}

.z4-store-inventory-check form {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 820px) {
    .z4-store-inventory-balances,
    .z4-store-stock-preview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .z4-store-stock-preview > div:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--store-border);
    }

    .z4-store-stock-preview > div:nth-child(4) {
        border-top: 1px solid var(--store-border);
    }

    .z4-store-inventory-check {
        align-items: stretch;
        flex-direction: column;
    }

    .z4-store-inventory-check .z4-store-btn {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .z4-store-inventory-balances,
    .z4-store-stock-preview {
        grid-template-columns: 1fr;
    }

    .z4-store-stock-preview > div + div {
        border-left: 0;
        border-top: 1px solid var(--store-border);
    }
}

.z4-store-history {
    border-top: 1px solid var(--store-border);
    margin-top: 22px;
    padding-top: 18px;
}

.z4-store-history summary {
    color: var(--store-copy);
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
}

.z4-store-history summary span {
    color: var(--store-muted);
    font-weight: 500;
    margin-left: 6px;
}

.z4-store-history .z4-store-table-scroll {
    border: 1px solid var(--store-border);
    border-radius: 9px;
    margin-top: 14px;
}

.z4-store-input-suffix {
    position: relative;
}

.z4-store-input-suffix .z4-store-input {
    padding-right: 48px;
}

.z4-store-input-suffix > span {
    color: var(--store-muted);
    font-size: 12px;
    font-weight: 750;
    margin: 0;
    position: absolute;
    right: 13px;
    top: 14px;
}

.z4-store-check-feature {
    background: #fbfcff;
    border: 1px solid var(--store-border);
    border-radius: 10px;
    padding: 18px;
}

.z4-store-save-note {
    color: var(--store-muted);
    font-size: 12px;
    line-height: 1.55;
    margin: -8px 4px 0;
    text-align: center;
}

@media (max-width: 1380px) {
    .z4-store-filter-card {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .z4-store-filter-actions {
        justify-content: flex-end;
    }

}

@media (max-width: 1180px) {
    .z4-store-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1080px) {
    .z4-shipping-country-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .z4-store-filter-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .z4-store-filter-card.z4-store-inventory-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .z4-store-inventory-filters .z4-store-filter-actions {
        grid-column: 1 / -1;
    }

    .z4-store-editor,
    .z4-store-editor-layout,
    .z4-store-management-grid,
    .z4-store-preview-grid,
    .z4-store-overview-grid {
        grid-template-columns: 1fr;
    }

    .z4-store-next-card,
    .z4-store-create-panel,
    .z4-store-editor-side {
        position: static;
    }

    .z4-store-brand-grid {
        grid-template-columns: 1fr;
    }

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

    .z4-store-inventory-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .z4-store-inventory-summary > div {
        border-left: 0;
        padding-left: 0;
    }

    .z4-store-option-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .z4-shipping-country-grid {
        grid-template-columns: 1fr;
    }

    .z4-shipping-country-panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .z4-store-admin {
        padding: 28px 12px 56px;
    }

    html body:has(.z4-admin-sidebar) main.z4-store-admin,
    html body:has(.admin-sidebar) main.z4-store-admin,
    html body:has(.dashboard-sidebar) main.z4-store-admin {
        padding: 28px 12px 56px !important;
    }

    .z4-store-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .z4-store-heading-actions {
        justify-content: flex-start;
    }

    .z4-store-heading-actions .z4-store-btn {
        flex: 1 1 150px;
    }

    .z4-store-sticky-actions .z4-store-btn,
    .z4-store-form-actions .z4-store-btn {
        flex: 1 1 100%;
        justify-content: center;
    }

    .z4-store-stat-grid,
    .z4-store-filter-card,
    .z4-store-form-grid,
    .z4-store-split-grid,
    .z4-store-category-checks,
    .z4-store-editor-media-tools,
    .z4-store-preview-gallery,
    .z4-store-variant-summary article {
        grid-template-columns: 1fr;
    }

    .z4-store-filter-card.z4-store-inventory-filters {
        grid-template-columns: 1fr;
    }

    .z4-store-inventory-filters .z4-store-filter-actions {
        grid-column: auto;
    }

    .z4-store-kpi-row,
    .z4-store-inline-action,
    .z4-store-option-form {
        grid-template-columns: 1fr;
    }

    .z4-store-table-footer {
        align-items: flex-start;
        grid-template-columns: 1fr;
    }

    .z4-store-table-footer > span {
        text-align: left;
    }

    .z4-store-pagination {
        justify-content: flex-start;
    }

    .z4-store-form-card,
    .z4-store-side-card,
    .z4-store-next-card {
        padding: 20px 16px;
    }

    .z4-store-media-grid,
    .z4-store-brand-grid {
        grid-template-columns: 1fr;
    }

    .z4-store-media-source-footer,
    .z4-store-inline-gallery-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .z4-store-media-source-footer .z4-store-link-danger,
    .z4-store-inline-gallery-heading .z4-store-btn {
        justify-content: center;
        width: 100%;
    }

    .z4-store-category-row {
        grid-template-columns: 1fr auto;
        margin-left: calc(var(--category-depth, 0) * 8px);
    }

    .z4-store-category-row .z4-store-actions-menu {
        grid-column: 2;
    }

    .z4-store-brand-card {
        grid-template-columns: 58px 1fr;
    }

    .z4-store-brand-card > .z4-store-status,
    .z4-store-brand-card > .z4-store-btn {
        justify-self: start;
    }

    .z4-store-image-row {
        grid-template-columns: 1fr;
    }

    .z4-store-record-card {
        grid-template-columns: 48px minmax(0, 1fr) auto;
    }

    .z4-store-record-card > .z4-store-actions-menu {
        grid-column: 3;
    }

    .z4-store-inventory-header,
    .z4-store-note {
        flex-direction: column;
    }

    .z4-store-sticky-actions {
        bottom: 8px;
    }
}

/* Home Jewelry structure, adapted for the ART INPA editorial storefront. */
.z4sf-jewel-hero {
    background: #e7e8da;
    overflow: hidden;
    padding-block: clamp(38px, 6vw, 86px);
}

.z4sf-jewel-hero__inner {
    align-items: center;
    display: grid;
    gap: clamp(30px, 6vw, 84px);
    grid-template-columns: minmax(0, .94fr) minmax(340px, .86fr);
}

.z4sf-jewel-hero__copy {
    max-width: 640px;
}

.z4sf-jewel-hero__copy > p,
.z4sf-jewel-collections__intro > p {
    color: var(--z4sf-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    margin: 0 0 14px;
    text-transform: uppercase;
}

.z4sf-jewel-hero__copy h1 {
    font-size: clamp(42px, 5vw, 70px);
    font-weight: 750;
    letter-spacing: -.06em;
    line-height: 1.02;
    margin: 0;
}

.z4sf-jewel-hero__copy > div:not(.z4sf-jewel-hero__actions) {
    color: #45483f;
    font-size: 17px;
    line-height: 1.85;
    margin-top: 22px;
    max-width: 560px;
}

.z4sf-jewel-hero__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 30px;
}

.z4sf-text-link {
    border-bottom: 1px solid currentColor;
    font-size: 14px;
    font-weight: 800;
    padding-bottom: 4px;
}

.z4sf-jewel-hero__art {
    align-items: end;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) minmax(0, .72fr);
}

.z4sf-jewel-hero__art-card {
    background: #d4d5c5;
    min-height: 340px;
    overflow: hidden;
    position: relative;
}

.z4sf-jewel-hero__art-card:last-child {
    min-height: 260px;
}

.z4sf-jewel-hero__art-card img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    transition: transform .35s ease;
    width: 100%;
}

.z4sf-jewel-hero__art-card:hover img {
    transform: scale(1.035);
}

.z4sf-jewel-hero__art-card span {
    background: rgba(255, 255, 255, .92);
    bottom: 14px;
    font-size: 13px;
    font-weight: 800;
    inset-inline-start: 14px;
    max-width: calc(100% - 28px);
    padding: 9px 12px;
    position: absolute;
}

.z4sf-jewel-collections {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-top: 76px;
}

.z4sf-jewel-collections__intro {
    background: var(--z4sf-ink);
    color: var(--z4sf-white);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 320px;
    padding: 30px;
}

.z4sf-jewel-collections__intro > p {
    color: #d7e78a;
}

.z4sf-jewel-collections__intro h2 {
    font-size: clamp(27px, 2.6vw, 39px);
    letter-spacing: -.045em;
    line-height: 1.08;
    margin: 0;
}

.z4sf-jewel-collections__intro span {
    color: #d9d9d9;
    font-size: 14px;
    line-height: 1.7;
    margin-top: 16px;
}

.z4sf-jewel-collection {
    background: #f1f0eb;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 320px;
    overflow: hidden;
    padding: 24px;
    position: relative;
}

.z4sf-jewel-collection img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    transition: transform .35s ease;
    width: 100%;
}

.z4sf-jewel-collection:hover img {
    transform: scale(1.035);
}

.z4sf-jewel-collection.has-image::after {
    background: rgba(0, 0, 0, .37);
    content: "";
    inset: 0;
    position: absolute;
}

.z4sf-jewel-collection span {
    position: relative;
    z-index: 1;
}

.z4sf-jewel-collection.has-image span {
    color: var(--z4sf-white);
}

.z4sf-jewel-collection strong,
.z4sf-jewel-collection small {
    display: block;
}

.z4sf-jewel-collection strong {
    font-size: 20px;
    line-height: 1.3;
}

.z4sf-jewel-collection small {
    font-size: 12px;
    margin-top: 6px;
    opacity: .82;
}

.z4sf-jewel-featured {
    padding-top: 92px;
}

.z4sf-page-identity-image {
    display: block;
    height: 160px;
    margin-top: 22px;
    max-width: 100%;
    object-fit: cover;
    width: 280px;
}

.z4sf-page-identity-logo {
    display: block;
    height: 72px;
    margin-top: 22px;
    max-width: 180px;
    object-fit: contain;
    object-position: start center;
    width: 100%;
}

.z4sf-category-links,
.z4sf-active-filters {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.z4sf-empty__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 22px;
}

.z4sf-category-links a,
.z4sf-active-filters a {
    border: 1px solid var(--z4sf-line);
    color: var(--z4sf-ink);
    font-size: 13px;
    padding: 8px 11px;
}

.z4sf-active-filters {
    margin: -8px 0 22px;
}

.z4sf-active-filters strong {
    font-size: 13px;
}

.z4sf-active-filters a:last-child {
    border-color: transparent;
    text-decoration: underline;
}

@media (max-width: 900px) {
    .z4sf-jewel-hero__inner {
        grid-template-columns: 1fr;
    }

    .z4sf-jewel-hero__art {
        max-width: 680px;
    }

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

@media (max-width: 560px) {
    .z4sf-jewel-hero {
        padding-block: 42px;
    }

    .z4sf-jewel-hero__copy h1 {
        font-size: 43px;
    }

    .z4sf-jewel-hero__art-card {
        min-height: 250px;
    }

    .z4sf-jewel-hero__art-card:last-child {
        min-height: 200px;
    }

    .z4sf-jewel-collections {
        grid-template-columns: 1fr;
        padding-top: 48px;
    }

    .z4sf-jewel-collections__intro,
    .z4sf-jewel-collection {
        min-height: 250px;
    }

    .z4sf-active-filters {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* Phase 7: Orders and Fulfillment */
.z4-order-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 0 16px;
    scrollbar-width: thin;
}
.z4-order-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 13px;
    border: 1px solid #e6e1dd;
    border-radius: 999px;
    background: #fff;
    color: #312b28;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.z4-order-tabs a span {
    min-width: 22px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #f4f0ed;
    text-align: center;
}
.z4-order-tabs a.is-active { background: #1e1917; border-color: #1e1917; color: #fff; }
.z4-order-tabs a.is-active span { background: rgba(255,255,255,.15); }
.z4-order-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}
.z4-order-filters .is-wide { grid-column: span 2; }
.z4-store-filter-actions {
    display: flex;
    align-items: end;
    gap: 8px;
}
.z4-store-orders-page .z4-store-table-card-header {
    align-items: center;
    border-bottom: 1px solid #e3e9f2;
    display: flex;
    justify-content: space-between;
    padding: 18px 20px;
}
.z4-store-orders-page .z4-store-table-card-header h2 {
    font-size: 18px;
    line-height: 1.25;
    margin: 0 0 5px;
}
.z4-store-orders-page .z4-store-table-card-header p {
    color: var(--store-muted);
    font-size: 13px;
    line-height: 1.4;
    margin: 0;
}
.z4-order-table td { vertical-align: middle; }
.z4-order-table td small,
.z4-order-table td span { display: block; margin-top: 3px; color: #746c68; }
.z4-order-table td .z4-order-timezone-label {
    display: inline;
    margin: 0 0 0 4px;
    color: #746c68;
    font-size: 11px;
    white-space: nowrap;
}
.z4-order-status {
    display: inline-flex;
    align-items: center;
    width: max-content;
    padding: 7px 11px;
    border-radius: 999px;
    background: #eef0f2;
    color: #343a40;
    font-size: 12px;
    font-weight: 800;
}
.z4-order-status.is-new { background: #fff3cd; color: #705400; }
.z4-order-status.is-confirmed { background: #e5f2ff; color: #125389; }
.z4-order-status.is-processing { background: #eee8ff; color: #5b3e9f; }
.z4-order-status.is-ready { background: #e7f7ef; color: #176a45; }
.z4-order-status.is-shipped { background: #ddf4ff; color: #12617d; }
.z4-order-status.is-delivered { background: #dcf5e5; color: #0d6b36; }
.z4-order-status.is-cancelled { background: #fde8e8; color: #9c2f2f; }
.z4-order-status.is-returned { background: #f3e8dc; color: #70441d; }
.z4-order-heading .z4-store-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}
.z4-order-heading .z4-store-heading-actions form { margin: 0; }
.z4-order-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 22px;
    align-items: start;
}
.z4-order-main,
.z4-order-sidebar { display: grid; gap: 18px; }
.z4-order-sidebar { position: sticky; top: 20px; }
.z4-order-sidebar .z4-store-form-card { padding: 20px; }
.z4-order-sidebar h2 { margin: 0 0 14px; font-size: 18px; }
.z4-order-sidebar address { font-style: normal; line-height: 1.8; }
.z4-order-product { display: flex; align-items: center; gap: 11px; min-width: 230px; }
.z4-order-product img { width: 48px; height: 48px; border-radius: 8px; object-fit: cover; background: #f4f0ed; }
.z4-order-product small { display: block; color: #817975; }
.z4-order-totals { width: min(100%, 420px); margin: 18px 0 0 auto; }
.z4-order-totals div,
.z4-order-facts div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid #eee9e5; }
.z4-order-totals dt,
.z4-order-facts dt { color: #756d68; }
.z4-order-totals dd,
.z4-order-facts dd { margin: 0; text-align: end; font-weight: 700; }
.z4-order-totals .is-total { margin-top: 5px; border-top: 2px solid #28211e; font-size: 17px; }
.z4-order-timeline { list-style: none; margin: 0; padding: 0; }
.z4-order-timeline > li { display: grid; grid-template-columns: 18px 1fr; gap: 12px; position: relative; padding-bottom: 18px; }
.z4-order-timeline > li::before { content: ""; position: absolute; left: 7px; top: 17px; bottom: -3px; width: 2px; background: #ece5e1; }
.z4-order-timeline > li:last-child::before { display: none; }
.z4-order-timeline > li > span { width: 16px; height: 16px; border-radius: 50%; border: 4px solid #fbe6de; background: #d9572f; margin-top: 2px; z-index: 1; }
.z4-order-timeline header { display: flex; justify-content: space-between; gap: 15px; }
.z4-order-timeline time,
.z4-order-timeline small { color: #817975; font-size: 12px; }
.z4-order-timeline p { margin: 6px 0; }
.z4-order-timeline pre { white-space: pre-wrap; font-size: 11px; }
.z4-order-actions { display: grid; gap: 10px; }
.z4-order-actions form { display: grid; gap: 9px; margin: 0; }
.z4-order-actions details,
.z4-order-sidebar details { border: 1px solid #e8e1dd; border-radius: 10px; padding: 11px; }
.z4-order-actions summary,
.z4-order-sidebar summary { cursor: pointer; font-weight: 800; }
.z4-order-actions details[open] summary,
.z4-order-sidebar details[open] summary { margin-bottom: 12px; }
.z4-order-actions summary.is-danger { color: #a32c2c; }
.z4-order-status-form {
    display: grid;
    gap: 14px;
}
.z4-order-status-form > label,
.z4-order-status-context > label {
    display: grid;
    gap: 7px;
}
.z4-order-status-form label > span {
    font-size: 13px;
    font-weight: 700;
}
.z4-order-status-context {
    border-top: 1px solid #eee5e1;
    display: grid;
    gap: 12px;
    padding-top: 14px;
}
.z4-order-status-context[hidden] {
    display: none;
}
.z4-order-status-context > p {
    color: #6f6661;
    font-size: 13px;
    font-weight: 800;
    margin: 0;
}
.z4-order-status-context.is-danger {
    border-top-color: #efc4bd;
}
.z4-order-status-context.is-danger > p {
    color: #a32c2c;
}

@media (max-width: 1080px) {
    .z4-order-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .z4-order-layout { grid-template-columns: 1fr; }
    .z4-order-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .z4-order-filters,
    .z4-order-sidebar { grid-template-columns: 1fr; }
    .z4-order-filters .is-wide { grid-column: auto; }
    .z4-store-filter-actions { align-items: stretch; flex-direction: column; }
    .z4-order-heading .z4-store-heading-actions { justify-content: flex-start; }
    .z4-order-timeline header { flex-direction: column; gap: 2px; }
}

/* Phase 8: Customer Store Account */
.z4-account {
    min-height: 100vh;
    background: #f7f4f1;
}
.z4-account-shell {
    padding-block: 52px 80px;
}
.z4-account-heading {
    max-width: 760px;
    margin-bottom: 26px;
}
.z4-account-heading > p,
.z4-account-heading > a {
    display: inline-block;
    margin: 0 0 9px;
    color: #8d4b32;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}
.z4-account-heading h1 {
    margin: 0 0 10px;
    color: #211b18;
    font-size: clamp(32px, 5vw, 54px);
    line-height: 1.05;
}
.z4-account-heading > span {
    color: #6f6762;
    line-height: 1.7;
}
.z4-account-tabs,
.z4-account-filters {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 12px;
}
.z4-account-tabs {
    margin-bottom: 24px;
    border-bottom: 1px solid #ded8d3;
}
.z4-account-tabs a,
.z4-account-filters a {
    flex: 0 0 auto;
    border-radius: 999px;
    color: #5f5752;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
}
.z4-account-tabs a {
    padding: 10px 14px;
}
.z4-account-filters {
    margin-bottom: 18px;
}
.z4-account-filters a {
    border: 1px solid #ded8d3;
    background: #fff;
    padding: 8px 13px;
}
.z4-account-tabs a.is-active,
.z4-account-filters a.is-active {
    background: #211b18;
    border-color: #211b18;
    color: #fff;
}
.z4-account-orders {
    display: grid;
    gap: 14px;
}
.z4-account-order-card {
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) minmax(260px, 1fr) minmax(200px, .8fr) auto;
    gap: 20px;
    align-items: center;
    border: 1px solid #e4ddd8;
    border-radius: 16px;
    background: #fff;
    padding: 18px;
}
.z4-account-order-product {
    display: flex;
    gap: 12px;
    align-items: center;
    min-width: 0;
}
.z4-account-order-product img,
.z4-account-order-product > span {
    display: grid;
    place-items: center;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    border-radius: 12px;
    background: #f0ebe7;
    object-fit: cover;
}
.z4-account-order-product div {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.z4-account-order-product small,
.z4-account-order-product em,
.z4-account-order-status span {
    color: #7b726d;
    font-size: 12px;
    font-style: normal;
}
.z4-account-order-product strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.z4-account-order-card dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}
.z4-account-order-card dl div {
    display: grid;
    gap: 4px;
}
.z4-account-order-card dt {
    color: #7b726d;
    font-size: 11px;
}
.z4-account-order-card dd {
    margin: 0;
    font-size: 13px;
    font-weight: 750;
}
.z4-account-order-status {
    display: grid;
    gap: 4px;
}
.z4-account-order-actions,
.z4-address-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.z4-account-order-actions form,
.z4-address-actions form {
    margin: 0;
}
.z4-account-empty {
    grid-column: 1 / -1;
    border: 1px dashed #d5ccc6;
    border-radius: 16px;
    background: #fff;
    padding: 44px 24px;
    text-align: center;
}
.z4-account-empty strong {
    display: block;
    font-size: 22px;
}
.z4-account-empty p {
    margin: 8px auto 20px;
    color: #746b66;
}
.z4-account-order-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 20px;
    align-items: start;
}
.z4-account-order-layout > div,
.z4-account-order-layout > aside {
    display: grid;
    gap: 16px;
}
.z4-account-order-layout > aside {
    position: sticky;
    top: 18px;
}
.z4-account-panel {
    border: 1px solid #e4ddd8;
    border-radius: 16px;
    background: #fff;
    padding: 22px;
}
.z4-account-panel h2 {
    margin: 0 0 16px;
    font-size: 19px;
}
.z4-account-panel address {
    font-style: normal;
    line-height: 1.8;
}
.z4-account-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
}
.z4-account-timeline li {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 12px;
    position: relative;
    padding-bottom: 18px;
}
.z4-account-timeline li::before {
    content: "";
    position: absolute;
    inset-inline-start: 7px;
    top: 17px;
    bottom: -3px;
    width: 2px;
    background: #e8e0db;
}
.z4-account-timeline li:last-child::before {
    display: none;
}
.z4-account-timeline li > span {
    z-index: 1;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    border: 4px solid #f8ded3;
    border-radius: 50%;
    background: #c9542e;
}
.z4-account-timeline p,
.z4-account-timeline time {
    margin: 4px 0 0;
    color: #746b66;
    font-size: 12px;
}
.z4-account-items {
    display: grid;
}
.z4-account-items article {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid #eee8e4;
}
.z4-account-items img {
    width: 56px;
    height: 56px;
    border-radius: 9px;
    object-fit: cover;
}
.z4-account-items article > div {
    display: grid;
    gap: 3px;
}
.z4-account-items span {
    color: #746b66;
    font-size: 12px;
}
.z4-account-totals {
    width: min(100%, 390px);
    margin: 16px 0 0 auto;
}
.z4-account-totals div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
}
.z4-account-totals dd {
    margin: 0;
    font-weight: 750;
}
.z4-account-totals .is-total {
    border-top: 2px solid #211b18;
    font-size: 18px;
}
.z4-account-actions {
    display: grid;
    gap: 10px;
}
.z4-account-actions form {
    display: grid;
    gap: 8px;
    margin: 0;
}
.z4-account-actions details {
    border-top: 1px solid #ece5e1;
    padding-top: 12px;
}
.z4-account-actions summary {
    cursor: pointer;
    font-weight: 750;
}
.z4-account-actions textarea,
.z4-address-form input,
.z4-address-form textarea {
    box-sizing: border-box;
    width: 100%;
    margin-top: 8px;
    border: 1px solid #d8d0ca;
    border-radius: 9px;
    background: #fff;
    padding: 11px 12px;
}
.z4-address-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}
.z4-address-grid .z4-account-panel > header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}
.z4-address-grid .z4-account-panel > header h2 {
    margin-top: 3px;
}
.z4-address-grid .z4-account-panel > header > span {
    height: max-content;
    border-radius: 999px;
    background: #e4f3e9;
    color: #17663c;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 800;
}
.z4-address-grid details {
    margin: 16px 0;
}
.z4-address-grid summary {
    cursor: pointer;
    font-weight: 750;
}
.z4-address-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.z4-address-form label {
    color: #5f5752;
    font-size: 12px;
    font-weight: 700;
}
.z4-address-form .is-wide {
    grid-column: 1 / -1;
}
.z4-account-address-choice {
    display: grid;
    gap: 10px;
}
.z4-account-address-choice label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    border: 1px solid #ded6d0;
    border-radius: 11px;
    padding: 12px;
    cursor: pointer;
}
.z4-account-address-choice label:has(input:checked) {
    border-color: #5d3f33;
    box-shadow: 0 0 0 2px rgba(93, 63, 51, .08);
}
.z4-account-address-choice span {
    display: grid;
    gap: 3px;
}
.z4-account-address-choice small {
    color: #746b66;
}
.z4-personal-card {
    max-width: 720px;
}
.z4-personal-card dl {
    display: grid;
    gap: 12px;
}
.z4-personal-card dl div {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 16px;
    border-bottom: 1px solid #eee8e4;
    padding-bottom: 12px;
}
.z4-personal-card dt {
    color: #746b66;
}
.z4-personal-card dd {
    margin: 0;
    font-weight: 750;
}
@media (max-width: 1100px) {
    .z4-account-order-card {
        grid-template-columns: 1fr 1fr;
    }
    .z4-account-order-actions {
        justify-content: flex-end;
    }
}
@media (max-width: 820px) {
    .z4-account-order-layout,
    .z4-address-grid {
        grid-template-columns: 1fr;
    }
    .z4-account-order-layout > aside {
        position: static;
    }
}
@media (max-width: 620px) {
    .z4-account-shell {
        padding-block: 32px 60px;
    }
    .z4-account-order-card,
    .z4-account-order-card dl,
    .z4-address-form {
        grid-template-columns: 1fr;
    }
    .z4-account-order-actions {
        justify-content: flex-start;
    }
    .z4-account-items article {
        grid-template-columns: 48px minmax(0, 1fr);
    }
    .z4-account-items article > b {
        grid-column: 2;
    }
    .z4-personal-card dl div {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

/* ART INPA customer account */
.z4-account-v2 {
    --account-red: #bd0d18;
    --account-red-dark: #8d0912;
    --account-red-soft: #fff1f2;
    --account-ink: #151827;
    --account-muted: #697083;
    --account-line: #dfe3e8;
    --account-soft: #f7f7f8;
    min-height: 100vh;
    background: #fff;
    color: var(--account-ink);
}
.z4-account-v2 .z4-account-shell-v2,
.z4-account-v2 .z4-account-frame,
.z4-account-v2 .z4-account-content,
.z4-account-v2 .z4-account-sidebar {
    direction: ltr !important;
    text-align: left;
}
.z4-account-v2 *,
.z4-account-v2 *::before,
.z4-account-v2 *::after {
    box-sizing: border-box;
}
.z4-account-shell-v2 {
    padding-block: 24px 72px;
}
.z4-account-alerts {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
}
.z4-account-alert {
    border: 1px solid;
    border-radius: 6px;
    padding: 13px 15px;
    font-size: 13px;
    line-height: 1.55;
}
.z4-account-alert.is-success {
    border-color: #addbc3;
    background: #edf9f2;
    color: #17663c;
}
.z4-account-alert.is-error {
    border-color: #efb7bb;
    background: #fff0f1;
    color: #8d0912;
}
.z4-account-alert ul {
    margin: 6px 0 0;
    padding-left: 18px;
}
.z4-account-breadcrumb {
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 0 0 20px;
    color: var(--account-muted);
    font-size: 13px;
}
.z4-account-breadcrumb a {
    color: inherit;
    text-decoration: none;
}
.z4-account-breadcrumb a:hover {
    color: var(--account-red);
}
.z4-account-title {
    margin: 0 0 22px;
    color: var(--account-ink);
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.1;
}
.z4-account-frame {
    display: grid;
    grid-template-columns: 264px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}
.z4-account-sidebar,
.z4-account-section {
    border: 1px solid var(--account-line);
    border-radius: 7px;
    background: #fff;
}
.z4-account-sidebar {
    position: sticky;
    top: 18px;
    overflow: hidden;
}
.z4-account-identity {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: 32px 22px 28px;
    border-bottom: 1px solid var(--account-line);
    text-align: center;
}
.z4-account-avatar {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    margin-bottom: 15px;
    border: 4px solid #f7d5d8;
    border-radius: 50%;
    background: var(--account-red);
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    overflow: hidden;
}
.z4-account-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.z4-account-identity strong {
    max-width: 100%;
    overflow: hidden;
    color: var(--account-ink);
    font-size: 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.z4-account-identity small {
    max-width: 100%;
    margin-top: 5px;
    overflow: hidden;
    color: var(--account-muted);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.z4-account-menu {
    display: grid;
    padding: 14px 0;
}
.z4-account-menu a,
.z4-account-logout button {
    position: relative;
    display: flex;
    gap: 13px;
    align-items: center;
    width: 100%;
    min-height: 48px;
    border: 0;
    background: transparent;
    color: var(--account-ink);
    padding: 11px 22px;
    font: inherit;
    font-size: 14px;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}
.z4-account-menu a::before {
    content: "";
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    width: 4px;
    background: transparent;
}
.z4-account-menu a:hover,
.z4-account-menu a.is-active {
    background: var(--account-red-soft);
    color: var(--account-red);
}
.z4-account-menu a.is-active::before {
    background: var(--account-red);
}
.z4-account-menu .material-symbols-outlined,
.z4-account-logout .material-symbols-outlined {
    flex: 0 0 auto;
    font-size: 21px;
}
.z4-account-logout {
    margin: 0 16px;
    border-top: 1px solid var(--account-line);
    padding: 10px 0 14px;
}
.z4-account-logout button:hover {
    color: var(--account-red);
}
.z4-account-content {
    display: grid;
    gap: 18px;
    min-width: 0;
}
.z4-account-section {
    min-width: 0;
    padding: 24px 28px;
}
.z4-account-section-heading {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    margin-bottom: 22px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--account-line);
}
.z4-account-section-heading.is-compact {
    min-height: 0;
    margin-bottom: 16px;
    padding-bottom: 14px;
}
.z4-account-section-heading p {
    margin: 0 0 5px;
    color: var(--account-red);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.z4-account-section-heading h2,
.z4-account-section > h2 {
    margin: 0;
    color: var(--account-ink);
    font-size: 22px;
    line-height: 1.25;
}
.z4-account-section-heading span {
    display: block;
    margin-top: 5px;
    color: var(--account-muted);
    font-size: 13px;
}
.z4-account-primary-button,
.z4-account-secondary-button,
.z4-account-danger-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 40px;
    border: 1px solid transparent;
    border-radius: 5px;
    padding: 9px 20px;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
.z4-account-primary-button {
    border-color: var(--account-red);
    background: var(--account-red);
    color: #fff !important;
}
.z4-account-primary-button:hover {
    border-color: var(--account-red-dark);
    background: var(--account-red-dark);
    color: #fff !important;
}
.z4-account-secondary-button {
    border-color: #d7dade;
    background: #fff;
    color: var(--account-ink);
}
.z4-account-secondary-button:hover {
    border-color: var(--account-red);
    color: var(--account-red);
}
.z4-account-danger-button {
    border-color: #efc4c8;
    background: #fff7f7;
    color: var(--account-red-dark);
}
.z4-account-text-link {
    color: #5d6371;
    font-size: 12px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.z4-account-text-link:hover {
    color: var(--account-red);
}
.z4-account-latest-order {
    min-width: 0;
}
.z4-account-order-head {
    display: grid;
    grid-template-columns: 1.2fr .9fr .7fr .9fr .8fr 126px;
    gap: 18px;
    align-items: center;
    padding: 0 12px 20px;
}
.z4-account-order-head > div:not(.z4-account-latest-actions) {
    display: grid;
    gap: 7px;
}
.z4-account-order-head small,
.z4-account-overview-order small,
.z4-account-older-orders small {
    color: var(--account-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.z4-account-order-head strong {
    color: var(--account-ink);
    font-size: 13px;
}
.z4-account-latest-actions {
    display: grid;
    gap: 7px;
}
.z4-account-status-badge {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    border: 1px solid #e0cda7;
    border-radius: 999px;
    background: #fff7df;
    color: #7a5310;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 800;
}
.z4-account-status-badge.is-confirmed,
.z4-account-status-badge.is-processing,
.z4-account-status-badge.is-ready {
    border-color: #efc5c8;
    background: var(--account-red-soft);
    color: var(--account-red-dark);
}
.z4-account-status-badge.is-shipped,
.z4-account-status-badge.is-delivered {
    border-color: #addbc3;
    background: #edf9f2;
    color: #197446;
}
.z4-account-status-badge.is-cancelled {
    border-color: #efb7bb;
    background: #fff0f1;
    color: #9f101a;
}
.z4-account-status-badge.is-returned {
    border-color: #d8c7b8;
    background: #f8f2ed;
    color: #79523a;
}
.z4-account-progress {
    display: flex;
    list-style: none;
    margin: 4px 0 0;
    padding: 0 18px;
}
.z4-account-progress li {
    position: relative;
    display: grid;
    flex: 1 1 0;
    justify-items: center;
    min-width: 72px;
    color: #a1a6b0;
    text-align: center;
}
.z4-account-progress li:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 17px;
    inset-inline-start: calc(50% + 17px);
    width: calc(100% - 34px);
    height: 2px;
    background: #e5e7ea;
}
.z4-account-progress li.is-complete:not(:last-child)::after {
    background: var(--account-red);
}
.z4-account-progress .material-symbols-outlined {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f0f1f3;
    color: #7c8390;
    font-size: 19px;
}
.z4-account-progress li.is-complete .material-symbols-outlined {
    background: var(--account-red);
    color: #fff;
}
.z4-account-progress li.is-terminal .material-symbols-outlined {
    background: var(--account-red-dark);
}
.z4-account-progress strong {
    margin-top: 10px;
    color: #5e6472;
    font-size: 11px;
}
.z4-account-progress li.is-current strong {
    color: var(--account-red);
}
.z4-account-progress time {
    margin-top: 5px;
    color: #8b919d;
    font-size: 10px;
}
.z4-account-empty-v2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    padding: 28px;
    text-align: center;
}
.z4-account-empty-v2.is-small {
    min-height: 150px;
}
.z4-account-empty-v2 > .material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin-bottom: 15px;
    border-radius: 50%;
    background: var(--account-soft);
    color: #3e4552;
}
.z4-account-empty-v2 strong {
    font-size: 15px;
}
.z4-account-empty-v2 p {
    margin: 7px 0 16px;
    color: var(--account-muted);
    font-size: 13px;
}
.z4-account-orders-list,
.z4-account-older-orders {
    display: grid;
}
.z4-account-orders-list article,
.z4-account-older-orders article,
.z4-account-overview-order {
    display: grid;
    gap: 18px;
    align-items: center;
    padding: 15px 10px;
    border-bottom: 1px solid var(--account-line);
}
.z4-account-orders-list article {
    grid-template-columns: 1.25fr .9fr .65fr .9fr .9fr auto;
}
.z4-account-older-orders article,
.z4-account-overview-order {
    grid-template-columns: 1.25fr .9fr .9fr auto auto;
}
.z4-account-orders-list article:last-child,
.z4-account-older-orders article:last-child {
    border-bottom: 0;
}
.z4-account-orders-list article > div,
.z4-account-older-orders article > div,
.z4-account-overview-order > div {
    display: grid;
    gap: 5px;
}
.z4-account-orders-list small,
.z4-account-orders-list article > div > small {
    color: var(--account-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.z4-account-orders-list article > a,
.z4-account-older-orders article > a,
.z4-account-overview-order > a {
    color: var(--account-red);
    font-size: 12px;
    font-weight: 800;
}
.z4-account-order-details-link {
    display: inline-flex;
    gap: 4px;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
}
.z4-account-saved-address {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
}
.z4-account-address-icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--account-soft);
    color: var(--account-ink);
    font-size: 25px;
}
.z4-account-saved-address > div {
    display: grid;
    gap: 3px;
}
.z4-account-saved-address small {
    color: var(--account-red);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.z4-account-saved-address strong {
    font-size: 14px;
}
.z4-account-saved-address p,
.z4-account-saved-address span {
    margin: 0;
    color: var(--account-muted);
    font-size: 12px;
    line-height: 1.5;
}
.z4-account-saved-address > a {
    color: var(--account-red);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}
.z4-account-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.z4-account-overview-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    border: 1px solid var(--account-line);
    border-radius: 7px;
    color: var(--account-ink);
    padding: 17px;
    text-decoration: none;
}
.z4-account-overview-card:hover {
    border-color: #eab8bd;
    background: var(--account-red-soft);
}
.z4-account-overview-card > .material-symbols-outlined:first-child {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--account-red-soft);
    color: var(--account-red);
}
.z4-account-overview-card > div {
    display: grid;
}
.z4-account-overview-card strong {
    font-size: 22px;
}
.z4-account-overview-card span {
    color: var(--account-muted);
    font-size: 12px;
}
.z4-address-grid-v2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.z4-account-address-card {
    border: 1px solid var(--account-line);
    border-radius: 7px;
    padding: 20px;
}
.z4-account-address-card > header {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}
.z4-account-address-card .z4-account-address-icon {
    width: 44px;
    height: 44px;
}
.z4-account-address-card h3 {
    margin: 2px 0 0;
    font-size: 16px;
}
.z4-account-address-card small {
    color: var(--account-muted);
}
.z4-account-default-badge {
    border-radius: 999px;
    background: #edf9f2;
    color: #197446;
    padding: 5px 9px;
    font-size: 10px;
    font-weight: 800;
}
.z4-account-address-card address {
    margin: 18px 0 4px;
    color: #4e5563;
    font-style: normal;
    line-height: 1.6;
}
.z4-account-address-card > p {
    margin: 0 0 15px;
    color: var(--account-muted);
}
.z4-account-address-card details {
    margin: 12px 0;
    border-top: 1px solid var(--account-line);
    padding-top: 12px;
}
.z4-account-address-card summary,
.z4-account-actions summary {
    color: var(--account-red);
    font-weight: 800;
    cursor: pointer;
}
.z4-address-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.z4-address-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.z4-address-form label {
    display: grid;
    gap: 7px;
    color: #464c58;
    font-size: 12px;
    font-weight: 700;
}
.z4-address-form input,
.z4-address-form textarea,
.z4-account-actions textarea {
    width: 100%;
    min-height: 42px;
    margin: 0;
    border: 1px solid #d4d8de;
    border-radius: 5px;
    background: #fff;
    color: var(--account-ink);
    padding: 10px 12px;
    font: inherit;
}
.z4-address-form input:focus,
.z4-address-form textarea:focus,
.z4-account-actions textarea:focus {
    border-color: var(--account-red);
    outline: 3px solid #f9dfe1;
}
.z4-address-form .is-wide {
    grid-column: 1 / -1;
}
.z4-address-form .z4sf-check {
    display: flex;
    flex-direction: row;
    gap: 9px;
    align-items: center;
}
.z4-address-form .z4sf-check input {
    width: 17px;
    min-height: 17px;
    accent-color: var(--account-red);
}
.z4-account-profile-list {
    display: grid;
    margin: 0 0 24px;
}
.z4-account-profile-list > div {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 18px;
    border-bottom: 1px solid var(--account-line);
    padding: 14px 0;
}
.z4-account-profile-list dt {
    color: var(--account-muted);
}
.z4-account-profile-list dd {
    margin: 0;
    font-weight: 750;
}
.z4-account-security-note {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    border-color: #efd0d3;
    background: var(--account-red-soft);
}
.z4-account-security-note > .material-symbols-outlined {
    color: var(--account-red);
}
.z4-account-security-note p {
    margin: 5px 0 0;
    color: #606674;
    line-height: 1.65;
}
.z4-account-profile-form {
    display: grid;
    gap: 26px;
}
.z4-account-photo-editor {
    display: flex;
    gap: 22px;
    align-items: center;
    padding: 20px;
    border: 1px solid var(--account-line);
    border-radius: 12px;
    background: #fbfbfc;
}
.z4-account-photo-preview {
    display: grid;
    place-items: center;
    flex: 0 0 96px;
    width: 96px;
    height: 96px;
    overflow: hidden;
    border: 4px solid #f7d5d8;
    border-radius: 50%;
    background: var(--account-red);
    color: #fff;
    font-size: 34px;
    font-weight: 800;
}
.z4-account-photo-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.z4-account-photo-actions {
    min-width: 0;
}
.z4-account-photo-actions > p {
    margin: 5px 0 14px;
    color: var(--account-muted);
    font-size: 13px;
}
.z4-account-photo-actions > div {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.z4-account-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
.z4-account-remove-photo {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    color: #9f1019;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.z4-account-remove-photo input {
    accent-color: var(--account-red);
}
.z4-account-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.z4-account-form-grid label {
    display: grid;
    gap: 8px;
    min-width: 0;
    color: var(--account-ink);
    font-size: 13px;
    font-weight: 700;
}
.z4-account-form-grid label.is-full {
    grid-column: 1 / -1;
}
.z4-account-form-grid input {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 1px solid #d9dce3;
    border-radius: 9px;
    background: #fff;
    color: var(--account-ink);
    font: inherit;
    font-weight: 500;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.z4-account-form-grid input:focus {
    border-color: var(--account-red);
    box-shadow: 0 0 0 3px rgba(194, 15, 28, .11);
}
.z4-account-password-fields {
    margin: 0;
    padding: 22px;
    border: 1px solid var(--account-line);
    border-radius: 12px;
}
.z4-account-password-fields legend {
    padding: 0 8px;
    color: var(--account-ink);
    font-size: 15px;
    font-weight: 800;
}
.z4-account-password-fields legend small {
    margin-left: 8px;
    color: var(--account-muted);
    font-size: 12px;
    font-weight: 500;
}
.z4-account-field-error {
    display: block;
    margin-top: 7px;
    color: #b0000d;
    font-size: 12px;
    font-weight: 700;
}
.z4-account-order-title {
    align-items: flex-start;
}
.z4-account-status-message {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    margin-bottom: 22px;
    border: 1px solid #eed0d3;
    border-radius: 7px;
    background: var(--account-red-soft);
    padding: 15px;
}
.z4-account-status-message > .material-symbols-outlined {
    color: var(--account-red);
}
.z4-account-status-message p {
    margin: 4px 0 0;
    color: var(--account-muted);
}
.z4-account-cancellation-reason {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin: -4px 0 22px;
    border: 1px solid #efc5c8;
    border-radius: 7px;
    background: #fff7f7;
    padding: 14px 16px;
}
.z4-account-cancellation-reason > .material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--account-red);
    color: #fff;
    font-size: 18px;
}
.z4-account-cancellation-reason strong {
    color: var(--account-red-dark);
    font-size: 13px;
}
.z4-account-cancellation-reason p {
    margin: 4px 0 0;
    color: #5e3033;
    font-size: 13px;
    line-height: 1.55;
}
.z4-account-event-timeline {
    display: grid;
    list-style: none;
    margin: 0;
    padding: 0;
}
.z4-account-event-timeline li {
    position: relative;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    padding-bottom: 18px;
}
.z4-account-event-timeline li:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 30px;
    bottom: 0;
    left: 16px;
    width: 2px;
    background: #ead4d6;
}
.z4-account-event-timeline .material-symbols-outlined {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--account-red);
    color: #fff;
    font-size: 18px;
}
.z4-account-event-timeline p,
.z4-account-event-timeline time {
    margin: 4px 0 0;
    color: var(--account-muted);
    font-size: 12px;
}
.z4-account-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 18px;
    align-items: start;
}
.z4-account-detail-aside {
    display: grid;
    gap: 18px;
}
.z4-account-detail-aside .z4-account-section {
    padding: 20px;
}
.z4-account-detail-aside h2 {
    margin-bottom: 13px;
    font-size: 17px;
}
.z4-account-detail-aside address {
    color: #4e5563;
    font-style: normal;
    line-height: 1.65;
}
.z4-account-detail-aside p {
    color: var(--account-muted);
    line-height: 1.55;
}
.z4-account-info-list {
    display: grid;
    margin: 0;
}
.z4-account-info-list > div {
    display: grid;
    gap: 4px;
    padding: 10px 0;
    border-bottom: 1px solid var(--account-line);
}
.z4-account-info-list > div:first-child {
    padding-top: 0;
}
.z4-account-info-list > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}
.z4-account-info-list dt {
    color: var(--account-muted);
    font-size: 11px;
    font-weight: 700;
}
.z4-account-info-list dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--account-ink);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.5;
}
.z4-account-info-list a {
    color: var(--account-red);
    text-decoration: none;
}
.z4-account-info-list a:hover {
    text-decoration: underline;
}
.z4-account-product-placeholder {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 7px;
    background: var(--account-soft);
    color: #858b96;
}
.z4-account-v2 .z4-account-items article {
    border-color: var(--account-line);
}
.z4-account-v2 .z4-account-totals .is-total {
    border-color: var(--account-ink);
}
.z4-account-actions {
    display: grid;
    gap: 10px;
}
.z4-account-actions form {
    display: grid;
    gap: 8px;
}
.z4-account-items article > .z4-account-product-actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 18px;
    width: 100%;
    margin-top: 4px;
    border-top: 1px solid var(--account-line);
    padding-top: 14px;
}
.z4-account-product-actions > details {
    flex: 0 0 auto;
    min-width: 150px;
}
.z4-account-product-actions > details[open] {
    flex: 1 0 100%;
}
.z4-account-product-actions > .z4-account-submitted-review {
    flex: 1 1 100%;
}
.z4-account-product-actions .z4-account-review-form {
    margin: 0;
    border: 0;
    padding: 0;
}
.z4-account-product-actions summary {
    width: fit-content;
    cursor: pointer;
    color: var(--account-red);
    font-weight: 800;
}
.z4-account-product-actions .z4-account-return-form form {
    display: grid;
    gap: 14px;
    margin-top: 16px;
    padding: 18px;
    border: 1px solid #ead8d8;
    border-radius: 12px;
    background: #fffaf9;
}
.z4-account-return-form form > label {
    display: grid;
    gap: 7px;
    color: var(--account-ink);
    font-size: 12px;
    font-weight: 750;
}
.z4-account-return-form select {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    border: 1px solid #d4d8de;
    border-radius: 5px;
    background: #fff;
    color: var(--account-ink);
    padding: 9px 12px;
    font: inherit;
}
.z4-account-return-form select:focus {
    border-color: var(--account-red);
    outline: 3px solid #f9dfe1;
}
.z4-account-return-form textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 112px;
    border: 1px solid #d4d8de;
    border-radius: 8px;
    background: #fff;
    color: var(--account-ink);
    padding: 11px 12px;
    font: inherit;
    resize: vertical;
}
.z4-account-return-form textarea:focus {
    border-color: var(--account-red);
    outline: 3px solid #f9dfe1;
}
.z4-account-return-form form > p {
    margin: 0;
    color: var(--account-muted);
    font-size: 12px;
    line-height: 1.55;
}
.z4-account-actions details {
    border-top: 1px solid var(--account-line);
    padding-top: 12px;
}
.z4-account-pagination {
    margin-top: 18px;
}
@media (max-width: 1080px) {
    .z4-account-frame {
        grid-template-columns: 224px minmax(0, 1fr);
    }
    .z4-account-order-head {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .z4-account-latest-actions {
        grid-column: span 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .z4-address-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 820px) {
    .z4-account-shell-v2 {
        padding-block: 20px 56px;
    }
    .z4-account-frame {
        grid-template-columns: 1fr;
    }
    .z4-account-sidebar {
        position: static;
    }
    .z4-account-identity {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr);
        justify-items: start;
        padding: 18px;
        text-align: left;
    }
    .z4-account-avatar {
        grid-row: 1 / 3;
        width: 50px;
        height: 50px;
        margin: 0;
        font-size: 19px;
    }
    .z4-account-menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible;
        padding: 8px;
    }
    .z4-account-menu a {
        min-height: 42px;
        border-radius: 5px;
        padding: 8px 12px;
    }
    .z4-account-menu a::before {
        display: none;
    }
    .z4-account-logout {
        margin: 0 8px;
        padding: 7px 0 9px;
    }
    .z4-account-logout button {
        min-height: 40px;
        padding: 8px 12px;
    }
    .z4-account-detail-grid,
    .z4-address-grid-v2 {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 640px) {
    .z4-account-items article > .z4-account-product-actions {
        flex-wrap: wrap;
        gap: 12px;
    }
    .z4-account-product-actions > details {
        flex: 1 1 100%;
        min-width: 0;
    }
}
@media (max-width: 640px) {
    .z4-account-shell-v2 {
        padding-inline: 14px;
    }
    .z4-account-breadcrumb {
        margin-bottom: 14px;
    }
    .z4-account-title {
        margin-bottom: 16px;
        font-size: 30px;
    }
    .z4-account-section {
        padding: 20px 16px;
    }
    .z4-account-section-heading {
        align-items: stretch;
        flex-direction: column;
    }
    .z4-account-section-heading > .z4-account-primary-button {
        width: 100%;
    }
    .z4-account-order-head {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 12px;
        padding-inline: 0;
    }
    .z4-account-latest-actions {
        grid-column: 1 / -1;
    }
    .z4-account-progress {
        display: grid;
        gap: 0;
        padding: 8px 0 0;
    }
    .z4-account-progress li {
        grid-template-columns: 38px minmax(0, 1fr);
        justify-items: start;
        min-height: 66px;
        padding-bottom: 10px;
        text-align: left;
    }
    .z4-account-progress li:not(:last-child)::after {
        top: 36px;
        bottom: 0;
        left: 17px;
        width: 2px;
        height: auto;
    }
    .z4-account-progress .material-symbols-outlined {
        grid-row: 1 / 3;
    }
    .z4-account-progress strong {
        margin: 3px 0 0 10px;
        font-size: 12px;
    }
    .z4-account-progress time {
        margin: 2px 0 0 10px;
    }
    .z4-account-orders-list article,
    .z4-account-older-orders article,
    .z4-account-overview-order {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 13px;
        padding-inline: 0;
    }
    .z4-account-orders-list .z4-account-status-badge,
    .z4-account-older-orders .z4-account-status-badge,
    .z4-account-overview-order .z4-account-status-badge {
        align-self: center;
    }
    .z4-account-order-details-link {
        justify-content: flex-start;
    }
    .z4-account-saved-address {
        grid-template-columns: 46px minmax(0, 1fr);
    }
    .z4-account-saved-address > a {
        grid-column: 2;
    }
    .z4-account-address-icon {
        width: 44px;
        height: 44px;
    }
    .z4-account-overview-grid,
    .z4-address-form {
        grid-template-columns: 1fr;
    }
    .z4-address-form .is-wide {
        grid-column: auto;
    }
    .z4-account-address-card > header {
        grid-template-columns: 44px minmax(0, 1fr);
    }
    .z4-account-default-badge {
        grid-column: 2;
        width: max-content;
    }
    .z4-account-profile-list > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
    .z4-account-photo-editor {
        align-items: flex-start;
        flex-direction: column;
    }
    .z4-account-form-grid {
        grid-template-columns: 1fr;
    }
    .z4-account-form-grid label.is-full {
        grid-column: auto;
    }
    .z4-account-password-fields {
        padding: 18px 14px;
    }
    .z4-account-password-fields legend small {
        display: block;
        margin: 4px 0 0;
    }
    .z4-account-v2 .z4-account-items article {
        grid-template-columns: 48px minmax(0, 1fr);
    }
    .z4-account-v2 .z4-account-items article > b {
        grid-column: 2;
    }
}

/* Store overview and report filters */
.z4-store-heading:has(+ .z4-store-filter-bar) {
    margin-bottom: 28px;
}

.z4-store-filter-bar {
    align-items: end;
    display: grid;
    grid-template-columns:
        minmax(220px, 1.35fr)
        minmax(170px, .8fr)
        minmax(170px, .8fr)
        auto;
    gap: 14px;
    margin: 0 0 20px;
}

.z4-store-filter-bar label {
    color: var(--store-copy);
    display: grid;
    gap: 7px;
    min-width: 0;
}

.z4-store-filter-bar label > span {
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.z4-store-filter-bar .z4-store-input,
.z4-store-filter-bar .z4-store-select {
    min-width: 0;
    width: 100%;
}

.z4-store-filter-bar > .z4-store-btn {
    min-width: 100px;
}

@media (max-width: 900px) {
    .z4-store-filter-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .z4-store-filter-bar > .z4-store-btn {
        justify-self: start;
    }
}

@media (max-width: 620px) {
    .z4-store-heading:has(+ .z4-store-filter-bar) {
        margin-bottom: 22px;
    }

    .z4-store-filter-bar {
        gap: 12px;
        grid-template-columns: 1fr;
        margin-bottom: 18px;
    }

    .z4-store-filter-bar > .z4-store-btn {
        justify-self: stretch;
        width: 100%;
    }
}

/* Order detail workspace */
.z4-store-order-detail .z4-store-heading {
    align-items: flex-start;
    margin-bottom: 28px;
}

.z4-store-order-detail .z4-store-heading h1 {
    overflow-wrap: anywhere;
}

.z4-store-order-detail .z4-order-layout {
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) 320px;
}

.z4-store-order-detail .z4-order-main,
.z4-store-order-detail .z4-order-sidebar {
    min-width: 0;
}

.z4-store-order-detail .z4-order-main {
    gap: 18px;
}

.z4-store-order-detail .z4-order-information-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.z4-store-order-detail .z4-order-information-grid .z4-store-form-card {
    height: 100%;
    margin-top: 0;
    min-width: 0;
    padding: 20px 22px;
}

.z4-store-order-detail .z4-order-information-grid h2 {
    font-size: 17px;
    margin: 0 0 14px;
}

.z4-store-order-detail .z4-order-information-grid p {
    overflow-wrap: anywhere;
}

.z4-store-order-detail .z4-order-sidebar {
    gap: 16px;
    position: static;
}

.z4-store-order-detail .z4-order-main > .z4-store-form-card {
    padding: 22px;
}

.z4-store-order-detail .z4-store-card-header {
    margin-bottom: 18px;
}

.z4-store-order-detail .z4-store-table-scroll {
    max-width: 100%;
    overflow-x: hidden;
    scrollbar-gutter: auto;
    width: 100%;
}

.z4-store-order-detail .z4-store-table {
    min-width: 0;
    table-layout: fixed;
}

.z4-store-order-detail .z4-store-table th,
.z4-store-order-detail .z4-store-table td {
    overflow-wrap: anywhere;
    padding: 12px 10px;
}

.z4-store-order-detail .z4-store-table th {
    font-size: 10px;
}

.z4-store-order-detail .z4-store-table td {
    font-size: 12px;
}

.z4-store-order-detail .z4-store-table th:nth-child(n + 3),
.z4-store-order-detail .z4-store-table td:nth-child(n + 3) {
    overflow-wrap: normal;
    padding-inline: 6px;
    white-space: nowrap;
}

.z4-store-order-detail .z4-store-table th:nth-child(1) {
    width: 31%;
}

.z4-store-order-detail .z4-store-table th:nth-child(2) {
    width: 22%;
}

.z4-store-order-detail .z4-store-table th:nth-child(3) {
    width: 14%;
}

.z4-store-order-detail .z4-store-table th:nth-child(4) {
    width: 7%;
}

.z4-store-order-detail .z4-store-table th:nth-child(5) {
    width: 13%;
}

.z4-store-order-detail .z4-store-table th:nth-child(6) {
    width: 13%;
}

.z4-store-order-detail .z4-order-product {
    gap: 9px;
    min-width: 0;
}

.z4-store-order-detail .z4-order-product > div {
    min-width: 0;
}

.z4-store-order-detail .z4-order-product small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.z4-order-product-media {
    align-items: center;
    background: #f4f0ed;
    border: 1px solid var(--store-border);
    border-radius: 7px;
    color: var(--store-primary);
    display: grid;
    flex: 0 0 42px;
    font-size: 14px;
    font-weight: 800;
    height: 42px;
    justify-items: center;
    overflow: hidden;
    width: 42px;
}

.z4-order-product-media > * {
    grid-area: 1 / 1;
}

.z4-order-product-media img {
    background: #f4f0ed;
    height: 100%;
    object-fit: cover;
    width: 100%;
    z-index: 1;
}

.z4-store-order-detail .z4-order-totals {
    margin-top: 16px;
}

.z4-store-order-detail .z4-order-sidebar .z4-store-form-card {
    padding: 18px;
}

.z4-store-order-detail .z4-order-sidebar h2 {
    font-size: 16px;
    margin-bottom: 12px;
}

.z4-store-order-detail .z4-order-sidebar .z4-store-form-grid {
    grid-template-columns: 1fr;
}

.z4-store-order-detail .z4-order-sidebar .z4-store-form-grid .is-wide {
    grid-column: auto;
}

.z4-store-order-detail .z4-order-facts {
    margin: 0;
}

.z4-store-order-detail .z4-order-facts dd {
    min-width: 0;
    overflow-wrap: anywhere;
}

.z4-store-order-detail .z4-order-sidebar address,
.z4-store-order-detail .z4-order-sidebar p {
    overflow-wrap: anywhere;
}

.z4-store-order-detail .z4-order-sidebar > .z4-store-form-card > details:only-child {
    border: 0;
    padding: 0;
}

@media (max-width: 1180px) {
    .z4-store-order-detail .z4-order-layout {
        grid-template-columns: 1fr;
    }

    .z4-store-order-detail .z4-order-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .z4-store-order-detail .z4-store-heading {
        margin-bottom: 22px;
    }

    .z4-store-order-detail .z4-order-sidebar {
        grid-template-columns: 1fr;
    }

    .z4-store-order-detail .z4-order-information-grid {
        grid-template-columns: 1fr;
    }

    .z4-store-order-detail .z4-store-table-scroll {
        overflow-x: auto;
    }

    .z4-store-order-detail .z4-store-table {
        min-width: 720px;
    }
}

[data-z4-cart-page] {
    transition: opacity 160ms ease;
}

[data-z4-cart-page].is-updating {
    cursor: progress;
    opacity: 0.58;
    pointer-events: none;
}

.z4sf-cart-feedback {
    border: 1px solid #b9dfc5;
    border-radius: 10px;
    color: #176c36;
    margin-bottom: 18px;
    padding: 12px 14px;
}

.z4sf-cart-feedback.is-error {
    background: #fff3f2;
    border-color: #efc0bb;
    color: #a51d16;
}

.z4sf-cart-feedback.is-success {
    background: #f1fbf4;
}

.z4sf-cart-feedback[hidden] {
    display: none;
}

.z4-admin-settings-heading-group {
    background: rgba(255, 255, 255, 0.025);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    margin-top: 7px;
    padding-top: 7px;
}

.z4-admin-settings-heading-group:first-child {
    border-top: 0;
    margin-top: 0;
    padding-top: 2px;
}

html body:has(.z4-admin-sidebar) .z4-admin-section-body .z4-admin-settings-heading-group.is-active {
    background: rgba(255, 255, 255, 0.055) !important;
}

.z4-admin-settings-heading {
    color: rgba(255, 255, 255, 0.62);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.075em;
    line-height: 1.35;
    padding: 7px 13px 4px;
    text-transform: uppercase;
}

.z4-admin-settings-child-link {
    color: rgba(255, 255, 255, 0.84) !important;
    gap: 8px;
    min-height: 30px;
    padding-inline: 13px;
}

.z4-admin-settings-child-link:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
}

.z4-admin-settings-child-link.is-active {
    background: #b00000 !important;
    color: #fff !important;
}

.z4-admin-settings-bullet {
    color: rgba(255, 255, 255, 0.58);
    flex: 0 0 auto;
    font-size: 14px;
    line-height: 1;
}

.z4-admin-settings-child-link.is-active .z4-admin-settings-bullet {
    color: #fff;
}

.z4-mobile-settings-heading {
    color: #805d5d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.075em;
    margin-top: 10px;
    padding: 8px 14px 4px;
    text-transform: uppercase;
}

.z4-mobile-settings-link {
    align-items: center;
    display: flex;
    gap: 8px;
}
.z4-cancellation-review {
    margin-bottom: 1.25rem;
    border-color: rgba(181, 0, 0, .24);
    background: linear-gradient(135deg, #fffaf8 0%, #fff 72%);
}

.z4-cancellation-review > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.z4-cancellation-review > header h2,
.z4-cancellation-review-actions h3 {
    margin: .25rem 0;
}

.z4-cancellation-review > header p,
.z4-cancellation-review-actions p {
    margin: .35rem 0 0;
    color: #667085;
}

.z4-cancellation-review-attempt {
    flex: 0 0 auto;
    padding: .45rem .75rem;
    border: 1px solid rgba(181, 0, 0, .2);
    border-radius: 999px;
    color: #a40000;
    background: #fff;
    font-size: .78rem;
    font-weight: 700;
}

.z4-cancellation-review-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.z4-cancellation-review-actions > form {
    display: grid;
    align-content: start;
    gap: .8rem;
    padding: 1rem;
    border: 1px solid #eadfdb;
    border-radius: 14px;
    background: #fff;
}

.z4-cancellation-review-actions > form > .z4-store-btn {
    justify-self: start;
}

.z4-cancellation-review-block {
    align-items: flex-start;
}

.z4-cancellation-review-block span {
    display: grid;
    gap: .2rem;
}

.z4-cancellation-review-block small {
    color: #667085;
    font-weight: 400;
}

@media (max-width: 760px) {
    .z4-cancellation-review > header,
    .z4-cancellation-review-actions {
        grid-template-columns: 1fr;
    }

    .z4-cancellation-review > header {
        display: grid;
    }

    .z4-cancellation-review-attempt {
        justify-self: start;
    }
}
