/*
Theme Name: Tim Dammes
Theme URI: https://www.timdammes.de/
Author: Tim Dammes
Description: Schlankes Block-Theme für timdammes.de – ohne Elementor, ohne Page-Builder-Plugins. Header und Footer sind gemeinsame Vorlagenteile für alle Seiten.
Version: 1.2.1
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: timdammes
*/

/* =========================================================
   Grundwerte
   ========================================================= */
:root {
	--td-ink: #302933;
	--td-body: #625b65;
	--td-berry: #805269;
	--td-accent: #a9446e;      /* frühere Untertitelfarbe #be5f86, abgedunkelt für Kontrast 4,5:1 */
	--td-soft: #7f5e71;        /* früher #9c798d */
	--td-eyebrow: #8b5871;     /* früher #a16b85 */
	--td-rose: #edbfd0;
	--td-rose-line: #c695a9;
	--td-lilac: #e9dcef;
	--td-sand: #f1e2c4;
	--td-footer: #eebbca;
	--td-radius-card: 38px 48px 40px 52px;
	--td-font: Arial, Helvetica, sans-serif;
	/* Aquarell-Rand für die Karten (ein SVG für alle Flächen) */
	--td-paint-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='edge' x='-5%25' y='-10%25' width='110%25' height='120%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.065 .18' numOctaves='3' seed='9' result='noise'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='noise' scale='12' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='.65'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M53 22C170 9 258 28 382 17S602 27 748 16S967 25 1137 19Q1183 18 1182 64C1193 183 1175 279 1184 407L1179 539Q1180 581 1134 579C974 589 862 573 709 584S471 574 323 582S143 573 64 580Q19 580 21 536C10 412 25 295 16 172L21 66Q20 29 53 22Z' fill='white' filter='url(%23edge)'/%3E%3C/svg%3E");
	--td-fray-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='800' viewBox='0 0 400 800' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='fray' x='-10%25' y='-10%25' width='120%25' height='120%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.065 0.18' numOctaves='3' seed='9' result='noise'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='noise' scale='19' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='0.55'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M-30 33 Q65 5 145 14 T310 17 Q365 19 430 37 V850 H-30Z' fill='white' filter='url(%23fray)'/%3E%3C/svg%3E");
}

body {
	margin: 0;
	background: #fff;
}
body.home { color: var(--td-ink); }

:where(.td-site-header, .td-home, .td-site-footer, .td-page) a:focus-visible,
:where(.td-site-header, .td-home, .td-site-footer, .td-page) button:focus-visible,
:where(.td-home) summary:focus-visible {
	outline: 2px solid #a65b80;
	outline-offset: 5px;
	border-radius: 6px;
}

/* Pfeil hinter Links/Buttons – für Screenreader stumm */
.td-arrow a::after,
.td-arrow.wp-block-button a::after {
	content: "→";
	content: "→" / "";
	display: inline-block;
	margin-left: 18px;
	transition: transform .2s;
}
.td-arrow a:hover::after { transform: translateX(3px); }

/* =========================================================
   Header (Vorlagenteil "header" – gilt für alle Seiten)
   ========================================================= */
.td-site-header {
	box-sizing: border-box;
	max-width: 1180px;
	margin: 0 auto;
	padding: 10px 24px 8px;
	min-height: 140px;
	display: flex;
	align-items: center;
	gap: 28px;
	font-family: var(--td-font);
}
.td-site-header > * { margin: 0 !important; }

.td-site-header .td-brand { width: 341px; flex-shrink: 0; }
.td-site-header .td-brand a { display: block; border-radius: 8px; }
.td-site-header .td-brand img { display: block; width: 100%; height: auto; }

/* Hauptnavigation als Pille */
.td-site-header nav.td-navigation {
	padding: 6px;
	background: #fcf4f8;
	border: 1.25px solid #f1e2e9;
	border-radius: 36px;
	font-size: 15px;
}
.td-site-header .td-navigation .wp-block-navigation__container { gap: 4px; }
.td-site-header .td-navigation .wp-block-navigation-item__content,
.td-site-header .td-navigation .wp-block-navigation-submenu__toggle {
	padding: 11px 14px;
	border-radius: 14px;
	color: var(--td-ink);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s, color .2s;
}
.td-site-header .td-navigation .wp-block-navigation-item__content:hover,
.td-site-header .td-navigation .wp-block-navigation-submenu__toggle:hover {
	background: #f4dce5;
	color: #8f3f63;
}
.td-site-header .td-navigation > .wp-block-navigation__container > .td-nav-highlight > .wp-block-navigation-item__content {
	background: #ecc6d5;
	border-radius: 24px;
	padding: 11px 20px;
}
.td-site-header .td-navigation > .wp-block-navigation__container > .td-nav-highlight > .wp-block-navigation-item__content:hover { background: #e9afc3; color: var(--td-ink); }

/* Untermenü "Angebote" */
.td-site-header .td-navigation .wp-block-navigation-submenu__toggle { display: inline-flex; align-items: center; gap: 6px; }
.td-site-header .td-navigation .wp-block-navigation__submenu-icon { margin-left: 2px; width: 10px; height: 10px; }
.td-site-header .td-navigation .wp-block-navigation__submenu-container {
	min-width: 290px !important;
	padding: 10px !important;
	margin-top: 10px;
	background: #fff !important;
	border: 1.25px solid #f1e2e9 !important;
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(89, 58, 75, .12);
}
.td-site-header .td-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 11px 14px !important;
	white-space: normal;
}
.td-site-header .td-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
	content: "";
	width: 9px;
	height: 9px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--td-dot, #c7a4d7);
}
.td-dot-lila { --td-dot: #c7a4d7; }
.td-dot-rose { --td-dot: #e7b4c7; }
.td-dot-sand { --td-dot: #e3c580; }

/* Blog-Button */
.td-site-header .td-blog-button { margin-left: auto !important; flex-shrink: 0; }
.td-site-header .td-blog-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	padding: 13px 22px;
	border-radius: 28px;
	background: var(--td-berry);
	color: #fff;
	font-family: var(--td-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(128, 82, 105, .12);
	transition: background .2s, transform .2s;
}
.td-site-header .td-blog-button .wp-block-button__link:hover { background: #975571; transform: translateY(-2px); }

@media (max-width: 1100px) and (min-width: 768px) {
	.td-site-header { gap: 14px; }
	.td-site-header .td-brand { width: 286px; }
	.td-site-header .td-navigation .wp-block-navigation-item__content,
	.td-site-header .td-navigation .wp-block-navigation-submenu__toggle { padding: 9px 11px; font-size: 15px; }
	.td-site-header .td-blog-button .wp-block-button__link { padding: 12px 17px; }
}
@media (max-width: 767px) {
	.td-site-header { flex-wrap: wrap; min-height: 0; gap: 12px; padding: 10px 20px 16px; }
	.td-site-header .td-brand { width: calc(100% - 111px); max-width: 275px; }
	.td-site-header nav.td-navigation { order: 3; flex-basis: 100%; border-radius: 28px; padding: 4px; }
	.td-site-header .td-navigation .wp-block-navigation__container { justify-content: center; gap: 0; }
	.td-site-header .td-navigation .wp-block-navigation-item__content,
	.td-site-header .td-navigation .wp-block-navigation-submenu__toggle { padding: 8px 10px; font-size: 14px; }
	.td-site-header .td-blog-button .wp-block-button__link { padding: 11px 15px; font-size: 15px; }
}

/* =========================================================
   Footer (Vorlagenteil "footer" – gilt für alle Seiten)
   ========================================================= */
.td-site-footer {
	margin-top: 40px;
	background: var(--td-footer);
	padding: 29px 24px 26px;
	font-family: var(--td-font);
}
.td-site-footer .td-footer-inner {
	box-sizing: border-box;
	max-width: 1140px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	min-height: 80px;
}
.td-site-footer .td-footer-inner > * { margin: 0 !important; }
.td-site-footer .td-footer-nav .wp-block-navigation__container { gap: 0; }
.td-site-footer .td-footer-nav .wp-block-navigation-item:not(:last-child)::after { content: "|"; margin: 0 6px; color: #33373d; }
.td-site-footer .td-footer-nav a { color: #33373d; font-size: 16px; font-weight: 500; text-decoration: none; }
.td-site-footer .td-footer-nav a:hover { text-decoration: underline; }
.td-site-footer .td-copyright { color: #302933; font-size: 16px; font-weight: 500; text-align: center; }
.td-site-footer .td-pride { justify-self: end; width: 80px; }
.td-site-footer .td-pride img { display: block; width: 80px; height: auto; }
@media (max-width: 767px) {
	.td-site-footer .td-footer-inner { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.td-site-footer .td-pride { justify-self: center; }
}

/* =========================================================
   Startseite
   ========================================================= */
.td-home {
	font-family: var(--td-font);
	box-sizing: border-box;
	max-width: 1140px;
	margin: 12px auto 24px;
	padding: 0 24px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--td-ink);
}
.td-home *, .td-home *::before, .td-home *::after { box-sizing: border-box; }
.td-home > * { margin-top: 0; margin-bottom: 0; }
.td-home h1, .td-home h2, .td-home h3, .td-home p, .td-home ul, .td-home figure { margin-top: 0; }
.td-home p { margin-bottom: 1em; }
.td-home strong { color: var(--td-accent); }
.td-home a { color: var(--td-berry); }

/* Aquarell-Karten */
.td-home .td-card { position: relative; isolation: isolate; }

.td-home .td-card::before {
	content: "";
	position: absolute;
	inset: -8px;
	z-index: -1;
	background-color: #fcf5f8;
	-webkit-mask: var(--td-paint-mask) no-repeat 0 0 / 100% 100%;
	mask: var(--td-paint-mask) no-repeat 0 0 / 100% 100%;
}
/* Überschriften-System */
.td-home h2.td-title {
	font-size: 31px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: -.55px;
	color: var(--td-ink);
	margin-bottom: 10px;
}

.td-home .td-title.td-ornament::before {
	content: "";
	display: block;
	width: 120px;
	height: 14px;
	margin: 0 0 22px;
	border-radius: 50%;
	background: linear-gradient(90deg, rgba(154,120,180,0), rgba(154,120,180,.75) 25%, rgba(212,131,159,.8) 55%, rgba(211,160,87,.7) 80%, rgba(211,160,87,0));
	transform: scaleY(.28);
	opacity: .45;
	filter: blur(.4px);
}

.td-home .has-text-align-center.td-ornament::before { margin-left: auto; margin-right: auto; }

.td-home .td-subline {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -.25px;
	color: var(--td-accent);
	margin-bottom: 22px;
}

.td-home .td-lead {
	font-size: 17px;
	line-height: 1.8;
	color: var(--td-body);
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}
/* Buttons */
.td-home .td-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	padding: 17px 23px;
	background: var(--td-rose);
	border: 1.25px solid var(--td-rose-line);
	border-radius: 40px;
	box-shadow: 0 3px 10px rgba(128, 82, 105, .04);
	color: #3c2935;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: background .2s, transform .2s;
}

.td-home .td-btn .wp-block-button__link:hover { background: #e8adc2; transform: translateY(-2px); }

.td-home .wp-block-buttons.is-content-justification-center { justify-content: center; }

.td-home .td-textlink { margin: 8px 0 0; }

.td-home .td-textlink a {
	display: inline-flex;
	align-items: center;
	padding: 6px 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--td-berry);
	text-decoration: none;
	border-bottom: 1.25px solid rgba(128, 82, 105, .35);
}

.td-home .td-textlink a::after { margin-left: 22px; }
/* --- Hero --- */
.td-home .td-hero {
	display: grid;
	grid-template-columns: 56fr 44fr;
	align-items: center;
	border-radius: var(--td-radius-card);
}

.td-home .td-hero::before {
	background-image: radial-gradient(at 10% 12%, rgba(238,225,244,.62), transparent 55%), radial-gradient(at 91% 90%, rgba(246,232,211,.38), transparent 47%);
}

.td-home .td-hero .td-copy { padding: 54px 0 54px 46px; }

.td-home .td-hero h1 {
	font-size: 43px;
	line-height: 1.16;
	font-weight: 700;
	letter-spacing: -1.1px;
	color: var(--td-ink);
	margin-bottom: 8px;
}

.td-home .td-hero h2.td-hero-sub {
	font-size: 18px;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: -.25px;
	color: var(--td-accent);
	margin-bottom: 26px;
}

.td-home .td-hero .td-copy p { font-size: 17px; line-height: 1.8; color: var(--td-body); }

.td-home .td-hero .td-copy .wp-block-buttons { margin-top: 30px; }

.td-home .td-format-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin: 12px 0 0;
	padding: 0 0 0 14px;
	list-style: none;
}

.td-home .td-format-tags li {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--td-body);
}

.td-home .td-format-tags li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #9a78b4; }

.td-home .td-format-tags li.td-tag-local::before { background: #d3a057; }

.td-home .td-format-tags a { color: var(--td-body); text-decoration-color: rgba(161, 94, 121, .5); text-underline-offset: 3px; }

.td-home .td-hero .td-portrait { position: relative; padding: 20px 0 22px; text-align: center; }

.td-home .td-hero .td-portrait figure { margin: 0; }

.td-home .td-hero .td-portrait img { display: block; width: 100%; height: auto; }

.td-home .td-hero .td-caption {
	position: absolute;
	right: 8px;
	bottom: 52px;
	max-width: calc(100% - 48px);
	margin: 0;
	padding: 11px 17px;
	background: rgba(255, 248, 251, .9);
	border: 1.25px solid rgba(255, 255, 255, .7);
	border-radius: 12px;
	box-shadow: 0 3px 14px rgba(89, 58, 75, .06);
	font-size: 14px;
	line-height: 1.5;
	color: #67495b;
	text-align: left;
}
/* --- Über mich --- */
.td-home .td-about {
	display: grid;
	grid-template-columns: 409fr 587fr;
	align-items: center;
	gap: 48px;
	padding: 56px 24px;
	margin-top: 60px !important;
}

.td-home .td-about::before {
	background-image: radial-gradient(at 15% 28%, rgba(238,222,244,.6), transparent 58%), radial-gradient(at 75% 75%, rgba(249,228,237,.55), transparent 64%);
}

.td-home .td-about .td-practice-photo {
	max-width: 380px;
	margin: 0;
	border-radius: 39px 26px 43px 30px;
	overflow: hidden;
	box-shadow: 0 9px 25px rgba(110, 73, 91, .075);
}

.td-home .td-about .td-practice-photo img { display: block; width: 100%; aspect-ratio: 380 / 476; object-fit: cover; }

.td-home .td-about .td-about-content p { color: var(--td-body); line-height: 1.75; }

.td-home .td-about .td-about-content .td-subline { color: var(--td-accent); line-height: 1.5; }
/* --- Ein Blick in meine Arbeit --- */
.td-home .td-work {
	padding: 8px 40px 56px;
	margin-top: 22px !important;
}

.td-home .td-work::before {
	background-color: #fefbfc;
	background-image: radial-gradient(at 12% 8%, rgba(238,225,244,.45), transparent 55%), radial-gradient(at 88% 96%, rgba(246,232,211,.4), transparent 55%), radial-gradient(at 50% 55%, rgba(250,236,242,.5), transparent 70%);
}

.td-home .td-work .td-work-intro { max-width: 700px; margin: 0 auto; padding: 48px 22px 8px; text-align: center; }

.td-home .td-work .td-work-intro p { max-width: 640px; margin: 0 auto; font-size: 17px; line-height: 1.8; color: var(--td-body); }

.td-home .td-offers {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 36px;
	margin-top: 48px !important;
}

.td-home .td-offer {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.td-home .td-offer::before {
	content: "";
	position: absolute;
	inset: -12px -12px -10px;
	z-index: -1;
	background-image: linear-gradient(rgba(235,222,244,.75), rgba(246,238,250,.65) 50%, rgba(250,246,253,.3) 85%, transparent);
	-webkit-mask: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent), var(--td-fray-mask) no-repeat 0 0 / 100% 100%;
	-webkit-mask-composite: source-in;
	mask: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent), var(--td-fray-mask) no-repeat 0 0 / 100% 100%;
	mask-composite: intersect;
}

.td-home .td-offer-calm::before { background-image: linear-gradient(rgba(247,221,232,.75), rgba(252,237,243,.65) 50%, rgba(254,246,249,.3) 85%, transparent); }

.td-home .td-offer-game::before { background-image: linear-gradient(rgba(246,233,209,.8), rgba(252,244,229,.65) 50%, rgba(255,250,240,.3) 85%, transparent); }

.td-home .td-offer .td-offer-art {
	position: relative;
	width: 100%;
	height: 310px;
	margin: 0;
	padding: 10px 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	isolation: isolate;
}

.td-home .td-offer .td-offer-art::before {
	content: "";
	position: absolute;
	inset: 18px 0 3px;
	z-index: -1;
	border-radius: 43% 57% 58% 42% / 59% 43% 57% 41%;
	background: radial-gradient(at 48% 54%, rgba(229,210,241,.66), rgba(239,226,247,.35) 46%, transparent 72%);
	transform: rotate(-7deg);
}

.td-home .td-offer-calm .td-offer-art::before { background: radial-gradient(at 53% 48%, rgba(244,208,223,.65), rgba(250,230,238,.32) 47%, transparent 73%); transform: rotate(6deg); }

.td-home .td-offer-game .td-offer-art::before { background: radial-gradient(at 50% 56%, rgba(242,223,184,.67), rgba(250,239,217,.34) 47%, transparent 73%); transform: rotate(-4deg); }

.td-home .td-offer .td-offer-art img { width: 100%; height: 290px; object-fit: contain; filter: saturate(.8) brightness(1.03); }

.td-home .td-offer .td-offer-body { display: flex; flex-direction: column; align-items: center; flex: 1; padding: 24px 10px 16px; }

.td-home .td-offer h3 { font-size: 21px; line-height: 1.4; font-weight: 700; letter-spacing: -.25px; margin-bottom: 26px; min-height: 2.8em; }

.td-home .td-offer p { font-size: 16px; line-height: 1.8; color: var(--td-body); }

.td-home .td-offer .td-textlink { margin-top: auto; padding-top: 28px; }
/* --- So lernen wir uns kennen --- */
.td-home .td-process { margin-top: 30px !important; text-align: center; padding-top: 40px; }

.td-home .td-steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 36px;
	padding: 28px 16px 0;
}

.td-home .td-steps::before {
	content: "";
	position: absolute;
	top: 61px;
	left: 17%;
	right: 17%;
	height: 1.25px;
	background: linear-gradient(90deg, rgba(198,166,213,.15), rgba(223,169,189,.5), rgba(221,193,139,.15));
	z-index: 0;
}

.td-home .td-step { position: relative; z-index: 1; }

.td-home .td-step-number {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 66px;
	height: 66px;
	margin: 0 auto 18px;
	font-family: Georgia, serif;
	font-size: 23px;
	color: #795887;
}

.td-home .td-step-number::before {
	content: "";
	position: absolute;
	inset: -9px -16px;
	z-index: -1;
	border-radius: 47% 53% 44% 56% / 55% 42% 58% 45%;
	background: radial-gradient(at 36% 32%, #e8daef 5%, #c6a6d5 45%, #dfc7e8 73%, #eee3f3 100%);
	transform: rotate(-8deg);
	opacity: .9;
}

.td-home .td-step-number::after {
	content: "";
	position: absolute;
	inset: 10px 1px 7px;
	z-index: -1;
	border-radius: 53% 47% 42% 58%;
	background: radial-gradient(at 45% 40%, rgba(255,255,255,.55), transparent 70%);
	transform: rotate(13deg);
}

.td-home .td-step-2 .td-step-number { color: #93576d; }

.td-home .td-step-2 .td-step-number::before { background: radial-gradient(at 58% 38%, #f4dce5 5%, #dfa9bd 45%, #ecc5d3 73%, #f8e8ee 100%); transform: rotate(10deg); }

.td-home .td-step-3 .td-step-number { color: #7d5c2f; }

.td-home .td-step-3 .td-step-number::before { background: radial-gradient(at 42% 58%, #f6e8c9 5%, #ddc18b 45%, #edd9ad 73%, #faf0dc 100%); transform: rotate(-15deg); }

.td-home .td-step h3 { font-size: 21px; line-height: 1.4; font-weight: 700; letter-spacing: -.25px; margin-bottom: 14px; }

.td-home .td-step p { font-size: 16px; line-height: 1.8; color: var(--td-body); }

.td-home .td-process .wp-block-buttons { margin-top: 32px; }
/* --- Ein Moment für dich --- */
.td-home .td-moment {
	display: grid;
	grid-template-columns: 456fr 524fr;
	align-items: center;
	gap: 44px;
	padding: 60px 34px;
	margin-top: 60px !important;
}

.td-home .td-moment::before {
	background-color: #fcf6f9;
	background-image: radial-gradient(at 8% 15%, rgba(244,227,197,.6), transparent 60%), radial-gradient(at 90% 85%, rgba(230,213,241,.58), transparent 58%);
}

.td-home .td-moment h2.td-title { position: relative; display: inline-block; isolation: isolate; }

.td-home .td-moment h2.td-title::after {
	content: "";
	position: absolute;
	left: -6px;
	right: -10px;
	bottom: 1px;
	height: 12px;
	z-index: -1;
	border-radius: 43% 57% 36% 64%;
	background: linear-gradient(to right, transparent, #ecd8e7 20%, #eddfc9 85%, transparent);
	transform: rotate(-1.5deg);
}

.td-home .td-moment .td-moment-copy p { font-size: 17px; line-height: 1.8; color: var(--td-body); }

.td-home .td-moment .td-moment-copy .td-subline { font-size: 16px; line-height: 1.5; color: var(--td-accent); }

.td-home .td-moment .td-moment-copy a { color: var(--td-body); text-decoration-color: rgba(161, 94, 121, .5); text-underline-offset: 3px; }

.td-home .td-moment .td-moment-copy .td-soft-note { font-size: 15px; line-height: 1.8; color: var(--td-soft); font-style: italic; }
/* Video: lädt erst nach Klick (Zwei-Klick-Lösung im Theme, kein Plugin) */
.td-home .td-video {
	position: relative;
	aspect-ratio: 16 / 9;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 24px;
	text-align: center;
	background: linear-gradient(135deg, #f3e3ee, #ecdff3 55%, #f6ecdc);
	border-radius: 24px 19px 27px 20px;
	box-shadow: 0 9px 24px rgba(79, 52, 71, .07);
	overflow: hidden;
}

.td-home .td-video > * { margin: 0 !important; }

.td-home .td-video .td-video-play .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 22px 10px 10px;
	background: var(--td-rose);
	border: 1.25px solid var(--td-rose-line);
	border-radius: 40px;
	color: #3c2935;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}

.td-home .td-video .td-video-play .wp-block-button__link::before {
	content: "";
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%23805269'/%3E%3C/svg%3E") center / 18px no-repeat;
}

.td-home .td-video .td-video-note { font-size: 13px; line-height: 1.5; color: #625b65; max-width: 340px; }

.td-home .td-video .td-video-note a { color: #7a3e5b; }

.td-home .td-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* --- FAQ --- */
.td-home .td-faq {
	max-width: 840px;
	margin: 60px auto 0 !important;
	padding: 18px 12px 0;
	background: radial-gradient(at 95% 50%, rgba(244,232,247,.37), transparent 65%);
}

.td-home .td-faq .td-eyebrow {
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.65px;
	text-transform: uppercase;
	text-align: center;
	color: var(--td-eyebrow);
}

.td-home .td-faq .td-faq-list { margin-top: 32px; }

.td-home .td-faq .wp-block-details { border-bottom: 1.25px solid #eadde6; margin: 0; }

.td-home .td-faq .wp-block-details summary {
	position: relative;
	padding: 22px 34px 22px 0;
	list-style: none;
	cursor: pointer;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.55;
	color: var(--td-ink);
}

.td-home .td-faq .wp-block-details summary::-webkit-details-marker { display: none; }

.td-home .td-faq .wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
	line-height: 1;
	font-weight: 400;
	color: #8f5c75;
}

.td-home .td-faq .wp-block-details[open] summary::after { content: "–"; }

.td-home .td-faq .wp-block-details p { font-size: 16px; line-height: 1.8; color: var(--td-body); }

.td-home .td-faq .wp-block-details > p:last-child { margin-bottom: 22px; }
/* --- Abschluss --- */
.td-home .td-closing { padding: 52px 24px 58px; margin: 60px 0 40px !important; text-align: center; }

.td-home .td-closing::before {
	background-image: radial-gradient(at 35% 48%, rgba(240,215,229,.6), transparent 61%), radial-gradient(at 66% 43%, rgba(231,218,241,.52), transparent 57%), radial-gradient(at 50% 80%, rgba(245,232,204,.44), transparent 58%);
}

.td-home .td-closing .td-title { margin-bottom: 10px; }

.td-home .td-format-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	max-width: 600px;
	margin: 60px auto 34px !important;
	text-align: left;
}

.td-home .td-format-card { padding: 16px 20px 15px; }

.td-home .td-format-card::before { background-color: #fdfafe; background-image: radial-gradient(at 10% 10%, rgba(233,220,239,.55), transparent 60%); }

.td-home .td-format-local::before { background-color: #fffcf7; background-image: radial-gradient(at 90% 10%, rgba(246,232,211,.55), transparent 60%); }

.td-home .td-format-card h3 {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 6px;
	font-size: 17px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: -.25px;
}

.td-home .td-format-card h3::before { content: ""; width: 22px; height: 22px; flex-shrink: 0; background: center / contain no-repeat; }

.td-home .td-format-online h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4.5' width='18' height='12' rx='2.5' fill='%23e9dcef' stroke='%239a78b4' stroke-width='1.6'/%3E%3Cpath d='M9 20h6M12 16.5V20' stroke='%239a78b4' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); }

.td-home .td-format-local h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-6.5-6.1-6.5-11a6.5 6.5 0 0 1 13 0c0 4.9-6.5 11-6.5 11z' fill='%23f1e2c4' stroke='%23d3a057' stroke-width='1.6' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='10' r='2.3' fill='none' stroke='%23d3a057' stroke-width='1.6'/%3E%3C/svg%3E"); }

.td-home .td-format-card p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--td-body); }
/* --- Mobil --- */
@media (max-width: 900px) {.td-home .td-hero,
.td-home .td-about,
.td-home .td-moment { grid-template-columns: 1fr; }

.td-home .td-hero .td-copy { padding: 40px 28px 0; }

.td-home .td-hero .td-portrait { max-width: 440px; margin: 0 auto; }

.td-home .td-about { gap: 32px; padding: 40px 24px; }

.td-home .td-about .td-practice-photo { margin: 0 auto; }

.td-home .td-moment { padding: 40px 24px; gap: 32px; }

.td-home .td-offers,
.td-home .td-steps { grid-template-columns: 1fr; gap: 28px; }

.td-home .td-steps::before { display: none; }

.td-home .td-work { padding: 8px 20px 40px; }}

@media (max-width: 600px) {.td-home { padding: 0 16px; }

.td-home .td-hero h1 { font-size: 34px; }

.td-home h2.td-title { font-size: 26px; }

.td-home .td-format-grid { grid-template-columns: 1fr; }

.td-home .td-hero .td-caption { right: 0; bottom: 30px; }}
/* Seiteninhalt ohne eigenen Formatierungskontext,
   damit Außenabstände wie im bisherigen Theme zusammenfallen. */
.td-home .wp-block-post-content.tdl-content { display: block; }
/* =========================================================
   Normale Seiten & Blog (Grundgerüst)
   ========================================================= */
.td-page {
	box-sizing: border-box;
	max-width: 1140px;
	margin: 12px auto 24px;
	padding: 0 24px;
	line-height: 1.7;
	color: var(--td-body);
}
.td-page h1, .td-page h2, .td-page h3 { color: var(--td-ink); line-height: 1.3; }
.td-page a { color: var(--td-berry); }
.td-page :where(p, ul, ol, blockquote, figure, table, pre) { margin-top: 0; margin-bottom: 1.1em; }
.td-page :where(h2, h3, h4) { margin-top: 1.8em; margin-bottom: .6em; }
.td-page .wp-block-post-title { margin: 32px 0 8px; font-size: 43px; letter-spacing: -1.1px; }
.td-page .wp-block-post-date { margin-bottom: 28px; font-size: 14px; color: var(--td-body); }
.td-page :where(ul, ol) { padding-left: 1.4em; }

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