/*
 * Cookie banner and preference centre (design/changes/1 Cookie banner, 7 October 2026). Anchored on
 * their ids so the theme and the Elementor kit cannot reach in.
 */

/* ---------------------------------------------------------------- banner: a box, bottom left */
#wk-consent {
	position: fixed; z-index: 9990; left: 24px; bottom: 24px; box-sizing: border-box;
	width: 420px; max-width: calc(100vw - 32px); margin: 0; padding: 28px 28px 24px;
	border-radius: 16px; background: #fff; color: #191919;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .1), 0 26px 60px rgba(26, 10, 60, .18);
	font: 400 15px/1.6 var(--ok-font, Inter, system-ui, sans-serif); letter-spacing: normal; text-align: left;
}
#wk-consent[hidden] { display: none; }
#wk-consent .wk-consent__title { margin: 0 0 10px; font-size: 18px; line-height: 1.35; font-weight: 600; color: #191919; }
#wk-consent .wk-consent__text { margin: 0 0 20px; font-size: 15px; line-height: 1.6; color: #555350; text-wrap: pretty; }
#wk-consent a,
#wk-prefs a { font: inherit; letter-spacing: normal; color: #0131FF; text-decoration: underline; text-underline-offset: 3px; }
#wk-consent .wk-consent__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

#wk-consent .wk-consent__btn,
#wk-prefs .wk-consent__btn {
	box-sizing: border-box; width: 100%; height: 48px; margin: 0; padding: 0 16px; border-radius: 6px;
	font: 500 15px/1.2 var(--ok-font, Inter, system-ui, sans-serif); letter-spacing: normal; text-transform: none;
	box-shadow: none; text-shadow: none; cursor: pointer; transition: background-color .15s ease, border-color .15s ease;
}
#wk-consent .wk-consent__btn--dark,
#wk-prefs .wk-consent__btn--dark,
#wk-consent .wk-consent__btn--dark:focus,
#wk-prefs .wk-consent__btn--dark:focus { background: #191919; color: #FFFEFA; border: 1px solid #191919; }
#wk-consent .wk-consent__btn--dark:hover,
#wk-prefs .wk-consent__btn--dark:hover { background: #000; color: #FFFEFA; border-color: #000; }
#wk-consent .wk-consent__btn--light,
#wk-prefs .wk-consent__btn--light,
#wk-consent .wk-consent__btn--light:focus,
#wk-prefs .wk-consent__btn--light:focus { background: #fff; color: #191919; border: 1px solid #C9C3B8; }
#wk-consent .wk-consent__btn--light:hover,
#wk-prefs .wk-consent__btn--light:hover { background: #fff; color: #191919; border-color: #191919; }
#wk-consent .wk-consent__btn:focus-visible,
#wk-prefs .wk-consent__btn:focus-visible,
#wk-consent .wk-consent__link:focus-visible,
#wk-prefs .wk-prefs__toggle:focus-visible { outline: 2px solid #3F59E4; outline-offset: 2px; }

#wk-consent .wk-consent__link,
#wk-consent .wk-consent__link:hover,
#wk-consent .wk-consent__link:focus {
	display: inline-block; margin: 0; padding: 14px 0 0; border: 0; background: none; color: #191919;
	font: 400 14px/1.4 var(--ok-font, Inter, system-ui, sans-serif); letter-spacing: normal;
	text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}

/* ---------------------------------------------------------------- preference centre */
#wk-prefs {
	box-sizing: border-box; width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
	margin: auto; padding: 0; border: 0; border-radius: 16px; background: #fff; color: #191919;
	box-shadow: 0 26px 60px rgba(26, 10, 60, .18); overflow: auto;
	font: 400 15px/1.6 var(--ok-font, Inter, system-ui, sans-serif); letter-spacing: normal; text-align: left;
}
#wk-prefs::backdrop { background: rgba(21, 17, 25, .45); }
#wk-prefs .wk-prefs__box { margin: 0; padding: 30px; }
#wk-prefs .wk-prefs__title { margin: 0 0 10px; font: 400 28px/1.2 var(--ok-font-display, Newsreader, Georgia, serif); color: #191919; outline: none; }
#wk-prefs .wk-prefs__text { margin: 0 0 18px; font-size: 15px; line-height: 1.6; color: #555350; }
#wk-prefs .wk-prefs__cat { padding: 18px 0; border-top: 1px solid #E4E0D8; }
#wk-prefs .wk-prefs__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
#wk-prefs .wk-prefs__name { font-size: 16px; line-height: 1.4; font-weight: 600; color: #191919; }
#wk-prefs .wk-prefs__always { font-size: 13px; font-weight: 500; color: #6B665F; }
#wk-prefs .wk-prefs__desc { margin: 6px 0 0; font-size: 14.5px; line-height: 1.55; color: #555350; }

/* the switch: 44 x 26, off #D9D5CD, on #0131FF */
#wk-prefs .wk-prefs__toggle {
	-webkit-appearance: none; appearance: none; position: relative; flex: none; width: 44px; height: 26px; margin: 0;
	border: 0; border-radius: 999px; background: #D9D5CD; cursor: pointer; transition: background-color .15s ease;
}
#wk-prefs .wk-prefs__toggle::after {
	content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%;
	background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: left .15s ease;
}
#wk-prefs .wk-prefs__toggle:checked { background: #0131FF; }
#wk-prefs .wk-prefs__toggle:checked::after { left: 21px; }
#wk-prefs .wk-prefs__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }

/* ---------------------------------------------------------------- phones */
/* The site zooms phones to .92; the banner and dialog cancel it, like the other forms, so text and
   buttons keep their true size. */
@media (max-width: 1023px) {
	#wk-consent,
	#wk-prefs { zoom: 1.0869565; }
}
@media (max-width: 640px) {
	#wk-consent { left: 16px; bottom: 16px; width: calc(100vw - 32px); }
	#wk-prefs .wk-prefs__box { padding: 24px 22px; }
	#wk-prefs .wk-prefs__row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.wk-consent__btn,
	#wk-prefs .wk-prefs__toggle,
	#wk-prefs .wk-prefs__toggle::after { transition: none; }
}
