:root {
  --red: #b8100f;
  --red-deep: #760706;
  --ink: #141210;
  --paper: #f2ede5;
  --cream: #fff9ef;
  --muted: #9d958b;
  --line: rgba(20, 18, 16, .14);
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --ease-in-out: cubic-bezier(.77, 0, .175, 1);
  --ease-drawer: cubic-bezier(.32, .72, 0, 1);
  color-scheme: light;
  font-family: Manrope, Inter, "Nunito Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--ink);
  scrollbar-width: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
}
html::-webkit-scrollbar, body::-webkit-scrollbar, dialog::-webkit-scrollbar { display: none; }

body {
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--paper);
  font-size: 1rem;
  line-height: 1.5;
}

main { position: relative; isolation: isolate; }
.skip-link { position:fixed; z-index:1100; top:.75rem; left:.75rem; padding:.7rem 1rem; border-radius:.75rem; background:var(--cream); color:var(--ink); font-weight:800; transform:translateY(-180%); transition:transform .18s var(--ease-out); }
.skip-link:focus { transform:translateY(0); }

.scroll-thread {
  position: absolute;
  z-index: 1;
  left: 0;
  width: 100%;
  overflow: visible;
  pointer-events: none;
}
.scroll-thread path { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.scroll-thread-glow { stroke: rgba(240,181,45,.08); stroke-width: 13; filter: blur(5px); }
.scroll-thread-line { stroke: url(#threadGradient); stroke-width: 2.25; }
.section-dark > :not(.sticky-label), .catalog-section > * { position: relative; z-index: 2; }
.section-dark > .sticky-label { z-index: 2; }

body.locked { overflow: hidden; }
button, input, textarea, select { font: inherit; }
button, a, [role="button"] { touch-action:manipulation; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid #ffcf70;
  outline-offset: 3px;
}

.noise {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}

.site-header {
  position: fixed;
  z-index: 80;
  top: 1.4rem;
  left: 2.25rem;
  right: 2.25rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  color: white;
  transition: transform .42s var(--ease-drawer), opacity .25s var(--ease-out), color .25s ease;
  will-change: transform;
}

.site-header.hidden { transform: translateY(-140%); opacity: 0; }
.site-header.on-light { color: var(--ink); }

.brand { display: flex; align-items: center; gap: .65rem; width: fit-content; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 1.2rem;
  font-weight: 800;
}
.brand-name { font-size: .72rem; line-height: 1.05; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }

.nav-pill {
  display: flex;
  align-items: center;
  gap: .25rem;
  padding: .35rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(20, 12, 10, .28);
  box-shadow: inset 0 1px rgba(255,255,255,.22), 0 14px 40px rgba(0,0,0,.14);
  backdrop-filter: blur(22px) saturate(150%);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
}
.site-header.on-light .nav-pill { background: rgba(246,241,233,.72); border-color: rgba(20,18,16,.08); }
.nav-pill a { padding: .75rem .9rem; border-radius: 999px; font-size: .84rem; font-weight: 620; transition: color .18s ease, background-color .18s ease; }
.nav-pill a:hover { background: rgba(255,255,255,.16); }
.site-header.on-light .nav-pill a:hover { background: rgba(0,0,0,.06); }

.menu-dot, .nav-account, .icon-button {
  border: 0;
  cursor: pointer;
}
.menu-dot {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: white;
}
.menu-dot svg { width:1.35rem; fill:var(--ink); }
.nav-account {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  color: white;
  background: rgba(255,255,255,.09);
}
.site-header.on-light .nav-account { color: var(--ink); background: rgba(0,0,0,.05); }
.nav-account svg { width: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; }

.hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  color: white;
  background: var(--red-deep);
}
.hero-bg {
  position: absolute;
  z-index: -3;
  inset: 0;
  background:var(--red-deep) url("accets/hero-wide.webp") center bottom / cover no-repeat;
  overflow:hidden;
}
.hero-shade {
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(180deg, rgba(54,0,0,.08), rgba(54,0,0,0) 45%, rgba(22,4,0,.32) 100%), radial-gradient(circle at 50% 34%, rgba(255,72,54,.18), transparent 42%);
}
.hero::after { content:""; position:absolute; z-index:-1; inset:0; background: linear-gradient(90deg, rgba(39,0,0,.18), transparent 25%, transparent 75%, rgba(39,0,0,.15)); }
.hero-kicker {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  font-size: clamp(.75rem, 1.1vw, 1rem);
  letter-spacing: .18em;
  text-transform: uppercase;
  text-align: center;
  color: rgba(255,255,255,.7);
}
.hero-kicker.reveal { transform: translate(-50%, 28px); }
.hero-kicker.reveal.is-visible { transform: translate(-50%, 0); }
.hero-title {
  position: absolute;
  top: 24%;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  margin: 0;
  text-align: center;
  font-size: clamp(4.5rem, 14vw, 13.8rem);
  font-weight: 800;
  letter-spacing: -.075em;
  line-height: .7;
  text-transform: uppercase;
  white-space: nowrap;
}
.hero-title.reveal { transform: translate(-50%, 28px); }
.hero-title.reveal.is-visible { transform: translate(-50%, 0); }
.hero-title span { display: block; margin-bottom: .3em; font-size: .31em; letter-spacing: -.025em; font-weight: 700; color: rgba(255,255,255,.5); }
.hero-title strong { display: block; text-shadow: 0 1px rgba(255,255,255,.35); }

.glass {
  border: 1px solid rgba(255,255,255,.22);
  background: linear-gradient(135deg, rgba(255,255,255,.2), rgba(255,255,255,.08));
  box-shadow: inset 0 1px rgba(255,255,255,.25), 0 18px 52px rgba(31,0,0,.2);
  backdrop-filter: blur(20px) saturate(145%);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
}
.hero-stat { position: absolute; width:min(17rem,24vw); padding:0; text-shadow:0 2px 18px rgba(35,0,0,.55); }
.hero-stat-left { left: 5vw; bottom: 38%; }
.hero-stat-right { right: 5vw; bottom: 31%; text-align: right; }
.hero-stat b { display: block; font-size: clamp(.9rem,1.2vw,1.12rem); line-height: 1.15; }
.hero-stat small { display: block; max-width:15rem; margin-top:.45rem; color:rgba(255,255,255,.72); font-size:.72rem; line-height:1.45; }
.hero-stat-right small { margin-left:auto; }
.quality-chip::after, .origin-chip::after { content:""; position:absolute; inset:-80%; pointer-events:none; background:conic-gradient(from 180deg,transparent 0 38%,rgba(255,190,121,.22) 46%,rgba(255,255,255,.34) 52%,transparent 62%); opacity:0; transform:translate3d(-18%,10%,0) rotate(0); transition:opacity 200ms var(--ease-out),transform 700ms var(--ease-in-out); }
.stars { display: block; margin-top: .4rem; color: #ffd15b; letter-spacing: .08em; }
.avatar-row { display: flex; justify-content: flex-end; margin-top: .55rem; padding-right: .25rem; }
.avatar-row i { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; margin-right: -.35rem; border: 2px solid #fff; border-radius: 50%; background: #d8b09a; color: #3d1d12; font-style: normal; font-size: .65rem; font-weight: 800; }

.quality-chip, .origin-chip { position: absolute; overflow:hidden; padding: .72rem 1rem; border-radius: 999px; font-size: .78rem; font-weight: 700; }
.quality-chip > *, .origin-chip > * { position:relative; z-index:1; }
.quality-chip { left: 34%; bottom: 25%; }
.origin-chip { right: 26%; bottom: 15%; }
.quality-chip span, .origin-chip span { display: inline-grid; place-items: center; width: 1.35rem; height: 1.35rem; margin-right: .35rem; border-radius: 50%; background: white; color: var(--red); }
.quality-chip span svg, .origin-chip span svg { width:.82rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hero-cta {
  position: absolute;
  right: 4.5vw;
  bottom: 5.5%;
  display: flex;
  align-items: center;
  gap: 1.35rem;
  padding: .58rem .65rem .58rem 1.5rem;
  border-radius: 999px;
  background: white;
  color: var(--ink);
  font-size: .92rem;
  font-weight: 800;
  transition: transform .15s var(--ease-out), color .2s ease;
}
body.has-cart .hero-cta { right:7.5rem; }
.hero-cta i { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: var(--red); color: white; font-style: normal; }
.hero-cta i svg { width:1.15rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hero-bottom { position: absolute; bottom: 5.2%; left: 4.5vw; right: 21rem; display: flex; align-items: center; font-size: .7rem; text-transform: uppercase; letter-spacing: .13em; color: rgba(255,255,255,.7); }
.hero-bottom-single { justify-content:center; }
.scroll-cue { display: flex; align-items: center; gap: .7rem; }
.scroll-cue i { width: 3.4rem; height: 1px; background: currentColor; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.hero .reveal:nth-of-type(2) { transition-delay: .08s; }

.section-dark {
  position: relative;
  display: grid;
  grid-template-columns: .7fr 1.45fr 1fr;
  gap: 1rem;
  padding: 7.5rem 4.5vw 6.5rem;
  background: #171512;
  color: var(--cream);
}
.sticky-label { position: sticky; top: 8rem; align-self: start; color: #6f6a62; font-size: .72rem; letter-spacing: .15em; }
.statement-copy { grid-column: 2 / 4; max-width: 65rem; margin-bottom: 4.5rem; }
.eyebrow { margin: 0 0 1.4rem; color: var(--red); text-transform: uppercase; letter-spacing: .16em; font-size: .74rem; font-weight: 800; }
.statement-copy h2, .catalog-head h2, .delivery-panel h2, .loyalty-intro h2 {
  margin: 0;
  font-size: clamp(3rem, 7vw, 7rem);
  letter-spacing: -.065em;
  line-height: .91;
}
.statement-copy h2 em { font-family: Georgia, serif; font-weight: 400; }
.statement-copy > p:last-child { max-width: 36rem; margin: 2rem 0 0 auto; color: #aaa49a; font-size: clamp(1.05rem, 1.45vw, 1.35rem); }
.cut-card {
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: .25fr 1fr;
  align-items: center;
  min-height: 7rem;
  padding: 1.45rem 0;
  border-top: 1px solid rgba(255,255,255,.12);
}
.cut-card:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }
.cut-number { color: #736f68; font-size: .85rem; }
.cut-card b { display: block; font-size: clamp(1.5rem, 3vw, 3.2rem); letter-spacing: -.04em; }
.cut-card span { display: block; color: #7e7971; margin-top: .4rem; }

.catalog-section { position: relative; overflow:hidden; padding: 7rem 4.5vw 8rem; background: var(--paper); }
.catalog-head { display: flex; align-items: center; justify-content: center; gap: 2rem; margin-bottom: 3rem; text-align:center; }
.catalog-head h2 { font-size: clamp(3.8rem, 8vw, 8rem); }
.catalog-toolbar {
  position: relative;
  z-index: 20;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .45rem;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 2.5rem;
  padding: .55rem;
  border-radius: 1.45rem;
}
.glass-light { background: rgba(247,242,234,.77); border: 1px solid rgba(255,255,255,.72); box-shadow: 0 16px 48px rgba(48,35,24,.09); backdrop-filter: blur(24px) saturate(145%); -webkit-backdrop-filter: blur(24px) saturate(145%); }
.categories { display: flex; gap: .25rem; max-width:min(66vw,52rem); overflow-x: auto; overscroll-behavior-inline:contain; scrollbar-width: none; }
.categories::-webkit-scrollbar { display: none; }
.category-button { flex: 0 0 auto; border: 0; border-radius: .95rem; padding: .82rem 1rem; background: transparent; cursor: pointer; font-size: .84rem; font-weight: 700; transition: background-color .2s ease, color .2s ease, transform .15s var(--ease-out); }
.category-button.active { background: var(--ink); color: white; }
.sort-control { display: flex; align-items: center; gap: .45rem; padding-left:.55rem; color: #756f67; font-size: .75rem; white-space: nowrap; }
.premium-select { position:relative; }
.sort-trigger { display:flex; align-items:center; justify-content:space-between; gap:.65rem; min-width:9.6rem; min-height:2.85rem; border:1px solid rgba(20,18,16,.08); border-radius:1rem; padding:.65rem .75rem .65rem .9rem; background:rgba(20,18,16,.055); color:var(--ink); cursor:pointer; font-size:.78rem; font-weight:750; transition:background-color .18s ease,border-color .18s ease,transform .15s var(--ease-out); }
.sort-trigger svg { width:1rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s var(--ease-out); }
.premium-select.open .sort-trigger svg { transform:rotate(180deg); }
.sort-menu { position:absolute; z-index:60; top:calc(100% + .55rem); right:0; display:grid; width:13.5rem; padding:.45rem; border:1px solid rgba(255,255,255,.8); border-radius:1.15rem; background:rgba(249,245,238,.94); box-shadow:0 24px 65px rgba(35,22,15,.18),inset 0 1px white; backdrop-filter:blur(24px) saturate(145%); transform-origin:calc(100% - 1.5rem) 0; opacity:0; visibility:hidden; transform:translateY(-.35rem) scale(.96); pointer-events:none; transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility .2s; }
.sort-menu[hidden] { display:grid; }
.premium-select.open .sort-menu { opacity:1; visibility:visible; transform:translateY(0) scale(1); pointer-events:auto; }
.sort-menu button { display:grid; grid-template-columns:1.1rem 1fr; gap:.55rem; align-items:center; min-height:2.75rem; border:0; border-radius:.78rem; padding:.55rem .65rem; background:transparent; color:#5f5851; cursor:pointer; text-align:left; font-size:.77rem; transition:background-color .16s ease,color .16s ease; }
.sort-menu button svg { width:1rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; opacity:0; }
.sort-menu button[aria-selected="true"] { background:var(--ink); color:white; }
.sort-menu button[aria-selected="true"] svg { opacity:1; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.product-card { position: relative; min-width: 0; overflow: hidden; border-radius: 1.4rem; background: #fffaf3; box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; transition: transform .28s var(--ease-out), box-shadow .28s var(--ease-out); }
.product-photo {
  position: relative;
  display: flex;
  align-items: flex-start;
  height: 14rem;
  overflow: hidden;
  padding: .8rem;
  background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.15), transparent 25%), linear-gradient(145deg, #be201c, #5f0605);
  color: rgba(255,255,255,.68);
  cursor: pointer;
}
.product-photo > img,.modal-photo > img,.recommendation-photo > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.product-photo > img { z-index:1; }
.product-photo::before { content:""; position:absolute; inset:14% 12% 8%; border-radius: 52% 45% 48% 42%; background: radial-gradient(ellipse at 30% 25%, #f59b83 0 5%, transparent 6%), repeating-radial-gradient(ellipse at 35% 45%, #bd2a25 0 14px, #e96a59 15px 17px, #82110f 18px 31px); filter: saturate(.85); transform: rotate(-8deg); box-shadow: 0 28px 34px rgba(0,0,0,.32); opacity: .88; transition: transform .55s var(--ease-out), filter .3s ease; }
.product-photo:has(> img)::before { opacity:0; }
.product-tags { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:.4rem; width:100%; }
.product-category-tag, .product-promo-tag { padding:.4rem .58rem; border:1px solid rgba(255,255,255,.24); border-radius:999px; backdrop-filter:blur(10px); text-transform:uppercase; letter-spacing:.1em; font-size:.58rem; font-weight:780; }
.product-category-tag { background:rgba(49,0,0,.28); }
.product-promo-tag { position:relative; overflow:hidden; background:linear-gradient(120deg,#f0b52d,#ffdf7a 48%,#e89b17); color:#2d1705; box-shadow:0 8px 24px rgba(240,181,45,.2); }
.product-promo-tag::after { content:""; position:absolute; inset:-50% auto -50% -45%; width:35%; background:rgba(255,255,255,.55); transform:skewX(-18deg) translateX(-220%); transition:transform .55s var(--ease-out); }
.product-info { padding: 1.05rem; }
.product-title-row { display: block; }
.product-title-button { display:flex; align-items:center; width:100%; min-height:2.75rem; border:0; padding:0; background:transparent; color:inherit; cursor:pointer; text-align:left; }
.product-title-button h3 { margin: 0; font-size: 1.05rem; line-height: 1.12; letter-spacing: -.03em; }
.product-description { min-height: 2.25rem; margin: .6rem 0 1rem; color: #777067; font-size: .74rem; }
.product-price { display: flex; align-items: baseline; gap: .35rem; margin-bottom: 1rem; }
.product-price strong { font-size: 1.4rem; letter-spacing: -.04em; }
.product-price s { color:#9a9188; font-size:.72rem; }
.product-price span { color: #8f877e; font-size: .68rem; }
.product-actions { display: flex; align-items:center; justify-content:space-between; gap: .55rem; }
.stepper { flex:0 0 auto; display: grid; grid-template-columns: 2.75rem minmax(3.5rem,auto) 2.75rem; align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: .85rem; }
.stepper button { display:grid; place-items:center; width:2.75rem; height:2.75rem; border: 0; background: transparent; cursor: pointer; transition: background-color .18s ease, transform .15s var(--ease-out); }
.stepper button svg, .add-button svg { width:1rem; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.stepper span { padding:0 .35rem; text-align: center; font-size: .7rem; font-weight: 780; white-space: nowrap; }
.add-button, .primary-button {
  border: 0;
  border-radius: .9rem;
  background: var(--red);
  color: white;
  cursor: pointer;
  font-weight: 780;
  transition: transform .15s var(--ease-out), background-color .2s ease;
}
.add-button { display:grid; place-items:center; width: 2.75rem; height: 2.75rem; }
.product-card .add-button { width:3.4375rem; height:3.4375rem; border-radius:1.05rem; flex:0 0 3.4375rem; }
.product-card .add-button svg { width:1.2rem; }
.primary-button { padding: 1rem 1.25rem; }
.wide { width: 100%; }

.delivery-section { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(24rem,.82fr); gap:1rem; overflow: hidden; padding:6.5rem 4.5vw; background:#171512; color: white; }
.delivery-panel { padding:2rem 0; }
.delivery-panel .eyebrow { color:#f0b52d; }
.delivery-panel h2 { max-width:11ch; font-size:clamp(3rem,5.5vw,6.2rem); }
.delivery-lead { max-width:34rem; margin:1.5rem 0 2rem; color:rgba(255,255,255,.62); font-size:clamp(1rem,1.25vw,1.2rem); }
.delivery-terms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; max-width:35rem; }
.delivery-terms article { padding:1.15rem; border:1px solid rgba(255,255,255,.11); border-radius:1.2rem; background:rgba(255,255,255,.035); }
.delivery-terms article > span, .route-card span { display:block; color:rgba(255,255,255,.46); text-transform:uppercase; letter-spacing:.14em; font-size:.6rem; font-weight:800; }
.delivery-terms b { display:block; margin:.55rem 0 .15rem; font-size:2rem; letter-spacing:-.05em; }
.delivery-terms small { color:rgba(255,255,255,.58); }
.delivery-term-accent { background:linear-gradient(145deg,rgba(184,16,15,.82),rgba(109,7,6,.72)) !important; box-shadow:inset 0 1px rgba(255,255,255,.15); }
.delivery-button { display:flex; align-items:center; justify-content:space-between; width:fit-content; min-width:15rem; margin-top:1rem; padding:.65rem .75rem .65rem 1rem; border-radius:999px; background:#f0b52d; color:#17120f; font-size:.74rem; font-weight:850; }
.delivery-button svg { width:2rem; height:2rem; padding:.45rem; border-radius:50%; background:#17120f; color:white; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.delivery-route { position:relative; min-height:30rem; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:2rem; background:radial-gradient(circle at 78% 18%,rgba(184,16,15,.3),transparent 34%),rgba(255,255,255,.025); box-shadow:inset 0 1px rgba(255,255,255,.06); }
.delivery-route > svg { position:absolute; inset:8%; width:84%; height:84%; overflow:visible; }
.delivery-route > svg path { fill:none; stroke:url(#threadGradient); stroke-width:3; stroke-linecap:round; stroke-dasharray:7 10; }
.delivery-route > svg circle { fill:#f0b52d; stroke:#171512; stroke-width:6; }
.route-card { position:absolute; width:min(14rem,65%); padding:1rem; border:1px solid rgba(255,255,255,.16); border-radius:1.1rem; background:rgba(23,21,18,.7); box-shadow:0 18px 50px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.08); backdrop-filter:blur(16px); }
.route-card b { display:block; margin-top:.35rem; font-size:.9rem; }
.route-card-start { left:7%; bottom:7%; }
.route-card-finish { top:7%; right:7%; }

.loyalty-section { display:grid; grid-template-columns:minmax(16rem,.62fr) minmax(0,1.38fr); gap:3rem; align-items:center; overflow:hidden; padding:6.5rem 4.5vw; background:#e7ded3; }
.loyalty-intro { display:block; }
.loyalty-intro h2 { max-width:none; font-size:clamp(2.7rem,4.2vw,4.7rem); text-wrap:balance; }
.loyalty-intro > p:last-child { max-width:27rem; margin:1.4rem 0 0; color:#71685f; }
.loyalty-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; margin:0; }
.loyalty-card { position: relative; display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: 1.35; overflow: hidden; padding: 1.35rem; border-radius: 1.45rem; color: white; box-shadow: inset 0 1px rgba(255,255,255,.42), 0 20px 52px rgba(70,45,31,.14); }
.loyalty-card::after { content:""; position:absolute; width:70%; aspect-ratio:1; right:-25%; top:-45%; border:1px solid rgba(255,255,255,.3); border-radius:50%; box-shadow:0 0 0 2rem rgba(255,255,255,.04),0 0 0 4rem rgba(255,255,255,.03); }
.loyalty-card span { text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; font-weight: 800; }
.loyalty-card b { font-size: clamp(2.7rem, 4.6vw, 5rem); line-height: .8; letter-spacing: -.07em; }
.loyalty-card small { opacity: .75; }
.bronze { background: linear-gradient(145deg, #9b5032, #532113); }
.silver { background: linear-gradient(145deg, #8f979c, #384048); }
.gold { background: linear-gradient(145deg, #d59a2e, #6b3800); }

.contact-footer { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 1rem; }
.map-shell { position:relative; align-self:stretch; min-height:38rem; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:2rem; background:#29241f; box-shadow:0 35px 90px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.12); isolation:isolate; }
.map-canvas { width:100%; height:100%; min-height:inherit; filter:saturate(.76) contrast(1.03); pointer-events:none; }
.map-canvas iframe { display:block; width:100%; height:100%; min-height:inherit; border:0; }
.map-shell::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 0 42px rgba(24,14,10,.24); }
.map-shell.map-active .map-canvas { pointer-events:auto; }
.map-loading { position:absolute; z-index:1; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.72); background:radial-gradient(circle at 50% 45%,#3b312b,#211b18); font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; transition:opacity .25s ease,visibility .25s ease; }
.map-shell.map-ready .map-loading { opacity:0; visibility:hidden; }
.map-shell.map-error .map-loading { padding:2rem; text-align:center; line-height:1.5; }
.store-map-marker { position:relative; width:3.4rem; height:3.4rem; display:grid; place-items:center; border:1px solid rgba(255,255,255,.76); border-radius:50% 50% 50% 16%; color:#fff; background:linear-gradient(145deg,#e51b20,#8d090d); box-shadow:0 18px 40px rgba(102,0,0,.35),inset 0 1px rgba(255,255,255,.32); transform:translate(-50%,-100%) rotate(-45deg); }
.store-map-marker::before { content:""; position:absolute; inset:.36rem; border:1px solid rgba(255,255,255,.32); border-radius:50%; }
.store-map-marker svg { position:relative; width:1.25rem; height:1.25rem; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; transform:rotate(45deg); }
.map-enable { position:absolute; z-index:2; right:1rem; bottom:1rem; display:grid; place-items:center; width:3.25rem; height:3.25rem; border:1px solid rgba(255,255,255,.48); border-radius:50%; background:rgba(23,18,15,.86); color:white; cursor:pointer; box-shadow:0 12px 35px rgba(0,0,0,.28); backdrop-filter:blur(14px); transition:opacity .18s ease,transform .16s var(--ease-out),background-color .18s ease; }
.map-enable svg { width:1.2rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.map-shell.map-active .map-enable { opacity:0; transform:scale(.94); pointer-events:none; }
.contact-cards { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.contact-card { position:relative; overflow:hidden; padding:1.45rem; border:1px solid rgba(255,255,255,.16); border-radius:1.4rem; background:rgba(255,255,255,.035); box-shadow:inset 0 1px rgba(255,255,255,.05); }
.contact-card::after { content:""; position:absolute; right:-1px; bottom:-1px; width:1.1rem; height:1.1rem; border-right:3px solid #f0b52d; border-bottom:3px solid #f0b52d; border-radius:0 0 1.4rem 0; }
.contact-address { grid-column:1 / -1; }
.contact-kicker { display:flex; align-items:center; gap:.5rem; color:#f0b52d; text-transform:uppercase; letter-spacing:.18em; font-size:.67rem; font-weight:850; }
.contact-kicker svg { width:1.1rem; fill:none; stroke:currentColor; stroke-width:1.7; }
.contact-card h2 { margin:1rem 0 .4rem; font-size:clamp(1.7rem,3vw,3.4rem); line-height:.98; letter-spacing:-.055em; }
.contact-card p { margin:.35rem 0 0; color:#928b82; font-size:.83rem; }
.map-button { display:flex; align-items:center; justify-content:space-between; width:fit-content; min-width:13rem; margin-top:1.5rem; padding:.55rem .65rem .55rem 1rem; border-radius:999px; background:#f0b52d; color:#17120f; font-size:.75rem; font-weight:850; text-transform:uppercase; transition:transform .16s var(--ease-out), background-color .18s ease; }
.map-button i { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:#17120f; color:white; font-style:normal; }
.map-button svg, .delivery-contact > a svg { width:1rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.contact-documents { display:flex; flex-wrap:wrap; gap:.35rem .9rem; margin-top:1.25rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.09); }
.contact-documents button { border:0; padding:0; background:transparent; color:#7f7971; cursor:pointer; font-size:.64rem; text-decoration:underline; text-decoration-color:rgba(255,255,255,.12); text-underline-offset:.2em; transition:color .18s ease; }
.contact-value { display:block; margin-top:1rem; overflow-wrap:anywhere; font-size:clamp(1.05rem,1.8vw,1.75rem); line-height:1.12; letter-spacing:-.035em; font-weight:800; }
.schedule-card { grid-row:span 2; }
.delivery-contact { grid-row:span 2; display:flex; flex-direction:column; }
.delivery-contact .contact-documents { margin-top:auto; }
.schedule-list { margin-top:.8rem; }
.schedule-list span { display:flex; justify-content:space-between; gap:1rem; padding:.48rem 0; border-bottom:1px dashed rgba(255,255,255,.12); color:#bbb5ad; font-size:.72rem; }
.schedule-list b { color:white; white-space:nowrap; }
.delivery-contact strong { display:block; margin-top:1rem; font-size:2.4rem; line-height:1; }
.delivery-contact > a { display:flex; justify-content:space-between; align-items:center; margin-top:1.2rem; padding:.7rem .75rem .7rem 1rem; border:1px solid rgba(255,255,255,.14); border-radius:.9rem; background:var(--red); font-size:.75rem; font-weight:800; }
.delivery-contact > a i { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:rgba(255,255,255,.14); font-style:normal; }
footer { padding: 6rem 4.5vw 3rem; background: var(--ink); color: white; }

.cart-fab {
  position: fixed;
  z-index: 70;
  right: 2rem;
  bottom: 2rem;
  display: grid;
  place-items: center;
  width: 4.25rem;
  height: 4.25rem;
  border: 0;
  border-radius: 50%;
  background: var(--red);
  color: white;
  cursor: pointer;
  box-shadow: 0 22px 45px rgba(109,0,0,.33), inset 0 1px rgba(255,255,255,.25);
  opacity: 0;
  transform: translateY(1rem) scale(.94);
  pointer-events: none;
  transition: opacity .24s var(--ease-out), transform .24s var(--ease-out);
}
.cart-fab.visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.cart-fab svg { width: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cart-fab span { position: absolute; right: -.15rem; top: -.15rem; display: grid; place-items: center; min-width: 1.45rem; height: 1.45rem; padding: 0 .3rem; border: 2px solid white; border-radius: 999px; background: var(--ink); font-size: .65rem; font-weight: 800; }

.drawer { position: fixed; z-index: 200; inset: 0; visibility: hidden; pointer-events: none; }
.drawer.open { visibility: visible; pointer-events: auto; }
.drawer-backdrop { position: absolute; inset: 0; background: rgba(12,8,6,.46); opacity: 0; backdrop-filter: blur(2px); transition: opacity .25s var(--ease-out); }
.drawer.open .drawer-backdrop { opacity: 1; }
.drawer-panel { position: absolute; top: .7rem; right: .7rem; bottom: .7rem; display: flex; flex-direction: column; width: min(31rem, calc(100% - 1.4rem)); overflow:hidden; overscroll-behavior:contain; padding: 1.5rem; border: 1px solid rgba(255,255,255,.7); border-radius: 2rem; background: rgba(250,246,239,.9); box-shadow: -20px 0 70px rgba(20,12,8,.2), inset 0 1px white; backdrop-filter: blur(30px) saturate(140%); transform: translateX(calc(100% + 1rem)); transition: transform .42s var(--ease-drawer); }
.drawer.open .drawer-panel { transform: translateX(0); }
.drawer-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 1rem; }
.drawer-head small, .login-copy small { color: var(--red); text-transform: uppercase; letter-spacing: .13em; font-size: .68rem; font-weight: 800; }
.drawer-head h2 { margin: .15rem 0 0; font-size: 2.2rem; letter-spacing: -.055em; }
.icon-button { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: rgba(20,18,16,.07); line-height: 1; transition: transform .15s var(--ease-out), background-color .2s ease; }
.icon-button svg { width:1.1rem; fill:none; stroke:currentColor; stroke-width:1.85; stroke-linecap:round; stroke-linejoin:round; }
.cart-view { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.cart-items { flex: 1; overflow: auto; padding: .4rem .2rem .4rem 0; }
.empty-cart { display: grid; place-items: center; align-content: center; height: 100%; color: #827a72; text-align: center; }
.empty-cart b { color: var(--ink); font-size: 1.2rem; }
.empty-cart p { max-width: 17rem; margin: .5rem auto 0; font-size: .86rem; }
.cart-item { display: grid; grid-template-columns: 4.6rem 1fr auto; gap: .85rem; align-items: center; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.cart-thumb { width: 4.6rem; height: 4.6rem; border-radius: 1rem; background: radial-gradient(ellipse at 45% 48%, #d63a32 0 25%, #77100d 27% 55%, transparent 57%), linear-gradient(145deg,#bd1e1b,#5f0505); }
.cart-item h4 { margin: 0; line-height: 1.15; }
.cart-item small { color: #837b73; }
.cart-line { min-width:0; }
.cart-stepper { display:grid; grid-template-columns:2rem minmax(3.3rem,auto) 2rem; align-items:center; width:max-content; margin-top:.45rem; overflow:hidden; border:1px solid var(--line); border-radius:.72rem; }
.cart-stepper button { display:grid; place-items:center; width:2rem; height:2rem; border:0; background:transparent; color:var(--ink); cursor:pointer; }
.cart-stepper button svg { width:.85rem; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; }
.cart-stepper span { padding:0 .25rem; text-align:center; white-space:nowrap; font-size:.67rem; font-weight:780; }
.cart-item-price { text-align: right; }
.cart-item-price b { display: block; white-space: nowrap; }
.cart-item-price button { border: 0; padding: .2rem; background: transparent; color: var(--red); cursor: pointer; font-size: .7rem; }
.cart-summary { margin: 1rem 0; padding: 1rem; border-radius: 1rem; background: rgba(20,18,16,.045); font-size: .83rem; }
.summary-row { display: flex; justify-content: space-between; margin: .35rem 0; }
.summary-row.total { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--line); color: var(--ink); font-size: 1rem; font-weight: 800; }
.delivery-progress { height: .28rem; margin-top: .8rem; overflow: hidden; border-radius: 1rem; background: rgba(20,18,16,.09); }
.delivery-progress i { display: block; height: 100%; border-radius: inherit; background: var(--red); transition: transform .35s var(--ease-out); transform-origin: left; }
.checkout-view { display: none; overflow-y: auto; overflow-x: hidden; min-width: 0; }
.drawer.checkout .cart-view { display: none; }
.drawer.checkout .checkout-view { display: block; }
.back-button, .text-button { border: 0; background: transparent; cursor: pointer; }
.back-button { display:flex; align-items:center; gap:.35rem; margin: .2rem 0 1.2rem; padding: 0; color: #716960; font-size: .82rem; }
.back-button svg, .admin-exit svg { width:1rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.checkout-view label, .login-form label { display: block; margin-bottom: .95rem; color: #5e574f; font-size: .73rem; font-weight: 750; }
.choice-fieldset { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .45rem; min-width: 0; margin: 0 0 .95rem; padding: 0; border: 0; }
.choice-fieldset legend { grid-column: 1 / -1; margin-bottom: .38rem; color: #5e574f; font-size: .73rem; font-weight: 750; }
.choice-fieldset label { position: relative; margin: 0; cursor: pointer; }
.choice-fieldset input { position: absolute; opacity: 0; pointer-events: none; }
.choice-fieldset span { display: grid; place-items: center; min-height: 2.8rem; padding: .65rem; border: 1px solid var(--line); border-radius: .85rem; background: rgba(255,255,255,.45); color: #6a635b; transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .15s var(--ease-out); }
.choice-fieldset input:checked + span { border-color: var(--ink); background: var(--ink); color: white; }
.choice-fieldset input:focus-visible + span { outline: 2px solid #ffcf70; outline-offset: 3px; }
.checkout-view label.hidden-field { display: none; }
.checkout-view input, .checkout-view textarea, .login-form input { display: block; width: 100%; margin-top: .38rem; border: 1px solid var(--line); border-radius: .9rem; background: rgba(255,255,255,.65); padding: .9rem 1rem; color: var(--ink); outline: none; transition: border-color .18s ease, box-shadow .18s ease; }
.checkout-view input:focus, .checkout-view textarea:focus, .login-form input:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(184,16,15,.09); }
.checkout-view label.invalid input { border-color: var(--red); }
.checkout-view .consent-check, .login-form .consent-check { margin:.35rem 0 1rem; }
.consent-check > input { position:absolute; width:1px !important; height:1px; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; opacity:0; pointer-events:none; }
.consent-check > span { display:flex; align-items:flex-start; gap:.55rem; color:#716960; font-size:.69rem; font-weight:600; line-height:1.35; cursor:pointer; }
.consent-check i { flex:0 0 auto; display:grid; place-items:center; width:1.05rem; height:1.05rem; margin-top:.02rem; border:1px solid var(--line); border-radius:.32rem; background:rgba(255,255,255,.6); color:transparent; font-style:normal; font-size:.68rem; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
.consent-check input:checked + span i { border-color:var(--red); background:var(--red); color:white; }
.consent-check input:focus-visible + span i { outline:2px solid #ffcf70; outline-offset:3px; }
.consent-check.invalid span { color:var(--red); }
.field-error { display: block; min-height: .9rem; margin-top: .2rem; color: var(--red); font-size: .66rem; font-weight: 550; }
.checkout-total { margin: 1rem 0; }
.form-note { margin: .8rem 0 0; color: #837b73; text-align: center; font-size: .7rem; }
.order-success { display: none; flex: 1; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.drawer.success .drawer-head, .drawer.success .cart-view, .drawer.success .checkout-view { display: none; }
.drawer.success .order-success { display: flex; }
.success-icon { display: grid; place-items: center; width: 5rem; height: 5rem; margin-bottom: 1.2rem; border-radius: 50%; background: var(--red); color: white; font-size: 2.2rem; }
.order-success small { color: var(--red); text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.order-success h2 { margin: .5rem 0; font-size: 2.4rem; letter-spacing: -.055em; }
.order-success p { color: #736b63; }
.order-success .primary-button { margin-top: 1rem; }

dialog { color: var(--ink); }
dialog, [data-lenis-prevent] { overscroll-behavior:contain; }
dialog::backdrop { background: rgba(14,8,6,.56); backdrop-filter: blur(5px); }
.product-modal, .login-modal, .legal-modal { width: min(76rem, calc(100% - 2rem)); max-height: calc(100svh - 2rem); overflow: auto; scrollbar-width:none; border: 1px solid rgba(255,255,255,.65); border-radius: 2rem; padding: 0; background: radial-gradient(circle at 84% 8%,rgba(184,16,15,.09),transparent 24%),rgba(248,243,235,.96); box-shadow: 0 40px 100px rgba(20,10,7,.28); backdrop-filter: blur(24px) saturate(140%); opacity: 0; transform: translateY(12px) scale(.97); transition: opacity .24s var(--ease-out), transform .3s var(--ease-out), display .3s allow-discrete, overlay .3s allow-discrete; }
.product-modal[open], .login-modal[open], .legal-modal[open] { opacity: 1; transform: translateY(0) scale(1); }
@starting-style { .product-modal[open], .login-modal[open], .legal-modal[open] { opacity: 0; transform: translateY(12px) scale(.97); } }
.modal-close { position: absolute; z-index: 3; top: 1rem; right: 1rem; background: rgba(255,255,255,.72); }
.product-modal-layout { display: grid; grid-template-columns: .92fr 1.08fr; min-height: 37rem; padding:.8rem; }
.modal-photo { position:relative; min-height: 34rem; overflow:hidden; border-radius:1.5rem; background: radial-gradient(ellipse at 45% 52%, #e25548 0 17%, #8b130f 20% 44%, transparent 47%), repeating-radial-gradient(ellipse at 38% 50%, #d64135 0 23px, #f1846f 24px 26px, #7f0f0d 27px 47px), linear-gradient(145deg,#ad1613,#5e0706); box-shadow:inset 0 1px rgba(255,255,255,.28),0 24px 70px rgba(78,10,7,.2); }
.modal-info { display: flex; flex-direction: column; padding: 3.6rem 3rem 2.5rem; }
.modal-info small { color: var(--red); text-transform: uppercase; letter-spacing: .13em; font-size: .7rem; font-weight: 800; }
.modal-info h2 { margin: .7rem 0 1.1rem; font-size: clamp(2.4rem, 4vw, 4.6rem); line-height: .9; letter-spacing: -.06em; }
.modal-info > p { color: #6f675f; }
.modal-choice { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-top: auto; padding-top: 2rem; }
.modal-stepper { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; padding: .6rem; border: 1px solid var(--line); border-radius: 1rem; }
.modal-stepper button { width: 2.5rem; height: 2.5rem; border: 0; border-radius: .7rem; background: rgba(20,18,16,.06); cursor: pointer; }
.modal-stepper button svg { width:1rem; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; }
.modal-price { padding: .85rem 1rem; border-radius: 1rem; background: rgba(20,18,16,.05); }
.modal-price small { display: block; color: #777067; text-transform: none; letter-spacing: 0; }
.modal-price b { font-size: 1.35rem; }
.modal-add-button { display:flex; align-items:center; justify-content:center; gap:.5rem; }
.modal-add-button svg { width:1.1rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.recommendations { position:relative; padding: 1.8rem 3rem 2.7rem; border-top:1px solid var(--line); }
.recommendation-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.recommendation-head h3 { margin:0; font-size:clamp(1.45rem,2.2vw,2rem); letter-spacing:-.04em; }
.recommendation-controls { display:flex; gap:.4rem; }
.recommendation-controls button { display:grid; place-items:center; width:2.8rem; height:2.8rem; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.64); cursor:pointer; }
.recommendation-controls svg { width:1rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.recommendation-row { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(15rem,calc((100% - 1.4rem)/3)); gap:.7rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; scroll-behavior:smooth; }
.recommendation-row::-webkit-scrollbar { display:none; }
.recommendation-card { scroll-snap-align:start; overflow:hidden; border:1px solid rgba(20,18,16,.1); border-radius:1.25rem; background:rgba(255,255,255,.5); box-shadow:inset 0 1px white; }
.recommendation-photo { position:relative; height:10rem; overflow:hidden; cursor:pointer; background:radial-gradient(ellipse at 44% 50%,#df574b 0 18%,#8a140f 21% 44%,transparent 47%),repeating-radial-gradient(ellipse at 38% 50%,#cd352d 0 18px,#f08069 19px 21px,#760d0b 22px 39px),linear-gradient(145deg,#ad1613,#5e0706); }
.recommendation-info { padding:1rem; }
.recommendation-title { border:0; padding:0; background:transparent; cursor:pointer; text-align:left; font-weight:800; }
.recommendation-info p { min-height:3em; margin:.45rem 0 .8rem; color:#776f67; font-size:.72rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.recommendation-price { display:block; margin-bottom:.7rem; font-size:1rem; }
.recommendation-actions { display:flex; align-items:center; justify-content:space-between; gap:.45rem; }
.recommendation-actions .stepper { min-width:0; flex:1; }
.recommendation-actions .stepper button { width:2.4rem; height:2.4rem; }
.recommendation-actions .stepper span { font-size:.68rem; }
.recommendation-actions .add-button { width:2.75rem; height:2.75rem; flex:0 0 auto; }

.login-modal { width: min(34rem, calc(100% - 2rem)); padding: 2rem; }
.login-copy { padding-right: 2.5rem; }
.login-copy h2 { margin: .5rem 0 1.8rem; font-size: 2rem; line-height: 1; letter-spacing: -.045em; }
.login-form { padding: 1.2rem; border-radius: 1.2rem; background: rgba(255,255,255,.52); }
.text-button { display: block; margin: .8rem auto 0; color: #746d64; font-size: .76rem; }
.login-actions { display:flex; justify-content:space-between; gap:1rem; }
.login-actions .text-button { margin:.8rem 0 0; }
.login-note { display: grid; grid-template-columns: auto 1fr; gap: .75rem; margin-top: 1rem; padding: .9rem; border: 1px solid rgba(57,161,220,.2); border-radius: 1rem; background: rgba(57,161,220,.08); }
.login-note span { height: fit-content; padding: .25rem .45rem; border-radius: .4rem; background: #269bd7; color: white; font-size: .65rem; }
.login-note p { margin: 0; color: #65615c; font-size: .72rem; }
.auth-stage:empty { display:none; }
.auth-stage { margin-top:.8rem; padding:.9rem; border:1px solid var(--line); border-radius:1rem; background:rgba(255,255,255,.55); font-size:.76rem; }
.auth-stage form { display:grid; gap:.6rem; }
.auth-stage input { width:100%; border:1px solid var(--line); border-radius:.8rem; padding:.8rem; background:white; }
.auth-stage a { display:flex; justify-content:center; margin-top:.65rem; padding:.75rem; border-radius:.8rem; background:#249bd7; color:white; font-weight:800; }

.legal-modal { width:min(74rem,calc(100% - 2rem)); height:min(50rem,calc(100dvh - 2rem)); max-height:calc(100dvh - 2rem); overflow:hidden; border-color:rgba(255,255,255,.28); background:#171210; box-shadow:0 50px 140px rgba(12,6,4,.52),inset 0 1px rgba(255,255,255,.12); transform-origin:center; transition:opacity 250ms var(--ease-out),transform 250ms var(--ease-out),display 250ms allow-discrete,overlay 250ms allow-discrete; }
.legal-modal.is-closing { opacity:0; transform:scale(.96); }
.legal-modal::backdrop { opacity:1; background:rgba(12,7,5,.68); backdrop-filter:blur(12px) saturate(75%); transition:opacity 250ms var(--ease-out),display 250ms allow-discrete,overlay 250ms allow-discrete; }
.legal-modal.is-closing::backdrop { opacity:0; }
@starting-style { .legal-modal[open]::backdrop { opacity:0; } }
.legal-modal > .modal-close { position:fixed; z-index:5; top:max(1rem,env(safe-area-inset-top)); right:max(1rem,env(safe-area-inset-right)); border:1px solid rgba(255,255,255,.17); background:rgba(255,255,255,.09); color:white; box-shadow:inset 0 1px rgba(255,255,255,.13); backdrop-filter:blur(14px); }
.legal-shell { display:grid; grid-template-columns:minmax(18rem,.78fr) minmax(0,1.52fr); height:100%; min-height:0; }
.legal-head { position:relative; isolation:isolate; display:flex; min-width:0; min-height:0; flex-direction:column; overflow:hidden; padding:2rem 2rem 1.6rem; background:radial-gradient(circle at 16% 10%,rgba(224,37,31,.27),transparent 31%),linear-gradient(155deg,#2b1d18,#100d0c 72%); color:white; }
.legal-head::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; opacity:.14; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); }
.legal-head::after { content:""; position:absolute; z-index:-1; right:-4rem; bottom:-4.5rem; width:14rem; aspect-ratio:1; border:1px solid rgba(240,181,45,.2); border-radius:50%; box-shadow:0 0 0 2.2rem rgba(240,181,45,.035),0 0 0 4.4rem rgba(240,181,45,.022); }
.legal-brand { display:flex; align-items:center; gap:.7rem; padding-right:3.2rem; color:#f0b52d; text-transform:uppercase; letter-spacing:.15em; font-size:.66rem; font-weight:850; }
.legal-brand-mark { display:grid; place-items:center; width:2.2rem; height:2.2rem; flex:0 0 auto; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:white; font-size:.82rem; letter-spacing:0; }
.legal-head h2 { max-width:12ch; margin:clamp(2.2rem,7vh,5rem) 0 1rem; font-size:clamp(2.25rem,3.6vw,3.7rem); line-height:.94; letter-spacing:-.06em; text-wrap:balance; overflow-wrap:normal; }
.legal-meta { display:grid; gap:.25rem; }
.legal-meta p,.legal-meta span { margin:0; color:rgba(255,255,255,.58); font-size:.72rem; line-height:1.45; }
.legal-meta span { color:rgba(255,255,255,.34); }
.legal-tabs { position:relative; z-index:1; display:grid; gap:.38rem; margin-top:auto; padding-top:2rem; }
.legal-tabs button { display:grid; grid-template-columns:2rem minmax(0,1fr); align-items:center; min-height:3.15rem; border:1px solid transparent; border-radius:1rem; padding:.5rem .75rem; background:transparent; color:rgba(255,255,255,.56); cursor:pointer; text-align:left; transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,transform 150ms var(--ease-out); }
.legal-tabs button i { font-style:normal; color:#f0b52d; font-size:.63rem; font-variant-numeric:tabular-nums; }
.legal-tabs button span { font-size:.78rem; font-weight:800; }
.legal-tabs button[aria-selected="true"] { border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.09); color:white; box-shadow:inset 0 1px rgba(255,255,255,.08); }
.legal-tabs button:active { transform:scale(.98); }
.legal-body { min-width:0; min-height:0; overflow-y:auto; overscroll-behavior:contain; background:radial-gradient(circle at 100% 0,rgba(184,16,15,.075),transparent 25%),#f7f1e8; scrollbar-width:thin; scrollbar-color:rgba(93,78,67,.28) transparent; scroll-padding:2rem; }
.legal-body::-webkit-scrollbar { width:.48rem; }
.legal-body::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(93,78,67,.28); }
.legal-document { width:min(100%,46rem); margin:0 auto; padding:clamp(3.2rem,7vh,5rem) clamp(2rem,5vw,4.6rem) 3.5rem; }
.legal-document[hidden] { display:none; }
.legal-eyebrow { display:block; margin-bottom:.85rem; color:var(--red); text-transform:uppercase; letter-spacing:.17em; font-size:.68rem; font-weight:850; }
.legal-document h3 { max-width:16ch; margin:0 0 1.55rem; font-size:clamp(2.35rem,4.2vw,4rem); line-height:.98; letter-spacing:-.055em; text-wrap:balance; overflow-wrap:normal; }
.legal-document > p { color:#514a44; }
.legal-lead { max-width:65ch; margin:0; font-size:1.02rem; line-height:1.7; }
.legal-document ol { counter-reset:legal-section; margin:2.4rem 0; padding:0; list-style:none; }
.legal-document li { counter-increment:legal-section; position:relative; padding:1.05rem .2rem 1.05rem 3.35rem; border-top:1px solid rgba(42,34,29,.12); color:#554e47; font-size:.95rem; line-height:1.65; }
.legal-document li::before { content:counter(legal-section,decimal-leading-zero); position:absolute; top:1.18rem; left:.15rem; color:var(--red); font-size:.66rem; font-weight:850; letter-spacing:.08em; font-variant-numeric:tabular-nums; }
.legal-document li:last-child { border-bottom:1px solid rgba(42,34,29,.12); }
.legal-document b { color:#181412; font-weight:800; }
.legal-document a { color:#a50e0c; font-weight:750; text-decoration:underline; text-decoration-color:rgba(184,16,15,.3); text-underline-offset:.2em; }
.legal-note { position:relative; margin:2rem 0 0; padding:1.15rem 1.2rem 1.15rem 1.45rem; border:1px solid rgba(184,16,15,.12); border-radius:1.1rem; background:linear-gradient(135deg,rgba(255,255,255,.65),rgba(184,16,15,.055)); color:#4e443e !important; font-size:.82rem; line-height:1.6; box-shadow:inset 0 1px rgba(255,255,255,.78); }
.legal-note::before { content:""; position:absolute; top:1.2rem; bottom:1.2rem; left:.62rem; width:2px; border-radius:99px; background:var(--red); }
.requisites dl { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin:2.2rem 0 0; }
.requisites dl div { min-width:0; padding:1rem; border:1px solid rgba(42,34,29,.1); border-radius:1rem; background:rgba(255,255,255,.52); box-shadow:inset 0 1px rgba(255,255,255,.78); }
.requisites dl div:first-child,.requisites dl div:nth-child(5),.requisites dl div:last-child { grid-column:1 / -1; }
.requisites dt { margin-bottom:.38rem; color:#7b7168; font-size:.68rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.requisites dd { min-width:0; margin:0; overflow-wrap:anywhere; color:#201a17; font-size:.9rem; font-weight:750; line-height:1.55; font-variant-numeric:tabular-nums; }
@media (hover:hover) and (pointer:fine) {
  .legal-tabs button:hover { border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.055); color:white; }
  .legal-modal > .modal-close:hover { background:rgba(255,255,255,.16); }
}

.admin-shell { position:fixed; z-index:300; inset:0; display:grid; grid-template-columns:13.5rem 1fr; gap:.75rem; padding:.8rem; background:radial-gradient(circle at 14% 14%,rgba(255,255,255,.92),transparent 31%),linear-gradient(145deg,#d7d7d4,#f2f1ed 46%,#c9c9c6); opacity:0; visibility:hidden; transform:scale(.985); transition:opacity 280ms var(--ease-out),transform 280ms var(--ease-out),visibility 280ms; }
.admin-shell::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.65' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E"); }
.admin-shell.open { opacity:1; visibility:visible; transform:scale(1); }
.admin-sidebar { position:relative; z-index:1; display:flex; flex-direction:column; overflow:hidden; padding:1rem; border:1px solid rgba(255,255,255,.82); border-radius:1.8rem; background:rgba(255,255,255,.7); color:#171717; box-shadow:inset 0 1px white,0 24px 65px rgba(0,0,0,.08); backdrop-filter:blur(28px) saturate(120%); }
.admin-logo { display:flex; align-items:center; gap:.75rem; margin:.25rem .25rem 2rem; }
.admin-logo span { display:grid; place-items:center; width:2.55rem; height:2.55rem; border-radius:.85rem; background:#181818; color:white; font-weight:850; }
.admin-logo b { font-size:.86rem; }
.admin-sidebar nav { display:flex; flex-direction:column; gap:.25rem; overflow-y:auto; scrollbar-width:none; }
.admin-sidebar nav button,.admin-exit { display:flex; align-items:center; justify-content:space-between; min-height:2.75rem; border:0; border-radius:.85rem; background:transparent; color:#595959; padding:.65rem .8rem; cursor:pointer; text-align:left; font-size:.82rem; font-weight:700; transition:color 180ms ease,background-color 180ms ease,transform 150ms var(--ease-out); }
.admin-sidebar nav button.active { color:white; background:#1c1c1c; box-shadow:0 12px 26px rgba(0,0,0,.12); }
.admin-sidebar nav button[hidden] { display:none; }
.admin-sidebar nav i { display:grid; place-items:center; min-width:1.35rem; height:1.35rem; border-radius:999px; background:#d72723; color:white; font-style:normal; font-size:.61rem; }
.admin-exit { gap:.45rem; margin-top:auto; color:#393939; }
.admin-main { position:relative; z-index:1; min-width:0; overflow:auto; scrollbar-width:none; padding:.2rem .35rem .3rem .1rem; }
.admin-main::-webkit-scrollbar { display:none; }
.admin-topbar { position:sticky; z-index:4; top:0; display:flex; align-items:center; justify-content:space-between; padding:1rem 1.2rem; border:1px solid rgba(255,255,255,.82); border-radius:1.55rem; background:rgba(247,247,244,.68); box-shadow:inset 0 1px white,0 14px 45px rgba(0,0,0,.06); backdrop-filter:blur(24px); }
.admin-topbar small { color:#777; font-size:.7rem; }
.admin-topbar h1 { margin:.1rem 0 0; font-size:1.55rem; letter-spacing:-.045em; }
.admin-profile { display:grid; grid-template-columns:auto auto; gap:.2rem .75rem; align-items:center; padding:.5rem .7rem; border:1px solid rgba(0,0,0,.08); border-radius:999px; background:rgba(255,255,255,.65); }
.admin-profile span { grid-row:1 / 3; padding:.38rem .55rem; border-radius:999px; background:#1c1c1c; color:white; font-size:.6rem; text-transform:uppercase; letter-spacing:.08em; }
.admin-profile b { font-size:.74rem; }
.admin-content { padding:.75rem 0 0; }
.admin-empty { display:grid; place-items:center; min-height:18rem; text-align:center; color:#707070; }
.admin-empty b { display:block; color:#181818; font-size:1.2rem; }
.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; }
.metric-card,.admin-card { border:1px solid rgba(255,255,255,.86); border-radius:1.45rem; background:rgba(255,255,255,.62); box-shadow:inset 0 1px white,0 18px 55px rgba(0,0,0,.055); backdrop-filter:blur(20px); }
.metric-card { min-height:8.5rem; padding:1rem; }
.metric-card:nth-child(1) { background:#1c1c1c; color:white; border-color:#1c1c1c; }
.metric-card small { color:#777; font-size:.68rem; }
.metric-card:nth-child(1) small { color:#aaa; }
.metric-card b { display:block; margin-top:.55rem; font-size:clamp(1.5rem,2.4vw,2.2rem); letter-spacing:-.055em; }
.metric-card span { color:#25814f; font-size:.68rem; }
.metric-card:nth-child(1) span { color:#8bd5aa; }
.admin-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(17rem,.7fr); gap:.7rem; margin-top:.7rem; }
.admin-card { padding:1rem; }
.admin-card h3 { margin:0 0 .9rem; font-size:1rem; }
.admin-card-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.admin-card-head h3 { margin:0; }
.admin-card-head > div > span { display:block; margin-top:.22rem; color:#746c65; font-size:.68rem; line-height:1.35; }
.admin-action { min-height:2.75rem; border:0; border-radius:999px; padding:.65rem 1rem; background:#1c1c1c; color:white; cursor:pointer; font-size:.75rem; font-weight:800; }
.admin-save-settings { justify-self:start; width:auto; min-width:0; padding-inline:1.15rem; }
.order-row { display:grid; grid-template-columns:.65fr 1.1fr .6fr .75fr auto; gap:.75rem; align-items:center; padding:.72rem 0; border-top:1px solid rgba(0,0,0,.08); font-size:.73rem; }
.order-row button,.order-row select { min-height:2.2rem; border:1px solid rgba(0,0,0,.1); border-radius:.65rem; background:white; padding:.35rem .5rem; font-size:.68rem; }
.status-pill { width:fit-content; padding:.3rem .5rem; border-radius:999px; background:#f1c84a; font-size:.62rem; font-weight:780; }
.status-pill.ready { background:#86d2aa; }
.mini-bars { display:flex; align-items:end; gap:.42rem; height:10rem; padding-top:1rem; }
.mini-bars i { flex:1; min-height:.25rem; border-radius:.4rem .4rem .1rem .1rem; background:#1d1d1d; opacity:.9; }
.admin-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.admin-setting { display:grid; gap:.45rem; padding:.9rem; border:1px solid rgba(0,0,0,.08); border-radius:1rem; background:rgba(255,255,255,.58); color:#656565; font-size:.7rem; font-weight:700; }
.admin-setting input,.admin-setting select,.admin-setting textarea { width:100%; min-height:2.75rem; border:1px solid rgba(0,0,0,.11); border-radius:.72rem; padding:.65rem .75rem; background:white; color:#181818; }
.admin-setting textarea { min-height:7rem; resize:vertical; }
.admin-table { overflow-x:auto; scrollbar-width:none; }
.admin-table-head,.admin-product-row,.admin-user-row { display:grid; grid-template-columns:1.25fr .75fr .6fr .65fr auto; gap:.7rem; align-items:center; min-width:44rem; padding:.68rem 0; border-top:1px solid rgba(0,0,0,.08); font-size:.71rem; }
[data-customer-row],.admin-table-head:has(+ [data-customer-row]) { grid-template-columns:1.2fr .8fr .65fr .45fr .8fr auto; }
.admin-table-head { border-top:0; color:#777; font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; }
.admin-product-row input,.admin-product-row select,.admin-user-row select { width:100%; min-height:2.25rem; border:1px solid rgba(0,0,0,.1); border-radius:.62rem; padding:.4rem .5rem; background:white; }
.admin-product-actions { display:flex; align-items:center; gap:.35rem; }
.admin-upload { display:grid; place-items:center; min-height:2.45rem; padding:.5rem .65rem; border:1px solid rgba(0,0,0,.16); border-radius:999px; background:white; color:#332d29; cursor:pointer; font-size:.68rem; font-weight:800; }
.admin-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.restricted { opacity:.42; pointer-events:none; }

.login-helper { margin:.8rem 0 0; color:#706860; font-size:.76rem; line-height:1.5; }
.account-stage { display:grid; gap:1rem; margin-top:1rem; }
.account-stage[hidden] { display:none; }
.account-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.account-head small { color:#777067; font-size:.72rem; }
.account-head h3 { margin:.15rem 0 0; font-size:1.55rem; letter-spacing:-.04em; }
.account-loyalty { position:relative; overflow:hidden; padding:1.2rem; border-radius:1.25rem; background:linear-gradient(145deg,#1b1715,#3a201c); color:white; }
.account-loyalty span { color:#f0b52d; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.account-loyalty b { display:block; margin:.35rem 0; font-size:2.7rem; line-height:1; }
.account-loyalty p { margin:0; color:rgba(255,255,255,.7); font-size:.78rem; }
.account-orders { display:grid; gap:.55rem; }
.account-orders h3 { margin:.4rem 0 .1rem; font-size:1rem; }
.account-order { display:grid; gap:.75rem; padding:1rem; border:1px solid var(--line); border-radius:1rem; background:rgba(255,255,255,.62); }
.account-order > div { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.account-order small { color:#777067; }
.account-order ul { display:grid; gap:.4rem; margin:0; padding:0; list-style:none; }
.account-order li { display:flex; justify-content:space-between; gap:1rem; color:#655e57; font-size:.76rem; }
.account-order > strong { color:var(--red); font-size:1.1rem; }
.account-order.compact { grid-template-columns:1fr auto; align-items:center; }

.admin-catalog-toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,.35fr); gap:.65rem; margin-bottom:.7rem; }
.admin-catalog-toolbar label { display:grid; gap:.35rem; color:#666; font-size:.68rem; font-weight:750; }
.admin-catalog-toolbar input,.admin-catalog-toolbar select { min-height:2.75rem; border:1px solid rgba(0,0,0,.1); border-radius:.8rem; padding:.65rem .75rem; background:rgba(255,255,255,.8); color:#181818; }
.admin-catalog-list { display:grid; gap:.45rem; }
.admin-catalog-row { display:grid; grid-template-columns:3.5rem minmax(13rem,1.5fr) minmax(7rem,.55fr) minmax(8.5rem,.65fr) auto; gap:.8rem; align-items:center; min-height:4.8rem; padding:.55rem; border:1px solid rgba(0,0,0,.07); border-radius:1rem; background:rgba(255,255,255,.48); }
.admin-catalog-row[hidden] { display:none; }
.admin-product-thumb { display:grid; place-items:center; width:3.5rem; height:3.5rem; overflow:hidden; border-radius:.85rem; background:#292522; color:white; font-weight:850; }
.admin-product-thumb img { width:100%; height:100%; object-fit:cover; }
.admin-product-summary { min-width:0; }
.admin-product-summary b,.admin-product-summary span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-product-summary b { font-size:.82rem; }
.admin-product-summary span { margin-top:.18rem; color:#737373; font-size:.68rem; }
.admin-product-summary div { display:flex; flex-wrap:wrap; gap:.25rem; margin-top:.35rem; }
.admin-product-summary i { padding:.18rem .38rem; border-radius:99px; background:#eee9e2; color:#5e5750; font-size:.58rem; font-style:normal; font-weight:750; }
.admin-product-price b,.admin-product-price s,.admin-product-stock b,.admin-product-stock span { display:block; }
.admin-product-price b { font-size:.84rem; }
.admin-product-price s { color:#8a8179; font-size:.66rem; }
.admin-product-stock b { font-size:.75rem; }
.admin-product-stock span { margin-top:.2rem; color:#777; font-size:.65rem; }
.admin-product-stock.empty b { color:#c11b18; }
.admin-chip-list { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.8rem; }
.admin-manage-chip { display:inline-flex; align-items:center; gap:.35rem; min-height:2rem; padding:.35rem .55rem; border:1px solid rgba(0,0,0,.08); border-radius:999px; background:white; font-size:.68rem; font-weight:750; }
.admin-manage-chip.muted { opacity:.45; }
.admin-manage-chip i { width:.65rem; height:.65rem; border-radius:50%; }
.admin-taxonomy-empty { margin:0; color:#746c65; font-size:.72rem; }
.admin-inline-form { display:flex; gap:.45rem; }
.admin-inline-form input:not([type="color"]) { flex:1; min-width:0; min-height:2.75rem; border:1px solid rgba(0,0,0,.1); border-radius:.8rem; padding:.65rem .75rem; background:white; }
.admin-inline-form input[type="color"] { width:2.75rem; height:2.75rem; border:1px solid rgba(0,0,0,.1); border-radius:.8rem; padding:.25rem; background:white; }

.admin-editor { width:min(58rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; border:1px solid rgba(255,255,255,.8); border-radius:1.6rem; padding:0; background:#f4f2ee; box-shadow:0 45px 120px rgba(0,0,0,.32); }
.admin-editor::backdrop { background:rgba(18,14,12,.55); backdrop-filter:blur(8px); }
.admin-editor-close { position:sticky; z-index:3; top:1rem; float:right; margin:1rem 1rem -3.75rem 0; background:rgba(20,18,16,.09); }
.admin-editor form,.support-editor-head { padding:1.5rem; }
.admin-editor-head { padding-right:3.5rem; }
.admin-editor-head small { color:#8a8179; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.admin-editor-head h2,.support-editor-head h2 { margin:.35rem 0; font-size:clamp(1.8rem,3vw,3rem); letter-spacing:-.055em; }
.admin-editor-head p,.support-editor-head p { margin:0; color:#746c65; }
.admin-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1.4rem; }
.admin-field { display:grid; align-content:start; gap:.42rem; min-width:0; padding:.8rem; border:1px solid rgba(0,0,0,.08); border-radius:1rem; background:rgba(255,255,255,.62); color:#5f5953; font-size:.72rem; font-weight:750; }
.admin-field-wide { grid-column:1 / -1; }
.admin-field input,.admin-field select,.admin-field textarea { width:100%; min-height:2.75rem; border:1px solid rgba(0,0,0,.11); border-radius:.72rem; padding:.65rem .75rem; background:white; color:#181818; }
.admin-field textarea { min-height:6rem; resize:vertical; }
.admin-check { display:flex; align-items:center; flex-direction:row; min-height:4.5rem; }
.admin-check input { width:1.2rem; min-height:1.2rem; }
.admin-badges { display:flex; flex-wrap:wrap; gap:.45rem; }
.admin-badges legend { flex:1 0 100%; }
.admin-badges label { display:flex; align-items:center; gap:.35rem; min-height:2.5rem; padding:.4rem .55rem; border:1px solid rgba(0,0,0,.08); border-radius:.75rem; background:white; }
.admin-badges input { width:1rem; min-height:1rem; }
.admin-badges i { display:inline-block; width:.65rem; height:.65rem; margin-right:.25rem; border-radius:50%; }
.admin-image-preview { width:7rem; aspect-ratio:1.3; object-fit:cover; border-radius:.8rem; }
.admin-editor-actions { position:sticky; bottom:0; display:flex; justify-content:flex-end; gap:.5rem; margin:1.2rem -1.5rem -1.5rem; padding:1rem 1.5rem calc(1rem + env(safe-area-inset-bottom,0px)); border-top:1px solid rgba(0,0,0,.08); background:rgba(244,242,238,.94); backdrop-filter:blur(18px); }
.admin-editor-actions .admin-cancel-action { min-width:7rem; border-color:#b9aea3; background:#e5ddd4; color:#332a24; box-shadow:inset 0 1px rgba(255,255,255,.72); }
.admin-taxonomy-editor { width:min(52rem,calc(100% - 2rem)); }
.admin-taxonomy-head { padding-bottom:1.15rem; }
.admin-taxonomy-body { display:grid; gap:.75rem; padding:0 1.5rem 1.5rem; }
.admin-taxonomy-editor .admin-taxonomy-create-form,.admin-taxonomy-editor .admin-taxonomy-item { padding:0; }
.admin-taxonomy-create-form,.admin-taxonomy-item { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.55rem; align-items:end; }
.admin-taxonomy-create-form > label:first-child,.admin-taxonomy-item > label:first-child,.admin-taxonomy-color { display:grid; gap:.38rem; color:#5f5953; font-size:.68rem; font-weight:750; }
.admin-taxonomy-create-form input:not([type="color"]),.admin-taxonomy-item input:not([type="color"]) { width:100%; min-height:2.75rem; border:1px solid rgba(0,0,0,.12); border-radius:.78rem; padding:.65rem .75rem; background:white; color:#181818; }
.admin-taxonomy-color input[type="color"] { width:3.25rem; height:2.75rem; border:1px solid rgba(0,0,0,.12); border-radius:.78rem; padding:.24rem; background:white; }
.admin-taxonomy-list { display:grid; gap:.45rem; }
.admin-taxonomy-item { grid-template-columns:minmax(0,1fr) auto auto; padding:.65rem !important; border:1px solid rgba(0,0,0,.08); border-radius:1rem; background:rgba(255,255,255,.58); }
.admin-taxonomy-item:has(.admin-taxonomy-color) { grid-template-columns:minmax(0,1fr) auto auto auto; }
.admin-taxonomy-toggle { display:inline-flex; align-items:center; gap:.38rem; min-height:2.75rem; padding:0 .6rem; border:1px solid rgba(0,0,0,.08); border-radius:.78rem; background:white; color:#443d37; font-size:.68rem; font-weight:750; white-space:nowrap; }
.admin-taxonomy-toggle input { width:1rem; height:1rem; accent-color:#1c1c1c; }
.admin-detail-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.6rem; padding:0 1.5rem 1.2rem; }
.admin-detail-stats div { display:flex; flex-direction:column; gap:.25rem; min-width:0; padding:1rem; border:1px solid rgba(0,0,0,.07); border-radius:1rem; background:rgba(255,255,255,.58); }
.admin-detail-stats span { color:#746c65; font-size:.66rem; }
.admin-detail-stats b { font-size:1rem; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.admin-order-items,.admin-history,.admin-detail-note { margin:0 1.5rem 1.2rem; padding:1rem; border:1px solid rgba(0,0,0,.07); border-radius:1rem; background:rgba(255,255,255,.55); }
.admin-order-items > div,.admin-history > div,.admin-history > button { display:flex; justify-content:space-between; align-items:center; gap:1rem; width:100%; padding:.7rem 0; border:0; border-top:1px solid rgba(0,0,0,.07); background:transparent; text-align:left; }
.admin-order-items > div:first-child,.admin-history > :first-child { border-top:0; }
.admin-order-items span,.admin-history b { display:flex; flex-direction:column; font-size:.76rem; }
.admin-order-items small,.admin-history span { color:#746c65; font-size:.65rem; }
.admin-history h3,.admin-detail-note b { margin:0 0 .55rem; font-size:.85rem; }
.admin-detail-note p,.admin-history p { margin:0; color:#5f5852; font-size:.76rem; white-space:pre-wrap; overflow-wrap:anywhere; }

.support-list { display:grid; gap:.5rem; }
.support-row { display:grid; grid-template-columns:auto minmax(10rem,1fr) minmax(12rem,1.5fr) auto; gap:.75rem; align-items:center; width:100%; min-height:4.2rem; border:1px solid rgba(0,0,0,.08); border-radius:1rem; padding:.7rem; background:rgba(255,255,255,.5); color:#191919; cursor:pointer; text-align:left; }
.support-row b { font-size:.78rem; }
.support-row p { margin:0; overflow:hidden; color:#69615b; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.support-row small { color:#817a73; font-size:.65rem; }
.support-status { padding:.3rem .48rem; border-radius:999px; background:#eee8de; font-size:.6rem; font-weight:800; }
.support-status.new { background:#f3cf64; }
.support-status.in_progress { background:#b9d9ff; }
.support-status.waiting_customer { background:#d7d0f5; }
.support-status.closed { background:#cce7d5; }
.support-meta { display:grid; grid-template-columns:1fr 1fr auto; gap:.55rem; padding-top:0 !important; }
.support-meta label,.support-reply label { display:grid; gap:.35rem; color:#655e57; font-size:.7rem; font-weight:750; }
.support-meta select,.support-reply textarea { min-height:2.75rem; border:1px solid var(--line); border-radius:.75rem; padding:.6rem .7rem; background:white; }
.support-thread { display:grid; gap:.65rem; max-height:42vh; overflow-y:auto; padding:0 1.5rem; overscroll-behavior:contain; }
.support-thread article { width:min(82%,38rem); padding:.75rem .85rem; border-radius:1rem 1rem 1rem .25rem; background:white; }
.support-thread article.staff { justify-self:end; border-radius:1rem 1rem .25rem 1rem; background:#1d1b19; color:white; }
.support-thread small,.support-thread time { display:block; opacity:.62; font-size:.62rem; }
.support-thread p { margin:.3rem 0; white-space:pre-wrap; }
.support-thread em { display:inline-flex; margin:.2rem 0; padding:.2rem .45rem; border-radius:999px; background:rgba(20,18,16,.08); font-size:.62rem; font-style:normal; }
.support-thread article.staff em { background:rgba(255,255,255,.16); }
.support-reply { display:grid; grid-template-columns:1fr auto; gap:.55rem; align-items:end; }
.support-reply textarea { min-height:5rem; resize:vertical; }
.admin-setting-wide,.admin-recipient-field,.admin-form-actions { grid-column:1 / -1; }
.admin-form-actions { display:flex; justify-content:flex-end; gap:.5rem; }
.admin-recipient-field { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem; border:1px solid rgba(0,0,0,.08); border-radius:1rem; padding:.85rem; }
.admin-recipient-field legend { padding:0 .3rem; color:#5f5953; font-size:.72rem; font-weight:800; }
.admin-recipient-field label { display:flex; align-items:center; gap:.45rem; min-height:2.5rem; padding:.4rem .55rem; border-radius:.7rem; background:rgba(255,255,255,.62); font-size:.7rem; }
.campaign-list { display:grid; gap:.4rem; }
.campaign-list > div { display:flex; justify-content:space-between; gap:.75rem; padding:.65rem 0; border-top:1px solid rgba(0,0,0,.08); font-size:.72rem; }
.campaign-list span { color:#6f6963; }
.campaign-list aside { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.4rem; }

.menu-overlay { position: fixed; z-index: 250; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 6vw; background: #9e0d0c; color: white; opacity: 0; visibility: hidden; clip-path: circle(0 at 50% 10%); transition: opacity .25s var(--ease-out), clip-path .55s var(--ease-in-out), visibility .55s; }
.menu-overlay.open { opacity: 1; visibility: visible; clip-path: circle(220% at 50% 10%); }
.menu-overlay > button { position: absolute; top: 2rem; right: 2rem; color: white; background: rgba(255,255,255,.12); }
.menu-overlay nav { display: flex; flex-direction: column; }
.menu-overlay nav a { position: relative; display: flex; justify-content: space-between; align-items: baseline; padding: .25rem 2.2rem .25rem 0; font-size: clamp(3rem, 9vw, 8.5rem); line-height: .95; letter-spacing: -.065em; font-weight: 800; transition: opacity .18s ease, transform .25s var(--ease-out); }
.menu-overlay nav a span { position: absolute; right: 0; bottom: .8em; }
.menu-overlay nav span { font-size: .75rem; letter-spacing: .15em; }
.menu-overlay p { margin-top: 3rem; color: rgba(255,255,255,.55); }

.search-overlay { position: fixed; z-index: 240; inset: 0; padding: 10vh 8vw; background: rgba(239,232,222,.94); backdrop-filter: blur(28px); opacity: 0; visibility: hidden; transform: translateY(-1rem); transition: opacity .24s var(--ease-out), transform .24s var(--ease-out), visibility .24s; }
.search-overlay.open { opacity: 1; visibility: visible; transform: translateY(0); }
.search-overlay > button { position: absolute; top: 2rem; right: 2rem; }
.search-overlay label span { display: block; margin-bottom: 1rem; color: var(--red); font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 800; }
.search-overlay input { width: 100%; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 0 0 1rem; font-size: clamp(2rem, 5vw, 5rem); line-height: 1; letter-spacing: -.05em; outline: none; }
#searchResults { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-top: 2rem; }
.search-result { padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.35); cursor: pointer; }
.search-result b { display: block; }
.search-result small { color: #777067; }

.cookie-popup { position: fixed; z-index: 150; left: 50%; bottom: max(1rem, env(safe-area-inset-bottom, 0px)); display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1.15rem; align-items: center; width: min(76rem, calc(100% - 2rem - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))); padding: .72rem .78rem .72rem 1.15rem; border-radius: 999px; background: linear-gradient(90deg, rgba(255,255,255,.17) 0%, rgba(44,22,19,.64) 29%, rgba(13,9,8,.9) 50%, rgba(44,22,19,.64) 71%, rgba(255,255,255,.17) 100%); color: white; opacity: 0; transform: translate(-50%, calc(100% + 2rem)) scale(.98); transition: opacity .32s var(--ease-out), transform .42s var(--ease-drawer); }
.cookie-popup.show { opacity: 1; transform: translate(-50%, 0) scale(1); }
.cookie-popup > div:first-child { display:flex; align-items:center; min-width:0; gap:.8rem; }
.cookie-popup span { flex:0 0 auto; font-size: .78rem; font-weight: 800; white-space:nowrap; }
.cookie-popup p { margin:0; color: rgba(255,255,255,.72); font-size: .7rem; line-height:1.3; }
.cookie-popup > div:last-child { display: flex; flex:0 0 auto; gap: .45rem; }
.cookie-popup button { min-height:2.75rem; border: 0; border-radius: .75rem; padding: .72rem .85rem; cursor: pointer; font-size: .72rem; font-weight: 750; }
.cookie-popup .cookie-legal { flex:0 0 auto; color:rgba(255,255,255,.48); font-size:.62rem; white-space:nowrap; }
.cookie-popup .cookie-legal button { display:inline-flex; align-items:center; justify-content:center; min-width:2.75rem; min-height:2.75rem; border-radius:0; padding:0 .08rem; background:transparent; color:rgba(255,255,255,.68); font-size:inherit; font-weight:650; text-decoration:underline; text-decoration-color:rgba(255,255,255,.22); text-underline-offset:.17em; }
.cookie-decline { background: rgba(255,255,255,.12); color: white; }
.cookie-accept { background: white; color: var(--ink); }
.toast-stack { position: fixed; z-index: 400; top: 1.2rem; right: 1.2rem; display: flex; flex-direction: column; gap: .45rem; pointer-events: none; }
.toast { width: min(22rem, calc(100vw - 2.4rem)); padding: .9rem 1rem; border: 1px solid rgba(255,255,255,.7); border-radius: 1rem; background: rgba(250,246,239,.9); box-shadow: 0 18px 50px rgba(20,12,8,.18); backdrop-filter: blur(20px); opacity: 1; transform: translateY(0); transition: opacity .22s var(--ease-out), transform .3s var(--ease-out); }
.toast.hiding { opacity: 0; transform: translateY(-.7rem); }
.toast b { display: block; font-size: .82rem; }
.toast span { color: #716a63; font-size: .72rem; }

@media (hover:hover) and (pointer:fine) {
  .hero-cta:hover, .add-button:hover, .primary-button:hover { background: #d51816; }
  .add-button:hover { transform:scale(1.1); box-shadow:0 14px 30px rgba(184,16,15,.28),inset 0 1px rgba(255,255,255,.25); }
  .quality-chip:hover::after, .origin-chip:hover::after { opacity:1; transform:translate3d(18%,-8%,0) rotate(80deg); }
  .product-card:hover { transform: translateY(-7px); box-shadow: 0 24px 65px rgba(61,40,24,.15); }
  .product-card:hover .product-photo::before { transform: rotate(-4deg) scale(1.07); filter: saturate(1.05); }
  .product-title-button:hover { color:var(--red); }
  .product-card:hover .product-promo-tag::after { transform:skewX(-18deg) translateX(520%); }
  .stepper button:hover { background: rgba(20,18,16,.06); }
  .sort-trigger:hover { border-color:rgba(20,18,16,.16); background:rgba(20,18,16,.08); }
  .sort-menu button:hover { background:rgba(20,18,16,.06); color:var(--ink); }
  .sort-menu button[aria-selected="true"]:hover { background:var(--ink); color:white; }
  .menu-overlay nav a:hover { opacity: .6; transform: translateX(1rem); }
  .contact-documents button:hover { color:#e5e0d8; }
  .recommendation-controls button:hover,.admin-action:hover { transform:translateY(-2px); }
  .admin-sidebar nav button:hover { color:#191919; background:rgba(0,0,0,.055); }
  .admin-sidebar nav button.active:hover { color:white; background:#1c1c1c; }
}

button:active, .hero-cta:active, .product-card:active { transform: scale(.97); }

@media (max-width: 1180px) {
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .site-header { left: 1rem; right: 1rem; top: .8rem; grid-template-columns: 1fr auto; gap: .45rem; }
  .nav-pill { display: flex; padding: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .nav-pill a { display: none; }
  .brand-name { display: none; }
  .brand-mark { width: 2.75rem; height: 2.75rem; }
  .hero-title { top: 28%; font-size: clamp(4.2rem, 21vw, 9rem); }
  .hero-title span { font-size: .25em; }
  .hero-stat { width:10rem; }
  .hero-stat-left { left:1rem; bottom:36%; }
  .hero-stat-right { right:1rem; bottom:29%; }
  .quality-chip { left: 1rem; bottom: 14%; }
  .origin-chip { display:block; right:1rem; bottom:14%; }
  .hero-bottom { display: none; }
  .hero-cta { right: 1rem; bottom: 4%; }
  body.has-cart .hero-cta { right:6.25rem; }
  .section-dark { grid-template-columns: 1fr; padding: 7rem 1rem; min-height: auto; }
  .sticky-label { position: static; }
  .statement-copy, .cut-card { grid-column: 1; }
  .statement-copy { margin-bottom: 4rem; }
  .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .catalog-section { padding: 6rem 1rem; }
  .catalog-head { align-items: start; flex-direction: column; }
  .categories { max-width:55vw; }
  .delivery-section { grid-template-columns: 1fr; padding:5.5rem 1rem; }
  .delivery-panel { padding:0; }
  .delivery-route { min-height:24rem; }
  .loyalty-section { grid-template-columns:1fr; gap:2.5rem; padding:5.5rem 1rem; }
  .loyalty-intro h2 { max-width:none; }
  .loyalty-cards { grid-template-columns:repeat(3,minmax(13rem,1fr)); overflow-x:auto; padding-bottom:.5rem; scrollbar-width:none; }
  .loyalty-cards::-webkit-scrollbar { display:none; }
  .loyalty-card { aspect-ratio: 2.1; }
  footer { padding: 5rem 1rem 2rem; }
  .contact-footer { grid-template-columns: 1fr; }
  .map-shell { width:100%; min-height:28rem; justify-self:stretch; }
  .product-modal-layout { grid-template-columns: 1fr; }
  .modal-photo { min-height: 20rem; }
  .admin-shell { grid-template-columns:1fr; grid-template-rows:minmax(0,1fr) auto; gap:.4rem; padding:.4rem; }
  .admin-main { grid-row:1; }
  .admin-sidebar { grid-row:2; flex-direction:row; padding:.4rem; border-radius:1.2rem; }
  .admin-logo,.admin-exit { display:none; }
  .admin-sidebar nav { flex:1; flex-direction:row; gap:.25rem; overflow-x:auto; }
  .admin-sidebar nav button { flex:0 0 auto; min-height:2.9rem; padding:.55rem .72rem; justify-content:center; font-size:.7rem; }
  .admin-sidebar nav i { margin-left:.35rem; }
  .metrics { grid-template-columns: repeat(2,1fr); }
  .admin-grid { grid-template-columns: 1fr; }
  .admin-settings { grid-template-columns:1fr; }
  .admin-setting-wide,.admin-recipient-field,.admin-form-actions { grid-column:auto; }
  .admin-catalog-row { grid-template-columns:3.5rem minmax(0,1fr) auto; }
  .admin-product-price,.admin-product-stock { grid-column:2; }
  .admin-catalog-row > .admin-action { grid-column:3; grid-row:1 / span 3; }
}

@media (max-width: 820px) {
  .cookie-popup { grid-template-columns:1fr auto; align-items:center; border-radius:1.45rem; padding:.85rem; }
  .cookie-popup > div:first-child { flex-wrap:wrap; gap:.25rem .65rem; }
  .cookie-popup > div:first-child > p:not(.cookie-legal) { flex:1 1 20rem; }
  .cookie-popup .cookie-legal { flex:1 0 100%; }
}

@media (max-width: 560px) {
  .hero-bg { background-image:url("accets/hero-mobile-v2.webp"); background-position:center bottom; background-size:cover; }
  .hero-kicker { top: 19%; width: 90%; }
  .hero-title { top: 27%; font-size: 22vw; }
  .hero-stat { width:calc(50% - 1.4rem); }
  .hero-stat-left { left:.9rem; bottom:45%; }
  .hero-stat-right { right:.9rem; bottom:38%; }
  .hero-stat b { font-size: .73rem; }
  .hero-stat small { font-size: .6rem; }
  .stars { font-size: .75rem; }
  .quality-chip, .origin-chip { left:50%; right:auto; translate:-50% 0; width:max-content; max-width:calc(100% - 2rem); padding:.48rem .7rem; font-size:.6rem; }
  .quality-chip { bottom:18%; }
  .origin-chip { display:block; bottom:13%; }
  .hero-cta { left: 1rem; right: 1rem; bottom:3%; justify-content: space-between; }
  body.has-cart .hero-cta { right:5.75rem; }
  .product-grid { grid-template-columns: 1fr; }
  .product-photo { height: 16rem; }
  .catalog-toolbar { align-items:stretch; flex-direction:column; width:100%; }
  .categories { max-width:100%; }
  .sort-control { justify-content:center; padding:.25rem 0 0; }
  .premium-select, .sort-trigger { width:100%; }
  .sort-menu { left:0; right:0; width:auto; transform-origin:50% 0; }
  .catalog-head h2 { font-size: 15vw; }
  .loyalty-intro h2 { font-size:clamp(2.25rem,12vw,3.4rem); line-height:.94; }
  .loyalty-card { aspect-ratio: 1.55; }
  .delivery-terms { grid-template-columns:1fr 1fr; }
  .delivery-route { min-height:20rem; }
  .contact-cards { grid-template-columns: 1fr; }
  .contact-address { grid-column:1; }
  .schedule-card { grid-row:auto; }
  .delivery-contact { grid-row:auto; }
  .map-shell { min-height:23rem; border-radius:1.45rem; }
  .cart-fab { right: 1rem; bottom: 1rem; }
  .cookie-popup { grid-template-columns: 1fr; width:calc(100% - 1.25rem - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)); }
  .cookie-popup > div:first-child > p:not(.cookie-legal) { flex-basis:100%; }
  .cookie-popup > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .product-modal, .login-modal, .legal-modal { width: calc(100% - 1rem); max-height: calc(100svh - 1rem); border-radius: 1.4rem; }
  .legal-modal { height:calc(100dvh - 1rem); }
  .legal-modal > .modal-close { top:.85rem; right:.85rem; }
  .legal-shell { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); min-height:0; }
  .legal-head { min-height:0; padding:1rem 1rem .85rem; }
  .legal-head::after { right:-2rem; bottom:-4rem; width:8rem; }
  .legal-brand { min-height:2.75rem; padding-right:3.2rem; }
  .legal-brand-mark { width:2rem; height:2rem; }
  .legal-head h2 { max-width:calc(100% - 3.4rem); margin:1rem 0 .65rem; font-size:clamp(1.65rem,7.5vw,2.15rem); line-height:1; }
  .legal-meta span { display:none; }
  .legal-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.3rem; overflow:visible; margin-top:.85rem; padding-top:0; scrollbar-width:none; }
  .legal-tabs::-webkit-scrollbar { display:none; }
  .legal-tabs button { display:flex; gap:.28rem; min-width:0; min-height:2.75rem; padding:.4rem .45rem; border-radius:.8rem; }
  .legal-tabs button span { min-width:0; white-space:nowrap; font-size:.64rem; }
  .legal-document { width:100%; padding:2.15rem 1.15rem 2.5rem; }
  .legal-eyebrow { margin-bottom:.65rem; font-size:.63rem; }
  .legal-document h3 { max-width:18ch; margin-bottom:1.15rem; font-size:clamp(2rem,10vw,2.8rem); }
  .legal-lead { font-size:1rem; line-height:1.65; }
  .legal-document ol { margin:1.8rem 0; }
  .legal-document li { padding:1rem .05rem 1rem 2.75rem; font-size:1rem; line-height:1.65; }
  .legal-document li::before { left:.05rem; }
  .requisites dl { grid-template-columns:1fr; }
  .requisites dl div,.requisites dl div:first-child,.requisites dl div:nth-child(5),.requisites dl div:last-child { grid-column:auto; }
  .modal-info { padding: 2.5rem 1.2rem 1.5rem; }
  .recommendations { padding: 0 1.2rem 1.5rem; }
  .recommendations { padding:1.4rem 1.2rem 1.5rem; }
  .recommendation-row { grid-auto-columns:minmax(14rem,82%); }
  .recommendation-controls { display:none; }
  #searchResults { grid-template-columns: 1fr; }
  .admin-main { padding:.2rem; }
  .menu-overlay { padding: 1.5rem; }
  .menu-overlay nav a { font-size: clamp(2.75rem, 13.2vw, 4rem); }
  .admin-topbar { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .metrics { grid-template-columns: 1fr 1fr; }
  .order-row { grid-template-columns: 1fr 1fr; }
  .admin-profile span { display:none; }
  .admin-content { padding-top:.45rem; }
  .admin-card,.metric-card { border-radius:1.15rem; }
  .admin-catalog-toolbar { grid-template-columns:1fr; }
  .admin-catalog-row { grid-template-columns:3rem minmax(0,1fr); gap:.65rem; padding:.65rem; }
  .admin-product-thumb { width:3rem; height:3rem; }
  .admin-product-price,.admin-product-stock { grid-column:2; }
  .admin-catalog-row > .admin-action { grid-column:1 / -1; grid-row:auto; width:100%; }
  .admin-inline-form { flex-wrap:wrap; }
  .admin-inline-form .admin-action { flex:1 0 100%; }
  .admin-taxonomy-body { padding:0 1rem 1rem; }
  .admin-taxonomy-create-form,.admin-taxonomy-item,.admin-taxonomy-item:has(.admin-taxonomy-color) { grid-template-columns:minmax(0,1fr) auto; }
  .admin-taxonomy-create-form > label:first-child,.admin-taxonomy-item > label:first-child { grid-column:1 / -1; }
  .admin-taxonomy-create-form .admin-action { min-width:7rem; }
  .admin-taxonomy-toggle { justify-content:center; }
  .admin-editor { width:calc(100% - .5rem); max-height:calc(100dvh - .5rem); border-radius:1.2rem; }
  .admin-editor form,.support-editor-head { padding:1rem; }
  .admin-editor-grid { grid-template-columns:1fr; }
  .admin-field-wide { grid-column:auto; }
  .admin-editor-actions { margin:1rem -1rem -1rem; padding:1rem calc(1rem + env(safe-area-inset-right,0px)) calc(1rem + env(safe-area-inset-bottom,0px)) calc(1rem + env(safe-area-inset-left,0px)); }
  .support-row { grid-template-columns:auto 1fr; }
  .support-row p,.support-row small { grid-column:1 / -1; white-space:normal; }
  .support-meta,.support-reply { grid-template-columns:1fr; }
  .support-thread { padding:0 1rem; }
  .admin-recipient-field { grid-template-columns:1fr; }
  .admin-form-actions { display:grid; grid-template-columns:1fr; }
  .admin-table-head { display:none; }
  .admin-user-row { min-width:0; grid-template-columns:1fr 1fr; padding:.8rem; border:1px solid rgba(0,0,0,.08); border-radius:.9rem; }
  .admin-detail-stats { grid-template-columns:1fr 1fr; padding:0 1rem 1rem; }
  .admin-order-items,.admin-history,.admin-detail-note { margin:0 1rem 1rem; }
}

@media (max-height: 500px) and (orientation: landscape) {
  .hero { min-height:100svh; }
  .hero-kicker { top:20%; }
  .hero-title { top:25%; }
  .hero-stat-left { bottom:34%; }
  .hero-stat-right { bottom:31%; }
  .quality-chip,.origin-chip { display:none; }
  .hero-cta { bottom:1rem; }
}

@media (pointer:coarse) {
  input,textarea,select { font-size:16px !important; }
  button,a,[role="button"] { touch-action:manipulation; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
}

@media (max-height:500px) and (min-width:561px) {
  .legal-modal { height:calc(100dvh - 1rem); max-height:calc(100dvh - 1rem); }
  .legal-shell { grid-template-columns:minmax(15rem,.72fr) minmax(0,1.58fr); }
  .legal-head { padding:1rem; }
  .legal-brand { padding-right:2.8rem; font-size:.58rem; }
  .legal-brand-mark { width:2rem; height:2rem; }
  .legal-head h2 { max-width:10ch; margin:.9rem 0 .55rem; font-size:1.8rem; line-height:.95; }
  .legal-meta span { display:none; }
  .legal-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.25rem; margin-top:.75rem; padding-top:0; }
  .legal-tabs button { display:flex; gap:.2rem; min-width:0; min-height:2.5rem; padding:.35rem; border-radius:.75rem; }
  .legal-tabs button span { min-width:0; white-space:nowrap; font-size:.58rem; }
  .legal-tabs button i { font-size:.55rem; }
  .legal-document { padding:2rem 2.2rem 2.5rem; }
  .legal-document h3 { font-size:2.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
  .reveal { transform: none; transition: opacity .2s ease; }
  .hero-bg { transform: none !important; }
  .drawer-panel, .search-overlay, .menu-overlay, .cart-fab { transition: opacity .2s ease, visibility .2s ease; transform: none !important; clip-path: none !important; }
  .scroll-thread-glow { display:none; }
  .scroll-thread-line { opacity:.45; }
}

@media (prefers-reduced-transparency: reduce) {
  .glass, .glass-light, .nav-pill, .drawer-panel, .product-modal, .login-modal, .legal-modal, .admin-card, .metric-card { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .nav-pill { background: #3a1715; }
  .glass-light, .drawer-panel, .product-modal, .login-modal, .legal-modal { background: #faf6ef; }
}

@media (prefers-contrast: more) {
  .glass, .glass-light { border: 2px solid currentColor; }
  .product-card { border: 2px solid var(--ink); }
}
