.adam-cookie-bar,
.adam-cookie-preferences {
	--adam-cookie-green-900: var(--adam-primary, #173f24);
	--adam-cookie-green-700: var(--adam-primary, #2f6b3b);
	--adam-cookie-green-100: var(--adam-success-bg, #e8f4ea);
	--adam-cookie-border: var(--adam-shadow-color, rgba(23, 63, 36, 0.14));
	--adam-cookie-surface: var(--adam-surface, rgba(255, 255, 255, 0.98));
	--adam-cookie-muted: var(--adam-text-muted, #4d5b69);
	--adam-cookie-shadow: 0 18px 42px var(--adam-shadow-color, rgba(16, 32, 51, 0.18));
}

.adam-cookie-bar,
.adam-cookie-preferences {
	position: fixed;
	left: 16px;
	right: 92px;
	z-index: 900;
	max-width: 980px;
	margin: 0 auto;
}

.adam-cookie-bar {
	bottom: 16px;
	padding: 14px 16px;
	border: 1px solid var(--adam-cookie-border);
	border-radius: 18px;
	background: var(--adam-cookie-surface);
	box-shadow: var(--adam-cookie-shadow);
	backdrop-filter: blur(10px);
}

.adam-cookie-bar[hidden],
.adam-cookie-bar.is-hidden,
.adam-cookie-preferences[hidden],
.adam-cookie-footer-template[hidden] {
	display: none !important;
}

.adam-cookie-banner__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
}

.adam-cookie-bar h2,
.adam-cookie-preferences h2,
.adam-cookie-preferences h3 {
	margin: 0;
	color: var(--adam-cookie-green-900);
	letter-spacing: 0;
}

.adam-cookie-bar h2 {
	font-size: 1rem;
	line-height: 1.3;
}

.adam-cookie-bar p,
.adam-cookie-preferences p {
	margin: 8px 0 0;
	color: var(--adam-cookie-muted);
	line-height: 1.55;
}

.adam-cookie-banner__links {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-left: 8px;
}

.adam-cookie-banner__links a,
.adam-cookie-footer-link__button,
.adam-cookie-preferences a {
	color: var(--adam-cookie-green-900);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.adam-cookie-banner__actions,
.adam-cookie-modal__footer {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.adam-cookie-button,
.adam-cookie-footer-link__button,
.adam-cookie-icon-button {
	font: inherit;
}

.adam-cookie-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 15px;
	border: 0;
	border-radius: 999px;
	background: var(--adam-cookie-green-700);
	color: var(--adam-text-inverse, #ffffff);
	font-size: 0.94rem;
	font-weight: 800;
	cursor: pointer;
}

.adam-cookie-button.is-secondary {
	background: var(--adam-surface-2, #e6ece8);
	color: var(--adam-text, #102033);
}

.adam-cookie-button.is-ghost {
	border: 1px solid var(--adam-cookie-border);
	background: transparent;
	color: var(--adam-cookie-green-900);
}

.adam-cookie-preferences {
	bottom: 92px;
	pointer-events: none;
}

.adam-cookie-modal__dialog {
	pointer-events: auto;
	display: grid;
	gap: 14px;
	width: min(100%, 720px);
	margin-left: auto;
	padding: 16px;
	border: 1px solid var(--adam-cookie-border);
	border-radius: 18px;
	background: var(--adam-surface, #ffffff);
	box-shadow: 0 16px 36px var(--adam-shadow-color, rgba(16, 32, 51, 0.16));
}

.adam-cookie-modal__header {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 16px;
}

.adam-cookie-modal__eyebrow {
	margin: 0 0 4px;
	color: var(--adam-cookie-green-700);
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.adam-cookie-icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--adam-cookie-border);
	border-radius: 999px;
	background: var(--adam-surface, #ffffff);
	color: var(--adam-text, #102033);
	font-size: 1.2rem;
	cursor: pointer;
}

.adam-cookie-modal__body {
	display: grid;
	gap: 10px;
}

.adam-cookie-option {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 14px;
	border: 1px solid var(--adam-cookie-border);
	border-radius: 14px;
	background: linear-gradient(180deg, var(--adam-surface, #ffffff), var(--adam-surface, #f8fbf9));
}

.adam-cookie-option.is-required {
	background: linear-gradient(180deg, var(--adam-surface, #f6fbf7), var(--adam-surface, #ffffff));
}

.adam-cookie-option h3 {
	font-size: 0.96rem;
	line-height: 1.3;
}

.adam-cookie-option p {
	margin-top: 4px;
	font-size: 0.92rem;
}

.adam-cookie-option input[type="checkbox"] {
	width: 22px;
	height: 22px;
	margin: 0;
	accent-color: var(--adam-cookie-green-700);
}

.adam-cookie-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--adam-cookie-green-100);
	color: var(--adam-cookie-green-900);
	font-size: 0.82rem;
	font-weight: 800;
}

.adam-cookie-footer-mount {
	margin-top: 14px;
}

.adam-cookie-footer-link {
	display: inline-flex;
	align-items: center;
}

.adam-cookie-footer-link__button {
	border: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
}

.adam-cookie-button:focus-visible,
.adam-cookie-footer-link__button:focus-visible,
.adam-cookie-icon-button:focus-visible,
.adam-cookie-option input[type="checkbox"]:focus-visible {
	outline: 3px solid var(--adam-focus-ring, rgba(63, 143, 77, 0.32));
	outline-offset: 3px;
}

.adam-events-media-notice {
	margin-top: 22px;
	padding: 18px;
	border: 1px solid var(--adam-overlay, rgba(191, 125, 0, 0.26));
	border-radius: 18px;
	background: linear-gradient(180deg, var(--adam-warning-bg, #fff9eb), var(--adam-warning-bg, #fffef8));
	color: var(--adam-text, #5d4a17);
}

.adam-events-media-notice h2 {
	margin: 0 0 8px;
	font-size: 1rem;
}

.adam-events-media-notice p {
	margin: 0;
	line-height: 1.6;
}

@media (max-width: 782px) {
	.adam-cookie-bar,
	.adam-cookie-preferences {
		left: 12px;
		right: 12px;
	}

	.adam-cookie-bar {
		bottom: 12px;
		padding: 14px;
	}

	.adam-cookie-banner__content,
	.adam-cookie-option {
		grid-template-columns: 1fr;
	}

	.adam-cookie-banner__actions .adam-cookie-button,
	.adam-cookie-modal__footer .adam-cookie-button {
		width: 100%;
	}

	.adam-cookie-preferences {
		bottom: 136px;
	}

	.adam-cookie-modal__dialog {
		padding: 14px;
		border-radius: 16px;
	}
}
