/* PeopleCore cookie consent. Uses the theme's colour and type tokens (--brand, --signal, --surface...).
   Reject and Accept share one style and size on the first layer: neither choice is easier to see or hit. */
.pc-banner{position:fixed;z-index:60;left:var(--space-md);right:var(--space-md);bottom:var(--space-md);max-width:1080px;margin-inline:auto;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 24px 64px -24px rgba(0,52,53,.5);max-height:calc(100dvh - 32px);overflow:auto}
.pc-banner-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md) var(--space-xl);align-items:center;padding:var(--space-lg)}
.pc-banner h2{font-size:var(--text-lg);margin-bottom:6px}
.pc-banner p{font-size:var(--text-md);line-height:1.55;color:var(--muted)}
.pc-banner p b{color:var(--fg);font-weight:600}
.pc-banner a,.pc-dialog a,.pc-embed-msg a{color:var(--brand);font-weight:600}
.pc-gpc{margin-top:var(--space-xs);font-size:var(--text-sm)!important;color:var(--fg)!important}
.pc-banner-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs);min-width:300px}
.pc-banner-actions [data-pc-action="customize"]{grid-column:1/-1}
@media (max-width:760px){
  .pc-banner{left:8px;right:8px;bottom:8px}
  .pc-banner-inner{grid-template-columns:1fr;padding:var(--space-md)}
  .pc-banner-actions{min-width:0}
  .pc-banner .btn{padding:0 var(--space-sm)}
}
/* Older iPhones (Safari before 16) could collapse a flex:1 form to zero height, leaving only the gray backdrop.
   The form now sizes to its content (flex-basis auto) and carries its own max-height, with a vh fallback for dvh. */
.pc-dialog{width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:var(--radius-lg);background:var(--surface);color:var(--fg);box-shadow:var(--shadow);overflow:hidden}
.pc-dialog[open]{display:flex;flex-direction:column}
.pc-dialog:not([open]){display:none}
.pc-dialog::backdrop{background:rgba(0,28,29,.72)}
.pc-dialog-form{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
/* browsers without <dialog>: the same panel, centred, with a drawn backdrop */
.pc-dialog.pc-dialog-fallback{position:fixed;z-index:1000;inset:0;margin:auto;height:fit-content;box-shadow:0 0 0 100vmax rgba(0,28,29,.72),var(--shadow)}
.pc-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--line)}
.pc-dialog-head h2{font-size:var(--text-xl)}
.pc-close{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--fg);font-size:24px;line-height:1;cursor:pointer}
.pc-close:hover{border-color:var(--brand);color:var(--brand)}
.pc-dialog-body{flex:1 1 auto;min-height:0;padding:var(--space-lg);overflow:auto;-webkit-overflow-scrolling:touch;font-size:var(--text-md)}
.pc-dialog-head,.pc-dialog-actions{flex:none}
.pc-dialog-body > p{color:var(--muted)}
.pc-cat{border:0;margin:var(--space-md) 0 0;padding:0}
.pc-cat-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);padding:var(--space-md) 0;border-top:1px solid var(--line)}
.pc-cat-row h3{font-size:var(--text-base);margin-bottom:4px}
.pc-cat-row p{color:var(--muted);font-size:var(--text-sm);line-height:1.55}
.pc-always{flex:none;font-size:var(--text-sm);font-weight:600;color:var(--brand);padding-top:2px}
.pc-switch{position:relative;flex:none;width:52px;height:30px;cursor:pointer}
.pc-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pc-switch span{position:absolute;inset:0;border-radius:999px;background:var(--line);border:1.5px solid color-mix(in srgb,var(--muted) 45%,transparent);transition:background-color .2s ease}
.pc-switch span::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s ease}
.pc-switch input:checked + span{background:var(--brand);border-color:var(--brand)}
.pc-switch input:checked + span::after{transform:translateX(22px)}
.pc-switch input:focus-visible + span{outline:2px solid var(--signal);outline-offset:3px}
.pc-id{margin-top:var(--space-sm);font-size:var(--text-sm)!important}
.pc-id code{font-family:var(--mono);font-size:13px;overflow-wrap:anywhere}
.pc-dialog-actions{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--line)}
@media (max-width:560px){.pc-dialog-actions{grid-template-columns:1fr 1fr}.pc-dialog-actions [data-pc-action="save"]{grid-column:1/-1;order:-1}}
.pc-settings-link{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none}
.pc-settings-link:hover,footer .legal a:hover{text-decoration:underline;text-underline-offset:3px}
.pc-floating{position:fixed;z-index:59;left:12px;bottom:12px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;box-shadow:var(--shadow)}
/* a video waiting for permission */
.pc-embed-gate{position:relative;display:grid;place-items:center;min-height:240px;aspect-ratio:16/9;width:100%;background:var(--brand-deep);color:var(--on-dark);border-radius:var(--radius-lg);padding:var(--space-lg)}
/* in a video block the placeholder sets its own height, so the buttons never get cut off on phones */
.wp-block-embed__wrapper:has(> .pc-embed-gate)::before{display:none!important}
.video-frame:has(> .pc-embed-gate){aspect-ratio:auto;overflow:visible;background:none;border:0}
.pc-embed-gate[style]{overflow:auto}
.pc-embed-msg{max-width:460px;text-align:center;font-size:var(--text-md);line-height:1.55;color:var(--on-dark-muted)}
.pc-embed-title{font-family:var(--display);font-weight:700;font-size:var(--text-lg);color:var(--on-dark);margin-bottom:6px!important}
.pc-embed-msg a{color:var(--on-dark)}
.pc-embed-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs);margin-top:var(--space-md)}
.pc-embed-gate .btn-primary{background:var(--signal);color:var(--signal-ink)}
.pc-embed-gate.pc-embed-ready .pc-embed-note,.pc-embed-gate.pc-embed-ready [data-pc-allow-media]{display:none}
.pc-embed-gate.pc-embed-ready .pc-embed-actions{margin-top:0}
.pc-embed-gate .btn-ghost{background:transparent;border-color:color-mix(in srgb,var(--on-dark) 50%,transparent);color:var(--on-dark)}
@media (max-width:560px){.pc-embed-gate{padding:var(--space-md)}.pc-embed-gate[style]{padding:var(--space-sm)}.pc-embed-msg p:not(.pc-embed-title){font-size:var(--text-sm)}.pc-embed-gate .btn{min-height:40px}}
@media print{.pc-banner,.pc-floating{display:none!important}}
