.elementor-kit-6{--e-global-color-primary:#335146;--e-global-color-secondary:#7DB8A3;--e-global-color-text:#1F2B26;--e-global-color-accent:#8B1A1A;--e-global-color-gruen_dunkel:#294138;--e-global-color-flaeche:#F3F7F5;--e-global-color-linie:#DCE6E1;--e-global-color-weiss:#FFFFFF;--e-global-color-hinweis_rot:#C62828;--e-global-color-text_hell:#55635D;--e-global-typography-primary-font-family:"Chivo";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Chivo";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-text-font-family:"Chivo";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Chivo";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:700;background-color:#FFFFFF;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Chivo", Sans-serif;font-size:16px;font-weight:700;color:var( --e-global-color-weiss );border-radius:10px 10px 10px 10px;padding:14px 26px 14px 26px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-gruen_dunkel );color:var( --e-global-color-weiss );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:16px;}.elementor-kit-6 a{color:var( --e-global-color-primary );}.elementor-kit-6 a:hover{color:var( --e-global-color-accent );}.elementor-kit-6 h1{color:var( --e-global-color-primary );font-family:"Chivo", Sans-serif;font-size:40px;font-weight:700;line-height:1.25em;}.elementor-kit-6 h2{color:var( --e-global-color-primary );font-family:"Chivo", Sans-serif;font-size:32px;font-weight:700;line-height:1.25em;}.elementor-kit-6 h3{color:var( --e-global-color-primary );font-family:"Chivo", Sans-serif;font-size:24px;font-weight:700;line-height:1.25em;}.elementor-kit-6 h4{color:var( --e-global-color-primary );font-family:"Chivo", Sans-serif;font-size:20px;font-weight:700;line-height:1.25em;}.elementor-kit-6 h5{color:var( --e-global-color-accent );font-family:"Chivo", Sans-serif;font-size:18px;font-weight:700;line-height:1.25em;}.elementor-kit-6 h6{color:var( --e-global-color-text );font-family:"Chivo", Sans-serif;font-size:16px;font-weight:700;line-height:1.25em;}.elementor-kit-6 label{color:var( --e-global-color-text );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-linie );border-radius:8px 8px 8px 8px;padding:12px 14px 12px 14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:30px;}.elementor-kit-6 h2{font-size:26px;}.elementor-kit-6 h3{font-size:21px;}.elementor-kit-6 h4{font-size:19px;}.elementor-kit-6 h5{font-size:17px;}.elementor-kit-6 h6{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Typografie global */
body, .elementor-widget-text-editor, .elementor-widget-text-editor p, li{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:7 3 3;overflow-wrap:break-word}
h1,h2,h3,h4,h5,h6,.elementor-heading-title{text-wrap:balance;hyphens:manual}
p{text-wrap:pretty}
.elementor-widget-text-editor ul{padding-left:1.2em}
.elementor-widget-text-editor li{margin-bottom:.3em}
a{transition:color .2s}
:focus-visible{outline:2px solid var(--e-global-color-secondary);outline-offset:2px}
/* ---------- Kopf ---------- */
.ktp-topbar p{margin:0;color:#fff;font-size:14px;line-height:1.4}
.ktp-topbar a{color:#fff;text-decoration:none;font-weight:700}
.ktp-topbar a:hover{text-decoration:underline;color:#fff}
.ktp-topbar__links p{display:flex;gap:20px;align-items:center}
.ktp-topbar__tel::before{content:"";display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.2 15.2 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.2 15.2 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:767px){.ktp-topbar{justify-content:center!important}.ktp-topbar__links p{gap:24px}}
.ktp-header{box-shadow:0 1px 0 #dce6e1}
.ktp-header.elementor-sticky--effects{box-shadow:0 4px 18px rgba(21,34,29,.12)}
.ktp-logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:#335146}
.ktp-logo__sig{width:64px;height:64px;flex:0 0 auto;transition:width .2s,height .2s}
.ktp-logo__text{display:flex;flex-direction:column;line-height:1.15}
.ktp-logo__l1{font-size:15px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#55635d}
.ktp-logo__l2{font-size:22px;font-weight:700;color:#335146}
.elementor-sticky--effects .ktp-logo__sig{width:48px;height:48px}
@media(max-width:767px){.ktp-logo__sig{width:48px;height:48px}.ktp-logo__l1{font-size:12px}.ktp-logo__l2{font-size:17px}.ktp-logo{gap:10px}}
.ktp-nav .elementor-nav-menu--dropdown{box-shadow:0 10px 30px rgba(21,34,29,.15)}
.ktp-nav .elementor-nav-menu--main .elementor-nav-menu a.elementor-item[href="#"]{cursor:default}

/* ---------- Fuß ---------- */
.ktp-footer, .ktp-footer p, .ktp-footer a{color:#fff}
.ktp-footer a{text-decoration:underline;text-underline-offset:2px}
.ktp-footer a:hover{color:#cfe6dd}
.ktp-footer .ktp-foot__titel .elementor-heading-title{color:#cfe6dd;font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.ktp-footer .ktp-klein{opacity:.85}
.ktp-foot__bottom{border-top:1px solid rgba(255,255,255,.2)}
.ktp-foot__bottom p{margin:0;font-size:14px}
.ktp-foot__legal p{display:flex;gap:20px}

/* ---------- Inhalt ---------- */
.ktp-pagehead .elementor-heading-title{margin:0}
.ktp-lead p{font-size:19px;color:#55635d;margin:0}
.ktp-box{background:#f3f7f5;border-radius:14px;border:1px solid #dce6e1}
.ktp-box .ktp-box__titel .elementor-heading-title{font-size:18px;color:#fff;background:#335146;margin:-24px -24px 12px;padding:12px 24px;border-radius:13px 13px 0 0}
.ktp-box p:last-child{margin-bottom:0}
.ktp-klein{font-size:15px;color:#55635d}
.ktp-main h2.elementor-heading-title{margin-top:.4em}
.ktp-main blockquote, .ktp-zitat{border-left:5px solid #7db8a3;background:#f3f7f5;margin:0 0 1em;padding:1em 1.3em;border-radius:0 10px 10px 0;font-style:normal}
.ktp-hinweis{border-left:5px solid #8b1a1a;background:#fbf3f3;padding:1em 1.3em;border-radius:0 10px 10px 0;margin:0 0 1em}
.ktp-hinweis p:last-child, .ktp-zitat p:last-child{margin-bottom:0}
.ktp-karte{background:#fff;border:1px solid #dce6e1;border-radius:14px;padding:22px 24px;height:100%}
.ktp-karte h3{font-size:20px;margin:0 0 .4em;color:#335146}
.ktp-karte p:last-child, .ktp-karte ul:last-child{margin-bottom:0}
.ktp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.ktp-klinik{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.ktp-klinik .ktp-karte a[href^="tel"]{font-weight:700;font-size:18px;text-decoration:none}
.ktp-btnreihe{display:flex;flex-wrap:wrap;gap:12px}
.ktp-btn{display:inline-block;background:#335146;color:#fff!important;text-decoration:none!important;font-weight:700;padding:13px 24px;border-radius:10px;transition:background .2s}
.ktp-btn:hover{background:#294138}
.ktp-btn--hell{background:#fff;color:#335146!important;border:2px solid #335146;padding:11px 22px}
.ktp-btn--hell:hover{background:#f3f7f5}
.ktp-signatur{font-style:italic;color:#55635d}
.ktp-banner img{border-radius:16px;width:100%;height:auto}
.ktp-aside-bild img{max-width:220px;height:auto}
.ktp-wege{display:flex;flex-direction:column;gap:10px}
.ktp-weg{border:1px solid #dce6e1;border-radius:12px;background:#fff}
.ktp-weg summary{cursor:pointer;padding:14px 18px;font-weight:700;color:#335146;list-style:none;position:relative}
.ktp-weg summary::-webkit-details-marker{display:none}
.ktp-weg summary::after{content:"+";position:absolute;right:18px;top:10px;font-size:22px;color:#7db8a3}
.ktp-weg[open] summary::after{content:"–"}
.ktp-weg > p, .ktp-weg > ol{padding:0 18px 4px 18px;margin-top:0}
.ktp-weg > ol{padding-left:38px}
.elementor-widget-image .widget-image-caption{font-size:14px;color:#55635d}
.ktp-form-sep{font-size:20px;color:#335146;margin:12px 0 2px;padding-top:14px;border-top:1px solid #dce6e1}
.elementor-form .elementor-field-type-html p{margin:0}
.elementor-form .elementor-field-subgroup .elementor-field-option label{font-weight:400}
.elementor-form .elementor-field-type-acceptance label{font-weight:400}
.elementor-form select.elementor-field{min-height:46px}

.ktp-logo__wm{display:block;width:300px;height:auto;margin-top:3px}
.ktp-logo__l1{font-size:13px}
@media(max-width:767px){.ktp-logo__wm{width:200px}.ktp-logo__l1{font-size:11px}}
.elementor-sticky--effects .ktp-logo__wm{width:260px}

/* Kopfblock wie Visitenkarte */
.ktp-header{box-shadow:none}
.ktp-block{display:block;line-height:0}
.ktp-block__svg{display:block;width:100%;height:auto}
.ktp-navbar{border-bottom:1px solid #dce6e1;transition:box-shadow .2s}
.ktp-navbar.elementor-sticky--effects{box-shadow:0 4px 18px rgba(21,34,29,.12)}
.ktp-navlogo{max-width:0;opacity:0;overflow:hidden;transition:max-width .4s ease,opacity .3s ease;flex-shrink:0}
.ktp-logo-sichtbar .ktp-navlogo{max-width:420px;opacity:1}
.ktp-navlogo .ktp-logo__sig{width:44px;height:44px}
.ktp-navlogo .ktp-logo__wm{width:240px}
.ktp-navlogo .ktp-logo__l1{font-size:11px}
@media(max-width:767px){.ktp-navlogo .ktp-logo__sig{width:38px;height:38px}.ktp-navlogo .ktp-logo__wm{width:180px}.ktp-navlogo .ktp-logo__l1{font-size:10px}}
/* Menü ganz oben */
.ktp-navbar{border-bottom:1px solid #dce6e1}


/* Fix: Menüleiste immer über dem Kopfblock, weich eingeblendetes Logo */
.ktp-navbar, .ktp-navbar.elementor-sticky--active{position:relative;z-index:1000!important;background:#fff!important}
.ktp-navbar.elementor-sticky--active{position:fixed}
.ktp-kopfblock, .ktp-block{position:relative;z-index:1}
.ktp-navlogo{max-width:0;opacity:0;transform:translateX(-12px);transition:max-width .5s cubic-bezier(.4,0,.2,1),opacity .4s ease .12s,transform .4s ease .12s!important;pointer-events:none}
.ktp-logo-sichtbar .ktp-navlogo{max-width:420px;opacity:1;transform:none;pointer-events:auto}
/* Menüleiste beim Scrollen leicht transparent */
.ktp-navbar.elementor-sticky--effects{background:rgba(255,255,255,.82)!important;-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
/* Infozeile dezent statt grüner Balken */
.ktp-topbar{background:transparent!important;justify-content:center!important;gap:6px 28px;padding-top:4px!important;padding-bottom:14px!important}
.ktp-topbar p{color:#55635d;font-size:14px}
.ktp-topbar a{color:#1a513f}
.ktp-topbar a:hover{color:#8b1a1a}
.ktp-topbar__links p{gap:22px}
.ktp-karte__mitbild{display:flex;gap:16px;align-items:center}
.ktp-karte__mitbild img{flex:0 0 auto;width:auto;max-height:130px}
.ktp-karte__mitbild p,.ktp-karte__mitbild ul{margin:0}

/* Leistungen: 3 Spalten, ohne Kopfblock */
.ktp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1024px){.ktp-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ktp-grid--3{grid-template-columns:1fr}}

/* Kopfblock nur auf der Startseite */
body:not(.home) .ktp-kopfblock{display:none}

/* Logo v2 */
.ktp-menulogo{display:block;line-height:0}
.ktp-menulogo__svg{display:block;width:250px;height:auto}
.ktp-logo-sichtbar .ktp-navlogo{max-width:270px}
@media(max-width:767px){.ktp-menulogo__svg{width:190px}}

/* Logo v2 Fix: Seitenverhältnis fest, Navlogo-Spezifität */
.ktp-block{position:relative;width:100%;aspect-ratio:356.5/142}
.ktp-block .ktp-block__svg{position:absolute;inset:0;width:100%;height:100%}
.ktp-menulogo{position:relative;width:250px;aspect-ratio:358.5/55.4}
.ktp-menulogo .ktp-menulogo__svg{position:absolute;inset:0;width:100%;height:100%}
@media(max-width:767px){.ktp-menulogo{width:190px}}
.e-con>.e-con-inner>.elementor-widget.ktp-navlogo,.e-con>.elementor-widget.ktp-navlogo{max-width:0}
.ktp-logo-sichtbar .e-con>.e-con-inner>.elementor-widget.ktp-navlogo,.ktp-logo-sichtbar .e-con>.elementor-widget.ktp-navlogo{max-width:270px}

.ktp-kopfblock .elementor-widget-html{width:100%}

/* Menülogo größer */
.ktp-menulogo{width:310px}
.ktp-logo-sichtbar .e-con>.e-con-inner>.elementor-widget.ktp-navlogo,.ktp-logo-sichtbar .e-con>.elementor-widget.ktp-navlogo{max-width:330px}
@media(max-width:1024px){.ktp-menulogo{width:260px}}
@media(max-width:767px){.ktp-menulogo{width:225px}}

/* Mobil: Anruf-Knopf in der Menüleiste */
.ktp-callwrap{display:none}
@media(max-width:1024px){
.e-con>.e-con-inner>.elementor-widget.ktp-callwrap{display:block;flex:0 0 auto}
.ktp-nav{flex:1 1 auto}
.ktp-nav .elementor-menu-toggle{margin-left:auto;margin-right:0}
.ktp-call{display:flex}
.ktp-callbtn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:8px;background:#F3F7F5;color:#335146!important;font-weight:700;font-size:16px;line-height:1;white-space:nowrap;text-decoration:none!important}
.ktp-callbtn:hover,.ktp-callbtn:focus{background:#335146;color:#fff!important}
.ktp-callbtn__ico{width:20px;height:20px;flex:0 0 auto}
.ktp-callbtn--nd{display:none;background:#C62828;color:#fff!important}
.ktp-ferien-aktiv .ktp-callbtn--tel{display:none}
.ktp-ferien-aktiv .ktp-callbtn--nd{display:inline-flex}
.ktp-callbtn__txt{max-width:200px;overflow:hidden;transition:max-width .4s ease,opacity .3s ease}
.ktp-logo-sichtbar .ktp-callbtn__txt{max-width:0;opacity:0}
.ktp-logo-sichtbar .ktp-callbtn{gap:0;width:44px;padding:0;justify-content:center}
}
@media(max-width:767px){.ktp-menulogo{width:min(225px,calc(100vw - 150px))}}

@media(max-width:1024px){.ktp-logo-sichtbar .e-con>.e-con-inner>.elementor-widget.ktp-callwrap{margin-left:auto}
.ktp-logo-sichtbar .ktp-nav{flex:0 0 auto}}

/* Mobil: gleiche Randabstände links/rechts */
@media(max-width:1024px){.e-con.ktp-headmain{--padding-left:20px;--padding-right:20px}
.e-con>.e-con-inner>.elementor-widget.ktp-navlogo{margin-right:-16px;transition:max-width .5s cubic-bezier(.4,0,.2,1),margin .5s cubic-bezier(.4,0,.2,1),opacity .4s ease .12s,transform .4s ease .12s!important}
.ktp-logo-sichtbar .e-con>.e-con-inner>.elementor-widget.ktp-navlogo{margin-right:0}}

/* Desktop: Notdienst im Hauptmenü rot */
.ktp-nav .elementor-nav-menu--main .ktp-menu-notdienst>a.elementor-item,.ktp-nav .elementor-nav-menu--main .ktp-menu-notdienst>a.elementor-item:hover,.ktp-nav .elementor-nav-menu--main .ktp-menu-notdienst>a.elementor-item:focus,.ktp-nav .elementor-nav-menu--main .ktp-menu-notdienst>a.elementor-item.elementor-item-active{color:#C62828!important}
.ktp-nav .elementor-nav-menu--main .ktp-menu-notdienst>a.elementor-item:after{background-color:#C62828!important}

@media(max-width:767px){.ktp-menulogo{width:min(225px,calc(100vw - 205px))}}

/* Schnell zum Ziel: Buttons */
.ktp-ziele .ktp-karte{display:flex;flex-direction:column}
.ktp-karte__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:.6em}
.ktp-btn{display:inline-flex;align-items:center;padding:7px 14px;border:1.5px solid #335146;border-radius:8px;color:#335146!important;background:#fff;font-size:15px;font-weight:700;line-height:1.25;text-decoration:none!important;transition:background .2s,color .2s}
.ktp-btn:hover,.ktp-btn:focus{background:#335146;color:#fff!important}
.ktp-btn--rot{border-color:#C62828;color:#C62828!important}
.ktp-btn--rot:hover,.ktp-btn--rot:focus{background:#C62828;color:#fff!important}
@media(max-width:767px){.ktp-karte--mobilaus{display:none!important}}
@media(max-width:767px){.ktp-grid.ktp-ziele{grid-template-columns:1fr}}

/* Nach-oben-Button (Astra) */
#ast-scroll-top{width:44px!important;height:44px!important;line-height:44px!important;padding:0!important;display:flex;align-items:center;justify-content:center;background:#335146!important;color:#fff!important;border:2px solid #fff;border-radius:10px!important;box-shadow:0 4px 14px rgba(0,0,0,.18);right:20px!important;bottom:20px!important;transition:background .2s,transform .2s}
#ast-scroll-top:hover,#ast-scroll-top:focus{background:#7DB8A3!important;transform:translateY(-2px)}
#ast-scroll-top .ast-icon svg{width:16px;height:16px;fill:currentColor}

/* Leistungen */
.ktp-leistungen .ktp-karte{background:#f3f7f5;border-color:#e3ece8}
.ktp-leistungen-hund{position:sticky;top:110px}
.ktp-leistungen-hund img{display:block;width:100%;height:auto}
@media(min-width:1025px){.e-con>.e-con-inner>.elementor-widget.ktp-leistungen,.e-con>.elementor-widget.ktp-leistungen{flex:1 1 0;min-width:0;width:auto;max-width:none}
.e-con>.e-con-inner>.elementor-widget.ktp-leistungen-hund,.e-con>.elementor-widget.ktp-leistungen-hund{flex:0 0 220px;width:220px}}/* End custom CSS */