/* Cookie consent banner, preferences dialog, legal pages and form notices (Request 6).
   Colours come from the active CMS theme (CSS variables from lib/brand.php). */
.pc-banner,.pc-prefs,.pc-toast,.pc-legal{font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;color:rgb(var(--c-primary-900))}
.pc-banner[hidden],.pc-backdrop[hidden],.pc-toast[hidden],[data-gpc-note][hidden],[data-consent-id][hidden]{display:none}

/* ---------------------------------------------------------------- buttons */
.pc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;padding:0 1.15rem;border-radius:.85rem;border:1.5px solid transparent;font:inherit;font-size:.85rem;font-weight:800;line-height:1.1;cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s;white-space:nowrap}
.pc-btn:hover{transform:translateY(-1px)}
.pc-btn:focus-visible,.pc-x:focus-visible,.pc-switch input:focus-visible+.pc-switch-track,.pc-banner a:focus-visible,.pc-prefs a:focus-visible,.pc-cat-details summary:focus-visible{outline:3px solid rgb(var(--c-secondary-500));outline-offset:2px}
.pc-btn-primary{background:rgb(var(--c-primary-900));color:#fff}
.pc-btn-primary:hover{background:rgb(var(--c-primary-950))}
.pc-btn-outline{background:#fff;color:rgb(var(--c-primary-900));border-color:rgb(var(--c-primary-900))}
.pc-btn-outline:hover{background:rgb(var(--c-primary-50))}
.pc-btn-ghost{background:transparent;color:rgb(var(--c-primary-900));text-decoration:underline;text-underline-offset:3px;padding:0 .6rem}
.pc-btn-ghost:hover{background:rgb(var(--c-primary-50))}
@media (prefers-reduced-motion:reduce){.pc-btn,.pc-banner,.pc-switch-thumb,.pc-switch-track{transition:none!important}.pc-btn:hover{transform:none}}

/* ---------------------------------------------------------------- banner */
.pc-banner{position:fixed;z-index:70;background:#fff;border:1px solid rgb(var(--c-primary-200));box-shadow:0 -10px 40px -12px rgb(var(--c-primary-950)/.35);opacity:0;transform:translateY(16px);transition:opacity .25s ease,transform .25s ease}
.pc-banner.pc-in{opacity:1;transform:none}
.pc-banner-inner{display:flex;align-items:center;gap:1.25rem;max-width:80rem;margin:0 auto;padding:1.1rem 1.5rem}
.pc-banner-icon{flex:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.9rem;background:rgb(var(--c-secondary-50));color:rgb(var(--c-secondary-800));font-size:1.15rem}
.pc-banner-text{flex:1;min-width:0}
.pc-banner-title{margin:0 0 .2rem;font-size:1rem;font-weight:800}
.pc-banner-body{margin:0;font-size:.85rem;line-height:1.55;color:rgb(var(--c-neutral-600))}
.pc-banner-links{margin:.35rem 0 0;display:flex;gap:.5rem;font-size:.8rem;font-weight:700}
.pc-banner-links a,.pc-prefs-links a{color:rgb(var(--c-primary-900));text-decoration:underline;text-underline-offset:2px}
.pc-banner-actions{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
/* layout: bar (full width, bottom) */
.pc-layout-bar{left:0;right:0;bottom:0;border-width:1px 0 0}
/* layout: box (bottom-left card) */
.pc-layout-box{left:1.25rem;bottom:1.25rem;width:26rem;max-width:calc(100vw - 2.5rem);border-radius:1.25rem}
.pc-layout-box .pc-banner-inner{flex-direction:column;align-items:stretch;padding:1.25rem}
.pc-layout-box .pc-banner-icon{display:none}
.pc-layout-box .pc-banner-actions{display:grid;grid-template-columns:1fr 1fr}
.pc-layout-box .pc-banner-actions [data-consent=customize]{grid-column:1/-1;order:3}
/* layout: modal (centred card + dimmed page) */
.pc-layout-modal{left:50%;top:50%;bottom:auto;width:34rem;max-width:calc(100vw - 2rem);border-radius:1.5rem;transform:translate(-50%,-46%)}
.pc-layout-modal.pc-in{transform:translate(-50%,-50%)}
.pc-layout-modal .pc-banner-inner{flex-direction:column;align-items:stretch;text-align:left;padding:1.5rem}
.pc-layout-modal .pc-banner-actions{display:grid;grid-template-columns:1fr 1fr}
.pc-layout-modal .pc-banner-actions [data-consent=customize]{grid-column:1/-1;order:3}
.pc-backdrop{position:fixed;inset:0;z-index:69;background:rgb(var(--c-primary-950)/.55)}
@media (max-width:900px){
  .pc-layout-bar .pc-banner-inner{flex-direction:column;align-items:stretch;gap:.85rem;padding:1rem 1.1rem calc(1rem + env(safe-area-inset-bottom))}
  .pc-layout-bar .pc-banner-icon{display:none}
  .pc-layout-bar .pc-banner-actions{display:grid;grid-template-columns:1fr 1fr}
  .pc-layout-bar .pc-banner-actions [data-consent=customize]{grid-column:1/-1;order:3}
}
@media (max-width:480px){.pc-layout-box{left:.75rem;right:.75rem;bottom:.75rem;width:auto}}
/* keep the floating widgets above the banner while it is open */
html.pc-banner-open .sv-root{bottom:var(--pc-banner-h,1.25rem)}

/* ---------------------------------------------------------------- preferences dialog */
.pc-prefs{width:40rem;max-width:calc(100vw - 1.5rem);max-height:calc(100vh - 2rem);padding:0;border:0;border-radius:1.5rem;background:#fff;box-shadow:0 30px 60px -15px rgb(var(--c-primary-950)/.5);overflow:hidden}
.pc-prefs[open]{display:flex}
.pc-prefs::backdrop{background:rgb(var(--c-primary-950)/.6)}
.pc-prefs-form{display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 2rem);margin:0}
.pc-prefs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;background:rgb(var(--c-primary-900));color:#fff}
.pc-eyebrow{margin:0 0 .25rem;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--c-secondary-300))}
.pc-prefs-title{margin:0;font-size:1.2rem;font-weight:800;line-height:1.3;color:#fff}
.pc-x{flex:none;width:2.4rem;height:2.4rem;border-radius:.75rem;border:0;background:rgb(255 255 255/.14);color:#fff;font-size:1rem;cursor:pointer}
.pc-x:hover{background:rgb(255 255 255/.24)}
.pc-prefs-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;font-size:.85rem;line-height:1.55}
.pc-prefs-intro{margin:0 0 1rem;color:rgb(var(--c-neutral-600))}
.pc-gpc-note{margin:0 0 1rem;padding:.65rem .85rem;border-radius:.75rem;background:rgb(var(--c-secondary-50));color:rgb(var(--c-secondary-900));font-weight:600}
.pc-cat{padding:1rem;border:1px solid rgb(var(--c-neutral-200));border-radius:1rem;margin-bottom:.75rem}
.pc-cat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.pc-cat-title{margin:0 0 .2rem;font-size:.95rem;font-weight:800}
.pc-cat-desc{margin:0;color:rgb(var(--c-neutral-600))}
.pc-always{flex:none;padding:.3rem .65rem;border-radius:999px;background:rgb(var(--c-primary-50));color:rgb(var(--c-primary-900));font-size:.72rem;font-weight:800;white-space:nowrap}
.pc-switch{position:relative;flex:none;display:flex;align-items:center;gap:.5rem;cursor:pointer}
.pc-switch input{position:absolute;opacity:0;width:1px;height:1px}
.pc-switch-track{position:relative;width:2.9rem;height:1.65rem;border-radius:999px;background:rgb(var(--c-neutral-300));transition:background-color .2s}
.pc-switch-thumb{position:absolute;top:.2rem;left:.2rem;width:1.25rem;height:1.25rem;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgb(0 0 0/.3);transition:transform .2s}
.pc-switch input:checked+.pc-switch-track{background:rgb(var(--c-primary-900))}
.pc-switch input:checked+.pc-switch-track .pc-switch-thumb{transform:translateX(1.25rem)}
.pc-switch-state{min-width:1.6rem;font-size:.75rem;font-weight:800;color:rgb(var(--c-neutral-600))}
.pc-switch-state::after{content:attr(data-off)}
.pc-switch input:checked~.pc-switch-state::after{content:attr(data-on);color:rgb(var(--c-primary-900))}
.pc-cat-details{margin-top:.65rem}
.pc-cat-details summary{cursor:pointer;font-size:.78rem;font-weight:700;color:rgb(var(--c-primary-900));width:max-content;max-width:100%}
.pc-items{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.5rem}
.pc-items li{padding:.65rem .75rem;border-radius:.75rem;background:rgb(var(--c-neutral-50));border:1px solid rgb(var(--c-neutral-200))}
.pc-items p{margin:.25rem 0 0;font-size:.78rem}
.pc-item-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;font-size:.75rem;font-weight:700;color:rgb(var(--c-neutral-600))}
.pc-item-top code,.pc-table code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;font-weight:700;color:rgb(var(--c-primary-900));background:rgb(var(--c-primary-50));padding:.1rem .35rem;border-radius:.35rem}
.pc-muted{color:rgb(var(--c-neutral-600))}
.pc-prefs-links{margin:.5rem 0 0;font-size:.78rem;font-weight:700}
.pc-prefs-id{margin:.5rem 0 0;font-size:.72rem;color:rgb(var(--c-neutral-600));word-break:break-word}
.pc-prefs-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid rgb(var(--c-neutral-200));background:rgb(var(--c-neutral-50))}
@media (max-width:560px){
  .pc-prefs{max-width:100vw;width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}
  .pc-prefs-form{max-height:100dvh;height:100%}
  .pc-prefs-foot{display:grid;grid-template-columns:1fr 1fr;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}
  .pc-prefs-foot [data-consent=save]{grid-column:1/-1;order:3}
}
html.pc-prefs-open{overflow:hidden}

/* ---------------------------------------------------------------- toast */
.pc-toast{position:fixed;left:50%;bottom:1.5rem;z-index:80;transform:translateX(-50%);max-width:calc(100vw - 2rem);padding:.7rem 1.1rem;border-radius:.9rem;background:rgb(var(--c-primary-950));color:#fff;font-size:.82rem;font-weight:700;box-shadow:0 15px 35px -10px rgb(0 0 0/.45)}

/* ---------------------------------------------------------------- privacy notice on forms */
.pc-form-consent{display:flex;align-items:flex-start;gap:.6rem;font-size:.78rem;line-height:1.5;font-weight:600}
.pc-form-consent input[type=checkbox]{flex:none;width:1.1rem;height:1.1rem;margin-top:.1rem;accent-color:rgb(var(--c-secondary-500));cursor:pointer}
.pc-form-consent label{cursor:pointer}
.pc-form-light{color:rgb(var(--c-neutral-600))}
.pc-form-light .pc-form-link{color:rgb(var(--c-primary-900));font-weight:800;text-decoration:underline;text-underline-offset:2px}
.pc-form-dark{color:rgb(226 232 240)}
.pc-form-dark .pc-form-link{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.pc-form-notice{margin:0;display:block}

/* ---------------------------------------------------------------- legal pages */
.pc-legal{padding:3rem 0 4rem;background:rgb(var(--c-neutral-50))}
.pc-legal-wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem;display:grid;grid-template-columns:15rem minmax(0,1fr);gap:2.5rem;align-items:start}
.pc-legal-nav{position:sticky;top:7rem;display:grid;gap:1rem}
.pc-legal-card{background:#fff;border:1px solid rgb(var(--c-neutral-200));border-radius:1.25rem;padding:1rem}
.pc-legal-card h2,.pc-legal-card p.pc-legal-card-title{margin:0 0 .5rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--c-neutral-600))}
.pc-legal-docs,.pc-legal-toc{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.pc-legal-docs a,.pc-legal-toc a{display:block;padding:.4rem .55rem;border-radius:.6rem;font-size:.82rem;font-weight:700;color:rgb(var(--c-primary-900));text-decoration:none}
.pc-legal-docs a:hover,.pc-legal-toc a:hover{background:rgb(var(--c-primary-50))}
.pc-legal-docs a[aria-current=page]{background:rgb(var(--c-primary-900));color:#fff}
.pc-legal-toc a{font-weight:600;font-size:.8rem;color:rgb(var(--c-neutral-600))}
.pc-legal-toc a.pc-active{color:rgb(var(--c-primary-900));background:rgb(var(--c-primary-50));font-weight:800}
.pc-legal-main{background:#fff;border:1px solid rgb(var(--c-neutral-200));border-radius:1.5rem;padding:2.25rem 2.5rem;min-width:0}
.pc-legal-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.pc-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:999px;background:rgb(var(--c-primary-50));color:rgb(var(--c-primary-900));font-size:.72rem;font-weight:800}
.pc-summary{display:flex;gap:.85rem;padding:1rem 1.15rem;margin-bottom:1.5rem;border-radius:1rem;background:rgb(var(--c-secondary-50));border:1px solid rgb(var(--c-secondary-200));color:rgb(var(--c-secondary-950));font-size:.9rem;line-height:1.6;font-weight:600}
.pc-summary i{margin-top:.2rem;color:rgb(var(--c-secondary-800))}
.pc-prose{font-size:.95rem;line-height:1.75;color:rgb(51 65 85)}
.pc-prose h2{scroll-margin-top:7rem;margin:2.25rem 0 .75rem;padding-top:1.5rem;border-top:1px solid rgb(var(--c-neutral-200));font-size:1.35rem!important;color:rgb(var(--c-primary-900))!important}
.pc-prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.pc-prose h3{margin:1.5rem 0 .5rem;font-size:1.05rem!important;color:rgb(var(--c-primary-900))!important}
.pc-prose p{margin:0 0 .9rem}
.pc-prose ul,.pc-prose ol{margin:0 0 1rem}
.pc-prose li{margin:.3rem 0}
.pc-prose strong{color:rgb(var(--c-primary-900))}
.pc-prose a:not(.pc-btn){color:rgb(var(--c-primary-900));font-weight:700;text-decoration:underline;text-underline-offset:2px}
.pc-prose .pc-btn{text-decoration:none}
.pc-current-choice{margin-left:.5rem;font-size:.82rem;font-weight:700;color:rgb(var(--c-neutral-600))}
.pc-cat-list{list-style:none!important;padding:0!important;display:grid;gap:.6rem}
.pc-cat-list li{padding:.8rem 1rem;border:1px solid rgb(var(--c-neutral-200));border-radius:.9rem;background:rgb(var(--c-neutral-50))}
.pc-table-wrap{overflow-x:auto;margin:0 0 1rem;border:1px solid rgb(var(--c-neutral-200));border-radius:1rem}
.pc-table{width:100%;border-collapse:collapse;font-size:.82rem;line-height:1.5}
.pc-table th{text-align:left;padding:.7rem .85rem;background:rgb(var(--c-primary-900));color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}
.pc-table td{padding:.75rem .85rem;border-top:1px solid rgb(var(--c-neutral-200));vertical-align:top}
.pc-chip{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.7rem;font-weight:800;background:rgb(var(--c-primary-50));color:rgb(var(--c-primary-900))}
.pc-chip-analytics{background:rgb(var(--c-secondary-50));color:rgb(var(--c-secondary-900))}
.pc-chip-marketing{background:rgb(254 226 226);color:rgb(153 27 27)}
.pc-chip-functional{background:rgb(224 231 255);color:rgb(55 48 163)}
@media (max-width:640px){
  .pc-table thead{display:none}
  .pc-table,.pc-table tbody,.pc-table tr,.pc-table td{display:block;width:100%}
  .pc-table tr{padding:.5rem 0;border-top:1px solid rgb(var(--c-neutral-200))}
  .pc-table tr:first-child{border-top:0}
  .pc-table td{border:0;padding:.3rem .85rem}
  .pc-table td::before{content:attr(data-label);display:block;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:rgb(var(--c-neutral-600))}
}
@media (max-width:960px){
  .pc-legal-wrap{grid-template-columns:1fr}
  .pc-legal-nav{position:static}
  .pc-legal-toc-card{display:none}
  .pc-legal-main{padding:1.5rem 1.25rem}
}

/* ---------------------------------------------------------------- privacy request form */
.pc-req-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.6rem;margin:0;padding:0;border:0}
.pc-req-type{position:relative}
.pc-req-type input{position:absolute;opacity:0}
.pc-req-type label{display:flex;align-items:center;gap:.6rem;height:100%;padding:.8rem .9rem;border:1.5px solid rgb(var(--c-neutral-200));border-radius:.9rem;background:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .15s,background-color .15s}
.pc-req-type label i{color:rgb(var(--c-secondary-800));width:1.1rem;text-align:center}
.pc-req-type input:checked+label{border-color:rgb(var(--c-primary-900));background:rgb(var(--c-primary-50))}
.pc-req-type input:focus-visible+label{outline:3px solid rgb(var(--c-secondary-500));outline-offset:2px}
.pc-field{display:block;margin-bottom:1rem;font-size:.82rem;font-weight:700}
.pc-field span{display:block;margin-bottom:.35rem}
.pc-field input,.pc-field textarea{width:100%;padding:.75rem .9rem;border-radius:.8rem;border:1px solid rgb(var(--c-neutral-300));background:rgb(var(--c-neutral-50));font:inherit;font-weight:500;color:rgb(var(--c-primary-900))}
.pc-field input:focus,.pc-field textarea:focus{outline:2px solid rgb(var(--c-primary-900));background:#fff}
.pc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media (max-width:640px){.pc-grid2{grid-template-columns:1fr}}
.pc-alert{padding:.9rem 1rem;border-radius:.9rem;margin-bottom:1.25rem;font-size:.88rem;font-weight:600}
.pc-alert-ok{background:rgb(236 253 245);border:1px solid rgb(167 243 208);color:rgb(6 95 70)}
.pc-alert-err{background:rgb(254 242 242);border:1px solid rgb(254 202 202);color:rgb(153 27 27)}
.pc-steps{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.pc-steps li{padding:.9rem;border-radius:1rem;background:rgb(var(--c-neutral-50));border:1px solid rgb(var(--c-neutral-200));font-size:.8rem;line-height:1.5}
.pc-steps b{display:block;font-size:.85rem;color:rgb(var(--c-primary-900))}
@media (max-width:640px){.pc-steps{grid-template-columns:1fr}}
