/* =========================================================
   CARIERA COBANI — cookie-consent.css
   Fișier separat, intenționat — NU s-a atins styles.css.
   Reutilizează variabilele de design existente (--c-ink, --c-amber,
   --radius, --font-head etc., definite în styles.css) ca stilul
   bannerului/panoului să fie identic vizual cu restul site-ului,
   fără să modifice vreo regulă deja existentă.
   ========================================================= */

/* ---------- Banner (jos, elegant, NU full-screen) ---------- */
.cc-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:9999;
  background:var(--c-ink); color:#EDE9DD;
  box-shadow:0 -8px 32px rgba(0,0,0,.28);
  transform:translateY(100%); opacity:0; visibility:hidden;
  transition:transform .45s var(--ease), opacity .45s var(--ease), visibility 0s linear .45s;
}
.cc-banner.cc-visible{ transform:translateY(0); opacity:1; visibility:visible; transition:transform .45s var(--ease), opacity .45s var(--ease); }
.cc-banner-inner{
  max-width:var(--maxw); margin:0 auto; padding:22px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
}
.cc-banner-text{ flex:1 1 420px; min-width:0; }
.cc-banner-text h2{ font-family:var(--font-head); font-size:1rem; font-weight:700; margin:0 0 6px; color:#fff; }
.cc-banner-text p{ margin:0; font-size:.86rem; line-height:1.55; color:#C7CBCD; }
.cc-banner-text p a{ color:var(--c-amber); text-decoration:underline; text-underline-offset:2px; }
.cc-banner-actions{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; flex-shrink:0; }

.cc-btn{
  font-family:var(--font-body); font-weight:600; font-size:.86rem;
  padding:12px 20px; border-radius:var(--radius); cursor:pointer;
  border:1px solid transparent; white-space:nowrap; transition:.15s;
}
.cc-btn-accept{ background:var(--c-amber); color:#fff; }
.cc-btn-accept:hover{ background:var(--c-amber-dark); }
.cc-btn-reject{ background:transparent; border-color:rgba(255,255,255,.34); color:#fff; }
.cc-btn-reject:hover{ border-color:#fff; }
.cc-btn-prefs{ background:transparent; border-color:transparent; color:#fff; text-decoration:underline; text-underline-offset:2px; padding:12px 10px; }
.cc-btn-prefs:hover{ color:var(--c-amber); }

@media (max-width:700px){
  .cc-banner-inner{ padding:18px 18px 20px; flex-direction:column; align-items:stretch; gap:16px; }
  .cc-banner-actions{ flex-direction:column; align-items:stretch; }
  .cc-banner-actions .cc-btn{ width:100%; text-align:center; }
  .cc-btn-prefs{ padding:11px 10px; }
}

/* ---------- Panou de preferințe (modal centrat) ---------- */
.cc-modal-overlay{
  position:fixed; inset:0; z-index:10000; background:rgba(15,17,19,.6);
  display:none; align-items:center; justify-content:center; padding:20px;
}
.cc-modal-overlay.cc-visible{ display:flex; }
.cc-modal{
  background:var(--c-paper); color:var(--c-ink); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg); max-width:540px; width:100%; max-height:88vh;
  overflow-y:auto; display:flex; flex-direction:column;
}
.cc-modal-head{
  padding:22px 24px 16px; border-bottom:1px solid var(--c-line);
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-shrink:0;
}
.cc-modal-head h2{ margin:0; font-size:1.12rem; }
.cc-modal-close{ background:none; border:none; font-size:1.5rem; line-height:1; cursor:pointer; color:var(--c-slate); padding:0 2px; }
.cc-modal-close:hover{ color:var(--c-ink); }
.cc-modal-intro{ padding:16px 24px 0; margin:0; font-size:.86rem; color:var(--c-slate); line-height:1.55; }
.cc-modal-body{ padding:8px 24px 4px; }
.cc-cat{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--c-line); }
.cc-cat:last-child{ border-bottom:none; }
.cc-cat-text{ flex:1; min-width:0; }
.cc-cat-text b{ display:block; font-family:var(--font-head); font-size:.95rem; margin-bottom:4px; }
.cc-cat-text p{ margin:0; font-size:.82rem; color:var(--c-slate); line-height:1.5; }
.cc-cat-locked{ font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--c-amber-dark); white-space:nowrap; flex-shrink:0; padding-top:5px; }

.cc-switch{ position:relative; width:44px; height:26px; flex-shrink:0; }
.cc-switch input{ position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; z-index:1; }
.cc-switch input:disabled{ cursor:not-allowed; }
.cc-switch-track{ position:absolute; inset:0; background:#D8D2C2; border-radius:20px; transition:.15s; pointer-events:none; }
.cc-switch-thumb{ position:absolute; top:3px; left:3px; width:20px; height:20px; background:#fff; border-radius:50%; transition:.15s; box-shadow:0 1px 3px rgba(0,0,0,.25); pointer-events:none; }
.cc-switch input:checked ~ .cc-switch-track{ background:var(--c-amber); }
.cc-switch input:checked ~ .cc-switch-thumb{ transform:translateX(18px); }
.cc-switch input:disabled ~ .cc-switch-track{ background:var(--c-amber-dark); opacity:.6; }
.cc-switch input:focus-visible ~ .cc-switch-track{ outline:2px solid var(--c-amber); outline-offset:2px; }

.cc-modal-actions{ padding:18px 24px 24px; display:flex; gap:10px; flex-wrap:wrap; border-top:1px solid var(--c-line); margin-top:8px; flex-shrink:0; }
.cc-modal-actions .cc-btn{ flex:1; text-align:center; }
.cc-modal-actions .cc-btn-save{ background:transparent; border:1px solid rgba(19,22,26,.32); color:var(--c-ink); }
.cc-modal-actions .cc-btn-save:hover{ border-color:var(--c-ink); }
.cc-modal-actions .cc-btn-acceptall{ background:var(--c-amber); color:#fff; }
.cc-modal-actions .cc-btn-acceptall:hover{ background:var(--c-amber-dark); }

@media (max-width:480px){
  .cc-modal-actions{ flex-direction:column; }
}

/* ---------- Link discret in footer ("Setări cookie") ---------- */
.footer-link-btn{ background:none; border:none; padding:0; margin:0; font:inherit; color:inherit; cursor:pointer; }

/* ---------- Nu bloca CTA-ul sticky mobil sau chatbot-ul cât timp bannerul e vizibil ----------
   --cc-banner-h e setat dinamic din JS, la înălțimea reală a bannerului (variază pe mobil/tabletă/desktop). */
body.cc-banner-open .mobile-sticky-cta{ bottom:var(--cc-banner-h, 0px); }
body.cc-banner-open .asst-launcher{ bottom:calc(20px + var(--cc-banner-h, 0px)); }
body.cc-banner-open .asst-panel{ bottom:calc(88px + var(--cc-banner-h, 0px)); }
@media (max-width:940px){
  body.cc-banner-open .asst-launcher{ bottom:calc(78px + var(--cc-banner-h, 0px)); }
  body.cc-banner-open .asst-panel{ bottom:calc(136px + var(--cc-banner-h, 0px)); }
}
