/* Cookie consent banner: card at the bottom corner on wide screens, full-width sheet on phones. */
.vivaz-consent {
	position: fixed;
	z-index: 9999;
	inset-inline: .75rem;
	inset-block-end: max(.75rem, env(safe-area-inset-bottom, 0px));
	display: grid;
	gap: 1rem;
	max-width: 30rem;
	max-height: calc(100vh - 1.5rem);
	overflow-y: auto;
	padding: 1.25rem;
	border: 1px solid var(--vivaz-color-border, #d8dee9);
	border-radius: var(--vivaz-radius-lg, 1rem);
	background: var(--vivaz-color-surface, #fff);
	color: var(--vivaz-color-text, #1d2433);
	box-shadow: 0 .75rem 2.5rem rgba(23, 32, 51, .18);
	font-family: var(--vivaz-font-family-base, inherit);
	font-size: .9375rem;
	line-height: 1.5;
	opacity: 0;
	transform: translateY(.75rem);
	transition: opacity .2s ease, transform .2s ease;
}
.vivaz-consent[hidden] { display: none; }
.vivaz-consent.is-open { opacity: 1; transform: none; }
.vivaz-consent__body { display: grid; gap: .5rem; }
.vivaz-consent__title {
	margin: 0;
	color: var(--vivaz-color-heading, #172033);
	font-family: var(--vivaz-font-family-heading, inherit);
	font-size: 1.0625rem;
	font-weight: var(--vivaz-font-weight-heading, 700);
}
.vivaz-consent__title:focus { outline: none; }
.vivaz-consent__text { margin: 0; }
.vivaz-consent__text a { color: var(--vivaz-color-primary, #2457f5); font-weight: 600; }
.vivaz-consent__choices { display: grid; gap: .5rem; margin: .25rem 0 0; padding: .75rem; border: 0; border-radius: var(--vivaz-radius-md, .65rem); background: var(--vivaz-color-surface-subtle, #f3f5f7); }
.vivaz-consent__choices[hidden] { display: none; }
.vivaz-consent__legend { float: left; width: 100%; margin-block-end: .25rem; padding: 0; font-weight: 700; }
.vivaz-consent__choice { display: flex; gap: .6rem; align-items: flex-start; font-size: .875rem; cursor: pointer; }
.vivaz-consent__choice input { flex: none; width: 1.1rem; height: 1.1rem; margin-top: .15rem; accent-color: var(--vivaz-color-primary, #2457f5); }
.vivaz-consent__actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.vivaz-consent__button {
	flex: 1 1 auto;
	min-height: 2.75rem;
	padding: .6rem 1rem;
	border: 1px solid var(--vivaz-color-primary, #2457f5);
	border-radius: var(--vivaz-radius-button, .65rem);
	background: transparent;
	color: var(--vivaz-color-primary, #2457f5);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.vivaz-consent__button[hidden] { display: none; }
.vivaz-consent__button--primary { background: var(--vivaz-color-primary, #2457f5); color: #fff; }
.vivaz-consent__button--link { flex: 0 0 100%; min-height: 2.25rem; border-color: transparent; text-decoration: underline; text-underline-offset: .2em; }
.vivaz-consent__button:focus-visible, button.vivaz-consent-open:focus-visible { outline: 3px solid var(--vivaz-color-focus, #0b57d0); outline-offset: 2px; }
button.vivaz-consent-open { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
@media (min-width: 40em) {
	.vivaz-consent { inset-inline: 1.5rem auto; inset-block-end: 1.5rem; }
	.vivaz-consent__button--link { flex-basis: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.vivaz-consent { transition: none; }
}
