/* Kränholm: large colour fields and supplied screen-design photography. */
@font-face{font-family:KhSans;src:url('fonts/OpenSans-Regular.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:KhSans;src:url('fonts/OpenSans-ExtraBold.woff2') format('woff2');font-display:swap;font-weight:800}
@font-face{font-family:KhDisplay;src:url('fonts/Poppins-ExtraBold.woff2') format('woff2');font-display:swap;font-weight:800}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body.kraenholm{font-family:KhSans,Arial,sans-serif;color:#254b2d;margin:0}
body.kraenholm *,body.kraenholm *::before,body.kraenholm *::after{box-sizing:border-box}
body.kraenholm #header,body.kraenholm #logoAndMenuContainer,body.kraenholm #logoAndMenuContainer.scrolledActive{background:#254b2d}
body.kraenholm #mainmenu>ul>li>a.button.specialStyleButton{display:flex;align-items:center;justify-content:center;margin:.55em 0;padding:.55em 1.15em;background:#f9da73;color:#254b2d;border:1px solid #f9da73;line-height:1.5;text-decoration:none;transition-property:background-color,color,border-color;transition-timing-function:ease}
body.kraenholm #mainmenu>ul>li>a.button.specialStyleButton>.icon-calendar{position:relative;top:-.05em;display:block;width:1.15em;height:1.15em;padding:0!important;flex:0 0 1.15em;background:none}
body.kraenholm #mainmenu>ul>li>a.button.specialStyleButton:hover,
body.kraenholm #mainmenu>ul>li>a.button.specialStyleButton:focus-visible{background:#3a6242;color:#fff;border-color:#3a6242}
body.kraenholm #logoAndMenuContainer{z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,.13)}
body.kraenholm #logoAndMenu{width:94%;max-width:90rem;min-height:6.35rem;padding:.6rem 0;gap:2rem;align-items:center;transition-property:min-height,padding,gap;transition-timing-function:ease}
body.kraenholm .wrapperWidth,body.kraenholm .nkFlexBox.wrapperWidth{width:94%;max-width:90rem}
body.kraenholm #logoAndMenuContainer #logo{flex:0 0 4.3rem;min-width:0;padding:0;transition-property:flex-basis;transition-timing-function:ease}
body.kraenholm #logoAndMenuContainer.scrolledActive #logoAndMenu{min-height:4.55rem;padding:.25rem 0;gap:1.35rem}
body.kraenholm #logoAndMenuContainer.scrolledActive #logo{flex-basis:3.35rem;padding:0}
/* Separate inline SVG emblem; footer retains the complete logo. */
body.kraenholm #logo a{display:block;position:relative;padding:0;width:100%;height:4.3rem;max-height:none;overflow:hidden;transition-property:height;transition-timing-function:ease}
body.kraenholm #logoAndMenuContainer #logo a>svg.nk-inline-logo{color:#fff}
body.kraenholm #logoAndMenuContainer #logo a:hover>svg.nk-inline-logo,body.kraenholm #logoAndMenuContainer #logo a:focus-visible>svg.nk-inline-logo{color:#f9da73}
body.kraenholm #logoAndMenuContainer.scrolledActive #logo a{height:3.35rem}
body.kraenholm #mainmenuContainer{min-width:0}
body.kraenholm #mainmenu > ul > li > a{font-family:KhSans,Arial,sans-serif;font-weight:800;letter-spacing:.025em;text-transform:none}
body.kraenholm #mainmenu > ul > li > ul{min-width:13rem}
body.kraenholm #mainmenu > ul > li > ul > li > a{font-size:.9rem;padding:.8rem 1rem}
body.kraenholm #slider,body.kraenholm #slider > *,body.kraenholm .nkModule.nkSection{padding:0;margin:0;width:100%;max-width:none}
body.kraenholm #componentContainer{width:100%;max-width:none;margin:0}
body.kraenholm #component{padding:0}
body.kraenholm .com-content-article__body > *:first-child{margin-top:0}
.kh-bg-cream{background:#f9e9b2}
.kh-intro{display:grid;grid-template-columns:3fr 1fr;min-height:43rem}
.kh-intro-main{padding:5rem 8% 4.5rem;text-align:center}
body.kraenholm .kh-eyebrow{font-family:KhSans,Arial,sans-serif;font-size:.73rem;font-weight:400;line-height:1.2;letter-spacing:.15em;text-transform:uppercase;color:inherit;margin:0 0 .35rem;padding-bottom:0}
body.kraenholm .kh-intro h1{font-family:KhDisplay,KhSans,Arial,sans-serif;font-size:clamp(2.5rem,4.7vw,5rem);font-weight:800;line-height:1;letter-spacing:-.045em;text-transform:uppercase;color:white;margin:0 auto;max-width:13ch;padding:0}
body.kraenholm .kh-script{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,3rem);font-weight:bold;font-style:italic;line-height:1.15;margin:.15rem 0 1.5rem}
body.kraenholm .kh-intro .kh-script{margin:.25rem 0 2rem;padding-bottom:0}
.kh-copy{font-family:KhSans,Arial,sans-serif!important;line-height:1.85!important;font-size:1.05rem!important;max-width:54rem;margin:0 auto;color:#28231c;padding-bottom:0}
.kh-polaroids{display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;max-width:36rem;position:relative;z-index:1}
.kh-polaroids img{width:32%;height:clamp(7rem,13vw,12rem);object-fit:cover;border:.45rem solid white;box-shadow:0 .2rem .4rem #0004;transform:rotate(-10deg)}
.kh-polaroids img:nth-child(2){z-index:1;transform:rotate(-3deg);margin:0 -.35rem}
.kh-polaroids img:nth-child(3){transform:rotate(8deg)}
.kh-actions{display:flex;flex-direction:column;align-self:start}
.kh-action{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:11rem;padding:2rem 1.4rem;font-family:KhDisplay,KhSans,Arial,sans-serif;font-size:clamp(1.25rem,2vw,2rem);font-weight:800;text-decoration:none!important;line-height:1.2;transition-property:background-color,color,border-color,filter;transition-timing-function:ease}
.kh-actions .kh-action{min-width:0;overflow-wrap:anywhere}
.kh-actions>.kh-action:first-child{font-family:Georgia,'Times New Roman',serif;font-weight:bold;font-style:italic}
.kh-action-green{background:#254b2d;color:#f9da73!important}
.kh-action-yellow{background:#f9da73;color:#254b2d!important}
.kh-action-sage{background:#99b09b;color:#fff!important}
.kh-action p{font-size:.86rem;line-height:1.5;font-weight:400;margin:0}
.kh-action:hover,.kh-action:focus-visible{background:#3a6242;color:#fff!important;filter:none}
.kh-content-section{padding:5rem 0}
body.kraenholm .kh-content-section h2,body.kraenholm .kh-contact h2{font-size:clamp(2rem,3vw,3.3rem);line-height:1.1;font-weight:800;letter-spacing:-.03em;padding:0;margin:0 0 .75rem;color:#254b2d}
/* One heading rhythm for content sections; exclude the independently styled form. */
body.kraenholm #component .kh-content-section:not([id="anfrage"])>.wrapperWidth>h2,body.kraenholm #component .kh-menu-copy>h2,body.kraenholm #bottom .kh-contact h2{padding-bottom:0;margin-bottom:.75rem}
body.kraenholm #component .kh-content-section>.wrapperWidth>h2+p{margin-top:0}
.kh-content-section p{line-height:1.8;font-size:1rem}
body.kraenholm .button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;border:0;border-radius:0;padding:1rem 1.5rem;background:#254b2d;color:#f9da73;font:800 .9rem/1.4 KhSans,Arial,sans-serif;text-decoration:none!important;cursor:pointer}
body.kraenholm .button:hover{background:#3a6242;color:white}
.kh-downloads,.kh-reservations,.kh-occasion,.kh-footer-columns{gap:2rem;align-items:stretch}
.kh-downloads > .button{flex:0 1 auto;white-space:nowrap}
body.kraenholm .kh-downloads>.button .nk-download-icon{top:-.05em;vertical-align:middle}
.kh-menu-section{background:#f9da73;color:#254b2d}
.kh-menu-section.imgSwitchRows>.kh-menu-row{min-height:0;background:#f9da73}
.kh-menu-section.imgSwitchRows>.kh-menu-row>.kh-menu-copy,.kh-menu-section.imgSwitchRows>.kh-menu-row>.kh-menu-visual{flex:1 1 50%}
.kh-menu-section.imgSwitchRows.reverse>.kh-menu-row>.kh-menu-copy{padding:4rem 4rem 4rem 0}
.kh-menu-visual{min-height:20rem!important;padding:0!important;background-color:#254b2d;background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}
.kh-reservations>div,.kh-occasion>div{flex:1;padding:1.5rem 0;min-width:0}
.kh-placeholder{border:1px dashed #99b09b;padding:1.25rem;font-size:.9rem;max-width:32rem}
.kh-room{gap:3rem;padding:3rem 0;align-items:center;border-bottom:1px solid #254b2d22}
.kh-room>div{flex:1;min-width:0}
.kh-room-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.kh-room-images img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover}
@media(min-width:60rem){body.kraenholm #raeumlichkeiten .alternatingRows>.alternatingRow:nth-of-type(odd){flex-direction:row}body.kraenholm #raeumlichkeiten .alternatingRows>.alternatingRow:nth-of-type(even){flex-direction:row-reverse}}
body.kraenholm .kh-room h3,body.kraenholm .kh-reservations h3,body.kraenholm .kh-occasion h3{font-size:1.7rem;line-height:1.2;font-weight:800;margin:0 0 1rem}
.kh-facts{font-weight:800}.kh-reading{max-width:60rem}
.kh-tiles.nkFlexBox{display:flex;flex-direction:row;flex-wrap:wrap;margin:0;padding:0;gap:0;width:100%}
.kh-tiles>a{position:relative;display:block;flex:0 0 50%;width:50%;overflow:hidden;aspect-ratio:16/9;background:#254b2d}
.kh-tiles img{display:block;width:100%;height:100%;object-fit:cover;transition-property:transform;transition-timing-function:ease}
.kh-tiles a:hover img{transform:scale(1.035)}
.kh-tiles span{position:absolute;z-index:2;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#fff;font-size:clamp(1.1rem,2.2vw,2rem);font-weight:800;text-transform:uppercase;text-shadow:0 2px 9px #000}
.kh-events-section{display:grid;grid-template-columns:3fr 1fr;background:#254b2d;color:#f9da73;min-height:43rem}
.kh-events-main{padding:5rem clamp(2rem,5vw,5rem) 5rem 3vw;min-width:0}
.kh-events-main>.kh-eyebrow,.kh-events-main>.kh-script{text-align:center}
.kh-events-main>.kh-eyebrow{margin-bottom:.35rem}
body.kraenholm .kh-events-main>h2{font-family:KhSans,Arial,sans-serif;font-size:clamp(3rem,5vw,5.3rem);font-weight:800;line-height:1;text-align:center;text-transform:uppercase;margin:0;padding:0;color:#f9da73}
.kh-events-main>.kh-script{color:white;margin:-.15rem 0 2rem}
body.kraenholm #bottom .kh-events-main>.kh-eyebrow{margin:0 0 .35rem;padding-bottom:0}
body.kraenholm #bottom .kh-events-main>h2{margin:0;padding:0}
body.kraenholm #bottom .kh-events-main>.kh-script{margin:-.15rem 0 1.5rem;padding-bottom:0;line-height:1.05}
.kh-events-section .kh-action-sage{font-size:clamp(1.5rem,2.4vw,2.4rem)}
.kh-events-section>.kh-actions{min-width:0}
.kh-event-list summary{overflow-wrap:anywhere}
.kh-event-list details{border-bottom:1px solid #f9da7333;padding:1.2rem 0}
.kh-event-list summary{cursor:pointer;font-family:Georgia,serif;font-size:1.3rem;line-height:1.5}
.kh-event-list summary span{display:block;color:#fff;font:400 .85rem/1.5 KhSans,Arial,sans-serif}
.kh-event-list p,.kh-event-list a{font-size:.95rem;line-height:1.7;color:#fff}
.kh-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.kh-gallery a{display:block;overflow:hidden;aspect-ratio:1}
.kh-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition-property:transform;transition-timing-function:ease}
.kh-gallery a:hover img{transform:scale(1.04)}
.kh-form{max-width:62rem;margin:2rem 0}.kh-form .nkForm{max-width:100%}.kh-form fieldset{min-width:0}
.kh-form .nkForm fieldset.khFormGrid>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem;align-items:start}
.kh-form .nkForm fieldset.khFormGrid>div>*{padding-right:0;min-width:0;margin:0}
.kh-form .nkForm fieldset.khFormStack>div{display:block}
.kh-form .nkForm .norm input,.kh-form .nkForm .norm select,.kh-form .nkForm .norm textarea{font-size:1rem}
.kh-contact{padding:5rem 0;background:#f9e9b2}
.kh-footer-columns>div{flex:1;min-width:0}
.kh-contact p,.kh-contact a{font-size:.9rem;line-height:1.8;color:#254b2d}
.kh-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0;font-size:clamp(.95rem,1.1vw,1.05rem)}
.kh-footer-bottom p,.kh-footer-bottom a{margin:0;font-size:inherit;line-height:1.5}
body.kraenholm #copyright .kh-footer-bottom p,body.kraenholm #copyright .kh-footer-bottom a{font-size:inherit;padding:0;text-align:inherit}
body.kraenholm #copyright .kh-footer-bottom{justify-content:center;text-align:center;padding:1.6rem 0}
body.kraenholm #copyright .kh-footer-legal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem 1rem;font-weight:600;letter-spacing:.02em}
body.kraenholm #copyright .kh-footer-legal>span:first-child{color:#f9da73;font-weight:800}
body.kraenholm #copyright .kh-footer-legal a{text-underline-offset:.25em}
body.kraenholm #copyright .kh-footer-legal a:hover,body.kraenholm #copyright .kh-footer-legal a:focus{color:#f9da73}
body.kraenholm footer{border:0}body.kraenholm #copyright{background:#254b2d;color:white;padding:0}
body.kraenholm #copyright a{color:white}body.kraenholm #footer{padding:0;background:#f9e9b2}
body.kraenholm #prefooter{padding:0;background:#254b2d}
.kh-site-footer{padding:4rem 0 3rem;text-align:center;background:#254b2d;color:white}
.kh-footer-logo{display:inline-block;margin:0 auto 1.75rem}
.kh-footer-logo img{display:block;width:clamp(10rem,18vw,15rem);height:auto;margin:auto}
.kh-footer-nav,.kh-footer-socials{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.5rem}
.kh-footer-socials{margin:0 0 1.5rem}
.kh-footer-nav{margin:0}
.kh-footer-nav a{color:white;font-family:KhSans,Arial,sans-serif;font-weight:700;text-decoration:none}
.kh-footer-nav a:hover,.kh-footer-nav a:focus{color:#f9da73}
.kh-footer-socials a{display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;border:.125rem solid currentColor;border-radius:50%;color:#f9da73;transition-property:color,background-color,border-color;transition-timing-function:ease}
.kh-footer-socials a:hover,.kh-footer-socials a:focus{color:#254b2d;background:#f9da73}
.kh-footer-socials svg{width:1.45rem;height:1.45rem;fill:currentColor}
.kh-map-module,.kh-map-module>div{width:100%;max-width:none;margin:0;padding:0}
.kh-map-module .nkdsgvoshowcasebox,.kh-map-module .nkdsgvoshowcasebox iframe,.kh-map-module .nkdsgvoshowcasebox>div{min-height:clamp(24rem,48vw,38rem)}
.kh-map-module .nkdsgvoshowcasebox>.wrapperWidth{position:relative;display:flex;align-items:center;justify-content:center;padding:4rem 0 6rem;margin:0 auto;overflow:visible}
.kh-map-module .nkdsgvoshowcasebox.isActive>.wrapperWidth{display:none}
.kh-map-module .nkdsgvoshowcasebox #privacyAndActivateBox{position:relative;top:auto;left:auto;right:auto;transform:none;width:80%;margin:0}
@media(max-width:59.99rem){.kh-map-module .nkdsgvoshowcasebox>.wrapperWidth{padding:2rem 0 5rem}.kh-map-module .nkdsgvoshowcasebox #privacyAndActivateBox{width:100%}}
.kh-map-module .nkdsgvoshowcasebox #privacyAndActivateBox{background:#254b2d;border:0;color:white;text-align:center;padding:clamp(2.75rem,5vw,4.75rem) clamp(1.5rem,4vw,4rem) clamp(2rem,4vw,3.5rem)}
.kh-map-module .nkdsgvoshowcasebox #privacyAndActivateBox h2{color:#f9da73;margin:0 0 1.25rem;padding:0}
.kh-map-module #nkdsgvoshowcasePrivacyText{max-width:48rem;margin:0 auto .5rem;padding-bottom:0;text-align:center;line-height:1.7}
.kh-map-module .nkdsgvoshowcasebox #nkdsgvoshowcasePrivacyText a{display:inline;margin:0;padding:0;text-decoration:underline;text-underline-offset:.15em}
.kh-map-module .nkdsgvoshowcasebox #privacyAndActivateBox p:last-child{padding-bottom:0;margin-bottom:0}
.kh-map-module .nkdsgvoshowcasebox #privacyAndActivateBox a.button{margin-bottom:0}
.kh-map-module .nkdsgvoshowcasebox #privacyAndActivateBox p:last-child{margin:0}
.kh-map-module .nkdsgvoshowcasebox #privacyAndActivateBox a.button{background:#3a6242;color:white!important;transition-property:background-color,color,border-color;transition-timing-function:ease}
.kh-map-module .nkdsgvoshowcasebox #privacyAndActivateBox a.button:hover,.kh-map-module .nkdsgvoshowcasebox #privacyAndActivateBox a.button:focus{background:#f9da73;color:#254b2d!important}
/* Map tint is supplied by nk-overlay-accent-2 and the template's second accent. */
@media(min-width:60rem){
/* Headerhöhe folgt dem Logo; Menüzeilen addieren keine zweite Abstandsebene. */
body.kraenholm #logoAndMenuContainer #logoAndMenu{min-height:0;padding:0}
body.kraenholm #logoAndMenuContainer #logo{flex-basis:5rem;padding:1rem 0;transition-property:flex-basis,padding}
body.kraenholm #logoAndMenuContainer #logo a{height:5rem}
body.kraenholm #logoAndMenuContainer.scrolledActive #logoAndMenu{min-height:0;padding:0}
body.kraenholm #logoAndMenuContainer.scrolledActive #logo{flex-basis:3.35rem;padding:.5rem 0}
body.kraenholm #logoAndMenuContainer.scrolledActive #logo a{height:3.35rem}
body.kraenholm #mainmenu>ul{display:flex;justify-content:flex-end;flex-wrap:nowrap}
body.kraenholm #mainmenu>ul>li>a{font-size:clamp(.75rem,1vw,1rem);padding:.9rem .85rem;white-space:nowrap}
body.kraenholm #mainmenu>ul>li>a.button.specialStyleButton{margin-top:0;margin-bottom:0;padding-top:.8em;padding-bottom:.8em;transition-property:background-color,color,border-color,padding;transition-timing-function:ease,ease,ease,ease}
body.kraenholm #logoAndMenuContainer.scrolledActive #mainmenu>ul>li>a.button.specialStyleButton{padding-top:.55em;padding-bottom:.55em}
body.kraenholm .kh-menu-section.imgSwitchRows.kh-menu-wide-image>.kh-menu-row{width:100%;max-width:none;padding-left:3vw;padding-right:0}
body.kraenholm .kh-menu-section.imgSwitchRows.kh-menu-wide-image>.kh-menu-row>.kh-menu-copy{flex:0 0 37vw;padding:clamp(2rem,3vw,3rem) clamp(2rem,4vw,4rem) clamp(2rem,3vw,3rem) 0}
body.kraenholm .kh-menu-section.imgSwitchRows.kh-menu-wide-image>.kh-menu-row>.kh-menu-visual{flex:0 0 60vw;min-height:clamp(18rem,26vw,27rem)!important}
body.kraenholm #slider .kh-header-images .nkms-layout-responsive-image .nkms-slider-box,
body.kraenholm #slider .kh-header-images .nkms-layout-responsive-image .nkms-track,
body.kraenholm #slider .kh-header-images .nkms-layout-responsive-image .nkms-slide{height:calc(100svh - 6.35rem);min-height:0;aspect-ratio:auto}
body.kraenholm #slider .kh-header-images .nkms-slide.kh-focus-people img{object-position:center 24%}
}
@media(min-width:95.625rem){.kh-events-main{padding-left:calc((100vw - 90rem)/2)}body.kraenholm .kh-menu-section.imgSwitchRows.kh-menu-wide-image>.kh-menu-row{padding-left:calc((100vw - 90rem)/2)}body.kraenholm .kh-menu-section.imgSwitchRows.kh-menu-wide-image>.kh-menu-row>.kh-menu-copy{flex-basis:calc(40vw - ((100vw - 90rem)/2))}}
@media(max-width:59.99rem){.kh-intro,.kh-events-section{grid-template-columns:1fr}.kh-intro-main,.kh-events-main{padding:3.5rem 3vw}.kh-actions{display:grid;grid-template-columns:1fr 1fr}.kh-action{min-height:8rem}.kh-content-section{padding:3rem 0}.kh-menu-section.imgSwitchRows.reverse>.kh-menu-row>.kh-menu-copy{padding:3rem 3vw}.kh-menu-visual{min-height:15rem!important}.kh-room{gap:1.5rem}.kh-tiles>a{aspect-ratio:1}.kh-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.kh-footer-bottom{flex-direction:column;text-align:center}body.kraenholm #logoAndMenu{gap:1rem;min-height:4.5rem}body.kraenholm #logo img{height:3.4rem;width:7rem}.kh-room-images{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kh-tiles img,.kh-gallery img{transition:none}}
@media(max-width:40rem){.kh-form .nkForm fieldset.khFormGrid>div{grid-template-columns:1fr}.kh-copy{font-size:.96rem!important;line-height:1.7!important}}
/* Compact, reusable refinements for the Kränholm content and enquiry form. */
body.kraenholm .kh-room h3,body.kraenholm .kh-reservations h3,body.kraenholm .kh-occasion h3{margin-bottom:1.45rem}
.kh-contact .kh-opening-hours{display:block;margin:0;padding:0;font-size:1rem;line-height:1.6;font-variant-numeric:tabular-nums}
.kh-contact .kh-opening-hours>div{display:block;margin:0 0 .7rem;padding:0;border:0}
.kh-contact .kh-opening-hours>div:last-child{margin-bottom:0}
.kh-contact .kh-opening-hours dt{margin:0;padding:0;font-weight:800;font-size:.9em}
.kh-contact .kh-opening-hours dd{margin:0;padding:0;font-weight:400}
.kh-contact .kh-footer-columns{gap:clamp(1.5rem,3vw,3rem);align-items:flex-start}
.kh-contact .kh-footer-columns h3{margin:0 0 .75rem;padding:0;font-size:1.35rem;line-height:1.3}
.kh-contact .kh-footer-columns p{margin:.65rem 0 0;padding:0;font-size:1rem;line-height:1.6}
.kh-form,body.kraenholm .nkjsimplecontactBox.kh-form{max-width:66rem;margin:.75rem auto 0;padding:clamp(1.25rem,3vw,3rem);background:#fff;border:1px solid #254b2d2b;box-shadow:0 .8rem 2rem #254b2d12}
.kh-form .nkjsimplecontactBox,.nkjsimplecontactBox.kh-form{color:#254b2d}
.kh-form .nkForm fieldset{margin-bottom:1.5rem}.kh-form .nkForm legend{font-size:1.25rem;font-weight:800;margin:0 0 .65rem}
.kh-form .nkForm .norm label{font-weight:700;color:#254b2d}
.kh-form .nkForm .norm input,.kh-form .nkForm .norm select,.kh-form .nkForm .norm textarea{border-color:#254b2d55;background:#fff;color:#254b2d;border-radius:0}
.kh-form .nkForm .norm input:focus,.kh-form .nkForm .norm select:focus,.kh-form .nkForm .norm textarea:focus{border-color:#254b2d;outline:2px solid #f9da73;outline-offset:1px}
.kh-form .nkjscProgress{margin:0 0 1.25rem}.kh-form .nkjscProgressStepNumber{width:2.5em;height:2.5em;transform:none!important;transition-property:background-color,border-color,color;transition-timing-function:ease}
.kh-form .nkjscProgressStepNumber:hover,.kh-form .nkjscProgressStepNumber:focus{transform:none!important;background:#f9e9b2;border-color:#254b2d;color:#254b2d}
.kh-form .nkjscProgressStep.is-current .nkjscProgressStepNumber{background:#f9da73!important;border-color:#f9da73!important;color:#254b2d!important;transform:none!important}
.kh-form .nkjscProgressStep.is-complete .nkjscProgressStepNumber{background:#254b2d!important;border-color:#254b2d!important;color:#fff!important;transform:none!important}
.kh-form .nkjscProgressStep.is-complete::after{background:#254b2d!important}
.kh-form .nkjscStepTitle{margin:0 0 .25rem;color:#254b2d}.kh-form .nkjscStepIntro{margin:0 0 1rem;color:#254b2d}
.kh-form .nkjscStepNext{color:#f9da73}.kh-form .nkjscStepBack{color:#254b2d}
.kh-form .nkForm fieldset.khFormStack{margin-bottom:1.25rem}
.kh-form .nkForm fieldset.khFormStack textarea{min-height:10em;margin-bottom:0}
.kh-form .nkForm fieldset.khFormConsent{margin:0}
.kh-form .nkForm fieldset.khFormConsent .nkfCheckbox{margin:0}
.kh-form .nkjscStepNavigation{align-items:stretch;gap:.4rem;margin-top:1.5rem}
.kh-form .nkForm .nkjscStepNavigation>fieldset.buttonBox{margin:0}
.kh-form .nkjscStepNavigation .nkjscStepButton{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:.7em 1.1em;border-width:.0625em;font-size:1rem;font-weight:600;line-height:1.4}
.kh-site-footer{position:relative;padding:0 0 1.25rem}.kh-footer-socials{margin-bottom:1.25rem}body.kraenholm #copyright .kh-footer-bottom{padding:.9rem 0}
.kh-site-footer .kh-footer-logo{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:18rem;height:12rem;margin:-4.5rem auto 1.25rem;padding:2.2rem 2rem 1rem;background:#254b2d;border-radius:9rem 9rem 0 0}
.kh-site-footer .kh-footer-logo img{width:100%;height:auto}
body.kraenholm #prefooter{position:relative;z-index:2;overflow:visible}
.kh-site-footer>.wrapperWidth{display:flow-root}
@media(max-width:59.99rem){.kh-site-footer .kh-footer-logo{width:14rem;height:10rem;margin-top:-3.5rem;padding:2rem 1.5rem 1rem;border-radius:7rem 7rem 0 0}body.kraenholm #logoAndMenuContainer #logo{flex-basis:3.4rem}body.kraenholm #logo a{height:3.4rem}}
/* Mobile sticky geometry: retain room for the 3.25rem expanded menu glyph. */
@media(max-width:59.99rem){
body.kraenholm #logoAndMenuContainer #logoAndMenu{min-height:4.6rem;padding:.6rem 0;gap:1rem}
body.kraenholm #logoAndMenuContainer.scrolledActive #logoAndMenu{min-height:4.1rem;padding:.4rem 0;gap:1rem}
body.kraenholm #logoAndMenuContainer.scrolledActive #logo{flex-basis:3rem}
body.kraenholm #logoAndMenuContainer.scrolledActive #logo a{height:3rem}
}
/* Keep map attribution visible even when the background is cropped responsively. */
.kh-map-module.nkdsgvoshowcasebox:not(.isActive)::after{content:"Google · Kartendaten ©2026 GeoBasis-DE (©2009), Google";position:absolute;right:0;bottom:0;z-index:3;padding:2px 5px;background:#fff;color:#333;font:10px/1.3 Arial,sans-serif;max-width:44%;text-align:right;pointer-events:none}

/* Reusable section-heading rhythm: label stays with its heading, content starts with a calm gap. */
body.kraenholm #component .kh-menu-copy>.kh-eyebrow,
body.kraenholm #component .kh-content-section>.wrapperWidth>.kh-eyebrow,
body.kraenholm #bottom .kh-contact>.wrapperWidth>.kh-eyebrow{margin:0 0 .35rem;padding-bottom:0;line-height:1.2}
body.kraenholm #component .kh-menu-copy>.kh-eyebrow+h2,
body.kraenholm #component .kh-content-section>.wrapperWidth>.kh-eyebrow+h2,
body.kraenholm #bottom .kh-contact>.wrapperWidth>.kh-eyebrow+h2{margin-top:0;padding-top:0;margin-bottom:clamp(1.75rem,3vw,2.75rem)}

/* The enquiry introduction is a centred heading group; the form starts close below it. */
body.kraenholm #component #anfrage>.wrapperWidth>.kh-eyebrow,
body.kraenholm #component #anfrage>.wrapperWidth>h2,
body.kraenholm #component #anfrage>.wrapperWidth>h2+p{text-align:center}
body.kraenholm #component #anfrage>.wrapperWidth>.kh-eyebrow+h2{margin-bottom:.45rem}
body.kraenholm #component #anfrage>.wrapperWidth>h2+p{max-width:52rem;margin:0 auto 1.5rem}

/* CTA tiles accompany their content column until the section's lower edge; the framework limits this to desktop. */
@media(min-width:60rem){
body.kraenholm .kh-intro>.kh-actions.stickyAt60r{top:4.55rem;z-index:2}
body.kraenholm .kh-events-section>.kh-actions.stickyAt60r{top:4.55rem;z-index:2}
}

/* The consent text needs a deliberate pause before the activation action. */
.kh-map-module #nkdsgvoshowcasePrivacyText{margin-bottom:2rem}

/* Central event data from NK Booking; the site's accordion colours remain local. */
body.kraenholm .kh-event-list .nkb-event-toggle{border-bottom:1px solid rgba(249,218,115,.25)}
body.kraenholm .kh-event-list .nkb-event-meta{font:400 .85rem/1.5 KhSans,Arial,sans-serif}
body.kraenholm .kh-event-list a.nkb-event-signup{display:inline-block;background:#f9da73;color:#254b2d;border:1px solid #f9da73;padding:.65em 1.1em;margin:.25em 0;font-weight:800}
body.kraenholm .kh-event-list a.nkb-event-signup:hover,
body.kraenholm .kh-event-list a.nkb-event-signup:focus-visible{background:#3a6242;color:#fff;border-color:#3a6242}
body.kraenholm .kh-booking-events .nkb-booking-step{background:#fff;color:#254b2d;padding:1.5rem;gap:1.5rem}
body.kraenholm .kh-booking-events .nkb-booking-step h2{font:800 1.6rem/1.25 KhSans,Arial,sans-serif;text-align:left;text-transform:none;color:#254b2d;margin:0 0 1rem;padding:0;overflow-wrap:break-word}
body.kraenholm .kh-booking-events .nkb-booking-step h2 span{font-size:.7em}
body.kraenholm .kh-booking-events .nkb-booking-step .nkbEventInfoBox--event-title>h2,
body.kraenholm .kh-booking-events .nkb-booking-step .nkbSignupForm>h2{margin-bottom:.2rem!important}
body.kraenholm .kh-booking-events .nkb-booking-step p,
body.kraenholm .kh-booking-events .nkb-booking-step a{color:#254b2d}
body.kraenholm .kh-booking-events .nkb-booking-step p{padding:0;margin:0 0 1rem}
body.kraenholm .kh-booking-events .nkb-booking-step .nkbSignupForm>p,
body.kraenholm .kh-booking-events .nkb-booking-step .nkbEventInfoBox--event-title>.eventExtraInfo,
body.kraenholm .kh-booking-events .nkb-booking-step .nkForm .jsCbLabel{font-size:1rem;line-height:1.6!important}
body.kraenholm .kh-booking-events .nkbSignupFormBox{padding:1rem;min-width:0}
body.kraenholm .kh-booking-events .nkb-booking-step .nkForm label{color:#254b2d}
body.kraenholm .kh-booking-events .nkb-booking-step .nkForm a{text-decoration:underline}
body.kraenholm .kh-booking-events .nkb-booking-step .nkForm fieldset{min-width:0}
body.kraenholm .kh-booking-events .nkb-booking-step .nkForm button[type="submit"]{background:#254b2d;color:#f9da73;border-color:#254b2d;filter:none}
body.kraenholm .kh-booking-events .nkb-booking-step .nkForm button[type="submit"]:hover,
body.kraenholm .kh-booking-events .nkb-booking-step .nkForm button[type="submit"]:focus-visible{background:#3a6242;color:#fff;border-color:#3a6242;filter:none}
@media(max-width:48rem){body.kraenholm .kh-booking-events .nkb-booking-step{grid-template-columns:minmax(0,1fr)}}

/* Only the employee and login pages: no changes to other Joomla layouts. */
body.kh-internal-page #component,body.kh-login-page #component{width:94%;max-width:90rem;margin:0 auto;padding:3rem 0}
body.kh-login-page #component{max-width:32rem;min-height:65vh}
body.kraenholm #component .kh-intern>h1,body.kraenholm #component .kh-intern>h2,
body.kh-login-page #component h1{margin:0 0 1rem;padding:0}
body.kraenholm #component .kh-intern>p{margin:0 0 1.5rem;padding:0}
body.kraenholm .kh-intern .mod-login-logout{display:flex;align-items:center;gap:1rem;margin:1.5rem 0 2rem}
body.kraenholm .kh-intern .mod-login-logout>*{margin:0;padding:0}
body.kraenholm .kh-intern .mod-login-logout button{background:#254b2d;color:#fff}
body.kraenholm .kh-intern-placeholder{background:#f9e9b2;border:1px solid #e5d6a1;padding:1.5rem;margin-top:2rem}
body.kraenholm #component .kh-intern-placeholder h2{font-size:1.4rem;margin:0 0 .75rem;padding:0}
body.kraenholm #component .kh-intern-placeholder p{margin:0;padding:0}
body.kh-login-page .com-users-login{background:#f9e9b2;padding:2rem;border:1px solid #e5d6a1}
body.kh-login-page .com-users-login fieldset{border:0;padding:0;margin:0}
body.kh-login-page .com-users-login .control-group{margin-bottom:1.15rem}
body.kh-login-page #component .com-users-login label{display:block;margin-bottom:.35rem;padding:0}
body.kh-login-page .com-users-login input[type=text],body.kh-login-page .com-users-login input[type=password]{width:100%;min-width:0;font:inherit;padding:.7em;border:1px solid #8da78e;background:#fff;color:#254b2d}
body.kh-login-page .com-users-login .input-group{display:flex}
body.kh-login-page .com-users-login button{background:#254b2d;color:#fff;border:1px solid #254b2d;padding:.7em 1em;font:inherit}
body.kh-login-page .com-users-login button:hover{background:#f9da73;color:#254b2d}
body.kh-login-page .com-users-login .input-password-toggle::before{content:"◉"}
body.kh-login-page .com-users-login .com-users-login__remember label{display:inline}
body.kh-login-page .com-users-login__options{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:1.5rem}
@media(max-width:40rem){body.kh-login-page .com-users-login{padding:1.25rem}body.kh-login-page #component h1{font-size:2rem}}
