[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;
    }
}

/* Catalog import/export */
.z4-store-catalog-transfer-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .8fr);
}

.z4-store-catalog-transfer-form {
    display: grid;
    gap: 16px;
}

.z4-store-transfer-check {
    align-items: flex-start;
    background: #fffaf8;
    border: 1px solid #eadfdb;
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    gap: 12px;
    padding: 14px;
}

.z4-store-transfer-check input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 3px;
}

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

.z4-store-transfer-check small,
.z4-store-transfer-notes p {
    color: var(--store-muted);
    line-height: 1.55;
    margin-top: 4px;
}

.z4-store-transfer-notes ul {
    display: grid;
    gap: 10px;
    line-height: 1.5;
    margin: 0;
    padding-inline-start: 20px;
}

@media (max-width: 900px) {
    .z4-store-catalog-transfer-grid {
        grid-template-columns: 1fr;
    }
}

/* Store-owned public artwork detail mirrors the established artwork experience. */
.z4sf-artwork-show { --pa-brand: #990b0b; --pa-brand-dark: #690606; --pa-border: #e4d8d3; --pa-muted: #71656c; background: #fcfaf8; color: #171316; min-height: 100vh; padding: 22px 20px 72px; }
.z4sf-artwork-show .z4-public-artwork-container { margin: 0 auto; max-width: 1480px; }
.z4sf-artwork-show .z4-public-breadcrumb { align-items: center; color: var(--pa-muted); display: flex; flex-wrap: wrap; font-size: 13px; gap: 9px; margin: 0 0 20px; }
.z4sf-artwork-show .z4-public-breadcrumb a { color: inherit; text-decoration: none; }
.z4sf-artwork-show .z4-public-breadcrumb strong { color: #342b30; font-weight: 650; }
.z4sf-artwork-show .z4-public-artwork-hero { align-items: start; display: grid; gap: clamp(28px, 4vw, 60px); grid-template-columns: minmax(0, 1.1fr) minmax(390px, .9fr); }
.z4sf-artwork-show .z4-public-gallery { min-width: 0; }
.z4sf-artwork-show .z4-public-gallery-main { align-items: center; aspect-ratio: 1.22 / 1; background: #eee9e5; border-radius: 13px; display: flex; justify-content: center; overflow: hidden; position: relative; }
.z4sf-artwork-show .z4-public-gallery-main > img { height: 100%; object-fit: contain; width: 100%; }
.z4sf-artwork-show .z4-public-gallery-main > a { align-items: center; background: #fff; border: 1px solid var(--pa-border); border-radius: 50%; color: #20191d; display: flex; font-size: 23px; height: 48px; justify-content: center; position: absolute; right: 16px; text-decoration: none; top: 16px; width: 48px; }
.z4sf-artwork-show .z4-public-gallery-empty { color: var(--pa-muted); padding: 30px; text-align: center; }
.z4sf-artwork-show .z4-public-thumbnails { display: grid; gap: 13px; grid-auto-columns: minmax(84px, 112px); grid-auto-flow: column; justify-content: center; margin-top: 16px; overflow-x: auto; padding: 3px 2px 8px; }
.z4sf-artwork-show .z4-public-thumbnails button { aspect-ratio: 1; background: #eee9e5; border: 2px solid transparent; border-radius: 10px; cursor: pointer; overflow: hidden; padding: 0; }
.z4sf-artwork-show .z4-public-thumbnails button.is-active { border-color: var(--pa-brand); }
.z4sf-artwork-show .z4-public-thumbnails img { height: 100%; object-fit: cover; width: 100%; }
.z4sf-artwork-show .z4-public-purchase-card { display: grid; gap: 14px; padding-top: 2px; }
.z4sf-artwork-show .z4-public-title-actions { align-items: center; display: flex; gap: 18px; justify-content: space-between; }
.z4sf-artwork-show .z4-public-title-actions > div:last-child { display: flex; gap: 8px; }
.z4sf-artwork-show .z4-public-title-actions button { background: transparent; border: 0; color: #2c2328; cursor: pointer; font-size: 13px; min-height: 38px; padding: 7px 9px; }
.z4sf-artwork-show .z4-public-title-actions [data-store-artwork-favorite] { font-size: 28px; line-height: 1; }
.z4sf-artwork-show .z4-public-title-actions [data-store-artwork-favorite][aria-pressed="true"] { color: var(--pa-brand); }
.z4sf-artwork-show .z4-public-badges { display: flex; flex-wrap: wrap; gap: 9px; }
.z4sf-artwork-show .z4-public-badges span { background: #f9e9e7; border-radius: 999px; color: #7c1b1b; font-size: 12px; padding: 9px 14px; }
.z4sf-artwork-show .z4-public-badges span.is-availability { background: #e6f5ea; color: #176f3d; }
.z4sf-artwork-show .z4-public-purchase-card h1 { font-size: clamp(38px, 5vw, 60px); font-weight: 520; letter-spacing: -.035em; line-height: 1.04; margin: 2px 0 -3px; }
.z4sf-artwork-show .z4-public-byline,
.z4sf-artwork-show .z4-public-summary { margin: 0; }
.z4sf-artwork-show .z4-public-byline strong { color: var(--pa-brand); }
.z4sf-artwork-show .z4-public-price { font-size: clamp(27px, 3vw, 36px); font-weight: 650; margin: 0; }
.z4sf-artwork-show .z4-public-price-policy,
.z4sf-artwork-show .z4-public-summary { line-height: 1.62; max-width: 760px; }
.z4sf-artwork-show .z4-public-key-facts { border: 1px solid var(--pa-border); border-radius: 11px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 2px 0 0; overflow: hidden; }
.z4sf-artwork-show .z4-public-key-facts > div { border-bottom: 1px solid var(--pa-border); min-height: 68px; padding: 12px 15px; }
.z4sf-artwork-show .z4-public-key-facts > div:nth-child(odd) { border-left: 1px solid var(--pa-border); }
.z4sf-artwork-show .z4-public-key-facts > div:nth-last-child(-n+2) { border-bottom: 0; }
.z4sf-artwork-show .z4-public-key-facts dt { color: var(--pa-muted); font-size: 12px; margin-bottom: 6px; }
.z4sf-artwork-show .z4-public-key-facts dd { font-size: 14px; margin: 0; overflow-wrap: anywhere; }
.z4sf-artwork-show .z4-public-purchase-actions { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.z4sf-artwork-show .z4-public-purchase-actions form { margin: 0; }
.z4sf-artwork-show .z4-public-purchase-actions button,
.z4sf-artwork-show .z4-public-purchase-actions a { align-items: center; border: 1px solid var(--pa-brand); border-radius: 7px; display: flex; font-weight: 750; justify-content: center; min-height: 52px; padding: 12px 20px; text-decoration: none; width: 100%; }
.z4sf-artwork-show .z4-public-purchase-actions button { background: var(--pa-brand); color: #fff; }
.z4sf-artwork-show .z4-public-purchase-actions button:disabled { background: #d5cdca; border-color: #d5cdca; color: #625a57; cursor: not-allowed; }
.z4sf-artwork-show .z4-public-purchase-actions a { background: #fff; color: var(--pa-brand); }
.z4sf-artwork-show .z4-public-trust-row { align-items: center; background: #f1ece8; border-radius: 7px; color: #51474c; display: flex; flex-wrap: wrap; font-size: 12px; gap: 10px 22px; justify-content: center; padding: 13px; }
.z4sf-artwork-show .z4-public-trust-row span + span::before { color: var(--pa-brand); content: "•"; margin-left: 18px; }
.z4sf-artwork-show .z4-public-share-status { color: #176f3d; font-size: 12px; margin: 0; min-height: 18px; }
.z4sf-artwork-show .z4-public-artwork-body { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); margin-top: 30px; }
.z4sf-artwork-show .z4-public-specifications,
.z4sf-artwork-show .z4-public-detail-tabs,
.z4sf-artwork-show .z4-public-related article,
.z4sf-artwork-show .z4-public-empty-state { background: #fff; border: 1px solid var(--pa-border); border-radius: 13px; }
.z4sf-artwork-show .z4-public-specifications { padding: 20px; }
.z4sf-artwork-show .z4-public-specifications h2 { font-size: 19px; margin: 0 0 16px; }
.z4sf-artwork-show .z4-public-specifications dl { margin: 0; }
.z4sf-artwork-show .z4-public-specifications dl > div { display: grid; font-size: 13px; grid-template-columns: minmax(110px, .75fr) minmax(0, 1.25fr); }
.z4sf-artwork-show .z4-public-specifications dt,
.z4sf-artwork-show .z4-public-specifications dd { border-bottom: 1px solid var(--pa-border); margin: 0; padding: 9px 8px; }
.z4sf-artwork-show .z4-public-specifications dt { color: #554b50; }
.z4sf-artwork-show .z4-public-specifications dd { overflow-wrap: anywhere; }
.z4sf-artwork-show .z4-public-detail-tabs { overflow: hidden; }
.z4sf-artwork-show .z4-public-tab-list { border-bottom: 1px solid var(--pa-border); display: flex; overflow-x: auto; padding: 0 14px; }
.z4sf-artwork-show .z4-public-tab-list button { background: transparent; border: 0; border-bottom: 3px solid transparent; color: #5f555b; cursor: pointer; flex: 1 0 auto; font-size: 13px; min-height: 58px; padding: 12px 18px; }
.z4sf-artwork-show .z4-public-tab-list button[aria-selected="true"] { border-color: var(--pa-brand); color: var(--pa-brand); font-weight: 800; }
.z4sf-artwork-show .z4-public-detail-tabs [role="tabpanel"] { line-height: 1.72; min-height: 310px; padding: 24px; }
.z4sf-artwork-show .z4-public-detail-tabs [role="tabpanel"] h3 { margin-top: 24px; }
.z4sf-artwork-show .z4-public-visual-facts { border: 1px solid var(--pa-border); border-radius: 10px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 25px; }
.z4sf-artwork-show .z4-public-visual-facts div { min-width: 0; padding: 18px 12px; text-align: center; }
.z4sf-artwork-show .z4-public-visual-facts div + div { border-right: 1px solid var(--pa-border); }
.z4sf-artwork-show .z4-public-visual-facts strong,
.z4sf-artwork-show .z4-public-visual-facts small { display: block; overflow-wrap: anywhere; }
.z4sf-artwork-show .z4-public-visual-facts small { color: var(--pa-muted); margin-top: 6px; }
.z4sf-artwork-show .z4-public-related { margin-top: 30px; }
.z4sf-artwork-show .z4-public-section-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 14px; }
.z4sf-artwork-show .z4-public-section-heading h2 { font-size: 21px; margin: 0; }
.z4sf-artwork-show .z4-public-section-heading a { color: var(--pa-brand); font-size: 13px; text-decoration: none; }
.z4sf-artwork-show .z4-public-related-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.z4sf-artwork-show .z4-public-empty-state { color: var(--pa-muted); padding: 28px; text-align: center; }

@media (max-width: 1050px) {
    .z4sf-artwork-show .z4-public-artwork-hero,
    .z4sf-artwork-show .z4-public-artwork-body { grid-template-columns: 1fr; }
    .z4sf-artwork-show .z4-public-gallery-main { max-height: 760px; }
    .z4sf-artwork-show .z4-public-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .z4sf-artwork-show { padding: 16px 12px 50px; }
    .z4sf-artwork-show .z4-public-artwork-hero { gap: 22px; }
    .z4sf-artwork-show .z4-public-purchase-card h1 { font-size: 38px; }
    .z4sf-artwork-show .z4-public-key-facts,
    .z4sf-artwork-show .z4-public-purchase-actions,
    .z4sf-artwork-show .z4-public-related-grid { grid-template-columns: 1fr; }
    .z4sf-artwork-show .z4-public-key-facts > div,
    .z4sf-artwork-show .z4-public-key-facts > div:nth-child(odd),
    .z4sf-artwork-show .z4-public-key-facts > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--pa-border); border-left: 0; }
    .z4sf-artwork-show .z4-public-key-facts > div:last-child { border-bottom: 0; }
    .z4sf-artwork-show .z4-public-trust-row { align-items: flex-start; flex-direction: column; }
    .z4sf-artwork-show .z4-public-trust-row span + span::before { margin-left: 10px; }
    .z4sf-artwork-show .z4-public-visual-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .z4sf-artwork-show .z4-public-visual-facts div + div { border-right: 0; }
    .z4sf-artwork-show .z4-public-visual-facts div:nth-child(even) { border-right: 1px solid var(--pa-border); }
    .z4sf-artwork-show .z4-public-visual-facts div:nth-child(n+3) { border-top: 1px solid var(--pa-border); }
}

/* Store-owned artwork catalog and dedicated artwork detail presentation. */
.z4sf-artworks-hero {
    background: linear-gradient(135deg, #fff7f4 0%, #fff 70%);
    border-bottom: 1px solid #eadeda;
    padding: 42px 0 48px;
}
.z4sf-artworks-hero p,
.z4sf-artworks-heading p,
.z4sf-artwork-summary__eyebrow {
    color: #a40000;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    margin: 0 0 8px;
    text-transform: uppercase;
}
.z4sf-artworks-hero h1 { font-size: clamp(34px, 5vw, 64px); line-height: 1; margin: 0 0 14px; }
.z4sf-artworks-hero > .z4sf-container > div { color: #667085; max-width: 720px; }
.z4sf-artworks-catalog { padding-block: 34px 70px; }
.z4sf-artwork-filters {
    align-items: end; background: #fff; border: 1px solid #eadeda; border-radius: 18px;
    display: grid; gap: 14px; grid-template-columns: 2fr 1fr 1fr auto; margin-bottom: 34px; padding: 18px;
}
.z4sf-artwork-filters label { display: grid; gap: 7px; }
.z4sf-artwork-filters label > span { font-size: 12px; font-weight: 800; }
.z4sf-artwork-filters input,.z4sf-artwork-filters select { border: 1px solid #dfd3cf; border-radius: 12px; min-height: 48px; padding: 0 14px; }
.z4sf-artworks-heading { align-items: end; display: flex; justify-content: space-between; margin: 0 0 20px; }
.z4sf-artworks-heading h2 { font-size: 30px; margin: 0; }
.z4sf-artworks-heading > span { color: #667085; }
.z4sf-artwork-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.z4sf-artwork-card { background: #fff; border: 1px solid #eadeda; border-radius: 18px; overflow: hidden; }
.z4sf-artwork-card__media { aspect-ratio: 4/3; background: #f6f1ee; display: block; overflow: hidden; position: relative; }
.z4sf-artwork-card__media img { height: 100%; object-fit: cover; transition: transform .25s ease; width: 100%; }
.z4sf-artwork-card:hover .z4sf-artwork-card__media img { transform: scale(1.025); }
.z4sf-artwork-status { background: #fff; border-radius: 999px; bottom: 14px; color: #176c36; font-size: 11px; font-weight: 800; padding: 7px 11px; position: absolute; right: 14px; }
.z4sf-artwork-status.is-sold { color: #a40000; }
.z4sf-artwork-card__body { display: grid; gap: 10px; padding: 20px; }
.z4sf-artwork-card__eyebrow { color: #7b6060; display: flex; font-size: 12px; justify-content: space-between; }
.z4sf-artwork-card h2 { font-size: 22px; line-height: 1.25; margin: 0; }
.z4sf-artwork-card h2 a { color: #111827; text-decoration: none; }
.z4sf-artwork-card p,.z4sf-artwork-card__body > div { color: #667085; margin: 0; }
.z4sf-artwork-card footer { align-items: center; border-top: 1px solid #f0e7e3; display: flex; justify-content: space-between; margin-top: 8px; padding-top: 14px; }
.z4sf-artwork-card footer a { color: #a40000; font-weight: 800; }
.z4sf-artwork-detail { padding-block: 30px 72px; }
.z4sf-artwork-detail__hero { display: grid; gap: 46px; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); margin-top: 20px; }
.z4sf-artwork-gallery__main { align-items: center; background: #f6f1ee; border: 1px solid #eadeda; border-radius: 20px; display: flex; justify-content: center; min-height: 560px; overflow: hidden; padding: 22px; }
.z4sf-artwork-gallery__main img { display: block; max-height: 680px; max-width: 100%; object-fit: contain; }
.z4sf-artwork-gallery__thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; }
.z4sf-artwork-gallery__thumbs button { background: #fff; border: 1px solid #dfd3cf; border-radius: 10px; cursor: pointer; height: 78px; overflow: hidden; padding: 4px; width: 78px; }
.z4sf-artwork-gallery__thumbs img { height: 100%; object-fit: cover; width: 100%; }
.z4sf-artwork-summary { align-self: start; position: sticky; top: 24px; }
.z4sf-artwork-summary h1 { font-size: clamp(34px, 4vw, 54px); line-height: 1.04; margin: 0 0 10px; }
.z4sf-artwork-summary__artist { color: #7b6060; font-size: 18px; margin: 0 0 20px; }
.z4sf-artwork-summary__intro { color: #475467; line-height: 1.75; }
.z4sf-artwork-summary__facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; }
.z4sf-artwork-summary__facts span { background: #fbf4f1; border-radius: 999px; color: #694747; font-size: 12px; padding: 8px 11px; }
.z4sf-artwork-summary__price { align-items: baseline; border-block: 1px solid #eadeda; display: flex; gap: 10px; padding-block: 20px; }
.z4sf-artwork-summary__price strong { font-size: 30px; }
.z4sf-artwork-summary__price small { color: #667085; }
.z4sf-artwork-availability { align-items: center; display: flex; font-weight: 800; gap: 8px; margin: 16px 0; }
.z4sf-artwork-availability span { background: currentColor; border-radius: 50%; height: 8px; width: 8px; }
.z4sf-artwork-availability.is-available { color: #176c36; }.z4sf-artwork-availability.is-sold { color: #a40000; }
.z4sf-artwork-purchase { display: grid; gap: 10px; }.z4sf-artwork-purchase .z4sf-btn { min-height: 54px; width: 100%; }.z4sf-artwork-purchase > a { color: #a40000; font-weight: 800; text-align: center; }
.z4sf-artwork-trust { border-top: 1px solid #eadeda; display: grid; gap: 8px; margin-top: 20px; padding-top: 18px; }.z4sf-artwork-trust span { color: #667085; font-size: 13px; }
.z4sf-artwork-information { margin-top: 50px; }.z4sf-artwork-information .z4sf-pdp-panel { align-items: start; display: grid; gap: 34px; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.z4sf-artwork-copy h2 { font-size: 30px; margin: 0 0 14px; }.z4sf-artwork-copy > div,.z4sf-artwork-copy p { color: #475467; line-height: 1.8; }
.z4sf-artwork-details-block { background: #fcf9f7; border: 1px solid #eadeda; border-radius: 18px; padding: 22px; }
.z4sf-artwork-details-block__eyebrow { color: #a40000; font-size: 11px; font-weight: 900; letter-spacing: .13em; margin: 0 0 7px; text-transform: uppercase; }
.z4sf-artwork-details-block h2 { font-size: 24px; margin: 0 0 12px; }
.z4sf-artwork-specs { display: grid; gap: 0; grid-template-columns: 1fr 1fr; margin: 0; }.z4sf-artwork-specs div { border-bottom: 1px solid #eadeda; min-width: 0; padding: 12px; }.z4sf-artwork-specs dt { color: #667085; font-size: 12px; }.z4sf-artwork-specs dd { font-weight: 700; margin: 5px 0 0; overflow-wrap: anywhere; }
.z4sf-artwork-information .z4sf-artwork-overview-panel:not([hidden]) { grid-template-columns: 1fr; }
.z4sf-artwork-overview-panel .z4sf-artwork-specs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.z4sf-artwork-related { margin-top: 52px; }
@media (max-width: 960px) {
    .z4sf-artwork-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .z4sf-artwork-detail__hero { grid-template-columns: 1fr; }.z4sf-artwork-summary { position: static; }
    .z4sf-artwork-filters { grid-template-columns: 1fr 1fr; }
    .z4sf-artwork-overview-panel .z4sf-artwork-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .z4sf-artwork-grid,.z4sf-artwork-information .z4sf-pdp-panel,.z4sf-artwork-specs,.z4sf-artwork-filters { grid-template-columns: 1fr; }
    .z4sf-artwork-overview-panel .z4sf-artwork-specs { grid-template-columns: 1fr; }
    .z4sf-artwork-gallery__main { min-height: 340px; padding: 10px; }
}

/* Store-owned artwork workflow */
.z4-store-artwork-page .z4-store-container {
    max-width: 1240px;
}

.z4-store-artwork-index-actions {
    display: flex;
    justify-content: flex-end;
    margin: -10px 0 24px;
}

.z4-store-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid var(--store-primary);
    border-radius: 10px;
    background: var(--store-primary);
    color: #fff !important;
    font: inherit;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.z4-store-button:hover,
.z4-store-button:focus-visible {
    filter: brightness(.92);
}

.z4-store-button.is-secondary {
    background: #fff;
    color: var(--store-primary) !important;
}

html body main.z4-store-admin.z4-store-artwork-page a.z4-store-artwork-add-button,
html body main.z4-store-admin.z4-store-artwork-page a.z4-store-artwork-add-button:visited {
    gap: 9px;
    background: var(--store-primary) !important;
    border-color: var(--store-primary) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(121, 0, 0, .18);
}

html body main.z4-store-admin.z4-store-artwork-page a.z4-store-artwork-add-button > * {
    color: #fff !important;
}

html body main.z4-store-admin.z4-store-artwork-page a.z4-store-artwork-add-button:hover,
html body main.z4-store-admin.z4-store-artwork-page a.z4-store-artwork-add-button:focus-visible {
    background: var(--store-primary-strong) !important;
    border-color: var(--store-primary-strong) !important;
    color: #fff !important;
    filter: none;
    outline: 3px solid rgba(154, 0, 0, .18);
    outline-offset: 2px;
}

.z4-store-button-icon {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    color: inherit;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

.z4-store-artwork-form {
    display: grid;
    gap: 18px;
    padding-bottom: 110px;
}

.z4-store-artwork-stepper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.z4-store-artwork-stepper button {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--store-border);
    border-radius: 12px;
    background: #fff;
    color: var(--store-muted);
    text-align: left;
    cursor: pointer;
}

.z4-store-artwork-stepper button > span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
    background: #f7e9e9;
    color: var(--store-primary);
    font-weight: 800;
}

.z4-store-artwork-stepper button.is-current {
    border-color: var(--store-primary);
    color: var(--store-text);
    box-shadow: 0 0 0 3px rgba(181, 0, 0, .08);
}

.z4-store-artwork-stepper button.is-current > span {
    background: var(--store-primary);
    color: #fff;
}

.z4-store-artwork-step[hidden] { display: none !important; }
.z4-store-artwork-step:focus { outline: none; }
.z4-store-artwork-step .z4-store-form-grid { margin-top: 18px; }

.z4-store-artwork-actions {
    position: sticky;
    z-index: 12;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--store-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 -10px 30px rgba(25, 25, 25, .08);
    backdrop-filter: blur(8px);
}

.z4-store-artwork-actions > div {
    display: flex;
    gap: 10px;
}

.z4-store-artwork-list {
    display: grid;
    gap: 12px;
}

.z4-store-artwork-list > article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px;
    border: 1px solid var(--store-border);
    border-radius: 16px;
    background: #fff;
}

.z4-store-artwork-list h2 { margin: 8px 0 4px; }
.z4-store-artwork-list p { margin: 0; color: var(--store-muted); }

.z4-store-artwork-row-actions {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

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

.z4-store-artwork-page .z4-store-artwork-row-actions .z4-store-actions-menu summary {
    border-color: #e3c8c5;
    border-radius: 10px;
    color: var(--store-primary);
    height: 42px;
    letter-spacing: 2px;
    width: 44px;
}

.z4-store-artwork-page .z4-store-artwork-row-actions .z4-store-actions-menu > div {
    min-width: 222px;
}

.z4-store-artwork-page .z4-store-artwork-row-actions .z4-store-actions-menu[open] > div {
    left: auto !important;
    max-height: min(360px, calc(100vh - 32px));
    max-width: calc(100vw - 32px);
    overflow-y: auto;
    position: absolute !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    width: max-content;
}

.z4-store-artwork-page .z4-store-artwork-row-actions .z4-store-actions-note {
    border-bottom: 1px solid #f0e4e1;
    margin-bottom: 3px;
}

.z4-store-artwork-review-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    align-items: start;
    gap: 20px;
}

.z4-store-artwork-review-grid aside { position: sticky; top: 96px; }
.z4-store-artwork-review-grid form { display: grid; gap: 14px; }
.z4-store-artwork-review-grid form label { display: grid; gap: 7px; }

.z4-store-artwork-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 16px 0 24px;
}

.z4-store-artwork-facts > div {
    padding: 12px 0;
    border-bottom: 1px solid var(--store-border);
}

.z4-store-artwork-facts dt {
    color: var(--store-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.z4-store-artwork-facts dd { margin: 5px 0 0; }

.z4-store-artwork-media {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.z4-store-artwork-media img,
.z4-store-artwork-existing-image {
    display: block;
    max-width: 100%;
    border-radius: 12px;
    object-fit: cover;
}

.z4-store-artwork-media img { width: 100%; aspect-ratio: 4 / 3; }
.z4-store-artwork-existing-image { width: 180px; margin-top: 10px; }

.z4-store-autosave-status{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;border:1px solid #ead7d7;border-radius:12px;background:#fff}.z4-store-autosave-status.is-saving,.z4-store-autosave-status.is-pending{color:#7a4c00;background:#fff9ed}.z4-store-autosave-status.is-saved{color:#17663a;background:#effaf3}.z4-store-autosave-status.is-error,.z4-store-autosave-status.is-conflict,.z4-store-autosave-status.is-offline{color:#9f1219;background:#fff1f1}.z4-store-autosave-status button{border:0;background:transparent;color:inherit;font-weight:700;cursor:pointer}
.z4-store-artwork-workflow-card{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-top:1rem;padding:1rem;border:1px solid #ead7d7;border-radius:14px;background:#fff}.z4-store-artwork-workflow-card div{display:grid;gap:.25rem}.z4-store-artwork-workflow-card p,.z4-store-artwork-workflow-card small{margin:0;color:#687086}
.z4-store-media-upload-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr) auto;align-items:end;gap:1rem;margin-bottom:1rem}.z4-store-artwork-managed-media{display:grid;gap:1rem;margin-bottom:1rem}.z4-store-artwork-managed-media article{display:grid;grid-template-columns:150px minmax(160px,1fr) minmax(280px,1.6fr);gap:1rem;align-items:center;padding:1rem;border:1px solid #ead7d7;border-radius:14px}.z4-store-artwork-managed-media img{width:150px;height:120px;object-fit:cover;border-radius:10px}.z4-store-artwork-managed-media article>div{display:grid;gap:.35rem}.z4-store-media-actions{display:flex!important;flex-wrap:wrap;align-items:center;gap:.55rem}.z4-store-media-actions a,.z4-store-media-actions button,.z4-store-media-actions label{border:1px solid #d9c4c4;border-radius:9px;background:#fff;padding:.55rem .7rem;color:#6f0008;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}.z4-store-media-actions label input{display:none}.z4-store-media-actions .is-danger{color:#b0000c}.z4-store-artwork-history{display:grid;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.z4-store-artwork-history li{padding:.85rem 1rem;border-inline-start:3px solid #b0000c;background:#fff7f7}.z4-store-artwork-history small{display:block;color:#687086}.z4-store-artwork-history p{margin:.35rem 0 0}.z4-store-evidence-list{display:grid;gap:.65rem;margin-top:1rem}.z4-store-evidence-list a{display:grid;gap:.2rem;padding:.8rem 1rem;border:1px solid #ead7d7;border-radius:10px;color:#151a2d;text-decoration:none}.z4-store-evidence-list small{color:#687086}

@media (max-width: 820px) {
    .z4-store-artwork-stepper,
    .z4-store-artwork-review-grid { grid-template-columns: 1fr; }
    .z4-store-artwork-stepper strong { font-size: 13px; }
    .z4-store-artwork-review-grid aside { position: static; }
}

@media (max-width: 620px) {
    .z4-store-artwork-stepper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .z4-store-artwork-actions,
    .z4-store-artwork-list > article { align-items: stretch; flex-direction: column; }
    .z4-store-artwork-actions > div { flex-wrap: wrap; }
    .z4-store-artwork-actions .z4-store-button { flex: 1 1 140px; }
    .z4-store-artwork-facts { grid-template-columns: 1fr; }
    .z4-store-artwork-row-actions { align-self: flex-end; }
}

@media(max-width:800px){.z4-store-artwork-workflow-card{align-items:flex-start;flex-direction:column}.z4-store-media-upload-row,.z4-store-artwork-managed-media article{grid-template-columns:1fr}.z4-store-artwork-managed-media img{width:100%;height:auto}}

/* 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 follows the shared admin shell so the fixed sidebar keeps
   its reserved column instead of overlapping the editor canvas. */
@media (min-width: 769px) {
    html body:has(.z4-store-product-editor-page) > .z4-admin-shell {
        padding-left: var(--ainpa-admin-sidebar-width, 224px) !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-heading-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
}

.z4-store-heading-meta .z4-store-back {
    margin-bottom: 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,
html body:has(.z4-admin-sidebar) main.z4-store-admin a.z4-store-btn.z4-store-btn-primary,
html body:has(.z4-admin-sidebar) main.z4-store-admin a.z4-store-btn.z4-store-btn-primary:visited,
html body:has(.z4-admin-sidebar) 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;
    -webkit-text-fill-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,
html body:has(.z4-admin-sidebar) main.z4-store-admin a.z4-store-btn.z4-store-btn-primary:hover,
html body:has(.z4-admin-sidebar) main.z4-store-admin a.z4-store-btn.z4-store-btn-primary:focus-visible,
html body:has(.z4-admin-sidebar) main.z4-store-admin button.z4-store-btn.z4-store-btn-primary:hover,
html body:has(.z4-admin-sidebar) 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;
    color: #fff !important;
    -webkit-text-fill-color: #fff !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-link {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--store-border);
    border-radius: 14px;
    color: inherit;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.z4-store-product-type-link > span:first-child {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border-radius: 50%;
    background: var(--store-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

.z4-store-product-type-link:hover,
.z4-store-product-type-link:focus-visible {
    border-color: var(--store-primary);
    box-shadow: 0 0 0 3px rgba(181, 0, 0, .09);
    transform: translateY(-1px);
}

.z4-store-product-type-link strong,
.z4-store-product-type-link small { display: block; }
.z4-store-product-type-link strong { color: var(--store-text); font-size: 14px; }
.z4-store-product-type-link small { color: var(--store-muted); font-size: 12px; line-height: 1.45; margin-top: 3px; }

.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;
    }
}
/* Store 12.6 catalog: the public marketplace remains entirely Store-owned. */
.z4sf-market-hero {
    background: linear-gradient(120deg, #160d0f 0%, #401117 54%, #8f1723 100%);
    color: #fff;
    overflow: hidden;
    position: relative;
}

.z4sf-market-hero::after {
    background: radial-gradient(circle, rgba(255, 255, 255, .2), transparent 68%);
    content: "";
    height: 360px;
    inset: -170px -80px auto auto;
    pointer-events: none;
    position: absolute;
    width: 360px;
}

.z4sf-market-hero__inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 230px;
    padding-block: 44px;
    position: relative;
    z-index: 1;
}

.z4sf-market-hero .z4sf-breadcrumbs { color: rgba(255, 255, 255, .72); margin-bottom: 22px; }
.z4sf-market-hero__inner > div > p { color: #f5c8cc; font-size: 12px; font-weight: 900; letter-spacing: .15em; margin: 0 0 8px; text-transform: uppercase; }
.z4sf-market-hero h1 { font-size: clamp(34px, 5vw, 62px); letter-spacing: -.055em; line-height: 1; margin: 0; }
.z4sf-market-hero h1 + div { color: rgba(255, 255, 255, .78); font-size: 15px; line-height: 1.7; margin-top: 16px; max-width: 650px; }

.z4sf-market-hero__cart {
    align-items: center;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 18px;
    display: flex;
    gap: 16px;
    min-width: 150px;
    padding: 15px 18px;
}

.z4sf-market-hero__cart span { color: rgba(255, 255, 255, .78); font-size: 12px; font-weight: 700; }
.z4sf-market-hero__cart strong { align-items: center; background: #fff; border-radius: 50%; color: var(--z4sf-accent); display: inline-flex; height: 38px; justify-content: center; margin-inline-start: auto; min-width: 38px; }

.z4sf-category-rail {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-block: 18px;
    scrollbar-width: thin;
}

.z4sf-category-rail > a {
    align-items: center;
    background: #fff;
    border: 1px solid var(--z4sf-line);
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 8px;
    min-height: 42px;
    padding: 5px 13px 5px 6px;
}

.z4sf-category-rail > a:first-child { padding-inline: 17px; }
.z4sf-category-rail > a:hover,
.z4sf-category-rail > a.is-active { border-color: var(--z4sf-accent); color: var(--z4sf-accent); }
.z4sf-category-rail img { border-radius: 50%; height: 30px; object-fit: cover; width: 30px; }
.z4sf-category-rail span { font-size: 12px; font-weight: 800; }
.z4sf-category-rail small { align-items: center; background: var(--z4sf-soft); border-radius: 999px; display: inline-flex; font-size: 10px; height: 22px; justify-content: center; min-width: 22px; padding-inline: 5px; }

.z4sf-subcategory-rail { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 0 18px; }
.z4sf-subcategory-rail a { background: #f8f4f2; border-radius: 8px; font-size: 12px; font-weight: 750; padding: 9px 12px; }
.z4sf-subcategory-rail a:hover { background: #f3dfe1; color: var(--z4sf-accent); }

.z4sf-deals { padding-block: 28px 18px; }
.z4sf-deals .z4sf-section-heading { margin-bottom: 20px; }

.z4sf-market { padding-block: 36px 62px; }
.z4sf-market-toolbar {
    align-items: flex-end;
    border-bottom: 1px solid var(--z4sf-line);
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 18px;
}

.z4sf-market-toolbar__title p { color: var(--z4sf-accent); font-size: 11px; font-weight: 900; letter-spacing: .12em; margin: 0 0 5px; text-transform: uppercase; }
.z4sf-market-toolbar__title h2 { font-size: clamp(24px, 3vw, 34px); letter-spacing: -.035em; margin: 0; }
.z4sf-market-toolbar__title span { color: var(--z4sf-muted); display: block; font-size: 12px; margin-top: 6px; }
.z4sf-market-toolbar__actions { align-items: flex-end; display: flex; gap: 12px; }

.z4sf-display-controls { align-items: flex-end; display: flex; gap: 12px; }
.z4sf-display-controls fieldset { border: 0; display: flex; gap: 3px; margin: 0; padding: 0; }
.z4sf-display-controls legend,
.z4sf-display-controls label > span { color: var(--z4sf-muted); display: block; font-size: 10px; font-weight: 800; margin-bottom: 5px; text-transform: uppercase; }
.z4sf-display-controls button { background: #fff; border: 1px solid #ddd; color: var(--z4sf-muted); height: 39px; min-width: 39px; }
.z4sf-display-controls button:first-of-type { border-radius: 8px 0 0 8px; }
.z4sf-display-controls button:last-of-type { border-radius: 0 8px 8px 0; }
.z4sf-display-controls button.is-active { background: var(--z4sf-ink); border-color: var(--z4sf-ink); color: #fff; }
.z4sf-display-controls select { background: #fff; border: 1px solid #ddd; border-radius: 8px; color: var(--z4sf-ink); height: 39px; min-width: 78px; padding-inline: 10px; }

.z4sf-market .z4sf-active-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 20px; }
.z4sf-market .z4sf-active-filters a { align-items: center; background: #f7eeee; border: 0; border-radius: 999px; color: #6d252c; display: inline-flex; font-size: 11px; font-weight: 700; gap: 7px; padding: 8px 11px; }
.z4sf-market .z4sf-active-filters a b { font-size: 16px; font-weight: 400; line-height: .7; }
.z4sf-market .z4sf-active-filters .is-clear { background: transparent; color: var(--z4sf-muted); text-decoration: underline; text-underline-offset: 3px; }

.z4sf-market .z4sf-catalog { gap: 26px; grid-template-columns: 224px minmax(0, 1fr); }
.z4sf-market .z4sf-filters { border: 1px solid var(--z4sf-line); border-radius: 14px; height: fit-content; padding: 18px; position: sticky; top: 18px; }
.z4sf-market .z4sf-filters form { gap: 16px; }
.z4sf-filters__heading { align-items: center; border-bottom: 1px solid var(--z4sf-line); display: flex; justify-content: space-between; margin-bottom: 16px; padding-bottom: 12px; }
.z4sf-filters__heading strong { font-size: 14px; }
.z4sf-filters__heading button { background: transparent; border: 0; display: none; font-size: 24px; line-height: 1; }
.z4sf-market .z4sf-field > span,
.z4sf-market .z4sf-price-filter legend { font-size: 11px; margin-bottom: 6px; }
.z4sf-market .z4sf-field input,
.z4sf-market .z4sf-field select,
.z4sf-market .z4sf-price-filter input { font-size: 12px; min-height: 41px; padding: 8px 10px; }
.z4sf-market .z4sf-price-filter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.z4sf-filter-checks { border-block: 1px solid var(--z4sf-line); display: grid; gap: 10px; padding-block: 14px; }
.z4sf-market .z4sf-filter-actions { align-items: stretch; flex-direction: column; gap: 8px; }
.z4sf-market .z4sf-filter-actions .z4sf-btn { min-height: 42px; padding-inline: 15px; }
.z4sf-market .z4sf-filter-actions > a { text-align: center; }
.z4sf-market .z4sf-sort { margin: 0 0 16px; }
.z4sf-market .z4sf-sort select { min-height: 39px; width: 190px; }

.z4sf-product-grid[data-columns="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.z4sf-product-grid[data-columns="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.z4sf-product-grid[data-columns="5"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.z4sf-market .z4sf-product-grid { gap: 24px 13px; }
.z4sf-product-card { background: #fff; border: 1px solid transparent; border-radius: 12px; overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.z4sf-product-card:hover { border-color: #eadadd; box-shadow: 0 16px 34px rgba(48, 20, 23, .08); transform: translateY(-2px); }
.z4sf-product-card__media { border-radius: 11px 11px 0 0; }
.z4sf-product-card__placeholder,
.z4sf-quick-product__placeholder { align-items: center; color: #beaeb0; display: flex; font-size: 54px; font-weight: 900; height: 100%; justify-content: center; width: 100%; }
.z4sf-quick-view-label { backdrop-filter: blur(8px); background: rgba(255, 255, 255, .92); border-radius: 999px; bottom: 12px; color: var(--z4sf-ink); font-size: 11px; font-weight: 800; left: 50%; opacity: 0; padding: 8px 12px; position: absolute; transform: translate(-50%, 8px); transition: opacity .2s ease, transform .2s ease; white-space: nowrap; }
.z4sf-product-card__media:hover .z4sf-quick-view-label,
.z4sf-product-card__media:focus-visible .z4sf-quick-view-label { opacity: 1; transform: translate(-50%, 0); }
.z4sf-product-card__body { padding: 12px; }
.z4sf-product-card h3 { font-size: 14px; margin: 7px 0 9px; min-height: 40px; }
.z4sf-product-card__footer { min-height: 42px; }
.z4sf-product-card .z4sf-price strong { font-size: 14px; }

.z4sf-card-cart { margin-top: 11px; }
.z4sf-card-cart form { margin: 0; }
.z4sf-card-add {
    align-items: center;
    background: var(--z4sf-accent);
    border: 1px solid var(--z4sf-accent);
    border-radius: 8px;
    color: #fff;
    display: flex;
    font-size: 12px;
    font-weight: 850;
    gap: 7px;
    justify-content: center;
    min-height: 38px;
    padding: 7px 12px;
    width: 100%;
}
.z4sf-card-add span { font-size: 17px; font-weight: 400; line-height: 1; }
.z4sf-card-add:hover { background: #74101a; }
.z4sf-card-add:disabled { background: #ece8e7; border-color: #ece8e7; color: #8a8584; cursor: not-allowed; }
.z4sf-card-stepper { align-items: center; background: #fff5f4; border: 1px solid #ecc9cc; border-radius: 8px; display: grid; grid-template-columns: 38px 1fr 38px; min-height: 38px; overflow: hidden; }
.z4sf-card-stepper[hidden],
.z4sf-card-cart form[hidden] { display: none !important; }
.z4sf-card-stepper button { align-items: center; background: transparent; border: 0; color: var(--z4sf-accent); display: flex; font-size: 20px; height: 100%; justify-content: center; }
.z4sf-card-stepper button:hover:not(:disabled) { background: #f5dfe1; }
.z4sf-card-stepper button:disabled { color: #c9b9ba; cursor: not-allowed; }
.z4sf-card-stepper output { color: var(--z4sf-ink); font-size: 13px; font-weight: 900; text-align: center; }

.z4sf-quick-dialog { background: #fff; border: 0; border-radius: 18px; box-shadow: 0 28px 90px rgba(25, 9, 11, .28); color: var(--z4sf-ink); max-height: min(88vh, 820px); max-width: 940px; overflow: auto; padding: 0; width: calc(100% - 32px); }
.z4sf-quick-dialog::backdrop { backdrop-filter: blur(3px); background: rgba(18, 10, 12, .64); }
.z4sf-quick-dialog__close { align-items: center; background: #fff; border: 1px solid #e7dddd; border-radius: 50%; display: flex; font-size: 24px; height: 38px; justify-content: center; position: absolute; right: 14px; top: 14px; width: 38px; z-index: 3; }
.z4sf-quick-dialog__body { min-height: 420px; }
.z4sf-quick-loading,
.z4sf-quick-error { align-items: center; display: flex; flex-direction: column; gap: 14px; justify-content: center; min-height: 420px; padding: 30px; text-align: center; }
.z4sf-quick-product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); min-height: 520px; }
.z4sf-quick-product__media { background: #f3f0ed; min-height: 520px; }
.z4sf-quick-product__media img { height: 100%; object-fit: contain; width: 100%; }
.z4sf-quick-product__content { align-self: center; display: grid; gap: 16px; padding: 54px 42px 42px; }
.z4sf-quick-product__meta { align-items: center; color: var(--z4sf-muted); display: flex; font-size: 11px; font-weight: 800; justify-content: space-between; text-transform: uppercase; }
.z4sf-quick-product__meta strong { background: #f8dfe1; border-radius: 999px; color: var(--z4sf-accent); padding: 6px 9px; }
.z4sf-quick-product h2 { font-size: clamp(25px, 4vw, 38px); letter-spacing: -.045em; line-height: 1.12; margin: 0; }
.z4sf-quick-product__artist,
.z4sf-quick-product__summary { color: var(--z4sf-muted); line-height: 1.65; margin: 0; }
.z4sf-quick-product__summary { font-size: 13px; }
.z4sf-quick-product__price { align-items: baseline; display: flex; gap: 10px; }
.z4sf-quick-product__price strong { font-size: 21px; }
.z4sf-quick-product__price del { color: #9b9696; font-size: 13px; }
.z4sf-quick-product__variants select { width: 100%; }
.z4sf-quick-product__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.z4sf-quick-product__tags span { background: #f5f2f1; border-radius: 999px; color: #625a5b; font-size: 10px; padding: 6px 9px; }
.z4sf-quick-product__details { align-items: center; border-top: 1px solid var(--z4sf-line); display: flex; font-size: 12px; font-weight: 850; justify-content: space-between; padding-top: 15px; }
.z4sf-quick-product__details:hover { color: var(--z4sf-accent); }

.z4sf-toast { background: #171112; border-radius: 10px; bottom: 22px; box-shadow: 0 16px 50px rgba(0, 0, 0, .22); color: #fff; font-size: 13px; font-weight: 700; left: 50%; max-width: min(420px, calc(100% - 30px)); opacity: 0; padding: 13px 18px; position: fixed; transform: translate(-50%, 12px); transition: opacity .18s ease, transform .18s ease; z-index: 10000; }
.z4sf-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.z4sf-toast.is-error { background: #9b111e; }

@media (max-width: 1100px) {
    .z4sf-product-grid[data-columns="5"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .z4sf-market .z4sf-catalog { grid-template-columns: 205px minmax(0, 1fr); }
}

@media (max-width: 900px) {
    .z4sf-market-toolbar { align-items: flex-start; }
    .z4sf-market-toolbar__actions { align-items: flex-end; }
    .z4sf-filter-toggle { align-items: center; display: inline-flex; gap: 6px; }
    .z4sf-market .z4sf-catalog { display: block; }
    .z4sf-market .z4sf-filters { background: #fff; border-radius: 0 16px 16px 0; bottom: 0; box-shadow: 20px 0 60px rgba(28, 11, 13, .2); left: 0; max-width: 340px; overflow-y: auto; padding: 22px; position: fixed; top: 0; transform: translateX(-105%); transition: transform .22s ease; width: calc(100% - 40px); z-index: 9999; }
    .z4sf-market .z4sf-filters.is-open { transform: translateX(0); }
    .z4sf-filters__heading button { display: block; }
    .z4sf-product-grid[data-columns="3"],
    .z4sf-product-grid[data-columns="4"],
    .z4sf-product-grid[data-columns="5"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .z4sf-market-hero__inner { align-items: flex-start; flex-direction: column; gap: 24px; min-height: 0; padding-block: 34px; }
    .z4sf-market-hero__cart { min-width: 0; width: 100%; }
    .z4sf-market-toolbar { align-items: stretch; flex-direction: column; }
    .z4sf-market-toolbar__actions { align-items: stretch; justify-content: space-between; }
    .z4sf-display-controls fieldset { display: none; }
    .z4sf-product-grid[data-columns="3"],
    .z4sf-product-grid[data-columns="4"],
    .z4sf-product-grid[data-columns="5"],
    .z4sf-product-grid.is-featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .z4sf-quick-product { display: block; }
    .z4sf-quick-product__media { min-height: 320px; }
    .z4sf-quick-product__media img { max-height: 420px; }
    .z4sf-quick-product__content { padding: 28px 20px; }
}

@media (max-width: 420px) {
    .z4sf-container { padding-inline: 14px; }
    .z4sf-market .z4sf-product-grid { gap: 18px 8px; }
    .z4sf-product-card__body { padding: 9px; }
    .z4sf-product-card h3 { font-size: 12px; }
    .z4sf-product-card__meta { font-size: 9px; gap: 5px; }
    .z4sf-card-add { font-size: 11px; padding-inline: 7px; }
}

/* Store-owned product template studio. */
.z4-store-template-notice,.z4-store-template-errors{margin-bottom:14px;border-inline-start:4px solid #15803d;border-radius:8px;background:#ecfdf5;padding:12px 14px;color:#166534;font-size:13px}.z4-store-template-errors{border-color:#dc2626;background:#fff1f2;color:#991b1b}.z4-store-template-errors ul{margin:7px 0 0;padding-inline-start:20px}.z4-store-template-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}.z4-store-template-library{position:sticky;top:16px;overflow:hidden;border:1px solid #eadada;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(60,20,20,.05)}.z4-store-template-library>header{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid #f0e2e2}.z4-store-template-library>header span{color:#8b7373;font-size:12px}.z4-store-template-list{display:grid;gap:6px;max-height:calc(100vh - 190px);overflow:auto;padding:9px}.z4-store-template-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:9px;align-items:center;border:1px solid transparent;border-radius:9px;padding:7px;color:#2b2020;text-decoration:none}.z4-store-template-item:hover,.z4-store-template-item.is-active{border-color:#e4bcbc;background:#fff5f5}.z4-store-template-item img,.z4-store-template-thumb{display:grid;width:46px;height:46px;place-items:center;border-radius:8px;background:#f7e8e8;object-fit:cover;color:#a90000;font-weight:900}.z4-store-template-item strong,.z4-store-template-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.z4-store-template-item strong{font-size:12px}.z4-store-template-item small{margin-top:3px;color:#846f6f;font-size:10px}.z4-store-template-empty{padding:12px;color:#7a6868;font-size:12px;text-align:center}.z4-store-template-workspace{min-width:0}.z4-store-template-card{overflow:hidden;margin-bottom:16px;border:1px solid #eadada;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(60,20,20,.05)}.z4-store-template-card>header{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid #f0e2e2}.z4-store-template-card>header h2,.z4-store-template-card>header p{margin:0}.z4-store-template-card>header h2{font-size:15px}.z4-store-template-card>header p{margin-top:3px;color:#806c6c;font-size:11px}.z4-store-template-meta{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) minmax(160px,.8fr) minmax(130px,.65fr);gap:12px;padding:16px}.z4-store-template-meta label{display:grid;gap:6px;min-width:0}.z4-store-template-meta label>span{font-size:11px;font-weight:800}.z4-store-template-meta label.is-wide{grid-column:1/-1}.z4-store-template-meta small{color:#8b7373;font-weight:500}.z4-store-template-tabs{display:flex;gap:4px;padding:8px 10px 0;border-bottom:1px solid #eadada;background:#fffafa;overflow:auto}.z4-store-template-tabs button{min-height:36px;border:1px solid transparent;border-bottom:0;border-radius:7px 7px 0 0;background:transparent;padding:0 13px;color:#715c5c;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}.z4-store-template-tabs button.is-active{border-color:#e4c4c4;background:#fff;color:#a90000}.z4-store-template-panel{display:none}.z4-store-template-panel.is-active{display:block}.z4-store-template-panel textarea{display:block;width:100%;height:390px;resize:vertical;border:0;background:#15171c;padding:17px;color:#f3f4f6;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;tab-size:4;outline:0}.z4-store-template-panel textarea:focus{box-shadow:inset 0 0 0 2px #d92d20}.z4-store-template-panel>footer{display:flex;justify-content:space-between;background:#24272e;padding:8px 12px;color:#b9c0ca;font:10px/1.3 ui-monospace,monospace}.z4-store-template-variables{min-height:390px;padding:16px}.z4-store-template-variables>p{margin:0 0 14px;border-inline-start:4px solid #a90000;border-radius:7px;background:#fff4f4;padding:11px 13px;color:#674f4f;font-size:12px}.z4-store-template-variable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.z4-store-template-variable-grid section{overflow:hidden;border:1px solid #eadada;border-radius:9px}.z4-store-template-variable-grid h3{margin:0;border-bottom:1px solid #eadada;background:#fffafa;padding:10px 12px;font-size:12px}.z4-store-template-variable-grid button{display:grid;width:100%;grid-template-columns:minmax(150px,.8fr) minmax(0,1fr);gap:10px;border:0;border-bottom:1px solid #f3e7e7;background:#fff;padding:9px 11px;text-align:start;cursor:pointer}.z4-store-template-variable-grid button:last-child{border-bottom:0}.z4-store-template-variable-grid button:hover{background:#fff5f5}.z4-store-template-variable-grid code{overflow:hidden;color:#a90000;font-size:11px;font-weight:800;text-overflow:ellipsis}.z4-store-template-variable-grid button span{color:#715f5f;font-size:10px;line-height:1.45}.z4-store-template-preview-tools{display:flex;gap:5px}.z4-store-template-preview-tools button{min-height:31px;border:1px solid #decaca;border-radius:7px;background:#fff;padding:0 10px;color:#745f5f;font-size:10px;font-weight:800;cursor:pointer}.z4-store-template-preview-tools button.is-active{border-color:#b91c1c;color:#a90000}.z4-store-template-preview-stage{overflow:visible;background:#eeeaea;padding:18px}.z4-store-template-preview-stage iframe{display:block;width:100%;height:360px;overflow:hidden;margin:0 auto;border:1px solid #d8cccc;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(35,20,20,.1);transition:width .2s,height .15s}.z4-store-template-preview-stage iframe.is-tablet{width:min(768px,100%)}.z4-store-template-preview-stage iframe.is-mobile{width:min(390px,100%)}.z4-store-template-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-top:1px solid #eadada}.z4-store-template-actions>div{display:flex;gap:8px}.z4-store-template-actions .is-danger{color:#b91c1c}@media(max-width:1050px){.z4-store-template-layout{grid-template-columns:1fr}.z4-store-template-library{position:static}.z4-store-template-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));max-height:none}.z4-store-template-meta{grid-template-columns:1fr 1fr}}@media(max-width:680px){.z4-store-template-meta,.z4-store-template-variable-grid{grid-template-columns:1fr}.z4-store-template-preview-stage{padding:8px}.z4-store-template-card>header,.z4-store-template-actions{align-items:flex-start;flex-direction:column}.z4-store-template-actions>div{width:100%;flex-wrap:wrap}}

/* Store-owned Page Builder catalog page. */
.z4-store-builder-page { background: var(--z4sf-bg, #fff); color: var(--z4sf-ink, #211919); min-height: 70vh; }
.z4-store-builder-hero { align-items: center; background: linear-gradient(125deg, #251315, #6d1720 68%, #a90000); color: #fff; display: flex; gap: 32px; justify-content: space-between; min-height: 310px; padding: clamp(42px, 7vw, 86px) max(24px, calc((100vw - 1280px) / 2)); }
.z4-store-builder-hero__content { max-width: 720px; }
.z4-store-builder-hero__content p { color: #f5c8cc; font-size: 12px; font-weight: 900; letter-spacing: .15em; margin: 0 0 10px; text-transform: uppercase; }
.z4-store-builder-hero__content h1 { color: inherit; font-size: clamp(38px, 6vw, 68px); letter-spacing: -.055em; line-height: 1; margin: 0; }
.z4-store-builder-hero__content div { color: rgba(255, 255, 255, .8); font-size: 15px; line-height: 1.75; margin-top: 18px; }
.z4-store-builder-hero__cart { align-items: center; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .25); border-radius: 14px; color: #fff; display: flex; gap: 24px; min-width: 180px; padding: 15px; text-decoration: none; }
.z4-store-builder-hero__cart span { font-size: 12px; font-weight: 800; }
.z4-store-builder-hero__cart strong { align-items: center; background: #fff; border-radius: 50%; color: #991b1b; display: inline-flex; height: 38px; justify-content: center; margin-inline-start: auto; min-width: 38px; }
.z4sf-builder-catalog .z4sf-market { padding-top: 42px; }
.z4sf-builder-catalog .z4sf-catalog.is-without-filters { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 680px) {
    .z4-store-builder-hero { align-items: flex-start; flex-direction: column; min-height: 0; padding-inline: 20px; }
    .z4-store-builder-hero__cart { min-width: 0; width: 100%; }
}

/* Customer Area shortcuts supplied by compatible storefront extensions. */
.z4-account-store-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
}

.z4-account-store-icon-action {
    display: inline-grid;
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--account-border, #e5e7eb);
    border-radius: .65rem;
    background: #fff;
    color: var(--account-brand, #b4000b);
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.z4-account-store-icon-action:hover,
.z4-account-store-icon-action:focus-visible {
    border-color: var(--account-brand, #b4000b);
    background: var(--account-soft, #fff1f2);
    color: var(--account-deep, #760008);
}

.z4-account-store-icon-action:focus-visible {
    outline: 2px solid var(--account-brand, #b4000b);
    outline-offset: 2px;
}

.z4-account-store-icon-action svg {
    width: 1.25rem;
    height: 1.25rem;
}

@media (max-width: 520px) {
    .z4-account-store-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .z4-account-store-actions .account-section-action {
        width: auto;
        flex: 1 1 10rem;
    }
}
