:root {
    --st-bg: #f7f5f2;
    --st-ink: #1c1c1c;
    --st-sage: #3d4a3d;
    --st-gold: #a6814c;
    --st-muted: #8c8c8c;
    --st-paper: #f7f5f2;
    --st-card: #fffcf8;
    --st-line: rgba(28, 28, 28, .08);
    --st-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

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

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

.st-body {
    margin: 0;
    background: var(--st-bg);
    color: var(--st-ink);
    font-family: Cairo, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    min-height: 100dvh;
    overflow-x: hidden;
}

.st-heading,
.st-logo span,
.st-hero h1,
.st-section h2,
.st-page > h1,
.st-pdp h1,
.st-foot-brand {
    font-family: "El Messiri", "Cormorant Garamond", serif;
    font-weight: 700;
}

a { color: inherit; }

.st-skip {
    position: absolute;
    inset-inline-start: -999px;
    top: 12px;
    z-index: 90;
    background: var(--st-ink);
    color: var(--st-bg);
    padding: 10px 16px;
    text-decoration: none;
}
.st-skip:focus {
    inset-inline-start: 16px;
}

.st-links a.is-on { color: var(--st-gold); opacity: 1; }

/* Header */
.st-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand tools";
    align-items: center;
    gap: 10px 16px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(247, 245, 242, .94);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--st-line);
}

.st-body--overlay .st-nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: linear-gradient(to bottom, rgba(28,28,28,.55), transparent);
    border-bottom: 0;
    color: var(--st-bg);
}

.st-body--overlay .st-nav.is-scrolled,
.st-body--overlay .st-nav.is-open,
.st-body--overlay .st-nav:has(.st-search.is-open) {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: rgba(28, 28, 28, .92);
    backdrop-filter: blur(16px);
}

.st-nav-start {
    grid-area: brand;
    display: flex;
    align-items: center;
    gap: 36px;
    min-width: 0;
}
.st-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    letter-spacing: .12em;
    font-size: clamp(1.05rem, 3.4vw, 1.35rem);
    min-width: 0;
}
.st-logo span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: min(46vw, 14rem);
}
.st-logo-img { height: 28px; width: auto; flex: none; }
@media (min-width: 768px) {
    .st-logo-img { height: 32px; }
    .st-logo span { max-width: none; }
}
.st-body--overlay .st-logo-img { filter: brightness(0) invert(1); }

.st-links { display: none; gap: 26px; }
.st-links a {
    position: relative;
    padding-bottom: 4px;
}
.st-links a::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 1px;
    background: var(--st-gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .3s var(--st-ease);
}
.st-links a:hover::after,
.st-links a.is-on::after { transform: none; }
.st-links a, .st-icon, .st-icon-btn {
    color: inherit;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    opacity: .86;
    transition: color .3s var(--st-ease), opacity .3s;
}
.st-links a:hover, .st-icon:hover, .st-icon-btn:hover { color: var(--st-gold); opacity: 1; }

.st-tools {
    grid-area: tools;
    display: flex;
    align-items: center;
    gap: 16px;
}
.st-tools::before {
    content: "";
    width: 1px;
    height: 18px;
    background: currentColor;
    opacity: .2;
    display: none;
}

.st-search {
    position: relative;
    display: flex;
    align-items: center;
    flex: none;
    z-index: 4;
}
.st-search-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    cursor: pointer;
    opacity: .86;
    transition: color .3s var(--st-ease), opacity .3s;
}
.st-search-toggle:hover,
.st-search.is-open .st-search-toggle {
    color: var(--st-gold);
    opacity: 1;
}
.st-search-drop {
    position: absolute;
    top: calc(100% + 12px);
    inset-inline-end: 0;
    z-index: 70;
    width: min(420px, calc(100vw - 24px));
    background: #fffcf8;
    color: var(--st-ink);
    border: 1px solid var(--st-line);
    box-shadow: 0 28px 70px rgba(28, 28, 28, .14);
    padding: 18px 18px 16px;
}
.st-search-field {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 4px 14px;
    margin: 0 0 14px;
    border-bottom: 1px solid var(--st-line);
}
.st-search-field-ico {
    flex: none;
    color: var(--st-gold);
}
.st-search-field input {
    flex: 1;
    border: 0;
    background: transparent;
    color: inherit;
    min-width: 0;
    font: inherit;
    font-size: 15px;
    outline: none;
    padding: 6px 0;
}
.st-search-field input::placeholder { color: var(--st-muted); }
.st-search-field input[type="search"]::-webkit-search-decoration,
.st-search-field input[type="search"]::-webkit-search-cancel-button,
.st-search-field input[type="search"]::-webkit-search-results-button,
.st-search-field input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    appearance: none;
}
.st-search-submit {
    border: 0;
    background: none;
    padding: 0;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--st-gold);
    cursor: pointer;
    flex: none;
}
.st-search-submit:hover { color: var(--st-ink); }

.st-suggest { padding: 0; max-height: min(62vh, 420px); overflow: auto; }
.st-suggest-label {
    margin: 0 0 12px;
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--st-gold);
}
.st-suggest-row {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    gap: 14px;
    align-items: center;
    text-decoration: none;
    padding: 10px 8px;
    margin: 0 -8px;
    color: inherit;
    transition: background .2s var(--st-ease);
}
.st-suggest-row:hover { background: #f3eee6; }
.st-suggest-row strong {
    display: block;
    font-family: "El Messiri", serif;
    font-weight: 600;
    font-size: 1.05rem;
    line-height: 1.3;
}
.st-suggest-copy small,
.st-suggest-row em {
    color: var(--st-muted);
    font-style: normal;
    font-size: 12px;
}
.st-suggest-row em {
    font-family: "El Messiri", serif;
    font-size: 13px;
    color: var(--st-ink);
}
.st-suggest-thumb {
    width: 56px;
    height: 70px;
    background: #ece7df;
    overflow: hidden;
}
.st-suggest-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.st-suggest-pops {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 4px;
}
.st-suggest-pops a {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: 1px solid var(--st-line);
    color: var(--st-ink);
    text-decoration: none;
    font-size: 13px;
    line-height: 1;
    transition: border-color .2s, color .2s;
}
.st-suggest-pops a:hover {
    border-color: var(--st-gold);
    color: var(--st-gold);
}
.st-suggest-more {
    display: inline-flex;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--st-line);
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--st-gold);
}
.st-suggest-more:hover { color: var(--st-ink); }
.st-suggest-empty {
    margin: 8px 0 0;
    color: var(--st-muted);
    font-size: 14px;
}

@media (max-width: 767px) {
    .st-search-drop {
        position: fixed;
        inset-inline: 0;
        top: 56px;
        bottom: 0;
        width: auto;
        max-width: none;
        padding: 18px 16px 24px;
        border: 0;
        border-top: 1px solid var(--st-line);
        box-shadow: none;
        display: flex;
        flex-direction: column;
        z-index: 90;
    }
    .st-suggest { max-height: none; flex: 1; }
}

.st-bag { position: relative; display: inline-flex; }
.st-cart-count {
    position: absolute;
    inset-block-start: -8px;
    inset-inline-end: -10px;
    background: var(--st-gold);
    color: var(--st-bg);
    border-radius: 999px;
    min-width: 16px;
    height: 16px;
    font-size: 10px;
    font-weight: 700;
    display: grid;
    place-items: center;
}

.st-menu-btn { display: inline-flex; }

.st-drawer {
    display: none;
    position: absolute;
    inset: 100% 0 auto;
    background: var(--st-ink);
    color: var(--st-bg);
    padding: 20px 32px 28px;
    flex-direction: column;
    gap: 16px;
}
.st-nav.is-open .st-drawer { display: flex; grid-column: 1 / -1; }
.st-drawer a { color: inherit; text-decoration: none; }
.st-drawer-search { margin-bottom: 8px; }
.st-drawer-search input {
    width: 100%;
    border: 0;
    border-bottom: 1px solid rgba(247,245,242,.35);
    background: transparent;
    color: inherit;
    font: inherit;
    padding: 8px 0 10px;
    outline: none;
}

@media (min-width: 1024px) {
    .st-links { display: flex; }
    .st-menu-btn, .st-drawer { display: none !important; }
    .st-nav {
        grid-template-columns: auto auto;
        grid-template-areas: "brand tools";
        justify-content: space-between;
        padding: 14px 40px;
        gap: 16px 28px;
    }
    .st-tools::before { display: block; }
}

/* Main */
.st-main {
    width: min(1400px, calc(100% - 32px));
    margin: 0 auto;
    padding: 28px 0 72px;
}
@media (min-width: 768px) {
    .st-main {
        width: min(1400px, calc(100% - 48px));
        padding: 48px 0 96px;
    }
}
.st-main-flush { width: 100%; margin: 0; padding: 0; }
.st-page { max-width: 1400px; margin: 0 auto; padding: 0 8px; }
.st-page > h1, .st-section h2 {
    font-size: clamp(2rem, 4vw, 3.1rem);
    margin: 0 0 28px;
    line-height: 1.15;
}

/* Hero */
.st-hero {
    position: relative;
    min-height: 78dvh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    color: var(--st-bg);
}
@media (min-width: 768px) {
    .st-hero { min-height: 100dvh; }
}
.st-hero-bg {
    position: absolute;
    inset: 0;
    background: #161310 center/cover no-repeat;
}
.st-hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(28,28,28,.82) 12%, rgba(28,28,28,.28) 55%, rgba(28,28,28,.4));
}
@media (min-width: 768px) {
    .st-hero-bg::after {
        background: linear-gradient(to left, rgba(28,28,28,.45), rgba(28,28,28,.18), transparent);
    }
    [dir="ltr"] .st-hero-bg::after {
        background: linear-gradient(to right, rgba(28,28,28,.45), rgba(28,28,28,.18), transparent);
    }
}
.st-hero-copy {
    position: relative;
    z-index: 1;
    padding: 0 20px 56px;
    max-width: 36rem;
}
@media (min-width: 768px) {
    .st-hero-copy { padding: 0 64px 80px; }
}
.st-kicker {
    display: block;
    color: var(--st-gold);
    letter-spacing: .3em;
    text-transform: uppercase;
    font-size: 12px;
    margin-bottom: 16px;
    font-weight: 700;
}
.st-hero h1 {
    font-size: clamp(2.1rem, 8vw, 4.6rem);
    line-height: 1.12;
    margin: 0 0 16px;
}
.st-lead {
    color: rgba(247,245,242,.82);
    font-size: 1.05rem;
    max-width: 28rem;
    margin: 0 0 36px;
}
.st-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: stretch;
}
@media (max-width: 479px) {
    .st-hero-actions .st-btn,
    .st-hero-actions .st-btn-link { width: 100%; }
}
.st-hero .st-btn { color: var(--st-ink); }
.st-scroll {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(247,245,242,.55);
    font-size: 11px;
    letter-spacing: .2em;
    text-decoration: none;
}
.st-scroll i { width: 1px; height: 48px; background: rgba(247,245,242,.35); display: block; }
@media (min-width: 768px) { .st-scroll { display: flex; } }

/* Buttons */
.st-btn, .st-btn-ghost, .st-btn-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 22px;
    border: 0;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    appearance: none;
    -webkit-appearance: none;
}
@media (min-width: 768px) {
    .st-btn, .st-btn-ghost, .st-btn-link {
        min-height: 52px;
        padding: 0 36px;
        font-size: 12px;
        letter-spacing: .18em;
    }
}
.st-btn { background: var(--st-gold); color: var(--st-ink); }
.st-btn-ghost {
    background: var(--st-card);
    color: var(--st-ink);
    border: 1px solid var(--st-ink);
}
.st-btn-link {
    background: transparent;
    color: inherit;
    border: 1px solid currentColor;
}
.st-btn-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--st-ink);
    transform: translateY(100%);
    transition: transform .4s var(--st-ease);
    z-index: 0;
}
.st-btn-link:hover::after { transform: none; }
.st-btn-link > * { position: relative; z-index: 1; transition: color .3s; }
.st-btn-link:hover > * { color: var(--st-bg); }
.st-hero .st-btn-link { color: var(--st-bg); border-color: var(--st-bg); }
.st-hero .st-btn-link::after { background: var(--st-bg); }
.st-hero .st-btn-link:hover > * { color: var(--st-ink); }
.st-btn:disabled, .st-btn-ghost:disabled {
    opacity: .45;
    cursor: not-allowed;
    background: var(--st-card);
    color: var(--st-ink);
}
.st-btn:disabled { background: var(--st-gold); }

.st-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 4px;
}
.st-text-link:hover { color: var(--st-gold); }

/* Marquee */
.st-marquee {
    background: var(--st-ink);
    color: rgba(247,245,242,.82);
    overflow: hidden;
    padding: 22px 0;
    border-block: 1px solid rgba(247,245,242,.06);
}
.st-marquee-track {
    display: flex;
    gap: 48px;
    width: max-content;
    animation: st-marquee 28s linear infinite;
}
[dir="rtl"] .st-marquee-track { animation-name: st-marquee-rtl; }
.st-marquee span { font-family: "El Messiri", serif; font-size: 1.35rem; white-space: nowrap; }
.st-marquee .st-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    align-self: center;
    background: var(--st-gold);
    transform: rotate(45deg);
    color: transparent;
    font-size: 0;
}
@keyframes st-marquee { to { transform: translateX(-50%); } }
@keyframes st-marquee-rtl { to { transform: translateX(50%); } }

/* Sections */
.st-section { padding: 56px 16px; }
@media (min-width: 768px) { .st-section { padding: 96px 48px; } }
@media (min-width: 1200px) { .st-section { padding: 104px 64px; } }
.st-section--wide { max-width: 1400px; margin: 0 auto; }
.st-intro {
    display: grid;
    gap: 24px;
    margin-bottom: 56px;
}
@media (min-width: 768px) {
    .st-intro {
        grid-template-columns: 1.1fr .9fr;
        align-items: end;
    }
}
.st-intro p { color: var(--st-muted); font-size: 1.05rem; margin: 0; max-width: 36ch; }
.st-row-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}
.st-row-head h2 { margin: 0; }

.st-trust-bar {
    border-bottom: 1px solid var(--st-line);
    padding: 18px 16px;
}
.st-trust-bar ul {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 1400px;
    display: grid;
    gap: 12px 24px;
    grid-template-columns: 1fr 1fr;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--st-muted);
}
@media (min-width: 900px) {
    .st-trust-bar { padding: 28px 64px; }
    .st-trust-bar ul { grid-template-columns: repeat(4, 1fr); text-align: center; }
}
.st-trust-bar li { position: relative; padding-inline-start: 14px; }
.st-trust-bar li::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: .55em;
    width: 6px;
    height: 6px;
    background: var(--st-gold);
    border-radius: 50%;
}
@media (min-width: 900px) {
    .st-trust-bar li { padding-inline-start: 0; }
    .st-trust-bar li::before { display: none; }
}

.st-paths {
    display: grid;
    gap: 16px;
}
@media (min-width: 800px) { .st-paths { grid-template-columns: 1fr 1fr; gap: 24px; } }
.st-path {
    position: relative;
    min-height: 16rem;
    overflow: hidden;
    display: block;
    text-decoration: none;
    color: var(--st-bg);
}
.st-path img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 16rem;
    transition: transform 1.5s var(--st-ease);
    background: #2a2620;
}
@media (min-width: 800px) {
    .st-path, .st-path img { min-height: 22rem; }
}
.st-path > div {
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    padding: 22px 20px 24px;
}
@media (min-width: 800px) {
    .st-path > div { padding: 32px; }
}
.st-path:hover img { transform: scale(1.04); }
.st-path::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 30%, rgba(28,28,28,.7));
}
.st-path h3 { font-family: "El Messiri", serif; font-size: clamp(1.8rem, 3vw, 2.4rem); margin: 0 0 8px; }
.st-path p { margin: 0 0 16px; max-width: 32ch; color: rgba(247,245,242,.82); }
.st-path small {
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: 11px;
    border-bottom: 1px solid currentColor;
}

.st-spot {
    display: grid;
    background: #efeae3;
    overflow: hidden;
}
@media (min-width: 900px) { .st-spot { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); min-height: 560px; } }
.st-spot-media { display: block; position: relative; background: #ece7df; min-height: 280px; }
.st-spot-media img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 280px; }
@media (min-width: 900px) {
    .st-spot-media { min-height: 560px; }
    .st-spot-media img { position: absolute; inset: 0; min-height: 0; }
}
.st-spot-copy {
    padding: 36px 20px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (min-width: 900px) { .st-spot-copy { padding: 72px 64px; } }
@media (min-width: 900px) { .st-spot-copy { padding: 72px 64px; } }
.st-spot-copy h2 {
    font-family: "El Messiri", serif;
    font-size: clamp(2rem, 4vw, 3rem);
    margin: 0 0 16px;
    line-height: 1.15;
}
.st-spot-copy p { color: var(--st-muted); max-width: 38ch; margin: 0 0 24px; }
.st-spot .st-price-row { border: 0; padding: 0; margin: 0 0 28px; }
.st-spot-copy .st-btn { align-self: flex-start; }
@media (max-width: 479px) {
    .st-spot-copy .st-btn { align-self: stretch; width: 100%; }
}

.st-promo {
    display: grid;
    background: var(--st-ink);
    color: var(--st-bg);
}
@media (min-width: 900px) {
    .st-promo { grid-template-columns: .9fr 1.1fr; min-height: 420px; }
}
.st-promo-copy {
    padding: 48px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (min-width: 900px) { .st-promo-copy { padding: 64px; } }
.st-promo-copy h2 {
    font-family: "El Messiri", serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    margin: 0 0 12px;
    line-height: 1.15;
}
.st-promo-copy p {
    margin: 0 0 24px;
    max-width: 36ch;
    color: rgba(247,245,242,.78);
}
.st-promo-copy .st-btn { align-self: flex-start; }
.st-promo-media { min-height: 240px; background: #2a2620; }
.st-promo-media img {
    width: 100%;
    height: 100%;
    min-height: 240px;
    object-fit: cover;
    display: block;
}
@media (min-width: 900px) {
    .st-promo-media, .st-promo-media img { min-height: 420px; }
}

.st-quotes {
    display: grid;
    gap: 24px;
}
@media (min-width: 800px) { .st-quotes { grid-template-columns: repeat(3, 1fr); gap: 32px; } }
.st-quote {
    margin: 0;
    padding: 28px 0 0;
    border-top: 1px solid var(--st-line);
}
.st-quote p {
    font-family: "El Messiri", serif;
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 0 0 16px;
}
.st-quote cite { color: var(--st-muted); font-style: normal; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }

/* Categories */
.st-cats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 560px) {
    .st-cats { grid-template-columns: 1fr 1fr; gap: 20px; }
}
.st-cat {
    position: relative;
    min-height: 16rem;
    overflow: hidden;
    display: block;
    text-decoration: none;
    color: var(--st-bg);
}
.st-cat img, .st-cat-ph {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 16rem;
    transition: transform 1.5s var(--st-ease);
    background: #2a2620;
}
.st-cat:hover img { transform: scale(1.04); }
.st-cat::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 40%, rgba(28,28,28,.55));
}
.st-cat-copy {
    position: absolute;
    inset-inline-end: 0;
    bottom: 0;
    z-index: 1;
    padding: 22px 20px;
}
@media (min-width: 768px) {
    .st-cats { grid-template-columns: repeat(12, 1fr); gap: 24px; }
    .st-cat, .st-cat img, .st-cat-ph { min-height: 22rem; }
    .st-cat-copy { padding: 32px; }
    .st-cat { grid-column: span 12; }
    .st-cat:nth-child(4n+1),
    .st-cat:nth-child(4n+4) { grid-column: span 7; }
    .st-cat:nth-child(4n+2),
    .st-cat:nth-child(4n+3) { grid-column: span 5; }
}
.st-cat h3 { font-family: "El Messiri", serif; font-size: 1.8rem; margin: 0 0 8px; }
.st-cat-copy p { margin: 0; font-size: 13px; opacity: .85; }
.st-cat small {
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: 11px;
    border-bottom: 1px solid currentColor;
    opacity: 0;
    transition: opacity .4s;
}
.st-cat:hover small { opacity: 1; }

/* Product cards */
.st-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px 28px;
}
@media (min-width: 640px) { .st-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .st-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .st-grid.st-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 900px) { .st-grid.st-grid-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .st-grid.st-grid-5 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .st-grid.st-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px 16px; } }

.st-grid-5 .st-card-media { margin-bottom: 14px; }
.st-grid-5 .st-card-body { flex-direction: column; gap: 4px; }
.st-grid-5 .st-card strong { font-size: 1rem; }
.st-grid-5 .st-card-cta {
    min-height: 40px;
    font-size: 10px;
    inset-inline: 10px;
    bottom: 10px;
    width: calc(100% - 20px);
}

.st-card {
    display: block;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}
.st-card-link,
.st-card-info {
    display: block;
    text-decoration: none;
    color: inherit;
}
.st-card-media {
    position: relative;
    aspect-ratio: 4/5;
    overflow: hidden;
    background: #ece7df;
    margin-bottom: 20px;
}
.st-card-link {
    position: absolute;
    inset: 0;
}
.st-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.5s var(--st-ease);
}
.st-card:hover .st-card-media img { transform: scale(1.04); }
.st-card-cta {
    position: absolute;
    inset-inline: 16px;
    bottom: 16px;
    z-index: 2;
    width: calc(100% - 32px);
    background: rgba(247,245,242,.94);
    backdrop-filter: blur(8px);
    color: var(--st-ink);
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    padding: 0 12px;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    opacity: 1;
    transform: none;
    transition: background .25s var(--st-ease), color .25s var(--st-ease);
}
.st-card-cta:hover:not(:disabled) {
    background: var(--st-gold);
}
.st-card-cta:disabled { cursor: not-allowed; }
.st-card-wish {
    position: absolute;
    top: 12px;
    inset-inline-end: 12px;
    z-index: 3;
    width: 40px;
    height: 40px;
    border: 0;
    background: rgba(255, 252, 248, .94);
    color: var(--st-ink);
    display: grid;
    place-items: center;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background .25s var(--st-ease), color .25s var(--st-ease);
}
.st-card-wish:hover,
.st-card-wish.is-on {
    background: var(--st-ink);
    color: var(--st-bg);
}
.st-card-off,
.st-card-kind {
    position: absolute;
    top: 14px;
    z-index: 2;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 6px 10px;
    pointer-events: none;
}
.st-card-off {
    inset-inline-start: 14px;
    background: var(--st-gold);
    color: var(--st-ink);
}
.st-card-kind {
    inset-inline-end: auto;
    inset-inline-start: 14px;
    background: rgba(255,252,248,.92);
    color: var(--st-ink);
}
.st-card-media:has(.st-card-off) .st-card-kind {
    top: 48px;
}
.st-card-meta { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--st-muted); margin: 0 0 6px; }
.st-card-body { display: flex; justify-content: space-between; gap: 8px 12px; align-items: flex-start; }
@media (max-width: 479px) {
    .st-card-body { flex-direction: column; gap: 6px; }
}
.st-card strong { font-family: "El Messiri", serif; font-size: 1.15rem; font-weight: 500; }
.st-price { font-weight: 600; }
.st-was { color: var(--st-muted); text-decoration: line-through; margin-inline-start: 6px; font-size: 13px; }
.st-off { color: var(--st-sage); font-size: 12px; font-weight: 700; }

/* Studio split */
.st-studio {
    display: grid;
    background: var(--st-ink);
    color: var(--st-bg);
    overflow: hidden;
}
@media (min-width: 900px) {
    .st-studio {
        grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
        min-height: 560px;
    }
}
.st-studio-media {
    position: relative;
    order: -1;
    min-height: 240px;
    background: #2a2620;
}
.st-studio-media img {
    width: 100%;
    height: 100%;
    min-height: 240px;
    object-fit: cover;
    display: block;
}
.st-studio-copy {
    position: relative;
    z-index: 1;
    padding: 36px 20px 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: none;
    margin: 0;
}
@media (min-width: 900px) {
    .st-studio-media { order: 0; min-height: 560px; }
    .st-studio-media img {
        position: absolute;
        inset: 0;
        min-height: 0;
        height: 100%;
    }
    .st-studio-copy { padding: 64px; }
}
.st-studio-copy h2 {
    font-family: "El Messiri", serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    margin: 0 0 16px;
    line-height: 1.15;
}
.st-studio .st-lead {
    color: rgba(247,245,242,.82);
    max-width: 38ch;
    margin: 0 0 28px;
}
.st-studio-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: stretch;
}
@media (max-width: 479px) {
    .st-studio-actions .st-btn,
    .st-studio-actions .st-btn-link { width: 100%; }
}
.st-studio ul { list-style: none; padding: 0; margin: 0 0 32px; }
.st-studio li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(247,245,242,.1);
    color: rgba(247,245,242,.8);
}
.st-check { color: var(--st-gold); }

/* Filters / forms / cart */
.st-filters {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 8px 0 36px;
    padding: 16px;
    background: var(--st-card);
    border: 1px solid var(--st-line);
}
.st-filter {
    display: grid;
    gap: 8px;
    min-width: 0;
    margin: 0;
    font-size: inherit;
    color: inherit;
}
.st-filter > span:first-child {
    font-size: 10px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--st-muted);
}
.st-filter-field {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 44px;
    border-bottom: 1px solid rgba(28, 28, 28, .16);
}
.st-filter-field:focus-within { border-bottom-color: var(--st-gold); }
.st-filter-search svg {
    flex: 0 0 auto;
    opacity: .45;
    margin-inline-end: 8px;
}
.st-filters input,
.st-filters select {
    width: 100%;
    min-width: 0;
    border: 0;
    background: transparent;
    padding: 8px 0;
    font: inherit;
    font-size: 14px;
    color: var(--st-ink);
    outline: none;
    appearance: none;
}
.st-filters select {
    padding-inline-end: 22px;
    cursor: pointer;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%231c1c1c' stroke-width='1.4' d='M1 1.5 6 6.5 11 1.5'/></svg>");
    background-repeat: no-repeat;
    background-position: inline-end 0 center;
    background-size: 12px;
}
[dir="rtl"] .st-filters select { background-position: left 0 center; }
[dir="ltr"] .st-filters select { background-position: right 0 center; }
.st-form input, .st-form textarea, .st-form select, .st-qty {
    border: 0;
    border-bottom: 1px solid rgba(28,28,28,.2);
    background: transparent;
    padding: 10px 0;
    font: inherit;
    outline: none;
}
@media (max-width: 1100px) {
    .st-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .st-filters { grid-template-columns: 1fr 1fr; padding: 14px; }
    .st-filter:first-child { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
    .st-filters { grid-template-columns: 1fr; }
}

.st-empty { padding: 80px 16px; text-align: center; color: var(--st-muted); }
.st-empty .st-btn, .st-empty .st-btn-ghost { margin-top: 20px; }

.st-pdp { display: grid; gap: 28px; }
@media (min-width: 980px) { .st-pdp { grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: start; } }
.st-gallery { position: relative; }
@media (min-width: 980px) { .st-gallery { position: sticky; top: 88px; } }
.st-media { position: relative; overflow: hidden; background: #ece7df; }
.st-media--empty { min-height: 280px; }
.st-media-main {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    position: relative;
}
.st-media-stage {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    max-height: 58vh;
    overflow: hidden;
    background: #ece7df;
}
@media (min-width: 640px) {
    .st-media-stage {
        aspect-ratio: 4 / 5;
        max-height: min(72vh, 820px);
    }
}
@media (max-height: 500px) and (orientation: landscape) {
    .st-media-stage {
        aspect-ratio: 16 / 9;
        max-height: 72vh;
    }
}
.st-slide-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .45s var(--st-ease);
}
.st-slide-img.is-on { opacity: 1; }
.st-slide-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border: 0;
    background: rgba(255, 252, 248, .92);
    color: var(--st-ink);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}
@media (max-width: 639px) {
    .st-media .st-slide-btn { display: none; }
}
.st-slide-btn.is-prev { inset-inline-start: 12px; }
.st-slide-btn.is-next { inset-inline-end: 12px; }
.st-slide-count {
    position: absolute;
    inset-inline-end: 16px;
    bottom: 16px;
    background: rgba(28, 28, 28, .72);
    color: #fff;
    font-size: 12px;
    padding: 4px 10px;
    z-index: 2;
}
.st-thumbs,
.st-lightbox-thumbs {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: thin;
}
.st-thumb {
    flex: 0 0 auto;
    width: 56px;
    height: 70px;
    padding: 0;
    border: 1px solid transparent;
    background: #ece7df;
    cursor: pointer;
}
@media (min-width: 640px) {
    .st-thumb { width: 68px; height: 86px; }
}
.st-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.st-thumb.is-on { border-color: var(--st-gold); }
.st-lightbox {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: rgba(20, 16, 12, .96);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 64px 16px 88px;
}
@media (min-width: 768px) {
    .st-lightbox { padding: 72px 56px 96px; }
}
.st-lightbox-stage {
    position: relative;
    width: min(92vw, 1100px);
    height: calc(100dvh - 180px);
}
.st-lightbox-img {
    position: absolute;
    inset: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    opacity: 0;
    transition: opacity .45s var(--st-ease);
}
.st-lightbox-img.is-on { opacity: 1; }
.st-lightbox .st-slide-btn {
    background: rgba(255, 252, 248, .95);
}
.st-lightbox-close {
    position: absolute;
    top: 16px;
    inset-inline-end: 16px;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    z-index: 3;
}
.st-lightbox-thumbs {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    max-width: min(92vw, 720px);
    margin: 0;
    justify-content: center;
}
.st-lightbox-thumbs .st-thumb { width: 56px; height: 56px; }
.st-lightbox-thumbs .st-thumb.is-on { border-color: #fff; }
.st-lightbox-count {
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 13px;
    letter-spacing: .12em;
}
.st-gallery-lock { overflow: hidden; }
.st-gallery-lock .st-nav { visibility: hidden; pointer-events: none; }
[x-cloak] { display: none !important; }

.st-pdp-page { padding-bottom: 24px; }
.st-crumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    font-size: 12px;
    letter-spacing: .08em;
    color: var(--st-muted);
    margin: 0 0 32px;
}
.st-crumbs a { text-decoration: none; color: inherit; }
.st-crumbs a:hover { color: var(--st-gold); }
.st-crumbs span:last-child { color: var(--st-ink); }
.st-badge-off {
    position: absolute;
    top: 16px;
    inset-inline-start: 16px;
    z-index: 2;
    background: var(--st-gold);
    color: var(--st-ink);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 6px 10px;
}
.st-type-pill {
    position: absolute;
    top: 16px;
    inset-inline-end: 16px;
    z-index: 2;
    background: rgba(255, 252, 248, .92);
    color: var(--st-ink);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 6px 10px;
}
.st-buy {
    padding: 4px 0 0;
    background: none;
    border: 0;
}
@media (min-width: 980px) { .st-buy { padding-top: 8px; } }
.st-buy .st-kicker {
    margin-bottom: 8px;
}
.st-buy .st-kicker::after {
    content: "";
    display: block;
    width: 28px;
    height: 1px;
    background: var(--st-gold);
    margin-top: 12px;
}
.st-buy h1 {
    font-size: clamp(1.65rem, 4.2vw, 2.75rem);
    line-height: 1.2;
    margin: 0 0 14px;
}
.st-lead-ink {
    color: var(--st-muted);
    font-size: 1.05rem;
    max-width: 42ch;
    margin: 0 0 24px;
}
.st-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 12px;
    margin-bottom: 16px;
}
.st-price-lg { font-family: "El Messiri", serif; font-size: clamp(1.55rem, 3vw, 2rem); font-weight: 600; }
.st-save { color: var(--st-sage); font-size: 13px; font-weight: 700; }
.st-buy-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 0 0 22px;
    padding: 0 0 20px;
    border-bottom: 1px solid var(--st-line);
    font-size: 13px;
    color: var(--st-muted);
}
.st-buy-meta span {
    position: relative;
}
.st-buy-meta span + span::before {
    content: "";
    position: absolute;
    inset-inline-start: -10px;
    top: 50%;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--st-gold);
    transform: translateY(-50%);
}
.st-buy-meta .is-ok { color: var(--st-sage); font-weight: 700; }
.st-buy-meta .is-off { color: #9a3f32; font-weight: 700; }
.st-studio-note {
    margin: -8px 0 22px;
    font-size: 13px;
    color: var(--st-muted);
}
.st-facts {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    display: grid;
    gap: 8px;
    font-size: 14px;
    color: var(--st-muted);
}
.st-facts .is-ok { color: var(--st-sage); font-weight: 700; }
.st-facts .is-off { color: #9a3f32; font-weight: 700; }
.st-field { margin-bottom: 22px; }
.st-field-label {
    display: block;
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--st-muted);
    margin-bottom: 10px;
}
.st-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.st-chip {
    border: 1px solid var(--st-line);
    background: transparent;
    min-height: 42px;
    padding: 0 16px;
    font: inherit;
    cursor: pointer;
}
.st-chip.is-on { border-color: var(--st-ink); background: var(--st-ink); color: var(--st-bg); }
.st-qty-step {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--st-ink);
}
.st-qty-step button {
    width: 44px;
    height: 48px;
    border: 0;
    background: transparent;
    font-size: 18px;
    cursor: pointer;
}
.st-qty-step input {
    width: 56px;
    height: 48px;
    border: 0;
    text-align: center;
    font: inherit;
    background: transparent;
    -moz-appearance: textfield;
}
.st-qty-step input::-webkit-outer-spin-button,
.st-qty-step input::-webkit-inner-spin-button { -webkit-appearance: none; }
.st-offer {
    background: #f3eee4;
    padding: 16px 18px;
    margin-bottom: 22px;
    font-size: 14px;
}
.st-offer strong { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--st-gold); margin-bottom: 6px; }
.st-offer p { margin: 0; }
.st-actions-buy {
    display: grid;
    gap: 10px;
    margin: 8px 0 16px;
}
.st-actions-buy .st-btn { width: 100%; }
.st-actions-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: stretch;
}
.st-actions-row .st-btn-ghost {
    width: 100%;
    min-width: 0;
}
.st-buy-tools {
    display: flex;
    gap: 8px;
    flex: none;
}
.st-buy-tools .st-icon-round {
    height: 100%;
    min-height: 48px;
}
@media (min-width: 900px) {
    .st-actions-buy {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) auto;
        align-items: stretch;
    }
    .st-actions-row { display: contents; }
}
.st-crumbs { margin-bottom: 20px; }
.st-type-pill { display: none; }
.st-icon-round {
    width: 48px;
    height: 48px;
    border: 1px solid var(--st-ink);
    background: var(--st-card);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--st-ink);
    appearance: none;
    -webkit-appearance: none;
}
@media (min-width: 768px) {
    .st-icon-round { width: 52px; height: 52px; }
    .st-crumbs { margin-bottom: 32px; }
}
.st-icon-round.is-on { background: var(--st-ink); color: var(--st-bg); }
.st-sku, .st-trust, .st-muted { font-size: 13px; color: var(--st-muted); }
.st-sku { letter-spacing: .08em; margin: 12px 0 0; }
.st-trust { margin: 0; }
.st-stars {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 0 16px;
    color: #d4d0c8;
    text-decoration: none;
    width: fit-content;
}
.st-stars .is-on { color: var(--st-gold); }
.st-stars small { margin-inline-start: 8px; color: var(--st-muted); font-size: 12px; }
.st-includes { margin: 0 0 28px; }
.st-includes ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.st-includes li {
    position: relative;
    padding-inline-start: 22px;
    font-size: 14px;
    color: #3a3732;
}
.st-includes li::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: .55em;
    width: 8px;
    height: 8px;
    border: 1px solid var(--st-gold);
    transform: rotate(45deg);
}
.st-trust-row {
    list-style: none;
    margin: 4px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid var(--st-line);
    display: grid;
    gap: 8px;
    font-size: 13px;
    color: var(--st-muted);
}
.st-trust-row li {
    position: relative;
    padding-inline-start: 18px;
}
.st-trust-row li::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: .55em;
    width: 6px;
    height: 6px;
    background: var(--st-gold);
    border-radius: 50%;
}
.st-pdp-story {
    margin: 48px 0 0;
    padding-top: 40px;
    border-top: 1px solid var(--st-line);
    display: grid;
    gap: 36px;
}
@media (min-width: 980px) {
    .st-pdp-story { margin-top: 72px; padding-top: 56px; grid-template-columns: 1.1fr .9fr; gap: 72px; align-items: start; }
}
.st-prose { max-width: 42rem; margin: 0; padding: 0; border: 0; }
.st-prose .st-kicker { margin-bottom: 12px; }
.st-prose p, .st-prose div { font-size: 1.05rem; line-height: 1.85; color: #3a3732; }
.st-how {
    list-style: none;
    margin: 0;
    padding: 8px 0 0;
    display: grid;
    gap: 28px;
}
.st-how-label {
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--st-gold);
    font-weight: 700;
}
.st-how li span {
    display: block;
    font-family: "El Messiri", serif;
    font-size: 1.15rem;
    color: var(--st-gold);
    margin-bottom: 4px;
}
.st-how li strong {
    display: block;
    font-family: "El Messiri", serif;
    font-size: 1.25rem;
    margin-bottom: 6px;
}
.st-how li p { margin: 0; color: var(--st-muted); font-size: 14px; }
.st-pdp-more { padding: 64px 0 0; }
.st-pdp-more h2, .st-reviews h2 {
    font-family: "El Messiri", serif;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    margin: 0;
}
.st-pdp-more .st-row-head, .st-reviews .st-row-head { margin-bottom: 28px; }
.st-reviews { margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--st-line); scroll-margin-top: 96px; }
.st-review-avg { font-family: "El Messiri", serif; font-size: 1.6rem; margin: 0; }
.st-review-avg span { color: var(--st-muted); font-size: 1rem; }
.st-review-grid { display: grid; gap: 16px; }
@media (min-width: 800px) { .st-review-grid { grid-template-columns: 1fr 1fr; } }
.st-review-card {
    background: var(--st-card);
    border: 1px solid var(--st-line);
    padding: 24px;
    margin: 0;
}
.st-review-card header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.st-avatar {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    background: #efeae3;
    color: var(--st-gold);
    font-family: "El Messiri", serif;
    font-size: 1.15rem;
    flex: none;
}
.st-review-card time,
.st-review-card cite {
    display: block;
    font-size: 12px;
    color: var(--st-muted);
    font-style: normal;
}
.st-review-card em {
    margin-inline-start: auto;
    font-style: normal;
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--st-sage);
}
.st-review-card p { margin: 10px 0 0; line-height: 1.7; }
.st-review-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 48px 24px;
    border: 1px dashed var(--st-line);
    background: var(--st-card);
}
.st-review-empty strong { display: block; font-family: "El Messiri", serif; font-size: 1.4rem; margin: 8px 0 6px; }
.st-quotes { display: grid; gap: 16px; }
@media (min-width: 800px) { .st-quotes { grid-template-columns: repeat(3, 1fr); } }
.st-btn, .st-btn-ghost, .st-chip, .st-icon-round, .st-thumb, .st-qty-step button {
    transition: background .25s var(--st-ease), color .25s var(--st-ease), border-color .25s var(--st-ease);
}
.st-btn:hover:not(:disabled) { background: #b89258; }
.st-btn-ghost:hover:not(:disabled) { background: var(--st-ink); color: var(--st-bg); }
.st-chip:hover { border-color: var(--st-ink); }
.st-icon-round:hover { background: var(--st-ink); color: var(--st-bg); }
.st-btn:focus-visible, .st-btn-ghost:focus-visible, .st-chip:focus-visible,
.st-icon-round:focus-visible, .st-qty-step button:focus-visible, .st-media-main:focus-visible {
    outline: 2px solid var(--st-gold);
    outline-offset: 3px;
}
.st-review-form { display: grid; gap: 14px; margin-top: 36px; max-width: 560px; padding: 28px; background: var(--st-card); border: 1px solid var(--st-line); }
.st-review-form textarea {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--st-ink);
    background: transparent;
    font: inherit;
    padding: 10px 0;
    outline: none;
    resize: vertical;
}
.st-rate-pick { display: flex; gap: 4px; }
.st-rate-pick button {
    border: 0;
    background: none;
    font-size: 22px;
    color: #d4d0c8;
    cursor: pointer;
    padding: 0;
}
.st-rate-pick button.is-on { color: var(--st-gold); }
.st-pdp-bar {
    display: none;
}
@media (max-width: 979px) {
    .st-gallery { position: static; }
    .st-pdp-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        position: sticky;
        bottom: 0;
        z-index: 30;
        width: 100vw;
        margin-inline: calc(50% - 50vw);
        margin-top: 28px;
        margin-bottom: -28px;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
        background: rgba(247, 245, 242, .96);
        backdrop-filter: blur(12px);
        border-top: 1px solid var(--st-line);
    }
    .st-pdp-bar > div { min-width: 0; }
    .st-pdp-bar strong {
        display: block;
        font-size: 13px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 46vw;
    }
    .st-pdp-bar .st-btn { min-height: 44px; padding: 0 16px; flex: none; }
}

.st-meta { color: var(--st-muted); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.st-qty { width: 88px; }
.st-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.st-box {
    background: transparent;
    border-top: 1px solid var(--st-line);
    padding: 24px 0;
    margin: 24px 0;
}

.st-line {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0;
    border-bottom: 1px solid var(--st-line);
}
.st-form { display: grid; gap: 18px; max-width: 640px; }
.st-form label { display: grid; gap: 6px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--st-muted); }
.st-checkout {
    display: grid;
    gap: 48px;
}
@media (min-width: 900px) {
    .st-checkout { grid-template-columns: 1.2fr .8fr; align-items: start; }
}

@keyframes st-rise {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
}
.st-cart-page { padding-bottom: 24px; }
.st-cart-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.st-cart-head h1 { margin-bottom: 8px; }
.st-cart-count-label {
    margin: 0;
    color: var(--st-muted);
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.st-cart-layout {
    display: grid;
    gap: 40px;
}
@media (min-width: 960px) {
    .st-cart-layout {
        grid-template-columns: minmax(0, 1.35fr) minmax(280px, .78fr);
        gap: 56px;
        align-items: start;
    }
}
.st-cart-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0;
}
.st-cart-item {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
    padding: 22px 0;
    border-bottom: 1px solid var(--st-line);
    animation: st-rise .6s var(--st-ease) both;
    animation-delay: var(--st-delay, 0ms);
}
@media (max-width: 479px) {
    .st-cart-item { grid-template-columns: 72px minmax(0, 1fr); }
    .st-cart-line { grid-column: 2; }
}
.st-cart-thumb {
    display: block;
    aspect-ratio: 4 / 5;
    background: #ece7df;
    overflow: hidden;
}
.st-cart-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1.2s var(--st-ease);
}
.st-cart-item:hover .st-cart-thumb img { transform: scale(1.05); }
.st-cart-info { min-width: 0; }
.st-cart-info a { text-decoration: none; color: inherit; }
.st-cart-info strong {
    display: block;
    font-family: "El Messiri", serif;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 6px;
}
.st-cart-variant,
.st-cart-unit {
    margin: 0 0 4px;
    color: var(--st-muted);
    font-size: 13px;
}
.st-cart-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
}
.st-cart-item .st-qty-step { border-color: var(--st-line); }
.st-cart-item .st-qty-step button,
.st-cart-item .st-qty-step input { height: 42px; }
.st-cart-item .st-qty-step button { width: 40px; }
.st-cart-remove {
    border: 0;
    background: none;
    padding: 0;
    font: inherit;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--st-muted);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.st-cart-remove:hover { color: #9a3f32; }
.st-cart-line {
    margin: 0;
    font-family: "El Messiri", serif;
    font-size: 1.15rem;
    font-weight: 600;
    white-space: nowrap;
}
.st-cart-summary {
    background: var(--st-card);
    border: 1px solid var(--st-line);
    padding: 28px 24px 24px;
    animation: st-rise .7s var(--st-ease) .08s both;
}
@media (min-width: 960px) {
    .st-cart-summary { position: sticky; top: 96px; padding: 32px 28px 28px; }
}
.st-cart-summary h2 {
    font-family: "El Messiri", serif;
    font-size: 1.45rem;
    margin: 0 0 20px;
}
.st-cart-ship {
    margin: 0 0 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--st-line);
}
.st-cart-ship p {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--st-muted);
}
.st-cart-ship.is-on p { color: var(--st-sage); font-weight: 700; }
.st-cart-ship-bar {
    display: block;
    height: 2px;
    background: var(--st-line);
    overflow: hidden;
}
.st-cart-ship-bar i {
    display: block;
    height: 100%;
    background: var(--st-gold);
    transition: width .8s var(--st-ease);
}
.st-cart-summary dl { margin: 0 0 22px; }
.st-cart-summary dl > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
    font-size: 14px;
}
.st-cart-summary dt { color: var(--st-muted); }
.st-cart-summary dd { margin: 0; }
.st-cart-summary .is-save { color: var(--st-sage); }
.st-cart-summary .is-total {
    margin-top: 8px;
    padding-top: 14px;
    border-top: 1px solid var(--st-line);
    font-family: "El Messiri", serif;
    font-size: 1.2rem;
}
.st-cart-summary .is-total dt { color: inherit; }
.st-cart-coupon { margin-bottom: 18px; }
.st-cart-coupon > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: stretch;
}
.st-cart-coupon input {
    width: 100%;
    border: 0;
    border-bottom: 1px solid rgba(28,28,28,.2);
    background: transparent;
    padding: 10px 0;
    font: inherit;
    outline: none;
}
.st-cart-coupon .st-btn-ghost { min-height: 44px; padding: 0 18px; }
.st-cart-coupon-on {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 10px 0 0;
    font-size: 13px;
    color: var(--st-sage);
}
.st-cart-coupon-on button {
    border: 0;
    background: none;
    padding: 0;
    font: inherit;
    color: var(--st-muted);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.st-cart-checkout { width: 100%; }
.st-cart-secure {
    margin: 12px 0 0;
    text-align: center;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--st-muted);
}
.st-cart-empty {
    text-align: center;
    padding: 48px 16px 72px;
    animation: st-rise .65s var(--st-ease) both;
}
.st-cart-empty-mark {
    display: grid;
    place-items: center;
    width: 88px;
    height: 88px;
    margin: 0 auto 20px;
    border: 1px solid var(--st-gold);
    color: var(--st-gold);
}
.st-cart-empty strong {
    display: block;
    font-family: "El Messiri", serif;
    font-size: 1.8rem;
    margin-bottom: 8px;
}
.st-cart-empty p { color: var(--st-muted); margin: 0 0 28px; }
.st-wish-item .st-cart-unit { display: none; }
.st-wish-item .st-btn {
    min-height: 42px;
    padding: 0 20px;
    width: auto;
}

.st-check-guest {
    margin: -16px 0 36px;
    color: var(--st-muted);
    font-size: 14px;
    animation: st-rise .5s var(--st-ease) both;
}
.st-check-guest a {
    margin-inline-start: 8px;
    color: var(--st-gold);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
}
.st-check-layout.st-cart-layout { align-items: start; }
.st-check-main { display: grid; gap: 28px; min-width: 0; }
.st-check-block {
    padding-bottom: 8px;
    animation: st-rise .6s var(--st-ease) both;
    animation-delay: var(--st-delay, 0ms);
}
.st-check-step {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 0 0 20px;
    font-family: "El Messiri", serif;
    font-size: 1.35rem;
}
.st-check-step span {
    font-size: 12px;
    letter-spacing: .18em;
    color: var(--st-gold);
}
.st-check-hint {
    margin: -8px 0 16px;
    color: var(--st-muted);
    font-size: 14px;
}
.st-check-grid {
    display: grid;
    gap: 18px 24px;
}
@media (min-width: 720px) {
    .st-check-grid { grid-template-columns: 1fr 1fr; }
    .st-check-field--wide { grid-column: 1 / -1; }
}
.st-check-field {
    display: grid;
    gap: 8px;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--st-muted);
}
.st-check-field input,
.st-check-field textarea {
    width: 100%;
    border: 0;
    border-bottom: 1px solid rgba(28, 28, 28, .2);
    background: transparent;
    padding: 10px 0;
    font: inherit;
    font-size: 16px;
    letter-spacing: 0;
    text-transform: none;
    color: var(--st-ink);
    outline: none;
    resize: vertical;
}
.st-check-field input:focus,
.st-check-field textarea:focus { border-bottom-color: var(--st-gold); }
.st-check-field em,
.st-check-err {
    font-style: normal;
    font-size: 12px;
    letter-spacing: 0;
    text-transform: none;
    color: #9a3f32;
}
.st-check-choices { display: grid; gap: 10px; }
.st-check-choice {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid var(--st-line);
    background: var(--st-card);
    cursor: pointer;
    transition: border-color .25s var(--st-ease), background .25s var(--st-ease);
}
.st-check-choice input { position: absolute; opacity: 0; pointer-events: none; }
.st-check-choice strong {
    display: block;
    font-family: "El Messiri", serif;
    font-size: 1.05rem;
    color: var(--st-ink);
    text-transform: none;
    letter-spacing: 0;
}
.st-check-choice small {
    display: block;
    margin-top: 4px;
    color: var(--st-muted);
    font-size: 12px;
    letter-spacing: 0;
    text-transform: none;
}
.st-check-choice em {
    font-style: normal;
    font-family: "El Messiri", serif;
    color: var(--st-ink);
}
.st-check-choice:hover,
.st-check-choice.is-on { border-color: var(--st-ink); }
.st-check-choice.is-on { background: #f3eee6; }
@media (min-width: 640px) {
    .st-check-choices { grid-template-columns: 1fr 1fr; }
}
.st-check-pay {
    margin-top: 14px;
    padding: 16px 18px;
    background: #f7f3ed;
    border: 1px solid var(--st-line);
    display: grid;
    gap: 6px;
}
.st-check-pay p {
    margin: 0 0 6px;
    color: var(--st-muted);
    font-size: 13px;
    line-height: 1.55;
}
.st-check-pay span,
.st-check-pay em {
    font-style: normal;
    font-size: 12px;
    color: var(--st-muted);
    letter-spacing: .04em;
    text-transform: uppercase;
}
.st-check-pay strong {
    display: block;
    font-family: "El Messiri", serif;
    font-size: 1.15rem;
    color: var(--st-ink);
    letter-spacing: 0;
    user-select: all;
}
.st-check-proof {
    display: grid;
    gap: 8px;
    margin-top: 16px;
    padding: 16px 18px;
    border: 1px dashed var(--st-line);
    background: var(--st-card);
    cursor: pointer;
}
.st-check-proof span {
    font-family: "El Messiri", serif;
    font-size: 1.02rem;
    color: var(--st-ink);
}
.st-check-proof small,
.st-check-proof em {
    color: var(--st-muted);
    font-style: normal;
    font-size: 12px;
}
.st-check-proof em { color: #9a3f32; }
.st-check-proof input[type="file"] {
    font-size: 13px;
    color: var(--st-ink);
}
.st-check-proof-preview {
    display: block;
    width: 100%;
    max-width: 240px;
    height: 160px;
    object-fit: cover;
    background: #ece7df;
}
.st-check-mini {
    list-style: none;
    margin: 0 0 18px;
    padding: 0 0 8px;
    border-bottom: 1px solid var(--st-line);
    display: grid;
    gap: 12px;
}
.st-check-mini li {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}
.st-check-mini-thumb {
    display: block;
    width: 48px;
    height: 60px;
    background: #ece7df;
    overflow: hidden;
}
.st-check-mini-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.st-check-mini strong {
    display: block;
    font-size: 14px;
    line-height: 1.35;
}
.st-check-mini small,
.st-check-mini em {
    color: var(--st-muted);
    font-style: normal;
    font-size: 12px;
}
.st-check-mini em {
    font-family: "El Messiri", serif;
    color: var(--st-ink);
    font-size: 13px;
}
.st-check-summary { animation-delay: .12s; }

/* Footer */
.st-foot {
    background: var(--st-ink);
    color: rgba(247,245,242,.72);
    padding: 56px 20px 24px;
}
@media (min-width: 768px) { .st-foot { padding: 80px 64px 32px; } }
.st-foot-grid {
    max-width: 1400px;
    margin: 0 auto 64px;
    display: grid;
    gap: 40px;
}
@media (min-width: 768px) {
    .st-foot-grid { grid-template-columns: 1.4fr .7fr .7fr 1fr; }
}
.st-foot-brand { font-size: 2rem; color: var(--st-bg); margin: 0 0 12px; }
.st-foot h4 {
    color: var(--st-gold);
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    margin: 0 0 20px;
}
.st-foot ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.st-foot a { color: inherit; text-decoration: none; font-size: 14px; }
.st-foot a:hover { color: var(--st-bg); }
.st-news { display: flex; border-bottom: 1px solid rgba(247,245,242,.28); padding-bottom: 8px; }
.st-news input {
    flex: 1;
    background: transparent;
    border: 0;
    color: var(--st-bg);
    font: inherit;
    outline: none;
}
.st-news button { background: none; border: 0; color: var(--st-gold); cursor: pointer; }
.st-foot-bar {
    max-width: 1400px;
    margin: 0 auto;
    padding-top: 28px;
    border-top: 1px solid rgba(247,245,242,.1);
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(247,245,242,.4);
}

/* Toast */
.st-toast {
    position: fixed;
    top: 28px;
    left: 50%;
    transform: translate(-50%, -80px);
    z-index: 80;
    background: var(--st-ink);
    color: var(--st-bg);
    padding: 16px 36px;
    display: flex;
    align-items: center;
    gap: 10px;
    opacity: 0;
    pointer-events: none;
    transition: all .45s var(--st-ease);
    box-shadow: 0 20px 50px rgba(0,0,0,.18);
}
.st-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

.st-banners { display: grid; gap: 16px; }
.st-banner {
    display: block;
    text-decoration: none;
    color: inherit;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--st-line);
}

.st-intro {
    margin-bottom: 36px;
}
@media (min-width: 768px) {
    .st-intro { margin-bottom: 56px; }
}
.st-grid { gap: 28px 20px; }
@media (min-width: 768px) {
    .st-grid { gap: 40px 28px; }
    .st-page { padding: 0; }
}

@media (hover: none) {
    .st-card-cta {
        opacity: 1;
        transform: none;
    }
    .st-cat small { opacity: .85; }
}

.st-thanks-track {
    max-width: 720px;
    margin: 28px auto 0;
    text-align: start;
}
.st-thanks-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 8px;
}
.st-thanks-actions .st-btn,
.st-thanks-actions .st-btn-ghost { margin-top: 12px; }

.st-track-list {
    list-style: none;
    margin: 0;
    padding: 8px 0 0;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
}
.st-track-step {
    position: relative;
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 8px;
    padding: 8px 6px 0;
}
.st-track-step::before {
    content: "";
    position: absolute;
    top: 16px;
    inset-inline-start: 50%;
    width: 100%;
    height: 1px;
    background: var(--st-line);
}
.st-track-step:last-child::before { display: none; }
.st-track-dot {
    position: relative;
    z-index: 1;
    width: 14px;
    height: 14px;
    border: 1px solid var(--st-ink);
    background: var(--st-card);
    border-radius: 50%;
}
.st-track-step.is-done .st-track-dot,
.st-track-step.is-now .st-track-dot {
    background: var(--st-ink);
}
.st-track-step.is-now .st-track-dot {
    box-shadow: 0 0 0 5px rgba(166, 129, 76, .22);
}
.st-track-step.is-todo { opacity: .42; }
.st-track-step strong {
    font-family: "El Messiri", serif;
    font-size: 13px;
    line-height: 1.3;
}
.st-track-step small {
    color: var(--st-muted);
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: none;
}
.st-track-stop,
.st-track-code {
    margin: 0 0 10px;
    font-size: 13px;
}
.st-track-stop { color: #9a3f32; }
.st-track.is-stop .st-track-step { opacity: .4; }

.st-body--auth {
    background: var(--st-bg);
    min-height: 100dvh;
    min-height: 100svh;
}
.st-auth-shell {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    min-height: 100svh;
    width: 100%;
    margin: 0;
    padding: 0;
}
.st-auth-top {
    position: absolute;
    top: 0;
    inset-inline: 0;
    z-index: 4;
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    padding: calc(10px + env(safe-area-inset-top, 0px)) 12px 10px;
}
.st-auth-top-back {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(28, 28, 28, .28);
    border: 1px solid rgba(255, 255, 255, .18);
    backdrop-filter: blur(10px);
    text-decoration: none;
    border-radius: 999px;
}
.st-auth-top-back svg { display: block; }
html[dir="rtl"] .st-auth-top-back svg { transform: scaleX(-1); }
.st-auth-top-brand {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    text-decoration: none;
    min-width: 0;
}
.st-auth-top-logo {
    height: 26px;
    width: auto;
}
.st-auth-top-brand span {
    font-family: "El Messiri", serif;
    font-size: 1.05rem;
    letter-spacing: .08em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 42vw;
}
.st-auth-banner {
    display: flex;
    position: relative;
    min-height: 38svh;
    background-size: cover;
    background-position: center 42%;
    align-items: flex-end;
    padding: 88px 22px 44px;
}
.st-auth-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(28, 28, 28, .78) 0%, rgba(28, 28, 28, .28) 48%, rgba(28, 28, 28, .18) 100%);
}
.st-auth-banner-copy {
    position: relative;
    z-index: 1;
    color: #fff;
    max-width: 480px;
}
.st-auth-banner-copy .st-kicker {
    color: var(--st-gold);
    margin-bottom: 8px;
    letter-spacing: .22em;
}
.st-auth-banner-copy h2 {
    font-family: "El Messiri", "Cormorant Garamond", serif;
    font-size: clamp(1.45rem, 6.2vw, 1.85rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}
.st-auth-banner-copy p { display: none; }
.st-auth-panel {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex: 1;
    margin-top: -28px;
    padding: 0 0 calc(20px + env(safe-area-inset-bottom, 0px));
    background: transparent;
    position: relative;
    z-index: 2;
}
.st-auth-card {
    width: 100%;
    flex: 1;
    background: #fffcf8;
    border-radius: 28px 28px 0 0;
    padding: 26px 20px 28px;
    box-shadow: 0 -16px 40px rgba(28, 28, 28, .12);
}
.st-auth-card .st-kicker { display: none; }
.st-auth-card h1 {
    font-family: "El Messiri", "Cormorant Garamond", serif;
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--st-sage);
    margin: 0 0 6px;
    line-height: 1.25;
}
.st-auth-card > p {
    margin: 0 0 22px;
    color: var(--st-muted);
    font-size: .95rem;
    line-height: 1.55;
}
.st-auth-form {
    display: grid;
    gap: 14px;
    margin-bottom: 4px;
}
.st-auth-form label { display: grid; gap: 7px; }
.st-auth-form span {
    font-size: .85rem;
    font-weight: 600;
    color: var(--st-ink);
}
.st-auth-form input[type="email"],
.st-auth-form input[type="text"],
.st-auth-form input[type="password"] {
    width: 100%;
    min-height: 50px;
    border: 1px solid var(--st-line);
    border-radius: 12px;
    background: #fff;
    padding: 14px 16px;
    font: inherit;
    font-size: 16px;
    color: inherit;
    transition: border-color .25s var(--st-ease), box-shadow .25s var(--st-ease);
}
.st-auth-form input::placeholder { color: #b5b5b5; }
.st-auth-form input:focus {
    outline: 0;
    border-color: var(--st-gold);
    box-shadow: 0 0 0 3px rgba(166, 129, 76, .12);
}
.st-auth-form em,
.st-auth-err {
    color: #9a3f32;
    font-style: normal;
    font-size: 12px;
}
.st-auth-remember {
    display: flex !important;
    grid-template-columns: none;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-height: 44px;
}
.st-auth-remember input {
    width: 18px;
    height: 18px;
    accent-color: var(--st-sage);
    cursor: pointer;
    flex: none;
}
.st-auth-remember span {
    margin: 0;
    font-size: .9rem;
    font-weight: 400;
    color: var(--st-muted);
}
.st-auth-shell .st-btn {
    width: 100%;
    min-height: 52px;
    margin-top: 4px;
    background: var(--st-sage);
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: none;
    border-radius: 12px;
    transition: background .25s var(--st-ease), box-shadow .25s var(--st-ease);
}
.st-auth-shell .st-btn:active { background: #324032; }
.st-auth-switch {
    text-align: center;
    margin: 22px 0 0;
    color: var(--st-muted);
    font-size: .92rem;
}
.st-auth-switch a {
    color: var(--st-gold);
    font-weight: 700;
    text-decoration: none;
}
.st-auth-or {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
    color: var(--st-muted);
    font-size: .82rem;
    letter-spacing: 0;
    text-transform: none;
}
.st-auth-or::before,
.st-auth-or::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--st-line);
}
.st-google {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid var(--st-line);
    border-radius: 12px;
    text-decoration: none;
    color: var(--st-ink);
    background: #fff;
    font-size: 15px;
    font-weight: 600;
    transition: border-color .25s var(--st-ease), box-shadow .25s var(--st-ease);
}
.st-auth-shell .st-text-link.st-auth-back { display: none; }
@media (max-width: 768px) {
    .st-auth-shell--register .st-auth-banner {
        min-height: 28svh;
        padding: 80px 22px 36px;
    }
}
@media (max-width: 768px) and (max-height: 740px) {
    .st-auth-banner {
        min-height: 30svh;
        padding-bottom: 36px;
    }
    .st-auth-banner-copy h2 { font-size: 1.35rem; }
    .st-auth-shell--register .st-auth-banner { min-height: 22svh; }
}
@media (hover: hover) {
    .st-auth-shell .st-btn:hover {
        background: #324032;
        box-shadow: 0 8px 20px rgba(61, 74, 61, .22);
    }
    .st-auth-switch a:hover { color: var(--st-ink); }
    .st-google:hover {
        border-color: #cfcfcf;
        box-shadow: 0 4px 12px rgba(28, 28, 28, .08);
    }
    .st-auth-shell .st-text-link.st-auth-back:hover { color: var(--st-gold); }
}
@media (min-width: 769px) {
    .st-body--auth { background: #fff; overflow: hidden; }
    .st-auth-shell {
        display: grid;
        grid-template-columns: 1fr 1fr;
        overflow: hidden;
    }
    .st-auth-top { display: none; }
    .st-auth-banner {
        min-height: 100dvh;
        padding: 40px;
        background-position: center;
    }
    .st-auth-banner-copy h2 {
        font-size: clamp(1.8rem, 3vw, 2.5rem);
        margin: 0 0 10px;
    }
    .st-auth-banner-copy p {
        display: block;
        margin: 0;
        font-size: 1.05rem;
        line-height: 1.7;
        opacity: .92;
    }
    .st-auth-panel {
        margin-top: 0;
        padding: 48px 40px;
        overflow-y: auto;
        max-height: 100dvh;
        background: #fff;
        align-items: center;
    }
    .st-auth-card {
        max-width: 420px;
        flex: none;
        background: transparent;
        border-radius: 0;
        padding: 0;
        box-shadow: none;
    }
    .st-auth-card .st-kicker {
        display: block;
        color: var(--st-gold);
        margin-bottom: 12px;
        letter-spacing: .18em;
        font-size: 12px;
    }
    .st-auth-card h1 { font-size: clamp(1.8rem, 4vw, 2.2rem); }
    .st-auth-card > p { margin-bottom: 28px; font-size: 1rem; }
    .st-auth-form { gap: 18px; }
    .st-auth-or { margin: 22px 0; font-size: .9rem; }
    .st-auth-shell .st-text-link.st-auth-back {
        display: flex;
        justify-content: center;
        margin-top: 16px;
        letter-spacing: 0;
        text-transform: none;
        font-size: .9rem;
        font-weight: 600;
        border: 0;
        padding: 0;
        color: var(--st-ink);
    }
}
.st-nav-login {
    display: none;
    align-items: center;
    text-decoration: none;
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    border: 1px solid currentColor;
    padding: 8px 14px;
    opacity: .9;
    white-space: nowrap;
}
.st-nav-login:hover,
.st-nav-login.is-on { color: var(--st-gold); opacity: 1; }
@media (min-width: 880px) {
    .st-nav-login { display: inline-flex; }
    .st-nav-login + .st-icon.st-nav-account { display: none; }
}
.st-acc-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--st-line);
}
.st-acc-id {
    display: flex;
    gap: 16px;
    align-items: center;
    min-width: 0;
}
.st-acc-avatar {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    flex: 0 0 auto;
    background: var(--st-ink);
    color: var(--st-bg);
    font-family: "El Messiri", serif;
    font-size: 1.15rem;
    letter-spacing: .06em;
}
.st-acc-avatar.is-lg { width: 88px; height: 88px; font-size: 1.6rem; margin: 0 auto 16px; }
.st-acc-hero h1 { margin: 6px 0 6px; }
.st-acc-hero p { margin: 0; color: var(--st-muted); }
.st-acc-hero-actions {
    display: grid;
    justify-items: end;
    gap: 10px;
}
.st-acc-hero-actions small { color: var(--st-muted); font-size: 12px; }
.st-account-flash {
    margin: 0 0 20px;
    padding: 14px 18px;
    background: #f3eee6;
    color: var(--st-ink);
}
.st-acc-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 32px;
}
.st-acc-nav a {
    text-decoration: none;
    padding: 10px 16px;
    border: 1px solid var(--st-line);
    background: var(--st-card);
    color: var(--st-muted);
    font-size: 13px;
}
.st-acc-nav a.is-on {
    color: var(--st-bg);
    background: var(--st-ink);
    border-color: var(--st-ink);
}
.st-acc-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 28px;
}
@media (min-width: 800px) {
    .st-acc-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.st-acc-metrics div {
    padding: 20px 18px;
    background: var(--st-card);
    border: 1px solid var(--st-line);
}
.st-acc-metrics span {
    display: block;
    color: var(--st-muted);
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.st-acc-metrics strong {
    display: block;
    margin-top: 8px;
    font-family: "El Messiri", serif;
    font-size: 1.45rem;
}
.st-acc-panel {
    padding: 24px;
    margin-bottom: 20px;
    background: var(--st-card);
    border: 1px solid var(--st-line);
}
.st-acc-panel .st-btn { margin-top: 18px; }
.st-account-card-kicker {
    margin: 0 0 8px;
    color: var(--st-gold);
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.st-acc-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
    margin-bottom: 16px;
}
.st-acc-panel-head h2,
.st-acc-order-link {
    margin: 0;
    font-family: "El Messiri", serif;
    font-size: 1.45rem;
    text-decoration: none;
    color: inherit;
}
.st-acc-panel-head p { margin: 6px 0 0; color: var(--st-muted); font-size: 13px; }
.st-acc-status {
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid var(--st-ink);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}
.st-acc-order-meta {
    display: grid;
    justify-items: end;
    gap: 8px;
}
.st-acc-order-meta strong,
.st-order-total {
    font-family: "El Messiri", serif;
    font-size: 1.25rem;
}
.st-acc-thumbs {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}
.st-account-thumb {
    display: block;
    width: 56px;
    height: 70px;
    background: #ece7df;
    overflow: hidden;
    flex: 0 0 auto;
}
.st-account-thumb img,
.st-acc-wish-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.st-acc-empty {
    padding: 56px 20px;
    text-align: center;
    border: 1px solid var(--st-line);
    background: var(--st-card);
}
.st-acc-empty strong {
    display: block;
    font-family: "El Messiri", serif;
    font-size: 1.3rem;
    margin-bottom: 8px;
}
.st-acc-empty p { color: var(--st-muted); margin: 0 0 24px; }
.st-acc-buys {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0;
}
.st-acc-buys li {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--st-line);
}
.st-acc-buys li:last-child { border-bottom: 0; }
.st-acc-buy-media { width: 72px; height: 90px; }
.st-acc-buys strong { display: block; font-size: 15px; }
.st-acc-buys small { color: var(--st-muted); font-size: 12px; }
.st-acc-buys em,
.st-acc-pay em {
    font-style: normal;
    font-family: "El Messiri", serif;
}
.st-acc-buy-end {
    display: grid;
    justify-items: end;
    gap: 8px;
}
.st-acc-buy-end button {
    border: 0;
    background: none;
    color: var(--st-muted);
    font: inherit;
    font-size: 12px;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.st-acc-pay {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
    padding: 20px 24px;
    margin-bottom: 12px;
    background: var(--st-card);
    border: 1px solid var(--st-line);
}
.st-acc-pay small { display: block; margin-top: 4px; color: var(--st-muted); font-size: 12px; }
.st-acc-pay-end {
    display: grid;
    justify-items: end;
    gap: 6px;
}
.st-acc-pay-end a { font-size: 12px; color: var(--st-muted); }
.st-account-pill {
    font-size: 11px;
    letter-spacing: .04em;
    padding: 4px 8px;
    border: 1px solid var(--st-line);
}
.st-account-pill.is-paid { border-color: var(--st-ink); }
.st-account-pill.is-failed { color: #9a3f32; }
.st-acc-wish {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
@media (min-width: 800px) {
    .st-acc-wish { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.st-acc-wish a { text-decoration: none; color: inherit; display: grid; gap: 10px; }
.st-acc-wish-media {
    display: block;
    aspect-ratio: 3 / 4;
    background: #ece7df;
    overflow: hidden;
}
.st-acc-wish strong { font-size: 14px; }
.st-acc-wish em { font-style: normal; font-family: "El Messiri", serif; color: var(--st-muted); }
.st-acc-profile {
    display: grid;
    gap: 20px;
}
@media (min-width: 900px) {
    .st-acc-profile { grid-template-columns: 280px minmax(0, 1fr); align-items: start; }
}
.st-acc-profile-card {
    padding: 28px 24px;
    background: var(--st-ink);
    color: var(--st-bg);
    text-align: center;
}
.st-acc-profile-card .st-acc-avatar {
    background: var(--st-bg);
    color: var(--st-ink);
}
    margin: 0 0 8px;
    font-family: "El Messiri", serif;
}
.st-acc-profile-card p { margin: 0 0 6px; color: rgba(247,245,242,.72); }
.st-account-form {
    display: grid;
    gap: 16px;
}
@media (min-width: 640px) {
    .st-account-form { grid-template-columns: 1fr 1fr; }
    .st-account-form .is-wide,
    .st-account-form .st-btn,
    .st-account-form .st-account-card-kicker { grid-column: 1 / -1; }
}
.st-account-form label { display: grid; gap: 6px; }
.st-account-form span { font-size: 12px; color: var(--st-muted); }
.st-account-form input,
.st-account-form textarea {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--st-line);
    background: transparent;
    padding: 10px 0;
    font: inherit;
    color: inherit;
}
.st-account-form em { color: #9a3f32; font-style: normal; font-size: 12px; }
.st-account-back {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--st-muted);
    text-decoration: none;
    font-size: 13px;
}
.st-account-events {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
}
.st-account-events li {
    padding-inline-start: 14px;
    border-inline-start: 1px solid var(--st-line);
}
.st-account-events small { display: block; color: var(--st-muted); font-size: 12px; }
.st-account-totals { margin: 18px 0 0; }
.st-account-totals div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 6px 0;
}
.st-account-totals .is-total {
    border-top: 1px solid var(--st-line);
    margin-top: 8px;
    padding-top: 12px;
    font-family: "El Messiri", serif;
}
.st-account-muted { color: var(--st-muted); }
.st-account-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}
.st-account-actions .is-danger { color: #9a3f32; }
.st-order-layout {
    display: grid;
    gap: 20px;
}
@media (min-width: 980px) {
    .st-order-layout { grid-template-columns: minmax(0, 1.2fr) 340px; align-items: start; }
    .st-order-side { position: sticky; top: 96px; }
}
.st-track-index {
    display: block;
    font-size: 10px;
    letter-spacing: .14em;
    color: var(--st-gold);
}
.st-page.st-account { padding-bottom: 64px; }

@media (max-width: 639px) {
    .st-track-list { grid-template-columns: 1fr; }
    .st-track-step {
        grid-template-columns: 14px minmax(0, 1fr);
        justify-items: start;
        text-align: start;
        gap: 2px 12px;
        padding: 0 0 18px;
    }
    .st-track-step::before {
        inset-inline-start: 6px;
        top: 14px;
        width: 1px;
        height: calc(100% - 8px);
    }
    .st-track-dot { grid-row: 1 / span 3; }
    .st-track-index { grid-column: 2; }
    .st-acc-buys li { grid-template-columns: 56px minmax(0, 1fr); }
    .st-acc-buy-end { grid-column: 1 / -1; justify-items: start; flex-direction: row; }
}

@media (prefers-reduced-motion: reduce) {
    .st-marquee-track,
    .st-card-media img,
    .st-cat img,
    .st-path img,
    .st-slide-img,
    .st-lightbox-img,
    .st-search-drop,
    .st-cart-item,
    .st-cart-summary,
    .st-cart-empty,
    .st-cart-ship-bar i {
        animation: none;
        transition: none;
    }
    html { scroll-behavior: auto; }
}
