/*
Theme Name: Liebe dein Licht
Theme URI: https://www.liebedeinlicht.com
Description: Child-Theme für Liebe dein Licht auf Basis von Twenty Twenty-Five. Nur Optik; Funktionen liegen im Plugin LDL Core.
Author: Salvatore Castiglione
Template: twentytwentyfive
Version: 0.2.4
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: ldl
*/

/* Schriften lokal gehostet (DSGVO: keine Verbindung zu Google beim Seitenaufruf). Dateien liegen in /wp-content/uploads/fonts/. */
@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url("/wp-content/uploads/fonts/cormorant-garamond-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Cormorant Garamond";
	font-style: italic;
	font-weight: 300 700;
	font-display: swap;
	src: url("/wp-content/uploads/fonts/cormorant-garamond-italic.woff2") format("woff2");
}
@font-face {
	font-family: "Jost";
	font-style: normal;
	font-weight: 300 600;
	font-display: swap;
	src: url("/wp-content/uploads/fonts/jost-normal.woff2") format("woff2");
}

/* Hinweis-Bausteine aus LDL Core */
.ldl-hinweis,
.ldl-partnerhinweis {
	font-size: 0.9rem;
	color: var(--wp--preset--color--accent-6);
	border-left: 3px solid var(--wp--preset--color--accent-2);
	padding-left: 1rem;
}

/* Dunkle Flächen: Überschriften und Buttons passend einfärben */
.has-accent-1-background-color :is(h1, h2, h3, h4, h5, h6),
.has-contrast-background-color :is(h1, h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--accent-3);
}
.has-accent-1-background-color .wp-block-button:not(.is-style-outline) .wp-element-button,
.has-contrast-background-color .wp-block-button:not(.is-style-outline) .wp-element-button {
	background-color: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--contrast);
}
.has-accent-1-background-color .wp-block-button.is-style-outline .wp-element-button,
.has-contrast-background-color .wp-block-button.is-style-outline .wp-element-button {
	color: var(--wp--preset--color--accent-5);
	border-color: var(--wp--preset--color--accent-3);
}
.has-accent-1-background-color .wp-element-button:hover,
.has-contrast-background-color .wp-element-button:hover {
	background-color: var(--wp--preset--color--accent-3);
	color: var(--wp--preset--color--contrast);
}

/* Hero */
.ldl-hero h1 {
	font-size: clamp(2.6rem, 6vw, 4.5rem);
	font-weight: 600;
	margin-bottom: 0.5rem;
}

/* Bilder mit weichen Ecken */
.wp-block-image img {
	border-radius: 12px;
}

/* Zitate */
.wp-block-quote {
	border-left: 3px solid var(--wp--preset--color--accent-2);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-style: italic;
}

/* Footer-Listen ohne Aufzählungszeichen */
.ldl-footer-list {
	list-style: none;
	padding-left: 0;
	line-height: 2;
}
.has-contrast-background-color .ldl-footer-list a {
	text-decoration: none;
}
.has-contrast-background-color .ldl-footer-list a:hover {
	text-decoration: underline;
}

/* Formulare (LDL Core) */
.ldl-form input[type="text"],
.ldl-form input[type="email"],
.ldl-form input[type="tel"],
.ldl-form input[type="date"],
.ldl-form input[type="time"],
.ldl-form select,
.ldl-form textarea {
	width: 100%;
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 8px;
	background: var(--wp--preset--color--accent-5);
	font: inherit;
}
.ldl-form label { font-weight: 500; }
.ldl-form input[type="checkbox"] { margin-right: 0.5rem; }
.ldl-form-note { font-size: 0.9rem; color: var(--wp--preset--color--accent-6); }
.ldl-form-msg {
	padding: 1rem 1.25rem;
	border-radius: 8px;
	background: var(--wp--preset--color--accent-3);
}
.ldl-form-msg.is-error { background: #f3d6d6; }

/* Partnerkarten */
.ldl-partner .wp-block-image img { border-radius: 0; max-height: 90px; width: auto; }
.ldl-partner .wp-block-image.ldl-partner-gross img { max-height: 150px; }
.ldl-partner .wp-block-image.ldl-partner-banner img { max-height: 250px; border-radius: 8px; }

/* Header/Footer bleiben über eingebetteten Modulen (z. B. Orientierungshelfer) lesbar */
header.wp-block-template-part,
footer.wp-block-template-part { position: relative; z-index: 50; }
header.wp-block-template-part,
header.wp-block-template-part a,
header.wp-block-template-part .wp-block-navigation-item__content { color: var(--wp--preset--color--contrast); }

/* Widerrufsfunktion (§ 356a BGB): erkennbar hervorgehoben, aber ruhig */
.has-contrast-background-color .ldl-footer-list a.ldl-widerruf-link { color: var(--wp--preset--color--accent-3); font-weight: 600; }

/* Footer-Überschriften: gleiche Größe wie die Links, dafür fett */
footer.wp-block-template-part h3.wp-block-heading {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.05rem !important;
	font-weight: 700;
	letter-spacing: .04em;
	margin-bottom: .4rem;
}

/* Licht-Bilder: rund mit goldenem Rahmen und sanftem Schein */
.wp-block-image.ldl-licht { max-width: 300px; margin-left: auto; margin-right: auto; }
.wp-block-image.ldl-licht img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
	border: 4px solid var(--wp--preset--color--accent-2);
	box-shadow: 0 0 14px 2px rgba(246, 227, 156, .95), 0 0 38px rgba(235, 190, 58, .45);
	transition: box-shadow .35s ease, transform .35s ease;
}
.wp-block-image.ldl-licht a:hover img,
.wp-block-image.ldl-licht a:focus-visible img {
	box-shadow: 0 0 22px 6px rgba(246, 227, 156, 1), 0 0 64px rgba(235, 190, 58, .65);
	transform: scale(1.02);
}

/* Karten-Spalten: Buttons stehen auf gleicher Höhe */
.ldl-cards > .wp-block-column { display: flex; flex-direction: column; }
.ldl-cards > .wp-block-column > .wp-block-buttons { margin-top: auto; }

/* Einheitliche Buttons */
.wp-block-button .wp-element-button {
	min-width: 290px;
	padding: .85rem 1.6rem;
	font-size: 1rem;
	line-height: 1.3;
	text-align: center;
	box-sizing: border-box;
}
.wp-block-button.is-style-outline .wp-element-button { padding: calc(.85rem - 2px) calc(1.6rem - 2px); }
@media (max-width: 600px) {
	.wp-block-buttons { flex-direction: column; align-items: center; }
	.wp-block-button { width: 100%; max-width: 320px; }
	.wp-block-button .wp-element-button { min-width: 0; width: 100%; }
}
.ldl-form .wp-element-button { min-width: 290px; }
@media (prefers-reduced-motion: reduce) { .wp-block-image.ldl-licht img { transition: none; } }

/* Links: beim Überfahren goldene Unterstreichung */
a:hover { text-decoration-color: var(--wp--preset--color--accent-2); text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* Songs (LDL Core) */
.ldl-song { display: grid; grid-template-columns: minmax(0, 260px) 1fr; gap: var(--wp--preset--spacing--50); align-items: start; padding: var(--wp--preset--spacing--50) 0; border-bottom: 1px solid rgba(15, 36, 25, .12); }
.ldl-song:last-child { border-bottom: 0; }
.ldl-song__cover img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 50%; border: 4px solid var(--wp--preset--color--accent-2); box-shadow: 0 0 14px 2px rgba(246, 227, 156, .95), 0 0 38px rgba(235, 190, 58, .45); }
.ldl-song h2, .ldl-song h3 { margin-top: 0; }
.ldl-song__zeilen { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: 1.3rem; border-left: 3px solid var(--wp--preset--color--accent-2); padding-left: 1rem; white-space: pre-line; }
.ldl-song__links { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.ldl-video { position: relative; aspect-ratio: 16 / 9; background: var(--wp--preset--color--contrast) center / cover no-repeat; border-radius: 12px; overflow: hidden; margin: 1rem 0; }
.ldl-video::before { content: ""; position: absolute; inset: 0; background: rgba(15, 36, 25, .55); }
.ldl-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ldl-video__start { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; padding: 1rem; text-align: center; color: var(--wp--preset--color--accent-5); }
.ldl-video__start button { cursor: pointer; }
.ldl-video__hinweis { font-size: .8rem; max-width: 34rem; opacity: .9; }
.ldl-video__hinweis a { color: var(--wp--preset--color--accent-3); }
@media (max-width: 700px) { .ldl-song { grid-template-columns: 1fr; } .ldl-song__cover { max-width: 220px; margin: 0 auto; } }
.ldl-neuester-song { max-width: 1000px; margin: 0 auto; padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }

/* Logo */
.wp-block-site-logo.ldl-logo img { border-radius: 50%; box-shadow: 0 0 10px rgba(235, 190, 58, .35); transition: box-shadow .3s ease; }
.wp-block-site-logo.ldl-logo a:hover img { box-shadow: 0 0 16px rgba(235, 190, 58, .7); }
@media (max-width: 600px) { header .wp-block-site-logo.ldl-logo img { width: 56px !important; } }

/* Markenschriftzug wie im Logo (Cinzel, SIL Open Font License, lokal gehostet) */
@font-face {
	font-family: "Cinzel";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/cinzel-600.woff2") format("woff2");
}
.home .ldl-hero h1 {
	font-family: "Cinzel", "Cormorant Garamond", serif;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: clamp(2.1rem, 5.4vw, 4rem);
	background: linear-gradient(180deg, #FFF3C4 0%, #F6E39C 35%, #EBBE3A 70%, #C99A2E 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 0 14px rgba(235, 190, 58, .35));
}

/* Brevo-Formulare: Zwei-Klick-Laden (reCAPTCHA erst nach Einwilligung) */
.ldl-brevo { max-width: 560px; margin: 1rem auto; }
.ldl-brevo__start { border: 2px solid var(--wp--preset--color--accent-2); border-radius: 12px; padding: 1.4rem 1.2rem; text-align: center; }
.ldl-brevo__hinweis { font-size: .85rem; margin: 0 0 1rem; }
.ldl-brevo__laden { cursor: pointer; }
.ldl-spreadshop-knopf .ldl-spreadshop__hinweis { font-size: .78rem; opacity: .85; margin-top: .6rem; max-width: 28rem; }
.ldl-spreadshop { scroll-margin-top: 90px; }
.is-layout-constrained > .ldl-spreadshop { max-width: var(--wp--style--global--wide-size, 1200px) !important; width: 100%; }
.ldl-spreadshop #myShop { min-height: 600px; }
