/* Cookie consent kit: banner, preferences panel and confirmation message.
   Colours and fonts are set here. Change the --cc-* values to match the site. */
.cc-banner,.cc-dialog,.cc-toast{
  --cc-white:#ffffff;
  --cc-fg:#f5f4fa;
  --cc-fg-2:#bdbbcb;
  --cc-lilac:#c3b2ff;
  --cc-violet:#6236d6;
  --cc-line:rgba(255,255,255,.14);
  --cc-small:.9375rem;
  --cc-ease-out:cubic-bezier(.16,1,.3,1);
  --cc-ease-in:cubic-bezier(.55,0,.75,.2);
  font-family:inherit;box-sizing:border-box}
.cc-banner *,.cc-dialog *{box-sizing:border-box}
.cc-banner p,.cc-dialog p,.cc-dialog h2{margin:0}
.cc-banner[hidden]{display:none!important}
.cc-banner{position:fixed;z-index:80;left:max(16px, env(safe-area-inset-left,0px));right:max(16px, env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));
  max-width:1120px;margin-inline:auto;border-radius:14px;border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(180deg,rgba(20,14,48,.9),rgba(14,10,34,.92));-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);
  box-shadow:0 24px 60px -24px rgba(0,0,0,.6);color:var(--cc-fg);transform:translateY(0);opacity:1;transition:transform .6s var(--cc-ease-out),opacity .4s ease}
.cc-banner.is-entering{transform:translateY(24px);opacity:0}
.cc-banner.is-leaving{transform:translateY(24px);opacity:0;transition-timing-function:var(--cc-ease-in),ease}
.cc-banner-in{display:flex;align-items:center;gap:clamp(18px,3vw,40px);padding:clamp(18px,2.4vw,26px) clamp(18px,2.6vw,30px)}
.cc-banner-copy{display:grid;gap:6px;min-width:0;flex:1}
.cc-title{font-size:1.0625rem;font-weight:500;color:var(--cc-white)}
.cc-banner-copy p:last-child{font-size:var(--cc-small);line-height:1.55;color:var(--cc-fg-2);max-width:72ch}
.cc-banner a,.cc-dialog a{color:var(--cc-white);text-underline-offset:3px}
.cc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex-shrink:0}
.cc-btn{min-height:44px;padding:0 20px;border-radius:999px;font:inherit;font-size:var(--cc-small);font-weight:500;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
/* Accept and Reject share one style so neither is pushed */
.cc-primary{background:var(--cc-white);color:#1a1430;border:1px solid var(--cc-white)}
.cc-primary:hover{background:var(--cc-lilac);border-color:var(--cc-lilac)}
.cc-text{background:none;border:1px solid transparent;color:var(--cc-white);text-decoration:underline;text-underline-offset:4px;padding:0 10px}
.cc-text:hover{color:var(--cc-lilac)}
.cc-ghost{background:transparent;color:var(--cc-white);border:1px solid rgba(255,255,255,.45)}
.cc-ghost:hover{background:rgba(255,255,255,.08)}
.cc-solid{background:var(--cc-white);color:#1a1430;border:1px solid var(--cc-white)}
.cc-solid:hover{background:var(--cc-lilac);border-color:var(--cc-lilac)}
@media (max-width:860px){.cc-banner-in{flex-direction:column;align-items:stretch}.cc-actions .cc-primary{flex:1 1 140px}.cc-text{align-self:center}}

.cc-dialog{width:min(640px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:0;border:1px solid rgba(255,255,255,.16);border-radius:16px;
  background:#150f36;color:var(--cc-fg);box-shadow:0 40px 90px -30px rgba(0,0,0,.7);overflow:auto;overscroll-behavior:contain}
.cc-dialog::backdrop{background:rgba(8,5,22,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.cc-dialog[open]{animation:ccIn .45s var(--cc-ease-out)}
@keyframes ccIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.cc-form{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:clamp(22px,3vw,32px);background:none;border:0;border-radius:0}
.cc-form > *{grid-column:1 / -1}
.cc-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cc-head h2{font-size:1.6rem;font-weight:300}
.cc-close{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:none;color:var(--cc-white);cursor:pointer}
.cc-close svg{width:16px;height:16px}
.cc-close:hover{border-color:var(--cc-lilac)}
.cc-intro{font-size:var(--cc-small);line-height:1.6;color:var(--cc-fg-2)}
.cc-cats{display:grid;border-top:1px solid var(--cc-line)}
.cc-cat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--cc-line)}
.cc-cat label{font-size:1.0625rem;color:var(--cc-white);cursor:pointer}
.cc-cat p{grid-column:1;font-size:var(--cc-small);line-height:1.55;color:var(--cc-fg-2)}
.cc-cat .cc-always{grid-column:2;grid-row:1;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cc-fg-2)}
.cc-switch{grid-column:2;grid-row:1 / span 2;position:relative;width:48px;height:28px;margin:0;appearance:none;-webkit-appearance:none;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:background .25s,border-color .25s;min-height:0;padding:0}
.cc-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s var(--cc-ease-out)}
.cc-switch:checked{background:var(--cc-violet);border-color:#8a68f0}
.cc-switch:checked::after{transform:translateX(20px)}
.cc-switch:focus-visible{outline:2px solid var(--cc-lilac);outline-offset:3px}
.cc-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
@media (max-width:520px){.cc-foot .cc-btn{flex:1 1 100%}}
.cc-toast{position:fixed;z-index:85;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,12px);padding:10px 18px;border-radius:999px;background:var(--cc-white);color:#1a1430;font-size:var(--cc-small);opacity:0;pointer-events:none;transition:opacity .3s,transform .4s var(--cc-ease-out)}
.cc-toast.on{opacity:1;transform:translate(-50%,0)}
.cc-linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none}
@media (prefers-reduced-motion:reduce){.cc-banner,.cc-dialog[open],.cc-toast,.cc-switch::after{transition:none;animation:none}}
