html {
    box-sizing: border-box;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

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

body {
    margin: 0;
    font-family: Arial, sans-serif;
    color: #151515;
    background: #fff;
}

a {
    color: inherit;
}

.store-header {
    min-height: 68px;
    padding: 0 5vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 0;
}

.store-brand {
    font-weight: 800;
    text-decoration: none;
    font-size: 20px;
}

.store-nav {
    display: flex;
    gap: 20px;
}

.store-nav a {
    text-decoration: none;
    font-size: 14px;
}

.hero {
    width: min(1400px, 94%);
    margin: 24px auto;
}

.hero-card,
.hero-empty {
    min-height: 420px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    background: #f3f0eb;
}

.hero-card img {
    width: 100%;
    height: 460px;
    display: block;
    object-fit: cover;
}

.hero-copy {
    position: absolute;
    left: 6%;
    bottom: 10%;
    max-width: 520px;
    background: rgba(255, 255, 255, 0.88);
    padding: 24px;
    border-radius: 12px;
}

.hero-copy h1,
.hero-empty h1 {
    margin: 0 0 10px;
    font-size: clamp(34px, 6vw, 64px);
}

.hero-copy p {
    margin: 0;
}

.hero-empty {
    display: grid;
    place-items: center;
    text-align: center;
    padding: 40px;
}

.store-section {
    width: min(1320px, 92%);
    margin: 54px auto;
}

.section-title h2 {
    margin: 0 0 22px;
    font-size: 28px;
}

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

.category-card {
    min-height: 110px;
    display: grid;
    place-items: center;
    text-align: center;
    background: #f5f5f5;
    border-radius: 10px;
    text-decoration: none;
    padding: 16px;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 16px;
}

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

.product-image {
    display: block;
    aspect-ratio: 4 / 5;
    background: #f4f4f4;
    overflow: hidden;
    text-decoration: none;
}

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

.product-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #888;
}

.product-body {
    padding-top: 12px;
}

.product-name {
    display: block;
    text-decoration: none;
    font-weight: 600;
}

.product-price {
    margin-top: 7px;
    font-weight: 700;
}

.whatsapp-button {
    display: inline-flex;
    margin-top: 12px;
    min-height: 38px;
    align-items: center;
    padding: 0 14px;
    background: #111;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
}

.empty-products {
    padding: 35px;
    background: #f7f7f7;
    border-radius: 10px;
    color: #666;
}

.store-footer {
    padding: 35px 5vw;
    border-top: 1px solid #ececec;
    text-align: center;
    font-size: 14px;
    color: #666;
}

@media (max-width: 800px) {
    .store-header {
        padding: 15px 18px;
        align-items: flex-start;
        flex-direction: column;
    }

    .hero {
        width: calc(100% - 24px);
        margin-top: 12px;
    }

    .hero-card,
    .hero-empty {
        min-height: 350px;
    }

    .hero-card img {
        height: 420px;
    }

    .hero-copy {
        left: 14px;
        right: 14px;
        bottom: 14px;
        padding: 18px;
    }

    .store-section {
        width: calc(100% - 28px);
        margin: 38px auto;
    }

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

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

/* XMEZ PUBLIC DETAIL PAGES */

.product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 44px;
}

.product-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.product-gallery img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    background: #f4f4f4;
}

.product-detail-placeholder {
    min-height: 520px;
    display: grid;
    place-items: center;
    background: #f4f4f4;
    color: #888;
}


.product-category-link {
    font-size: 14px;
    color: #666;
}

.product-detail-price {
    margin-bottom: 22px;
    font-size: 24px;
    font-weight: 800;
}

.product-detail-price del {
    margin-left: 10px;
    color: #888;
    font-weight: 400;
}

.product-variants-public {
    margin: 24px 0;
}

.product-variant-chip {
    margin: 8px 0;
    padding: 10px 12px;
    background: #f6f6f6;
    border-radius: 7px;
}

.product-long-description {
    margin-top: 30px;
}

.store-search-form {
    display: flex;
    gap: 10px;
    max-width: 720px;
    margin-bottom: 26px;
}

.store-search-form input {
    flex: 1;
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid #d8d8d8;
    border-radius: 7px;
    font: inherit;
}

.store-search-form button {
    border: 0;
    border-radius: 7px;
    padding: 0 18px;
    background: #111;
    color: #fff;
    font: inherit;
    font-weight: 700;
}

.search-summary {
    margin-bottom: 24px;
    color: #666;
}

.contact-card {
    max-width: 720px;
    padding: 28px;
    background: #f7f7f7;
    border-radius: 12px;
}

.contact-card h1 {
    margin-top: 0;
}

.contact-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 22px;
}

@media (max-width: 800px) {
    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .product-gallery {
        grid-template-columns: 1fr;
    }

    .store-search-form {
        flex-direction: column;
    }

    .store-search-form button {
        min-height: 44px;
    }
}

/* XMEZ storefront branding + banner CTA */
.store-brand-logo {
    display: block;
    width: auto;
    max-width: 220px;
    height: auto;
    max-height: 64px;
    object-fit: contain;
}

.hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: 0.75rem 1.15rem;
    border-radius: 0.5rem;
    background: #111;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.hero-button:hover,
.hero-button:focus-visible {
    opacity: 0.88;
}



/* XMEZ VARIANT SELECTOR */
.product-variant-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

button.product-variant-chip {
    font: inherit;
    cursor: pointer;
    text-align: left;
}

.product-variant-chip.is-selected {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.product-variant-selection {
    margin-top: 12px;
    font-weight: 600;
}


/* XMEZ STOCK AVAILABILITY */
.product-stock-badge,
.product-stock-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border: 1px solid currentColor;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 0.88rem;
    font-weight: 600;
}

.product-stock-badge.is-out-of-stock,
.product-stock-status.is-out-of-stock {
    opacity: 0.65;
}

button.product-variant-chip.is-unavailable,
button.product-variant-chip:disabled {
    cursor: not-allowed;
    opacity: 0.5;
    outline: none;
}

button.product-variant-chip:disabled:hover {
    transform: none;
}


/* XMEZ GUEST CART */
.cart-page {
    width: min(1180px, calc(100% - 32px));
    margin: 42px auto 70px;
}

.cart-page-heading {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: flex-start;
    margin-bottom: 28px;
}

.cart-page-heading h1 {
    margin: 0 0 8px;
}

.cart-page-heading p {
    margin: 0;
    color: #666;
}

.cart-continue-shopping,
.cart-primary-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border-radius: 8px;
    background: #111;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.cart-notice {
    margin-bottom: 22px;
    padding: 13px 15px;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    background: #f7f7f7;
}

.cart-empty {
    padding: 42px;
    border-radius: 12px;
    background: #f7f7f7;
    text-align: center;
}

.cart-empty h2 {
    margin-top: 0;
}

.cart-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(260px, 340px);
    gap: 28px;
    align-items: start;
}

.cart-items {
    display: grid;
    gap: 14px;
}

.cart-item {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    gap: 14px 20px;
    padding: 18px;
    border: 1px solid #e4e4e4;
    border-radius: 10px;
}

.cart-item-name {
    color: inherit;
    font-size: 1.05rem;
    font-weight: 800;
    text-decoration: none;
}

.cart-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 14px;
    margin-top: 8px;
    color: #666;
    font-size: 0.9rem;
}

.cart-item-warning {
    margin-top: 10px;
    font-size: 0.9rem;
    font-weight: 700;
}

.cart-item-price,
.cart-item-line-total {
    font-weight: 800;
}

.cart-item-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end;
}

.cart-quantity-form {
    display: flex;
    gap: 8px;
    align-items: end;
}

.cart-quantity-form label {
    display: grid;
    gap: 5px;
    font-size: 0.82rem;
    font-weight: 700;
}

.cart-quantity-form input {
    width: 78px;
    min-height: 40px;
    padding: 7px 9px;
    border: 1px solid #d8d8d8;
    border-radius: 7px;
    font: inherit;
}

.cart-quantity-form button,
.cart-remove-button {
    min-height: 40px;
    padding: 0 13px;
    border: 0;
    border-radius: 7px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.cart-quantity-form button {
    background: #111;
    color: #fff;
}

.cart-remove-button {
    background: #ededed;
    color: #111;
}

.cart-item-line-total {
    text-align: right;
}

.cart-summary {
    position: sticky;
    top: 20px;
    padding: 20px;
    border: 1px solid #e4e4e4;
    border-radius: 10px;
}

.cart-summary h2 {
    margin-top: 0;
}

.cart-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 11px 0;
    border-bottom: 1px solid #ededed;
}

.cart-summary-note {
    margin: 16px 0 0;
    color: #666;
    font-size: 0.88rem;
    line-height: 1.5;
}

@media (max-width: 800px) {
    .cart-page {
        width: calc(100% - 24px);
        margin-top: 26px;
    }

    .cart-page-heading {
        flex-direction: column;
    }

    .cart-layout {
        grid-template-columns: 1fr;
    }

    .cart-item {
        grid-template-columns: 1fr;
    }

    .cart-item-line-total {
        text-align: left;
    }

    .cart-summary {
        position: static;
    }

    .cart-quantity-form {
        flex-wrap: wrap;
    }
}


/* XMEZ PRODUCT ECOMMERCE ACTIONS */
.product-cart-form {
    margin-top: 22px;
}

.product-commerce-actions {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 12px;
}

.product-quantity-field {
    display: grid;
    gap: 6px;
    font-size: 0.88rem;
    font-weight: 700;
}

.product-quantity-input {
    width: 90px;
    min-height: 46px;
    padding: 8px 10px;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    background: #fff;
    font: inherit;
}

.product-cart-button {
    min-height: 46px;
    padding: 0 22px;
    border: 0;
    border-radius: 8px;
    background: #111;
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.product-cart-button:hover,
.product-cart-button:focus-visible {
    opacity: 0.88;
}

.product-cart-button:disabled,
.product-quantity-input:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

@media (max-width: 800px) {
    .product-commerce-actions {
        display: grid;
        grid-template-columns:
            minmax(90px, 0.35fr)
            minmax(0, 1fr);
    }

    .product-quantity-input {
        width: 100%;
    }

    .product-cart-button {
        width: 100%;
    }
}


/* XMEZ BUY NOW + CHECKOUT */
.product-buy-button {
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid #111;
    border-radius: 8px;
    background: #fff;
    color: #111;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.product-buy-button:hover,
.product-buy-button:focus-visible {
    background: #f3f3f3;
}

.product-buy-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.cart-buy-now {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    padding: 0 16px;
    border-radius: 8px;
    background: #111;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
}

.checkout-page {
    width: min(680px, calc(100% - 28px));
    margin: 44px auto 70px;
}

.checkout-card {
    padding: 28px;
    border: 1px solid #e4e4e4;
    border-radius: 14px;
}

.checkout-card h1 {
    margin-top: 0;
}

.checkout-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 22px 0;
}

.checkout-summary > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    background: #f7f7f7;
    border-radius: 8px;
}

.checkout-form {
    display: grid;
    gap: 16px;
}

.checkout-field {
    display: grid;
    gap: 7px;
    font-weight: 700;
}

.checkout-field input {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    background: #fff;
    font: inherit;
}

.checkout-submit {
    min-height: 50px;
    border: 0;
    border-radius: 8px;
    background: #111;
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.checkout-help {
    margin: 0;
    color: #666;
    font-size: 0.9rem;
    line-height: 1.5;
}

.checkout-error {
    margin: 20px 0;
    padding: 14px;
    border: 1px solid currentColor;
    border-radius: 8px;
}

.order-success-page {
    width: min(620px, calc(100% - 28px));
    margin: 70px auto;
}

.order-success-card {
    padding: 36px 28px;
    border: 1px solid #e4e4e4;
    border-radius: 14px;
    text-align: center;
}

.order-success-card h1 {
    margin: 16px 0 12px;
}

.order-success-mark {
    display: grid;
    width: 54px;
    height: 54px;
    margin: 0 auto;
    place-items: center;
    border: 2px solid currentColor;
    border-radius: 50%;
    font-size: 28px;
    font-weight: 900;
}

.order-success-id {
    font-size: 1.05rem;
}

@media (max-width: 800px) {
    .product-commerce-actions {
        grid-template-columns:
            minmax(80px, 0.3fr)
            minmax(0, 1fr);
    }

    .product-buy-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .checkout-card {
        padding: 22px 18px;
    }

    .checkout-summary {
        grid-template-columns: 1fr;
    }
}


/* XMEZ PHASE 15 STOREFRONT POLISH */

:root {
    --xmez-brand: #871b10;
    --xmez-brand-hover: #b71934;
    --xmez-brand-soft: #fff1f4;
    --xmez-bg: #ffffff;
    --xmez-surface: #ffffff;
    --xmez-soft: #f7f7f7;
    --xmez-soft-2: #f1f1f1;
    --xmez-text: #151515;
    --xmez-muted: #686868;
    --xmez-line: #e7e7e7;
    --xmez-strong: #111111;
    --xmez-success: #166534;
    --xmez-danger: #b42318;
    --xmez-radius-sm: 10px;
    --xmez-radius-md: 14px;
    --xmez-radius-lg: 20px;
    --xmez-shadow:
        0 10px 30px rgba(0, 0, 0, 0.06);
    --xmez-shadow-hover:
        0 16px 38px rgba(0, 0, 0, 0.10);
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    background: var(--xmez-bg);
    color: var(--xmez-text);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

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

button,
a {
    -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(17, 17, 17, 0.18);
    outline-offset: 3px;
}

/* Header */

.store-header {
    min-height: 76px;
    position: sticky;
    top: 0;
    z-index: 900;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 0;
}

.store-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    letter-spacing: -0.02em;
}

.store-brand-logo {
    max-height: 46px;
    width: auto;
    object-fit: contain;
}

.store-nav {
    align-items: center;
    flex-wrap: wrap;
}

.store-nav a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 0 4px;
    font-weight: 600;
    color: #333;
    transition:
        color .18s ease,
        opacity .18s ease;
}

.store-nav a:hover {
    color: #000;
}

/* Main layout */

.store-section {
    width: min(1320px, calc(100% - 40px));
}

.section-title h2 {
    letter-spacing: -0.025em;
}

.hero-card,
.hero-empty {
    box-shadow: var(--xmez-shadow);
}

.hero-copy {
    box-shadow: 0 12px 34px rgba(0, 0, 0, .09);
}

.hero-button,
.cart-primary-button,
.cart-buy-now,
.checkout-submit,
.product-cart-button,
.product-buy-button {
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        background .16s ease,
        opacity .16s ease;
}

.hero-button:hover,
.cart-primary-button:hover,
.cart-buy-now:hover,
.checkout-submit:hover,
.product-cart-button:hover,
.product-buy-button:hover {
    transform: translateY(-1px);
}

/* Categories */

.category-card {
    min-height: 120px;
    border: 1px solid transparent;
    font-weight: 700;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.category-card:hover {
    transform: translateY(-2px);
    border-color: var(--xmez-line);
    box-shadow: var(--xmez-shadow);
}

/* Product cards */

.product-card {
    border-radius: var(--xmez-radius-md);
    overflow: hidden;
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.product-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--xmez-shadow-hover);
}

.product-image {
    border-radius:
        var(--xmez-radius-md)
        var(--xmez-radius-md)
        0
        0;
}

.product-image img {
    transition: transform .28s ease;
}

.product-card:hover .product-image img {
    transform: scale(1.025);
}

.product-body {
    padding:
        13px
        13px
        16px;
}

.product-name {
    line-height: 1.4;
}

.product-price {
    font-size: 1.04rem;
}

.product-stock-badge,
.product-stock-status {
    display: inline-flex;
    width: fit-content;
    margin-top: 9px;
    align-items: center;
    font-size: .82rem;
    font-weight: 700;
}

/* Product detail */

.product-detail-grid {
    align-items: start;
}

.product-gallery img {
    border-radius: var(--xmez-radius-md);
    background: var(--xmez-soft);
}

.product-detail-info {
    position: sticky;
    top: 102px;
}


.product-detail-price {
    margin-top: 16px;
}

.product-category-link {
    display: inline-flex;
    margin-bottom: 12px;
    color: var(--xmez-muted);
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
}

.product-long-description {
    margin-top: 30px;
    padding-top: 26px;
    border-top: 1px solid var(--xmez-line);
    line-height: 1.75;
}

.product-variant-chip {
    transition:
        transform .14s ease,
        border-color .14s ease,
        background .14s ease;
}

.product-variant-chip:not(:disabled):hover {
    transform: translateY(-1px);
}

.product-variant-selection {
    line-height: 1.5;
}

.product-commerce-actions {
    padding-top: 4px;
}

.product-quantity-input,
.checkout-field input,
.checkout-field select,
.checkout-field textarea,
.store-search-form input,
.cart-quantity-form input {
    transition:
        border-color .16s ease,
        box-shadow .16s ease;
}

.product-quantity-input:focus,
.checkout-field input:focus,
.checkout-field select:focus,
.checkout-field textarea:focus,
.store-search-form input:focus,
.cart-quantity-form input:focus {
    border-color: #888;
    box-shadow: 0 0 0 3px rgba(17, 17, 17, .06);
    outline: none;
}

/* Cart */

.cart-page {
    width: min(1240px, calc(100% - 40px));
}

.cart-page-heading h1 {
    letter-spacing: -0.035em;
}

.cart-item {
    border-color: var(--xmez-line);
    border-radius: var(--xmez-radius-md);
    transition:
        border-color .16s ease,
        box-shadow .16s ease;
}

.cart-item:hover {
    border-color: #d8d8d8;
    box-shadow: var(--xmez-shadow);
}

.cart-summary {
    top: 96px;
    border-radius: var(--xmez-radius-md);
    background: var(--xmez-surface);
    box-shadow: var(--xmez-shadow);
}

.cart-buy-now,
.checkout-submit {
    box-shadow: 0 8px 18px rgba(0, 0, 0, .12);
}

.cart-remove-button:hover {
    background: #e5e5e5;
}

/* Checkout */

.checkout-page {
    width: min(760px, calc(100% - 32px));
}

.checkout-card {
    padding: 34px;
    background: var(--xmez-surface);
    box-shadow: var(--xmez-shadow);
}

.checkout-card h1 {
    letter-spacing: -0.035em;
}

.checkout-summary > div {
    border: 1px solid #eeeeee;
}

.checkout-field {
    color: #292929;
}

.checkout-field input,
.checkout-field select,
.checkout-field textarea {
    min-height: 50px;
    width: 100%;
    padding: 11px 13px;
    border: 1px solid #d8d8d8;
    border-radius: 9px;
    background: #fff;
}

.checkout-error {
    background: #fff7f6;
}

/* Success + My Orders */

.order-success-page {
    width: min(760px, calc(100% - 32px));
}

.order-success-card {
    padding: 38px 32px;
    border-radius: var(--xmez-radius-lg);
    background: var(--xmez-surface);
    box-shadow: var(--xmez-shadow);
}

.order-success-card h1 {
    letter-spacing: -0.035em;
}

.order-success-card .cart-primary-button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
}

/* Footer */

.store-footer {
    margin-top: 72px;
    background: #fafafa;
}

/* Smaller desktop/tablet */

@media (max-width: 1000px) {
    .product-detail-grid {
        gap: 28px;
    }

    .product-detail-info {
        position: static;
    }
}

/* Mobile */

@media (max-width: 800px) {
    .store-header {
        min-height: auto;
        padding: 12px 14px;
        gap: 10px;
        align-items: stretch;
    }

    .store-brand {
        width: 100%;
        justify-content: center;
        font-size: 18px;
    }

    .store-brand-logo {
        max-height: 40px;
    }

    .store-nav {
        width: 100%;
        gap: 6px;
        justify-content: center;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    .store-nav::-webkit-scrollbar {
        display: none;
    }

    .store-nav a {
        min-height: 38px;
        flex: 0 0 auto;
        padding: 0 9px;
        border-radius: 8px;
        background: var(--xmez-soft);
        font-size: 13px;
    }

    .hero-card,
    .hero-empty {
        border-radius: 14px;
    }

    .hero-copy {
        background: rgba(255, 255, 255, .94);
        border-radius: 12px;
    }

    .store-section {
        width: calc(100% - 24px);
    }

    .product-grid {
        gap: 18px 10px;
    }

    .product-body {
        padding:
            10px
            8px
            14px;
    }

    .product-card {
        border-radius: 11px;
    }

    .product-image {
        border-radius:
            11px
            11px
            0
            0;
    }

    .product-detail-grid {
        gap: 24px;
    }

    .product-gallery {
        gap: 7px;
    }


    .product-commerce-actions {
        grid-template-columns: 90px minmax(0, 1fr);
        gap: 10px;
    }

    .product-buy-button {
        grid-column: 1 / -1;
    }

    .cart-page {
        width: calc(100% - 20px);
    }

    .cart-item {
        padding: 16px;
    }

    .cart-summary {
        padding: 18px;
        box-shadow: none;
    }

    .checkout-page,
    .order-success-page {
        width: calc(100% - 20px);
        margin-top: 24px;
    }

    .checkout-card,
    .order-success-card {
        padding: 22px 17px;
        border-radius: 14px;
    }

    .checkout-submit,
    .cart-buy-now,
    .cart-primary-button {
        min-height: 48px;
    }

    .store-footer {
        margin-top: 48px;
    }
}

@media (max-width: 520px) {
    .category-grid {
        gap: 9px;
    }

    .category-card {
        min-height: 92px;
        padding: 12px;
        font-size: .9rem;
    }

    .product-grid {
        gap: 16px 8px;
    }

    .product-name {
        font-size: .9rem;
    }

    .product-price {
        font-size: .96rem;
    }

    .product-stock-badge {
        font-size: .75rem;
    }

    .product-gallery {
        grid-template-columns: 1fr;
    }

    .product-gallery img:not(:first-child) {
        margin-top: 4px;
    }

    .cart-page-heading {
        gap: 14px;
    }

    .cart-item-actions,
    .cart-quantity-form {
        width: 100%;
    }

    .cart-quantity-form input {
        width: 74px;
    }

    .cart-quantity-form button {
        flex: 1;
    }

    .cart-remove-button {
        min-height: 42px;
    }
}

/* XMEZ PHASE 17 HOMEPAGE FOUNDATION */

.home-announcement {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 7px 18px;
    background: #171310;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    text-align: center;
}

.home-announcement-dot {
    opacity: .55;
}

.home-header {
    width: 100%;
    padding-left: max(24px, 4vw);
    padding-right: max(24px, 4vw);
    background: rgba(255, 255, 255, .98);
}

.home-nav {
    gap: 22px;
}

.home-cart-link {
    gap: 7px;
}

.home-cart-count {
    display: inline-grid;
    min-width: 21px;
    height: 21px;
    padding: 0 6px;
    place-items: center;
    border-radius: 999px;
    background: #171310;
    color: #fff;
    font-size: 11px;
    line-height: 1;
}

.hero {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0px auto;
}

.hero-card {
    min-height: 330px;
    border-radius: 0;
    box-shadow: none;
}

.hero-card:first-child {
    min-height: min(72vh, 720px);
    grid-column: 1 / -1;
}

.hero-card:first-child img {
    height: min(72vh, 720px);
}

.hero-card:not(:first-child) img {
    height: 390px;
}

.hero-card img {
    transition: transform .6s ease;
}

.hero-card:hover img {
    transform: scale(1.012);
}

.hero-copy {
    left: clamp(20px, 5vw, 72px);
    bottom: clamp(20px, 7vw, 74px);
    max-width: 560px;
    padding: clamp(20px, 3vw, 34px);
    border-radius: 0;
    background: rgba(255, 255, 255, .93);
    box-shadow: none;
}

.hero-copy h1 {
    font-size: clamp(34px, 5vw, 70px);
    line-height: .98;
    letter-spacing: -.045em;
}

.hero-copy p {
    margin-top: 14px;
    color: #49423e;
    font-size: clamp(14px, 1.3vw, 17px);
    line-height: 1.6;
}

.hero-button {
    min-height: 46px;
    padding: 0 21px;
    border-radius: 0;
    background: #171310;
}

.home-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 26px;
}

.home-section-heading h2 {
    margin: 4px 0 0;
    font-size: clamp(27px, 3vw, 42px);
    font-weight: 700;
    letter-spacing: -.04em;
}

.home-section-heading > p {
    max-width: 430px;
    margin: 0;
    color: #706964;
    line-height: 1.6;
}

.home-section-kicker {
    display: block;
    color: #8b7162;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.home-category-section {
    margin-top: 68px;
}

.home-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.home-category-card {
    min-height: 330px;
    position: relative;
    display: flex;
    align-items: end;
    justify-content: flex-start;
    overflow: hidden;
    padding: 24px;
    border: 0;
    border-radius: 0;
    background: linear-gradient(145deg, #eee7e1, #d8cbc1);
    color: #171310;
    isolation: isolate;
}

.home-category-card:hover {
    transform: none;
    border-color: transparent;
    box-shadow: none;
}

.home-category-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.home-category-card:hover .home-category-image {
    transform: scale(1.035);
}

.home-category-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(
            to top,
            rgba(0, 0, 0, .58) 0%,
            rgba(0, 0, 0, .06) 55%,
            transparent 100%
        );
    opacity: 0;
}

.home-category-card.has-image {
    color: #fff;
}

.home-category-card.has-image .home-category-overlay {
    opacity: 1;
}

.home-category-content {
    display: grid;
    gap: 6px;
    text-align: left;
}

.home-category-content strong {
    font-size: clamp(19px, 2vw, 27px);
    letter-spacing: -.025em;
}

.home-category-content > span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.home-products-section {
    margin-top: 78px;
}

.home-products-section .product-grid {
    gap: 34px 15px;
}

.home-products-section .product-card {
    border-radius: 0;
    box-shadow: none;
}

.home-products-section .product-card:hover {
    transform: none;
    box-shadow: none;
}

.home-products-section .product-image {
    position: relative;
    border-radius: 0;
    background: #f3f0ed;
}

.home-products-section .product-image img {
    transition: transform .45s ease;
}

.home-products-section .product-card:hover .product-image img {
    transform: scale(1.018);
}

.home-products-section .product-body {
    padding: 13px 1px 0;
}

.home-products-section .product-name {
    font-weight: 500;
    line-height: 1.45;
}

.home-product-price {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: baseline;
    font-size: .98rem;
}

.home-product-price del {
    color: #938b86;
    font-size: .86rem;
    font-weight: 400;
}

.home-sale-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    padding: 6px 9px;
    background: #fff;
    color: #171310;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-products-section .product-stock-badge {
    margin-top: 8px;
    border: 0;
    padding: 0;
    color: #78706b;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.home-trust-strip {
    width: min(1400px, calc(100% - 40px));
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 92px auto 0;
    border-top: 1px solid #ded8d3;
    border-bottom: 1px solid #ded8d3;
}

.home-trust-strip > div {
    display: grid;
    gap: 6px;
    padding: 28px 24px;
    border-right: 1px solid #ded8d3;
}

.home-trust-strip > div:last-child {
    border-right: 0;
}

.home-trust-strip strong {
    font-size: 14px;
}

.home-trust-strip span {
    color: #7d746f;
    font-size: 12px;
    line-height: 1.5;
}

.home-footer {
    margin-top: 0;
    padding: 58px max(24px, 5vw) 24px;
    background: #171310;
    color: #fff;
    text-align: left;
}

.home-footer-grid {
    width: min(1320px, 100%);
    display: grid;
    grid-template-columns:
        minmax(260px, 2fr)
        minmax(130px, 1fr)
        minmax(130px, 1fr);
    gap: 48px;
    margin: 0 auto;
}

.home-footer-grid > div {
    display: grid;
    align-content: start;
    gap: 11px;
}

.home-footer-grid strong {
    font-size: 14px;
}

.home-footer-grid a {
    width: fit-content;
    color: #d9d1cc;
    font-size: 13px;
    text-decoration: none;
}

.home-footer-grid a:hover {
    color: #fff;
}

.home-footer-brand > strong {
    font-size: clamp(22px, 3vw, 34px);
    letter-spacing: -.035em;
}

.home-footer-brand p {
    max-width: 420px;
    margin: 3px 0 0;
    color: #bcb3ad;
    line-height: 1.65;
}

.home-footer-bottom {
    width: min(1320px, 100%);
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 48px auto 0;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .13);
    color: #918983;
    font-size: 11px;
}

@media (max-width: 900px) {
    .home-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .home-trust-strip > div:nth-child(2) {
        border-right: 0;
    }

    .home-trust-strip > div:nth-child(-n + 2) {
        border-bottom: 1px solid #ded8d3;
    }
}

@media (max-width: 800px) {
    .home-announcement {
        min-height: 31px;
        font-size: 10px;
    }

    .home-header {
        padding: 10px 12px;
    }

    .home-header .store-brand {
        justify-content: center;
    }

    .home-nav {
        justify-content: flex-start;
        gap: 5px;
    }

    .hero {
        width: 100%;
        display: block;
        margin: 0 0 42px;
    }

    .hero-card {
        display: none;
        min-height: 510px;
        border-radius: 0;
    }

    .hero-card:first-child {
        display: block;
        min-height: 510px;
    }

    .hero-card:first-child img {
        height: 510px;
    }

    .hero-copy {
        left: 14px;
        right: 14px;
        bottom: 14px;
        padding: 20px;
    }

    .home-section-heading {
        display: grid;
        gap: 10px;
        margin-bottom: 20px;
    }

    .home-section-heading > p {
        max-width: none;
        font-size: 13px;
    }

    .home-category-card {
        min-height: 240px;
        padding: 18px;
    }

    .home-products-section {
        margin-top: 55px;
    }

    .home-products-section .product-grid {
        gap: 26px 9px;
    }

    .home-trust-strip {
        width: 100%;
        margin-top: 64px;
    }

    .home-footer {
        padding: 42px 20px 22px;
    }

    .home-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 34px 24px;
    }

    .home-footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 520px) {
    .home-announcement-dot,
    .home-announcement span:nth-child(3) {
        display: none;
    }

    .home-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .home-category-card {
        min-height: 205px;
        padding: 13px;
    }

    .home-category-content strong {
        font-size: 17px;
    }

    .home-category-content > span {
        font-size: 9px;
    }

    .home-products-section .product-name {
        font-size: .86rem;
    }

    .home-product-price {
        gap: 5px;
        font-size: .9rem;
    }

    .home-trust-strip {
        grid-template-columns: 1fr;
    }

    .home-trust-strip > div {
        border-right: 0;
        border-bottom: 1px solid #ded8d3;
    }

    .home-trust-strip > div:last-child {
        border-bottom: 0;
    }

    .home-footer-bottom {
        flex-direction: column;
        gap: 5px;
    }
}

/* XMEZ PHASE 17B HERO 01 */

.hero-fallback-feature {
    margin-top: 0;
}

.hero-card-static {
    position: relative;
    overflow: hidden;
    background: #ede7e2;
}

.hero-card-static::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(17, 13, 10, .34) 0%,
            rgba(17, 13, 10, .10) 32%,
            rgba(17, 13, 10, 0) 62%
        );
    pointer-events: none;
}

.hero-card-static img {
    width: 100%;
    height: min(72vh, 720px);
    object-fit: cover;
    display: block;
}

.hero-card-static .hero-copy {
    z-index: 1;
    max-width: 600px;
}

.hero-card-static .hero-copy > span {
    display: inline-block;
    margin-bottom: 10px;
    color: #8b7162;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.hero-card-static .hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    color: #fff;
    text-decoration: none;
}

@media (max-width: 800px) {
    .hero-card-static::after {
        background:
            linear-gradient(
                180deg,
                rgba(17, 13, 10, .04) 0%,
                rgba(17, 13, 10, .30) 100%
            );
    }

    .hero-card-static img {
        height: 510px;
    }

    .hero-card-static .hero-copy {
        max-width: none;
    }
}

/* XMEZ PHASE 18 CATEGORY + PRODUCT CARDS */

.home-category-card {
    aspect-ratio: 4 / 5;
    min-height: 0;
}

.home-category-card.has-image {
    color: #fff;
}

.home-category-image {
    filter: saturate(.96) contrast(1.01);
}

.home-category-content {
    position: relative;
    z-index: 2;
}

.home-category-content strong {
    text-shadow: 0 1px 8px rgba(0, 0, 0, .18);
}

.home-products-section .product-image {
    aspect-ratio: 3 / 4;
}

.home-products-section .product-image img {
    object-position: center top;
}

.home-products-section .product-card {
    background: transparent;
}

.home-products-section .product-name {
    min-height: 2.8em;
}

.home-products-section .product-stock-badge.is-in-stock {
    color: #5f6f5a;
}

.home-products-section .product-stock-badge.is-out-of-stock {
    color: #9a6b62;
}

@media (max-width: 800px) {
    .home-category-card {
        aspect-ratio: 3 / 4;
    }

    .home-products-section .product-image {
        aspect-ratio: 3 / 4;
    }
}

@media (max-width: 520px) {
    .home-category-card {
        min-height: 0;
    }

    .home-products-section .product-name {
        min-height: 2.7em;
    }
}

/* XMEZ PHASE 19 PRODUCT DETAIL */

.product-page-shell {
    width: min(1380px, calc(100% - 40px));
    margin-top: 42px;
}

.product-page-shell .product-gallery {
    gap: 10px;
}

.product-page-shell .product-gallery img,
.product-detail-fallback img {
    width: 100%;
    aspect-ratio: 3 / 4;
    display: block;
    object-fit: cover;
    object-position: center top;
    border-radius: 0;
    background: #f3efeb;
}

.product-detail-fallback {
    min-height: 0;
    display: block;
    background: #f3efeb;
}

.product-page-shell .product-detail-info {
    top: 118px;
    padding: 4px 0 10px;
}

.product-page-shell .product-category-link {
    margin-bottom: 13px;
    color: #8b7162;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}


.product-page-shell .product-detail-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 11px;
    margin: 0 0 24px;
    font-size: 23px;
    font-weight: 700;
}

.product-page-shell .product-detail-price del {
    margin-left: 0;
    color: #9a918b;
    font-size: 16px;
    font-weight: 400;
}


/* Related products */

.product-related-section {
    margin-top: 86px;
    padding-top: 38px;
    border-top: 1px solid #e6dfda;
}

.product-related-heading {
    margin-bottom: 25px;
}

.product-related-heading > span {
    display: block;
    margin-bottom: 5px;
    color: #8b7162;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.product-related-heading h2 {
    margin: 0;
    font-size: clamp(26px, 3vw, 38px);
    letter-spacing: -.035em;
}

.product-related-section .product-image img {
    object-position: center top;
}

/* Toast refinement */

#product-cart-toast {
    border-radius: 0;
    border-color: #171310;
    color: #171310;
    box-shadow:
        0 14px 38px rgba(0, 0, 0, .15);
}

/* Tablet */

@media (max-width: 1000px) {
    .product-page-shell .product-detail-info {
        position: static;
    }
}

/* Mobile */

@media (max-width: 800px) {
    .product-page-shell {
        width: calc(100% - 20px);
        margin-top: 22px;
    }

    .product-page-shell .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .product-page-shell .product-gallery {
        grid-template-columns: 1fr;
        gap: 8px;
    }


    .product-page-shell .product-detail-info {
        padding: 0 5px;
    }



    .product-related-section {
        margin-top: 60px;
        padding-top: 30px;
    }
}

@media (max-width: 520px) {
    .product-page-shell {
        width: calc(100% - 16px);
    }

    .product-page-shell .product-detail-info {
        padding: 0 4px;
    }

    .product-page-shell .product-detail-price {
        font-size: 21px;
    }

}

/* XMEZ PHASE 20 CART CHECKOUT */

/* XMEZ PHASE 20 CART POLISH */

/* Cart */

.cart-page {
    width: min(1280px, calc(100% - 40px));
    margin: 42px auto 80px;
}

.cart-page-heading {
    align-items: end;
    margin-bottom: 32px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e8e1dc;
}

.cart-page-heading h1 {
    margin: 0 0 7px;
    font-size: clamp(34px, 5vw, 52px);
    line-height: 1;
    letter-spacing: -.045em;
}

.cart-page-heading p {
    margin: 0;
    color: #756c66;
    font-size: 13px;
}

.cart-continue-shopping {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid #bdb3ac;
}

.cart-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, 360px);
    gap: clamp(28px, 4vw, 52px);
    align-items: start;
}

.cart-items {
    display: grid;
    gap: 15px;
    border: 0;
}

.cart-item {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    gap: 16px 28px;
    padding: 25px 25px;
    border-bottom: 1px solid #e7dfd9;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.cart-item-main {
    min-width: 0;
}

.cart-item-name {
    display: inline-block;
    color: #1c1714;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
}

.cart-item-name:hover {
    text-decoration: underline;
}

.cart-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 14px;
    margin-top: 8px;
    color: #827972;
    font-size: 12px;
}

.cart-item-price,
.cart-item-line-total {
    color: #1c1714;
    font-weight: 700;
}

.cart-item-price {
    font-size: 14px;
}

.cart-item-line-total {
    align-self: end;
    text-align: right;
    font-size: 16px;
}

.cart-item-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 10px;
}

.cart-quantity-form {
    display: flex;
    align-items: end;
    gap: 8px;
}

.cart-quantity-form label {
    display: grid;
    gap: 5px;
    color: #716963;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cart-quantity-form input {
    width: 74px;
    min-height: 42px;
    border: 1px solid #d8d0ca;
    border-radius: 0;
    background: #fff;
    text-align: center;
}

.cart-quantity-form button,
.cart-remove-button {
    min-height: 42px;
    padding: 0 15px;
    border-radius: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .03em;
}

.cart-remove-button {
    border: 0;
    background: transparent;
    color: #8a625c;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cart-item-warning {
    margin-top: 10px;
    color: #9a5f57;
    font-size: 12px;
}

.cart-summary {
    position: sticky;
    top: 112px;
    padding: 26px;
    border: 1px solid #e2dad4;
    border-radius: 0;
    background: #faf8f6;
    box-shadow: none;
}

.cart-summary h2 {
    margin: 0 0 20px;
    font-size: 22px;
    letter-spacing: -.025em;
}

.cart-summary-row {
    padding: 11px 0;
    border-bottom: 1px solid #e8e1dc;
    color: #716963;
    font-size: 13px;
}

.cart-summary-row strong {
    color: #1c1714;
}

.cart-buy-now {
    display: flex;
    min-height: 54px;
    width: 100%;
    align-items: center;
    justify-content: center;
    margin-top: 22px;
    border-radius: 0;
    background: #1c1714;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-decoration: none;
    text-transform: uppercase;
}

.cart-buy-now:hover,
.cart-buy-now:focus-visible {
    background: #332b27;
}

.cart-summary-note {
    margin: 15px 0 0;
    color: #827972;
    font-size: 11px;
    line-height: 1.55;
}

.cart-empty {
    padding: clamp(40px, 8vw, 90px) 24px;
    border: 1px solid #e6dfda;
    border-radius: 0;
    background: #faf8f6;
    text-align: center;
}

.cart-empty h2 {
    margin-top: 0;
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: -.035em;
}

.cart-primary-button {
    border-radius: 0;
}

/* Authenticated checkout form */

.checkout-card {
    width: min(900px, 100%);
    margin: 0 auto;
}

.checkout-card > h1 {
    margin-bottom: 24px;
    font-size: clamp(32px, 5vw, 48px);
    line-height: 1.04;
}

.checkout-summary {
    margin-bottom: 28px;
    padding: 18px 20px;
    border: 1px solid #e5ddd7;
    background: #faf8f6;
}

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

.checkout-field {
    display: grid;
    gap: 7px;
}

.checkout-field > span {
    color: #4f4742;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
}

.checkout-field input,
.checkout-field select {
    min-height: 50px;
    width: 100%;
    padding: 0 13px;
    border: 1px solid #d9d1cb;
    background: #fff;
    color: #1c1714;
}

.checkout-field input:focus,
.checkout-field select:focus {
    border-color: #75685f;
    outline: 1px solid #75685f;
    outline-offset: 0;
}

.checkout-field:nth-last-of-type(2),
.checkout-field:nth-last-of-type(1) {
    grid-column: 1 / -1;
}

.checkout-submit,
.checkout-help {
    grid-column: 1 / -1;
}

.checkout-submit {
    width: 100%;
    margin-top: 6px;
    border: 1px solid #1c1714;
    background: #1c1714;
    color: #fff;
}

.checkout-submit:hover,
.checkout-submit:focus-visible {
    background: #332b27;
}

.checkout-help {
    margin: 0;
    color: #827972;
    font-size: 11px;
    text-align: center;
}

/* Responsive */

@media (max-width: 850px) {
    .cart-layout {
        grid-template-columns: 1fr;
    }

    .cart-summary {
        position: static;
    }
}

@media (max-width: 700px) {
    .cart-page {
        width: calc(100% - 20px);
        margin-top: 24px;
    }

    .cart-page-heading {
        align-items: start;
        gap: 14px;
    }

    .cart-item {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .cart-item-price,
    .cart-item-line-total {
        text-align: left;
    }

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

    .checkout-field,
    .checkout-field:nth-last-of-type(2),
    .checkout-field:nth-last-of-type(1),
    .checkout-submit,
    .checkout-help {
        grid-column: 1;
    }
}

@media (max-width: 480px) {
    .cart-item-actions {
        align-items: stretch;
    }

    .cart-quantity-form {
        width: 100%;
    }

    .cart-quantity-form label {
        flex: 1;
    }

    .cart-quantity-form input {
        width: 100%;
    }

    .cart-quantity-form button {
        min-width: 92px;
    }

    .cart-summary {
        padding: 22px 18px;
    }
}


.checkout-page {
    width: min(1180px, calc(100% - 40px));
    margin: 42px auto 80px;
}

.checkout-card {
    border-radius: 0;
}

.checkout-choice {
    width: min(680px, 100%);
    margin: 0 auto;
    padding: clamp(24px, 5vw, 54px);
    border: 1px solid #e5ddd7;
    background: #fff;
}

.checkout-choice-intro {
    text-align: center;
}

.checkout-choice-kicker {
    display: block;
    margin-bottom: 10px;
    color: #8b7162;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.checkout-choice-intro h1 {
    margin: 0;
    font-size: clamp(30px, 5vw, 48px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.checkout-choice-intro p {
    max-width: 520px;
    margin: 16px auto 0;
    color: #716963;
    font-size: 14px;
    line-height: 1.7;
}

.checkout-choice-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 28px 0 18px;
    padding: 14px 0;
    border-top: 1px solid #eee7e2;
    border-bottom: 1px solid #eee7e2;
    color: #716963;
    font-size: 13px;
}

.checkout-choice-summary strong {
    color: #1c1714;
    font-size: 18px;
}

.checkout-google-button {
    display: flex;
    min-height: 54px;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid #d8d2cd;
    background: #fff;
    color: #1e1916;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
}

.checkout-google-button:hover,
.checkout-google-button:focus-visible {
    border-color: #aaa19a;
    box-shadow: 0 8px 24px rgba(30, 24, 20, .08);
}

.checkout-google-logo {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border: 1px solid #e3ded9;
    border-radius: 50%;
    color: #4285f4;
    font-family: Arial, sans-serif;
    font-size: 17px;
    font-weight: 800;
}

.checkout-choice-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 22px 0;
    color: #aaa19a;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
}

.checkout-choice-divider::before,
.checkout-choice-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #e8e1dc;
}

.checkout-call-panel {
    padding: 22px;
    background: #f8f5f2;
}

.checkout-call-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.checkout-call-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 50%;
    background: #1c1714;
    color: #fff;
}

.checkout-call-heading strong,
.checkout-call-heading small {
    display: block;
}

.checkout-call-heading small {
    margin-top: 3px;
    color: #857c75;
    font-size: 12px;
}

.checkout-call-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.checkout-call-button {
    display: flex;
    min-height: 68px;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid #dcd3cc;
    background: #fff;
    color: #1c1714;
    text-decoration: none;
}

.checkout-call-button > span:first-child {
    font-size: 22px;
}

.checkout-call-button strong,
.checkout-call-button small {
    display: block;
}

.checkout-call-button strong {
    font-size: 13px;
}

.checkout-call-button small {
    margin-top: 3px;
    overflow-wrap: anywhere;
    color: #7a716b;
    font-size: 11px;
}

a.checkout-call-button:hover,
a.checkout-call-button:focus-visible {
    border-color: #1c1714;
}

.checkout-call-button.is-disabled {
    cursor: not-allowed;
    opacity: .52;
}

.checkout-call-note {
    margin: 15px 0 0;
    color: #827972;
    font-size: 11px;
    line-height: 1.55;
}

.checkout-choice-back {
    display: table;
    margin: 24px auto 0;
    color: #675e58;
    font-size: 12px;
    text-decoration: none;
}

.checkout-choice-back:hover {
    text-decoration: underline;
}

.checkout-form input,
.checkout-form select,
.checkout-submit,
.checkout-summary {
    border-radius: 0;
}

.checkout-submit {
    min-height: 54px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

@media (max-width: 700px) {
    .checkout-page {
        width: calc(100% - 20px);
        margin-top: 24px;
    }

    .checkout-choice {
        padding: 26px 18px;
    }

    .checkout-call-grid {
        grid-template-columns: 1fr;
    }
}

/* XMEZ PHASE 21 ORDERS UTILITY */

/* Order success + My Orders */

.order-success-page {
    width: min(1000px, calc(100% - 40px));
    margin: 54px auto 90px;
}

.order-success-card {
    width: min(760px, 100%);
    margin: 0 auto;
    padding: clamp(28px, 6vw, 56px);
    border: 1px solid #e4ddd7;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.order-success-card h1 {
    margin-top: 0;
    font-size: clamp(32px, 5vw, 50px);
    line-height: 1.05;
    letter-spacing: -.045em;
}

.order-success-mark {
    width: 58px;
    height: 58px;
    margin-bottom: 22px;
    border-radius: 50%;
    background: #1d1916;
    color: #fff;
    font-size: 28px;
}

.order-success-id {
    margin: 20px 0;
    padding: 16px 18px;
    border: 1px solid #e8e1dc;
    background: #faf8f6;
    font-size: 14px;
}

.order-success-card > p {
    color: #6f6761;
    line-height: 1.7;
}

.order-success-card a:not(.cart-primary-button) {
    color: #312a26;
    text-underline-offset: 3px;
}

.my-orders-list {
    display: grid;
    gap: 12px;
    width: 100%;
    margin: 26px 0;
    text-align: left;
}

.my-orders-card {
    padding: 20px;
    border: 1px solid #e4ddd7;
    border-radius: 0;
    background: #fff;
    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.my-orders-card:hover {
    border-color: #cfc5be;
    box-shadow: 0 12px 28px rgba(34, 27, 23, .06);
}

.my-orders-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.my-orders-card-head strong {
    color: #1e1916;
    font-size: 15px;
}

.my-orders-card-head span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid #ded6d0;
    background: #f8f5f2;
    color: #5f5752;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.my-orders-card p {
    margin: 11px 0;
    color: #746b65;
    font-size: 13px;
    line-height: 1.6;
}

.my-orders-card > a {
    display: inline-flex;
    margin-top: 4px;
    color: #1e1916;
    font-size: 12px;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* Single order */

.my-order-items {
    display: grid;
    gap: 0;
    width: 100%;
    margin: 18px 0 30px;
    border-top: 1px solid #e5ddd7;
    text-align: left;
}

.my-order-item {
    padding: 16px 0;
    border-bottom: 1px solid #e5ddd7;
    color: #6e655f;
    font-size: 13px;
    line-height: 1.65;
}

.my-order-item strong {
    display: block;
    margin-bottom: 5px;
    color: #1e1916;
    font-size: 15px;
}

.order-success-card h2 {
    margin: 32px 0 10px;
    padding-top: 22px;
    border-top: 1px solid #e6dfd9;
    font-size: 18px;
    letter-spacing: -.02em;
}

/* Search */

.store-search-form {
    display: flex;
    gap: 8px;
    max-width: 720px;
    margin: 22px 0 28px;
}

.store-search-form input {
    min-height: 50px;
    flex: 1;
    border: 1px solid #d9d1cb;
    border-radius: 0;
    padding: 0 14px;
}

.store-search-form button {
    min-height: 50px;
    padding: 0 22px;
    border: 1px solid #1d1916;
    border-radius: 0;
    background: #1d1916;
    color: #fff;
    font-weight: 700;
}

.search-summary {
    margin: 0 0 25px;
    color: #766e68;
    font-size: 13px;
}

/* Contact */

.contact-card {
    width: min(760px, 100%);
    margin: 40px auto 70px;
    padding: clamp(28px, 6vw, 52px);
    border: 1px solid #e5ddd7;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.contact-card h1 {
    margin-top: 0;
    font-size: clamp(34px, 5vw, 50px);
    letter-spacing: -.04em;
}

.contact-card p {
    color: #6f6761;
    line-height: 1.75;
}

.contact-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 24px;
}

.contact-socials a,
.whatsapp-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 0 16px;
    border: 1px solid #d8d0ca;
    border-radius: 0;
    background: #fff;
    color: #1d1916;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 700px) {
    .order-success-page {
        width: calc(100% - 20px);
        margin-top: 28px;
    }

    .order-success-card {
        padding: 28px 20px;
    }

    .my-orders-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .store-search-form {
        flex-direction: column;
    }

    .store-search-form button {
        width: 100%;
    }

    .contact-card {
        margin-top: 24px;
        padding: 28px 20px;
    }
}

/* XMEZ PHASE 22 CATALOG SALE PRICING */

.catalog-product-price {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: baseline;
}

.catalog-product-price del {
    color: #938b86;
    font-size: .86rem;
    font-weight: 400;
}

.product-image {
    position: relative;
}

.catalog-sale-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 8px;
    background: rgba(255, 255, 255, .94);
    color: #171310;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

@media (max-width: 520px) {
    .catalog-product-price {
        gap: 5px;
    }

    .catalog-product-price del {
        font-size: .78rem;
    }

    .catalog-sale-badge {
        top: 8px;
        left: 8px;
        min-height: 23px;
        padding: 4px 7px;
        font-size: 9px;
    }
}

/* XMEZ PHASE 23 BRAND COLOR #871b10 */

/*
 * Brand/action theme.
 * Neutral body text and typography remain charcoal/black.
 */

.whatsapp-button,
.cart-primary-button,
.cart-buy-now,
.checkout-submit,
.store-search-form button,
.product-cart-button,
.product-buy-now-button,
.product-add-to-cart,
.product-buy-now,
.checkout-google-button,
.checkout-call-button,
.auth-choice-button,
.primary-button {
    background: var(--xmez-brand);
    border-color: var(--xmez-brand);
    color: #fff;
}

.whatsapp-button:hover,
.whatsapp-button:focus-visible,
.cart-primary-button:hover,
.cart-primary-button:focus-visible,
.cart-buy-now:hover,
.cart-buy-now:focus-visible,
.checkout-submit:hover,
.checkout-submit:focus-visible,
.store-search-form button:hover,
.store-search-form button:focus-visible,
.product-cart-button:hover,
.product-cart-button:focus-visible,
.product-buy-now-button:hover,
.product-buy-now-button:focus-visible,
.product-add-to-cart:hover,
.product-add-to-cart:focus-visible,
.product-buy-now:hover,
.product-buy-now:focus-visible,
.checkout-google-button:hover,
.checkout-google-button:focus-visible,
.checkout-call-button:hover,
.checkout-call-button:focus-visible,
.auth-choice-button:hover,
.auth-choice-button:focus-visible,
.primary-button:hover,
.primary-button:focus-visible {
    background: var(--xmez-brand-hover);
    border-color: var(--xmez-brand-hover);
    color: #fff;
}

/* Common dark CTA selectors from earlier storefront phases */

.hero-card a,
.home-hero a[class*="button"],
.home-hero a[class*="cta"],
.product-actions button,
.product-actions a,
.checkout-actions button {
    border-color: var(--xmez-brand);
}

.product-actions button[type="submit"],
.checkout-actions button[type="submit"] {
    background: var(--xmez-brand);
    color: #fff;
}

/* Brand accents */

.catalog-sale-badge,
.home-sale-badge {
    color: var(--xmez-brand);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline-color: var(--xmez-brand);
}

/* Explicit legacy black action backgrounds */

button[type="submit"]:not(:disabled) {
    --xmez-action-color: var(--xmez-brand);
}

/* XMEZ PHASE 24 ACTUAL BRAND SELECTORS */

/*
 * Final storefront brand override.
 * Only brand/action surfaces are changed.
 * Normal body/product text stays dark.
 */

:root {
    --xmez-brand: #871b10;
    --xmez-brand-hover: #b71934;
    --xmez-brand-soft: #fff1f4;
}

/* Global primary CTAs */

.hero-button,
.whatsapp-button,
.cart-primary-button,
.cart-buy-now,
.cart-quantity-form button,
.product-cart-button,
.product-page-shell .product-cart-button,
.checkout-submit,
.store-search-form button {
    background: var(--xmez-brand);
    border-color: var(--xmez-brand);
    color: #fff;
}

.hero-button:hover,
.hero-button:focus-visible,
.whatsapp-button:hover,
.whatsapp-button:focus-visible,
.cart-primary-button:hover,
.cart-primary-button:focus-visible,
.cart-buy-now:hover,
.cart-buy-now:focus-visible,
.cart-quantity-form button:hover,
.cart-quantity-form button:focus-visible,
.product-cart-button:hover,
.product-cart-button:focus-visible,
.product-page-shell .product-cart-button:hover,
.product-page-shell .product-cart-button:focus-visible,
.checkout-submit:hover,
.checkout-submit:focus-visible,
.store-search-form button:hover,
.store-search-form button:focus-visible {
    background: var(--xmez-brand-hover);
    border-color: var(--xmez-brand-hover);
    color: #fff;
}

/* Buy Now outlined action */

.product-page-shell .product-buy-button {
    border-color: var(--xmez-brand);
    background: #fff;
    color: var(--xmez-brand);
}

.product-page-shell .product-buy-button:hover,
.product-page-shell .product-buy-button:focus-visible {
    background: var(--xmez-brand-soft);
    border-color: var(--xmez-brand);
    color: var(--xmez-brand);
}

/* Selected product variants */

.product-page-shell .product-variant-chip.is-selected {
    border-color: var(--xmez-brand);
    background: var(--xmez-brand);
    color: #fff;
}

/* Homepage brand surfaces */

.home-announcement,
.home-cart-count {
    background: var(--xmez-brand);
    color: #fff;
}

/* Footer is part of the brand theme */

.home-footer {
    background: var(--xmez-brand);
    color: #fff;
}

/* Checkout assisted-order accents */

.checkout-call-icon {
    background: var(--xmez-brand);
    color: #fff;
}

/* Order confirmation accent */

.order-success-mark {
    background: var(--xmez-brand);
    color: #fff;
}

/* Sale accents */

.catalog-sale-badge,
.home-sale-badge {
    color: var(--xmez-brand);
}

/* Keyboard/focus brand accent */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline-color: var(--xmez-brand);
}


/* XMEZ PHASE 25 REFERENCE HEADER + PDP */

/*
 * Reference-inspired storefront presentation.
 * Existing commerce, variants, cart and checkout behavior remain intact.
 */

/* Announcement strip */

.home-announcement,
.product-announcement {
    min-height: 48px;
    padding: 10px 42px;
    position: relative;
    background: var(--xmez-brand);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .035em;
}

.home-announcement::before,
.product-announcement::before,
.home-announcement::after,
.product-announcement::after {
    position: absolute;
    top: 50%;
    transform: translateY(-52%);
    color: rgba(255, 255, 255, .92);
    font-size: 31px;
    font-weight: 300;
    line-height: 1;
}

.home-announcement::before,
.product-announcement::before {
    content: "‹";
    left: 10px;
}

.home-announcement::after,
.product-announcement::after {
    content: "›";
    right: 10px;
}


/* Desktop header */

.store-header.home-header,
.store-header.reference-product-header {
    width: 100%;
    min-height: 108px;
    display: grid;
    grid-template-columns:
        minmax(145px, 205px)
        minmax(0, 1fr)
        auto;
    align-items: center;
    gap: 28px;
    padding: 0 42px;
    position: relative;
    top: auto;
    background: #fff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-bottom: 0;
    box-shadow: none;
}


.store-header.home-header .store-brand,
.store-header.reference-product-header .store-brand {
    justify-self: start;
    min-width: 0;
    color: #292526;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: -.035em;
    white-space: nowrap;
}

.store-header.home-header .store-brand-logo {
    width: auto;
    max-width: 170px;
    max-height: 62px;
}

.reference-main-nav {
    justify-self: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: clamp(20px, 2.25vw, 43px);
    min-width: 0;
}

.reference-main-nav a {
    min-height: 44px;
    padding: 0;
    color: #5c5858;
    font-size: clamp(14px, 1.03vw, 19px);
    font-weight: 500;
    letter-spacing: .005em;
    white-space: nowrap;
}

.reference-main-nav a:hover,
.reference-main-nav a:focus-visible {
    color: var(--xmez-brand);
}

.reference-header-actions {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: 24px;
}

.reference-icon-link {
    width: 34px;
    height: 42px;
    display: inline-grid;
    position: relative;
    place-items: center;
    color: #211e1e;
    text-decoration: none;
}

.reference-icon-link svg {
    width: 28px;
    height: 28px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.reference-icon-link:hover,
.reference-icon-link:focus-visible {
    color: var(--xmez-brand);
}

.reference-cart-link .home-cart-count {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    position: absolute;
    top: 1px;
    right: -8px;
    font-size: 9px;
}


/* PDP main width and two-column presentation */

.product-page-shell {
    width: min(1420px, calc(100% - 54px));
    margin-top: 0;
    padding-top: 2px;
}

.product-page-shell .product-detail-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.03fr)
        minmax(430px, .97fr);
    align-items: start;
    gap: clamp(24px, 2.2vw, 36px);
}

.product-page-shell .product-gallery {
    position: relative;
    padding: 0;
    gap: 14px;
    background: transparent;
}

.product-page-shell .product-gallery::before {
    content: "⌕";
    width: 48px;
    height: 48px;
    display: grid;
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 3;
    place-items: center;
    border: 1px solid #e7e0dc;
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    color: #4f4947;
    font-size: 27px;
    line-height: 1;
    pointer-events: none;
    box-shadow: 0 4px 15px rgba(31, 24, 21, .06);
}

.product-page-shell .product-gallery img,
.product-page-shell .product-detail-placeholder {
    width: 100%;
    min-height: 0;
    max-height: none;
    aspect-ratio: 1 / 1.06;
    border: 0;
    border-radius: 8px;
    background: #f7f3ef;
    object-fit: cover;
    box-shadow: none;
}


/* Right-side product column */

.product-page-shell .product-detail-info {
    position: sticky;
    top: 22px;
    padding: 24px 0 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.product-page-shell .product-category-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 20px;
    color: #7c2d65;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .055em;
    text-decoration: none;
    text-transform: uppercase;
}

.product-page-shell .product-category-link::before {
    content: "✺";
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border: 2px solid #efc8dc;
    border-radius: 50%;
    background: #fff6fa;
    color: var(--xmez-brand);
    box-shadow: 0 0 0 4px #f8e4ed;
}



.product-page-shell .product-detail-price {
    margin: 0 0 20px;
    color: var(--xmez-brand);
    font-size: 29px;
    font-weight: 800;
}

.product-page-shell .product-detail-price del {
    margin-left: 12px;
    color: #9b9290;
    font-size: 17px;
    font-weight: 500;
}



/* Mobile / tablet */

@media (max-width: 1100px) {
    .store-header.home-header,
    .store-header.reference-product-header {
        grid-template-columns: auto 1fr auto;
        min-height: 88px;
        padding: 0 22px;
        gap: 18px;
    }

    .reference-main-nav {
        gap: 18px;
    }

    .reference-main-nav a {
        font-size: 13px;
    }

    .reference-header-actions {
        gap: 15px;
    }

    .product-page-shell .product-detail-grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(370px, .88fr);
        gap: 38px;
    }
}

@media (max-width: 800px) {
    .home-announcement,
    .product-announcement {
        min-height: 40px;
        padding: 8px 34px;
        gap: 5px;
        font-size: 11px;
    }

    .store-header.home-header,
    .store-header.reference-product-header {
        min-height: 72px;
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 9px 14px;
        align-items: center;
    }

    .store-header.home-header .store-brand,
    .store-header.reference-product-header .store-brand {
        width: auto;
        justify-self: start;
        justify-content: flex-start;
        font-size: 19px;
    }

    .store-header.home-header .store-brand-logo {
        max-width: 135px;
        max-height: 46px;
    }

    .reference-main-nav {
        display: none;
    }

    .reference-header-actions {
        grid-column: 2;
        gap: 12px;
    }

    .reference-icon-link {
        width: 29px;
        height: 38px;
    }

    .reference-icon-link svg {
        width: 24px;
        height: 24px;
    }

    .product-page-shell {
        width: min(100% - 24px, 680px);
        padding-top: 0;
    }

    .product-page-shell .product-detail-grid {
        display: block;
    }

    .product-page-shell .product-detail-info {
        position: static;
        padding-top: 24px;
    }

    .product-page-shell .product-gallery::before {
        width: 42px;
        height: 42px;
        top: 14px;
        left: 14px;
    }



}

@media (max-width: 480px) {
    .home-announcement-dot {
        display: none;
    }

    .home-announcement span:last-of-type,
    .product-announcement span:last-of-type {
        display: none;
    }

    .reference-header-actions {
        gap: 7px;
    }

}


/* XMEZ PHASE 26 MOBILE HEADER REFERENCE */

.reference-mobile-menu {
    display: none;
}

.reference-mobile-menu-button {
    list-style: none;
}

.reference-mobile-menu-button::-webkit-details-marker {
    display: none;
}

.common-announcement-primary,
.common-announcement-secondary {
    display: inline-flex;
    align-items: center;
}

@media (max-width: 800px) {
    .common-announcement {
        min-height: 46px;
        padding: 10px 40px;
        justify-content: center;
        text-align: center;
    }

    .common-announcement::before,
    .common-announcement::after {
        top: 50%;
        font-size: 34px;
        transform: translateY(-52%);
    }

    .common-announcement::before {
        left: 16px;
    }

    .common-announcement::after {
        right: 16px;
    }

    .common-announcement .home-announcement-dot,
    .common-announcement-secondary {
        display: none;
    }

    .common-announcement-primary {
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .09em;
        text-transform: uppercase;
    }

    .common-store-header {
        min-height: 86px;
        grid-template-columns: 54px 1fr auto;
        padding: 0 18px;
        gap: 14px;
        align-items: center;
        position: relative;
    }

    .common-store-header::after {
        background: #e9e9e9;
    }

    .reference-mobile-menu {
        display: block;
        position: static;
        align-self: center;
        justify-self: start;
    }

    .reference-mobile-menu-button {
        width: 36px;
        height: 36px;
        display: block;
        position: relative;
        cursor: pointer;
        user-select: none;
        border-radius: 4px;
        background: transparent;
        border: 0;
        padding: 0;
    }

    .reference-mobile-menu-button span {
        width: 24px;
        height: 2px;
        display: block;
        position: absolute;
        left: 50%;
        top: 50%;
        background: #262222;
        border-radius: 999px;
        transform-origin: center;
        transition:
            transform .18s ease,
            opacity .18s ease;
    }

    .reference-mobile-menu-button span:nth-child(1) {
        transform: translate(-50%, -8px);
    }

    .reference-mobile-menu-button span:nth-child(2) {
        transform: translate(-50%, 0);
    }

    .reference-mobile-menu-button span:nth-child(3) {
        transform: translate(-50%, 8px);
    }

    .reference-mobile-menu[open] .reference-mobile-menu-button span:nth-child(1) {
        transform: translate(-50%, 0) rotate(45deg);
    }

    .reference-mobile-menu[open] .reference-mobile-menu-button span:nth-child(2) {
        opacity: 0;
    }

    .reference-mobile-menu[open] .reference-mobile-menu-button span:nth-child(3) {
        transform: translate(-50%, 0) rotate(-45deg);
    }

    .reference-mobile-menu-panel {
        display: none;
        position: absolute;
        top: calc(100% + 1px);
        left: 0;
        right: 0;
        z-index: 950;
        padding: 10px 0;
        background: #ffffff;
        border-bottom: 1px solid #ececec;
        box-shadow: 0 12px 30px rgba(0, 0, 0, .08);
    }

    .reference-mobile-menu[open] .reference-mobile-menu-panel {
        display: flex;
        flex-direction: column;
    }

    .reference-mobile-menu-panel a {
        padding: 14px 18px;
        color: #3a3434;
        text-decoration: none;
        font-size: 15px;
        font-weight: 500;
        border-top: 1px solid #f5f1f1;
    }

    .reference-mobile-menu-panel a:first-child {
        border-top: 0;
    }

    .common-store-header .store-brand {
        width: auto;
        max-width: calc(100% - 230px);
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 2;
        justify-content: center;
        transform: translate(-50%, -50%);
        font-size: 18px;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .common-store-header .store-brand-logo {
        max-width: 160px;
        max-height: 58px;
    }

    .common-store-header .reference-main-nav {
        display: none;
    }

    .common-store-header .reference-header-actions {
        grid-column: 3;
        justify-self: end;
        position: relative;
        z-index: 3;
        gap: 10px;
    }

    .common-store-header .reference-icon-link {
        width: 32px;
        height: 32px;
    }

    .common-store-header .reference-icon-link svg {
        width: 26px;
        height: 26px;
        stroke-width: 1.45;
    }

    .common-store-header .reference-cart-link .home-cart-count {
        min-width: 16px;
        height: 16px;
        top: -1px;
        right: -5px;
        font-size: 8px;
        padding: 0 4px;
    }
}

@media (max-width: 480px) {
    .common-store-header {
        min-height: 80px;
        grid-template-columns: 44px 1fr auto;
        padding: 0 12px;
        gap: 10px;
    }

    .common-store-header .store-brand-logo {
        max-width: 142px;
        max-height: 50px;
    }

    .common-store-header .reference-header-actions {
        gap: 6px;
    }

    .common-store-header .reference-icon-link {
        width: 28px;
        height: 28px;
    }

    .common-store-header .reference-icon-link svg {
        width: 23px;
        height: 23px;
    }

    .reference-mobile-menu-button {
        width: 32px;
        height: 32px;
    }
}


/* XMEZ PHASE 27 COMMON SEARCH OVERLAY */

.common-search-trigger {
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
}

.common-search-overlay[hidden] {
    display: none;
}

.common-search-overlay {
    position: fixed;
    inset: 48px 0 0;
    z-index: 1900;
    background: rgba(0, 0, 0, .42);
}

.common-search-panel {
    height: 140px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 56px;
    align-items: center;
    gap: 18px;
    padding: 16px 36px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .10);
}

.common-search-form {
    width: min(1380px, 100%);
    height: 98px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 15px 40px 12px;
    border: 3px solid #1f1c1c;
    border-radius: 15px;
    background: #fff;
}

.common-search-form label {
    display: block;
    margin: 0 0 1px;
    color: #615c5c;
    font-size: 14px;
    line-height: 1.25;
    letter-spacing: .02em;
}

.common-search-field {
    display: flex;
    align-items: center;
    gap: 12px;
}

.common-search-field input {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #292525;
    font: inherit;
    font-size: 18px;
}

.common-search-submit {
    width: 44px;
    height: 44px;
    display: grid;
    flex: 0 0 44px;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #292525;
    cursor: pointer;
}

.common-search-submit svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.common-search-close {
    width: 48px;
    height: 48px;
    position: relative;
    justify-self: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.common-search-close span {
    width: 29px;
    height: 1.7px;
    position: absolute;
    top: 50%;
    left: 50%;
    background: #292525;
    transform-origin: center;
}

.common-search-close span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.common-search-close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

html.common-search-open,
html.common-search-open body {
    overflow: hidden;
}

@media (max-width: 800px) {
    .common-search-overlay {
        inset: 46px 0 0;
    }

    .common-search-panel {
        height: 108px;
        grid-template-columns: minmax(0, 1fr) 42px;
        gap: 10px;
        padding: 12px 14px;
    }

    .common-search-form {
        height: 76px;
        padding: 9px 15px 7px;
        border-width: 2px;
        border-radius: 11px;
    }

    .common-search-field input {
        height: 36px;
        font-size: 17px;
    }

    .common-search-submit {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .common-search-submit svg {
        width: 25px;
        height: 25px;
    }

    .common-search-close {
        width: 38px;
        height: 38px;
    }

    .common-search-close span {
        width: 25px;
    }
}

@media (max-width: 480px) {
    .common-search-panel {
        height: 96px;
        padding: 10px 8px;
        gap: 5px;
    }

    .common-search-form {
        height: 70px;
        padding-left: 12px;
        padding-right: 10px;
    }

    .common-search-form label {
        font-size: 11px;
    }

    .common-search-field input {
        font-size: 16px;
    }
}

/* XMEZ PHASE 28 DESKTOP HERO BALANCE FIX */
@media (min-width: 1001px) {
    .hero.hero-fallback-feature {
        width: min(1680px, calc(100% - 40px));
        margin: 0 auto;
    }

    .hero-fallback-feature .hero-card-static {
        width: 100%;
        min-height: 0;
        aspect-ratio: 1679 / 937;
        position: relative;
        overflow: hidden;
        display: block;
        background: #f4f0ed;
    }

    .hero-fallback-feature .hero-card-static::after {
        content: none;
        display: none;
    }

    .hero-fallback-feature .hero-card-static > img {
        width: 100%;
        height: 100%;
        display: block;
        position: static;
        object-fit: contain;
        object-position: center center;
        background: #f4f0ed;
    }

    .hero-fallback-feature .hero-card-static .hero-copy {
        display: none;
    }
}


/* XMEZ PHASE 29 COMMON ACCOUNT LOGIN MODAL */

.common-account-trigger {
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
}

.common-account-overlay[hidden] {
    display: none;
}

.common-account-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(20, 17, 18, .52);
    overflow-y: auto;
}

.common-account-modal {
    width: min(520px, 100%);
    position: relative;
    padding: 42px 42px 34px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .20);
}

.common-account-close {
    width: 42px;
    height: 42px;
    position: absolute;
    top: 14px;
    right: 14px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.common-account-close span {
    width: 24px;
    height: 1.6px;
    position: absolute;
    top: 50%;
    left: 50%;
    background: #292525;
}

.common-account-close span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.common-account-close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.common-account-brand {
    display: grid;
    justify-items: center;
    gap: 10px;
    margin-bottom: 28px;
    text-align: center;
}

.common-account-welcome {
    color: #68758a;
    font-size: 18px;
    font-weight: 500;
}

.common-account-logo {
    width: auto;
    max-width: 250px;
    max-height: 92px;
    object-fit: contain;
}

.common-account-brand-name {
    color: #24212a;
    font-size: 30px;
    line-height: 1.15;
}

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

.common-google-login {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 12px 20px;
    border: 1px solid #d6dce5;
    border-radius: 14px;
    background: #fff;
    color: #202938;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.common-google-login:hover,
.common-google-login:focus-visible {
    border-color: #bcc6d4;
    box-shadow: 0 8px 24px rgba(27, 38, 55, .08);
    transform: translateY(-1px);
}

.common-google-mark {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 30px;
}

.common-google-mark svg {
    width: 24px;
    height: 24px;
    display: block;
}

.common-account-login-note {
    margin: 17px auto 0;
    color: #718096;
    font-size: 13px;
    line-height: 1.55;
    text-align: center;
}

.common-account-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 24px 0;
    color: #9a9195;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
}

.common-account-divider::before,
.common-account-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #ece6e8;
}

.common-account-call-block {
    padding: 18px;
    border: 1px solid #ecd8df;
    border-radius: 16px;
    background: #fff8fa;
}

.common-account-call-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.common-account-phone-icon {
    width: 38px;
    height: 38px;
    display: grid;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 50%;
    background: var(--xmez-brand);
    color: #fff;
    font-size: 17px;
}

.common-account-call-heading div {
    display: grid;
    gap: 2px;
}

.common-account-call-heading strong {
    color: #30272b;
    font-size: 15px;
}

.common-account-call-heading small {
    color: #786c71;
    font-size: 12px;
}

.common-account-call-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.common-account-call-button {
    min-height: 62px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 13px;
    border: 1px solid #ead8df;
    border-radius: 12px;
    background: #fff;
    color: #372b30;
    text-decoration: none;
}

.common-account-call-button > span:last-child {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.common-account-call-button strong {
    font-size: 13px;
}

.common-account-call-button small {
    color: #7a7074;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.common-account-call-button:not(.is-disabled):hover,
.common-account-call-button:not(.is-disabled):focus-visible {
    border-color: var(--xmez-brand);
    color: var(--xmez-brand);
}

.common-account-call-button.is-disabled {
    opacity: .52;
    cursor: not-allowed;
}

html.common-account-open,
html.common-account-open body {
    overflow-y: auto;
}

@media (max-width: 600px) {
    .common-account-overlay {
        align-items: end;
        padding: 12px;
    }

    .common-account-modal {
        width: 100%;
        max-height: calc(100vh - 24px);
        overflow-y: auto;
        padding: 38px 20px 22px;
        border-radius: 20px 20px 14px 14px;
    }

    .common-account-welcome {
        font-size: 16px;
    }

    .common-account-logo {
        max-width: 210px;
        max-height: 78px;
    }

    .common-google-login {
        min-height: 58px;
        font-size: 16px;
    }

    .common-account-call-grid {
        grid-template-columns: 1fr;
    }
}

/* XMEZ PHASE 30 STEP 2 PDP GALLERY SYSTEM */

.product-page-shell .product-gallery {
    width: 100%;
    min-width: 0;
    display: block;
}

/* XMEZ PDP GALLERY CLS RESERVATION V1 */

/*
 * Before the gallery JavaScript runs, the server renders all
 * product images as direct children of .product-gallery.
 *
 * Reserve the same main-stage footprint used by the enhanced
 * gallery and keep only the first image visible. This prevents
 * the page from initially laying out every product image and
 * then collapsing them when the gallery initializes.
 */

.product-page-shell
.product-gallery:not([data-xmez-gallery-ready="1"])
> img {
    width: calc(100% - 100px);
    margin-left: 100px;
    display: block;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: center top;
}

.product-page-shell
.product-gallery:not([data-xmez-gallery-ready="1"])
> img:not(:first-child) {
    display: none;
}

@media (max-width: 1100px) and (min-width: 801px) {
    .product-page-shell
    .product-gallery:not([data-xmez-gallery-ready="1"])
    > img {
        width: calc(100% - 84px);
        margin-left: 84px;
    }
}

@media (max-width: 800px) {
    .product-page-shell
    .product-gallery:not([data-xmez-gallery-ready="1"]) {
        padding-bottom: 34px;
    }

    .product-page-shell
    .product-gallery:not([data-xmez-gallery-ready="1"])
    > img {
        width: 100%;
        margin-left: 0;
        aspect-ratio: 3 / 4;
    }
}

.xmez-product-gallery-shell {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    min-width: 0;
}

.xmez-product-thumbs {
    width: 82px;
    height: auto;
    max-height: none;
    display: flex;
    flex-direction: column;
    flex: 0 0 82px;
    gap: 14px;
    overflow: visible;
}

.xmez-product-thumb {
    width: 82px;
    height: 104px;
    flex: 0 0 104px;
    display: block;
    padding: 0;
    border: 1px solid transparent;
    background: #f7f3ef;
    cursor: pointer;
    overflow: hidden;
}

.xmez-product-thumb.is-active {
    border-color: #2f2a28;
}

.xmez-product-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center top;
    border-radius: 0;
}

.xmez-product-stage {
    min-width: 0;
    position: relative;
    overflow: hidden;
    background: #f7f3ef;
}

.xmez-product-track {
    min-width: 0;
}

.xmez-product-slide {
    display: none;
    margin: 0;
}

.xmez-product-slide.is-active {
    display: block;
}

.product-page-shell
.xmez-product-slide > img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: center top;
    border: 0;
    border-radius: 0;
    background: #f7f3ef;
    box-shadow: none;
}

.xmez-product-dots {
    display: none;
}

.xmez-product-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #bdb8b4;
    cursor: pointer;
    transition:
        transform .16s ease,
        background-color .16s ease;
}

.xmez-product-dot.is-active {
    background: #3a3634;
    transform: scale(1.18);
}

/*
 * Existing zoom visual stays in the top-right area.
 * A real zoom/fullscreen interaction can attach here later
 * without changing the gallery layout.
 */

.product-page-shell
.product-gallery[data-xmez-gallery-ready="1"]::before {
    top: 18px;
    right: 18px;
    left: auto;
}

@media (max-width: 1100px) and (min-width: 801px) {
    .xmez-product-gallery-shell {
        grid-template-columns: 70px minmax(0, 1fr);
        gap: 14px;
    }

    .xmez-product-thumbs {
        width: 70px;
        flex-basis: 70px;
    }

    .xmez-product-thumb {
        width: 70px;
        height: 90px;
        flex-basis: 90px;
    }
}

@media (max-width: 800px) {
    /* XMEZ MOBILE PRODUCT GALLERY FULL BLEED V1 */
    .product-page-shell .product-gallery {
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        overflow: visible;
    }

    .xmez-product-gallery-shell {
        display: block;
        width: 100%;
    }

    .xmez-product-thumbs {
        display: none;
    }

    .xmez-product-stage {
        width: 100%;
        overflow: hidden;
    }

    .xmez-product-track {
        width: 100%;
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .xmez-product-track::-webkit-scrollbar {
        display: none;
    }

    .xmez-product-slide,
    .xmez-product-slide.is-active {
        display: block;
        flex: 0 0 100%;
        min-width: 100%;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .product-page-shell
    .xmez-product-slide > img {
        width: 100%;
        aspect-ratio: 3 / 4;
        object-fit: cover;
        object-position: center top;
    }

    .product-page-shell
    .product-gallery img:not(:first-child) {
        display: block;
    }

    .xmez-product-dots {
        min-height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        padding: 13px 8px 7px;
    }

    .product-page-shell
    .product-gallery[data-xmez-gallery-ready="1"]::before {
        top: 14px;
        right: 14px;
        left: auto;
    }
}


/* XMEZ PHASE 30 STEP 3 PRODUCT IDENTITY */

.product-page-shell .product-detail-info::before {
    content: none;
    display: none;
}

.product-identity-block {
    margin: 0 0 22px;
    padding: 0;
}

.product-identity-topline {
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}

.product-page-shell
.product-identity-block
.product-category-link {
    margin: 0;
    color: #736c67;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.product-page-shell
.product-identity-block
.product-category-link::before {
    display: none;
}

.product-page-shell
.product-identity-block h1 {
    max-width: 650px;
    margin: 0;
    padding: 0;
    color: #282321;
    font-size: clamp(36px, 3.5vw, 54px);
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: -.038em;
}

.product-identity-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    margin-top: 15px;
    color: #908782;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.product-identity-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.product-identity-meta strong {
    color: #4b4542;
    font-weight: 650;
    letter-spacing: .035em;
}

.product-badge-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.product-badge-row[hidden] {
    display: none;
}

/*
 * Future production badges can reuse this class without
 * changing PDP layout CSS:
 * New / Bestseller / Sale / Limited Stock.
 */
.product-badge {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border: 1px solid #e2d9d4;
    border-radius: 999px;
    background: #faf7f5;
    color: #665d58;
    font-size: 10px;
    font-weight: 750;
    line-height: 1;
    letter-spacing: .07em;
    text-transform: uppercase;
}

@media (max-width: 800px) {
    .product-identity-block {
        margin-bottom: 18px;
    }

    .product-identity-topline {
        min-height: 0;
        margin-bottom: 9px;
    }

    .product-page-shell
    .product-identity-block h1 {
        margin: 0;
        padding: 0;
        font-size: clamp(28px, 8vw, 36px);
        line-height: 1.08;
    }

    .product-identity-meta {
        margin-top: 12px;
    }
}


/* XMEZ PHASE 30 STEP 4 RATING REVIEW SYSTEM */

.product-rating-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: -6px 0 18px;
    color: #6f6863;
    font-size: 12px;
    line-height: 1.4;
}

.product-rating-summary[hidden],
.product-reviews-panel[hidden] {
    display: none;
}

.product-rating-stars,
.product-review-score-stars,
.product-review-card-stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: #d8d2ce;
}

.product-rating-star,
.product-review-score-stars span,
.product-review-card-stars span {
    color: #d8d2ce;
}

.product-rating-star.is-filled,
.product-review-score-stars .is-filled,
.product-review-card-stars .is-filled {
    color: #c58a3c;
}

.product-rating-average {
    color: #2f2a28;
    font-size: 13px;
    font-weight: 700;
}

.product-review-count {
    color: #6f6863;
    text-decoration: underline;
    text-decoration-color: #c9c1bc;
    text-underline-offset: 3px;
}

.product-review-count:hover {
    color: #2f2a28;
}

.product-reviews-panel {
    margin-top: 38px;
    padding-top: 30px;
    border-top: 1px solid #e6dfda;
}

.product-reviews-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.product-reviews-heading span {
    display: block;
    margin-bottom: 5px;
    color: #8b7162;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.product-reviews-heading h2 {
    margin: 0;
    color: #2f2926;
    font-size: 24px;
    font-weight: 550;
    letter-spacing: -.025em;
}

.product-write-review {
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid #d8d0ca;
    border-radius: 4px;
    background: #fff;
    color: #342f2c;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
}

.product-write-review[hidden] {
    display: none;
}

.product-review-overview {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 34px;
    padding: 24px;
    border: 1px solid #ece5e1;
    border-radius: 6px;
    background: #fbf9f7;
}

.product-review-score {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 7px;
}

.product-review-score > strong {
    color: #2e2926;
    font-size: 42px;
    font-weight: 550;
    line-height: 1;
    letter-spacing: -.04em;
}

.product-review-score > span {
    color: #847c77;
    font-size: 11px;
}

.product-rating-breakdown {
    display: grid;
    gap: 9px;
}

.product-rating-breakdown-row {
    display: grid;
    grid-template-columns:
        35px
        minmax(80px, 1fr)
        28px;
    align-items: center;
    gap: 10px;
    color: #756d68;
    font-size: 11px;
}

.product-rating-breakdown-row > strong {
    color: #5a534f;
    font-size: 11px;
    font-weight: 650;
    text-align: right;
}

.product-rating-breakdown-track {
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: #e7e1dd;
}

.product-rating-breakdown-track > span {
    height: 100%;
    display: block;
    border-radius: inherit;
    background: #c58a3c;
}

.product-review-list {
    display: grid;
    gap: 0;
    margin-top: 26px;
}

.product-review-card {
    padding: 24px 0;
    border-top: 1px solid #eee7e3;
}

.product-review-card:first-child {
    border-top: 0;
}

.product-review-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.product-review-card-head > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.product-review-card-head strong {
    color: #342e2b;
    font-size: 13px;
}

.product-review-verified {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #edf4ea;
    color: #587052;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.product-review-date {
    color: #9a918c;
    font-size: 11px;
}

.product-review-card-stars {
    margin-top: 10px;
}

.product-review-card h3 {
    margin: 12px 0 6px;
    color: #302a27;
    font-size: 15px;
    font-weight: 650;
}

.product-review-card p {
    margin: 0;
    color: #6c645f;
    font-size: 13px;
    line-height: 1.7;
}

@media (max-width: 800px) {
    .product-rating-summary {
        margin-top: -4px;
        margin-bottom: 16px;
    }

    .product-reviews-panel {
        margin-top: 30px;
        padding-top: 24px;
    }

    .product-reviews-heading {
        align-items: flex-start;
    }

    .product-review-overview {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 19px;
    }

    .product-review-score {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
    }

    .product-review-score > strong {
        font-size: 36px;
    }
}

@media (max-width: 480px) {
    .product-reviews-heading {
        display: block;
    }

    .product-write-review {
        width: 100%;
        margin-top: 14px;
    }

    .product-review-card-head {
        display: block;
    }

    .product-review-date {
        display: block;
        margin-top: 5px;
    }

    .product-rating-breakdown-row {
        grid-template-columns:
            32px
            minmax(60px, 1fr)
            24px;
        gap: 8px;
    }
}


/* XMEZ PHASE 30 STEP 5 PRODUCT PRICING */

.product-pricing-block {
    margin: 0 0 24px;
    padding: 0 0 22px;
    border-bottom: 1px solid #e8e1dc;
}

.product-page-shell
.product-pricing-block
.product-detail-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px 12px;
    margin: 0;
}

.product-selling-price {
    color: #292421;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.product-page-shell
.product-pricing-block
.product-mrp {
    margin: 0;
    color: #99908a;
    font-size: 15px;
    font-weight: 400;
}

.product-discount-badge {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    border-radius: 4px;
    background: #fbeaec;
    color: #b7243c;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.product-pricing-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 14px;
    margin-top: 9px;
    color: #857d78;
    font-size: 11px;
    line-height: 1.5;
}

.product-tax-note {
    color: #857d78;
}

.product-saving-note {
    color: #587052;
    font-weight: 650;
}

.product-offer-slot {
    margin-top: 14px;
}

.product-offer-slot[hidden] {
    display: none;
}

/*
 * Future coupons / bank offers / promotions can render inside
 * data-product-offers without another PDP layout rewrite.
 */
.product-offer-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 13px;
    border: 1px solid #eadfd9;
    border-radius: 5px;
    background: #fcf9f7;
    color: #625a55;
    font-size: 12px;
    line-height: 1.5;
}

.product-offer-card strong {
    color: #342f2c;
}

@media (max-width: 800px) {
    .product-pricing-block {
        margin-bottom: 20px;
        padding-bottom: 19px;
    }

    .product-selling-price {
        font-size: 22px;
    }

    .product-discount-badge {
        min-height: 24px;
    }
}


/* XMEZ PHASE 30 STEP 6 PURCHASE CONTROLS */

.product-page-shell .product-variants-public {
    margin: 24px 0 0;
    padding-top: 22px;
    border-top: 1px solid #e8e1dc;
}

.product-page-shell .product-variants-public h2 {
    margin: 0 0 14px;
    color: #3d3733;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.3;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.product-page-shell .product-variant-options {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.product-page-shell button.product-variant-chip {
    min-height: 42px;
    margin: 0;
    padding: 9px 14px;
    border: 1px solid #d9d1cc;
    border-radius: 5px;
    background: #fff;
    color: #3e3835;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    cursor: pointer;
    transition:
        border-color .16s ease,
        background-color .16s ease,
        color .16s ease,
        box-shadow .16s ease;
}

.product-page-shell button.product-variant-chip:hover {
    border-color: #aaa09a;
}

.product-page-shell
button.product-variant-chip.is-selected {
    border-color: var(--xmez-brand);
    background: var(--xmez-brand);
    color: #fff;
    box-shadow:
        0 0 0 1px
        color-mix(
            in srgb,
            var(--xmez-brand) 16%,
            transparent
        );
    outline: 0;
}

.product-page-shell
button.product-variant-chip.is-unavailable {
    border-color: #ded8d4;
    background:
        linear-gradient(
            to top right,
            transparent calc(50% - .5px),
            #cbc3be 50%,
            transparent calc(50% + .5px)
        ),
        #f7f5f3;
    color: #a39a95;
    cursor: not-allowed;
    opacity: .72;
}

.product-page-shell .product-variant-selection {
    margin-top: 11px;
    color: #827a75;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.55;
}

.product-page-shell .product-cart-form {
    margin-top: 24px;
    margin-bottom: 30px;
    padding-top: 23px;
    border: 0;
}

.product-page-shell .product-commerce-actions {
    display: grid;
    grid-template-columns:
        180px
        minmax(0, 1fr);
    gap: 10px;
    align-items: end;
}

.product-page-shell .product-quantity-field {
    grid-column: 1;
    display: grid;
    gap: 8px;
}

.product-page-shell .product-quantity-field > label {
    color: #625a56;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.product-page-shell .product-qty-stepper {
    width: 180px;
    height: 54px;
    display: grid;
    grid-template-columns:
        50px
        minmax(54px, 1fr)
        50px;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #d8d0cb;
    border-radius: 4px;
    background: #fff;
}

.product-page-shell .product-qty-button {
    min-width: 0;
    padding: 0;
    border: 0;
    background: #fff;
    color: #322d2a;
    font-size: 23px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}

.product-page-shell .product-qty-button:hover {
    background: #f7f4f2;
}

.product-page-shell .product-quantity-input {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0 4px;
    border: 0;
    border-radius: 0;
    outline: 0;
    background: #fff;
    color: #332e2b;
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.product-page-shell
.product-quantity-input::-webkit-outer-spin-button,
.product-page-shell
.product-quantity-input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.product-page-shell .product-quantity-input:focus {
    outline: 0;
    box-shadow: none;
}

.product-page-shell .product-qty-button:focus-visible {
    outline: 1px solid var(--xmez-brand);
    outline-offset: -2px;
}

.product-page-shell .product-qty-button:disabled {
    cursor: not-allowed;
    color: #b7b0ab;
    background: #faf8f7;
}

.product-page-shell .product-cart-button,
.product-page-shell .product-buy-button {
    min-height: 54px;
    margin: 0;
    border-width: 1px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition:
        background-color .16s ease,
        border-color .16s ease,
        color .16s ease,
        opacity .16s ease;
}

.product-page-shell .product-cart-button {
    grid-column: 2;
    background: var(--xmez-brand);
    border-color: var(--xmez-brand);
    color: #fff;
}

.product-page-shell .product-cart-button:hover,
.product-page-shell .product-cart-button:focus-visible {
    background: var(--xmez-brand-hover);
    border-color: var(--xmez-brand-hover);
    color: #fff;
    transform: none;
}

.product-page-shell .product-buy-button {
    grid-column: 1 / -1;
    width: 100%;
    background: #fff;
    border-color: var(--xmez-brand);
    color: var(--xmez-brand);
}

.product-page-shell .product-buy-button:hover,
.product-page-shell .product-buy-button:focus-visible {
    background: var(--xmez-brand-soft);
    border-color: var(--xmez-brand);
    color: var(--xmez-brand);
    transform: none;
}

.product-page-shell .product-cart-button:disabled,
.product-page-shell .product-buy-button:disabled,
.product-page-shell .product-quantity-input:disabled {
    cursor: not-allowed;
    opacity: .48;
}

.product-page-shell
.product-quantity-input:disabled {
    background: #faf8f7;
}

.product-page-shell .product-cart-form::after {
    content:
        "Secure checkout • Cash on Delivery • India & Nepal";
    display: block;
    margin-top: 13px;
    color: #827a75;
    font-size: 10px;
    line-height: 1.55;
    letter-spacing: .025em;
}

@media (max-width: 800px) {
    .product-page-shell .product-variants-public {
        margin-top: 20px;
        padding-top: 19px;
    }

    .product-page-shell button.product-variant-chip {
        min-height: 41px;
        padding: 8px 12px;
    }

    .product-page-shell .product-cart-form {
        margin-top: 21px;
        padding-top: 20px;
    }

    .product-page-shell .product-commerce-actions {
        grid-template-columns:
            164px
            minmax(0, 1fr);
        gap: 9px;
    }

    .product-page-shell .product-qty-stepper,
    .product-page-shell .product-cart-button,
    .product-page-shell .product-buy-button {
        min-height: 52px;
    }

    .product-page-shell .product-qty-stepper {
        width: 164px;
        height: 52px;
        grid-template-columns:
            46px
            minmax(52px, 1fr)
            46px;
    }
}

@media (max-width: 480px) {
    .product-page-shell .product-commerce-actions {
        grid-template-columns: 1fr;
    }

    .product-page-shell .product-quantity-field,
    .product-page-shell .product-cart-button,
    .product-page-shell .product-buy-button {
        grid-column: 1;
    }

    .product-page-shell .product-qty-stepper {
        width: 180px;
        max-width: 100%;
    }
}


/* XMEZ PHASE 30 STEP 7 TRUST DETAILS SYSTEM */

.product-short-description {
    max-width: 610px;
    margin: 0 0 21px;
    color: #655e59;
    font-size: 14px;
    line-height: 1.75;
}

.product-material-stock {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 24px;
    margin: 0 0 22px;
    padding: 17px 0;
    border: 0;
}

.product-material-item {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 180px;
}

.product-meta-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f6f2ef;
    color: #766d67;
    font-size: 16px;
}

.product-material-item > div {
    display: grid;
    gap: 3px;
}

.product-material-item > div > span {
    color: #8b827d;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.product-material-item strong {
    color: #3c3632;
    font-size: 13px;
    font-weight: 650;
}

.product-page-shell .product-stock-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #4f7756;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: none;
}

.product-stock-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: currentColor;
}

.product-page-shell
.product-stock-status.is-out-of-stock {
    background: transparent;
    color: #a45c58;
    opacity: 1;
}

.product-trust-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 0 24px;
    border-top: 1px solid #eee7e3;
    border-bottom: 1px solid #eee7e3;
}

.product-trust-item {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 13px;
    border-left: 1px solid #eee7e3;
}

.product-trust-item:first-child {
    border-left: 0;
}

.product-trust-icon {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ded5d0;
    border-radius: 50%;
    color: #625a55;
    font-size: 13px;
    font-weight: 700;
}

.product-trust-item > div {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.product-trust-item strong {
    color: #3c3632;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.3;
}

.product-trust-item span:last-child {
    color: #8b827d;
    font-size: 9px;
    line-height: 1.35;
}

.product-information-accordions {
    margin-top: 31px;
    border-top: 1px solid #e8e1dc;
}

.product-info-accordion {
    border-bottom: 1px solid #e8e1dc;
}

.product-info-accordion[hidden] {
    display: none;
}

.product-info-accordion summary {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 2px;
    color: #3b3532;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .075em;
    text-transform: uppercase;
    cursor: pointer;
    list-style: none;
}

.product-info-accordion summary::-webkit-details-marker {
    display: none;
}

.product-accordion-indicator {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    position: relative;
}

.product-accordion-indicator::before,
.product-accordion-indicator::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: #6e6661;
    transform: translate(-50%, -50%);
}

.product-accordion-indicator::before {
    width: 12px;
    height: 1px;
}

.product-accordion-indicator::after {
    width: 1px;
    height: 12px;
    transition: transform .16s ease;
}

.product-info-accordion[open]
.product-accordion-indicator::after {
    transform:
        translate(-50%, -50%)
        rotate(90deg);
}

.product-info-accordion-body {
    padding: 0 2px 20px;
    color: #6a625d;
    font-size: 13px;
    line-height: 1.75;
}

@media (max-width: 800px) {
    .product-short-description {
        margin-bottom: 18px;
        font-size: 13px;
    }

    .product-material-stock {
        gap: 13px 20px;
        margin-bottom: 20px;
        padding: 15px 0;
    }

    .product-trust-strip {
        grid-template-columns: 1fr;
        margin-bottom: 21px;
    }

    .product-trust-item {
        padding: 12px 5px;
        border-left: 0;
        border-top: 1px solid #eee7e3;
    }

    .product-trust-item:first-child {
        border-top: 0;
    }

    .product-information-accordions {
        margin-top: 27px;
    }
}

/* XMEZ PHASE 30 STEP 8 FINAL PDP CLEANUP */


/* XMEZ COMPACT SIZE SELECTOR */

.product-variant-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.product-page-shell
.product-variant-heading h2 {
    margin: 0;
}

.product-size-guide-trigger {
    padding: 0;
    border: 0;
    background: transparent;
    color: #332e2b;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.product-size-guide-trigger[hidden] {
    display: none;
}

.product-page-shell .product-variant-options {
    gap: 10px;
}

.product-page-shell
button.product-variant-chip {
    width: auto;
    min-width: 52px;
    min-height: 44px;
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 0;
    font-size: 13px;
    font-weight: 650;
    line-height: 1;
}

.product-page-shell
button.product-variant-chip.is-unavailable {
    background: #fff;
    color: #8e8782;
    opacity: 1;
}

.product-page-shell
button.product-variant-chip.is-unavailable::after {
    content: "";
    width: 140%;
    height: 1px;
    position: absolute;
    left: -20%;
    top: 50%;
    background: #7f7772;
    transform: rotate(-28deg);
    transform-origin: center;
    pointer-events: none;
}

.product-page-shell
button.product-variant-chip.is-selected {
    border-color: var(--xmez-brand);
    background: var(--xmez-brand);
    color: #fff;
}

.product-color-summary {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-top: 17px;
    color: #4a433f;
}

.product-color-summary span {
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.product-color-summary strong {
    font-size: 13px;
    font-weight: 600;
}

.product-page-shell
.product-variant-selection {
    margin-top: 13px;
}

.product-cart-form[hidden] {
    display: none;
}

@media (max-width: 800px) {
    .product-page-shell
    button.product-variant-chip {
        min-width: 48px;
        min-height: 42px;
        padding: 7px 10px;
    }
}

/* XMEZ QUANTITY MINUS PLUS STEPPER */

/* XMEZ CATALOG LISTING EXPERIENCE */

.catalog-page {
    width: min(1760px, calc(100% - 72px));
    margin: 52px auto 80px;
}

.catalog-heading {
    margin-bottom: 38px;
    text-align: center;
}

.catalog-heading h1 {
    margin: 0;
    color: #231f20;
    font-size: clamp(28px, 2.3vw, 40px);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.catalog-heading p {
    max-width: 720px;
    margin: 15px auto 0;
    color: #77706d;
    font-size: 13px;
    line-height: 1.7;
}

.catalog-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 62px;
    align-items: start;
}

.catalog-filters {
    min-width: 0;
}

.catalog-filter-mobile-head {
    display: none;
}

.catalog-filter-form details {
    border-bottom: 1px solid #dfdcda;
}

.catalog-filter-form summary {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    color: #403b39;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    cursor: pointer;
}

.catalog-filter-form summary::-webkit-details-marker {
    display: none;
}

.catalog-filter-form summary::after {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    margin-left: 12px;
    border-right: 1.5px solid #4a4542;
    border-bottom: 1.5px solid #4a4542;
    transform: rotate(45deg) translateY(-2px);
    transform-origin: center;
    transition: transform .16s ease;
}

.catalog-filter-form details[open] summary::after {
    transform: rotate(225deg) translate(-1px, -1px);
}

.catalog-filter-options,
.catalog-color-filter {
    display: grid;
    gap: 11px;
    max-height: 260px;
    padding: 0 0 22px;
    overflow: auto;
}

.catalog-filter-options label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #625c58;
    font-size: 12px;
    cursor: pointer;
}

.catalog-filter-options input {
    accent-color: var(--xmez-brand);
}

.catalog-price-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding: 0 0 22px;
}

.catalog-price-fields label {
    display: grid;
    gap: 6px;
    color: #817a76;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.catalog-price-fields input {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid #ddd8d4;
    border-radius: 0;
    background: #fff;
    font: inherit;
}

.catalog-size-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 0 22px;
}

.catalog-size-filter label {
    position: relative;
}

.catalog-size-filter input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.catalog-size-filter span {
    min-width: 42px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border: 1px solid #ddd7d3;
    background: #fff;
    color: #48423f;
    font-size: 11px;
    cursor: pointer;
}

.catalog-size-filter input:checked + span {
    border-color: var(--xmez-brand);
    color: var(--xmez-brand);
}

.catalog-filter-actions {
    display: grid;
    gap: 9px;
    padding-top: 22px;
}

.catalog-apply-filter,
.catalog-clear-filter {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--xmez-brand);
    border-radius: 0;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}

.catalog-apply-filter {
    background: var(--xmez-brand);
    color: #fff;
    cursor: pointer;
}

.catalog-clear-filter {
    background: #fff;
    color: var(--xmez-brand);
}

.catalog-results {
    min-width: 0;
}

.catalog-desktop-controls {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
    color: #8a8380;
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.catalog-desktop-controls label {
    display: flex;
    align-items: center;
    gap: 12px;
}

.catalog-desktop-controls select {
    min-height: 38px;
    padding: 0 34px 0 12px;
    border: 1px solid #dedad7;
    border-radius: 0;
    background: #fff;
    color: #4a4441;
    font: inherit;
}

.catalog-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 36px 18px;
}

.catalog-card {
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
}

.catalog-card:hover {
    transform: none;
    box-shadow: none;
}

.catalog-card .product-image {
    border-radius: 0;
}

.catalog-card .product-body {
    padding: 14px 4px 0;
}

.catalog-card .product-name {
    min-height: 42px;
    display: -webkit-box;
    overflow: hidden;
    color: #3a3533;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.65;
    letter-spacing: .045em;
    text-align: left;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.catalog-product-price {
    margin-top: 8px;
    color: var(--xmez-brand);
    font-size: 13px;
    font-weight: 650;
}

.catalog-product-price del {
    color: #9d9692;
    font-size: 11px;
}

.catalog-sale-badge {
    top: 10px;
    left: 10px;
    min-height: 24px;
    padding: 5px 8px;
    background: var(--xmez-brand);
    color: #fff;
    font-size: 9px;
    letter-spacing: .08em;
}


.catalog-card-sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 11px;
}

.catalog-card-sizes span {
    min-width: 34px;
    min-height: 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 7px;
    border: 1px solid #d8d2ce;
    color: #4a4542;
    font-size: 9px;
    font-weight: 650;
    line-height: 1;
}

.catalog-mobile-toolbar,
.catalog-filter-backdrop {
    display: none;
}

@media (max-width: 1280px) {
    .catalog-page {
        width: calc(100% - 44px);
    }

    .catalog-layout {
        grid-template-columns: 240px minmax(0, 1fr);
        gap: 34px;
    }

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

@media (max-width: 800px) {
    body.catalog-filter-open {
        overflow: hidden;
    }

    .catalog-page {
        width: 100%;
        margin: 18px auto 50px;
    }

    .catalog-heading {
        padding: 0 18px;
        margin-bottom: 20px;
    }

    .catalog-heading h1 {
        font-size: 20px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: .15em;
    }

    .catalog-heading p {
        display: none;
    }

    .catalog-mobile-toolbar {
        min-height: 48px;
        display: grid;
        grid-template-columns: 1fr 1.35fr 72px;
        border-top: 1px solid #e5e1de;
        border-bottom: 1px solid #e5e1de;
        background: #fff;
    }

    .catalog-mobile-filter-trigger {
        border: 0;
        border-right: 1px solid #e5e1de;
        background: #fff;
        color: #8b8480;
        font-size: 9px;
        font-weight: 600;
        letter-spacing: .14em;
        text-transform: uppercase;
        cursor: pointer;
    }

    .catalog-mobile-sort {
        min-width: 0;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        border-right: 1px solid #e5e1de;
        color: #8b8480;
        font-size: 9px;
        font-weight: 600;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .catalog-mobile-sort > span {
        pointer-events: none;
    }

    .catalog-mobile-sort select {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
    }

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

    .catalog-grid-toggle button {
        display: grid;
        place-content: center;
        gap: 3px;
        padding: 0;
        border: 0;
        background: #fff;
        cursor: pointer;
    }

    .catalog-grid-toggle button:first-child {
        grid-template-columns: repeat(2, 6px);
    }

    .catalog-grid-toggle button:last-child {
        grid-template-columns: 13px;
    }

    .catalog-grid-toggle span {
        width: 6px;
        height: 6px;
        display: block;
        background: #aaa6a3;
    }

    .catalog-grid-toggle button:last-child span {
        width: 13px;
        height: 6px;
    }

    .catalog-grid-toggle button.is-active span {
        background: #302d2b;
    }

    .catalog-layout {
        display: block;
    }

    .catalog-results {
        width: 100%;
    }

    .catalog-desktop-controls {
        display: none;
    }

    .catalog-filters {
        width: min(360px, 88vw);
        height: 100dvh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1002;
        padding: 0 20px 30px;
        overflow-y: auto;
        background: #fff;
        transform: translateX(-105%);
        transition: transform .22s ease;
    }

    .catalog-filters.is-open {
        transform: translateX(0);
    }

    .catalog-filter-mobile-head {
        min-height: 64px;
        display: flex;
        position: sticky;
        top: 0;
        z-index: 2;
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid #e5e1de;
        background: #fff;
    }

    .catalog-filter-mobile-head strong {
        font-size: 13px;
        font-weight: 650;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .catalog-filter-mobile-head button {
        width: 42px;
        height: 42px;
        border: 0;
        background: transparent;
        color: #4d4744;
        font-size: 27px;
        cursor: pointer;
    }

    .catalog-price-fields {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);
        gap: 0;
    }

    .catalog-price-fields label {
        min-width: 0;
    }

    .catalog-price-fields label + label {
        border-left: 1px solid #e4dfdc;
    }

    .catalog-price-fields input {
        min-width: 0;
        width: 100%;
        padding: 8px 9px;
        border-color: #e4dfdc;
    }

    .catalog-price-fields input[name="max_price"] {
        width: calc(100% - 10px);
        justify-self: start;
    }

    .catalog-filter-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1001;
        background: rgba(0, 0, 0, .28);
    }

    .catalog-filter-backdrop:not([hidden]) {
        display: block;
    }

    .catalog-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 4px;
        padding: 12px 4px 0;
    }

    .catalog-product-grid.is-single-column {
        grid-template-columns: 1fr;
        padding-right: 10px;
        padding-left: 10px;
    }

    .catalog-card .product-image {
        aspect-ratio: 4 / 5.2;
    }

    .catalog-card .product-body {
        padding: 8px 6px 0;
    }

    .catalog-card .product-name {
        min-height: 34px;
        font-size: 9.5px;
        line-height: 1.48;
        letter-spacing: .045em;
    }

    .catalog-product-price {
        gap: 5px;
        margin-top: 5px;
        font-size: 10.5px;
    }

    .catalog-product-price del {
        font-size: 8.5px;
    }

    .catalog-sale-badge {
        top: 6px;
        left: 6px;
        min-height: 19px;
        padding: 3px 6px;
        font-size: 7.5px;
        letter-spacing: .065em;
    }


    .catalog-card-sizes {
        flex-wrap: nowrap;
        gap: 4px;
        margin-top: 8px;
        overflow: hidden;
    }

    .catalog-card-sizes span {
        min-width: 27px;
        min-height: 24px;
        padding: 4px;
        font-size: 7.5px;
    }

    .catalog-card .product-stock-badge {
        display: none;
    }
}

@media (max-width: 390px) {
    .catalog-product-grid {
        gap-right: 3px;
        gap-left: 3px;
    }

    .catalog-card-sizes {
        gap: 3px;
    }

    .catalog-card-sizes span {
        min-width: 26px;
        padding-right: 4px;
        padding-left: 4px;
        font-size: 7px;
    }
}

/* XMEZ MOBILE UPLOADED HERO - SHOW FULL IMAGE */
@media (max-width: 800px) {
    .hero-card-uploaded,
    .hero-card-uploaded:first-child {
        min-height: 0;
        background: transparent;
    }

    .hero-card-uploaded img,
    .hero-card-uploaded:first-child img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: contain;
        object-position: center top;
    }

    .hero-card-uploaded:hover img {
        transform: none;
    }
}

/* XMEZ DESKTOP UPLOADED HERO - SHOW FULL IMAGE WITHOUT HEAD CROP */
@media (min-width: 801px) {
    .hero-card-uploaded {
        min-height: 0;
        background: transparent;
    }

    .hero-card-uploaded:first-child {
        min-height: 0;
    }

    .hero-card-uploaded img,
    .hero-card-uploaded:first-child img {
        width: 100%;
        height: auto;
        object-fit: contain;
        object-position: center top;
    }
}

/* XMEZ HOMEPAGE INFINITE PRODUCT FEED */
.home-feed-card.is-pending,
.home-feed-card.is-visible {
    opacity: 1;
    transform: none;
    animation: none;
}

@keyframes xmez-home-product-reveal {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.home-product-feed-sentinel {
    width: 100%;
    height: 2px;
    margin-top: 20px;
}

.home-product-feed-sentinel.is-loading {
    height: 38px;
}

.home-product-feed-sentinel.is-loading::after {
    content: "";
    width: 22px;
    height: 22px;
    display: block;
    margin: 8px auto;
    border: 2px solid #e4ded9;
    border-top-color: #6f625b;
    border-radius: 50%;
    animation:
        xmez-home-feed-spin
        .7s
        linear
        infinite;
}

.home-product-feed-status {
    min-height: 18px;
    margin-top: 40px;
    color: #8a817c;
    font-size: 11px;
    text-align: center;
}

@keyframes xmez-home-feed-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-feed-card.is-pending,
    .home-feed-card.is-visible {
        opacity: 1;
        transform: none;
        animation: none;
    }

    .home-product-feed-sentinel.is-loading::after {
        animation: none;
    }
}

/* XMEZ HOMEPAGE UNIVERSAL VIEWPORT CARD REVEAL */
.home-viewport-reveal.is-pending {
    opacity: 0;
    transform: translateY(26px);
}

.home-viewport-reveal.is-visible {
    animation:
        xmez-home-card-viewport-reveal
        .52s
        cubic-bezier(.2, .7, .25, 1)
        both;
}

@keyframes xmez-home-card-viewport-reveal {
    from {
        opacity: 0;
        transform: translateY(26px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-viewport-reveal.is-pending,
    .home-viewport-reveal.is-visible {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

/* XMEZ PROFESSIONAL CUSTOMER ACCOUNT V1 */

.customer-account-page {
    width: min(1180px, calc(100% - 40px));
    margin: 48px auto 90px;
}

.customer-account-shell {
    display: grid;
    gap: 22px;
}

.customer-account-hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid #e6dfda;
    background: #fff;
}

.customer-account-avatar {
    width: 74px;
    height: 74px;
    display: grid;
    place-items: center;
    flex: 0 0 74px;
    border-radius: 50%;
    background: #1d1916;
    color: #fff;
    font-size: 28px;
    font-weight: 700;
}

.customer-account-identity {
    min-width: 0;
}

.customer-account-kicker,
.customer-account-section-kicker {
    display: block;
    margin-bottom: 7px;
    color: #887d76;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.customer-account-identity h1 {
    margin: 0;
    color: #1d1916;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.customer-account-email {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 10px;
    color: #746a64;
    font-size: 13px;
}

.customer-account-verified {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border: 1px solid #dfe8df;
    border-radius: 999px;
    background: #f6faf6;
    color: #466347;
    font-size: 10px;
    font-weight: 800;
}

.customer-account-order-stat {
    min-width: 100px;
    padding-left: 26px;
    border-left: 1px solid #e9e2dd;
    text-align: center;
}

.customer-account-order-stat strong {
    display: block;
    color: #1d1916;
    font-size: 32px;
    line-height: 1;
}

.customer-account-order-stat span {
    display: block;
    margin-top: 7px;
    color: #827870;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.customer-account-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
    gap: 22px;
    align-items: start;
}

.customer-account-side {
    display: grid;
    gap: 22px;
}

.customer-account-panel {
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid #e6dfda;
    background: #fff;
}

.customer-account-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.customer-account-panel-head h2 {
    margin: 0;
    color: #1d1916;
    font-size: 22px;
    letter-spacing: -.025em;
}

.customer-account-panel-head > a {
    flex: 0 0 auto;
    color: #3b332e;
    font-size: 11px;
    font-weight: 800;
    text-underline-offset: 4px;
}

.customer-account-order-list {
    display: grid;
}

.customer-account-order {
    padding: 18px 0;
    border-top: 1px solid #eee7e2;
}

.customer-account-order:first-child {
    padding-top: 0;
    border-top: 0;
}

.customer-account-order:last-child {
    padding-bottom: 0;
}

.customer-account-order > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.customer-account-order > div > span {
    color: #26201d;
    font-size: 14px;
    font-weight: 750;
}

.customer-account-order > div > strong {
    color: #746a63;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.customer-account-order p {
    margin: 8px 0;
    color: #81766f;
    font-size: 12px;
}

.customer-account-order > a {
    color: #29221f;
    font-size: 11px;
    font-weight: 800;
    text-underline-offset: 4px;
}

.customer-account-details {
    display: grid;
    gap: 17px;
    margin: 0;
}

.customer-account-details > div {
    display: grid;
    gap: 4px;
}

.customer-account-details dt {
    color: #928780;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.customer-account-details dd {
    margin: 0;
    color: #3a322e;
    font-size: 13px;
    line-height: 1.65;
}

.customer-account-note {
    margin: 20px 0 0;
    padding-top: 17px;
    border-top: 1px solid #eee7e2;
    color: #8a8079;
    font-size: 11px;
    line-height: 1.6;
}

.customer-account-empty {
    padding: 30px 0 10px;
    text-align: center;
}

.customer-account-empty.is-compact {
    padding: 6px 0;
    text-align: left;
}

.customer-account-empty strong {
    color: #302925;
    font-size: 15px;
}

.customer-account-empty p {
    margin: 8px 0 18px;
    color: #81776f;
    font-size: 12px;
    line-height: 1.65;
}

.customer-account-primary-link {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    background: #1d1916;
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
}

.customer-account-security {
    display: flex;
    align-items: center;
    gap: 13px;
}

.customer-account-google-mark {
    width: 40px;
    height: 40px;
    display: grid;
    flex: 0 0 40px;
    place-items: center;
    border: 1px solid #e2ddd9;
    border-radius: 50%;
    background: #fff;
    color: #4285f4;
    font-size: 17px;
    font-weight: 800;
}

.customer-account-security > div:last-child {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.customer-account-security strong {
    color: #2e2723;
    font-size: 13px;
}

.customer-account-security span {
    overflow: hidden;
    color: #81766f;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.customer-account-logout {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #eee7e2;
}

.customer-account-logout button {
    width: 100%;
    min-height: 44px;
    border: 1px solid #d9d0ca;
    background: #fff;
    color: #4c403a;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    transition:
        border-color .18s ease,
        background-color .18s ease;
}

.customer-account-logout button:hover,
.customer-account-logout button:focus-visible {
    border-color: #95877f;
    background: #faf8f6;
}

@media (max-width: 820px) {
    .customer-account-page {
        width: calc(100% - 24px);
        margin: 28px auto 64px;
    }

    .customer-account-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .customer-account-page {
        width: calc(100% - 20px);
        margin-top: 20px;
    }

    .customer-account-hero {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 16px;
        padding: 22px 18px;
    }

    .customer-account-avatar {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
        font-size: 22px;
    }

    .customer-account-identity h1 {
        font-size: 29px;
    }

    .customer-account-order-stat {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-width: 0;
        padding: 15px 0 0;
        border-top: 1px solid #e9e2dd;
        border-left: 0;
        text-align: left;
    }

    .customer-account-order-stat strong {
        font-size: 24px;
    }

    .customer-account-order-stat span {
        margin: 0;
    }

    .customer-account-panel {
        padding: 21px 18px;
    }

    .customer-account-panel-head {
        gap: 12px;
    }

    .customer-account-order > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}

/* XMEZ CUSTOMER ACCOUNT PROFILE EDIT V1 */

.customer-account-edit {
    margin-top: 22px;
    border-top: 1px solid #eee7e2;
}

.customer-account-edit > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 0 0;
    color: #302925;
    cursor: pointer;
    list-style: none;
    font-size: 12px;
    font-weight: 800;
}

.customer-account-edit > summary::-webkit-details-marker {
    display: none;
}

.customer-account-edit > summary > span:last-child {
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    transition: transform .18s ease;
}

.customer-account-edit[open] > summary > span:last-child {
    transform: rotate(45deg);
}

.customer-account-message {
    margin: 18px 0 0;
    padding: 12px 14px;
    border: 1px solid;
    font-size: 12px;
    line-height: 1.55;
}

.customer-account-message.is-success {
    border-color: #cfe2d0;
    background: #f6faf6;
    color: #3f6343;
}

.customer-account-message.is-error {
    border-color: #ead2d2;
    background: #fff8f8;
    color: #8a4444;
}

.customer-account-edit-form {
    display: grid;
    gap: 15px;
    margin-top: 18px;
}

.customer-account-field {
    display: grid;
    gap: 7px;
}

.customer-account-field > span {
    color: #625852;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.customer-account-field input,
.customer-account-field select {
    width: 100%;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid #d9d1cb;
    border-radius: 0;
    background: #fff;
    color: #27211e;
    font: inherit;
    font-size: 13px;
    outline: none;
    transition:
        border-color .16s ease,
        box-shadow .16s ease;
}

.customer-account-field input:focus,
.customer-account-field select:focus {
    border-color: #81736b;
    box-shadow: 0 0 0 2px rgba(129, 115, 107, .10);
}

.customer-account-field input[readonly] {
    background: #f7f5f3;
    color: #81776f;
    cursor: default;
}

.customer-account-mobile-row {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 12px;
}

.customer-account-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.customer-account-save {
    min-height: 46px;
    border: 1px solid #1d1916;
    background: #1d1916;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    transition:
        background-color .18s ease,
        border-color .18s ease;
}

.customer-account-save:hover,
.customer-account-save:focus-visible {
    border-color: #3c332e;
    background: #3c332e;
}

@media (max-width: 560px) {
    .customer-account-mobile-row {
        grid-template-columns: 96px minmax(0, 1fr);
    }

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

/* XMEZ CUSTOMER ACCOUNT NAVIGATION V1 */

.customer-account-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #e6dfda;
    background: #fff;
}

.customer-account-nav a {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0 16px;
    border-left: 1px solid #eee7e2;
    color: #756a64;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
    transition:
        color .16s ease,
        background-color .16s ease;
}

.customer-account-nav a:first-child {
    border-left: 0;
}

.customer-account-nav a::after {
    content: "";
    width: 0;
    height: 2px;
    position: absolute;
    right: 50%;
    bottom: -1px;
    left: 50%;
    background: #1d1916;
    transition:
        width .18s ease,
        left .18s ease,
        right .18s ease;
}

.customer-account-nav a:hover,
.customer-account-nav a:focus-visible {
    background: #faf8f6;
    color: #1d1916;
}

.customer-account-nav a:hover::after,
.customer-account-nav a:focus-visible::after {
    width: 100%;
    right: 0;
    left: 0;
}

.customer-account-nav a:focus-visible {
    outline: 2px solid #81736b;
    outline-offset: -3px;
}

#account-overview,
#account-orders,
#account-delivery,
#account-security {
    scroll-margin-top: 24px;
}

@media (max-width: 620px) {
    .customer-account-nav {
        display: flex;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
    }

    .customer-account-nav::-webkit-scrollbar {
        display: none;
    }

    .customer-account-nav a {
        min-width: 118px;
        flex: 0 0 auto;
        padding: 0 18px;
        white-space: nowrap;
    }
}


/* XMEZ STOREWIDE SHARED PRODUCT CARD QUICK BUY */

.store-product-card-buy-now {
    width: 100%;
    min-height: 42px;
    margin-top: 12px;
    padding: 10px 14px;
    border: 1px solid var(--xmez-brand);
    border-radius: 0;
    background: #fff;
    color: var(--xmez-brand);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition:
        background .18s ease,
        color .18s ease,
        transform .18s ease;
}

.store-product-card-buy-now:hover,
.store-product-card-buy-now:focus-visible {
    border-color: var(--xmez-brand-hover);
    background: var(--xmez-brand-hover);
    color: #fff;
    transform: translateY(-1px);
}

.store-product-card-buy-now:disabled {
    border-color: #d8d2ce;
    background: #eeeae7;
    color: #9d9590;
    cursor: not-allowed;
    transform: none;
}

.store-quick-buy-overlay[hidden] {
    display: none;
}

.store-quick-buy-overlay {
    position: fixed;
    inset: 0;
    z-index: 2100;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(20, 17, 18, .52);
    overflow-y: auto;
}

.store-quick-buy-modal {
    width: min(460px, 100%);
    position: relative;
    padding: 38px 34px 32px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .20);
}

.store-quick-buy-close {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.store-quick-buy-close span {
    width: 23px;
    height: 1.5px;
    position: absolute;
    top: 50%;
    left: 50%;
    background: #292525;
}

.store-quick-buy-close span:first-child {
    transform: translate(-50%, -50%)
        rotate(45deg);
}

.store-quick-buy-close span:last-child {
    transform: translate(-50%, -50%)
        rotate(-45deg);
}

.store-quick-buy-kicker {
    display: block;
    margin-bottom: 7px;
    color: #8b817c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.store-quick-buy-modal h2 {
    margin: 0;
    color: #201c1a;
    font-size: clamp(25px, 5vw, 34px);
    line-height: 1.15;
    letter-spacing: -.035em;
}

.store-quick-buy-product {
    margin: 10px 0 22px;
    color: #746b67;
    font-size: 13px;
    line-height: 1.5;
}

.store-quick-buy-sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.store-quick-buy-size {
    min-width: 52px;
    min-height: 44px;
    padding: 9px 13px;
    border: 1px solid #d8d1cd;
    background: #fff;
    color: #2e2927;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.store-quick-buy-size:hover,
.store-quick-buy-size:focus-visible {
    border-color: #171310;
}

.store-quick-buy-size.is-selected {
    border-color: #171310;
    background: #171310;
    color: #fff;
}

.store-quick-buy-message {
    margin: 12px 0 0;
    color: #a33a42;
    font-size: 12px;
}

.store-quick-buy-continue {
    width: 100%;
    min-height: 50px;
    margin-top: 24px;
    padding: 12px 18px;
    border: 1px solid #171310;
    border-radius: 0;
    background: #171310;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.store-quick-buy-continue:disabled {
    border-color: #d8d2ce;
    background: #eeeae7;
    color: #9d9590;
    cursor: not-allowed;
}

html.store-quick-buy-open,
html.store-quick-buy-open body {
    overflow: hidden;
}

@media (max-width: 600px) {
    .store-product-card-buy-now {
        min-height: 40px;
        margin-top: 10px;
        padding: 9px 10px;
        font-size: 10px;
    }

    .store-quick-buy-overlay {
        align-items: end;
        padding: 12px;
    }

    .store-quick-buy-modal {
        width: 100%;
        max-height: calc(100vh - 24px);
        overflow-y: auto;
        padding: 34px 20px 22px;
        border-radius: 20px 20px 14px 14px;
    }

    .store-quick-buy-sizes {
        gap: 8px;
    }

    .store-quick-buy-size {
        min-width: 48px;
        min-height: 42px;
    }
}

/* XMEZ REAL GOOGLE SYMBOL V1 */

.checkout-google-logo svg,
.customer-account-google-mark svg {
    width: 18px;
    height: 18px;
    display: block;
    flex: 0 0 18px;
}

.customer-account-google-mark {
    color: inherit;
}

/* XMEZ DEDICATED ACCOUNT EDIT PAGE V1 */

.customer-account-edit-details-link {
    width: 100%;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 22px;
    padding: 0 18px;
    border: 1px solid #1d1916;
    background: #1d1916;
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .03em;
}

.customer-account-edit-details-link:hover,
.customer-account-edit-details-link:focus-visible {
    background: #3c332e;
    border-color: #3c332e;
}

.customer-account-edit-details-link:focus-visible {
    outline: 2px solid #81736b;
    outline-offset: 3px;
}

.customer-account-edit-page {
    width: min(820px, calc(100% - 40px));
    margin: 48px auto 90px;
}

.customer-account-edit-shell {
    display: grid;
    gap: 22px;
}

.customer-account-edit-header,
.customer-account-edit-card {
    border: 1px solid #e6dfda;
    background: #fff;
}

.customer-account-edit-header {
    padding: clamp(26px, 4vw, 40px);
}

.customer-account-edit-back {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    margin-bottom: 18px;
    color: #554b45;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.customer-account-edit-back:hover,
.customer-account-edit-back:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.customer-account-edit-back:focus-visible {
    outline: 2px solid #81736b;
    outline-offset: 3px;
}

.customer-account-edit-header h1 {
    margin: 0;
    color: #1d1916;
    font-size: clamp(32px, 5vw, 48px);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.customer-account-edit-header p {
    max-width: 620px;
    margin: 11px 0 0;
    color: #80756f;
    font-size: 13px;
    line-height: 1.7;
}

.customer-account-edit-page .customer-account-message {
    margin: 0;
}

.customer-account-edit-card {
    padding: clamp(22px, 4vw, 34px);
}

.customer-account-edit-page .customer-account-edit-form {
    margin-top: 0;
    gap: 26px;
}

.customer-account-edit-section {
    display: grid;
    gap: 15px;
}

.customer-account-edit-section + .customer-account-edit-section {
    padding-top: 26px;
    border-top: 1px solid #eee7e2;
}

.customer-account-edit-section-head {
    margin-bottom: 2px;
}

.customer-account-edit-section-head > span {
    display: block;
    margin-bottom: 6px;
    color: #928780;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.customer-account-edit-section-head h2 {
    margin: 0;
    color: #251f1c;
    font-size: 20px;
    letter-spacing: -.025em;
}

.customer-account-edit-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 24px;
    border-top: 1px solid #eee7e2;
}

.customer-account-edit-actions > a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    color: #554b45;
    font-size: 11px;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.customer-account-edit-actions .customer-account-save {
    min-width: 150px;
    padding: 0 22px;
}

.customer-account-edit-actions > a:focus-visible {
    outline: 2px solid #81736b;
    outline-offset: 2px;
}

@media (max-width: 560px) {
    .customer-account-edit-page {
        width: calc(100% - 20px);
        margin: 20px auto 64px;
    }

    .customer-account-edit-header,
    .customer-account-edit-card {
        padding: 22px 18px;
    }

    .customer-account-edit-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .customer-account-edit-actions > a,
    .customer-account-edit-actions .customer-account-save {
        width: 100%;
    }
}

@media (max-width: 380px) {
    .customer-account-edit-page {
        width: calc(100% - 16px);
    }

    .customer-account-edit-header,
    .customer-account-edit-card {
        padding-right: 15px;
        padding-left: 15px;
    }
}

/* XMEZ PRODUCT FULLSCREEN ZOOM VIEWER V1 */

.product-page-shell
.product-gallery::before {
    content: none;
    display: none;
}

.xmez-product-stage {
    position: relative;
}

.xmez-product-zoom-button {
    width: 46px;
    height: 46px;
    position: absolute;
    z-index: 5;
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(39, 34, 31, .15);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: #2b2623;
    box-shadow: 0 7px 22px rgba(0, 0, 0, .08);
    cursor: pointer;
    backdrop-filter: blur(8px);
    transition:
        transform .16s ease,
        background-color .16s ease,
        box-shadow .16s ease;
}

.xmez-product-zoom-button svg {
    width: 22px;
    height: 22px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.xmez-product-zoom-button:hover,
.xmez-product-zoom-button:focus-visible {
    background: #fff;
    box-shadow: 0 9px 28px rgba(0, 0, 0, .14);
    transform: scale(1.04);
}

.xmez-product-zoom-button:focus-visible {
    outline: 2px solid #81736b;
    outline-offset: 3px;
}

.xmez-product-viewer[hidden] {
    display: none;
}

.xmez-product-viewer {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: grid;
    place-items: center;
    opacity: 0;
    transition: opacity .18s ease;
}

.xmez-product-viewer.is-open {
    opacity: 1;
}

.xmez-product-viewer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(16, 14, 13, .93);
}

.xmez-product-viewer-shell {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 72px;
    grid-template-rows: minmax(0, 1fr) auto;
    align-items: center;
    padding: 72px 22px 26px;
}

.xmez-product-viewer-stage {
    min-width: 0;
    min-height: 0;
    height: 100%;
    display: grid;
    place-items: center;
}

.xmez-product-viewer-image {
    max-width: 100%;
    max-height: calc(100vh - 135px);
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}

.xmez-product-viewer-close {
    width: 48px;
    height: 48px;
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 18px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    background: rgba(255, 255, 255, .10);
    cursor: pointer;
}

.xmez-product-viewer-close span {
    width: 22px;
    height: 1.6px;
    position: absolute;
    top: 50%;
    left: 50%;
    background: #fff;
    transform-origin: center;
}

.xmez-product-viewer-close span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.xmez-product-viewer-close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.xmez-product-viewer-arrow {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    justify-self: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    background: rgba(255, 255, 255, .10);
    color: #fff;
    cursor: pointer;
}

.xmez-product-viewer-arrow svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.xmez-product-viewer-arrow:hover,
.xmez-product-viewer-arrow:focus-visible,
.xmez-product-viewer-close:hover,
.xmez-product-viewer-close:focus-visible {
    background: rgba(255, 255, 255, .18);
}

.xmez-product-viewer-arrow:focus-visible,
.xmez-product-viewer-close:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.xmez-product-viewer-counter {
    grid-column: 1 / -1;
    justify-self: center;
    min-width: 76px;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .10);
    color: #fff;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .08em;
    text-align: center;
}

html.xmez-product-viewer-open,
html.xmez-product-viewer-open body {
    overflow: hidden;
}

@media (max-width: 800px) {
    .xmez-product-zoom-button {
        width: 42px;
        height: 42px;
        top: 14px;
        right: 14px;
    }

    .xmez-product-zoom-button svg {
        width: 20px;
        height: 20px;
    }

    .xmez-product-viewer-shell {
        grid-template-columns: 48px minmax(0, 1fr) 48px;
        padding:
            64px
            8px
            20px;
    }

    .xmez-product-viewer-arrow {
        width: 42px;
        height: 42px;
    }

    .xmez-product-viewer-arrow svg {
        width: 23px;
        height: 23px;
    }

    .xmez-product-viewer-close {
        width: 44px;
        height: 44px;
        top: 12px;
        right: 12px;
    }

    .xmez-product-viewer-image {
        max-height: calc(100vh - 120px);
    }
}

@media (max-width: 480px) {
    .xmez-product-viewer-shell {
        grid-template-columns: 40px minmax(0, 1fr) 40px;
        padding-right: 3px;
        padding-left: 3px;
    }

    .xmez-product-viewer-arrow {
        width: 36px;
        height: 36px;
    }

    .xmez-product-viewer-arrow svg {
        width: 21px;
        height: 21px;
    }

    .xmez-product-viewer-counter {
        padding: 8px 12px;
        font-size: 11px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .xmez-product-viewer,
    .xmez-product-zoom-button {
        transition: none;
    }
}

/* XMEZ PRODUCT MOBILE MAX VIEWER V1 */

@media (max-width: 800px) {
    .xmez-product-viewer-shell {
        width: 100vw;
        height: 100dvh;
        position: relative;
        display: block;
        padding: 0;
        overflow: hidden;
    }

    .xmez-product-viewer-stage {
        width: 100vw;
        height: 100dvh;
        display: grid;
        place-items: center;
        padding: 0;
    }

    .xmez-product-viewer-image {
        width: 100vw;
        max-width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        object-fit: contain;
        object-position: center;
    }

    .xmez-product-viewer-close {
        width: 44px;
        height: 44px;
        top: max(12px, env(safe-area-inset-top));
        right: max(12px, env(safe-area-inset-right));
        z-index: 10;
        background: rgba(20, 18, 17, .58);
        backdrop-filter: blur(8px);
    }

    .xmez-product-viewer-arrow {
        width: 42px;
        height: 42px;
        position: absolute;
        z-index: 10;
        top: 50%;
        margin: 0;
        background: rgba(20, 18, 17, .48);
        backdrop-filter: blur(8px);
        transform: translateY(-50%);
    }

    .xmez-product-viewer-arrow.is-prev {
        left: max(10px, env(safe-area-inset-left));
    }

    .xmez-product-viewer-arrow.is-next {
        right: max(10px, env(safe-area-inset-right));
    }

    .xmez-product-viewer-counter {
        min-width: 68px;
        position: absolute;
        z-index: 10;
        left: 50%;
        bottom: max(16px, env(safe-area-inset-bottom));
        padding: 8px 13px;
        background: rgba(20, 18, 17, .58);
        backdrop-filter: blur(8px);
        transform: translateX(-50%);
    }
}

@media (max-width: 480px) {
    .xmez-product-viewer-arrow {
        width: 38px;
        height: 38px;
    }

    .xmez-product-viewer-arrow.is-prev {
        left: 7px;
    }

    .xmez-product-viewer-arrow.is-next {
        right: 7px;
    }

    .xmez-product-viewer-close {
        width: 42px;
        height: 42px;
        top: max(8px, env(safe-area-inset-top));
        right: max(8px, env(safe-area-inset-right));
    }

    .xmez-product-viewer-counter {
        bottom: max(11px, env(safe-area-inset-bottom));
    }
}

/* XMEZ QUICK BUY THEME BLEND */
.store-quick-buy-overlay {
    background: rgba(54, 31, 28, 0.56);
    backdrop-filter: blur(4px);
}

.store-quick-buy-modal {
    background: #fff8f5;
    border: 1px solid rgba(135, 27, 16, 0.14);
    box-shadow: 0 24px 70px rgba(49, 26, 23, 0.18);
}

.store-quick-buy-modal h2 {
    color: #241d1a;
}

.store-quick-buy-kicker {
    color: var(--xmez-brand);
}

.store-quick-buy-product-name {
    color: #7f6b65;
}

.store-quick-buy-close {
    color: var(--xmez-brand);
}

.store-quick-buy-close:hover,
.store-quick-buy-close:focus-visible {
    color: var(--xmez-brand-hover);
}

.store-quick-buy-size {
    background: #fffdfb;
    border-color: rgba(135, 27, 16, 0.18);
    color: #3a2d29;
}

.store-quick-buy-size:hover,
.store-quick-buy-size:focus-visible {
    border-color: var(--xmez-brand);
    color: var(--xmez-brand);
}

.store-quick-buy-size.is-selected,
.store-quick-buy-size[aria-pressed="true"] {
    border-color: var(--xmez-brand);
    background: var(--xmez-brand);
    color: #fff;
}

/* XMEZ PRODUCT THUMBNAIL POLISH V1 */

.xmez-product-thumb {
    position: relative;
    border-color: transparent;
    background: #f7f3ef;
    opacity: .74;
    box-shadow:
        inset 0 0 0 1px rgba(47, 42, 40, .08);
    transition:
        opacity .18s ease,
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.xmez-product-thumb img {
    transition:
        transform .22s ease,
        filter .18s ease;
}

.xmez-product-thumb:hover {
    opacity: .94;
    transform: translateY(-1px);
    box-shadow:
        inset 0 0 0 1px rgba(47, 42, 40, .18),
        0 5px 14px rgba(31, 26, 23, .08);
}

.xmez-product-thumb:hover img {
    transform: scale(1.015);
}

.xmez-product-thumb.is-active,
.xmez-product-thumb[aria-current="true"] {
    border-color: transparent;
    opacity: 1;
    transform: none;
    box-shadow:
        inset 0 0 0 2px #302a27,
        0 5px 16px rgba(31, 26, 23, .10);
}

.xmez-product-thumb.is-active img,
.xmez-product-thumb[aria-current="true"] img {
    transform: none;
    filter: none;
}

.xmez-product-thumb:focus-visible {
    outline: 2px solid rgba(48, 42, 39, .72);
    outline-offset: 3px;
}

.xmez-product-thumb.is-active:focus-visible,
.xmez-product-thumb[aria-current="true"]:focus-visible {
    outline-color: #302a27;
}

@media (prefers-reduced-motion: reduce) {
    .xmez-product-thumb,
    .xmez-product-thumb img {
        transition: none;
    }

    .xmez-product-thumb:hover {
        transform: none;
    }

    .xmez-product-thumb:hover img {
        transform: none;
    }
}

/* XMEZ PRODUCT THUMB DOT CLEANUP V1 */

.xmez-product-thumb {
    background: transparent;
    opacity: 1;
    border: 1px solid rgba(57, 48, 43, .14);
    border-radius: 16px;
    box-shadow: none;
    overflow: hidden;
}

.xmez-product-thumb img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.xmez-product-thumb:hover {
    background: transparent;
    border-color: rgba(133, 92, 69, .38);
    box-shadow: 0 6px 16px rgba(31, 26, 23, .06);
    transform: translateY(-1px);
}

.xmez-product-thumb.is-active,
.xmez-product-thumb[aria-current="true"] {
    background: transparent;
    border-color: #8a5d46;
    box-shadow:
        inset 0 0 0 1px rgba(138, 93, 70, .35),
        0 8px 18px rgba(31, 26, 23, .08);
}

.xmez-product-thumb:focus-visible {
    outline: 2px solid rgba(138, 93, 70, .58);
    outline-offset: 3px;
}

.xmez-product-dots {
    gap: 8px;
}

.xmez-product-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(48, 42, 39, .22);
    box-shadow: none;
}

.xmez-product-dot.is-active,
.xmez-product-dot[aria-current="true"] {
    background: #8a5d46;
    transform: none;
}

@media (min-width: 801px) {
    .xmez-product-dots {
        display: none;
    }
}

@media (max-width: 800px) {
    .xmez-product-thumb:hover {
        transform: none;
    }

    .xmez-product-dots {
        display: flex;
        justify-content: center;
    }

    .xmez-product-dot {
        width: 7px;
        height: 7px;
        background: rgba(48, 42, 39, .20);
    }

    .xmez-product-dot.is-active,
    .xmez-product-dot[aria-current="true"] {
        background: #8a5d46;
    }
}

@media (prefers-reduced-motion: reduce) {
    .xmez-product-thumb,
    .xmez-product-dot {
        transition: none;
    }

    .xmez-product-thumb:hover {
        transform: none;
    }
}

/* XMEZ PRODUCT THUMBNAIL TIGHT SPACING V1 */

@media (min-width: 801px) {
    .xmez-product-thumbs {
        gap: 6px;
        margin: 0;
        padding: 0;
    }

    .xmez-product-thumb {
        margin: 0;
    }
}

/* XMEZ CHECKOUT SAVED DELIVERY CARD V1 */

.checkout-address-card {
    grid-column: 1 / -1;
    padding: 22px;
    border: 1px solid #e5ddd7;
    background: #fffaf8;
}

.checkout-address-card[hidden],
.checkout-address-fields[hidden] {
    display: none;
}

.checkout-address-card-head,
.checkout-address-fields-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.checkout-address-card-head h2,
.checkout-address-fields-head h2 {
    margin: 4px 0 0;
    color: #241d1a;
    font-size: 18px;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.checkout-address-kicker {
    display: block;
    color: var(--xmez-brand);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.checkout-address-edit,
.checkout-address-cancel {
    min-height: 36px;
    flex: 0 0 auto;
    padding: 0 14px;
    border: 1px solid var(--xmez-brand);
    background: #fff;
    color: var(--xmez-brand);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .03em;
    transition:
        background .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .18s ease;
}

.checkout-address-edit:hover,
.checkout-address-edit:focus-visible,
.checkout-address-cancel:hover,
.checkout-address-cancel:focus-visible {
    border-color: var(--xmez-brand-hover);
    background: var(--xmez-brand-hover);
    color: #fff;
    transform: translateY(-1px);
}

.checkout-address-recipient {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 12px;
    margin-top: 20px;
}

.checkout-address-recipient strong {
    color: #2e2723;
    font-size: 14px;
}

.checkout-address-recipient span {
    color: #756b65;
    font-size: 12px;
}

.checkout-address-copy {
    display: grid;
    gap: 3px;
    margin-top: 11px;
    color: #504641;
    font-size: 13px;
    font-style: normal;
    line-height: 1.6;
}

.checkout-address-note {
    margin: 18px 0 0;
    padding-top: 15px;
    border-top: 1px solid #eee6e1;
    color: #8a8079;
    font-size: 11px;
    line-height: 1.55;
}

.checkout-address-fields {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 22px;
    border: 1px solid #e5ddd7;
    background: #fffaf8;
}

.checkout-address-fields-head {
    grid-column: 1 / -1;
    margin-bottom: 2px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee6e1;
}

.checkout-address-fields .checkout-field {
    min-width: 0;
}

.checkout-address-fields
.checkout-field:nth-of-type(5),
.checkout-address-fields
.checkout-field:nth-of-type(6) {
    grid-column: 1 / -1;
}

@media (max-width: 700px) {
    .checkout-address-card {
        padding: 18px;
    }

    .checkout-address-fields {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .checkout-address-fields
    .checkout-field {
        grid-column: 1;
    }

    .checkout-address-card-head,
    .checkout-address-fields-head {
        gap: 12px;
    }

    .checkout-address-edit,
    .checkout-address-cancel {
        min-height: 34px;
        padding: 0 12px;
    }
}

/* XMEZ PRODUCT THUMB ASPECT FIX V1 */

@media (min-width: 801px) {
    .product-page-shell
    .product-gallery
    .xmez-product-thumb img {
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
        display: block;
        object-fit: cover;
        object-position: center top;
        border-radius: 12px;
    }
}

/* XMEZ PROFESSIONAL CHECKOUT PAYMENT V1 */

.checkout-payment-panel {
    grid-column: 1 / -1;
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 1px solid #e5ddd7;
    background: #fff;
}

.checkout-payment-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee7e2;
}

.checkout-payment-kicker {
    display: block;
    color: var(--xmez-brand);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.checkout-payment-head h2 {
    margin: 4px 0 0;
    color: #241d1a;
    font-size: 18px;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.checkout-payment-secure {
    flex: 0 0 auto;
    padding: 6px 9px;
    border: 1px solid #e7dfda;
    background: #faf8f6;
    color: #786e68;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .03em;
}

.checkout-payment-options {
    display: grid;
    gap: 10px;
}

.checkout-payment-option {
    position: relative;
    display: grid;
    grid-template-columns:
        22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    min-height: 76px;
    padding: 15px 16px;
    border: 1px solid #ddd4ce;
    background: #fff;
    cursor: pointer;
    transition:
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.checkout-payment-option:hover {
    border-color: #bdaea6;
}

.checkout-payment-option:has(
    input:checked
) {
    border-color: var(--xmez-brand);
    background: #fffaf8;
    box-shadow:
        inset 3px 0 0 var(--xmez-brand);
}

.checkout-payment-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

.checkout-payment-radio {
    position: relative;
    width: 20px;
    height: 20px;
    border: 1.5px solid #b8ada7;
    border-radius: 50%;
    background: #fff;
}

.checkout-payment-option input:checked
+ .checkout-payment-radio {
    border-color: var(--xmez-brand);
}

.checkout-payment-option input:checked
+ .checkout-payment-radio::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: var(--xmez-brand);
}

.checkout-payment-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.checkout-payment-copy strong {
    color: #2d2521;
    font-size: 14px;
    font-weight: 800;
}

.checkout-payment-copy small {
    color: #81766f;
    font-size: 11px;
    line-height: 1.45;
}

.checkout-payment-status,
.checkout-payment-coming {
    justify-self: end;
    padding: 6px 9px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.checkout-payment-status {
    background: var(--xmez-brand-soft);
    color: var(--xmez-brand);
}

.checkout-payment-coming {
    border: 1px solid #e4ded9;
    background: #f6f4f2;
    color: #938983;
}

.checkout-payment-option.is-disabled {
    border-color: #ebe6e2;
    background: #faf9f8;
    cursor: not-allowed;
    opacity: .72;
}

.checkout-payment-option.is-disabled:hover {
    border-color: #ebe6e2;
}

.checkout-payment-option.is-disabled
.checkout-payment-radio {
    background: #f3f1ef;
}

.checkout-submit {
    min-height: 52px;
    margin-top: 2px;
    box-shadow: none;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
}

.checkout-submit:hover,
.checkout-submit:focus-visible {
    transform: translateY(-1px);
    box-shadow:
        0 8px 20px rgba(135, 27, 16, .14);
}

.checkout-help {
    margin-top: -4px;
    color: #938983;
    font-size: 10px;
    letter-spacing: .02em;
}

@media (max-width: 700px) {
    .checkout-payment-panel {
        padding: 18px;
    }

    .checkout-payment-head {
        gap: 12px;
    }

    .checkout-payment-secure {
        display: none;
    }

    .checkout-payment-option {
        grid-template-columns:
            20px minmax(0, 1fr);
        min-height: 72px;
        padding: 14px;
    }

    .checkout-payment-status,
    .checkout-payment-coming {
        grid-column: 2;
        justify-self: start;
        margin-top: 3px;
    }

    .checkout-submit {
        min-height: 50px;
    }
}

/* XMEZ CUSTOMER ORDER DETAIL CSS V1 */

.customer-order-detail-page {
    width: min(1240px, calc(100% - 40px));
    margin: 42px auto 84px;
}

.customer-order-detail-shell {
    display: grid;
    gap: 20px;
}

.customer-order-detail-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.customer-order-detail-topbar a {
    color: #5b514c;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.customer-order-detail-topbar a:hover,
.customer-order-detail-topbar a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.customer-order-detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: clamp(24px, 4vw, 36px);
    border: 1px solid #e5ddd7;
    background: #fff;
}

.customer-order-detail-header h1 {
    margin: 5px 0 8px;
    color: #211b18;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.05;
}

.customer-order-detail-header p {
    margin: 0;
    color: #776c66;
    font-size: 12px;
}

.customer-orders-kicker {
    color: var(--xmez-brand);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.customer-orders-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 11px;
    border: 1px solid #e0d8d2;
    border-radius: 999px;
    background: #faf8f6;
    color: #403833;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.customer-orders-status.is-large {
    min-height: 36px;
    padding: 8px 14px;
    font-size: 12px;
}

.customer-order-progress {
    display: grid;
    gap: 18px;
    padding: 22px 26px 24px;
    border: 1px solid #e5ddd7;
    background: #fff;
}

.customer-order-progress-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.customer-order-progress-head > div:first-child {
    display: grid;
    gap: 3px;
}

.customer-order-progress-head > div:first-child > span {
    color: #827770;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.customer-order-progress-head > div:first-child > strong {
    color: #211b18;
    font-size: 15px;
}

.customer-order-payment-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 11px;
    border: 1px solid #dfd6d0;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.customer-order-payment-badge.is-paid {
    border-color: #b8d1bd;
    background: #f3faf4;
    color: #3d6945;
}

.customer-order-payment-badge.is-pending {
    border-color: #e7c980;
    background: #fff9e9;
    color: #6d5420;
}

.customer-order-progress-track {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: repeat(
        5,
        minmax(0, 1fr)
    );
    gap: 0;
    padding-top: 2px;
}

.customer-order-progress-track::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 8px;
    left: 10%;
    right: 10%;
    height: 1px;
    background: #ddd6d1;
}

.customer-order-progress-step {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: 7px;
    padding: 0 6px;
    color: #9a928d;
    font-size: 10px;
    text-align: center;
}

.customer-order-progress-step strong {
    font-size: 10px;
    line-height: 1.25;
}

.customer-order-progress-dot {
    width: 14px;
    height: 14px;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    border: 2px solid #d3ceca;
    border-radius: 50%;
    background: #fff;
}

.customer-order-progress-step.is-done {
    color: #403833;
}

.customer-order-progress-step.is-done
.customer-order-progress-dot {
    border-color: #5f9d69;
    background: #5f9d69;
}

.customer-order-progress-step.is-current {
    color: #211b18;
}

.customer-order-progress-step.is-current
.customer-order-progress-dot {
    border-color: var(--xmez-brand);
    background: #fff;
    box-shadow:
        inset 0 0 0 3px #fff,
        inset 0 0 0 6px var(--xmez-brand);
}

.customer-order-cancelled-note {
    padding: 12px 14px;
    border: 1px solid #ead2d2;
    background: #fff8f8;
    color: #8a4444;
    font-size: 12px;
    font-weight: 700;
}

.customer-order-detail-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(300px, .75fr);
    gap: 20px;
    align-items: start;
}

.customer-order-detail-panel,
.customer-order-detail-card {
    border: 1px solid #e5ddd7;
    background: #fff;
}

.customer-order-detail-panel {
    padding: 26px;
}

.customer-order-detail-card {
    padding: 24px;
}

.customer-order-detail-heading {
    margin-bottom: 18px;
}

.customer-order-detail-heading > span {
    color: #8a7e77;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.customer-order-detail-heading h2 {
    margin: 4px 0 0;
    color: #211b18;
    font-size: 18px;
}

.customer-order-detail-items {
    display: grid;
}

.customer-order-detail-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 0;
    border-top: 1px solid #eee8e4;
}

.customer-order-detail-item:first-child {
    padding-top: 0;
    border-top: 0;
}

.customer-order-detail-variant {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 7px;
    color: #81766f;
    font-size: 11px;
}

.customer-order-detail-line-total {
    flex: 0 0 auto;
    white-space: nowrap;
}

.customer-order-summary {
    margin: 0;
}

.customer-order-summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 11px 0;
    border-top: 1px solid #eee8e4;
}

.customer-order-summary > div:first-child {
    padding-top: 0;
    border-top: 0;
}

.customer-order-summary dt {
    color: #7b706a;
    font-size: 11px;
}

.customer-order-summary dd {
    margin: 0;
    color: #211b18;
    font-size: 12px;
    font-weight: 800;
    text-align: right;
}

.customer-order-summary .is-total {
    margin-top: 5px;
    padding-top: 15px;
    border-top-color: #d9cec7;
}

.customer-order-summary .is-total dt,
.customer-order-summary .is-total dd {
    color: #181310;
    font-size: 14px;
}

@media (max-width: 820px) {
    .customer-order-detail-page {
        width: calc(100% - 24px);
        margin: 28px auto 64px;
    }

    .customer-order-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .customer-order-detail-page {
        width: calc(100% - 20px);
        margin-top: 20px;
    }

    .customer-order-detail-header,
    .customer-order-progress {
        padding: 20px 18px;
    }

    .customer-order-detail-header,
    .customer-order-progress-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .customer-orders-status {
        align-self: flex-start;
    }

    .customer-order-progress-track {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .customer-order-progress-track::before {
        top: 7px;
        bottom: 7px;
        left: 6px;
        right: auto;
        width: 1px;
        height: auto;
    }

    .customer-order-progress-step {
        grid-template-columns: 18px 1fr;
        justify-items: start;
        align-items: center;
        gap: 8px;
        padding: 0;
        text-align: left;
    }

    .customer-order-detail-panel,
    .customer-order-detail-card {
        padding: 20px 18px;
    }

    .customer-order-detail-item {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
    }
}

/* XMEZ MY ORDERS LIST UI V1 */

.customer-orders-page {
    width: min(1180px, calc(100% - 40px));
    margin: 42px auto 84px;
}

.customer-orders-shell {
    display: grid;
    gap: 22px;
}

.customer-orders-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: clamp(24px, 4vw, 36px);
    border: 1px solid #e5ddd7;
    background: #fff;
}

.customer-orders-back {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    margin-bottom: 17px;
    color: #5b514c;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.customer-orders-back:hover,
.customer-orders-back:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.customer-orders-kicker {
    display: block;
    color: var(--xmez-brand);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.customer-orders-header h1 {
    margin: 5px 0 8px;
    color: #211b18;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.customer-orders-header p {
    max-width: 620px;
    margin: 0;
    color: #776c66;
    font-size: 12px;
    line-height: 1.65;
}

.customer-orders-count {
    min-width: 104px;
    flex: 0 0 auto;
    display: grid;
    justify-items: center;
    gap: 2px;
    padding: 16px 18px;
    border: 1px solid #e5ddd7;
    background: #faf8f6;
}

.customer-orders-count strong {
    color: #211b18;
    font-size: 26px;
    line-height: 1;
}

.customer-orders-count span {
    color: #7c716b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.customer-orders-list {
    display: grid;
    gap: 14px;
}

.customer-orders-card {
    display: grid;
    gap: 18px;
    padding: 22px 24px;
    border: 1px solid #e5ddd7;
    background: #fff;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.customer-orders-card:hover {
    border-color: #d2c5bd;
    box-shadow:
        0 8px 26px rgba(45, 35, 30, .055);
    transform: translateY(-1px);
}

.customer-orders-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.customer-orders-number {
    color: #211b18;
    font-size: 15px;
    font-weight: 850;
}

.customer-orders-date {
    margin-top: 4px;
    color: #857a74;
    font-size: 11px;
}

.customer-orders-status {
    flex: 0 0 auto;
}

.customer-orders-meta {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    border-top: 1px solid #eee7e2;
    border-bottom: 1px solid #eee7e2;
}

.customer-orders-meta > div {
    min-width: 0;
    padding: 14px 16px;
    border-left: 1px solid #eee7e2;
}

.customer-orders-meta > div:first-child {
    padding-left: 0;
    border-left: 0;
}

.customer-orders-meta > div:last-child {
    padding-right: 0;
}

.customer-orders-meta span {
    display: block;
    margin-bottom: 4px;
    color: #8a807a;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.customer-orders-meta strong {
    display: block;
    overflow: hidden;
    color: #29221e;
    font-size: 12px;
    line-height: 1.4;
    text-overflow: ellipsis;
}

.customer-orders-view {
    min-height: 40px;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    border: 1px solid var(--xmez-brand);
    background: var(--xmez-brand);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.customer-orders-view:hover,
.customer-orders-view:focus-visible {
    border-color: var(--xmez-brand-hover);
    background: var(--xmez-brand-hover);
    transform: translateY(-1px);
}

.customer-orders-view span {
    font-size: 15px;
    line-height: 1;
}

.customer-orders-empty {
    padding: 44px 28px;
    border: 1px solid #e5ddd7;
    background: #fff;
    text-align: center;
}

.customer-orders-empty strong {
    display: block;
    color: #211b18;
    font-size: 20px;
}

.customer-orders-empty p {
    margin: 8px 0 20px;
    color: #81766f;
    font-size: 12px;
}

.customer-orders-empty a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid var(--xmez-brand);
    background: var(--xmez-brand);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.customer-orders-footer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-top: 4px;
}

.customer-orders-footer-actions a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 0 15px;
    border: 1px solid #ddd4ce;
    background: #fff;
    color: #554b45;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.customer-orders-footer-actions a:hover,
.customer-orders-footer-actions a:focus-visible {
    border-color: #bcaea6;
    background: #faf8f6;
}

@media (max-width: 760px) {
    .customer-orders-page {
        width: calc(100% - 24px);
        margin: 28px auto 64px;
    }

    .customer-orders-header {
        padding: 22px 20px;
    }

    .customer-orders-card {
        padding: 20px;
    }
}

@media (max-width: 560px) {
    .customer-orders-page {
        width: calc(100% - 20px);
        margin-top: 20px;
    }

    .customer-orders-header {
        flex-direction: column;
    }

    .customer-orders-count {
        width: 100%;
        min-width: 0;
        grid-template-columns:
            auto auto;
        justify-content: space-between;
        align-items: center;
        justify-items: initial;
    }

    .customer-orders-count strong {
        font-size: 22px;
    }

    .customer-orders-card-head {
        flex-direction: column;
        gap: 10px;
    }

    .customer-orders-status {
        align-self: flex-start;
    }

    .customer-orders-meta {
        grid-template-columns: 1fr;
    }

    .customer-orders-meta > div,
    .customer-orders-meta > div:first-child,
    .customer-orders-meta > div:last-child {
        padding: 11px 0;
        border-top: 1px solid #eee7e2;
        border-left: 0;
    }

    .customer-orders-meta > div:first-child {
        border-top: 0;
    }

    .customer-orders-view {
        width: 100%;
        justify-content: center;
    }

    .customer-orders-footer-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .customer-orders-footer-actions a {
        width: 100%;
        justify-content: center;
    }
}

/* XMEZ CONTENT PAGES FOUNDATION V1 */

.store-content-page {
    width: 100%;
    padding: 54px 20px 72px;
}

.store-content-page-shell {
    width: min(900px, 100%);
    margin: 0 auto;
}

.store-content-page-head {
    margin-bottom: 30px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e7dfda;
}

.store-content-page-kicker {
    display: block;
    margin-bottom: 8px;
    color: #8b2117;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.store-content-page-head h1 {
    margin: 0;
    color: #211b18;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.08;
}

.store-content-page-body {
    color: #4c4541;
    font-size: 15px;
    line-height: 1.8;
}

.store-content-page-body h2 {
    margin: 34px 0 10px;
    color: #241e1a;
    font-size: 20px;
    line-height: 1.3;
}

.store-content-page-body p {
    margin: 0 0 16px;
}

.store-content-page-body a {
    color: #8b2117;
    font-weight: 700;
    text-underline-offset: 3px;
}

.store-content-page-body strong {
    color: #2c2521;
}

@media (max-width: 700px) {
    .store-content-page {
        padding: 34px 16px 50px;
    }

    .store-content-page-head {
        margin-bottom: 22px;
        padding-bottom: 18px;
    }

    .store-content-page-body {
        font-size: 14px;
        line-height: 1.75;
    }

    .store-content-page-body h2 {
        margin-top: 28px;
        font-size: 18px;
    }
}

/* XMEZ PROFESSIONAL FOOTER CSS V1 */

.common-store-footer.xmez-footer {
    margin-top: 0;
    padding: 0;
    border-top: 0;
    background: var(--xmez-brand);
    color: #fff;
    text-align: left;
}

.xmez-footer-inner {
    width: min(1440px, 100%);
    margin: 0 auto;
    padding: 64px max(24px, 5vw) 24px;
}

.xmez-footer-grid {
    display: grid;
    grid-template-columns:
        minmax(280px, 2fr)
        minmax(140px, .85fr)
        minmax(150px, .9fr)
        minmax(190px, 1.15fr);
    gap: clamp(28px, 4vw, 64px);
    align-items: start;
}

.xmez-footer-brand,
.xmez-footer-column {
    min-width: 0;
    display: grid;
    align-content: start;
}

.xmez-footer-brand {
    gap: 11px;
}

.xmez-footer-column {
    gap: 12px;
}

.xmez-footer-brand-link {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    color: #fff;
    text-decoration: none;
}

.xmez-footer-logo {
    width: auto;
    max-width: min(220px, 100%);
    max-height: 82px;
    display: block;
    object-fit: contain;
    object-position: left center;
}

.xmez-footer-brand-name,
.xmez-footer-store-name {
    color: #fff;
    font-size: clamp(22px, 2.3vw, 32px);
    font-weight: 750;
    line-height: 1.1;
    letter-spacing: -.035em;
}

.xmez-footer-store-name {
    display: block;
    margin-top: 3px;
    font-size: 18px;
    letter-spacing: -.02em;
}

.xmez-footer-description {
    max-width: 420px;
    margin: 3px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.7;
}

.xmez-footer-contact {
    display: grid;
    gap: 5px;
    margin-top: 5px;
}

.xmez-footer-contact a,
.xmez-footer-contact span {
    width: fit-content;
    max-width: 100%;
    color: rgba(255, 255, 255, .78);
    font-size: 12px;
    line-height: 1.55;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.xmez-footer-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.xmez-footer-socials a {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, .23);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

.xmez-footer-company-link {
    width: fit-content;
    margin-top: 3px;
    color: rgba(255, 255, 255, .86);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.xmez-footer-column > strong {
    margin-bottom: 5px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.xmez-footer-column a {
    width: fit-content;
    color: rgba(255, 255, 255, .73);
    font-size: 13px;
    line-height: 1.35;
    text-decoration: none;
}

.xmez-footer-column a:hover,
.xmez-footer-column a:focus-visible,
.xmez-footer-contact a:hover,
.xmez-footer-contact a:focus-visible,
.xmez-footer-company-link:hover,
.xmez-footer-company-link:focus-visible {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.xmez-footer-socials a:hover,
.xmez-footer-socials a:focus-visible {
    border-color: rgba(255, 255, 255, .65);
    background: rgba(255, 255, 255, .08);
}

.xmez-footer-trust {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    margin-top: 46px;
    border-top: 1px solid rgba(255, 255, 255, .15);
    border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.xmez-footer-trust > div {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 18px 22px;
    border-right: 1px solid rgba(255, 255, 255, .15);
}

.xmez-footer-trust > div:first-child {
    padding-left: 0;
}

.xmez-footer-trust > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.xmez-footer-trust strong {
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.xmez-footer-trust span {
    color: rgba(255, 255, 255, .63);
    font-size: 11px;
    line-height: 1.5;
}

.xmez-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 20px;
    color: rgba(255, 255, 255, .58);
    font-size: 11px;
}

@media (max-width: 980px) {
    .xmez-footer-grid {
        grid-template-columns:
            minmax(260px, 1.5fr)
            repeat(2, minmax(140px, 1fr));
    }

    .xmez-footer-brand {
        grid-column: 1 / -1;
        max-width: 560px;
    }

    .xmez-footer-policies {
        grid-column: auto;
    }
}

@media (max-width: 700px) {
    .xmez-footer-inner {
        padding: 46px 20px 20px;
    }

    .xmez-footer-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 34px 20px;
    }

    .xmez-footer-brand {
        grid-column: 1 / -1;
    }

    .xmez-footer-policies {
        grid-column: 1 / -1;
    }

    .xmez-footer-trust {
        grid-template-columns: 1fr;
        margin-top: 38px;
    }

    .xmez-footer-trust > div {
        padding: 15px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .15);
    }

    .xmez-footer-trust > div:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 480px) {
    .xmez-footer-inner {
        padding:
            40px
            16px
            calc(18px + env(safe-area-inset-bottom));
    }

    .xmez-footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .xmez-footer-brand,
    .xmez-footer-policies {
        grid-column: auto;
    }

    .xmez-footer-logo {
        max-width: 190px;
        max-height: 72px;
    }

    .xmez-footer-column {
        padding-top: 2px;
    }

    .xmez-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }
}

/* XMEZ COMMON PAGE ALIGNMENT V1 */

/*
 * Shared storefront horizontal rhythm:
 * Desktop = 42px
 * Tablet  = 22px
 * Mobile  = 16px
 *
 * Content pages keep a readable 900px text measure,
 * but align from the same left gutter as header/footer.
 */

.store-header.home-header,
.store-header.reference-product-header {
    padding-left: 42px;
    padding-right: 42px;
}

.store-content-page {
    width: 100%;
    padding:
        54px
        42px
        72px;
}

.store-content-page-shell {
    width: min(900px, 100%);
    margin: 0 auto;
}

.xmez-footer-inner {
    width: 100%;
    max-width: none;
    padding:
        64px
        42px
        24px;
}

@media (max-width: 1100px) {
    .store-header.home-header,
    .store-header.reference-product-header {
        padding-left: 22px;
        padding-right: 22px;
    }

    .store-content-page {
        padding:
            46px
            22px
            64px;
    }

    .xmez-footer-inner {
        padding:
            54px
            22px
            22px;
    }
}

@media (max-width: 800px) {
    .store-header.home-header,
    .store-header.reference-product-header {
        padding-left: 16px;
        padding-right: 16px;
    }

    .store-content-page {
        padding:
            34px
            16px
            50px;
    }

    .xmez-footer-inner {
        padding:
            46px
            16px
            20px;
    }
}

@media (max-width: 480px) {
    .xmez-footer-inner {
        padding:
            40px
            16px
            calc(
                18px
                + env(safe-area-inset-bottom)
            );
    }
}

/* XMEZ PRODUCT PHOTO LOAD REVEAL V1 */

.product-card .product-image {
    background: #f4f4f4;
}

.product-card
.product-image
img.xmez-product-photo-reveal {
    opacity: 0;
    transition:
        opacity 420ms cubic-bezier(.22, .61, .36, 1);
}

.product-card
.product-image
img.xmez-product-photo-reveal.is-loaded {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .product-card
    .product-image
    img.xmez-product-photo-reveal {
        opacity: 1;
        transition: none;
    }
}

/* XMEZ PRODUCT CARD RISE ONE DIRECTION V2 */

.product-card.xmez-product-card-rise.is-pending {
    opacity: 1;
    transform: translateY(32px);
    transition:
        transform 560ms cubic-bezier(.22, .61, .36, 1);
    will-change: transform;
}

.product-card.xmez-product-card-rise.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition:
        transform 560ms cubic-bezier(.22, .61, .36, 1);
}

@media (prefers-reduced-motion: reduce) {
    .product-card.xmez-product-card-rise.is-pending,
    .product-card.xmez-product-card-rise.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* XMEZ PRODUCT MODERN OUT OF STOCK UI V1 */

.product-stock-status {
    gap: 8px;
}

.product-stock-status .product-stock-dot {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: currentColor;
}

.product-stock-status .product-stock-copy {
    display: flex;
    align-items: center;
    gap: 6px;
}

.product-stock-status .product-stock-copy strong {
    font: inherit;
    font-weight: 700;
}

.product-stock-status.is-in-stock {
    color: #16794a;
    background: #f4fbf7;
    border-color: #bfe3cf;
}

.product-stock-status.is-out-of-stock {
    display: flex;
    width: 100%;
    max-width: 430px;
    align-items: flex-start;
    gap: 12px;
    margin-top: 6px;
    padding: 14px 16px;
    border: 1px solid #ead1d1;
    border-radius: 12px;
    background: #fff8f8;
    color: #9d2727;
    opacity: 1;
}

.product-stock-status.is-out-of-stock .product-stock-dot {
    width: 9px;
    height: 9px;
    margin-top: 6px;
}

.product-stock-status.is-out-of-stock .product-stock-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    line-height: 1.25;
}

.product-stock-status.is-out-of-stock .product-stock-copy strong {
    font-size: 0.96rem;
    font-weight: 750;
}

.product-stock-status.is-out-of-stock .product-stock-copy small {
    color: #765454;
    font-size: 0.82rem;
    font-weight: 500;
}

@media (max-width: 700px) {
    .product-stock-status.is-out-of-stock {
        max-width: none;
        padding: 13px 14px;
        border-radius: 10px;
    }
}



/* XMEZ PRODUCT THUMB STAGGER REVEAL V1 */

@media (min-width: 801px) {
    .xmez-product-thumb {
        animation:
            xmez-product-thumb-stagger-reveal
            .42s
            cubic-bezier(.22, .8, .32, 1)
            backwards;

        animation-delay:
            calc(
                var(--xmez-thumb-index, 0)
                * 90ms
            );
    }
}

@keyframes xmez-product-thumb-stagger-reveal {
    from {
        opacity: 0;
        transform: translateY(-16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .xmez-product-thumb {
        animation: none;
    }
}

/* XMEZ PRODUCT FIXED QTY ONE V1 */
/*
 * Product detail quantity stays internally at 1.
 * Quantity UI is hidden and purchase actions use
 * one full-width grid column.
 */
.product-page-shell .product-quantity-field {
    display: none;
}

.product-page-shell .product-commerce-actions {
    grid-template-columns: minmax(0, 1fr);
}

.product-page-shell .product-cart-button,
.product-page-shell .product-buy-button {
    width: 100%;
    grid-column: 1;
}

/* XMEZ PRODUCT COMPACT ACTION GAP V1 */
.product-page-shell .product-cart-form {
    margin-top: 12px;
    padding-top: 14px;
}

@media (max-width: 800px) {
    .product-page-shell .product-cart-form {
        margin-top: 10px;
        padding-top: 12px;
    }
}


/* XMEZ CATALOG BUY BUTTON ALIGN V1 */
@media (min-width: 801px) {
    .catalog-card {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .catalog-card .product-body {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
    }

}

/* XMEZ CATALOG DESKTOP ROW GAP V1 */
@media (min-width: 801px) {
    .catalog-product-grid {
        row-gap: 56px;
    }
}

/* XMEZ HIDE CATALOG CARD SIZES V1 */
.catalog-card-sizes {
    display: none;
}

/* XMEZ OOS CARD PRODUCT LINK V1 */
/* XMEZ OOS CARD BUY NOW VISUAL V1 */
.store-product-card-oos-link {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

/* XMEZ CHECKOUT PROFESSIONAL UI V1 */

.checkout-page {
    padding: 34px 0 70px;
}

.checkout-card {
    width: min(760px, 100%);
    margin: 0 auto;
    border: 0;
    box-shadow: none;
}

.checkout-card > h1 {
    margin: 0 0 20px;
    color: var(--xmez-brand);
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    text-align: center;
}

.checkout-choice {
    width: min(680px, 100%);
    padding: clamp(28px, 5vw, 48px);
    border: 1px solid #e4e7eb;
    border-radius: 16px;
    background: #fff;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, .04),
        0 14px 40px rgba(16, 24, 40, .06);
}

.checkout-choice-kicker {
    margin-bottom: 9px;
    color: #69707d;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
}

.checkout-choice-intro h1 {
    color: #15171a;
    font-size: clamp(27px, 4vw, 40px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.035em;
}

.checkout-choice-intro p {
    color: #667085;
    font-size: 14px;
    line-height: 1.65;
}

.checkout-choice-summary {
    margin: 26px 0 20px;
    padding: 15px 0;
    border-top: 1px solid #eaecf0;
    border-bottom: 1px solid #eaecf0;
    color: #667085;
}

.checkout-choice-summary strong {
    color: #101828;
    font-size: 17px;
    font-weight: 700;
}

/* Google remains visually neutral and trusted */
.checkout-page .checkout-google-button {
    min-height: 54px;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    background: #fff;
    color: #344054;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    font-size: 14px;
    font-weight: 650;
}

.checkout-page .checkout-google-button:hover,
.checkout-page .checkout-google-button:focus-visible {
    border-color: #98a2b3;
    background: #f9fafb;
    color: #101828;
    box-shadow: 0 4px 12px rgba(16, 24, 40, .08);
}

.checkout-google-logo {
    border: 0;
    background: transparent;
}

.checkout-choice-divider {
    margin: 24px 0;
    color: #98a2b3;
}

.checkout-choice-divider::before,
.checkout-choice-divider::after {
    background: #eaecf0;
}

.checkout-call-panel {
    padding: 22px;
    border: 1px solid #eaecf0;
    border-radius: 12px;
    background: #f9fafb;
}

.checkout-call-icon {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    background: var(--xmez-brand);
    box-shadow: none;
}

.checkout-call-heading strong {
    color: #101828;
    font-size: 14px;
    font-weight: 700;
}

.checkout-call-heading small {
    color: #667085;
}

.checkout-call-grid {
    gap: 10px;
}

/* Assisted-order buttons: premium neutral, not bright red */
.checkout-page .checkout-call-button {
    min-height: 64px;
    border: 1px solid #1d2939;
    border-radius: 9px;
    background: #1d2939;
    color: #fff;
    box-shadow: none;
    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.checkout-page .checkout-call-button small {
    color: #d0d5dd;
}

.checkout-page a.checkout-call-button:hover,
.checkout-page a.checkout-call-button:focus-visible {
    border-color: #101828;
    background: #101828;
    color: #fff;
    transform: translateY(-1px);
}

.checkout-call-note {
    color: #667085;
    font-size: 11px;
    line-height: 1.6;
}

.checkout-choice-back {
    margin-top: 25px;
    color: #667085;
    font-weight: 600;
}

.checkout-choice-back:hover,
.checkout-choice-back:focus-visible {
    color: #101828;
}

@media (max-width: 700px) {
    .checkout-page {
        width: 100%;
        margin-top: 0;
        padding: 18px 10px 42px;
    }

    .checkout-card > h1 {
        margin-bottom: 14px;
        padding: 0 2px;
        font-size: 21px;
    }

    .checkout-choice {
        padding: 26px 18px;
        border-radius: 12px;
    }

    .checkout-choice-intro h1 {
        font-size: 28px;
    }

    .checkout-call-panel {
        padding: 18px;
        border-radius: 10px;
    }
}

