/* HeilKraftOase: globale Formgebung und Feinschliff, Stand 26.09.2026 */

/* Hoehe des geschrumpften Sticky-Kopfes, fuer Sprungmarken */
:root{--hko-kopf:96px;}
@media(max-width:1024px){:root{--hko-kopf:86px;}}
@media(max-width:600px){:root{--hko-kopf:80px;}}
html{scroll-padding-top:calc(var(--hko-kopf) + 8px);}

.elementor-button{border-radius:999px !important;}
.elementor-button-icon svg, .elementor-button-icon i{vertical-align:middle;}

/* auf der Terminseite ist die schwebende Pille ueberfluessig (DE 49, EN 82) */
body.page-id-49 .elementor-location-footer > .elementor-element:first-child,
body.page-id-82 .elementor-location-footer > .elementor-element:first-child{display:none !important;}

/* Fliesstext: kein Leerraum nach dem letzten Absatz eines Textblocks */
.elementor-widget-text-editor p:last-child{margin-bottom:0;}

/* Formular: alle Felder in einem Stil */
.elementor-field-group > label.elementor-field-label{font-family:Montserrat,sans-serif !important;font-size:10.5px !important;font-weight:500 !important;letter-spacing:2px !important;text-transform:uppercase !important;color:#5F6B55 !important;margin-bottom:9px !important;padding:0 !important;}
.elementor-form .elementor-field-group .elementor-field-textual,
.elementor-form .elementor-field-group .elementor-select-wrapper select{
  background-color:#FBF8F1 !important;border:1px solid #DCD5C3 !important;border-radius:12px !important;
  padding:0 18px !important;height:54px !important;min-height:54px;line-height:normal !important;
  font-family:Montserrat,sans-serif !important;font-size:15px !important;font-weight:300 !important;color:#2A401D !important;
  box-shadow:none !important;transition:border-color .2s ease,box-shadow .2s ease;}
.elementor-form .elementor-field-group textarea.elementor-field-textual{height:auto !important;min-height:160px;padding:15px 18px !important;line-height:1.6 !important;border-radius:14px !important;resize:vertical;}
.elementor-form .elementor-field-group .elementor-select-wrapper select{-webkit-appearance:none;appearance:none;padding-right:46px !important;cursor:pointer;}
.elementor-form .elementor-select-wrapper .select-caret-down-wrapper{right:18px !important;color:#2A401D !important;font-size:11px !important;}
.elementor-form .elementor-select-wrapper .select-caret-down-wrapper svg{fill:#2A401D !important;width:11px;height:11px;}
.elementor-form .elementor-field-group .elementor-field-textual:hover,
.elementor-form .elementor-field-group .elementor-select-wrapper select:hover{border-color:#C9C1AC !important;}
.elementor-form .elementor-field-group .elementor-field-textual:focus,
.elementor-form .elementor-field-group .elementor-select-wrapper select:focus{border-color:#548530 !important;box-shadow:0 0 0 3px rgba(84,133,48,.15) !important;outline:none !important;}
.elementor-form .elementor-field-textual::placeholder{color:#8C9383;opacity:1;}
.elementor-field-type-acceptance .elementor-field-subgroup{margin-top:2px;}
.elementor-field-type-acceptance .elementor-field-option{display:flex !important;align-items:flex-start;gap:12px;}
.elementor-field-type-acceptance .elementor-field-option input[type=checkbox]{flex:0 0 auto;margin:2px 0 0 0;width:20px;height:20px;accent-color:#2A401D;cursor:pointer;}
.elementor-field-type-acceptance .elementor-field-option label{flex:1 1 auto;min-width:0;font-family:Montserrat,sans-serif;font-size:14px;font-weight:300;line-height:1.7;color:#5F6B55;letter-spacing:0;text-transform:none;}
.elementor-field-type-acceptance .elementor-field-option label a{color:#457228;text-decoration:underline;text-underline-offset:3px;}
.elementor-form .elementor-field-type-submit{margin-top:6px;}
.elementor-form .elementor-button{padding:17px 34px !important;min-height:52px;}
@media(max-width:600px){.elementor-form .elementor-field-type-submit .elementor-button{width:100%;justify-content:center;}}

/* Mobil: Klickflaechen und Umbrueche */
@media(max-width:600px){
  .elementor-location-footer .elementor-icon-list-item a{display:inline-block;padding:3px 0;}
  h1.elementor-heading-title,h2.elementor-heading-title{text-wrap:balance;}
}
h1.elementor-heading-title,h2.elementor-heading-title,h3.elementor-heading-title{hyphens:manual;overflow-wrap:normal;}

/* Links im Fliesstext in Laub statt Browserblau */
.elementor-widget-text-editor a{color:#457228;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.elementor-widget-text-editor a:hover{color:#2A401D;}

/* Schwebender Terminbutton weicht der Fusszeile */
body.hko-fuss .elementor-location-footer > .elementor-element:first-child{opacity:0 !important;pointer-events:none !important;transform:translateY(12px);}

/* Kleine Schrift in Laub: dunklere Stufe #457228 fuer Kontrast 4,5:1 (WCAG AA). #548530 bleibt fuer Linien, Icons und grosse Schrift */

/* Sichtbarer Fokus fuer Tastaturbedienung */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,[tabindex]:focus-visible,.elementor-menu-toggle:focus-visible{outline:2px solid #457228 !important;outline-offset:3px;border-radius:4px;}

/* Textseiten ohne Elementor (Impressum, Datenschutz, Barrierefreiheit) im Stil der Website */
body.page:not(.elementor-page){background:#F6F1E5;}
body.page:not(.elementor-page) .site-content{padding:64px 0 88px;}
body.page:not(.elementor-page) .site-content .ast-container{max-width:820px;padding-left:32px;padding-right:32px;}
body.page:not(.elementor-page) .entry-content{font-family:Montserrat,sans-serif;font-weight:300;font-size:16px;line-height:1.8;color:#5F6B55;}
body.page:not(.elementor-page) .entry-content h1{font-family:Raleway,sans-serif;font-weight:200;font-size:44px;line-height:1.14;letter-spacing:-.4px;color:#2A401D;margin:0 0 28px;}
body.page:not(.elementor-page) .entry-content h2{font-family:Raleway,sans-serif;font-weight:300;font-size:26px;line-height:1.25;color:#2A401D;margin:48px 0 14px;}
body.page:not(.elementor-page) .entry-content h3{font-family:Montserrat,sans-serif;font-weight:500;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#457228;margin:32px 0 12px;}
body.page:not(.elementor-page) .entry-content h4{font-family:Montserrat,sans-serif;font-weight:500;font-size:15px;color:#2A401D;margin:24px 0 8px;}
body.page:not(.elementor-page) .entry-content p,body.page:not(.elementor-page) .entry-content ul,body.page:not(.elementor-page) .entry-content ol{margin-bottom:16px;}
body.page:not(.elementor-page) .entry-content ul{margin-left:1.1em;}
body.page:not(.elementor-page) .entry-content li{margin-bottom:6px;}
body.page:not(.elementor-page) .entry-content li::marker{color:#548530;}
body.page:not(.elementor-page) .entry-content strong{font-weight:500;color:#2A401D;}
body.page:not(.elementor-page) .entry-content a{color:#457228;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
body.page:not(.elementor-page) .entry-content a:hover{color:#2A401D;}
@media(max-width:600px){body.page:not(.elementor-page) .site-content{padding:44px 0 64px;}body.page:not(.elementor-page) .site-content .ast-container{padding-left:20px;padding-right:20px;}body.page:not(.elementor-page) .entry-content h1{font-size:30px;}body.page:not(.elementor-page) .entry-content h2{font-size:22px;margin-top:36px;}body.page:not(.elementor-page) .entry-content{font-size:15px;}}