/* Site Toolkit cookie consent. Colours and radius come from CSS custom properties set by the server on #stk-cc.
   Logical properties only, so right-to-left languages work without extra rules. */
.stk-cc {
	/* Default look: the banner of waterboy.ee. */
	--stk-cc-bg: #fff;
	--stk-cc-title: #1b345f;
	--stk-cc-text: #101a2b;
	--stk-cc-link: #1b345f;
	--stk-cc-btn-bg: #2dc2ef;
	--stk-cc-btn-text: #101a2b;
	--stk-cc-radius: 6px;
	--stk-cc-btn-radius: 99px;
	--stk-cc-z: 9999999;
	--stk-cc-s-title: 18px;
	--stk-cc-s-text: 14px;
	--stk-cc-s-btn: 14px;
	--stk-cc-btn-h: 44px;
	font-size: var(--stk-cc-s-text);
	line-height: calc(var(--stk-cc-s-text) * 12 / 7);
	color: var(--stk-cc-text);
	text-align: start;
}
.stk-cc *,
.stk-cc *::before,
.stk-cc *::after { box-sizing: border-box; }
.stk-cc [hidden] { display: none !important; }

/* ---- first layer ---- */
.stk-cc__banner {
	position: fixed;
	z-index: var(--stk-cc-z);
	background: var(--stk-cc-bg);
	color: var(--stk-cc-text);
	padding: 20px 26px;
	border: 1px solid var(--stk-cc-bg);
	border-radius: var(--stk-cc-radius);
	box-shadow: 0 -1px 10px 0 rgba(172, 171, 171, .3);
	max-height: calc(100dvh - 2 * var(--stk-cc-edge, 16px));
	overflow-y: auto;
	animation: stk-cc-in .2s ease-out;
}
.stk-cc--bar_bottom .stk-cc__banner,
.stk-cc--bar_top .stk-cc__banner {
	inset-inline: var(--stk-cc-edge, 0);
	border-radius: 0;
	border-inline: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
}
.stk-cc--bar_bottom .stk-cc__banner { bottom: var(--stk-cc-edge, 0); border-bottom: 0; }
.stk-cc--bar_top .stk-cc__banner { top: var(--stk-cc-edge, 0); border-top: 0; }
.stk-cc--bar_bottom .stk-cc__body,
.stk-cc--bar_top .stk-cc__body { flex: 1 1 360px; }
.stk-cc--box_left .stk-cc__banner,
.stk-cc--box_right .stk-cc__banner {
	/* --stk-cc-edge: the distance from the window edges chosen in the settings (per device). */
	bottom: var(--stk-cc-edge, 40px);
	width: min(440px, calc(100vw - 2 * var(--stk-cc-edge, 16px)));
}
.stk-cc--box_left .stk-cc__banner { inset-inline-start: var(--stk-cc-edge, 40px); }
.stk-cc--box_right .stk-cc__banner { inset-inline-end: var(--stk-cc-edge, 40px); }
.stk-cc__title { margin: 0 0 12px; font-size: var(--stk-cc-s-title); font-weight: 700; line-height: calc(var(--stk-cc-s-title) * 4 / 3); color: var(--stk-cc-title); }
.stk-cc__text { margin: 0; color: inherit; }
.stk-cc__policy { margin-inline-start: .35em; white-space: nowrap; }
.stk-cc a { color: var(--stk-cc-link); text-decoration: underline; }
.stk-cc__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.stk-cc__actions .stk-cc-btn { flex: 1 1 120px; }
.stk-cc--bar_bottom .stk-cc__actions,
.stk-cc--bar_top .stk-cc__actions { margin-top: 0; flex: 0 1 420px; }

/* ---- buttons: accept and reject share ONE class and ONE style on purpose (equal visual weight); no border or outline, the
   doubled selectors keep theme button styles from adding one ---- */
.stk-cc .stk-cc-btn.stk-cc-btn {
	appearance: none;
	min-height: var(--stk-cc-btn-h);
	min-width: 44px;
	margin: 0;
	padding: 13px 21px;
	font: inherit;
	font-size: var(--stk-cc-s-btn);
	font-weight: 500;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	overflow-wrap: anywhere;
	border: 2px solid transparent;
	border-radius: var(--stk-cc-btn-radius);
	box-shadow: none;
	outline: 0;
	cursor: pointer;
}
.stk-cc .stk-cc-btn--main.stk-cc-btn { background: var(--stk-cc-btn-bg); color: var(--stk-cc-btn-text); border-color: transparent; }
.stk-cc .stk-cc-btn--ghost.stk-cc-btn { background: transparent; color: var(--stk-cc-link); border-color: var(--stk-cc-link); }
.stk-cc .stk-cc-btn.stk-cc-btn:hover { filter: brightness(.92); }
.stk-cc .stk-cc-btn.stk-cc-btn:focus-visible,
.stk-cc-revisit:focus-visible,
.stk-cc__switch:focus-visible,
.stk-cc summary:focus-visible,
.stk-cc a:focus-visible,
.stk-cc__title:focus-visible,
.stk-cc__dtitle:focus-visible {
	outline: 2px solid var(--stk-cc-text);
	outline-offset: 2px;
	box-shadow: 0 0 0 4px var(--stk-cc-bg);
}
.stk-cc__dtitle:focus { outline: none; }

/* ---- second layer: preference center ---- */
.stk-cc__overlay {
	position: fixed;
	inset: 0;
	z-index: calc(var(--stk-cc-z) + 1);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(0, 0, 0, .55);
}
.stk-cc__dialog {
	width: min(640px, 100%);
	max-height: calc(100dvh - 32px);
	overflow-y: auto;
	padding: 20px;
	background: var(--stk-cc-bg);
	color: var(--stk-cc-text);
	border-radius: var(--stk-cc-radius);
	box-shadow: 0 10px 40px rgba(0, 0, 0, .35);
}
.stk-cc__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.stk-cc__dtitle { margin: 0 0 6px; font-size: 1.25em; font-weight: 600; line-height: 1.3; color: inherit; }
.stk-cc__head .stk-cc-btn { flex: 0 0 auto; padding-inline: 12px; }
.stk-cc__cat { padding: 12px 0; border-top: 1px solid rgba(0, 0, 0, .15); }
.stk-cc__cathead { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; }
.stk-cc__catname { font-weight: 600; margin: 0; }
.stk-cc__catdesc { margin: 4px 0 0; }
.stk-cc__always { font-size: .9em; font-weight: 600; white-space: nowrap; }
.stk-cc__switch {
	appearance: none;
	flex: 0 0 auto;
	position: relative;
	width: 52px;
	height: 32px;
	margin: 0;
	border: 2px solid var(--stk-cc-text);
	border-radius: 16px;
	background: transparent;
	cursor: pointer;
}
.stk-cc__switch::after {
	content: "";
	position: absolute;
	inset-block-start: 3px;
	inset-inline-start: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--stk-cc-text);
	transition: transform .15s ease;
}
.stk-cc__switch:checked { background: var(--stk-cc-btn-bg); border-color: var(--stk-cc-btn-bg); }
.stk-cc__switch:checked::after { background: var(--stk-cc-btn-text); transform: translateX(20px); }
[dir="rtl"] .stk-cc__switch:checked::after { transform: translateX(-20px); }
.stk-cc details { margin-top: 8px; }
.stk-cc summary { cursor: pointer; font-weight: 600; min-height: 32px; padding-block: 4px; }
.stk-cc__tablewrap { overflow-x: auto; margin-top: 6px; }
.stk-cc table { width: 100%; border-collapse: collapse; font-size: .9em; background: transparent; margin: 0; }
.stk-cc th,
.stk-cc td { padding: 6px 8px; border: 1px solid rgba(0, 0, 0, .2); text-align: start; vertical-align: top; color: inherit; background: transparent; }
.stk-cc__empty { margin: 6px 0 0; font-size: .9em; }
.stk-cc__foot { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; padding-top: 12px; border-top: 1px solid rgba(0, 0, 0, .15); }
.stk-cc__hint { grid-column: 1 / -1; margin: 8px 0 0; font-size: .9em; }

/* ---- floating "revisit consent" button ---- */
.stk-cc-revisit {
	position: fixed;
	z-index: var(--stk-cc-z);
	inset-block-end: max(16px, env(safe-area-inset-bottom));
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 2px solid var(--stk-cc-btn-bg);
	border-radius: 50%;
	background: var(--stk-cc-btn-bg);
	color: var(--stk-cc-btn-text);
	font: inherit;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .3);
}
.stk-cc--rv_left .stk-cc-revisit { inset-inline-start: max(16px, env(safe-area-inset-left)); }
.stk-cc--rv_right .stk-cc-revisit { inset-inline-end: max(16px, env(safe-area-inset-right)); }
.stk-cc-revisit svg { width: 24px; height: 24px; fill: currentColor; }

/* Screen reader only (live region) */
.stk-cc__live { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* The button inside [stk_cookie_settings] */
.stk-cc-open { cursor: pointer; }

@keyframes stk-cc-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.stk-cc__banner { animation: none; }
	.stk-cc__switch::after { transition: none; }
}
@media (forced-colors: active) {
	.stk-cc__banner,
	.stk-cc__dialog { border: 2px solid CanvasText; }
	.stk-cc-btn { border-color: ButtonText; }
	.stk-cc__switch:checked { background: Highlight; border-color: Highlight; }
	.stk-cc__switch:checked::after { background: HighlightText; }
}
@media (max-width: 480px) {
	.stk-cc--box_left .stk-cc__banner,
	.stk-cc--box_right .stk-cc__banner { bottom: var(--stk-cc-edge, 16px); }
	.stk-cc--box_left .stk-cc__banner { inset-inline-start: var(--stk-cc-edge, 16px); }
	.stk-cc--box_right .stk-cc__banner { inset-inline-end: var(--stk-cc-edge, 16px); }
	.stk-cc__banner { padding: 16px 18px; }
}

/* ---- the owner's colours and sizes win over theme styles (id selector + !important); an empty line height or letter
   spacing adds nothing, the server prints those rules only when they are set ---- */
#stk-cc .stk-cc__title { font-size: var(--stk-cc-s-title) !important; line-height: calc(var(--stk-cc-s-title) * 4 / 3) !important; color: var(--stk-cc-title) !important; }
#stk-cc .stk-cc__text { font-size: var(--stk-cc-s-text) !important; line-height: calc(var(--stk-cc-s-text) * 12 / 7) !important; color: var(--stk-cc-text) !important; }
#stk-cc .stk-cc-btn.stk-cc-btn { font-size: var(--stk-cc-s-btn) !important; min-height: var(--stk-cc-btn-h) !important; height: auto !important; line-height: 1 !important; letter-spacing: normal !important; font-weight: 500 !important; text-transform: none !important; padding: 13px 21px !important; border-radius: var(--stk-cc-btn-radius) !important; }
/* The same standard values as the rules above, made to win over theme rules with !important (a theme that styles
   h1-h6, p or button with !important otherwise sets letter spacing, size and height of the banner and its dialog).
   The owner's own line height and letter spacing are printed after this file, so they still win. */
#stk-cc .stk-cc__title,
#stk-cc .stk-cc__dtitle,
#stk-cc .stk-cc__text,
#stk-cc .stk-cc__catdesc,
#stk-cc .stk-cc__hint,
#stk-cc .stk-cc__empty { letter-spacing: inherit !important; text-transform: none !important; }
#stk-cc .stk-cc__dtitle { font-size: 1.25em !important; line-height: 1.3 !important; }
/* Category names: the one that is an h3 ("Strictly necessary") looked like the theme's h3 while the others (labels) did not. */
#stk-cc .stk-cc__catname { font-size: inherit !important; line-height: inherit !important; letter-spacing: inherit !important; text-transform: none !important; color: inherit !important; font-weight: 600 !important; margin: 0 !important; }
#stk-cc .stk-cc-btn--ghost.stk-cc-btn { background: transparent !important; color: var(--stk-cc-link) !important; border-color: var(--stk-cc-link) !important; }
#stk-cc .stk-cc__catdesc,
#stk-cc .stk-cc__empty { font-size: var(--stk-cc-s-text) !important; line-height: calc(var(--stk-cc-s-text) * 12 / 7) !important; color: inherit !important; }
#stk-cc .stk-cc__hint { font-size: calc(var(--stk-cc-s-text) * .9) !important; line-height: calc(var(--stk-cc-s-text) * 12 / 7) !important; color: inherit !important; }
#stk-cc .stk-cc-btn--main.stk-cc-btn { background: var(--stk-cc-btn-bg) !important; color: var(--stk-cc-btn-text) !important; }
