/*
 * Wide News: consent.css
 * Banner cookies (Consent Mode v2). Μόνο tokens του base.css, καμία τιμή χρώματος εδώ.
 * Σταθερό στο κάτω μέρος του viewport (position fixed), δεν μπαίνει ποτέ στη ροή της σελίδας, άρα δεν προκαλεί layout shift.
 * Καμία κίνηση: το banner εμφανίζεται και κρύβεται αμέσως, άρα το prefers-reduced-motion τηρείται εκ κατασκευής.
 * Όλα τα ζεύγη χρώματος περνούν WCAG 4.5:1 (το tests/static/test-consent-size.sh τα υπολογίζει από τα tokens).
 * Τα τρία κουμπιά έχουν ΜΙΑ κλάση και ΕΝΑ κανόνα: ίδιο μέγεθος, ίδιο χρώμα, ίδιο βάρος.
 */

.wn-consent {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000;
	max-height: 90vh;
	overflow-y: auto;
	padding: var(--wn-space-4) 0 calc(var(--wn-space-4) + env(safe-area-inset-bottom, 0px));
	background: var(--wn-color-topbar);
	color: var(--wn-color-topbar-text);
	font-family: var(--wn-font-body);
	font-size: 15px;
	line-height: 1.5;
}

.wn-consent[hidden],
.wn-consent [hidden] {
	display: none;
}

.wn-consent:focus-visible {
	outline: 2px solid var(--wn-color-surface);
	outline-offset: -4px;
}

.wn-consent__inner {
	width: min(100%, 90vw);
	max-width: var(--wn-container);
	margin: 0 auto;
}

.wn-consent__title {
	margin: 0 0 var(--wn-space-1);
	color: var(--wn-color-surface);
	font-family: var(--wn-font-body);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
}

.wn-consent__text {
	margin: 0 0 var(--wn-space-3);
	max-width: 70ch;
}

.wn-consent__link {
	color: var(--wn-color-surface);
	text-decoration: underline;
}

.wn-consent__link:hover,
.wn-consent__link:focus-visible {
	color: var(--wn-color-surface);
	text-decoration-thickness: 2px;
}

.wn-consent__panel {
	margin: var(--wn-space-3) 0 0;
}

.wn-consent__fieldset {
	min-width: 0;
	margin: 0 0 var(--wn-space-3);
	padding: 0;
	border: 0;
}

.wn-consent__legend {
	margin: 0 0 var(--wn-space-1);
	padding: 0;
	color: var(--wn-color-surface);
	font-weight: 700;
}

.wn-consent__toggle {
	display: flex;
	align-items: center;
	gap: var(--wn-space-3);
	min-height: 44px;
	padding: var(--wn-space-1) 0;
	cursor: pointer;
}

.wn-consent__toggle input {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	margin: 0;
	accent-color: var(--wn-color-surface);
}

.wn-consent__toggle strong {
	color: var(--wn-color-surface);
}

.wn-consent__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wn-space-2);
}

.wn-consent__btn {
	flex: 1 1 0;
	min-width: 44px;
	min-height: 44px;
	padding: var(--wn-space-1) 0;
	border: 2px solid var(--wn-color-surface);
	border-radius: var(--wn-radius);
	background: var(--wn-color-surface);
	color: var(--wn-color-heading);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	cursor: pointer;
}

.wn-consent__btn:hover {
	background: var(--wn-color-footer);
	color: var(--wn-color-heading);
}

/* Το κουμπί αποθήκευσης του πάνελ είναι μόνο του στη σειρά: έχει πλευρικό padding και κάτω από τα 700px, όπου τα τρία κουμπιά της πρώτης σειράς δεν έχουν. */
.wn-consent__panel .wn-consent__btn {
	flex: none;
	padding: var(--wn-space-1) var(--wn-space-4);
}

.wn-consent__btn:focus-visible,
.wn-consent__link:focus-visible,
.wn-consent__toggle input:focus-visible {
	outline: 2px solid var(--wn-color-surface);
	outline-offset: 2px;
}

/* Κινητό: τα τρία κουμπιά χωράνε σε ΜΙΑ σειρά στα 390px και το banner μένει χαμηλό. */
@media (max-width: 699px) {
	.wn-consent {
		padding-top: var(--wn-space-3);
		font-size: 14px;
		line-height: 1.4;
	}

	.wn-consent__inner {
		width: min(100%, 94vw);
	}

	.wn-consent__title {
		font-size: 16px;
	}

	.wn-consent__text {
		margin-bottom: var(--wn-space-2);
	}

	.wn-consent__actions {
		gap: var(--wn-space-1);
	}
}

@media (min-width: 700px) {
	.wn-consent__btn {
		flex: 0 0 auto;
		padding: var(--wn-space-1) var(--wn-space-4);
		font-size: 15px;
	}
}

/* Ο σύνδεσμος του υποσέλιδου που ξανανοίγει το banner. */
.wn-consent-open {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--wn-space-2);
	color: var(--wn-color-ui);
	font-size: 15px;
	text-decoration: underline;
}

.wn-consent-open:hover,
.wn-consent-open:focus-visible {
	color: var(--wn-color-heading-alt);
}
