/* ============================================================
   ESHATON · ce plutește peste pagină
   ------------------------------------------------------------
   Playerul Radio Kibuț, butonul de cookie-uri, bannerul de
   consimțământ și modala cu setări. Toate sunt construite din
   JavaScript, așa că orice pagină care încarcă scripturile le
   primește identic, fără să repete markup.

   Aceeași disciplină ca pagina: colț drept, linie de un pixel,
   două greutăți de literă, aceleași șase culori.
   FĂRĂ umbră. FĂRĂ gradient. FĂRĂ animație. Ce plutește se
   desparte de hârtie prin linie și, la modale, prin voal.
   Singura tranziție permisă e cea de culoare, .25s, ca în pagină.
   ============================================================ */


/* ------------------------------------------------------------
   0 · utilitare
   ------------------------------------------------------------ */

.doar-cititor{
  position:absolute !important;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap;border:0;
}

/* Înălțimea bannerului, măsurată din JS · butoanele plutitoare
   se așază exact deasupra lui, fără să se suprapună. */
:root{--inaltime-banner:0px}

/* ------------------------------------------------------------
   Pagina oprită din derulare, fără tresărire
   ------------------------------------------------------------
   Cât e deschis meniul, modala sau vitrina, pagina de dedesubt
   stă pe loc. Dar dacă doar ascunzi bara de derulare, fereastra
   se lățește cu lățimea ei și tot textul se reașază — „Gărâna"
   sare pe rândul de sus, antetul tresare.

   bara.js măsoară bara și pune lățimea în --bara-derulare; aici o
   compensăm exact: pagina primește atâta umplutură în dreapta cât
   ocupa bara, iar straturile fixate se mută și ele cu aceeași
   valoare. Lățimea utilă rămâne neschimbată, deci nu se mișcă
   absolut nimic.
   ------------------------------------------------------------ */

html.fara-derulare{
  overflow:hidden;
  padding-right:var(--bara-derulare, 0px);
}
html.fara-derulare .bara-plutitoare{
  right:calc(22px + var(--bara-derulare, 0px));
}
html.fara-derulare .cb{
  padding-right:var(--bara-derulare, 0px);
}


/* ------------------------------------------------------------
   1 · stâlpul butoanelor plutitoare
   ------------------------------------------------------------
   Un singur loc, jos-dreapta, nu două colțuri opuse. Ordinea în
   stâlp e column-reverse: primul înregistrat stă cel mai jos, la
   degetul mare — deci radioul jos, cookie-ul deasupra lui.
   Containerul nu prinde clicuri; doar butoanele din el.
   ------------------------------------------------------------ */

.bara-plutitoare{
  position:fixed;right:22px;bottom:calc(22px + var(--inaltime-banner));
  z-index:90;
  display:flex;flex-direction:column-reverse;align-items:flex-end;
  gap:10px;pointer-events:none;
}
.bara-plutitoare > *{pointer-events:auto}

.radio-strat{position:relative;display:inline-flex}

/* Pătrate de 44×44, doar iconiță · exact tiparul Brebu Nou, în
   culorile casei. Cuvântul nu se scrie pe buton: îl spune
   aria-label și title, iar la nevoie panoul care iese din el.
   44px e minimul pentru deget (WCAG 2.5.5). */
.cfab,
.radio-buton{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;padding:0;
  background:var(--hartie-pura);color:var(--vd);
  border:1px solid var(--linie-tare);border-radius:0;
  font-family:inherit;cursor:pointer;
  transition:background .25s linear,color .25s linear,border-color .25s linear;
}
.cfab:hover,
.radio-buton:hover{background:var(--vd);color:var(--hartie-pura);border-color:var(--vd)}
.cfab:focus-visible,
.radio-buton:focus-visible{outline:2px solid var(--vd);outline-offset:3px}
.cfab svg,
.radio-buton svg{width:19px;height:19px;flex:none;stroke:currentColor;fill:none;stroke-width:1.3}
/* eticheta din buton rămâne doar pentru cititoarele de ecran */
.radio-buton__text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---------- post-it-ul ----------
   La trecerea cu mouse-ul, din buton iese spre stânga o etichetă
   lipită de el, ca un post-it scos dintr-un teanc: aceeași hârtie,
   aceeași linie, fără spațiu între ele. Cât ține mouse-ul deasupra,
   post-it-ul și butonul se umplu împreună cu albastru și se citesc
   ca o singură bucată. Pe telefon nu apare deloc — acolo degetul
   nu „trece peste", iar pătratul singur e destul. */
.fab-strat{position:relative;display:inline-flex}
.fab-eticheta{
  position:absolute;right:calc(100% - 1px);top:0;
  display:flex;align-items:center;height:44px;
  white-space:nowrap;
  background:var(--hartie-pura);color:var(--vd);
  border:1px solid var(--linie-tare);border-right:0;
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  padding:0 18px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s linear,visibility .2s linear,
             background .25s linear,color .25s linear,border-color .25s linear;
}
@media (hover:hover) and (pointer:fine){
  .fab-strat:hover .fab-eticheta,
  .fab-strat:focus-within .fab-eticheta{opacity:1;visibility:visible}
  .fab-strat:hover .fab-eticheta{background:var(--vd);border-color:var(--vd);color:var(--hartie-pura)}
}


/* ------------------------------------------------------------
   2 · Radio Kibuț
   ------------------------------------------------------------
   Stația e mereu în direct, deci butonul o anunță ca atare și
   lasă acțiunea pe rândul al doilea. Panoul se deschide deasupra
   lui: egalizator, titlul piesei din API-ul RadioKing, redare,
   volum. Egalizatorul stă nemișcat — culoarea spune dacă se aude
   la dumneavoastră, nu mișcarea.
   ------------------------------------------------------------ */

/* Cât se aude, butonul se umple: albastru plin, cu becul aprins
   în colț — se vede dintr-o privire că radioul merge. */
.radio-strat.canta .radio-buton{background:var(--vd);color:var(--hartie-pura);border-color:var(--vd)}
.radio-buton__bec{
  position:absolute;top:5px;right:5px;
  width:6px;height:6px;border-radius:50%;
  background:transparent;transition:background .25s linear;
}
.radio-strat.canta .radio-buton__bec{background:var(--mist)}

/* Panoul iese din buton către stânga, ca la Brebu · nu peste el.
   Pe ecran cu mouse se arată și la trecerea peste buton, ca să
   ajungi la volum fără să deschizi nimic. */
.radio-panou{
  position:absolute;right:calc(100% + 12px);bottom:0;
  width:min(320px,calc(100vw - 88px));
  background:var(--hartie-pura);color:var(--tus);
  border:1px solid var(--linie-tare);
  padding:22px;
  opacity:0;visibility:hidden;
  transition:opacity .25s linear,visibility .25s linear;
}
.radio-strat.deschis .radio-panou{opacity:1;visibility:visible}
@media (hover:hover) and (pointer:fine){
  .radio-strat:hover .radio-panou,
  .radio-strat:focus-within .radio-panou{opacity:1;visibility:visible}
}

.radio-panou__cap{display:flex;align-items:center;gap:12px}
.radio-panou__nume{font-size:.98rem;font-weight:var(--bold);letter-spacing:.01em}
/* „În direct" e permanent: Radio Kibuț emite neîntrerupt, deci
   becul nu se stinge niciodată. Ce se schimbă e egalizatorul de
   alături, care spune dacă se aude la dumneavoastră acum. */
.radio-live{
  margin-left:auto;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--vd);display:inline-flex;align-items:center;gap:6px;
}
.radio-live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vd)}

/* egalizatorul · patru bare nemișcate. Culoarea spune dacă se aude. */
.radio-eq{display:inline-flex;align-items:flex-end;gap:3px;height:18px;flex:none}
.radio-eq i{display:block;width:3px;background:var(--linie-tare);transition:background .25s linear}
.radio-eq i:nth-child(1){height:6px}
.radio-eq i:nth-child(2){height:14px}
.radio-eq i:nth-child(3){height:10px}
.radio-eq i:nth-child(4){height:18px}
.radio-strat.canta .radio-eq i{background:var(--vd)}

.radio-piesa{
  margin:14px 0;padding:13px 0;
  border-top:1px solid var(--linie);border-bottom:1px solid var(--linie);
  font-size:.9rem;line-height:1.5;color:var(--tus-soft);min-height:2.9em;
}
.radio-piesa em{font-style:normal;display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tus-mute);margin-bottom:5px}

.radio-panou__act{display:flex;align-items:center;gap:16px}
.radio-reda{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--vd);color:var(--hartie-pura);border:1px solid var(--vd);border-radius:0;
  font-family:inherit;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;
  padding:11px 18px;cursor:pointer;flex:none;
  transition:background .25s linear,border-color .25s linear;
}
.radio-reda:hover{background:var(--vd-adanc);border-color:var(--vd-adanc)}
.radio-reda svg{width:11px;height:11px;fill:currentColor}
.radio-vol{flex:1;min-width:0;accent-color:var(--vd);height:2px;cursor:pointer}

.radio-panou__site{
  display:inline-block;margin-top:16px;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tus-mute);border-bottom:1px solid var(--linie-tare);
}
.radio-panou__site:hover{color:var(--vd);border-bottom-color:var(--vd)}

/* poarta de consimțământ · playerul e servit de RadioKing (terț) */
.radio-poarta{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--linie);font-size:.86rem;line-height:1.6;color:var(--tus-soft)}
.radio-poarta button{
  display:inline-block;margin-top:12px;
  background:transparent;color:var(--vd);border:1px solid var(--vd);border-radius:0;
  font-family:inherit;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  padding:10px 16px;cursor:pointer;transition:background .25s linear,color .25s linear;
}
.radio-poarta button:hover{background:var(--vd);color:var(--hartie-pura)}


/* ------------------------------------------------------------
   3 · bannerul de consimțământ
   ------------------------------------------------------------ */

.cb{
  position:fixed;left:0;right:0;bottom:0;z-index:120;
  background:var(--hartie-pura);color:var(--tus);
  border-top:1px solid var(--linie-tare);
}
.cb[hidden]{display:none}
.cb .wrap{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center;
  padding-top:26px;padding-bottom:26px;
}
.cb__text .supra{margin-bottom:10px}
.cb p{margin:0;font-size:.95rem;line-height:1.7;max-width:66ch;color:var(--tus-soft)}
.cb p a{color:var(--vd);border-bottom:1px solid var(--linie-tare)}
.cb p a:hover{border-bottom-color:var(--vd)}
.cb__act{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cb__act button{
  font-family:inherit;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  border-radius:0;padding:13px 22px;cursor:pointer;white-space:nowrap;
  transition:background .25s linear,border-color .25s linear,color .25s linear;
}
.cb__ok{background:var(--vd);color:var(--hartie-pura);border:1px solid var(--vd)}
.cb__ok:hover{background:var(--vd-adanc);border-color:var(--vd-adanc)}
.cb__nu{background:transparent;color:var(--tus);border:1px solid var(--linie-tare)}
.cb__nu:hover{border-color:var(--tus)}
.cb__set{background:transparent;color:var(--tus-mute);border:1px solid transparent;border-bottom-color:var(--linie-tare);padding-left:8px;padding-right:8px}
.cb__set:hover{color:var(--vd);border-bottom-color:var(--vd)}

@media (max-width:900px){
  .cb .wrap{grid-template-columns:1fr;gap:20px}
  .cb__act{justify-content:flex-start}
}
@media (max-width:520px){
  .cb__act{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .cb__set{grid-column:1 / -1;justify-self:start}
}


/* ------------------------------------------------------------
   4 · modala de setări · trei file
   ------------------------------------------------------------ */

.cm{
  position:fixed;inset:0;z-index:130;
  display:grid;place-items:center;padding:clamp(16px,4vw,48px);
  background:var(--voal);
}
.cm[hidden]{display:none}

.cm__panou{
  position:relative;
  background:var(--hartie-pura);color:var(--tus);
  border:1px solid var(--linie-tare);
  width:min(760px,100%);max-height:min(88vh,880px);
  display:flex;flex-direction:column;
}

/* cap */
.cm__cap{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  padding:clamp(24px,3.4vw,36px) clamp(24px,3.4vw,40px) 22px;
  border-bottom:1px solid var(--linie);
}
.cm__cap h2{font-size:clamp(1.5rem,2.4vw,2rem);margin:12px 0 0;font-weight:var(--light);letter-spacing:-.024em}
.cm__x{
  flex:none;width:42px;height:42px;margin:-6px -8px 0 0;
  background:transparent;border:1px solid var(--linie-tare);border-radius:0;
  color:var(--tus-mute);font-family:inherit;font-size:1.3rem;font-weight:var(--light);line-height:1;
  cursor:pointer;transition:background .25s linear,color .25s linear,border-color .25s linear;
}
.cm__x:hover{background:var(--vd);border-color:var(--vd);color:var(--hartie-pura)}

/* filele
   ------------------------------------------------------------
   Prima versiune avea overflow-x:auto pe bara filelor, iar linia
   care marca fila deschisă era desenată la bottom:-1px — adică
   fix în afara cutiei, deci tăiată de overflow. Nu se vedea
   niciodată unde te afli. Acum: filele se rup pe două rânduri pe
   ecran mic (fără scroll orizontal), fila deschisă are cerneală
   apăsată, Bold, și o linie groasă de 2px așezată ÎN cutie. */
.cm__file{
  display:flex;flex-wrap:wrap;gap:0;
  border-bottom:1px solid var(--linie-tare);
  padding:0 clamp(24px,3.4vw,40px);
  background:var(--hartie);
}
.cm__fila{
  position:relative;background:none;border:0;border-radius:0;
  font-family:inherit;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:var(--light);color:var(--tus-mute);
  padding:18px 24px 16px;cursor:pointer;white-space:nowrap;
  transition:color .25s linear;
}
.cm__fila:first-child{padding-left:0}
.cm__fila:hover{color:var(--tus)}
.cm__fila[aria-selected="true"]{color:var(--vd);font-weight:var(--bold)}
.cm__fila[aria-selected="true"]::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--vd);
}
.cm__fila:focus-visible{outline:1px solid var(--vd);outline-offset:-4px}

/* corpul */
.cm__corp{padding:clamp(24px,3.4vw,36px) clamp(24px,3.4vw,40px);overflow:auto;flex:1}
.cm__foaie[hidden]{display:none}
.cm__intro{font-size:.98rem;line-height:1.75;color:var(--tus-soft);margin:0 0 30px;max-width:62ch}
.cm__intro a{color:var(--vd);border-bottom:1px solid var(--linie-tare)}
.cm__intro a:hover{border-bottom-color:var(--vd)}

/* o categorie */
.cm__cat{padding:24px 0;border-top:1px solid var(--linie)}
.cm__cat:first-of-type{border-top:0;padding-top:0}
.cm__cat-cap{display:flex;align-items:center;gap:18px;justify-content:space-between}
.cm__cat-nume{font-size:1.06rem;font-weight:var(--bold);letter-spacing:-.01em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cm__cat p{margin:10px 0 0;font-size:.94rem;line-height:1.7;color:var(--tus-soft);max-width:60ch}
.cm__cat--interzis .cm__cat-nume,.cm__cat--interzis p{color:var(--tus-mute)}

.cm__eticheta{
  font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;font-weight:var(--light);
  border:1px solid var(--linie-tare);color:var(--tus-mute);padding:4px 9px;
}
.cm__eticheta--pornit{border-color:var(--vd);color:var(--vd)}

/* întrerupătorul · colț drept, ca tot restul */
.cm__comuta{position:relative;display:inline-flex;flex:none;width:54px;height:28px}
.cm__comuta input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cm__urma{
  position:relative;width:54px;height:28px;
  background:var(--hartie);border:1px solid var(--linie-tare);
  transition:background .2s linear,border-color .2s linear;
}
.cm__urma::before{
  content:"";position:absolute;top:4px;left:4px;width:18px;height:18px;
  background:var(--tus-slab);transition:transform .2s linear,background .2s linear;
}
.cm__comuta input:checked ~ .cm__urma{background:var(--vd);border-color:var(--vd)}
.cm__comuta input:checked ~ .cm__urma::before{transform:translateX(26px);background:var(--hartie-pura)}
.cm__comuta input:disabled ~ .cm__urma{background:var(--mist);border-color:var(--mist-adanc);cursor:not-allowed}
.cm__comuta input:disabled:checked ~ .cm__urma::before{background:var(--hartie-pura)}
.cm__comuta input:focus-visible ~ .cm__urma{outline:1px solid var(--vd);outline-offset:3px}

/* fila Detalii · inventarul de cookie-uri */
.cm__bloc{padding:26px 0;border-top:1px solid var(--linie)}
.cm__bloc:first-of-type{border-top:0;padding-top:0}
.cm__bloc-cap{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}
.cm__bloc-cap h3{font-size:1rem;font-weight:var(--bold);letter-spacing:0;margin:0}
.cm__numar{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tus-mute)}
.cm__tabel-strat{overflow-x:auto}
.cm__tabel{width:100%;border-collapse:collapse;font-size:.86rem;min-width:460px}
.cm__tabel th,.cm__tabel td{text-align:left;padding:10px 16px 10px 0;border-bottom:1px solid var(--linie);vertical-align:top;line-height:1.6}
.cm__tabel th{
  font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:var(--light);color:var(--tus-mute);border-bottom-color:var(--linie-tare);
}
.cm__tabel td{color:var(--tus-soft)}
.cm__tabel td:first-child{color:var(--tus);white-space:nowrap}
.cm__gol{font-size:.92rem;color:var(--tus-mute);margin:0;line-height:1.7}

/* fila Despre */
.cm__foaie h3{font-size:1.02rem;font-weight:var(--bold);letter-spacing:0;margin:28px 0 10px}
.cm__foaie h3:first-child{margin-top:0}
.cm__foaie p{font-size:.94rem;line-height:1.75;color:var(--tus-soft);margin:0 0 14px;max-width:62ch}
.cm__foaie ul{margin:0 0 14px;padding-left:20px}
.cm__foaie li{font-size:.94rem;line-height:1.75;color:var(--tus-soft);margin-bottom:6px}
.cm__foaie a{color:var(--vd);border-bottom:1px solid var(--linie-tare)}
.cm__foaie a:hover{border-bottom-color:var(--vd)}
.cm__stare{
  margin-top:26px;padding:16px 18px;
  border:1px solid var(--linie);background:var(--hartie);
  font-size:.86rem;color:var(--tus-mute);line-height:1.7;
}
.cm__stare strong{color:var(--tus);font-weight:var(--bold)}

/* picior */
.cm__act{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;
  padding:20px clamp(24px,3.4vw,40px);
  border-top:1px solid var(--linie);background:var(--hartie);
}
.cm__act button{
  font-family:inherit;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  border-radius:0;padding:13px 22px;cursor:pointer;
  transition:background .25s linear,border-color .25s linear,color .25s linear;
}
.cm__salveaza{background:var(--vd);color:var(--hartie-pura);border:1px solid var(--vd)}
.cm__salveaza:hover{background:var(--vd-adanc);border-color:var(--vd-adanc)}
.cm__tot{background:transparent;border:1px solid var(--linie-tare);color:var(--tus)}
.cm__tot:hover{border-color:var(--tus)}
.cm__nimic{background:transparent;border:1px solid transparent;color:var(--tus-mute);border-bottom-color:var(--linie-tare);padding-left:8px;padding-right:8px}
.cm__nimic:hover{color:var(--vd);border-bottom-color:var(--vd)}
.cm__semnatura{margin-left:auto;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tus-mute)}

@media (max-width:640px){
  .cm__panou{max-height:94vh}
  /* cele trei file încap pe un rând și pe telefon */
  .cm__file{padding:0 18px}
  .cm__fila{padding:15px 13px 13px;font-size:.64rem;letter-spacing:.12em}
  .cm__cat-cap{align-items:flex-start}
  .cm__act{gap:8px}
  .cm__act button{flex:1;padding:13px 12px;text-align:center}
  .cm__nimic{flex-basis:100%}
  .cm__semnatura{display:none}

  /* ---- fila „Detalii" ----------------------------------------
     Tabelul de patru coloane cerea 460px ca să nu-și rupă
     cuvintele — mai mult decât are un telefon, deci ieșea din
     ecran și trebuia tras lateral ca să se vadă „Pentru ce".
     Îl scoatem din forma de tabel: fiecare cookie devine o fișă,
     iar numele coloanei urcă deasupra valorii, mic și cu
     spațiere, ca eticheta unui câmp. Nimic nu mai iese afară.
     Capul de tabel rămâne în pagină, doar nevăzut: rolurile
     scrise în consent-ui.js îl țin întreg pentru cititorul de
     ecran. -------------------------------------------------- */
  .cm__tabel{min-width:0;font-size:.82rem}
  .cm__tabel,.cm__tabel tbody,.cm__tabel tr,.cm__tabel td{display:block;width:auto}
  .cm__tabel thead{
    position:absolute;width:1px;height:1px;margin:-1px;padding:0;
    overflow:hidden;white-space:nowrap;border:0;clip-path:inset(50%);
  }
  .cm__tabel tr{padding:15px 0;border-bottom:1px solid var(--linie)}
  .cm__tabel tr:last-child{border-bottom:0;padding-bottom:0}
  .cm__tabel td{padding:0;border:0;line-height:1.6}
  .cm__tabel td + td{margin-top:9px}
  .cm__tabel td::before{
    content:attr(data-cap);display:block;margin-bottom:3px;
    font-size:.57rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--tus-mute);
  }
  /* numele cookie-ului nu mai are de ce să stea pe un rând: are
     acum toată lățimea, iar unele sunt lungi */
  .cm__tabel td:first-child{white-space:normal;color:var(--tus);font-weight:var(--med);overflow-wrap:anywhere}
}


/* ------------------------------------------------------------
   4.1 · pe telefon
   ------------------------------------------------------------
   Stâlpul devine un rând strâns, lipit de marginea de jos, cu
   respect pentru zona gestului de pe iPhone (safe-area). Butoanele
   se scurtează: cookie-ul rămâne doar iconiță (44×44, minimul
   pentru deget), radioul păstrează becul și un singur cuvânt.
   ------------------------------------------------------------ */

@media (max-width:640px){
  /* Pe telefon, stâlpul vertical de 44+44+10 = 98px acoperea o
     bună bucată din coloana de text — și textul e toată lățimea
     ecranului, deci n-are unde să se ferească. Îl culcăm într-un
     rând: 40+40+8 = 88px lățime și doar 40px înălțime, lipit de
     colț. Radioul rămâne cel mai la îndemână, în dreapta. */
  .bara-plutitoare{
    right:12px;
    bottom:calc(12px + var(--inaltime-banner) + env(safe-area-inset-bottom, 0px));
    flex-direction:row-reverse;align-items:center;gap:8px;
  }
  .cfab,.radio-buton{width:40px;height:40px}
  .cfab svg,.radio-buton svg{width:17px;height:17px}

  /* conținutul se poate derula peste zona butoanelor */
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}

  /* pe telefon rămân doar pătratele · fără post-it */
  .fab-eticheta{display:none}

  /* Panoul nu mai încape lângă buton: se așază fix, deasupra
     rândului, lipit de marginea din dreapta. */
  .radio-panou{
    position:fixed;right:12px;left:auto;
    bottom:calc(62px + var(--inaltime-banner) + env(safe-area-inset-bottom, 0px));
    width:min(300px,calc(100vw - 24px));
    padding:18px;
  }
}


/* ------------------------------------------------------------
   5 · locul gol al conținutului de la terți
   (orice bloc cu data-consent care așteaptă acordul)
   ------------------------------------------------------------ */

.consimtamant-lipsa{
  background:var(--cadru);border:1px solid var(--linie-tare);
  padding:clamp(28px,4vw,44px);text-align:center;
}
.consimtamant-lipsa p{font-size:.94rem;color:var(--tus-soft);margin:0 0 16px;line-height:1.7}
.consimtamant-lipsa button{
  background:transparent;color:var(--vd);border:1px solid var(--vd);border-radius:0;
  font-family:inherit;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;
  padding:12px 20px;cursor:pointer;transition:background .25s linear,color .25s linear;
}
.consimtamant-lipsa button:hover{background:var(--vd);color:var(--hartie-pura)}
[data-consent].consimtit .consimtamant-lipsa{display:none}
