/* =====================================================================
   Cookie banner and cookie settings (all screen sizes)
   Companion script: /extras/scripts/cookie-consent.js
   ===================================================================== */

.cookie-banner[hidden] { display: none !important; }

.cookie-banner {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 2000;
	background: #fff; border-top: 1px solid #d6d6d6;
	box-shadow: 0 -2px 12px rgba(0, 0, 0, .12);
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}
.cookie-banner-inner {
	width: 960px; max-width: 100%; margin: 0 auto; padding: 16px 20px;
	box-sizing: border-box; display: flex; align-items: center; gap: 24px;
}
.cookie-banner p { flex: 1; margin: 0; font-size: 13px; line-height: 1.55; color: #444; }
.cookie-banner p strong { color: #000; }
.cookie-banner a { color: #227ED2; }
.cookie-banner a:hover { text-decoration: underline; }

/* Accept and Reject look exactly the same (equal prominence) */
.cookie-buttons { display: flex; gap: 10px; flex: 0 0 auto; }
.cookie-btn {
	font: 14px "Trebuchet MS", Arial, Helvetica, sans-serif; color: #fff; background: #227ED2;
	border: 0; border-radius: 3px; padding: 11px 16px; cursor: pointer; white-space: nowrap;
	box-shadow: 1px 1px 2px #ccc; -webkit-appearance: none; appearance: none;
}
.cookie-btn:hover, .cookie-btn:focus { background: #1a64a8; }
.cookie-btn:focus { outline: 2px solid #000; outline-offset: 2px; }

/* keep the footer visible above the banner */
html.cookie-banner-open body { padding-bottom: 110px; }

/* Settings panel on the cookie policy page */
.cookie-settings { margin: 10px 0 30px; padding: 18px 20px; background: #f5f8fc; border: 1px solid #dbe6f3; border-radius: 3px; }
.cookie-settings .cookie-state { margin: 0 0 12px; font-size: 13px; color: #333; }
.cookie-settings .cookie-btn[aria-pressed="true"] { background: #1a4f80; }
.cookie-settings .cookie-btn[aria-pressed="true"]:before { content: "\2713  "; }

/* Footer policy links */
.footer p.policy_links { margin-top: 0; }

@media screen and (max-width: 979px) {
	.cookie-banner-inner { display: block; padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px)); }
	.cookie-banner p { font-size: 14px; margin-bottom: 12px; }
	.cookie-buttons { gap: 8px; }
	.cookie-btn { flex: 1 1 0; white-space: normal; padding: 12px 10px; font-size: 14px; }
	html.cookie-banner-open body { padding-bottom: 230px; }
	.cookie-settings .cookie-btn { font-size: 14px; padding: 12px 8px; }
}
