/* Buhari Material Design system — Bootstrap 5 is loaded before this file. */
:root {
    --md-primary: #075e73;
    --md-on-primary: #fff;
    --md-primary-container: #c8f1f7;
    --md-on-primary-container: #003640;
    --md-secondary: #49656c;
    --md-secondary-container: #cce8ed;
    --md-surface: #fbfcfd;
    --md-surface-container: #eef4f5;
    --md-surface-container-high: #e7eff0;
    --md-on-surface: #182f35;
    --md-on-surface-variant: #52686e;
    --md-outline: #71878d;
    --md-error: #b3261e;
    --md-shadow: 0 2px 4px rgb(20 47 54 / .08), 0 12px 28px rgb(20 47 54 / .08);
    --md-shadow-hover: 0 5px 10px rgb(20 47 54 / .1), 0 20px 38px rgb(20 47 54 / .12);
}

body {
    background: var(--md-surface-container);
    color: var(--md-on-surface);
    font-family: "Cairo", "Inter", ui-sans-serif, system-ui, sans-serif;
    letter-spacing: 0;
}

.material-symbols-rounded {
    display: inline-block;
    font-family: "Material Symbols Rounded";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: "liga";
    font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { color: var(--md-on-surface); font-weight: 800; }
main { padding-block: 2rem 4.5rem; }
main > h1, .material-page-title {
    font-size: clamp(1.75rem, 3vw, 2.55rem);
    line-height: 1.18;
    letter-spacing: -.035em;
    margin-bottom: 1.5rem;
}

/* Material controls used across storefront and control panels. */
.btn {
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    background: var(--md-primary);
    color: var(--md-on-primary);
    padding: .66rem 1.25rem;
    font-weight: 800;
    box-shadow: 0 2px 4px rgb(0 76 91 / .2);
    transition: box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}
.btn:hover, .btn:focus-visible { color: #fff; background: #004c5b; box-shadow: 0 5px 10px rgb(0 76 91 / .24); transform: translateY(-1px); }
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgb(76 201 224 / .55); outline-offset: 3px; }
.btn-secondary { background: transparent; border: 1px solid var(--md-outline); color: var(--md-primary); box-shadow: none; }
.btn-secondary:hover { background: var(--md-primary-container); color: var(--md-on-primary-container); box-shadow: none; }
.btn-danger { background: var(--md-error); color: #fff; }
.btn-light { background: #fff; color: var(--md-primary); box-shadow: none; }
.btn-coral { background: #db5a42; }

.card, .material-surface {
    border: 0;
    border-radius: 22px;
    background: var(--md-surface);
    box-shadow: var(--md-shadow);
    padding: 1.35rem;
}
.card:hover { box-shadow: var(--md-shadow); }

label { color: var(--md-on-surface); font-size: .83rem; font-weight: 800; margin-bottom: .35rem; }
input, select, textarea {
    border: 1px solid var(--md-outline);
    border-radius: 12px;
    background: var(--md-surface);
    color: var(--md-on-surface);
    padding: .72rem .85rem;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
input:hover, select:hover, textarea:hover { border-color: var(--md-on-surface); }
input:focus, select:focus, textarea:focus { border: 2px solid var(--md-primary); box-shadow: 0 0 0 3px rgb(7 94 115 / .12); padding: calc(.72rem - 1px) calc(.85rem - 1px); }
textarea { min-height: 112px; }
.form-grid { gap: 1.15rem; }
.check { color: var(--md-on-surface-variant); font-weight: 700; }
.check input { accent-color: var(--md-primary); }

.alert { border: 0; border-inline-start: 5px solid var(--md-primary); border-radius: 16px; background: var(--md-primary-container); color: var(--md-on-primary-container); padding: 1rem 1.15rem; box-shadow: 0 2px 5px rgb(20 47 54 / .06); }
.alert.error { border-color: var(--md-error); background: #ffdad6; color: #410002; }
.badge { border-radius: 999px; background: var(--md-secondary-container); color: #173e47; padding: .31rem .68rem; font-size: .72rem; font-weight: 850; }
.badge.warn { background: #ffddb1; color: #653d00; }
.badge.danger { background: #ffdad6; color: #8c1d18; }
.stat { color: var(--md-primary); font-size: clamp(2rem, 4vw, 2.7rem); line-height: 1; }
.muted { color: var(--md-on-surface-variant); }

.table-wrap { border: 0; border-radius: 22px; box-shadow: var(--md-shadow); background: var(--md-surface); }
table { min-width: 680px; }
th, td { border-color: #dce7e9; padding: 1rem; }
th { background: var(--md-surface-container-high); color: var(--md-on-surface-variant); font-size: .72rem; font-weight: 900; letter-spacing: .05em; }
tbody tr { transition: background-color .15s ease; }
tbody tr:hover { background: #f1f8f9; }
.pagination a, .pagination span { border: 0; border-radius: 999px; background: var(--md-surface); box-shadow: 0 1px 3px rgb(20 47 54 / .1); padding: .5rem .78rem; }

/* Storefront app bar and navigation. */
.storefront-body { background: var(--md-surface-container); }
.announcement-bar { background: #003f4d; color: #e8fbff; letter-spacing: .02em; }
.store-header { background: rgb(251 252 253 / .95); border: 0; box-shadow: 0 2px 8px rgb(20 47 54 / .1); backdrop-filter: blur(14px); }
.store-mainbar { min-height: 92px; }
.store-logo { color: var(--md-primary); font-size: 1.45rem; letter-spacing: -.045em; }
.store-logo small { color: var(--md-on-surface-variant); font-size: .62rem; letter-spacing: 0; }
.logo-mark { width: 43px; height: 43px; border-radius: 15px 15px 15px 5px; background: var(--md-primary); color: #c8f1f7; box-shadow: 0 4px 10px rgb(7 94 115 / .25); transform: rotate(-4deg); }
.store-search { height: 50px; border: 1px solid var(--md-outline); border-radius: 999px; background: var(--md-surface); box-shadow: 0 1px 2px rgb(20 47 54 / .08); }
.store-search:focus-within { border: 2px solid var(--md-primary); box-shadow: 0 0 0 4px rgb(7 94 115 / .1); }
.store-search select, .store-search input { padding-inline: 1rem; background: transparent; }
.store-search button { background: var(--md-primary); color: #fff; font-family: "Material Symbols Rounded"; font-size: 1.45rem; }
.store-actions { gap: .45rem; }
.store-actions > a, .language-switch { border-radius: 12px; color: var(--md-on-surface); padding: .45rem; transition: background-color .16s ease; }
.store-actions > a:hover, .language-switch:hover { background: var(--md-primary-container); color: var(--md-on-primary-container); }
.language-switch { min-width: 40px; font-size: .78rem; }
.cart-action b { inset-inline-start: .1rem; top: .05rem; width: 18px; height: 18px; background: #db5a42; }
.store-navigation { border: 0; background: var(--md-surface); }
.store-navigation .shell { justify-content: flex-start; min-height: 56px; gap: .25rem; }
.store-navigation a, .store-navigation button { border-radius: 999px; color: var(--md-on-surface-variant); padding: .56rem .78rem; font-size: .78rem; font-weight: 850; letter-spacing: 0; text-transform: none; }
.store-navigation a:hover, .store-navigation button:hover, .store-navigation .utility-link { background: var(--md-primary-container); color: var(--md-on-primary-container); }
.account-navigation { border-top: 1px solid rgb(23 52 56 / .07); border-bottom: 1px solid rgb(23 52 56 / .07); background: var(--md-surface-container); }
.account-navigation .shell { display: flex; min-height: 42px; align-items: center; justify-content: flex-end; gap: .25rem; }
.account-navigation a, .account-navigation button { display: inline-flex; min-height: 32px; align-items: center; gap: .32rem; padding: .35rem .65rem; border: 0; border-radius: 9px; background: transparent; color: var(--md-on-surface-variant); font-size: .72rem; font-weight: 800; }
.account-navigation a:hover, .account-navigation button:hover { background: var(--md-primary-container); color: var(--md-on-primary-container); }
.account-navigation form { margin: 0; }
.account-navigation .material-symbols-rounded { font-size: 17px; }
.account-avatar { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
.payment-page-card { display: grid; justify-items: center; gap: .75rem; max-width: 620px; margin: auto; text-align: center; }.payment-page-card h1, .payment-page-card p { margin: 0; }.payment-page-icon { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 16px; background: var(--md-primary-container); color: var(--md-primary); font-size: 26px; }.payment-test-details { display: grid; width: min(100%, 430px); gap: .45rem; padding: .85rem; border: 1px dashed #d6ae59; border-radius: 13px; background: #fff9eb; color: #72500b; text-align: start; }.payment-test-details > span { font-size: .72rem; line-height: 1.5; }.payment-test-details div { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .55rem; font-size: .72rem; }.payment-test-details b { font-size: .7rem; }.payment-test-details code { padding: .2rem .35rem; border-radius: 6px; background: #fff1cb; color: #6a4701; direction: ltr; font-family: Inter, monospace; font-size: .74rem; font-weight: 800; }
.payment-method-picker { display: grid; gap: .6rem; margin: 0; padding: .9rem; border: 1px solid #c9e1e4; border-radius: 14px; background: #f7fcfc; }.payment-method-picker legend { padding: 0 .35rem; color: var(--md-on-surface); font-size: .86rem; font-weight: 800; }.payment-method-option { display: grid; grid-template-columns: 20px 30px minmax(0, 1fr); align-items: center; gap: .55rem; margin: 0; padding: .65rem; border: 1px solid transparent; border-radius: 11px; background: #fff; cursor: pointer; }.payment-method-option:has(input:checked) { border-color: var(--md-primary); background: var(--md-primary-container); }.payment-method-option input { width: 18px; height: 18px; margin: 0; }.payment-method-option > .material-symbols-rounded { color: var(--md-primary); }.payment-method-option > span:last-child { display: grid; gap: .12rem; }.payment-method-option strong { color: var(--md-on-surface); font-size: .78rem; }.payment-method-option small { color: var(--md-on-surface-variant); font-size: .68rem; line-height: 1.45; }

.home-page { gap: 4rem; }
.home-hero { border-radius: 28px; background: linear-gradient(128deg, #003e4c 0%, #086579 54%, #0a8093 100%); box-shadow: var(--md-shadow); }
.hero-copy { padding-inline: clamp(1.7rem, 6vw, 5.5rem) 2rem; }
.hero-copy h1 { letter-spacing: -.055em; }
.hero-copy .text-link { border-radius: 999px; padding: .65rem .8rem; }
.hero-copy .text-link:hover { background: rgb(255 255 255 / .12); }
.hero-badge { border-radius: 18px; box-shadow: 0 10px 24px rgb(0 0 0 / .16); }
.trust-strip { border: 0; border-radius: 22px; overflow: hidden; box-shadow: var(--md-shadow); }
.trust-strip > div { background: var(--md-surface); border-color: #dce7e9; }
.trust-strip > div > span { width: 39px; height: 39px; background: var(--md-primary-container); color: var(--md-primary); border-radius: 13px; }
.section-kicker { color: var(--md-primary); letter-spacing: .09em; }
.section-heading h2 { letter-spacing: -.045em; }
.text-link { color: var(--md-primary); border-radius: 999px; padding: .45rem .25rem; }
.category-tile, .technique-card { border-radius: 22px; box-shadow: 0 2px 4px rgb(20 47 54 / .12); transition: transform .2s ease, box-shadow .2s ease; }
.category-tile:hover, .technique-card:hover { transform: translateY(-4px); box-shadow: var(--md-shadow-hover); }
.technique-section { border-radius: 28px; background: var(--md-primary-container); }
.shop-product-card { border: 0; border-radius: 22px; overflow: hidden; box-shadow: 0 2px 5px rgb(20 47 54 / .09); }
.shop-product-card:hover { box-shadow: var(--md-shadow-hover); }
.store-error-page { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); min-height: min(620px, calc(100vh - 250px)); margin-top: .5rem; overflow: hidden; border-radius: 28px; background: var(--md-surface); box-shadow: var(--md-shadow); }
.store-error-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(2rem, 6vw, 5.25rem); overflow: hidden; }
.store-error-card::before { position: absolute; width: 420px; height: 420px; border: 1px solid rgb(7 94 115 / .12); border-radius: 50%; content: ''; inset-inline-start: -230px; bottom: -235px; box-shadow: 0 0 0 48px rgb(7 94 115 / .035), 0 0 0 100px rgb(7 94 115 / .02); pointer-events: none; }
.store-error-card > * { position: relative; z-index: 1; }
.store-error-code { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 1.25rem; padding: .46rem .75rem .46rem .52rem; border: 1px solid #b6dce3; border-radius: 999px; background: #f0fbfc; color: var(--md-primary); }
.store-error-code .material-symbols-rounded { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: var(--md-primary); color: #fff; font-size: 17px; }
.store-error-code strong { font-family: Inter, sans-serif; font-size: .78rem; letter-spacing: .08em; }
.store-error-card .section-kicker { margin: 0 0 .55rem; color: var(--md-primary); font-size: .71rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.store-error-card h1 { max-width: 560px; margin: 0; color: #093f4c; font-size: clamp(2.1rem, 5vw, 4.25rem); letter-spacing: -.065em; line-height: .98; }
.store-error-card > p:not(.section-kicker) { max-width: 560px; margin: 1.15rem 0 0; color: var(--md-on-surface-variant); font-size: 1rem; line-height: 1.9; }
.store-error-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }.store-error-actions .btn { display: inline-flex; align-items: center; gap: .42rem; }.store-error-actions .material-symbols-rounded { font-size: 19px; }
.store-error-contact { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1.15rem; color: var(--md-primary); font-size: .78rem; font-weight: 850; }.store-error-contact .material-symbols-rounded { font-size: 18px; }
.store-error-visual { position: relative; isolation: isolate; display: grid; min-height: 350px; overflow: hidden; background: #074858; }.store-error-visual::after { position: absolute; z-index: 1; content: ''; inset: 0; background: linear-gradient(145deg, rgb(0 45 56 / .13), rgb(0 48 60 / .8)); }
.store-error-visual img { position: absolute; width: 100%; height: 100%; object-fit: cover; filter: saturate(.9); }.store-error-visual > span, .store-error-visual > i { position: absolute; z-index: 2; border: 1px solid rgb(255 255 255 / .3); border-radius: 50%; pointer-events: none; }.store-error-visual > span { width: 310px; height: 310px; inset-inline-end: -110px; top: -105px; box-shadow: 0 0 0 48px rgb(255 255 255 / .05), 0 0 0 98px rgb(255 255 255 / .025); }.store-error-visual > i { width: 105px; height: 105px; inset-inline-start: 15%; bottom: 12%; }
.store-error-visual div { position: absolute; z-index: 3; display: grid; gap: .15rem; padding: 1.25rem; inset-inline-start: clamp(1.25rem, 4vw, 3rem); bottom: clamp(1.25rem, 4vw, 3rem); border: 1px solid rgb(255 255 255 / .35); background: rgb(4 51 62 / .35); color: #fff; box-shadow: 0 14px 30px rgb(0 23 30 / .2); backdrop-filter: blur(9px); }.store-error-visual b { font-family: Inter, sans-serif; font-size: clamp(2.8rem, 6vw, 5rem); line-height: .82; letter-spacing: -.08em; }.store-error-visual small { color: #cceef1; font-size: .72rem; font-weight: 800; }
@media (max-width: 820px) { .store-error-page { grid-template-columns: 1fr; min-height: 0; }.store-error-card { min-height: 470px; padding: 2.2rem 1.35rem; }.store-error-visual { min-height: 240px; }.store-error-card h1 { font-size: clamp(2rem, 10vw, 3.4rem); }.store-error-card > p:not(.section-kicker) { font-size: .91rem; }.store-error-visual > i { bottom: 22%; }.store-error-visual div { padding: 1rem; } }
.shop-product-image { background: #eaf4f5; }
.shop-product-image b { border-radius: 999px; top: .75rem; inset-inline-start: .75rem; }
.shop-product-bottom button { width: 38px; height: 38px; border-radius: 13px; background: var(--md-primary); transition: transform .18s ease, background-color .18s ease; }
.shop-product-bottom button:hover { background: #004c5b; transform: scale(1.06); }
.water-story { border-radius: 28px; box-shadow: var(--md-shadow); }
.water-story .btn-light { color: var(--md-primary); }
.store-footer { background: #003640; margin-top: 4rem; }

/* Material admin and delegate application bars. */
.admin-body, .delegate-body { background: var(--md-surface-container); }
.topbar { position: sticky; top: 0; border: 0; background: rgb(251 252 253 / .94); box-shadow: 0 2px 9px rgb(20 47 54 / .1); backdrop-filter: blur(14px); }
.topbar .shell { min-height: 76px; }
.brand { display: inline-flex; align-items: center; gap: .6rem; color: var(--md-primary); font-size: 1.35rem; letter-spacing: -.04em; }
.brand::before { content: "⌁"; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px 13px 13px 4px; background: var(--md-primary); color: var(--md-primary-container); font-size: 1.8rem; line-height: 1; transform: rotate(-4deg); }
.brand small { color: var(--md-on-surface-variant); font-size: .62rem; letter-spacing: 0; }
.nav { gap: .25rem; }
.nav a, .nav button { border-radius: 999px; color: var(--md-on-surface-variant); font-size: .78rem; font-weight: 800; padding: .58rem .78rem; transition: color .18s ease, background-color .18s ease; }
.nav a:hover, .nav button:hover { background: var(--md-primary-container); color: var(--md-on-primary-container); }
.topbar .nav .nav-store-link { color: var(--md-primary); background: #e8f7f9; }
.material-nav-toggle { display: none; border: 0; border-radius: 12px; background: var(--md-primary-container); color: var(--md-on-primary-container); padding: .44rem; }

/* Page-specific surfaces. */
.product-image { overflow: hidden; border-radius: 24px; background: var(--md-primary-container); box-shadow: var(--md-shadow); }
.product-image img { width: 100%; height: 100%; object-fit: cover; }
.product-page-layout { align-items: start; }
.product-media-gallery { display: grid; gap: .75rem; }
.product-media-stage { display: grid; min-height: 360px; place-items: center; overflow: hidden; border-radius: 24px; background: var(--md-primary-container); box-shadow: var(--md-shadow); }
.product-media-stage > img, .product-media-stage > video { width: 100%; height: 100%; object-fit: cover; }
.product-media-stage > video { background: #003640; }
.product-media-stage > [hidden] { display: none; }
.product-media-placeholder { color: var(--md-primary); font-size: 5rem; }
.product-gallery-thumbnails { display: flex; flex-wrap: wrap; gap: .55rem; }
.product-gallery-thumbnail { display: grid; width: 66px; height: 66px; place-items: center; overflow: hidden; padding: 0; border: 2px solid transparent; border-radius: 13px; background: var(--md-surface-container); color: var(--md-primary); cursor: pointer; transition: border-color .18s ease, transform .18s ease; }
.product-gallery-thumbnail:hover, .product-gallery-thumbnail.active { border-color: var(--md-primary); transform: translateY(-1px); }
.product-gallery-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.product-video-thumbnail { background: #003640; color: #fff; }
.product-video-thumbnail .material-symbols-rounded { font-size: 31px; }
.product-details-card { display: grid; align-content: start; gap: .9rem; }
.product-details-card > * { margin: 0; }
.product-details-section { display: grid; gap: .8rem; margin-top: .25rem; padding-top: 1rem; border-top: 1px solid var(--md-outline-variant); }
.product-details-section h2 { font-size: 1rem; }
.product-attribute-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: .65rem; }
.product-attribute { display: grid; gap: .18rem; padding: .7rem; border-radius: 12px; background: var(--md-surface-container); }
.product-attribute span, .product-tags > span { color: var(--md-on-surface-variant); font-size: .68rem; font-weight: 800; }
.product-attribute strong { color: var(--md-on-surface); font-size: .82rem; }
.product-tags { display: grid; gap: .4rem; }
.product-tags > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.product-tags b { padding: .3rem .55rem; border-radius: 999px; background: var(--md-primary-container); color: var(--md-on-primary-container); font-size: .7rem; }
.product-specifications { display: grid; margin: 0; border-top: 1px solid var(--md-outline-variant); }
.product-specifications > div { display: grid; grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr); gap: .75rem; padding: .65rem 0; border-bottom: 1px solid var(--md-outline-variant); }
.product-specifications dt { color: var(--md-on-surface-variant); font-size: .72rem; font-weight: 800; }
.product-specifications dd { margin: 0; color: var(--md-on-surface); font-size: .76rem; }
.product-purchase-form { margin-top: .2rem; }
.product-purchase-form label { width: 90px; }
.product-variant-picker { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: 0; padding: .85rem; border: 1px solid #c9e1e4; border-radius: 14px; background: #f4fbfc; }.product-variant-picker legend { float: none; width: auto; grid-column: 1 / -1; padding: 0 .25rem; color: var(--md-on-surface); font-size: .82rem; font-weight: 800; }.product-variant-picker label { display: grid; width: auto; gap: .3rem; color: var(--md-on-surface-variant); font-size: .72rem; font-weight: 800; }.product-variant-picker select { min-height: 42px; }.product-variant-picker small { grid-column: 1 / -1; color: var(--md-primary); font-size: .72rem; font-weight: 700; }.product-purchase-form:has(.product-variant-picker) { display: grid; grid-template-columns: 90px minmax(0, 1fr); align-items: end; }.product-purchase-form .product-variant-picker { grid-column: 1 / -1; }.product-purchase-form button:disabled { cursor: not-allowed; opacity: .55; }.catalog-option-link { display: inline-flex; align-items: center; min-height: 34px; padding: .35rem .55rem; border-radius: 9px; background: var(--md-primary-container); color: var(--md-primary); font-size: .68rem; font-weight: 800; }
.price { color: var(--md-primary); font-size: 1.35rem; font-weight: 900; }
.old-price { color: var(--md-on-surface-variant); }

@media (max-width: 1040px) {
    .store-mainbar { grid-template-columns: 190px minmax(190px, 1fr) auto; }
    .store-navigation .shell { padding-inline: .1rem; }
}

@media (max-width: 760px) {
    main { padding-block: 1.35rem 3.2rem; }
    .card, .material-surface { border-radius: 18px; padding: 1.05rem; }
    .store-mainbar { min-height: auto; }
    .store-search { border-radius: 16px; }
    .store-search button { border-radius: 0; }
    .mobile-nav-trigger { border-radius: 12px; background: var(--md-primary-container); padding: .48rem; }
    .mobile-nav-trigger span:not(.sr-only) { background: var(--md-primary); }
    .store-navigation { box-shadow: 0 10px 18px rgb(20 47 54 / .09); }
    .store-navigation .shell { padding-block: .5rem; }
    .store-navigation a, .store-navigation button { border-bottom: 0; border-radius: 12px; text-align: start; }
    .account-navigation .shell { justify-content: center; flex-wrap: wrap; padding-block: .3rem; }
    .home-hero, .technique-section, .water-story { border-radius: 20px; }
    .hero-copy { padding: 2.6rem 1.35rem 1.8rem; }
    .trust-strip { border-radius: 18px; }
    .trust-strip > div { border-color: #dce7e9 !important; }
    .category-tile, .technique-card, .shop-product-card { border-radius: 16px; }
    .technique-section { margin-inline: 0; padding: 1.4rem; }
    .product-media-stage { min-height: 290px; }
    .product-specifications > div { grid-template-columns: 1fr; gap: .2rem; }
    .store-footer { margin-top: 2.5rem; }
    .topbar .shell { display: flex; flex-wrap: wrap; padding-block: .75rem; }
    .topbar .brand { margin-bottom: 0; }
    .material-nav-toggle { display: grid; place-items: center; margin-inline-start: auto; }
    .topbar .nav { width: 100%; margin-top: .7rem; }
    .topbar .nav.collapse:not(.show) { display: none; }
    .topbar .nav.show { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .topbar .nav a, .topbar .nav button { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 42px; background: var(--md-surface-container); text-align: center; }
    .topbar .nav form { width: 100%; }
    .table-wrap { display: none; }
    .mobile-card { display: grid; }
}

@media (max-width: 370px) {
    .topbar .nav.show { grid-template-columns: 1fr; }
    .store-actions > a { padding-inline: .3rem; }
}

/* Storefront refinement — warmer, more editorial, and easier to scan. */
:root {
    --md-primary: #075b63;
    --md-primary-container: #d9f1ed;
    --md-on-primary-container: #073e42;
    --md-surface: #fffdf9;
    --md-surface-container: #f4f3ed;
    --md-surface-container-high: #ebece5;
    --md-on-surface: #173438;
    --md-on-surface-variant: #5e7071;
    --md-outline: #95a4a2;
    --md-shadow: 0 1px 2px rgb(17 52 56 / .06), 0 14px 38px rgb(17 52 56 / .09);
    --md-shadow-hover: 0 4px 9px rgb(17 52 56 / .08), 0 24px 52px rgb(17 52 56 / .14);
}

html { scroll-behavior: smooth; }
body { background-image: radial-gradient(circle at 15% 5%, rgb(222 242 238 / .55), transparent 28rem); }
::selection { background: #f3c9a5; color: #173438; }

.skip-link {
    position: fixed;
    z-index: 9999;
    inset-block-start: .75rem;
    inset-inline-start: .75rem;
    padding: .7rem 1rem;
    border-radius: 999px;
    background: #fff;
    color: var(--md-primary);
    font-weight: 800;
    box-shadow: var(--md-shadow);
    transform: translateY(-180%);
    transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

.store-header { position: sticky; top: 0; z-index: 100; }
.announcement-bar { background: linear-gradient(90deg, #073f45, #075b63 52%, #073f45); }
.store-mainbar { min-height: 86px; }
.store-logo { gap: .75rem; }
.logo-mark-image { background: #fff; overflow: hidden; transform: none; border-radius: 14px; }
.logo-mark-image img { width: 100%; height: 100%; object-fit: cover; }
.store-navigation { border-top: 1px solid rgb(23 52 56 / .07); }
.store-navigation a, .store-navigation button { position: relative; }
.store-navigation a::after {
    content: "";
    position: absolute;
    inset-inline: .75rem;
    inset-block-end: .2rem;
    height: 2px;
    border-radius: 2px;
    background: #d8734f;
    transform: scaleX(0);
    transition: transform .2s ease;
}
.store-navigation a:hover::after { transform: scaleX(1); }

.home-page { gap: clamp(3.5rem, 7vw, 6rem); }
.hero-carousel { border-radius: 30px; box-shadow: 0 26px 70px rgb(15 48 53 / .18); }
.hero-carousel,
.hero-carousel .carousel-inner,
.hero-carousel .carousel-item { height: clamp(520px, 45vw, 620px); min-height: 0; }
.hero-slide-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-slide-shade { background: linear-gradient(90deg, rgb(0 0 0 / .72), rgb(0 0 0 / .4) 44%, transparent 76%); }
.hero-slide-shade::after { background: linear-gradient(180deg, transparent 60%, rgb(0 0 0 / .34)); }
.hero-slide-copy { min-height: 100%; }
.hero-slide-copy,
.hero-slide-copy h1,
.hero-slide-copy p,
.hero-slide-copy .section-kicker,
.hero-slide-copy .text-link { color: #fff; }
.hero-slide-copy h1 { text-wrap: balance; text-shadow: 0 2px 22px rgb(0 0 0 / .22); }
.hero-slide-copy > p:not(.section-kicker) { color: #fff; }
.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next { border-radius: 50%; backdrop-filter: blur(8px); transition: background-color .2s ease, transform .2s ease; }
.hero-carousel .carousel-control-prev:hover,
.hero-carousel .carousel-control-next:hover { background: #d8734f; transform: translateY(-2px); }

.btn-coral { background: #d8734f; box-shadow: 0 8px 20px rgb(216 115 79 / .26); }
.btn-coral:hover, .btn-coral:focus-visible { background: #b95335; box-shadow: 0 10px 24px rgb(185 83 53 / .3); }
.trust-strip {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: -1.5rem;
    border: 1px solid rgb(23 52 56 / .08);
    border-radius: 24px;
    background: rgb(255 253 249 / .96);
    box-shadow: 0 18px 48px rgb(17 52 56 / .13);
    backdrop-filter: blur(14px);
}
.trust-strip .trust-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding: 1.35rem 1.2rem;
    background: transparent;
    border: 0;
}
.trust-strip .trust-item:not(:last-child)::after {
    content: "";
    position: absolute;
    inset-block: 1.2rem;
    inset-inline-end: 0;
    width: 1px;
    background: rgb(23 52 56 / .1);
}
.trust-strip .trust-icon {
    display: grid;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgb(7 91 99 / .12);
    border-radius: 16px;
    background: linear-gradient(145deg, #e7f5f1, #cfe9e4);
    color: var(--md-primary);
    font-size: 28px;
    font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 28;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / .8), 0 7px 18px rgb(7 91 99 / .1);
}
.trust-strip p { display: grid; gap: .3rem; min-width: 0; margin: 0; }
.trust-strip strong { color: var(--md-on-surface); font-size: .88rem; line-height: 1.35; }
.trust-strip small { color: var(--md-on-surface-variant); font-size: .72rem; line-height: 1.55; }

.section-heading { margin-bottom: 1.8rem; }
.section-heading h2 { max-width: 720px; font-size: clamp(2rem, 4vw, 3.15rem); text-wrap: balance; }
.section-kicker { color: #b95335; }
.category-grid { gap: 1rem; }
.category-tile { min-height: 245px; border: 1px solid rgb(255 255 255 / .18); }
.category-tile:has(img):before { background: linear-gradient(0deg, rgb(4 29 32 / .88), rgb(4 29 32 / .06) 78%); }
.category-tile img { transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.category-tile:hover img { transform: scale(1.07); filter: saturate(1.08); }
.category-tile h3 { color: #fff; }
.category-tile-icon {
    position: absolute;
    z-index: 1;
    inset-block-start: 1rem;
    inset-inline-end: 1rem;
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border: 1px solid rgb(255 255 255 / .28);
    border-radius: 16px;
    background: rgb(255 255 255 / .16);
    color: #fff;
    font-size: 28px;
    font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 28;
    box-shadow: 0 8px 22px rgb(0 0 0 / .12);
    backdrop-filter: blur(10px);
}
.category-tile > div > p { max-width: 23ch; line-height: 1.45; }
.category-icon-field { display: flex; align-items: center; gap: .65rem; }
.category-icon-field select { flex: 1; }
.category-icon-preview, .admin-category-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 13px;
    background: var(--md-primary-container);
    color: var(--md-primary);
    font-size: 25px;
    font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 28;
}

.technique-section { padding: clamp(1.5rem, 5vw, 3.5rem); background: linear-gradient(135deg, #dcefeb, #f5eee3); }
.technique-card { border: 1px solid rgb(255 255 255 / .2); }
.technique-card > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.technique-card:hover > img { transform: scale(1.06); }
.technique-card::before { background: linear-gradient(0deg, rgb(3 30 33 / .86), rgb(3 30 33 / .14) 76%); }
.technique-card span { transition: transform .25s ease; }
.technique-card:hover span { transform: translateY(-3px) rotate(-5deg); }
.settings-section-heading, .activity-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.settings-section-heading { margin-bottom: 1rem; }
.settings-section-heading h2, .activity-editor-heading h3 { margin: 0; }
.remove-activity { border: 0; background: transparent; color: var(--md-error); font-size: .78rem; font-weight: 800; }

/* Sign-in experience. */
.login-shell { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr); min-height: 610px; overflow: hidden; border: 1px solid rgb(23 52 56 / .08); border-radius: 30px; background: var(--md-surface); box-shadow: 0 24px 70px rgb(17 52 56 / .14); }
.login-visual { position: relative; isolation: isolate; min-width: 0; overflow: hidden; }
.login-visual::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgb(5 31 34 / .75), transparent 62%); }
.login-visual > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.login-visual-copy { position: absolute; inset-inline: clamp(1.5rem, 4vw, 3.2rem); inset-block-end: clamp(1.5rem, 4vw, 3rem); max-width: 420px; color: #fff; }
.login-visual-copy > span { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 1rem; border: 1px solid rgb(255 255 255 / .35); border-radius: 15px; background: rgb(5 31 34 / .36); font-size: 26px; backdrop-filter: blur(10px); }
.login-visual-copy p { margin: 0; color: #fff; font-size: clamp(1.35rem, 2.5vw, 2.1rem); font-weight: 800; line-height: 1.35; text-wrap: balance; text-shadow: 0 2px 18px rgb(0 0 0 / .32); }
.login-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4.2rem); }
.login-heading { margin-bottom: 2rem; }
.login-heading-icon { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 1.5rem; border-radius: 17px; background: var(--md-primary-container); color: var(--md-primary); font-size: 28px; font-variation-settings: "FILL" 1, "wght" 500; }
.login-heading h1 { margin: .2rem 0 .7rem; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.05em; }
.login-heading > p:last-child { margin: 0; color: var(--md-on-surface-variant); line-height: 1.7; }
.login-form { display: grid; gap: .65rem; }
.login-input-wrap { position: relative; display: flex; align-items: center; margin-bottom: .55rem; }
.login-input-wrap > span { position: absolute; z-index: 1; inset-inline-start: .9rem; color: var(--md-primary); font-size: 21px; pointer-events: none; }
.login-input-wrap input { width: 100%; min-height: 54px; padding-inline-start: 3rem; padding-inline-end: 3rem; background: #fff; }
.password-toggle { position: absolute; inset-inline-end: .65rem; display: grid; width: 40px; height: 40px; place-items: center; border: 0; border-radius: 12px; background: transparent; color: var(--md-on-surface-variant); font-size: 20px; }
.password-toggle:hover { background: var(--md-primary-container); color: var(--md-primary); }
.login-remember { display: flex; align-items: center; gap: .55rem; margin: .15rem 0 1rem; cursor: pointer; }
.login-remember input { width: 18px; height: 18px; margin: 0; }
.login-submit { display: flex; width: 100%; min-height: 52px; align-items: center; justify-content: center; gap: .55rem; }
.login-submit .material-symbols-rounded { font-size: 19px; transition: transform .2s ease; }
.login-submit:hover .material-symbols-rounded { transform: translateX(-3px); }
.login-security { display: flex; align-items: center; justify-content: center; gap: .45rem; margin: 1.25rem 0 0; color: var(--md-on-surface-variant); font-size: .74rem; }
.login-security span { color: var(--md-primary); font-size: 17px; }
.login-portals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgb(23 52 56 / .1); }
.login-portals a { display: flex; min-height: 42px; align-items: center; justify-content: center; gap: .4rem; padding: .55rem; border-radius: 12px; background: var(--md-surface-container); color: var(--md-on-surface-variant); font-size: .72rem; font-weight: 800; text-align: center; transition: background-color .2s ease, color .2s ease; }
.login-portals a:hover { background: var(--md-primary-container); color: var(--md-primary); }
.login-portals .material-symbols-rounded { font-size: 18px; }

.shop-product-card { background: var(--md-surface); }
.shop-product-image { aspect-ratio: 1 / 1.08; }
.shop-product-details { padding: 1.1rem; }
.shop-product-details h3 { font-size: 1rem; }
.catalog-page { display: grid; gap: 1.25rem; }.catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }.catalog-heading h1 { margin: 0; color: var(--md-on-surface); font-size: clamp(2rem,4vw,3.25rem); letter-spacing: -.055em; }.catalog-heading > div > p:not(.section-kicker) { max-width: 580px; margin: .65rem 0 0; color: var(--md-on-surface-variant); line-height: 1.7; }.catalog-result-count { flex: none; padding: .55rem .8rem; border-radius: 999px; background: var(--md-primary-container); color: var(--md-primary); font-size: .74rem; }.catalog-filter-panel { padding: 1rem; border: 1px solid #dbe7e9; border-radius: 20px; background: var(--md-surface); box-shadow: 0 8px 24px rgb(20 47 54 / .06); }.catalog-filter-grid { display: grid; grid-template-columns: minmax(220px, 1.6fr) repeat(5, minmax(130px, 1fr)); gap: .75rem; }.catalog-filter-grid label { display: grid; gap: .35rem; margin: 0; color: var(--md-on-surface-variant); font-size: .7rem; font-weight: 800; }.catalog-filter-grid input, .catalog-filter-grid select { min-height: 43px; border-radius: 11px; background: #fbfdfd; }.catalog-filter-actions { display: flex; align-items: center; gap: 1rem; margin-top: .9rem; }.catalog-filter-actions .btn { min-height: 40px; border-radius: 11px; }.catalog-filter-actions .text-link { font-size: .7rem; }.catalog-product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 280px)); justify-content: start; gap: 1rem; }.catalog-product-grid .shop-product-card { width: 100%; }.catalog-empty { margin: 0; padding: 2.5rem; border: 1px dashed #b8cccf; border-radius: 18px; color: var(--md-on-surface-variant); text-align: center; }
 .checkout-layout { align-items: start; }.checkout-summary { display: grid; gap: .8rem; }.checkout-summary h2, .checkout-summary h3 { margin: 0; }.checkout-summary h3 { font-size: .9rem; }.checkout-summary-line, .checkout-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.checkout-summary-line { padding-bottom: .8rem; border-bottom: 1px solid #e8eeee; color: var(--md-on-surface-variant); font-size: .86rem; }.checkout-summary-line strong { color: var(--md-on-surface); white-space: nowrap; }.checkout-coupon { display: grid; gap: .65rem; padding: .95rem; border: 1px dashed #9ac2c9; border-radius: 14px; background: #f4fbfc; }.coupon-form { display: flex; gap: .55rem; }.coupon-form input { min-width: 0; text-transform: uppercase; }.coupon-form .btn { flex: none; min-height: 41px; }.coupon-applied { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }.coupon-applied span { display: grid; gap: .15rem; }.coupon-applied strong, .coupon-code { display: inline-block; width: fit-content; padding: .25rem .45rem; border-radius: 6px; background: #dceff2; color: #075368; font-family: Inter, monospace; font-size: .78rem; font-weight: 800; letter-spacing: .05em; }.coupon-applied small { color: #267160; font-size: .7rem; }.coupon-applied form { margin: 0; }.coupon-applied button { border: 0; background: transparent; color: #b42318; font-size: .72rem; font-weight: 800; }.checkout-totals { display: grid; gap: .65rem; padding-top: .9rem; border-top: 1px solid #dce7e9; }.checkout-totals > div { color: var(--md-on-surface-variant); font-size: .85rem; }.checkout-discount { color: #267160 !important; }.checkout-total { padding-top: .7rem; border-top: 1px solid #dce7e9; color: var(--md-on-surface) !important; font-size: 1rem !important; }.checkout-total strong { font-size: 1.1rem; }.checkout-account-note { display: flex; gap: .7rem; padding: .85rem; border: 1px solid #c9e1e4; border-radius: 14px; background: #f3fafb; }.checkout-account-note > .material-symbols-rounded { flex: none; color: var(--md-primary); }.checkout-account-note p { display: flex; flex-wrap: wrap; gap: .15rem .65rem; margin: 0; color: var(--md-on-surface-variant); font-size: .8rem; line-height: 1.55; }.checkout-account-note strong { flex-basis: 100%; color: var(--md-on-surface); }.checkout-account-note a { color: var(--md-primary); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }.account-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }.account-page-heading h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.055em; }.account-page-heading p:not(.section-kicker) { max-width: 580px; margin: .55rem 0 0; color: var(--md-on-surface-variant); line-height: 1.7; }.account-form { max-width: 800px; }.account-password-fieldset { margin: 0; padding: 1rem; border: 1px solid #dce7e9; border-radius: 14px; }.account-password-fieldset legend { padding: 0 .35rem; color: var(--md-on-surface); font-weight: 800; }.account-password-fieldset > p { margin: 0 0 .8rem; color: var(--md-on-surface-variant); font-size: .78rem; }
.account-avatar-fieldset { display: grid; gap: .85rem; margin: 0; padding: 1rem; border: 1px solid #dce7e9; border-radius: 14px; }.account-avatar-fieldset legend { padding: 0 .35rem; color: var(--md-on-surface); font-weight: 800; }.account-avatar-fieldset > p { margin: 0; color: var(--md-on-surface-variant); font-size: .78rem; }.account-avatar-current { display: flex; align-items: center; gap: .65rem; }.account-avatar-current img, .account-avatar-current > span { display: grid; width: 56px; height: 56px; flex: none; place-items: center; border-radius: 50%; background: var(--md-primary-container); color: var(--md-primary); object-fit: cover; font-size: 30px; }.avatar-section-title { color: var(--md-on-surface); font-size: .82rem; }.profile-avatar-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }.profile-avatar-choice { position: relative; display: grid; gap: .45rem; min-width: 0; margin: 0; cursor: pointer; color: var(--md-on-surface-variant); font-size: .72rem; font-weight: 800; text-align: center; }.profile-avatar-choice input { position: absolute; opacity: 0; }.profile-avatar-choice img { width: 100%; aspect-ratio: 1; border: 2px solid transparent; border-radius: 50%; object-fit: cover; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.profile-avatar-choice:hover img { transform: translateY(-2px); }.profile-avatar-choice input:checked + img { border-color: var(--md-primary); box-shadow: 0 0 0 4px var(--md-primary-container); }.profile-avatar-choice input:focus-visible + img { outline: 3px solid #db8a63; outline-offset: 3px; }.profile-avatar-upload { display: grid; gap: .4rem; margin: 0; color: var(--md-on-surface); font-size: .82rem; font-weight: 800; }.profile-avatar-upload input { width: 100%; padding: .5rem; border: 1px dashed #9ac2c9; border-radius: 10px; background: #f4fbfc; }.profile-avatar-upload small { color: var(--md-on-surface-variant); font-size: .7rem; font-weight: 500; line-height: 1.5; }
.checkout-delivery-location { display: grid; overflow: hidden; gap: 0; border: 1px solid #c9e1e4; border-radius: 14px; background: #fff; }.checkout-delivery-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .85rem; }.checkout-delivery-heading > div { display: grid; gap: .15rem; }.checkout-delivery-heading strong { color: var(--md-on-surface); font-size: .84rem; }.checkout-delivery-heading small { color: var(--md-on-surface-variant); font-size: .7rem; line-height: 1.5; }.checkout-delivery-heading .btn { min-height: 38px; flex: none; padding-inline: .7rem; font-size: .7rem; }.checkout-delivery-heading .material-symbols-rounded { font-size: 18px; }.checkout-location-search { display: flex; gap: .5rem; padding: 0 .85rem .85rem; }.checkout-location-search input { min-width: 0; flex: 1; }.checkout-location-search .btn { min-height: 40px; flex: none; padding-inline: .8rem; font-size: .72rem; }.checkout-location-search + #checkout-delivery-map { border-top: 1px solid #dce7e9; }#checkout-delivery-map { position: relative; z-index: 0; width: 100%; height: clamp(260px, 42vh, 380px); }.checkout-map-error { display: grid; min-height: 260px; place-items: center; margin: 0; padding: 1rem; background: #f4fbfc; color: var(--md-on-surface-variant); font-size: .75rem; text-align: center; }.checkout-delivery-summary { margin: 0; padding: .75rem .85rem; border-top: 1px solid #dce7e9; background: #f4fbfc; color: var(--md-on-surface-variant); font-size: .72rem; line-height: 1.6; }.delivery-map-link { display: inline-flex; align-items: center; gap: .35rem; margin-top: .55rem; font-size: .75rem; }
@media (max-width: 1050px) { .catalog-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.catalog-filter-search { grid-column: span 2; } }
@media (max-width: 680px) { .catalog-heading, .account-page-heading, .checkout-delivery-heading { align-items: start; flex-direction: column; }.catalog-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.catalog-filter-search { grid-column: 1 / -1; }.catalog-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }.catalog-filter-actions { justify-content: space-between; }.coupon-form, .checkout-location-search { flex-direction: column; }.coupon-form .btn, .checkout-location-search .btn { width: 100%; }.coupon-applied { align-items: start; flex-direction: column; }.profile-avatar-choice-grid { gap: .45rem; } }
@media (max-width: 400px) { .catalog-filter-grid, .catalog-product-grid { grid-template-columns: 1fr; } }
.shop-product-bottom strong { color: var(--md-primary); font-size: .95rem; }

.water-story { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); min-height: 440px; background: #102f33; }
.water-story-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4.5rem) !important; background: radial-gradient(circle at 15% 15%, rgb(17 112 119 / .42), transparent 17rem), linear-gradient(135deg, #102f33, #075b63); }
.water-story-copy::after { content: ""; position: absolute; z-index: -1; inset-block: 0; inset-inline-end: -55px; width: 110px; background: inherit; clip-path: polygon(0 0, 52% 0, 100% 50%, 52% 100%, 0 100%); }
.water-story h2 { color: #fff; text-wrap: balance; }
.water-story-copy > p:not(.section-kicker) { color: rgb(235 249 247 / .8); font-size: 1rem; line-height: 1.85; }
.water-story-copy .btn { align-self: flex-start; display: inline-flex; align-items: center; gap: .5rem; }
.water-story-copy .btn span { font-size: 1.1rem; transition: transform .2s ease; }
.water-story-copy .btn:hover span { transform: translateX(-3px); }
.water-story-art { isolation: isolate; min-width: 0; background: #173f43; font-size: initial; }
.water-story-art::before { display: none; }
.water-story-art::after { content: ""; position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, rgb(16 47 51 / .28), transparent 38%), linear-gradient(0deg, rgb(5 27 30 / .42), transparent 48%); }
.water-story-art > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.water-story:hover .water-story-art > img { transform: scale(1.035); }
.water-story-label { position: absolute !important; z-index: 1; inset-inline-end: 1.35rem; inset-block-end: 1.35rem; display: inline-flex; align-items: center; gap: .5rem; padding: .65rem .85rem; border: 1px solid rgb(255 255 255 / .3); border-radius: 999px; background: rgb(5 27 30 / .62); color: #fff !important; font-family: inherit; font-size: .74rem !important; font-weight: 800; transform: none !important; backdrop-filter: blur(10px); }
.water-story-label .material-symbols-rounded { font-size: 1.15rem; transform: none; }
.home-visit { border: 0; border-radius: 28px; box-shadow: var(--md-shadow); }
.store-footer { background: #102f33; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (max-width: 760px) {
    .store-header { position: relative; }
    .hero-carousel { border-radius: 20px; }
    .hero-carousel,
    .hero-carousel .carousel-inner,
    .hero-carousel .carousel-item { height: 600px; }
    .hero-slide-shade { background: linear-gradient(0deg, rgb(0 0 0 / .86) 3%, rgb(0 0 0 / .32) 58%, transparent); }
    .hero-slide-copy { padding-inline: 1.25rem; }
    .trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: -1rem; border-radius: 20px; }
    .trust-strip .trust-item { align-items: flex-start; padding: 1rem; }
    .trust-strip .trust-item:nth-child(2)::after { display: none; }
    .trust-strip .trust-item:nth-child(-n + 2) { border-bottom: 1px solid rgb(23 52 56 / .1); }
    .trust-strip .trust-icon { flex-basis: 44px; width: 44px; height: 44px; border-radius: 14px; font-size: 24px; }
    .category-tile { min-height: 180px; }
    .home-visit { border-radius: 20px; }
    .water-story { grid-template-columns: 1fr; min-height: 0; }
    .water-story-copy::after { display: none; }
    .water-story-art { min-height: 280px; }
    .login-shell { grid-template-columns: 1fr; min-height: 0; border-radius: 20px; }
    .login-visual { min-height: 220px; }
    .login-visual-copy p { font-size: 1.25rem; }
    .login-visual-copy > span { width: 40px; height: 40px; margin-bottom: .65rem; font-size: 22px; }
    .login-panel { padding: 1.6rem 1.25rem 2rem; }
    .login-heading { margin-bottom: 1.4rem; }
    .login-heading-icon { display: none; }
}

@media (max-width: 470px) {
    .trust-strip { grid-template-columns: 1fr; }
    .trust-strip .trust-item:not(:last-child) { border-bottom: 1px solid rgb(23 52 56 / .1); }
    .trust-strip .trust-item::after { display: none; }
}

/* Administration uses the same sea, sky, and sand palette as the storefront. */
.admin-body { --admin-accent: #116478; --admin-accent-dark: #0b5060; --admin-sidebar: #082d3a; --admin-sidebar-muted: #9bb8c1; --admin-sky: #64c2e2; --admin-foam: #e9f6f9; --admin-paper: #f7f8f6; --admin-line: #dbe5e7; --admin-ink: #082d3a; --admin-muted: #69808a; background: var(--admin-paper); }
.admin-app { min-height: 100vh; }
.admin-sidebar { position: fixed; z-index: 300; inset-block: 0; inset-inline-start: 0; display: flex; width: 270px; flex-direction: column; overflow-y: auto; background: var(--admin-sidebar); color: #fff; box-shadow: 8px 0 30px rgb(8 45 58 / .16); transition: transform .25s ease; }
.admin-sidebar-brand { display: flex; min-height: 86px; align-items: center; gap: .8rem; padding: 1rem 1.25rem; border-bottom: 1px solid rgb(255 255 255 / .08); color: #fff; }
.admin-sidebar-brand > img, .admin-sidebar-brand > .material-symbols-rounded { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 14px; background: #fff; object-fit: contain; color: var(--admin-accent); font-size: 27px; }
.admin-sidebar-brand > span:last-child { min-width: 0; font-size: 1.05rem; font-weight: 800; }
.admin-sidebar-brand small { display: block; margin-top: .15rem; color: var(--admin-sidebar-muted); font-size: .62rem; font-weight: 600; }
.admin-sidebar-nav { display: grid; gap: .25rem; padding: 1.15rem .9rem; }
.admin-sidebar-nav > p { margin: .9rem .75rem .35rem; color: #7fa8b4; font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.admin-sidebar-nav a { position: relative; display: flex; min-height: 45px; align-items: center; gap: .75rem; padding: .68rem .8rem; border-radius: 11px; color: #c5dde3; font-size: .8rem; font-weight: 700; transition: background-color .18s ease, color .18s ease, transform .18s ease; }
.admin-sidebar-nav a:hover { background: rgb(255 255 255 / .06); color: #fff; transform: translateX(-2px); }
.admin-sidebar-nav a.active { background: linear-gradient(110deg, #0d5264, #17829a); color: #fff; box-shadow: 0 10px 24px rgb(17 100 120 / .3); }
.admin-sidebar-nav .material-symbols-rounded { font-size: 21px; font-variation-settings: "FILL" 1, "wght" 450; }
.admin-nav-group { display: grid; gap: .15rem; }
.admin-nav-group-toggle { display: flex; width: 100%; min-height: 45px; align-items: center; gap: .75rem; padding: .68rem .8rem; border: 0; border-radius: 11px; background: transparent; color: #c5dde3; font-size: .8rem; font-weight: 700; text-align: start; transition: background-color .18s ease, color .18s ease; }
.admin-nav-group-toggle:hover, .admin-nav-group.is-open .admin-nav-group-toggle { background: rgb(255 255 255 / .06); color: #fff; }
.admin-nav-group-toggle .nav-group-chevron { margin-inline-start: auto; transition: transform .2s ease; }
.admin-nav-group.is-open .nav-group-chevron { transform: rotate(180deg); }
.admin-nav-submenu { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .2s ease; }
.admin-nav-group.is-open .admin-nav-submenu { grid-template-rows: 1fr; }
.admin-nav-submenu-inner { display: grid; min-height: 0; gap: .15rem; overflow: hidden; }
.admin-sidebar-nav .admin-nav-submenu a { min-height: 40px; margin-inline-start: .65rem; padding-block: .55rem; font-size: .75rem; }
.admin-sidebar-nav .admin-nav-submenu .material-symbols-rounded { font-size: 18px; }
.admin-sidebar-footer { display: grid; gap: .35rem; margin-top: auto; padding: 1rem; border-top: 1px solid rgb(255 255 255 / .08); }
.admin-sidebar-footer a, .admin-sidebar-footer button { display: flex; width: 100%; min-height: 42px; align-items: center; gap: .65rem; padding: .6rem .75rem; border: 0; border-radius: 10px; background: transparent; color: #b5ced5; font-size: .76rem; font-weight: 700; text-align: start; }
.admin-sidebar-footer a:hover, .admin-sidebar-footer button:hover { background: rgb(255 255 255 / .06); color: #fff; }
.admin-sidebar-footer .material-symbols-rounded { font-size: 19px; }
.admin-workspace { min-height: 100vh; margin-inline-start: 270px; }
.admin-header { position: sticky; z-index: 200; top: 0; display: flex; min-height: 86px; align-items: center; gap: 1rem; padding: .9rem clamp(1rem, 3vw, 2rem); border-bottom: 1px solid var(--admin-line); background: rgb(255 255 255 / .94); box-shadow: 0 4px 18px rgb(8 45 58 / .04); backdrop-filter: blur(14px); }
.admin-menu-toggle { display: grid; width: 42px; height: 42px; place-items: center; border: 0; border-radius: 11px; background: var(--admin-foam); color: var(--admin-accent); }
.admin-header-title { display: grid; gap: .1rem; }
.admin-header-title strong { color: var(--admin-ink); font-size: 1rem; }
.admin-header-title small { color: var(--admin-muted); font-size: .68rem; }
.admin-header-actions { display: flex; align-items: center; gap: .65rem; margin-inline-start: auto; }
.admin-header-store, .admin-language { display: grid; min-width: 42px; height: 42px; place-items: center; border: 1px solid var(--admin-line); border-radius: 12px; background: #fff; color: var(--admin-ink); font-size: .73rem; font-weight: 800; }
.admin-header-store:hover, .admin-language:hover { border-color: #9bcedb; background: var(--admin-foam); color: var(--admin-accent); }
.admin-profile { display: flex; align-items: center; gap: .65rem; padding: .25rem .4rem; border: 0; border-radius: 13px; background: transparent; text-align: start; }
.admin-profile:hover { background: var(--admin-foam); }
.admin-profile > i { color: var(--admin-muted); font-size: 18px; }
.admin-profile > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: linear-gradient(135deg, #0d5264, #17829a); color: #fff; font-size: 1rem; font-weight: 800; box-shadow: 0 8px 18px rgb(17 100 120 / .25); }
.admin-profile p { display: grid; margin: 0; line-height: 1.25; }
.admin-profile strong { color: var(--admin-ink); font-size: .76rem; }
.admin-profile small { color: var(--admin-muted); font-size: .62rem; }
.admin-main { width: min(100%, 1500px); margin-inline: auto; padding: clamp(1.2rem, 3vw, 2rem); }
.admin-main > h1 { margin-bottom: 1.5rem; color: var(--admin-ink); font-size: 1.65rem; }
.admin-main .card, .admin-main .table-wrap { border: 1px solid var(--admin-line); border-radius: 16px; box-shadow: 0 6px 24px rgb(8 45 58 / .05); }
.admin-main .table-wrap { background: #fff; }
.admin-main th { background: #f0f5f6; color: var(--admin-ink); }
.admin-main tbody tr:hover { background: #f4fbfc; }
.admin-nav-collapsed .admin-sidebar { transform: translateX(calc(-100% - 20px)); }
[dir="rtl"] .admin-nav-collapsed .admin-sidebar { transform: translateX(calc(100% + 20px)); }
.admin-nav-collapsed .admin-workspace { margin-inline-start: 0; }
.admin-sidebar, .admin-workspace { transition: transform .25s ease, margin .25s ease; }
.admin-dropdown { position: relative; }
.admin-icon-button { position: relative; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--admin-line); border-radius: 12px; background: #fff; color: var(--admin-ink); }
.admin-icon-button b { position: absolute; inset-block-start: -5px; inset-inline-end: -4px; display: grid; width: 18px; height: 18px; place-items: center; border: 2px solid #fff; border-radius: 50%; background: #e9674d; color: #fff; font-size: .55rem; }
.admin-dropdown-menu { position: absolute; z-index: 500; inset-block-start: calc(100% + .7rem); inset-inline-end: 0; display: none; width: min(360px, calc(100vw - 2rem)); overflow: hidden; border: 1px solid var(--admin-line); border-radius: 15px; background: #fff; box-shadow: 0 18px 50px rgb(8 45 58 / .16); }
.admin-dropdown-menu.show { display: block; }
.dropdown-heading { display: flex; align-items: center; justify-content: space-between; padding: .9rem 1rem; border-bottom: 1px solid #eeeef3; }
.dropdown-heading strong { font-size: .82rem; }.dropdown-heading form { margin: 0; }.dropdown-heading button { border: 0; background: transparent; color: var(--admin-accent); font-size: .65rem; font-weight: 800; }
.notification-item { display: flex; gap: .7rem; padding: .85rem 1rem; border-bottom: 1px solid #edf1f1; }.notification-item.unread { background: #f4fbfc; }.notification-item > span { color: var(--admin-accent); }.notification-item p { display: grid; margin: 0; color: var(--admin-ink); font-size: .72rem; }.notification-item small { margin-top: .2rem; color: var(--admin-muted); font-size: .6rem; }.dropdown-empty { padding: 2rem; color: var(--admin-muted); font-size: .72rem; text-align: center; }
.dropdown-view-all { display: block; padding: .8rem 1rem; color: var(--admin-accent); font-size: .72rem; font-weight: 800; text-align: center; }.notification-page-list { display: grid; gap: .55rem; }.notification-page .notification-item { align-items: flex-start; border: 1px solid var(--admin-line); border-radius: 12px; background: #fff; }.notification-page .notification-item.unread { border-color: #9edce1; background: #f4fbfc; }.notification-page .notification-item p { flex: 1; font-size: .82rem; }.notification-page .notification-item small { font-size: .68rem; }.dashboard-notifications { margin-top: 1.2rem; }.notification-link { position: relative; }.notification-count { display: inline-grid; place-items: center; min-width: 17px; height: 17px; padding: 0 .2rem; border-radius: 50%; background: var(--md-error); color: #fff; font-size: .58rem; line-height: 1; }
.profile-menu { width: 230px; padding: .45rem; }.profile-menu a, .profile-menu button { display: flex; width: 100%; align-items: center; gap: .65rem; padding: .7rem .75rem; border: 0; border-radius: 9px; background: transparent; color: var(--admin-ink); font-size: .72rem; font-weight: 700; text-align: start; }.profile-menu a:hover, .profile-menu button:hover { background: var(--admin-foam); color: var(--admin-accent); }.profile-menu form { margin: 0; }.profile-menu .material-symbols-rounded { font-size: 19px; }
.admin-page-heading { align-items: center; margin-bottom: 1.25rem; }.admin-page-heading h1 { color: var(--admin-ink); font-size: 1.65rem; }.admin-page-heading .btn { gap: .4rem; border-radius: 11px; background: var(--admin-accent); box-shadow: 0 8px 20px rgb(17 100 120 / .2); }.admin-page-heading .btn:hover { background: var(--admin-accent-dark); }.admin-page-heading .btn-secondary { background: #fff; color: var(--admin-ink); box-shadow: none; }
.admin-filters { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; padding: .85rem; border: 1px solid var(--admin-line); border-radius: 15px; background: #fff; box-shadow: 0 5px 18px rgb(8 45 58 / .04); }.admin-filters .filter-search { position: relative; flex: 1; min-width: 220px; }.filter-search > span { position: absolute; inset-block-start: 50%; inset-inline-start: .75rem; color: var(--admin-muted); transform: translateY(-50%); }.filter-search input { padding-inline-start: 2.65rem; }.admin-filters select { width: min(240px, 100%); }.admin-filters .btn { min-height: 43px; border-radius: 10px; box-shadow: none; }
.report-page-heading { gap: 1rem; }.report-filters { flex-wrap: wrap; }.report-filters > label { display: grid; gap: .28rem; color: var(--admin-muted); font-size: .65rem; font-weight: 800; }.report-filters input, .report-filters select { min-width: 145px; }.report-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; padding: .45rem; border: 1px solid var(--admin-line); border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgb(8 45 58 / .04); }.report-tabs a { display: inline-flex; align-items: center; gap: .38rem; padding: .62rem .8rem; border-radius: 10px; color: var(--admin-muted); font-size: .72rem; font-weight: 800; }.report-tabs a:hover { background: #f1f8f9; color: var(--admin-accent); }.report-tabs a.active { background: var(--admin-accent); color: #fff; box-shadow: 0 6px 14px rgb(17 100 120 / .2); }.report-tabs .material-symbols-rounded { font-size: 18px; }.report-stat-grid { margin-bottom: 1rem; }.report-panel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.report-summary-card, .report-table-card { padding: 1.1rem; }.report-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; margin-bottom: .85rem; }.report-panel-heading h2 { margin: 0; color: var(--admin-ink); font-size: .95rem; }.report-panel-heading p { margin: .2rem 0 0; color: var(--admin-muted); font-size: .68rem; }.report-progress-row { display: grid; grid-template-columns: minmax(0, 1fr) 78px; gap: .4rem .7rem; align-items: center; padding: .6rem 0; border-bottom: 1px solid #edf1f1; }.report-progress-row:last-child { border-bottom: 0; }.report-progress-row > div { display: flex; justify-content: space-between; gap: .5rem; color: var(--admin-ink); font-size: .72rem; font-weight: 700; }.report-progress-row progress { width: 100%; height: 7px; accent-color: var(--admin-accent); }.report-progress-row small { color: var(--admin-muted); font-size: .64rem; text-align: end; }.report-method-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .65rem 0; border-bottom: 1px solid #edf1f1; }.report-method-row:last-child { border-bottom: 0; }.report-method-row > span, .report-sales-card > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; background: #e9f6f9; color: var(--admin-accent); font-size: 19px; }.report-method-row div { display: grid; }.report-method-row strong { color: var(--admin-ink); font-size: .72rem; }.report-method-row small { color: var(--admin-muted); font-size: .62rem; }.report-method-row b { color: #31515c; font-size: .72rem; white-space: nowrap; }.report-sales-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }.report-sales-card { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: .8rem; align-items: center; }.report-sales-card > span { grid-row: span 3; width: 44px; height: 44px; }.report-sales-card small { color: var(--admin-muted); font-size: .68rem; font-weight: 800; }.report-sales-card strong { color: var(--admin-ink); font-size: 1.25rem; }.report-sales-card strong em { color: var(--admin-muted); font-size: .6rem; font-style: normal; }.report-sales-card p { grid-column: 1 / -1; margin: .8rem 0 0; padding-top: .7rem; border-top: 1px solid #edf1f1; color: var(--admin-muted); font-size: .66rem; }
.dashboard-chart-panel { margin-top: 1rem; }.dashboard-chart-grid, .report-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.dashboard-chart-grid > article, .report-chart-card { min-width: 0; padding: 1rem; border: 1px solid var(--admin-line); border-radius: 15px; background: #fbfdfd; }.dashboard-chart-heading { display: flex; align-items: center; gap: .65rem; margin-bottom: .75rem; }.dashboard-chart-heading > span, .report-chart-card > .report-panel-heading > span { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: #e9f6f9; color: var(--admin-accent); font-size: 20px; }.dashboard-chart-heading h3 { margin: 0; color: var(--admin-ink); font-size: .82rem; }.dashboard-chart-heading p { margin: .15rem 0 0; color: var(--admin-muted); font-size: .62rem; }.chart-canvas-wrap { position: relative; height: 270px; }.report-chart-grid { margin-bottom: 1rem; }.report-chart-card { padding: 1.1rem; }
.table-actions { display: flex; gap: .35rem; }.table-actions form { margin: 0; }.icon-action { display: grid; width: 35px; height: 35px; place-items: center; border: 0; border-radius: 9px; background: var(--admin-foam); color: var(--admin-accent); }.icon-action.danger { background: #fff0ef; color: #b42318; }.icon-action .material-symbols-rounded { font-size: 18px; }.empty-table { padding: 3rem; color: var(--admin-muted); text-align: center; }
.modal-content { border: 0; border-radius: 19px; box-shadow: 0 25px 80px rgb(8 45 58 / .22); }.modal-header { border-color: var(--admin-line); padding: 1rem 1.25rem; }.modal-header h2, .modal-title { margin: 0; font-size: 1.05rem; }.modal-body { padding: 1.25rem; }.form-actions { display: flex; justify-content: flex-end; margin-top: 1.1rem; }.permission-fieldset { padding: 1rem; border: 1px solid var(--admin-line); border-radius: 13px; }.permission-fieldset legend { float: none; width: auto; margin: 0 0 .7rem; padding-inline: .3rem; color: var(--admin-ink); font-size: .78rem; font-weight: 800; }.permission-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }.permission-option { display: flex; align-items: center; gap: .5rem; margin: 0; padding: .65rem; border-radius: 9px; background: #f0f5f6; }.permission-option input { width: auto; }.admin-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.admin-settings-grid h2 { margin: 0; font-size: 1rem; }
.product-upload-field input[type="file"] { padding: .8rem; border: 1px dashed #8fcbd5; background: #f4fbfc; }.product-upload-field small { display: block; margin-top: .4rem; }.product-image-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(130px,1fr)); gap: .75rem; }.product-image-item { display: grid; gap: .45rem; margin: 0; padding: .45rem; border: 1px solid var(--admin-line); border-radius: 12px; background: #fff; }.product-image-item img { width: 100%; aspect-ratio: 1; border-radius: 9px; object-fit: cover; }.product-image-item span { display: flex; align-items: center; gap: .35rem; color: #b42318; font-size: .68rem; }.product-image-item input { width: auto; }
.product-details-fieldset, .product-specifications-editor, .product-variants-editor { padding: 1rem; border: 1px solid var(--admin-line); border-radius: 13px; }.product-details-fieldset legend, .product-specifications-editor legend, .product-variants-editor legend { float: none; width: auto; margin: 0; padding-inline: .3rem; color: var(--admin-ink); font-size: .78rem; font-weight: 800; }.product-details-fieldset small { display: block; margin-top: .35rem; color: var(--admin-muted); font-size: .67rem; font-weight: 500; }.specifications-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.specifications-heading .btn { min-height: 36px; gap: .3rem; padding: .45rem .65rem; font-size: .7rem; }.product-specifications-editor > .muted, .product-variants-editor > .muted { margin: .5rem 0 .8rem; font-size: .7rem; }.product-specifications-list, .product-variants-list { display: grid; gap: .55rem; }.product-specification-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) 36px; gap: .45rem; align-items: center; }.product-variant-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) 36px; gap: .45rem; align-items: center; }.product-specification-row input, .product-variant-row input { min-width: 0; }.remove-specification, .remove-variant { display: grid; width: 36px; height: 36px; place-items: center; border: 0; border-radius: 9px; background: #fff0ef; color: #b42318; }.remove-specification .material-symbols-rounded, .remove-variant .material-symbols-rounded { font-size: 18px; }.new-video-preview, .product-video-item video { width: min(100%, 520px); max-height: 320px; border-radius: 12px; background: #082d3a; }.product-video-item { display: grid; gap: .7rem; }.remove-video { display: flex; align-items: center; gap: .45rem; margin: 0; color: #b42318; font-size: .72rem; }.remove-video input { width: auto; }
.admin-product-detail-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); gap: 1rem; }.admin-product-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .75rem; }.admin-product-media-grid a { display: block; overflow: hidden; border-radius: 12px; background: #f0f5f6; }.admin-product-media-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .2s ease; }.admin-product-media-grid a:hover img { transform: scale(1.04); }.admin-product-media-empty { display: grid; min-height: 150px; place-items: center; align-content: center; gap: .35rem; border: 1px dashed #abc4ca; border-radius: 12px; color: var(--admin-muted); font-size: .72rem; }.admin-product-media-empty .material-symbols-rounded { font-size: 34px; }.admin-product-video { width: min(100%, 640px); max-height: 360px; border-radius: 12px; background: #082d3a; }.admin-product-description, .admin-product-specifications { margin-top: 1rem; }.admin-product-description p { margin: 0; line-height: 1.8; white-space: pre-line; }
.branch-location-section { overflow: hidden; border: 1px solid #e2e4ec; border-radius: 15px; background: #fff; }.branch-location-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; }.branch-location-heading > div { display: grid; }.branch-location-heading strong { color: #343950; font-size: .82rem; }.branch-location-heading small { color: #9297a9; font-size: .67rem; }.branch-location-heading .btn { gap: .35rem; min-height: 38px; border-radius: 10px; }.branch-location-heading .material-symbols-rounded { font-size: 18px; }#branch-location-map { position: relative; z-index: 0; width: 100%; height: clamp(280px, 46vh, 430px); border-top: 1px solid #e7e8ef; }.leaflet-container { font-family: inherit; }.branch-map-error { display: grid; min-height: 280px; place-items: center; margin: 0; padding: 1rem; background: #f4fbfc; color: var(--admin-muted); font-size: .75rem; text-align: center; }.branch-location-summary { margin: 0; padding: .75rem 1rem; border-top: 1px solid #e7e8ef; background: #f4fbfc; color: var(--admin-muted); font-size: .72rem; line-height: 1.6; }
.category-image-upload { display: grid; grid-template-columns: minmax(0,1fr) 180px; align-items: start; gap: 1rem; }.category-image-upload input[type="file"] { border-style: dashed; background: #f4fbfc; }.category-image-upload small { display: block; margin-top: .35rem; }.category-image-preview { display: grid; gap: .4rem; }.category-image-preview img,.category-no-image { width: 100%; aspect-ratio: 4/3; border-radius: 12px; object-fit: cover; }.category-no-image { display: grid; place-items: center; align-content: center; gap: .3rem; border: 1px dashed #abc4ca; background: #f4fbfc; color: var(--admin-muted); }.category-no-image span { font-size: 34px; }.category-no-image small { margin: 0; }.remove-category-image { display: flex; align-items: center; gap: .35rem; color: #b42318; font-size: .68rem; }.remove-category-image input { width: auto; }.admin-table-thumbnail,.admin-table-no-image { width: 52px; height: 52px; border-radius: 10px; object-fit: cover; }.admin-table-no-image { display: grid; place-items: center; background: #f0f5f6; color: var(--admin-muted); }.category-missing-image { position: absolute; inset: 0; z-index: -2; display: grid; place-items: center; align-content: center; gap: .35rem; background: linear-gradient(145deg,#0a3846,#116478); color: rgb(255 255 255/.68); }.category-missing-image span { font-size: 45px; }.category-missing-image small { font-size: .68rem; }
.input-invalid,.input-invalid:focus { border-color: #d44e5d; box-shadow: 0 0 0 3px rgb(212 78 93 / .12); }.field-error { display: block; margin-top: .35rem; color: #c43f4e; font-size: .7rem; font-weight: 700; }
.permission-help { margin: -.25rem 0 .8rem; color: #858a9d; font-size: .7rem; }.user-permission-list { display: flex; max-width: 520px; flex-wrap: wrap; gap: .3rem; }.user-permission-list .badge { font-size: .62rem; }
.image-upload-card { display: grid; align-content: start; gap: .55rem; padding: .75rem; border: 1px solid #e2e4ec; border-radius: 13px; background: #fafbfc; }.image-upload-card > label:first-child { margin: 0; }.image-upload-card input[type="file"] { margin-top: .3rem; border-style: dashed; background: #fff; }.image-upload-card > img { width: min(100%,260px); max-height: 160px; border-radius: 10px; object-fit: cover; }
.detail-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid #eceef3; }.detail-row span { color: #858a9d; font-size: .72rem; }.detail-row strong { color: #373c54; font-size: .76rem; overflow-wrap: anywhere; }.gateway-warning { display: flex; align-items: flex-start; gap: .7rem; padding: 1rem; border-radius: 12px; background: #fff7e8; color: #79520d; }.gateway-warning p { margin: 0; font-size: .75rem; }.gateway-warning span { font-size: 22px; }
.payment-collection-fieldset { display: grid; gap: .7rem; margin: 0; padding: .85rem; border: 1px solid #c9e1e4; border-radius: 12px; background: #f4fbfc; }.payment-collection-fieldset legend { float: none; width: auto; margin: 0; padding: 0 .3rem; color: #075368; font-size: .78rem; font-weight: 800; }.payment-collection-fieldset textarea { min-height: 76px; resize: vertical; }
@media(max-width:620px){.category-image-upload{grid-template-columns:1fr}.category-image-preview{max-width:220px}}
.dashboard-welcome { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
.dashboard-welcome p { margin: 0 0 .3rem; color: var(--admin-accent); font-size: .76rem; font-weight: 800; }
.dashboard-welcome h1 { margin: 0; color: var(--admin-ink); font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -.04em; }
.dashboard-welcome > div > span { display: block; margin-top: .55rem; color: var(--admin-muted); font-size: .82rem; }
.dashboard-welcome-actions { display: flex; flex: none; gap: .6rem; }
.dashboard-welcome-actions .btn { gap: .4rem; border-radius: 11px; background: var(--admin-accent); box-shadow: 0 8px 20px rgb(17 100 120 / .2); }
.dashboard-welcome-actions .btn:hover { background: var(--admin-accent-dark); }
.dashboard-welcome-actions .btn-secondary { border: 1px solid var(--admin-line); background: #fff; color: var(--admin-ink); box-shadow: none; }
.dashboard-welcome-actions .material-symbols-rounded { font-size: 18px; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.admin-stat-card { position: relative; display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: .9rem; min-width: 0; padding: 1.2rem; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 17px; background: #fff; box-shadow: 0 7px 25px rgb(8 45 58 / .055); transition: transform .2s ease, box-shadow .2s ease; }
.admin-stat-card:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgb(8 45 58 / .1); }
.admin-stat-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 15px; font-size: 27px; font-variation-settings: "FILL" 1; }
.admin-stat-card.purple .admin-stat-icon { background: #e9f6f9; color: #116478; }.admin-stat-card.orange .admin-stat-icon { background: #fff4df; color: #9a5d03; }.admin-stat-card.green .admin-stat-icon { background: #edf4ea; color: #486e58; }.admin-stat-card.blue .admin-stat-icon { background: #e3f3ff; color: #0e6277; }
.admin-stat-card > div { display: grid; min-width: 0; }
.admin-stat-card small { color: var(--admin-muted); font-size: .69rem; font-weight: 700; }
.admin-stat-card strong { overflow: hidden; color: var(--admin-ink); font-size: 1.65rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.admin-stat-card strong em { color: var(--admin-muted); font-size: .62rem; font-style: normal; }
.admin-stat-card p { margin: .15rem 0 0; color: var(--admin-muted); font-size: .61rem; }
.admin-stat-arrow { color: #abc4ca; font-size: 19px; }
.admin-quick-section { margin-top: 1.35rem; padding: 1.25rem; border: 1px solid var(--admin-line); border-radius: 17px; background: #fff; box-shadow: 0 7px 25px rgb(8 45 58 / .05); }
.admin-section-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-section-title h2 { margin: 0; color: var(--admin-ink); font-size: 1rem; }
.admin-section-title p { margin: .2rem 0 0; color: var(--admin-muted); font-size: .68rem; }
.admin-section-title > a { color: var(--admin-accent); font-size: .68rem; font-weight: 800; }
.admin-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.admin-quick-grid > a { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: .7rem; min-width: 0; padding: .85rem; border: 1px solid var(--admin-line); border-radius: 13px; background: #f9fbfa; transition: border-color .2s ease, background-color .2s ease, transform .2s ease; }
.admin-quick-grid > a:hover { border-color: #9bcedb; background: #f4fbfc; transform: translateY(-2px); }
.admin-quick-grid > a > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; font-size: 22px; font-variation-settings: "FILL" 1; }
.admin-quick-grid .violet{background:#e9f6f9;color:#116478}.admin-quick-grid .cyan{background:#e3f7fa;color:#0e6277}.admin-quick-grid .amber{background:#fff4df;color:#9a5d03}.admin-quick-grid .green{background:#edf4ea;color:#486e58}.admin-quick-grid .rose{background:#fff0ef;color:#b42318}.admin-quick-grid .blue{background:#e3f3ff;color:#0e6277}.admin-quick-grid .slate{background:#eef4f3;color:#31515c}
.admin-quick-grid div { display: grid; min-width: 0; }
.admin-quick-grid strong { color: var(--admin-ink); font-size: .76rem; }
.admin-quick-grid small { overflow: hidden; color: var(--admin-muted); font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-quick-grid b { display: grid; min-width: 27px; height: 27px; place-items: center; border-radius: 9px; background: #fff; color: var(--admin-ink); font-size: .66rem; }
.admin-quick-grid i { color: #8fb5be; font-size: 18px; font-style: normal; }
.admin-dashboard-columns { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 1rem; margin-top: 1rem; }
.admin-dashboard-stack { display: grid; gap: 1rem; }
.admin-dashboard-panel { min-width: 0; padding: 1.2rem; border: 1px solid var(--admin-line); border-radius: 17px; background: #fff; box-shadow: 0 7px 25px rgb(8 45 58 / .05); }
.admin-payment-report { margin-top: 1rem; }.payment-report-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }.payment-report-grid > a { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: .7rem; padding: .85rem; border: 1px solid var(--admin-line); border-radius: 13px; background: #f9fbfa; }.payment-report-grid > a:hover { border-color: #9bcedb; background: #f4fbfc; }.payment-report-grid > a > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; font-size: 21px; }.payment-report-grid > a > span.card { background: #e3f3ff; color: #0e6277; }.payment-report-grid > a > span.cash { background: #edf4ea; color: #486e58; }.payment-report-grid > a > span.pending { background: #fff4df; color: #9a5d03; }.payment-report-grid div { display: grid; min-width: 0; }.payment-report-grid small { color: var(--admin-muted); font-size: .64rem; font-weight: 700; }.payment-report-grid strong { color: var(--admin-ink); font-size: 1.1rem; white-space: nowrap; }.payment-report-grid em { color: var(--admin-muted); font-size: .58rem; font-style: normal; }.cash-delegate-report { margin-top: 1.1rem; }.cash-delegate-report h3 { margin: 0 0 .45rem; color: var(--admin-ink); font-size: .78rem; }.cash-delegate-row { display: grid; grid-template-columns: 35px minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .6rem 0; border-bottom: 1px solid #edf1f1; }.cash-delegate-row:last-child { border-bottom: 0; }.cash-delegate-row > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: #f0f5f6; color: var(--admin-accent); font-size: 18px; }.cash-delegate-row p { display: grid; margin: 0; }.cash-delegate-row strong { color: var(--admin-ink); font-size: .7rem; }.cash-delegate-row small { color: var(--admin-muted); font-size: .6rem; }.cash-delegate-row b { color: #31515c; font-size: .7rem; }
.admin-order-list { display: grid; }
.admin-order-list > a { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto auto; align-items: center; gap: .75rem; padding: .8rem 0; border-bottom: 1px solid #eff0f4; }
.admin-order-list > a:last-child { border-bottom: 0; }
.order-avatar { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: var(--admin-foam); color: var(--admin-accent); font-size: 20px; }
.admin-order-list div { display: grid; min-width: 0; }
.admin-order-list strong { color: var(--admin-ink); font-size: .73rem; }.admin-order-list small { overflow: hidden; color: var(--admin-muted); font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }.admin-order-list b { color: #31515c; font-size: .67rem; white-space: nowrap; }
.status-summary { display: grid; gap: .8rem; }.status-summary > div { display: grid; gap: .35rem; }.status-summary span { display: flex; justify-content: space-between; gap: 1rem; }.status-summary b { color: #31515c; font-size: .67rem; }.status-summary small { color: var(--admin-muted); }.status-summary progress { width: 100%; height: 6px; overflow: hidden; border: 0; border-radius: 999px; background: #edf1f1; accent-color: var(--admin-accent); }
.low-stock-list { display: grid; }.low-stock-list > div, .low-stock-list > a { display: grid; grid-template-columns: 35px minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .65rem 0; border-bottom: 1px solid #edf1f1; color: inherit; }.low-stock-list > a:hover { background: #f4fbfc; }.low-stock-list > div:last-child, .low-stock-list > a:last-child { border-bottom: 0; }.low-stock-list > div > span, .low-stock-list > a > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: #fff4df; color: #9a5d03; font-size: 18px; }.low-stock-list p { display: grid; margin: 0; }.low-stock-list strong { color: var(--admin-ink); font-size: .7rem; }.low-stock-list small { color: var(--admin-muted); font-size: .6rem; }.low-stock-list b { color: #b42318; font-size: .75rem; }

/* Delegate portal */
.delegate-body { min-height: 100vh; background: #f2f6f8; color: #15343b; }.delegate-topbar { z-index: 30; border: 0; background: rgb(255 255 255 / .94); box-shadow: 0 2px 16px rgb(11 57 68 / .09); backdrop-filter: blur(12px); }.delegate-topbar .nav { gap: .25rem; }.delegate-topbar .nav a { display: inline-flex; align-items: center; gap: .35rem; border-radius: 10px; color: #48646b; font-size: .78rem; font-weight: 800; }.delegate-topbar .nav a.active, .delegate-topbar .nav a:hover { background: #d9f0f2; color: #096475; }.delegate-main { padding-top: 2rem; padding-bottom: 4rem; }.delegate-dashboard, .delegate-list-page, .delegate-profile-page { display: grid; gap: 1.2rem; }.delegate-dashboard-hero { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; min-height: 176px; padding: clamp(1.4rem, 3vw, 2.4rem); overflow: hidden; border-radius: 22px; background: radial-gradient(circle at 88% 20%, rgb(114 223 221 / .38), transparent 30%), linear-gradient(130deg, #064a5a, #087386); box-shadow: 0 16px 35px rgb(5 74 89 / .18); color: #fff; }.delegate-dashboard-hero p, .delegate-page-heading > div > p { margin: 0 0 .35rem; color: #8fe7e5; font-size: .74rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.delegate-dashboard-hero h1 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.35rem); font-weight: 900; }.delegate-dashboard-hero > div > span { display: block; max-width: 620px; margin-top: .6rem; color: #d9f7f6; font-size: .82rem; }.delegate-dashboard-actions { display: flex; flex-wrap: wrap; gap: .6rem; }.delegate-dashboard-actions .btn { white-space: nowrap; }.delegate-dashboard-actions .btn-secondary { border-color: rgb(255 255 255 / .35); background: rgb(255 255 255 / .14); color: #fff; }.delegate-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .85rem; }.delegate-stat-card { position: relative; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: start; gap: .7rem; min-height: 126px; padding: 1rem; overflow: hidden; border: 1px solid #e1eaed; border-radius: 17px; background: #fff; box-shadow: 0 7px 19px rgb(31 74 81 / .06); color: #1d3d44; transition: transform .16s ease, box-shadow .16s ease; }.delegate-stat-card:hover { color: #1d3d44; box-shadow: 0 12px 25px rgb(31 74 81 / .12); transform: translateY(-2px); }.delegate-stat-card > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; font-size: 22px; }.delegate-stat-card small { display: block; color: #6a8389; font-size: .65rem; font-weight: 800; }.delegate-stat-card strong { display: block; margin-top: .12rem; font-size: 1.65rem; line-height: 1; }.delegate-stat-card p { margin: .35rem 0 0; color: #70888e; font-size: .63rem; }.delegate-stat-card > i { color: #99adb1; font-size: 17px; }.delegate-stat-card.blue > span { background: #dbeefc; color: #17648d; }.delegate-stat-card.amber > span { background: #fff0d7; color: #b16a09; }.delegate-stat-card.green > span { background: #d9f5e7; color: #18724a; }.delegate-stat-card.coral > span { background: #fee1df; color: #bc4b48; }.delegate-stat-card.slate > span { background: #e8ecee; color: #52656b; }.delegate-dashboard-panel { padding: 1.15rem; border: 1px solid #e1eaed; border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgb(31 74 81 / .055); }.delegate-panel-heading, .delegate-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }.delegate-panel-heading h2, .delegate-page-heading h1 { margin: 0; color: #1b3d44; font-size: 1.05rem; font-weight: 900; }.delegate-panel-heading p, .delegate-page-heading span { margin: .25rem 0 0; color: #7a9095; font-size: .72rem; }.delegate-panel-heading > a { color: #087386; font-size: .72rem; font-weight: 900; }.delegate-orders-feed { display: grid; }.delegate-orders-feed > a { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto auto 18px; align-items: center; gap: .7rem; padding: .8rem .25rem; border-bottom: 1px solid #edf1f1; color: #24434a; }.delegate-orders-feed > a:last-child { border-bottom: 0; }.delegate-orders-feed > a:hover { color: #087386; }.delegate-orders-feed > a > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: #e2f4f4; color: #087386; font-size: 19px; }.delegate-orders-feed strong, .delegate-orders-feed small { display: block; }.delegate-orders-feed strong { font-size: .76rem; }.delegate-orders-feed small { margin-top: .2rem; color: #799096; font-size: .66rem; }.delegate-orders-feed b { color: #173f47; font-size: .73rem; }.delegate-orders-feed em { font-style: normal; white-space: nowrap; }.delegate-orders-feed i { color: #8ca0a5; font-size: 17px; }.delegate-order-filter { display: flex; flex-wrap: wrap; gap: .65rem; padding: .9rem; border: 1px solid #e1eaed; border-radius: 15px; background: #fff; }.delegate-order-filter select { min-width: 180px; }.delegate-mobile-orders { display: none; }.delegate-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.delegate-profile-grid .card { border: 1px solid #e1eaed; box-shadow: 0 8px 22px rgb(31 74 81 / .055); }.delegate-profile-grid h2 { margin: 0; color: #1b3d44; font-size: 1rem; }
.delegate-sidebar .delegate-nav-count { display: grid; min-width: 18px; height: 18px; place-items: center; margin-inline-start: auto; border-radius: 50%; background: #f06b64; color: #fff; font-size: .58rem; }.delegate-header { border-color: #d5e5e9; }.delegate-workspace { background: #f2f6f8; }
@media (max-width: 1100px) { .delegate-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .delegate-main { padding-top: 1.15rem; }.delegate-dashboard-hero { align-items: flex-start; flex-direction: column; min-height: 0; }.delegate-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.delegate-stat-card { min-height: 112px; }.delegate-orders-feed > a { grid-template-columns: 38px minmax(0, 1fr) auto 18px; }.delegate-orders-feed > a b { display: none; }.delegate-page-heading { align-items: flex-start; flex-direction: column; }.delegate-profile-grid { grid-template-columns: 1fr; }.delegate-mobile-orders { display: grid; gap: .65rem; }.delegate-mobile-orders article { display: grid; grid-template-columns: minmax(0, 1fr) auto 28px; align-items: center; gap: .6rem; padding: .9rem; border: 1px solid #e1eaed; border-radius: 14px; background: #fff; }.delegate-mobile-orders article small, .delegate-mobile-orders article strong, .delegate-mobile-orders article span { display: block; }.delegate-mobile-orders article strong { margin: .18rem 0; font-size: .8rem; }.delegate-mobile-orders article small, .delegate-mobile-orders article div > span { color: #748b91; font-size: .67rem; }.delegate-mobile-orders article > a { color: #087386; }.delegate-order-filter select { flex: 1 1 100%; }.delegate-topbar .nav a { justify-content: center; } }
.delegate-order-detail { display: grid; gap: 1.2rem; }.delegate-order-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.35rem; border-radius: 18px; background: linear-gradient(135deg, #083e4d, #0d7082); box-shadow: 0 14px 28px rgb(5 74 89 / .16); color: #fff; }.delegate-back-link { display: inline-flex; align-items: center; gap: .25rem; margin-bottom: .6rem; color: #bde9ed; font-size: .72rem; font-weight: 800; }.delegate-back-link:hover { color: #fff; }.delegate-order-heading p { margin: 0 0 .2rem; color: #a4e0e2; font-size: .63rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.delegate-order-heading h1 { margin: 0; font-size: clamp(1.15rem, 2vw, 1.55rem); font-weight: 900; }.delegate-order-heading > div > span { display: block; margin-top: .3rem; color: #d6f0f1; font-size: .68rem; }.delegate-order-state { display: grid; justify-items: end; gap: .5rem; }.delegate-order-state .badge { background: rgb(255 255 255 / .18); color: #fff; }.delegate-order-state strong { font-size: 1rem; }.delegate-order-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr); gap: 1.15rem; align-items: start; }.delegate-order-primary, .delegate-order-aside { display: grid; gap: 1.15rem; }.delegate-detail-card { padding: 1.1rem; border: 1px solid #dfeaec; border-radius: 17px; background: #fff; box-shadow: 0 8px 22px rgb(31 74 81 / .055); }.delegate-detail-card-heading { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; }.delegate-detail-card-heading > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 12px; background: #e1f3f4; color: #087386; font-size: 20px; }.delegate-detail-card-heading h2 { margin: 0; color: #1b3d44; font-size: .92rem; font-weight: 900; }.delegate-detail-card-heading p { margin: .18rem 0 0; color: #7a9095; font-size: .65rem; }.customer-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }.customer-detail-grid > div { display: grid; gap: .18rem; }.customer-detail-grid .full { grid-column: 1 / -1; }.customer-detail-grid small { color: #789095; font-size: .62rem; font-weight: 800; }.customer-detail-grid strong, .customer-detail-grid a { color: #1f4148; font-size: .75rem; }.customer-detail-grid a { font-weight: 800; text-decoration: underline; text-decoration-color: #9fcfd5; }.delegate-map-action { display: inline-flex; align-items: center; gap: .35rem; margin-top: .9rem; padding: .58rem .75rem; border-radius: 10px; background: #e9f7f8; color: #087386; font-size: .7rem; font-weight: 900; }.delegate-map-action .material-symbols-rounded { font-size: 17px; }.delegate-note { display: flex; gap: .55rem; margin-top: .9rem; padding: .7rem; border-radius: 10px; background: #fff8e6; color: #815c10; }.delegate-note > span { font-size: 19px; }.delegate-note p { display: grid; gap: .15rem; margin: 0; font-size: .7rem; }.delegate-note strong { font-size: .7rem; }.delegate-product-list { display: grid; }.delegate-product-item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: .85rem; padding: .85rem 0; border-top: 1px solid #eaf0f1; }.delegate-product-image { display: grid; width: 72px; height: 72px; place-items: center; overflow: hidden; border-radius: 13px; background: #eef4f5; color: #7a9095; }.delegate-product-image img { width: 100%; height: 100%; object-fit: cover; }.delegate-product-content { min-width: 0; }.delegate-product-content > small { display: block; overflow: hidden; color: #789095; font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }.delegate-product-content h3 { margin: .16rem 0 .35rem; color: #183d45; font-size: .8rem; font-weight: 900; }.delegate-product-meta { display: flex; flex-wrap: wrap; gap: .28rem .5rem; color: #6e878d; font-size: .61rem; }.delegate-product-meta b { color: #36565e; }.delegate-unit-price { display: block; margin-top: .35rem; color: #087386; font-size: .65rem; font-weight: 800; }.delegate-product-item > strong { color: #183d45; font-size: .73rem; white-space: nowrap; }.delegate-order-totals { display: grid; gap: .45rem; padding-top: .9rem; }.delegate-order-totals > div { display: flex; justify-content: space-between; gap: 1rem; color: #638087; font-size: .72rem; }.delegate-order-totals strong { color: #23464e; }.delegate-order-totals .total { margin-top: .25rem; padding-top: .65rem; border-top: 1px dashed #cfdee1; color: #173f47; font-size: .83rem; font-weight: 900; }.delegate-order-totals .total strong { color: #087386; }.delegate-detail-rows { display: grid; }.delegate-detail-rows > div { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .58rem 0; border-top: 1px solid #edf2f3; color: #6d878d; font-size: .7rem; }.delegate-detail-rows > div:first-child { border-top: 0; }.delegate-detail-rows strong, .delegate-detail-rows a { color: #1e424a; font-size: .72rem; }.delivery-complete-card { border-color: #b8e6d0; background: linear-gradient(145deg, #fff, #f0fbf5); }.delivery-complete-card .delegate-detail-card-heading > span { background: #d9f5e7; color: #18724a; }.delegate-locked-message { display: flex; gap: .4rem; margin: .9rem 0 0; padding-top: .8rem; border-top: 1px solid #ccead8; color: #327853; font-size: .68rem; }.delegate-locked-message .material-symbols-rounded { font-size: 16px; }.delegate-status-form { display: grid; gap: .8rem; }.delegate-status-form > label { display: grid; gap: .35rem; color: #395b62; font-size: .72rem; font-weight: 800; }.delegate-status-form .btn { width: 100%; }.delegate-no-action { display: flex; align-items: center; gap: .65rem; color: #71888e; }.delegate-no-action > span { color: #a4b5b9; }.delegate-no-action p { margin: 0; font-size: .72rem; }
@media (max-width: 920px) { .delegate-order-grid { grid-template-columns: 1fr; }.delegate-order-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }.delegate-order-aside .delegate-status-form, .delegate-order-aside .delegate-no-action { grid-column: 1 / -1; } }
@media (max-width: 620px) { .delegate-order-heading { align-items: flex-start; flex-direction: column; }.delegate-order-state { justify-items: start; }.customer-detail-grid { grid-template-columns: 1fr; }.delegate-order-aside { grid-template-columns: 1fr; }.delegate-product-item { grid-template-columns: 58px minmax(0, 1fr); }.delegate-product-image { width: 58px; height: 58px; }.delegate-product-item > strong { grid-column: 2; }.delegate-product-meta { font-size: .57rem; } }
.admin-empty { display: grid; justify-items: center; gap: .4rem; padding: 2.5rem; color: #a1a6b6; font-size: .72rem; }.admin-empty span { font-size: 32px; }
.admin-sidebar-scrim { display: none; }

@media (max-width: 1180px) { .admin-stat-grid, .admin-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.payment-report-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .admin-sidebar { transform: translateX(calc(-100% - 20px)); } [dir="rtl"] .admin-sidebar { transform: translateX(calc(100% + 20px)); } .admin-nav-open .admin-sidebar { transform: translateX(0); } .admin-workspace { margin-inline-start: 0; } .admin-sidebar-scrim { position: fixed; z-index: 250; inset: 0; background: rgb(17 21 39 / .45); backdrop-filter: blur(2px); } .admin-nav-open .admin-sidebar-scrim { display: block; } .admin-dashboard-columns, .admin-product-detail-grid, .report-panel-grid, .dashboard-chart-grid, .report-chart-grid { grid-template-columns: 1fr; }.admin-filters { align-items: stretch; flex-direction: column; }.admin-filters .filter-search, .admin-filters select, .report-filters input { width: 100%; }.admin-settings-grid { grid-template-columns: 1fr; }.admin-body .table-wrap { display: block; }.permission-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.product-specification-row { grid-template-columns: repeat(2, minmax(0, 1fr)) 36px; }.product-variant-row { grid-template-columns: repeat(2, minmax(0, 1fr)) 36px; } }
@media (max-width: 620px) { .admin-header { min-height: 70px; padding: .7rem 1rem; }.admin-header-title small, .admin-header-store, .admin-profile p, .admin-profile > i { display: none; }.admin-profile { padding: 0; }.admin-main { padding: 1rem; }.dashboard-welcome { align-items: flex-start; flex-direction: column; }.dashboard-welcome-actions { width: 100%; }.dashboard-welcome-actions .btn { flex: 1; }.admin-stat-grid, .admin-quick-grid, .report-sales-grid { grid-template-columns: 1fr; }.admin-order-list > a { grid-template-columns: 40px minmax(0, 1fr) auto; }.admin-order-list > a > .badge { display: none; }.admin-quick-section, .admin-dashboard-panel { padding: 1rem; }.admin-language { display:none; }.admin-page-heading { align-items: stretch; }.admin-page-heading .btn { width: 100%; }.report-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.report-tabs a { justify-content: center; }.permission-grid { grid-template-columns: 1fr; }.product-specification-row, .product-variant-row { grid-template-columns: 1fr; }.remove-specification, .remove-variant { width: 100%; } }


/* Scalable storefront category navigation */
.store-navigation {
    overflow: visible;
}
.store-navigation .store-navigation-shell {
    position: relative;
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: flex-start;
    gap: .35rem;
    overflow: visible;
}
.navigation-main-link,
.navigation-catalog-trigger {
    display: inline-flex !important;
    align-items: center;
    gap: .42rem;
}
.navigation-main-link > .material-symbols-rounded,
.navigation-catalog-trigger > .material-symbols-rounded:first-child {
    font-size: 19px;
}
.navigation-catalog {
    position: relative;
    flex: 0 0 auto;
}
.navigation-catalog-trigger {
    min-height: 40px;
    padding-inline: .85rem !important;
    background: var(--md-primary-container) !important;
    color: var(--md-on-primary-container) !important;
}
.navigation-catalog-trigger .navigation-chevron {
    margin-inline-start: .1rem;
    font-size: 18px;
    transition: transform .18s ease;
}
.navigation-catalog.is-open .navigation-chevron {
    transform: rotate(180deg);
}
.navigation-primary-links,
.navigation-utility-links {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .15rem;
}
.navigation-primary-links {
    flex: 1 1 auto;
}
.navigation-utility-links {
    flex: 0 0 auto;
    margin-inline-start: auto;
}
.store-category-menu[hidden] {
    display: none !important;
}
.store-category-menu {
    position: absolute;
    z-index: 120;
    inset-block-start: calc(100% + 10px);
    inset-inline-start: 0;
    width: min(920px, calc(100vw - 2rem));
    max-height: min(68vh, 650px);
    overflow: hidden;
    padding: 1rem;
    border: 1px solid rgb(23 52 56 / .12);
    border-radius: 24px;
    background: rgb(255 253 249 / .985);
    box-shadow: 0 24px 70px rgb(17 52 56 / .2);
    backdrop-filter: blur(18px);
}
.store-category-menu-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    align-items: end;
    gap: 1rem;
    padding: .2rem .2rem .9rem;
    border-bottom: 1px solid rgb(23 52 56 / .09);
}
.store-category-menu-kicker {
    display: block;
    margin-bottom: .25rem;
    color: var(--md-primary);
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.store-category-menu-title {
    display: flex;
    align-items: center;
    gap: .55rem;
}
.store-category-menu-title strong {
    color: var(--md-on-surface);
    font-size: 1.1rem;
    font-weight: 900;
}
.store-category-menu-title span {
    display: inline-grid;
    min-width: 28px;
    height: 24px;
    place-items: center;
    padding-inline: .45rem;
    border-radius: 999px;
    background: var(--md-primary-container);
    color: var(--md-primary);
    font-size: .68rem;
    font-weight: 900;
}
.store-category-search {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: .45rem;
    min-height: 42px;
    padding-inline: .75rem;
    border: 1px solid var(--md-outline);
    border-radius: 999px;
    background: #fff;
    color: var(--md-on-surface-variant);
}
.store-category-search:focus-within {
    border-color: var(--md-primary);
    box-shadow: 0 0 0 3px rgb(7 91 99 / .1);
}
.store-category-search .material-symbols-rounded {
    font-size: 19px;
}
.store-category-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--md-on-surface);
    font: inherit;
    font-size: .78rem;
}
.store-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    max-height: min(48vh, 455px);
    overflow: auto;
    padding: .85rem .15rem .35rem;
    scrollbar-width: thin;
    scrollbar-color: rgb(7 91 99 / .35) transparent;
}
.store-category-group {
    min-width: 0;
    padding: .72rem;
    border: 1px solid rgb(23 52 56 / .08);
    border-radius: 17px;
    background: #fff;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.store-category-group:hover {
    border-color: rgb(7 91 99 / .2);
    box-shadow: 0 9px 24px rgb(17 52 56 / .09);
    transform: translateY(-1px);
}
.store-category-parent {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) 22px;
    align-items: center;
    gap: .65rem;
    width: 100%;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--md-on-surface) !important;
    text-align: start;
    text-transform: none !important;
    white-space: normal !important;
}
.store-category-parent:hover {
    background: transparent !important;
}
.store-category-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 13px;
    background: var(--md-primary-container);
    color: var(--md-primary);
    font-size: 21px;
}
.store-category-parent-copy {
    display: grid;
    min-width: 0;
    gap: .12rem;
}
.store-category-parent-copy strong {
    overflow: hidden;
    color: var(--md-on-surface);
    font-size: .8rem;
    font-weight: 900;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.store-category-parent-copy small {
    display: -webkit-box;
    overflow: hidden;
    color: var(--md-on-surface-variant);
    font-size: .64rem;
    font-weight: 650;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.store-category-arrow {
    color: var(--md-primary);
    font-size: 18px;
}
.store-category-children {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    margin-top: .62rem;
    padding-top: .55rem;
    border-top: 1px solid rgb(23 52 56 / .07);
}
.store-category-children a {
    display: inline-flex !important;
    width: auto !important;
    min-height: 27px;
    align-items: center;
    padding: .22rem .48rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--md-surface-container) !important;
    color: var(--md-on-surface-variant) !important;
    font-size: .62rem !important;
    font-weight: 800 !important;
    line-height: 1.2;
    text-transform: none !important;
    white-space: normal !important;
}
.store-category-children a:hover {
    background: var(--md-primary-container) !important;
    color: var(--md-primary) !important;
}
.store-category-menu a::after {
    display: none !important;
}
.store-category-empty {
    grid-column: 1 / -1;
    margin: 0;
    padding: 2rem;
    color: var(--md-on-surface-variant);
    text-align: center;
}
.store-category-menu-footer {
    display: flex;
    justify-content: flex-end;
    padding: .75rem .15rem 0;
    border-top: 1px solid rgb(23 52 56 / .09);
}
.store-category-menu-footer a {
    display: inline-flex !important;
    width: auto !important;
    min-height: 38px;
    align-items: center;
    gap: .4rem;
    padding: .45rem .72rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--md-primary) !important;
    color: #fff !important;
    font-size: .7rem !important;
    font-weight: 900 !important;
    text-transform: none !important;
}
.store-category-menu-footer .material-symbols-rounded {
    font-size: 17px;
}

@media (max-width: 1040px) {
    .store-navigation .store-navigation-shell {
        gap: .1rem;
    }
    .navigation-primary-links a {
        padding-inline: .58rem;
        font-size: .72rem;
    }
    .store-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .store-navigation .store-navigation-shell {
        display: grid;
        grid-template-columns: 1fr;
        max-height: 76vh;
        overflow-y: auto;
        padding-block: .55rem;
        gap: .18rem;
    }
    .navigation-main-link,
    .navigation-catalog,
    .navigation-primary-links,
    .navigation-utility-links {
        width: 100%;
    }
    .navigation-main-link,
    .navigation-catalog-trigger,
    .navigation-primary-links > a,
    .navigation-utility-links > a {
        min-height: 44px;
        padding: .65rem .75rem !important;
        border: 0 !important;
        border-radius: 12px !important;
    }
    .navigation-primary-links,
    .navigation-utility-links {
        display: grid;
        grid-template-columns: 1fr;
        gap: .18rem;
        margin: 0;
    }
    .navigation-catalog-trigger {
        justify-content: flex-start;
        width: 100%;
    }
    .navigation-catalog-trigger .navigation-chevron {
        margin-inline-start: auto;
    }
    .store-category-menu {
        position: static;
        width: 100%;
        max-height: none;
        margin-top: .35rem;
        padding: .65rem;
        border-radius: 16px;
        box-shadow: none;
        background: var(--md-surface-container);
        backdrop-filter: none;
    }
    .store-category-menu-head {
        grid-template-columns: 1fr;
        gap: .65rem;
        padding: .2rem .1rem .7rem;
    }
    .store-category-menu-kicker {
        display: none;
    }
    .store-category-search {
        border-radius: 12px;
    }
    .store-category-grid {
        grid-template-columns: 1fr;
        max-height: 48vh;
        gap: .45rem;
        padding: .65rem .05rem .3rem;
    }
    .store-category-group {
        padding: .65rem;
        border-radius: 14px;
    }
    .store-category-parent {
        min-height: auto !important;
    }
    .store-category-menu-footer {
        justify-content: stretch;
        padding-top: .6rem;
    }
    .store-category-menu-footer a {
        justify-content: center;
        width: 100% !important;
    }
}

@media (max-width: 390px) {
    .store-category-parent {
        grid-template-columns: 36px minmax(0, 1fr) 18px;
        gap: .5rem;
    }
    .store-category-icon {
        width: 36px;
        height: 36px;
        border-radius: 11px;
        font-size: 19px;
    }
}


/* Snow-inspired premium storefront refresh */
.storefront-body {
    background: #fff;
    color: #151515;
}
.store-header {
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid #e8e8e8;
    box-shadow: none;
    backdrop-filter: blur(12px);
}
.announcement-bar {
    background: #111;
    color: #fff;
    min-height: 32px;
    display: grid;
    place-items: center;
    padding: .35rem 0;
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.store-mainbar {
    min-height: 82px;
    gap: 2.4rem;
}
.store-logo {
    color: #111;
    font-size: 1.18rem;
    letter-spacing: .01em;
}
.store-logo small {
    margin-top: .12rem;
    color: #777;
    font-size: .56rem;
    font-weight: 600;
}
.logo-mark {
    border-radius: 0;
    background: transparent;
    color: #111;
    box-shadow: none;
    transform: none;
}
.logo-mark-image {
    border: 0 !important;
    background: transparent !important;
}
.store-search {
    height: 44px;
    border: 0;
    border-bottom: 1px solid #aaa;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.store-search:focus-within {
    border: 0;
    border-bottom: 1px solid #111;
    box-shadow: none;
}
.store-search select,
.store-search input {
    background: transparent;
    color: #222;
    font-size: .76rem;
}
.store-search button {
    background: transparent;
    color: #111;
    font-size: 1.25rem;
}
.store-actions > a,
.language-switch {
    border-radius: 0;
    color: #111;
    padding: .32rem .4rem;
}
.store-actions > a:hover,
.language-switch:hover {
    background: transparent;
    color: #666;
}
.cart-action b {
    background: #111;
}
.account-navigation {
    border-top: 1px solid #efefef;
    border-bottom: 1px solid #efefef;
    background: #fafafa;
}
.account-navigation .shell {
    min-height: 34px;
}
.account-navigation a,
.account-navigation button {
    border-radius: 0;
    color: #555;
    font-size: .66rem;
    font-weight: 700;
}
.account-navigation a:hover,
.account-navigation button:hover {
    background: transparent;
    color: #111;
}
.store-navigation {
    border-top: 0;
    border-bottom: 1px solid #ededed;
    background: #fff;
}
.store-navigation .store-navigation-shell {
    min-height: 52px;
    gap: .05rem;
}
.store-navigation a,
.store-navigation button {
    border-radius: 0;
    color: #222;
    padding: .55rem .72rem;
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .03em;
}
.store-navigation a:hover,
.store-navigation button:hover {
    background: transparent;
    color: #777;
}
.navigation-catalog-trigger {
    background: transparent !important;
    color: #111 !important;
    border: 1px solid #d8d8d8 !important;
}
.navigation-catalog-trigger:hover {
    border-color: #111 !important;
    color: #111 !important;
}
.store-category-menu {
    border-radius: 0;
    border-color: #e4e4e4;
    background: #fff;
    box-shadow: 0 18px 48px rgb(0 0 0 / .12);
}
.store-category-group {
    border-radius: 0;
    border-color: #eaeaea;
    box-shadow: none;
}
.store-category-group:hover {
    border-color: #cfcfcf;
    box-shadow: none;
    transform: none;
}
.store-category-icon {
    border-radius: 0;
    background: #f2f2f0;
    color: #111;
}
.store-category-menu-footer a {
    border-radius: 0 !important;
    background: #111 !important;
}

/* Home page */
main:has(.snow-home) {
    width: 100%;
    max-width: none;
    padding: 0 0 6rem;
}
.snow-home {
    --snow-black: #101010;
    --snow-copy: #4c4c4c;
    --snow-line: #dededb;
    --snow-soft: #f3f3ef;
    --snow-cream: #f7f6f1;
    display: grid;
    gap: clamp(4.5rem, 8vw, 8rem);
    overflow: hidden;
    background: #fff;
    color: var(--snow-black);
}
.snow-home a {
    text-decoration: none;
}
.snow-hero {
    position: relative;
    min-height: min(78vh, 760px);
    overflow: hidden;
    background: #1b1b1b;
}
.snow-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.snow-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgb(0 0 0 / .60) 0%, rgb(0 0 0 / .38) 34%, rgb(0 0 0 / .04) 72%),
        linear-gradient(0deg, rgb(0 0 0 / .23), transparent 44%);
}
[dir="rtl"] .snow-hero-overlay {
    background:
        linear-gradient(270deg, rgb(0 0 0 / .60) 0%, rgb(0 0 0 / .38) 34%, rgb(0 0 0 / .04) 72%),
        linear-gradient(0deg, rgb(0 0 0 / .23), transparent 44%);
}
.snow-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: min(78vh, 760px);
    width: min(100% - 3rem, 1340px);
    margin: 0 auto;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding-block: clamp(4rem, 9vw, 7.5rem);
    color: #fff;
}
.snow-eyebrow {
    margin: 0 0 1rem;
    color: rgba(255,255,255,.88);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.snow-eyebrow-dark {
    color: #747474;
}
.snow-hero-content h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.5rem, 6vw, 5.4rem);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -.055em;
}
[dir="rtl"] .snow-hero-content h1 {
    letter-spacing: 0;
    line-height: 1.13;
}
.snow-hero-content > p:not(.snow-eyebrow) {
    max-width: 620px;
    margin: 1.5rem 0 0;
    color: rgba(255,255,255,.88);
    font-size: clamp(.94rem, 1.3vw, 1.08rem);
    line-height: 1.8;
}
.snow-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.6rem;
    margin-top: 2rem;
}
.snow-btn {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: .75rem 1.4rem;
    border: 1px solid currentColor;
    border-radius: 0;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: background-color .18s ease, color .18s ease;
}
.snow-btn-light {
    border-color: #fff;
    background: #fff;
    color: #111;
}
.snow-btn-light:hover {
    background: transparent;
    color: #fff;
}
.snow-btn-dark {
    border-color: #111;
    background: #111;
    color: #fff;
}
.snow-btn-dark:hover {
    background: transparent;
    color: #111;
}
.snow-text-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: 0;
    border-bottom: 1px solid currentColor;
    border-radius: 0;
    color: #171717;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.snow-text-link:hover {
    color: #777;
}
.snow-text-link-light {
    color: #fff;
}
.snow-text-link .material-symbols-rounded {
    font-size: 16px;
}
.snow-benefits {
    display: grid;
    width: min(100% - 3rem, 1340px);
    margin: calc(clamp(4.5rem, 8vw, 8rem) * -1 + 1.3rem) auto 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid var(--snow-line);
    background: #fff;
}
.snow-benefit {
    display: flex;
    min-height: 86px;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    padding: 1rem;
    border-inline-end: 1px solid var(--snow-line);
    color: #1b1b1b;
}
.snow-benefit:last-child {
    border-inline-end: 0;
}
.snow-benefit .material-symbols-rounded {
    font-size: 20px;
    font-variation-settings: "wght" 300;
}
.snow-benefit strong {
    font-size: .7rem;
    font-weight: 700;
}
.snow-intro-section,
.snow-editorial-section,
.snow-products-section,
.snow-experience-section {
    width: min(100% - 3rem, 1340px);
    margin: 0 auto;
}
.snow-intro-copy {
    width: min(100%, 820px);
    margin: 0 auto;
    text-align: center;
}
.snow-intro-copy h2,
.snow-section-head h2,
.snow-story-copy h2 {
    margin: 0;
    color: var(--snow-black);
    font-size: clamp(2rem, 4.3vw, 4rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.045em;
}
[dir="rtl"] .snow-intro-copy h2,
[dir="rtl"] .snow-section-head h2,
[dir="rtl"] .snow-story-copy h2 {
    letter-spacing: 0;
    line-height: 1.28;
}
.snow-intro-copy > p:not(.snow-eyebrow) {
    max-width: 700px;
    margin: 1.3rem auto 0;
    color: var(--snow-copy);
    font-size: .96rem;
    line-height: 1.9;
}
.snow-category-rail {
    display: flex;
    margin-top: 3.2rem;
    padding-block: .75rem;
    gap: .55rem;
    overflow-x: auto;
    scrollbar-width: thin;
}
.snow-category-rail a {
    display: inline-flex;
    min-width: max-content;
    align-items: center;
    gap: .6rem;
    padding: .82rem 1rem;
    border: 1px solid var(--snow-line);
    color: #111;
    font-size: .72rem;
    font-weight: 750;
    transition: background-color .18s ease, border-color .18s ease;
}
.snow-category-rail a:hover {
    border-color: #111;
    background: #111;
    color: #fff;
}
.snow-category-rail .material-symbols-rounded {
    font-size: 16px;
}
.snow-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 2.2rem;
}
.snow-section-head h2 {
    font-size: clamp(2rem, 3.5vw, 3.4rem);
}
.snow-section-head-centered {
    justify-content: center;
    text-align: center;
}
.snow-editorial-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1rem;
}
.snow-editorial-card {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    background: #222;
    color: #fff;
}
.snow-editorial-card:nth-child(1),
.snow-editorial-card:nth-child(4) {
    grid-column: span 7;
}
.snow-editorial-card:nth-child(2),
.snow-editorial-card:nth-child(3) {
    grid-column: span 5;
}
.snow-editorial-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2,.7,.2,1);
}
.snow-editorial-card:hover img {
    transform: scale(1.035);
}
.snow-editorial-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgb(0 0 0 / .58), rgb(0 0 0 / .05) 68%);
}
.snow-editorial-copy {
    position: absolute;
    z-index: 2;
    inset-inline: 1.5rem;
    inset-block-end: 1.45rem;
    display: grid;
    gap: .5rem;
}
.snow-editorial-copy small {
    color: rgba(255,255,255,.68);
    font-size: .64rem;
    letter-spacing: .1em;
}
.snow-editorial-copy strong {
    max-width: 540px;
    color: #fff;
    font-size: clamp(1.65rem, 3vw, 3rem);
    font-weight: 500;
    line-height: 1.05;
}
.snow-editorial-action {
    display: inline-flex;
    width: max-content;
    align-items: center;
    gap: .4rem;
    margin-top: .25rem;
    border-bottom: 1px solid rgba(255,255,255,.75);
    color: #fff;
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.snow-editorial-action .material-symbols-rounded {
    font-size: 15px;
}
.snow-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem 1rem;
}
.snow-home .shop-product-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.snow-home .shop-product-card:hover {
    box-shadow: none;
}
.snow-home .shop-product-image {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1.12;
    overflow: hidden;
    background: #f3f3f0;
}
.snow-home .shop-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 1rem;
    transition: transform .32s ease;
}
.snow-home .shop-product-card:hover .shop-product-image img {
    transform: scale(1.025);
}
.snow-home .shop-product-details {
    padding: .85rem 0 0;
}
.snow-home .shop-product-details > p {
    margin: 0 0 .25rem;
    color: #8a8a8a;
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.snow-home .shop-product-details h3 {
    margin: 0;
    min-height: auto;
    font-size: .84rem;
    font-weight: 650;
    line-height: 1.45;
}
.snow-home .shop-product-details h3 a {
    color: #111;
}
.snow-home .shop-product-bottom {
    margin-top: .55rem;
}
.snow-home .shop-product-bottom strong {
    color: #111;
    font-size: .78rem;
    font-weight: 700;
}
.snow-home .shop-product-bottom form button,
.snow-home .catalog-option-link {
    border: 1px solid #cfcfcf;
    border-radius: 0;
    background: transparent;
    color: #111;
}
.snow-home .shop-product-bottom form button:hover,
.snow-home .catalog-option-link:hover {
    border-color: #111;
    background: #111;
    color: #fff;
}
.snow-story-section {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(340px, .7fr);
    min-height: 620px;
    background: var(--snow-cream);
}
.snow-story-media {
    min-height: 620px;
    background: #e9e8e2;
}
.snow-story-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.snow-story-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(2.4rem, 6vw, 6rem);
}
.snow-story-copy h2 {
    max-width: 560px;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
}
.snow-story-copy > p:not(.snow-eyebrow) {
    max-width: 520px;
    margin: 1.4rem 0 0;
    color: var(--snow-copy);
    font-size: .93rem;
    line-height: 1.85;
}
.snow-story-copy .snow-story-note {
    padding-top: 1rem;
    border-top: 1px solid #d8d6cf;
    font-size: .8rem !important;
}
.snow-story-copy .snow-btn {
    margin-top: 1.8rem;
}
.snow-experience-grid {
    display: grid;
    grid-template-columns: 1.3fr .85fr .85fr;
    gap: 1rem;
}
.snow-experience-card {
    display: flex;
    min-height: 470px;
    flex-direction: column;
    background: #f3f3ef;
    color: #111;
}
.snow-experience-media {
    flex: 1 1 58%;
    min-height: 270px;
    overflow: hidden;
}
.snow-experience-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.snow-experience-card:hover .snow-experience-media img {
    transform: scale(1.025);
}
.snow-experience-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.5rem;
}
.snow-experience-copy small {
    color: #7a7a7a;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .12em;
}
.snow-experience-copy h3 {
    margin: .45rem 0 0;
    color: inherit;
    font-size: clamp(1.55rem, 2.3vw, 2.4rem);
    font-weight: 500;
}
.snow-experience-copy p {
    margin: .8rem 0 1.3rem;
    color: #5d5d5d;
    font-size: .82rem;
    line-height: 1.75;
}
.snow-experience-copy > span:last-child {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: auto;
    border-bottom: 1px solid currentColor;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.snow-experience-copy .material-symbols-rounded {
    font-size: 15px;
}
.snow-experience-card-simple {
    background: #deded7;
}
.snow-experience-card-dark {
    background: #171717;
    color: #fff;
}
.snow-experience-card-dark .snow-experience-copy small,
.snow-experience-card-dark .snow-experience-copy p {
    color: rgba(255,255,255,.65);
}
.snow-experience-card-dark .snow-experience-copy h3 {
    color: #fff;
}

@media (max-width: 1040px) {
    .snow-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .snow-experience-grid {
        grid-template-columns: 1.2fr 1fr;
    }
    .snow-experience-card-dark {
        grid-column: 1 / -1;
        min-height: 300px;
    }
}

@media (max-width: 760px) {
    .store-header {
        position: relative;
    }
    .store-mainbar {
        gap: .7rem;
        padding-block: .85rem;
    }
    .store-search {
        border: 1px solid #ddd;
        padding-inline-start: .35rem;
    }
    .store-navigation .store-navigation-shell {
        background: #fff;
    }
    .snow-home {
        gap: 4.25rem;
    }
    .snow-hero,
    .snow-hero-content {
        min-height: 620px;
    }
    .snow-hero-content {
        width: min(100% - 2rem, 1340px);
        padding-block: 3.5rem;
    }
    .snow-hero-content h1 {
        font-size: clamp(2.45rem, 12vw, 4rem);
    }
    .snow-benefits {
        width: min(100% - 2rem, 1340px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .snow-benefit {
        min-height: 72px;
        justify-content: flex-start;
        border-bottom: 1px solid var(--snow-line);
    }
    .snow-benefit:nth-child(2n) {
        border-inline-end: 0;
    }
    .snow-benefit:nth-last-child(-n+2) {
        border-bottom: 0;
    }
    .snow-intro-section,
    .snow-editorial-section,
    .snow-products-section,
    .snow-experience-section {
        width: min(100% - 2rem, 1340px);
    }
    .snow-section-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .snow-editorial-grid {
        display: flex;
        margin-inline: -1rem;
        padding-inline: 1rem;
        gap: .75rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }
    .snow-editorial-card,
    .snow-editorial-card:nth-child(n) {
        flex: 0 0 82vw;
        min-height: 460px;
        grid-column: auto;
        scroll-snap-align: start;
    }
    .snow-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.6rem .65rem;
    }
    .snow-story-section {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .snow-story-media {
        min-height: 390px;
    }
    .snow-story-copy {
        padding: 2.5rem 1.2rem 3rem;
    }
    .snow-experience-grid {
        grid-template-columns: 1fr;
    }
    .snow-experience-card,
    .snow-experience-card-dark {
        grid-column: auto;
        min-height: 360px;
    }
}

@media (max-width: 430px) {
    .snow-hero,
    .snow-hero-content {
        min-height: 570px;
    }
    .snow-hero-content {
        width: min(100% - 1.5rem, 1340px);
    }
    .snow-benefits {
        width: min(100% - 1.5rem, 1340px);
        grid-template-columns: 1fr;
    }
    .snow-benefit {
        border-inline-end: 0;
    }
    .snow-benefit:not(:last-child) {
        border-bottom: 1px solid var(--snow-line);
    }
    .snow-intro-section,
    .snow-editorial-section,
    .snow-products-section,
    .snow-experience-section {
        width: min(100% - 1.5rem, 1340px);
    }
    .snow-product-grid {
        grid-template-columns: 1fr 1fr;
    }
    .snow-editorial-card,
    .snow-editorial-card:nth-child(n) {
        flex-basis: 88vw;
        min-height: 420px;
    }
}


/* Snow Peak header/menu/footer parity pass */
.sp-header {
    position: sticky;
    top: 0;
    z-index: 200;
    background: #fff;
    color: #111;
}
.sp-promo {
    background: #111;
    color: #fff;
}
.sp-promo-track {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-size: .67rem;
    font-weight: 750;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.sp-promo-separator {
    width: 1px;
    height: 12px;
    background: rgb(255 255 255 / .35);
}
.sp-mainbar {
    display: grid;
    grid-template-columns: minmax(210px, 1fr) auto;
    min-height: 84px;
    align-items: center;
    gap: 2rem;
}
.sp-brand {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .8rem;
    color: #111;
}
.sp-brand:hover {
    color: #111;
}
.sp-brand img {
    width: 54px;
    height: 54px;
    object-fit: contain;
}
.sp-brand > span {
    display: grid;
    gap: .08rem;
}
.sp-brand strong {
    color: #111;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: .01em;
}
.sp-brand small {
    color: #777;
    font-size: .57rem;
    font-weight: 650;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.sp-main-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .3rem;
}
.sp-main-actions form {
    margin: 0;
}
.sp-action-button,
.sp-language-button {
    position: relative;
    display: inline-flex;
    min-width: 54px;
    min-height: 54px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .15rem;
    border: 0;
    background: transparent;
    color: #111;
    cursor: pointer;
}
.sp-action-button:hover,
.sp-language-button:hover {
    color: #777;
}
.sp-action-button .material-symbols-rounded {
    font-size: 22px;
    font-variation-settings: "wght" 300;
}
.sp-action-button small {
    font-size: .56rem;
    font-weight: 700;
    letter-spacing: .03em;
}
.sp-language-button {
    min-width: 42px;
    font-size: .65rem;
    font-weight: 800;
}
.sp-cart-button b {
    position: absolute;
    inset-block-start: 4px;
    inset-inline-end: 4px;
    display: grid;
    width: 17px;
    height: 17px;
    place-items: center;
    border-radius: 50%;
    background: #111;
    color: #fff;
    font-size: .55rem;
}
.sp-account-avatar {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: cover;
}
.sp-mobile-menu-button,
.sp-mobile-account {
    display: none;
}
.sp-search-panel[hidden] {
    display: none !important;
}
.sp-search-panel {
    position: absolute;
    z-index: 260;
    inset-inline: 0;
    inset-block-start: 34px;
    border-bottom: 1px solid #e4e4e4;
    background: #fff;
    box-shadow: 0 15px 36px rgb(0 0 0 / .08);
}
.sp-search-panel-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 84px;
    align-items: center;
    gap: 1.5rem;
}
.sp-search-form {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    border-bottom: 1px solid #111;
}
.sp-search-form > .material-symbols-rounded {
    font-size: 23px;
}
.sp-search-form input {
    min-height: 50px;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    outline: 0;
    background: transparent;
    box-shadow: none !important;
    color: #111;
    font-size: 1rem;
}
.sp-search-form button,
.sp-search-close {
    min-height: 42px;
    border: 0;
    background: transparent;
    color: #111;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
}
.sp-search-form button:hover,
.sp-search-close:hover {
    color: #777;
}
.sp-navigation {
    position: relative;
    border-top: 1px solid #ededed;
    border-bottom: 1px solid #e5e5e5;
    background: #fff;
}
.sp-navigation-inner {
    display: flex;
    min-height: 52px;
    align-items: stretch;
    justify-content: center;
    gap: 0;
}
.sp-nav-item {
    position: static;
    display: flex;
    align-items: stretch;
}
.sp-nav-trigger,
.sp-nav-link {
    position: relative;
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 0 .82rem;
    border: 0;
    background: transparent;
    color: #151515;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
}
.sp-nav-trigger::after,
.sp-nav-link::after {
    content: "";
    position: absolute;
    inset-inline: .8rem;
    inset-block-end: -1px;
    height: 2px;
    background: #111;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .16s ease;
}
.sp-nav-trigger:hover::after,
.sp-nav-item.is-open .sp-nav-trigger::after,
.sp-nav-link:hover::after {
    transform: scaleX(1);
}
.sp-nav-trigger:hover,
.sp-nav-link:hover {
    color: #111;
}
.sp-mega-menu[hidden] {
    display: none !important;
}
.sp-mega-menu {
    position: absolute;
    z-index: 240;
    inset-inline: 0;
    inset-block-start: 100%;
    border-top: 1px solid #ededed;
    border-bottom: 1px solid #ddd;
    background: #fff;
    box-shadow: 0 18px 42px rgb(0 0 0 / .10);
}
.sp-mega-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, .7fr)) minmax(300px, 1.4fr);
    gap: 3rem;
    padding-block: 2.3rem 2.6rem;
}
.sp-mega-grid-category {
    grid-template-columns: minmax(180px, .8fr) repeat(2, minmax(150px, .72fr)) minmax(280px, 1.3fr);
}
.sp-mega-column {
    display: grid;
    align-content: start;
    gap: .65rem;
}
.sp-mega-label {
    margin: 0 0 .35rem;
    color: #777;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.sp-mega-column a {
    width: fit-content;
    color: #161616;
    font-size: .76rem;
    font-weight: 600;
    line-height: 1.45;
}
.sp-mega-column a:hover {
    color: #777;
}
.sp-mega-column-intro .sp-mega-label {
    color: #111;
    font-size: .68rem;
}
.sp-mega-view-all {
    margin-block: .15rem .6rem;
    border-bottom: 1px solid #111;
    font-weight: 800 !important;
}
.sp-mega-description {
    max-width: 240px;
    margin: .5rem 0 0;
    color: #777;
    font-size: .69rem;
    line-height: 1.7;
}
.sp-mega-feature {
    position: relative;
    min-height: 240px;
    overflow: hidden;
    background: #1b1b1b;
}
.sp-mega-feature img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sp-mega-feature::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgb(0 0 0 / .58), rgb(0 0 0 / .04) 70%);
}
.sp-mega-feature > span {
    position: absolute;
    z-index: 2;
    inset-inline: 1.25rem;
    inset-block-end: 1.2rem;
    display: grid;
    gap: .35rem;
    color: #fff;
}
.sp-mega-feature small {
    color: rgb(255 255 255 / .72);
    font-size: .58rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .1em;
}
.sp-mega-feature strong {
    max-width: 320px;
    color: #fff;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.2;
}
.sp-mega-feature em {
    width: fit-content;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: .62rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.sp-mega-feature-compact {
    min-height: 220px;
}
.sp-mega-all-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 2rem;
    max-height: 58vh;
    overflow-y: auto;
    padding-block: 2.2rem 2.6rem;
}
.sp-mega-all-group {
    display: grid;
    align-content: start;
    gap: .52rem;
}
.sp-mega-all-group a {
    color: #555;
    font-size: .69rem;
    line-height: 1.4;
}
.sp-mega-all-group a:hover {
    color: #111;
}
.sp-mega-all-title {
    margin-bottom: .25rem;
    color: #111 !important;
    font-size: .73rem !important;
    font-weight: 850 !important;
}
.sp-footer {
    margin-top: 0;
    padding-top: 4.5rem;
    background: #111;
    color: #fff;
}
.sp-footer-top {
    display: grid;
    grid-template-columns: 1.45fr repeat(3, minmax(0, .75fr));
    gap: 3rem;
    padding-bottom: 3.5rem;
}
.sp-footer-brand {
    max-width: 390px;
}
.sp-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
}
.sp-footer-logo:hover {
    color: #fff;
}
.sp-footer-logo img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}
.sp-footer-brand p,
.sp-footer section p {
    color: #a8a8a8;
    font-size: .73rem;
    line-height: 1.75;
}
.sp-footer section {
    display: grid;
    align-content: start;
    gap: .55rem;
}
.sp-footer section h2 {
    margin: 0 0 .55rem;
    color: #fff;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .1em;
}
.sp-footer section a {
    width: fit-content;
    color: #c8c8c8;
    font-size: .72rem;
}
.sp-footer section a:hover {
    color: #fff;
}
.sp-footer-social-row {
    display: flex;
    min-height: 74px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid #303030;
}
.sp-footer-social-row > span {
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .11em;
}
.sp-footer-social-row > div {
    display: flex;
    gap: .7rem;
}
.sp-footer-social-row a {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #3a3a3a;
    color: #fff;
}
.sp-footer-social-row svg {
    width: 16px;
    height: 16px;
}
.sp-footer-bottom {
    display: flex;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid #303030;
    color: #777;
    font-size: .61rem;
}
.sp-menu-open {
    overflow: hidden;
}

@media (max-width: 1180px) {
    .sp-nav-trigger,
    .sp-nav-link {
        padding-inline: .55rem;
        font-size: .61rem;
    }
    .sp-mega-grid-category {
        grid-template-columns: minmax(160px, .8fr) minmax(150px, .7fr) minmax(260px, 1.2fr);
    }
    .sp-mega-grid-category .sp-mega-column:nth-of-type(3) {
        display: none;
    }
}

@media (max-width: 900px) {
    .sp-header {
        position: sticky;
    }
    .sp-promo-track {
        min-height: 30px;
        font-size: .58rem;
    }
    .sp-promo-track span:nth-of-type(2),
    .sp-promo-separator {
        display: none;
    }
    .sp-mainbar {
        grid-template-columns: 42px minmax(0, 1fr) auto;
        min-height: 70px;
        gap: .7rem;
    }
    .sp-mobile-menu-button {
        display: grid;
        width: 38px;
        height: 38px;
        place-items: center;
        align-content: center;
        gap: 5px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
    }
    .sp-mobile-menu-button span {
        display: block;
        width: 22px;
        height: 1.5px;
        background: #111;
        transition: transform .18s ease;
    }
    .sp-mobile-menu-button.is-open span:first-child {
        transform: translateY(3.25px) rotate(45deg);
    }
    .sp-mobile-menu-button.is-open span:last-child {
        transform: translateY(-3.25px) rotate(-45deg);
    }
    .sp-brand {
        justify-self: start;
    }
    .sp-brand img {
        width: 42px;
        height: 42px;
    }
    .sp-brand strong {
        font-size: .9rem;
    }
    .sp-brand small {
        display: none;
    }
    .sp-main-actions {
        gap: .05rem;
    }
    .sp-action-button {
        min-width: 40px;
        min-height: 42px;
    }
    .sp-action-button small {
        display: none;
    }
    .sp-language-button {
        min-width: 34px;
        min-height: 42px;
    }
    .sp-navigation {
        position: fixed;
        z-index: 250;
        inset-inline: 0;
        inset-block-start: 100px;
        display: none;
        height: calc(100dvh - 100px);
        overflow-y: auto;
        border-top: 1px solid #e7e7e7;
        background: #fff;
    }
    .sp-navigation.is-open {
        display: block;
    }
    .sp-navigation-inner {
        display: grid;
        min-height: auto;
        align-content: start;
        padding-block: .7rem 2rem;
    }
    .sp-nav-item {
        display: block;
        border-bottom: 1px solid #ececec;
    }
    .sp-nav-trigger,
    .sp-nav-link {
        display: flex;
        width: 100%;
        min-height: 50px;
        justify-content: flex-start;
        padding: .7rem .1rem;
        font-size: .7rem;
    }
    .sp-nav-trigger::after,
    .sp-nav-link::after {
        display: none;
    }
    .sp-nav-trigger::before {
        content: "+";
        order: 2;
        margin-inline-start: auto;
        font-size: 1rem;
        font-weight: 400;
    }
    .sp-nav-item.is-open .sp-nav-trigger::before {
        content: "−";
    }
    .sp-mega-menu {
        position: static;
        border: 0;
        box-shadow: none;
        background: #fafafa;
    }
    .sp-mega-grid,
    .sp-mega-grid-category,
    .sp-mega-all-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.2rem;
        max-height: none;
        padding: 1.1rem .8rem 1.4rem;
    }
    .sp-mega-grid-category .sp-mega-column:nth-of-type(3) {
        display: grid;
    }
    .sp-mega-feature {
        min-height: 230px;
    }
    .sp-mega-all-grid {
        gap: 1rem;
    }
    .sp-mobile-account {
        position: fixed;
        z-index: 251;
        inset-inline: 0;
        inset-block-end: 0;
        display: none;
        min-height: 48px;
        align-items: center;
        justify-content: center;
        gap: 1.2rem;
        border-top: 1px solid #ddd;
        background: #fff;
    }
    .sp-menu-open .sp-mobile-account {
        display: flex;
    }
    .sp-mobile-account a {
        color: #333;
        font-size: .63rem;
        font-weight: 750;
    }
    .sp-search-panel {
        inset-block-start: 30px;
    }
    .sp-search-panel-inner {
        min-height: 70px;
        gap: .6rem;
    }
    .sp-search-form {
        grid-template-columns: 24px minmax(0,1fr);
    }
    .sp-search-form button {
        display: none;
    }
    .sp-footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 2rem 1.2rem;
    }
}

@media (max-width: 560px) {
    .sp-mainbar {
        width: min(100% - 1.2rem, 1240px);
    }
    .sp-brand > span {
        max-width: 125px;
    }
    .sp-brand strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .sp-main-actions .sp-action-button:nth-of-type(2) {
        display: none;
    }
    .sp-search-panel-inner {
        width: min(100% - 1.2rem, 1240px);
    }
    .sp-footer {
        padding-top: 3rem;
    }
    .sp-footer-top {
        grid-template-columns: 1fr;
        padding-bottom: 2.5rem;
    }
    .sp-footer-social-row,
    .sp-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        padding-block: 1rem;
    }
}


/* Snow Peak homepage parity pass */
main:has(.sp-home) {
    width: 100%;
    max-width: none;
    padding: 0;
}
.sp-home {
    background: #fff;
    color: #111;
}
.sp-home-hero {
    position: relative;
    min-height: min(78vh, 760px);
    overflow: hidden;
    background: #222;
}
.sp-home-hero > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sp-home-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgb(0 0 0 / .44), rgb(0 0 0 / .04) 62%);
}
.sp-home-hero-copy {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: min(78vh, 760px);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding-block: 4rem;
    color: #fff;
}
.sp-home-hero-copy p {
    margin: 0 0 .75rem;
    color: rgba(255,255,255,.86);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.sp-home-hero-copy h1 {
    max-width: 790px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.5rem, 5.7vw, 5.6rem);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -.055em;
}
[dir="rtl"] .sp-home-hero-copy h1 {
    line-height: 1.15;
    letter-spacing: 0;
}
.sp-home-hero-copy > a {
    display: inline-flex;
    margin-top: 1.7rem;
    padding-bottom: .2rem;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: .71rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.sp-home-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid #dedede;
    background: #fff;
}
.sp-home-benefits > div {
    display: flex;
    min-height: 78px;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: 1rem;
    border-inline-end: 1px solid #e2e2e2;
}
.sp-home-benefits > div:last-child {
    border-inline-end: 0;
}
.sp-home-benefits .material-symbols-rounded {
    font-size: 19px;
    font-variation-settings: "wght" 300;
}
.sp-home-benefits strong {
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .025em;
}
.sp-home-designed {
    padding-block: 7rem 6rem;
}
.sp-home-designed-copy {
    width: min(100%, 820px);
    margin: 0 auto;
    text-align: center;
}
.sp-home-designed h2,
.sp-home-experience > h2,
.sp-home-about-copy h2,
.sp-home-closing h2 {
    margin: 0;
    color: #111;
    font-size: clamp(2.2rem, 4.2vw, 4.25rem);
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: -.045em;
}
[dir="rtl"] .sp-home-designed h2,
[dir="rtl"] .sp-home-experience > h2,
[dir="rtl"] .sp-home-about-copy h2,
[dir="rtl"] .sp-home-closing h2 {
    line-height: 1.22;
    letter-spacing: 0;
}
.sp-home-designed-copy p {
    max-width: 720px;
    margin: 1.25rem auto 0;
    color: #595959;
    font-size: .92rem;
    line-height: 1.85;
}
.sp-home-category-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    width: min(100%, 980px);
    margin: 3.6rem auto 0;
    border-top: 1px solid #dedede;
    border-inline-start: 1px solid #dedede;
}
.sp-home-category-links a {
    display: grid;
    min-height: 62px;
    place-items: center;
    padding: .8rem;
    border-inline-end: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    color: #111;
    font-size: .69rem;
    font-weight: 700;
    text-align: center;
}
.sp-home-category-links a:hover {
    background: #111;
    color: #fff;
}
.sp-home-collections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5rem 1.2rem;
    padding-bottom: 7rem;
}
.sp-home-collection-card {
    display: grid;
    gap: 1.35rem;
}
.sp-home-collection-media {
    display: block;
    aspect-ratio: 1.23 / 1;
    overflow: hidden;
    background: #eee;
}
.sp-home-collection-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}
.sp-home-collection-card:hover .sp-home-collection-media img {
    transform: scale(1.025);
}
.sp-home-collection-copy {
    max-width: 600px;
}
.sp-home-collection-copy h2 {
    margin: 0;
    color: #111;
    font-size: clamp(1.65rem, 2.8vw, 2.85rem);
    font-weight: 500;
    line-height: 1.07;
    letter-spacing: -.035em;
}
.sp-home-collection-copy p {
    max-width: 540px;
    margin: .85rem 0 0;
    color: #626262;
    font-size: .82rem;
    line-height: 1.75;
}
.sp-home-collection-copy > a,
.sp-home-experience article > div:last-child > a,
.sp-home-about-copy > a {
    display: inline-flex;
    margin-top: 1rem;
    padding-bottom: .18rem;
    border-bottom: 1px solid #111;
    color: #111;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sp-home-experience {
    padding-block: 7rem;
    border-top: 1px solid #e3e3e3;
}
.sp-home-experience > h2 {
    margin-bottom: 3rem;
    text-align: center;
}
.sp-home-experience-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}
.sp-home-experience article {
    display: grid;
    background: #f4f4f0;
}
.sp-home-experience-media {
    aspect-ratio: 1.08 / 1;
    overflow: hidden;
    background: #e7e7e2;
}
.sp-home-experience-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sp-home-experience article > div:last-child {
    display: grid;
    align-content: start;
    min-height: 250px;
    padding: 1.45rem;
}
.sp-home-experience h3 {
    margin: 0;
    color: #111;
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.sp-home-experience article p {
    margin: .9rem 0 0;
    color: #5f5f5f;
    font-size: .8rem;
    line-height: 1.75;
}
.sp-home-experience article > div:last-child > a {
    width: fit-content;
    align-self: end;
    margin-top: 1.5rem;
}
.sp-home-about {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
    min-height: 650px;
    background: #f1f1ed;
}
.sp-home-about-media {
    min-height: 650px;
    overflow: hidden;
}
.sp-home-about-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sp-home-about-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(2.5rem, 6vw, 6rem);
}
.sp-home-about-copy p {
    max-width: 520px;
    margin: 1.2rem 0 0;
    color: #5f5f5f;
    font-size: .9rem;
    line-height: 1.85;
}
.sp-home-closing {
    padding-block: 7rem;
    text-align: center;
}
.sp-home-closing p {
    margin: 1rem auto 0;
    color: #686868;
    font-size: .86rem;
}
.sp-home-socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem 1.6rem;
    margin-top: 2rem;
}
.sp-home-socials a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #111;
    font-size: .67rem;
    font-weight: 750;
}
.sp-home-socials .social-icon {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
}
.sp-home-socials svg {
    width: 16px;
    height: 16px;
}
@media (max-width: 900px) {
    .sp-home-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sp-home-benefits > div:nth-child(2n) { border-inline-end: 0; }
    .sp-home-benefits > div:nth-child(-n+2) { border-bottom: 1px solid #e2e2e2; }
    .sp-home-category-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sp-home-collections { gap-block: 3.8rem; }
    .sp-home-experience-grid { grid-template-columns: 1fr 1fr; }
    .sp-home-experience article:last-child { grid-column: 1 / -1; }
    .sp-home-about { grid-template-columns: 1fr; min-height: 0; }
    .sp-home-about-media { min-height: 500px; }
}
@media (max-width: 620px) {
    .sp-home-hero, .sp-home-hero-copy { min-height: 600px; }
    .sp-home-hero-copy { padding-block: 2.8rem; }
    .sp-home-benefits { grid-template-columns: 1fr; }
    .sp-home-benefits > div { min-height: 60px; justify-content: flex-start; padding-inline: 1.2rem; border-inline-end: 0; border-bottom: 1px solid #e2e2e2; }
    .sp-home-benefits > div:last-child { border-bottom: 0; }
    .sp-home-designed { padding-block: 4.5rem; }
    .sp-home-category-links { margin-top: 2.7rem; }
    .sp-home-collections { grid-template-columns: 1fr; gap: 3.5rem; padding-bottom: 5rem; }
    .sp-home-collection-media { aspect-ratio: 1 / 1; }
    .sp-home-experience { padding-block: 5rem; }
    .sp-home-experience-grid { grid-template-columns: 1fr; }
    .sp-home-experience article:last-child { grid-column: auto; }
    .sp-home-about-media { min-height: 380px; }
    .sp-home-about-copy { padding: 2.8rem 1.2rem 3.2rem; }
    .sp-home-closing { padding-block: 5rem; }
}


/* Arabic storefront typography */
html[dir="rtl"] body,
html[dir="rtl"] button,
html[dir="rtl"] input,
html[dir="rtl"] select,
html[dir="rtl"] textarea {
    font-family: "IBM Plex Sans Arabic", "Inter", sans-serif;
}

html[dir="rtl"] .sp-brand strong,
html[dir="rtl"] .sp-nav-trigger,
html[dir="rtl"] .sp-nav-link,
html[dir="rtl"] .sp-home-hero-copy h1,
html[dir="rtl"] .sp-home-designed h2,
html[dir="rtl"] .sp-home-collection-copy h2,
html[dir="rtl"] .sp-home-experience h2,
html[dir="rtl"] .sp-home-about-copy h2,
html[dir="rtl"] .sp-home-closing h2 {
    font-family: "IBM Plex Sans Arabic", sans-serif;
    letter-spacing: 0;
}


/* Arabic storefront size tuning */
html[dir="rtl"] body {
    font-size: 16.5px;
}

html[dir="rtl"] .sp-nav-trigger,
html[dir="rtl"] .sp-nav-link {
    font-size: .72rem;
}

html[dir="rtl"] .sp-action-button small,
html[dir="rtl"] .sp-language-button,
html[dir="rtl"] .sp-promo-track,
html[dir="rtl"] .sp-home-benefits strong,
html[dir="rtl"] .sp-home-category-links a {
    font-size: .71rem;
}

html[dir="rtl"] .sp-home-collection-copy p,
html[dir="rtl"] .sp-home-experience article p,
html[dir="rtl"] .sp-home-about-copy p,
html[dir="rtl"] .sp-home-designed-copy p {
    font-size: .96rem;
    line-height: 1.9;
}

html[dir="rtl"] .sp-home-hero-copy p {
    font-size: .7rem;
}

html[dir="rtl"] .sp-home-collection-copy > a,
html[dir="rtl"] .sp-home-experience article > div:last-child > a,
html[dir="rtl"] .sp-home-about-copy > a,
html[dir="rtl"] .sp-home-hero-copy > a {
    font-size: .71rem;
}


/* Editorial history page */
main:has(.sp-history-page){width:100%;max-width:none;padding:0}
.sp-history-page{background:#fff;color:#111}
.sp-history-title{padding-block:5.5rem 3.5rem;text-align:center}
.sp-history-title p,.sp-history-kicker{margin:0 0 .9rem;color:#777;font-size:.63rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.sp-history-title h1{margin:0;color:#111;font-size:clamp(2.8rem,6vw,6rem);font-weight:500;line-height:1;letter-spacing:-.055em}
[dir="rtl"] .sp-history-title h1{letter-spacing:0;line-height:1.18}
.sp-history-hero{min-height:min(68vh,720px);overflow:hidden;background:#e9e9e5}
.sp-history-hero img{width:100%;height:100%;min-height:min(68vh,720px);object-fit:cover}
.sp-history-intro{padding-block:7rem}
.sp-history-intro-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:6rem;align-items:start}
.sp-history-intro h2,.sp-history-chapter h2,.sp-history-message h2,.sp-history-mission h2{margin:0;color:#111;font-size:clamp(2.2rem,4vw,4rem);font-weight:500;line-height:1.08;letter-spacing:-.045em}
[dir="rtl"] .sp-history-intro h2,[dir="rtl"] .sp-history-chapter h2,[dir="rtl"] .sp-history-message h2,[dir="rtl"] .sp-history-mission h2{letter-spacing:0;line-height:1.28}
.sp-history-body-copy{display:grid;gap:1.2rem}
.sp-history-body-copy p,.sp-history-chapter-copy>p:not(.sp-history-kicker),.sp-history-message-grid p,.sp-history-mission>div>p:not(.sp-history-kicker){margin:0;color:#535353;font-size:.94rem;line-height:1.95}
.sp-history-rule{width:min(100% - 3rem,1340px);margin:0 auto;border:0;border-top:1px solid #dedede;opacity:1}
.sp-history-chapter{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:5rem;align-items:center;padding-block:7rem}
.sp-history-chapter-reverse{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.sp-history-chapter-copy{max-width:560px}
.sp-history-chapter-copy>p:not(.sp-history-kicker){margin-top:1.3rem}
.sp-history-chapter-copy>a{display:inline-flex;margin-top:1.4rem;padding-bottom:.15rem;border-bottom:1px solid #111;color:#111;font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sp-history-chapter-media{margin:0;min-height:560px;overflow:hidden;background:#ecece8}
.sp-history-chapter-media img{width:100%;height:100%;min-height:560px;object-fit:cover}
.sp-history-quote{padding-block:2rem 8rem}
.sp-history-quote p{width:min(100%,980px);margin:0 auto;color:#111;font-size:clamp(2rem,4.2vw,4.25rem);font-weight:500;line-height:1.18;letter-spacing:-.04em;text-align:center}
[dir="rtl"] .sp-history-quote p{letter-spacing:0;line-height:1.45}
.sp-history-wide-image{min-height:640px;overflow:hidden;background:#e8e8e4}
.sp-history-wide-image img{width:100%;height:100%;min-height:640px;object-fit:cover}
.sp-history-message{padding-block:7rem}
.sp-history-message>h2{max-width:900px}
.sp-history-message-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem;margin-top:2.2rem}
.sp-history-mission{padding-block:7rem;background:#111;color:#fff}
.sp-history-mission .sp-history-kicker{color:#8d8d8d}
.sp-history-mission h2{max-width:900px;color:#fff}
.sp-history-mission>div>p:not(.sp-history-kicker){max-width:760px;margin-top:1.5rem;color:#c8c8c8}
.sp-history-mission-actions{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:2rem}
.sp-history-mission-actions a{display:inline-flex;padding-bottom:.18rem;border-bottom:1px solid #fff;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){
.sp-history-intro-grid,.sp-history-chapter,.sp-history-chapter-reverse{grid-template-columns:1fr;gap:2.5rem}
.sp-history-chapter-copy{max-width:none}
.sp-history-chapter-reverse .sp-history-chapter-media{order:2}
.sp-history-message-grid{grid-template-columns:1fr;gap:1.3rem}
}
@media(max-width:620px){
.sp-history-title{padding-block:3.5rem 2.5rem}
.sp-history-hero,.sp-history-hero img{min-height:480px}
.sp-history-intro,.sp-history-chapter,.sp-history-message{padding-block:4.5rem}
.sp-history-chapter-media,.sp-history-chapter-media img{min-height:390px}
.sp-history-quote{padding-block:1rem 5rem}
.sp-history-wide-image,.sp-history-wide-image img{min-height:430px}
.sp-history-mission{padding-block:5rem}
}


/* Premium contact page */
main:has(.sp-contact-page){width:100%;max-width:none;padding:0}
.sp-contact-page{background:#fff;color:#111}
.sp-contact-title{padding-block:5.5rem 4.2rem}
.sp-contact-title>p,.sp-contact-kicker{margin:0 0 .9rem;color:#777;font-size:.63rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.sp-contact-title h1{margin:0;color:#111;font-size:clamp(2.8rem,6vw,6rem);font-weight:500;line-height:1;letter-spacing:-.055em}
[dir="rtl"] .sp-contact-title h1{letter-spacing:0;line-height:1.18}
.sp-contact-title-copy{max-width:650px;margin-top:1.5rem}
.sp-contact-title-copy p{margin:0;color:#595959;font-size:.96rem;line-height:1.9}
.sp-contact-main{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:6rem;padding-block:1rem 7rem}
.sp-contact-details{display:flex;flex-direction:column}
.sp-contact-details-heading h2,.sp-contact-form-heading h2,.sp-contact-map-heading h2{margin:0;color:#111;font-size:clamp(1.9rem,3vw,3rem);font-weight:500;line-height:1.1;letter-spacing:-.035em}
[dir="rtl"] .sp-contact-details-heading h2,[dir="rtl"] .sp-contact-form-heading h2,[dir="rtl"] .sp-contact-map-heading h2{letter-spacing:0;line-height:1.3}
.sp-contact-details-heading>p:last-child{max-width:470px;margin:1rem 0 0;color:#606060;font-size:.87rem;line-height:1.85}
.sp-contact-methods{display:grid;margin-top:2.7rem;border-top:1px solid #ddd}
.sp-contact-method{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:.9rem;min-height:76px;padding:.9rem 0;border-bottom:1px solid #ddd;color:#111}
.sp-contact-method:hover{color:#666}
.sp-contact-method>.material-symbols-rounded{font-size:21px;font-variation-settings:"wght" 300}
.sp-contact-method>span:last-child{display:grid;gap:.18rem}
.sp-contact-method small,.sp-contact-hours small{color:#777;font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.sp-contact-method strong{color:inherit;font-size:.79rem;font-weight:650;word-break:break-word}
.sp-contact-hours{display:grid;gap:.25rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #ddd}
.sp-contact-hours p{margin:0 0 1.25rem;color:#444;font-size:.8rem;line-height:1.7}
.sp-contact-form-wrap{padding:2.6rem;background:#f4f4f0}
.sp-contact-form-heading{margin-bottom:2.4rem}
.sp-contact-form{display:grid;gap:1.7rem}
.sp-contact-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}
.sp-contact-form label{display:grid;gap:.55rem;margin:0}
.sp-contact-form label>span{color:#333;font-size:.67rem;font-weight:750;letter-spacing:.03em}
.sp-contact-form input,.sp-contact-form textarea{width:100%;padding:.75rem 0;border:0;border-bottom:1px solid #aaa;border-radius:0;background:transparent;box-shadow:none;color:#111;font-family:inherit;font-size:.88rem}
.sp-contact-form input:focus,.sp-contact-form textarea:focus{padding:.75rem 0;border:0;border-bottom:1px solid #111;box-shadow:none;outline:0}
.sp-contact-form textarea{min-height:160px;resize:vertical}
.sp-contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:.5rem}
.sp-contact-form-footer p{max-width:380px;margin:0;color:#777;font-size:.67rem;line-height:1.6}
.sp-contact-form-footer button{display:inline-flex;min-height:46px;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border:1px solid #111;border-radius:0;background:#111;color:#fff;font-family:inherit;font-size:.67rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.sp-contact-form-footer button:hover{background:transparent;color:#111}
.sp-contact-form-footer .material-symbols-rounded{font-size:16px}
.sp-contact-map-section{padding-block:6rem 0;border-top:1px solid #e2e2e2}
.sp-contact-map-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.sp-contact-map-heading a{display:inline-flex;align-items:center;gap:.35rem;padding-bottom:.15rem;border-bottom:1px solid #111;color:#111;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.sp-contact-map-heading .material-symbols-rounded{font-size:15px}
.sp-contact-map{height:min(62vh,620px);min-height:430px;background:#e7e7e3}
.sp-contact-map .leaflet-control-zoom a{border-radius:0;color:#111}
.sp-contact-map-pin{display:grid;width:40px;height:40px;place-items:center;border-radius:50% 50% 50% 0;background:#111;color:#fff;box-shadow:0 6px 16px rgb(0 0 0 / .18);transform:rotate(-45deg)}
.sp-contact-map-pin .material-symbols-rounded{font-size:20px;transform:rotate(45deg)}
.sp-contact-map-popup{display:grid;gap:.35rem;min-width:190px;font-family:"IBM Plex Sans Arabic","Inter",sans-serif}
.sp-contact-map-popup small{color:#777;font-size:.62rem}
.sp-contact-map-popup strong{color:#111;font-size:.9rem}
.sp-contact-map-popup p{margin:0;color:#555;font-size:.72rem;line-height:1.6}
.sp-contact-map-popup a{width:fit-content;color:#111;font-size:.7rem;font-weight:700}
.sp-contact-map-popup-action{margin-top:.3rem;border-bottom:1px solid #111}
.sp-contact-social{display:flex;min-height:130px;align-items:center;justify-content:space-between;gap:2rem}
.sp-contact-social>p{margin:0;color:#777;font-size:.62rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.sp-contact-social>div{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem}
.sp-contact-social a{display:inline-flex;align-items:center;gap:.4rem;color:#111;font-size:.68rem;font-weight:700}
.sp-contact-social .social-icon{display:grid;width:22px;height:22px;place-items:center}
.sp-contact-social svg{width:16px;height:16px}
@media(max-width:900px){
.sp-contact-main{grid-template-columns:1fr;gap:3.5rem;padding-bottom:5rem}
.sp-contact-details{max-width:680px}
.sp-contact-map-heading{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
.sp-contact-title{padding-block:3.5rem 3rem}
.sp-contact-main{gap:3rem;padding-block:0 4rem}
.sp-contact-form-wrap{margin-inline:-.75rem;padding:2rem 1.2rem}
.sp-contact-field-row{grid-template-columns:1fr}
.sp-contact-form-footer{align-items:flex-start;flex-direction:column}
.sp-contact-form-footer button{width:100%;justify-content:center}
.sp-contact-map-section{padding-top:4rem}
.sp-contact-map{height:480px;min-height:380px}
.sp-contact-social{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:2rem}
}


/* Branches cinematic hero */
main:has(.page-hero-branches){width:100%;max-width:none;padding-top:0}
main:has(.page-hero-branches)>.page-stack{gap:0}
.page-hero.page-hero-branches{
    position:relative;
    display:flex;
    min-height:min(68vh,680px);
    align-items:flex-end;
    overflow:hidden;
    margin:0;
    padding:0;
    border-radius:0;
    background:#544a41;
    box-shadow:none;
}
.page-hero-branches-media,
.page-hero-branches-media img,
.page-hero-branches-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.page-hero-branches-media img{
    object-fit:cover;
    object-position:center;
}
.page-hero-branches-overlay{
    background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.42) 34%,rgba(0,0,0,.08) 68%,rgba(0,0,0,0) 100%);
}
[dir="rtl"] .page-hero-branches-overlay{
    background:linear-gradient(270deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.42) 34%,rgba(0,0,0,.08) 68%,rgba(0,0,0,0) 100%);
}
.page-hero-branches-content{
    position:relative;
    z-index:2;
    width:min(100% - 3rem,1340px);
    margin:0 auto;
    padding-block:4.5rem;
    color:#fff;
}
.page-hero-branches .section-kicker{
    margin:0 0 1rem;
    color:rgba(255,255,255,.78);
    font-size:.68rem;
    letter-spacing:.15em;
}
.page-hero-branches h1{
    max-width:760px;
    margin:0;
    color:#fff;
    font-size:clamp(3rem,6vw,6rem);
    font-weight:500;
    line-height:1;
    letter-spacing:-.055em;
}
[dir="rtl"] .page-hero-branches h1{
    letter-spacing:0;
    line-height:1.2;
}
.page-hero-branches-content>p:not(.section-kicker){
    max-width:610px;
    margin:1.25rem 0 0;
    color:rgba(255,255,255,.84);
    font-size:.96rem;
    line-height:1.9;
}
.page-hero-branches-link{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    margin-top:1.7rem;
    padding-bottom:.2rem;
    border-bottom:1px solid rgba(255,255,255,.9);
    color:#fff;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.page-hero-branches-link:hover{color:#fff;opacity:.72}
.page-hero-branches-link .material-symbols-rounded{font-size:16px}
main:has(.page-hero-branches) .branches-map-section,
main:has(.page-hero-branches) .branch-directory{
    width:min(100% - 3rem,1340px);
    margin-inline:auto;
}
main:has(.page-hero-branches) .branches-map-section{margin-top:6rem}
main:has(.page-hero-branches) .branch-directory{padding-block:6rem}
@media(max-width:760px){
    .page-hero.page-hero-branches{min-height:570px}
    .page-hero-branches-content{width:min(100% - 2rem,1340px);padding-block:3rem}
    .page-hero-branches-overlay{background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.12) 72%)}
    [dir="rtl"] .page-hero-branches-overlay{background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.12) 72%)}
    main:has(.page-hero-branches) .branches-map-section,
    main:has(.page-hero-branches) .branch-directory{width:min(100% - 2rem,1340px)}
}


/* Realistic branches hero theme tuning */
.page-hero-branches-media img{
    object-position:center center;
    filter:saturate(.88) contrast(1.03) brightness(.84);
}
.page-hero-branches-overlay,
[dir="rtl"] .page-hero-branches-overlay{
    background:
        linear-gradient(90deg,rgba(9,9,9,.72) 0%,rgba(9,9,9,.55) 30%,rgba(9,9,9,.18) 54%,rgba(9,9,9,.02) 73%,rgba(9,9,9,0) 100%);
}
.page-hero-branches-content{
    padding-right:48%;
}
[dir="rtl"] .page-hero-branches-content{
    text-align:right;
}
.page-hero-branches .section-kicker{
    color:rgba(255,255,255,.72);
}
.page-hero-branches h1{
    text-shadow:0 2px 22px rgba(0,0,0,.18);
}
.page-hero-branches-content>p:not(.section-kicker){
    color:rgba(255,255,255,.82);
}
@media(max-width:900px){
    .page-hero-branches-content{
        padding-right:36%;
    }
}
@media(max-width:760px){
    .page-hero-branches-media img{
        object-position:64% center;
        filter:saturate(.84) contrast(1.02) brightness(.74);
    }
    .page-hero-branches-overlay,
    [dir="rtl"] .page-hero-branches-overlay{
        background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.36) 58%,rgba(0,0,0,.12) 100%);
    }
    .page-hero-branches-content{
        padding-right:0;
    }
}


/* Snow Peak inspired minimal footer */
.sp-footer-snowpeak{
    margin-top:0;
    padding:0;
    background:#111;
    color:#fff;
}
.sp-footer-statement{
    padding-block:clamp(5rem,9vw,9rem);
    border-bottom:1px solid #2d2d2d;
}
.sp-footer-statement p{
    margin:0 0 1rem;
    color:#8d8d8d;
    font-size:.63rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.sp-footer-statement h2{
    max-width:1100px;
    margin:0;
    color:#fff;
    font-size:clamp(3rem,7vw,7.4rem);
    font-weight:500;
    line-height:.95;
    letter-spacing:-.06em;
}
[dir="rtl"] .sp-footer-statement h2{
    line-height:1.18;
    letter-spacing:0;
}
.sp-footer-main{
    display:grid;
    grid-template-columns:minmax(260px,1.2fr) minmax(0,1fr);
    gap:4rem;
    align-items:end;
    padding-block:3rem;
    border-bottom:1px solid #2d2d2d;
}
.sp-footer-identity{
    max-width:520px;
}
.sp-footer-identity .sp-footer-logo{
    display:inline-flex;
    align-items:center;
    gap:.85rem;
    color:#fff;
}
.sp-footer-identity .sp-footer-logo img{
    width:52px;
    height:52px;
    object-fit:contain;
    filter:brightness(0) invert(1);
}
.sp-footer-identity .sp-footer-logo>span{
    display:grid;
    gap:.12rem;
}
.sp-footer-identity .sp-footer-logo strong{
    color:#fff;
    font-size:1.02rem;
    font-weight:800;
}
.sp-footer-identity .sp-footer-logo small{
    color:#8c8c8c;
    font-size:.58rem;
    font-weight:650;
}
.sp-footer-identity>p{
    max-width:460px;
    margin:1rem 0 0;
    color:#9b9b9b;
    font-size:.74rem;
    line-height:1.75;
}
.sp-footer-compact-nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.85rem 1.5rem;
}
.sp-footer-compact-nav a{
    position:relative;
    padding-bottom:.12rem;
    color:#d3d3d3;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.04em;
}
.sp-footer-compact-nav a::after{
    content:"";
    position:absolute;
    inset-inline:0;
    inset-block-end:0;
    height:1px;
    background:#fff;
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .18s ease;
}
.sp-footer-compact-nav a:hover{
    color:#fff;
}
.sp-footer-compact-nav a:hover::after{
    transform:scaleX(1);
}
.sp-footer-social-row-minimal{
    min-height:90px;
    border-top:0;
    border-bottom:1px solid #2d2d2d;
}
.sp-footer-social-row-minimal>span{
    color:#8d8d8d;
}
.sp-footer-social-row-minimal a{
    border-color:#343434;
    background:transparent;
    transition:border-color .18s ease,background-color .18s ease;
}
.sp-footer-social-row-minimal a:hover{
    border-color:#fff;
    background:#fff;
    color:#111;
}
.sp-footer-bottom-minimal{
    min-height:72px;
    border-top:0;
    color:#777;
}
.sp-footer-bottom-minimal span:last-child{
    text-align:end;
}
@media(max-width:760px){
    .sp-footer-statement{
        padding-block:4.5rem;
    }
    .sp-footer-main{
        grid-template-columns:1fr;
        gap:2rem;
        align-items:start;
        padding-block:2.5rem;
    }
    .sp-footer-compact-nav{
        justify-content:flex-start;
        gap:.8rem 1.1rem;
    }
    .sp-footer-social-row-minimal,
    .sp-footer-bottom-minimal{
        align-items:flex-start;
        flex-direction:column;
        justify-content:center;
        padding-block:1.25rem;
    }
    .sp-footer-bottom-minimal span:last-child{
        text-align:start;
    }
}


/* Snow Peak provided footer structure */
.snow-footer{
    background:#fff;
    color:#111;
}
.snow-footer-cta{
    position:relative;
    min-height:min(64vh,777px);
    overflow:hidden;
    background:#222;
}
.snow-footer-cta-media,
.snow-footer-cta-media img,
.snow-footer-cta-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.snow-footer-cta-media img{
    object-fit:cover;
}
.snow-footer-cta-overlay{
    background:rgba(0,0,0,.66);
}
.snow-footer-cta-content{
    position:relative;
    z-index:2;
    display:flex;
    min-height:min(64vh,777px);
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
}
.snow-footer-cta-content h2{
    margin:0;
    color:#fff;
    font-size:clamp(3rem,5.2vw,5.7rem);
    font-weight:500;
    line-height:1;
    letter-spacing:-.05em;
}
[dir="rtl"] .snow-footer-cta-content h2{
    line-height:1.2;
    letter-spacing:0;
}
.snow-footer-cta-content p{
    max-width:760px;
    margin:1rem auto 0;
    color:rgba(255,255,255,.9);
    font-size:clamp(1rem,1.4vw,1.2rem);
    line-height:1.7;
}
.snow-footer-cta-content>a{
    display:inline-flex;
    min-height:54px;
    align-items:center;
    justify-content:center;
    margin-top:1.6rem;
    padding:0 1.6rem;
    border:1px solid #fff;
    background:#fff;
    color:#111;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.snow-footer-cta-content>a:hover{
    background:transparent;
    color:#fff;
}

.snow-footer-content{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,.7fr)) minmax(300px,1.25fr);
    gap:3rem;
    padding-block:4rem 3rem;
}
.snow-footer-nav,
.snow-footer-connect{
    min-width:0;
}
.snow-footer-heading{
    display:flex;
    width:100%;
    align-items:center;
    justify-content:space-between;
    padding:0;
    border:0;
    background:transparent;
    color:#111;
    font-family:inherit;
    font-size:.95rem;
    font-weight:700;
    text-align:start;
    cursor:default;
}
.snow-footer-heading .material-symbols-rounded{
    display:none;
    font-size:18px;
}
.snow-footer-links{
    display:grid;
    gap:.68rem;
    margin-top:1rem;
}
.snow-footer-links a{
    width:fit-content;
    color:#222;
    font-size:.76rem;
    line-height:1.45;
}
.snow-footer-links a:hover{
    text-decoration:underline;
    text-underline-offset:3px;
}
.snow-footer-connect{
    display:grid;
    gap:2rem;
}
.snow-footer-connect h3,
.snow-footer-newsletter h3{
    margin:0;
    color:#111;
    font-size:.95rem;
    font-weight:700;
}
.snow-footer-contact-copy{
    margin-top:1rem;
}
.snow-footer-contact-copy p,
.snow-footer-newsletter p{
    margin:.25rem 0;
    color:#333;
    font-size:.76rem;
    line-height:1.65;
}
.snow-footer-contact-copy a{
    color:#111;
    text-decoration:underline;
    text-underline-offset:2px;
}
.snow-footer-socials{
    display:flex;
    gap:.65rem;
    margin-top:1rem;
}
.snow-footer-socials a{
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    color:#111;
}
.snow-footer-socials svg{
    width:26px;
    height:26px;
}
.snow-footer-newsletter{
    padding-top:1.7rem;
    border-top:1px solid #ddd;
}
.snow-footer-newsletter-action{
    display:inline-flex;
    min-height:46px;
    align-items:center;
    justify-content:center;
    margin-top:1rem;
    padding:0 1.15rem;
    border:1px solid #111;
    background:#111;
    color:#fff;
    font-size:.69rem;
    font-weight:800;
    letter-spacing:.08em;
}
.snow-footer-newsletter-action:hover{
    background:#fff;
    color:#111;
}
.snow-footer-brand-row{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-height:105px;
    border-top:1px solid #ddd;
}
.snow-footer-brand-mark{
    display:inline-flex;
    align-items:center;
    gap:.7rem;
    color:#111;
    font-size:1.15rem;
    font-weight:800;
}
.snow-footer-brand-mark:hover{
    color:#111;
}
.snow-footer-brand-mark img{
    width:58px;
    height:58px;
    object-fit:contain;
}
.snow-footer-legal{
    display:flex;
    min-height:64px;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    border-top:1px solid #e1e1e1;
    color:#777;
    font-size:.62rem;
}
@media(max-width:980px){
    .snow-footer-content{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .snow-footer-connect{
        grid-column:1/-1;
        grid-template-columns:1fr 1fr;
    }
    .snow-footer-newsletter{
        padding-top:0;
        border-top:0;
        border-inline-start:1px solid #ddd;
        padding-inline-start:2rem;
    }
}
@media(max-width:767px){
    .snow-footer-cta{
        min-height:460px;
    }
    .snow-footer-cta-content{
        min-height:460px;
        padding-block:2rem;
    }
    .snow-footer-cta-content h2{
        font-size:48px;
    }
    .snow-footer-cta-content p{
        font-size:18px;
        line-height:24px;
    }
    .snow-footer-cta-content>a{
        width:100%;
        max-width:340px;
        margin-top:24px;
        font-size:16px;
        line-height:18px;
    }
    .snow-footer-content{
        display:block;
        padding-block:1rem 2rem;
    }
    .snow-footer-nav{
        border-bottom:1px solid #ddd;
    }
    .snow-footer-heading{
        min-height:58px;
        cursor:pointer;
    }
    .snow-footer-heading .material-symbols-rounded{
        display:block;
        transition:transform .18s ease;
    }
    .snow-footer-nav.is-open .snow-footer-heading .material-symbols-rounded{
        transform:rotate(90deg);
    }
    .snow-footer-links{
        display:none;
        margin:0;
        padding:0 0 1.1rem;
    }
    .snow-footer-nav.is-open .snow-footer-links{
        display:grid;
    }
    .snow-footer-connect{
        display:grid;
        grid-template-columns:1fr;
        gap:1.5rem;
        padding-top:2rem;
    }
    .snow-footer-newsletter{
        padding:1.5rem 0 0;
        border-top:1px solid #ddd;
        border-inline-start:0;
    }
    .snow-footer-brand-row{
        justify-content:flex-start;
        min-height:88px;
    }
    .snow-footer-legal{
        align-items:flex-start;
        flex-direction:column;
        justify-content:center;
        padding-block:1rem;
    }
}


/* Premium storefront login */
main:has(.auth-login-page){
    width:100%;
    max-width:none;
    padding:0;
}
.auth-login-page{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
    min-height:760px;
    background:#fff;
}
.auth-login-visual{
    position:relative;
    min-height:760px;
    overflow:hidden;
    background:#222;
}
.auth-login-visual>img,
.auth-login-visual-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.auth-login-visual>img{
    object-fit:cover;
    object-position:center;
}
.auth-login-visual-overlay{
    background:
        linear-gradient(0deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.22) 55%,rgba(0,0,0,.06) 100%);
}
.auth-login-visual-content{
    position:absolute;
    z-index:2;
    inset-inline:clamp(2rem,5vw,5rem);
    inset-block-end:clamp(2.5rem,6vw,5rem);
    max-width:720px;
    color:#fff;
}
.auth-login-eyebrow{
    margin:0 0 1rem;
    color:rgba(255,255,255,.7);
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.auth-login-visual-content h2{
    max-width:680px;
    margin:0;
    color:#fff;
    font-size:clamp(2.6rem,5vw,5.4rem);
    font-weight:500;
    line-height:.98;
    letter-spacing:-.055em;
}
[dir="rtl"] .auth-login-visual-content h2{
    line-height:1.16;
    letter-spacing:0;
}
.auth-login-visual-content>p:not(.auth-login-eyebrow){
    max-width:570px;
    margin:1.2rem 0 0;
    color:rgba(255,255,255,.82);
    font-size:.93rem;
    line-height:1.8;
}
.auth-login-visual-meta{
    display:flex;
    flex-wrap:wrap;
    gap:1rem 1.4rem;
    margin-top:1.7rem;
}
.auth-login-visual-meta>span{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    color:rgba(255,255,255,.82);
    font-size:.67rem;
    font-weight:700;
}
.auth-login-visual-meta .material-symbols-rounded{
    font-size:17px;
}
.auth-login-panel{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(3rem,6vw,6rem);
    background:#fff;
}
.auth-login-panel-inner{
    width:min(100%,520px);
}
.auth-login-brand{
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    color:#111;
}
.auth-login-brand:hover{
    color:#111;
}
.auth-login-brand img{
    width:44px;
    height:44px;
    object-fit:contain;
}
.auth-login-brand>span{
    font-size:.88rem;
    font-weight:800;
}
.auth-login-heading{
    margin-top:3rem;
}
.auth-login-portal-icon{
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    margin-bottom:1.2rem;
    border:1px solid #d8d8d8;
    color:#111;
}
.auth-login-portal-icon .material-symbols-rounded{
    font-size:20px;
}
.auth-login-heading>p{
    margin:0 0 .7rem;
    color:#777;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.auth-login-heading h1{
    margin:0;
    color:#111;
    font-size:clamp(2.2rem,4vw,3.9rem);
    font-weight:500;
    line-height:1.03;
    letter-spacing:-.045em;
}
[dir="rtl"] .auth-login-heading h1{
    line-height:1.25;
    letter-spacing:0;
}
.auth-login-heading>span{
    display:block;
    max-width:440px;
    margin-top:1rem;
    color:#666;
    font-size:.84rem;
    line-height:1.75;
}
.auth-login-form{
    display:grid;
    gap:1.45rem;
    margin-top:2.5rem;
}
.auth-login-field{
    display:grid;
    gap:.5rem;
    margin:0;
}
.auth-login-field>span{
    color:#2e2e2e;
    font-size:.66rem;
    font-weight:750;
    letter-spacing:.03em;
}
.auth-login-field>div{
    display:grid;
    grid-template-columns:24px minmax(0,1fr) auto;
    align-items:center;
    gap:.55rem;
    min-height:52px;
    border-bottom:1px solid #aaa;
}
.auth-login-field>div:focus-within{
    border-bottom-color:#111;
}
.auth-login-field .material-symbols-rounded{
    color:#777;
    font-size:19px;
    font-variation-settings:"wght" 300;
}
.auth-login-field input{
    width:100%;
    min-width:0;
    padding:0;
    border:0 !important;
    border-radius:0;
    outline:0;
    background:transparent;
    box-shadow:none !important;
    color:#111;
    font-family:inherit;
    font-size:.9rem;
}
.auth-login-field input::placeholder{
    color:#aaa;
}
.auth-password-toggle{
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
}
.auth-password-toggle:hover{
    color:#111;
}
.auth-login-options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-top:-.1rem;
}
.auth-login-remember{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    margin:0;
    color:#4d4d4d;
    font-size:.7rem;
}
.auth-login-remember input{
    width:15px;
    height:15px;
    accent-color:#111;
}
.auth-login-secure{
    display:inline-flex;
    align-items:center;
    gap:.3rem;
    color:#8a8a8a;
    font-size:.62rem;
}
.auth-login-secure .material-symbols-rounded{
    font-size:14px;
}
.auth-login-submit{
    display:flex;
    min-height:54px;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0 1.2rem;
    border:1px solid #111;
    border-radius:0;
    background:#111;
    color:#fff;
    font-family:inherit;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    transition:background-color .18s ease,color .18s ease;
}
.auth-login-submit:hover{
    background:#fff;
    color:#111;
}
.auth-login-submit .material-symbols-rounded{
    font-size:17px;
}
.auth-login-register{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    margin-top:1.6rem;
    color:#777;
    font-size:.72rem;
}
.auth-login-register a{
    color:#111;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:3px;
}
.auth-login-divider{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:2rem 0 1.2rem;
    color:#9a9a9a;
}
.auth-login-divider::before,
.auth-login-divider::after{
    content:"";
    flex:1;
    height:1px;
    background:#e1e1e1;
}
.auth-login-divider span{
    padding-inline:.8rem;
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.11em;
}
.auth-login-portals{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
}
.auth-login-portals a{
    display:grid;
    min-height:72px;
    place-items:center;
    align-content:center;
    gap:.35rem;
    padding:.7rem .4rem;
    border:1px solid #dedede;
    color:#333;
    text-align:center;
    transition:border-color .18s ease,background-color .18s ease;
}
.auth-login-portals a:hover{
    border-color:#111;
    background:#f7f7f4;
    color:#111;
}
.auth-login-portals .material-symbols-rounded{
    font-size:19px;
    font-variation-settings:"wght" 300;
}
.auth-login-portals a>span:last-child{
    font-size:.62rem;
    font-weight:700;
}
.auth-login-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    margin:1.4rem 0 0;
    color:#9a9a9a;
    font-size:.61rem;
    text-align:center;
}
.auth-login-note .material-symbols-rounded{
    font-size:15px;
}
@media(max-width:980px){
    .auth-login-page{
        grid-template-columns:1fr;
        min-height:0;
    }
    .auth-login-visual{
        min-height:480px;
    }
    .auth-login-panel{
        padding-block:4rem;
    }
}
@media(max-width:620px){
    .auth-login-visual{
        min-height:390px;
    }
    .auth-login-visual-content{
        inset-inline:1rem;
        inset-block-end:2rem;
    }
    .auth-login-visual-content h2{
        font-size:clamp(2.25rem,11vw,3.6rem);
    }
    .auth-login-visual-meta{
        display:none;
    }
    .auth-login-panel{
        padding:3rem 1rem 4rem;
    }
    .auth-login-heading{
        margin-top:2.2rem;
    }
    .auth-login-options{
        align-items:flex-start;
        flex-direction:column;
    }
    .auth-login-portals{
        grid-template-columns:1fr;
    }
    .auth-login-portals a{
        min-height:52px;
        grid-template-columns:22px auto;
        justify-content:start;
        place-items:center start;
        padding-inline:1rem;
        text-align:start;
    }
}


/* Premium storefront register */
main:has(.auth-register-page){
    width:100%;
    max-width:none;
    padding:0;
}
.auth-register-page{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(480px,1fr);
    min-height:820px;
    background:#fff;
}
.auth-register-visual{
    position:relative;
    min-height:820px;
    overflow:hidden;
    background:#222;
}
.auth-register-visual>img,
.auth-register-visual-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.auth-register-visual>img{
    object-fit:cover;
    object-position:center;
}
.auth-register-visual-overlay{
    background:
        linear-gradient(0deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.22) 58%,rgba(0,0,0,.05) 100%);
}
.auth-register-visual-content{
    position:absolute;
    z-index:2;
    inset-inline:clamp(2rem,5vw,5rem);
    inset-block-end:clamp(2.5rem,6vw,5rem);
    max-width:720px;
    color:#fff;
}
.auth-register-eyebrow{
    margin:0 0 1rem;
    color:rgba(255,255,255,.72);
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.auth-register-visual-content h2{
    max-width:680px;
    margin:0;
    color:#fff;
    font-size:clamp(2.6rem,5vw,5.2rem);
    font-weight:500;
    line-height:.99;
    letter-spacing:-.055em;
}
[dir="rtl"] .auth-register-visual-content h2{
    line-height:1.16;
    letter-spacing:0;
}
.auth-register-visual-content>p:not(.auth-register-eyebrow){
    max-width:570px;
    margin:1.2rem 0 0;
    color:rgba(255,255,255,.82);
    font-size:.93rem;
    line-height:1.8;
}
.auth-register-visual-meta{
    display:flex;
    flex-wrap:wrap;
    gap:1rem 1.4rem;
    margin-top:1.7rem;
}
.auth-register-visual-meta>span{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    color:rgba(255,255,255,.82);
    font-size:.67rem;
    font-weight:700;
}
.auth-register-visual-meta .material-symbols-rounded{
    font-size:17px;
}
.auth-register-panel{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(3rem,5vw,5rem);
    background:#fff;
}
.auth-register-panel-inner{
    width:min(100%,620px);
}
.auth-register-brand{
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    color:#111;
}
.auth-register-brand:hover{
    color:#111;
}
.auth-register-brand img{
    width:44px;
    height:44px;
    object-fit:contain;
}
.auth-register-brand>span{
    font-size:.88rem;
    font-weight:800;
}
.auth-register-heading{
    margin-top:2.6rem;
}
.auth-register-heading-top{
    display:flex;
    align-items:center;
    gap:.85rem;
    margin-bottom:1.1rem;
}
.auth-register-heading-top>p{
    margin:0;
    color:#777;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.auth-register-icon{
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    border:1px solid #d8d8d8;
    color:#111;
}
.auth-register-icon .material-symbols-rounded{
    font-size:19px;
}
.auth-register-heading h1{
    margin:0;
    color:#111;
    font-size:clamp(2.2rem,4vw,3.8rem);
    font-weight:500;
    line-height:1.03;
    letter-spacing:-.045em;
}
[dir="rtl"] .auth-register-heading h1{
    line-height:1.24;
    letter-spacing:0;
}
.auth-register-heading>span{
    display:block;
    max-width:520px;
    margin-top:1rem;
    color:#666;
    font-size:.84rem;
    line-height:1.75;
}
.auth-register-form{
    display:grid;
    gap:1.35rem;
    margin-top:2.2rem;
}
.auth-register-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.2rem;
}
.auth-register-field{
    display:grid;
    gap:.5rem;
    margin:0;
}
.auth-register-field>span{
    color:#2e2e2e;
    font-size:.66rem;
    font-weight:750;
    letter-spacing:.03em;
}
.auth-register-field>div{
    display:grid;
    grid-template-columns:24px minmax(0,1fr) auto;
    align-items:center;
    gap:.55rem;
    min-height:52px;
    border-bottom:1px solid #aaa;
}
.auth-register-field>div:focus-within{
    border-bottom-color:#111;
}
.auth-register-field .material-symbols-rounded{
    color:#777;
    font-size:19px;
    font-variation-settings:"wght" 300;
}
.auth-register-field input{
    width:100%;
    min-width:0;
    padding:0;
    border:0 !important;
    border-radius:0;
    outline:0;
    background:transparent;
    box-shadow:none !important;
    color:#111;
    font-family:inherit;
    font-size:.9rem;
}
.auth-register-field input::placeholder{
    color:#aaa;
}
.auth-register-password-toggle{
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
}
.auth-register-password-toggle:hover{
    color:#111;
}
.auth-register-error{
    color:#a12828;
    font-size:.63rem;
    line-height:1.45;
}
.auth-register-password-note{
    display:flex;
    align-items:center;
    gap:.35rem;
    color:#8a8a8a;
    font-size:.62rem;
}
.auth-register-password-note .material-symbols-rounded{
    font-size:15px;
}
.auth-register-submit{
    display:flex;
    min-height:54px;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-top:.2rem;
    padding:0 1.2rem;
    border:1px solid #111;
    border-radius:0;
    background:#111;
    color:#fff;
    font-family:inherit;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    transition:background-color .18s ease,color .18s ease;
}
.auth-register-submit:hover{
    background:#fff;
    color:#111;
}
.auth-register-submit .material-symbols-rounded{
    font-size:17px;
}
.auth-register-login{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    margin-top:1.7rem;
    color:#777;
    font-size:.72rem;
}
.auth-register-login a{
    color:#111;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:3px;
}
.auth-register-security{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    margin:1.2rem 0 0;
    color:#9a9a9a;
    font-size:.61rem;
    text-align:center;
}
.auth-register-security .material-symbols-rounded{
    font-size:15px;
}
@media(max-width:1100px){
    .auth-register-page{
        grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);
    }
    .auth-register-panel{
        padding-inline:3rem;
    }
}
@media(max-width:980px){
    .auth-register-page{
        grid-template-columns:1fr;
        min-height:0;
    }
    .auth-register-visual{
        min-height:480px;
    }
    .auth-register-panel{
        padding-block:4rem;
    }
}
@media(max-width:620px){
    .auth-register-visual{
        min-height:390px;
    }
    .auth-register-visual-content{
        inset-inline:1rem;
        inset-block-end:2rem;
    }
    .auth-register-visual-content h2{
        font-size:clamp(2.2rem,11vw,3.5rem);
    }
    .auth-register-visual-meta{
        display:none;
    }
    .auth-register-panel{
        padding:3rem 1rem 4rem;
    }
    .auth-register-heading{
        margin-top:2.2rem;
    }
    .auth-register-grid{
        grid-template-columns:1fr;
    }
    .auth-register-login{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* Premium storefront checkout */
main:has(.premium-checkout-page){
    width:100%;
    max-width:none;
    padding:0;
}
.premium-checkout-page{
    background:#fff;
    color:#111;
}
.premium-checkout-heading{
    padding-block:4.5rem 3rem;
}
.premium-checkout-heading>p{
    margin:0 0 .8rem;
    color:#777;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.premium-checkout-heading h1{
    max-width:900px;
    margin:0;
    color:#111;
    font-size:clamp(2.6rem,5vw,5rem);
    font-weight:500;
    line-height:1.02;
    letter-spacing:-.05em;
}
[dir="rtl"] .premium-checkout-heading h1{
    letter-spacing:0;
    line-height:1.2;
}
.premium-checkout-steps{
    display:flex;
    flex-wrap:wrap;
    gap:1rem 2rem;
    margin-top:2rem;
}
.premium-checkout-steps span{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:#9a9a9a;
    font-size:.66rem;
    font-weight:700;
}
.premium-checkout-steps b{
    display:grid;
    width:24px;
    height:24px;
    place-items:center;
    border:1px solid #cfcfcf;
    border-radius:50%;
    font-size:.6rem;
}
.premium-checkout-steps .is-complete,
.premium-checkout-steps .is-active{
    color:#111;
}
.premium-checkout-steps .is-complete b,
.premium-checkout-steps .is-active b{
    border-color:#111;
}
.premium-checkout-steps .is-active b{
    background:#111;
    color:#fff;
}
.premium-checkout-layout{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);
    gap:4.5rem;
    align-items:start;
    padding-bottom:7rem;
}
.premium-checkout-form{
    display:grid;
    gap:0;
}
.premium-checkout-section{
    padding-block:2.6rem;
    border-top:1px solid #ddd;
}
.premium-checkout-section:first-child{
    padding-top:0;
    border-top:0;
}
.premium-checkout-section-head{
    display:flex;
    align-items:flex-start;
    gap:1rem;
    margin-bottom:2rem;
}
.premium-checkout-section-head>span{
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    flex:0 0 38px;
    border:1px solid #d8d8d8;
    color:#666;
    font-size:.62rem;
    font-weight:800;
}
.premium-checkout-section-head p{
    margin:0 0 .25rem;
    color:#808080;
    font-size:.59rem;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.premium-checkout-section-head h2{
    margin:0;
    color:#111;
    font-size:clamp(1.45rem,2.3vw,2.15rem);
    font-weight:500;
    line-height:1.15;
}
.premium-checkout-account-note{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:.8rem;
    padding:1rem 1.1rem;
    margin-bottom:1.8rem;
    background:#f5f5f1;
}
.premium-checkout-account-note>.material-symbols-rounded{
    font-size:21px;
    color:#444;
}
.premium-checkout-account-note>div{
    display:grid;
    gap:.25rem;
}
.premium-checkout-account-note strong{
    color:#111;
    font-size:.77rem;
}
.premium-checkout-account-note p{
    margin:0;
    color:#666;
    font-size:.72rem;
    line-height:1.6;
}
.premium-checkout-account-note a{
    width:fit-content;
    color:#111;
    font-size:.68rem;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:3px;
}
.premium-checkout-account-note>div>div{
    display:flex;
    flex-wrap:wrap;
    gap:.4rem 1rem;
    margin-top:.15rem;
}
.premium-checkout-field-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.2rem;
    margin-bottom:1.3rem;
}
.premium-checkout-field{
    display:grid;
    gap:.5rem;
    margin:0;
}
.premium-checkout-field>span{
    color:#333;
    font-size:.67rem;
    font-weight:750;
}
.premium-checkout-field input,
.premium-checkout-field textarea{
    width:100%;
    min-height:50px;
    padding:.7rem 0;
    border:0;
    border-bottom:1px solid #aaa;
    border-radius:0;
    outline:0;
    background:transparent;
    box-shadow:none;
    color:#111;
    font-family:inherit;
    font-size:.88rem;
}
.premium-checkout-field textarea{
    min-height:112px;
    resize:vertical;
}
.premium-checkout-field input:focus,
.premium-checkout-field textarea:focus{
    border-bottom-color:#111;
}
.premium-checkout-field-full{
    margin-bottom:1.6rem;
}
.premium-checkout-error{
    color:#a12828;
    font-size:.62rem;
    line-height:1.45;
}
.premium-checkout-location{
    margin-block:2rem;
    border:1px solid #dedede;
}
.premium-checkout-location-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.2rem;
    padding:1.1rem 1.2rem;
    border-bottom:1px solid #e1e1e1;
    background:#fafaf8;
}
.premium-checkout-location-head>div{
    display:grid;
    gap:.2rem;
}
.premium-checkout-location-head p{
    margin:0;
    color:#858585;
    font-size:.57rem;
    font-weight:800;
    letter-spacing:.1em;
}
.premium-checkout-location-head strong{
    color:#111;
    font-size:.84rem;
}
.premium-checkout-location-head small{
    color:#777;
    font-size:.66rem;
    line-height:1.45;
}
.premium-checkout-location-head button,
.premium-checkout-location-search button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    min-height:40px;
    padding:0 .8rem;
    border:1px solid #111;
    background:#fff;
    color:#111;
    font-family:inherit;
    font-size:.63rem;
    font-weight:800;
    cursor:pointer;
}
.premium-checkout-location-head button:hover,
.premium-checkout-location-search button:hover{
    background:#111;
    color:#fff;
}
.premium-checkout-location-head .material-symbols-rounded{
    font-size:16px;
}
.premium-checkout-location-search{
    display:grid;
    grid-template-columns:22px minmax(0,1fr) auto;
    align-items:center;
    gap:.5rem;
    padding:.75rem 1rem;
    border-bottom:1px solid #e1e1e1;
}
.premium-checkout-location-search>.material-symbols-rounded{
    font-size:19px;
    color:#777;
}
.premium-checkout-location-search input{
    min-height:40px;
    border:0;
    outline:0;
    background:transparent;
    box-shadow:none;
    font-family:inherit;
    font-size:.82rem;
}
#checkout-delivery-map{
    height:360px;
    background:#e9e9e5;
}
.premium-checkout-location-summary{
    margin:0;
    padding:.8rem 1rem;
    color:#666;
    font-size:.68rem;
    line-height:1.6;
    border-top:1px solid #e1e1e1;
}
.premium-checkout-save{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:#555;
    font-size:.7rem;
}
.premium-checkout-save input{
    width:15px;
    height:15px;
    accent-color:#111;
}
.premium-payment-picker{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.8rem;
    margin:0;
    padding:0;
    border:0;
}
.premium-payment-option{
    position:relative;
    display:grid;
    grid-template-columns:18px 28px minmax(0,1fr);
    align-items:start;
    gap:.75rem;
    min-height:108px;
    padding:1rem;
    border:1px solid #d8d8d8;
    cursor:pointer;
}
.premium-payment-option:hover{
    border-color:#111;
}
.premium-payment-option>input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.premium-payment-radio{
    width:16px;
    height:16px;
    margin-top:.15rem;
    border:1px solid #999;
    border-radius:50%;
}
.premium-payment-option>input:checked+.premium-payment-radio{
    border:5px solid #111;
}
.premium-payment-option>.material-symbols-rounded{
    font-size:22px;
    color:#444;
}
.premium-payment-option>span:last-child{
    display:grid;
    gap:.25rem;
}
.premium-payment-option strong{
    color:#111;
    font-size:.76rem;
}
.premium-payment-option small{
    color:#777;
    font-size:.64rem;
    line-height:1.5;
}
.premium-payment-option:has(input:checked){
    border-color:#111;
    background:#fafaf7;
}
.premium-checkout-submit{
    display:flex;
    min-height:66px;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    margin-top:1.2rem;
    padding:0 1.3rem;
    border:1px solid #111;
    background:#111;
    color:#fff;
    font-family:inherit;
    cursor:pointer;
}
.premium-checkout-submit:hover{
    background:#fff;
    color:#111;
}
.premium-checkout-submit>span:first-child{
    display:grid;
    text-align:start;
}
.premium-checkout-submit small{
    color:#aaa;
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.09em;
}
.premium-checkout-submit:hover small{
    color:#777;
}
.premium-checkout-submit strong{
    font-size:.88rem;
}
.premium-checkout-submit>span:last-child{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.premium-checkout-submit .material-symbols-rounded{
    font-size:17px;
}
.premium-checkout-sidebar{
    position:sticky;
    top:190px;
}
.premium-checkout-summary{
    padding:1.6rem;
    background:#f4f4f0;
}
.premium-checkout-summary-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem;
    padding-bottom:1.2rem;
    border-bottom:1px solid #d8d8d4;
}
.premium-checkout-summary-head p{
    margin:0 0 .2rem;
    color:#808080;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.1em;
}
.premium-checkout-summary-head h2{
    margin:0;
    color:#111;
    font-size:1.35rem;
    font-weight:500;
}
.premium-checkout-summary-head>span{
    color:#777;
    font-size:.66rem;
}
.premium-checkout-items{
    display:grid;
}
.premium-checkout-item{
    display:grid;
    grid-template-columns:72px minmax(0,1fr) auto;
    gap:.8rem;
    align-items:center;
    padding-block:1rem;
    border-bottom:1px solid #d8d8d4;
}
.premium-checkout-item-image{
    position:relative;
    display:grid;
    width:72px;
    height:82px;
    place-items:center;
    overflow:hidden;
    background:#fff;
}
.premium-checkout-item-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:.35rem;
}
.premium-checkout-item-image>.material-symbols-rounded{
    color:#aaa;
    font-size:26px;
}
.premium-checkout-item-image b{
    position:absolute;
    inset-block-start:4px;
    inset-inline-end:4px;
    display:grid;
    width:20px;
    height:20px;
    place-items:center;
    border-radius:50%;
    background:#111;
    color:#fff;
    font-size:.56rem;
}
.premium-checkout-item-copy{
    display:grid;
    gap:.18rem;
}
.premium-checkout-item-copy small{
    color:#8a8a8a;
    font-size:.56rem;
    font-weight:750;
    text-transform:uppercase;
}
.premium-checkout-item-copy>a{
    color:#111;
    font-size:.74rem;
    font-weight:700;
    line-height:1.45;
}
.premium-checkout-item-copy p{
    margin:0;
    color:#777;
    font-size:.62rem;
}
.premium-checkout-item>strong{
    color:#111;
    font-size:.7rem;
    white-space:nowrap;
}
.premium-checkout-coupon{
    padding-block:1.2rem;
    border-bottom:1px solid #d8d8d4;
}
.premium-checkout-coupon>form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.55rem;
}
.premium-checkout-coupon input{
    min-width:0;
    min-height:42px;
    padding:0 .8rem;
    border:1px solid #ccc;
    border-radius:0;
    background:#fff;
    font-family:inherit;
    font-size:.72rem;
}
.premium-checkout-coupon button{
    min-height:42px;
    padding:0 .8rem;
    border:1px solid #111;
    background:#111;
    color:#fff;
    font-family:inherit;
    font-size:.62rem;
    font-weight:800;
    cursor:pointer;
}
.premium-checkout-coupon button:hover{
    background:#fff;
    color:#111;
}
.premium-coupon-applied{
    display:grid;
    grid-template-columns:22px minmax(0,1fr) auto;
    align-items:center;
    gap:.6rem;
}
.premium-coupon-applied>.material-symbols-rounded{
    font-size:18px;
}
.premium-coupon-applied>div{
    display:grid;
}
.premium-coupon-applied strong{
    font-size:.72rem;
}
.premium-coupon-applied small{
    color:#777;
    font-size:.6rem;
}
.premium-coupon-applied form button{
    min-height:auto;
    padding:0;
    border:0;
    background:transparent;
    color:#111;
    font-size:.6rem;
    text-decoration:underline;
}
.premium-checkout-totals{
    display:grid;
    gap:.75rem;
    padding-block:1.2rem;
}
.premium-checkout-totals>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    color:#555;
    font-size:.7rem;
}
.premium-checkout-totals strong{
    color:#111;
    font-size:.72rem;
}
.premium-checkout-totals .is-discount strong{
    color:#2f6b3c;
}
.premium-checkout-total{
    margin-top:.25rem;
    padding-top:1rem;
    border-top:1px solid #d8d8d4;
}
.premium-checkout-total span{
    color:#111;
    font-size:.8rem;
    font-weight:700;
}
.premium-checkout-total strong{
    font-size:1.1rem;
}
.premium-checkout-trust{
    display:flex;
    flex-wrap:wrap;
    gap:.6rem 1rem;
    padding-top:1rem;
    border-top:1px solid #d8d8d4;
}
.premium-checkout-trust>span{
    display:inline-flex;
    align-items:center;
    gap:.3rem;
    color:#777;
    font-size:.6rem;
}
.premium-checkout-trust .material-symbols-rounded{
    font-size:14px;
}
.premium-checkout-empty{
    display:grid;
    min-height:460px;
    place-items:center;
    align-content:center;
    padding-bottom:7rem;
    text-align:center;
}
.premium-checkout-empty>.material-symbols-rounded{
    font-size:44px;
    font-variation-settings:"wght" 250;
}
.premium-checkout-empty h2{
    margin:1rem 0 0;
    color:#111;
    font-size:2rem;
    font-weight:500;
}
.premium-checkout-empty p{
    max-width:440px;
    margin:.7rem auto 0;
    color:#777;
    font-size:.8rem;
}
.premium-checkout-empty a{
    display:inline-flex;
    min-height:46px;
    align-items:center;
    margin-top:1.5rem;
    padding:0 1.2rem;
    background:#111;
    color:#fff;
    font-size:.7rem;
    font-weight:800;
}
@media(max-width:1100px){
    .premium-checkout-layout{
        grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);
        gap:2.5rem;
    }
}
@media(max-width:900px){
    .premium-checkout-layout{
        grid-template-columns:1fr;
    }
    .premium-checkout-sidebar{
        position:static;
        order:-1;
    }
}
@media(max-width:620px){
    .premium-checkout-heading{
        padding-block:3rem 2rem;
    }
    .premium-checkout-steps{
        gap:.7rem 1rem;
    }
    .premium-checkout-layout{
        padding-bottom:4rem;
    }
    .premium-checkout-field-grid,
    .premium-payment-picker{
        grid-template-columns:1fr;
    }
    .premium-checkout-location-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .premium-checkout-location-head button{
        width:100%;
    }
    .premium-checkout-location-search{
        grid-template-columns:22px minmax(0,1fr);
    }
    .premium-checkout-location-search button{
        grid-column:1/-1;
        width:100%;
    }
    #checkout-delivery-map{
        height:300px;
    }
    .premium-checkout-summary{
        margin-inline:-.25rem;
        padding:1.2rem;
    }
    .premium-checkout-item{
        grid-template-columns:64px minmax(0,1fr);
    }
    .premium-checkout-item-image{
        width:64px;
        height:72px;
    }
    .premium-checkout-item>strong{
        grid-column:2;
        justify-self:start;
    }
    .premium-checkout-submit{
        position:sticky;
        z-index:20;
        bottom:0;
        margin-inline:-1rem;
        padding-inline:1rem;
        box-shadow:0 -8px 22px rgba(0,0,0,.08);
    }
}


/* Premium product catalog */
main:has(.premium-catalog-page){
    width:100%;
    max-width:none;
    padding:0;
}
.premium-catalog-page{
    background:#fff;
    color:#111;
}
.premium-catalog-hero{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:2rem;
    padding-block:5rem 3.25rem;
}
.premium-catalog-hero>div:first-child{
    max-width:860px;
}
.premium-catalog-hero>div:first-child>p{
    margin:0 0 .8rem;
    color:#777;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.premium-catalog-hero h1{
    margin:0;
    color:#111;
    font-size:clamp(3rem,6vw,6rem);
    font-weight:500;
    line-height:.98;
    letter-spacing:-.055em;
}
[dir="rtl"] .premium-catalog-hero h1{
    line-height:1.18;
    letter-spacing:0;
}
.premium-catalog-hero>div:first-child>span{
    display:block;
    max-width:650px;
    margin-top:1.2rem;
    color:#666;
    font-size:.9rem;
    line-height:1.85;
}
.premium-catalog-count{
    display:grid;
    justify-items:end;
    flex:0 0 auto;
}
.premium-catalog-count strong{
    color:#111;
    font-size:2.2rem;
    font-weight:500;
    line-height:1;
}
.premium-catalog-count span{
    margin-top:.25rem;
    color:#888;
    font-size:.6rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.premium-catalog-categories{
    display:flex;
    overflow-x:auto;
    gap:1.6rem;
    padding-bottom:1.2rem;
    scrollbar-width:none;
}
.premium-catalog-categories::-webkit-scrollbar{
    display:none;
}
.premium-catalog-categories a{
    position:relative;
    flex:0 0 auto;
    padding-bottom:.45rem;
    color:#777;
    font-size:.72rem;
    font-weight:700;
    white-space:nowrap;
}
.premium-catalog-categories a::after{
    content:"";
    position:absolute;
    inset-inline:0;
    inset-block-end:0;
    height:1px;
    background:#111;
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .18s ease;
}
.premium-catalog-categories a:hover,
.premium-catalog-categories a.is-active{
    color:#111;
}
.premium-catalog-categories a.is-active::after,
.premium-catalog-categories a:hover::after{
    transform:scaleX(1);
}
.premium-catalog-divider{
    width:100%;
    height:1px;
    background:#e3e3e3;
}
.premium-catalog-toolbar{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:1.5rem;
    min-height:76px;
    border-bottom:1px solid #e3e3e3;
}
.premium-catalog-filter-toggle{
    display:none;
    align-items:center;
    gap:.4rem;
    padding:0;
    border:0;
    background:transparent;
    color:#111;
    font-family:inherit;
    font-size:.68rem;
    font-weight:800;
    cursor:pointer;
}
.premium-catalog-filter-toggle>.material-symbols-rounded{
    font-size:18px;
}
.premium-catalog-filter-toggle b{
    display:grid;
    width:19px;
    height:19px;
    place-items:center;
    border-radius:50%;
    background:#111;
    color:#fff;
    font-size:.55rem;
}
.premium-catalog-toolbar-copy{
    min-width:0;
}
.premium-catalog-toolbar-copy span{
    color:#777;
    font-size:.68rem;
}
.premium-catalog-sort{
    display:flex;
    align-items:center;
    gap:.7rem;
}
.premium-catalog-sort label{
    margin:0;
    color:#777;
    font-size:.63rem;
    font-weight:750;
}
.premium-catalog-sort select{
    min-height:40px;
    padding:0 1.8rem 0 .5rem;
    border:0;
    border-bottom:1px solid #aaa;
    border-radius:0;
    background-color:transparent;
    color:#111;
    font-family:inherit;
    font-size:.7rem;
    font-weight:700;
    box-shadow:none;
}
[dir="rtl"] .premium-catalog-sort select{
    padding:0 .5rem 0 1.8rem;
}
.premium-catalog-layout{
    display:grid;
    grid-template-columns:230px minmax(0,1fr);
    gap:3rem;
    align-items:start;
    padding-block:3rem 7rem;
}
.premium-catalog-sidebar{
    position:sticky;
    top:185px;
}
.premium-catalog-sidebar-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem;
    padding-bottom:1.2rem;
    border-bottom:1px solid #ddd;
}
.premium-catalog-sidebar-head p{
    margin:0 0 .2rem;
    color:#8a8a8a;
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.11em;
}
.premium-catalog-sidebar-head h2{
    margin:0;
    color:#111;
    font-size:1.25rem;
    font-weight:500;
}
.premium-catalog-sidebar-head button{
    display:none;
    width:36px;
    height:36px;
    place-items:center;
    padding:0;
    border:0;
    background:transparent;
    color:#111;
}
.premium-catalog-sidebar-head button .material-symbols-rounded{
    font-size:20px;
}
.premium-catalog-filters{
    display:grid;
}
.premium-catalog-search{
    display:grid;
    gap:.45rem;
    padding-block:1.25rem;
    border-bottom:1px solid #ddd;
}
.premium-catalog-search>span,
.premium-catalog-price-grid label>span{
    color:#555;
    font-size:.64rem;
    font-weight:750;
}
.premium-catalog-search>div{
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    align-items:center;
    gap:.4rem;
    min-height:42px;
    border-bottom:1px solid #aaa;
}
.premium-catalog-search .material-symbols-rounded{
    color:#777;
    font-size:18px;
}
.premium-catalog-search input{
    min-width:0;
    padding:0;
    border:0;
    border-radius:0;
    outline:0;
    background:transparent;
    box-shadow:none;
    font-family:inherit;
    font-size:.76rem;
}
.premium-catalog-filter-group{
    display:grid;
    gap:.72rem;
    margin:0;
    padding:1.35rem 0;
    border:0;
    border-bottom:1px solid #ddd;
}
.premium-catalog-filter-group legend{
    float:none;
    width:auto;
    margin:0 0 .15rem;
    padding:0;
    color:#111;
    font-size:.7rem;
    font-weight:800;
}
.premium-catalog-radio{
    display:flex;
    align-items:center;
    gap:.55rem;
    margin:0;
    color:#555;
    font-size:.69rem;
    cursor:pointer;
}
.premium-catalog-radio input{
    width:14px;
    height:14px;
    accent-color:#111;
}
.premium-catalog-radio:has(input:checked){
    color:#111;
    font-weight:750;
}
.premium-catalog-price-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.65rem;
}
.premium-catalog-price-grid label{
    display:grid;
    gap:.4rem;
}
.premium-catalog-price-grid input{
    width:100%;
    min-width:0;
    min-height:40px;
    padding:.2rem .35rem;
    border:0;
    border-bottom:1px solid #aaa;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    font-family:inherit;
    font-size:.7rem;
}
.premium-catalog-filter-actions{
    display:grid;
    gap:.65rem;
    padding-top:1.35rem;
}
.premium-catalog-filter-actions button{
    min-height:44px;
    border:1px solid #111;
    background:#111;
    color:#fff;
    font-family:inherit;
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.05em;
    cursor:pointer;
}
.premium-catalog-filter-actions button:hover{
    background:#fff;
    color:#111;
}
.premium-catalog-filter-actions a{
    width:fit-content;
    color:#666;
    font-size:.63rem;
    text-decoration:underline;
    text-underline-offset:3px;
}
.premium-catalog-products{
    min-width:0;
}
.premium-catalog-active-filters{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.5rem;
    margin-bottom:1.4rem;
}
.premium-catalog-active-filters>span{
    color:#777;
    font-size:.61rem;
    font-weight:800;
    letter-spacing:.06em;
}
.premium-catalog-active-filters b{
    display:inline-flex;
    min-height:28px;
    align-items:center;
    padding:0 .65rem;
    border:1px solid #d7d7d7;
    color:#333;
    font-size:.6rem;
    font-weight:650;
}
.premium-catalog-active-filters a{
    margin-inline-start:.2rem;
    color:#111;
    font-size:.61rem;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:3px;
}
.premium-catalog-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:2.8rem 1.25rem;
}
.premium-product-card{
    min-width:0;
    background:#fff;
}
.premium-product-media{
    position:relative;
    overflow:hidden;
    background:#f3f3ef;
}
.premium-product-media>a{
    position:relative;
    display:block;
    aspect-ratio:1 / 1.08;
    overflow:hidden;
}
.premium-product-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:1rem;
    object-fit:contain;
    transition:opacity .28s ease,transform .38s ease;
}
.premium-product-image-secondary{
    opacity:0;
}
.premium-product-card:hover .premium-product-image-primary{
    opacity:0;
    transform:scale(1.025);
}
.premium-product-card:hover .premium-product-image-secondary{
    opacity:1;
    transform:scale(1.025);
}
.premium-product-card:not(:has(.premium-product-image-secondary)):hover .premium-product-image-primary{
    opacity:1;
    transform:scale(1.025);
}
.premium-product-placeholder{
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
    color:#aaa;
    font-size:42px;
}
.premium-product-badges{
    position:absolute;
    z-index:2;
    inset-block-start:.7rem;
    inset-inline-start:.7rem;
}
.premium-product-badges span{
    display:inline-flex;
    min-height:25px;
    align-items:center;
    padding:0 .5rem;
    background:#fff;
    color:#111;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.premium-product-quick-action{
    position:absolute;
    z-index:3;
    inset-inline:0;
    inset-block-end:0;
    padding:.55rem;
    transform:translateY(100%);
    transition:transform .22s ease;
}
.premium-product-card:hover .premium-product-quick-action{
    transform:translateY(0);
}
.premium-product-quick-action form{
    margin:0;
}
.premium-product-quick-action button,
.premium-product-quick-action>a{
    display:flex;
    width:100%;
    min-height:44px;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    padding:0 .85rem;
    border:1px solid #111;
    background:rgba(17,17,17,.96);
    color:#fff;
    font-family:inherit;
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.04em;
    backdrop-filter:blur(8px);
}
.premium-product-quick-action button{
    cursor:pointer;
}
.premium-product-quick-action button:hover,
.premium-product-quick-action>a:hover{
    background:#fff;
    color:#111;
}
.premium-product-quick-action .material-symbols-rounded{
    font-size:17px;
}
.premium-product-copy{
    padding-top:.9rem;
}
.premium-product-meta{
    display:flex;
    flex-wrap:wrap;
    gap:.3rem .55rem;
    color:#888;
    font-size:.56rem;
    font-weight:750;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.premium-product-meta span+span::before{
    content:"·";
    margin-inline-end:.55rem;
}
.premium-product-copy h3{
    margin:.45rem 0 0;
    font-size:.88rem;
    font-weight:650;
    line-height:1.45;
}
.premium-product-copy h3 a{
    color:#111;
}
.premium-product-copy h3 a:hover{
    text-decoration:underline;
    text-underline-offset:3px;
}
.premium-product-price-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    margin-top:.55rem;
}
.premium-product-price-row strong{
    color:#111;
    font-size:.75rem;
    font-weight:700;
}
.premium-product-price-row small{
    color:#66705e;
    font-size:.56rem;
    font-weight:700;
}
.premium-product-price-row small.is-sold-out{
    color:#9b5b5b;
}
.premium-catalog-empty{
    grid-column:1/-1;
    display:grid;
    min-height:420px;
    place-items:center;
    align-content:center;
    padding:3rem;
    text-align:center;
}
.premium-catalog-empty>.material-symbols-rounded{
    color:#999;
    font-size:42px;
    font-variation-settings:"wght" 250;
}
.premium-catalog-empty h2{
    margin:1rem 0 0;
    color:#111;
    font-size:1.6rem;
    font-weight:500;
}
.premium-catalog-empty p{
    max-width:420px;
    margin:.6rem auto 0;
    color:#777;
    font-size:.76rem;
}
.premium-catalog-empty a{
    margin-top:1rem;
    color:#111;
    font-size:.68rem;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:3px;
}
.premium-catalog-pagination{
    margin-top:4rem;
    padding-top:2rem;
    border-top:1px solid #ddd;
}
.premium-catalog-backdrop{
    display:none;
}
@media(max-width:1180px){
    .premium-catalog-layout{
        grid-template-columns:210px minmax(0,1fr);
        gap:2rem;
    }
    .premium-catalog-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:820px){
    .premium-catalog-hero{
        align-items:flex-start;
        flex-direction:column;
        padding-block:3.5rem 2.4rem;
    }
    .premium-catalog-count{
        justify-items:start;
    }
    .premium-catalog-toolbar{
        grid-template-columns:auto minmax(0,1fr);
    }
    .premium-catalog-filter-toggle{
        display:inline-flex;
    }
    .premium-catalog-toolbar-copy{
        display:none;
    }
    .premium-catalog-sort{
        justify-self:end;
    }
    .premium-catalog-layout{
        display:block;
        padding-block:2rem 5rem;
    }
    .premium-catalog-sidebar{
        position:fixed;
        z-index:1200;
        inset-block:0;
        inset-inline-start:0;
        width:min(88vw,360px);
        overflow-y:auto;
        padding:1.25rem;
        background:#fff;
        transform:translateX(-105%);
        transition:transform .24s ease;
    }
    [dir="rtl"] .premium-catalog-sidebar{
        transform:translateX(105%);
    }
    .premium-catalog-sidebar.is-open{
        transform:translateX(0);
    }
    .premium-catalog-sidebar-head button{
        display:grid;
    }
    .premium-catalog-backdrop{
        position:fixed;
        z-index:1190;
        inset:0;
        background:rgba(0,0,0,.36);
    }
    .premium-catalog-backdrop.is-open{
        display:block;
    }
    body.catalog-filter-open{
        overflow:hidden;
    }
}
@media(max-width:620px){
    .premium-catalog-hero h1{
        font-size:clamp(2.8rem,15vw,4.5rem);
    }
    .premium-catalog-categories{
        gap:1.1rem;
    }
    .premium-catalog-toolbar{
        min-height:68px;
        gap:.8rem;
    }
    .premium-catalog-sort label{
        display:none;
    }
    .premium-catalog-sort select{
        max-width:155px;
    }
    .premium-catalog-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:2rem .65rem;
    }
    .premium-product-media>a{
        aspect-ratio:1 / 1.15;
    }
    .premium-product-media img{
        padding:.45rem;
    }
    .premium-product-quick-action{
        position:static;
        padding:0;
        transform:none;
    }
    .premium-product-quick-action button,
    .premium-product-quick-action>a{
        min-height:38px;
        padding:0 .6rem;
        font-size:.58rem;
    }
    .premium-product-copy{
        padding-top:.7rem;
    }
    .premium-product-meta{
        display:block;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .premium-product-meta span+span{
        display:none;
    }
    .premium-product-copy h3{
        font-size:.78rem;
    }
    .premium-product-price-row{
        align-items:flex-start;
        flex-direction:column;
        gap:.2rem;
    }
    .premium-catalog-active-filters{
        margin-bottom:1rem;
    }
}


/* Premium product detail */
main:has(.premium-product-page){
    width:100%;
    max-width:none;
    padding:0;
}
.premium-product-page{
    background:#fff;
    color:#111;
}
.premium-product-breadcrumb{
    display:flex;
    overflow-x:auto;
    align-items:center;
    gap:.55rem;
    min-height:64px;
    border-bottom:1px solid #e3e3e3;
    color:#8a8a8a;
    font-size:.61rem;
    white-space:nowrap;
    scrollbar-width:none;
}
.premium-product-breadcrumb::-webkit-scrollbar{
    display:none;
}
.premium-product-breadcrumb a{
    color:#777;
}
.premium-product-breadcrumb a:hover{
    color:#111;
    text-decoration:underline;
    text-underline-offset:3px;
}
.premium-product-breadcrumb b{
    overflow:hidden;
    max-width:320px;
    color:#111;
    font-weight:650;
    text-overflow:ellipsis;
}
.premium-product-layout{
    display:grid;
    grid-template-columns:minmax(0,1.22fr) minmax(390px,.78fr);
    gap:4.5rem;
    align-items:start;
    padding-block:3rem 6rem;
}
.premium-product-gallery{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:1rem;
    min-width:0;
}
.premium-product-thumbnails{
    display:grid;
    align-content:start;
    gap:.7rem;
}
.premium-product-thumbnail{
    display:grid;
    width:82px;
    height:96px;
    place-items:center;
    overflow:hidden;
    padding:0;
    border:1px solid transparent;
    background:#f4f4f0;
    cursor:pointer;
    transition:border-color .18s ease;
}
.premium-product-thumbnail:hover,
.premium-product-thumbnail.is-active{
    border-color:#111;
}
.premium-product-thumbnail img{
    width:100%;
    height:100%;
    padding:.35rem;
    object-fit:contain;
}
.premium-product-video-thumb{
    color:#111;
}
.premium-product-video-thumb .material-symbols-rounded{
    font-size:27px;
}
.premium-product-stage{
    position:relative;
    display:grid;
    min-height:680px;
    place-items:center;
    overflow:hidden;
    background:#f4f4f0;
}
.premium-product-stage>img,
.premium-product-stage>video{
    width:100%;
    height:100%;
    max-height:760px;
    object-fit:contain;
}
.premium-product-stage>img{
    padding:clamp(1rem,3vw,2.4rem);
}
.premium-product-stage>video{
    background:#111;
}
.premium-product-stage>[hidden]{
    display:none;
}
.premium-product-stage-placeholder{
    color:#aaa;
    font-size:64px;
    font-variation-settings:"wght" 220;
}
.premium-product-stage-badge{
    position:absolute;
    inset-block-start:1rem;
    inset-inline-start:1rem;
    display:inline-flex;
    min-height:28px;
    align-items:center;
    padding:0 .65rem;
    background:#fff;
    color:#111;
    font-size:.57rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.premium-product-info{
    position:sticky;
    top:175px;
    min-width:0;
}
.premium-product-info-top{
    padding-bottom:1.7rem;
    border-bottom:1px solid #ddd;
}
.premium-product-eyebrow{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.35rem;
    color:#888;
    font-size:.61rem;
    font-weight:750;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.premium-product-eyebrow a,
.premium-product-eyebrow b{
    color:#777;
    font-weight:750;
}
.premium-product-eyebrow a:hover{
    color:#111;
}
.premium-product-info h1{
    margin:.8rem 0 0;
    color:#111;
    font-size:clamp(2.4rem,4.2vw,4.6rem);
    font-weight:500;
    line-height:1.02;
    letter-spacing:-.055em;
}
[dir="rtl"] .premium-product-info h1{
    line-height:1.18;
    letter-spacing:0;
}
.premium-product-sku{
    margin:.7rem 0 0;
    color:#999;
    font-size:.58rem;
    font-weight:700;
    letter-spacing:.06em;
}
.premium-product-price-stock{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-top:1.4rem;
}
.premium-product-main-price{
    margin:0;
    color:#111;
    font-size:1.35rem;
    font-weight:700;
}
.premium-product-stock{
    display:inline-flex;
    align-items:center;
    gap:.38rem;
    margin:0;
    color:#5f6958;
    font-size:.65rem;
    font-weight:700;
}
.premium-product-stock>span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#67745e;
}
.premium-product-stock.is-low{
    color:#8a6a35;
}
.premium-product-stock.is-low>span{
    background:#9a763c;
}
.premium-product-stock.is-out{
    color:#9b5b5b;
}
.premium-product-stock.is-out>span{
    background:#9b5b5b;
}
.premium-product-description{
    margin-top:1.35rem;
    color:#5f5f5f;
    font-size:.82rem;
    line-height:1.85;
}
.premium-product-purchase{
    display:grid;
    gap:1.35rem;
    padding-block:1.7rem;
    border-bottom:1px solid #ddd;
}
.premium-product-variant-picker{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
    margin:0;
    padding:0;
    border:0;
}
.premium-product-variant-picker legend{
    float:none;
    width:auto;
    grid-column:1/-1;
    margin:0;
    padding:0;
    color:#111;
    font-size:.72rem;
    font-weight:800;
}
.premium-product-variant-picker label{
    display:grid;
    gap:.45rem;
    margin:0;
}
.premium-product-variant-picker label>span{
    color:#555;
    font-size:.64rem;
    font-weight:700;
}
.premium-product-variant-picker select{
    min-height:48px;
    padding:0 2rem 0 .7rem;
    border:1px solid #cfcfcf;
    border-radius:0;
    background-color:#fff;
    color:#111;
    font-family:inherit;
    font-size:.73rem;
    box-shadow:none;
}
[dir="rtl"] .premium-product-variant-picker select{
    padding:0 .7rem 0 2rem;
}
.premium-product-variant-picker small{
    grid-column:1/-1;
    color:#777;
    font-size:.62rem;
    line-height:1.5;
}
.premium-product-buy-row{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:.8rem;
    align-items:end;
}
.premium-product-quantity{
    display:grid;
    gap:.45rem;
}
.premium-product-quantity>span{
    color:#555;
    font-size:.64rem;
    font-weight:700;
}
.premium-product-quantity>div{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 34px;
    min-height:52px;
    border:1px solid #cfcfcf;
}
.premium-product-quantity button{
    padding:0;
    border:0;
    background:#fff;
    color:#111;
    font-family:inherit;
    font-size:1rem;
    cursor:pointer;
}
.premium-product-quantity button:hover{
    background:#f2f2ef;
}
.premium-product-quantity input{
    width:100%;
    min-width:0;
    padding:0;
    border:0;
    border-inline:1px solid #e1e1e1;
    border-radius:0;
    outline:0;
    background:#fff;
    color:#111;
    font-family:inherit;
    font-size:.75rem;
    font-weight:700;
    text-align:center;
    -moz-appearance:textfield;
}
.premium-product-quantity input::-webkit-outer-spin-button,
.premium-product-quantity input::-webkit-inner-spin-button{
    margin:0;
    -webkit-appearance:none;
}
.premium-product-add{
    display:flex;
    min-height:52px;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0 1rem;
    border:1px solid #111;
    background:#111;
    color:#fff;
    font-family:inherit;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background-color .18s ease,color .18s ease,opacity .18s ease;
}
.premium-product-add:hover:not(:disabled){
    background:#fff;
    color:#111;
}
.premium-product-add:disabled{
    cursor:not-allowed;
    opacity:.38;
}
.premium-product-add .material-symbols-rounded{
    font-size:18px;
}
.premium-product-unavailable{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:.8rem;
    margin-block:1.5rem;
    padding:1rem;
    background:#f4f4f0;
}
.premium-product-unavailable>.material-symbols-rounded{
    font-size:24px;
}
.premium-product-unavailable>div{
    display:grid;
    gap:.2rem;
}
.premium-product-unavailable strong{
    color:#111;
    font-size:.76rem;
}
.premium-product-unavailable p{
    margin:0;
    color:#777;
    font-size:.66rem;
}
.premium-product-benefits{
    display:grid;
    padding-block:1rem;
    border-bottom:1px solid #ddd;
}
.premium-product-benefits>div{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:.7rem;
    padding:.85rem 0;
}
.premium-product-benefits>div+div{
    border-top:1px solid #ececec;
}
.premium-product-benefits>.material-symbols-rounded,
.premium-product-benefits>div>.material-symbols-rounded{
    color:#555;
    font-size:20px;
    font-variation-settings:"wght" 300;
}
.premium-product-benefits>div>span:last-child{
    display:grid;
    gap:.12rem;
}
.premium-product-benefits strong{
    color:#111;
    font-size:.7rem;
}
.premium-product-benefits small{
    color:#777;
    font-size:.62rem;
    line-height:1.5;
}
.premium-product-benefits a{
    color:#111;
    text-decoration:underline;
    text-underline-offset:3px;
}
.premium-product-detail-groups{
    border-bottom:1px solid #ddd;
}
.premium-product-detail-groups details{
    border-top:1px solid #ddd;
}
.premium-product-detail-groups details:first-child{
    border-top:0;
}
.premium-product-detail-groups summary{
    display:flex;
    min-height:58px;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    color:#111;
    font-size:.71rem;
    font-weight:800;
    cursor:pointer;
    list-style:none;
}
.premium-product-detail-groups summary::-webkit-details-marker{
    display:none;
}
.premium-product-detail-groups summary .material-symbols-rounded{
    font-size:18px;
    transition:transform .18s ease;
}
.premium-product-detail-groups details[open] summary .material-symbols-rounded{
    transform:rotate(45deg);
}
.premium-product-detail-content{
    padding:0 0 1.4rem;
}
.premium-product-facts,
.premium-product-specs{
    display:grid;
    margin:0;
}
.premium-product-facts>div,
.premium-product-specs>div{
    display:grid;
    grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);
    gap:1rem;
    padding:.65rem 0;
    border-bottom:1px solid #ececec;
}
.premium-product-facts dt,
.premium-product-specs dt{
    color:#777;
    font-size:.63rem;
    font-weight:700;
}
.premium-product-facts dd,
.premium-product-specs dd{
    margin:0;
    color:#111;
    font-size:.68rem;
}
.premium-product-tags{
    display:grid;
    gap:.55rem;
    margin-top:1rem;
}
.premium-product-tags>span{
    color:#777;
    font-size:.63rem;
    font-weight:700;
}
.premium-product-tags>div{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;
}
.premium-product-tags b{
    display:inline-flex;
    min-height:28px;
    align-items:center;
    padding:0 .6rem;
    border:1px solid #d7d7d7;
    color:#333;
    font-size:.6rem;
    font-weight:650;
}
.premium-related-products{
    padding-block:0 7rem;
}
.premium-related-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:2rem;
    margin-bottom:2rem;
    padding-top:3rem;
    border-top:1px solid #ddd;
}
.premium-related-heading p{
    margin:0 0 .35rem;
    color:#888;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.11em;
}
.premium-related-heading h2{
    margin:0;
    color:#111;
    font-size:clamp(2rem,3vw,3rem);
    font-weight:500;
    letter-spacing:-.04em;
}
[dir="rtl"] .premium-related-heading h2{
    letter-spacing:0;
}
.premium-related-heading>a{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    color:#111;
    font-size:.66rem;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:4px;
}
.premium-related-heading .material-symbols-rounded{
    font-size:16px;
}
.premium-related-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1.2rem;
}
@media(max-width:1180px){
    .premium-product-layout{
        grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
        gap:2.5rem;
    }
    .premium-product-stage{
        min-height:560px;
    }
}
@media(max-width:900px){
    .premium-product-layout{
        grid-template-columns:1fr;
        padding-top:1.5rem;
    }
    .premium-product-info{
        position:static;
    }
    .premium-product-stage{
        min-height:620px;
    }
    .premium-related-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:620px){
    .premium-product-breadcrumb{
        min-height:52px;
    }
    .premium-product-layout{
        gap:2.2rem;
        padding-bottom:4rem;
    }
    .premium-product-gallery{
        grid-template-columns:1fr;
    }
    .premium-product-thumbnails{
        order:2;
        display:flex;
        overflow-x:auto;
        gap:.5rem;
        scrollbar-width:none;
    }
    .premium-product-thumbnails::-webkit-scrollbar{
        display:none;
    }
    .premium-product-thumbnail{
        width:66px;
        height:76px;
        flex:0 0 66px;
    }
    .premium-product-stage{
        min-height:440px;
    }
    .premium-product-stage>img{
        padding:.9rem;
    }
    .premium-product-info h1{
        font-size:clamp(2.2rem,11vw,3.5rem);
    }
    .premium-product-price-stock{
        align-items:flex-start;
        flex-direction:column;
        gap:.55rem;
    }
    .premium-product-variant-picker{
        grid-template-columns:1fr;
    }
    .premium-product-buy-row{
        grid-template-columns:1fr;
    }
    .premium-product-add{
        position:sticky;
        z-index:30;
        bottom:0;
        box-shadow:0 -8px 20px rgba(0,0,0,.08);
    }
    .premium-related-products{
        padding-bottom:4rem;
    }
    .premium-related-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:1rem;
    }
    .premium-related-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:2rem .65rem;
    }
}


/* Product image clarity and scale fix */
.premium-product-stage{
    min-height:720px;
    background:#fff;
}
.premium-product-stage>img{
    width:100%;
    height:100%;
    max-height:none;
    padding:0;
    object-fit:contain;
    object-position:center;
    transform:scale(1.10);
    transform-origin:center;
}
.premium-product-thumbnail{
    background:#fff;
}
.premium-product-thumbnail img{
    padding:.15rem;
}
@media(max-width:1180px){
    .premium-product-stage{
        min-height:620px;
    }
    .premium-product-stage>img{
        transform:scale(1.08);
    }
}
@media(max-width:900px){
    .premium-product-stage{
        min-height:600px;
    }
}
@media(max-width:620px){
    .premium-product-stage{
        min-height:430px;
    }
    .premium-product-stage>img{
        padding:0;
        transform:scale(1.04);
    }
}


/* Clear product gallery rebuild */
.premium-product-gallery{
    display:grid;
    grid-template-columns:1fr;
    gap:1rem;
    min-width:0;
}
.premium-product-stage{
    position:relative;
    display:grid;
    min-height:720px;
    place-items:center;
    overflow:hidden;
    background:#f5f5f2;
}
.premium-product-zoom-trigger{
    display:grid;
    width:100%;
    height:100%;
    min-height:720px;
    place-items:center;
    padding:0;
    border:0;
    background:transparent;
    cursor:zoom-in;
}
.premium-product-zoom-trigger>img{
    display:block;
    width:100%;
    height:100%;
    max-height:720px;
    padding:1.2rem;
    object-fit:contain;
    object-position:center;
    transform:none !important;
}
.premium-product-stage>video{
    width:100%;
    height:100%;
    min-height:720px;
    max-height:720px;
    object-fit:contain;
    background:#111;
}
.premium-product-stage>[hidden]{
    display:none !important;
}
.premium-product-gallery-arrow{
    position:absolute;
    z-index:4;
    top:50%;
    display:grid;
    width:46px;
    height:46px;
    place-items:center;
    padding:0;
    border:1px solid rgba(17,17,17,.18);
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#111;
    box-shadow:0 5px 18px rgba(0,0,0,.08);
    transform:translateY(-50%);
    cursor:pointer;
    transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.premium-product-gallery-arrow:hover{
    border-color:#111;
    background:#111;
    color:#fff;
}
.premium-product-gallery-arrow.is-prev{
    inset-inline-start:1rem;
}
.premium-product-gallery-arrow.is-next{
    inset-inline-end:1rem;
}
.premium-product-gallery-arrow .material-symbols-rounded{
    font-size:20px;
}
.premium-product-image-counter{
    position:absolute;
    z-index:4;
    inset-inline-end:1rem;
    inset-block-end:1rem;
    display:inline-flex;
    align-items:center;
    gap:.3rem;
    min-height:32px;
    padding:0 .7rem;
    background:rgba(255,255,255,.92);
    color:#111;
    font-size:.62rem;
    font-weight:750;
    backdrop-filter:blur(8px);
}
.premium-product-zoom-hint{
    position:absolute;
    z-index:4;
    inset-inline-start:1rem;
    inset-block-end:1rem;
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    min-height:32px;
    padding:0 .7rem;
    background:rgba(255,255,255,.92);
    color:#555;
    font-size:.59rem;
    font-weight:700;
    pointer-events:none;
    backdrop-filter:blur(8px);
}
.premium-product-zoom-hint .material-symbols-rounded{
    font-size:16px;
}
.premium-product-stage-badge{
    z-index:5;
}
.premium-product-thumbnails{
    display:flex;
    overflow-x:auto;
    gap:.65rem;
    padding-bottom:.2rem;
    scrollbar-width:thin;
}
.premium-product-thumbnail{
    position:relative;
    display:grid;
    width:94px;
    height:106px;
    flex:0 0 94px;
    place-items:center;
    overflow:hidden;
    padding:0;
    border:1px solid #dedede;
    background:#fff;
    cursor:pointer;
    transition:border-color .18s ease,opacity .18s ease;
}
.premium-product-thumbnail:hover,
.premium-product-thumbnail.is-active{
    border-color:#111;
}
.premium-product-thumbnail:not(.is-active){
    opacity:.7;
}
.premium-product-thumbnail:hover{
    opacity:1;
}
.premium-product-thumbnail img{
    width:100%;
    height:100%;
    padding:.3rem;
    object-fit:contain;
}
.premium-product-thumbnail>span:not(.material-symbols-rounded){
    position:absolute;
    inset-inline-end:4px;
    inset-block-end:4px;
    display:grid;
    width:20px;
    height:20px;
    place-items:center;
    border-radius:50%;
    background:rgba(17,17,17,.82);
    color:#fff;
    font-size:.5rem;
    font-weight:800;
}
.premium-product-video-thumb{
    align-content:center;
    gap:.2rem;
    color:#111;
}
.premium-product-video-thumb .material-symbols-rounded{
    font-size:26px;
}
.premium-product-video-thumb em{
    font-style:normal;
    font-size:.55rem;
    font-weight:750;
}
.premium-product-lightbox{
    width:100vw;
    max-width:none;
    height:100vh;
    max-height:none;
    margin:0;
    padding:0;
    border:0;
    background:rgba(255,255,255,.98);
}
.premium-product-lightbox::backdrop{
    background:rgba(0,0,0,.78);
}
.premium-product-lightbox[open]{
    display:grid;
    place-items:center;
}
.premium-product-lightbox-stage{
    display:grid;
    width:min(92vw,1400px);
    height:88vh;
    place-items:center;
}
.premium-product-lightbox-stage img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.premium-product-lightbox-close,
.premium-product-lightbox-arrow{
    position:fixed;
    z-index:8;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid #d8d8d8;
    border-radius:50%;
    background:#fff;
    color:#111;
    cursor:pointer;
}
.premium-product-lightbox-close{
    width:46px;
    height:46px;
    inset-block-start:1.25rem;
    inset-inline-end:1.25rem;
}
.premium-product-lightbox-arrow{
    width:52px;
    height:52px;
    top:50%;
    transform:translateY(-50%);
}
.premium-product-lightbox-arrow.is-prev{
    inset-inline-start:1.5rem;
}
.premium-product-lightbox-arrow.is-next{
    inset-inline-end:1.5rem;
}
.premium-product-lightbox-close:hover,
.premium-product-lightbox-arrow:hover{
    border-color:#111;
    background:#111;
    color:#fff;
}
.premium-product-lightbox-close .material-symbols-rounded,
.premium-product-lightbox-arrow .material-symbols-rounded{
    font-size:22px;
}
.premium-product-lightbox-counter{
    position:fixed;
    z-index:8;
    inset-inline-start:50%;
    inset-block-end:1.25rem;
    padding:.45rem .75rem;
    background:#111;
    color:#fff;
    font-size:.62rem;
    font-weight:750;
    transform:translateX(-50%);
}
[dir="rtl"] .premium-product-lightbox-counter{
    transform:translateX(50%);
}
@media(max-width:1180px){
    .premium-product-stage,
    .premium-product-zoom-trigger{
        min-height:620px;
    }
    .premium-product-zoom-trigger>img,
    .premium-product-stage>video{
        max-height:620px;
    }
}
@media(max-width:900px){
    .premium-product-stage,
    .premium-product-zoom-trigger{
        min-height:560px;
    }
    .premium-product-zoom-trigger>img,
    .premium-product-stage>video{
        max-height:560px;
    }
}
@media(max-width:620px){
    .premium-product-stage,
    .premium-product-zoom-trigger{
        min-height:420px;
    }
    .premium-product-zoom-trigger>img,
    .premium-product-stage>video{
        max-height:420px;
        padding:.45rem;
    }
    .premium-product-gallery-arrow{
        width:40px;
        height:40px;
    }
    .premium-product-gallery-arrow.is-prev{
        inset-inline-start:.55rem;
    }
    .premium-product-gallery-arrow.is-next{
        inset-inline-end:.55rem;
    }
    .premium-product-image-counter{
        inset-inline-end:.55rem;
        inset-block-end:.55rem;
    }
    .premium-product-zoom-hint{
        inset-inline-start:.55rem;
        inset-block-end:.55rem;
    }
    .premium-product-thumbnail{
        width:76px;
        height:86px;
        flex-basis:76px;
    }
    .premium-product-lightbox-stage{
        width:94vw;
        height:82vh;
    }
    .premium-product-lightbox-arrow{
        width:44px;
        height:44px;
    }
    .premium-product-lightbox-arrow.is-prev{
        inset-inline-start:.6rem;
    }
    .premium-product-lightbox-arrow.is-next{
        inset-inline-end:.6rem;
    }
    .premium-product-lightbox-close{
        width:42px;
        height:42px;
        inset-block-start:.75rem;
        inset-inline-end:.75rem;
    }
}


/* Premium order tracking */
main:has(.premium-order-page){
    width:100%;
    max-width:none;
    padding:0;
}
.premium-order-page{
    background:#fff;
    color:#111;
}
.premium-order-hero{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:2rem;
    padding-block:4.5rem 2.8rem;
}
.premium-order-hero-main>p{
    margin:0 0 .75rem;
    color:#858585;
    font-size:.6rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.premium-order-hero h1{
    margin:0;
    color:#111;
    font-size:clamp(2.7rem,5vw,5.2rem);
    font-weight:500;
    line-height:1;
    letter-spacing:-.055em;
}
[dir="rtl"] .premium-order-hero h1{
    line-height:1.18;
    letter-spacing:0;
}
.premium-order-hero h1 span{
    white-space:nowrap;
}
.premium-order-hero-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.7rem 1.1rem;
    margin-top:1.2rem;
}
.premium-order-hero-meta>span{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    color:#777;
    font-size:.64rem;
}
.premium-order-hero-meta .material-symbols-rounded{
    font-size:15px;
}
.premium-order-status{
    font-weight:750;
}
.premium-order-status i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#8a8a8a;
}
.premium-order-status.is-pending i,
.premium-order-status.is-processing i{
    background:#9a763c;
}
.premium-order-status.is-paid i,
.premium-order-status.is-out_for_delivery i{
    background:#4e6d7c;
}
.premium-order-status.is-delivered i{
    background:#5e7357;
}
.premium-order-status.is-cancelled i,
.premium-order-status.is-failed_attempt i{
    background:#9b5b5b;
}
.premium-order-hero-total{
    display:grid;
    justify-items:end;
    flex:0 0 auto;
}
.premium-order-hero-total span{
    color:#858585;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.premium-order-hero-total strong{
    margin-top:.3rem;
    color:#111;
    font-size:1.6rem;
    font-weight:650;
}
.premium-order-divider{
    width:100%;
    height:1px;
    background:#e2e2e2;
}
.premium-order-progress{
    padding-block:2rem;
    border-bottom:1px solid #e2e2e2;
}
.premium-order-progress-track{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
}
.premium-order-step{
    position:relative;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:.65rem;
    align-items:start;
    min-width:0;
}
.premium-order-step:not(:last-child)::after{
    content:"";
    position:absolute;
    top:16px;
    inset-inline-start:34px;
    width:calc(100% - 20px);
    height:1px;
    background:#ddd;
}
.premium-order-step.is-complete:not(:last-child)::after{
    background:#111;
}
.premium-order-step-marker{
    position:relative;
    z-index:2;
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border:1px solid #cfcfcf;
    border-radius:50%;
    background:#fff;
    color:#777;
}
.premium-order-step-marker b{
    font-size:.58rem;
}
.premium-order-step-marker .material-symbols-rounded{
    font-size:16px;
}
.premium-order-step.is-complete .premium-order-step-marker,
.premium-order-step.is-current .premium-order-step-marker{
    border-color:#111;
    background:#111;
    color:#fff;
}
.premium-order-step>div:last-child{
    display:grid;
    gap:.15rem;
    padding-top:.15rem;
}
.premium-order-step strong{
    color:#777;
    font-size:.64rem;
    font-weight:700;
    line-height:1.4;
}
.premium-order-step.is-complete strong,
.premium-order-step.is-current strong{
    color:#111;
}
.premium-order-step small{
    color:#8a8a8a;
    font-size:.55rem;
}
.premium-order-exception{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:.8rem;
    padding:1rem 1.1rem;
    background:#f5f2f1;
}
.premium-order-exception>.material-symbols-rounded{
    color:#8f5454;
    font-size:24px;
}
.premium-order-exception>div{
    display:grid;
    gap:.2rem;
}
.premium-order-exception strong{
    color:#111;
    font-size:.76rem;
}
.premium-order-exception p{
    margin:0;
    color:#777;
    font-size:.68rem;
}
.premium-order-layout{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
    gap:4rem;
    align-items:start;
    padding-block:3.5rem 7rem;
}
.premium-order-main{
    display:grid;
    gap:3.5rem;
}
.premium-order-section{
    min-width:0;
}
.premium-order-section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1.5rem;
    margin-bottom:1.5rem;
    padding-bottom:1rem;
    border-bottom:1px solid #ddd;
}
.premium-order-section-heading p{
    margin:0 0 .25rem;
    color:#888;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.11em;
}
.premium-order-section-heading h2{
    margin:0;
    color:#111;
    font-size:1.6rem;
    font-weight:500;
}
.premium-order-section-heading>span:not(.material-symbols-rounded){
    color:#777;
    font-size:.64rem;
}
.premium-order-section-heading>.material-symbols-rounded{
    color:#555;
    font-size:22px;
}
.premium-order-items{
    display:grid;
}
.premium-order-item{
    display:grid;
    grid-template-columns:118px minmax(0,1fr) auto;
    gap:1.2rem;
    align-items:start;
    padding-block:1.35rem;
    border-bottom:1px solid #e5e5e5;
}
.premium-order-item:first-child{
    padding-top:0;
}
.premium-order-item-image{
    display:grid;
    width:118px;
    height:132px;
    place-items:center;
    overflow:hidden;
    background:#f4f4f0;
}
.premium-order-item-image img{
    width:100%;
    height:100%;
    padding:.45rem;
    object-fit:contain;
}
.premium-order-item-image>.material-symbols-rounded{
    color:#aaa;
    font-size:32px;
}
.premium-order-item-copy{
    min-width:0;
}
.premium-order-item-eyebrow{
    display:flex;
    flex-wrap:wrap;
    gap:.25rem .55rem;
    color:#888;
    font-size:.55rem;
    font-weight:750;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.premium-order-item-eyebrow span+span::before{
    content:"·";
    margin-inline-end:.55rem;
}
.premium-order-item h3{
    margin:.4rem 0 0;
    color:#111;
    font-size:1rem;
    font-weight:650;
    line-height:1.45;
}
.premium-order-item h3 a{
    color:#111;
}
.premium-order-item h3 a:hover{
    text-decoration:underline;
    text-underline-offset:3px;
}
.premium-order-item-meta{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem .9rem;
    margin-top:.65rem;
}
.premium-order-item-meta span{
    color:#777;
    font-size:.61rem;
}
.premium-order-item-meta b{
    color:#333;
    font-weight:700;
}
.premium-order-item-details{
    margin-top:.8rem;
    border-top:1px solid #ececec;
}
.premium-order-item-details summary{
    display:flex;
    width:fit-content;
    align-items:center;
    gap:.3rem;
    padding-top:.6rem;
    color:#555;
    font-size:.61rem;
    font-weight:700;
    cursor:pointer;
    list-style:none;
}
.premium-order-item-details summary::-webkit-details-marker{
    display:none;
}
.premium-order-item-details summary .material-symbols-rounded{
    font-size:16px;
    transition:transform .18s ease;
}
.premium-order-item-details[open] summary .material-symbols-rounded{
    transform:rotate(45deg);
}
.premium-order-item-details>div{
    display:grid;
    gap:.4rem;
    margin-top:.7rem;
}
.premium-order-item-details p{
    display:grid;
    grid-template-columns:minmax(100px,.75fr) minmax(0,1.25fr);
    gap:.8rem;
    margin:0;
    color:#777;
    font-size:.6rem;
}
.premium-order-item-details strong{
    color:#333;
    font-weight:650;
}
.premium-order-item-price{
    display:grid;
    justify-items:end;
    gap:.2rem;
    min-width:120px;
}
.premium-order-item-price small{
    color:#888;
    font-size:.58rem;
    white-space:nowrap;
}
.premium-order-item-price strong{
    color:#111;
    font-size:.76rem;
    white-space:nowrap;
}
.premium-order-delivery-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.2rem;
}
.premium-order-delivery-grid>div{
    display:grid;
    align-content:start;
    gap:.3rem;
    min-height:130px;
    padding:1.1rem;
    background:#f5f5f2;
}
.premium-order-delivery-grid span{
    color:#888;
    font-size:.58rem;
    font-weight:750;
    text-transform:uppercase;
}
.premium-order-delivery-grid strong{
    color:#111;
    font-size:.76rem;
}
.premium-order-delivery-grid p{
    margin:0;
    color:#666;
    font-size:.7rem;
    line-height:1.65;
}
.premium-order-map-link{
    display:flex;
    min-height:48px;
    align-items:center;
    gap:.5rem;
    margin-top:1rem;
    padding:0 .9rem;
    border:1px solid #d7d7d7;
    color:#111;
    font-size:.66rem;
    font-weight:750;
}
.premium-order-map-link:hover{
    border-color:#111;
    color:#111;
}
.premium-order-map-link .material-symbols-rounded{
    font-size:18px;
}
.premium-order-map-link .material-symbols-rounded:last-child{
    margin-inline-start:auto;
}
.premium-order-delegate{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:.75rem;
    margin-top:1rem;
    padding:1rem;
    border:1px solid #ddd;
}
.premium-order-delegate>.material-symbols-rounded{
    font-size:22px;
}
.premium-order-delegate>div{
    display:grid;
    gap:.15rem;
}
.premium-order-delegate small{
    color:#888;
    font-size:.57rem;
}
.premium-order-delegate strong{
    color:#111;
    font-size:.72rem;
}
.premium-order-delegate span{
    color:#666;
    font-size:.64rem;
}
.premium-order-notes{
    margin-top:1rem;
    padding-top:1rem;
    border-top:1px solid #ddd;
}
.premium-order-notes>span{
    color:#888;
    font-size:.58rem;
    font-weight:750;
}
.premium-order-notes p{
    margin:.4rem 0 0;
    color:#555;
    font-size:.7rem;
    line-height:1.7;
}
.premium-order-sidebar{
    position:sticky;
    top:180px;
    display:grid;
    gap:1rem;
}
.premium-order-summary,
.premium-order-payment{
    padding:1.35rem;
    background:#f4f4f0;
}
.premium-order-summary-heading{
    padding-bottom:1rem;
    border-bottom:1px solid #d7d7d4;
}
.premium-order-summary-heading p,
.premium-order-sidebar-title p{
    margin:0 0 .2rem;
    color:#858585;
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.1em;
}
.premium-order-summary-heading h2,
.premium-order-sidebar-title h2{
    margin:0;
    color:#111;
    font-size:1.25rem;
    font-weight:500;
}
.premium-order-summary-lines{
    display:grid;
    gap:.8rem;
    padding-top:1rem;
}
.premium-order-summary-lines>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    color:#555;
    font-size:.68rem;
}
.premium-order-summary-lines strong{
    color:#111;
    font-size:.7rem;
    white-space:nowrap;
}
.premium-order-summary-lines .is-discount strong{
    color:#46684b;
}
.premium-order-summary-lines .is-discount span{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
}
.premium-order-summary-lines .is-discount small{
    padding:.15rem .35rem;
    border:1px solid #c8d6c9;
    color:#48654c;
    font-size:.53rem;
    font-weight:750;
}
.premium-order-grand-total{
    margin-top:.2rem;
    padding-top:1rem;
    border-top:1px solid #d7d7d4;
}
.premium-order-grand-total span{
    color:#111;
    font-size:.78rem;
    font-weight:750;
}
.premium-order-grand-total strong{
    font-size:1.08rem;
}
.premium-order-sidebar-title{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:.65rem;
    align-items:start;
    padding-bottom:1rem;
    border-bottom:1px solid #d7d7d4;
}
.premium-order-sidebar-title>.material-symbols-rounded{
    color:#555;
    font-size:21px;
}
.premium-order-payment-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    padding:.8rem 0;
    border-bottom:1px solid #dededb;
    color:#666;
    font-size:.66rem;
}
.premium-order-payment-row:last-child{
    border-bottom:0;
    padding-bottom:0;
}
.premium-order-payment-row strong{
    max-width:55%;
    color:#111;
    font-size:.67rem;
    text-align:end;
}
.premium-order-payment-status{
    display:inline-flex;
    min-height:25px;
    align-items:center;
    padding:0 .5rem;
    background:#fff;
}
.premium-order-security{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:.7rem;
    padding:1rem;
    border:1px solid #ddd;
}
.premium-order-security>.material-symbols-rounded{
    color:#555;
    font-size:20px;
}
.premium-order-security>span:last-child{
    display:grid;
    gap:.15rem;
}
.premium-order-security strong{
    color:#111;
    font-size:.66rem;
}
.premium-order-security small{
    color:#777;
    font-size:.59rem;
    line-height:1.5;
}
.premium-order-cancel button{
    width:100%;
    min-height:44px;
    border:1px solid #aaa;
    background:#fff;
    color:#555;
    font-family:inherit;
    font-size:.64rem;
    font-weight:750;
    cursor:pointer;
}
.premium-order-cancel button:hover{
    border-color:#8d4e4e;
    color:#8d4e4e;
}
@media(max-width:1020px){
    .premium-order-layout{
        grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);
        gap:2.2rem;
    }
}
@media(max-width:860px){
    .premium-order-layout{
        grid-template-columns:1fr;
    }
    .premium-order-sidebar{
        position:static;
    }
    .premium-order-progress-track{
        overflow-x:auto;
        grid-template-columns:repeat(5,minmax(150px,1fr));
        padding-bottom:.4rem;
        scrollbar-width:thin;
    }
}
@media(max-width:620px){
    .premium-order-hero{
        align-items:flex-start;
        flex-direction:column;
        padding-block:3rem 2rem;
    }
    .premium-order-hero-total{
        justify-items:start;
    }
    .premium-order-progress{
        padding-block:1.3rem;
    }
    .premium-order-layout{
        padding-block:2.5rem 4rem;
    }
    .premium-order-item{
        grid-template-columns:88px minmax(0,1fr);
        gap:.9rem;
    }
    .premium-order-item-image{
        width:88px;
        height:100px;
    }
    .premium-order-item-price{
        grid-column:2;
        justify-items:start;
        min-width:0;
    }
    .premium-order-delivery-grid{
        grid-template-columns:1fr;
    }
    .premium-order-section-heading{
        align-items:flex-start;
    }
}


/* Order page icon refinements */
.premium-order-hero-main>p,
.premium-order-hero-total>span{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
}
.premium-order-hero-main>p .material-symbols-rounded,
.premium-order-hero-total>span .material-symbols-rounded{
    font-size:16px;
    font-variation-settings:"wght" 300;
}
.premium-order-heading-with-icon{
    display:flex;
    align-items:flex-start;
    gap:.7rem;
}
.premium-order-heading-with-icon>.material-symbols-rounded{
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    flex:0 0 36px;
    border:1px solid #d7d7d7;
    color:#444;
    font-size:19px;
    font-variation-settings:"wght" 300;
}
.premium-order-summary-heading.premium-order-heading-with-icon{
    align-items:center;
}
