/* Cookie consent banner */
.consent { position: fixed; z-index: 50; inset: auto var(--gutter) var(--gutter) var(--gutter); display: flex; justify-content: flex-start; pointer-events: none; }
.consent[hidden] { display: none; }
.consent__panel {
	pointer-events: auto; width: 100%; max-width: 420px;
	background: var(--c-surface); color: var(--c-text); border: 1px solid var(--c-border-2); border-radius: var(--r-lg);
	padding: var(--s-5); box-shadow: 0 12px 40px rgba(0,0,0,.45);
	animation: consent-in .35s var(--ease);
}
@keyframes consent-in { from { opacity: 0; transform: translateY(12px); } }
.consent__title { font-weight: 700; color: var(--c-text-strong); margin-bottom: var(--s-2); }
.consent__text { font-size: var(--fs-sm); color: var(--c-muted); }
.consent__prefs { display: grid; gap: var(--s-2); margin-bottom: var(--s-4); }
.consent__prefs[hidden] { display: none; }
.consent__row { display: flex; justify-content: space-between; align-items: center; gap: var(--s-4); padding: var(--s-3); border: 1px solid var(--c-border); border-radius: var(--r-sm); cursor: pointer; }
.consent__row strong { display: block; font-size: var(--fs-sm); color: var(--c-text-strong); }
.consent__row small { display: block; color: var(--c-muted); font-size: var(--fs-xs); line-height: 1.4; }
.consent__row input { width: 20px; height: 20px; accent-color: var(--c-accent); flex: none; }
.consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-2); }
.consent__actions [data-consent-customize], .consent__actions [data-consent-save] { grid-column: 1 / -1; order: 3; }
.consent__actions .btn { padding: 0 var(--s-3); }
