/*
 * Sommerferienwoche Bern · Block-Theme
 * Werte aus dem Elementor-Original (Kit 28849, Seiten-CSS post-*.css, Hello Elementor, Elementor-Grundwerte).
 * Umbruchpunkte wie Elementor: Tablet bis 1024 px, Handy bis 767 px.
 */

:root {
	--sfw-p: #fc9f04;
	--sfw-s: #09183d;
	--sfw-t: #414c63;
	--sfw-a: #ff200f;
	--sfw-bg: #f2f2f2;
	--sfw-oswald: "Oswald", sans-serif;
	--sfw-poppins: "Poppins", sans-serif;
	--sfw-roboto: "Roboto", sans-serif;
}

/* ---------- Grundgerüst ---------- */

.sfw-main .wp-block-post-content > *,
.sfw-main > * {
	margin-block: 0;
}

.sfw-s {
	margin: 0;
}

/* Elementor-Container: boxed 1140 px, Spalten mit 10 px Innenabstand. */
.sfw-cols {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	gap: 0;
}

.sfw-cols.sfw-cols--700 {
	max-width: 700px;
}

.sfw-cols.sfw-cols--900 {
	max-width: 900px;
}

.sfw-cols > .wp-block-column {
	box-sizing: border-box;
	padding: 10px;
	min-width: 0;
}

/* Leere Elementor-Spalte: kein Innenabstand, aber 1 px hoch (leerer widget-wrap). */
.sfw-cols > .wp-block-column:empty {
	padding: 0;
	min-height: 1px;
}

.sfw-cols .sfw-cols {
	max-width: none;
}

/* Spalte wie Elementors widget-wrap: Flex-Spalte (Abstände fallen nicht zusammen), 20 px unter jedem Widget ausser dem letzten. */
.sfw-cols > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.sfw-cols > .wp-block-column > * {
	margin-block: 0;
}

.sfw-cols > .wp-block-column > *:not(:last-child) {
	margin-block-end: 20px;
}

/* Elementor stapelt erst unter 768 px, WordPress schon unter 782 px. */
@media (min-width: 768px) and (max-width: 781px) {
	.sfw-cols:not(.is-not-stacked-on-mobile) {
		flex-wrap: nowrap !important;
	}

	.sfw-cols:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1;
	}

	.sfw-cols:not(.is-not-stacked-on-mobile) > .sfw-w-66 {
		flex-grow: 2;
	}
}

/* ---------- Überschriften (Elementor-Widget «Überschrift»: line-height 1, Kit-Primärschrift) ---------- */

.sfw-hero__titel,
.sfw-titel,
.sfw-titel-standard,
.sfw-logotitel,
.sfw-countdown__titel {
	font-family: var(--sfw-oswald);
	font-weight: 600;
	line-height: 1;
	margin: 0;
	color: var(--sfw-p);
}

.sfw-titel-standard {
	font-size: 2rem;
}

.sfw-titel-standard.sfw-titel--sekundaer {
	color: var(--sfw-s);
}

.sfw-titel-standard.sfw-titel--schwarz {
	color: #000;
}

.sfw-titel {
	font-size: 35px;
	color: var(--sfw-s);
}

.sfw-logotitel {
	font-size: 1.75rem;
	color: #000;
}

/* ---------- Text (Elementor-Widget «Text-Editor») ---------- */

.sfw-text {
	display: flow-root;
	font-family: var(--sfw-poppins);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.5;
	color: var(--sfw-t);
}

/* Höher gewichtet: WordPress nullt sonst den Abstand des letzten Kindes (:root :where(.is-layout-flow) > :last-child). */
.sfw-text.sfw-text > p,
.sfw-text.sfw-text > ul,
.sfw-text.sfw-text > ol {
	margin: 0 0 0.9rem;
}

.sfw-text.sfw-text > h1,
.sfw-text.sfw-text > h2,
.sfw-text.sfw-text > h3,
.sfw-text.sfw-text > h4,
.sfw-text.sfw-text > h5,
.sfw-text.sfw-text > h6 {
	margin: 0.5rem 0 1rem;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.2;
	color: inherit;
}

.sfw-text h1 {
	font-size: 2.5rem;
}

.sfw-text h2 {
	font-size: 2rem;
}

.sfw-text h3 {
	font-size: 1.75rem;
}

.sfw-text h4 {
	font-size: 1.5rem;
}

.sfw-text a {
	color: var(--sfw-p);
}

.sfw-text--mitte {
	text-align: center;
}

.sfw-text--sekundaer {
	color: var(--sfw-s);
}

/* ---------- Kopfzeile (Elementor «Default Header», sticky) ---------- */

header.wp-block-template-part {
	display: contents;
}

.sfw-kopf {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 99;
	background: #fff;
	box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.15);
	padding: 6px 0;
}

.sfw-kopf .sfw-kopf__spalten {
	min-height: 60px;
	gap: 0;
	align-items: center !important;
	margin: 0;
}

.sfw-kopf .wp-block-column {
	padding: 0;
	min-width: 0;
}

.sfw-kopf__logo .sfw-logo {
	margin: 0 auto;
	text-align: center;
}

.sfw-kopf__logo .sfw-logo img {
	display: block;
	height: auto;
	aspect-ratio: auto;
	margin: 0 auto;
}

.sfw-menue {
	justify-content: center;
}

.sfw-menue .wp-block-navigation__container {
	gap: 0;
}

.sfw-menue .wp-block-navigation-item__content {
	position: relative;
	display: block;
	margin: 0 3px;
	padding: 12px 20px;
	font-family: var(--sfw-oswald);
	font-size: 16px;
	font-weight: 400;
	line-height: 20px;
	text-transform: uppercase;
	color: #54595f;
	transition: color 0.4s;
}

.sfw-menue .wp-block-navigation__container > li:first-child > .wp-block-navigation-item__content {
	margin-left: 0;
}

.sfw-menue .wp-block-navigation__container > li:last-child > .wp-block-navigation-item__content {
	margin-right: 0;
}

/* Zeiger: Linie unten, wächst von der Mitte. */
.sfw-menue .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 0;
	height: 3px;
	background: var(--sfw-p);
	transition: all 0.3s;
}

.sfw-menue .wp-block-navigation-item__content:hover,
.sfw-menue .wp-block-navigation-item__content:focus,
.sfw-menue .current-menu-item > .wp-block-navigation-item__content {
	color: var(--sfw-p);
}

.sfw-menue .wp-block-navigation-item__content:hover::after,
.sfw-menue .wp-block-navigation-item__content:focus::after,
.sfw-menue .current-menu-item > .wp-block-navigation-item__content::after {
	left: 0;
	width: 100%;
}

@media (max-width: 1024px) {
	.sfw-kopf {
		padding: 20px;
	}

	.sfw-kopf__spalten > .sfw-kopf__logo,
	.sfw-kopf__spalten > .sfw-kopf__aktion {
		flex-basis: 20% !important;
	}

	.sfw-kopf__spalten > .sfw-kopf__menue {
		flex-basis: 60% !important;
	}

	.sfw-menue .wp-block-navigation-item__content {
		margin: 0;
		padding: 12px 14px;
		font-size: 13px;
	}
}

@media (max-width: 767px) {
	.sfw-kopf {
		padding: 6px 20px;
	}

	.sfw-kopf .sfw-kopf__spalten.is-not-stacked-on-mobile {
		flex-wrap: wrap !important;
	}

	.sfw-kopf__spalten > .sfw-kopf__logo,
	.sfw-kopf__spalten > .sfw-kopf__menue,
	.sfw-kopf__spalten > .sfw-kopf__aktion {
		flex-basis: 50% !important;
	}

	.sfw-kopf__logo .sfw-logo,
	.sfw-kopf__logo .sfw-logo img {
		margin: 0;
		text-align: left;
	}

	/* Leere dritte Spalte (Button ausgeblendet) bricht um, im Original 1 px hoch. */
	.sfw-kopf__spalten > .sfw-kopf__aktion {
		min-height: 1px;
	}

	.sfw-kopf__logo .sfw-logo img {
		width: 60px;
	}

	.sfw-menue {
		justify-content: flex-end;
	}
}

/* Menü: Overlay «immer», ab 768 px als normale Zeile (Elementor klappt bis 767 px zu, WordPress sonst erst unter 600 px). */
@media (min-width: 768px) {
	.sfw-menue .wp-block-navigation__responsive-container-open {
		display: none;
	}

	.sfw-menue .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: block;
		position: relative;
		width: 100%;
		background-color: inherit;
		z-index: auto;
	}

	.sfw-menue .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close {
		display: none;
	}
}

/* Handy-Menü (Overlay bis 767 px). Elementor: Aufklappmenü #f2f2f2, Roboto 15 px. */
.sfw-menue .wp-block-navigation__responsive-container-open,
.sfw-menue .wp-block-navigation__responsive-container-close {
	color: #000;
}

.sfw-menue .wp-block-navigation__responsive-container-open {
	padding: 7.5px;
}

.sfw-menue .wp-block-navigation__responsive-container-open svg {
	width: 30px;
	height: 30px;
}

/* Gewichtung über der Kernregel .wp-block-navigation:not(.has-background) … .is-menu-open (weiss). */
.sfw-kopf .sfw-menue.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--sfw-bg);
	color: #000;
}

.sfw-kopf .sfw-menue .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	width: 100%;
	align-items: stretch;
	gap: 0;
}

.sfw-kopf .sfw-menue .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
}

.sfw-kopf .sfw-menue .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
	margin: 0;
	padding: 12px 20px;
	font-family: var(--sfw-roboto);
	font-size: 15px;
	font-weight: 500;
	text-transform: none;
	text-align: center;
	color: #000;
}

.sfw-menue .is-menu-open .wp-block-navigation-item__content::after {
	display: none;
}

.sfw-kopf .sfw-menue .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .current-menu-item > .wp-block-navigation-item__content,
.sfw-kopf .sfw-menue .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:hover {
	background: #ededed;
	color: var(--sfw-p);
}

/* ---------- Seitenkopf mit Bild (Elementor-Sektion mit Hintergrundbild und Overlay) ---------- */

.sfw-hero.wp-block-cover {
	min-height: 0;
	padding: 100px 0;
	align-items: flex-start;
}

.sfw-hero .wp-block-cover__inner-container {
	width: 100%;
	color: inherit;
}

.sfw-hero__titel {
	font-size: 80px;
	text-transform: uppercase;
	color: #fff;
}

.sfw-hero__datum {
	padding-bottom: 50px;
	font-family: var(--sfw-poppins);
	font-size: 25px;
	font-weight: 500;
	line-height: 1;
	color: #fff;
}

.sfw-hero.sfw-hero--countdown {
	padding: 98px 0 100px;
}

.sfw-countdown__titel {
	padding-bottom: 10px;
	font-size: 45px;
}

@media (max-width: 1024px) {
	.sfw-hero.wp-block-cover {
		padding: 80px 80px 300px;
	}

	.sfw-hero.sfw-hero--countdown {
		padding: 60px 30px;
	}

	.sfw-hero__titel {
		font-size: 60px;
	}

	.sfw-hero__datum {
		font-size: 20px;
	}
}

@media (max-width: 767px) {
	.sfw-hero.wp-block-cover {
		padding: 40px 20px;
	}

	.sfw-hero.sfw-hero--countdown {
		padding: 60px 20px;
	}

	.sfw-hero__titel {
		font-size: 38px;
		line-height: 1.2;
		letter-spacing: 2.9px;
	}

	.sfw-hero__datum {
		padding-bottom: 30px;
		line-height: 1.5;
	}

	.sfw-countdown__titel {
		font-size: 40px;
		line-height: 1.3;
	}
}

/* ---------- Buttons (Elementor: Roboto 500, line-height 1) ---------- */

.sfw-btn .wp-block-button__link {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 50px;
	background: var(--sfw-p);
	font-family: var(--sfw-roboto);
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	color: #fff;
}

.sfw-btn.sfw-btn--gross .wp-block-button__link {
	padding: 20px 40px;
	font-size: 18px;
}

.sfw-btn.sfw-btn--countdown .wp-block-button__link {
	padding: 20px 40px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 2px;
}

.sfw-hero__buttons,
.sfw-countdown__buttons {
	justify-content: center;
}


/* ---------- Startseite: Zahlen ---------- */

.sfw-zahlen {
	padding: 12px 0;
}

.sfw-zahl > p {
	margin: 0;
}

.sfw-zahl .is-style-sfw-zaehler {
	font-family: var(--sfw-oswald);
	font-size: 60px;
	font-weight: 600;
	line-height: 1;
	color: var(--sfw-s);
}

.sfw-zahl .sfw-zahl__titel {
	font-family: var(--sfw-oswald);
	font-size: 19px;
	font-weight: 600;
	line-height: 2.5;
	color: var(--sfw-s);
}

@media (max-width: 1024px) {
	.sfw-zahlen {
		padding: 50px 30px;
	}

	.sfw-zahlen__spalten > .wp-block-column:nth-child(n+3) .is-style-sfw-zaehler {
		font-size: 40px;
	}
}

@media (max-width: 767px) {
	.sfw-zahlen {
		padding: 60px 20px;
	}

	.sfw-zahlen .sfw-zahlen__spalten > .wp-block-column {
		flex-basis: 50% !important;
		padding: 0;
	}

	.sfw-zahlen .sfw-zahlen__spalten > .wp-block-column:nth-child(1) {
		padding-bottom: 50px;
	}

	.sfw-zahlen .sfw-zahlen__spalten > .wp-block-column:nth-child(2) {
		padding-bottom: 5px;
	}
}

/* ---------- Startseite: Einleitung und Infos ---------- */

.sfw-intro {
	padding: 30px 0 0;
}

.sfw-intro__text.sfw-intro__text > :last-child {
	margin-bottom: 30px;
}

.sfw-infos {
	padding: 30px 0;
}

.sfw-iconbox {
	display: flex;
	flex-direction: column;
	gap: 15px;
	text-align: center;
}

.sfw-iconbox::before {
	content: "";
	display: block;
	align-self: center;
	width: 50px;
	height: 50px;
	background: var(--sfw-p);
	-webkit-mask: var(--sfw-icon) center / contain no-repeat;
	mask: var(--sfw-icon) center / contain no-repeat;
}

.sfw-iconbox > * {
	margin: 0;
}

.sfw-iconbox .sfw-iconbox__titel {
	margin: 8px 0 16px;
	font-family: var(--sfw-oswald);
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sfw-s);
}

.sfw-iconbox .sfw-iconbox__text {
	margin: 0;
	font-family: var(--sfw-poppins);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.5;
	color: var(--sfw-t);
}

.sfw-iconbox .sfw-iconbox__titel + .sfw-iconbox__text {
	margin-top: -15px;
}

.is-style-sfw-iconbox-kalender {
	--sfw-icon: url("../icons/calendar-alt.svg");
}

.is-style-sfw-iconbox-ort {
	--sfw-icon: url("../icons/location-arrow.svg");
}

.is-style-sfw-iconbox-geld {
	--sfw-icon: url("../icons/money-bill-alt.svg");
}

.is-style-sfw-iconbox-warnung {
	--sfw-icon: url("../icons/exclamation-triangle.svg");
}

/* ---------- Startseite: Bildboxen ---------- */

.sfw-beschreibung {
	padding: 100px 0;
}

.sfw-bildbox {
	display: flex;
	align-items: flex-start;
	padding-bottom: 80px;
	text-align: start;
}

.sfw-bildbox:last-child {
	padding-bottom: 0;
}

.sfw-bildbox--rechts {
	flex-direction: row-reverse;
}

.sfw-bildbox .sfw-bildbox__bild {
	flex: 0 1 auto;
	width: 60%;
	margin: 0 50px 0 0;
}

.sfw-bildbox--rechts .sfw-bildbox__bild {
	margin: 0 0 0 50px;
}

.sfw-bildbox__bild img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 100px;
	transition: transform 0.3s;
}

.sfw-bildbox:hover .sfw-bildbox__bild img {
	transform: scale(0.9);
}

.sfw-bildbox .sfw-bildbox__inhalt {
	flex: 0 1 auto;
	width: 100%;
}

.sfw-bildbox__inhalt > * {
	margin: 0;
}

.sfw-bildbox .sfw-bildbox__titel {
	margin: 8px 0 20px;
	font-family: var(--sfw-oswald);
	font-size: 35px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sfw-s);
}

.sfw-bildbox--capitalize .sfw-bildbox__titel {
	text-transform: capitalize;
}

.sfw-bildbox .sfw-bildbox__text {
	margin: 0;
	font-family: var(--sfw-poppins);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.5;
	color: var(--sfw-t);
}

@media (max-width: 1024px) {
	.sfw-beschreibung {
		padding: 60px 30px;
	}

	.sfw-bildbox .sfw-bildbox__titel {
		font-size: 27px;
	}

	.sfw-bildbox:first-child .sfw-bildbox__titel {
		font-size: 28px;
	}
}

@media (max-width: 767px) {
	.sfw-beschreibung {
		padding: 40px 20px;
	}

	.sfw-bildbox,
	.sfw-bildbox--rechts {
		display: block;
		padding-bottom: 20px;
		text-align: center;
	}

	.sfw-bildbox:nth-child(3) {
		padding-bottom: 80px;
	}

	.sfw-bildbox:last-child {
		padding-bottom: 20px;
	}

	.sfw-bildbox .sfw-bildbox__bild,
	.sfw-bildbox--rechts .sfw-bildbox__bild {
		width: 100%;
		margin: 0 0 14px;
	}

	.sfw-bildbox__bild img {
		border-radius: 100%;
	}
}

/* ---------- Startseite: Logos ---------- */

.sfw-logos {
	padding: 0 0 30px;
}

/* Innere Sektion (keine Widget-Abstände, eigene 12 px oben und unten). */
.sfw-cols > .wp-block-column > .sfw-logoreihe,
.sfw-cols > .wp-block-column > .sfw-logoreihe:not(:last-child) {
	margin-block: 12px;
}

.sfw-logobild {
	margin: 0;
	text-align: center;
}

.sfw-logobild img {
	display: inline-block;
	width: 100%;
	height: 110px;
	object-fit: contain;
	object-position: center center;
	vertical-align: middle;
}

.sfw-logobild .wp-element-caption {
	margin: 20px 0 0;
	font-family: var(--sfw-poppins);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.4;
	color: var(--sfw-t);
	text-align: center;
}

.sfw-logoreihe--text > .sfw-spalte--mitte {
	align-self: center;
}

/* ---------- Startseite: Countdown ---------- */

/* margin-bottom: im Original folgt ein ausgeblendeter Button, der Countdown behält darum seinen Widget-Abstand. */
.sfw-countdown {
	display: flex;
	width: 100%;
	max-width: 47%;
	margin: 0 auto;
	padding: 10px 0 20px;
}

.sfw-cols > .wp-block-column > .sfw-countdown {
	margin: 0 auto 20px;
}

.sfw-countdown__item {
	flex: 1 1 0;
	margin: 0 5px;
	padding: 20px 0;
	text-align: center;
}

.sfw-countdown__item:first-child {
	margin-left: 0;
}

.sfw-countdown__item:last-child {
	margin-right: 0;
}

.sfw-countdown__ziffern {
	display: block;
	font-family: var(--sfw-oswald);
	font-size: 50px;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
}

.sfw-countdown__label {
	display: block;
	font-family: var(--sfw-poppins);
	font-size: 15px;
	font-weight: 300;
	line-height: 1;
	color: rgba(255, 255, 255, 0.71);
}

.is-style-sfw-countdown.sfw-countdown--js {
	display: none;
}

@media (max-width: 1024px) {
	.sfw-countdown {
		max-width: 70%;
		padding: 0;
	}
}

@media (max-width: 767px) {
	.sfw-countdown {
		max-width: 91%;
	}

	.sfw-countdown__ziffern {
		font-size: 40px;
	}

	.sfw-countdown__label {
		font-size: 13px;
	}
}

/* ---------- Unterseiten ---------- */

.sfw-inhalt {
	padding: 30px 0 0;
}

.sfw-abschluss {
	padding: 0 0 30px;
}

.sfw-galerie-sektion,
.sfw-anmeldung {
	padding: 30px 0;
}

.sfw-galerie.wp-block-gallery {
	gap: 12px;
}

.sfw-kontakt-adressen .sfw-spalte--ohne,
.sfw-kontakt-adressen > .sfw-cols > .wp-block-column {
	padding: 0;
}

.sfw-qr {
	text-align: center;
}

.sfw-qr img {
	max-width: 300px;
}

/* Icon-Box mit Icon links (Anmeldung, «ausgebucht»). */
.sfw-iconbox.sfw-iconbox--links {
	display: grid;
	grid-template-columns: 110px 1fr;
	column-gap: 40px;
	text-align: start;
}

.sfw-iconbox--links::before {
	grid-row: 1 / span 2;
	width: 110px;
	height: 110px;
}

/* ---------- Fusszeile ---------- */

.sfw-fuss {
	padding: 12px 0 0;
}

.sfw-fuss .wp-block-column {
	font-family: var(--sfw-poppins);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.5;
	color: #fff;
}

.sfw-fuss .wp-block-column > p {
	margin: 0;
	padding-bottom: 0.9rem;
}

.sfw-fuss a {
	color: var(--sfw-p);
}

@media (max-width: 767px) {
	.sfw-fuss .wp-block-column > p {
		text-align: center;
	}
}

/* Impressum, Datenschutz: eingefügte Elementor-Inhalte, weisser Hintergrund. */
.sfw-recht--rest {
	padding-bottom: 27px;
}

/* Leere Elementor-Sektion am Seitenende: 1 px Inhalt (leerer widget-wrap) plus 30 px Abstand. */
.sfw-abschluss {
	padding-top: 1px;
}

.sfw-text.sfw-text > ul,
.sfw-text.sfw-text > ol {
	margin: 0;
	padding-left: 40px;
}

/* Galerie «Bilder» (Elementor-Pro-Galerie: Raster 4 Spalten, Bilder 3:2 zugeschnitten, 12 px Abstand). */
.sfw-galerie.wp-block-gallery.has-nested-images {
	--wp--style--unstable-gallery-gap: 12px;
	gap: 12px;
}

.sfw-galerie.wp-block-gallery.has-nested-images figure.wp-block-image {
	aspect-ratio: 3 / 2;
	flex-grow: 0;
}

.sfw-galerie.wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Tablet und Handy: Elementor-Standardabstand 10 px (nur Desktop ist auf 12 px gesetzt). */
@media (max-width: 1024px) {
	.sfw-galerie.wp-block-gallery.has-nested-images {
		--wp--style--unstable-gallery-gap: 10px;
		gap: 10px;
	}

	.sfw-galerie.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
		width: calc(50% - 5px);
	}
}

@media (max-width: 767px) {
	.sfw-galerie.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
		width: 100%;
	}
}

/* Überschriften-Widget, das im Original in einem Text-Widget steckt (Impressum): Elementor-Stil, 20 px Widget-Abstand. */
.sfw-text.sfw-text > .sfw-titel-standard {
	margin: 0 0 20px;
	font-family: var(--sfw-oswald);
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	color: var(--sfw-p);
}

h1.sfw-titel-standard {
	font-size: 2.5rem;
}

/* Datenschutz: zwischen eingefügtem Inhalt und angehängtem Abschnitt liegt im Original die leere Fusszeile (27 px) statt des Widget-Abstands. */
.sfw-cols > .wp-block-column > :has(+ .sfw-nach-fusszeile) {
	margin-block-end: 27px;
}

/* Ausgeblendete erste Fussspalte: im Original bleibt die Spalte (mit verstecktem Widget) 20 px hoch. */
.sfw-fuss .sfw-cols > .sfw-fuss__links {
	padding: 10px;
}

/* Formular-Shortcode (Fluent Forms) setzt ein <script> dahinter: das Formular gilt trotzdem als letztes Widget. */
.sfw-cols > .wp-block-column > :has(+ script:last-child) {
	margin-block-end: 0;
}
