/**
 * dprint — Cookie/GDPR súhlasový panel.
 * Súlad: § 109 ods. 8 zák. 452/2021 Z. z. (predchádzajúci súhlas, opt-in),
 * GDPR 2016/679 + zák. 18/2018, usmernenie ÚOOÚ / Úradu pre reguláciu el. komunikácií:
 *   - „Odmietnuť všetko" rovnako viditeľné ako „Prijať všetko" (1. vrstva),
 *   - granularita (kategórie), nevyhnutné vždy aktívne, ostatné default OFF,
 *   - možnosť súhlas kedykoľvek zmeniť/odvolať.
 * Brand tokeny zhodné so shop.css / legal.css.
 */

:root {
  --dpc-accent:  var(--dp-accent, #5BC4BC);
  --dpc-accent-h:var(--dp-accent-h, #3a9e97);
  --dpc-primary: var(--dp-primary, #024959);
  --dpc-primary-h:var(--dp-primary-h, #013845);
  --dpc-border:  var(--dp-border, #e3edec);
  --dpc-text:    var(--dp-text, #3B3B3B);
  --dpc-muted:   var(--dp-text-muted, #7A7A7A);
  --dpc-radius:  18px;
  --dpc-shadow:  0 10px 40px rgba(2, 73, 89, .18);
}

.dprint-cc { font-family: "Noto Sans", sans-serif; color: var(--dpc-text); box-sizing: border-box; }
.dprint-cc *, .dprint-cc *::before, .dprint-cc *::after { box-sizing: border-box; }
.dprint-cc[hidden] { display: none !important; }

/* ── Prvá vrstva: banner dole ─────────────────────────────────────────────── */
.dprint-cc-banner {
  position: fixed;
  left: 16px; right: 16px; bottom: 16px;
  z-index: 2147483000;               /* nad Elementor fixed hlavičkou aj widgetmi */
  max-width: 1140px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--dpc-border);
  border-top: 4px solid var(--dpc-accent);
  border-radius: var(--dpc-radius);
  box-shadow: var(--dpc-shadow);
  padding: 22px 26px;
  display: flex;
  align-items: center;
  gap: 20px 28px;
  flex-wrap: wrap;
  animation: dpc-rise .28s ease both;
}
@keyframes dpc-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .dprint-cc-banner { animation: none; } }

.dprint-cc-banner__text { flex: 1 1 420px; min-width: 260px; }
.dprint-cc-banner__title {
  font-family: Inter, sans-serif;
  font-weight: 900; font-style: italic; text-transform: uppercase;
  color: var(--dpc-primary);
  font-size: 18px; letter-spacing: -.3px;
  margin: 0 0 6px;
}
.dprint-cc-banner__desc { font-size: 14px; line-height: 1.6; color: var(--dpc-text); margin: 0; }
.dprint-cc-banner__desc a { color: var(--dpc-primary); text-decoration: underline; }
.dprint-cc-banner__desc a:hover { color: var(--dpc-accent-h); }

.dprint-cc-banner__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  flex: 0 0 auto;
}

/* ── Tlačidlá ──────────────────────────────────────────────────────────────── */
/* POZOR: farby s !important — globálny button/link štýl témy ich inak prebíja
   (núti transparentné pozadie + ružový text; rovnaký bug ako kedysi .dprint-btn). */
.dprint-cc-btn {
  font-family: Inter, sans-serif;
  font-weight: 900; font-style: italic; text-transform: uppercase;
  font-size: 14px; letter-spacing: .2px;
  border: 2px solid transparent;
  border-radius: var(--dpc-radius);
  padding: 12px 22px;
  cursor: pointer;
  line-height: 1;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
  white-space: nowrap;
}
.dprint-cc-btn:focus-visible { outline: 3px solid var(--dpc-accent); outline-offset: 2px; }

/* „Prijať" a „Odmietnuť" MUSIA byť rovnako výrazné (equal prominence) */
.dprint-cc-btn--accept { background: var(--dpc-accent) !important; color: #fff !important; border-color: var(--dpc-accent) !important; }
.dprint-cc-btn--accept:hover { background: var(--dpc-accent-h) !important; border-color: var(--dpc-accent-h) !important; }
.dprint-cc-btn--reject { background: var(--dpc-primary) !important; color: #fff !important; border-color: var(--dpc-primary) !important; }
.dprint-cc-btn--reject:hover { background: var(--dpc-primary-h) !important; border-color: var(--dpc-primary-h) !important; }

/* „Nastavenia" ako rovnocenná, ale vizuálne odlíšená voľba (obrys) */
.dprint-cc-btn--settings { background: #fff !important; color: var(--dpc-primary) !important; border-color: var(--dpc-border) !important; }
.dprint-cc-btn--settings:hover { border-color: var(--dpc-accent) !important; color: var(--dpc-accent-h) !important; }

/* ── Druhá vrstva: modálne nastavenia ─────────────────────────────────────── */
.dprint-cc-modal {
  position: fixed; inset: 0;
  z-index: 2147483600;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.dprint-cc-modal__overlay { position: absolute; inset: 0; background: rgba(2, 24, 30, .55); }
.dprint-cc-modal__box {
  position: relative;
  background: #fff;
  border-radius: var(--dpc-radius);
  border-top: 4px solid var(--dpc-accent);
  box-shadow: var(--dpc-shadow);
  width: 100%; max-width: 640px;
  max-height: 88vh; overflow-y: auto;
  padding: 34px 34px 26px;
  animation: dpc-rise .24s ease both;
}
.dprint-cc-modal__title {
  font-family: Inter, sans-serif;
  font-weight: 900; font-style: italic; text-transform: uppercase;
  color: var(--dpc-primary);
  font-size: 24px; letter-spacing: -.3px;
  margin: 0 0 8px;
}
.dprint-cc-modal__intro { font-size: 14px; line-height: 1.65; color: var(--dpc-muted); margin: 0 0 20px; }
.dprint-cc-modal__intro a { color: var(--dpc-primary); text-decoration: underline; }

/* Kategórie */
.dprint-cc-cat {
  border: 1px solid var(--dpc-border);
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 12px;
}
.dprint-cc-cat__head {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
}
.dprint-cc-cat__name { font-family: Inter, sans-serif; font-weight: 700; font-style: italic; color: var(--dpc-primary); font-size: 16px; }
.dprint-cc-cat__desc { font-size: 13.5px; line-height: 1.6; color: var(--dpc-muted); margin: 10px 0 0; }

/* Prepínač (switch) */
.dprint-cc-switch { position: relative; flex: 0 0 auto; width: 48px; height: 28px; }
.dprint-cc-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.dprint-cc-switch__slider {
  position: absolute; inset: 0; background: #cfd8d7; border-radius: 28px;
  transition: background .2s ease;
}
.dprint-cc-switch__slider::before {
  content: ""; position: absolute; left: 3px; top: 3px;
  width: 22px; height: 22px; background: #fff; border-radius: 50%;
  transition: transform .2s ease; box-shadow: 0 1px 3px rgba(0,0,0,.25);
}
.dprint-cc-switch input:checked + .dprint-cc-switch__slider { background: var(--dpc-accent); }
.dprint-cc-switch input:checked + .dprint-cc-switch__slider::before { transform: translateX(20px); }
.dprint-cc-switch input:focus-visible + .dprint-cc-switch__slider { outline: 3px solid var(--dpc-accent); outline-offset: 2px; }
/* Nevyhnutné — vždy zapnuté, zamknuté */
.dprint-cc-switch input:disabled { cursor: not-allowed; }
.dprint-cc-switch input:disabled + .dprint-cc-switch__slider { background: var(--dpc-accent); opacity: .5; }
.dprint-cc-cat__always { font-family: Inter, sans-serif; font-weight: 700; font-style: italic; font-size: 12.5px; color: var(--dpc-accent-h); white-space: nowrap; }

.dprint-cc-modal__actions {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--dpc-border);
}
.dprint-cc-modal__actions .dprint-cc-btn { flex: 1 1 auto; text-align: center; }

/* ── Trvalý reopen odkaz v pätičkovom právnom pruhu ───────────────────────── */
.dprint-footer-legal__links button.dprint-cc-reopen {
  background: none; border: none; padding: 0;
  color: rgba(255,255,255,.82) !important;
  font-family: "Noto Sans", sans-serif; font-size: 13.5px;
  cursor: pointer; text-decoration: none;
}
.dprint-footer-legal__links button.dprint-cc-reopen:hover { color: var(--dpc-accent) !important; text-decoration: underline; }

@media (max-width: 720px) {
  .dprint-cc-banner { padding: 20px; gap: 16px; }
  .dprint-cc-banner__actions { width: 100%; }
  .dprint-cc-banner__actions .dprint-cc-btn { flex: 1 1 auto; text-align: center; }
  .dprint-cc-modal__box { padding: 26px 20px 20px; }
}
@media (max-width: 480px) {
  /* Na malom displeji sa 3 tlačidlá pod sebou (každé na vlastnom riadku) natiahnu
     na ~330px výšku a prekryjú obsah pod nimi (napr. hero CTA na úvodnej stránke —
     namerané prekrytie ~29px, audit mobilu 2026-09-13). Prijať/Odmietnuť vedľa seba
     (rovnako veľké, teda zachovaná rovnaká výraznosť), Nastavenia pod nimi celou šírkou. */
  .dprint-cc-banner { padding: 16px; }
  .dprint-cc-banner__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
  }
  .dprint-cc-banner__actions .dprint-cc-btn {
    flex: none;
    min-height: 44px;
    padding: 10px 8px;
    font-size: 12.5px;
  }
  .dprint-cc-banner__actions .dprint-cc-btn--settings {
    grid-column: 1 / -1;
  }
}
