/*
Theme Name: Hamich Gesundfit
Description: Individuelles Praxis-Theme mit bearbeitbarer Startseite aus WordPress-Blöcken.
Version: 1.4.17
Requires at least: 6.6
Requires PHP: 8.0
Author: Hamich Gesundfit
Text Domain: hamich-gesundfit
*/
:root{--petrol:#50888b;--dark:#243e40;--gray:#575b5c;--light:#edf4f3}*{box-sizing:border-box}body{margin:0;color:var(--dark);font:17px/1.65 system-ui,sans-serif;background:#fff}a{color:inherit}button{font:inherit}.wrap{max-width:1180px;margin:auto;padding:0 28px}.draft{background:var(--dark);color:white;font-size:13px;padding:7px 0}header{background:white;border-bottom:1px solid #e4ecea}.header{display:flex;align-items:center;justify-content:space-between;gap:26px;padding-top:20px;padding-bottom:20px}.logo{width:205px;height:auto}nav{display:flex;gap:25px;align-items:center}nav a{text-decoration:none;font-size:15px;font-weight:600}.btn{display:inline-flex;padding:13px 23px;background:var(--petrol);color:white;text-decoration:none;border-radius:8px;font-weight:650;border:0;cursor:pointer}.outline{background:white;color:var(--dark);border:1px solid #afc6c4}.hero{background:var(--light)}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:55px;padding-top:65px;padding-bottom:65px}.eyebrow{font-size:13px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:var(--petrol)}h1{font-size:clamp(38px,4.7vw,62px);line-height:1.12;letter-spacing:-2px;margin:18px 0 24px}h2{font-size:clamp(29px,3vw,40px);line-height:1.2;letter-spacing:-1px;margin:12px 0 20px}h3{font-size:23px;line-height:1.25;margin:10px 0 14px}p{color:var(--gray)}.hero p{max-width:520px;font-size:19px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.hero img{width:100%;height:460px;object-fit:cover;border-radius:90px 14px 14px 14px}.note{font-size:13px;color:var(--gray)}section{padding:76px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.card{padding:30px;border:1px solid #dce7e5;border-radius:14px;background:white}.num{font-size:13px;color:var(--petrol);font-weight:750}.card a{font-weight:650;text-underline-offset:5px}.band{background:var(--light)}.two{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.steps{margin:0;padding:0;list-style:none;counter-reset:steps}.steps li{counter-increment:steps;position:relative;padding:0 0 26px 55px}.steps li:before{content:counter(steps);position:absolute;left:0;top:0;background:white;border:1px solid #c8dcd8;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;color:var(--petrol);font-weight:700}.steps p{margin:7px 0}.contact{background:var(--dark);color:white;border-radius:18px;padding:42px}.contact h2{margin-top:0}.contact p{color:#dbe8e6}.contact a{color:white}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px}.footer{border-top:1px solid #dce7e5;padding:30px 0;font-size:14px}.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-links{display:flex;gap:22px}.footer button{background:none;border:0;padding:0;color:var(--gray);text-decoration:underline;cursor:pointer}dialog{max-width:580px;border:0;border-radius:16px;padding:32px;color:var(--dark)}dialog::backdrop{background:#172b2bc0}.menu-toggle{display:none;background:transparent;border:1px solid #ccdcd9;border-radius:6px;padding:8px 12px}.mobile-call{display:none}a:focus-visible,button:focus-visible{outline:3px solid #e0aa35;outline-offset:4px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}
@media(max-width:850px){.header{flex-wrap:wrap}.logo{width:175px}.menu-toggle{display:block}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:15px}nav.open{display:flex}.hero-grid,.two,.contact-grid{grid-template-columns:1fr;gap:30px}.hero-grid{padding-top:38px;padding-bottom:38px}.hero img{height:290px;border-radius:50px 12px 12px 12px}.cards{grid-template-columns:1fr}section{padding:45px 0}.contact{padding:28px}.wrap{padding-left:22px;padding-right:22px}h1{letter-spacing:-1px}.mobile-call{display:block;position:fixed;bottom:15px;right:15px;box-shadow:0 4px 20px #243e4033}body{padding-bottom:55px}}
.wp-block-group{box-sizing:border-box}.wp-block-image{margin:0}.hero .wp-block-image img{display:block}.eyebrow{margin:0}.hero p.note{font-size:13px}.contact .eyebrow{color:#a7d1ce}.site-navigation ul{display:flex;list-style:none;gap:25px;align-items:center;margin:0;padding:0}.site-navigation li{margin:0}.wp-block-button__link{display:inline-flex;padding:13px 23px;background:var(--petrol);color:white;border-radius:8px;font-weight:650;font-size:17px;text-decoration:none;border:1px solid transparent;line-height:1.65}.wp-block-button.is-style-outline>.wp-block-button__link{background:white;color:var(--dark);border:1px solid #afc6c4}.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.wp-block-buttons .wp-block-button{margin:0}.steps .step{position:relative;padding:0 0 26px 55px;counter-increment:steps}.steps .step:before{content:counter(steps);position:absolute;left:0;top:0;background:white;border:1px solid #c8dcd8;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;color:var(--petrol);font-weight:700}.steps .step p{margin:0 0 7px}.card p:last-child{margin-bottom:0}.page-content{min-height:55vh}.regular-page{padding:60px 0}.regular-page>div{max-width:800px}.custom-logo-link{display:block}.custom-logo{width:205px;height:auto;display:block}.card:target{outline:2px solid var(--petrol);outline-offset:5px}html{scroll-behavior:smooth}section[id],article[id]{scroll-margin-top:30px}.hero-grid>div,.two>div,.contact-grid>div{min-width:0}
@media(max-width:850px){.site-navigation ul{flex-direction:column;align-items:stretch;gap:15px}.custom-logo{width:175px}.wp-block-buttons{gap:12px}.footer-links{flex-wrap:wrap}.hero-grid,.two,.contact-grid{grid-template-columns:1fr}.hero .wp-block-image img{height:290px;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@font-face{font-family:'Open Sans';src:url('assets/open-sans.ttf') format('truetype');font-style:normal;font-weight:300 800;font-display:swap}
body{font-family:'Open Sans',sans-serif;font-weight:300}
h1,h2{font-family:'Open Sans',sans-serif;font-weight:300;letter-spacing:normal}
h3{font-family:'Open Sans',sans-serif;font-weight:400;letter-spacing:normal}p{font-weight:400}nav a{font-family:'Open Sans',sans-serif;font-weight:300}.btn,.wp-block-button__link{font-family:'Open Sans',sans-serif;font-weight:600}.hero p.eyebrow{font-size:13px;font-weight:600}.eyebrow,.num{font-weight:600}
.regular-page h2{margin-top:36px;font-size:28px}.regular-page p{overflow-wrap:anywhere}.footer-links a{text-decoration:underline;text-underline-offset:4px}.footer-links ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.map-consent{background:#fff;border:1px solid #c8dcd8;border-radius:14px;padding:26px}.map-consent p{font-size:15px}.map-slot iframe{width:100%;height:360px;border:0;border-radius:10px}.map-remove{font:inherit;background:transparent;border:0;text-decoration:underline;cursor:pointer;padding:12px 0;color:var(--dark)}[hidden]{display:none!important}.hg-form{background:var(--light);padding:30px;border-radius:14px}.hg-form label{display:block;font-weight:600;font-size:15px;margin-bottom:18px}.hg-form input,.hg-form select,.hg-form textarea{display:block;width:100%;font:inherit;margin-top:7px;border:1px solid #a7bebb;background:white;color:var(--dark);padding:12px;border-radius:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hg-form p{font-size:14px}.hg-form input:focus-visible,.hg-form textarea:focus-visible,.hg-form select:focus-visible{outline:3px solid var(--petrol);outline-offset:2px}@media(max-width:600px){.form-grid{grid-template-columns:1fr;gap:0}.hg-form{padding:20px}.map-consent{padding:20px}}
.card .offer-photo{margin:0 0 22px}.offer-photo img{display:block;width:100%;height:210px;object-fit:cover;border-radius:9px}.regular-page .offer-photo{margin-bottom:30px}.regular-page .offer-photo img{height:auto;max-height:400px;object-fit:cover}.contact .map-consent{margin-top:26px}.contact .map-consent p,.contact .map-consent a{color:var(--gray)}.contact .map-consent h3{color:var(--dark)}
.regular-page:has(.service-hero){padding:0}.service-hero{position:relative;min-height:620px;height:78vh;max-height:860px;display:flex;align-items:flex-end;overflow:hidden;background:var(--dark);padding:0}.service-visual{position:absolute;inset:-80px 0;will-change:transform}.regular-page .service-visual .offer-photo{margin:0;height:100%}.regular-page .service-visual .offer-photo img{width:100%;height:100%;max-height:none;border-radius:0;object-fit:cover;object-position:50% 45%}.service-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,47,53,.05) 10%,rgba(20,47,53,.28) 42%,rgba(20,47,53,.9) 100%)}.service-heading{position:relative;z-index:1;padding-top:120px;padding-bottom:150px;color:white}.service-heading h1{color:white;font-size:clamp(42px,6vw,82px);max-width:1000px;line-height:1.12;margin:18px 0 26px}.service-heading .eyebrow{color:#b2dedf}.service-scroll{display:inline-flex;align-items:center;gap:24px;color:white;text-decoration:none;border-bottom:1px solid #b2dedf;padding-bottom:9px}.service-scroll span{font-size:26px}.service-body{position:relative;z-index:2;background:white;border-radius:32px 32px 0 0;margin-top:-64px;padding:60px 0 80px}.service-body>.wrap{max-width:960px}.service-body>.wrap>p:first-child{font-size:22px;line-height:1.65;color:var(--dark);max-width:780px;margin-bottom:42px}.service-body h2{border-top:1px solid #dce8e6;padding-top:28px;margin-top:40px}.service-body ul{padding-left:22px}.service-body li{padding:7px 0}.service-body .todo{font-size:15px}@media(max-width:600px){.service-hero{min-height:480px;height:68vh}.service-heading{padding-bottom:110px}.service-heading h1{font-size:40px}.service-body{border-radius:22px 22px 0 0;padding-top:36px}.service-body>.wrap>p:first-child{font-size:19px}.service-visual{inset:0}.service-heading .eyebrow{font-size:11px}}@media(prefers-reduced-motion:reduce){.service-visual{will-change:auto;transform:none!important}}
.regular-page>.service-body{max-width:none;width:100%}.regular-page .service-heading{width:100%;max-width:1180px;margin:0 auto}
.hg-application input[type=file]{padding:18px;border-style:dashed}.hg-application input::file-selector-button{font:inherit;background:var(--petrol);color:white;border:0;border-radius:6px;padding:9px 14px;margin-right:12px;cursor:pointer}
.application-file-picker{position:relative;display:inline-block;margin-top:8px;background:var(--petrol);color:white;padding:12px 20px;border-radius:7px;cursor:pointer;overflow:hidden}.hg-application .application-file-picker input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.application-file-picker:focus-within{outline:3px solid var(--dark);outline-offset:3px}.application-file-list{list-style:none;padding:0;margin:14px 0}.application-file-list li{display:flex;align-items:center;gap:15px;justify-content:space-between;background:white;padding:12px 16px;border:1px solid #c8dcd8;border-radius:7px;margin-bottom:8px;font-size:15px}.application-file-list span{overflow-wrap:anywhere;min-width:0}.application-file-list button{flex-shrink:0;border:0;background:var(--light);color:var(--dark);border-radius:50%;width:34px;height:34px;font-size:25px;line-height:1;cursor:pointer}.application-file-list button:focus-visible{outline:3px solid var(--petrol)}.hg-job{padding:25px;background:var(--light);border-radius:14px;margin:24px 0}
.hg-application .application-file-label{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px}.hg-application .application-file-picker{margin-top:0;line-height:1.5}
#hg-cookie-dialog{max-width:740px;width:calc(100% - 32px);max-height:90vh;overflow:auto;padding:30px;z-index:10000}#hg-cookie-dialog h2{font-size:29px}.hg-cookie-options{border-top:1px solid #dce7e5;border-bottom:1px solid #dce7e5;margin:20px 0}.hg-cookie-options label{display:block;padding:15px 0;cursor:pointer}.hg-cookie-options input{width:18px;height:18px;accent-color:var(--petrol);vertical-align:middle}.hg-cookie-options span{display:block;margin:8px 0 0 26px;font-size:14px;color:var(--gray)}.hg-cookie-actions{display:flex;flex-wrap:wrap;gap:12px}.hg-cookie-actions .btn{flex:1;justify-content:center;font-size:14px;min-width:175px}.footer-links{flex-wrap:wrap}
.home-layout-test .hg-stage{position:relative;padding:0;background:var(--dark);color:white;overflow:hidden}.hg-stage-slide{position:relative;min-height:640px;height:min(76vh,850px);display:flex;align-items:center}.hg-stage-slide[hidden]{display:none}.hg-stage-image,.hg-stage-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hg-stage-image{object-position:65% center}.hg-stage-shade{background:linear-gradient(90deg,rgba(18,39,42,.88),rgba(18,39,42,.55) 45%,rgba(18,39,42,.08) 85%)}.hg-stage-content{position:relative;width:100%;padding-top:65px;padding-bottom:150px}.hg-stage-content h1,.hg-stage-content h2{font-size:clamp(40px,5.2vw,74px);font-weight:350;line-height:1.08;max-width:650px;margin:20px 0}.hg-stage-content p{color:#fff;max-width:560px;font-size:19px}.hg-stage-content .eyebrow{color:#b3dcda;font-size:13px}.hg-stage-content .btn{background:white;color:var(--dark);gap:20px}.hg-stage-phone{color:white;align-self:center;text-underline-offset:6px;font-size:15px}.hg-stage-controls{position:absolute;bottom:0;left:0;right:0;display:flex;gap:24px;align-items:center;padding-top:20px;padding-bottom:25px}.hg-stage-topics{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;flex:1}.hg-stage-topics button{border:0;border-top:2px solid #ffffff55;border-radius:0;background:transparent;color:#fff;text-align:left;padding:13px 0;cursor:pointer;font-size:15px;line-height:1.4}.hg-stage-topics button[aria-pressed="true"]{border-color:#b3dcda;color:#b3dcda}.hg-stage-topics span{display:block;font-size:12px;letter-spacing:2px;margin-bottom:5px}.hg-stage-arrows{display:flex;gap:10px}.hg-stage-arrows button{width:45px;height:45px;border:1px solid #ffffff77;border-radius:50%;color:white;background:transparent;cursor:pointer}.hg-stage-slide:not([hidden]) .hg-stage-content{animation:hg-stage-in .35s ease-out}@keyframes hg-stage-in{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hg-stage-slide:not([hidden]) .hg-stage-content{animation:none}}@media(max-width:700px){.hg-stage-slide{min-height:740px;height:auto}.hg-stage-content{padding-top:65px;padding-bottom:220px}.hg-stage-content h1,.hg-stage-content h2{font-size:43px;letter-spacing:-1px}.hg-stage-content p{font-size:17px}.hg-stage-shade{background:linear-gradient(90deg,rgba(18,39,42,.85),rgba(18,39,42,.6))}.hg-stage-topics{grid-template-columns:repeat(2,1fr);gap:0 20px}.hg-stage-topics button{font-size:13px}.hg-stage-controls{gap:15px}.hg-stage-arrows{flex-direction:column}.hg-stage-image{object-position:60% center}}
.hg-stage-topics button{position:relative;border-top-color:transparent}.hg-stage-topics button::before,.hg-stage-topics button::after{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:#ffffff55;pointer-events:none}.hg-stage-topics button::after{background:#b3dcda;transform:scaleX(var(--hg-progress,0));transform-origin:left}.hg-stage-topics button[aria-pressed="true"]{border-top-color:transparent}
.hg-stage-topics{grid-template-columns:repeat(3,1fr)}@media(max-width:700px){.hg-stage-topics{grid-template-columns:1fr;gap:0}.hg-stage-topics button{padding:8px 0}.hg-stage-topics span{display:inline;margin-right:10px}.hg-stage-content{padding-bottom:210px}}
.regular-page .service-visual .wp-block-image{width:100%;height:100%;margin:0}.regular-page .service-visual .wp-block-image img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 45%;border-radius:0}
.hg-header-brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.hg-header-brand>div{display:flex;align-items:center}.hg-anniversary-figure{display:block;width:62px;height:78px;object-fit:contain;object-position:center;flex:0 0 auto}@media(max-width:850px){.hg-header-brand{gap:8px}.hg-anniversary-figure{width:48px;height:62px}}@media(max-width:420px){.hg-anniversary-figure{width:42px;height:54px}.hg-header-brand{gap:5px}}
.hg-anniversary-figure.hg-anniversary-wide{width:142px;height:82px;object-fit:contain;object-position:center}@media(max-width:850px){.hg-anniversary-figure.hg-anniversary-wide{width:74px;height:58px}}
.site-navigation .nav-layout-alt{display:none!important}
/* Angebotsnavigation und eindeutige Rückwege */
.site-navigation li{position:relative}.site-navigation .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:260px;padding:14px;background:#fff;border:1px solid #dce7e5;border-radius:8px;box-shadow:0 10px 24px #243e4022;z-index:100;gap:4px;align-items:stretch;flex-direction:column}.site-navigation li:hover>.sub-menu,.site-navigation li:focus-within>.sub-menu{display:flex}.site-navigation .sub-menu a{display:block;padding:10px 12px}.site-navigation .current-menu-ancestor>a,.site-navigation .current-menu-item>a{color:var(--petrol);font-weight:600;text-decoration:underline;text-underline-offset:7px}.site-navigation .menu-item-has-children>a:after{content:' ▾';font-size:12px}.hg-offer-back{padding-top:20px;padding-bottom:20px}.hg-offer-back a,.hg-related a{font-size:16px;font-weight:600;text-underline-offset:5px}.hg-related{padding-top:28px;padding-bottom:36px;border-top:1px solid #dce7e5}.hg-related h2{font-size:26px}.hg-navigation-links{display:flex;flex-wrap:wrap;gap:14px 28px}.hg-footer-nav{display:flex;flex-wrap:wrap;gap:12px 25px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #dce7e5}.hg-footer-nav a{font-size:14px;text-underline-offset:4px}.regular-page>.hg-offer-back,.regular-page>.hg-related{max-width:1180px}
@media(max-width:850px){.site-navigation .sub-menu,.site-navigation li:hover>.sub-menu,.site-navigation li:focus-within>.sub-menu{display:flex;position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid #c8dcd8;border-radius:0;margin:8px 0 0 8px;padding:0 0 0 12px;gap:2px}.site-navigation .sub-menu a{padding:8px 0}.hg-footer-nav{display:flex;align-items:flex-start;gap:12px}.hg-navigation-links{flex-direction:column;gap:14px}}

/* Compact service entries and visible local navigation. */
.service-hero{height:auto;min-height:370px;max-height:none}.service-heading{padding-top:55px;padding-bottom:85px}.service-heading h1{font-size:clamp(34px,4.5vw,58px);margin:12px 0 18px}.service-heading .hg-service-intro{color:white;max-width:680px;font-size:18px;margin:0 0 20px}.service-heading .actions{align-items:center;margin:18px 0 0;gap:18px}.service-heading .btn{background:white;color:var(--dark)}.service-body{margin-top:-30px;padding-top:35px}.hg-section-nav{display:flex;flex-wrap:wrap;gap:14px 24px;margin:0 0 30px;padding:18px 0;border-bottom:1px solid #c8dcd8}.hg-section-nav a{text-decoration:underline;text-underline-offset:5px;font-weight:600}#kontaktformular,#bewerben,#angebot-inhalt,#trainingsangebote,#training-anfragen,#betreute-trainingszeiten{scroll-margin-top:110px}.hg-course-section .card .btn{font-size:15px;padding:10px 14px}.hg-course-section .cards{gap:16px}.hg-course-section .card{padding:22px}
@media(max-width:600px){.service-hero{height:auto;min-height:330px}.service-heading{padding-top:35px;padding-bottom:65px}.service-heading h1{font-size:34px}.service-heading .hg-service-intro{font-size:16px}.service-heading .actions{gap:15px}.service-heading .btn{padding:11px 16px}.hg-section-nav{width:100%;flex-direction:column;align-items:flex-start;gap:12px}.service-body{padding-top:28px}.hg-course-section .cards{grid-template-columns:1fr}}

/* Einheitliche Aktionen auf der Startseite. */
#angebote .cards>.card{display:flex;flex-direction:column;align-items:stretch}
#angebote .cards>.card>p:last-child{margin-top:auto;padding-top:14px;margin-bottom:0}
#praxis p:has(>a.btn.outline){display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:24px}
#praxis p:has(>a.btn.outline)>a{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border:1px solid #afc6c4;border-radius:8px;background:#fff;color:var(--dark);font:600 16px/1.5 'Open Sans',sans-serif;text-decoration:none;box-sizing:border-box}
@media(max-width:600px){#praxis p:has(>a.btn.outline)>a{width:100%;min-height:50px}}

/* Gut lesbare Beschriftung auf allen Angebots- und Karrierebildern. */
.service-hero:after{background:linear-gradient(90deg,rgba(20,47,53,.80),rgba(20,47,53,.60) 65%,rgba(20,47,53,.40))}
.service-heading .eyebrow{color:#fff;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.35)}

/* Aufklappbare Stellenanzeigen mit dauerhaft sichtbarer Einführung. */
.hg-job-details>summary{display:block;list-style:none;cursor:pointer;border-radius:6px}.hg-job-details>summary::-webkit-details-marker{display:none}.hg-job-details>summary:focus-visible{outline:3px solid var(--petrol);outline-offset:8px}.hg-job-details>summary h3{margin-top:0}.hg-job-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--petrol);font-weight:600;padding-top:12px}.hg-job-symbol{font-size:28px;line-height:1;transition:transform .15s}.hg-job-hide{display:none}.hg-job-details[open] .hg-job-show{display:none}.hg-job-details[open] .hg-job-hide{display:inline}.hg-job-details[open] .hg-job-symbol{transform:rotate(45deg)}.hg-job-body{border-top:1px solid #dce7e5;margin-top:20px;padding-top:8px}.hg-job-details>summary:hover .hg-job-toggle{text-decoration:underline;text-underline-offset:4px}
