/* PHF Consent banner — v0.2.0 CC-WO-02. White surfaces, brand tokens. */
.phfc, .phfc *{box-sizing:border-box}
.phfc{
  --nav:#0E0E29; --coral:#FF512F; --bd:#E8E4DF; --ink:#2b2721; --mut:#6b655d; --on:#639922;
  font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
.phfc-bar{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:99990;
  background:#fff; border:1px solid var(--bd); border-radius:14px;
  box-shadow:0 8px 30px rgba(14,14,41,.12);
  padding:16px 20px; display:none; gap:18px; align-items:center; justify-content:space-between; flex-wrap:wrap;
  transform:translateY(12px); opacity:0; transition:transform .2s ease-out, opacity .2s ease-out;
  max-width:960px; margin:0 auto;
}
.phfc-bar.phfc-open{display:flex; transform:translateY(0); opacity:1}
.phfc-copy{flex:1; min-width:240px}
.phfc-copy h2{margin:0 0 4px; font-family:'Syne',var(--nav),sans-serif; font-size:17px; font-weight:700; color:var(--nav)}
.phfc-copy p{margin:0; font-size:13px; line-height:1.55; color:var(--ink)}
.phfc-copy a{color:#993C1D; text-decoration:underline}
.phfc-actions{display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end}
.phfc-btn{font-family:inherit; font-size:13px; font-weight:500; border-radius:9px; padding:10px 16px; cursor:pointer; line-height:1; border:1px solid transparent}
.phfc-primary{background:var(--nav); color:#fff}
.phfc-primary:hover{background:#1a1a3d}
.phfc-outline{background:#fff; color:var(--nav); border:1px solid var(--nav)}   /* equal prominence to primary (GDPR) */
.phfc-outline:hover{background:#f4f3f0}
.phfc-link{background:none; color:var(--nav); text-decoration:underline; padding:10px 6px; border:none}
.phfc-btn:focus-visible{outline:2px solid var(--coral); outline-offset:2px}

.phfc-sheet{position:fixed; inset:0; z-index:99991; background:rgba(14,14,41,.45); display:flex; align-items:center; justify-content:center; padding:16px}
.phfc-sheet-inner{background:#fff; border-radius:16px; width:100%; max-width:480px; max-height:88vh; overflow:auto; padding:22px 22px 18px}
.phfc-sheet-inner h2{margin:0 0 2px; font-family:'Syne',sans-serif; font-size:19px; font-weight:700; color:var(--nav)}
.phfc-sheet-inner > p{margin:0 0 8px; font-size:13px; color:var(--ink)}
.phfc-sheet-inner > p a{color:#993C1D; text-decoration:underline}
.phfc-cat{display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:.5px solid var(--bd); margin:0; cursor:pointer}
.phfc-cat:last-of-type{border-bottom:none}
.phfc-cat b{display:block; color:var(--nav); font-size:13px; font-weight:500}
.phfc-cat small{color:var(--mut); font-size:12px}
.phfc-req{margin-left:auto; color:#888780; font-size:12px}
.phfc-check{position:absolute; opacity:0; width:0; height:0}
.phfc-tgl{width:38px; height:22px; border-radius:20px; background:#B4B2A9; position:relative; flex:none; transition:background .15s ease}
.phfc-tgl > span{position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; transition:left .15s ease}
.phfc-check:checked + .phfc-tgl{background:var(--on)}
.phfc-check:checked + .phfc-tgl > span{left:18px}
.phfc-check:focus-visible + .phfc-tgl{outline:2px solid var(--coral); outline-offset:2px}
.phfc-lock{background:#D3D1C7}
.phfc-lock > span{left:2px}
.phfc-sheet-actions{margin-top:14px; justify-content:flex-end}
.phfc-msg{margin-top:10px; font-size:12px}
.phfc-msg.phfc-err{color:#A32D2D}
.phfc-msg.phfc-ok{color:#3B6D11}

@media (max-width:600px){
  .phfc-bar{left:8px; right:8px; bottom:8px; padding:14px 16px}
  .phfc-actions{width:100%; flex-direction:column; align-items:stretch}
  .phfc-btn{width:100%; text-align:center; padding:12px 16px}
  .phfc-link{order:3}
  .phfc-sheet-actions{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  .phfc-bar{transition:none}
  .phfc-tgl, .phfc-tgl > span{transition:none}
}
