/* Exigent Cleaning – GDPR v2 CMP Styles (compact card) */
/* Scope: modules/gdpr-v2/public/banner.php */

/* ------------------------------
   Design tokens
------------------------------ */
:root{
  --ec-font: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;

  /* dark (default) */
  --ec-bg: transparent;            /* fundal full-width devine transparent */
  --ec-card: #0b1220;              /* panoul efectiv (card) */
  --ec-fg: #ffffff;
  --ec-fg-muted: #dbe2ff;
  --ec-border: #2b3556;
  --ec-accent: #22c55e;
  --ec-accent-ink: #08240f;
  --ec-btn: #141b2e;
  --ec-link: #a7f3d0;
  --ec-shadow: 0 20px 50px rgba(0,0,0,.45);

  --ec-radius: 14px;
  --ec-spacing: 14px;
  --ec-gap: 14px;
  --ec-focus: 2px solid #60a5fa;
  --ec-wrap-max: 720px;            /* <<< mai îngust */

  --switch-bg: #39415e;
  --switch-knob: #ffffff;

  --z-gdpr: 99999;
}

@media (prefers-color-scheme: light){
  :root{
    --ec-card: #ffffff;
    --ec-fg: #0b1220;
    --ec-fg-muted: #374151;
    --ec-border: #e5e7eb;
    --ec-btn: #f3f4f6;
    --ec-link: #2563eb;
    --ec-shadow: 0 16px 40px rgba(0,0,0,.12);

    --switch-bg: #e5e7eb;
    --switch-knob: #111827;
  }
}

/* High-contrast tweak */
@media (prefers-contrast: more){
  :root{ --ec-focus: 3px solid #000; }
}

/* ------------------------------
   Banner shell (flotant, centrat)
------------------------------ */
.gdpr-banner{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: var(--z-gdpr);
  background: var(--ec-bg);         /* transparent */
  font-family: var(--ec-font);
  padding: 12px clamp(12px,3vw,20px) calc(12px + env(safe-area-inset-bottom));
  pointer-events: none;             /* ca să nu blocheze click-uri pe marginile laterale */
}

.gdpr-wrap{
  pointer-events: auto;
  width: min(100%, var(--ec-wrap-max));
  margin: 0 auto;
  padding: var(--ec-spacing);
  background: var(--ec-card);
  color: var(--ec-fg);
  border: 1px solid var(--ec-border);
  border-radius: var(--ec-radius);
  box-shadow: var(--ec-shadow);
  position: relative;
  overflow: clip;
}

/* Bară accent discretă sus */
.gdpr-wrap::before{
  content:"";
  position:absolute; left:0; right:0; top:0; height:3px;
  background: linear-gradient(90deg, rgba(34,197,94,.9), rgba(16,185,129,.7), rgba(59,130,246,.6));
}

/* ------------------------------
   Tipografie & layout intern
------------------------------ */
.gdpr-title{
  font-weight: 750;
  font-size: 17px;
  margin: 0 0 6px;
}

.gdpr-body{
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 10px;
  color: var(--ec-fg-muted);
}

.gdpr-flex{
  display: flex;
  gap: var(--ec-gap);
  flex-wrap: wrap;
  align-items: flex-start;
}

.gdpr-col{
  flex: 1 1 360px;     /* două coloane doar când încape în 720px */
  min-width: 260px;
}

/* ------------------------------
   Lista de categorii
------------------------------ */
.gdpr-list{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 14px;                 /* puțin mai compact */
  margin: 0 0 8px;
}

.gdpr-item{ display: contents; }

.gdpr-item label{
  font-size: 14px;
}
.gdpr-item small{
  display: block;
  font-size: 12px;
  color: #aab4e0;
  margin-top: 2px;
}

/* Switch */
.gdpr-switch{
  appearance: none;
  width: 42px; height: 24px;
  border-radius: 999px;
  background: var(--switch-bg);
  position: relative;
  outline: none;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.12);
  transition: background-color .18s ease, box-shadow .12s ease, transform .06s ease;
}
.gdpr-switch:before{
  content:"";
  position:absolute; left:2px; top:2px;
  width:18px; height:18px;
  border-radius:50%;
  background: var(--switch-knob);
  transition: transform .18s ease;
}
.gdpr-switch:checked{ background: var(--ec-accent); }
.gdpr-switch:checked:before{ transform: translateX(18px); }
.gdpr-switch:active{ transform: scale(.98); }
.gdpr-switch[disabled]{ opacity:.45; cursor:not-allowed; }

/* Focus accesibil */
.gdpr-switch:focus-visible,
.gdpr-btn:focus-visible,
.gdpr-link:focus-visible{
  outline: var(--ec-focus);
  outline-offset: 2px;
  border-radius: 8px;
}

/* ------------------------------
   Acțiuni
------------------------------ */
.gdpr-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.gdpr-btn{
  border: 0;
  border-radius: var(--ec-radius);
  padding: 10px 14px;
  font-weight: 650;
  font-size: 14px;
  cursor: pointer;
  transition: transform .06s ease, box-shadow .12s ease, background-color .12s ease, filter .12s ease;
  will-change: transform;
}
.gdpr-btn:active{ transform: translateY(1px); }

.gdpr-btn.primary{
  background: var(--ec-accent);
  color: var(--ec-accent-ink);
  box-shadow: 0 6px 16px rgba(34,197,94,.25);
}
.gdpr-btn.secondary{
  background: var(--ec-btn);
  color: var(--ec-fg);
  border: 1px solid var(--ec-border);
}
.gdpr-btn.ghost{
  background: transparent;
  color: #cbd5ff;
  border: 1px dashed var(--ec-border);
}

.gdpr-btn.primary:hover{ filter: brightness(1.03); }
.gdpr-btn.secondary:hover{ filter: brightness(1.05); }

/* Butoane full-width pe ecrane mici */
@media (max-width: 420px){
  .gdpr-actions{ gap: 6px }
  .gdpr-btn{ width: 100% }
}

/* Linkuri */
.gdpr-link{
  color: var(--ec-link);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Utilitare */
.gdpr-hidden{ display: none !important; }

/* Motion safety */
@media (prefers-reduced-motion: reduce){
  .gdpr-btn, .gdpr-switch, .gdpr-switch:before{ transition: none !important; }
}

/* Print: ascunde bannerul */
@media print{
  .gdpr-banner{ display: none !important; }
}
