/* ============================================================
   PNG Valley — Cookie Consent UI
   assets/css/cookie-consent.css
   ============================================================ */

/* ── Banner ─────────────────────────────────────────────── */
#pv-cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9000;
  background:linear-gradient(135deg,#060D06 0%,#0A1A0A 60%,#0F1F0F 100%);
  border-top:1px solid rgba(79,181,80,0.25);padding:20px 24px;
  box-shadow:0 -4px 32px rgba(0,0,0,0.45);font-family:'Inter',sans-serif;display:none}
#pv-cookie-banner.pv-cc-visible{display:block}
.pv-cc-banner-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;
  gap:24px;flex-wrap:wrap}
.pv-cc-banner-text{flex:1;min-width:240px}
.pv-cc-banner-text p{font-size:13px;color:rgba(148,163,184,0.9);margin:0;line-height:1.6}
.pv-cc-banner-text a{color:#4FB550;text-decoration:none;font-weight:600}
.pv-cc-banner-text a:hover{text-decoration:underline}
.pv-cc-banner-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;flex-shrink:0}

/* ── Button base ─────────────────────────────────────────── */
.pv-cc-btn{font-family:'Inter',sans-serif;font-size:13px;font-weight:600;border:none;
  border-radius:9px;padding:10px 18px;cursor:pointer;white-space:nowrap;min-height:40px;
  transition:background .2s,transform .15s;display:inline-flex;align-items:center;
  justify-content:center}
.pv-cc-btn:focus-visible{outline:3px solid #4FB550;outline-offset:3px}
.pv-cc-btn:active{transform:translateY(1px)}
.pv-cc-btn-accept{background:#4FB550;color:#fff}
.pv-cc-btn-accept:hover{background:#3d8c40}
.pv-cc-btn-reject{background:rgba(255,255,255,0.06);color:#CBD5E1;
  border:1px solid rgba(255,255,255,0.12)}
.pv-cc-btn-reject:hover{background:rgba(255,255,255,0.11);color:#fff}
.pv-cc-btn-manage{background:transparent;color:#4FB550;
  border:1.5px solid rgba(79,181,80,0.4)}
.pv-cc-btn-manage:hover{background:rgba(79,181,80,0.08);border-color:#4FB550}

/* ── Modal overlay ───────────────────────────────────────── */
#pv-cookie-modal{position:fixed;inset:0;z-index:9100;background:rgba(0,0,0,0.68);
  display:none;align-items:center;justify-content:center;padding:16px;
  backdrop-filter:blur(4px)}
#pv-cookie-modal.pv-cc-visible{display:flex}
.pv-cc-modal-box{background:linear-gradient(135deg,#060D06 0%,#0A1A0A 70%,#0F1F0F 100%);
  border:1px solid rgba(79,181,80,0.22);border-radius:20px;width:100%;max-width:540px;
  max-height:90vh;display:flex;flex-direction:column;
  box-shadow:0 24px 64px rgba(0,0,0,0.6);overflow:hidden}
.pv-cc-modal-header{padding:24px 28px 0;display:flex;align-items:flex-start;
  justify-content:space-between;gap:16px;flex-shrink:0}
.pv-cc-modal-title{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:20px;
  font-weight:800;color:#fff;margin:0;letter-spacing:-.3px}
.pv-cc-modal-close{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;color:#94A3B8;width:36px;height:36px;cursor:pointer;display:flex;
  align-items:center;justify-content:center;font-size:18px;flex-shrink:0;
  transition:background .18s,color .18s;font-family:'Inter',sans-serif}
.pv-cc-modal-close:hover{background:rgba(255,255,255,0.13);color:#fff}
.pv-cc-modal-close:focus-visible{outline:3px solid #4FB550;outline-offset:3px}
.pv-cc-modal-body{padding:20px 28px;overflow-y:auto;flex:1}
.pv-cc-modal-intro{font-size:13px;color:rgba(148,163,184,0.85);margin:0 0 20px;line-height:1.6}
.pv-cc-modal-intro a{color:#4FB550;text-decoration:none;font-weight:600}
.pv-cc-modal-intro a:hover{text-decoration:underline}

/* ── Category rows ───────────────────────────────────────── */
.pv-cc-category{background:rgba(255,255,255,0.04);border:1px solid rgba(79,181,80,0.1);
  border-radius:12px;padding:16px 18px;margin-bottom:10px;display:flex;
  align-items:flex-start;gap:14px}
.pv-cc-category:last-child{margin-bottom:0}
.pv-cc-cat-text{flex:1}
.pv-cc-cat-name{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:14px;
  font-weight:700;color:#fff;margin:0 0 4px;display:flex;align-items:center;gap:8px}
.pv-cc-cat-desc{font-size:12px;color:rgba(148,163,184,0.8);margin:0;line-height:1.55}
.pv-cc-always{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#4FB550;background:rgba(79,181,80,0.12);border:1px solid rgba(79,181,80,0.28);
  padding:2px 8px;border-radius:100px;white-space:nowrap}

/* ── Toggle switch ───────────────────────────────────────── */
.pv-cc-toggle-wrap{flex-shrink:0;display:flex;align-items:center;padding-top:2px}
.pv-cc-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.pv-cc-toggle input{position:absolute;opacity:0;width:0;height:0}
.pv-cc-toggle-track{width:44px;height:24px;background:rgba(255,255,255,0.12);
  border-radius:100px;position:relative;transition:background .22s;
  border:1.5px solid rgba(255,255,255,0.15)}
.pv-cc-toggle-track::after{content:'';position:absolute;width:16px;height:16px;
  background:#94A3B8;border-radius:50%;top:50%;left:3px;transform:translateY(-50%);
  transition:left .22s,background .22s}
.pv-cc-toggle input:checked+.pv-cc-toggle-track{background:#4FB550;border-color:#4FB550}
.pv-cc-toggle input:checked+.pv-cc-toggle-track::after{left:21px;background:#fff}
.pv-cc-toggle input:focus-visible+.pv-cc-toggle-track{outline:3px solid #4FB550;outline-offset:3px}
/* [ADDED] Essential toggle — permanently on, visually disabled/read-only.
   Scoped only to the Essential row via its existing unique markers
   (input[disabled] and the aria-hidden="true" wrapper) — Analytics and
   Advertising toggles are untouched since neither has these attributes. */
.pv-cc-toggle-wrap[aria-hidden="true"] .pv-cc-toggle{cursor:not-allowed}
.pv-cc-toggle input:disabled+.pv-cc-toggle-track{opacity:.55;cursor:not-allowed}

/* ── Modal footer ────────────────────────────────────────── */
.pv-cc-modal-footer{padding:18px 28px 24px;border-top:1px solid rgba(79,181,80,0.1);
  display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.pv-cc-btn-save{background:#4FB550;color:#fff;flex:1;min-width:120px}
.pv-cc-btn-save:hover{background:#3d8c40}
.pv-cc-btn-modal-reject{background:rgba(255,255,255,0.06);color:#CBD5E1;
  border:1px solid rgba(255,255,255,0.1)}
.pv-cc-btn-modal-reject:hover{background:rgba(255,255,255,0.11);color:#fff}

/* ── Responsive ──────────────────────────────────────────── */
@media(max-width:600px){
  #pv-cookie-banner{padding:16px}
  .pv-cc-banner-inner{flex-direction:column;align-items:stretch;gap:14px}
  .pv-cc-banner-actions{flex-direction:column;gap:8px}
  .pv-cc-btn{width:100%;justify-content:center}
  .pv-cc-modal-box{max-height:88vh;border-radius:16px}
  .pv-cc-modal-header,.pv-cc-modal-body,.pv-cc-modal-footer{padding-left:18px;padding-right:18px}
  .pv-cc-modal-footer{flex-direction:column}
  .pv-cc-btn-save,.pv-cc-btn-modal-reject{width:100%}
}
@media(max-width:360px){
  .pv-cc-banner-text p{font-size:12px}
  .pv-cc-btn{font-size:12px;padding:9px 14px}
}