/*
Theme Name: Willkommen in Süderelbe
Theme URI: https://insuederelbe.de
Author: Initiative Willkommen in Süderelbe
Description: Ruhiges Block-Theme für die Initiative „Willkommen in Süderelbe“. Farben aus dem Logo, Teamfarben als Akzente, selbst gehostete Schriften, keine externen Anfragen.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 0.1.10
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: insuederelbe
*/

/* ===== Tokens ===== */
:root {
	--ise-orange: var(--wp--preset--color--orange);
	--ise-orange-tint: var(--wp--preset--color--orange-tint);
	--ise-lime: var(--wp--preset--color--lime);
	--ise-ink: var(--wp--preset--color--ink);
	--ise-paper: var(--wp--preset--color--paper);
	--ise-white: var(--wp--preset--color--white);
	--ise-muted: var(--wp--preset--color--muted);
	--ise-line: var(--wp--preset--color--line);
	--ise-radius: 6px;
	--ise-rule: 6px;
}
.t-behoerden { --tc: var(--wp--preset--color--behoerden); --tt: var(--wp--preset--color--behoerden-tint); --ticon: url("assets/icons/behoerden.svg"); }
.t-cafe { --tc: var(--wp--preset--color--cafe); --tt: var(--wp--preset--color--cafe-tint); --ticon: url("assets/icons/cafe.svg"); }
.t-deutsch { --tc: var(--wp--preset--color--deutsch); --tt: var(--wp--preset--color--deutsch-tint); --ticon: url("assets/icons/deutsch.svg"); }
.t-fahrrad { --tc: var(--wp--preset--color--fahrrad); --tt: var(--wp--preset--color--fahrrad-tint); --ticon: url("assets/icons/fahrrad.svg"); }

/* ===== Base ===== */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { text-decoration-thickness: 0.08em; text-underline-offset: 0.2em; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--ise-ink); outline-offset: 3px; }
[lang="fa"], [lang="ar"] { font-family: var(--wp--preset--font-family--vazirmatn); }

/* Footer always at the bottom, also on short pages */
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }
.admin-bar .wp-site-blocks { min-height: calc(100vh - var(--wp-admin--admin-bar--height, 32px)); }
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks > main { flex: 1 0 auto; }

/* Icons drawn with CSS masks, so they take the current colour */
.ise-icon-before::before,
.ise-team-title::before,
.ise-fact::before,
.ise-line::before,
.ise-more a::after,
.ise-back a::before {
	content: "";
	display: inline-block;
	flex: none;
	background-color: currentColor;
	-webkit-mask: var(--ise-mask) center / contain no-repeat;
	mask: var(--ise-mask) center / contain no-repeat;
}

/* ===== Header ===== */
.ise-header { border-block-start: 5px solid var(--ise-orange); border-block-end: 1px solid var(--ise-line); }
.ise-header__inner { row-gap: 0.6rem; }
.ise-header .wp-block-site-logo img { display: block; height: auto; }
.ise-lang { margin: 0; padding: 0.1rem 0.6rem; border: 2px solid var(--ise-ink); border-radius: 999px; font-weight: 700; font-size: 15px; line-height: 1.4; }

.ise-nav { position: relative; }
.ise-header .ise-header__inner > .ise-nav { margin-inline-start: auto; }
.ise-header .ise-header__inner > .ise-lang { margin-block: 0; }
.ise-nav .wp-block-navigation__container { gap: 0.15rem 0.25rem; }
.ise-nav .wp-block-navigation-item__content { padding: 0.4rem 0.6rem; border-radius: var(--ise-radius); text-decoration: none; }
.ise-nav .current-menu-item > .wp-block-navigation-item__content { font-weight: 700; }
.ise-nav .current-menu-ancestor > .wp-block-navigation-item__content,
.ise-nav .current-menu-item > .wp-block-navigation-item__content,
.ise-nav .current-menu-ancestor > .wp-block-navigation-submenu__toggle {
	text-decoration: underline; text-decoration-thickness: 3px; text-decoration-color: var(--ise-orange); text-underline-offset: 0.35em;
}
/* Mitmachen dropdown: opens on click (block setting), styled as a card */
.ise-nav .wp-block-navigation-submenu__toggle { padding: 0.4rem 0.6rem; font-weight: 600; }
.ise-nav .has-child .wp-block-navigation__submenu-container {
	background: var(--ise-white); color: var(--ise-ink);
	border: 1px solid var(--ise-line); border-radius: 8px; box-shadow: 0 16px 32px -20px rgb(0 0 0 / 0.4);
	padding: 0.4rem; top: calc(100% + 0.35rem);
}
.ise-nav .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container { min-width: 18rem; }
.ise-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label { white-space: nowrap; }
.ise-nav .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex; flex-wrap: wrap; align-items: center; column-gap: 0.65rem; padding: 0.55rem 0.7rem; font-weight: 700;
}
.ise-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child > .wp-block-navigation-item__content { border-block-end: 1px solid var(--ise-line); border-radius: 6px 6px 0 0; font-weight: 600; }
.ise-nav .wp-block-navigation__submenu-container [class*="t-"] > .wp-block-navigation-item__content::before {
	content: ""; width: 0.75rem; height: 0.75rem; border-radius: 50%; background: var(--tc);
}
.wp-block-navigation.ise-nav .wp-block-navigation-item__description { display: block; flex-basis: 100%; padding-inline-start: 1.4rem; font-size: 15px; font-weight: 500; color: var(--ise-muted); }
.ise-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.ise-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { background: var(--ise-paper); }
.ise-nav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { background: var(--ise-orange-tint); text-decoration: none; }

@media (max-width: 820px) {
	.ise-header .ise-header__inner > .ise-nav { order: 3; width: 100%; margin-inline-start: 0; }
	.ise-nav .wp-block-navigation__container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem; width: 100%; }
	.ise-nav .wp-block-navigation__container > .wp-block-navigation-item { position: static; }
	.ise-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
	.ise-nav .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle {
		display: flex; justify-content: center; width: 100%; padding: 0.5rem 0.3rem;
		background: var(--ise-white); border: 1px solid var(--ise-line); border-radius: var(--ise-radius);
	}
	.ise-nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
	.ise-nav .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-submenu__toggle {
		background: var(--ise-orange-tint); border-color: var(--ise-orange); text-decoration: none;
	}
	.ise-nav .has-child .wp-block-navigation__submenu-container,
	.ise-nav .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container { left: 0 !important; right: 0 !important; min-width: 0; }
	.ise-header .ise-header__inner > .ise-lang { margin-inline-start: auto; }
}

/* ===== Footer ===== */
.ise-footer a { color: inherit; }
.ise-footer .ise-footer__name { margin: 0; font-family: var(--wp--preset--font-family--bitter); font-weight: 650; font-size: 1.15rem; }
.ise-footer .wp-block-navigation-item__content { text-decoration: underline; }

/* ===== Page title area ===== */
.ise-page-title { border-block-end: 1px solid var(--ise-line); }
.ise-page-title .wp-block-post-title::before { content: ""; display: block; width: 3rem; height: 0.35rem; margin-block-end: 0.7rem; background: var(--ise-orange); }

/* ===== Generic components ===== */
.ise-card { background: var(--ise-white); border: 1px solid var(--ise-line); border-radius: var(--ise-radius); padding: clamp(1.1rem, 3vw, 1.6rem); }
.ise-card > :first-child { margin-block-start: 0; }
.ise-section-title { margin-block-end: 0.5rem; }
.ise-more { font-weight: 700; }
.ise-more a { display: inline-flex; align-items: center; gap: 0.4rem; }
.ise-more a::after { --ise-mask: url("assets/icons/arrow.svg"); width: 1.1em; height: 1.1em; }
.ise-back a { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 700; }
.ise-back a::before { --ise-mask: url("assets/icons/arrow.svg"); width: 1.1em; height: 1.1em; transform: scaleX(-1); }
.ise-nowrap { white-space: nowrap; }

/* Hero (home) */
.ise-tagline { margin: 0; font-weight: 700; color: var(--wp--preset--color--cafe); }
.ise-hero h1 { margin-block: 0.3rem 0; letter-spacing: -0.01em; }
.ise-greet { margin-block: 0.9rem 1.2rem; padding-block: 0.7rem; border-block: 1px solid var(--ise-line); gap: 0.4rem 1.6rem; align-items: flex-end; }
.ise-greet p { margin: 0; line-height: 1.25; }
.ise-greet .ise-greet__w { font-family: var(--wp--preset--font-family--bitter); font-weight: 600; font-size: clamp(1.1rem, 2.4vw, 1.35rem); }
.ise-greet [lang="fa"].ise-greet__w, .ise-greet [lang="ar"].ise-greet__w { font-family: var(--wp--preset--font-family--vazirmatn); }
.ise-greet .ise-greet__l { display: block; font-size: 15px; font-weight: 600; color: var(--ise-muted); }
.ise-greet p:nth-child(1) .ise-greet__w { color: var(--wp--preset--color--cafe); }
.ise-greet p:nth-child(2) .ise-greet__w { color: var(--wp--preset--color--deutsch); }
.ise-greet p:nth-child(3) .ise-greet__w { color: var(--wp--preset--color--behoerden); }
.ise-greet p:nth-child(4) .ise-greet__w { color: var(--wp--preset--color--fahrrad); }
.ise-intro { max-width: 62ch; font-size: var(--wp--preset--font-size--large); line-height: 1.5; }

/* Leitbild excerpt */
.ise-leit { border-inline-start: var(--ise-rule) solid var(--ise-orange); padding-inline-start: clamp(1rem, 3vw, 2rem); }
.ise-leit .ise-leit__title { display: flex; align-items: center; gap: 0.6rem; }
.ise-leit .ise-leit__title::before { content: ""; width: 0.8em; height: 0.8em; border-radius: 50%; background: var(--ise-lime); flex: none; }
.ise-leit .ise-leit__text { font-size: clamp(1.1rem, 2.2vw, 1.25rem); line-height: 1.6; max-width: 62ch; margin-block: 0.8rem 0; }

/* Home sections: more air between them */
.wp-block-post-content > :is(.ise-leit, .ise-teams, .ise-termine, .ise-pair):not(:first-child) { margin-block-start: clamp(2.5rem, 6vw, 4rem); }
.ise-hero > .ise-intro + p { margin-block-start: 0.8rem; }

/* Two columns for team cards and for the donation/contact pair (instead of the automatic grid) */
.ise-teams-grid.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ise-pair.is-layout-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(1rem, 3vw, 1.5rem); }
@media (max-width: 760px) {
	.ise-teams-grid.is-layout-grid, .ise-pair.is-layout-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Team cards */
.ise-teams-grid { gap: clamp(1rem, 2.5vw, 1.5rem); }
.ise-team { display: flex; flex-direction: column; gap: 0.8rem; border-inline-start: var(--ise-rule) solid var(--tc); }
.ise-team > * { margin: 0; }
.ise-team-title { display: flex; align-items: center; gap: 0.7rem; }
.ise-team-title::before { --ise-mask: var(--ticon); width: 2.2rem; height: 2.2rem; color: var(--tc); }
.ise-team .ise-more { margin-top: auto; }

/* Facts (Wann? Wo? Kontakt) */
.ise-facts { display: flex; flex-direction: column; gap: 0.6rem; background: var(--ise-white); border: 1px solid var(--ise-line); border-block-start: 5px solid var(--tc, var(--ise-orange)); border-radius: var(--ise-radius); padding: 1rem 1.1rem; }
.ise-facts > * { margin: 0; }
.ise-fact { position: relative; padding-inline-start: 1.65rem; overflow-wrap: anywhere; }
.ise-fact strong { font-size: 15px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.ise-fact::before { position: absolute; inset-inline-start: 0; top: 0.3rem; width: 1.15rem; height: 1.15rem; }
.ise-fact--when::before { --ise-mask: url("assets/icons/clock.svg"); }
.ise-fact--where::before { --ise-mask: url("assets/icons/pin.svg"); }
.ise-fact--mail::before { --ise-mask: url("assets/icons/mail.svg"); }

/* Weekly overview table */
.ise-week table { border-collapse: collapse; width: 100%; }
.ise-week th, .ise-week td { padding: 0.6rem; text-align: start; vertical-align: top; border: 0; border-block-end: 1px solid var(--ise-line); }
.ise-week thead { border: 0; }
.ise-week thead th { font-size: 15px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ise-muted); border-block-end: 2px solid var(--ise-ink); }
.ise-week thead th:first-child { width: 22%; }
.ise-week tbody td:first-child { font-family: var(--wp--preset--font-family--bitter); font-weight: 650; border-inline-start: var(--ise-rule) solid var(--tc); }
.ise-week tbody td:first-child a { color: var(--tc); }
.ise-week tbody tr:nth-child(1) { --tc: var(--wp--preset--color--behoerden); --tt: var(--wp--preset--color--behoerden-tint); }
.ise-week tbody tr:nth-child(2) { --tc: var(--wp--preset--color--cafe); --tt: var(--wp--preset--color--cafe-tint); }
.ise-week tbody tr:nth-child(3) { --tc: var(--wp--preset--color--deutsch); --tt: var(--wp--preset--color--deutsch-tint); }
.ise-week tbody tr:nth-child(4) { --tc: var(--wp--preset--color--fahrrad); --tt: var(--wp--preset--color--fahrrad-tint); }
.ise-week td { font-variant-numeric: tabular-nums; }
.ise-week tbody td:empty::after { content: "–"; color: #8A8378; }
.ise-week figcaption { margin-block-start: 0.8rem; text-align: start; font-weight: 600; }
@media (max-width: 700px) {
	.ise-week thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.ise-week table, .ise-week tbody, .ise-week tr, .ise-week td { display: block; }
	.ise-week tbody tr { margin-block-end: 0.8rem; padding-block: 0.3rem; background: var(--tt); border-inline-start: var(--ise-rule) solid var(--tc); }
	.ise-week tbody td { display: grid; grid-template-columns: 6.5rem 1fr; padding-block: 0.15rem; border: 0; }
	.ise-week tbody td:first-child { display: block; border: 0; padding-block-end: 0.2rem; }
	.ise-week tbody td:empty { display: none; }
	/* Day labels for the stacked view (German site; add :lang() rules when translations come) */
	.ise-week tbody td:nth-child(2)::before { content: "Montag"; font-weight: 700; }
	.ise-week tbody td:nth-child(3)::before { content: "Dienstag"; font-weight: 700; }
	.ise-week tbody td:nth-child(4)::before { content: "Mittwoch"; font-weight: 700; }
	.ise-week tbody td:nth-child(5)::before { content: "Donnerstag"; font-weight: 700; }
	.ise-week tbody td:nth-child(6)::before { content: "Freitag"; font-weight: 700; }
}

/* Donation and contact cards */
.ise-don { border-inline-start: var(--ise-rule) solid var(--ise-orange); }
.ise-con { border-inline-start: var(--ise-rule) solid var(--ise-lime); }
.ise-don .ise-lead { font-weight: 700; }
.ise-acct { display: flex; flex-direction: column; gap: 0.7rem; }
.ise-acct > * { margin: 0; }
.ise-acct__l { display: block; font-size: 15px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ise-muted); }
.ise-acct p { font-weight: 600; }
.ise-iban { font-family: var(--wp--preset--font-family--bitter); font-size: clamp(1.25rem, 3vw, 1.6rem); font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: 0.01em; line-height: 1.25; }
.ise-line { display: flex; align-items: center; gap: 0.5rem; margin: 0; font-weight: 600; }
.ise-line::before { width: 1.15rem; height: 1.15rem; }
.ise-line--mail::before { --ise-mask: url("assets/icons/mail.svg"); }
.ise-line--phone::before { --ise-mask: url("assets/icons/phone.svg"); }
.ise-mailrow { border-inline-start: 5px solid var(--tc); padding-inline-start: 0.8rem; }
.ise-mailrow > * { margin: 0; }

/* Team pages */
.ise-team-head { border-block-end: 1px solid var(--ise-line); }
.ise-team-head__in { border-inline-start: 8px solid var(--tc); padding-inline-start: clamp(1rem, 3vw, 1.6rem); }
.ise-crumb { margin: 0 0 0.4rem; font-weight: 600; }
.ise-team-head h1 { display: flex; align-items: center; gap: 0.8rem; margin: 0; }
.ise-team-head h1::before { content: ""; flex: none; width: 3rem; height: 3rem; background-color: var(--tc); -webkit-mask: var(--ticon) center / contain no-repeat; mask: var(--ticon) center / contain no-repeat; }
.ise-team-head .ise-lead { font-size: var(--wp--preset--font-size--large); max-width: 56ch; margin-block: 0.6rem 0; }
.ise-teampills { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; margin: 0; }
.ise-teampills a { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.3rem 0.75rem; border: 1px solid var(--ise-line); border-radius: 999px; background: var(--ise-white); text-decoration: none; font-weight: 600; }
.ise-teampills a:nth-of-type(n+2)::before { content: ""; width: 0.7rem; height: 0.7rem; border-radius: 50%; background: var(--dot); }
.ise-teampills a:nth-of-type(2) { --dot: var(--wp--preset--color--behoerden); }
.ise-teampills a:nth-of-type(3) { --dot: var(--wp--preset--color--cafe); }
.ise-teampills a:nth-of-type(4) { --dot: var(--wp--preset--color--deutsch); }
.ise-teampills a:nth-of-type(5) { --dot: var(--wp--preset--color--fahrrad); }
.ise-team-cols { gap: clamp(1.5rem, 4vw, 3rem); }
.ise-side { display: flex; flex-direction: column; gap: 1rem; }
.ise-side > * { margin: 0; }
.ise-nextbox { border-block-start: 5px solid var(--tc, var(--ise-orange)); }
.ise-nextbox h3 { font-size: 1.25rem; margin-block-end: 0.7rem; }

/* Lists inside long texts (e.g. the team list on Mitmachen) */
.entry-content ul.ise-teamlist, .ise-teamlist { list-style: none; padding: 0; display: grid; gap: 0.4rem; }
.ise-teamlist li { padding: 0.5rem 0.8rem; background: var(--ise-white); border-inline-start: 5px solid var(--ise-orange); }

/* ===== Calendar lists (Spiffy Calendar, upcoming list with style="Expanded") =====
   Only styling: if the calendar plugin changes, only this block changes. */
.wp-site-blocks .spiffy.page-upcoming-events { margin: 0; container-type: inline-size; font-size: var(--wp--preset--font-size--medium); }
.wp-site-blocks .spiffy.upcoming-events-list,
.wp-site-blocks .spiffy-upcoming-events { list-style: none; margin: 0; padding: 0; }
.wp-site-blocks .spiffy.upcoming-events-list { display: grid; gap: 0.9rem; }
.wp-site-blocks .spiffy-upcoming-day { display: grid; gap: 0.4rem; margin: 0; padding: 0; border: 0; background: none; }
@container (min-width: 600px) {
	.wp-site-blocks .spiffy-upcoming-day { grid-template-columns: 13rem minmax(0, 1fr); align-items: start; }
}
.wp-site-blocks .spiffy-upcoming-date { font-family: var(--wp--preset--font-family--bitter); font-weight: 650; font-size: 1.08rem; line-height: 1.3; }
@container (min-width: 600px) { .wp-site-blocks .spiffy-upcoming-date { padding-block-start: 0.5rem; } }
.wp-site-blocks .spiffy-upcoming-events { display: grid; gap: 0.4rem; }
.wp-site-blocks .spiffy-event-details { margin: 0; padding: 0; list-style: none; float: none; width: auto; }
.wp-site-blocks .spiffy-expanded-event {
	position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "time title" ". loc";
	gap: 0.1rem 1rem; align-items: baseline; float: none; width: auto;
	padding: 0.5rem 0.8rem 0.5rem calc(0.8rem + 6px);
	background: var(--ise-white); border: 1px solid var(--ise-line); border-radius: var(--ise-radius);
}
.wp-site-blocks .ise-card .spiffy-expanded-event { background: var(--ise-paper); }
.wp-site-blocks .spiffy-expanded-event.spiffy-clearfix::before,
.wp-site-blocks .spiffy-expanded-event.spiffy-clearfix::after { content: none; display: none; }
.wp-site-blocks .spiffy-expanded-event .spiffy-meta { margin: 0; display: block; }
.wp-site-blocks .page-upcoming-events .spiffy-expanded-event .spiffy-location,
.wp-site-blocks .page-upcoming-events .spiffy-expanded-event .spiffy-desc { width: auto; float: none; }
.wp-site-blocks .spiffy-expanded-event .spiffy-title { grid-area: title; font-weight: 700; font-size: inherit; line-height: 1.4; margin: 0; }
.wp-site-blocks .spiffy-expanded-event .spiffy-title::before {
	content: ""; position: absolute; inset-block: -1px; inset-inline-start: -1px; width: 6px;
	border-start-start-radius: var(--ise-radius); border-end-start-radius: var(--ise-radius); background: currentColor;
}
.wp-site-blocks .spiffy-expanded-event .spiffy-meta,
.wp-site-blocks .spiffy-expanded-event .spiffy-time { grid-area: time; font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wp-site-blocks .spiffy-expanded-event .spiffy-location, .wp-site-blocks .spiffy-expanded-event .spiffy-title { font-size: 17px; }
.wp-site-blocks .spiffy-expanded-event .spiffy-location { grid-area: loc; color: var(--ise-muted); }
.wp-site-blocks .spiffy-expanded-event .spiffy-location a[href*="maps.google"] { display: none; }
.wp-site-blocks .spiffy-expanded-event .spiffy-desc { grid-column: 1 / -1; margin: 0; }
.wp-site-blocks .spiffy-expanded-event .spiffy-desc:not(:has(*)) { display: none; }
.wp-site-blocks .spiffy-expanded-event .spiffy-desc p { margin: 0.2rem 0 0; }
.wp-site-blocks .spiffy-expanded-event .spiffy-location .ca-location-p { display: block; }
.wp-site-blocks :is(h2, h3) + .spiffy.page-upcoming-events { margin-block-start: 0.9rem; }
.wp-site-blocks .spiffy-expanded-event .spiffy-desc:empty,
.wp-site-blocks .spiffy-expanded-event .spiffy-location:empty,
.wp-site-blocks .spiffy-expanded-event .spiffy-img { display: none; }
.wp-site-blocks .spiffy-none-found { margin: 0; color: var(--ise-muted); font-weight: 600; }
@container (max-width: 440px) {
	.wp-site-blocks .spiffy-expanded-event { grid-template-columns: minmax(0, 1fr); grid-template-areas: "time" "title" "loc"; gap: 0.1rem; }
}

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Tables in page content (e.g. Impressum): quiet borders like the cards */
.wp-block-table table { border-collapse: collapse; background: var(--wp--preset--color--white); }
.wp-block-table td, .wp-block-table th { border: 1px solid var(--wp--preset--color--line); padding: 0.5rem 0.9rem; vertical-align: top; }
.wp-block-table td:first-child { color: var(--wp--preset--color--muted); white-space: nowrap; }
.wp-block-table td { overflow-wrap: anywhere; }
