/* ============================================================
   MAYA DIGITAL — BANNER & PREFERINȚE COOKIE
   Se încarcă pe TOATE paginile. Totul în rem/clamp, deci
   scalează fluid odată cu html{font-size:clamp(...)} din global.css

   Geometrie: colțuri drepte peste tot, muchii de 1px și o linie
   de accent în gradientul brandului, ca semn grafic.
   ============================================================ */

/* ---------- Banner ---------- */
.ck-banner{
  position:fixed;z-index:9998;
  left:50%;transform:translateX(-50%) translateY(0);
  bottom:clamp(14px,2.2vh,28px);
  width:min(calc(100% - clamp(20px,5vw,48px)), 62rem);
  background:rgba(var(--alb-rgb),.98);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid var(--fg);
  border-radius:0;
  box-shadow:0 24px 60px -20px rgba(var(--umbra-rgb),.32);
  padding:clamp(1.25rem,2.4vw,1.8rem) clamp(1.35rem,2.8vw,2.1rem);
  display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem);
  flex-wrap:wrap;
  opacity:0;visibility:hidden;
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),visibility .5s;
}
/* linia de accent, sus, pe toată lățimea */
.ck-banner::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--brand-500),var(--brand-mint));
}
.ck-banner[data-open]{opacity:1;visibility:visible}
.ck-banner:not([data-open]){transform:translateX(-50%) translateY(1.2rem)}

/* logo, la stânga textului */
.ck-logo{
  height:clamp(2.1rem,3.6vw,2.9rem);width:auto;flex-shrink:0;
  align-self:center;
}

.ck-text{flex:1 1 18rem;min-width:0}
/* titlul e o etichetă mică, cu un pătrat de accent în față */
.ck-text strong{
  display:flex;align-items:center;gap:.6em;
  font-size:clamp(.7rem,.66rem + .16vw,.76rem);font-weight:600;
  letter-spacing:var(--tracking-wide);text-transform:uppercase;
  color:var(--fg);margin-bottom:.85em;
}
.ck-text strong::before{
  content:"";width:.5em;height:.5em;flex-shrink:0;background:var(--brand-500);
}
.ck-text p{font-size:clamp(.86rem,.8rem + .22vw,.95rem);line-height:1.65;color:var(--muted)}
.ck-text a{
  color:var(--fg);text-decoration:underline;
  text-decoration-color:var(--brand-500);text-decoration-thickness:1px;
  text-underline-offset:3px;
  transition:text-decoration-color var(--dur) var(--ease);
}
.ck-text a:hover{text-decoration-color:var(--fg)}

/* ---------- Butoane ---------- */
.ck-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;flex-shrink:0}

.ck-banner .btn-pill,
.ck-panel-actions .btn-pill,
.lg-actiune .btn-pill{
  border-radius:0;
  padding:.85em 1.5em;
  font-size:clamp(.72rem,.68rem + .16vw,.78rem);
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),
             border-color var(--dur) var(--ease),filter var(--dur) var(--ease);
}
/* refuz / salvează — contur, se umple la hover */
.ck-banner .btn-pill:not(.btn-solid):hover,
.ck-panel-actions .btn-pill:not(.btn-solid):hover,
.lg-actiune .btn-pill:not(.btn-solid):hover{background:var(--fg);color:var(--bg)}

/* accept — albastrul brandului.
   Text închis, nu alb: pe #7ab8fe albul dă un contrast de ~2:1, sub pragul WCAG. */
/* butonul de accept, in materialul aqua-glass al site-ului */
.ck-banner .btn-pill.btn-solid,
.ck-panel-actions .btn-pill.btn-solid,
.lg-actiune .btn-pill.btn-solid{
  position:relative;overflow:hidden;color:var(--invert-fg);
  background:linear-gradient(160deg, rgba(var(--mint-rgb),.92) 0%, rgba(var(--brand-rgb),.78) 100%);
  border-color:rgba(var(--alb-rgb),.78);
  -webkit-backdrop-filter:blur(16px) saturate(185%);
          backdrop-filter:blur(16px) saturate(185%);
  box-shadow:
    inset 0 1px 0 rgba(var(--alb-rgb),.95),
    inset 0 -10px 20px -14px rgba(var(--umbra-rgb),.3),
    0 8px 20px -10px rgba(var(--umbra-rgb),.32);
}
.ck-banner .btn-pill.btn-solid:hover,
.ck-panel-actions .btn-pill.btn-solid:hover,
.lg-actiune .btn-pill.btn-solid:hover{
  background:var(--brand-500);border-color:var(--fg);color:var(--fg);
  transform:none;filter:brightness(.95);
}

/* „Preferințe cookie” — legătură text, nu buton */
.ck-link{
  position:relative;
  background:none;border:0;padding:.85em .3em;cursor:pointer;
  font-size:clamp(.72rem,.68rem + .16vw,.78rem);
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--brand-500);white-space:nowrap;
  transition:color var(--dur) var(--ease);
}
.ck-link::after{
  content:"";position:absolute;left:.3em;right:.3em;bottom:.55em;height:1px;
  background:var(--brand-500);transition:background var(--dur) var(--ease);
}
.ck-link:hover{color:var(--fg)}
.ck-link:hover::after{background:var(--fg)}

/* ---------- Pastila permanentă, jos-stânga ----------
   Aceeași mărime, formă și material ca butoanele de navigare din dreapta:
   pătrată, aqua-glass în bleu și vernil. Apare doar după ce vizitatorul a
   luat o decizie — până atunci e bannerul pe ecran. */
.ck-pastila{
  position:fixed;left:var(--gutter);bottom:clamp(22px,4vh,40px);z-index:9997;
  width:var(--ctrl-size);height:var(--ctrl-size);
  display:grid;place-items:center;padding:0;cursor:pointer;
  border:1px solid rgba(var(--alb-rgb),.78);border-radius:0;
  color:var(--invert-fg);
  background:linear-gradient(160deg, rgba(var(--mint-rgb),.88) 0%, rgba(var(--brand-rgb),.74) 100%);
  -webkit-backdrop-filter:blur(16px) saturate(185%);
          backdrop-filter:blur(16px) saturate(185%);
  box-shadow:
    inset 0 1px 0 rgba(var(--alb-rgb),.95),
    inset 0 -10px 20px -14px rgba(var(--umbra-rgb),.3),
    0 10px 26px -12px rgba(var(--umbra-rgb),.34);
  opacity:0;visibility:hidden;transform:translateY(.6rem);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),
             visibility var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.ck-pastila[data-open]{opacity:1;visibility:visible;transform:none}
.ck-pastila:hover{
  transform:translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(var(--alb-rgb),1),
    0 16px 34px -14px rgba(var(--umbra-rgb),.42);
}
.ck-pastila:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
.ck-pastila svg{width:1.1rem;height:1.1rem;fill:currentColor}
/* cu meniul deschis, pastila ar pluti peste el */
body.nav-open .ck-pastila{opacity:0;visibility:hidden}

/* ---------- Panou de preferințe ---------- */
.ck-modal{
  position:fixed;inset:0;z-index:9999;
  display:grid;place-items:center;
  padding:clamp(16px,4vw,40px);
  background:rgba(var(--deep-rgb),.46);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s;
}
.ck-modal[data-open]{opacity:1;visibility:visible}

.ck-panel{
  position:relative;
  width:min(100%,42rem);max-height:min(86vh,52rem);
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:var(--bg);border:1px solid var(--fg);border-radius:0;
  box-shadow:0 40px 90px -30px rgba(var(--umbra-rgb),.5);
  padding:clamp(1.6rem,3.6vw,2.8rem);
  transform:translateY(1.4rem);
  transition:transform .45s var(--ease-out);
  /* linia de accent ca fundal, nu ca ::before: panoul poate derula,
     iar așa rămâne fixată sus în loc să plece odată cu conținutul */
  background-image:linear-gradient(90deg,var(--brand-500),var(--brand-mint));
  background-repeat:no-repeat;
  background-size:100% 3px;
}
.ck-modal[data-open] .ck-panel{transform:none}

.ck-panel h2{
  font-size:clamp(1.3rem,1.1rem + .9vw,1.75rem);font-weight:600;
  letter-spacing:var(--tracking-tight);line-height:1.15;
}
.ck-panel > p{
  margin-top:.7em;font-size:clamp(.88rem,.82rem + .22vw,.96rem);
  line-height:1.65;color:var(--muted);max-width:46ch;
}

/* ---------- Categorii ---------- */
.ck-groups{margin:clamp(1.5rem,3.2vw,2.2rem) 0;display:flex;flex-direction:column}
.ck-group{
  border:1px solid var(--line-soft);border-radius:0;
  padding:clamp(1rem,2.2vw,1.35rem);
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.ck-group + .ck-group{margin-top:-1px}          /* muchii comune, ca la un tabel */
.ck-group:hover{border-color:var(--fg);position:relative;z-index:1}
/* categoria activă primește o bară albastră pe margine */
.ck-group:has(input:checked){border-left:3px solid var(--brand-500);background:var(--brand-100)}

.ck-group-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ck-group-head h3{
  font-size:clamp(.95rem,.88rem + .25vw,1.05rem);font-weight:600;letter-spacing:-0.01em;
}
.ck-group p{
  margin-top:.5em;font-size:clamp(.8rem,.76rem + .2vw,.88rem);
  line-height:1.65;color:var(--muted);max-width:52ch;
}
.ck-always{
  font-size:clamp(.66rem,.63rem + .14vw,.72rem);font-weight:600;
  letter-spacing:var(--tracking-wide);text-transform:uppercase;
  color:var(--muted-2);white-space:nowrap;
  border:1px solid var(--line);padding:.4em .7em;
}

/* comutator dreptunghiular, în ton cu restul */
.ck-switch{position:relative;flex-shrink:0;width:3rem;height:1.5rem;cursor:pointer}
.ck-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.ck-switch .track{
  position:absolute;inset:0;border:1px solid var(--line);background:var(--bg-soft);
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.ck-switch .thumb{
  position:absolute;top:.25rem;left:.25rem;width:1rem;height:1rem;
  background:var(--muted-2);
  transition:transform var(--dur) var(--ease),background var(--dur) var(--ease);
}
.ck-switch input:checked ~ .track{background:var(--brand-200);border-color:var(--brand-500)}
.ck-switch input:checked ~ .thumb{transform:translateX(1.5rem);background:var(--brand-500)}
.ck-switch input:focus-visible ~ .track{outline:2px solid var(--fg);outline-offset:3px}

.ck-panel-actions{
  display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end;
  padding-top:clamp(1.1rem,2.4vw,1.5rem);border-top:1px solid var(--line-soft);
}

/* ---------- Telefon: totul pe verticală, butoane pe toată lățimea ---------- */
@media (max-width:640px){
  .ck-banner{
    left:clamp(10px,3vw,16px);right:clamp(10px,3vw,16px);
    width:auto;transform:none;
    flex-direction:column;align-items:stretch;gap:1.1rem;
  }
  .ck-banner:not([data-open]){transform:translateY(1.2rem)}
  .ck-logo{align-self:flex-start;height:2.1rem}   /* aliniat cu textul, nu centrat */
  .ck-actions{flex-direction:column;align-items:stretch}
  .ck-actions .btn-pill{justify-content:center;width:100%}
  .ck-link{width:100%;text-align:center;padding-block:.7em}
  .ck-link::after{left:35%;right:35%}
  .ck-panel-actions{flex-direction:column}   /* refuz, salvează, accept — accept jos, la îndemână */
  .ck-panel-actions .btn-pill{justify-content:center;width:100%}
}

/* ---------- Telefon în landscape: înălțime mică, lăsăm panoul să curgă ---------- */
@media (max-height:560px) and (orientation:landscape){
  .ck-banner{bottom:8px;padding:.95rem 1.15rem;gap:.9rem}
  .ck-logo{height:1.8rem}
  .ck-panel{max-height:92vh;padding:1.3rem 1.5rem}
  .ck-groups{margin:1.1rem 0}
  .ck-group{padding:.8rem .95rem}
}

@media (prefers-reduced-motion:reduce){
  .ck-banner,.ck-modal,.ck-panel,.ck-switch .thumb{transition:none}
}
