/* Clar Auto — bannerul și setările de cookie-uri (consent.js). Neutru față de temă: fontul vine din pagină,
   culorile din variabilele de mai jos, pe care tema (Fișa) le poate suprascrie.
   „Accept toate” și „Refuz toate” au ACELAȘI stil (fără tipare care împing spre accept).
   --cac-bottom: înălțimea barei fixe de jos a temei pe telefon (Sună / WhatsApp / Cere ofertă), ca bannerul
   să stea deasupra ei, nu peste ea. */
:root {
  --cac-accent: #CC202A;
  --cac-accent-ink: #ffffff;
  --cac-ink: #1d1a19;
  --cac-muted: #5b5552;
  --cac-bg: #ffffff;
  --cac-line: #e6dfdc;
  --cac-soft: #f7f3f1;
  --cac-radius: 10px;
  --cac-bottom: 0px;
  --cac-shadow: 0 -6px 28px rgba(29, 26, 25, .12);
}

/* subsolul (datele firmei, pictograma ANPC) rămâne derulabil deasupra bannerului */
html.cac-open body { padding-bottom: calc(var(--cac-space, 0px) + var(--cac-bottom)); }

.cac-banner, .cac-dialog { font: inherit; color: var(--cac-ink); line-height: 1.5; }
.cac-banner *, .cac-dialog * { box-sizing: border-box; }

.cac-banner {
  position: fixed; left: 0; right: 0; bottom: var(--cac-bottom); z-index: 2147483000;
  background: var(--cac-bg); border-top: 1px solid var(--cac-line); box-shadow: var(--cac-shadow);
  max-height: min(60vh, calc(100vh - 140px)); max-height: min(60dvh, calc(100dvh - 140px)); overflow: auto;
}
.cac-banner__in {
  max-width: 1180px; margin: 0 auto; padding: 18px 20px;
  display: grid; grid-template-columns: 1fr auto; gap: 8px 32px; align-items: center;
}
.cac-title { grid-column: 1; margin: 0; font-weight: 600; font-size: 1rem; }
.cac-text { margin: 0; font-size: .9375rem; color: var(--cac-muted); }
.cac-banner .cac-text { grid-column: 1; }
.cac-banner .cac-actions { grid-column: 2; grid-row: 1 / span 2; }
.cac-muted { color: var(--cac-muted); }
.cac-link { color: var(--cac-ink); text-decoration: underline; text-underline-offset: 2px; }
.cac-link:hover { color: var(--cac-accent); }

.cac-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.cac-btn {
  font: inherit; font-weight: 600; font-size: .9375rem; min-height: 44px; padding: 10px 18px;
  border-radius: var(--cac-radius); cursor: pointer; border: 2px solid var(--cac-accent);
  transition: background-color .15s ease, color .15s ease;
}
.cac-btn--solid { background: var(--cac-accent); color: var(--cac-accent-ink); }
.cac-btn--solid:hover { background: #a91a22; border-color: #a91a22; }
.cac-btn--line { background: transparent; color: var(--cac-ink); border-color: var(--cac-ink); }
.cac-btn--line:hover { background: var(--cac-soft); }
.cac-btn:focus-visible, .cac-x:focus-visible, .cac-link:focus-visible, .cac-switch input:focus-visible + .cac-switch__ui,
.cac-cat__more summary:focus-visible {
  outline: 3px solid var(--cac-ink); outline-offset: 2px;
}

@media (max-width: 760px) {
  .cac-banner__in { grid-template-columns: 1fr; padding: 16px; }
  .cac-banner .cac-actions { grid-column: 1; grid-row: auto; justify-content: stretch; }
  .cac-actions .cac-btn { flex: 1 1 140px; }
}

/* ── fereastra de setări ── */
.cac-dialog {
  width: min(640px, calc(100vw - 24px)); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px);
  padding: 0; border: 0; border-radius: 14px; background: var(--cac-bg); overflow: auto;
  box-shadow: 0 18px 60px rgba(29, 26, 25, .28);
}
.cac-dialog::backdrop { background: rgba(29, 26, 25, .45); }
.cac-dialog--fallback { position: fixed; inset: 12px; margin: auto; z-index: 2147483001; height: fit-content; }
.cac-dialog__form { padding: 22px 22px 18px; display: grid; gap: 14px; }
.cac-dialog__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cac-dialog__title { margin: 0; font-size: 1.25rem; font-weight: 600; }
.cac-x {
  width: 44px; height: 44px; border: 0; background: transparent; font-size: 1.75rem; line-height: 1;
  cursor: pointer; color: var(--cac-ink); border-radius: var(--cac-radius);
}
.cac-x:hover { background: var(--cac-soft); }

.cac-cat { margin: 0; padding: 14px 16px; border: 1px solid var(--cac-line); border-radius: var(--cac-radius); }
.cac-cat__head { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; padding: 0; float: left; }
.cac-cat__head + * { clear: both; }
.cac-cat__name { font-weight: 600; }
.cac-cat__always { font-size: .875rem; font-weight: 600; color: var(--cac-muted); }
.cac-cat__text { margin: 8px 0 0; font-size: .9375rem; color: var(--cac-muted); }
.cac-cat__more { margin-top: 8px; font-size: .875rem; }
.cac-cat__more summary { cursor: pointer; min-height: 32px; display: inline-flex; align-items: center; text-decoration: underline; }
.cac-table { width: 100%; border-collapse: collapse; margin-top: 8px; }
.cac-table th, .cac-table td { text-align: left; vertical-align: top; padding: 6px 8px; border-top: 1px solid var(--cac-line); }
.cac-table thead th { border-top: 0; color: var(--cac-muted); font-weight: 600; }
.cac-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 500; white-space: nowrap; }
@media (max-width: 560px) {
  .cac-table thead { display: none; }
  .cac-table tr { display: block; padding: 6px 0; border-top: 1px solid var(--cac-line); }
  .cac-table th, .cac-table td { display: block; border: 0; padding: 2px 0; }
}

/* comutatorul: un checkbox real (tastatură, cititor de ecran), desenat ca întrerupător */
.cac-switch { position: relative; display: inline-flex; align-items: center; min-width: 52px; min-height: 44px; cursor: pointer; }
.cac-switch input { position: absolute; inset: 0; z-index: 1; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.cac-switch__ui {
  width: 46px; height: 26px; border-radius: 13px; background: #7a706b; position: relative; pointer-events: none;
  transition: background-color .15s ease;
}
.cac-switch__ui::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%;
  background: #fff; transition: transform .15s ease; box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}
.cac-switch input:checked + .cac-switch__ui { background: var(--cac-accent); }
.cac-switch input:checked + .cac-switch__ui::after { transform: translateX(20px); }

.cac-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  .cac-btn, .cac-switch__ui, .cac-switch__ui::after { transition: none; }
}
