/* =========================================================================
   Alrasly — cookie consent banner. Brand tokens only, squares (radius 0),
   navy/blue, AAA. Hidden until JS opens it (no-JS = no banner, no tracking).
   Focus-trapped modal sheet + scrim; dismissible only by a choice.
   ========================================================================= */

.cc{ display:none; }
.cc.is-open{ display:block; }
.cc__scrim{ position:fixed; inset:0; z-index:1000; background:rgba(20,18,48,.55); }
.cc__sheet{
	position:fixed; z-index:1001; left:0; right:0; bottom:0; margin:0 auto;
	width:100%; max-width:720px; background:var(--white); color:var(--ink);
	border:1px solid rgba(41,37,97,.12); border-top:var(--space-1) solid var(--blue);
	padding:var(--space-6);
}
.cc__title{ font-size:var(--fs-h4); line-height:var(--lh-h4); font-weight:var(--fw-bold); color:var(--navy); margin:0 0 var(--space-3); }
.cc__desc{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--ink); margin:0 0 var(--space-5); max-width:64ch; }
.cc__desc a{ color:var(--blue); font-weight:var(--fw-semibold); }
.cc__desc a:hover{ color:var(--blue-hover); text-decoration:underline; }

.cc__actions{ display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:center; }
.cc-btn{
	font-family:var(--font-latin); font-size:var(--fs-small); font-weight:var(--fw-bold);
	padding:var(--space-3) var(--space-5); border:2px solid var(--navy); cursor:pointer;
	background:var(--navy); color:var(--white); transition:background-color .18s ease, color .18s ease;
}
.cc-btn:hover{ background:var(--navy-hover); border-color:var(--navy-hover); }
.cc-btn:focus-visible{ outline:2px solid var(--focus-ring); outline-offset:2px; }
/* Accept + Reject share the exact same style/weight/size — no dark pattern. */
.cc-btn--primary{ /* alias for clarity; identical to .cc-btn */ }
.cc-btn--ghost{ background:transparent; color:var(--navy); border-color:transparent; text-decoration:underline; padding-inline:var(--space-2); }
.cc-btn--ghost:hover{ background:transparent; color:var(--blue); }

/* preferences view (toggled by JS) */
.cc-prefs{ display:none; }
.cc.cc--prefs .cc-simple{ display:none; }
.cc.cc--prefs .cc-prefs{ display:block; }
.cc-cats{ list-style:none; margin:0 0 var(--space-5); padding:0; display:flex; flex-direction:column; gap:var(--space-4); }
.cc-cat{ border:1px solid rgba(41,37,97,.12); padding:var(--space-4); }
.cc-cat__row{ display:flex; align-items:center; gap:var(--space-3); font-weight:var(--fw-bold); color:var(--navy); font-size:var(--fs-body); }
.cc-cat__row input{ width:18px; height:18px; accent-color:var(--blue); flex:0 0 auto; }
.cc-cat__note{ font-size:var(--fs-small); line-height:var(--lh-small); color:var(--ink); margin:var(--space-2) 0 0; }
.cc-cat input:focus-visible{ outline:2px solid var(--focus-ring); outline-offset:2px; }

@media (min-width:560px){
	.cc__sheet{ margin-bottom:var(--space-5); border:1px solid rgba(41,37,97,.12); border-top:var(--space-1) solid var(--blue); }
}
@media (prefers-reduced-motion:reduce){
	.cc-btn{ transition:none; }
}

/* footer "Cookie settings" — matches the legal-row links on the dark footer */
.site-footer__legal [data-cc-open]{
	background:none; border:0; padding:0; cursor:pointer; font-family:inherit;
	font-size:inherit; color:inherit; text-decoration:none;
}
.site-footer__legal [data-cc-open]:hover{ color:var(--sky); text-decoration:underline; }
.site-footer__legal [data-cc-open]:focus-visible{ outline:2px solid var(--sky); outline-offset:2px; }
