/* TBG Vereinsdesign für alle Seiten (Kadence + Standard-Blöcke) */

body.tbg-design, .editor-styles-wrapper {
	font-family: var(--tbg-font-body, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
	font-size: var(--tbg-base, 17px);
	color: var(--tbg-ink, #1d1d1f);
	-webkit-font-smoothing: antialiased;
}
body.tbg-design h1, body.tbg-design h2, body.tbg-design h3, body.tbg-design h4,
.editor-styles-wrapper h1, .editor-styles-wrapper h2, .editor-styles-wrapper h3 { font-family: var(--tbg-font-head, inherit); letter-spacing: -0.015em; font-weight: var(--tbg-head-weight, 800); color: var(--tbg-ink, #1d1d1f); }

/* Kopfzeile: feine rote Linie */
body.tbg-design #masthead { box-shadow: 0 3px 0 var(--tbg-primary), 0 8px 24px rgba(163, 22, 11, .08); position: relative; z-index: 50; }

/* Seitentitel (Kadence „Titel oberhalb“) als roter Kopf mit Welle */
body.tbg-design .entry-hero.page-hero-section,
body.tbg-design .entry-hero.post-hero-section {
	position: relative; overflow: hidden;
	background: radial-gradient(800px 360px at 90% -10%, rgba(255, 255, 255, .2), transparent 60%), linear-gradient(135deg, var(--tbg-primary), var(--tbg-dark)) !important;
}
body.tbg-design .entry-hero .entry-hero-container-inner { background: transparent !important; }
body.tbg-design .entry-hero .hero-section-overlay { display: none; }
body.tbg-design .entry-hero .entry-header { padding: clamp(36px, 6vw, 72px) 0 clamp(52px, 7vw, 92px); }
body.tbg-design .entry-hero .entry-title { color: #fff !important; font-size: clamp(30px, 5vw, 52px); text-shadow: 0 2px 20px rgba(0, 0, 0, .15); }
body.tbg-design .entry-hero .entry-meta, body.tbg-design .entry-hero .entry-meta a, body.tbg-design .entry-hero .kadence-breadcrumbs, body.tbg-design .entry-hero .kadence-breadcrumbs a { color: rgba(255, 255, 255, .9) !important; }
body.tbg-design .entry-hero::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: clamp(28px, 4vw, 56px);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0,48 C240,90 480,0 720,30 C960,60 1200,90 1440,40 L1440,80 L0,80 Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
body.tbg-design .entry-hero::before {
	content: ""; position: absolute; inset: 0; opacity: .07; pointer-events: none;
	background: repeating-linear-gradient(-45deg, #fff 0 2px, transparent 2px 22px);
}

/* Inhalt als Karte */
body.tbg-design .content-style-boxed .entry.single-entry,
body.tbg-design .content-style-boxed .content-bg { border-radius: var(--tbg-radius, 18px); box-shadow: var(--tbg-shadow); }
body.tbg-design .entry-content a:not(.wp-block-button__link):not(.tbg-ss-btn):not([class*="tbg-ss-"]) { color: var(--tbg-primary); text-decoration-thickness: 2px; text-underline-offset: 3px; }
body.tbg-design .entry-content a:not(.wp-block-button__link):not(.tbg-ss-btn):not([class*="tbg-ss-"]):hover { color: var(--tbg-dark); }

/* Buttons überall */
body.tbg-design .wp-block-button__link,
body.tbg-design .button, body.tbg-design button.button,
body.tbg-design input[type="submit"], body.tbg-design .wp-element-button,
.editor-styles-wrapper .wp-block-button__link {
	border-radius: var(--tbg-btn-radius, 999px) !important; font-weight: 700; padding: .8em 1.6em;
	background-color: var(--tbg-primary); color: #fff; border: 0;
	box-shadow: 0 8px 20px color-mix(in srgb, var(--tbg-primary) 25%, transparent);
	transition: transform .15s ease, background-color .15s ease;
}
body.tbg-design .wp-block-button__link:hover, body.tbg-design input[type="submit"]:hover, body.tbg-design .wp-element-button:hover { background-color: var(--tbg-dark); color: #fff; transform: translateY(-1px); }
body.tbg-design .is-style-outline .wp-block-button__link { background: transparent; color: var(--tbg-primary); box-shadow: inset 0 0 0 2px var(--tbg-primary); }

/* Formulare */
body.tbg-design input[type="text"], body.tbg-design input[type="email"], body.tbg-design input[type="tel"], body.tbg-design input[type="date"], body.tbg-design input[type="number"], body.tbg-design select, body.tbg-design textarea {
	border-radius: 10px; border: 1px solid #e6d3cf; padding: .65em .85em; min-height: 44px;
}
body.tbg-design input:focus, body.tbg-design select:focus, body.tbg-design textarea:focus { border-color: var(--tbg-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tbg-primary) 20%, transparent); outline: none; }

/* Tabellen */
body.tbg-design .entry-content table { border-collapse: collapse; width: 100%; border-radius: 12px; overflow: hidden; }
body.tbg-design .entry-content th { background: var(--tbg-primary); color: #fff; text-align: left; }
body.tbg-design .entry-content th, body.tbg-design .entry-content td { padding: 10px 12px; border: 0; border-bottom: 1px solid #f1dfdb; }
body.tbg-design .entry-content tr:nth-child(even) td { background: #fff7f5; }
@media (max-width: 640px) { body.tbg-design .entry-content .wp-block-table { overflow-x: auto; } }

/* Fußzeile in Rot */
body.tbg-design #colophon { background: linear-gradient(135deg, var(--tbg-dark), #6e0f07); color: rgba(255, 255, 255, .88); }
body.tbg-design #colophon a { color: #fff; }
body.tbg-design #colophon .site-footer-row-container-inner { background: transparent; }

/* Lesefortschritt (alle Seiten) */
.tbg-global-progress { position: fixed; left: 0; right: 0; top: 0; height: 4px; z-index: 99999; pointer-events: none; }
body.admin-bar .tbg-global-progress { top: 46px; }
@media (min-width: 783px) { body.admin-bar .tbg-global-progress { top: 32px; } }
.tbg-global-progress span { display: block; height: 100%; transform-origin: 0 50%; transform: scaleX(var(--p, 0)); background: linear-gradient(90deg, var(--tbg-primary), #ff7a59); }

/* Sanftes Einblenden */
.tbg-reveal-on .tbg-reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1); }
.tbg-reveal-on .tbg-reveal.tbg-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .tbg-reveal-on .tbg-reveal { opacity: 1; transform: none; } }
