/*
 * Acoperișuri Vest — bannerul de cookie-uri al pluginului „Cookies and Content Security Policy” (V4-16).
 * Încărcat doar când pluginul e activ (inc/cookies.php), după stilul pluginului și după mobile.css.
 * Bannerul (modul „banner jos”, V4-11) stă deasupra barei fixe Sunați / WhatsApp / Deviz sub 900 px;
 * cât e vizibil, <html> are clasa `av-cookie-on` și `--av-cookie-h` = înălțimea lui (scriptul din inc/cookies.php),
 * iar body / scroll-padding rezervă spațiul, ca bannerul să nu acopere butoanele de trimitere ale formularelor.
 */

/* Distanța bannerului față de marginea de jos: bara fixă (60 px + 1 px bordura) sub 900 px, 16 px pentru cardul
   de la 992 px, altfel 0. */
:root{--av-cookie-b:0px}
@media (max-width:899.98px){
  :root{--av-cookie-b:calc(61px + env(safe-area-inset-bottom))}
}
/* De la 992 px (hero-ul Acasă pe un rând: 520 + 48 + 360 px + gutter-ele) bannerul e un card cât coloana de text a
   hero-ului, aliniat la .wrap: formularul din dreapta (în primul ecran la 1024×768, 1280×720) rămâne liber (V5-09).
   Procentele se raportează la fereastră (cutia e position:fixed). */
@media (min-width:992px){
  :root{
    --av-cookie-b:16px;
    --av-cookie-x:calc(max(0px, (100% - var(--av-wrap)) / 2) + var(--av-gutter));
    --av-cookie-w:calc(min(100%, var(--av-wrap)) - 2 * var(--av-gutter) - 408px);
  }
}
/* Telefon ținut orizontal, cu JS: bara urcă în antet (mobile.css, V4-36). */
@media (max-width:899.98px) and (max-height:500px) and (orientation:landscape){
  html.js{--av-cookie-b:env(safe-area-inset-bottom)}
}

/* ---------- Cutiile ascunse ies din ordinea Tab (V4-48) ---------- */

/* Pluginul ascunde bannerul / panoul „Setări” doar cu opacity:0 + 0×0 px, iar linkurile din ele rămân focalizabile
   și în arborele de accesibilitate. visibility:hidden le scoate pe amândouă; la deschidere pluginul pune
   `modal-cacsp-box-show` și apariția (tranziția de opacitate) rămâne a lui. Fără `modal-cacsp-open` (după acord)
   e ascuns tot containerul: „×” și containerul 0×0 cu overflow, pe care Chrome l-ar face oprire de Tab. */
.modal-cacsp-position .modal-cacsp-box:not(.modal-cacsp-box-show){visibility:hidden}
body:not(.modal-cacsp-open) .modal-cacsp-position{visibility:hidden}

/* ---------- Spațiul rezervat cât e vizibil bannerul ---------- */

html.js.av-cookie-on{scroll-padding-bottom:calc(var(--av-cookie-b) + var(--av-cookie-h, 0px) + 8px)}
html.js.av-cookie-on body{padding-bottom:calc(var(--av-cookie-b) + var(--av-cookie-h, 0px))}

/* ---------- Bannerul ---------- */

.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom{bottom:var(--av-cookie-b);flex-wrap:wrap;gap:12px 24px;box-sizing:border-box;padding:16px var(--av-gutter);background:var(--av-white);border-top:1px solid var(--av-line);box-shadow:0 -6px 20px rgba(20,23,26,.14);color:var(--av-text);font-family:var(--av-font-body);font-size:16px;line-height:1.5}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-box-content{flex:1 1 420px;width:auto;min-width:0;padding:0;color:var(--av-text);font-size:16px;line-height:1.5}
/* Loc pentru „×” (44 px, colțul din dreapta sus) doar pe primul rând de text. */
.modal-cacsp-position .modal-cacsp-box-close~.modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-box-content::before{content:"";float:right;width:calc(48px - var(--av-gutter));height:28px}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-box-content a{color:var(--av-red);text-decoration:underline;text-underline-offset:2px}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-box-content a:hover{color:var(--av-red-link-hover)}

.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-btns{flex:0 1 auto;flex-wrap:wrap;gap:8px;width:auto;padding:0;border:0;white-space:normal}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-btns .modal-cacsp-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;box-sizing:border-box;width:auto;max-width:none;min-height:44px;margin:0;padding:0 18px;border-radius:0;font-family:var(--av-font-body);font-size:16px;font-weight:600;line-height:1.25;white-space:nowrap}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-btns .modal-cacsp-btn:hover{opacity:1}
/* Refuză și Acceptă cu aceeași greutate vizuală; contrast AA (alb pe roșu 5,9:1, alb pe grafit 18:1). */
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-settings{background:transparent;border:1px solid var(--av-graphite);color:var(--av-text)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-settings:hover{background:var(--av-zinc)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-refuse{background:var(--av-graphite);border:1px solid var(--av-graphite);color:var(--av-white)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-refuse:hover{background:var(--av-graphite-soft);border-color:var(--av-graphite-soft)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-accept{background:var(--av-red);border:1px solid var(--av-red);color:var(--av-white)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-accept:hover{background:var(--av-red-hover);border-color:var(--av-red-hover)}

/* 900–991 px: un singur rând (text | butoane); „×” are coloana lui în dreapta, nu mai trebuie golul din text. */
@media (min-width:900px) and (max-width:991.98px){
  .modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom{padding-right:64px}
  .modal-cacsp-position .modal-cacsp-box-close~.modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom .modal-cacsp-box-content::before{content:none}
}
/* De la 992 px: cardul din stânga jos (text deasupra, butoanele pe rândul de sub el, „×” în colțul din dreapta sus). */
@media (min-width:992px){
  .modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-info.modal-cacsp-box-show.modal-cacsp-box-bottom{left:var(--av-cookie-x);width:var(--av-cookie-w);max-width:var(--av-cookie-w);border:1px solid var(--av-line);box-shadow:0 8px 28px rgba(20,23,26,.2)}
}

/* ---------- „×” ---------- */

/* Ținta de 44 px (și în fereastra „Setări”, unde pluginul o lasă sus-dreapta, pe fundalul întunecat). */
body.modal-cacsp-open .modal-cacsp-position>.modal-cacsp-box-close{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;min-height:44px;padding:0;line-height:1}
@media (max-width:576px){
  body.modal-cacsp-open .modal-cacsp-position>.modal-cacsp-box-close{margin-top:0}
}
/* Cât e vizibil bannerul: în colțul din dreapta sus al bannerului, nu peste butonul de meniu din antet. */
html.av-cookie-on body.modal-cacsp-open .modal-cacsp-position>.modal-cacsp-box-close{position:fixed;z-index:1;top:auto;right:0;bottom:calc(var(--av-cookie-b) + var(--av-cookie-h, 44px) - 44px);width:44px;height:44px;margin:0;color:var(--av-text-2);font-size:28px;font-family:var(--av-font-body)}
@media (min-width:992px){
  html.av-cookie-on body.modal-cacsp-open .modal-cacsp-position>.modal-cacsp-box-close{right:auto;left:calc(var(--av-cookie-x) + var(--av-cookie-w) - 45px);bottom:calc(var(--av-cookie-b) + var(--av-cookie-h, 44px) - 45px)}
}
html.av-cookie-on body.modal-cacsp-open .modal-cacsp-position>.modal-cacsp-box-close:hover{opacity:1;color:var(--av-text)}
/* Inelul de focus al temei (2 px + halo 4 px, base.css) spre interior: butonul e lipit de marginea ecranului,
   iar pe telefon stă la 4 px de text — în afară ar fi tăiat de margine și ar intra peste text (V4-50a). */
html.av-cookie-on body.modal-cacsp-open .modal-cacsp-position>.modal-cacsp-box-close:focus-visible{outline-offset:-6px;box-shadow:inset 0 0 0 4px var(--av-focus-halo)}
/* Cât e deschis „Setări”, „×” e mutat în panou (role=dialog, inc/cookies.php — V5-21b): în colțul din dreapta sus al
   antetului negru, alb ca înainte pe fundal; nu mai stă peste butonul de meniu din antetul paginii. */
.modal-cacsp-position .modal-cacsp-box-settings>.modal-cacsp-box-close{position:absolute;z-index:1;top:20px;right:12px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;margin:0;padding:0;background:transparent;color:var(--av-white);font-family:var(--av-font-body);font-size:32px;line-height:1;text-decoration:none}
.modal-cacsp-position .modal-cacsp-box-settings>.modal-cacsp-box-close:hover{opacity:.7}
.modal-cacsp-position .modal-cacsp-box-settings>.modal-cacsp-box-close:focus-visible{outline-offset:-6px;box-shadow:inset 0 0 0 4px var(--av-focus-halo)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings{position:relative}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-box-header{padding-right:68px}

/* ---------- „Setări”: butoanele ca în banner (V4-50a) ---------- */

/* Pluginul le dă Salvează alb, Refuză toate roșu, Acceptă toate verde; aici aceleași roluri ca în banner:
   Salvează = conturul lui „Setări”, Refuză toate = grafit, Acceptă toate = roșu. */
/* Aceeași înălțime (44 px) și același padding ca butoanele din banner (V5-09). */
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-btns .modal-cacsp-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:0 18px;border-radius:0;font-family:var(--av-font-body);font-size:16px;font-weight:600;line-height:1.25}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-btns .modal-cacsp-btn *{color:inherit}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-btns .modal-cacsp-btn:hover{opacity:1}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-save{background:transparent;border:1px solid var(--av-graphite);color:var(--av-text)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-save:hover{background:var(--av-zinc)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-refuse-all{background:var(--av-graphite);border:1px solid var(--av-graphite);color:var(--av-white)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-refuse-all:hover{background:var(--av-graphite-soft);border-color:var(--av-graphite-soft)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-accept-all{background:var(--av-red);border:1px solid var(--av-red);color:var(--av-white)}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-btns .modal-cacsp-btn.modal-cacsp-btn-accept-all:hover{background:var(--av-red-hover);border-color:var(--av-red-hover)}

/* ---------- „Setări”: focusul comutatoarelor (V4-16a) ---------- */

/* Focusul îl primește tot rândul (linkul .modal-cacsp-toggle-switch), dar pluginul îi pune `outline:none` lui și copiilor.
   Fără haloul alb din base.css pe rând (pe fundal alb nu se vede și acoperă linia separatoare de sub el);
   inelul temei (2 px, offset 2 px, --av-focus: 6:1 față de alb) pe glisor. „Necesare” e un <span>, fără focus. */
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-box-settings-list ul li .modal-cacsp-toggle-switch:focus-visible{box-shadow:none}
.modal-cacsp-position .modal-cacsp-box.modal-cacsp-box-settings .modal-cacsp-box-settings-list ul li .modal-cacsp-toggle-switch:focus-visible span.modal-cacsp-toggle{outline:2px solid var(--av-focus);outline-offset:2px}
