/* ==========================================================================
   OLIZAN Restaurant & Pizzeria — foaia de stil principală
   Structură:
   01 Variabile & reset      07 Card-uri            13 Contact & formular
   02 Tipografie             08 Meniu (taburi)      14 Footer
   03 Layout & utilitare     08b Card de produs     15 Butoane flotante
   04 Butoane                09 Split & rame        15b Coșul de comandă
   05 Header & navigație     10 Note informative    16 Banner cookie-uri
   06 Hero                   10b Comenzi oprite     17 Pagini legale
                             11 Galerie & lightbox  18 Animații la scroll
                             12 Hartă
   ========================================================================== */

/* 01 — Variabile & reset ================================================== */
:root{
  --olive:#2f4132;
  --olive-deep:#1d2a1f;
  --olive-soft:#5b7a4b;
  --olive-tint:#eaf0e4;
  --cream:#faf6ee;
  --cream-2:#f4ecdc;
  --cream-3:#e8dcc3;
  --brick:#a8402c;
  --brick-deep:#8a3323;
  --gold:#d9a441;
  --ink:#22251f;
  --muted:#62655a;
  --wa:#1faf58;
  --wa-dark:#158a44;

  --ff-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --ff-text:"Jost","Helvetica Neue",Arial,system-ui,sans-serif;

  --r-sm:10px;
  --r-md:16px;
  --r-lg:26px;
  --arch:999px 999px var(--r-md) var(--r-md);

  --sh-1:0 1px 2px rgba(34,37,31,.06),0 4px 14px rgba(34,37,31,.06);
  --sh-2:0 2px 6px rgba(34,37,31,.07),0 18px 40px rgba(34,37,31,.10);
  --sh-3:0 24px 60px rgba(34,37,31,.16);

  --wrap:1180px;
  --header-h:82px;

  /* textură discretă de hârtie artizanală */
  --paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
/* Bază tipografică: 88% din 16px ≈ 14.1px, deci toate valorile în rem
   (titluri, text, butoane, spațieri) scad proporțional cu ~12%. */
html{font-size:88%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--ff-text);
  font-size:1.0625rem; /* ≈15px, față de 17px înainte */
  line-height:1.65;
  color:var(--ink);
  background:var(--cream);
  background-image:var(--paper);
  overflow-x:hidden;
}
body.nav-open,body.lb-open{overflow:hidden}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--brick);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
::selection{background:var(--olive-tint);color:var(--olive-deep)}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip{
  position:absolute;left:12px;top:-60px;z-index:200;
  background:var(--olive);color:var(--cream);padding:10px 18px;border-radius:0 0 12px 12px;
  transition:top .2s ease;
}
.skip:focus{top:0}

/* 02 — Tipografie ========================================================= */
h1,h2,h3,h4{
  font-family:var(--ff-display);
  font-weight:700;
  line-height:1.14;
  color:var(--olive-deep);
  margin:0 0 .5em;
  letter-spacing:.4px;
}
h1{font-size:clamp(2.35rem,5.3vw,4rem)}
h2{font-size:clamp(1.9rem,3.7vw,2.9rem)}
h3{font-size:clamp(1.3rem,2.1vw,1.7rem)}
h4{font-size:1.15rem;font-weight:600}
p{margin:0 0 1.1em}
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--ff-text);font-size:.78rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--brick);
  margin:0 0 .9rem;
}
.eyebrow::before{
  content:"";width:34px;height:2px;background:var(--gold);border-radius:2px;
}
.eyebrow--center{justify-content:center}
.lead{font-size:1.12rem;color:var(--muted);max-width:62ch}
.center{text-align:center}
.center .lead{margin-inline:auto}
.tricolor{
  display:inline-flex;gap:4px;vertical-align:middle;margin-left:.5rem;
}
.tricolor i{width:9px;height:9px;border-radius:50%;display:block}
.muted{color:var(--muted)}

/* 03 — Layout & utilitare ================================================ */
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.section{padding:clamp(3.6rem,7vw,6.4rem) 0}
.section--tight{padding:clamp(2.4rem,4vw,3.6rem) 0}
.section--cream{background:var(--cream-2)}
.section--olive{background:var(--olive);color:var(--cream-2)}
.section--olive h2,.section--olive h3{color:var(--cream)}
.section--olive .lead,.section--olive p{color:rgba(250,246,238,.82)}
.section--olive .eyebrow{color:var(--gold)}
.section-head{max-width:64ch;margin-bottom:2.6rem}
.section-head.center{margin-inline:auto}
.grid{display:grid;gap:1.6rem}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.stack-btns{display:flex;flex-wrap:wrap;gap:.9rem}
.mt-2{margin-top:2rem}

/* 04 — Butoane ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.92rem 1.6rem;border-radius:999px;border:2px solid transparent;
  font-family:var(--ff-text);font-size:1rem;font-weight:600;letter-spacing:.02em;
  cursor:pointer;text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;
}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn svg{width:20px;height:20px;flex:none}
.btn--primary{background:var(--brick);color:#fff;box-shadow:var(--sh-1)}
.btn--primary:hover{background:var(--brick-deep);box-shadow:var(--sh-2)}
.btn--olive{background:var(--olive);color:var(--cream);box-shadow:var(--sh-1)}
.btn--olive:hover{background:var(--olive-deep);box-shadow:var(--sh-2)}
.btn--ghost{background:transparent;border-color:currentColor;color:var(--olive)}
.btn--ghost:hover{background:var(--olive);color:var(--cream);border-color:var(--olive)}
.section--olive .btn--ghost{color:var(--cream-2)}
.section--olive .btn--ghost:hover{background:var(--cream);color:var(--olive-deep);border-color:var(--cream)}
.btn--wa{background:var(--wa);color:#fff;box-shadow:var(--sh-1)}
.btn--wa:hover{background:var(--wa-dark);box-shadow:var(--sh-2)}
.btn--sm{padding:.55rem 1.05rem;font-size:.88rem}
.btn--sm svg{width:16px;height:16px}
.btn--block{width:100%}
.link-btn{
  background:none;border:0;padding:0;cursor:pointer;
  color:inherit;text-decoration:underline;text-underline-offset:3px;font-size:inherit;
}
.link-btn:hover{color:var(--gold)}

/* 05 — Header & navigație ================================================ */
.header{
  position:fixed;inset:0 0 auto;z-index:90;
  height:var(--header-h);
  display:flex;align-items:center;
  background:rgba(250,246,238,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:height .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease;
}
.header.is-scrolled{
  height:70px;box-shadow:var(--sh-1);
  border-bottom-color:var(--cream-3);
  background:rgba(250,246,238,.97);
}
.header-inner{
  width:min(100% - 2.5rem,var(--wrap));margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--olive-deep)}
.brand:hover{text-decoration:none}
.brand svg{width:42px;height:42px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{
  font-family:var(--ff-display);font-size:1.65rem;font-weight:700;
  letter-spacing:.14em;color:var(--olive);
}
.brand-sub{
  font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--brick);font-weight:500;margin-top:2px;
}
.nav-toggle{
  display:none;align-items:center;justify-content:center;gap:.5rem;
  background:var(--olive);color:var(--cream);border:0;border-radius:999px;
  padding:.6rem 1rem;cursor:pointer;font-size:.9rem;font-weight:500;
}
.nav-toggle span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative}
.nav-toggle span::before,.nav-toggle span::after{
  content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:2px;
  transition:transform .2s ease;
}
.nav-toggle span::before{top:-6px}
.nav-toggle span::after{top:6px}
.nav{display:flex;align-items:center;gap:.35rem}
.nav a{
  color:var(--olive-deep);font-size:.98rem;font-weight:500;
  padding:.5rem .8rem;border-radius:999px;position:relative;text-decoration:none;
  transition:color .18s ease,background-color .18s ease;
}
.nav a:hover{color:var(--brick);background:var(--olive-tint);text-decoration:none}
.nav a[aria-current="page"]{color:var(--brick)}
.nav a[aria-current="page"]::after{
  content:"";position:absolute;left:.8rem;right:.8rem;bottom:.22rem;height:2px;
  background:var(--gold);border-radius:2px;
}
.nav .nav-cta{display:none}
.header-cta{display:inline-flex}

@media (max-width:1000px){
  .nav-toggle{display:inline-flex}
  .header-cta{display:none}
  /* Panoul se poziționează față de „.header" (absolute, nu fixed): antetul are
     „backdrop-filter", deci devine blocul de referință pentru „position:fixed",
     iar un panou „fixed" ar rămâne închis în cele 82px ale antetului. */
  .nav{
    position:absolute;top:100%;left:0;right:0;
    z-index:95;
    max-height:calc(100vh - var(--header-h));
    max-height:calc(100dvh - var(--header-h));
    flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.2rem;
    background:var(--cream);
    padding:1.6rem 1.5rem 3rem;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    transform:translateY(-8px);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .22s ease,transform .22s ease,visibility .22s;
    border-top:1px solid var(--cream-3);
  }
  .nav.is-open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .nav a{
    font-size:1.2rem;font-family:var(--ff-display);font-weight:600;
    padding:.85rem .6rem;border-radius:var(--r-sm);border-bottom:1px solid var(--cream-3);
  }
  .nav a[aria-current="page"]::after{display:none}
  .nav .nav-cta{
    display:inline-flex;margin-top:1.2rem;justify-content:center;
    font-family:var(--ff-text);border-bottom:0;
  }
}

/* Stratul de închidere al meniului mobil: este adăugat în pagină de site.js
   doar cât timp meniul este deschis și este șters complet la închidere,
   ca să nu rămână niciodată un strat invizibil peste conținut. */
.nav-backdrop{
  position:fixed;inset:0;z-index:85;
  background:rgba(29,42,31,.38);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  animation:navBackdropIn .22s ease both;
}
@keyframes navBackdropIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .nav-backdrop{animation:none}
}

/* 06 — Hero =============================================================== */
.hero{
  position:relative;
  padding-top:calc(var(--header-h) + clamp(2.5rem,6vw,4.5rem));
  padding-bottom:clamp(3rem,7vw,5.5rem);
  background:
    radial-gradient(120% 110% at 78% 12%,rgba(91,122,75,.42) 0%,rgba(47,65,50,0) 58%),
    radial-gradient(90% 90% at 8% 90%,rgba(168,64,44,.30) 0%,rgba(47,65,50,0) 60%),
    linear-gradient(160deg,var(--olive-deep) 0%,var(--olive) 62%,#3a5039 100%);
  color:var(--cream);
  overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:0;background-image:var(--paper);opacity:.5;pointer-events:none;
}
.hero-inner{
  position:relative;z-index:2;
  display:grid;gap:clamp(2rem,4vw,3.4rem);
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:center;
}
.hero h1{color:var(--cream);margin-bottom:.55rem}
.hero .eyebrow{color:var(--gold)}
.hero-sub{font-size:1.16rem;color:rgba(250,246,238,.88);max-width:56ch;margin-bottom:1.7rem}
.hero .stack-btns{margin-bottom:1.6rem}
.hero-note{
  display:inline-flex;align-items:flex-start;gap:.6rem;
  background:rgba(250,246,238,.10);
  border:1px solid rgba(250,246,238,.22);
  border-radius:var(--r-md);
  padding:.8rem 1.1rem;font-size:.98rem;color:rgba(250,246,238,.92);
}
.hero-note svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--gold)}
.hero-art{position:relative}
.hero-arch{
  border-radius:var(--arch);
  overflow:hidden;
  background:var(--cream-2);
  border:10px solid rgba(250,246,238,.14);
  box-shadow:var(--sh-3);
  animation:floaty 9s ease-in-out infinite;
}
.hero-arch img{width:100%;display:block}
.hero-badge{
  position:absolute;left:-14px;bottom:26px;
  background:var(--cream);color:var(--olive-deep);
  border-radius:var(--r-md);padding:.85rem 1.2rem;box-shadow:var(--sh-2);
  font-family:var(--ff-display);font-size:1.28rem;font-weight:700;line-height:1.2;
  max-width:230px;
}
.hero-badge small{
  display:block;font-family:var(--ff-text);font-size:.72rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--brick);margin-top:.25rem;
}
@keyframes floaty{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-14px)}
}
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr}
  .hero-art{order:-1;max-width:460px;margin-inline:auto}
  .hero-badge{left:auto;right:-6px;bottom:14px}
}

/* banda cu argumente sub hero */
.strip{background:var(--cream-2);border-bottom:1px solid var(--cream-3)}
.strip-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:1.4rem;padding:1.8rem 0;
}
.strip-item{display:flex;gap:.85rem;align-items:flex-start}
.strip-item svg{width:26px;height:26px;flex:none;color:var(--brick);margin-top:3px}
.strip-item strong{display:block;font-family:var(--ff-display);font-size:1.2rem;color:var(--olive-deep)}
.strip-item span{font-size:.95rem;color:var(--muted)}

/* 07 — Card-uri =========================================================== */
.card{
  background:var(--cream);
  border:1px solid var(--cream-3);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--sh-1);
  display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.card:hover{transform:translateY(-5px);box-shadow:var(--sh-2);border-color:var(--gold)}
.card-media{position:relative;background:var(--cream-2);aspect-ratio:3/2;overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-tag{
  position:absolute;top:.85rem;left:.85rem;
  background:var(--olive);color:var(--cream);
  font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:.32rem .8rem;border-radius:999px;
}
.card-body{padding:1.35rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.card-body h3{margin-bottom:.4rem}
.card-body p{color:var(--muted);font-size:.98rem;margin-bottom:1rem}
.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.price{
  font-family:var(--ff-display);font-size:1.6rem;font-weight:700;color:var(--brick);
  white-space:nowrap;line-height:1.1;
}
.price small{display:block;font-family:var(--ff-text);font-size:.72rem;font-weight:500;color:var(--muted);letter-spacing:.04em}
/* Prețul „de la …” se completează din data/menu.js; fără JavaScript nu ocupă loc. */
.price:empty{display:none}

/* 08 — Meniu (taburi) ===================================================== */
.menu-tabs{
  display:flex;gap:.6rem;
  overflow-x:auto;
  padding:.4rem .2rem 1rem;
  margin-bottom:1.8rem;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--cream-3) transparent;
}
.menu-tabs::-webkit-scrollbar{height:6px}
.menu-tabs::-webkit-scrollbar-thumb{background:var(--cream-3);border-radius:999px}
.menu-tab{
  flex:none;scroll-snap-align:start;
  background:var(--cream);border:1px solid var(--cream-3);
  border-radius:999px;padding:.62rem 1.25rem;
  font-size:.98rem;font-weight:500;color:var(--olive-deep);
  cursor:pointer;white-space:nowrap;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.menu-tab:hover{border-color:var(--gold);color:var(--brick)}
.menu-tab[aria-selected="true"]{
  background:var(--olive);border-color:var(--olive);color:var(--cream);box-shadow:var(--sh-1);
}
.menu-panel{
  background:var(--cream);
  border:1px solid var(--cream-3);
  border-radius:var(--r-lg);
  padding:clamp(1.4rem,3vw,2.4rem);
  box-shadow:var(--sh-1);
}
.menu-panel[hidden]{display:none}
.menu-panel-head{
  display:flex;gap:1.6rem;align-items:flex-start;justify-content:space-between;
  flex-wrap:wrap;margin-bottom:1.4rem;
  padding-bottom:1.2rem;border-bottom:2px solid var(--cream-2);
}
.menu-panel-head h3{margin-bottom:.2rem}
.menu-panel-head p{margin:0;color:var(--muted);font-size:.96rem;max-width:56ch}
.menu-panel-head img{width:96px;border-radius:var(--r-sm);flex:none}
.menu-group + .menu-group{margin-top:2.4rem}
.menu-group-title{
  font-family:var(--ff-display);font-size:1.3rem;font-weight:700;color:var(--olive);
  margin:0 0 .3rem;
}
.menu-group-note{font-size:.92rem;color:var(--muted);margin:0 0 1rem}
.menu-nota-foto{font-size:.86rem;color:var(--muted);margin:0 0 1.1rem;font-style:italic}
#menu-fallback{margin-top:1.5rem}

/* 08b — Cardul de produs (fotografie, ingrediente, preț, comandă) ========== */
.prod-grid{display:grid;gap:1.1rem;grid-template-columns:1fr}
.prod{
  position:relative;
  display:grid;grid-template-columns:1fr;
  background:var(--cream);
  border:1px solid var(--cream-3);
  border-radius:var(--r-md);
  overflow:hidden;
  box-shadow:var(--sh-1);
  transition:box-shadow .2s ease,border-color .2s ease;
}
.prod:hover{box-shadow:var(--sh-2);border-color:var(--gold)}
/* Pe telefon fotografia stă deasupra denumirii, pe ecran lat în stânga. */
.prod-foto{
  display:block;padding:0;border:0;margin:0;
  background:var(--cream-2);cursor:zoom-in;
  overflow:hidden;line-height:0;
}
.prod-foto img{
  display:block;width:100%;height:100%;
  /* 16/9 în loc de 3/2: fotografia ocupă cu ~16% mai puțin pe verticală,
     așa că denumirea, prețul și mărimile se văd fără să derulezi mult. */
  aspect-ratio:16/9;object-fit:cover;
  transition:transform .45s ease;
}
.prod-foto:hover img{transform:scale(1.05)}
.prod-foto:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.prod-body{padding:.95rem 1.1rem 1.1rem;display:flex;flex-direction:column;min-width:0}
.prod-name{
  font-family:var(--ff-display);font-size:1.28rem;font-weight:600;line-height:1.2;
  color:var(--olive-deep);margin:0;
}
.prod-ing{font-size:.9rem;color:var(--muted);line-height:1.5;margin:.3rem 0 0}
.prod-gram{
  font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--olive-soft);margin:.35rem 0 0;
}
.prod-tag{
  position:absolute;top:.7rem;left:.7rem;z-index:1;
  background:var(--gold);color:var(--ink);
  font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:.25rem .6rem;border-radius:999px;box-shadow:var(--sh-1);
}
.prod-sizes{border:0;margin:.75rem 0 0;padding:0;min-width:0}
.prod-sizes legend{
  padding:0;font-size:.72rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}
.prod-size{
  display:inline-flex;align-items:baseline;gap:.45rem;
  position:relative;margin:.4rem .4rem 0 0;
  padding:.35rem .8rem;
  background:#fff;border:1px solid var(--cream-3);border-radius:999px;
  font-size:.86rem;cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease;
}
.prod-size input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.prod-size:hover{border-color:var(--olive-soft)}
.prod-size:focus-within{outline:3px solid var(--gold);outline-offset:2px}
.prod-size:has(input:checked){background:var(--olive-tint);border-color:var(--olive-soft)}
.prod-size input:checked ~ .prod-size-txt{font-weight:600;color:var(--olive-deep)}
.prod-size-pret{font-weight:700;color:var(--brick);white-space:nowrap}
.prod-buy{
  display:flex;align-items:center;justify-content:space-between;
  gap:.6rem .9rem;flex-wrap:wrap;margin-top:auto;padding-top:.85rem;
}
.prod-price{
  font-family:var(--ff-display);font-size:1.45rem;font-weight:700;color:var(--brick);
  margin:0;line-height:1.1;
}
.prod-price small{
  font-family:var(--ff-text);font-size:.68rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}
/* Taxa de ambalaj: discretă, mai mică decât prețul, ca să nu concureze cu el
   și să nu mărească înălțimea cardului. */
.prod-ambalaj{
  font-family:var(--ff-text);font-size:.74rem;font-weight:600;
  letter-spacing:.02em;text-transform:none;color:var(--muted);white-space:nowrap;
}
.prod-ambalaj-rand{margin:.1rem 0 0;line-height:1.2}
.prod-price .prod-ambalaj{margin-left:.35rem}
.prod-size-pret .prod-ambalaj{margin-left:.25rem}
.btn--add{background:var(--olive);color:var(--cream);box-shadow:var(--sh-1);padding:.6rem 1.05rem;font-size:.9rem}
.btn--add:hover{background:var(--olive-deep);box-shadow:var(--sh-2)}
.btn--add svg{width:17px;height:17px}
.btn--add.is-added{background:var(--wa)}
.prod-err{
  margin:.7rem 0 0;padding:.5rem .7rem;border-radius:var(--r-sm);
  font-size:.86rem;line-height:1.45;
  background:var(--olive-tint);color:var(--olive-deep);
}
.prod-err.is-err{background:#fbeae7;color:var(--brick-deep)}
.prod-err[hidden]{display:none}

@media (min-width:560px){
  /* Coloana fotografiei: 140px în loc de 168px (~17% mai mică),
     ca să intre mai multe produse pe un ecran. */
  .prod{grid-template-columns:140px minmax(0,1fr)}
  /* Produsele fără fotografie încă încărcată folosesc toată lățimea cardului,
     ca să nu rămână o coloană goală în locul imaginii. */
  .prod--fara-foto{grid-template-columns:minmax(0,1fr)}
  .prod-foto{height:100%;min-height:134px}
  .prod-foto img{aspect-ratio:auto;height:100%;min-height:134px}
}
@media (min-width:1000px){
  .prod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* În „Recomandările casei” cardurile sunt înguste: fotografia rămâne deasupra. */
.grid--3 .prod{grid-template-columns:1fr}
.grid--3 .prod-foto{height:auto;min-height:0}
.grid--3 .prod-foto img{aspect-ratio:3/2;height:auto;min-height:0}

/* Pe telefon fotografia stă deasupra textului și, la lățime întreagă, ocupa
   jumătate de ecran. O turtim într-o bandă scurtă (max. 132px), ca denumirea,
   prețul și butonul de comandă să se vadă fără derulare. Regula vine după
   blocul „.grid--3”, ca să se aplice și recomandărilor de pe prima pagină. */
@media (max-width:559px){
  .prod-foto img,
  .grid--3 .prod-foto img{
    aspect-ratio:5/2;max-height:132px;height:auto;min-height:0;
  }
}

/* chips (scurtături spre categorii) */
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{
  display:inline-flex;align-items:center;gap:.4rem;
  background:var(--cream);border:1px solid var(--cream-3);border-radius:999px;
  padding:.45rem 1rem;font-size:.9rem;color:var(--olive-deep);text-decoration:none;
  transition:border-color .18s ease,color .18s ease,background-color .18s ease;
}
.chip:hover{border-color:var(--gold);color:var(--brick);text-decoration:none;background:var(--cream-2)}

/* bandă de îndemn */
.cta-band{
  background:var(--olive);color:var(--cream);
  border-radius:var(--r-lg);
  padding:clamp(1.8rem,4vw,2.8rem);
  display:flex;align-items:center;justify-content:space-between;gap:1.6rem;flex-wrap:wrap;
  box-shadow:var(--sh-2);
  background-image:var(--paper),linear-gradient(120deg,var(--olive-deep),var(--olive));
}
.cta-band h2,.cta-band h3{color:var(--cream);margin-bottom:.3rem}
.cta-band p{color:rgba(250,246,238,.82);margin:0;max-width:52ch}

/* 09 — Split & rame ======================================================= */
.split{
  display:grid;gap:clamp(2rem,5vw,3.6rem);
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  align-items:center;
}
.split--reverse .split-media{order:2}
@media (max-width:760px){.split--reverse .split-media{order:0}}
.frame-arch{
  border-radius:var(--arch);
  overflow:hidden;
  border:1px solid var(--cream-3);
  background:var(--cream-2);
  box-shadow:var(--sh-2);
}
.frame-arch img{width:100%;display:block}
.frame-soft{
  border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--cream-3);
  background:var(--cream-2);box-shadow:var(--sh-1);
}
.frame-soft img{width:100%;display:block}
.quote{
  font-family:var(--ff-display);font-size:1.5rem;font-style:italic;color:var(--olive);
  border-left:3px solid var(--gold);padding-left:1.2rem;margin:1.6rem 0;line-height:1.4;
}
.fact-list{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.8rem}
.fact-list li{display:flex;gap:.7rem;align-items:flex-start}
.fact-list svg{width:20px;height:20px;flex:none;margin-top:4px;color:var(--olive-soft)}

/* 10 — Note informative =================================================== */
.notice{
  display:flex;gap:.9rem;align-items:flex-start;
  background:var(--olive-tint);
  border:1px solid #d5e0cb;
  border-left:4px solid var(--olive-soft);
  border-radius:var(--r-md);
  padding:1.05rem 1.25rem;
  font-size:.97rem;color:#3c4a38;
}
.notice svg{width:21px;height:21px;flex:none;margin-top:3px;color:var(--olive-soft)}
.notice p{margin:0}
.notice p + p{margin-top:.5rem}
.notice--gold{background:#fbf3e2;border-color:#efdfba;border-left-color:var(--gold);color:#5b4a22}
.notice--gold svg{color:var(--gold)}

/* 10b — Anunț: nu preluăm comenzi ========================================= */
/* Banda din capul paginii, mesajul care ține locul butonului „Adaugă în
   comandă" pe carduri și cel care înlocuiește formularul din coș. */
.anunt{
  background:#fbf3e2;
  border-bottom:1px solid #efdfba;
  border-top:1px solid #efdfba;
  color:#5b4a22;
}
/* Pe paginile unde „main" urmează direct antetul (acasă, 404) banda este primul
   element din flux, iar antetul — fiind „fixed" — i-ar acoperi textul. Îi
   rezervăm înălțimea antetului, aceeași pe mobil și pe desktop. */
.header + main > .anunt:first-child,
body > .anunt:first-child{
  padding-top:var(--header-h);
}
/* Secțiunea de sub bandă nu mai are nevoie de aceeași rezervă: anunțul o
   coboară deja sub antet, altfel ar rămâne un gol cât antetul. */
.anunt + .hero{padding-top:clamp(2.5rem,6vw,4.5rem)}
.anunt + .page-head{padding-top:3rem}
.anunt + .error-page{padding-top:4rem}
.anunt-in{
  display:flex;gap:.9rem;align-items:flex-start;
  padding:1rem 0 1.05rem;
}
.anunt svg{width:24px;height:24px;flex:none;margin-top:2px;color:var(--gold)}
.anunt p{margin:0}
.anunt-titlu{
  font-family:var(--ff-display);font-size:1.35rem;font-weight:700;
  color:var(--brick-deep);line-height:1.2;
}
.anunt-text{font-size:.96rem;line-height:1.55;margin-top:.3rem !important;max-width:70ch}

.prod-buy--oprit{justify-content:flex-start}
.prod-price-linie{display:inline-flex;gap:.4rem;align-items:baseline;margin-right:1rem;
  font-family:var(--ff-text);font-size:.8rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)}
.prod-price-linie b{font-family:var(--ff-display);font-size:1.45rem;letter-spacing:0;
  text-transform:none;color:var(--brick)}
.prod-oprit{
  margin:.7rem 0 0;padding:.55rem .8rem;border-radius:var(--r-sm);
  font-size:.88rem;font-weight:600;line-height:1.45;
  background:#fbf3e2;border:1px solid #efdfba;color:#7a5c17;
}
/* Butoanele rămase într-o pagină deschisă înainte de oprirea comenzilor */
body.comenzi-oprite .btn--add,
body.comenzi-oprite .prod-sizes{display:none}

.cart-oprit{
  margin-top:1.1rem;padding:1rem 1.1rem;border-radius:var(--r-md);
  background:#fbf3e2;border:1px solid #efdfba;color:#5b4a22;
  font-size:.93rem;line-height:1.55;
}
.cart-oprit[hidden]{display:none}
.cart-oprit p{margin:0}
.cart-oprit p + p{margin-top:.5rem}
.cart-oprit-titlu{
  font-family:var(--ff-display);font-size:1.2rem;font-weight:700;
  color:var(--brick-deep);line-height:1.2;
}
.cart-oprit-nota{font-size:.86rem;color:var(--muted)}

/* 11 — Galerie & lightbox ================================================= */
.gallery{
  display:grid;gap:1rem;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
}
.gallery-item{
  position:relative;margin:0;padding:0;
  border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--cream-3);background:var(--cream-2);
  cursor:zoom-in;
  aspect-ratio:4/3;
  box-shadow:var(--sh-1);
  transition:transform .25s ease,box-shadow .25s ease;
}
.gallery-item:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.gallery-item img{width:100%;height:100%;object-fit:cover}
.gallery-item figcaption{
  position:absolute;inset:auto 0 0;
  background:linear-gradient(transparent,rgba(29,42,31,.86));
  color:var(--cream);font-size:.9rem;padding:1.8rem .9rem .8rem;
}
.gallery-item--tall{aspect-ratio:3/4}
.gallery-item--wide{grid-column:span 2;aspect-ratio:16/9}
@media (max-width:520px){.gallery-item--wide{grid-column:span 1;aspect-ratio:4/3}}

.lb{
  position:fixed;inset:0;z-index:120;
  display:none;align-items:center;justify-content:center;
  background:rgba(20,26,19,.94);
  padding:clamp(1rem,4vw,3rem);
}
.lb.is-open{display:flex}
.lb-figure{margin:0;max-width:min(1100px,100%);text-align:center}
.lb-figure img{
  max-height:78vh;width:auto;margin-inline:auto;border-radius:var(--r-md);
  box-shadow:var(--sh-3);background:var(--cream);
}
.lb-figure figcaption{color:var(--cream-2);margin-top:1rem;font-size:.98rem}
.lb-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:52px;height:52px;border-radius:50%;
  background:rgba(250,246,238,.14);border:1px solid rgba(250,246,238,.3);
  color:var(--cream);font-size:1.6rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background-color .2s ease;
}
.lb-btn:hover{background:rgba(250,246,238,.3)}
.lb-prev{left:clamp(.6rem,3vw,2rem)}
.lb-next{right:clamp(.6rem,3vw,2rem)}
.lb-close{
  position:absolute;top:clamp(.8rem,3vw,1.8rem);right:clamp(.8rem,3vw,1.8rem);
  transform:none;width:48px;height:48px;font-size:1.4rem;
}

/* 12 — Hartă ============================================================== */
.map-shell{
  border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--cream-3);background:var(--cream-2);
  box-shadow:var(--sh-1);min-height:340px;position:relative;
}
.map-shell iframe{display:block;width:100%;height:440px;border:0}
.map-placeholder{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;
  text-align:center;padding:clamp(2rem,5vw,3.4rem);min-height:340px;
  background-image:var(--paper);
}
.map-placeholder svg{width:44px;height:44px;color:var(--olive-soft)}
.map-placeholder p{max-width:44ch;color:var(--muted);margin:0}
.address-card{
  background:var(--cream);border:1px solid var(--cream-3);border-radius:var(--r-lg);
  padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--sh-1);
}
.address-card address{font-style:normal;font-size:1.06rem;line-height:1.8}
.address-card address strong{font-family:var(--ff-display);font-size:1.35rem;display:block;color:var(--olive-deep)}

/* 13 — Contact & formular ================================================ */
.contact-card{
  background:var(--cream);border:1px solid var(--cream-3);border-radius:var(--r-lg);
  padding:1.6rem 1.5rem;box-shadow:var(--sh-1);
  display:flex;flex-direction:column;gap:.6rem;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--gold)}
.contact-card .icon{
  width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:var(--olive-tint);color:var(--olive);margin-bottom:.4rem;
}
.contact-card .icon svg{width:26px;height:26px}
.contact-card h3{margin:0}
.contact-card p{margin:0;color:var(--muted);font-size:.96rem}
.contact-card .value{
  font-family:var(--ff-display);font-size:1.35rem;font-weight:700;color:var(--olive-deep);
  word-break:break-word;
}
.contact-card .btn{margin-top:.7rem;align-self:flex-start}

.form{
  background:var(--cream);border:1px solid var(--cream-3);border-radius:var(--r-lg);
  padding:clamp(1.5rem,3vw,2.4rem);box-shadow:var(--sh-1);
}
.field{margin-bottom:1.15rem}
.field label{display:block;font-size:.92rem;font-weight:600;margin-bottom:.4rem;color:var(--olive-deep)}
.field .req{color:var(--brick)}
.field input,.field textarea{
  width:100%;padding:.85rem 1rem;font:inherit;font-size:1rem;color:var(--ink);
  background:var(--cream-2);
  border:1px solid var(--cream-3);border-radius:var(--r-sm);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.field input:focus,.field textarea:focus{
  outline:none;border-color:var(--olive-soft);background:#fff;
  box-shadow:0 0 0 3px rgba(91,122,75,.18);
}
.field textarea{min-height:150px;resize:vertical}
.field-hint{font-size:.86rem;color:var(--muted);margin:.35rem 0 0}
.field-grid{display:grid;gap:0 1.2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.93rem;color:var(--muted);margin-bottom:1.2rem}
.consent input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--olive)}
.consent label{font-weight:400;font-size:.93rem;line-height:1.55}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{
  margin-top:1.1rem;padding:.9rem 1.1rem;border-radius:var(--r-sm);font-size:.96rem;
  display:none;
}
.form-status.is-visible{display:block}
.form-status.is-ok{background:#e7f4ea;border:1px solid #bfe0c8;color:#1f5b33}
.form-status.is-err{background:#fbeae7;border:1px solid #efc7bf;color:#8a3323}

/* 14 — Footer ============================================================= */
.footer{
  background:var(--olive-deep);color:rgba(250,246,238,.78);
  padding:clamp(3rem,6vw,4.4rem) 0 1.6rem;
  background-image:var(--paper);
  font-size:.96rem;
}
.footer a{color:rgba(250,246,238,.82)}
.footer a:hover{color:var(--gold)}
.footer h4{
  color:var(--cream);font-family:var(--ff-text);font-size:.8rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;margin-bottom:1rem;
}
.footer-grid{
  display:grid;gap:2.2rem;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  padding-bottom:2.4rem;border-bottom:1px solid rgba(250,246,238,.16);
}
.footer-brand svg{width:46px;height:46px}
.footer-brand .brand-name{color:var(--cream)}
.footer-brand .brand-sub{color:var(--gold)}
.footer-brand p{margin-top:1rem;max-width:34ch}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.footer address{font-style:normal;line-height:1.85}
.footer-social{display:flex;gap:.7rem;margin-top:1.1rem}
.footer-social a{
  width:44px;height:44px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(250,246,238,.10);border:1px solid rgba(250,246,238,.18);
  color:var(--cream);transition:background-color .2s ease,transform .2s ease;
}
.footer-social a:hover{background:var(--brick);transform:translateY(-2px)}
.footer-social svg{width:22px;height:22px}
.anpc-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.anpc-plate{
  display:flex;flex-direction:column;justify-content:center;
  min-width:130px;padding:.6rem .95rem;
  background:var(--cream);color:var(--olive-deep);
  border-radius:var(--r-sm);border:1px solid var(--cream-3);
  font-size:.72rem;line-height:1.35;text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
.anpc-plate:hover{transform:translateY(-2px);box-shadow:var(--sh-1);color:var(--olive-deep)}
.anpc-plate strong{font-size:.9rem;letter-spacing:.06em;color:var(--brick)}
.pay-strip{
  display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem;
  padding-top:1.6rem;
}
.pay-strip h4{margin:0}
.footer .pay-list{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
  margin:0;padding:0;list-style:none;
}
.pay-list li{display:flex}
.pay-list img{
  display:block;width:48px;height:32px;border-radius:6px;
  box-shadow:0 1px 3px rgba(29,42,31,.28);
}
.footer-bottom{
  display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;align-items:center;justify-content:space-between;
  padding-top:1.6rem;font-size:.88rem;color:rgba(250,246,238,.6);
}
.footer-bottom p{margin:0}
.footer-credit{flex:1 0 100%;font-size:.8rem;color:rgba(250,246,238,.46)}
.footer-credit a{color:rgba(250,246,238,.62);text-decoration:none;border-bottom:1px solid rgba(250,246,238,.22)}
.footer-credit a:hover{color:var(--gold);border-bottom-color:currentColor}

/* 15 — Butoane flotante =================================================== */
.floats{
  position:fixed;z-index:80;
  right:max(1rem,env(safe-area-inset-right));
  bottom:calc(1rem + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:.7rem;align-items:flex-end;
}
body.nav-open .floats,body.lb-open .floats,body.cart-open .floats{display:none}
/* Bannerul de cookie-uri stă deasupra antetului, deci ar acoperi ultimul link
   din meniul mobil; se ascunde cât timp meniul este deschis și reapare după. */
body.nav-open .cookie{display:none}
.float-wa{
  width:60px;height:60px;border-radius:50%;
  background:var(--wa);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(31,175,88,.42);
  transition:transform .2s ease,background-color .2s ease;
}
.float-wa:hover{background:var(--wa-dark);transform:scale(1.06)}
.float-wa svg{width:32px;height:32px}
.to-top{
  width:46px;height:46px;border-radius:50%;
  background:var(--cream);color:var(--olive);
  border:1px solid var(--cream-3);box-shadow:var(--sh-1);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s ease,visibility .25s,transform .25s ease,background-color .2s ease;
}
.to-top.is-visible{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--olive);color:var(--cream)}
.to-top svg{width:20px;height:20px}
@media (max-width:520px){
  .float-wa{width:54px;height:54px}
  .float-wa svg{width:28px;height:28px}
}

/* 15b — Coșul de comandă ================================================== */
.cart-btn{
  display:inline-flex;align-items:center;gap:.5rem;position:relative;
  border:1px solid var(--cream-3);background:var(--cream-2);color:var(--olive-deep);
  border-radius:999px;padding:.55rem 1rem;cursor:pointer;
  font-family:var(--ff-text);font-size:.92rem;font-weight:600;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.cart-btn:hover{background:var(--olive);color:var(--cream);border-color:var(--olive)}
.cart-btn svg{width:20px;height:20px;flex:none}
.cart-count{
  min-width:22px;height:22px;padding:0 .35rem;border-radius:999px;
  background:var(--brick);color:#fff;
  font-size:.76rem;font-weight:700;line-height:22px;text-align:center;
}
.cart-count.is-zero{background:var(--cream-3);color:var(--muted)}
@media (max-width:1000px){
  .brand{order:1}
  .cart-btn{order:2;padding:.5rem .7rem;margin-left:auto}
  .cart-btn .cart-btn-txt{display:none}
  .nav-toggle{order:3}
  .nav{order:4}
}

.cart-backdrop{
  position:fixed;inset:0;z-index:115;
  background:rgba(29,42,31,.5);backdrop-filter:blur(2px);
}
.cart{
  position:fixed;z-index:120;top:0;right:0;bottom:0;
  width:min(100%,430px);
  display:flex;flex-direction:column;
  background:var(--cream);border-left:1px solid var(--cream-3);
  box-shadow:var(--sh-3);
  transform:translateX(102%);visibility:hidden;
  transition:transform .28s ease,visibility .28s;
}
.cart.is-open{transform:none;visibility:visible}
body.cart-open{overflow:hidden}
.cart-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.1rem 1.3rem;border-bottom:1px solid var(--cream-3);
  background:var(--cream-2);flex:none;
}
.cart-head h2{font-size:1.5rem;margin:0}
.cart-close{
  width:40px;height:40px;flex:none;border-radius:50%;
  border:1px solid var(--cream-3);background:var(--cream);color:var(--olive);
  font-size:1.7rem;line-height:1;cursor:pointer;
  transition:background-color .18s ease,color .18s ease;
}
.cart-close:hover{background:var(--olive);color:var(--cream)}
.cart-scroll{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:1.1rem 1.3rem calc(1.6rem + env(safe-area-inset-bottom));
}
.cart-empty{color:var(--muted);font-size:.95rem;margin:.5rem 0 0}
.cart-items{list-style:none;margin:0;padding:0}
.cart-item{
  display:grid;grid-template-columns:76px minmax(0,1fr);gap:.85rem;
  padding:.9rem 0;border-bottom:1px dashed var(--cream-3);
}
.cart-item--fara-foto{grid-template-columns:minmax(0,1fr)}
.cart-thumb{
  width:76px;height:76px;border-radius:var(--r-sm);object-fit:cover;
  border:1px solid var(--cream-3);background:var(--cream-2);
}
.cart-item-main{min-width:0}
.cart-item-name{
  font-family:var(--ff-display);font-size:1.12rem;font-weight:600;line-height:1.2;
  color:var(--olive-deep);margin:0;
}
.cart-item-size{
  display:inline-block;vertical-align:middle;
  font-family:var(--ff-text);font-size:.7rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--olive-deep);
  background:var(--olive-tint);border-radius:999px;padding:.1rem .5rem;
}
.cart-item-ing{
  font-size:.82rem;color:var(--muted);line-height:1.45;margin:.2rem 0 0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.cart-item-unit{font-size:.82rem;color:var(--muted);margin:.25rem 0 0}
.cart-item-ambalaj{font-size:.78rem;color:var(--muted);margin:.15rem 0 0}
.cart-item-ambalaj span{opacity:.8}
.cart-item-row{display:flex;align-items:center;gap:.6rem;margin-top:.5rem}
.cart-item-sub{
  margin-left:auto;font-family:var(--ff-display);font-size:1.15rem;
  font-weight:700;color:var(--brick);white-space:nowrap;
}
.qty{display:inline-flex;align-items:center;border:1px solid var(--cream-3);border-radius:999px;background:#fff}
.qty-btn{
  width:30px;height:30px;border:0;background:transparent;color:var(--olive);
  font-size:1.05rem;line-height:1;cursor:pointer;border-radius:50%;
}
.qty-btn:hover{background:var(--olive-tint)}
.qty-input{
  width:38px;height:30px;border:0;background:transparent;
  font:inherit;font-size:.9rem;font-weight:600;text-align:center;color:var(--ink);
  -moz-appearance:textfield;appearance:textfield;
}
.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-input:focus{outline:2px solid var(--gold);outline-offset:1px;border-radius:6px}
.cart-del{
  width:32px;height:32px;flex:none;border-radius:50%;
  border:1px solid var(--cream-3);background:var(--cream);color:var(--muted);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.cart-del:hover{background:#fbeae7;color:var(--brick-deep);border-color:#efc7bf}
.cart-del svg{width:17px;height:17px}
/* Sumele detaliate de deasupra totalului: produsele și ambalajul, separat */
.cart-sumar{
  margin:1.1rem 0 0;padding:.7rem 1rem;
  background:var(--cream-2);border:1px solid var(--cream-3);border-radius:var(--r-sm);
  display:grid;gap:.35rem;
}
.cart-sum{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  font-size:.92rem;color:var(--ink);
}
.cart-sum b{font-weight:700;white-space:nowrap}
.cart-total{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  margin:.5rem 0 1.3rem;padding:.9rem 1rem;
  background:var(--olive-tint);border-radius:var(--r-sm);
  font-size:.88rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--olive-deep);
}
.cart-total b{
  font-family:var(--ff-display);font-size:1.6rem;font-weight:700;
  letter-spacing:0;text-transform:none;color:var(--brick);
}
.cart-form .field{margin-bottom:.9rem}
.cart-form .field textarea{min-height:70px}
.cart-mod{border:0;margin:0 0 .9rem;padding:0}
.cart-mod legend{
  padding:0;font-size:.92rem;font-weight:600;color:var(--olive-deep);margin-bottom:.4rem;
}
.cart-radio{
  display:block;padding:.6rem .85rem;margin-bottom:.5rem;
  background:var(--cream-2);border:1px solid var(--cream-3);border-radius:var(--r-sm);
  font-size:.95rem;cursor:pointer;
}
.cart-radio:has(input:checked){background:var(--olive-tint);border-color:var(--olive-soft)}
.cart-radio input{accent-color:var(--olive);margin-right:.4rem}
.cart-radio small{display:block;font-size:.8rem;color:var(--muted);line-height:1.4;margin-top:.2rem}
.cart-errors{
  margin:0 0 .9rem;padding:.7rem .9rem;border-radius:var(--r-sm);
  background:#fbeae7;border:1px solid #efc7bf;color:#8a3323;
  font-size:.88rem;line-height:1.5;
}
.cart-errors[hidden]{display:none}
.cart-note{font-size:.8rem;color:var(--muted);line-height:1.5;margin:.7rem 0 0}
.cart-confirm{
  margin-top:1rem;padding:.9rem 1rem;border-radius:var(--r-sm);
  background:var(--cream-2);border:1px solid var(--cream-3);
}
.cart-confirm[hidden]{display:none}
.cart-confirm p{margin:0 0 .7rem;font-size:.92rem}
.cart-confirm-nr{font-weight:600}
.cart-confirm-nr[hidden]{display:none}
.cart-confirm-row{display:flex;flex-wrap:wrap;gap:.5rem}
@media (prefers-reduced-motion:reduce){
  .cart{transition:none}
}

/* 16 — Banner cookie-uri ================================================= */
.cookie{
  position:fixed;z-index:110;
  left:max(1rem,env(safe-area-inset-left));
  right:max(1rem,env(safe-area-inset-right));
  bottom:calc(1rem + env(safe-area-inset-bottom));
  max-width:640px;margin-inline:auto;
  background:var(--cream);
  border:1px solid var(--cream-3);
  border-radius:var(--r-lg);
  box-shadow:var(--sh-3);
  padding:1.35rem 1.5rem;
  display:none;
}
.cookie.is-open{display:block}
.cookie h2{font-size:1.4rem;margin-bottom:.4rem}
.cookie p{font-size:.94rem;color:var(--muted);margin-bottom:1rem}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.cookie-actions .btn{flex:1 1 auto;min-width:160px}
.cookie-prefs{display:none;margin:1.1rem 0 .3rem;border-top:1px solid var(--cream-3);padding-top:1.1rem}
.cookie-prefs.is-open{display:block}
.cookie-opt{display:flex;gap:.8rem;align-items:flex-start;padding:.65rem 0;border-bottom:1px dashed var(--cream-3)}
.cookie-opt:last-of-type{border-bottom:0}
.cookie-opt input{width:20px;height:20px;flex:none;margin-top:3px;accent-color:var(--olive)}
.cookie-opt strong{display:block;font-size:.98rem;color:var(--olive-deep)}
.cookie-opt span{font-size:.88rem;color:var(--muted)}
.cookie-opt.is-locked{opacity:.75}
@media (max-width:520px){
  .cookie{padding:1.15rem 1.15rem 1.25rem;max-height:82vh;overflow-y:auto}
  .cookie-actions .btn{min-width:100%}
}

/* Identitate premium unitară: toate paginile folosesc aceeași marcă aurie,
   inclusiv șabloanele mai vechi care conțin încă sigla colorată în SVG. */
.header .brand>svg{display:none!important}
.header .brand::before,
.footer-brand::before{
  content:"";display:block;flex:none;
  width:46px;height:46px;
  background:url("../img/favicon.svg") center/contain no-repeat;
}
.footer-brand>svg{display:none!important}
.footer-brand::before{width:52px;height:52px}

/* Bannerul are aceeași paletă charcoal–champagne și pe pagina principală. */
.home-luxury .cookie{
  color:#ddd8cf;background:linear-gradient(155deg,#15191a,#090b0c 82%);
  border-color:rgba(216,198,162,.46);
  box-shadow:0 24px 70px rgba(0,0,0,.66);
}
.home-luxury .cookie h2{color:var(--lux-champagne)}
.home-luxury .cookie p,
.home-luxury .cookie-opt span{color:#aaa69f}
.home-luxury .cookie-prefs{border-top-color:#343536}
.home-luxury .cookie-opt{border-bottom-color:#2b2d2e}
.home-luxury .cookie-opt strong{color:#eee8dd}
.home-luxury .cookie-opt input{accent-color:var(--lux-bronze)}
.home-luxury .cookie .btn--olive,
.home-luxury .cookie .btn--primary{
  color:#17191a;background:linear-gradient(135deg,#bda77d,#e1d2b4);
  border-color:#d8c7a6;
}
.home-luxury .cookie .btn--ghost{
  color:var(--lux-champagne);background:#101314;
  border-color:rgba(216,198,162,.46);
}

/* 17 — Pagini legale ====================================================== */
.page-head{
  padding:calc(var(--header-h) + 3rem) 0 2.6rem;
  background:var(--cream-2);
  border-bottom:1px solid var(--cream-3);
}
.page-head h1{margin-bottom:.5rem}
.breadcrumb{font-size:.9rem;color:var(--muted);margin-bottom:1rem}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.breadcrumb li::after{content:"›";margin-left:.4rem;color:var(--cream-3)}
.breadcrumb li:last-child::after{content:""}
.prose{max-width:74ch}
.prose h2{font-size:clamp(1.5rem,2.65vw,2rem);margin-top:2.4rem}
.prose h3{font-size:1.25rem;margin-top:1.8rem}
.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.2rem}
.prose li{margin-bottom:.5rem}
.prose table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.95rem}
.prose th,.prose td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--cream-3);vertical-align:top}
.prose th{background:var(--cream-2);font-weight:600;color:var(--olive-deep)}
.prose .updated{font-size:.9rem;color:var(--muted)}
.todo{
  display:inline;
  background:#fbf3e2;border-bottom:2px dotted var(--gold);
  padding:0 .25rem;border-radius:3px;color:#6b5320;font-size:.96em;
}
.toc{
  background:var(--cream-2);border:1px solid var(--cream-3);border-radius:var(--r-md);
  padding:1.2rem 1.4rem;margin-bottom:2rem;
}
.toc h2{font-size:1.1rem;margin:0 0 .7rem;font-family:var(--ff-text);letter-spacing:.1em;text-transform:uppercase}
.toc ol{margin:0;padding-left:1.2rem;display:grid;gap:.35rem}

/* 404 */
.error-page{text-align:center;padding:calc(var(--header-h) + 4rem) 0 5rem}
.error-page .mark{width:88px;margin:0 auto 1.5rem}

/* 18 — Animații la scroll ================================================= */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}
.reveal-d1{transition-delay:.09s}
.reveal-d2{transition-delay:.18s}
.reveal-d3{transition-delay:.27s}
.reveal-d4{transition-delay:.36s}

/* 19 — Contul clientului ================================================== */
.cont-grid{align-items:start}
.cont-titlu{font-size:clamp(1.4rem,2.1vw,1.75rem);margin:0 0 .5rem}
.cont-sub{color:var(--muted);font-size:.95rem;margin:0 0 1.4rem}
.cont-forgot-toggle{display:block;margin:.9rem auto 0;color:var(--lux-champagne,#d8bd83)}
.cont-reset-box{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(216,189,131,.22)}
.cont-reset-wrap{max-width:620px}
.cont-reset-login{text-align:center;margin:1.2rem 0 0}
.cont-reset-login a{color:var(--lux-champagne,#d8bd83)}
.cont-bara{
  display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--cream-3);padding-bottom:1.4rem;
}
.cont-bara h2{margin:.1rem 0 .2rem}
.cont-email{color:var(--muted);font-size:.95rem;margin:0}
.cont-gol{color:var(--muted);font-size:.95rem;margin:0 0 1.2rem;list-style:none}

.cont-adrese{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.8rem}
.cont-adresa{
  display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;
  background:var(--cream-2);border:1px solid var(--cream-3);border-radius:var(--r-sm);
  padding:.9rem 1.1rem;
}
.cont-adresa p{margin:0}
.cont-adresa-eticheta{font-weight:600;color:var(--olive-deep);font-size:.95rem}
.cont-adresa-text{font-size:.95rem}
.cont-adresa-detalii{font-size:.88rem;color:var(--muted);margin-top:.2rem}
.cont-implicita{
  display:inline-block;margin-left:.4rem;padding:.1rem .5rem;border-radius:999px;
  background:var(--olive-tint);border:1px solid #d5e0cb;color:var(--olive);
  font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
}

.cont-comenzi-cap{margin:3rem 0 1.4rem}
.cont-comanda{
  background:var(--cream);border:1px solid var(--cream-3);border-radius:var(--r-md);
  padding:1.3rem 1.5rem;margin-bottom:1.1rem;box-shadow:var(--sh-1);
}
.cont-comanda-cap{
  display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between;
  border-bottom:1px dashed var(--cream-3);padding-bottom:.9rem;margin-bottom:.9rem;
}
.cont-comanda-nr{font-weight:600;color:var(--olive-deep);margin:0}
.cont-comanda-data{font-size:.88rem;color:var(--muted);margin:.15rem 0 0}
.cont-status{
  padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;
  background:var(--cream-2);border:1px solid var(--cream-3);color:var(--muted);
}
.cont-status--noua{background:#fbf3e2;border-color:#efdfba;color:#7a5c17}
.cont-status--confirmata{background:var(--olive-tint);border-color:#d5e0cb;color:var(--olive)}
.cont-status--livrata{background:#e7f4ea;border-color:#bfe0c8;color:#1f5b33}
.cont-status--anulata{background:#fbeae7;border-color:#efc7bf;color:#8a3323}
.cont-comanda-linii{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.cont-comanda-linii li{display:flex;gap:1rem;justify-content:space-between;font-size:.95rem}
.cont-comanda-linii em{color:var(--muted);font-style:normal}
.cont-comanda-ambalaj{color:var(--muted);border-top:1px dashed var(--cream-3);padding-top:.4rem}
.cont-comanda-jos{
  display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center;
  border-top:1px dashed var(--cream-3);margin-top:.9rem;padding-top:.9rem;
  font-size:.95rem;color:var(--muted);
}
.cont-comanda-jos b{font-size:1.15rem;color:var(--olive-deep)}
.cont-comanda-obs{font-size:.9rem;color:var(--muted);margin:.7rem 0 0}

/* legătura dintre coș și contul clientului */
.cart-cont{
  display:flex;gap:.6rem;align-items:flex-start;
  background:var(--olive-tint);border:1px solid #d5e0cb;border-radius:var(--r-sm);
  padding:.7rem .9rem;margin-bottom:1rem;font-size:.88rem;color:#3c4a38;
}
.cart-cont a{font-weight:600}
.cart-salveaza{
  display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--muted);
  margin:0 0 1rem;
}
.cart-salveaza input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--olive)}

/* Pe mobil, câmpurile de text rămân la 16px: sub această valoare Safari/iOS
   mărește automat pagina la focus. Restul textului rămâne scalat. */
@media (max-width:560px){
  .field input,.field textarea,.qty-input{font-size:16px}
}

/* 20 — Ecran de intrare: distincția „Firma de Aur" ======================== */
/* Se afișează doar pe prima pagină, o singură dată pe sesiune. Stă deasupra
   paginii (nu o înlocuiește), deci restul conținutului se încarcă normal
   dedesubt, iar stratul dispare singur după câteva secunde. */
.intro{
  position:fixed;inset:0;z-index:300;
  display:flex;align-items:center;justify-content:center;
  /* Marginile de siguranță (crestătură, bara de gesturi) se adaugă simetric
     sus/jos și stânga/dreapta: altfel centrul optic ar fi împins într-o parte. */
  padding:calc(1.6rem + env(safe-area-inset-top)) calc(1.25rem + env(safe-area-inset-right))
          calc(1.6rem + env(safe-area-inset-bottom)) calc(1.25rem + env(safe-area-inset-left));
  padding-block:calc(1.6rem + max(env(safe-area-inset-top),env(safe-area-inset-bottom)));
  padding-inline:calc(1.25rem + max(env(safe-area-inset-left),env(safe-area-inset-right)));
  background:radial-gradient(120% 90% at 50% 34%,#31432f 0%,#1d2a1f 52%,#121a13 100%);
  cursor:pointer;touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  /* Pe ecrane mici (sau telefon în format orizontal) conținutul poate depăși
     înălțimea disponibilă: îl lăsăm să se deruleze în loc să fie tăiat. */
  overflow-y:auto;overscroll-behavior:contain;
  opacity:0;transition:opacity .6s ease;
}
/* Pe telefon, un strat „fixed” este înalt cât ecranul CU bara de adresă
   ascunsă, deci mai înalt decât zona vizibilă: conținutul centrat în el
   apărea împins sub mijlocul real al ecranului. „dvh” urmărește exact
   înălțimea vizibilă în orice moment, așa că stratul acoperă tot ecranul,
   iar cardul stă fix în centru, indiferent de telefon sau de derulare.
   Browserele fără „dvh” păstrează comportamentul de dinainte (inset:0). */
@supports (height:100dvh){
  .intro{height:100dvh}
}
.intro[hidden]{display:none}
.intro.is-open{opacity:1;transition:opacity .35s ease}

.intro-inner{
  position:relative;text-align:center;width:min(26rem,100%);
  /* „margin:auto” păstrează centrarea, dar când conținutul e mai înalt decât
     ecranul nu mai retează partea de sus (spre deosebire de align-items). */
  margin:auto;flex:0 0 auto;
  transform:translateY(14px) scale(.97);
  transition:transform .55s cubic-bezier(.2,.7,.3,1);
}
.intro.is-open .intro-inner{transform:none}

.intro-link{display:block;color:inherit;text-decoration:none}
.intro-link:focus-visible{outline:2px solid var(--gold);outline-offset:8px;border-radius:var(--r-md)}

.intro-trofeu{
  /* Se micșorează și după înălțimea ecranului, ca pe telefoanele scunde sau
     în format orizontal trofeul să nu împingă textul în afara ecranului. */
  width:min(clamp(6rem,26vw,9.5rem),30vh);height:auto;margin:0 auto 1rem;
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.45));
}
.intro-eyebrow{
  margin:0 0 .3rem;font-size:.7rem;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:rgba(250,246,238,.7);
}
.intro-titlu{
  margin:0;font-family:var(--ff-display);font-weight:700;line-height:1.05;
  font-size:clamp(2rem,9vw,2.9rem);color:var(--gold);
}
.intro-rand{
  width:3.2rem;height:2px;margin:.85rem auto;border:0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.intro-nume{
  margin:0;font-family:var(--ff-display);font-size:clamp(1.05rem,4.6vw,1.35rem);
  color:var(--cream);letter-spacing:.02em;
}
.intro-nota{margin:.9rem 0 0;font-size:.72rem;color:rgba(250,246,238,.5)}

.intro-inchide{
  position:absolute;top:-1.2rem;right:-.4rem;
  width:44px;height:44px;padding:0;line-height:1;
  display:flex;align-items:center;justify-content:center;
  background:rgba(250,246,238,.08);border:1px solid rgba(217,164,65,.5);
  border-radius:50%;color:var(--cream);font:inherit;font-size:1.3rem;
  cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.intro-inchide:hover{background:rgba(217,164,65,.18);border-color:var(--gold);color:var(--gold)}
.intro-inchide:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

@media (max-width:560px){
  /* Pe telefon butonul stă în interiorul cardului: scos deasupra lui (valori
     negative) ajungea peste marginea de sus a ecranului și era retezat.
     Fundalul plin îl ține clar vizibil, chiar dacă ajunge peste trofeu. */
  .intro-inchide{
    top:0;right:0;
    background:rgba(14,20,15,.72);border-color:var(--gold);color:var(--gold);
    box-shadow:0 4px 14px rgba(0,0,0,.45);
  }
  .intro-trofeu{margin-bottom:.85rem}
  .intro-nota{margin-top:.75rem;font-size:.68rem}
}

/* Ecrane foarte înguste: titlul nu mai depășește lățimea disponibilă. */
@media (max-width:360px){
  .intro-eyebrow{font-size:.64rem;letter-spacing:.18em}
  .intro-titlu{font-size:clamp(1.7rem,9.5vw,2.2rem)}
  .intro-nume{font-size:clamp(.98rem,4.4vw,1.15rem)}
}

/* Telefon ținut orizontal (înălțime mică): totul se strânge ca să încapă. */
@media (max-height:520px) and (orientation:landscape){
  .intro{
    padding-top:calc(1rem + env(safe-area-inset-top));
    padding-bottom:calc(1rem + env(safe-area-inset-bottom));
    padding-block:calc(1rem + max(env(safe-area-inset-top),env(safe-area-inset-bottom)));
  }
  .intro-trofeu{width:min(clamp(4.5rem,20vh,7rem),22vh);margin-bottom:.6rem}
  .intro-titlu{font-size:clamp(1.6rem,7vh,2.2rem)}
  .intro-rand{margin:.6rem auto}
  .intro-nota{margin-top:.6rem}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{opacity:1;transform:none}
  .hero-arch{animation:none}
  .card:hover,.gallery-item:hover,.contact-card:hover,.btn:hover,.footer-social a:hover,.float-wa:hover{transform:none}
  .prod-foto:hover img{transform:none}
}

@media print{
  .header,.floats,.cookie,.lb,.footer-social,.menu-tabs,.intro,
  .cart,.cart-backdrop,.cart-btn,.prod-sizes,.prod-buy,.prod-err,.cart-oprit{display:none !important}
  body{background:#fff}
  .menu-panel[hidden]{display:block !important}
}

/* 21 — Temă premium black & gold ==========================================
   Păstrează structura și componentele tuturor paginilor; schimbă exclusiv
   prezentarea vizuală pentru continuitate cu homepage-ul luxury. */
body:not(.home-luxury){
  color:#ddd8cf;
  background:#050607;
  background-image:none;
}
body:not(.home-luxury) h1,
body:not(.home-luxury) h2,
body:not(.home-luxury) h3,
body:not(.home-luxury) h4{color:#f0bd5a}
body:not(.home-luxury) a{color:#e2a844}
body:not(.home-luxury) .muted,
body:not(.home-luxury) .lead{color:#aaa69f}
body:not(.home-luxury) ::selection{background:#d69a2d;color:#080706}

body:not(.home-luxury) .header{
  background:rgba(2,3,3,.97);
  border-bottom-color:rgba(214,154,45,.22);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
body:not(.home-luxury) .header.is-scrolled{background:rgba(2,3,3,.99);border-bottom-color:rgba(214,154,45,.35)}
body:not(.home-luxury) .brand-name{color:#f0bd5a}
body:not(.home-luxury) .brand-sub{color:#d69a2d}
body:not(.home-luxury) .header .brand svg{filter:sepia(1) saturate(2.2) hue-rotate(355deg) brightness(1.22)}
body:not(.home-luxury) .nav a{color:#eee9df}
body:not(.home-luxury) .nav a:hover{color:#f0bd5a;background:rgba(214,154,45,.08)}
body:not(.home-luxury) .nav a[aria-current=page]{color:#f0bd5a}
body:not(.home-luxury) .nav a[aria-current=page]::after{background:#d69a2d}
body:not(.home-luxury) .header-cta,
body:not(.home-luxury) .btn--primary{
  color:#090806;background:linear-gradient(135deg,#c98415,#f0bd59 54%,#d79825);
  border-color:#e1a643;box-shadow:0 8px 24px rgba(214,154,45,.14);
}
body:not(.home-luxury) .btn--olive{color:#090806;background:#d69a2d}
body:not(.home-luxury) .btn--ghost{color:#f0bd5a;border-color:rgba(214,154,45,.72)}
body:not(.home-luxury) .btn--ghost:hover{color:#090806;background:#f0bd5a;border-color:#f0bd5a}

body:not(.home-luxury) .page-head{
  background:radial-gradient(circle at 20% 0,rgba(214,154,45,.09),transparent 34%),#080a0b;
  border-bottom:1px solid rgba(214,154,45,.2);
}
body:not(.home-luxury) .breadcrumb{color:#96928b}
body:not(.home-luxury) .breadcrumb a{color:#d6a64d}
body:not(.home-luxury) .breadcrumb li::after{color:#6f5a32}
body:not(.home-luxury) .eyebrow{color:#d69a2d}
body:not(.home-luxury) .eyebrow::before{background:#d69a2d}
body:not(.home-luxury) .section{background:#050607}
body:not(.home-luxury) .section--cream{
  background:radial-gradient(circle at 50% -20%,rgba(214,154,45,.05),transparent 42%),#090b0c;
}
body:not(.home-luxury) .section--olive{background:#090b0c;color:#ddd8cf}
body:not(.home-luxury) .section--olive h2,
body:not(.home-luxury) .section--olive h3{color:#f0bd5a}
body:not(.home-luxury) .section--olive p,
body:not(.home-luxury) .section--olive .lead{color:#aaa69f}

body:not(.home-luxury) .card,
body:not(.home-luxury) .product-card,
body:not(.home-luxury) .contact-card,
body:not(.home-luxury) .address-card,
body:not(.home-luxury) .form-card,
body:not(.home-luxury) .legal-card,
body:not(.home-luxury) .account-card{
  color:#ddd8cf;background:linear-gradient(160deg,#141718,#080a0b 78%);
  border-color:rgba(214,154,45,.35);box-shadow:0 16px 34px rgba(0,0,0,.22);
}
body:not(.home-luxury) .card:hover,
body:not(.home-luxury) .product-card:hover,
body:not(.home-luxury) .contact-card:hover{border-color:#d69a2d}
body:not(.home-luxury) .card p,
body:not(.home-luxury) .product-card p,
body:not(.home-luxury) .contact-card p{color:#aaa69f}
body:not(.home-luxury) .product-card__price,
body:not(.home-luxury) .price{color:#f0bd5a}
body:not(.home-luxury) .menu-tabs{
  background:#0c0e0f;border-color:rgba(214,154,45,.32);box-shadow:0 10px 30px rgba(0,0,0,.25);
}
body:not(.home-luxury) .menu-tab{color:#d6d1c8}
body:not(.home-luxury) .menu-tab:hover{background:rgba(214,154,45,.08);color:#f0bd5a}
body:not(.home-luxury) .menu-tab.is-active{background:#d69a2d;color:#090806}
body:not(.home-luxury) .chip{color:#d8d3ca;background:#101213;border-color:rgba(214,154,45,.3)}
body:not(.home-luxury) .chip:hover{color:#090806;background:#f0bd5a}

body:not(.home-luxury) .split-frame,
body:not(.home-luxury) .gallery-item{
  background:#0d0f10;border-color:rgba(214,154,45,.34);box-shadow:0 15px 32px rgba(0,0,0,.25);
}
body:not(.home-luxury) .gallery-item figcaption{color:#d8d3ca;background:#0d0f10}
body:not(.home-luxury) .notice{color:#d4d0c8;background:#101213;border-color:#292b2c;border-left-color:#d69a2d}
body:not(.home-luxury) .notice--gold{color:#e2d4b7;background:#17130d;border-color:#493719;border-left-color:#d69a2d}
body:not(.home-luxury) .cta-band{background:linear-gradient(125deg,#0e1011,#17130d);border:1px solid rgba(214,154,45,.35)}
body:not(.home-luxury) .cta-band h2,
body:not(.home-luxury) .cta-band h3{color:#f0bd5a}
body:not(.home-luxury) .cta-band p{color:#aaa69f}
body:not(.home-luxury) input,
body:not(.home-luxury) select,
body:not(.home-luxury) textarea{
  color:#eee9df;background:#090b0c;border-color:rgba(214,154,45,.34);
}
body:not(.home-luxury) input::placeholder,
body:not(.home-luxury) textarea::placeholder{color:#77736d}

body:not(.home-luxury) .cookie{
  color:#ddd8cf;background:#0d0f10;border-color:rgba(214,154,45,.46);
  box-shadow:0 22px 60px rgba(0,0,0,.55);
}
body:not(.home-luxury) .cookie h2{color:#f0bd5a}
body:not(.home-luxury) .cookie-opt{background:#090b0c;border-color:#2b2d2e}
body:not(.home-luxury) .footer{
  color:rgba(245,241,233,.75);background:#020303;background-image:none;
  border-top:1px solid rgba(214,154,45,.32);
}
body:not(.home-luxury) .footer-grid{border-bottom-color:rgba(214,154,45,.22)}
body:not(.home-luxury) .footer h4,
body:not(.home-luxury) .footer-brand .brand-name{color:#f0bd5a}
body:not(.home-luxury) .footer-brand .brand-sub{color:#d69a2d}
body:not(.home-luxury) .footer-social a{background:#101213;border-color:rgba(214,154,45,.3)}
body:not(.home-luxury) .footer-social a:hover{color:#090806;background:#d69a2d}
body:not(.home-luxury) .anpc-plate{color:#19140c;background:#f7f0e4;border-color:#d6a64d}
body:not(.home-luxury) .anpc-plate:hover{color:#19140c}
body:not(.home-luxury) .anpc-plate strong{color:#9b5e0c}
body:not(.home-luxury) .to-top{color:#090806;background:#f0bd5a;border-color:#d69a2d}

@media(max-width:1000px){
  body:not(.home-luxury) .nav{background:#080a0b;border-top-color:rgba(214,154,45,.3)}
  body:not(.home-luxury) .nav a{border-bottom-color:rgba(214,154,45,.18)}
  body:not(.home-luxury) .nav-toggle{color:#f0bd5a;background:transparent;border:1px solid rgba(214,154,45,.5)}
}

/* Panoul PWA are stil static. Astfel rămâne corect dimensionat chiar când
   politica CSP nu permite foaia de stil creată dinamic de pwa.js. */
.olizan-instalare{
  position:fixed;z-index:75;
  left:max(1rem,env(safe-area-inset-left));
  bottom:calc(1rem + env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:.5rem;
  max-width:calc(100vw - 2rem);padding:.35rem .4rem .35rem .5rem;
  color:#eee9df;background:#0d0f10;border:1px solid rgba(214,154,45,.48);
  border-radius:999px;box-shadow:0 18px 40px rgba(0,0,0,.42);
  opacity:0;transform:translateY(10px);
  transition:opacity .25s ease,transform .25s ease;
}
.olizan-instalare[hidden]{display:none!important}
.olizan-instalare.is-open{opacity:1;transform:translateY(0)}
.olizan-instalare button{margin:0;border:0;cursor:pointer;font-family:var(--ff-text);line-height:1.2}
.olizan-instalare .olizan-instalare-cta{
  display:inline-flex;align-items:center;gap:.45rem;
  min-width:0;padding:.55rem .95rem;border-radius:999px;
  color:#090806;background:linear-gradient(135deg,#c98415,#f0bd59);
  font-size:.86rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;
}
.olizan-instalare .olizan-instalare-cta:hover{background:#f0bd5a}
.olizan-instalare .olizan-instalare-cta svg{
  display:block;width:17px!important;height:17px!important;min-width:17px;
  max-width:17px;flex:none;
}
.olizan-instalare .olizan-instalare-x{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;min-width:30px;padding:0;border-radius:50%;
  color:#bbb7af;background:transparent;font-size:1.15rem;
}
.olizan-instalare .olizan-instalare-x:hover{color:#090806;background:#f0bd5a}
body.nav-open .olizan-instalare,
body.lb-open .olizan-instalare,
body.cart-open .olizan-instalare{display:none}
@media(max-width:420px){
  .olizan-instalare{left:.65rem;bottom:calc(.65rem + env(safe-area-inset-bottom));max-width:calc(100vw - 5rem)}
  .olizan-instalare .olizan-instalare-cta{padding:.5rem .7rem;font-size:.78rem}
}

/* 22 — Meniu digital „Table & Tap” ========================================
   O interfață compactă, caldă și rapidă: categoriile rămân la îndemână,
   produsul se citește dintr-o privire, iar prețul și acțiunea închid cardul. */
.menu-page{background:#111314;color:#e8e3da}
.menu-page .page-head{
  padding-top:clamp(2.7rem,5vw,4.2rem);padding-bottom:clamp(2.4rem,4vw,3.5rem);
  background:radial-gradient(circle at 78% 20%,rgba(218,160,59,.13),transparent 30%),
             linear-gradient(145deg,#171a1b,#0e1011);
}
.menu-page .page-head .wrap{max-width:1120px}
.menu-page .page-head h1{font-size:clamp(2.8rem,5vw,4.4rem);margin-bottom:.25rem}
.menu-page .page-head .lead{max-width:72ch;line-height:1.6}
.menu-page main>.section:first-child{padding-top:2.2rem;background:#111314}
.menu-page main>.section:first-child>.wrap{width:min(100% - 2.5rem,1240px)}
.menu-page main>.section:first-child .notice--gold{
  max-width:980px;margin:0 auto 1.5rem!important;padding:.85rem 1rem;
  font-size:.88rem;line-height:1.45;border-radius:10px;
}
.menu-page main>.section:first-child .notice--gold p+ p{display:none}

.menu-page .menu-tabs{
  position:sticky;top:70px;z-index:35;
  gap:.45rem;margin:0 0 1rem;padding:.7rem;
  background:rgba(24,27,28,.94);border:1px solid rgba(218,160,59,.28);
  border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);scrollbar-width:none;
}
.menu-page .menu-tabs::-webkit-scrollbar{display:none}
.menu-page .menu-tab{
  padding:.58rem 1rem;color:#d7d2c9;background:#202324;
  border:1px solid #303334;border-radius:9px;font-size:.86rem;
}
.menu-page .menu-tab:hover{color:#f2c66e;background:#282a2b;border-color:rgba(218,160,59,.55)}
.menu-page .menu-tab[aria-selected=true]{
  color:#15110a;background:linear-gradient(135deg,#d39127,#f0bd5a);
  border-color:#e5ad47;box-shadow:0 5px 16px rgba(218,160,59,.18);
}
.menu-page .menu-panel{
  padding:1.15rem;border:1px solid rgba(218,160,59,.23);border-radius:16px;
  background:#181b1c;box-shadow:0 18px 44px rgba(0,0,0,.24);
}
.menu-page .menu-panel-head{
  align-items:center;margin-bottom:1rem;padding:.15rem .2rem .85rem;
  border-bottom:1px solid rgba(218,160,59,.2);
}
.menu-page .menu-panel-head h3{color:#f0bd5a;font-size:1.75rem}
.menu-page .menu-panel-head p{color:#9f9b94;font-size:.86rem}
.menu-page .menu-panel-head img{width:68px;height:68px;object-fit:cover;border-radius:50%;border:1px solid rgba(218,160,59,.4)}
.menu-page .menu-group+.menu-group{margin-top:1.45rem}
.menu-page .menu-group-title{color:#e4b45d;font-size:1.18rem}
.menu-page .menu-group-note,.menu-page .menu-nota-foto{font-size:.8rem;color:#918d86}
.menu-page .prod-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.menu-page .prod{
  display:grid;grid-template-columns:104px minmax(0,1fr);min-height:150px;
  color:#e7e2d9;background:#202324;border:1px solid #323536;border-radius:12px;
  box-shadow:0 7px 18px rgba(0,0,0,.16);overflow:hidden;
}
.menu-page .prod:hover{border-color:rgba(218,160,59,.62);box-shadow:0 12px 26px rgba(0,0,0,.26)}
.menu-page .prod--fara-foto{grid-template-columns:1fr}
.menu-page .prod-foto{height:100%;min-height:150px;background:#181a1b}
.menu-page .prod-foto img{width:100%;height:100%;min-height:150px;aspect-ratio:auto;object-fit:cover;filter:saturate(.88) contrast(1.04)}
.menu-page .prod-body{padding:.72rem .78rem .78rem}
.menu-page .prod-name{color:#f5efe5;font-size:1.08rem;line-height:1.12}
.menu-page .prod-ing{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin:.25rem 0 0;color:#a9a59e;font-size:.76rem;line-height:1.35;
}
.menu-page .prod-gram{margin:.25rem 0 0;color:#d5a44c;font-size:.65rem}
.menu-page .prod-tag{top:.45rem;left:.45rem;padding:.2rem .45rem;color:#15110a;background:#e0aa47;font-size:.58rem}
.menu-page .prod-sizes{margin:.45rem 0 0}
.menu-page .prod-sizes legend{color:#96918a;font-size:.62rem}
.menu-page .prod-size{
  gap:.3rem;margin:.28rem .22rem 0 0;padding:.27rem .48rem;
  color:#d9d4cb;background:#181a1b;border-color:#383b3c;font-size:.7rem;
}
.menu-page .prod-size:hover{border-color:#d69a2d}
.menu-page .prod-size:has(input:checked){background:#302718;border-color:#d69a2d}
.menu-page .prod-size input:checked~.prod-size-txt{color:#f0bd5a}
.menu-page .prod-size-pret{color:#f0bd5a}
.menu-page .prod-buy{gap:.45rem;margin-top:auto;padding-top:.55rem}
.menu-page .prod-price{color:#f0bd5a;font-size:1.18rem}
.menu-page .prod-price small{color:#8f8a83;font-size:.58rem}
.menu-page .prod-ambalaj{color:#85817a;font-size:.6rem}
.menu-page .btn--add{
  min-height:34px;padding:.42rem .68rem;border-radius:8px;
  color:#161109;background:linear-gradient(135deg,#d39127,#f0bd5a);
  font-size:.72rem;box-shadow:none;
}
.menu-page .btn--add:hover{color:#161109;background:#f2c66e}
.menu-page .btn--add svg{width:14px;height:14px}
.menu-page .prod-err{font-size:.72rem;background:#302718;color:#f0bd5a}
.menu-page .section--cream{background:#151718}

@media(max-width:1120px){
  .menu-page .prod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .menu-page main>.section:first-child>.wrap{width:min(100% - 1.2rem,1240px)}
  .menu-page main>.section:first-child{padding-top:1rem}
  .menu-page main>.section:first-child .notice--gold{display:none}
  .menu-page .menu-tabs{top:70px;margin-inline:-.2rem;padding:.5rem;border-radius:11px}
  .menu-page .menu-tab{padding:.52rem .8rem;font-size:.78rem}
  .menu-page .menu-panel{padding:.72rem;border-radius:13px}
  .menu-page .menu-panel-head{margin-bottom:.7rem;padding-bottom:.65rem}
  .menu-page .menu-panel-head h3{font-size:1.45rem}
  .menu-page .menu-panel-head p{display:none}
  .menu-page .menu-panel-head img{width:52px;height:52px}
  .menu-page .prod-grid{grid-template-columns:1fr;gap:.58rem}
  .menu-page .prod{grid-template-columns:88px minmax(0,1fr);min-height:126px}
  .menu-page .prod--fara-foto{grid-template-columns:1fr;min-height:0;height:auto}
  .menu-page .prod-foto{min-height:126px}
  .menu-page .prod-foto img,.menu-page .grid--3 .prod-foto img{height:100%;min-height:126px;max-height:none;aspect-ratio:auto}
  .menu-page .prod-body{min-width:0;padding:.62rem .68rem;overflow:hidden}
  .menu-page .prod--fara-foto .prod-body{
    display:block;min-height:0;padding:.78rem .85rem;overflow:visible;
  }
  .menu-page .prod-name{
    max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto;
  }
  .menu-page .prod-ing{-webkit-line-clamp:1}
  .menu-page .prod-buy{
    display:grid;grid-template-columns:minmax(0,1fr) auto;
    align-items:end;gap:.4rem;margin-top:.45rem;padding-top:.45rem;
  }
  .menu-page .prod--fara-foto .prod-buy{
    display:flex;align-items:center;justify-content:space-between;
    flex-wrap:nowrap;gap:.65rem;margin-top:.65rem;padding-top:.55rem;
  }
  .menu-page .prod-price{min-width:0;white-space:nowrap}
  .menu-page .btn--add{
    flex:none;max-width:100%;min-width:132px;font-size:.68rem;white-space:nowrap;
  }
  .menu-page .page-head .stack-btns{display:none}
}
@media(max-width:390px){
  .menu-page .prod{grid-template-columns:76px minmax(0,1fr)}
  .menu-page .prod-foto,.menu-page .prod-foto img,.menu-page .grid--3 .prod-foto img{min-height:120px}
  .menu-page .prod-name{font-size:1rem}
  .menu-page .prod-buy{align-items:end}
  .menu-page .prod--fara-foto .prod-buy{align-items:center}
  .menu-page .btn--add{min-width:120px;padding:.38rem .52rem}
}

/* 23 — Champagne charcoal ================================================
   Aurul saturat și suprafețele WhatsApp verzi sunt înlocuite cu accente
   champagne/bronze. Verdele rămâne doar în simbolul WhatsApp, ca indiciu
   funcțional, nu ca element dominant al identității vizuale. */
:root{
  --lux-champagne:#d8c6a2;
  --lux-bronze:#9d7a49;
  --lux-ivory:#eee8dd;
  --lux-muted:#aaa49a;
  --lux-coal:#121516;
  --lux-panel:#181b1c;
}

body:not(.home-luxury) .eyebrow,
body:not(.home-luxury) .breadcrumb a,
body:not(.home-luxury) .product-card__price,
body:not(.home-luxury) .price,
body:not(.home-luxury) .cta-band h2,
body:not(.home-luxury) .cta-band h3,
body:not(.home-luxury) .section--olive h2,
body:not(.home-luxury) .section--olive h3,
body:not(.home-luxury) .cookie h2,
body:not(.home-luxury) .footer h4,
body:not(.home-luxury) .footer-brand .brand-name{color:var(--lux-champagne)}

body:not(.home-luxury) .footer a{color:rgba(238,232,221,.8)}
body:not(.home-luxury) .footer a:hover{color:var(--lux-champagne)}
body:not(.home-luxury) .footer-brand .brand-sub{color:var(--lux-bronze)}

.btn--wa{
  color:var(--lux-ivory)!important;
  background:linear-gradient(135deg,#202425,#141718)!important;
  border:1px solid rgba(216,198,162,.58)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.22)!important;
}
.btn--wa:hover{
  color:#151719!important;background:var(--lux-champagne)!important;
  border-color:var(--lux-champagne)!important;
}
.btn--wa svg{color:#78b893}

.float-wa{
  color:#78b893;background:#15191a;
  border:1px solid rgba(216,198,162,.62);
  box-shadow:0 12px 30px rgba(0,0,0,.38);
}
.float-wa:hover{color:#8fc9a6;background:#202526;border-color:var(--lux-champagne)}
.to-top,
body:not(.home-luxury) .to-top{
  color:var(--lux-champagne);background:#15191a;
  border:1px solid rgba(216,198,162,.62);
}
.to-top:hover,
body:not(.home-luxury) .to-top:hover{color:#151719;background:var(--lux-champagne)}

.olizan-instalare{border-color:rgba(216,198,162,.46)}
.olizan-instalare .olizan-instalare-cta{
  color:#17191a;background:linear-gradient(135deg,#bda77d,#e1d2b4);
}
.olizan-instalare .olizan-instalare-cta:hover{background:var(--lux-ivory)}
.olizan-instalare .olizan-instalare-x:hover{color:#17191a;background:var(--lux-champagne)}

.footer .anpc-plate{
  min-height:64px;color:#2c3034;background:#f4f2ed;
  border-color:#c9c1b2;box-shadow:0 8px 20px rgba(0,0,0,.16);
}
.footer .anpc-plate strong{color:#2b3e83}
.footer .anpc-row{
  display:grid;grid-template-columns:repeat(2,150px);
  justify-content:end;gap:.45rem;width:100%;
  margin:0;padding:1rem 0 0;align-items:center;
}
.footer .anpc-row>.anpc-plate:nth-of-type(1){
  width:150px;min-height:40px;padding:0;
  background:#fff url("../img/anpc-logo.svg") center/136px auto no-repeat;
  border-color:#aeb4c8;font-size:0;color:transparent;
}
.footer .anpc-row>.anpc-plate:nth-of-type(1) strong{display:none}
.footer .anpc-row>.anpc-plate:nth-of-type(1):hover{background-color:#fff;border-color:#2b3e83}
.footer .anpc-row>.anpc-plate:nth-of-type(2){
  width:150px;min-height:40px;padding:0;
  background:#fff url("../img/anpc-sal.svg") center/140px auto no-repeat;
  border-color:#aeb4c8;font-size:0;color:transparent;
}
.footer .anpc-row>.anpc-plate:nth-of-type(2) strong{display:none}
.footer .anpc-row>.anpc-plate:nth-of-type(2):hover{background-color:#fff;border-color:#2b3e83}
.footer .anpc-row>.anpc-plate:nth-of-type(3){
  display:none;
}

.menu-page .menu-tab[aria-selected=true],
.menu-page .btn--add{
  color:#17191a;background:linear-gradient(135deg,#b79b6c,#dfcfad);
  border-color:#cbb78f;
}
.menu-page .menu-tab:hover,
.menu-page .menu-panel-head h3,
.menu-page .menu-group-title,
.menu-page .prod-price,
.menu-page .prod-size-pret,
.menu-page .prod-size input:checked~.prod-size-txt{color:var(--lux-champagne)}
.menu-page .prod-gram{color:#b79b6c}
.menu-page .prod-tag{color:#17191a;background:#c8b58f}
.menu-page .btn--add:hover{color:#17191a;background:var(--lux-ivory)}
.menu-page .prod:hover{border-color:rgba(216,198,162,.6)}
.menu-page .prod-size:hover,
.menu-page .prod-size:has(input:checked){border-color:var(--lux-bronze)}

@media(max-width:560px){
  .footer .anpc-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;width:100%}
  .footer .anpc-row>.anpc-plate{border-radius:8px}
  .footer .anpc-row>.anpc-plate:nth-of-type(1){width:100%;background-size:calc(100% - 12px) auto}
  .footer .anpc-row>.anpc-plate:nth-of-type(2){width:100%;background-size:calc(100% - 10px) auto}
}

/* 24 — Coș premium dark ==================================================
   Panoul de comandă urmează acum aceeași identitate charcoal–champagne.
   Starea goală nu mai afișează totaluri de 0 lei sau blocuri fără conținut. */
.cart-backdrop{background:rgba(3,5,5,.72);backdrop-filter:blur(5px)}
.cart{
  color:var(--lux-ivory);background:#101314;
  border-left:1px solid rgba(216,198,162,.28);
  box-shadow:-24px 0 70px rgba(0,0,0,.52);
}
.cart-head{
  padding:1rem 1.25rem;background:#15191a;
  border-bottom-color:rgba(216,198,162,.22);
}
.cart-head h2{color:var(--lux-champagne);font-size:1.65rem}
.cart-close{
  color:var(--lux-champagne);background:#101314;
  border-color:rgba(216,198,162,.4);
}
.cart-close:hover{color:#121516;background:var(--lux-champagne)}
.cart-scroll{padding:1.15rem 1.25rem calc(1.6rem + env(safe-area-inset-bottom))}
.cart-empty{
  position:relative;margin:1.2rem 0 0;padding:4.7rem 1.1rem 1.25rem;
  color:#b8b2a8;background:#15191a;border:1px solid rgba(216,198,162,.18);
  border-radius:14px;text-align:center;line-height:1.6;
}
.cart-empty::before{
  content:"";position:absolute;top:1.25rem;left:50%;width:42px;height:42px;
  transform:translateX(-50%);border:1px solid rgba(216,198,162,.45);border-radius:50%;
  background:radial-gradient(circle,#d8c6a2 0 3px,transparent 4px),#111415;
  box-shadow:0 0 0 7px rgba(216,198,162,.04);
}
.cart-sumar[hidden],.cart-form[hidden],.cart-empty[hidden]{display:none!important}
.cart-scroll:has(.cart-empty:not([hidden])) .cart-total{display:none}

.cart-item{border-bottom-color:rgba(216,198,162,.18)}
.cart-thumb{background:#181b1c;border-color:rgba(216,198,162,.28)}
.cart-item-name{color:var(--lux-ivory)}
.cart-item-size{color:#17191a;background:#c9b791}
.cart-item-ing,.cart-item-unit,.cart-item-ambalaj{color:#9f9a91}
.cart-item-sub{color:var(--lux-champagne)}
.qty{background:#181b1c;border-color:#343839}
.qty-btn{color:var(--lux-champagne)}
.qty-btn:hover{background:#262a2b}
.qty-input{color:var(--lux-ivory)!important;background:transparent!important}
.cart-del{color:#a8a39a;background:#15191a;border-color:#343839}
.cart-del:hover{color:#e3a79b;background:#2a1c1a;border-color:#6f4038}

.cart-sumar{
  background:#181b1c;border-color:rgba(216,198,162,.22);
  border-radius:12px;
}
.cart-sum{color:#d8d3ca}
.cart-total{
  background:linear-gradient(135deg,#24221d,#1a1c1b);
  border:1px solid rgba(216,198,162,.32);border-radius:12px;
  color:#d8d3ca;
}
.cart-total b{color:var(--lux-champagne)}
.cart-form .field label,.cart-mod legend{color:#ddd7cd}
.cart-form input,.cart-form textarea{
  color:var(--lux-ivory)!important;background:#15191a!important;
  border-color:#363a3b!important;
}
.cart-radio{color:#d7d1c7;background:#15191a;border-color:#343839}
.cart-radio:has(input:checked){background:#24221d;border-color:var(--lux-bronze)}
.cart-radio input{accent-color:var(--lux-bronze)}
.cart-radio small,.cart-note{color:#969188}
.cart-confirm{color:#d8d3ca;background:#181b1c;border-color:rgba(216,198,162,.25)}
.cart-errors{color:#e7b3aa;background:#2a1c1a;border-color:#6f4038}

.cart-btn{
  color:var(--lux-ivory);background:#181b1c;
  border-color:rgba(216,198,162,.42);
}
.cart-btn:hover{color:#151719;background:var(--lux-champagne);border-color:var(--lux-champagne)}
.cart-count{color:#151719;background:var(--lux-champagne)}
.cart-count.is-zero{color:#aaa49a;background:#2b2f30}

@media(max-width:520px){
  .cart{width:100%}
  .cart-head{padding:.85rem 1rem}
  .cart-scroll{padding:1rem 1rem calc(1.35rem + env(safe-area-inset-bottom))}
  .cart-empty{margin-top:.5rem}
}

/* 25 — Formulare premium dark ============================================
   Formularul de contact și panourile contului folosesc clasa `.form`.
   Tema veche viza `.form-card`, de aceea aceste suprafețe rămâneau albe. */
body:not(.home-luxury) .form{
  color:#ded8ce;
  background:linear-gradient(155deg,#1a1d1e,#111415 78%);
  border-color:rgba(216,198,162,.3);
  box-shadow:0 18px 45px rgba(0,0,0,.3);
}
body:not(.home-luxury) .form .cont-titlu,
body:not(.home-luxury) .form h2,
body:not(.home-luxury) .form h3{color:var(--lux-champagne)}
body:not(.home-luxury) .form .cont-sub,
body:not(.home-luxury) .form .field-hint{color:#9f9a91}
body:not(.home-luxury) .form .field label,
body:not(.home-luxury) .form .consent{color:#d7d1c7}
body:not(.home-luxury) .form .field input,
body:not(.home-luxury) .form .field textarea,
body:not(.home-luxury) .form .field select{
  color:#eee8dd;background:#0d1011;
  border-color:#373b3c;
}
body:not(.home-luxury) .form .field input:focus,
body:not(.home-luxury) .form .field textarea:focus,
body:not(.home-luxury) .form .field select:focus{
  color:#fff;background:#111516;border-color:var(--lux-bronze);
  box-shadow:0 0 0 3px rgba(157,122,73,.18);
}
body:not(.home-luxury) .form .field input::placeholder,
body:not(.home-luxury) .form .field textarea::placeholder{color:#74716b}
body:not(.home-luxury) .form .btn--olive,
body:not(.home-luxury) .form .btn--primary{
  color:#17191a;background:linear-gradient(135deg,#b79b6c,#dfcfad);
  border-color:#cbb78f;
}
body:not(.home-luxury) .form .btn--olive:hover,
body:not(.home-luxury) .form .btn--primary:hover{background:var(--lux-ivory)}

body:not(.home-luxury) .cont-bara{border-bottom-color:rgba(216,198,162,.25)}
body:not(.home-luxury) .cont-sub,
body:not(.home-luxury) .cont-email,
body:not(.home-luxury) .cont-gol{color:#9f9a91}
body:not(.home-luxury) .cont-adresa,
body:not(.home-luxury) .cont-comanda{
  color:#d8d3ca;background:#15191a;border-color:rgba(216,198,162,.24);
}
body:not(.home-luxury) .cont-adresa-eticheta,
body:not(.home-luxury) .cont-comanda-nr,
body:not(.home-luxury) .cont-comanda-jos b{color:var(--lux-champagne)}

/* 26 — Footer aerisit =====================================================
   Navigarea repetată în subsol încărca inutil pagina. Păstrăm doar
   identitatea, contactul și informațiile obligatorii. */
.footer{
  padding:clamp(2.25rem,4vw,3rem) 0 1.1rem;
  font-size:.9rem;
}
.footer-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(210px,.85fr) minmax(245px,1fr);
  gap:clamp(1.4rem,3vw,2.8rem);
  padding-bottom:1.45rem;
}
.footer-grid > :nth-child(3){display:none}
.footer h4{margin-bottom:.7rem}
.footer-brand p{margin-top:.65rem;max-width:30ch}
.footer ul{gap:.38rem}
.footer address{line-height:1.65}
.footer-social{margin-top:.75rem}
.footer-social a{width:40px;height:40px}
.pay-strip{padding-top:1rem}
.pay-strip h4{margin-bottom:.65rem}
.pay-logos img{width:40px;height:27px}
.footer-bottom{padding-top:1rem;gap:.55rem 1rem}
.footer-credit{margin-top:.15rem;padding-top:.7rem}

@media(max-width:820px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid > .footer-brand{grid-column:1/-1}
}
@media(max-width:620px){
  .footer-grid{grid-template-columns:1fr;gap:1.35rem}
  .footer-grid > .footer-brand{grid-column:auto}
  .footer-brand p{max-width:36ch}
}
