/* ==========================================================
   angela-mahr.de – neues Design
   Vorlagen: Angela-Website-Design5 (Startseite), AM-Designvorlage (Rest)

   1. Schriften
   2. Farben & Grundwerte
   3. Grundlayout (Seite als Karte vor dem Erd-Hintergrund)
   4. Buttons
   5. Header & Menü
   6. Startseite
   7. Unterseiten, Beiträge, Archive, Sidebar
   8. Veranstaltungskalender (The Events Calendar)
   9. Footer
  10. YouTube-Videos (Laden erst nach Klick)
   ========================================================== */


/* ---------- 1. Schriften (lokal, keine Google-Verbindung) ---------- */

@font-face { font-family: "Playfair Display"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/playfair-display-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/playfair-display-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-weight: 700; font-style: normal; font-display: swap; src: url("../fonts/playfair-display-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto Condensed"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/roboto-condensed-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto Condensed"; font-weight: 400; font-style: italic; font-display: swap; src: url("../fonts/roboto-condensed-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Roboto Condensed"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/roboto-condensed-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto Condensed"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/roboto-condensed-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Allura"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/allura-latin-400-normal.woff2") format("woff2"); }

/* Das Eltern-Theme fragt an vielen Stellen „Poppins“ und „Cormorant Garamond“ an.
   Diese Namen zeigen hier auf die neuen Schriften – so greift das neue Design überall. */
@font-face { font-family: "Cormorant Garamond"; font-weight: 400 500; font-display: swap; src: url("../fonts/playfair-display-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-weight: 600 900; font-display: swap; src: url("../fonts/playfair-display-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 100 400; font-display: swap; src: url("../fonts/roboto-condensed-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 500; font-display: swap; src: url("../fonts/roboto-condensed-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 600 900; font-display: swap; src: url("../fonts/roboto-condensed-latin-600-normal.woff2") format("woff2"); }


/* ---------- 2. Farben & Grundwerte ---------- */

:root {
	--am-cream:       #f5efe4;
	--am-cream-light: #faf7f1;
	--am-white:       #ffffff;
	--am-sage:        #7f977f;
	--am-sage-dark:   #677f68;
	--am-sage-light:  #dfe6dc;
	--am-blue:        #5d6d84;
	--am-blue-dark:   #4a596d;
	--am-forest:      #2f4a3a;
	--am-ink:         #26292b;
	--am-text:        #3a3d40;
	--am-muted:       #6c7073;
	--am-line:        #e4dccd;

	--am-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--am-sans:  "Roboto Condensed", "Arial Narrow", Arial, sans-serif;

	--am-radius:  6px;
	--am-radius-lg: 14px;
	--am-shadow:  0 2px 6px rgba(38, 41, 43, .06), 0 10px 28px rgba(38, 41, 43, .08);
	--am-page-max: 1320px;
	--am-content:  1140px;
	--am-footer-bg: var(--am-forest);
}


/* ---------- 3. Grundlayout ---------- */

html { scroll-behavior: smooth; }

html body :is(h1, h2, h3, h4, h5, h6) { font-family: var(--am-serif); font-weight: 600; }

html body,
html body button,
html body input,
html body select,
html body textarea {
	font-family: var(--am-sans);
}

body {
	background:
		linear-gradient(rgba(255, 248, 235, .40), rgba(255, 248, 235, .40)),
		#1b3558 url("../images/hintergrund.webp") center top / cover fixed no-repeat;
	color: var(--am-text);
	font-family: var(--am-sans);
	font-size: 18px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

/* Die ganze Seite als helle Karte vor dem Erd-Hintergrund */
.page-wrap {
	max-width: var(--am-page-max);
	margin: 40px auto;
	background: var(--am-cream);
	border-radius: var(--am-radius-lg);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
	overflow: clip;
}

.am-container {
	width: 100%;
	max-width: var(--am-content);
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}

body h1, body h2, body h3, body h4, body h5, body h6,
.page-title h1, .post-title h2, .post-title h3 {
	font-family: var(--am-serif);
	color: var(--am-ink);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.25;
}

body a { color: var(--am-blue); }
body a:hover, body a:focus { color: var(--am-sage-dark); }

:focus-visible { outline: 2px solid var(--am-sage); outline-offset: 2px; }

.screen-reader-text:not(:focus) {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

@media (max-width: 1400px) {
	.page-wrap { margin: 24px; }
}
@media (max-width: 782px) {
	body { font-size: 17px; background-attachment: scroll; }
	.page-wrap { margin: 0; border-radius: 0; }
	.am-container { padding: 0 16px; }
}


/* ---------- 4. Buttons ---------- */

.am-btn,
body .gc-button-primary,
body .wp-block-button__link,
body button[type="submit"],
body input[type="submit"],
body .tribe-common .tribe-common-c-btn,
body a.tribe-common-c-btn {
	display: inline-block;
	padding: 11px 22px;
	border: 0;
	border-radius: var(--am-radius);
	background: var(--am-blue);
	color: #fff;
	font-family: var(--am-sans);
	font-size: 17px;
	font-weight: 500;
	letter-spacing: .02em;
	line-height: 1.3;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
	transition: background-color .2s, transform .2s;
	cursor: pointer;
}

.am-btn:hover, .am-btn:focus,
body .gc-button-primary:hover,
body .wp-block-button__link:hover,
body button[type="submit"]:hover,
body input[type="submit"]:hover {
	background: var(--am-blue-dark);
	color: #fff;
	transform: translateY(-1px);
}

.am-btn--sage { background: var(--am-sage); }
.am-btn--sage:hover, .am-btn--sage:focus { background: var(--am-sage-dark); }


/* ---------- 5. Header & Menü ---------- */

.am-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--am-cream-light);
	border-bottom: 1px solid var(--am-line);
	transition: box-shadow .2s;
}
.admin-bar .am-header { top: 32px; }
.am-header.is-scrolled { box-shadow: 0 4px 18px rgba(0, 0, 0, .08); }

.am-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: 1240px;
	min-height: 92px;
}

.am-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
	text-decoration: none;
}
.am-brand__logo { width: 56px; height: 56px; object-fit: contain; }
.am-brand__text { display: flex; flex-direction: column; line-height: 1.1; }
.am-brand__name {
	font-family: "Allura", cursive;
	font-size: 44px;
	font-weight: 700; /* Allura hat keinen fetten Schnitt – der Browser verstärkt die Striche. */
	line-height: .9;
	color: var(--am-ink);
}
.am-brand__tagline {
	margin-top: 4px;
	font-size: 12px;
	font-weight: 500;
	color: var(--am-text);
	text-transform: uppercase;
	letter-spacing: .06em;
}
.am-brand__tagline::before { content: "— "; }

.am-menu,
.am-menu .sub-menu { list-style: none; margin: 0; padding: 0; }

.am-menu { display: flex; flex-wrap: nowrap; justify-content: flex-end; gap: 2px 4px; }
.am-menu > li { position: relative; }

.am-menu a {
	display: block;
	padding: 8px 9px;
	color: var(--am-ink);
	font-family: var(--am-sans);
	font-size: 17px;
	font-weight: 400;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: .01em;
	white-space: nowrap;
}
.am-menu > li > a { position: relative; }
.am-menu > li > a::after {
	content: "";
	position: absolute;
	left: 9px; right: 9px; bottom: 3px;
	height: 2px;
	background: var(--am-sage);
	transform: scaleX(0);
	transition: transform .2s;
}
.am-menu > li:hover > a::after,
.am-menu > li > a:focus::after,
.am-menu > .current-menu-item > a::after,
.am-menu > .current-menu-ancestor > a::after { transform: scaleX(1); }
.am-menu > .current-menu-item > a,
.am-menu > .current-menu-ancestor > a { color: var(--am-sage-dark); }

/* Untermenüs (Desktop) */
.am-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10;
	min-width: 240px;
	max-width: 360px;
	padding: 8px 0;
	background: var(--am-white);
	border-radius: var(--am-radius);
	box-shadow: var(--am-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s, transform .15s, visibility .15s;
}
.am-menu > li:last-child .sub-menu,
.am-menu > li:nth-last-child(2) .sub-menu { left: auto; right: 0; }
.am-menu li:hover > .sub-menu,
.am-menu li:focus-within > .sub-menu,
.am-menu li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.am-menu .sub-menu a {
	padding: 8px 18px;
	font-size: 16px;
	text-transform: none;
	white-space: normal;
}
.am-menu .sub-menu a:hover,
.am-menu .sub-menu .current-menu-item > a { background: var(--am-cream); color: var(--am-sage-dark); }

.am-sub-toggle { display: none; }
.am-nav-toggle { display: none; }

/* Handy & Tablet */
@media (max-width: 1180px) {
	.am-header__inner { min-height: 72px; flex-wrap: wrap; }
	.admin-bar .am-header { top: 0; }
	.am-brand__logo { width: 44px; height: 44px; }
	.am-brand__name { font-size: 34px; }
	.am-brand__tagline { font-size: 11px; }

	.am-nav-toggle {
		display: block;
		position: relative;
		width: 44px; height: 44px;
		padding: 0;
		background: none;
		border: 0;
		box-shadow: none;
		cursor: pointer;
	}
	.am-nav-toggle__bar,
	.am-nav-toggle__bar::before,
	.am-nav-toggle__bar::after {
		position: absolute;
		left: 10px;
		width: 24px; height: 2px;
		background: var(--am-ink);
		transition: transform .2s, opacity .2s;
		content: "";
	}
	.am-nav-toggle__bar { top: 21px; }
	.am-nav-toggle__bar::before { left: 0; top: -7px; }
	.am-nav-toggle__bar::after { left: 0; top: 7px; }
	.is-open .am-nav-toggle__bar { background: transparent; }
	.is-open .am-nav-toggle__bar::before { transform: translateY(7px) rotate(45deg); }
	.is-open .am-nav-toggle__bar::after { transform: translateY(-7px) rotate(-45deg); }

	.am-nav { display: none; flex-basis: 100%; padding-bottom: 16px; max-height: calc(100vh - 90px); overflow-y: auto; }
	.am-header.is-open .am-nav { display: block; }

	.am-menu { display: block; }
	.am-menu > li { border-top: 1px solid var(--am-line); }
	.am-menu a { padding: 12px 48px 12px 4px; }
	.am-menu > li > a::after { display: none; }

	.am-sub-toggle {
		display: block;
		position: absolute;
		top: 4px; right: 0;
		width: 44px; height: 40px;
		padding: 0;
		background: none;
		border: 0;
		box-shadow: none;
		cursor: pointer;
	}
	.am-sub-toggle::before {
		content: "";
		position: absolute;
		top: 14px; left: 17px;
		width: 8px; height: 8px;
		border-right: 2px solid var(--am-ink);
		border-bottom: 2px solid var(--am-ink);
		transform: rotate(45deg);
		transition: transform .2s;
	}
	.is-open > .am-sub-toggle::before { transform: translateY(4px) rotate(-135deg); }

	.am-menu .sub-menu {
		position: static;
		display: none;
		max-width: none;
		padding: 0 0 8px 12px;
		background: none;
		box-shadow: none;
		opacity: 1; visibility: visible; transform: none;
	}
	.am-menu li.is-open > .sub-menu { display: block; }
}

/* Elemente des Eltern-Headers, die im neuen Design nicht gebraucht werden */
.canvas-sidebar, .site-overlay { display: none !important; }


/* ---------- 6. Startseite ---------- */

.am-hero {
	position: relative;
	overflow: hidden;
	background: #1b3558 var(--am-hero-bg) 30% 38% / cover no-repeat;
}
.am-hero { filter: none; }
.am-hero::after { /* Aufhellung des Erd-Bildes */
	content: "";
	position: absolute; inset: 0;
	background: rgba(255, 255, 255, .10);
	mix-blend-mode: screen;
	pointer-events: none;
}
.am-hero::before { /* etwas abdunkeln, damit die Textbox ruhiger steht */
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(255, 244, 225, .04), rgba(255, 250, 240, .10));
}

.am-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	min-height: 520px;
	max-width: 1180px;
	padding-top: 72px;
	padding-bottom: 56px;
}

.am-hero__box {
	position: relative;
	z-index: 2;
	max-width: 1000px;
	padding: 36px 38% 36px 36px;
	background: rgba(238, 232, 222, .62);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 12px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
}

.am-hero__title {
	margin: 0 0 20px;
	font-family: var(--am-serif);
	font-size: clamp(28px, 3.1vw, 42px);
	font-weight: 700;
	line-height: 1.12;
	color: #fff;
	letter-spacing: .01em;
	text-transform: uppercase;
	/* weiße Kontur macht die dünnen Haarstriche von Playfair kräftiger */
	-webkit-text-stroke: .025em #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 2px 12px rgba(0, 0, 0, .5);
}

.am-hero__text {
	max-width: 600px;
	margin: 0 0 28px;
	font-size: 22px;
	line-height: 1.35;
	color: var(--am-ink);
}

.am-hero__buttons { display: flex; flex-wrap: wrap; gap: 16px; }

.am-hero__portrait {
	position: absolute;
	z-index: 3;
	right: 0;
	bottom: 0;
	height: calc(100% - 16px);
	width: 52%;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	pointer-events: none;
}
.am-hero__portrait img {
	display: block;
	width: auto;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	object-position: right bottom;
	filter: drop-shadow(0 10px 30px rgba(0, 0, 0, .35));
}

@media (max-width: 1100px) {
	.am-hero__box { padding-right: 40%; }
}
@media (max-width: 782px) {
	.am-hero__inner { min-height: 0; padding-top: 32px; padding-bottom: 0; }
	.am-hero__box { padding: 24px 20px; }
	.am-hero__text { font-size: 19px; }
	.am-hero__portrait img { width: 100%; height: auto; }
	.am-hero__portrait {
		position: relative;
		height: auto;
		width: 92%;
		max-width: 420px;
		margin: 8px auto 0;
	}
}

/* Drei Spalten unter dem Kopfbereich */
.am-pillars { padding: 64px 0 72px; background: var(--am-cream); }
.am-pillars__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px;
}
.am-pillar {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.am-pillar__icon svg { display: block; width: 88px; height: 88px; }
.am-pillar__title {
	margin: 22px 0 12px;
	font-size: 26px;
	font-weight: 500;
	text-transform: uppercase;
}
.am-pillar__text { flex-grow: 1; margin: 0 0 22px; color: var(--am-ink); }

@media (max-width: 900px) {
	.am-pillars { padding: 48px 0; }
	.am-pillars__grid { grid-template-columns: 1fr; gap: 48px; max-width: 520px; }
}


/* ---------- 7. Unterseiten, Beiträge, Archive, Sidebar ---------- */

.main-content-area-wrap { padding: 48px 0 64px; background: var(--am-cream); }

.main-content-area-wrap .gc-container { max-width: var(--am-content); }

.gc-breadcrumb, .breadcrumb-entry { margin-bottom: 20px; font-size: 15px; color: var(--am-muted); }
.gc-breadcrumb a, .breadcrumb-entry a { color: var(--am-muted); }

.page-title h1, .page-title h2 {
	font-size: clamp(30px, 3.4vw, 42px);
	margin-bottom: 24px;
}

/* Hauptinhalt als weiße Karte */
.default-page-entry,
.single .site-main article {
	background: var(--am-white);
	border-radius: var(--am-radius-lg);
	box-shadow: var(--am-shadow);
}
.default-page-entry,
.single .site-main article { padding: 40px 44px; }
.default-page-entry .page-title h1 { margin-top: 0; }

.editor-entry { color: var(--am-text); font-size: 18px; line-height: 1.65; }
.editor-entry p { line-height: 1.65; margin-bottom: 1.1em; }
.editor-entry h2 { font-size: 32px; margin: 1.4em 0 .6em; }
.editor-entry h3 { font-size: 26px; margin: 1.3em 0 .5em; }
html body .editor-entry h4 { font-size: 21px; margin: 1.2em 0 .5em; }
html body .editor-entry h5,
html body .editor-entry h6 { font-size: 18px; margin: 1.1em 0 .4em; }
.editor-entry blockquote {
	margin: 1.5em 0;
	padding: 8px 0 8px 22px;
	border-left: 3px solid var(--am-sage);
	font-family: var(--am-serif);
	font-size: 22px;
	font-style: italic;
	color: var(--am-ink);
}
.editor-entry img { border-radius: var(--am-radius); }
/* Das Eltern-Theme setzt einen großen Anfangsbuchstaben – im neuen Design nicht */
.dropcap > p:first-of-type::first-letter,
.has-dropcap::first-letter {
	float: none; font-size: inherit; line-height: inherit; margin: 0; padding: 0;
	font-family: inherit; font-weight: inherit; color: inherit; background: none; border: 0;
}

/* Beitragskarten in Archiven (Kategorie, Blog, Suche) */
.archive-items-entry article,
.archive-items-entry .post {
	margin-bottom: 32px;
	overflow: hidden;
	background: var(--am-white);
	border-radius: var(--am-radius-lg);
	box-shadow: var(--am-shadow);
	transition: transform .2s, box-shadow .2s;
}
.archive-items-entry article:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 10px rgba(38, 41, 43, .08), 0 18px 40px rgba(38, 41, 43, .12);
}
.archive-items-entry .mid-block,
.archive-items-entry .bottom-block { padding-left: 28px; padding-right: 28px; }
.archive-items-entry .bottom-block { padding-bottom: 28px; }
.archive-items-entry .post-title h3,
.archive-items-entry .post-title h2 { font-size: 26px; }
.archive-items-entry .post-title a { color: var(--am-ink); text-decoration: none; }
.archive-items-entry .post-title a:hover { color: var(--am-sage-dark); }

.entry-cats a, .post-categories a {
	display: inline-block;
	padding: 3px 10px;
	background: var(--am-sage-light);
	border-radius: 30px;
	color: var(--am-forest);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .04em;
	text-decoration: none;
}
.entry-metas, .posted-time, .read-time, .author { color: var(--am-muted); font-size: 14px; }

/* Seitennummern (runde Knöpfe des Eltern-Themes, in den Farben des neuen Designs statt Orange/Schwarz) */
.gc-pagination nav.pagination .nav-links .page-numbers {
	width: 44px;
	height: 44px;
	line-height: 42px;
	background: var(--am-white);
	border: 1px solid var(--am-line);
	color: var(--am-ink);
	font-family: var(--am-sans);
	font-size: 16px;
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
}
.gc-pagination nav.pagination .nav-links a.page-numbers:hover { background: var(--am-sage-light); border-color: var(--am-sage); color: var(--am-forest); }
.gc-pagination nav.pagination .nav-links .page-numbers.current { background: var(--am-sage); border-color: var(--am-sage); color: #fff; }
.gc-pagination nav.pagination .nav-links .page-numbers.dots { background: transparent; border-color: transparent; }
/* „nächste Seite“ / „vorherige Seite“: Text mit Strich, grün statt schwarz/orange */
.gc-pagination nav.pagination .nav-links .page-numbers.next,
.gc-pagination nav.pagination .nav-links .page-numbers.prev {
	width: auto;
	height: auto;
	background: transparent;
	border: 0;
	color: var(--am-sage-dark);
	font-size: 15px;
	letter-spacing: .04em;
}
.gc-pagination nav.pagination .nav-links .page-numbers.next:hover,
.gc-pagination nav.pagination .nav-links .page-numbers.prev:hover { background: transparent; color: var(--am-forest); }
.gc-pagination nav.pagination .nav-links .page-numbers.next::before,
.gc-pagination nav.pagination .nav-links .page-numbers.prev::before { background-color: var(--am-sage-dark); }

/* Sidebar */
.sidebar .widget,
.secondary-widget-area.sidebar .widget,
#secondary .widget {
	margin-bottom: 28px;
	padding: 24px;
	background: var(--am-white);
	border-radius: var(--am-radius-lg);
	box-shadow: var(--am-shadow);
}
.widget .widget-title h3,
.widget-title h3 {
	font-family: var(--am-serif);
	font-size: 21px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	color: var(--am-ink);
}
.widget .widget-title { border-color: var(--am-line); }
.widget .widget-title h3::before,
.widget-title::before { background: var(--am-sage) !important; }
.widget_media_image img { border-radius: var(--am-radius); }

/* Formulare */
body input[type="text"], body input[type="email"], body input[type="search"],
body input[type="tel"], body input[type="url"], body textarea, body select {
	padding: 10px 14px;
	background: var(--am-cream-light);
	border: 1px solid var(--am-line);
	border-radius: var(--am-radius);
	font-family: var(--am-sans);
	font-size: 17px;
	color: var(--am-ink);
}
body input:focus, body textarea:focus, body select:focus {
	border-color: var(--am-sage);
	outline: none;
	box-shadow: 0 0 0 3px rgba(127, 151, 127, .25);
}

/* „Nach oben“-Link des Eltern-Themes */
#gc-backtotop { background: var(--am-sage); color: #fff; }

@media (max-width: 782px) {
	.main-content-area-wrap { padding: 28px 0 40px; }
	.default-page-entry,
	.single .site-main article { padding: 24px 20px; }
}


/* ---------- 8. Veranstaltungskalender ---------- */

body .tribe-events,
body .tribe-common {
	--tec-font-family-sans-serif: var(--am-sans);
	--tec-font-family-base: var(--am-sans);
	--tec-color-accent-primary: var(--am-sage);
	--tec-color-accent-primary-hover: var(--am-sage-dark);
	--tec-color-accent-primary-active: var(--am-sage-dark);
	--tec-color-button-primary: var(--am-sage);
	--tec-color-link-accent: var(--am-blue);
	--tec-color-text-primary: var(--am-ink);
	--tec-color-background-events-bar-submit-button: var(--am-sage);
	--tec-color-background-events-bar-submit-button-hover: var(--am-sage-dark);
	--tec-color-border-active-month-grid-hover: var(--am-sage);
	--tec-color-day-marker-current-month: var(--am-sage);
	font-family: var(--am-sans);
}

.tribe-events-pg-template,
body .tribe-events-view,
.single-tribe_events .tribe-events-single {
	max-width: var(--am-content);
	margin: 0 auto;
	padding: 40px 24px 64px;
}

body .tribe-common .tribe-common-h1,
body .tribe-common .tribe-common-h2,
body .tribe-common .tribe-common-h3,
body .tribe-common .tribe-common-h4,
body .tribe-events .tribe-events-calendar-list__event-title,
.tribe-events-single-event-title {
	font-family: var(--am-serif);
	color: var(--am-ink);
}

body .tribe-events .tribe-events-calendar-list__event-row,
body .tribe-events .tribe-events-calendar-latest-past__event-row {
	padding: 24px;
	margin-bottom: 24px;
	background: var(--am-white);
	border-radius: var(--am-radius-lg);
	box-shadow: var(--am-shadow);
}
body .tribe-events .tribe-events-calendar-list__month-separator-text,
body .tribe-events .tribe-events-calendar-latest-past__month-separator-text {
	font-family: var(--am-serif);
	font-size: 22px;
	color: var(--am-forest);
}
body .tribe-events .tribe-events-c-events-bar--border { border-color: var(--am-line); border-radius: var(--am-radius); background: var(--am-white); }
body .tribe-events .tribe-events-calendar-list__event-date-tag-weekday { color: var(--am-sage-dark); }
body .tribe-events .tribe-events-calendar-list__event-featured-image { border-radius: var(--am-radius); }

@media (max-width: 782px) {
	.tribe-events-pg-template,
	body .tribe-events-view,
	.single-tribe_events .tribe-events-single { padding: 24px 16px 40px; }
}


/* ---------- 9. Footer ---------- */

.am-footer {
	background:
		linear-gradient(rgba(38, 62, 48, .92), rgba(30, 50, 39, .95)),
		url("../images/footer-trees.jpg") center 60% / cover no-repeat;
	color: #e8eee6;
	font-size: 16px;
}

.am-footer__grid {
	display: grid;
	grid-template-columns: repeat(4, auto); /* Logo, Kontakt, Rechtliches, Folgen – gleichmäßig verteilt */
	justify-content: space-around;
	gap: 32px;
	padding-top: 44px;
	padding-bottom: 36px;
}

.am-footer p { margin: 0 0 6px; }
.am-footer a { color: #e8eee6; text-decoration: none; }
.am-footer a:hover, .am-footer a:focus { color: #fff; text-decoration: underline; }

.am-footer__logo { display: block; align-self: start; }
.am-footer__logo img { display: block; width: 93px; height: auto; }
.am-footer__heading {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #b9cab6;
}

.am-footer__menu { list-style: none; margin: 0; padding: 0; }
.am-footer__menu li { margin-bottom: 6px; }

.am-social { display: flex; gap: 12px; list-style: none; margin: 4px 0 0; padding: 0; }
.am-social a { display: block; color: #e8eee6; transition: color .2s, transform .2s; }
.am-social a:hover { color: #fff; transform: translateY(-2px); }
.am-social svg { display: block; width: 32px; height: 32px; --am-footer-bg: #2b4636; }

.am-footer__bottom {
	padding: 14px 0;
	background: rgba(0, 0, 0, .22);
	font-size: 14px;
	color: #b9cab6;
}

@media (max-width: 782px) {
	/* Handy: Logo links oben, alle Spalten rechtsbündig untereinander daneben */
	.am-footer__grid { grid-template-columns: auto 1fr; justify-content: stretch; gap: 24px 20px; padding-top: 32px; }
	.am-footer__logo { grid-column: 1; grid-row: 1 / span 3; }
	.am-footer__logo img { width: 72px; }
	.am-footer__col { grid-column: 2; text-align: right; }
	.am-footer .am-social { justify-content: flex-end; flex-wrap: wrap; }
}


/* ---------- 10. Cookie-Hinweis ---------- */

#cookie-notice {
	background-color: rgba(38, 62, 48, .97) !important;
	font-family: var(--am-sans);
}
#cookie-notice .cn-text-container { font-size: 16px; color: #e8eee6; }
#cookie-notice .cn-button {
	background: var(--am-sage) !important;
	border-radius: var(--am-radius) !important;
	color: #fff !important;
	font-family: var(--am-sans);
	font-size: 15px;
	letter-spacing: .03em;
}
#cookie-notice .cn-button:hover { background: var(--am-sage-dark) !important; }


/* ---------- 11. Dritte Menüebene (z. B. Medien → Satire → Satiresendungen) ---------- */

@media (min-width: 1181px) {
	.am-menu .sub-menu li { position: relative; }
	.am-menu .sub-menu .sub-menu {
		top: -8px;
		left: 100%;
		right: auto;
	}
	/* Bei Menüpunkten rechts im Header nach links aufklappen */
	.am-menu > li:nth-last-child(-n+6) .sub-menu .sub-menu { left: auto; right: 100%; }
	.am-menu .sub-menu .menu-item-has-children > a::after {
		content: "›";
		float: right;
		margin-left: 12px;
		color: var(--am-muted);
	}
}
@media (max-width: 1180px) {
	.am-menu .sub-menu .am-sub-toggle { top: 0; }
	.am-menu .sub-menu .sub-menu { padding-left: 14px; }
}


/* ---------- 12. Akzentfarbe: Orange des Eltern-Themes ersetzen ---------- */

/* Unterstreichung beim Überfahren von Beitragstiteln */
html body .post-title a,
html body .extra-gc-layout-4 .post-content .post-title a {
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, var(--am-sage-light) 50%);
}
html body .post-title a:hover { color: var(--am-forest); }

.widget .widget-title h3::before { border-left-color: var(--am-sage); }
.calendar_wrap caption { background-color: var(--am-sage); color: #fff; }
.entry-tags .post-tags a { border-color: var(--am-sage); color: var(--am-forest); }
html body .gc-button-primary { border-color: var(--am-blue); }
html body .gc-button-primary:hover { border-color: var(--am-blue-dark); }
.gc-pagination nav.pagination .nav-links .page-numbers.next:hover::before,
.gc-pagination nav.pagination .nav-links .page-numbers.prev:hover::before { background-color: var(--am-forest); }
.single-page-s1 .entry-metas ul li a:hover,
.single-page-s1 .entry-cats ul li a:hover,
.entry-metas a:hover,
.entry-cats a:hover { color: var(--am-forest); }
.entry-cats a:hover, .post-categories a:hover { background: var(--am-sage); color: #fff; }
/* farbige Linien unter den Kategorie-Etiketten */
.entry-cats a, .post-categories a { border-bottom: 0 !important; box-shadow: none; }
.entry-cats a::after, .post-categories a::after, .entry-cats a::before, .post-categories a::before { display: none; }


/* ---------- 13. Startseite: Aktuelles ---------- */

.am-news { padding: 64px 0 72px; background: var(--am-white); }
.am-section-title {
	margin: 0 0 36px;
	font-size: clamp(28px, 3vw, 38px);
	text-align: center;
}
.am-news__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}
.am-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--am-cream-light);
	border-radius: var(--am-radius-lg);
	box-shadow: var(--am-shadow);
	transition: transform .2s, box-shadow .2s;
}
.am-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 10px rgba(38, 41, 43, .08), 0 18px 40px rgba(38, 41, 43, .12);
}
.am-card__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--am-sage-light); }
.am-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.am-card__media .am-card__placeholder { object-fit: contain; padding: 18%; box-sizing: border-box; }
.am-card__body { display: flex; flex-direction: column; flex-grow: 1; padding: 18px 22px 22px; }
.am-card__cat {
	align-self: flex-start;
	padding: 3px 10px;
	margin-bottom: 10px;
	background: var(--am-sage-light);
	border-radius: 30px;
	color: var(--am-forest);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
}
html body .am-card__title { margin: 0 0 10px; font-size: 21px; line-height: 1.3; }
.am-card__title a { color: var(--am-ink); text-decoration: none; }
.am-card__title a:hover { color: var(--am-sage-dark); }
.am-card__date { margin: auto 0 0; font-size: 15px; color: var(--am-muted); }
.am-news__more { margin: 36px 0 0; text-align: center; }

@media (max-width: 900px) {
	.am-news { padding: 48px 0; }
	.am-news__grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
}


/* ---------- 14. Startseite: weitere Sektionen (Vorlage AM-Designvorlage) ---------- */

.am-btn--small { padding: 8px 16px; font-size: 15px; }
.am-section-more { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 40px 0 0; }

/* Vorträge & Interviews: Creme-Band hinter der oberen Kartenhälfte */
.am-talks {
	padding: 64px 0 72px;
	background: linear-gradient(var(--am-cream) 0, var(--am-cream) 58%, var(--am-white) 58%);
}
.am-talks__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.am-talk {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--am-white);
	border-radius: var(--am-radius-lg);
	box-shadow: var(--am-shadow);
	text-align: center;
}
.am-talk__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--am-blue-dark); }
.am-talk__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.am-talk:hover .am-talk__media img { transform: scale(1.04); }
.am-talk__badge {
	position: absolute;
	z-index: 1;
	left: 12px;
	top: 12px;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px 5px 8px;
	background: rgba(38, 48, 58, .78);
	border-radius: 30px;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
	backdrop-filter: blur(4px);
}
.am-talk__badge svg { width: 20px; height: 20px; }
.am-talk__body { display: flex; flex-direction: column; align-items: center; flex-grow: 1; padding: 20px 22px 24px; }
html body .am-talk__title { margin: 0 0 8px; font-family: var(--am-sans); font-size: 19px; font-weight: 600; line-height: 1.35; }
.am-talk__title a { color: var(--am-ink); text-decoration: none; }
.am-talk__title a:hover { color: var(--am-sage-dark); }
.am-talk__date { margin: 0 0 18px; font-size: 15px; color: var(--am-muted); }
.am-talk .am-btn { margin-top: auto; }

/* Eigene Sendungen & Formate: zwei große Bilder */
.am-shows { padding: 64px 0 72px; background: var(--am-white); border-top: 1px solid var(--am-line); }
.am-shows__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.am-show { display: flex; flex-direction: column; align-items: flex-start; }
.am-show__media { display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--am-radius-lg); box-shadow: var(--am-shadow); }
.am-show__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.am-show:hover .am-show__media img { transform: scale(1.03); }
html body .am-show__title { margin: 20px 0 6px; font-family: var(--am-sans); font-size: 21px; font-weight: 600; line-height: 1.35; }
.am-show__title a { color: var(--am-ink); text-decoration: none; }
.am-show__title a:hover { color: var(--am-sage-dark); }
.am-show__date { margin: 0 0 16px; font-size: 15px; color: var(--am-muted); }

/* Coaching-Angebote */
.am-coaching { padding: 64px 0 72px; background: var(--am-cream); }
.am-coaching__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; max-width: 960px; margin: 0 auto; }
.am-offer { display: flex; flex-direction: column; overflow: hidden; background: var(--am-white); border-radius: var(--am-radius-lg); box-shadow: var(--am-shadow); }
.am-offer__img { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
.am-offer__body { display: flex; flex-direction: column; align-items: flex-start; flex-grow: 1; padding: 22px 26px 26px; }
html body .am-offer__title { margin: 0 0 2px; font-family: var(--am-sans); font-size: 22px; font-weight: 600; }
.am-offer__sub { margin: 0 0 12px; color: var(--am-sage-dark); font-weight: 500; }
.am-offer__text { flex-grow: 1; margin: 0 0 20px; }

/* Über mich */
.am-about { padding: 64px 0 72px; background: var(--am-white); }
.am-about__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: center; max-width: 1000px; margin: 0 auto; }
.am-about__img { display: block; width: 100%; height: auto; border-radius: var(--am-radius-lg); box-shadow: var(--am-shadow); }
.am-about__text p { margin: 0 0 16px; }
.am-about__text .am-about__quote {
	margin: 24px 0 28px;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--am-sage);
	font-family: var(--am-serif);
	font-size: 21px;
	font-style: italic;
	line-height: 1.5;
	color: var(--am-ink);
}

/* Satire: Einleitung + zwei Videos */
.am-satire { padding: 64px 0 72px; background: var(--am-cream); border-top: 1px solid var(--am-line); }
.am-satire__grid { display: grid; grid-template-columns: minmax(0, 4fr) repeat(2, minmax(0, 5fr)); gap: 32px; align-items: start; }
html body .am-satire__title { margin: 0 0 16px; font-size: clamp(28px, 3vw, 38px); }
.am-satire__intro p { margin: 0 0 18px; }
.am-satire__links { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.am-satire__links a:not(.am-btn) { font-weight: 500; }
.am-clip__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--am-radius-lg); box-shadow: var(--am-shadow); }
.am-clip__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.am-clip__play { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(20, 30, 40, .18); transition: background .2s; }
.am-clip__play svg { width: 64px; height: 64px; filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .35)); transition: transform .2s; }
.am-clip:hover .am-clip__play { background: rgba(20, 30, 40, .05); }
.am-clip:hover .am-clip__play svg { transform: scale(1.08); }
html body .am-clip__title { margin: 16px 0 4px; font-family: var(--am-sans); font-size: 19px; font-weight: 600; line-height: 1.35; }
.am-clip__title a { color: var(--am-ink); text-decoration: none; }
.am-clip__title a:hover { color: var(--am-sage-dark); }
.am-clip__date { margin: 0; font-size: 15px; color: var(--am-muted); }

@media (max-width: 1000px) {
	.am-satire__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.am-satire__intro { grid-column: 1 / -1; max-width: 640px; }
}
@media (max-width: 900px) {
	.am-talks, .am-shows, .am-coaching, .am-about, .am-satire { padding: 48px 0; }
	.am-talks { background: var(--am-cream); }
	.am-talks__grid, .am-shows__grid, .am-coaching__grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
	.am-about__grid { grid-template-columns: 1fr; gap: 32px; max-width: 520px; }
	.am-about__img { max-width: 360px; margin: 0 auto; }
}
@media (max-width: 600px) {
	.am-satire__grid { grid-template-columns: 1fr; }
}


/* ---------- 15. Termine-Übersicht: Foto rechts wie im Shop ---------- */

/* Das Foto liegt direkt unter dem Header, Angela steht rechts neben der Terminliste
   und läuft nach unten in Creme aus (dasselbe Bild wie im Shop). */
.post-type-archive-tribe_events .main-content-area-wrap {
	background: var(--am-cream) url("../images/termine-hintergrund.webp?v=1") center top / 100% auto no-repeat;
}
/* Keine weiße Karte um die Liste – die Termine stehen als eigene Karten vor dem Foto */
.post-type-archive-tribe_events .default-page-entry {
	padding: 0;
	background: transparent;
	box-shadow: none;
}
.post-type-archive-tribe_events .default-page-entry .page-title h1 { margin-bottom: 8px; }
.post-type-archive-tribe_events .editor-entry > .tribe-events-view,
.post-type-archive-tribe_events .tribe-events-view .tribe-events-l-container { padding: 0; min-height: 0; }
.post-type-archive-tribe_events .tribe-events-header { margin-bottom: 16px; }
@media (max-width: 767px) {
	.post-type-archive-tribe_events .main-content-area-wrap { background-position: 78% top; background-size: 180% auto; }
}


/* ---------- 10. YouTube-Videos (Laden erst nach Klick, siehe functions.php) ---------- */

.am-yt {
	position: relative;
	width: 100%;
	max-width: 760px;
	aspect-ratio: 16 / 9;
	margin: 0 0 1.5em;
	background: var(--am-forest) center / cover no-repeat;
	border-radius: var(--am-radius);
	overflow: hidden;
}
.am-yt iframe { display: block; width: 100%; height: 100%; border: 0; }
/* innerhalb eines Einbettungs-Blocks mit fester Seitenverhältnis-Box */
.wp-has-aspect-ratio .am-yt { position: absolute; inset: 0; max-width: none; margin: 0; }
/* WordPress packt das ursprüngliche iframe oft in <p> */
p:has(> .am-yt) { margin: 0; }

.am-yt__play {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
}
.am-yt__play::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 72px;
	height: 50px;
	transform: translate(-50%, -50%);
	background: rgba(38, 41, 43, .78);
	border-radius: 14px;
	transition: background .2s;
}
.am-yt__play::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-35%, -50%);
	border-style: solid;
	border-width: 11px 0 11px 19px;
	border-color: transparent transparent transparent #fff;
}
.am-yt__play:hover::before,
.am-yt__play:focus-visible::before { background: #c4302b; }
.am-yt__play:focus-visible { outline: 3px solid var(--am-sage); outline-offset: -3px; }

.am-yt__hinweis {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 6px 12px;
	background: rgba(38, 41, 43, .72);
	color: #fff;
	font-size: 13px;
	line-height: 1.35;
	pointer-events: none;
}
.am-yt__hinweis a { color: #fff; text-decoration: underline; pointer-events: auto; }

/* andere Dienste: kein Vorschaubild, stattdessen Schaltfläche mit Anbietername */
.am-ext { background: var(--am-forest); }
.am-ext .am-yt__play::before,
.am-ext .am-yt__play::after { display: none; }
.am-ext__laden span {
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 10px 18px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: var(--am-radius);
	color: #fff;
	font-family: var(--am-sans);
	font-size: 16px;
	white-space: nowrap;
	transition: background .2s;
}
.am-ext__laden:hover span,
.am-ext__laden:focus-visible span { background: rgba(255, 255, 255, .15); }
.am-ext template { display: none; }


/* ---------- 11. Suche (Lupe in der Kopfzeile, Ergebnisseite) ---------- */

.am-nav { order: 1; }
.am-search-toggle {
	order: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	margin-left: -12px;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	color: var(--am-ink);
	cursor: pointer;
	transition: color .2s, background .2s;
}
.am-search-toggle:hover,
.am-search-toggle[aria-expanded="true"] { color: var(--am-sage-dark); background: var(--am-sage-light); }

.am-search {
	border-top: 1px solid var(--am-line);
	background: var(--am-cream-light);
}
.am-search[hidden] { display: none; }
.am-search__form {
	display: flex;
	gap: 10px;
	max-width: 1240px;
	padding-top: 14px;
	padding-bottom: 14px;
}
body .am-search__field,
.am-search-page__form .search-field {
	flex: 1;
	min-width: 0;
	height: 46px;
	padding: 0 14px;
	font-size: 17px;
}
.am-search__submit { flex-shrink: 0; }

@media (max-width: 1180px) {
	/* Logo/Name links, Lupe + Hamburger rechts in derselben Zeile; das Menü klappt darunter auf */
	.am-header__inner { column-gap: 4px; }
	.am-brand { margin-right: auto; min-width: 0; flex-shrink: 1; }
	.am-brand__text { min-width: 0; }
	.am-search-toggle { order: 1; margin-left: 0; }
	.am-nav-toggle { order: 2; flex-shrink: 0; }
	.am-nav { order: 3; }
}
@media (max-width: 480px) {
	.am-brand { gap: 8px; }
	.am-brand__logo { width: 38px; height: 38px; }
	.am-brand__name { font-size: 30px; }
	.am-brand__tagline { font-size: 11.5px; letter-spacing: .02em; }
}
@media (max-width: 480px) {
	.am-search__submit { padding-left: 14px; padding-right: 14px; }
}

/* Ergebnisseite */
.am-search-page__intro { margin: 0 0 28px; }
.am-search-page__count { margin: 4px 0 16px; color: var(--am-muted); }
.am-search-page__form { display: flex; gap: 10px; max-width: 620px; }
/* keine Treffer: Überschrift und zweites Suchfeld des Eltern-Themes ausblenden (oben steht schon beides) */
.search-no-results .no-results .page-header,
.search-no-results .no-results .search-form { display: none; }
