/* Adastral cookie consent - GDPR-compliant banner with granular categories.
   Loaded site-wide via <link>. Visual tokens match the site's CSS variables. */

/* Brand-red text selection inside the banner - matches index/scorecard ::selection rule.
   Scoped to the banner so it works even on pages that don't define a global selection style. */
.cc-banner ::selection{background:#F43B5C;color:#fff}
.cc-banner ::-moz-selection{background:#F43B5C;color:#fff}

.cc-banner{
  position:fixed;bottom:20px;left:20px;right:20px;max-width:560px;
  background:#182134;border:1px solid rgba(255,255,255,.1);
  border-radius:12px;padding:22px 24px;
  font-family:'Inter',sans-serif;font-size:13.5px;color:#AAB3C8;line-height:1.55;
  z-index:200;box-shadow:0 24px 60px rgba(0,0,0,.5);
  display:none;
}
.cc-banner.show{display:block}
.cc-banner h3{
  font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:16px;
  color:#F3F5FB;margin:0 0 8px;letter-spacing:-.01em;
}
.cc-banner em{
  font-style:normal;color:#F43B5C;
}
.cc-banner p{margin:0 0 14px;font-size:13.5px}
.cc-banner a{color:#F43B5C;border-bottom:1px solid rgba(244,59,92,.4);text-decoration:none}
.cc-banner a:hover{border-color:#F43B5C}

/* Equal-prominence action buttons */
.cc-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
.cc-actions button{
  font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:13px;
  padding:9px 14px;border-radius:6px;border:0;cursor:pointer;transition:all .15s;
  letter-spacing:-.005em;
  /* Center text - buttons toggled to display:inline-flex need justify-content; the rest use text-align */
  text-align:center;justify-content:center;
}
.cc-btn-secondary{background:transparent;color:#AAB3C8;border:1px solid rgba(255,255,255,.12)}
.cc-btn-secondary:hover{color:#F3F5FB;border-color:rgba(255,255,255,.2)}
.cc-btn-primary{background:#F43B5C;color:#fff}
.cc-btn-primary:hover{background:#FF5A78}
.cc-btn-link{background:transparent;color:#AAB3C8;padding:9px 6px}
.cc-btn-link:hover{color:#F3F5FB;text-decoration:underline}

/* Customise / preferences panel */
.cc-prefs{display:none;margin:14px 0 16px;border-top:1px solid rgba(255,255,255,.06);padding-top:16px}
.cc-banner.customising .cc-prefs{display:block}
.cc-banner.customising .cc-summary{display:none}
.cc-cat{display:flex;align-items:flex-start;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.cc-cat:last-child{border-bottom:0}
.cc-cat-body{flex:1;min-width:0}
.cc-cat-body strong{display:block;font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:13.5px;color:#F3F5FB;margin-bottom:2px;letter-spacing:-.005em}
.cc-cat-body span{display:block;font-size:12.5px;color:#7C869E;line-height:1.5}

/* Toggle switch - built as label > input + slider so it's keyboard-accessible */
.cc-toggle{position:relative;width:36px;height:20px;flex-shrink:0;margin-top:2px}
.cc-toggle input{position:absolute;opacity:0;width:0;height:0}
.cc-toggle .cc-slider{
  position:absolute;inset:0;background:rgba(255,255,255,.14);border-radius:20px;
  transition:background .2s;cursor:pointer;
}
.cc-toggle .cc-slider::after{
  content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;
  background:#fff;transition:transform .2s;
}
.cc-toggle input:checked + .cc-slider{background:#F43B5C}
.cc-toggle input:checked + .cc-slider::after{transform:translateX(16px)}
.cc-toggle input:disabled + .cc-slider{cursor:not-allowed;background:#F43B5C;opacity:.65}
.cc-toggle input:focus-visible + .cc-slider{box-shadow:0 0 0 3px rgba(244,59,92,.35)}

@media (max-width:560px){
  .cc-banner{left:12px;right:12px;bottom:12px;padding:18px 20px;max-width:none}
  /* Cookie Policy is already linked in the body text - drop the extra button on mobile to free space */
  .cc-btn-link{display:none}
  /* Stack remaining actions vertically full-width - avoids text wrapping inside cramped buttons */
  .cc-actions{flex-direction:column;align-items:stretch;gap:8px}
  .cc-actions button{flex:none;width:100%;padding:12px 14px}
}
