/* The same turquoise and pale blue as the rental page. */
.ks-cookie-notice[hidden], .ks-cookie-info[hidden] { display: none !important; }
.ks-cookie-notice, .ks-cookie-dialog, .ks-cookie-info {
	--cookie-blue: var(--global-palette1, #0077b6);
	--cookie-soft: var(--global-palette8, #caf0f8);
	color: #17445b;
	font-family: var(--global-body-font-family, sans-serif);
	font-size: 15px;
	line-height: 1.55;
	text-align: left;
}
/* the notice: a modal dialog in the middle of the page, the page blurred behind it */
.ks-cookie-notice {
	box-sizing: border-box;
	width: min(520px, calc(100% - 32px));
	max-width: none;
	max-height: calc(100dvh - 32px);
	margin: auto;
	padding: 30px 32px 26px;
	background: var(--cookie-soft);
	border: 1px solid #ade8f4;
	box-shadow: 0 24px 70px rgb(0 40 60 / 28%);
	overflow: auto;
	overscroll-behavior: contain;
}
.ks-cookie-notice::backdrop {
	background: rgb(0 30 45 / 32%);
	-webkit-backdrop-filter: blur(8px);
	        backdrop-filter: blur(8px);
}
html:has(.ks-cookie-notice:modal) { overflow: hidden; } /* the page waits behind it */
@media (prefers-reduced-motion: no-preference) {
	.ks-cookie-notice:modal { animation: ks-cookie-in .45s cubic-bezier(.2, .7, .2, 1) both; }
	.ks-cookie-notice:modal::backdrop { animation: ks-cookie-fade .45s ease both; }
}
@keyframes ks-cookie-in { from { opacity: 0; transform: translateY(16px) scale(.97); } }
@keyframes ks-cookie-fade { from { opacity: 0; } }
/* browsers without <dialog>: a box in the corner, as before */
.ks-cookie-notice--corner { position: fixed; z-index: 10000; right: 24px; bottom: 24px; left: auto; top: auto; display: block; margin: 0; width: min(560px, calc(100% - 48px)); }
.ks-cookie-notice p { margin: 0 0 12px; }
.ks-cookie-notice .ks-cookie-notice__title { font-size: 18px; font-weight: 600; color: var(--cookie-blue); }
.ks-cookie-notice__actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ks-cookie-notice a, .ks-cookie-dialog a, .ks-cookie-info a { color: var(--cookie-blue); text-decoration: underline; text-underline-offset: 3px; }
.ks-cookie-notice [data-ks-cookie-dismiss], .ks-cookie-dialog [data-ks-cookie-close] {
	background: var(--cookie-blue);
	color: #fff;
	border: 1px solid var(--cookie-blue);
	border-radius: 0;
	box-shadow: none;
	font: inherit;
	font-weight: 600;
	text-transform: none;
	letter-spacing: normal;
	min-height: 44px;
	padding: 9px 18px;
	cursor: pointer;
}
.ks-cookie-notice [data-ks-cookie-dismiss]:hover, .ks-cookie-dialog [data-ks-cookie-close]:hover { background: var(--cookie-blue); color: #fff; filter: brightness(.97); }
.ks-cookie-notice :focus-visible, .ks-cookie-dialog :focus-visible, .ks-cookie-info :focus-visible { outline: 2px solid var(--cookie-blue); outline-offset: 4px; }
.ks-cookie-dialog {
	width: min(740px, calc(100% - 32px));
	max-width: 740px;
	max-height: calc(100dvh - 48px);
	padding: 38px;
	border: 1px solid #ade8f4;
	background: #fff;
	overflow: auto;
	overscroll-behavior: contain;
}
.ks-cookie-dialog::backdrop { background: rgb(0 65 97 / 35%); }
.ks-cookie-dialog__close { position: sticky; top: 0; float: right; margin: -18px -18px 8px 12px; width: 44px; padding: 0 !important; font-size: 25px !important; }
.ks-cookie-dialog h2, .ks-cookie-info h2 { margin: 0 35px 18px 0; color: var(--cookie-blue); font-size: clamp(25px, 4vw, 32px); }
.ks-cookie-dialog h3, .ks-cookie-info h3 { margin: 26px 0 10px; font-size: 19px; color: var(--cookie-blue); }
.ks-cookie-dialog p, .ks-cookie-info p { margin: 0 0 16px; }
.ks-cookie-list { margin: 22px 0; }
.ks-cookie-list > div { padding: 14px 16px; border-bottom: 1px solid #ade8f4; background: var(--cookie-soft); }
.ks-cookie-list dt { font-weight: 600; overflow-wrap: anywhere; }
.ks-cookie-list dd { margin: 5px 0 0; }
.ks-cookie-info { padding: 24px max(24px, calc((100% - 1100px) / 2)); background: var(--cookie-soft); }
.ks-cookie-info summary { cursor: pointer; color: var(--cookie-blue); }
.ks-cookie-info__body { margin-top: 16px; }
@media (max-width: 767px) {
	.ks-cookie-notice { width: calc(100% - 24px); padding: 22px 20px 18px; font-size: 14px; }
	.ks-cookie-notice--corner { right: 12px; bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
	.ks-cookie-notice__actions { gap: 12px; }
	.ks-cookie-dialog { padding: 25px 22px; }
	.ks-cookie-dialog__close { margin: -13px -10px 8px 12px; }
}
