/*
 * Agnes-Wyssach-Schule: Komponenten-CSS.
 *
 * Bildet das bisherige Enfold-Layout nach (Maße am alten Theme gemessen,
 * siehe docs/architektur.md). Farben, Schriften und Breiten kommen aus theme.json
 * (var(--wp--preset--…)); hier steht nur, was Core-Blöcke nicht selbst können.
 *
 * Breakpoints wie Enfold: 990 px (Burger-Menü), 768 px (Spalten untereinander), 480 px.
 */

/* ---------- Grundlagen ---------- */

body {
	margin: 0;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
}

p,
:is(.is-layout-flow, .is-layout-constrained) > p {
	margin-block: 0.85em;
}

:is(.is-layout-flow, .is-layout-constrained) > :is(ul, ol, table) {
	margin-block: 0 20px;
}

ul,
ol {
	margin: 0 0 20px;
	padding-left: 1.6em;
}

strong,
b {
	color: var(--wp--preset--color--heading);
}

.is-dark strong,
.is-dark b {
	color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	letter-spacing: normal;
}

/* Überschriften im Fließtext wie in Enfold mit Luft nach unten. */
:where(.wp-block-freeform, .awsk-entry-content) :is(h1, h2, h3, h4, h5, h6) {
	margin: 0.8em 0 0.5em;
}

h4 {
	color: var(--wp--preset--color--blue);
}

h5 {
	color: var(--wp--preset--color--orange);
}

/* Abschnittstitel (h2 in Abschnitten): Versalien mit Sperrung. */
.awsk-section h2.wp-block-heading,
.wp-block-heading.is-style-section-title {
	text-transform: uppercase;
	letter-spacing: 1px;
}

.wp-block-heading + .awsk-subheading {
	margin: 4.5px 0 0;
	font-size: 15px;
	line-height: 1.3;
}

/* „&“ in Überschriften: kursiv, serifig, orange (Enfold special_amp). */
.awsk-amp {
	font-family: Baskerville, "Palatino Linotype", Palatino, "Times New Roman", serif;
	font-style: italic;
	font-size: 1.1em;
	color: var(--wp--preset--color--orange);
}

/* Klassische Bildausrichtung in alten Beiträgen und Klassik-Blöcken (img in <p>). */
:is(p, div, figure).alignleft,
p img.alignleft,
.wp-block-freeform img.alignleft,
.awsk-entry-content img.alignleft {
	float: left;
	margin: 4px 10px 10px 0;
}

:is(p, div, figure).alignright,
p img.alignright,
.awsk-entry-content img.alignright {
	float: right;
	margin: 4px 0 10px 10px;
}

p img.aligncenter,
.awsk-entry-content img.aligncenter {
	display: block;
	margin: 10px auto;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption-text {
	color: var(--wp--preset--color--meta);
	font-size: 13px;
}

.awsk-entry-content,
.wp-block-column {
	display: flow-root;
}

table {
	width: 100%;
	margin: 0 0 20px;
	border-collapse: collapse;
	font-size: 14px;
}

th,
td {
	padding: 9px 12px;
	border: 1px solid var(--wp--preset--color--border);
	text-align: left;
	vertical-align: top;
}

th {
	background: #f8f8f8;
	color: var(--wp--preset--color--heading);
	font-weight: 600;
}

/* Sichtbarkeit je Bildschirmgröße (Avia av-*-hide). */
@media (min-width: 990px) {
	.awsk-hide-desktop {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 989px) {
	.awsk-hide-medium {
		display: none !important;
	}
}

@media (min-width: 480px) and (max-width: 767px) {
	.awsk-hide-small {
		display: none !important;
	}
}

@media (max-width: 479px) {
	.awsk-hide-mini {
		display: none !important;
	}
}

/* ---------- Header ---------- */

.awsk-header {
	position: relative;
	z-index: 20;
	padding-bottom: 55px;
	border-bottom: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--white);
}

.awsk-header::before {
	position: absolute;
	top: 59px;
	right: 0;
	left: 0;
	border-top: 1px solid var(--wp--preset--color--border);
	content: "";
}

.awsk-header__bar {
	position: relative;
	height: 59px;
}

.awsk-header__logo {
	flex-shrink: 0;
}

.awsk-header__logo img {
	display: block;
	height: 58px;
	width: auto;
}

/* Hauptnavigation */
.awsk-nav {
	align-self: stretch;
	font-size: 13px;
	font-weight: 600;
}

.awsk-nav .wp-block-navigation__container {
	gap: 0;
	align-items: stretch;
	height: 100%;
}

.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item {
	position: relative;
	align-items: stretch;
}

.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	padding: 0 13px;
	color: #808080;
	line-height: 58px;
}

/* Trennstriche und blaue Linie hängen am Link, nicht am Listenpunkt: Mega-Menüpunkte sind
   position: static, damit das Panel an der Navigation ausgerichtet wird. */
.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	position: relative;
}

.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item > .wp-block-navigation-item__content::before {
	position: absolute;
	top: 50%;
	left: 0;
	height: 15px;
	margin-top: -7px;
	border-left: 1px solid var(--wp--preset--color--border);
	content: "";
}

.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.awsk-nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.awsk-nav .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content,
.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item > [aria-current="page"] {
	color: #333;
}

.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: var(--wp--preset--color--blue);
	opacity: 0;
	content: "";
	transition: opacity 0.2s;
}

.awsk-nav .wp-block-navigation__container > .has-child:is(:hover, :focus-within) > .wp-block-navigation-item__content::after {
	opacity: 0 !important;
}

.awsk-nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
.awsk-nav .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content::after,
.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item > [aria-current="page"]::after {
	opacity: 1;
}

/* Pfeil-Icon des Core-Untermenüs: Enfold zeigt keins. */
.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon {
	display: none;
}

/* Aufklappmenü (einfach) */
.awsk-nav .wp-block-navigation__submenu-container {
	min-width: 208px !important;
	padding: 0;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-top: 2px solid var(--wp--preset--color--blue) !important;
	background: var(--wp--preset--color--white);
	font-size: 12px;
	font-weight: 400;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

/* Panel-Oberkante (2 px Blau) liegt genau auf der Header-Linie; der Unterstrich des Punkts weicht ihr. */
.awsk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-container {
	top: calc(100% - 1px);
	left: auto;
	right: 0;
}

.awsk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 9px 15px !important;
	border-bottom: 1px solid var(--wp--preset--color--border);
	color: #808080;
	line-height: 1.6;
}

.awsk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: #fcfcfc;
	color: #333;
}

/* Mega-Menü: Unterpunkte mit eigenen Unterpunkten werden Spalten mit Titel. */
@media (min-width: 990px) {
	/* Mega-Menü am rechten Rand der Navigation ausrichten, drei Spalten wie Enfold („avia_mega3“). */
	.awsk-nav .wp-block-navigation__container {
		position: relative;
	}

	.awsk-nav li.awsk-mega {
		position: static !important;
	}

	.awsk-nav li.awsk-mega > .wp-block-navigation__submenu-container {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 30px 0;
		width: 870px !important;
		padding: 30px 0 !important;
	}

	/* Eine Spalte je Unterpunkt: Titel oben, Links direkt darunter (kein Strecken auf Zeilenhöhe). */
	.awsk-nav li.awsk-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
		display: block !important;
		box-sizing: border-box;
		flex: 0 0 33.333%;
		padding: 0 30px;
		border-left: 1px dotted var(--wp--preset--color--border);
	}

	.awsk-nav li.awsk-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(3n + 1) {
		border-left: 0;
	}

	.awsk-nav li.awsk-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		display: block;
		padding: 0 0 12px !important;
		border: 0;
		background: none !important;
		color: var(--wp--preset--color--heading);
		font-size: 17px;
		font-weight: 700;
		line-height: 1.2;
		pointer-events: none;
	}

	.awsk-nav li.awsk-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:is([href]:not([href="#"])) {
		pointer-events: auto;
	}

	.awsk-nav li.awsk-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon {
		display: none;
	}

	.awsk-nav li.awsk-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		position: static !important;
		width: auto !important;
		min-width: 0 !important;
		height: auto !important;
		padding: 0 !important;
		border: 0 !important;
		visibility: inherit !important;
		opacity: 1 !important;
		overflow: visible !important;
		box-shadow: none;
	}

	.awsk-nav li.awsk-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		position: relative;
		padding: 6px 0 6px 12px !important;
		border: 0;
		color: #777;
		font-size: 13px;
		line-height: 1.5;
	}

	.awsk-nav li.awsk-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
		background: none;
		color: var(--wp--preset--color--heading);
	}

	/* Kleines Dreieck wie Enfold statt Aufzählungspunkt */
	.awsk-nav li.awsk-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
		position: absolute;
		top: 50%;
		left: 0;
		width: 0;
		height: 0;
		margin-top: -3px;
		border-top: 3px solid transparent;
		border-bottom: 3px solid transparent;
		border-left: 4px solid #666;
		content: "";
	}
}

/* Burger-Menü wie Enfold schon unter 990 px (Core schaltet erst bei 600 px). */
@media (min-width: 600px) and (max-width: 989px) {
	.awsk-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.awsk-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

.awsk-nav .wp-block-navigation__responsive-container-open {
	align-self: center;
	color: var(--wp--preset--color--heading);
}

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

/* Geöffnetes Mobilmenü: Liste mit Linien wie in Enfold. */
.awsk-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 30px 30px 30px 50px;
}

.awsk-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 60px !important;
}

.awsk-nav .is-menu-open .wp-block-navigation__container {
	width: 100%;
	gap: 0 !important;
}

.awsk-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
}

.awsk-nav .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 14px 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--heading) !important;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4 !important;
}

.awsk-nav .is-menu-open .wp-block-navigation__submenu-container {
	padding: 0 0 0 20px !important;
	border: 0 !important;
	box-shadow: none;
}

.awsk-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 14px;
	color: #666 !important;
}

.awsk-nav .is-menu-open .wp-block-navigation-item__content::before,
.awsk-nav .is-menu-open .wp-block-navigation-item__content::after {
	display: none;
}

/* ---------- Abschnitte (Avia av_section) ---------- */

.awsk-section {
	padding-top: 50px;
	padding-bottom: 50px;
}

.awsk-section.is-padding-large {
	padding-top: 70px;
	padding-bottom: 70px;
}

.awsk-section.is-padding-small {
	padding-top: 20px;
	padding-bottom: 20px;
}

.awsk-section.is-padding-none {
	padding-top: 0;
	padding-bottom: 0;
}

.awsk-section.is-dark,
.awsk-section.is-dark :is(h1, h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--white);
}

.awsk-section.is-dark a {
	color: var(--wp--preset--color--white);
	text-decoration: underline;
}

/* Inhalte in Abschnitten: kein Block-Abstand, Enfold arbeitet mit Element-Rändern. */
.awsk-section > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.awsk-section .wp-block-heading {
	margin-bottom: 10px;
}

.awsk-section .wp-block-heading:has(+ .awsk-subheading) {
	margin-bottom: 0;
}

.awsk-section .awsk-subheading {
	margin-bottom: 10px;
}

/* Spalten wie Enfold: 6 % Abstand, untereinander ab 768 px. */
.awsk-section .wp-block-columns {
	margin-bottom: 0;
}

.awsk-section .wp-block-buttons:not(:first-child),
.awsk-section .wp-block-query + .wp-block-buttons {
	margin-top: 20px;
}

@media (max-width: 767px) {
	.awsk-section .wp-block-columns {
		flex-wrap: wrap !important;
		row-gap: 0;
	}

	.awsk-section .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* Kurze Linie unter Überschriften (Avia av_hr custom). Als Hintergrund gezeichnet, weil das
   Constrained-Layout von Core Kinder per !important mittig setzt; so bleibt die Linie bündig mit dem Text. */
.wp-block-separator.is-style-short.is-style-short:not(.is-style-wide) {
	width: 100% !important;
	height: 2px;
	border: 0;
	opacity: 1;
}

.wp-block-separator.is-style-short.is-style-short {
	background: linear-gradient(currentColor, currentColor) no-repeat 0 0 / 50px 2px !important;
}

.wp-block-separator.is-style-short.is-align-center {
	background-position: 50% 0 !important;
}

.wp-block-separator.is-style-short.is-align-right {
	background-position: 100% 0 !important;
}

.wp-block-separator.awsk-hr {
	margin: 30px 0;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--border);
	opacity: 1;
}

/* ---------- Bühne: Slider und Kopfbild ---------- */

.awsk-banner {
	margin-block: 0 !important;
}

.awsk-banner img {
	display: block;
	width: 100%;
}

.awsk-slideshow {
	position: relative;
	margin-block: 0 !important;
	overflow: hidden;
	aspect-ratio: 1500 / 430;
}

.awsk-slideshow > .wp-block-cover {
	position: absolute;
	inset: 0;
	min-height: 0;
	margin: 0;
	padding: 0 max(7.5vw, 20px);
}

.awsk-slideshow:not(.is-js) > .wp-block-cover:not(:first-child) {
	display: none;
}

.awsk-slideshow.is-js > .wp-block-cover {
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

.awsk-slideshow.is-js > .wp-block-cover.is-active {
	opacity: 1;
}

.awsk-slide .wp-block-cover__inner-container {
	position: static;
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
	color: var(--wp--preset--color--white);
}

/* Textbox wie Enfold: 42 % der Inhaltsbreite, 50 px Innenabstand, vertikal mittig. Rechts steht der
   Textblock bündig am rechten Rand, die Zeilen darin bleiben linksbündig (wie im alten Slider). */
.awsk-slide__caption {
	display: grid;
	align-content: center;
	justify-content: start;
	position: absolute;
	top: 0;
	bottom: 0;
	left: max(calc((100% - 1160px) / 2), max(7.5vw, 20px));
	z-index: 2;
	box-sizing: border-box;
	width: calc(min(1160px, 100% - 2 * max(7.5vw, 20px)) * 0.42);
	padding: 50px;
}

.awsk-slide.is-caption-right .awsk-slide__caption {
	right: max(calc((100% - 1160px) / 2), max(7.5vw, 20px));
	left: auto;
	justify-content: end;
}

.awsk-slide__title.wp-block-heading {
	margin: 0 0 10px;
	color: var(--wp--preset--color--white);
	font-size: 28px;
	font-weight: 300;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: normal;
}

.awsk-slide__text {
	margin: 0;
	font-size: 16px;
	line-height: 1.3;
}

.awsk-slide .wp-block-buttons {
	gap: 20px;
	margin-top: 20px;
}

.awsk-slide .wp-block-button .wp-block-button__link {
	font-weight: 700;
}

/* Einblenden der Texte bei jeder neuen Folie (Enfold-Fade-Slider). */
.awsk-slideshow.is-js > .is-active .awsk-slide__title {
	animation: awsk-caption-top 0.5s ease-out;
}

.awsk-slideshow.is-js > .is-active .awsk-slide__text {
	animation: awsk-caption-bottom 0.5s ease-out;
}

.awsk-slideshow.is-js > .is-active .wp-block-button:first-child {
	animation: awsk-caption-left 1.2s cubic-bezier(0.985, 0.005, 0.265, 1);
}

.awsk-slideshow.is-js > .is-active .wp-block-button + .wp-block-button {
	animation: awsk-caption-right 1.2s cubic-bezier(0.985, 0.005, 0.265, 1);
}

@media (max-width: 767px) {
	.awsk-slide__caption,
	.awsk-slide.is-caption-right .awsk-slide__caption {
		right: 20px;
		left: 20px;
		width: auto;
		max-width: none;
		padding: 0;
	}

	.awsk-slide__title.wp-block-heading {
		font-size: 16px;
		margin-bottom: 4px;
	}

	.awsk-slide__text {
		font-size: 12px;
	}

	.awsk-slide .wp-block-buttons {
		display: none;
	}
}

/* ---------- Buttons (Avia-Farben light, dark, highlight) ---------- */

.wp-block-button[class*="is-style-awsk-"] .wp-block-button__link {
	border: 3px solid transparent;
	border-radius: 3px;
	line-height: 1.2;
	transition: all 0.3s ease-out;
}

/* Slider-Buttons (Enfold avia-slideshow-button, Farbe light) */
.wp-block-button.is-style-awsk-light .wp-block-button__link {
	padding: 12px 16px;
	border-color: var(--wp--preset--color--white);
	background: rgba(0, 0, 0, 0.2);
	color: var(--wp--preset--color--white);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.wp-block-button.is-style-awsk-light .wp-block-button__link:hover {
	opacity: 0.7;
}

/* Große Avia-Buttons: 13 px, 15/30 px Innenabstand, mindestens 139 px breit. */
.wp-block-button:is(.is-style-awsk-dark, .is-style-awsk-highlight) .wp-block-button__link {
	min-width: 139px;
	padding: 15px 30px 13px;
	font-size: 13px;
	font-weight: 400;
	text-align: center;
	text-transform: none;
}

/* Enfold-Standard wäre Schwarz 60 %; das Quick-CSS der alten Seite färbte „dark“ blau. */
.wp-block-button.is-style-awsk-dark .wp-block-button__link {
	border-color: var(--wp--preset--color--blue);
	background: transparent;
	color: var(--wp--preset--color--blue);
}

.wp-block-button.is-style-awsk-highlight .wp-block-button__link {
	border-width: 0 0 1px;
	border-color: var(--wp--preset--color--blue);
	background: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--white);
}

.wp-block-button:is(.is-style-awsk-dark, .is-style-awsk-highlight) .wp-block-button__link:hover {
	opacity: 0.7;
}

/* ---------- Beitrags-Kacheln (Avia Masonry) ---------- */

.awsk-masonry .wp-block-post-template {
	gap: 8px;
}

.awsk-masonry .wp-block-post {
	position: relative;
	overflow: hidden;
}

.awsk-masonry .wp-block-post-featured-image {
	margin: 0;
	aspect-ratio: 1.27;
}

.awsk-masonry .wp-block-post-featured-image :is(a, img) {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.awsk-masonry .wp-block-post-featured-image img {
	transition: transform 0.4s;
}

.awsk-masonry .wp-block-post:hover .wp-block-post-featured-image img {
	transform: scale(1.05);
}

/* Titel und Datum erscheinen beim Überfahren über dem Bild. */
.awsk-masonry__caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 12px 15px;
	background: rgba(255, 255, 255, 0.92);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}

.awsk-masonry .wp-block-post:is(:hover, :focus-within) .awsk-masonry__caption {
	opacity: 1;
}

.awsk-masonry__caption .wp-block-post-title {
	margin: 0;
	font-size: 15px;
	line-height: 1.3;
}

.awsk-masonry__caption .wp-block-post-title a {
	color: var(--wp--preset--color--heading);
}

.awsk-masonry__caption .wp-block-post-date {
	color: var(--wp--preset--color--meta);
	font-size: 13px;
}

/* Bis das Skript übernimmt (dann per hidden), Kacheln nach der ersten Stufe ausblenden. */
.awsk-js .awsk-load-more:not(.is-js) .awsk-later {
	display: none;
}

.awsk-load-more__button {
	display: block;
	width: 100%;
	margin-top: 1px;
	padding: 20px;
	border: 0;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--orange);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.awsk-load-more__button:hover {
	letter-spacing: 0;
}

@media (max-width: 767px) {
	.awsk-masonry .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* ---------- Beitragsraster (Avia Blog-Grid) ---------- */

.awsk-blog-grid .wp-block-post-template {
	column-gap: 6%;
	row-gap: 50px;
}

.awsk-blog-grid .wp-block-post-featured-image {
	margin: 0 0 20px;
}

.awsk-blog-grid .wp-block-post-title {
	margin: 0 0 10px;
	font-size: 17.6px;
	line-height: 1.4;
}

.awsk-blog-grid .wp-block-post-title a {
	color: var(--wp--preset--color--heading);
}

.awsk-blog-grid .wp-block-post-date {
	color: var(--wp--preset--color--meta);
}

.awsk-blog-grid .wp-block-post-excerpt__excerpt {
	margin: 10px 0 0;
}

.awsk-blog-grid .wp-block-post-excerpt__more-text {
	display: none;
}

@media (max-width: 767px) {
	.awsk-blog-grid .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* ---------- Träger-Logos ---------- */

.awsk-partners {
	gap: 1px !important;
	background: var(--wp--preset--color--gold);
}

.awsk-partners .wp-block-image {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 30px;
	background: var(--wp--preset--color--white);
}

.awsk-partners img {
	width: 85%;
}

@media (max-width: 767px) {
	.awsk-partners {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* ---------- Beiträge: Inhalt mit Seitenleiste ---------- */

.awsk-with-sidebar__columns {
	gap: 0 !important;
	margin: 0;
}

.awsk-with-sidebar__content {
	padding: 50px 50px 50px 0;
}

.awsk-with-sidebar__aside {
	padding: 50px 0 50px 50px;
	border-left: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--meta);
}

.awsk-entry-image {
	margin: 0 0 30px;
}

.awsk-entry-image img {
	display: block;
	width: 100%;
	border-radius: 2px;
}

.awsk-entry-title {
	margin: 0 0 5px;
	font-size: 21px;
	line-height: 1.3;
}

.awsk-entry-title a {
	color: var(--wp--preset--color--heading);
}

.awsk-entry-meta {
	gap: 0.4em;
	margin-bottom: 25px;
	color: var(--wp--preset--color--meta);
	font-size: 14.4px;
}

.awsk-entry-meta a {
	color: var(--wp--preset--color--meta);
}

.awsk-archive .wp-block-post {
	padding-bottom: 50px;
	margin-bottom: 50px;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.awsk-pagination {
	gap: 20px;
	font-size: 14px;
}

/* Seitenleiste */
.awsk-widget-title.wp-block-heading {
	margin: 0 0 8px;
	font-size: 17.6px;
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.awsk-with-sidebar__aside .awsk-widget-title {
	color: var(--wp--preset--color--heading);
}

.awsk-latest-posts {
	margin: 0 0 50px;
	padding: 0;
	font-size: 13.6px;
	line-height: 1.5;
}

.awsk-latest-posts li {
	padding: 8px 0 10px;
	border-bottom: 3px solid var(--wp--preset--color--border);
}

.awsk-latest-posts li:last-child {
	border-bottom: 0;
}

.awsk-latest-posts a {
	display: inline;
	color: var(--wp--preset--color--meta);
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
}

.awsk-latest-posts .wp-block-latest-posts__post-date {
	display: inline;
	margin-left: 0.3em;
	color: var(--wp--preset--color--meta);
	font-size: inherit;
}

.awsk-categories {
	padding: 0;
	list-style: none;
}

.awsk-categories a {
	color: var(--wp--preset--color--meta);
}

@media (max-width: 767px) {
	.awsk-with-sidebar__columns {
		flex-wrap: wrap !important;
	}

	.awsk-with-sidebar__columns > .wp-block-column {
		flex-basis: 100% !important;
	}

	.awsk-with-sidebar__content {
		padding-right: 0;
	}

	.awsk-with-sidebar__aside {
		padding-left: 0;
		border-top: 1px solid var(--wp--preset--color--border);
		border-left: 0;
	}
}

/* ---------- Footer ---------- */

.awsk-footer {
	padding-top: 45px;
	padding-bottom: 45px;
	color: #ddd;
}

.awsk-footer .wp-block-columns {
	margin: 0;
}

.awsk-footer .awsk-widget-title {
	margin-top: 15px;
	color: var(--wp--preset--color--yellow);
}

.awsk-footer a {
	color: var(--wp--preset--color--white);
}

.awsk-footer a:hover {
	color: var(--wp--preset--color--yellow);
}

.awsk-socket {
	padding-top: 15px;
	padding-bottom: 15px;
	color: #eee;
	font-size: 11px;
}

.awsk-socket p {
	margin: 0;
}

.awsk-socket a {
	color: var(--wp--preset--color--white);
}

.awsk-socket a:hover {
	color: var(--wp--preset--color--yellow);
}

/* ---------- Icon-Box (Avia av_icon_box, Icon oben) ---------- */

/* Entypo-Icons (Daniel Bruce, CC BY-SA 4.0), Zusammenstellung aus Enfold via Fontello. */
@font-face {
	font-family: "entypo-fontello";
	src: url("https://www.sfz-kempten.de/wp-content/themes/aws-kempten/assets/fonts/entypo-fontello.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: block;
}

.awsk-iconbox {
	position: relative;
	margin: 30px 0;
	padding: 35px 20px 20px;
	border: 1px solid #ebebeb;
	background: #fcfcfc;
	text-align: center;
}

.awsk-iconbox__icon {
	position: absolute;
	top: 0;
	left: 50%;
	width: 40px;
	height: 40px;
	margin: -20px 0 0 -20px !important;
	border-radius: 50%;
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--white);
	font-family: "entypo-fontello";
	font-size: 18px;
	line-height: 40px;
}

.awsk-iconbox__title.wp-block-heading {
	margin: 10px 0 15px;
	color: var(--wp--preset--color--heading);
	font-size: 17.6px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.awsk-iconbox ol,
.awsk-iconbox ul {
	text-align: left;
}

/* ---------- Horizontale Galerie ---------- */

.wp-block-gallery.awsk-hgallery {
	flex-wrap: nowrap !important;
	gap: 8px !important;
	margin: 0;
	overflow-x: auto;
}

/* Bilder in voller Proportion nebeneinander, gemeinsame Höhe wie Enfold (Höhe 25 % der Breite). */
.wp-block-gallery.awsk-hgallery > .wp-block-image {
	flex: 0 0 auto !important;
	width: auto !important;
	height: min(290px, 20vw);
	margin: 0 !important;
}

.wp-block-gallery.awsk-hgallery > .wp-block-image img {
	width: auto !important;
	height: 100% !important;
	object-fit: contain;
}

/* ---------- Einblend-Animationen (Enfold avia-btt, avia-ltr … , Kacheln avia_msonry_show) ---------- */

@media (prefers-reduced-motion: no-preference) {
	.awsk-js :is(.awsk-anim, .awsk-masonry .wp-block-post, .awsk-blog-grid .wp-block-post):not(.is-visible) {
		opacity: 0;
	}

	.awsk-anim--bottom-to-top.is-visible {
		animation: awsk-btt 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) both;
	}

	.awsk-anim--top-to-bottom.is-visible {
		animation: awsk-ttb 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
	}

	.awsk-anim--left-to-right.is-visible {
		animation: awsk-ltr 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
	}

	.awsk-anim--right-to-left.is-visible {
		animation: awsk-rtl 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
	}

	.awsk-anim--fade-in.is-visible {
		animation: awsk-fadein 1.5s ease-out both;
	}

	.awsk-anim--pop-up.is-visible {
		animation: awsk-pop 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
	}

	:is(.awsk-masonry, .awsk-blog-grid) .wp-block-post-template {
		perspective: 1000px;
	}

	:is(.awsk-masonry, .awsk-blog-grid) .wp-block-post.is-visible {
		animation: awsk-masonry-show 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.075) both;
	}
}

@keyframes awsk-btt {
	from { opacity: 0; transform: translate(0, 50%); }
	to { opacity: 1; transform: none; }
}

@keyframes awsk-ttb {
	from { opacity: 0; transform: translate(0, -10%); }
	to { opacity: 1; transform: none; }
}

@keyframes awsk-ltr {
	from { opacity: 0; transform: translate(-10%, 0); }
	to { opacity: 1; transform: none; }
}

@keyframes awsk-rtl {
	from { opacity: 0; transform: translate(10%, 0); }
	to { opacity: 1; transform: none; }
}

@keyframes awsk-fadein {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes awsk-pop {
	from { opacity: 0.1; transform: scale(0.7); }
	to { opacity: 1; transform: none; }
}

@keyframes awsk-masonry-show {
	from { opacity: 0.1; transform: translateZ(300px) translateY(200px) rotateX(-70deg); }
	to { opacity: 1; transform: none; }
}

@keyframes awsk-caption-top {
	from { opacity: 0; transform: translate(0, -20px); }
	to { opacity: 1; transform: none; }
}

@keyframes awsk-caption-bottom {
	from { opacity: 0; transform: translate(0, 20px); }
	to { opacity: 1; transform: none; }
}

@keyframes awsk-caption-left {
	from { opacity: 0; transform: translate(-2000px, 0); }
	to { opacity: 1; transform: none; }
}

@keyframes awsk-caption-right {
	from { opacity: 0; transform: translate(2000px, 0); }
	to { opacity: 1; transform: none; }
}

/* Bild vergrößert sich beim Überfahren (Avia av-hover-grow). */
.awsk-hover-grow {
	overflow: hidden;
}

.awsk-hover-grow img {
	transition: transform 1.7s cubic-bezier(0.23, 1, 0.32, 1);
}

.awsk-hover-grow:hover img {
	transform: scale(1.1);
}

/* ---------- Nach oben (Enfold #scroll-top-link) ---------- */

.awsk-scroll-top {
	position: fixed;
	right: 50px;
	bottom: 50px;
	z-index: 1030;
	width: 50px;
	height: 50px;
	border: 1px solid #444;
	border-radius: 2px;
	background: #333;
	color: #eee;
	font-family: "entypo-fontello";
	line-height: 50px;
	text-align: center;
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease-out;
}

.awsk-scroll-top.is-shown {
	opacity: 0.7;
	visibility: visible;
}

.awsk-scroll-top:hover {
	color: #eee;
	opacity: 1;
}

@media (max-width: 767px) {
	.awsk-scroll-top {
		display: none;
	}
}
