/* ================================================================
   FINE ALUMINIUM — Luxury Champagne Theme
   Base: #EDD092 warm champagne · Gold accents · Dark brown text
   Fonts: Playfair Display + Inter
   ================================================================ */

:root {
  /* Champagne background scale */
  --bg:        #EDD092;   /* page background — exact swatch color */
  --bg-2:      #E5C47E;   /* slightly deeper champagne */
  --bg-3:      #D4AD60;   /* card / tile backgrounds */
  --bg-4:      #C49848;   /* elevated / hover */
  --bg-5:      #F5E4B8;   /* lighter tint for header glass */

  /* Dark text (espresso brown on champagne) */
  --tx:        #1A0C00;   /* primary text */
  --tx-2:      #5C3D18;   /* secondary text */
  --tx-3:      #8C6830;   /* muted text */

  /* Gold accents — deeper than background */
  --gold:      #8B5E0A;   /* primary dark gold */
  --gold-lt:   #A87820;   /* lighter gold */
  --gold-pale: #C49848;   /* pale gold */
  --gold-dim:  rgba(139,94,10,.12);
  --gold-bdr:  rgba(139,94,10,.3);
  --gold-glow: rgba(139,94,10,.15);

  /* Dark sections (hero right, footer, dark cards) */
  --dark:      #1A0C00;
  --dark-2:    #2C1800;
  --dark-3:    #3D2400;

  --r:         6px;
  --r-lg:      20px;
  --ease:      cubic-bezier(.16,1,.3,1);
  --spring:    cubic-bezier(.22,1.2,.36,1);
}

/* ── Reset ─────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--tx);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
::selection { background:var(--gold); color:var(--bg); }
h1,h2,h3,.display { font-family:'Playfair Display',Georgia,serif; font-weight:400; line-height:1.1; }

/* Subtle noise texture */
body::before {
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;
}

/* ── Page veil ─────────────────────────────────────────── */
.page-veil { position:fixed;inset:0;z-index:390;background:var(--dark);transform:translateY(101%);pointer-events:none; }
.page-veil.cover { transition:transform .4s var(--ease);transform:translateY(0); }
.page-veil.uncover { transition:transform .55s var(--ease);transform:translateY(-101%); }

/* ── HEADER ─────────────────────────────────────────────── */
.site-top {
  position:sticky;top:0;z-index:300;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,4vw,56px);height:70px;
  /* iPhone notch/Dynamic Island: keep header content clear of the rounded-corner/camera cutout in landscape */
  padding-left:max(clamp(20px,4vw,56px), env(safe-area-inset-left));
  padding-right:max(clamp(20px,4vw,56px), env(safe-area-inset-right));
  background:rgba(237,208,146,.92);backdrop-filter:blur(20px) saturate(130%);
  border-bottom:1px solid var(--gold-bdr);
  transition:border-color .3s,box-shadow .3s;
}
.site-top.floated { box-shadow:0 8px 40px rgba(26,12,0,.15); border-bottom-color:var(--gold); }

.brand { display:flex;align-items:center;gap:13px; }
.brand-mark {
  width:46px;height:46px;border:1.5px solid var(--gold);border-radius:var(--r);
  display:grid;place-items:center;flex:0 0 46px;
  font:700 19px 'Playfair Display',serif;color:var(--gold);
}
.brand-name { font:500 14.5px 'Inter',sans-serif;color:var(--tx);letter-spacing:.08em; }

.site-nav { display:flex;align-items:center;gap:clamp(16px,2.4vw,32px); }
.site-nav a {
  font:500 13px 'Inter',sans-serif;color:var(--tx-2);letter-spacing:.04em;
  position:relative;padding:4px 0;transition:color .22s;
}
.site-nav a:hover,.site-nav a.active { color:var(--tx); }
.site-nav a.active::after {
  content:'';position:absolute;left:0;bottom:-2px;right:0;height:1px;
  background:var(--gold);border-radius:99px;
}

.site-nav-actions { display:flex;align-items:center;gap:6px; }
.nav-icon-btn {
  width:36px;height:36px;border:0;background:transparent;color:var(--tx-2);
  font-size:15px;cursor:pointer;border-radius:var(--r);display:grid;place-items:center;
  transition:color .22s,background .22s;
}
.nav-icon-btn:hover { color:var(--gold);background:var(--gold-dim); }

.cart-link { position:relative; }
.cart-badge {
  position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;
  background:var(--gold);color:#1a1206;font-size:10px;font-weight:700;line-height:16px;
  text-align:center;border-radius:99px;
}

.nav-burger {
  display:none;flex-direction:column;gap:5px;
  background:transparent;border:1px solid var(--gold-bdr);border-radius:var(--r);
  padding:10px 11px;cursor:pointer;
}
.nav-burger span { width:20px;height:1.5px;background:var(--tx);border-radius:99px;transition:transform .3s,opacity .22s; }
.nav-burger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity:0; }
.nav-burger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn {
  display:inline-flex;align-items:center;gap:9px;
  font:600 11.5px 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;
  padding:15px 28px;border-radius:var(--r);border:0;cursor:pointer;
  transition:transform .28s var(--spring),box-shadow .28s,background .22s;
  white-space:nowrap;
}
.btn:hover { transform:translateY(-2px); }
.btn-dark {
  background:var(--dark);color:var(--bg);
  box-shadow:0 4px 24px -4px rgba(26,12,0,.35);
}
.btn-dark:hover { background:var(--dark-2);box-shadow:0 10px 36px -6px rgba(26,12,0,.45); }
.btn-gold {
  background:transparent;border:1.5px solid var(--gold);color:var(--gold);
}
.btn-gold:hover { background:var(--gold-dim); }
.btn-ghost {
  background:transparent;border:1.5px solid var(--gold-bdr);color:var(--tx-2);
}
.btn-ghost:hover { border-color:var(--gold);color:var(--tx); }

/* Ripple */
.ripple { position:relative;overflow:hidden; }
.ripple-ink { position:absolute;border-radius:50%;background:currentColor;opacity:.14;transform:scale(0);pointer-events:none;animation:rippleGrow .65s var(--ease) forwards; }
@keyframes rippleGrow { to { transform:scale(1);opacity:0; } }

/* ── Scroll reveals ──────────────────────────────────────── */
.reveal { opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease); }
.reveal.shown { opacity:1;transform:none; }
.reveal-stagger>* { opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--spring); }
.reveal-stagger.shown>* { opacity:1;transform:none; }
.reveal-stagger.shown>:nth-child(2) { transition-delay:.07s; }
.reveal-stagger.shown>:nth-child(3) { transition-delay:.14s; }
.reveal-stagger.shown>:nth-child(4) { transition-delay:.21s; }
.reveal-stagger.shown>:nth-child(5) { transition-delay:.28s; }
.reveal-stagger.shown>:nth-child(6) { transition-delay:.35s; }
.reveal-stagger.shown>:nth-child(7) { transition-delay:.42s; }
.reveal-stagger.shown>:nth-child(8) { transition-delay:.49s; }

/* ══════════════════════════════════════════════════════════
   HERO — Split: left champagne content · right dark image
   ══════════════════════════════════════════════════════════ */
.hero {
  display:grid;grid-template-columns:1.1fr 1fr;  /* image LEFT, text RIGHT */
  min-height:calc(100svh - 70px);
  background:var(--bg);
  position:relative;overflow:hidden;
}
.hero::before { display:none; }  /* no background gradients */

/* LEFT: large image — no shadows, no overlays */
.hero-image {
  position:relative;overflow:hidden;
  background:var(--dark-2);
  order:-1;  /* ensures image is always first regardless of DOM order */
  min-width:0;  /* stop unbreakable sibling content (hero-tag) from stretching this grid track past the viewport */
}
.hero-image img {
  width:100%;height:100%;object-fit:cover;
  /* no filter, no brightness change — clean photo */
  transition:transform 8s ease;
}
.hero-image:hover img { transform:scale(1.03); }
.hero-image::before { display:none; }  /* remove left-edge fade */
.hero-image::after  { display:none; }  /* remove bottom glow */
.hero-image-placeholder {
  width:100%;height:100%;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--dark-2),var(--dark-3));
  font:400 15px 'Playfair Display',serif;font-style:italic;color:rgba(237,208,146,.4);
}

/* ── Hero text panel (RIGHT side) ───────────────────────── */
.hero-content {
  position:relative;z-index:1;
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(48px,7vh,88px) clamp(28px,5vw,72px);
  min-width:0;  /* stop unbreakable content (hero-tag) from stretching this grid track past the viewport */
}

/* Decorative tag above heading */
.hero-tag {
  display:flex;align-items:center;gap:14px;
  margin-bottom:30px;
}
.hero-tag-line {
  display:block;width:36px;height:1.5px;
  background:linear-gradient(90deg,var(--gold),transparent);
  flex:0 0 36px;
}
.hero-tag-text {
  font:500 10px 'Inter',sans-serif;
  letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);
  /* No forced nowrap: this line wraps if the column is too narrow to fit it
     (2-column desktop hero at ~1024-1230px, and single-column phones) instead
     of silently overflowing past the viewport edge. */
}

/* Main headline */
.hero-title {
  font:400 clamp(40px,5.6vw,78px) 'Playfair Display',serif;
  line-height:1.06;letter-spacing:-.015em;
  color:var(--tx);margin-bottom:22px;
}
.hero-title em {
  font-style:italic;color:var(--gold);
  display:inline-block;
  border-bottom:2px solid rgba(139,94,10,.3);
  padding-bottom:4px;
}

/* Thin gold accent rule */
.hero-rule {
  width:56px;height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold-pale));
  border-radius:99px;margin-bottom:20px;
  border:none;
}

/* Description paragraph */
.hero-sub {
  font:400 15.5px 'Inter',sans-serif;
  color:var(--tx-2);max-width:42ch;
  margin-bottom:32px;line-height:1.85;
}
.hero-sub strong { color:var(--tx);font-weight:600; }

/* Stats bar */
.hero-stats {
  display:flex;align-items:center;
  margin-bottom:38px;
  padding:18px 20px;
  background:rgba(139,94,10,.07);
  border:1px solid var(--gold-bdr);
  border-radius:12px;
}
.hero-stat {
  flex:1;display:flex;flex-direction:column;
  align-items:center;gap:5px;
}
.hero-stat-num {
  font:500 26px 'Playfair Display',serif;
  color:var(--tx);letter-spacing:-.02em;line-height:1;
}
.hero-stat-num sup {
  font:600 13px 'Inter',sans-serif;
  color:var(--gold);vertical-align:super;
}
.hero-stat-label {
  font:600 9px 'Inter',sans-serif;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--tx-3);
}
.hero-stat-divider {
  width:1px;height:34px;
  background:var(--gold-bdr);flex:0 0 1px;
}

.hero-actions { display:flex;gap:14px;flex-wrap:wrap;position:relative; }

/* ── Showroom picker popover (Visit a Showroom button) ─────── */
.showroom-picker { position:relative; }
.showroom-popover {
  position:absolute; top:calc(100% + 12px); left:0;
  width:min(340px,88vw);
  background:var(--bg-2);
  border:1px solid var(--gold-bdr);
  border-radius:var(--r-lg);
  box-shadow:0 30px 70px -20px rgba(0,0,0,.55);
  padding:14px;
  z-index:60;
  opacity:0; transform:translateY(-8px) scale(.98);
  pointer-events:none;
  transition:opacity .25s var(--ease), transform .25s var(--spring);
}
.showroom-popover.open {
  opacity:1; transform:translateY(0) scale(1);
  pointer-events:auto;
}
.showroom-popover-title {
  font:700 10.5px 'Inter',sans-serif; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); margin-bottom:10px; padding:0 4px;
}
.showroom-item {
  display:flex; align-items:center; gap:12px;
  padding:9px; border-radius:10px;
  transition:background .2s;
}
.showroom-item:hover { background:var(--bg-3); }
.showroom-item + .showroom-item { margin-top:2px; }
.showroom-item-img {
  flex:0 0 52px; width:52px; height:52px; border-radius:8px;
  overflow:hidden; background:var(--bg-4);
  display:grid; place-items:center;
}
.showroom-item-img img { width:100%; height:100%; object-fit:cover; }
.showroom-item-noimg { font:700 13px 'Playfair Display',serif; color:var(--gold); }
.showroom-item-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.showroom-item-city { font:400 15px 'Playfair Display',serif; color:var(--tx); }
.showroom-item-addr {
  font-size:11.5px; color:var(--tx-3);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.showroom-item-arrow {
  flex:0 0 24px; color:var(--gold); display:grid; place-items:center; font-size:14px;
}
@media(max-width:1400px) {
  /* Center on the trigger button on phones/tablets so the popover can never
     overhang the viewport's right edge regardless of where the button sits. */
  .showroom-popover { left:50%; transform:translate(-50%,-8px) scale(.98); }
  .showroom-popover.open { transform:translate(-50%,0) scale(1); }
}


/* ══════════════════════════════════════════════════════════
   OUR RANGE — champagne section
   ══════════════════════════════════════════════════════════ */
.cat-section {
  background:var(--bg-2);
  padding:clamp(52px,8vh,96px) clamp(20px,5vw,64px);
  border-top:1px solid var(--gold-bdr);
  border-bottom:1px solid var(--gold-bdr);
}
.section-label {
  display:block;font:700 10.5px 'Inter',sans-serif;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold);margin-bottom:12px;
}
.section-head-row {
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:20px;flex-wrap:wrap;margin-bottom:36px;
}
.section-head-row h2 {
  font:400 clamp(26px,3.8vw,48px) 'Playfair Display',serif;
  color:var(--tx);letter-spacing:-.01em;
}
.section-head-row h2 em { font-style:italic;color:var(--gold); }
.section-link {
  font:500 12.5px 'Inter',sans-serif;color:var(--tx-2);letter-spacing:.06em;
  border-bottom:1px solid var(--gold-bdr);padding-bottom:2px;white-space:nowrap;
  transition:color .22s,border-color .22s;
}
.section-link:hover { color:var(--gold);border-color:var(--gold); }
.section-nav-arrows { display:flex;gap:10px; }
.arrow-btn {
  width:42px;height:42px;border:1px solid var(--gold-bdr);border-radius:50%;
  background:transparent;color:var(--tx-2);font-size:15px;cursor:pointer;
  display:grid;place-items:center;transition:background .22s,color .22s,border-color .22s;
}
.arrow-btn:hover { background:var(--gold-dim);color:var(--gold);border-color:var(--gold); }

/* Category portrait tiles — JS-driven transform (no CSS mask fade) */
.cat-strip {
  overflow:hidden;   /* motion is applied via JS transform on .cat-track */
}
.cat-track {
  display:flex;
  gap:14px;
  width:max-content;
  will-change:transform;
  /* transform set inline by JS; short transition smooths manual arrow clicks */
  transition:transform .45s var(--ease);
}

.cat-chip {
  flex:0 0 clamp(130px,16vw,180px);
  aspect-ratio:1/1;              /* ← SQUARE */
  position:relative;overflow:hidden;
  border-radius:var(--r-lg);border:1px solid var(--gold-bdr);
  background:var(--dark-2);display:flex;align-items:flex-end;
  transition:border-color .32s,transform .36s var(--spring),box-shadow .32s;
  cursor:pointer;text-decoration:none;
}
.cat-chip::after {
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(26,12,0,.88) 0%,transparent 55%);
}
.cat-chip:hover {
  transform:scale(1.04) translateY(-3px);border-color:var(--gold);
  box-shadow:0 0 22px var(--gold-glow),0 14px 40px rgba(26,12,0,.3);
}
.cat-chip[style*="background-image"] { background-size:cover;background-position:center; }
.cat-chip-icon { position:absolute;top:14px;left:0;right:0;text-align:center;font-size:22px;opacity:.5;z-index:1; }
.cat-chip-label {
  position:relative;z-index:1;width:100%;
  padding:8px 12px 14px;
  font:600 12px 'Inter',sans-serif;letter-spacing:.04em;color:var(--bg);text-align:center;
}
.cat-chip.active { border-color:var(--gold); }
.cat-chip.active .cat-chip-label { color:var(--gold-pale); }

/* ══════════════════════════════════════════════════════════
   BILLBOARD — 3-column
   ══════════════════════════════════════════════════════════ */
.billboard-section {
  padding:clamp(40px,6vh,72px) clamp(20px,5vw,64px);
  background:var(--bg);
}
.billboard {
  display:grid;grid-template-columns:1fr 1.05fr 1fr;
  border:1px solid var(--gold-bdr);border-radius:var(--r-lg);overflow:hidden;min-height:380px;
}
.billboard-img { background:var(--dark-2);position:relative;overflow:hidden; }
.billboard-img img { width:100%;height:100%;object-fit:cover;filter:brightness(.75); }
.billboard-img.placeholder { background:linear-gradient(145deg,var(--dark-2),var(--dark-3));display:flex;align-items:center;justify-content:center; }
.billboard-body {
  padding:clamp(32px,4vw,56px);
  background:var(--bg-2);
  border-left:1px solid var(--gold-bdr);border-right:1px solid var(--gold-bdr);
  display:flex;flex-direction:column;justify-content:center;gap:18px;
}
.billboard-body h2 { font:400 clamp(22px,2.8vw,38px) 'Playfair Display',serif;color:var(--tx); }
.billboard-body p { font-size:14px;color:var(--tx-2);line-height:1.78; }

/* ══════════════════════════════════════════════════════════
   PRODUCT CARDS
   ══════════════════════════════════════════════════════════ */
.card-grid {
  display:grid;gap:1px;grid-template-columns:repeat(4,1fr);
  background:var(--gold-bdr);border:1px solid var(--gold-bdr);border-radius:var(--r-lg);overflow:hidden;
}
.p-card { background:var(--bg-5);display:flex;flex-direction:column;transition:background .28s; }
.p-card:hover { background:var(--bg); }
.p-card-media { aspect-ratio:4/3.2;overflow:hidden;background:var(--bg-3);position:relative; }
.p-card-media img { width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .4s; }
.p-card:hover .p-card-media img { transform:scale(1.06); }
.no-photo { width:100%;height:100%;display:grid;place-items:center;font:400 14px 'Playfair Display',serif;color:var(--tx-3);font-style:italic; }
.p-badge { position:absolute;top:12px;left:12px;background:var(--gold);color:var(--bg);font:700 10px 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:4px 11px;border-radius:3px; }
.p-card-body { padding:18px 20px 22px;flex:1;display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--gold-bdr); }
.p-cat { font:700 10px 'Inter',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--gold); }
.p-name { font:400 18px 'Playfair Display',serif;color:var(--tx);margin-top:2px; }
.p-price-row { margin-top:auto;padding-top:12px;display:flex;align-items:baseline;gap:10px; }
.p-price { font:600 16px 'Inter',sans-serif;color:var(--tx); }
.p-mrp { font-size:13px;color:var(--tx-3);text-decoration:line-through; }

/* ══════════════════════════════════════════════════════════
   STORE CARDS
   ══════════════════════════════════════════════════════════ */
.store-grid { display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.store-card {
  background:var(--bg-5);border:1px solid var(--gold-bdr);
  border-radius:var(--r-lg);overflow:hidden;
  transition:border-color .32s,transform .38s var(--spring),box-shadow .32s;
}
.store-card:hover {
  border-color:var(--gold);transform:translateY(-5px);
  box-shadow:0 20px 52px -16px rgba(26,12,0,.25),0 0 24px var(--gold-glow);
}
.store-card-img {
  aspect-ratio:16/10;background:var(--dark-2);position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.store-card-img img {
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;filter:brightness(.7) saturate(.8);
  transition:filter .4s,transform .5s var(--ease);
}
.store-card:hover .store-card-img img { filter:brightness(.85) saturate(.95);transform:scale(1.04); }
.store-img-watermark {
  font:700 11px 'Inter',sans-serif;letter-spacing:.3em;color:rgba(237,208,146,.4);
  text-transform:uppercase;border:1px solid rgba(237,208,146,.2);padding:10px 16px;
  position:relative;z-index:1;
}
.store-card-img::after {
  content:'';position:absolute;bottom:0;left:0;right:0;height:45%;z-index:2;pointer-events:none;
  background:linear-gradient(to top,rgba(26,12,0,.4),transparent);
}
.store-card-body { padding:16px 20px 4px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-5); }
.store-city { font:400 21px 'Playfair Display',serif;color:var(--tx); }
.store-name { font:500 12px 'Inter',sans-serif;color:var(--tx-3);margin-top:2px; }
.store-pin {
  flex:0 0 36px;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--gold-bdr);color:var(--tx-3);font-size:14px;
  display:grid;place-items:center;text-decoration:none;
  transition:background .22s,border-color .22s,color .22s;
}
.store-card:hover .store-pin { background:var(--gold);border-color:var(--gold);color:var(--bg); }

.store-card-foot { padding:12px 20px 20px;background:var(--bg-5); }
.store-directions-btn {
  width:100%;justify-content:center;
  padding:11px 20px;font-size:11px;
}

/* ══════════════════════════════════════════════════════════
   OUR STORES PAGE
   ══════════════════════════════════════════════════════════ */
.stores-hero { padding:clamp(60px,9vh,110px) clamp(20px,5vw,64px) clamp(40px,6vh,72px);background:var(--bg); }
.stores-hero h1 { font:400 clamp(32px,5vw,66px) 'Playfair Display',serif;margin-bottom:16px; }
.stores-hero p { font-size:15px;color:var(--tx-2);max-width:52ch;line-height:1.82; }
.stores-full-grid { display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:clamp(32px,5vh,60px) clamp(20px,5vw,64px); }
.store-card-full {
  background:var(--bg-5);border:1px solid var(--gold-bdr);border-radius:var(--r-lg);
  overflow:hidden;transition:border-color .3s,box-shadow .3s;
}
.store-card-full:hover { border-color:var(--gold);box-shadow:0 0 20px var(--gold-glow); }

/* Shop photo at top of card */
.store-full-img {
  aspect-ratio:16/10;background:var(--bg-4);overflow:hidden;position:relative;
  display:flex;align-items:center;justify-content:center;
}
.store-full-img img { width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(.85); }
.store-full-img .store-img-watermark {
  font:700 11px 'Inter',sans-serif;letter-spacing:.3em;color:var(--tx-3);
  text-transform:uppercase;border:1px solid var(--gold-bdr);padding:10px 16px;
}

.store-full-body { padding:24px 24px 26px; }
.store-card-full .store-city { font:400 26px 'Playfair Display',serif;color:var(--gold);margin-bottom:4px; }
.store-card-full .store-name-text { font:600 13px 'Inter',sans-serif;color:var(--tx);margin-bottom:16px; }
.store-card-full .store-line { font-size:13.5px;color:var(--tx-2);margin-bottom:5px; }

/* Small embedded Google Map with pinned location */
.store-map-box {
  margin-top:18px;border-radius:var(--r);overflow:hidden;
  border:1px solid var(--gold-bdr);
  aspect-ratio:16/9;background:var(--bg-4);
}
.store-map-box iframe { width:100%;height:100%;border:0;display:block;filter:grayscale(.15) contrast(1.02); }

.store-card-full .btn { margin-top:18px;width:100%;justify-content:center; }

/* ══════════════════════════════════════════════════════════
   PIECE PAGE
   ══════════════════════════════════════════════════════════ */
.piece-wrap { display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,60px);padding:clamp(28px,4vh,56px) clamp(20px,5vw,64px); }
.piece-gallery { display:grid;gap:10px;align-content:start; }
.piece-hero-img {
  width:100%;height:min(72vh,700px);min-height:320px;
  border-radius:var(--r-lg);overflow:hidden;background:var(--bg-3);
  cursor:zoom-in;position:relative;
  display:flex;align-items:center;justify-content:center;
}
.piece-hero-img img { width:100%;height:100%;object-fit:contain;background:var(--bg-3); }
.piece-hero-img::after {
  content:'\26F6';
  position:absolute;bottom:16px;right:16px;z-index:1;
  width:38px;height:38px;line-height:38px;text-align:center;
  border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:16px;
  pointer-events:none;
}
.piece-thumbs { display:grid;grid-template-columns:repeat(4,1fr);gap:8px; }
.piece-thumbs button { border:1.5px solid var(--gold-bdr);border-radius:var(--r);overflow:hidden;cursor:pointer;padding:0;background:var(--bg-3);aspect-ratio:1;transition:border-color .22s; }
.piece-thumbs button.current { border-color:var(--gold); }
.piece-thumbs img { width:100%;height:100%;object-fit:cover; }

/* ── Full-size image lightbox ─────────────────────────────── */
.mi-lightbox {
  position:fixed;inset:0;z-index:500;
  background:rgba(0,0,0,.94);
  display:none;
  align-items:center;justify-content:center;
  padding:clamp(16px,4vw,48px);
}
.mi-lightbox.open { display:flex; }
.mi-lightbox img {
  max-width:100%;max-height:100%;
  width:auto;height:auto;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 30px 90px rgba(0,0,0,.6);
}
.mi-lightbox-close {
  position:absolute;top:20px;right:20px;
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);
  color:#fff;font-size:20px;cursor:pointer;
  display:grid;place-items:center;
  transition:background .22s;
}
.mi-lightbox-close:hover { background:rgba(255,255,255,.18); }
.mi-lightbox-nav {
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);
  color:#fff;font-size:20px;cursor:pointer;
  display:grid;place-items:center;
  transition:background .22s;
}
.mi-lightbox-nav:hover { background:rgba(255,255,255,.18); }
.mi-lightbox-prev { left:20px; }
.mi-lightbox-next { right:20px; }
.mi-lightbox-counter {
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.7);font:500 13px 'Inter',sans-serif;letter-spacing:.06em;
}
@media(max-width:640px) {
  .mi-lightbox-nav { width:40px;height:40px;font-size:17px; }
  .mi-lightbox-prev { left:8px; }
  .mi-lightbox-next { right:8px; }
  .mi-lightbox-close { top:12px;right:12px; }
}
.piece-info .p-cat { display:block;margin-bottom:8px; }
.piece-info h1 { font:400 clamp(28px,3.8vw,50px) 'Playfair Display',serif;margin-bottom:14px; }
.piece-price-row { display:flex;align-items:baseline;gap:12px;margin-bottom:20px; }
.piece-price { font:600 26px 'Inter',sans-serif; }
.piece-mrp { font-size:16px;color:var(--tx-3);text-decoration:line-through; }
.piece-save { background:var(--gold);color:var(--bg);font:700 11px 'Inter',sans-serif;letter-spacing:.08em;padding:4px 11px;border-radius:3px; }
.piece-desc { font-size:15px;color:var(--tx-2);line-height:1.82;margin-bottom:20px; }
.spec-list { display:grid;gap:0;margin-bottom:24px; }
.spec-list div { display:flex;gap:14px;font-size:13.5px;border-bottom:1px solid var(--gold-bdr);padding:10px 0; }
.spec-list dt { font:700 10.5px 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3);min-width:100px;padding-top:2px; }
.spec-list dd { color:var(--tx-2); }
.avail-head { font:700 10.5px 'Inter',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px; }
.avail-chips { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px; }
.avail-chip { display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:var(--r);border:1px solid var(--gold-bdr);background:var(--bg-5);font:600 12.5px 'Inter',sans-serif;color:var(--tx-2); }
.avail-chip::before { content:'';width:7px;height:7px;border-radius:50%;flex:0 0 7px; }
.avail-chip.in { border-color:rgba(60,120,80,.3); }
.avail-chip.in::before { background:#3C7850;box-shadow:0 0 6px rgba(60,120,80,.4); }
.avail-chip.low::before { background:var(--gold); }
.avail-chip.out { color:var(--tx-3); }
.avail-chip.out::before { background:var(--tx-3); }
.enquiry-box { background:var(--bg-5);border:1px solid var(--gold-bdr);border-radius:var(--r-lg);padding:26px; }
.enquiry-box h3 { font:400 19px 'Playfair Display',serif;margin-bottom:18px; }
.field { margin-bottom:14px; }
.field label { display:block;font:700 10.5px 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-3);margin-bottom:7px; }
.field input,.field textarea { width:100%;font:400 14px 'Inter',sans-serif;color:var(--tx);background:var(--bg);border:1px solid var(--gold-bdr);border-radius:var(--r);padding:12px 14px;transition:border-color .22s,box-shadow .22s; }
.field input::placeholder,.field textarea::placeholder { color:var(--tx-3); }
.field input:focus,.field textarea:focus { outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow); }

/* ══════════════════════════════════════════════════════════
   CART TABLE
   ══════════════════════════════════════════════════════════ */
.cart-table { width:100%;border-collapse:collapse; }
.cart-table thead th {
  text-align:left;font:700 10.5px 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tx-3);padding:10px 14px;border-bottom:1px solid var(--gold-bdr);white-space:nowrap;
}
.cart-table tbody td { padding:14px;border-bottom:1px solid var(--gold-bdr);font-size:14px;color:var(--tx);vertical-align:middle; }
.cart-line-name { display:flex;align-items:center;gap:12px; }
.cart-line-img { width:56px;height:56px;object-fit:cover;border-radius:var(--r);flex:0 0 auto;background:var(--bg-3); }
.cart-qty-input { width:64px;font:400 14px 'Inter',sans-serif;color:var(--tx);background:var(--bg);border:1px solid var(--gold-bdr);border-radius:var(--r);padding:8px 10px; }
.cart-qty-input:focus { outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow); }
.cart-total-row td { font-weight:700;font-size:15px;border-bottom:none;padding-top:18px; }
.hp-field { position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden; }
.flash-ok { background:rgba(60,120,80,.1);color:#3C7850;border:1px solid rgba(60,120,80,.25);padding:13px 16px;border-radius:var(--r);font:600 13.5px 'Inter',sans-serif;margin-bottom:16px; }
.flash-err { background:rgba(180,60,40,.1);color:#A83828;border:1px solid rgba(180,60,40,.22);padding:13px 16px;border-radius:var(--r);font:600 13.5px 'Inter',sans-serif;margin-bottom:16px; }

/* ══════════════════════════════════════════════════════════
   COLLECTION PAGE
   ══════════════════════════════════════════════════════════ */
.collection-header { padding:clamp(40px,7vh,80px) clamp(20px,5vw,64px) 0; }
.search-bar { display:flex;align-items:center;gap:10px;max-width:560px;margin-top:22px;padding:4px 6px 4px 16px;background:var(--bg-5);border:1px solid var(--gold-bdr);border-radius:99px;transition:border-color .22s,box-shadow .22s; }
.search-bar:focus-within { border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-dim); }
.search-bar-icon { color:var(--tx-3);flex:0 0 auto; }
.search-bar-input { flex:1 1 auto;min-width:0;border:0;background:transparent;font:400 14px 'Inter',sans-serif;color:var(--tx);padding:10px 0; }
.search-bar-input::placeholder { color:var(--tx-3); }
.search-bar-input:focus { outline:none; }
.search-bar-input::-webkit-search-cancel-button { display:none; }
.search-bar-clear { flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:var(--tx-2);font-size:16px;line-height:1;text-decoration:none;transition:background .2s,color .2s; }
.search-bar-clear:hover { background:var(--gold-dim);color:var(--gold); }
.search-bar-btn { flex:0 0 auto;padding:11px 22px; }
.search-result-note { margin:16px 0 0;font:500 13px 'Inter',sans-serif;color:var(--tx-2); }
.filter-bar { display:flex;gap:10px;flex-wrap:wrap;margin:24px 0; }
.filter-chip { padding:8px 20px;border-radius:99px;border:1px solid var(--gold-bdr);font:500 12.5px 'Inter',sans-serif;color:var(--tx-2);background:transparent;cursor:pointer;text-decoration:none;transition:border-color .22s,color .22s,background .22s;white-space:nowrap; }
.filter-chip:hover { border-color:var(--gold);color:var(--tx); }
.filter-chip.active { border-color:var(--gold);color:var(--gold);background:var(--gold-dim); }
.filter-divider { width:1px;background:var(--gold-bdr);margin:0 4px;align-self:stretch; }
.collection-grid-wrap { padding:clamp(20px,3vh,36px) clamp(20px,5vw,64px) clamp(56px,8vh,96px); }

/* ══════════════════════════════════════════════════════════
   EMPTY STATE
   ══════════════════════════════════════════════════════════ */
.empty-state { text-align:center;padding:clamp(80px,15vh,140px) 24px; }
.empty-state h2 { font:400 clamp(26px,3.5vw,42px) 'Playfair Display',serif;margin-bottom:14px; }
.empty-state p { color:var(--tx-2);margin-bottom:26px;max-width:44ch;margin-left:auto;margin-right:auto; }

/* ══════════════════════════════════════════════════════════
   FOOTER — dark luxury contrast to champagne body
   ══════════════════════════════════════════════════════════ */
.site-foot {
  background:var(--dark);color:var(--bg);
  padding:clamp(40px,6vh,64px) clamp(20px,5vw,64px) 0;
  position:relative;
}
.site-foot::before {
  content:'';display:block;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  margin:-clamp(40px,6vh,64px) -clamp(20px,5vw,64px) clamp(32px,5vh,48px);
}
.foot-inner { max-width:1320px;margin:0 auto; }

.foot-grid { display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:40px;margin-bottom:32px; }
.foot-grid-3 { grid-template-columns:1.3fr 1fr 1fr; }
.foot-col-brand { max-width:340px; }
.foot-brand-mark { width:40px;height:40px;border:1.5px solid var(--gold);border-radius:var(--r);display:grid;place-items:center;font:700 15px 'Playfair Display',serif;color:var(--gold);margin-bottom:12px; }
.foot-brand { font:600 17px 'Inter',sans-serif;color:var(--bg);margin-bottom:8px; }
.foot-desc { font-size:13.5px;color:rgba(237,208,146,.85);line-height:1.65;max-width:30ch;margin-bottom:16px; }
.foot-desc-sm { font-size:13.5px;color:rgba(237,208,146,.85);line-height:1.65;margin-bottom:12px; }
.foot-head {
  font:700 11px 'Inter',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(237,208,146,.18);
}
.foot-line { font-size:14px;font-weight:500;color:rgba(237,208,146,.85);margin-bottom:10px;display:block;transition:color .22s,transform .22s; }
.foot-line:hover { color:var(--gold);transform:translateX(3px); }
.foot-line-pin { display:flex;align-items:center;gap:8px; }
.foot-line-pin svg { flex:0 0 auto;color:var(--gold);opacity:.95; }
.foot-socials { display:flex;gap:8px;margin-top:4px; }
.foot-socials a { width:34px;height:34px;border-radius:50%;border:1px solid rgba(237,208,146,.35);display:grid;place-items:center;font-size:13px;color:rgba(237,208,146,.85);transition:border-color .22s,color .22s,background .22s,transform .22s; }
.foot-socials a:hover { border-color:var(--gold);color:var(--gold);background:var(--gold-dim);transform:translateY(-2px); }

.foot-legal {
  border-top:1px solid rgba(237,208,146,.18);padding:16px 0;
  padding-bottom:calc(16px + env(safe-area-inset-bottom)); /* clear the iPhone home-indicator bar */
  font-size:12.5px;color:rgba(237,208,146,.6);
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.foot-top-btn {
  display:inline-flex;align-items:center;gap:7px;
  background:transparent;border:1px solid var(--gold-bdr);color:var(--gold);
  font:600 11px 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 16px;border-radius:99px;cursor:pointer;
  transition:background .22s,border-color .22s;
}
.foot-top-btn:hover { background:var(--gold-dim);border-color:var(--gold); }


/* ══════════════════════════════════════════════════════════
   TABLET + MOBILE — ≤1024px (shared adaptive layout)
   ══════════════════════════════════════════════════════════ */
@media(max-width:1024px) {
  /* Prevent iOS Safari auto-zoom on input focus (needs ≥16px) */
  input, textarea, select { font-size:16px !important; }

  /* Hard guarantee no horizontal scroll/overflow anywhere */
  html, body { max-width:100%; overflow-x:hidden; }
  img, video { max-width:100%; height:auto; }

  /* Hero stacks: image on top, content below */
  .hero { grid-template-columns:1fr; grid-template-rows:auto auto; }
  .hero-image { order:0; min-height:52vw; max-height:56vh; }
  .hero-content { order:1; padding:36px clamp(18px,5vw,36px) 44px; }

  /* Stats row: 3 across on small screens */
  .hero-stats { padding:14px 12px; }
  .hero-stat-num { font-size:22px; }

  /* Nav — proper full-screen overlay, bold & unmistakably visible */
  .site-nav {
    position:fixed;
    inset:0;                        /* covers entire viewport */
    z-index:350;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    background:#000000;             /* pure black — maximum contrast */
    transform:translateX(100%);
    transition:transform .42s var(--ease);
    padding:100px 24px 40px;
    /* iPhone home-indicator/notch: keep the last link tappable and clear of rounded corners */
    padding-bottom:calc(40px + env(safe-area-inset-bottom));
    padding-left:max(24px, env(safe-area-inset-left));
    padding-right:max(24px, env(safe-area-inset-right));
  }
  .site-nav.open { transform:translateX(0); }
  .site-nav a {
    font:700 21px 'Inter',sans-serif;     /* bold sans-serif */
    color:#F5E4B8;                          /* bright pale gold — pops on pure black */
    letter-spacing:.03em;
    width:100%; max-width:320px;
    text-align:center;
    padding:16px 20px;
    border-radius:12px;
    background:rgba(201,168,76,.1);         /* visible gold-tinted pill on black */
    border:1.5px solid rgba(201,168,76,.35);
    transition:background .22s,color .22s,border-color .22s;
  }
  .site-nav a:hover,
  .site-nav a:active,
  .site-nav a.active {
    color:#000000;
    background:var(--gold);
    border-color:var(--gold);
  }
  .site-nav a.active::after { display:none; }

  /* Burger — always visible on tablet/mobile, clear X when open */
  .nav-burger { display:flex; z-index:360; position:relative; }
  .nav-burger span { background:var(--tx); }
  .nav-burger.open span { background:#F5E4B8; } /* burger X visible on black nav */
  .nav-burger.open { background:#000000; border-color:var(--gold); }

  /* Footer */
  .foot-grid { grid-template-columns:1fr 1fr; gap:28px; }

  /* Product/piece */
  .piece-wrap { grid-template-columns:1fr; }
  .piece-hero-img { height:min(58vh,520px); }

  /* Billboard */
  .billboard { grid-template-columns:1fr; }
  .billboard-img { display:none; }
  .billboard-body { border:none; }

  /* Cat chips slightly smaller */
  .cat-chip { flex-basis:clamp(110px,40vw,150px); }

  /* Thicker, easier-to-read type on tablet/mobile */
  body { font-weight:500; }
  p, li, label, .foot-desc, .foot-line, .hero-sub,
  .p-card-body, .store-card-body, input, textarea, select { font-weight:600; }
  h1, h2, h3, .display { font-weight:600; }
  a, button, .btn { font-weight:700; }

  /* Product grid: 3 columns on tablet — all items stay visible */
  .card-grid { grid-template-columns:repeat(3,1fr); }
}

/* ══════════════════════════════════════════════════════════
   MOBILE — ≤640px (phones)
   ══════════════════════════════════════════════════════════ */
@media(max-width:640px) {
  .foot-legal { flex-direction:column;align-items:flex-start;gap:12px; }
  .section-nav-arrows { display:none; }

  /* The tagline wraps by default now; align the line marker to the top in
     case it wraps to two lines on a narrow phone. */
  .hero-tag { align-items:flex-start; }

  .hero-title { font-size:clamp(34px,9vw,48px); font-weight:600; }
  .hero-sub { font-size:14px; max-width:100%; font-weight:700; }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn { width:100%; justify-content:center; }

  .hero-stats { flex-wrap:nowrap; }
  .hero-stat-num { font-size:20px; }
  .hero-stat-label { font-size:8px; letter-spacing:.14em; }

  .cat-chip { flex-basis:clamp(100px,42vw,140px); }
  .cat-chip-label { font-size:11px; padding:6px 8px 10px; }

  /* Nav links even bigger on small phones */
  .site-nav a { font-size:19px; padding:15px 18px; }

  /* Header brand */
  .brand-name { display:none; } /* just show mark/logo on tiny screens */

  /* "Pieces worth coming home to" — bigger & bolder on mobile */
  .section-label { font-size:14px; font-weight:800; letter-spacing:.18em; }
  .section-head-row h2 { font-size:clamp(30px,8vw,40px); font-weight:700; }

  /* Homepage featured grid only: 6 items, 2 columns × 3 rows ("three stacks").
     The full Collection page keeps all products in 2 columns. */
  .card-grid { grid-template-columns:1fr 1fr; }
  .card-grid-featured > a:nth-child(n+7) { display:none; }
  .store-grid { grid-template-columns:1fr; }

  /* Footer — roughly half size, single column */
  .site-foot { padding:20px 16px 0; }
  .foot-grid { grid-template-columns:1fr; gap:12px; margin-bottom:16px; }
  .foot-col-brand { max-width:100%; }
  .foot-brand { font-size:14px; margin-bottom:4px; }
  .foot-desc { font-size:11px; margin-bottom:8px; }
  .foot-head { font-size:10px; margin-bottom:6px; padding-bottom:5px; }
  .foot-line { font-size:12px; margin-bottom:5px; }
  .foot-socials a { width:26px; height:26px; font-size:11px; }
  .foot-legal { padding:8px 0; font-size:11px; }
  .foot-top-btn { padding:5px 10px; font-size:10px; }

  /* Cart table → stacked cards on phones */
  .cart-table thead { display:none; }
  .cart-table, .cart-table tbody { display:block;width:100%; }
  .cart-table tr {
    display:block;border:1px solid var(--gold-bdr);border-radius:var(--r-lg);
    margin-bottom:12px;padding:10px 14px;background:var(--bg-5);
  }
  .cart-table td {
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:8px 0;border-bottom:none;
  }
  .cart-table td[data-label]::before {
    content:attr(data-label);font:700 10px 'Inter',sans-serif;letter-spacing:.1em;
    text-transform:uppercase;color:var(--tx-3);flex:0 0 auto;
  }
  .cart-table td[data-label=""]::before { display:none; }
  .cart-table .cart-line-name { flex:1;justify-content:flex-start; }
  .cart-total-row {
    display:flex !important;justify-content:space-between;align-items:center;
    background:var(--bg-3);border:1px solid var(--gold-bdr);border-radius:var(--r-lg);padding:12px 14px;
  }
  .cart-total-row td { display:block;padding:0;border:none; }
}

@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important;transition-duration:.01ms!important; }
  .reveal,.reveal-stagger>* { opacity:1!important;transform:none!important; }
}