/*
Theme Name: Female Balance by Jana
Theme URI: https://janasteinmueller.de
Author: Zoé Steinmüller
Description: Block-Theme für Jana Steinmüller – Female Balance. Salbei-Mint, ruhige Typografie, Angebots- und Buchungsbausteine. Alle Texte und Bilder sind im WordPress-Editor bearbeitbar.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.8
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: female-balance
*/

/* ---------- Grundlagen ---------- */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
:where(.wp-site-blocks) :focus-visible{outline:2px solid var(--wp--preset--color--mint-deep);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{text-wrap:balance}
.fb-eyebrow{font-size:.8rem!important;letter-spacing:.2em;text-transform:uppercase;color:var(--wp--preset--color--mint-deep)}
.fb-lead{font-size:1.15rem;color:var(--wp--preset--color--muted);max-width:60ch}
.fb-prose p,.fb-muted{color:var(--wp--preset--color--muted)}
.fb-prose{max-width:65ch}
.fb-small{font-size:.9rem;color:var(--wp--preset--color--muted)}
.fb-accent,.fb-accent mark{color:var(--wp--preset--color--mint-deep)}

/* ---------- Kopfzeile ---------- */
.fb-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,#fff 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--wp--preset--color--line)}
.admin-bar .fb-header{top:32px}
@media (max-width:782px){.admin-bar .fb-header{top:46px}}
.fb-logo img{height:46px;width:auto}
.fb-header .wp-block-navigation a{text-decoration:none}
.fb-header .wp-block-navigation .wp-block-navigation-item__content{padding:8px 10px;border-radius:999px}
.fb-header .wp-block-navigation .wp-block-navigation-item__content:hover{background:var(--wp--preset--color--mint-50)}
.fb-header .current-menu-item>.wp-block-navigation-item__content{background:var(--wp--preset--color--mint-50)}

/* ---------- Abschnitte ---------- */
.fb-section{padding-top:clamp(56px,8vw,96px)!important;padding-bottom:clamp(56px,8vw,96px)!important}
.fb-section.fb-tight{padding-top:24px!important}
.fb-hero{padding-top:clamp(48px,7vw,88px)!important;padding-bottom:clamp(40px,6vw,72px)!important}
.fb-alt{background:var(--wp--preset--color--sand)}
.fb-mint{background:var(--wp--preset--color--mint)}
.fb-mint .fb-eyebrow{color:var(--wp--preset--color--mint-deep)}

/* ---------- Fotos ---------- */
.fb-photo{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/3}
.fb-photo.fb-tall{aspect-ratio:4/5}
.fb-photo img{display:block;width:100%!important;height:100%!important;object-fit:cover;transition:transform 1.2s ease}
.fb-photo:hover img{transform:scale(1.03)}

/* ---------- Karten ---------- */
.fb-card{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:14px;padding:24px!important;display:flex;flex-direction:column;gap:12px;height:100%}
.fb-card>*{margin:0!important}
.fb-card h3{font-size:1.4rem}
.fb-card .fb-card-desc{color:var(--wp--preset--color--muted);font-size:.95rem}
.fb-card .fb-meta{font-size:.9rem}
.fb-card .fb-foot{margin-top:auto!important;padding-top:14px;border-top:1px solid var(--wp--preset--color--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fb-card .fb-foot>*{margin:0!important}
.fb-price{font-family:var(--wp--preset--font-family--display);font-size:1.5rem}
.fb-chips{display:flex;flex-wrap:wrap;gap:6px}
.fb-chips span,.fb-chip{font-size:.75rem;letter-spacing:.05em;padding:4px 10px;border-radius:999px;background:var(--wp--preset--color--mint-50);color:var(--wp--preset--color--mint-deep)}
.fb-chips .fb-full{background:var(--wp--preset--color--sand);color:#7a6248}
a.fb-pillar,.fb-pillar{text-decoration:none;color:inherit;transition:border-color .2s,transform .25s}
.fb-pillar:hover{border-color:var(--wp--preset--color--mint-deep);transform:translateY(-3px)}
.fb-num{font-family:var(--wp--preset--font-family--display);color:var(--wp--preset--color--mint-deep)}
.fb-go a{color:var(--wp--preset--color--mint-deep);text-decoration:none;letter-spacing:.04em}

/* Programme vergleichen */
.fb-tier.fb-feature{background:var(--wp--preset--color--mint-50);border-color:var(--wp--preset--color--mint)}
.fb-big{font-family:var(--wp--preset--font-family--display);font-size:2.6rem;line-height:1;color:var(--wp--preset--color--mint-deep)}
.fb-big em{font-style:normal;font-family:var(--wp--preset--font-family--body);font-size:1rem;color:var(--wp--preset--color--muted)}

/* Zeichen-Raster */
.fb-signs{gap:1px!important;background:var(--wp--preset--color--line);border:1px solid var(--wp--preset--color--line);border-radius:14px;overflow:hidden}
.fb-signs>.wp-block-group{background:#fff;padding:20px 22px!important;margin:0!important}
.fb-signs h3{font-size:1.25rem;margin:0 0 4px}
.fb-signs p{margin:0;font-size:.98rem}

/* Ablauf / Timeline */
.fb-timeline{border-left:2px solid var(--wp--preset--color--mint);padding-left:24px!important}
.fb-timeline>.wp-block-group{position:relative;padding:10px 0!important;margin:0!important}
.fb-timeline>.wp-block-group::before{content:"";position:absolute;left:-31px;top:18px;width:12px;height:12px;border-radius:50%;background:var(--wp--preset--color--mint-deep)}
.fb-timeline h3{font-size:1.2rem;margin:0}
.fb-timeline p{margin:4px 0 0;color:var(--wp--preset--color--muted);font-size:.95rem}

/* Schwerpunkt-Liste */
.fb-focus{list-style:none;padding:0!important;margin:0}
.fb-focus li{padding:12px 0;border-bottom:1px solid var(--wp--preset--color--line)}

/* Stimmen */
.fb-quote p:first-child{font-family:var(--wp--preset--font-family--display);font-size:1.2rem;line-height:1.4;color:var(--wp--preset--color--ink)}

/* Banner */
.fb-banner{background:var(--wp--preset--color--mint-50);border:1px solid var(--wp--preset--color--mint);border-radius:14px;padding:28px 32px!important}

/* FAQ */
.wp-block-details{border-bottom:1px solid var(--wp--preset--color--line);padding:18px 0}
.wp-block-details summary{cursor:pointer;font-family:var(--wp--preset--font-family--display);font-size:1.25rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";color:var(--wp--preset--color--mint-deep)}
.wp-block-details[open] summary::after{content:"–"}
.wp-block-details p{color:var(--wp--preset--color--muted);max-width:65ch}

/* Klangwellen */
.fb-waves{display:block;width:100%;height:120px}
.wp-block-html:has(.fb-waves){margin:0}

/* Filter auf der Buchungsseite */
.fb-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.fb-filters button{font:inherit;font-size:.92rem;padding:9px 16px;border-radius:999px;border:1px solid var(--wp--preset--color--line);background:#fff;cursor:pointer;color:var(--wp--preset--color--ink)}
.fb-filters button[aria-pressed="true"]{background:var(--wp--preset--color--mint);border-color:var(--wp--preset--color--mint);color:var(--wp--preset--color--brand)}
.fb-hidden{display:none!important}

/* Fußzeile */
.fb-footer{background:var(--wp--preset--color--sand);font-size:.92rem;color:var(--wp--preset--color--muted)}
.fb-footer a{color:var(--wp--preset--color--ink);text-decoration:none}
.fb-footer a:hover{text-decoration:underline}
.fb-footer .fb-legal{border-top:1px solid var(--wp--preset--color--line);padding-top:20px;font-size:.82rem}
.fb-footer .fb-logo img{height:64px}

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

/* ---------- Ergänzungen ---------- */
.wp-site-blocks>*{margin-block:0!important}
.fb-main{margin:0!important}
.wp-block-post-content>.alignfull,.fb-main>.alignfull{margin-block:0!important}
.fb-chip-line{font-size:.78rem!important;letter-spacing:.08em;text-transform:uppercase;color:var(--wp--preset--color--mint-deep)}
.fb-chip-full{align-self:flex-start;font-size:.75rem!important;padding:4px 10px;border-radius:999px;background:var(--wp--preset--color--sand);color:#7a6248}
.fb-btn-dark .wp-block-button__link{background:var(--wp--preset--color--brand)!important;color:#fff!important}
.fb-btn-dark .wp-block-button__link:hover{background:#2f2f18!important}
.fb-bigquote{font-family:var(--wp--preset--font-family--display);font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.2;color:var(--wp--preset--color--ink)}
.fb-foot-h{font-size:1.1rem!important;letter-spacing:.06em;color:var(--wp--preset--color--brand)}
.fb-card ul{margin:0;padding-left:18px;color:var(--wp--preset--color--muted);font-size:.95rem}
.fb-tier .fb-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fb-hero .wp-block-columns,.fb-section .wp-block-columns{gap:clamp(28px,6vw,72px)}
.fb-mint .is-style-outline .wp-block-button__link{background:#fff}
.is-layout-constrained>.fb-lead,.is-layout-constrained>.fb-prose,.is-layout-constrained>.fb-small{margin-left:0!important}
.fb-header{padding-top:12px!important;padding-bottom:12px!important}
@media (max-width:600px){.fb-header .wp-block-button__link{padding:9px 14px!important;font-size:.85rem!important}.fb-logo img{height:38px}}
