:root {
    --forest-950: #07140d;
    --forest-900: #0b1f14;
    --forest-800: #12331f;
    --forest-700: #1a4a2d;
    --forest-600: #25633b;
    --gold-500: #d8aa49;
    --gold-400: #ebc972;
    --gold-300: #f2d994;
    --cream-50: #fffdf7;
    --cream-100: #f6f0e3;
    --cream-200: #e8deca;
    --ink-950: #111310;
    --ink-800: #272b24;
    --ink-600: #5d6258;
    --white: #fff;
    --red: #ad3a2c;
    --green: #2c7a45;
    --shadow: 0 18px 50px rgba(10, 20, 13, .13);
    --shadow-dark: 0 24px 70px rgba(0, 0, 0, .32);
    --radius-lg: 24px;
    --radius-md: 16px;
    --radius-sm: 10px;
    --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink-950);
    background: var(--cream-50);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.55;
}
body.nav-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
main { min-height: 55vh; }

h1, h2, h3, h4 {
    margin: 0 0 .55em;
    font-family: "Arial Narrow", Impact, Arial, sans-serif;
    line-height: .97;
    letter-spacing: .01em;
}
h1 { font-size: clamp(3.5rem, 8vw, 7.6rem); text-transform: uppercase; }
h2 { font-size: clamp(2.3rem, 4vw, 4rem); text-transform: uppercase; }
h3 { font-size: 1.55rem; }
p { margin: 0 0 1rem; }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--forest-700);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 32px; height: 2px; background: var(--gold-500); }
.section { padding: 82px 0; }
.section--dark {
    color: var(--cream-50);
    background:
        radial-gradient(circle at 90% 0%, rgba(216,170,73,.14), transparent 34%),
        linear-gradient(135deg, var(--forest-950), var(--forest-800));
}
.section--cream { background: var(--cream-100); }
.section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
}
.section-head p { max-width: 650px; color: var(--ink-600); }
.section--dark .section-head p { color: rgba(255,255,255,.7); }

.announcement-bar {
    color: #fff;
    background: var(--forest-950);
    border-bottom: 1px solid rgba(235,201,114,.25);
    font-size: .82rem;
    font-weight: 700;
}
.announcement-bar .container {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.announcement-links { display: flex; gap: 18px; color: var(--gold-300); }
.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    color: #fff;
    background: rgba(7,20,13,.97);
    border-bottom: 1px solid rgba(235,201,114,.22);
    backdrop-filter: blur(12px);
}
.header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 225px; }
.brand img { width: 66px; height: 66px; object-fit: contain; }
.brand span { display: grid; line-height: 1; }
.brand strong { font-family: "Arial Narrow", Impact, Arial, sans-serif; font-size: 1.8rem; text-transform: uppercase; }
.brand small { margin-top: 4px; color: var(--gold-400); font-size: .65rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 6px; }
.main-nav a {
    padding: 12px 13px;
    border-radius: 9px;
    font-size: .88rem;
    font-weight: 700;
}
.main-nav a:hover { color: var(--forest-950); background: var(--gold-400); }
.nav-count {
    display: inline-grid;
    place-items: center;
    min-width: 21px;
    height: 21px;
    margin-left: 3px;
    color: var(--forest-950);
    background: var(--gold-400);
    border-radius: 999px;
    font-size: .72rem;
}
.nav-toggle { display: none; }

.flash-stack { padding-top: 16px; }
.flash {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 10px;
    padding: 14px 16px;
    border: 1px solid;
    border-radius: var(--radius-sm);
    font-weight: 700;
}
.flash button { border: 0; background: transparent; font-size: 1.4rem; }
.flash--success { color: #0d5a2c; background: #e5f7ea; border-color: #a9dfb9; }
.flash--warning { color: #72530b; background: #fff4cc; border-color: #e8cc72; }
.flash--error { color: #8b241c; background: #ffe5e1; border-color: #e9a8a1; }
.flash--info { color: #174c71; background: #e8f5ff; border-color: #afd5ee; }

.hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(4,12,8,.97) 0%, rgba(4,12,8,.84) 45%, rgba(4,12,8,.22) 78%, rgba(4,12,8,.45) 100%),
        url("../images/hero.webp") center/cover no-repeat;
    border-bottom: 1px solid rgba(216,170,73,.28);
}
.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size: 36px 36px;
}
.hero-inner {
    position: relative;
    z-index: 2;
    min-height: 650px;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .7fr);
    align-items: center;
    gap: 70px;
    padding-block: 70px;
}
.hero-copy { max-width: 760px; }
.hero-copy .eyebrow { color: var(--gold-400); }
.hero-copy h1 { margin: 20px 0 22px; text-shadow: 0 6px 20px rgba(0,0,0,.34); }
.hero-copy h1 span { color: var(--gold-300); }
.hero-copy > p { max-width: 690px; color: rgba(255,255,255,.82); font-size: 1.12rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.hero-points { display: flex; flex-wrap: wrap; gap: 20px; color: rgba(255,255,255,.86); font-size: .88rem; font-weight: 700; }
.hero-points span::before { content: "✓"; margin-right: 7px; color: var(--gold-400); }
.hero-logo-panel {
    justify-self: end;
    width: min(100%, 500px);
    padding: 10px;
}
.hero-logo-panel img {
    width: 100%;
    max-height: 460px;
    object-fit: contain;
    filter: drop-shadow(0 24px 26px rgba(0,0,0,.58));
}
.hero-logo-panel .stamp {
    width: fit-content;
    margin: -24px auto 0;
    padding: 10px 14px;
    color: #fff;
    background: #8b4a25;
    border-radius: 8px;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.btn {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 18px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-weight: 800;
    transition: transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-gold { color: var(--forest-950); background: var(--gold-400); border-color: var(--gold-400); }
.btn-gold:hover { background: #f4d98d; }
.btn-dark { color: #fff; background: var(--forest-800); border-color: var(--forest-800); }
.btn-outline { color: var(--forest-900); background: transparent; border-color: rgba(11,31,20,.28); }
.btn-outline:hover { color: #fff; background: var(--forest-800); border-color: var(--forest-800); }
.btn-outline-light { color: #fff; background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.35); }
.btn-muted { color: #7a7a72; background: #e8e5dd; }
.btn-small { min-height: 40px; padding: 8px 13px; font-size: .82rem; }
.btn-block { width: 100%; }
.btn-danger { color: #fff; background: #9e3025; }
.btn-link { padding: 0; border: 0; background: transparent; color: var(--forest-700); }

.category-strip {
    position: relative;
    z-index: 3;
    margin-top: -36px;
}
.category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.category-card {
    position: relative;
    min-height: 255px;
    overflow: hidden;
    color: #fff;
    background: #16241b;
    border: 1px solid rgba(216,170,73,.4);
    border-radius: 18px;
    box-shadow: var(--shadow);
}
.category-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.category-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,14,9,.06) 20%, rgba(5,14,9,.94) 100%); }
.category-card:hover img { transform: scale(1.055); }
.category-card__content { position: absolute; z-index: 2; inset: auto 20px 18px; }
.category-card h3 { margin: 0 0 4px; font-size: 1.7rem; text-transform: uppercase; }
.category-card p { margin: 0; color: var(--gold-300); font-size: .82rem; font-weight: 700; }
.category-card .count-pill {
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 14px;
    padding: 7px 10px;
    color: var(--forest-950);
    background: var(--gold-300);
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.product-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e4dfd2;
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(21,34,24,.08);
    transition: transform .2s ease, box-shadow .2s ease;
}
.product-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.product-card__image { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--forest-900); }
.product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.product-card:hover .product-card__image img { transform: scale(1.045); }
.demo-ribbon {
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 3;
    padding: 7px 10px;
    color: var(--forest-950);
    background: var(--gold-300);
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.discount-badge {
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    color: #fff;
    background: var(--red);
    border-radius: 50%;
    font-family: "Arial Narrow", Impact, Arial, sans-serif;
    font-size: 1.1rem;
    font-weight: 900;
}
.product-card__body { padding: 18px; }
.product-meta { display: flex; justify-content: space-between; gap: 12px; color: var(--forest-600); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.product-card h3 { margin: 10px 0 6px; font-size: 1.45rem; line-height: 1.05; }
.product-card h3 a:hover { color: var(--forest-600); }
.product-snippet { min-height: 45px; color: var(--ink-600); font-size: .86rem; }
.price-row { display: flex; align-items: baseline; gap: 10px; margin: 14px 0; }
.price-row strong { color: var(--forest-900); font-family: "Arial Narrow", Impact, Arial, sans-serif; font-size: 1.8rem; }
.price-row del { color: #8a8c86; }
.product-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.product-card__actions form { display: contents; }

.auction-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.auction-card {
    overflow: hidden;
    color: var(--ink-950);
    background: #fff;
    border: 1px solid rgba(216,170,73,.5);
    border-radius: 18px;
    box-shadow: 0 12px 36px rgba(0,0,0,.18);
}
.auction-card__image { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; background: #10140f; }
.auction-card__image img { width: 100%; height: 100%; object-fit: cover; }
.auction-state {
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 3;
    padding: 7px 10px;
    color: #fff;
    background: #484c45;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.auction-state--live { background: var(--red); animation: pulse 1.8s infinite; }
.auction-state--upcoming { background: #775b16; }
.auction-card__body { padding: 18px; }
.auction-card h3 { min-height: 48px; font-size: 1.45rem; }
.auction-money { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 13px 0; border-block: 1px solid #e8e2d5; }
.auction-money div { display: grid; }
.auction-money span { color: var(--ink-600); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.auction-money strong { font-family: "Arial Narrow", Impact, Arial, sans-serif; font-size: 1.7rem; }
.countdown { margin: 12px 0; color: var(--red); font-size: .82rem; font-weight: 800; }
@keyframes pulse { 50% { box-shadow: 0 0 0 7px rgba(173,58,44,0); } }

.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.news-card { overflow: hidden; background: #fff; border: 1px solid #e2dbcd; border-radius: 18px; box-shadow: 0 10px 30px rgba(20,30,22,.08); }
.news-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.news-card__body { padding: 20px; }
.news-card__tag { color: var(--forest-600); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.news-card h3 { margin-top: 9px; font-size: 1.7rem; }
.news-card p { color: var(--ink-600); }
.news-card time { color: #888b84; font-size: .78rem; }

.social-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.social-card {
    min-height: 125px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: 22px;
    color: #fff;
    background: linear-gradient(135deg, var(--forest-900), var(--forest-700));
    border: 1px solid rgba(216,170,73,.35);
    border-radius: 16px;
}
.social-card:nth-child(2) { color: var(--forest-950); background: linear-gradient(135deg, #f5d86e, #d9aa35); }
.social-card:nth-child(3) { background: linear-gradient(135deg, #171717, #363636); }
.social-card:nth-child(4) { background: linear-gradient(135deg, #152545, #3066ad); }
.social-card strong { font-family: "Arial Narrow", Impact, Arial, sans-serif; font-size: 1.7rem; text-transform: uppercase; }
.social-card span { opacity: .8; font-size: .82rem; }

.page-hero {
    color: #fff;
    background:
        radial-gradient(circle at 80% 20%, rgba(216,170,73,.18), transparent 30%),
        linear-gradient(135deg, var(--forest-950), var(--forest-800));
    border-bottom: 1px solid rgba(216,170,73,.35);
}
.page-hero .container { padding-block: 72px; }
.page-hero h1 { max-width: 900px; font-size: clamp(3.5rem, 7vw, 6.5rem); }
.page-hero p { max-width: 720px; color: rgba(255,255,255,.72); font-size: 1.08rem; }

.shop-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 32px; }
.filters {
    align-self: start;
    position: sticky;
    top: 116px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e4ddcf;
    border-radius: 16px;
}
.filters h3 { font-size: 1.6rem; }
.filter-list { display: grid; gap: 6px; margin-top: 12px; }
.filter-list a { padding: 10px 11px; border-radius: 8px; font-size: .86rem; font-weight: 700; }
.filter-list a:hover, .filter-list a.active { color: #fff; background: var(--forest-800); }
.search-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-bottom: 20px; }
.search-form input { min-width: 0; }

.form-control,
input[type="text"], input[type="email"], input[type="password"], input[type="number"],
input[type="tel"], input[type="datetime-local"], select, textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    color: var(--ink-950);
    background: #fff;
    border: 1px solid #cfc8ba;
    border-radius: 9px;
    outline: none;
}
textarea { min-height: 130px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--forest-600); box-shadow: 0 0 0 3px rgba(37,99,59,.13); }
label { display: grid; gap: 7px; font-size: .82rem; font-weight: 800; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.form-grid .full { grid-column: 1 / -1; }
.form-help { color: var(--ink-600); font-size: .76rem; font-weight: 500; }
.checkbox-line { display: flex; align-items: center; gap: 9px; }
.checkbox-line input { width: 18px; height: 18px; }

.product-detail { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); gap: 48px; align-items: start; }
.product-gallery { display: grid; gap: 12px; }
.product-gallery__main { overflow: hidden; aspect-ratio: 4/3; background: #eee9dd; border-radius: 20px; }
.product-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.product-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.product-thumbs button { padding: 0; overflow: hidden; aspect-ratio: 1; background: #eee; border: 2px solid transparent; border-radius: 10px; }
.product-thumbs button.active { border-color: var(--gold-500); }
.product-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.product-detail__info { position: sticky; top: 120px; }
.product-detail__info h1 { font-size: clamp(2.8rem, 5vw, 4.8rem); }
.detail-kicker { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.detail-kicker span { padding: 7px 10px; color: var(--forest-800); background: #e9f0e9; border-radius: 999px; font-size: .7rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.detail-price { display: flex; align-items: baseline; gap: 13px; margin: 20px 0; }
.detail-price strong { color: var(--forest-900); font-family: "Arial Narrow", Impact, Arial, sans-serif; font-size: 3rem; }
.detail-price del { color: #81847d; font-size: 1.1rem; }
.purchase-box { display: grid; gap: 13px; margin: 24px 0; padding: 20px; background: var(--cream-100); border: 1px solid #ded5c4; border-radius: 16px; }
.purchase-row { display: grid; grid-template-columns: 110px 1fr; gap: 10px; }
.stock-line { color: var(--green); font-weight: 800; }
.product-description { color: var(--ink-600); font-size: 1rem; }
.spec-list { display: grid; gap: 0; margin: 20px 0; border: 1px solid #e1dacd; border-radius: 12px; overflow: hidden; }
.spec-list div { display: grid; grid-template-columns: 150px 1fr; gap: 14px; padding: 12px 14px; border-bottom: 1px solid #e9e3d7; }
.spec-list div:last-child { border-bottom: 0; }
.spec-list strong { font-size: .8rem; }
.spec-list span { color: var(--ink-600); }

.auction-detail { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: 48px; }
.bid-panel { position: sticky; top: 120px; padding: 24px; color: #fff; background: linear-gradient(135deg, var(--forest-950), var(--forest-800)); border: 1px solid rgba(216,170,73,.4); border-radius: 20px; box-shadow: var(--shadow-dark); }
.bid-panel h1 { font-size: clamp(2.7rem, 5vw, 4.5rem); }
.bid-current { display: grid; grid-template-columns: 1fr auto; gap: 18px; margin: 20px 0; padding: 18px 0; border-block: 1px solid rgba(255,255,255,.16); }
.bid-current span { color: rgba(255,255,255,.62); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.bid-current strong { display: block; color: var(--gold-300); font-family: "Arial Narrow", Impact, Arial, sans-serif; font-size: 2.4rem; }
.bid-form { display: grid; gap: 12px; }
.bid-form input { background: #fff; }
.bid-login-note { padding: 14px; color: var(--forest-950); background: var(--gold-300); border-radius: 10px; font-weight: 700; }
.bid-history { margin-top: 30px; }
.bid-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 13px 0; border-bottom: 1px solid #e1dacd; }
.bid-row strong { display: block; }
.bid-row span { color: var(--ink-600); font-size: .78rem; }

.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 34px; align-items: start; }
.cart-list { display: grid; gap: 14px; }
.cart-item { display: grid; grid-template-columns: 130px 1fr 120px; gap: 18px; align-items: center; padding: 16px; background: #fff; border: 1px solid #e2dbce; border-radius: 15px; }
.cart-item img { width: 130px; height: 100px; object-fit: cover; border-radius: 10px; }
.cart-summary { position: sticky; top: 120px; padding: 22px; color: #fff; background: var(--forest-900); border-radius: 18px; }
.cart-summary__row { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.cart-summary__total { font-size: 1.25rem; font-weight: 900; }

.auth-wrap { width: min(100% - 40px, 520px); margin: 70px auto; }
.auth-card { padding: 30px; background: #fff; border: 1px solid #e1dacd; border-radius: 20px; box-shadow: var(--shadow); }
.auth-card h1 { font-size: 3.2rem; }
.auth-card form { display: grid; gap: 16px; }
.auth-links { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; font-size: .86rem; font-weight: 700; }

.account-grid { display: grid; grid-template-columns: 280px 1fr; gap: 30px; }
.account-card { padding: 22px; background: #fff; border: 1px solid #e1dacd; border-radius: 16px; }
.account-card h3 { font-size: 1.8rem; }
.order-card { margin-bottom: 14px; padding: 18px; background: #fff; border: 1px solid #e1dacd; border-radius: 14px; }
.status-pill { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: #e9efe9; color: var(--forest-700); font-size: .69rem; font-weight: 900; text-transform: uppercase; }

.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; }
.contact-card { padding: 28px; color: #fff; background: linear-gradient(135deg, var(--forest-950), var(--forest-800)); border-radius: 20px; }
.contact-card a { display: block; margin-top: 12px; color: var(--gold-300); font-weight: 800; }
.contact-form { padding: 28px; background: #fff; border: 1px solid #e1dacd; border-radius: 20px; box-shadow: var(--shadow); }

.empty-state { padding: 50px 24px; text-align: center; background: #fff; border: 1px dashed #cfc7b8; border-radius: 18px; }
.empty-state h2 { font-size: 2.7rem; }

.newsletter-band { padding: 48px 0; color: #fff; background: #8b4a25; }
.newsletter-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.newsletter-band .eyebrow { color: #fff; }
.newsletter-band .eyebrow::before { background: var(--gold-300); }
.newsletter-band h2 { margin: 7px 0; font-size: 3rem; }
.newsletter-band p { margin: 0; color: rgba(255,255,255,.78); }
.newsletter-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.site-footer { padding: 58px 0 28px; color: rgba(255,255,255,.72); background: var(--forest-950); }
.footer-grid { display: grid; grid-template-columns: 1.3fr .7fr 1fr .8fr; gap: 40px; }
.footer-brand img { width: 150px; margin-bottom: 16px; }
.site-footer h3 { color: #fff; font-size: 1.35rem; }
.site-footer a { display: block; width: fit-content; margin: 8px 0; }
.site-footer a:hover { color: var(--gold-300); }
.owner-link { margin-top: 18px !important; color: var(--gold-300); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: .78rem; }
.mobile-dock { display: none; }

.pagination { display: flex; gap: 8px; margin-top: 30px; }
.pagination a, .pagination span { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border: 1px solid #d8d1c3; border-radius: 8px; font-weight: 700; }
.pagination .active { color: #fff; background: var(--forest-800); border-color: var(--forest-800); }

@media (max-width: 1060px) {
    .main-nav { gap: 0; }
    .main-nav a { padding-inline: 9px; font-size: .8rem; }
    .hero-inner { grid-template-columns: 1fr .55fr; gap: 30px; min-height: 580px; }
    .category-grid, .product-grid, .auction-grid { grid-template-columns: repeat(2, 1fr); }
    .social-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
    .footer-grid > div:last-child { grid-column: 2 / -1; }
}
@media (max-width: 780px) {
    .container { width: min(calc(100% - 24px), var(--container)); }
    .announcement-bar .container { justify-content: center; text-align: center; }
    .announcement-links { display: none; }
    .header-inner { min-height: 72px; }
    .brand img { width: 52px; height: 52px; }
    .brand strong { font-size: 1.5rem; }
    .nav-toggle {
        display: grid;
        grid-template-columns: 24px auto;
        align-items: center;
        gap: 3px 8px;
        padding: 8px 10px;
        color: #fff;
        background: transparent;
        border: 1px solid rgba(255,255,255,.25);
        border-radius: 8px;
    }
    .nav-toggle span { grid-column: 1; height: 2px; background: currentColor; }
    .nav-toggle b { grid-column: 2; grid-row: 1 / span 3; font-size: .75rem; }
    .main-nav {
        position: fixed;
        inset: 110px 12px auto;
        display: none;
        flex-direction: column;
        align-items: stretch;
        padding: 12px;
        background: var(--forest-950);
        border: 1px solid rgba(216,170,73,.4);
        border-radius: 14px;
        box-shadow: var(--shadow-dark);
    }
    .main-nav.open { display: flex; }
    .main-nav a { padding: 14px; font-size: .95rem; }
    .hero-inner { min-height: 0; grid-template-columns: 1fr; padding-block: 62px 95px; }
    .hero-logo-panel { display: none; }
    .hero-copy h1 { font-size: clamp(4rem, 18vw, 6rem); }
    .category-strip { margin-top: -40px; }
    .category-grid { grid-template-columns: 1fr 1fr; }
    .category-card { min-height: 210px; }
    .section { padding: 62px 0; }
    .section-head { align-items: start; flex-direction: column; }
    .product-grid, .auction-grid, .news-grid { grid-template-columns: 1fr 1fr; }
    .shop-layout, .product-detail, .auction-detail, .cart-layout, .contact-grid, .account-grid { grid-template-columns: 1fr; }
    .filters, .product-detail__info, .bid-panel, .cart-summary { position: static; }
    .filters { display: none; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .full { grid-column: auto; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid > div:last-child { grid-column: auto; }
    .newsletter-inner { align-items: start; flex-direction: column; }
    .cart-item { grid-template-columns: 100px 1fr; }
    .cart-item img { width: 100px; height: 90px; }
    .cart-item > :last-child { grid-column: 2; }
    .mobile-dock {
        position: fixed;
        z-index: 90;
        inset: auto 0 0;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        padding: 9px 8px max(9px, env(safe-area-inset-bottom));
        color: #fff;
        background: rgba(7,20,13,.98);
        border-top: 1px solid rgba(216,170,73,.35);
    }
    .mobile-dock a { padding: 8px 4px; text-align: center; font-size: .74rem; font-weight: 800; }
    body { padding-bottom: 64px; }
}
@media (max-width: 560px) {
    .category-grid, .product-grid, .auction-grid, .news-grid, .social-grid { grid-template-columns: 1fr; }
    .category-card { min-height: 250px; }
    .hero-actions, .newsletter-actions { display: grid; width: 100%; }
    .hero-actions .btn, .newsletter-actions .btn { width: 100%; }
    .hero-points { display: grid; gap: 8px; }
    .product-card__actions { grid-template-columns: 1fr; }
    .product-card__actions form { display: block; }
    .product-card__actions form .btn { width: 100%; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; }
    .product-thumbs { grid-template-columns: repeat(4, 1fr); }
    .purchase-row { grid-template-columns: 1fr; }
}

/* Marketplace Pro additions */
.home-news-top { padding-top: 70px; }
.category-strip--normal { margin-top: 0; padding: 76px 0; background: #f7f4ec; }
.category-strip--normal .category-card__content p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: rgba(255,255,255,.78); font-weight: 600; }
.product-card--seller { border-color: rgba(216,170,73,.75); box-shadow: 0 12px 35px rgba(88,67,18,.12); }
.seller-byline { display: block; margin: 6px 0; color: #82621b; font-size: .76rem; font-weight: 900; }
.seller-callout { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 16px 0; padding: 14px; background: #fff7dc; border: 1px solid #e7cf7b; border-radius: 12px; }
.seller-callout > div { display: grid; }
.seller-callout small { color: #796522; font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.seller-callout strong { font-size: 1.15rem; }
.seller-callout span { color: var(--ink-600); font-size: .8rem; }
.seller-toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.seller-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin: 24px 0; }
.seller-stats .stat-card { padding: 20px; background: #fff; border: 1px solid #ded8ca; border-radius: 14px; box-shadow: 0 8px 25px rgba(16,34,20,.05); }
.seller-stats .stat-card span { color: #656a62; font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.seller-stats .stat-card strong { display: block; margin-top: 6px; color: var(--forest-900); font-family: "Arial Narrow",Impact,Arial,sans-serif; font-size: 2.5rem; }
.seller-panel { margin-top: 24px; padding: 24px; background: #fff; border: 1px solid #ded8ca; border-radius: 16px; }
.secure-payment-note { margin-top: 14px; padding: 12px; color: #31543b; background: #eef8f0; border: 1px solid #bcd8c1; border-radius: 9px; font-size: .8rem; }
.contact-product-image { width: 100%; max-height: 260px; object-fit: cover; margin: 12px 0; border-radius: 12px; }
.message-list { display: grid; gap: 16px; }

/* Tables used by approved sellers outside the owner panel */
.table-wrap { overflow-x: auto; background: #fff; border: 1px solid #d9ddd5; border-radius: 14px; }
.admin-table { width: 100%; border-collapse: collapse; font-size: .83rem; }
.admin-table th,.admin-table td { padding: 12px 13px; text-align: left; border-bottom: 1px solid #e6e9e3; vertical-align: middle; }
.admin-table th { color: #5d625a; background: #f4f6f2; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.admin-table img { width: 68px; height: 50px; object-fit: cover; border-radius: 8px; }
.table-title { min-width: 210px; }
.table-title strong,.table-title small { display: block; }
.table-title small { color: #72766f; }
.table-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.table-actions form { display: contents; }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 6px 9px; border: 1px solid #cfd4cc; border-radius: 7px; background: #fff; font-size: .74rem; font-weight: 800; }
.icon-btn:hover { color:#fff; background:var(--forest-800); border-color:var(--forest-800); }
.icon-btn.danger:hover { background:#a73327; border-color:#a73327; }

@media (max-width: 900px) {
    .seller-stats { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 560px) {
    .seller-stats { grid-template-columns: 1fr; }
    .seller-callout { align-items: flex-start; flex-direction: column; }
    .category-strip--normal { padding: 58px 0; }
}

/* Marketplace auction expansion */
.auction-editor fieldset { margin: 0; padding: 0; border: 0; }
.auction-editor fieldset:disabled { opacity: .72; }
.auction-detail--marketplace { align-items: start; }
.marketplace-bid-panel { display: grid; gap: 14px; }
.marketplace-bid-panel h1 { margin: 0; }
.auction-description-card { margin-top: 24px; padding: 26px; background: #fff; border: 1px solid #e1dacd; border-radius: 18px; box-shadow: var(--shadow); }
.auction-description-card h2 { margin-top: 28px; font-size: 2rem; }
.auction-description-card h2:first-child { margin-top: 0; }
.auction-seller-box { display: grid; gap: 2px; padding: 13px 15px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); border-radius: 12px; }
.auction-seller-box span,.auction-seller-box small { color: rgba(255,255,255,.65); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.auction-seller-box a,.auction-seller-box strong { color: var(--gold-300); font-size: 1.08rem; font-weight: 900; }
.auction-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.auction-meta span { padding: 6px 9px; color: #fff; background: rgba(255,255,255,.08); border-radius: 999px; font-size: .72rem; font-weight: 800; }
.reserve-line { width: fit-content; padding: 7px 10px; border-radius: 999px; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.reserve-met { color: #dff5d0; background: rgba(91,155,60,.28); }
.reserve-not-met { color: #ffe6aa; background: rgba(216,170,73,.2); }
.watch-form { margin: 0; }
.buy-now-box,.winner-box,.auction-protection { padding: 17px; border-radius: 13px; }
.buy-now-box { color: var(--forest-950); background: var(--gold-300); }
.buy-now-box span { font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.buy-now-box strong { display: block; margin: 4px 0; font-family: "Arial Narrow",Impact,Arial,sans-serif; font-size: 2.25rem; }
.buy-now-box p { color: #493a14; }
.winner-box { color: var(--forest-950); background: #e8f4db; border: 1px solid #bad095; }
.winner-box h2 { margin: 5px 0; font-size: 2rem; }
.auction-protection { color: rgba(255,255,255,.78); background: rgba(0,0,0,.16); border: 1px solid rgba(255,255,255,.1); }
.auction-protection strong { color: #fff; }
.auction-protection p { margin-bottom: 0; font-size: .78rem; }
.auction-buy-now-line { display: flex; justify-content: space-between; gap: 12px; margin: 8px 0 2px; padding: 8px 10px; color: var(--forest-900); background: #f3e2aa; border-radius: 8px; font-size: .8rem; font-weight: 900; }
.checkout-item-image { width: 100%; max-height: 220px; object-fit: cover; margin-bottom: 14px; border-radius: 12px; }
.auction-activity-card { border-left: 5px solid var(--gold-500); }
.bid-winning { color: #27733d; font-weight: 900; }
.bid-outbid { color: #a33b31; font-weight: 900; }
.account-watch-grid { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 42px; }
.auction-state--pending,.auction-state--payment_pending { background: #886314; }
.auction-state--ended,.auction-state--closed,.auction-state--paid { background: #35463b; }
.auction-state--rejected,.auction-state--cancelled { background: #8f3027; }
.form-section { grid-column: 1 / -1; margin-top: 12px; padding-top: 22px; border-top: 1px solid #e4ded2; }
.form-section:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.form-section h2 { margin-bottom: 5px; }
.form-section p { margin: 0; color: var(--ink-600); }

@media (max-width: 780px) {
    .account-watch-grid { grid-template-columns: 1fr 1fr; }
    .auction-description-card { padding: 20px; }
}
@media (max-width: 560px) {
    .account-watch-grid { grid-template-columns: 1fr; }
}

/* Seller Auctions Edition: eBay-style auction discovery */
.auction-market-section{padding-top:42px}
.auction-search-panel{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(145px,.72fr)) auto;gap:12px;align-items:end;padding:18px;margin-bottom:30px;border:1px solid rgba(237,211,143,.23);border-radius:20px;background:rgba(0,0,0,.2);box-shadow:0 18px 48px rgba(0,0,0,.18)}
.auction-search-panel label{display:grid;gap:7px;color:#f7f0df;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.auction-search-panel input,.auction-search-panel select{width:100%;min-height:48px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#f7f2e7;color:#10291d;padding:0 13px;font:inherit;text-transform:none;letter-spacing:normal;font-weight:700}
.auction-search-panel input:focus,.auction-search-panel select:focus{outline:3px solid rgba(238,204,105,.28);border-color:#e7c765}
.auction-search-panel .btn{min-height:48px;white-space:nowrap}
.auction-results-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 24px}
.auction-results-head h2{margin:4px 0 0;color:#fff;font-size:clamp(1.8rem,3vw,3rem)}
@media (max-width:1100px){.auction-search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.auction-search-panel__query{grid-column:1/-1}.auction-search-panel .btn{width:100%}}
@media (max-width:640px){.auction-search-panel{grid-template-columns:1fr;padding:14px}.auction-search-panel__query{grid-column:auto}.auction-results-head{align-items:flex-start;flex-direction:column}}

/* Mobile app / PWA */
.nav-app-link {
    color: var(--forest-950) !important;
    background: var(--gold-400);
}
.nav-app-link:hover { background: var(--gold-300) !important; }

.app-install-banner {
    position: fixed;
    z-index: 120;
    left: 50%;
    bottom: 22px;
    width: min(calc(100% - 28px), 760px);
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) auto auto;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    color: #fff;
    background: rgba(7,20,13,.97);
    border: 1px solid rgba(235,201,114,.55);
    border-radius: 18px;
    box-shadow: 0 22px 65px rgba(0,0,0,.42);
    backdrop-filter: blur(14px);
}
.app-install-banner[hidden] { display: none; }
.app-install-banner img { width: 58px; height: 58px; border-radius: 13px; }
.app-install-banner div { display: grid; }
.app-install-banner strong { font-size: .96rem; }
.app-install-banner span { color: rgba(255,255,255,.68); font-size: .76rem; }
.app-banner-close, .app-modal-close {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    color: rgba(255,255,255,.72);
    background: transparent;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    font-size: 1.25rem;
}

.app-install-modal {
    position: fixed;
    z-index: 150;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(0,0,0,.74);
    backdrop-filter: blur(8px);
}
.app-install-modal[hidden] { display: none; }
.app-install-modal__card {
    position: relative;
    width: min(100%, 430px);
    padding: 30px;
    color: var(--ink-950);
    background: var(--cream-50);
    border: 1px solid var(--gold-500);
    border-radius: 24px;
    box-shadow: var(--shadow-dark);
    text-align: center;
}
.app-install-modal__card > img { width: 96px; margin: 0 auto 18px; border-radius: 20px; }
.app-install-modal__card h2 { font-size: 2.2rem; }
.app-install-modal__card ol { display: grid; gap: 10px; margin: 20px 0; padding-left: 24px; text-align: left; }
.app-modal-close { position: absolute; top: 14px; right: 14px; color: var(--ink-800); border-color: #d7d0c2; }

.app-page-hero {
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 82% 22%, rgba(216,170,73,.22), transparent 29%),
        linear-gradient(135deg, #061109 0%, #0d2819 55%, #17442a 100%);
    border-bottom: 1px solid rgba(216,170,73,.38);
}
.app-page-hero__inner {
    min-height: 690px;
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(340px,.75fr);
    align-items: center;
    gap: 70px;
    padding-block: 72px;
}
.app-page-copy h1 { max-width: 820px; margin: 18px 0 22px; font-size: clamp(4rem, 8vw, 7.4rem); }
.app-page-copy > p { max-width: 720px; color: rgba(255,255,255,.78); font-size: 1.12rem; }
.app-page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.app-trust-row { display: flex; flex-wrap: wrap; gap: 18px; color: var(--gold-300); font-size: .82rem; font-weight: 800; }
.app-phone-preview { display: grid; place-items: center; }
.app-phone-shell {
    position: relative;
    width: min(100%, 330px);
    aspect-ratio: 9/18.6;
    padding: 12px;
    background: #050806;
    border: 2px solid #a88a48;
    border-radius: 48px;
    box-shadow: 0 35px 90px rgba(0,0,0,.55), inset 0 0 0 2px rgba(255,255,255,.06);
    transform: rotate(4deg);
}
.app-phone-notch { position: absolute; z-index: 3; left: 50%; top: 18px; width: 42%; height: 25px; transform: translateX(-50%); background: #050806; border-radius: 0 0 16px 16px; }
.app-phone-screen {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 22px;
    text-align: center;
    background:
        linear-gradient(rgba(7,20,13,.76),rgba(7,20,13,.94)),
        url('../images/hero.webp') center/cover;
    border-radius: 37px;
}
.app-phone-logo { width: 145px; border-radius: 28px; box-shadow: 0 18px 45px rgba(0,0,0,.48); }
.app-phone-screen > strong { margin-top: 20px; font-family: "Arial Narrow",Impact,Arial,sans-serif; font-size: 2.2rem; text-transform: uppercase; }
.app-phone-screen > span { color: var(--gold-300); font-size: .8rem; font-weight: 800; text-transform: uppercase; }
.app-phone-buttons { width: 100%; display: grid; gap: 10px; margin-top: 34px; }
.app-phone-buttons b { padding: 12px; color: var(--forest-950); background: var(--gold-400); border-radius: 10px; font-size: .74rem; }

.app-download-section { background: var(--cream-100); }
.app-platform-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.app-platform-card {
    display: grid;
    grid-template-columns: 76px 1fr;
    align-items: start;
    gap: 20px;
    padding: 28px;
    background: #fff;
    border: 1px solid #ded5c4;
    border-radius: 22px;
    box-shadow: var(--shadow);
}
.app-platform-icon { display: grid; place-items: center; width: 76px; height: 76px; color: #fff; background: var(--forest-900); border-radius: 20px; font-size: 2.4rem; }
.app-platform-card--android .app-platform-icon { color: var(--forest-950); background: var(--gold-400); }
.app-platform-kicker { color: var(--forest-600); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.app-platform-card h3 { margin: 6px 0 8px; font-size: 2.5rem; }
.app-platform-card p { color: var(--ink-600); }
.app-platform-card > .btn, .app-platform-card > .app-store-badge, .app-platform-card > .app-direct-link, .app-platform-card > .app-platform-note { grid-column: 1 / -1; }
.app-store-badge { display: grid; width: 100%; padding: 12px 18px; color: #fff; background: #080808; border-radius: 12px; text-align: center; }
.app-store-badge small { font-size: .68rem; }
.app-store-badge strong { font-size: 1.35rem; }
.app-direct-link { color: var(--forest-700); font-size: .82rem; font-weight: 800; text-align: center; }
.app-platform-note { color: var(--ink-600); font-size: .76rem; text-align: center; }
.app-feature-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.app-feature-grid article { padding: 24px; border: 1px solid rgba(216,170,73,.28); border-radius: 18px; background: rgba(255,255,255,.045); }
.app-feature-grid article > span { color: var(--gold-400); font-family: "Arial Narrow",Impact,Arial,sans-serif; font-size: 2.4rem; }
.app-feature-grid h3 { margin-top: 15px; color: #fff; font-size: 1.75rem; }
.app-feature-grid p { color: rgba(255,255,255,.67); font-size: .88rem; }

@media (max-width: 900px) {
    .app-page-hero__inner { grid-template-columns: 1fr .55fr; gap: 30px; }
    .app-feature-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 780px) {
    .mobile-dock { grid-template-columns: repeat(5,1fr); }
    .app-install-banner { bottom: 78px; grid-template-columns: 50px minmax(0,1fr) auto; }
    .app-install-banner img { width: 50px; height: 50px; }
    .app-install-banner .app-banner-close { position: absolute; right: -6px; top: -12px; background: var(--forest-950); }
    .app-install-banner span { display: none; }
    .app-page-hero__inner { grid-template-columns: 1fr; min-height: 0; padding-block: 64px; }
    .app-phone-preview { display: none; }
    .app-platform-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .app-install-banner { grid-template-columns: 44px minmax(0,1fr); }
    .app-install-banner img { width: 44px; height: 44px; }
    .app-install-banner .btn { grid-column: 1/-1; width: 100%; }
    .app-page-copy h1 { font-size: clamp(3.8rem,19vw,5.8rem); }
    .app-page-actions { display: grid; }
    .app-feature-grid { grid-template-columns: 1fr; }
    .app-platform-card { grid-template-columns: 58px 1fr; padding: 22px; }
    .app-platform-icon { width: 58px; height: 58px; border-radius: 15px; font-size: 1.8rem; }
}
.legal-page { width: min(calc(100% - 40px), 900px); }
.legal-page h2 { margin-top: 34px; font-size: 2.15rem; }
.legal-page p { color: var(--ink-600); font-size: 1rem; }
.legal-page a { color: var(--forest-700); }
.legal-note { margin-top: 34px; padding: 16px 18px; background: var(--cream-100); border-left: 4px solid var(--gold-500); border-radius: 8px; }
.footer-bottom a { display: inline; margin: 0; }


/* ---------- Admin-controlled holiday themes and homepage layouts ---------- */
:root{
    --theme-primary:#0b1f14;--theme-secondary:#12331f;--theme-accent:#ebc972;
    --theme-surface:#fffdf7;--theme-surface-alt:#f6f0e3;--theme-text:#111310;
}
body[class*="theme-"]{color:var(--theme-text);background:var(--theme-surface)}
body[class*="theme-"] .announcement-bar,body[class*="theme-"] .site-header{background:color-mix(in srgb,var(--theme-primary) 96%,transparent)}
body[class*="theme-"] .brand small,body[class*="theme-"] .announcement-links,body[class*="theme-"] .hero-copy .eyebrow,body[class*="theme-"] .hero-copy h1 span{color:var(--theme-accent)}
body[class*="theme-"] .btn-gold,body[class*="theme-"] .nav-count,body[class*="theme-"] .category-card .count-pill{color:var(--theme-primary);background:var(--theme-accent);border-color:var(--theme-accent)}
body[class*="theme-"] .section--cream{background:var(--theme-surface-alt)}
body[class*="theme-"] .section--dark{background:radial-gradient(circle at 90% 0%,color-mix(in srgb,var(--theme-accent) 18%,transparent),transparent 34%),linear-gradient(135deg,var(--theme-primary),var(--theme-secondary))}
body[class*="theme-"] .eyebrow{color:var(--theme-secondary)}
body[class*="theme-"] .eyebrow::before{background:var(--theme-accent)}
body[class*="theme-"] .hero{background-image:linear-gradient(90deg,color-mix(in srgb,var(--theme-primary) 98%,transparent) 0%,color-mix(in srgb,var(--theme-primary) 84%,transparent) 46%,color-mix(in srgb,var(--theme-primary) 20%,transparent) 80%),var(--seasonal-hero-image,url("../images/hero.webp"));}
.seasonal-site-banner{position:relative;z-index:49;padding:10px 20px;color:#fff;background:linear-gradient(90deg,var(--theme-secondary),var(--theme-primary),var(--theme-secondary));border-bottom:1px solid color-mix(in srgb,var(--theme-accent) 55%,transparent);text-align:center;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.theme-effect-layer{position:fixed;inset:0;z-index:90;overflow:hidden;pointer-events:none}
.theme-particle{position:absolute;top:-12vh;animation:theme-fall linear infinite;opacity:.78;text-shadow:0 2px 4px rgba(0,0,0,.2)}
@keyframes theme-fall{to{transform:translate3d(var(--drift,20px),115vh,0) rotate(540deg)}}
body.layout-compact .section{padding:54px 0}body.layout-compact .hero-inner{min-height:520px}body.layout-compact .category-card{min-height:210px}
body.layout-wide{--container:1480px}body.layout-wide .hero-inner{grid-template-columns:1.25fr .55fr}
body.layout-magazine .home-section--categories .category-grid{grid-template-columns:2fr 1fr 1fr}body.layout-magazine .home-section--categories .category-card:first-child{grid-row:span 2;min-height:524px}
body.layout-dramatic .hero{clip-path:polygon(0 0,100% 0,100% 94%,62% 100%,0 95%)}body.layout-dramatic .hero-copy h1{font-size:clamp(4.3rem,9vw,9rem)}
body.layout-festive .hero-logo-panel{padding:28px;border:1px solid color-mix(in srgb,var(--theme-accent) 55%,transparent);border-radius:50%;background:color-mix(in srgb,var(--theme-primary) 70%,transparent)}body.layout-festive .category-card{border-radius:28px}
body.layout-warm .product-card,body.layout-warm .category-card{border-radius:8px}body.layout-warm .hero-logo-panel .stamp{background:var(--theme-secondary)}
body.layout-bright .site-header{box-shadow:0 10px 30px color-mix(in srgb,var(--theme-primary) 18%,transparent)}body.layout-bright .category-card{border-width:3px}
body.layout-bold .hero-copy h1 span{color:#fff;text-decoration:underline;text-decoration-color:var(--theme-accent);text-decoration-thickness:.08em}
.home-section{position:relative}.home-section[hidden]{display:none!important}
.coupon-popup[hidden]{display:none}.coupon-popup{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:20px;background:rgba(5,10,7,.72);backdrop-filter:blur(8px)}
.coupon-popup__card{position:relative;width:min(560px,100%);overflow:hidden;padding:34px;color:#fff;background:linear-gradient(145deg,var(--theme-primary),var(--theme-secondary));border:2px dashed var(--theme-accent);border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.45);text-align:center}
.coupon-popup__card::before{content:"";position:absolute;inset:-70px auto auto -70px;width:180px;height:180px;border:35px solid color-mix(in srgb,var(--theme-accent) 20%,transparent);border-radius:50%}
.coupon-popup__card h2{font-size:clamp(2.2rem,6vw,4.4rem)}.coupon-popup__code{display:inline-block;margin:12px 0 20px;padding:10px 20px;color:var(--theme-primary);background:var(--theme-accent);border-radius:10px;font-family:monospace;font-size:1.35rem;font-weight:900;letter-spacing:.12em}.coupon-popup__close{position:absolute;right:14px;top:10px;color:#fff;background:transparent;border:0;font-size:2rem}
.rewards-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;color:var(--theme-primary);background:var(--theme-accent);border-radius:999px;font-weight:900}.rewards-panel{padding:22px;background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary));color:#fff;border-radius:18px}.rewards-panel strong{color:var(--theme-accent);font-size:2rem}.checkout-discount-box{margin:18px 0;padding:18px;background:var(--theme-surface-alt);border:1px solid color-mix(in srgb,var(--theme-secondary) 20%,transparent);border-radius:14px}.checkout-discount-box .form-grid{align-items:end}.discount-line{color:#176b38}.discount-line strong{color:#176b38}
@media(max-width:900px){body.layout-magazine .home-section--categories .category-grid{grid-template-columns:repeat(2,1fr)}body.layout-magazine .home-section--categories .category-card:first-child{grid-row:auto;min-height:255px}}
@media(max-width:620px){.seasonal-site-banner{font-size:.72rem}.coupon-popup__card{padding:28px 20px}.theme-particle{font-size:.8em}}
