/* ===================================================================
   Cookie consent (includes/cookie-banner.php + assets/cookie-consent.js).
   Loaded by includes/tracking-head.php on every page, including the
   campaign landings (lp1/...), which do not use workdecoded.css. Colours
   come from the page's :root tokens; the fallbacks cover pages without them. Banner = non-blocking bottom bar;
   preferences panel = modal.
   =================================================================== */
.cookie-consent{position:fixed;inset:0;z-index:90;pointer-events:none}
.cookie-consent[hidden],.cookie-consent__backdrop[hidden],.cookie-banner[hidden],.cookie-panel[hidden]{display:none}
body.cookie-consent-open{overflow:hidden}
.cookie-consent__backdrop{position:fixed;inset:0;background:rgba(29,36,33,.58);pointer-events:auto}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;max-width:1100px;margin:0 auto;padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow,0 18px 55px rgba(29,36,33,.10));color:var(--ink);pointer-events:auto}
.cookie-banner__body{flex:1 1 420px;min-width:240px}
.cookie-banner__title{margin:0 0 6px;font-size:16px;letter-spacing:-.02em}
.cookie-banner__text{margin:0;color:var(--muted);font-size:12px;line-height:1.6;max-width:70ch}
.cookie-banner__text a,.cookie-panel__footnote a{color:var(--blue-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cookie-banner__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:0 0 auto}
.cookie-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:720;cursor:pointer}
.cookie-btn:hover{border-color:var(--ink)}
.cookie-btn:focus-visible,.cookie-panel__close:focus-visible,.footer-cookie-settings:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.cookie-btn--solid{border-color:var(--blue);background:var(--blue);color:#fff}
.cookie-btn--solid:hover{border-color:var(--blue-dark);background:var(--blue-dark)}
.cookie-btn--text{border-color:transparent;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.cookie-btn--text:hover{border-color:transparent;color:var(--ink)}
.cookie-panel{position:fixed;inset:0;z-index:2;display:grid;place-items:center;padding:20px;pointer-events:none}
.cookie-panel__dialog{position:relative;width:min(100%,540px);max-height:calc(100vh - 40px);overflow-y:auto;padding:26px;border-radius:12px;background:var(--surface);box-shadow:var(--shadow,0 18px 55px rgba(29,36,33,.10));color:var(--ink);pointer-events:auto}
.cookie-panel__close{position:absolute;top:14px;right:14px;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:20px;line-height:1}
.cookie-panel__title{margin:0 40px 8px 0;font-size:22px;letter-spacing:-.03em}
.cookie-panel__intro{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.55}
.cookie-panel__row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-top:1px solid var(--line)}
.cookie-panel__row-copy h3{margin:0;font-size:13px}
.cookie-panel__row-copy p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.cookie-toggle{position:relative;flex:0 0 auto;display:inline-flex;cursor:pointer}
.cookie-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.cookie-toggle__track{position:relative;display:block;width:42px;height:24px;border-radius:999px;background:var(--soft);border:1px solid var(--line);transition:background-color .15s ease}
.cookie-toggle__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(29,36,33,.25);transition:transform .15s ease}
.cookie-toggle input:checked+.cookie-toggle__track,.cookie-toggle--locked .cookie-toggle__track{background:var(--blue);border-color:var(--blue)}
.cookie-toggle input:checked+.cookie-toggle__track .cookie-toggle__thumb,.cookie-toggle--locked .cookie-toggle__thumb{transform:translateX(18px)}
.cookie-toggle input:focus-visible+.cookie-toggle__track{outline:2px solid var(--blue);outline-offset:2px}
.cookie-toggle--locked{cursor:not-allowed;opacity:.55}
.cookie-panel__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.cookie-panel__footnote{margin:14px 0 0;color:var(--muted);font-size:11px}
.footer-cookie-settings{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.cookie-table-wrap{overflow-x:auto;margin:14px 0 8px}
.cookie-table{width:100%;border-collapse:collapse;font-size:12px}
.cookie-table th,.cookie-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cookie-table th{color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:640px){
  .cookie-banner{left:10px;right:10px;bottom:10px;padding:16px}
  .cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .cookie-banner__actions #cookieAcceptAll{grid-column:1/-1}
  .cookie-panel__actions{display:grid;grid-template-columns:1fr}
  .cookie-panel__actions .cookie-btn--solid{order:-1}
}
