/* Header-Elemente: Newsletter-Anmeldung und nächste Ratssitzung
   Farben kommen aus der Kadence-Palette, damit ein Palettenwechsel mitgeht. */

.afd-ht {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	line-height: 1;
	color: inherit;
	text-transform: uppercase;
	vertical-align: middle;
}

.afd-ht-icon {
	display: block;
	flex: 0 0 auto;
	width: 1.4em;
	height: 1.4em;
}

.afd-ht__label {
	white-space: nowrap;
	letter-spacing: 0.02em;
}

.afd-ht__divider {
	display: inline-block;
	width: 1px;
	height: 1.5em;
	margin: 0 0.9em;
	background: currentColor;
	opacity: 0.55;
	vertical-align: middle;
}

/* Roter "Anmelden"-Button */
.afd-ht__pill {
	margin: 0;
	padding: 0.4em 0.95em 0.35em;
	border: 0;
	border-radius: 999px;
	background: var(--global-palette10, #cc0000);
	color: var(--global-palette9, #fff);
	font: inherit;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition: filter 0.15s ease;
}

.afd-ht__pill:hover,
.afd-ht__pill:focus-visible {
	filter: brightness(1.15);
	color: var(--global-palette9, #fff);
}

/* Datumsfeld der nächsten Ratssitzung */
.afd-ht__box {
	margin: 0;
	padding: 0.35em 0.7em 0.3em;
	border: 1px solid var(--global-palette3, #1a202c);
	border-radius: 4px;
	background: var(--global-palette9, #fff);
	color: var(--global-palette3, #1a202c);
	font: inherit;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.afd-ht__box:hover,
.afd-ht__box:focus-visible {
	background: var(--global-palette7, #f6f6f6);
	color: var(--global-palette3, #1a202c);
}

.afd-ht__box--empty {
	cursor: default;
}

.afd-ht--notice {
	padding: 0.3em 0.6em;
	border: 1px dashed currentColor;
	border-radius: 4px;
	font-size: 0.7em;
	text-transform: none;
}

.afd-ht :focus-visible {
	outline: 2px solid var(--global-palette9, #fff);
	outline-offset: 2px;
}

/* -------------------------------------------------------------------------
 * Popups
 * ---------------------------------------------------------------------- */

.afd-ht-popup {
	position: fixed;
	inset: 0;
	width: min(46rem, calc(100vw - 2rem));
	max-width: none;
	max-height: calc(100vh - 3rem);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: var(--global-palette9, #fff);
	color: var(--global-palette4, #173557);
	box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.35);
	overflow: visible;
}

.afd-ht-popup::backdrop {
	background: rgba(0, 0, 0, 0.62);
}

.afd-ht-popup__body {
	max-height: calc(100vh - 3rem);
	padding: clamp(1.5rem, 4vw, 2.75rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	border-radius: inherit;
}

.afd-ht-popup__close {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--global-palette5, #28425c);
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.afd-ht-popup__close:hover,
.afd-ht-popup__close:focus-visible {
	background: var(--global-palette7, #f6f6f6);
	color: var(--global-palette3, #1a202c);
}

.afd-ht-popup__close svg {
	width: 1.35rem;
	height: 1.35rem;
}

.afd-ht-popup__body > *:first-child {
	margin-top: 0;
}

.afd-ht-popup__body > *:last-child {
	margin-bottom: 0;
}

/* Inhalt des Ratssitzungs-Popups */
.afd-ht-event__eyebrow {
	display: block;
	margin: 0 0 0.25em;
	color: var(--global-palette1, #009ee0);
	font-size: 0.8em;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.afd-ht-event__title {
	margin: 0 0 0.75em;
	padding-right: 2rem;
}

.afd-ht-event__meta {
	margin: 0 0 1.5em;
	padding: 0.9em 1.1em;
	border-radius: 4px;
	background: var(--global-palette7, #f6f6f6);
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em 1.75em;
}

.afd-ht-event__meta li {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin: 0;
}

.afd-ht-event__meta .afd-ht-icon {
	width: 1.2em;
	height: 1.2em;
	color: var(--global-palette1, #009ee0);
}

.afd-ht-event__content {
	margin-bottom: 1.5em;
}

.afd-ht-event__actions {
	margin: 0;
}

.afd-ht-event__link {
	display: inline-block;
	padding: 0.55em 1.2em;
	border-radius: 4px;
	background: var(--global-palette1, #009ee0);
	color: var(--global-palette9, #fff);
	text-decoration: none;
	text-transform: uppercase;
	transition: filter 0.15s ease;
}

.afd-ht-event__link:hover,
.afd-ht-event__link:focus-visible {
	filter: brightness(1.1);
	color: var(--global-palette9, #fff);
}

@media (max-width: 719px) {
	.afd-ht__divider {
		display: none;
	}

	.afd-ht-event__meta {
		flex-direction: column;
	}
}
