/* Hygieneberatung Simovic-Krön e.U. – Theme v1
   Schriften lokal, keine externen Dienste. Wird auf der Website und im Editor geladen. */
@font-face{font-family:'Plus Jakarta Sans';font-weight:400;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:600;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:700;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:800;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:400;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'Plus Jakarta Sans';font-weight:600;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'Plus Jakarta Sans';font-weight:700;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'Plus Jakarta Sans';font-weight:800;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'Source Sans 3';font-weight:400;font-display:swap;src:url(../fonts/source-sans-3-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-weight:600;font-display:swap;src:url(../fonts/source-sans-3-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/source-sans-3-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-weight:400;font-display:swap;src:url(../fonts/source-sans-3-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'Source Sans 3';font-weight:600;font-display:swap;src:url(../fonts/source-sans-3-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'Source Sans 3';font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/source-sans-3-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}

:root{--ink:#0D4F54;--accent:#0F7F84;--band:#137C7F;--accent-text:#0E777C;--kicker:#DFF5F2;--muted:#D5F0ED;--bg:#F3F9F8;--line:#D9E1E0;--text:#1B2A33;--body:#33444D;--soft:#4A5A63;--footer:#083A3D;--head:'Plus Jakarta Sans',system-ui,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body,.editor-styles-wrapper{margin:0;background:var(--bg);color:var(--text);font-family:'Source Sans 3',system-ui,sans-serif;font-size:18px;line-height:1.65}
img{max-width:100%;display:block;height:auto}
a{color:var(--accent-text)}a:hover{color:var(--ink)}
h1,h2,h3{font-family:var(--head);color:var(--ink);margin:0;overflow-wrap:break-word}
h1{font-size:60px;line-height:1.08;font-weight:800}
h2{font-size:40px;line-height:1.15;font-weight:800}
h3{font-size:23px;line-height:1.3;font-weight:700}
p{margin:0}
.wp-block-image,figure{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.stack{display:flex;flex-direction:column;gap:18px}
.btns{display:flex;flex-wrap:wrap;gap:16px}

/* Knöpfe (Theme-Blöcke und Block „Buttons“) */
.btn,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:18px;font-family:inherit;line-height:1.3;border:2px solid var(--accent)}
.btn:hover,.wp-block-button__link:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:16px}
.wp-block-button.is-style-outline>.wp-block-button__link{background:transparent;color:var(--accent-text);border-color:var(--accent);padding:0 28px}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{background:var(--accent);color:#fff}
.wp-block-button.is-style-hb-ghost>.wp-block-button__link{background:transparent;color:#fff;border-color:#fff}
.wp-block-button.is-style-hb-ghost>.wp-block-button__link:hover{background:#fff;color:var(--ink)}
.wp-block-button.is-style-hb-light>.wp-block-button__link{background:#fff;color:var(--ink);border-color:#fff}
.wp-block-button.is-style-hb-light>.wp-block-button__link:hover{background:var(--kicker);border-color:var(--kicker)}

/* Kopfzeile */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.admin-bar .site-header{top:32px}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:84px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex-shrink:0}
.brand img{width:56px;height:56px;object-fit:contain}
.brand b{display:block;font-family:var(--head);font-size:17px;line-height:1.2}
.brand span{display:block;font-size:15px;color:var(--soft);line-height:1.2}
.brand>span>span{display:block}
.nav{display:flex;gap:28px;font-size:17px;font-weight:600}
.nav a{color:var(--text);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover,.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}
.tel{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:2px solid var(--ink);color:var(--ink);text-decoration:none;font-weight:600;font-size:16px;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
.tel:hover,.tel:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;width:48px;height:48px;border-radius:12px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;left:0;right:0;top:84px;background:#fff;border-bottom:1px solid var(--line);display:flex;flex-direction:column;padding:8px 24px 20px;box-shadow:0 12px 24px rgba(13,79,84,.08)}
.menu nav a{padding:14px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;font-weight:600;font-size:18px}

/* Aufbau-Klassen für Gruppen (Editor: Block → Erweitert → Zusätzliche CSS-Klasse) */
.hb-wrap{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;display:flex;flex-direction:column;gap:48px}
.hb-wrap.hb-gap-m{gap:36px}
.hb-stack{display:flex;flex-direction:column;gap:18px}
.hb-stack.hb-tight{gap:12px;max-width:720px}
.hb-stack.hb-roomy{gap:22px}
.hb-split{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:56px}
.hb-split>*{flex:1 1 420px;min-width:0}
.hb-split.hb-top{align-items:flex-start}
.hb-split.hb-stretch{align-items:stretch}
/* Steht in einer zweispaltigen Gruppe nur ein Block (z. B. Foto entfernt), Zeilen lesbar halten */
.hb-split>.hb-stack:only-child{max-width:820px}
.hb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.hb-grid.hb-grid-small{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.hb-split>p>a:only-child,.hb-stack>p>a:only-child{font-weight:600}

/* Abschnitte (Gruppen-Stile) */
.is-style-hb-section{padding:96px 0}
.is-style-hb-section-white{padding:96px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.is-style-hb-section p,.is-style-hb-section-white p{color:var(--body)}

/* Kopfbereich Startseite */
.is-style-hb-hero{background:var(--ink);color:#fff}
.is-style-hb-hero>.hb-wrap{gap:48px;padding-top:56px;padding-bottom:56px}
.is-style-hb-hero .hb-stack{flex:1 1 520px;gap:26px}
.is-style-hb-hero h1{color:#fff}
.is-style-hb-hero .is-style-hb-kicker{color:var(--kicker)}
.is-style-hb-hero p:not(.is-style-hb-kicker){font-size:21px;color:#D8E4E8;max-width:640px}
.wp-block-image.is-style-hb-portrait{flex:0 1 400px;min-width:0;width:400px;margin:0 auto}
.wp-block-image.is-style-hb-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 0;border-radius:16px}

/* Kopfbereich Unterseiten */
.is-style-hb-page-hero{background:var(--ink);color:#fff;padding:72px 0}
.is-style-hb-page-hero>.hb-wrap:not(.hb-split){gap:0}
.is-style-hb-page-hero h1{color:#fff;font-size:48px}
.is-style-hb-page-hero>.hb-wrap:not(.hb-split)>h1{margin-top:12px}
.is-style-hb-page-hero p:not(.is-style-hb-kicker){color:#D8E4E8;font-size:20px;max-width:720px}
.is-style-hb-page-hero>.hb-wrap:not(.hb-split)>p:not(.is-style-hb-kicker){margin-top:16px}
.is-style-hb-page-hero .is-style-hb-kicker{color:var(--kicker)}
.is-style-hb-page-hero>.hb-wrap:not(.hb-split)>.is-style-hb-kicker{line-height:1.98}

/* Absatz-Stile */
.is-style-hb-kicker{font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.is-style-hb-section p.is-style-hb-kicker,.is-style-hb-section-white p.is-style-hb-kicker{color:var(--accent-text)}
.is-style-hb-lead,.is-style-hb-section p.is-style-hb-lead,.is-style-hb-section-white p.is-style-hb-lead{font-size:20px;color:var(--body);max-width:720px}
.is-style-hb-figure{display:block;font-family:var(--head);font-size:36px;font-weight:800;color:var(--ink);line-height:1.2}
.is-style-hb-number{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--head)}
.is-style-hb-section p.is-style-hb-figure,.is-style-hb-section-white p.is-style-hb-figure,.is-style-hb-stats p.is-style-hb-figure{color:var(--ink)}
.is-style-hb-section p.is-style-hb-number,.is-style-hb-section-white p.is-style-hb-number{color:#fff}

/* Fotos */
.wp-block-image.is-style-hb-photo img{border-radius:16px;width:100%;object-fit:cover;object-position:50% 0;background:#D6ECEA}
.hb-split>.wp-block-image.is-style-hb-photo{max-width:460px}
.hb-split>.wp-block-image.is-style-hb-photo.hb-narrow{max-width:440px}
.hb-split>.wp-block-image.is-style-hb-photo.hb-right{margin-left:auto}

/* Kennzahlen-Leiste */
.is-style-hb-stats{background:#fff;border-bottom:1px solid var(--line)}
.is-style-hb-stats>.hb-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;padding-top:32px;padding-bottom:32px}
.is-style-hb-stats p:not(.is-style-hb-figure){font-size:17px;color:var(--soft)}

/* Karten */
.is-style-hb-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:28px}
.is-style-hb-card>.wp-block-image:first-child{margin:-28px -28px 14px}
.is-style-hb-card>.wp-block-image:first-child img{height:220px;width:100%;object-fit:cover}
.is-style-hb-section .is-style-hb-card p,.is-style-hb-section-white .is-style-hb-card p,.is-style-hb-card p{color:var(--body)}
.is-style-hb-card ul{margin:0;padding-left:20px;color:var(--body);display:flex;flex-direction:column;gap:6px}
.is-style-hb-card>.wp-block-buttons{margin-top:auto}
.is-style-hb-card .wp-block-button__link{min-height:44px;font-size:16px;padding:0 20px}
.is-style-hb-card:not(:has(>.wp-block-image)) h3{font-size:20px}
.is-style-hb-card h3{hyphens:auto;-webkit-hyphens:auto}
.is-style-hb-card-dark{background:var(--ink);border:1px solid var(--ink);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:28px}
.is-style-hb-card-dark h3{color:#fff;font-size:22px}
.is-style-hb-section .is-style-hb-card-dark p,.is-style-hb-card-dark p{color:#E3F6F4}
.is-style-hb-card-dark .wp-block-button__link{min-height:44px;font-size:16px;padding:0 20px}
.is-style-hb-card-dark>.wp-block-buttons{margin-top:auto}
.is-style-hb-card>p.is-style-hb-number{color:#fff}
.is-style-hb-card>p.is-style-hb-figure{color:var(--ink)}
.hb-card-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.hb-card-head>p,.is-style-hb-card .hb-card-head>p{color:var(--accent-text);font-weight:600;white-space:nowrap}

/* Faktenbox (Startseite) */
.hb-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:460px;margin-left:auto}
.hb-split>.hb-facts{flex:0 1 460px}
.hb-facts>:nth-child(3){grid-column:span 2}
.hb-facts .is-style-hb-card{gap:4px}
.hb-facts .is-style-hb-figure{font-size:40px;line-height:1.1}
.hb-facts .is-style-hb-card p:not(.is-style-hb-figure){color:var(--soft)}
.hb-facts strong{color:var(--ink);font-size:19px}

/* Werdegang und Häkchen-Liste */
.is-style-hb-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.is-style-hb-timeline li{display:grid;grid-template-columns:120px 1fr;gap:16px;color:var(--body)}
.is-style-hb-timeline strong{color:var(--ink);font-size:17px}
.is-style-hb-checks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;color:var(--body)}
.is-style-hb-checks li{padding-left:30px;position:relative}
.is-style-hb-checks li::before{content:"";position:absolute;left:0;top:9px;width:16px;height:9px;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);transform:rotate(-45deg)}

/* Stimmen aus der Fachwelt (synchronisierte Vorlage) */
.hb-quotes-block{display:flex;flex-direction:column;gap:24px;margin-top:24px}
.hb-quotes-block>h3{font-size:26px}
.hb-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}
.hb-quotes .wp-block-quote{margin:0;background:#fff;border:1px solid var(--muted);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:16px}
.hb-quotes .wp-block-quote::before{content:"„";font-family:Georgia,serif;font-size:64px;line-height:.6;color:var(--accent-text);height:28px}
.hb-quotes .wp-block-quote p{margin:0;font-style:italic;font-size:18px;line-height:1.65;color:var(--ink)}
.hb-quotes .wp-block-quote cite{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;font-style:normal;color:var(--soft);font-size:15px}
.hb-quotes .wp-block-quote cite strong{color:var(--ink);font-size:17px}
.hb-quotes .wp-block-quote cite br{display:none}

/* Häufige Fragen (Block „Details“) */
.hb-faq{display:flex;flex-direction:column;gap:12px;max-width:820px}
.hb-faq .wp-block-details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 24px}
.hb-faq summary{cursor:pointer;padding:18px 0;font-family:var(--head);font-weight:700;font-size:19px;color:var(--ink);list-style-position:outside}
.hb-faq .wp-block-details[open] summary{border-bottom:1px solid var(--line);margin-bottom:14px}
.hb-faq .wp-block-details>p{padding-bottom:18px}

/* Kontaktband (Theme-Block) */
.contact{background:var(--ink);color:#fff}
.contact .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:40px;padding-top:88px;padding-bottom:88px}
.contact h2{color:#fff}
.contact p{color:#D8E4E8}
.contact .links{display:flex;flex-direction:column;gap:12px;font-size:19px}
.contact .links a{color:#fff}

/* Kontaktdaten (Theme-Block) */
.hb-contactdata{display:flex;flex-direction:column;gap:22px}
.hb-kicker-label{font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.hb-big{font-size:24px;font-weight:700;font-family:var(--head);color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.hb-big-phone{font-size:28px}
.hb-locations,.is-style-hb-section p.hb-locations{font-size:20px;color:var(--body)}

/* Rechtstexte */
.hb-wrap.hb-legal{display:block;max-width:820px}
.hb-legal h1{font-size:44px}
.hb-legal h2{font-size:26px;margin-top:36px}
.hb-legal p{margin-top:10px;color:var(--body)}

/* Fußzeile */
.site-footer{background:var(--footer);color:#B9C8CF;font-size:16px}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-top:40px;padding-bottom:40px}
.footer-brand{display:flex;align-items:center;gap:16px}
.footer-title{color:#fff;font-weight:600}
.site-footer .logo{width:60px;height:60px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.site-footer .logo img{width:50px;height:50px;object-fit:contain}
.site-footer a{color:#B9C8CF}
.site-footer nav{display:flex;gap:24px}

/* Umschaltpunkt Handy-Menü: Kopfzeile braucht ca. 1010 px (Stand v2, 5 Menüpunkte) – bei längerem Menü anpassen */
@media (max-width:1120px){.nav,.tel{display:none}.menu{display:block}}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:760px){
 body{font-size:17px}
 h1{font-size:38px}.is-style-hb-page-hero h1{font-size:34px}
 h2{font-size:30px}
 .is-style-hb-section,.is-style-hb-section-white{padding:64px 0}
 .wp-block-image.is-style-hb-portrait{width:100%;max-width:420px}
 .is-style-hb-timeline li{grid-template-columns:1fr;gap:2px}
}

/* ===== v5: Zitate mit Namen oben ===== */
.hb-quotes .wp-block-quote cite{order:-2;margin-top:0;border-top:0;padding-top:0;border-bottom:1px solid var(--line);padding-bottom:14px}
.hb-quotes .wp-block-quote::before{order:-1;margin-top:4px}

/* ===== v5: Kopfzeile – Hover und gleitende Markierung beim Seitenwechsel (ohne JavaScript) ===== */
.nav a{position:relative;border-bottom:0;padding:6px 0 8px;transition:color .2s}
.nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:2px;border-radius:2px;background:var(--accent);opacity:.45;transition:left .25s ease,right .25s ease}
.nav a:hover::after{left:0;right:0}
.nav a[aria-current=page]::after{display:none}
.nav-ind{position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:var(--accent);view-transition-name:hb-nav-ind}
.site-header{view-transition-name:hb-header}
main{view-transition-name:hb-main}
@view-transition{navigation:auto}
::view-transition-group(hb-nav-ind){animation-duration:.45s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
::view-transition-old(hb-header),::view-transition-new(hb-header){animation:none}
::view-transition-old(hb-main){animation:hb-out .25s ease both}
::view-transition-new(hb-main){animation:hb-in .4s cubic-bezier(.2,.8,.2,1) both}
@keyframes hb-out{to{opacity:0;transform:translateY(-6px)}}
@keyframes hb-in{from{opacity:0;transform:translateY(10px)}}
/* v7: am Handy und Tablet kein Seitenwechsel-Effekt – dort verzögerte er das Öffnen der Seite */
@media (max-width:1120px),(pointer:coarse){@view-transition{navigation:none}}
@media (prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 .nav a::after{transition:none}
}

/* Nur im Editor: Theme-Blöcke volle Breite, keine Klick-Ziele */
.editor-styles-wrapper .wp-block-hb-kontaktband,.editor-styles-wrapper .wp-block-hb-kontaktdaten{max-width:none}

/* ===== v9: Überschriften am Handy ohne automatische Silbentrennung – Schrift passt sich der Breite an (360–430 px geprüft) ===== */
@media (max-width:760px){
 h1,h2,h3,.wp-block-heading{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal}
 h1{font-size:clamp(28px,8.6vw,38px)}
 .is-style-hb-page-hero h1{font-size:clamp(27px,8.2vw,34px)}
 h2{font-size:clamp(25px,7.4vw,30px)}
 .hb-legal h1{font-size:clamp(24px,7.8vw,34px)}
 .hb-legal h2{font-size:clamp(19px,6.2vw,26px)}
}

/* ===== v9: Zitate – öffnendes Anführungszeichen wie das schließende (im Text), weniger Abstand unter dem Namen ===== */
.hb-quotes .wp-block-quote{gap:14px}
.hb-quotes .wp-block-quote::before{content:none;display:none}
.hb-quotes .wp-block-quote p:first-of-type::before{content:"„"}

/* ===== v15: Kennzahlen-Kärtchen am Handy (Wort „Themenbereiche“ ragte bei 360–390 px über die Spalte) ===== */
@media (max-width:480px){
 .hb-facts{gap:10px}
 .hb-facts .is-style-hb-card{padding:20px 16px}
 .hb-facts .is-style-hb-card p:not(.is-style-hb-figure){font-size:16px;hyphens:auto;overflow-wrap:break-word}
}
