/* =========================================================================
   Lulu — Torturi și Prăjituri Artizanale, Bacău
   Direcția: vitrină franțuzească văzută prin sticlă. Construit la 390 întâi.
   ========================================================================= */

/* ---------- fonturi, locale și subsetate ---------- */
@font-face{font-family:'Fraunces';src:url('fonturi/fraunces-latin-ext.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';src:url('fonturi/fraunces-latin.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';src:url('fonturi/manrope-latin-ext.woff2') format('woff2');
  font-weight:400 600;font-style:normal;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';src:url('fonturi/manrope-latin.woff2') format('woff2');
  font-weight:400 600;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- tokeni ---------- */
:root{
  /* culorile, scoase din siglă și din pozele lor */
  --hartie:#FBF8F4;
  --hartie-2:#F2ECE4;
  --hartie-bleu:#E6F0F6;   /* a treia bandă: albastrul siglei, foarte diluat */
  --sticla:#16222C;
  --sticla-2:#1E2E3B;
  --cerneala:#1B2830;
  --bleu:#98D2EA;
  --bleu-adanc:#4E6B82;
  --cireasa:#A63A32;          /* accentul, pe fundal deschis */
  --cireasa-clar:#E0736A;     /* același accent, pe fundal închis */
  --aur:#AF9A63;

  /* spațiere — o singură scară */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
  --sp-5:1.25rem; --sp-6:1.5rem; --sp-8:2rem; --sp-10:2.5rem;
  --sp-12:3rem; --sp-16:4rem; --sp-20:5rem;
  --sectiune:clamp(3.5rem,2rem + 7vw,7rem);

  --radius:10px; --radius-lg:20px;
  --linie:1px solid color-mix(in srgb, var(--cerneala) 14%, transparent);
  --linie-inv:1px solid color-mix(in srgb, #fff 16%, transparent);
  --umbra:0 14px 40px -18px color-mix(in srgb, var(--cerneala) 55%, transparent);
  --lat:1180px;
  /* distanța de la marginea ecranului până la coloana de text a containerului.
     Se folosește ca PADDING pe benzile care ies din ecran — cu margin negativ
     pe 100vw apare overflow, pentru că procentul se raportează la coloana din
     grilă, nu la ecran. */
  --marja:max(var(--sp-5), calc((100vw - var(--lat)) / 2 + var(--sp-5)));
  --tranzitie:180ms cubic-bezier(.2,.7,.3,1);

  /* tipografie fluidă */
  --pas:clamp(1rem,.94rem + .28vw,1.09rem);
  --mic:clamp(.82rem,.79rem + .12vw,.88rem);
  --h3:clamp(1.3rem,1.1rem + 1vw,1.6rem);
  --h2:clamp(1.75rem,1.3rem + 2.2vw,2.7rem);
  --h1:clamp(2.3rem,1.55rem + 4vw,4rem);
}

/* ---------- baza ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--hartie);color:var(--cerneala);
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:var(--pas);line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
img{max-width:100%;height:auto;display:block}
figure{margin:0}   /* UA-ul pune 1em 40px pe figure — 40px care arată exact ca un bug de layout */
a{color:inherit}
h1,h2,h3{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;
  font-variation-settings:'SOFT' 25,'WONK' 0;
  line-height:1.12;letter-spacing:-.005em;margin:0}
h1{font-size:var(--h1)}
h2{font-size:var(--h2)}
h3{font-size:var(--h3)}
p{margin:0 0 var(--sp-4)}
h1+p,h1+.intro,h2+p,h2+.intro,h3+p{margin-top:var(--sp-5)}
:focus-visible{outline:2px solid var(--cireasa);outline-offset:3px;border-radius:3px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

.container{width:100%;max-width:var(--lat);margin-inline:auto;padding-inline:var(--sp-5)}
.sectiune{padding-block:var(--sectiune)}

/* benzi */
.banda-sticla{background:var(--sticla);color:var(--hartie)}
.banda-sticla h1,.banda-sticla h2,.banda-sticla h3{color:#fff}
.banda-hartie-2{background:var(--hartie-2)}
.banda-bleu{background:var(--hartie-bleu)}

/* benzi pe toată lățimea: rândul e full-width, iar coloana de text primește
   padding până la linia containerului. Poza ajunge singură la marginea ecranului. */
.rand-plin{display:grid;gap:var(--sp-8)}
.rand-plin > .text{padding-inline:var(--sp-5)}

/* supratitlu */
.supratitlu{
  font-size:var(--mic);letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;color:var(--bleu-adanc);margin:0 0 var(--sp-3);
  display:flex;align-items:center;gap:var(--sp-3);
}
.supratitlu::after{content:"";flex:1;height:1px;background:currentColor;opacity:.3}
.banda-sticla .supratitlu{color:var(--bleu)}

.intro{max-width:56ch;color:var(--bleu-adanc);font-size:clamp(1.02rem,.97rem + .3vw,1.15rem)}
.banda-sticla .intro{color:color-mix(in srgb,var(--hartie) 78%,transparent)}

/* ---------- butoane ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);
  min-height:48px;padding:var(--sp-3) var(--sp-6);
  font:inherit;font-weight:600;font-size:var(--mic);letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;border:1px solid transparent;border-radius:var(--radius);
  cursor:pointer;transition:background var(--tranzitie),color var(--tranzitie),border-color var(--tranzitie);
}
.btn-plin{background:var(--cireasa);color:#fff}
.btn-plin:hover{background:#8E2F28}
.btn-gol{background:transparent;color:var(--cerneala);border-color:color-mix(in srgb,var(--cerneala) 30%,transparent)}
.btn-gol:hover{border-color:var(--cerneala)}
.banda-sticla .btn-gol{color:#fff;border-color:color-mix(in srgb,#fff 38%,transparent)}
.banda-sticla .btn-gol:hover{border-color:#fff}
.btn svg{width:18px;height:18px;flex:none}

.legatura{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  font-weight:600;font-size:var(--mic);letter-spacing:.06em;text-transform:uppercase;
  color:var(--cireasa);text-decoration:none;border-bottom:1px solid currentColor;
  padding-bottom:2px;min-height:44px;
}
.banda-sticla .legatura{color:var(--cireasa-clar)}
.legatura svg{width:16px;height:16px;flex:none}

/* ---------- antetul ---------- */
.antet{
  position:sticky;top:0;z-index:60;background:var(--hartie);
  border-bottom:var(--linie);
}
.antet-rand{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);min-height:60px}
.antet-sigla{display:flex;align-items:center;min-height:44px;text-decoration:none;margin-right:auto}
.antet-sigla img{height:34px;width:auto}
.antet-tel{
  display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;padding-inline:var(--sp-2);
  text-decoration:none;font-weight:600;font-size:var(--mic);color:var(--cireasa);white-space:nowrap;
}
.antet-tel svg{width:17px;height:17px;flex:none}
.antet-tel span{display:none}
/* butonul de meniu are sens doar cu JS; fără el, meniul stă deschis în pagină */
.buton-meniu{display:none}
html.js .buton-meniu{
  width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:var(--linie);border-radius:var(--radius);cursor:pointer;color:inherit;
}
.buton-meniu svg{width:20px;height:20px}
.nav{flex-basis:100%;padding-bottom:var(--sp-3)}
html.js .nav{
  position:fixed;inset:60px 0 auto;background:var(--hartie);
  border-bottom:var(--linie);box-shadow:var(--umbra);
  padding:var(--sp-3) var(--sp-5) var(--sp-6);
  display:none;
}
html.js .nav.deschis{display:block}
.nav ul{list-style:none;margin:0;padding:0}
.nav a{
  display:flex;align-items:center;min-height:52px;text-decoration:none;
  font-weight:600;font-size:1.05rem;border-bottom:var(--linie);
}
.nav li:last-child a{border-bottom:0}
.nav a[aria-current="page"]{color:var(--cireasa)}
.nav a[aria-current="page"]::before{content:"";width:8px;height:8px;border-radius:50%;
  background:currentColor;margin-right:var(--sp-3)}

/* ---------- hero ---------- */
.hero{position:relative;padding-top:var(--sp-10);padding-bottom:0;overflow:hidden}
.hero-text{max-width:none}
.hero h1{margin-bottom:var(--sp-5);max-width:10.5em}
.hero .intro{margin-bottom:var(--sp-8);max-width:46ch}
.hero-actiuni{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-8)}
.hero-actiuni .btn{flex:1 1 100%}
.hero-loc{
  display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);
  font-size:var(--mic);letter-spacing:.1em;text-transform:uppercase;
  color:var(--bleu);margin-bottom:var(--sp-6);
}
.hero-loc span{display:inline-flex;align-items:center;gap:var(--sp-2)}
.hero-loc svg{width:15px;height:15px;flex:none;opacity:.8}

/* ---------- raftul: componenta care ține tot site-ul ---------- */
.raft{margin-bottom:var(--sp-12)}
.raft-cap{
  display:flex;align-items:baseline;gap:var(--sp-4);
  padding-bottom:var(--sp-3);margin-bottom:var(--sp-5);
  border-bottom:var(--linie);
}
.raft-cifra{
  font-family:'Fraunces',Georgia,serif;font-weight:700;
  font-size:clamp(2.1rem,1.4rem + 3vw,3.4rem);line-height:.8;
  color:color-mix(in srgb, var(--bleu-adanc) 26%, transparent);
  -webkit-text-stroke:1.2px color-mix(in srgb, var(--bleu-adanc) 55%, transparent);
  flex:none;letter-spacing:-.02em;
}
.banda-sticla .raft-cifra{
  color:color-mix(in srgb, var(--bleu) 20%, transparent);
  -webkit-text-stroke:1.2px color-mix(in srgb, var(--bleu) 60%, transparent);
}
.raft-nume{margin-right:auto}
.banda-sticla .raft-cap{border-bottom:var(--linie-inv)}
.raft-nume{
  font-family:'Fraunces',Georgia,serif;font-weight:700;
  font-variation-settings:'SOFT' 25,'WONK' 0;
  font-size:clamp(1.25rem,1.1rem + .8vw,1.55rem);line-height:1.15;
}
.raft-nr{font-size:var(--mic);letter-spacing:.14em;text-transform:uppercase;
  color:var(--bleu-adanc);white-space:nowrap}
.banda-sticla .raft-nr{color:var(--bleu)}

.pista{
  --piesa:60vw;
  display:flex;gap:var(--sp-3);align-items:flex-start;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;scroll-padding-inline:var(--sp-5);-webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding-bottom:var(--sp-2);
  margin-inline:calc(var(--sp-5) * -1);padding-inline:var(--sp-5);
}
.pista::-webkit-scrollbar{display:none}
.pista > *{flex:0 0 var(--piesa);scroll-snap-align:start;min-width:0}
/* piesa mare: una la fiecare trei, ca raftul să nu fie o grilă egală */
.piesa--mare{flex-basis:calc(var(--piesa) * 1.34)}

.piesa{position:relative;margin:0}
.cadru{display:block;position:relative;overflow:hidden;border-radius:var(--radius);
  background:var(--hartie-2)}
.banda-sticla .cadru{background:var(--sticla-2)}
.piesa img{width:100%;aspect-ratio:4/5;object-fit:cover;
  transition:transform 600ms cubic-bezier(.2,.7,.3,1)}
.piesa--mare img{aspect-ratio:1/1}
.piesa:hover img{transform:scale(1.05)}
.piesa figcaption{
  padding-top:var(--sp-3);font-size:var(--mic);line-height:1.45;
  color:var(--bleu-adanc);
}
.banda-sticla .piesa figcaption{color:color-mix(in srgb,var(--hartie) 72%,transparent)}
.piesa b{display:block;font-weight:600;font-size:1rem;color:var(--cerneala);
  letter-spacing:0;text-transform:none;margin-bottom:2px}
.banda-sticla .piesa b{color:#fff}

/* un raft din patru nu se derulează: stă tot pe ecran, în trepte.
   E variația care scoate banda închisă din monotonie. */
.perete{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) var(--sp-3)}
.perete .piesa:nth-child(even){margin-top:var(--sp-8)}
.perete .piesa img{aspect-ratio:4/5}
@media (min-width:860px){
  .perete{grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
  .perete .piesa:nth-child(even){margin-top:var(--sp-12)}
}

/* indicatorul propriu de derulare */
.pista-jos{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4)}
.bara{flex:1;height:2px;background:color-mix(in srgb,var(--cerneala) 14%,transparent);
  border-radius:2px;position:relative;overflow:hidden}
.banda-sticla .bara{background:color-mix(in srgb,#fff 18%,transparent)}
.bara i{position:absolute;inset-block:0;left:0;width:30%;background:var(--cireasa);
  border-radius:2px;transition:transform 120ms linear,width 120ms linear}
.banda-sticla .bara i{background:var(--cireasa-clar)}
.sageti{display:flex;gap:var(--sp-2)}
.sageata{
  width:44px;height:44px;border-radius:50%;border:var(--linie);background:transparent;
  color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:border-color var(--tranzitie),opacity var(--tranzitie);
}
.banda-sticla .sageata{border:var(--linie-inv)}
.sageata svg{width:16px;height:16px}
.sageata[disabled]{opacity:.3;cursor:default}

/* ---------- semnătura (École Ducasse) ---------- */
.semnatura-poza{margin:0 0 var(--sp-8);overflow:hidden;position:relative}
.semnatura-poza img{width:100%;aspect-ratio:3/2;object-fit:cover}
.semnatura h2{margin-bottom:var(--sp-5)}
.traseu{
  display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;
  margin:var(--sp-8) 0 0;padding-top:var(--sp-6);border-top:var(--linie);
  font-size:var(--mic);letter-spacing:.14em;text-transform:uppercase;color:var(--bleu-adanc);
}
.traseu b{font-family:'Fraunces',Georgia,serif;font-size:1.1rem;letter-spacing:0;
  text-transform:none;color:var(--cerneala);font-weight:700}
.traseu svg{width:26px;height:10px;color:var(--aur);flex:none}

/* ---------- torturi (index) ---------- */
.tort-mozaic{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-bottom:var(--sp-8)}
.tort-mozaic figure{margin:0;overflow:hidden;border-radius:var(--radius);position:relative}
.tort-mozaic img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;
  transition:transform 700ms cubic-bezier(.2,.7,.3,1)}
.tort-mozaic figure:hover img{transform:scale(1.06)}
.tort-mozaic figure:nth-child(1){grid-column:1/-1}
.tort-mozaic figure:nth-child(1) img{aspect-ratio:16/11}

.pret-reper{
  display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;
  padding:var(--sp-5) 0;margin:var(--sp-6) 0;
  border-top:var(--linie);border-bottom:var(--linie);
}
.pret-reper b{font-family:'Fraunces',Georgia,serif;font-size:2.1rem;font-weight:700;line-height:1}
.pret-reper span{font-size:var(--mic);color:var(--bleu-adanc);letter-spacing:.1em;text-transform:uppercase}

/* ---------- citatul mare: singurul moment de scară de pe pagină ---------- */
.citat blockquote{margin:0}
.citat p{
  font-family:'Fraunces',Georgia,serif;font-weight:700;
  font-variation-settings:'SOFT' 25,'WONK' 0;
  font-size:clamp(1.9rem,1.1rem + 3.6vw,3.4rem);line-height:1.14;
  letter-spacing:-.01em;margin:0 0 var(--sp-5);color:#fff;max-width:13em;
}
.citat cite{font-style:normal;font-size:var(--mic);letter-spacing:.14em;
  text-transform:uppercase;color:var(--bleu)}
.cifre-mari{display:flex;gap:var(--sp-10);margin-bottom:var(--sp-10)}
.cifra-mare b{
  display:block;font-family:'Fraunces',Georgia,serif;font-weight:700;
  font-size:clamp(3.4rem,2rem + 6vw,6rem);line-height:.85;letter-spacing:-.03em;
  color:color-mix(in srgb, var(--bleu) 18%, transparent);
  -webkit-text-stroke:1.5px color-mix(in srgb, var(--bleu) 70%, transparent);
}
.cifra-mare span{display:block;margin-top:var(--sp-3);font-size:var(--mic);
  letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--hartie) 62%,transparent)}

/* ---------- ce spun oamenii ---------- */
.vorbe{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-4)}
.vorba{padding:var(--sp-6) 0;border-top:var(--linie)}
.vorba:first-child{border-top:0;padding-top:0}
.vorba p{font-family:'Manrope',sans-serif;font-size:1.02rem;
  line-height:1.6;margin-bottom:var(--sp-3)}
.banda-sticla .vorba{border-top:var(--linie-inv)}
.banda-sticla .vorba cite{color:var(--bleu)}
.vorba cite{font-style:normal;font-size:var(--mic);letter-spacing:.1em;text-transform:uppercase;
  color:var(--bleu-adanc)}
.note{
  display:flex;flex-wrap:wrap;gap:var(--sp-6);margin-bottom:var(--sp-10);
  padding-bottom:var(--sp-8);border-bottom:var(--linie);
}
.nota b{display:block;font-family:'Fraunces',Georgia,serif;font-size:2.5rem;line-height:1;
  font-weight:700;margin-bottom:var(--sp-1)}
.nota span{font-size:var(--mic);letter-spacing:.12em;text-transform:uppercase;color:var(--bleu-adanc)}

/* ---------- vizita ---------- */
.vizita-poza{margin:0 0 var(--sp-8);overflow:hidden}
.vizita-poza img{width:100%;aspect-ratio:3/2;object-fit:cover}
.fise{list-style:none;margin:0 0 var(--sp-8);padding:0}
.fisa{padding:var(--sp-4) 0;border-bottom:var(--linie);display:grid;gap:var(--sp-1)}
.fisa dt{font-size:var(--mic);letter-spacing:.14em;text-transform:uppercase;color:var(--bleu-adanc)}
.fisa dd{margin:0;font-size:1.05rem}
.fisa a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;
  border-bottom:1px solid color-mix(in srgb,currentColor 35%,transparent)}

/* ---------- subsol ---------- */
.subsol{background:var(--sticla);color:color-mix(in srgb,var(--hartie) 80%,transparent);
  padding-block:var(--sp-12) var(--sp-8);font-size:var(--mic);line-height:1.8}
.subsol a{color:inherit;text-decoration:none}
.subsol a:hover{color:#fff}
.subsol-sigla{margin-bottom:var(--sp-6)}
.subsol-sigla img{height:74px;width:auto}
.subsol h3{font-family:'Manrope',sans-serif;font-size:var(--mic);letter-spacing:.14em;
  text-transform:uppercase;color:var(--bleu);margin-bottom:var(--sp-3);font-weight:600}
.subsol-bloc{margin-bottom:var(--sp-8)}
.subsol ul{list-style:none;margin:0;padding:0}
.subsol-jos{border-top:var(--linie-inv);padding-top:var(--sp-5);margin-top:var(--sp-4);
  display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-6);justify-content:space-between;
  color:color-mix(in srgb,var(--hartie) 55%,transparent)}
.social{display:flex;gap:var(--sp-3);margin-top:var(--sp-3)}
.social a{width:44px;height:44px;border:var(--linie-inv);border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center}
.social svg{width:18px;height:18px}

/* ---------- capul paginilor interioare (2 coloane) ---------- */
.cap{padding-block:var(--sp-10) var(--sp-8);border-bottom:var(--linie)}
.cap h1{margin-bottom:var(--sp-4)}
.cap .intro{margin-bottom:0}
.cap-poza{margin:var(--sp-8) 0 0}
.cap-poza .cadru{border-radius:var(--radius-lg)}
.cap-poza img{width:100%;aspect-ratio:4/3;object-fit:cover}
.poza-nota{padding-top:var(--sp-3);font-size:var(--mic);line-height:1.5;color:var(--bleu-adanc);max-width:44ch}

/* ---------- grile de produse ---------- */
.grila{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}
.card{min-width:0}
.card figure{margin:0 0 var(--sp-3);overflow:hidden;border-radius:var(--radius);
  background:var(--hartie-2);position:relative}
.card img{width:100%;aspect-ratio:4/5;object-fit:cover;
  transition:transform 600ms cubic-bezier(.2,.7,.3,1)}
.card:hover img{transform:scale(1.05)}
.card h3{font-size:1.15rem;margin-bottom:var(--sp-1)}
.card p{font-size:var(--mic);color:var(--bleu-adanc);margin-bottom:var(--sp-2)}
.chip{
  display:inline-block;padding:5px 12px;border-radius:999px;
  font-size:.78rem;font-weight:600;letter-spacing:.04em;
  background:var(--cireasa);color:#fff;
}
.chip-gol{background:transparent;color:var(--bleu-adanc);font-style:italic;font-weight:400;
  border:1px solid color-mix(in srgb,var(--cerneala) 22%,transparent)}

/* filtre */
.filtre{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-8)}
.filtru{
  min-height:44px;padding:var(--sp-2) var(--sp-5);border-radius:999px;cursor:pointer;
  background:transparent;border:1px solid color-mix(in srgb,var(--cerneala) 20%,transparent);
  font:inherit;font-size:var(--mic);font-weight:600;color:var(--cerneala);
  transition:background var(--tranzitie),color var(--tranzitie),border-color var(--tranzitie);
}
.filtru[aria-pressed="true"]{background:var(--cerneala);border-color:var(--cerneala);color:var(--hartie)}
.filtru small{opacity:.55;font-weight:400;margin-left:6px}

/* galeria de torturi */
.galerie{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.galerie button{
  padding:0;border:0;background:var(--hartie-2);cursor:pointer;overflow:hidden;
  border-radius:var(--radius);display:block;position:relative;min-width:0;
}
.galerie img{width:100%;aspect-ratio:4/5;object-fit:cover;
  transition:transform 600ms cubic-bezier(.2,.7,.3,1)}
.galerie button:hover img{transform:scale(1.05)}

/* lightbox */
.lupa{position:fixed;inset:0;z-index:90;background:rgba(10,16,21,.94);
  display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}
.lupa img{max-width:100%;max-height:86vh;width:auto;border-radius:var(--radius)}
.lupa-inchide{position:absolute;top:var(--sp-4);right:var(--sp-4);width:48px;height:48px;
  border-radius:50%;border:var(--linie-inv);background:transparent;color:#fff;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center}
.lupa-inchide svg{width:20px;height:20px}
.lupa-nav{position:absolute;bottom:var(--sp-6);display:flex;gap:var(--sp-4)}
.lupa-nav button{width:52px;height:52px;border-radius:50%;border:var(--linie-inv);
  background:transparent;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.lupa-nav svg{width:18px;height:18px}

/* ---------- formularul ---------- */
.formular{display:grid;gap:var(--sp-5)}
.camp{display:grid;gap:var(--sp-2)}
.camp label{font-size:var(--mic);font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--bleu-adanc)}
.camp input,.camp select,.camp textarea{
  font:inherit;font-size:1rem;width:100%;padding:var(--sp-3) var(--sp-4);min-height:50px;
  background:#fff;color:var(--cerneala);border-radius:var(--radius);
  border:1px solid color-mix(in srgb,var(--cerneala) 22%,transparent);
  transition:border-color var(--tranzitie);
}
.camp textarea{min-height:112px;resize:vertical}
.camp select{appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234E6B82' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right var(--sp-4) center;background-size:12px 8px;
  padding-right:var(--sp-10)}
.camp input:focus,.camp select:focus,.camp textarea:focus{border-color:var(--cireasa)}
.camp .ajutor{font-size:.82rem;color:var(--bleu-adanc);text-transform:none;letter-spacing:0;font-weight:400}
.eroare{font-size:.82rem;color:var(--cireasa);font-weight:600}
.camp[data-eroare] input,.camp[data-eroare] select,.camp[data-eroare] textarea{border-color:var(--cireasa)}
.doua{display:grid;gap:var(--sp-5)}
.bifa{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:.9rem;line-height:1.5}
.bifa input{width:22px;height:22px;min-height:0;flex:none;margin-top:2px;accent-color:var(--cireasa)}
.bifa label{text-transform:none;letter-spacing:0;font-weight:400;font-size:.9rem;color:var(--cerneala)}
.nota-formular{font-size:.85rem;color:var(--bleu-adanc);
  padding:var(--sp-4);border-radius:var(--radius);background:var(--hartie-2)}

/* ---------- program ---------- */
.program{list-style:none;margin:0;padding:0}
.program li{display:flex;justify-content:space-between;gap:var(--sp-4);
  padding:var(--sp-3) 0;border-bottom:var(--linie)}
.program li:last-child{border-bottom:0}
.program b{font-weight:600}
.subsol .program li{border-bottom:var(--linie-inv)}

/* hartă */
.harta{border-radius:var(--radius-lg);overflow:hidden;position:relative;border:var(--linie)}
.harta iframe{display:block;width:100%;height:320px;border:0}

/* 404 */
.gol{min-height:64vh;display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;gap:var(--sp-5)}
.gol .cifra{font-family:'Fraunces',Georgia,serif;font-size:clamp(5rem,12vw,9rem);
  line-height:.9;font-weight:700;color:var(--bleu)}

/* =========================================================================
   GESTUL: raftul se umple — linia se trage, piesele urcă pe rând
   ========================================================================= */
html.js .apare{opacity:0;clip-path:inset(38% 0 0 0);transform:translateY(18px)}
html.js .apare.vazut{
  animation:urca 720ms cubic-bezier(.2,.75,.25,1) forwards;
  animation-delay:var(--intarziere,0ms);
}
@keyframes urca{
  from{opacity:0;clip-path:inset(38% 0 0 0);transform:translateY(18px)}
  60% {opacity:1}
  to  {opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}
}
html.js .raft-cap{position:relative}
html.js .raft-cap::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:var(--cireasa);transform:scaleX(0);transform-origin:left center;
}
html.js .banda-sticla .raft-cap::after{background:var(--cireasa-clar)}
html.js .raft-cap.vazut::after{animation:trage 700ms cubic-bezier(.2,.7,.3,1) forwards}
@keyframes trage{from{transform:scaleX(0)}to{transform:scaleX(1)}}

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

/* =========================================================================
   În sus, de la 390
   ========================================================================= */
@media (min-width:560px){
  .pista{--piesa:42vw}
  .doua{grid-template-columns:1fr 1fr}
  .galerie{grid-template-columns:repeat(3,1fr)}
  .grila{grid-template-columns:1fr 1fr}
  .cifre-mari{gap:var(--sp-16)}
}

@media (min-width:860px){
  .antet-rand{min-height:74px}
  .antet-sigla img{height:42px}
  .antet-tel span{display:inline}
  html.js .buton-meniu{display:none}
  .nav{flex-basis:auto;padding-bottom:0}
  html.js .nav{position:static;background:transparent;border:0;box-shadow:none;padding:0;
    display:block}
  .nav ul{display:flex;gap:var(--sp-6);align-items:center}
  .nav a{min-height:44px;border-bottom:0;font-size:var(--mic);letter-spacing:.1em;
    text-transform:uppercase}
  .nav a[aria-current="page"]::before{display:none}
  .nav a[aria-current="page"]{border-bottom:1px solid currentColor}

  .hero{padding-top:var(--sp-16)}
  .hero-loc{margin-top:var(--sp-8)}
  .hero-sus{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-12);align-items:end}
  .hero-actiuni{margin-bottom:var(--sp-6)}
  .hero-actiuni .btn{flex:0 0 auto}
  .pista{--piesa:262px}

  /* poza iese până la marginea ecranului, fără colț rotunjit — altă formă
     decât cardul cu umbră care se repetă în orice temă */
  .semnatura-rand{display:grid;grid-template-columns:1fr 1.02fr;gap:var(--sp-16);align-items:center}
  .semnatura-rand > .text{padding-left:var(--marja);padding-right:0}
  .semnatura-poza{margin-bottom:0;order:2;border-radius:0}
  .semnatura-poza img{aspect-ratio:4/3}

  .tort-rand{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--sp-16);align-items:center}
  .tort-mozaic{margin-bottom:0;grid-template-columns:1.25fr 1fr}
  .tort-mozaic figure:nth-child(1){grid-column:1;grid-row:1/3}
  .tort-mozaic figure:nth-child(1) img{aspect-ratio:auto;min-height:100%}
  .tort-mozaic figure:nth-child(2){grid-column:2;grid-row:1}
  .tort-mozaic figure:nth-child(3){grid-column:2;grid-row:2}
  .tort-mozaic figure:nth-child(2) img,
  .tort-mozaic figure:nth-child(3) img{aspect-ratio:1/1}

  .vizita-rand{display:grid;grid-template-columns:1.02fr 1fr;gap:var(--sp-16);align-items:center}
  .vizita-rand > .text{padding-right:var(--marja);padding-left:0}
  .vizita-poza{margin-bottom:0;border-radius:0}
  .vizita-poza img{aspect-ratio:4/3}

  .citat-rand{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-16);align-items:center}
  .cifre-mari{flex-direction:column;gap:var(--sp-10);margin-bottom:0}

  .vorbe{grid-template-columns:repeat(3,1fr);gap:0 var(--sp-8)}
  .vorba:nth-child(2),.vorba:nth-child(3){border-top:0;padding-top:0}

  .cap{padding-block:var(--sp-12) var(--sp-10)}
  .cap-rand{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-12);align-items:center}
  .cap-poza{margin-top:0}

  .grila{grid-template-columns:repeat(3,1fr);gap:var(--sp-8)}
  .galerie{grid-template-columns:repeat(4,1fr)}

  .subsol-rand{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:var(--sp-8)}
  .subsol-bloc{margin-bottom:0}
  .harta iframe{height:420px}
}

@media (min-width:1100px){
  .pista{--piesa:292px}
}
