/*
Theme Name: Sophie Starker
Theme URI: https://sophie-starker.de
Author: Sophie Starker
Description: Onepager für Osteopathie und Workshops – Salbei & Terrakotta, Fraunces & DM Sans (lokal eingebunden).
Version: 1.15.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sophie-starker
*/

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Sprungmarken: Platz für den fixierten Kopfbereich lassen */
[id] { scroll-margin-top: 110px; }

/* Fixierter Kopfbereich */
.site-top {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: rgba(251, 248, 242, 0.94);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--linie);
}
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--wp--preset--color--tinte); }
.brand-name { font-family: var(--wp--preset--font-family--fraunces); font-size: 22px; font-weight: 500; line-height: 1.1; display: block; }
.brand-sub { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--grau); display: block; }
.site-top .wp-block-navigation a { text-decoration: none; font-weight: 500; }
.site-top .wp-block-navigation a:hover { color: var(--wp--preset--color--terrakotta); }
@media (max-width: 600px) { .site-top .top-cta { display: none; } }

/* Kleine Überzeile */
.eyebrow {
	font-size: 13px !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--wp--preset--color--salbei);
}
.lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--grau); }
.muted { color: var(--wp--preset--color--grau); }
h1 em, h2 em { color: var(--wp--preset--color--terrakotta); }

/* Abschnittsabstände */
.section { padding-top: clamp(32px, 4.5vw, 56px); padding-bottom: clamp(32px, 4.5vw, 56px); }

/* Buttons: Umriss-Variante */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1.5px solid var(--wp--preset--color--salbei);
	color: var(--wp--preset--color--salbei);
	background: transparent;
}

/* Bilder */
.img-arch img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center 30%; border-radius: 999px 999px 24px 24px; width: 100%; }
.img-round img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center 35%; border-radius: 24px; width: 100%; }

/* Vertrauensleiste */
.trust { background: var(--wp--preset--color--sand); }
.trust ul { list-style: none; margin: 0; padding: 22px 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 28px; font-weight: 500; color: var(--wp--preset--color--salbei); }

/* Methodenliste */
.method { border-top: 1px solid var(--wp--preset--color--linie); padding-top: 20px; padding-bottom: 4px; }
.method h3 { margin-bottom: 4px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chips p { border: 1px solid var(--wp--preset--color--linie); background: #fff; border-radius: 999px; padding: 6px 16px; margin: 0; font-size: 15px; font-weight: 500; }

/* Karten */
.card { background: #fff; border: 1px solid var(--wp--preset--color--linie); border-radius: 24px; padding: clamp(24px, 4vw, 44px); }
.card-soft { background: var(--wp--preset--color--salbei-hell); border-radius: 24px; padding: clamp(24px, 4vw, 40px); }
.price-amount { font-family: var(--wp--preset--font-family--fraunces); font-size: clamp(44px, 5vw, 60px); color: var(--wp--preset--color--terrakotta); line-height: 1; font-variant-numeric: tabular-nums; margin: 0; }

/* Workshop-Band */
.ws-band { background: var(--wp--preset--color--salbei); color: #FBF8F2; border-radius: 32px; padding: clamp(28px, 6vw, 80px) !important; }
.ws-band h2 { color: #FBF8F2; }
.ws-band p { color: #DCE5DB; }
.ws-band .eyebrow { color: #F3C9A9; }
.ws-card { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--tinte); border-radius: 24px; padding: 32px; }
.ws-card p { color: var(--wp--preset--color--tinte); }
.ws-card .facts-label { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--grau); margin: 0; }
.ws-card ul { padding-left: 1.2em; }

/* Zitat und Platzhalter */
.quote { font-family: var(--wp--preset--font-family--fraunces); font-style: italic; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.35; }
.placeholder { border: 1px dashed var(--wp--preset--color--terrakotta); border-radius: 12px; padding: 12px 16px; font-size: 15px; }

/* Gratis-Impuls */
.free { background: var(--wp--preset--color--sand); border-radius: 32px; padding: clamp(28px, 5vw, 72px) !important; }

/* Fußbereich */
.site-foot { background: var(--wp--preset--color--tinte); color: #DCE5DB; }
.site-foot a { color: #DCE5DB; }

/* Ergänzungen */
.top-row { padding-top: 14px; padding-bottom: 14px; gap: 16px 28px; max-width: 1280px; margin-left: auto !important; margin-right: auto !important; padding-left: clamp(16px, 4vw, 40px); padding-right: clamp(16px, 4vw, 40px); box-sizing: border-box; }
.hero .wp-block-columns { align-items: center !important; gap: clamp(32px, 6vw, 80px); }
.hero h1 { margin-top: .4em; margin-bottom: .4em; }
.site-foot-inner { padding-top: 56px; padding-bottom: 40px; }
.site-foot .brand-name { color: #FBF8F2; font-size: 26px; margin-bottom: 4px; }
.foot-claim { font-family: var(--wp--preset--font-family--fraunces); font-style: italic; font-size: 20px; color: #F3C9A9; margin-top: 0; }
.section-kicker { text-align: center; font-family: var(--wp--preset--font-family--fraunces); font-style: italic; font-size: clamp(22px, 2.4vw, 28px); color: var(--wp--preset--color--salbei); margin-top: clamp(24px, 3vw, 40px); }
.form-note { font-size: 13px !important; color: var(--wp--preset--color--grau); }
.ws-card .placeholder { color: var(--wp--preset--color--tinte); }
.copyright { font-size: 14px; opacity: .8; border-top: 1px solid #3A4A42; padding-top: 20px; }
.wp-site-blocks > footer { margin-block-start: 0; }
.ws-band .wp-block-columns { align-items: center !important; gap: clamp(28px, 5vw, 64px); }
.free .wp-block-columns { align-items: center !important; }
.method-icon, .card-icon { flex: none; display: block; }
.icon-head { display: flex; flex-wrap: nowrap; align-items: center !important; gap: 16px !important; }
.icon-head h3 { margin: 0 !important; }
.method-text { padding-left: 56px; margin-top: 8px !important; margin-bottom: 0; }
.card .icon-head { margin-bottom: 12px; }

/* Kundenstimmen */
.reviews { gap: clamp(16px, 2vw, 24px) !important; }
.review { height: 100%; display: flex; flex-direction: column; }
.review p { font-size: 15.5px; line-height: 1.6; }
.stars { color: var(--wp--preset--color--terrakotta); letter-spacing: .12em; font-size: 18px !important; margin: 0; }
.review-name { margin-top: auto !important; font-size: 13px !important; color: var(--wp--preset--color--grau); letter-spacing: .04em; }

/* Rechtliche Seiten */
.legal h2 { font-size: 1.5rem; margin-top: 2em; }
.legal p, .legal li { font-size: 16px; }

/* Icons in den Workshop-Karten */

/* Freebie-Vorschau */
.freebie-cover img { border-radius: 8px; box-shadow: 0 12px 30px rgba(31,43,37,.18); transform: rotate(-3deg); }

/* MailerLite-Formulare */
.ml-embedded { width: 100%; max-width: 520px; }

/* Workshop: Mehr erfahren (im grünen Kasten, ohne eigenen Rahmen) */
.ws-more { margin-top: 20px; }
.ws-details { background: none; border: 0; padding: 0; }
.ws-details > summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 10px; padding: 6px 0; font-weight: 500; font-size: 17px; color: #F3C9A9; border-bottom: 1px solid rgba(243,201,169,.5); }
.ws-details > summary::-webkit-details-marker { display: none; }
.ws-details > summary::after { content: "+"; font-size: 22px; line-height: 1; }
.ws-details[open] > summary::after { content: "–"; }
.ws-details > summary:hover { border-bottom-color: #F3C9A9; }
.ws-details > summary:focus-visible { outline: 2px solid #F3C9A9; outline-offset: 4px; }
.ws-details[open] > summary { margin-bottom: 8px; }
.ws-band .ws-details, .ws-band .ws-details p, .ws-band .ws-details li { color: #FBF8F2; }
.ws-band .ws-details h3 { color: #FBF8F2; font-size: 1.15rem; margin-top: 1.4em; margin-bottom: .5em; }
.ws-band .ws-details .muted { color: #DDE5DC; }
.ws-band .ws-details strong { color: #FBF8F2; }
.ws-band .ws-details a { color: #F3C9A9; }
.ws-details li { margin-bottom: .4em; }
.ws-details ol, .ws-details ul { padding-left: 1.2em; }
.ws-band .wp-block-columns:has(.ws-details[open]) { align-items: flex-start !important; }
.ws-band .wp-block-columns:has(.ws-details[open]) .ws-card { position: sticky; top: 110px; }
