/* Hill + Massberg – Theme-Stile (nach dem Entwurf „Webseite hm-medizin.de“) */

/* Schriften lokal – keine Google-Server */
@font-face{font-family:"Source Sans 3";font-style:normal;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-style:normal;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-style:normal;font-weight:700;font-display:swap;src:url(../fonts/source-sans-3-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/source-sans-3-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/source-serif-4-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/source-serif-4-latin-700-normal.woff2) format("woff2")}

body{margin:0;background:#ffffff;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth}
.hm-root{box-sizing:border-box;background:#ffffff;color:#1d2122;font-family:"Source Sans 3","Source Sans Pro",system-ui,sans-serif;font-size:17px;line-height:1.6;overflow-x:clip}
section[id]{scroll-margin-top:88px}
h1,h2,h3{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;text-wrap:balance}
p{text-wrap:pretty}
img{max-width:100%}
a{color:#1d2122}a:hover{color:#626262}
.hm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hm-skip{position:absolute;left:12px;top:-60px;z-index:60;background:#1d2122;color:#ffffff;padding:12px 18px;border-radius:8px;font-weight:700;text-decoration:none}
.hm-skip:focus{top:12px;color:#ffffff}
.hm-link{color:#1d2122;text-decoration:none;background-image:linear-gradient(#c8552b,#c8552b);background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .2s}
.hm-link:hover{color:#1d2122;background-size:100% 2px}
.hm-btn{transition:transform .15s,box-shadow .15s}
.hm-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(29,33,34,.18)}
.hm-tab{transition:background-color .15s,color .15s}
.hm-tile{transition:transform .25s,box-shadow .25s}
.hm-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(29,33,34,.12)}
.hm-who .hm-who-ico{transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .2s}
.hm-who:hover .hm-who-ico{transform:scale(1.08);background:#1d2122 !important}
.hm-who:hover .hm-who-ico svg{color:#2eb5af !important}
@media (max-width:640px){.hm-telgrid{grid-template-columns:minmax(0,1fr) !important}}
@media (min-width:1100px){.hm-who-sub{white-space:nowrap}}
@media (max-width:960px){.hm-stats{grid-template-columns:minmax(0,1fr) !important;gap:24px !important}.hm-stat{border-left:none !important;padding-left:0 !important;border-top:1px solid #343a3b;padding-top:24px}}
.hm-dark a{color:#ffffff}.hm-dark a:hover{color:#2eb5af}
.hm-faq summary{list-style:none;cursor:pointer}
.hm-faq summary::-webkit-details-marker{display:none}
.hm-faq summary .hm-plus{transition:transform .25s}
.hm-faq details[open] summary .hm-plus{transform:rotate(45deg)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1d2122;outline-offset:3px}
.hm-dark a:focus-visible,.hm-dark button:focus-visible{outline-color:#2eb5af}

/* Hinweis-Leiste */
.hm-notice{background:#c8552b;color:#ffffff;text-align:center;font-weight:700;font-size:15px;padding:10px 20px}

/* Kopfzeile */
.hm-header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid #e6e8e8}
.hm-progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#2eb5af;transform-origin:0 50%;transform:scaleX(var(--p,0));transition:transform .12s linear}
#hm-mobilmenu:not([hidden]){display:flex}
.hm-burger{display:none}

/* Überschrift: wechselnde Wörter */
.hm-word-item{opacity:0;transform:translateY(.25em);transition:opacity .9s ease,transform .9s ease}
.hm-word-item.is-active{opacity:1;transform:none}

/* Laufband */
@keyframes hmMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hm-marquee{display:flex;width:max-content;animation:hmMarquee 110s linear infinite}
.hm-marquee-wrap:hover .hm-marquee{animation-play-state:paused}

/* Sortiment-Reiter */
.hm-cat-btn{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 14px;border:1.5px solid #e1e4e4;border-radius:12px;background:#ffffff;color:#1d2122;font:inherit;font-size:15px;font-weight:700;line-height:1.25;text-align:left;cursor:pointer}
.hm-cat-btn:hover{background:#e8f6f5}
.hm-cat-num{font-family:"Source Serif 4",Georgia,serif;font-size:14px;color:#626262;flex-shrink:0}
.hm-cat-btn[aria-selected="true"]{background:#1d2122;color:#ffffff;border-color:#1d2122;font-weight:800}
.hm-cat-btn[aria-selected="true"] .hm-cat-num{color:#2eb5af}
.hm-cat-panel,.hm-way-panel{visibility:hidden}
.hm-cat-panel.is-active,.hm-way-panel.is-active{visibility:visible}

/* Bestellwege-Reiter */
.hm-way-btn{min-height:48px;padding:0 22px;border:none;border-radius:9999px;background:transparent;color:#1d2122;font:inherit;font-weight:700;cursor:pointer}
.hm-way-btn:hover{background:#e8f6f5}
.hm-way-btn[aria-selected="true"]{background:#1d2122;color:#ffffff;font-weight:800}

/* Ablauf-Schritte */
.hm-step-line{position:absolute;top:0;left:0;right:0;height:4px;border-radius:4px;background:#2eb5af;transform-origin:0 50%}
.hm-step-dot{position:absolute;top:-6px;left:calc(100% - 16px);width:16px;height:16px;border-radius:9999px;background:#2eb5af;box-shadow:0 0 0 5px #e8f6f5}
.hm-step-num{display:inline-block;font-size:44px;font-weight:700;line-height:1;color:#c8552b}
.hm-js .hm-step-line{transform:scaleX(0);transition:transform .9s cubic-bezier(.65,0,.35,1) var(--d)}
.hm-js .hm-step-dot{left:0;opacity:0;transition:left .9s cubic-bezier(.65,0,.35,1) var(--d),opacity .3s ease var(--d)}
.hm-js .hm-step-num{opacity:0;transform:translateY(18px) scale(.5);transition:opacity .5s ease calc(var(--d) + .25s),transform .7s cubic-bezier(.34,1.56,.64,1) calc(var(--d) + .25s)}
.hm-js .hm-step-txt{opacity:0;transform:translateX(-14px);transition:opacity .6s ease calc(var(--d) + .45s),transform .6s ease calc(var(--d) + .45s)}
.hm-steps.is-on .hm-step-line{transform:scaleX(1)}
.hm-steps.is-on .hm-step-dot{left:calc(100% - 16px);opacity:1}
.hm-steps.is-on .hm-step-num,.hm-steps.is-on .hm-step-txt{opacity:1;transform:none}

/* Zielgruppen */
.hm-js .hm-who{opacity:0;transform:translateY(24px) scale(.96);transition:opacity .5s ease calc(var(--i) * .09s),transform .6s cubic-bezier(.34,1.4,.64,1) calc(var(--i) * .09s)}
.hm-who-list.is-on .hm-who{opacity:1;transform:none}

/* Scroll-Einblendung (nur wo der Browser es kann) */
@keyframes hmUp{from{opacity:0;transform:translateY(90px) scale(.95)}to{opacity:1;transform:none}}
@keyframes hmFade{from{opacity:0}to{opacity:1}}
@keyframes hmInR{from{opacity:0;transform:translateX(140px) rotate(3deg)}to{opacity:1;transform:none}}
@keyframes hmInL{from{opacity:0;transform:translateX(-120px)}to{opacity:1;transform:none}}
@keyframes hmHead{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(45%)}to{opacity:1;clip-path:inset(0 0 -20% 0);transform:none}}
@keyframes hmBar{from{width:0}to{width:28px}}
@keyframes hmTilt{from{transform:rotate(-4deg) scale(1.08)}to{transform:rotate(0) scale(1)}}
@keyframes hmZoom{from{opacity:.2;transform:scale(.86)}to{opacity:1;transform:none}}
@keyframes hmHeroText{to{opacity:0;transform:translateY(-120px)}}
@keyframes hmHeroImg{to{transform:translateY(-200px) rotate(-4deg) scale(.9)}}
@keyframes hmShadow{to{box-shadow:0 6px 24px rgba(29,33,34,.10)}}
@supports (animation-timeline: view()){
@media (prefers-reduced-motion:no-preference){
.hm-reveal{animation:hmFade linear both;animation-timeline:view();animation-range:entry 0% entry 50%}
.hm-up1,.hm-up2,.hm-up3{animation:hmUp linear both;animation-timeline:view()}
.hm-up1{animation-range:entry 5% entry 75%}
.hm-up2{animation-range:entry 20% entry 90%}
.hm-up3{animation-range:entry 35% entry 100%}
.hm-in-r{animation:hmInR linear both;animation-timeline:view();animation-range:entry 10% entry 90%}
.hm-in-l{animation:hmInL linear both;animation-timeline:view();animation-range:entry 10% entry 90%}
.hm-zoom{animation:hmZoom linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
.hm-bar{animation:hmBar linear both;animation-timeline:view();animation-range:entry 30% entry 100%}
.hm-heroText{animation:hmHeroText linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
.hm-heroImg{animation:hmHeroImg linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
.hm-head{animation:hmHead linear both;animation-timeline:view();animation-range:entry 10% entry 80%}
.hm-tilt{animation:hmTilt linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
}
}
@supports (animation-timeline: scroll()){
.hm-header{animation:hmShadow linear both;animation-timeline:scroll();animation-range:0 120px}
}

/* Schwebender WhatsApp-Knopf und mobile Aktionsleiste */
.hm-fab{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;align-items:center;gap:10px;min-height:58px;box-sizing:border-box;padding:0 22px 0 18px;background:#2eb5af;color:#1d2122 !important;border-radius:9999px;text-decoration:none;font-weight:800;box-shadow:0 10px 28px rgba(29,33,34,.22)}
.hm-mobilebar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#ffffff;border-top:1px solid #d5d9d9;box-shadow:0 -6px 20px rgba(29,33,34,.08)}
.hm-mobilebar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;border-radius:14px;text-decoration:none;font-size:14px}

/* Formular */
.hm-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.hm-form input:focus,.hm-form select:focus,.hm-form textarea:focus{border-color:#1d2122}
.hm-formmsg{border-radius:16px;padding:18px 20px;font-size:16px}
.hm-formmsg-err{background:#fdece6;color:#7a2a10;border:1.5px solid #c8552b;font-weight:600}
.hm-formmsg-ok{display:flex;flex-direction:column;gap:14px;padding:8px 0;outline:none}

/* Inhaltsseiten (Impressum, Datenschutz …) */
.hm-prose{max-width:820px;color:#3d4243;font-size:17px;line-height:1.7}
.hm-prose h2{font-family:"Source Serif 4",Georgia,serif;font-weight:700;font-size:clamp(24px,2.6vw,30px);line-height:1.2;color:#1d2122;margin:2.2em 0 .6em}
.hm-prose h3{font-family:"Source Serif 4",Georgia,serif;font-weight:700;font-size:21px;line-height:1.25;color:#1d2122;margin:1.8em 0 .5em}
.hm-prose > :first-child{margin-top:0}
.hm-prose a{color:#017e78;font-weight:600}
.hm-prose ul,.hm-prose ol{padding-left:1.3em}
.hm-prose li{margin:.3em 0}
.hm-prose mark{background:#fff1b8;padding:0 .2em}

/* Texte bearbeiten (nur für angemeldete Redakteure) */
.hm-editing [data-hm-k]{outline:2px dashed rgba(46,181,175,.9);outline-offset:3px;border-radius:3px;cursor:text}
.hm-editing [data-hm-k]:hover{background:rgba(46,181,175,.12)}
.hm-editing [data-hm-k]:focus{outline:3px solid #c8552b;background:rgba(255,255,255,.9);color:#1d2122}
.hm-editing .hm-dark [data-hm-k]:focus{background:#ffffff;color:#1d2122}
.hm-editing [data-hm-k].hm-changed{outline-color:#c8552b;outline-style:solid}
.hm-editing .hm-cat-panel,.hm-editing .hm-way-panel{visibility:visible;grid-area:auto !important}
.hm-editing .hm-cat-panels{gap:40px}
.hm-editing .hm-way-panels{gap:24px}
.hm-editing .hm-marquee{animation:none}
.hm-editing .hm-heroText,.hm-editing .hm-heroImg,.hm-editing .hm-head,.hm-editing .hm-reveal,.hm-editing .hm-up1,.hm-editing .hm-up2,.hm-editing .hm-up3,.hm-editing .hm-in-l,.hm-editing .hm-in-r,.hm-editing .hm-zoom{animation:none !important;opacity:1 !important;transform:none !important;clip-path:none !important}
.hm-editbar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:99999;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 32px);box-sizing:border-box;background:#1d2122;color:#ffffff;border-radius:18px;padding:12px 14px 12px 20px;box-shadow:0 18px 50px rgba(0,0,0,.35);font:600 15px/1.3 "Source Sans 3",system-ui,sans-serif}
.hm-editbar button{min-height:44px;padding:0 20px;border-radius:9999px;border:none;font:inherit;font-weight:800;cursor:pointer}
.hm-editbar .hm-eb-save{background:#2eb5af;color:#1d2122}
.hm-editbar .hm-eb-cancel{background:transparent;color:#ffffff;border:1.5px solid #6b7374}
.hm-editbar .hm-eb-count{color:#aee5e2}

@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.hm-word-item,.hm-marquee{animation:none !important;transition:none !important}
.hm-btn,.hm-tile,.hm-link,.hm-plus,.hm-tab{transition:none !important}
.hm-btn:hover,.hm-tile:hover{transform:none}
}
@media (max-width:960px){
.hm-desknav{display:none !important}
.hm-burger{display:inline-flex}
.hm-topbar{display:none !important}
}
@media (max-width:760px){
.hm-mobilebar{display:grid}
.hm-fab{display:none !important}
.hm-root{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
.hm-hidephone{display:none !important}
}
@media (max-width:520px){
.hm-btnrow > a{flex:1 1 100%;justify-content:center}
}

/* Überschrift oben: nicht trennen */
.hm-hero-h1,.hm-hero-h1 *{hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal}
@media (max-width:400px){.hm-hero-h1{font-size:28px !important}}
