/* ═══════════════════════════════════════════════════════════════════
   JUWELIER AKAN – Bielefeld
   Finale Version · Phase 1–5 · Single-File · Netlify-Ready
   ═══════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────────────────
   1. RESET & DESIGN TOKENS
───────────────────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }

/* Dark Mode (Standard) */
:root {
  --g:  #C9A96E;
  --gl: #DDB97D;
  --gd: #8B6F3A;
  --gs: #5A4528;

  --bg:  #1a1a1a;
  --bg2: #1f1f1f;
  --bg3: #242424;
  --bg4: #141414;

  --w: #FFFFFF;
  --t: #DDD5C4;
  --m: #7A7268;
  --s: #2E2B27;

  --b:  rgba(201,169,110,.10);
  --bh: rgba(201,169,110,.32);

  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Montserrat', system-ui, sans-serif;

  --ease:     cubic-bezier(.4,0,.2,1);
  --ease-out: cubic-bezier(0,0,.2,1);
}

/* Light Mode overrides – toggled via data-theme="light" on <html> */
[data-theme="light"] {
  --bg:  #F8F5F0;
  --bg2: #EDE8DF;
  --bg3: #E4DDD0;
  --bg4: #FFFDF9;

  --w: #1A1208;
  --t: #3A3020;
  --m: #8A7A5A;
  --s: #D0C5AA;

  --b:  rgba(100,72,20,.10);
  --bh: rgba(100,72,20,.28);
}

/* ─────────────────────────────────────────────────────────────────
   2. BASE
───────────────────────────────────────────────────────────────── */
html { scroll-behavior: smooth; }

body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--t);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  font-weight: 300;
  transition: background .45s var(--ease), color .45s var(--ease);
}

img    { display: block; max-width: 100%; height: auto; }
a      { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: var(--sans); border: none; background: none; font-weight: 400; }

::-webkit-scrollbar       { width: 3px; }
::-webkit-scrollbar-track { background: var(--bg4); }
::-webkit-scrollbar-thumb { background: var(--gd); }

/* ─────────────────────────────────────────────────────────────────
   3. KEYFRAMES
───────────────────────────────────────────────────────────────── */
@keyframes fadeUp    { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes dot       { 0% { transform:translateY(0);opacity:1; } 80% { opacity:0; } 100% { transform:translateY(18px);opacity:0; } }
@keyframes shine     { 0% { left:-120%; } 100% { left:200%; } }
@keyframes goldPulse { 0%,100% { opacity:.6; } 50% { opacity:1; } }
@keyframes badgePop  { 0% { transform:scale(.4); } 70% { transform:scale(1.2); } 100% { transform:scale(1); } }

/* ─────────────────────────────────────────────────────────────────
   4. SCROLL-REVEAL
───────────────────────────────────────────────────────────────── */
.rv     { opacity:0; transform:translateY(22px); transition:opacity .9s var(--ease),transform .9s var(--ease); }
.rv.in  { opacity:1; transform:translateY(0); }
.d1 { transition-delay:.12s; }
.d2 { transition-delay:.22s; }
.d3 { transition-delay:.34s; }
.d4 { transition-delay:.46s; }

/* ─────────────────────────────────────────────────────────────────
   5. UTILITIES
───────────────────────────────────────────────────────────────── */
.w   { max-width:1240px; margin:0 auto; padding:0 40px; }
.cap { font-size:.62rem; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:var(--g); }

.sh            { text-align:center; margin-bottom:80px; }
.sh .cap       { display:block; margin-bottom:20px; }
.sh h2         { font-family:var(--serif); font-size:clamp(2.4rem,4vw,3.6rem); font-weight:300; color:var(--w); line-height:1.14; margin-bottom:18px; letter-spacing:.01em; }
.sh p          { color:var(--m); font-size:.88rem; max-width:460px; margin:0 auto; line-height:1.9; }

/* ─────────────────────────────────────────────────────────────────
   6. BUTTONS
───────────────────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:9px;
  font-size:.68rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  padding:15px 34px; min-height:50px;
  transition:all .32s var(--ease);
  position:relative; overflow:hidden; cursor:pointer;
}
.btn-g    { background:var(--g); color:#080808; }
.btn-g:hover { background:var(--gl); transform:translateY(-2px); box-shadow:0 8px 32px rgba(201,169,110,.3); }
.btn-o    { border:1px solid rgba(201,169,110,.4); color:var(--g); }
.btn-o:hover { border-color:var(--g); background:rgba(201,169,110,.07); transform:translateY(-2px); }
.btn-w    { border:1px solid var(--s); color:var(--m); font-size:.62rem; }
.btn-w:hover { border-color:var(--bh); color:var(--g); }
.btn-full { width:100%; justify-content:center; }
.btn:disabled { opacity:.38; cursor:not-allowed; transform:none !important; box-shadow:none !important; }

/* ─────────────────────────────────────────────────────────────────
   7. NAVIGATION
───────────────────────────────────────────────────────────────── */
#nav {
  position:fixed; inset:0 0 auto; z-index:900;
  height:80px; padding:0 48px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid transparent;
  transition:all .5s var(--ease);
}
#nav.sc {
  background:rgba(10,10,10,.96);
  border-bottom-color:var(--b);
  backdrop-filter:blur(24px);
  height:68px;
}
[data-theme="light"] #nav.sc {
  background:rgba(248,245,240,.96);
}

/* Logo */
.nl            { display:flex; align-items:center; gap:10px; line-height:1; }
.nl-logo       { height:48px; width:auto; object-fit:contain; border-radius:4px; flex-shrink:0; }
.nl div        { display:flex; flex-direction:column; }
.nl-m          { font-family:var(--serif); font-size:1.55rem; font-weight:500; color:var(--g); letter-spacing:.05em; }
.nl-s          { font-size:.55rem; font-weight:500; letter-spacing:.44em; text-transform:uppercase; color:var(--m); margin-top:3px; }

/* Language toggle button */
.lang-btn { font-size:.6rem; font-weight:700; letter-spacing:.12em; }

/* Modal gallery thumbnails */
.m-thumbs      { display:flex; gap:8px; padding:10px 0 4px; flex-wrap:wrap; }
.m-thumb       { width:72px; height:72px; object-fit:cover; cursor:pointer; border:2px solid transparent; opacity:.65; transition:all .25s; flex-shrink:0; }
.m-thumb:hover { opacity:1; }
.m-thumb.on    { border-color:var(--g); opacity:1; }

/* Desktop links */
.nav-c         { display:flex; gap:44px; list-style:none; }
.nav-c a       { font-size:.62rem; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.5); transition:color .25s; position:relative; padding-bottom:4px; }
[data-theme="light"] .nav-c a { color:rgba(26,18,8,.5); }
.nav-c a::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:var(--g); transform:scaleX(0); transform-origin:right; transition:transform .38s var(--ease); }
.nav-c a:hover  { color:var(--w); }
.nav-c a:hover::after { transform:scaleX(1); transform-origin:left; }

/* Right action group */
.nav-acts { display:flex; align-items:center; gap:4px; }

/* Icon button (theme toggle) */
.nav-ico {
  position:relative; width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.55); font-size:1rem;
  transition:color .25s, border-color .25s;
  border:1px solid transparent;
}
[data-theme="light"] .nav-ico { color:rgba(26,18,8,.55); }
.nav-ico:hover { color:var(--g); border-color:var(--b); }

/* Badge on icon buttons */
.nav-badge {
  position:absolute; top:4px; right:2px;
  min-width:16px; height:16px; padding:0 4px;
  background:var(--g); color:#080808;
  font-size:.5rem; font-weight:700; letter-spacing:0;
  border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:scale(.4);
  transition:opacity .25s var(--ease), transform .25s var(--ease);
  pointer-events:none;
}
.nav-badge.vis { opacity:1; transform:scale(1); animation:badgePop .35s var(--ease); }

.nav-btn .btn { padding:10px 22px; font-size:.62rem; }

/* Burger (mobile) */
.burger              { display:none; flex-direction:column; gap:5px; width:24px; }
.burger span         { display:block; height:1px; background:var(--g); transition:all .35s var(--ease); }
.burger.o span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.burger.o span:nth-child(2) { opacity:0; }
.burger.o span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

/* Mobile drawer */
.drawer {
  position:fixed; inset:80px 0 0;
  background:rgba(6,6,6,.97); backdrop-filter:blur(28px);
  z-index:800;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:40px;
  opacity:0; pointer-events:none;
  transition:opacity .42s var(--ease);
}
.drawer.o { opacity:1; pointer-events:all; }
.drawer a  { font-family:var(--serif); font-size:2.4rem; font-weight:300; color:rgba(255,255,255,.75); transition:color .25s; }
.drawer a:hover { color:var(--g); }

/* ─────────────────────────────────────────────────────────────────
   8. CART DRAWER
───────────────────────────────────────────────────────────────── */

/* ── Trust-Badges ───────────────────────────────────────────── */
.trust-bar {
  background:var(--bg4);
  border-bottom:1px solid var(--b);
}
.trust-g {
  display:flex; flex-wrap:wrap;
}
.trust-item {
  flex:1; min-width:160px;
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:18px 20px;
  border-right:1px solid var(--b);
}
.trust-item:last-child { border-right:none; }
.trust-ico {
  font-size:1.3rem;
  width:36px; height:36px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(201,169,110,.08);
  border:1px solid rgba(201,169,110,.18);
}
.trust-txt {
  font-size:.58rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--t); line-height:1.5;
}
@media (max-width:768px) {
  .trust-item { border-right:none; border-bottom:1px solid var(--b); }
  .trust-item:last-child { border-bottom:none; }
}

/* ── Review Aggregat ─────────────────────────────────────────── */
.rv-agg {
  display:flex; align-items:center; gap:20px;
  justify-content:center; flex-wrap:wrap;
  max-width:400px; margin:0 auto 52px;
  padding:24px 36px;
  background:rgba(201,169,110,.04);
  border:1px solid rgba(201,169,110,.18);
}
.rv-agg-score {
  font-family:var(--serif); font-size:4rem; font-weight:300;
  color:var(--g); line-height:1;
}
.rv-agg-stars { color:var(--g); font-size:1.15rem; letter-spacing:3px; margin-bottom:5px; }
.rv-agg-sub   { font-size:.58rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--m); }

/* Verbesserte Review-Karten */
.tc-st span { font-size:1rem; }
.tc-q { font-size:3.5rem; color:var(--g); opacity:.55; }

/* ── Mobile Performance – Animationen reduzieren ────────────── */
@media (max-width:768px) {
  /* Scroll-Reveal ohne Transform – nur Opacity */
  .rv  { transform:none !important; transition:opacity .4s var(--ease); }
  /* Kein Hover-Lift auf Touch-Geräten */
  .tc:hover    { transform:none; box-shadow:none; }
  .btn:hover   { transform:none; }
  .pc:hover .pc-img img { transform:none; }
  .card:hover .card-img img { transform:none; }
  /* Kürzere Transitions */
  .pc          { transition:background .2s; }
  .card        { transition:background .2s; }
  body         { transition:none; }
  /* Mobile CTA Thumb-Friendly */
  .mob-cta-btn { min-height:54px; font-size:.82rem; }
}

/* ── Floating Social Buttons ────────────────────────────────── */
.ig-float, .fb-float {
  position:fixed; right:24px; z-index:1040;
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.5rem;
  transition:transform .3s var(--ease), box-shadow .3s;
  text-decoration:none;
}
.ig-float {
  bottom:96px;
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  box-shadow:0 4px 24px rgba(214,36,159,.45);
}
.ig-float:hover { transform:scale(1.1); box-shadow:0 8px 36px rgba(214,36,159,.65); }
.ig-float svg { width:26px; height:26px; fill:#fff; }
.fb-float {
  bottom:164px;
  background:#1877F2;
  box-shadow:0 4px 24px rgba(24,119,242,.45);
}
.fb-float:hover { transform:scale(1.1); box-shadow:0 8px 36px rgba(24,119,242,.65); }
.fb-float svg { width:26px; height:26px; fill:#fff; }
@media (max-width:768px) {
  .ig-float { bottom:86px; }
  .fb-float { bottom:154px; }
}

/* ── Zwischen-CTA Banner ────────────────────────────────────── */
.mid-cta {
  padding:56px 0;
  background:linear-gradient(135deg, var(--bg4) 0%, var(--bg2) 100%);
  border-top:1px solid var(--b); border-bottom:1px solid var(--b);
  text-align:center;
}
.mid-cta-inner { max-width:640px; margin:0 auto; padding:0 24px; }
.mid-cta p {
  font-family:var(--serif);
  font-size:clamp(1.4rem, 3vw, 2rem);
  font-weight:300; color:var(--w);
  margin-bottom:24px; line-height:1.35;
  letter-spacing:.02em;
}
.mid-cta em { color:var(--g); font-style:italic; }

/* ── Sticky Mobile CTA ──────────────────────────────────────── */
.mob-cta {
  display:none;
  position:fixed; bottom:0; left:0; right:0; z-index:1050;
  background:var(--bg2);
  border-top:1px solid var(--bh);
  padding:12px 16px;
  gap:10px;
  box-shadow:0 -8px 32px rgba(0,0,0,.45);
}
@media (max-width:768px) {
  .mob-cta { display:flex; }
  /* Abstand, damit Inhalte nicht hinter der Leiste verschwinden */
  body { padding-bottom:74px; }
  #toast { bottom:90px; }
}
.mob-cta-btn {
  flex:1; display:flex; align-items:center; justify-content:center;
  gap:8px; padding:13px 10px;
  font-family:var(--sans); font-size:.78rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase;
  border:1px solid var(--bh);
  transition:all .28s var(--ease);
  text-decoration:none;
}
.mob-cta-call {
  background:var(--g); color:#080808; border-color:var(--g);
}
.mob-cta-call:hover { background:var(--gl); }

/* ─────────────────────────────────────────────────────────────────
   9. HERO
───────────────────────────────────────────────────────────────── */
#hero {
  position:relative; min-height:100svh;
  display:flex; align-items:center;
  overflow:hidden; background:#080600;
}
.h-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center 30%;
  transform:scale(1.04);
  transition:transform 10s ease;
}
.h-bg.rdy { transform:scale(1); }
.h-ov1    { position:absolute; inset:0; background:linear-gradient(105deg,rgba(7,5,2,.94) 36%,rgba(7,5,2,.55) 70%,rgba(7,5,2,.35) 100%); }
.h-ov2    { position:absolute; inset:0; background:linear-gradient(to top,rgba(7,5,2,.8) 0%,transparent 50%); }
.h-body   {
  position:relative; z-index:2;
  padding:136px 48px 96px; max-width:760px;
  animation:fadeUp 1.2s var(--ease) both;
}
.h-eye   { display:flex; align-items:center; gap:16px; margin-bottom:40px; }
.h-eye-l { width:40px; height:1px; background:linear-gradient(90deg,transparent,var(--g)); }
.h-eye-t { font-size:.6rem; font-weight:600; letter-spacing:.32em; text-transform:uppercase; color:var(--g); animation:goldPulse 3s ease infinite; }
.h-h1    { font-family:var(--serif); font-size:clamp(3.6rem,7.5vw,6.4rem); font-weight:300; line-height:1.05; color:#FFFFFF; margin-bottom:28px; letter-spacing:.01em; }
.h-h1 em { font-style:italic; color:var(--gl); display:block; }
.h-sub   { font-size:.9rem; font-weight:300; color:rgba(255,255,255,.48); line-height:1.9; max-width:500px; margin-bottom:12px; }
.h-tr    { font-family:var(--serif); font-style:italic; font-size:1.12rem; color:rgba(201,169,110,.62); margin-bottom:52px; }
.h-acts  { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:80px; }
.h-scr   { display:flex; align-items:center; gap:12px; }
.h-scr-b { width:24px; height:40px; border:1px solid rgba(201,169,110,.28); border-radius:12px; display:flex; justify-content:center; padding-top:7px; }
.h-scr-d { width:3px; height:7px; background:var(--g); border-radius:2px; animation:dot 1.8s ease-in-out infinite; }
.h-scr-t { font-size:.58rem; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:rgba(255,255,255,.28); }
.h-side  { position:absolute; right:52px; top:50%; transform:translateY(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:20px; }
.h-side-txt { writing-mode:vertical-rl; font-size:.6rem; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:rgba(201,169,110,.38); }
.h-side-l   { width:1px; height:80px; background:linear-gradient(to bottom,var(--gd),transparent); }

/* ─────────────────────────────────────────────────────────────────
   10. STATS
───────────────────────────────────────────────────────────────── */
#stats { background:var(--bg2); border-top:1px solid var(--b); border-bottom:1px solid var(--b); padding:64px 0; }
.st-g  { display:grid; grid-template-columns:repeat(4,1fr); }
.st-i  { text-align:center; padding:12px 32px; position:relative; }
.st-i+.st-i::before { content:''; position:absolute; left:0; top:12%; bottom:12%; width:1px; background:var(--b); }
.st-n  { font-family:var(--serif); font-size:3.4rem; font-weight:300; color:var(--g); line-height:1; margin-bottom:10px; }
.st-l  { font-size:.6rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--m); }

/* ─────────────────────────────────────────────────────────────────
   11. PRODUCTS + DISCOVERY BAR
───────────────────────────────────────────────────────────────── */
#produkte { padding:160px 0; background:var(--bg); }

/* Filter tab bar */
.ft-bar { display:flex; justify-content:center; margin-bottom:32px; border:1px solid var(--b); }
.ft     { padding:12px 32px; font-size:.6rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--m); border-right:1px solid var(--b); transition:all .3s; background:none; }
.ft:last-child { border-right:none; }
.ft.on  { background:var(--g); color:#080808; }
.ft:not(.on):hover { color:var(--g); background:rgba(201,169,110,.05); }

/* Discovery bar */
.disc-bar { margin-bottom:32px; display:flex; flex-direction:column; gap:12px; }

.disc-search { position:relative; }
.disc-search input[type="search"] {
  width:100%;
  background:rgba(255,255,255,.025); border:1px solid rgba(201,169,110,.13);
  padding:14px 48px 14px 20px;
  color:var(--w); font-family:var(--sans); font-size:.85rem; font-weight:300;
  outline:none; transition:border-color .3s, background .3s;
  -webkit-appearance:none; border-radius:0;
}
[data-theme="light"] .disc-search input[type="search"] { background:rgba(0,0,0,.03); }
.disc-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance:none; }
.disc-search input[type="search"]::placeholder { color:var(--m); opacity:.65; }
.disc-search input[type="search"]:focus { border-color:rgba(201,169,110,.5); background:rgba(201,169,110,.025); }
.disc-si { position:absolute; right:18px; top:50%; transform:translateY(-50%); color:rgba(201,169,110,.45); font-size:1.1rem; pointer-events:none; }

.disc-controls { display:flex; gap:10px; align-items:stretch; }
.disc-sort     { flex:1; }
.disc-sort select {
  width:100%; height:100%;
  background:rgba(255,255,255,.025); border:1px solid rgba(201,169,110,.13);
  padding:12px 16px;
  color:var(--t); font-family:var(--sans); font-size:.75rem; font-weight:400; letter-spacing:.04em;
  outline:none; transition:border-color .3s;
  -webkit-appearance:none; border-radius:0; cursor:pointer;
}
[data-theme="light"] .disc-sort select { background:rgba(0,0,0,.03); }
.disc-sort select:focus { border-color:rgba(201,169,110,.5); }
.disc-sort select option { background:#1C1C1C; color:var(--t); }
[data-theme="light"] .disc-sort select option { background:#EDE8DF; }

/* Product grid */
.pg { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--b); border:1px solid var(--b); }

/* Product card */
.pc          { position:relative; background:var(--bg2); overflow:hidden; cursor:pointer; transition:background .4s; }
.pc:hover    { background:var(--bg3); box-shadow:0 0 60px rgba(201,169,110,.1) inset, 0 24px 64px rgba(0,0,0,.55); }
.pc-img      { position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--bg3); }
.pc-img img  { width:100%; height:100%; object-fit:cover; transition:transform .75s var(--ease), filter .5s; filter:brightness(.88) saturate(.95); }
.pc:hover .pc-img img { transform:scale(1.08); filter:brightness(.72) saturate(.88); }

/* Shine sweep */
.pc-img::before {
  content:''; position:absolute; top:0; left:-120%;
  width:55%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);
  transform:skewX(-12deg); z-index:2; pointer-events:none;
}
.pc:hover .pc-img::before { animation:shine .72s var(--ease-out) forwards; }

/* Category / Neu / Bestseller badge */
.pc-bdg {
  position:absolute; top:18px; left:18px; z-index:3;
  padding:4px 12px;
  background:var(--g); color:#080808;
  font-size:.56rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
}


/* Hover overlay */
.pc-ov {
  position:absolute; inset:0; z-index:2;
  background:linear-gradient(to top,rgba(4,3,1,.97) 0%,rgba(4,3,1,.15) 55%,transparent 100%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:26px;
  opacity:0; transition:opacity .42s var(--ease);
}
.pc:hover .pc-ov { opacity:1; }
.pc-ov-name  { font-family:var(--serif); font-size:1.1rem; color:#FFFFFF; margin-bottom:4px; transform:translateY(8px); transition:transform .4s var(--ease); opacity:0; }
.pc-ov-price { font-family:var(--serif); font-size:1.28rem; color:var(--gl); margin-bottom:14px; transform:translateY(8px); opacity:0; transition:transform .4s var(--ease), opacity .4s; }
.pc-ov .btn  { transform:translateY(8px); opacity:0; transition:transform .4s var(--ease), opacity .4s, background .3s; }
.pc:hover .pc-ov-name  { transform:translateY(0); opacity:1; transition-delay:.04s; }
.pc:hover .pc-ov-price { transform:translateY(0); opacity:1; transition-delay:.08s; }
.pc:hover .pc-ov .btn  { transform:translateY(0); opacity:1; transition-delay:.12s; }

/* Card info strip */
.pc-inf  { padding:20px 24px 26px; }
.pc-cat  { font-size:.56rem; font-weight:600; letter-spacing:.26em; text-transform:uppercase; color:var(--g); margin-bottom:7px; }
.pc-nm   { font-family:var(--serif); font-size:1.18rem; font-weight:400; color:var(--w); margin-bottom:6px; line-height:1.3; }
.pc-ds   { font-size:.78rem; color:var(--m); line-height:1.7; margin-bottom:14px; }
.pc-ft   { display:flex; align-items:center; justify-content:space-between; }
.pc-pr   { font-family:var(--serif); font-size:1.22rem; color:var(--gl); }
.pc-ic   { width:32px; height:32px; border:1px solid var(--bh); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--m); font-size:.75rem; transition:all .3s; }
.pc-ic:hover { border-color:var(--g); color:var(--g); }

/* Empty state */
.pg-empty        { grid-column:1/-1; padding:80px 20px; text-align:center; }
.pg-empty-icon   { font-size:2rem; color:rgba(201,169,110,.25); margin-bottom:14px; line-height:1; }
.pg-empty-t      { font-family:var(--serif); font-size:1.5rem; font-weight:300; color:rgba(255,255,255,.4); margin-bottom:8px; }
[data-theme="light"] .pg-empty-t { color:rgba(26,18,8,.4); }
.pg-empty-s      { font-size:.78rem; color:var(--m); }

/* ── New .card layout (renderProducts output) ──────────────────── */
.card {
  position:relative; background:var(--bg2); overflow:hidden; cursor:pointer;
  display:flex; flex-direction:column;
  transition:background .4s, box-shadow .4s;
}
.card:hover { background:var(--bg3); box-shadow:0 0 60px rgba(201,169,110,.08) inset, 0 24px 64px rgba(0,0,0,.5); }

.card-img {
  position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--bg3); flex-shrink:0;
}
.card-img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .75s var(--ease), filter .5s;
  filter:brightness(.88) saturate(.95);
}
.card:hover .card-img img { transform:scale(1.06); filter:brightness(.75) saturate(.88); }

.badge-bs, .badge-new {
  position:absolute; z-index:3;
  padding:4px 12px;
  font-size:.54rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
}
.badge-bs { top:16px; left:16px; background:var(--g); color:#080808; }
.badge-new { top:16px; right:16px; background:transparent; border:1px solid var(--g); color:var(--g); }

.card-body {
  padding:22px 24px 28px;
  display:flex; flex-direction:column; flex:1;
}
.card-cat  { font-size:.54rem; font-weight:600; letter-spacing:.26em; text-transform:uppercase; color:var(--g); margin-bottom:7px; }
.card-name { font-family:var(--serif); font-size:1.18rem; font-weight:400; color:var(--w); margin-bottom:8px; line-height:1.28; }
.card-rating {
  display:flex; align-items:center; gap:7px; margin-bottom:10px;
}
.card-rating .stars    { color:var(--g); font-size:.82rem; letter-spacing:1px; }
.card-rating .rating-val { font-size:.72rem; font-weight:600; color:var(--g); }
.card-rating .rating-cnt { font-size:.68rem; color:var(--m); }
.card-desc  { font-size:.78rem; color:var(--m); line-height:1.72; margin-bottom:14px; flex:1; }
.card-price { font-family:var(--serif); font-size:1.22rem; color:var(--gl); margin-bottom:16px; }
.card-btn   { align-self:stretch; justify-content:center; font-size:.58rem; padding:12px 16px; min-height:44px; }

/* ─────────────────────────────────────────────────────────────────
   12. ABOUT
───────────────────────────────────────────────────────────────── */
#ueber { padding:160px 0; background:var(--bg2); }
.ab-g  { display:grid; grid-template-columns:1fr 1.05fr; gap:110px; align-items:center; }
.ab-imgs { position:relative; }
.ab-main { width:100%; aspect-ratio:2/3; object-fit:cover; filter:brightness(.85) saturate(.9); }
.ab-acc  { position:absolute; width:50%; aspect-ratio:1; object-fit:cover; bottom:-32px; right:-32px; border:5px solid var(--bg2); filter:brightness(.8) saturate(.88); }
.ab-yr   { position:absolute; top:44px; left:-24px; background:var(--g); color:#080808; padding:20px 16px; text-align:center; }
.ab-yr .y  { font-family:var(--serif); font-size:2.1rem; font-weight:600; line-height:1; display:block; }
.ab-yr .yl { font-size:.56rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; margin-top:5px; display:block; }
.ab-txt .cap { display:block; margin-bottom:16px; }
.ab-txt h2   { font-family:var(--serif); font-size:clamp(2rem,3.5vw,3rem); font-weight:300; color:var(--w); line-height:1.22; margin-bottom:24px; }
.ab-txt h2 em { font-style:italic; color:var(--gl); }
.ab-txt p    { color:var(--m); line-height:1.92; margin-bottom:18px; font-size:.86rem; }
.ab-fs  { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:30px 0; }
.af     { display:flex; align-items:center; gap:10px; padding:13px 14px; border:1px solid var(--b); transition:border-color .3s; }
.af:hover { border-color:var(--bh); }
.af-i  { font-size:.88rem; color:var(--g); flex-shrink:0; }
.af-t  { font-size:.76rem; color:rgba(255,255,255,.6); letter-spacing:.04em; }
[data-theme="light"] .af-t { color:rgba(26,18,8,.6); }
.ab-own { display:flex; align-items:center; gap:16px; margin-top:34px; padding-top:28px; border-top:1px solid var(--b); }
.own-av { width:54px; height:54px; border-radius:50%; object-fit:cover; border:2px solid var(--g); flex-shrink:0; }
.own-n  { font-family:var(--serif); font-size:1rem; color:var(--w); margin-bottom:2px; }
.own-r  { font-size:.62rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--g); }

/* ─────────────────────────────────────────────────────────────────
   13. TESTIMONIALS
───────────────────────────────────────────────────────────────── */
#reviews { padding:160px 0; background:var(--bg); }
.rv-g    { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:16px; }
.tc      { background:var(--bg2); border:1px solid var(--b); padding:40px; transition:border-color .4s, transform .5s var(--ease), box-shadow .5s; }
.tc:hover { border-color:var(--bh); transform:translateY(-6px); box-shadow:0 24px 60px rgba(0,0,0,.5), 0 0 40px rgba(201,169,110,.06); }
.tc-q    { font-family:var(--serif); font-size:3rem; color:var(--g); opacity:.4; line-height:.9; margin-bottom:18px; }
.tc-st   { display:flex; gap:4px; margin-bottom:18px; }
.tc-st span { color:var(--g); font-size:.82rem; }
.tc-txt  { font-size:.86rem; font-weight:300; color:rgba(255,255,255,.58); line-height:1.92; font-style:italic; margin-bottom:28px; }
[data-theme="light"] .tc-txt { color:rgba(26,18,8,.58); }
.tc-a    { display:flex; align-items:center; gap:14px; padding-top:22px; border-top:1px solid var(--b); }
.tc-av   { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,#1A1200,var(--gs)); display:flex; align-items:center; justify-content:center; font-size:.85rem; flex-shrink:0; }
.tc-n    { font-size:.82rem; font-weight:500; color:var(--w); }
.tc-m    { font-size:.68rem; color:var(--m); margin-top:2px; }

/* ─────────────────────────────────────────────────────────────────
   14. CONTACT
───────────────────────────────────────────────────────────────── */
#kontakt  { padding:160px 0; background:var(--bg2); }
.co-g     { display:grid; grid-template-columns:5fr 7fr; gap:80px; align-items:start; }
.co-l .cap { display:block; margin-bottom:16px; }
.co-l h2   { font-family:var(--serif); font-size:clamp(2rem,3vw,2.8rem); font-weight:300; color:var(--w); line-height:1.2; margin-bottom:18px; }
.co-l > p  { color:var(--m); line-height:1.88; margin-bottom:44px; font-size:.84rem; }
.co-ds     { display:flex; flex-direction:column; gap:20px; margin-bottom:40px; }
.co-d      { display:flex; gap:16px; align-items:flex-start; }
.co-icon   { width:40px; height:40px; border:1px solid var(--b); display:flex; align-items:center; justify-content:center; color:var(--g); font-size:.95rem; flex-shrink:0; transition:border-color .3s; }
.co-d:hover .co-icon { border-color:var(--g); }
.co-dl     { font-size:.58rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--g); margin-bottom:4px; }
.co-dv     { font-size:.86rem; color:rgba(255,255,255,.68); }
[data-theme="light"] .co-dv { color:rgba(26,18,8,.68); }
.map-wrap  { width:100%; height:180px; overflow:hidden; border:1px solid var(--b); margin-top:4px; }
.map-wrap iframe { width:100%; height:100%; filter:invert(.92) hue-rotate(175deg) saturate(.5) brightness(.7); }
[data-theme="light"] .map-wrap iframe { filter:none; }
.co-f      { background:var(--bg3); border:1px solid var(--b); padding:52px; }
.co-f h3   { font-family:var(--serif); font-size:1.8rem; font-weight:400; color:var(--w); margin-bottom:32px; }
.fr        { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.fg        { margin-bottom:16px; }
.fg label  { display:block; font-size:.58rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--g); margin-bottom:9px; }
.fg input, .fg select, .fg textarea {
  width:100%; background:rgba(255,255,255,.025); border:1px solid rgba(201,169,110,.13);
  padding:13px 16px; color:var(--w); font-family:var(--sans); font-size:.85rem; font-weight:300;
  outline:none; transition:border-color .3s; -webkit-appearance:none; border-radius:0;
}
[data-theme="light"] .fg input,
[data-theme="light"] .fg select,
[data-theme="light"] .fg textarea { background:rgba(0,0,0,.03); }
.fg input::placeholder, .fg textarea::placeholder { color:var(--m); opacity:.65; }
.fg input:focus, .fg select:focus, .fg textarea:focus { border-color:rgba(201,169,110,.5); background:rgba(201,169,110,.025); }
.fg select          { color:var(--m); }
.fg select option   { background:#1C1C1C; color:var(--t); }
.fg textarea        { resize:none; min-height:128px; }
.f-ok               { display:none; text-align:center; padding:28px; background:rgba(201,169,110,.04); border:1px solid rgba(201,169,110,.16); margin-top:16px; }
.f-ok h4            { font-family:var(--serif); font-size:1.4rem; color:var(--gl); margin-bottom:7px; }
.f-ok p             { font-size:.8rem; color:var(--m); }

/* ─────────────────────────────────────────────────────────────────
   15. FOOTER
───────────────────────────────────────────────────────────────── */
footer { background:#080808; border-top:1px solid var(--b); padding:84px 0 0; }
[data-theme="light"] footer { background:var(--bg3); }
.ft-g  { display:grid; grid-template-columns:2.4fr 1fr 1fr 1fr; gap:56px; padding-bottom:56px; border-bottom:1px solid var(--b); }
.ft-br .nl    { margin-bottom:18px; display:inline-flex; }
.ft-br p      { font-size:.8rem; font-weight:300; color:var(--m); line-height:1.9; max-width:260px; margin-bottom:24px; }
.ft-soc       { display:flex; gap:10px; }
.ft-s         { width:36px; height:36px; border:1px solid var(--b); display:flex; align-items:center; justify-content:center; color:var(--m); font-size:.78rem; transition:all .3s; }
.ft-s:hover   { border-color:var(--g); color:var(--g); }
.ft-col h5    { font-size:.58rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--g); margin-bottom:22px; }
.ft-col ul    { list-style:none; }
.ft-col li    { margin-bottom:10px; }
.ft-col a     { font-size:.8rem; font-weight:300; color:var(--m); transition:color .25s; }
.ft-col a:hover { color:var(--w); }
.ft-bot       { padding:22px 0; display:flex; justify-content:space-between; align-items:center; font-size:.7rem; font-weight:300; color:#333; flex-wrap:wrap; gap:10px; }
[data-theme="light"] .ft-bot { color:var(--m); }
.ft-bot span  { color:var(--gs); }

/* Agency credit */
.agency-credit {
  text-align:center;
  padding:18px 0 16px;
  border-top:1px solid var(--b);
  font-size:.72rem;
  color:var(--m);
  letter-spacing:.03em;
}
.agency-credit .by {
  font-size:.66rem;
  font-weight:300;
  opacity:.55;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-right:5px;
}
.agency-credit a {
  color:rgba(255,255,255,.75);
  font-weight:600;
  letter-spacing:.07em;
  text-decoration:none;
  position:relative;
}
[data-theme="light"] .agency-credit a { color:rgba(26,18,8,.75); }
.agency-credit a::after {
  content:'';
  position:absolute;
  bottom:-2px; left:0;
  width:0; height:1px;
  background:var(--g);
  transition:width .35s var(--ease);
}
.agency-credit a:hover { color:var(--g); }
.agency-credit a:hover::after { width:100%; }

/* ─────────────────────────────────────────────────────────────────
   16. MODAL (Phase 3 Enhanced)
───────────────────────────────────────────────────────────────── */
.mb {
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,.92); backdrop-filter:blur(12px);
  display:flex; align-items:center; justify-content:center; padding:20px;
  opacity:0; pointer-events:none;
  transition:opacity .42s var(--ease);
}
.mb.on { opacity:1; pointer-events:all; }

.modal {
  background:var(--bg2); border:1px solid var(--bh);
  max-width:960px; width:100%;
  display:grid; grid-template-columns:1fr 1fr;
  position:relative;
  transform:scale(.95) translateY(16px);
  transition:transform .42s var(--ease);
  max-height:92svh; overflow:hidden;
}
.mb.on .modal { transform:scale(1) translateY(0); }

/* Left media column */
.m-media { display:flex; flex-direction:column; overflow:hidden; }
.m-img   { width:100%; flex:1; object-fit:cover; min-height:420px; max-height:580px; }

.m-body { padding:38px 40px; display:flex; flex-direction:column; overflow-y:auto; gap:0; }
.m-body::-webkit-scrollbar       { width:2px; }
.m-body::-webkit-scrollbar-thumb { background:var(--gd); }

/* Gallery mode: large description on the right */
.modal.has-gallery .m-d {
  font-family:var(--serif);
  font-size:1.28rem;
  font-weight:300;
  color:var(--t);
  line-height:1.75;
  margin-bottom:20px;
}

/* Close button */
.m-x { position:absolute; top:16px; right:16px; width:32px; height:32px; background:rgba(0,0,0,.6); border:1px solid var(--b); display:flex; align-items:center; justify-content:center; color:var(--m); font-size:.9rem; transition:all .3s; z-index:5; }
.m-x:hover { border-color:var(--g); color:var(--g); }

/* Category + name */
.m-c   { font-size:.58rem; font-weight:600; letter-spacing:.26em; text-transform:uppercase; color:var(--g); margin-bottom:8px; }
.m-n   { font-family:var(--serif); font-size:1.9rem; font-weight:300; color:var(--w); line-height:1.16; margin-bottom:10px; }

/* Star rating row */
.m-rating     { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.m-stars      { color:var(--g); font-size:.88rem; letter-spacing:1px; }
.m-rating-val { font-size:.72rem; font-weight:600; color:var(--g); }
.m-rating-cnt { font-size:.7rem; color:var(--m); }

/* Price */
.m-p { font-family:var(--serif); font-size:1.65rem; color:var(--gl); margin-bottom:12px; }

/* Description */
.m-d { font-size:.83rem; font-weight:300; color:var(--m); line-height:1.92; margin-bottom:14px; }

/* Customer review quote */
.m-review      { background:rgba(201,169,110,.04); border-left:2px solid rgba(201,169,110,.3); padding:12px 16px; margin-bottom:16px; }
.m-review-txt  { font-family:var(--serif); font-style:italic; font-size:.88rem; color:rgba(255,255,255,.55); line-height:1.7; margin-bottom:5px; }
[data-theme="light"] .m-review-txt { color:rgba(26,18,8,.55); }
.m-review-auth { font-size:.6rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--m); }

/* Specs grid */
.m-sp { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:16px; }
.m-s  { background:rgba(255,255,255,.025); border:1px solid var(--b); padding:10px 13px; }
[data-theme="light"] .m-s { background:rgba(0,0,0,.03); }
.m-sk { font-size:.56rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--m); margin-bottom:3px; }
.m-sv { font-size:.82rem; color:var(--t); }

/* Related products */
.m-rel-t { font-size:.56rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--m); margin-bottom:10px; padding-top:16px; border-top:1px solid var(--b); }
.m-rel-g { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:16px; }
.m-rel-c { cursor:pointer; border:1px solid var(--b); transition:border-color .3s; }
.m-rel-c:hover { border-color:var(--bh); }
.m-rel-img  { aspect-ratio:1; overflow:hidden; background:var(--bg3); }
.m-rel-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.m-rel-c:hover .m-rel-img img { transform:scale(1.08); }
.m-rel-name  { font-family:var(--serif); font-size:.76rem; color:var(--w); padding:6px 8px 2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.m-rel-price { font-size:.66rem; color:var(--g); padding:0 8px 7px; }

/* Modal action buttons */
.m-ac { display:flex; gap:8px; margin-top:auto; padding-top:8px; }
.m-ac .btn { flex:1; justify-content:center; font-size:.58rem; padding:12px 10px; }

/* ─────────────────────────────────────────────────────────────────
   17. TOAST
───────────────────────────────────────────────────────────────── */
#toast {
  position:fixed; bottom:32px; left:50%;
  transform:translateX(-50%) translateY(64px);
  z-index:2000;
  background:var(--bg2); border:1px solid var(--bh);
  color:var(--t);
  padding:14px 28px;
  font-size:.74rem; font-weight:500; letter-spacing:.06em;
  opacity:0;
  transition:all .4s var(--ease);
  pointer-events:none;
  white-space:nowrap;
  box-shadow:0 8px 48px rgba(0,0,0,.65);
}
#toast.on      { transform:translateX(-50%) translateY(0); opacity:1; }
#toast.t-gold  { border-color:var(--g); color:var(--g); }
#toast.t-heart { border-color:rgba(212,100,100,.5); color:rgba(255,160,140,1); }

/* ─────────────────────────────────────────────────────────────────
   18. RESPONSIVE
───────────────────────────────────────────────────────────────── */
@media (max-width:1080px) {
  .ab-g  { grid-template-columns:1fr; gap:56px; }
  .ab-imgs { max-width:460px; }
  .ft-g  { grid-template-columns:1fr 1fr; gap:36px; }
  .pg    { grid-template-columns:repeat(2,1fr); }
  .modal { grid-template-columns:1fr; }
  .m-img { min-height:260px; max-height:300px; }
}

@media (max-width:768px) {
  .w        { padding:0 22px; }
  #nav      { padding:0 22px; height:72px; }
  .nav-c, .nav-btn { display:none; }
  .burger   { display:flex; }

  /* Hide nav consult button on mobile, keep icons */
  .nav-btn  { display:none; }

  .h-body   { padding:108px 22px 64px; }
  .h-side   { display:none; }
  .st-g     { grid-template-columns:repeat(2,1fr); }
  .st-i:nth-child(2)::before { display:none; }
  .pg       { grid-template-columns:1fr; }
  .rv-g     { grid-template-columns:1fr; }
  .co-g     { grid-template-columns:1fr; }
  .co-f     { padding:30px 20px; }
  .ft-g     { grid-template-columns:1fr; }
  .ab-acc   { display:none; }
  .ab-yr    { left:0; }
  .fr       { grid-template-columns:1fr; }
  .m-sp     { grid-template-columns:1fr; }
  .m-ac     { flex-wrap:wrap; }
  .m-rel-g  { grid-template-columns:repeat(3,1fr); }
  .h-acts   { flex-direction:column; align-items:flex-start; }

  /* Filter bar wraps to 2-column on mobile */
  .ft-bar   { flex-wrap:wrap; border-right:none; }
  .ft       { border-right:none; border-bottom:1px solid var(--b); width:50%; }
  .ft:nth-child(odd)                          { border-right:1px solid var(--b); }
  .ft:last-child,
  .ft:nth-last-child(2):nth-child(odd)        { border-bottom:none; }

  #toast    { bottom:20px; max-width:calc(100vw - 40px); white-space:normal; text-align:center; }
}