/* =========================================================
   LUNESSA BEAUTY — LUNAR BOTANICA COMMERCE UI
   ---------------------------------------------------------
   Visual strategy:
   - warm ivory + champagne gold, derived from the supplied logo
   - editorial asymmetry for a luxury feel
   - real product imagery above the fold for stronger commerce impact
   - glass / rounded app-like controls for modern mobile interaction
   ========================================================= */

:root {
  --bg: #f7f2ea;
  --bg-2: #efe6d9;
  --paper: rgba(255,255,255,.72);
  --paper-solid: #fffdfa;
  --ink: #221b16;
  --muted: #7d7167;
  --line: rgba(65,48,34,.14);
  --gold: #a87432;
  --gold-2: #d3ac68;
  --gold-3: #f2d8a6;
  --dark: #20170f;
  --shadow: 0 24px 70px rgba(83,60,39,.12);
  --radius-xl: 42px;
  --radius-lg: 28px;
  --radius-md: 20px;
  --shell: min(1120px, calc(100vw - 48px));
  --ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 82% 12%, rgba(219,178,111,.16), transparent 30%),
    radial-gradient(circle at 8% 42%, rgba(255,255,255,.8), transparent 26%),
    linear-gradient(180deg, #faf6ef 0%, var(--bg) 58%, #f2eadf 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Thai", sans-serif;
  min-height: 100vh;
  overflow-x: hidden;
}
body.no-scroll { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img { max-width: 100%; display: block; }

.noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 100;
  opacity: .16; mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");
}
.page-glow { position: fixed; border-radius: 50%; filter: blur(50px); pointer-events:none; z-index:-1; }
.glow-one { width: 330px; height: 330px; right: -70px; top: 260px; background: rgba(231,192,126,.16); }
.glow-two { width: 250px; height: 250px; left: -80px; top: 850px; background: rgba(255,255,255,.8); }
.section-shell { width: var(--shell); margin-inline: auto; }

/* Navigation */
.site-header { position: sticky; top: 14px; z-index: 50; padding-top: 14px; }
.nav-shell {
  width: var(--shell); margin: 0 auto; min-height: 66px; padding: 7px 9px 7px 12px;
  display: grid; grid-template-columns: 270px 1fr auto; align-items: center; gap: 18px;
  border: 1px solid rgba(255,255,255,.82); border-radius: 999px;
  background: rgba(252,248,242,.76); box-shadow: 0 16px 42px rgba(52,40,29,.09);
  backdrop-filter: blur(20px) saturate(1.15);
}
.brand-lockup {
  height: 52px; width: 250px; border-radius: 999px; background: rgba(255,255,255,.82);
  display: flex; align-items:center; justify-content:center; overflow: hidden;
}
.brand-lockup img { width: 92%; height: 82%; object-fit: contain; }
.nav-links { display:flex; align-items:center; justify-content:center; gap: 30px; font-size: 14px; }
.nav-links a { position:relative; color:#453a31; }
.nav-links a::after { content:""; position:absolute; height:1px; left:50%; right:50%; bottom:-7px; background:var(--gold); transition:.25s var(--ease); }
.nav-links a:hover::after { left:0; right:0; }
.nav-actions { display:flex; align-items:center; gap:10px; }
.lang-switch { display:flex; gap:4px; padding:4px; background:rgba(255,255,255,.65); border:1px solid var(--line); border-radius:999px; }
.lang-btn { width:38px; height:38px; padding:5px; border:0; border-radius:50%; background:transparent; cursor:pointer; display:grid; place-items:center; transition:.2s; }
.lang-btn img { width:26px; height:26px; object-fit:cover; border-radius:50%; box-shadow:0 0 0 1px rgba(34,27,22,.12); }
.lang-btn.is-active { background:#fff; box-shadow:0 0 0 2px var(--gold), 0 6px 16px rgba(80,55,29,.12); }
.bag-button { border:0; border-radius:999px; padding:12px 15px 12px 18px; background:var(--dark); color:#fff; cursor:pointer; display:flex; align-items:center; gap:10px; font-weight:700; }
.bag-count { width:24px; height:24px; border-radius:50%; background:var(--gold); display:grid; place-items:center; font-size:12px; }

/* Shared typography */
.eyebrow { margin:0 0 12px; color:#98703c; font-size:11px; letter-spacing:.18em; font-weight:800; text-transform:uppercase; }
.eyebrow.light { color:#d9bd91; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family: Georgia, "Times New Roman", "Noto Serif Thai", serif; font-weight:500; }
h1 em,h2 em { color:var(--gold); font-weight:500; }
.btn { min-height:48px; padding:0 22px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; border:1px solid transparent; cursor:pointer; transition:.25s var(--ease); font-weight:700; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--dark); color:#fff; box-shadow:0 12px 26px rgba(31,22,15,.16); }
.btn-ghost { border-color:var(--line); background:rgba(255,255,255,.55); }
.btn-gold { background:linear-gradient(135deg,#c29251,#ebcd93); color:#2d2116; }
.btn-block { width:100%; }

/* Hero — actual products dominate the first screen. */
.hero { min-height: 790px; padding: 80px 0 62px; display:grid; grid-template-columns: .92fr 1.08fr; gap: 50px; align-items:center; }
.hero-copy { position:relative; z-index:2; }
.hero-kicker-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.catalogue-pill { display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid rgba(168,116,50,.2); border-radius:999px; background:rgba(255,255,255,.55); color:#7f6546; font-size:12px; }
.catalogue-pill b { color:var(--ink); }
.hero h1 { font-size:clamp(58px,7vw,104px); line-height:.88; letter-spacing:-.045em; margin:28px 0 28px; }
html[data-lang="th"] .hero h1 { font-family:"Noto Serif Thai", Georgia, serif; line-height:1.02; letter-spacing:-.025em; font-size:clamp(54px,6.3vw,92px); }
.hero-text { max-width:540px; font-size:18px; line-height:1.75; color:#655a51; }
.hero-actions { display:flex; gap:12px; margin:32px 0 48px; flex-wrap:wrap; }
.hero-trust { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:440px; padding-top:22px; border-top:1px solid var(--line); }
.hero-trust span { display:block; color:var(--muted); font-size:11px; margin-bottom:5px; }
.hero-trust strong { font-size:14px; }

.hero-showcase { position:relative; min-height:650px; }
.hero-showcase::before {
  content:""; position:absolute; width:590px; height:590px; border:1px solid rgba(184,135,69,.22); border-radius:50%; right:-88px; top:16px;
  box-shadow: inset 0 0 80px rgba(255,255,255,.45);
}
.hero-main-card {
  position:absolute; width:66%; height:78%; right:6%; top:6%; border-radius:120px 120px 46px 46px;
  background:linear-gradient(150deg,rgba(255,255,255,.93),rgba(247,239,227,.82)); border:1px solid rgba(255,255,255,.9); box-shadow:var(--shadow); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.hero-main-card::before { content:""; position:absolute; width:76%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(190,145,82,.18); }
.hero-main-card img { width:74%; height:70%; object-fit:contain; position:relative; z-index:1; filter:drop-shadow(0 26px 26px rgba(68,45,26,.12)); transition:.5s var(--ease); }
.hero-main-card:hover img { transform:translateY(-8px) scale(1.03); }
.hero-feature-info { position:absolute; left:8%; bottom:6%; right:8%; z-index:2; background:rgba(255,253,250,.84); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.8); border-radius:22px; padding:14px 15px; }
.hero-feature-info small { display:block; color:var(--gold); font-size:10px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:4px; }
.hero-feature-info strong { display:block; font-size:14px; line-height:1.35; padding-right:65px; }
.hero-feature-info b { position:absolute; right:15px; top:50%; transform:translateY(-50%); font-family:Georgia,serif; font-size:18px; }
.hero-mini-card { position:absolute; width:190px; height:230px; border-radius:28px; background:rgba(255,255,255,.78); border:1px solid rgba(255,255,255,.95); box-shadow:0 20px 50px rgba(75,53,34,.13); display:flex; align-items:center; justify-content:center; overflow:hidden; backdrop-filter:blur(12px); }
.hero-mini-card img { width:82%; height:76%; object-fit:contain; filter:drop-shadow(0 16px 18px rgba(80,55,30,.12)); transition:.35s var(--ease); }
.hero-mini-card:hover img { transform:scale(1.06) rotate(-1deg); }
.hero-mini-a { left:0; top:33%; transform:rotate(-6deg); }
.hero-mini-b { right:-4%; bottom:1%; transform:rotate(7deg); }
.hero-mini-c { left:16%; bottom:-1%; width:150px; height:178px; transform:rotate(4deg); }
.hero-spark { position:absolute; z-index:3; font-size:34px; color:var(--gold); right:4%; top:6%; text-shadow:0 0 30px rgba(187,133,63,.35); }

/* Sections */
.category-section, .collection, .wholesale, .contact { padding:90px 0; }
.section-heading { display:grid; grid-template-columns:1fr minmax(240px,420px); gap:30px; align-items:end; margin-bottom:36px; }
.section-heading.compact { margin-bottom:28px; }
.section-heading h2 { font-size:clamp(42px,5vw,72px); line-height:.98; margin:0; letter-spacing:-.035em; }
.section-heading p:last-child { color:var(--muted); line-height:1.7; margin:0; }

/* Category grid intentionally mixes sizes rather than looking like a numbered source list. */
.category-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.category-card { min-height:142px; padding:18px; border-radius:26px; border:1px solid var(--line); background:rgba(255,255,255,.56); position:relative; overflow:hidden; cursor:pointer; text-align:left; transition:.3s var(--ease); }
.category-card::after { content:""; position:absolute; width:100px; height:100px; border-radius:50%; right:-36px; bottom:-34px; background:radial-gradient(circle,var(--gold-3),transparent 70%); opacity:.6; }
.category-card:hover { transform:translateY(-4px); background:#fff; box-shadow:0 16px 40px rgba(80,55,34,.08); }
.category-card .cat-icon { width:40px; height:40px; border-radius:14px; display:grid; place-items:center; background:#fff; border:1px solid var(--line); color:var(--gold); font-size:18px; margin-bottom:22px; }
.category-card strong { display:block; font-size:14px; line-height:1.35; max-width:130px; }
.category-card span.count { display:block; color:var(--muted); font-size:11px; margin-top:6px; }

/* Catalogue tools */
.catalogue-toolbar { position:sticky; top:98px; z-index:20; padding:12px; border:1px solid rgba(255,255,255,.86); border-radius:24px; background:rgba(247,242,234,.82); backdrop-filter:blur(18px); box-shadow:0 14px 34px rgba(77,56,39,.07); }
.search-box { height:50px; display:flex; align-items:center; gap:10px; padding:0 15px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.search-box span { font-size:24px; color:var(--gold); }
.search-box input { width:100%; border:0; outline:0; background:transparent; color:var(--ink); }
.filter-row { display:flex; gap:7px; overflow:auto; padding-top:10px; scrollbar-width:none; }
.filter-row::-webkit-scrollbar { display:none; }
.filter-chip { flex:0 0 auto; border:1px solid var(--line); background:rgba(255,255,255,.55); min-height:36px; border-radius:999px; padding:0 13px; cursor:pointer; font-size:12px; transition:.2s; }
.filter-chip:hover,.filter-chip.is-active { background:var(--dark); color:white; border-color:var(--dark); }
.catalogue-meta { display:flex; justify-content:space-between; align-items:center; padding:18px 2px 12px; color:var(--muted); font-size:12px; }
.text-action { border:0; background:transparent; color:var(--gold); cursor:pointer; font-weight:700; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.product-card { min-width:0; border-radius:28px; background:rgba(255,255,255,.68); border:1px solid rgba(255,255,255,.9); overflow:hidden; box-shadow:0 12px 34px rgba(72,52,36,.055); transition:.35s var(--ease); display:flex; flex-direction:column; }
.product-card:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(72,52,36,.10); }
.product-image { position:relative; aspect-ratio:1/1.05; background:linear-gradient(145deg,#fff,#f1e8dc); display:grid; place-items:center; overflow:hidden; }
.product-image::after { content:""; position:absolute; inset:auto 10% 8% 10%; height:18px; border-radius:50%; background:rgba(100,65,32,.08); filter:blur(8px); }
.product-image img { width:82%; height:82%; object-fit:contain; position:relative; z-index:1; transition:.45s var(--ease); }
.product-card:hover .product-image img { transform:scale(1.045); }
.product-badge { position:absolute; top:12px; left:12px; z-index:2; border-radius:999px; padding:6px 9px; background:rgba(255,255,255,.86); backdrop-filter:blur(8px); font-size:9px; letter-spacing:.09em; text-transform:uppercase; color:#785d3c; border:1px solid rgba(255,255,255,.9); }
.product-info { padding:15px 15px 16px; display:flex; flex-direction:column; flex:1; }
.product-title { font-size:14px; line-height:1.45; min-height:41px; margin:0 0 8px; font-weight:700; }
.product-desc { color:var(--muted); font-size:11px; line-height:1.55; margin:0 0 16px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:34px; }
.product-bottom { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.product-price { font-family:Georgia,serif; font-size:20px; }
.add-btn { width:38px; height:38px; border:0; border-radius:50%; background:var(--dark); color:#fff; font-size:20px; cursor:pointer; transition:.2s; }
.add-btn:hover { background:var(--gold); transform:rotate(90deg); }
.load-more-wrap { display:flex; justify-content:center; margin-top:32px; }
.load-more-wrap[hidden] { display:none; }

/* Wholesale */
.wholesale-panel { min-height:520px; border-radius:var(--radius-xl); background:linear-gradient(140deg,#21170f 0%,#342518 55%,#5b4024 120%); color:#fff; padding:56px; display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; position:relative; overflow:hidden; box-shadow:var(--shadow); }
.wholesale-panel::after { content:""; position:absolute; width:500px; height:500px; border:1px solid rgba(230,198,144,.18); border-radius:50%; right:-180px; top:-150px; }
.wholesale-copy { position:relative; z-index:1; }
.wholesale-copy h2 { font-size:clamp(48px,5vw,76px); line-height:.92; margin-bottom:26px; }
.wholesale-copy p { color:#d4c8bb; line-height:1.7; max-width:530px; }
.wholesale-copy .btn { margin-top:18px; }
.wholesale-steps { align-self:center; position:relative; z-index:1; }
.wholesale-steps article { display:grid; grid-template-columns:58px 1fr; gap:16px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.wholesale-steps article > span { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(224,194,146,.32); color:#d8b67d; font-family:Georgia,serif; }
.wholesale-steps h3 { margin:0 0 4px; font-size:16px; }
.wholesale-steps p { margin:0; color:#baafa5; line-height:1.55; font-size:13px; }

/* Contact */
.contact-card { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; padding:24px; border-radius:var(--radius-xl); background:rgba(255,255,255,.56); border:1px solid rgba(255,255,255,.85); box-shadow:var(--shadow); }
.contact-copy { padding:38px 34px; }
.contact-copy h2 { font-size:clamp(50px,5vw,78px); line-height:.9; margin-bottom:22px; }
.contact-intro { color:var(--muted); line-height:1.7; max-width:420px; }
.contact-list { display:grid; gap:8px; margin-top:34px; }
.contact-list a { padding:13px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; }
.contact-list span { color:var(--muted); font-size:12px; }
.contact-list strong { font-size:13px; text-align:right; }
.map-composition { min-height:430px; position:relative; border-radius:30px; overflow:hidden; background:linear-gradient(135deg,#eadbc6,#f8f2e8); }
.map-grid { position:absolute; inset:0; opacity:.3; background-image:linear-gradient(rgba(112,82,49,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(112,82,49,.15) 1px,transparent 1px); background-size:38px 38px; transform:rotate(-8deg) scale(1.2); }
.map-orbit { position:absolute; width:360px; height:360px; border:1px solid rgba(164,112,53,.35); border-radius:50%; right:-70px; top:-55px; }
.map-pin { position:absolute; width:70px; height:70px; border-radius:50%; display:grid; place-items:center; left:48%; top:43%; background:var(--dark); color:#e4bf83; box-shadow:0 18px 40px rgba(45,31,19,.18); }
.map-copy { position:absolute; left:24px; bottom:24px; right:24px; background:rgba(255,255,255,.82); backdrop-filter:blur(10px); border-radius:18px; padding:15px 17px; }
.map-copy span { display:block; color:var(--gold); font-size:10px; margin-bottom:5px; }
.map-copy strong { font-size:12px; line-height:1.5; }

/* Footer */
.site-footer { padding:50px 0 20px; overflow:hidden; }
.footer-top,.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.footer-top { padding-bottom:26px; border-bottom:1px solid var(--line); }
.footer-top img { width:230px; height:60px; object-fit:contain; }
.footer-top p,.footer-bottom { color:var(--muted); font-size:12px; }
.footer-bottom { padding-top:18px; }
.footer-wordmark { font-family:Georgia,serif; font-size:clamp(110px,19vw,250px); letter-spacing:-.06em; line-height:.75; color:rgba(104,75,47,.075); text-align:center; margin-top:56px; white-space:nowrap; }

/* Cart bottom sheet */
.sheet-backdrop { position:fixed; inset:0; background:rgba(24,17,12,.32); backdrop-filter:blur(7px); z-index:70; }
.cart-sheet { position:fixed; z-index:80; left:50%; bottom:0; width:min(760px,calc(100vw - 20px)); max-height:min(88vh,820px); transform:translate(-50%,105%); transition:.4s var(--ease); border-radius:32px 32px 0 0; background:#fffaf4; box-shadow:0 -20px 70px rgba(35,25,18,.22); padding:12px 24px 22px; display:flex; flex-direction:column; }
.cart-sheet.is-open { transform:translate(-50%,0); }
.sheet-handle { width:46px; height:5px; border-radius:999px; background:#d7c9ba; margin:0 auto 14px; }
.cart-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:15px; border-bottom:1px solid var(--line); }
.cart-head h2 { margin:0; font-size:34px; }
.icon-button { width:42px; height:42px; border-radius:50%; border:1px solid var(--line); background:#fff; cursor:pointer; font-size:24px; }
.cart-items { overflow:auto; min-height:130px; padding:6px 0; }
.cart-empty { color:var(--muted); text-align:center; padding:52px 16px; line-height:1.7; }
.cart-item { display:grid; grid-template-columns:76px 1fr auto; gap:13px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.cart-thumb { width:76px; height:76px; border-radius:16px; background:#f4ece1; display:grid; place-items:center; overflow:hidden; }
.cart-thumb img { width:88%; height:88%; object-fit:contain; }
.cart-item h4 { margin:0 0 6px; font-size:13px; line-height:1.4; }
.cart-item small { color:var(--muted); }
.cart-controls { display:flex; align-items:center; gap:8px; margin-top:9px; }
.qty-btn { width:29px; height:29px; border-radius:50%; border:1px solid var(--line); background:#fff; cursor:pointer; }
.remove-btn { border:0; background:transparent; color:#a16f43; font-size:11px; cursor:pointer; }
.cart-line-total { font-weight:800; font-size:13px; }
.cart-footer { padding-top:15px; }
.subtotal-row { display:flex; justify-content:space-between; align-items:center; font-size:15px; }
.subtotal-row strong { font-family:Georgia,serif; font-size:28px; }
.cart-note { color:var(--muted); font-size:11px; line-height:1.5; }
.clear-cart { width:100%; border:0; background:transparent; color:var(--muted); margin-top:10px; cursor:pointer; font-size:12px; }
.toast { position:fixed; z-index:100; left:50%; bottom:30px; transform:translate(-50%,30px); opacity:0; pointer-events:none; background:var(--dark); color:#fff; padding:12px 17px; border-radius:999px; font-size:12px; transition:.25s; box-shadow:0 14px 40px rgba(0,0,0,.2); }
.toast.show { opacity:1; transform:translate(-50%,0); }

/* Entry animation is intentionally subtle to keep the site feeling expensive, not gimmicky. */
.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s var(--ease),transform .65s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 980px) {
  :root { --shell:min(100% - 30px, 900px); }
  .nav-shell { grid-template-columns:210px 1fr auto; }
  .brand-lockup { width:200px; }
  .nav-links { display:none; }
  .hero { grid-template-columns:1fr; padding-top:60px; }
  .hero-showcase { min-height:620px; }
  .hero-main-card { width:68%; right:9%; }
  .hero-mini-a { left:6%; }
  .category-grid { grid-template-columns:repeat(3,1fr); }
  .product-grid { grid-template-columns:repeat(3,1fr); }
  .wholesale-panel,.contact-card { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
  :root { --shell:calc(100vw - 22px); }
  .site-header { top:7px; padding-top:7px; }
  .nav-shell { width:calc(100vw - 14px); min-height:58px; grid-template-columns:1fr auto; padding:5px 6px 5px 8px; gap:8px; }
  .brand-lockup { width:150px; height:46px; }
  .nav-actions { gap:6px; }
  .lang-switch { padding:3px; }
  .lang-btn { width:32px; height:32px; padding:4px; }
  .lang-btn img { width:22px; height:22px; }
  .bag-button { padding:10px 10px; }
  .bag-button > span:first-child { display:none; }
  .bag-count { width:26px; height:26px; }
  .hero { min-height:auto; padding:54px 0 42px; gap:20px; }
  .hero h1 { font-size:55px; }
  html[data-lang="th"] .hero h1 { font-size:50px; }
  .hero-text { font-size:15px; }
  .hero-trust { margin-top:0; }
  .hero-showcase { min-height:490px; margin-top:10px; }
  .hero-showcase::before { width:430px; height:430px; right:-160px; top:10px; }
  .hero-main-card { width:74%; height:74%; right:3%; top:3%; border-radius:80px 80px 32px 32px; }
  .hero-mini-card { width:130px; height:155px; }
  .hero-mini-a { left:0; top:42%; }
  .hero-mini-b { right:-3%; bottom:0; }
  .hero-mini-c { display:none; }
  .hero-feature-info strong { font-size:12px; padding-right:55px; }
  .hero-feature-info b { font-size:16px; }
  .category-section,.collection,.wholesale,.contact { padding:60px 0; }
  .section-heading { grid-template-columns:1fr; gap:14px; }
  .section-heading h2 { font-size:46px; }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .category-card { min-height:126px; }
  .catalogue-toolbar { top:78px; }
  .product-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  .product-card { border-radius:20px; }
  .product-info { padding:12px; }
  .product-title { font-size:12px; min-height:35px; }
  .product-desc { display:none; }
  .product-price { font-size:17px; }
  .wholesale-panel { padding:30px 22px; gap:28px; border-radius:30px; }
  .wholesale-copy h2 { font-size:50px; }
  .contact-card { padding:10px; border-radius:30px; }
  .contact-copy { padding:26px 16px; }
  .map-composition { min-height:360px; }
  .footer-top,.footer-bottom { align-items:flex-start; flex-direction:column; }
  .footer-wordmark { font-size:28vw; margin-top:40px; }
  .cart-sheet { width:100%; border-radius:26px 26px 0 0; padding-inline:16px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
  .reveal { opacity:1; transform:none; }
}
