/* =========================================================
   ZGODA COOKIES (RODO/ePrivacy) — modal blokujący do wyboru.
   Czytelny, responsywny; na mobile NIE zajmuje całego ekranu.
   ========================================================= */
.tlcc-overlay{
  position:fixed; inset:0; z-index:5000; display:none;
  background:rgba(20,30,34,.55); backdrop-filter:saturate(.9) blur(2px);
  align-items:center; justify-content:center; padding:18px;
}
.tlcc-overlay.show{ display:flex; }
.tlcc{
  background:#fff; border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.35);
  max-width:560px; width:100%; max-height:88vh; overflow:auto; padding:28px 28px 24px;
  font-family:'Source Sans 3',sans-serif;
}
.tlcc h2{ font-family:'Fraunces',serif; color:#1e3943; font-size:1.45rem; margin:0 0 8px; }
.tlcc p{ color:#4a565a; font-size:1rem; line-height:1.6; margin:0 0 14px; }
.tlcc a{ color:#9c7a48; font-weight:700; text-decoration:underline; }
.tlcc-prefs{ display:flex; flex-direction:column; gap:10px; margin:6px 0 16px; }
.tlcc-cat{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  border:1px solid #e6e9e3; border-radius:12px; padding:13px 15px; background:#f6f8f5;
}
.tlcc-cat b{ color:#1e3943; display:block; font-size:1.02rem; }
.tlcc-cat small{ color:#4a565a; display:block; font-size:.9rem; }
.tlcc-sw{ position:relative; width:48px; height:28px; flex-shrink:0; }
.tlcc-sw input{ position:absolute; opacity:0; width:0; height:0; }
.tlcc-sw .track{ position:absolute; inset:0; background:#cdd3cd; border-radius:30px; transition:.2s; cursor:pointer; }
.tlcc-sw .track::before{ content:""; position:absolute; width:22px; height:22px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.tlcc-sw input:checked + .track{ background:#42707b; }
.tlcc-sw input:checked + .track::before{ transform:translateX(20px); }
.tlcc-sw input:disabled + .track{ background:#b08d57; opacity:.7; cursor:not-allowed; }
.tlcc-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.tlcc-actions .tlcc-btn{
  flex:1 1 auto; min-width:140px; text-align:center; justify-content:center;
  display:inline-flex; align-items:center; gap:8px; padding:14px 18px; border-radius:12px;
  font-weight:700; font-size:1.02rem; cursor:pointer; border:2px solid transparent; transition:.18s;
}
.tlcc-btn.gold{ background:#b08d57; color:#fff; }
.tlcc-btn.gold:hover{ background:#9c7a48; }
.tlcc-btn.ghost{ background:#fff; border-color:#1e3943; color:#1e3943; }
.tlcc-btn.ghost:hover{ background:#eef3ef; }
.tlcc-btn.green{ background:#1e3943; color:#fff; }
.tlcc-foot{ margin-top:14px; font-size:.85rem; color:#7c878b; }
.tlcc-settings-link{ cursor:pointer; }

@media(max-width:560px){
  .tlcc-overlay{ align-items:flex-end; padding:0; }
  .tlcc{ max-width:100%; border-radius:18px 18px 0 0; max-height:86vh; padding:22px 18px 18px; }
  .tlcc-actions .tlcc-btn{ flex:1 1 100%; }
}
@media(prefers-reduced-motion:reduce){ .tlcc-overlay{ backdrop-filter:none; } }

/* poprawka: atrybut hidden ma działać mimo display:flex */
.tlcc [hidden]{ display:none !important; }
