
.kdp-responsive-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.25em 0}
.kdp-content-table{width:100%;min-width:520px;border-collapse:collapse;border-spacing:0}
.kdp-content-table th,.kdp-content-table td{padding:.75em .9em;border:1px solid currentColor;text-align:left;vertical-align:top}
.kdp-content-table th{font-weight:700}
.kdp-content-button{display:inline-block;padding:.65em 1.15em;border-radius:.25em;background:var(--kdp-button-primary,#2ea3f2);color:#fff!important;text-decoration:none!important;font-weight:600;line-height:1.2}
.kdp-content-button:hover{background:var(--kdp-button-hover,#135e96);color:#fff!important}
@media(max-width:640px){.kdp-responsive-table{margin-left:0;margin-right:0}.kdp-content-table{font-size:.92em}}

/* Contact persons */
.kdp-contact-grid{display:grid;grid-template-columns:repeat(var(--kdp-contact-cols,3),minmax(0,1fr));gap:24px;margin:1.5em 0}
.kdp-contact-card{overflow:hidden;border:1px solid rgba(0,0,0,.1);border-radius:10px;background:#fff}
.kdp-contact-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.kdp-contact-body{padding:20px}
.kdp-contact-body h3{margin:0 0 5px;padding:0}
.kdp-contact-title{font-weight:600;margin-bottom:4px}
.kdp-contact-department{font-size:.9em;opacity:.7;margin-bottom:12px}
.kdp-contact-description{margin:12px 0}
.kdp-contact-links{display:flex;flex-direction:column;gap:4px;margin-top:12px}

@media(max-width:900px){.kdp-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.kdp-contact-grid{grid-template-columns:1fr}}


/* Brand / sponsor carousel */
.kdp-brand-carousel{position:relative;width:100%;margin:1.5em 0;padding:0 46px}.kdp-brand-viewport{overflow:hidden}.kdp-brand-track{display:flex;align-items:center;transition:transform .45s ease;will-change:transform}.kdp-brand-item{flex:0 0 calc(100% / var(--kdp-brand-visible,6));padding:12px 18px;display:flex;align-items:center;justify-content:center;min-width:0}.kdp-brand-link,.kdp-brand-logo{display:flex;align-items:center;justify-content:center;width:100%;height:110px}.kdp-brand-image{display:block;max-width:100%;max-height:90px;width:auto;height:auto;object-fit:contain;filter:grayscale(0);transition:transform .2s ease,opacity .2s ease}.kdp-brand-link:hover .kdp-brand-image{transform:scale(1.04);opacity:.82}.kdp-brand-prev,.kdp-brand-next{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:1px solid rgba(0,0,0,.15);border-radius:999px;background:#fff;color:#1f2937;font-size:23px;line-height:1;cursor:pointer;z-index:2}.kdp-brand-prev{left:3px}.kdp-brand-next{right:3px}

/* Desktop + off-canvas mobile navigation */
.kdp-navigation{width:100%}.kdp-desktop-nav-list,.kdp-mobile-nav-list{list-style:none!important;margin:0!important;padding:0!important}.kdp-desktop-nav-list{display:flex;align-items:center;gap:24px}.kdp-desktop-nav-list>li{position:relative}.kdp-desktop-nav-list a{display:block;text-decoration:none}.kdp-desktop-nav-list li>ul{position:absolute;z-index:9999;top:100%;left:0;min-width:220px;padding:10px!important;background:var(--kdp-menu-bg,#fff);border:1px solid rgba(0,0,0,.1);box-shadow:0 12px 30px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}.kdp-desktop-nav-list li:hover>ul,.kdp-desktop-nav-list li:focus-within>ul{opacity:1;visibility:visible;transform:none}.kdp-desktop-nav-list li>ul li{position:relative}.kdp-desktop-nav-list li>ul a{padding:8px 10px}.kdp-desktop-nav-list li>ul ul{left:100%;top:0}
.kdp-mobile-nav{display:none;position:relative;justify-content:flex-end}.kdp-mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:0;background:transparent;cursor:pointer}.kdp-burger-lines,.kdp-burger-lines:before,.kdp-burger-lines:after{display:block;width:26px;height:2px;background:currentColor;content:"";position:relative}.kdp-burger-lines:before{position:absolute;top:-8px}.kdp-burger-lines:after{position:absolute;top:8px}.kdp-mobile-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:999998}.kdp-mobile-panel{position:fixed;z-index:999999;top:0;right:0;width:min(88vw,390px);height:100dvh;background:var(--kdp-menu-bg,#fff);box-shadow:-15px 0 40px rgba(0,0,0,.18);transform:translateX(105%);transition:transform .28s ease;overflow-y:auto}.kdp-mobile-panel.is-open{transform:none}.kdp-mobile-panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e5e7eb}.kdp-mobile-menu-close{width:40px;height:40px;border:0;background:transparent;font-size:30px;cursor:pointer}.kdp-mobile-nav-list{padding:10px 18px 28px!important}.kdp-mobile-nav-list .kdp-nav-line{display:flex;align-items:center;border-bottom:1px solid #eef0f2}.kdp-mobile-nav-list .kdp-nav-line>a{flex:1;padding:14px 4px;color:inherit;text-decoration:none;font-weight:600}.kdp-submenu-toggle{width:42px;height:42px;border:0;background:transparent;font-size:24px;cursor:pointer;transition:transform .2s}.kdp-submenu-toggle[aria-expanded="true"]{transform:rotate(45deg)}.kdp-mobile-nav-list li>ul{display:none;padding:0 0 0 15px!important}.kdp-mobile-nav-list li.is-expanded>ul{display:block}.kdp-navigation.is-mobile-only .kdp-desktop-nav{display:none!important}.kdp-navigation.is-mobile-only .kdp-mobile-nav{display:flex!important}
body.kdp-menu-open{overflow:hidden}

/* Global contact details */
.kdp-contact-info{display:flex;flex-direction:column;gap:10px}.kdp-contact-info-row{display:flex;align-items:flex-start;gap:10px}.kdp-info-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px}.kdp-info-icon svg,.kdp-social-link svg{width:100%;height:100%;fill:currentColor}.kdp-contact-info a{color:inherit;text-decoration:none}.kdp-social-links{display:flex;align-items:center;gap:10px}.kdp-social-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid currentColor;border-radius:999px;color:inherit;text-decoration:none;transition:transform .2s,opacity .2s}.kdp-social-link svg{width:20px;height:20px}.kdp-social-link:hover{transform:translateY(-2px);opacity:.75}
@media(max-width:980px){.kdp-desktop-nav{display:none}.kdp-mobile-nav{display:flex}.kdp-brand-carousel{padding:0 38px}}


/* 0.9.1: automatically replace Divi's native mobile menu with KundePanel */
.kdp-auto-mobile-navigation{display:none}
@media(max-width:980px){
	body.kdp-auto-divi-mobile-menu #et_mobile_nav_menu,
	body.kdp-auto-divi-mobile-menu .et-l--header .et_mobile_nav_menu,
	body.kdp-auto-divi-mobile-menu header .et_mobile_nav_menu,
	body.kdp-auto-divi-mobile-menu .et-l--header .mobile_nav,
	body.kdp-auto-divi-mobile-menu .et-l--header .mobile_menu_bar,
	body.kdp-auto-divi-mobile-menu #main-header .mobile_nav,
	body.kdp-auto-divi-mobile-menu #main-header .mobile_menu_bar,
	body.kdp-auto-divi-mobile-menu .et-l--header .et_mobile_menu,
	body.kdp-auto-divi-mobile-menu #main-header .et_mobile_menu{display:none!important}
	.kdp-auto-mobile-target{position:relative!important;display:flex!important;align-items:center;justify-content:flex-end}
	.kdp-auto-mobile-navigation.is-mounted{display:block!important;margin-left:auto;position:relative;z-index:100001}
	.kdp-auto-mobile-navigation.is-mounted .kdp-navigation,.kdp-auto-mobile-navigation.is-mounted .kdp-mobile-nav{width:auto}
	.kdp-auto-mobile-navigation.is-mounted .kdp-mobile-nav{display:flex!important}
	.kdp-auto-mobile-navigation.is-fallback{display:block!important;position:fixed;top:14px;right:16px;z-index:999997}
	.admin-bar .kdp-auto-mobile-navigation.is-fallback{top:60px}
	.kdp-auto-mobile-navigation.is-fallback .kdp-mobile-nav{display:flex!important}
}
@media(min-width:981px){.kdp-auto-mobile-navigation{display:none!important}}


/* 0.10.0 – flexible customer content */
.kdp-flex-front-section{padding:42px 0}.kdp-flex-front-auto .kdp-flex-front-inner{width:100%;max-width:1300px;margin:0 auto}.kdp-flex-front-shortcode .kdp-flex-front-inner{width:100%}.kdp-flex-front-row{display:grid;grid-template-columns:repeat(var(--kdp-flex-cols),minmax(0,1fr));gap:30px;margin-bottom:30px}.kdp-flex-front-row:last-child{margin-bottom:0}.kdp-flex-front-column{min-width:0;padding:25px}.kdp-flex-front-module{margin-bottom:30px}.kdp-flex-front-module:last-child{margin-bottom:0}.kdp-flex-front-module img{max-width:100%;height:auto}.kdp-flex-front-module-blurb{text-align:left}.kdp-flex-blurb-image{margin-bottom:14px}.kdp-flex-front-module-blurb h3{margin:0 0 10px}.kdp-flex-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kdp-flex-gallery a{display:block;aspect-ratio:4/3;overflow:hidden}.kdp-flex-gallery img{width:100%;height:100%;object-fit:cover;display:block}.kdp-flex-front-module-code iframe{max-width:100%}
@media(max-width:980px){.kdp-flex-front-row{grid-template-columns:repeat(min(2,var(--kdp-flex-cols)),minmax(0,1fr))}}
@media(max-width:767px){.kdp-flex-front-row{grid-template-columns:1fr}.kdp-flex-front-auto .kdp-flex-front-inner{width:100%}.kdp-flex-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.kdp-flex-front-section{padding:30px 0}}


/* 0.12.5: flexible section appearances */
.kdp-flex-front-section--primary,
.kdp-flex-front-section--light{
	background:var(--kdp-bg-primary,#fff);
}
.kdp-flex-front-section--secondary,
.kdp-flex-front-section--dark{
	background:var(--kdp-bg-secondary,#f2f2f2);
}


/* 0.14.0: design variables */
.kdp-navigation a:focus-visible,
.kdp-navigation button:focus-visible,
.kdp-content-button:focus-visible,
.kdp-brand-carousel button:focus-visible,
.kdp-brand-link:focus-visible,
.kdp-contact-info a:focus-visible,
.kdp-social-link:focus-visible{
	outline:2px solid var(--kdp-focus,#2271b1);
	outline-offset:3px;
}


/* 0.15.0: Button, CTA, FAQ, Testimonials, Contacts and Logo Wall modules */
.kdp-flex-front-module-button{display:flex;align-items:center}
.kdp-flex-cta{padding:clamp(24px,4vw,54px);border-radius:14px;background:var(--kdp-bg-secondary,#f2f2f2)}
.kdp-flex-cta h2{margin-top:0}.kdp-flex-cta-content{margin-bottom:20px}.kdp-flex-cta-content>:last-child{margin-bottom:0}
.kdp-faq-list{border-top:1px solid rgba(0,0,0,.12)}
.kdp-faq-item{border-bottom:1px solid rgba(0,0,0,.12)}
.kdp-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;cursor:pointer;font-weight:700;list-style:none}
.kdp-faq-item summary::-webkit-details-marker{display:none}
.kdp-faq-item summary i{position:relative;width:18px;height:18px;flex:0 0 18px}
.kdp-faq-item summary i:before,.kdp-faq-item summary i:after{content:"";position:absolute;left:2px;right:2px;top:8px;height:2px;background:currentColor}
.kdp-faq-item summary i:after{transform:rotate(90deg);transition:transform .2s ease}.kdp-faq-item[open] summary i:after{transform:rotate(0)}
.kdp-faq-answer{padding:0 34px 18px 0}.kdp-faq-answer>:last-child{margin-bottom:0}
.kdp-testimonial-grid{display:grid;grid-template-columns:repeat(var(--kdp-testimonial-cols,3),minmax(0,1fr));gap:22px}
.kdp-testimonial-card{padding:24px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:var(--kdp-bg-primary,#fff)}
.kdp-testimonial-quote{font-size:1.05em}.kdp-testimonial-person{display:flex;align-items:center;gap:12px;margin-top:20px}
.kdp-testimonial-image{width:52px;height:52px;border-radius:50%;object-fit:cover}.kdp-testimonial-person strong,.kdp-testimonial-person span{display:block}.kdp-testimonial-person span{font-size:.9em;opacity:.7;margin-top:2px}
.kdp-testimonial-carousel{position:relative;--kdp-testimonial-visible:3}.kdp-testimonial-viewport{overflow:hidden}.kdp-testimonial-track{display:flex;transition:transform .35s ease}.kdp-testimonial-carousel .kdp-testimonial-card{flex:0 0 calc(100% / var(--kdp-testimonial-visible));box-sizing:border-box;border-radius:0}
.kdp-testimonial-prev,.kdp-testimonial-next{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border:1px solid rgba(0,0,0,.15);border-radius:50%;background:var(--kdp-bg-primary,#fff);cursor:pointer;z-index:2}.kdp-testimonial-prev{left:-18px}.kdp-testimonial-next{right:-18px}
.kdp-logo-wall{display:grid;grid-template-columns:repeat(var(--kdp-logo-cols,6),minmax(0,1fr));gap:28px;align-items:center}.kdp-logo-wall-item{display:flex;align-items:center;justify-content:center;min-width:0}.kdp-logo-wall-image{display:block;width:100%;height:90px;object-fit:contain}
@media(max-width:980px){.kdp-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kdp-logo-wall{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.kdp-testimonial-grid{grid-template-columns:1fr}.kdp-testimonial-prev{left:0}.kdp-testimonial-next{right:0}.kdp-logo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.kdp-faq-answer{padding-right:0}}


/* 0.19.0: navigation colors */
.kdp-navigation a{
	color:var(--kdp-menu-text,#2271b1)!important;
	opacity:1!important;
}
.kdp-navigation a:hover,
.kdp-navigation a:focus-visible,
.kdp-navigation .is-current>.kdp-nav-line>a{
	color:var(--kdp-menu-text-inverse,#d88e4e)!important;
	opacity:1!important;
}
.kdp-mobile-menu-toggle{
	background:var(--kdp-focus,#2271b1)!important;
	color:#fff!important;
	border-radius:6px;
}
.kdp-mobile-menu-close,
.kdp-submenu-toggle{
	color:var(--kdp-menu-text,#2271b1)!important;
}


/* 0.16.0: button visibility + standard contact form */
.kdp-flex-front-module-button .kdp-content-button{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	visibility:visible!important;
	opacity:1!important;
}
.kdp-flex-button-no-link{
	cursor:default;
}
.kdp-contact-form{
	display:flex;
	flex-direction:column;
	gap:16px;
}
.kdp-contact-form-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:16px;
}
.kdp-contact-form label{
	display:flex;
	flex-direction:column;
	gap:6px;
	font-weight:600;
}
.kdp-contact-form input,
.kdp-contact-form textarea{
	width:100%;
	box-sizing:border-box;
	padding:11px 12px;
	border:1px solid rgba(0,0,0,.2);
	border-radius:6px;
	background:var(--kdp-bg-primary,#fff);
	color:inherit;
	font:inherit;
}
.kdp-contact-form input:focus,
.kdp-contact-form textarea:focus{
	outline:2px solid var(--kdp-focus,#2271b1);
	outline-offset:1px;
	border-color:var(--kdp-focus,#2271b1);
}
.kdp-contact-submit{
	border:0;
	cursor:pointer;
	align-self:flex-start;
}
.kdp-contact-form-notice{
	margin-bottom:16px;
	padding:12px 14px;
	border-radius:6px;
}
.kdp-contact-form-notice.is-success{
	background:#edf7ed;
	border:1px solid #b7d8b7;
}
.kdp-contact-form-notice.is-error{
	background:#fff2f2;
	border:1px solid #e2b8b8;
}
.kdp-contact-honeypot{
	position:absolute!important;
	left:-99999px!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important;
}
@media(max-width:640px){
	.kdp-contact-form-grid{grid-template-columns:1fr}
}


/* 0.17.0: builder alignment controls */
.kdp-flex-front-module.kdp-flex-align-left{
	text-align:left;
}
.kdp-flex-front-module.kdp-flex-align-center{
	text-align:center;
}
.kdp-flex-front-module.kdp-flex-align-right{
	text-align:right;
}
.kdp-flex-front-module-button.kdp-flex-align-left{
	justify-content:flex-start;
}
.kdp-flex-front-module-button.kdp-flex-align-center{
	justify-content:center;
}
.kdp-flex-front-module-button.kdp-flex-align-right{
	justify-content:flex-end;
}
.kdp-flex-front-module-image:not(.kdp-image-fullwidth) img{
	display:inline-block;
	width:auto;
	max-width:100%;
}
.kdp-flex-front-module-image.kdp-image-fullwidth img{
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
}
.kdp-flex-cta{
	text-align:inherit;
}
.kdp-flex-cta .kdp-content-button{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	visibility:visible!important;
	opacity:1!important;
}


/* 0.18.0: Divider module */
.kdp-flex-divider{width:100%;box-sizing:border-box;padding-top:var(--kdp-divider-space,30px);padding-bottom:var(--kdp-divider-space,30px)}
.kdp-flex-divider-line{display:block;width:100%;height:1px;background:currentColor;opacity:.18}


/* 0.19.0: page text + Divi menu synchronization layer */
body{
\tcolor:var(--kdp-text,#666666);
}
.kdp-flex-front-auto,
.kdp-flex-front-module,
.kdp-contact-form,
.kdp-testimonial-card,
.kdp-contact-card{
\tcolor:var(--kdp-text,#666666);
}

#top-menu a,
#main-header .nav li ul a,
.et_mobile_menu li a,
.et_pb_menu .et-menu a,
.et_pb_menu .et_mobile_menu a,
.et_pb_fullwidth_menu .et-menu a,
.et_pb_fullwidth_menu .et_mobile_menu a{
\tcolor:var(--kdp-menu-text,#2271b1)!important;
\topacity:1!important;
}
#top-menu a:hover,
#top-menu .current-menu-item>a,
#top-menu .current_page_item>a,
#main-header .nav li ul a:hover,
#main-header .nav li.current-menu-item>a,
.et_mobile_menu li a:hover,
.et_mobile_menu .current-menu-item>a,
.et_mobile_menu .current_page_item>a,
.et_pb_menu .et-menu a:hover,
.et_pb_menu .et-menu .current-menu-item>a,
.et_pb_menu .et-menu .current_page_item>a,
.et_pb_menu .et_mobile_menu a:hover,
.et_pb_menu .et_mobile_menu .current-menu-item>a,
.et_pb_fullwidth_menu .et-menu a:hover,
.et_pb_fullwidth_menu .et-menu .current-menu-item>a{
\tcolor:var(--kdp-menu-text-inverse,#d88e4e)!important;
\topacity:1!important;
}


/* 0.20.0 Hero backgrounds */
.kdp-flex-front-section.has-background-image{background-size:cover;background-position:center;background-repeat:no-repeat}.kdp-flex-front-section--primary.has-background-image{background-image:linear-gradient(var(--kdp-bg-primary-overlay,rgba(255,255,255,.76)),var(--kdp-bg-primary-overlay,rgba(255,255,255,.76))),var(--kdp-section-bg-image)}.kdp-flex-front-section--secondary.has-background-image{background-image:linear-gradient(var(--kdp-bg-secondary-overlay,rgba(242,242,242,.76)),var(--kdp-bg-secondary-overlay,rgba(242,242,242,.76))),var(--kdp-section-bg-image)}
/* Global body/button sizes */
body{font-size:var(--kdp-text-size,16px)}.kdp-flex-front,.kdp-contact-form,.kdp-contact-card,.kdp-testimonial-card,.et_pb_text_inner,.et_pb_blurb_description{font-size:var(--kdp-text-size,16px)}.kdp-content-button,.kdp-contact-submit{font-size:var(--kdp-button-font-size,16px)!important;padding:var(--kdp-button-pad-y,12px) var(--kdp-button-pad-x,20px)!important}
/* PDF module */
.kdp-pdf-card{max-width:720px}.kdp-pdf-preview{position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:8px;background:#f2f2f2;box-shadow:0 6px 22px rgba(0,0,0,.12)}.kdp-pdf-preview img,.kdp-pdf-preview iframe{display:block;width:100%;height:100%;border:0;object-fit:cover;background:#fff}.kdp-pdf-preview iframe{pointer-events:none}.kdp-pdf-open-overlay{position:absolute;inset:0;z-index:2}.kdp-pdf-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px 0;color:inherit;text-decoration:none}.kdp-pdf-caption span{color:var(--kdp-focus,#2271b1);white-space:nowrap}
/* Gallery lightbox */
body.kdp-lightbox-open{overflow:hidden}.kdp-lightbox[hidden]{display:none!important}.kdp-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.88);padding:50px 70px}.kdp-lightbox-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.kdp-lightbox-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.35)}.kdp-lightbox-close,.kdp-lightbox-prev,.kdp-lightbox-next{position:absolute;z-index:3;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;border-radius:999px;display:flex;align-items:center;justify-content:center}.kdp-lightbox-close{right:20px;top:20px;width:44px;height:44px;font-size:32px}.kdp-lightbox-prev,.kdp-lightbox-next{top:50%;width:48px;height:48px;margin-top:-24px;font-size:38px}.kdp-lightbox-prev{left:18px}.kdp-lightbox-next{right:18px}.kdp-lightbox-close:hover,.kdp-lightbox-prev:hover,.kdp-lightbox-next:hover{background:rgba(255,255,255,.24)}@media(max-width:767px){.kdp-lightbox{padding:64px 14px 20px}.kdp-lightbox-prev{left:8px}.kdp-lightbox-next{right:8px}.kdp-pdf-card{max-width:100%}}


/* 0.23.0: page sidebar layout */
.kdp-page-with-sidebar{
	width:100%;
	max-width:1300px;
	margin:0 auto;
	display:grid;
	grid-template-columns:minmax(0,3fr) minmax(230px,1fr);
	gap:30px;
	align-items:start;
	box-sizing:border-box;
}
.kdp-page-main,
.kdp-page-sidebar{
	min-width:0;
}
.kdp-page-with-sidebar .kdp-flex-front{
	width:100%;
}
.kdp-page-with-sidebar .kdp-flex-front-auto .kdp-flex-front-inner,
.kdp-page-with-sidebar .kdp-flex-front-shortcode .kdp-flex-front-inner{
	width:100%;
	max-width:none;
}
.kdp-page-sidebar .kdp-flex-front-section{
	width:100%;
}
.kdp-page-sidebar .kdp-flex-front-inner{
	width:100%;
	max-width:none;
}
.kdp-page-sidebar .kdp-flex-front-row{
	grid-template-columns:1fr!important;
}
.kdp-page-sidebar .kdp-flex-front-column{
	width:100%;
	box-sizing:border-box;
}
@media(max-width:900px){
	.kdp-page-with-sidebar{
		grid-template-columns:1fr;
		gap:24px;
	}
}


/* 0.24.0: sidebar background follows its fixed section style */
.kdp-page-sidebar > .kdp-flex-front,
.kdp-page-sidebar > .kdp-flex-front > .kdp-flex-front-section{
	width:100%;
}
.kdp-page-sidebar > .kdp-flex-front > .kdp-flex-front-section{
	box-sizing:border-box;
}


/* 0.28.0: Social Media builder module */
.kdp-flex-social-module .kdp-social-links{flex-wrap:wrap}
.kdp-flex-social-module .kdp-social-link{color:var(--kdp-focus,#2271b1)!important}

/* Gallery: Grid / Slider */
.kdp-flex-gallery--slider{display:block!important;position:relative}
.kdp-gallery-slider-viewport{overflow:hidden;border-radius:8px}
.kdp-gallery-slider-track{display:flex;transition:transform .35s ease;will-change:transform}
.kdp-flex-gallery--slider .kdp-gallery-slider-item{flex:0 0 100%;aspect-ratio:16/10}
.kdp-gallery-slider-prev,.kdp-gallery-slider-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:50%;background:var(--kdp-focus,#2271b1);color:#fff;font-size:30px;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.18)}
.kdp-gallery-slider-prev{left:12px}.kdp-gallery-slider-next{right:12px}

/* Events list */
.kdp-events-list{display:flex;flex-direction:column;gap:22px}
.kdp-event-list-item{display:grid;grid-template-columns:minmax(180px,32%) minmax(0,1fr);overflow:hidden;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:var(--kdp-bg-primary,#fff)}
.kdp-event-list-media{display:block;min-height:190px}
.kdp-event-list-image{display:block;width:100%;height:100%!important;object-fit:cover}
.kdp-event-list-content{padding:22px}
.kdp-event-list-date{margin-bottom:7px;color:var(--kdp-focus,#2271b1);font-weight:700}
.kdp-event-list-content h3{margin:0 0 9px}
.kdp-event-list-content h3 a,.kdp-event-list-link{color:inherit;text-decoration:none}
.kdp-event-list-link{display:inline-block;margin-top:6px;color:var(--kdp-focus,#2271b1);font-weight:700}

/* Events calendar */
.kdp-events-calendar{position:relative;width:100%;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:var(--kdp-bg-primary,#fff);padding:16px;box-sizing:border-box}
.kdp-events-calendar-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:8px;margin-bottom:12px}
.kdp-events-calendar-head strong{text-align:center;text-transform:capitalize;font-size:1.12em}
.kdp-events-calendar-prev,.kdp-events-calendar-next{width:38px;height:38px;border:1px solid rgba(0,0,0,.12);border-radius:50%;background:#fff;color:var(--kdp-focus,#2271b1);font-size:25px;cursor:pointer}
.kdp-events-calendar-weekdays,.kdp-events-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.kdp-events-calendar-weekdays>div{padding:7px 4px;text-align:center;font-weight:700;font-size:.82em;opacity:.7}
.kdp-event-calendar-day{position:relative;min-height:106px;padding:7px;border-top:1px solid rgba(0,0,0,.08);border-left:1px solid rgba(0,0,0,.08);box-sizing:border-box}
.kdp-event-calendar-day:nth-child(7n+1){border-left:0}
.kdp-event-calendar-day.is-empty{background:rgba(0,0,0,.018)}
.kdp-event-calendar-date{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:inherit;text-decoration:none;font-weight:700}
.kdp-event-calendar-day.has-events .kdp-event-calendar-date{background:var(--kdp-focus,#2271b1);color:#fff}
.kdp-event-calendar-items{display:flex;flex-direction:column;gap:3px;margin-top:5px;font-size:.76em}
.kdp-event-calendar-items a{color:var(--kdp-focus,#2271b1);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kdp-event-calendar-tooltip{position:absolute;left:50%;bottom:calc(100% - 5px);z-index:20;display:none;width:220px;max-width:80vw;padding:9px;transform:translateX(-50%);border-radius:8px;background:#1f2937;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.kdp-event-calendar-day.has-events:hover .kdp-event-calendar-tooltip,.kdp-event-calendar-day.has-events:focus-within .kdp-event-calendar-tooltip{display:flex;flex-direction:column;gap:6px}
.kdp-event-calendar-tooltip a{display:flex;flex-direction:column;gap:2px;color:#fff;text-decoration:none}
.kdp-event-calendar-tooltip small{opacity:.75}
.kdp-single-event-meta{display:flex;align-items:center;gap:8px;margin:0 0 22px;color:var(--kdp-focus,#2271b1)}
@media(max-width:767px){
	.kdp-event-list-item{grid-template-columns:1fr}
	.kdp-event-list-media{min-height:210px}
	.kdp-events-calendar{padding:8px}
	.kdp-event-calendar-day{min-height:64px;padding:4px}
	.kdp-event-calendar-items{display:none}
	.kdp-event-calendar-tooltip{left:0;transform:none}
}

.kdp-single-event-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 20px}


/* 0.31.0: Divi Theme Builder overlay utility classes
   "overlay" uses the dedicated Overlay/Overlejring color from KundePanel.
   The older focusoverlay and secondaryoverlay classes remain available. */
.overlay,
.focusoverlay,
.secondaryoverlay{
	position:relative;
	isolation:isolate;
}
.overlay::before,
.focusoverlay::before,
.secondaryoverlay::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:0;
	pointer-events:none;
}
.overlay::before{
	background:var(--kdp-overlay,rgba(34,113,177,.76));
}
.focusoverlay::before{
	background:var(--kdp-focus-overlay,rgba(34,113,177,.76));
}
.secondaryoverlay::before{
	background:var(--kdp-bg-secondary-overlay,rgba(242,242,242,.76));
}

/* Divi 5 section content sits above the generated overlay. */
.overlay > .et_pb_row,
.focusoverlay > .et_pb_row,
.secondaryoverlay > .et_pb_row,
.overlay > .et_pb_row_wrapper,
.focusoverlay > .et_pb_row_wrapper,
.secondaryoverlay > .et_pb_row_wrapper{
	position:relative;
	z-index:1;
}


/* 0.32.0: Overlay choice for KundePanel sections */
.kdp-flex-front-section--overlay{
	background:var(--kdp-overlay-color,#2271b1);
}
.kdp-flex-front-section--overlay.has-background-image{
	background-image:
		linear-gradient(var(--kdp-overlay,rgba(34,113,177,.76)),var(--kdp-overlay,rgba(34,113,177,.76))),
		var(--kdp-section-bg-image);
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
}


/* 0.33.0: Posts module – Grid / List */
.kdp-posts-module{
	width:100%;
}
.kdp-posts-module--grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px;
}
.kdp-post-card{
	overflow:hidden;
	border:1px solid rgba(0,0,0,.10);
	border-radius:12px;
	background:var(--kdp-bg-primary,#fff);
	box-sizing:border-box;
}
.kdp-post-card-media{
	display:block;
	overflow:hidden;
	aspect-ratio:16/10;
}
.kdp-post-card-image{
	display:block;
	width:100%;
	height:100%!important;
	object-fit:cover;
	transition:transform .25s ease;
}
.kdp-post-card-media:hover .kdp-post-card-image{
	transform:scale(1.025);
}
.kdp-post-card-content{
	padding:20px;
}
.kdp-post-card-date{
	margin-bottom:7px;
	color:var(--kdp-focus,#2271b1);
	font-size:.88em;
	font-weight:700;
}
.kdp-post-card-title{
	margin:0 0 10px;
	padding:0;
}
.kdp-post-card-title a{
	color:inherit;
	text-decoration:none;
}
.kdp-post-card-excerpt{
	margin:0 0 14px;
}
.kdp-post-card-link{
	display:inline-block;
	color:var(--kdp-focus,#2271b1);
	font-weight:700;
	text-decoration:none;
}

/* List keeps the same content, but moves the image beside the text. */
.kdp-posts-module--list{
	display:flex;
	flex-direction:column;
	gap:20px;
}
.kdp-posts-module--list .kdp-post-card{
	display:grid;
	grid-template-columns:minmax(190px,30%) minmax(0,1fr);
}
.kdp-posts-module--list .kdp-post-card.no-image{
	grid-template-columns:1fr;
}
.kdp-posts-module--list .kdp-post-card-media{
	height:100%;
	min-height:190px;
	aspect-ratio:auto;
}
.kdp-posts-module--list .kdp-post-card-content{
	display:flex;
	flex-direction:column;
	justify-content:center;
}
@media(max-width:980px){
	.kdp-posts-module--grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}
@media(max-width:767px){
	.kdp-posts-module--grid{
		grid-template-columns:1fr;
	}
	.kdp-posts-module--list .kdp-post-card{
		grid-template-columns:1fr;
	}
	.kdp-posts-module--list .kdp-post-card-media{
		min-height:0;
		aspect-ratio:16/10;
	}
}


/* 0.34.0: Dedicated text color for Overlay sections */
.overlay{
	color:var(--kdp-overlay-text,#fff)!important;
}

/* Divi text/content modules: override module-level text and heading colors. */
.overlay .et_pb_text,
.overlay .et_pb_text_inner,
.overlay .et_pb_text p,
.overlay .et_pb_text li,
.overlay .et_pb_text blockquote,
.overlay .et_pb_text h1,
.overlay .et_pb_text h2,
.overlay .et_pb_text h3,
.overlay .et_pb_text h4,
.overlay .et_pb_text h5,
.overlay .et_pb_text h6,
.overlay .et_pb_text a:not(.et_pb_button),
.overlay .et_pb_heading,
.overlay .et_pb_heading_container,
.overlay .et_pb_heading_container h1,
.overlay .et_pb_heading_container h2,
.overlay .et_pb_heading_container h3,
.overlay .et_pb_heading_container h4,
.overlay .et_pb_heading_container h5,
.overlay .et_pb_heading_container h6{
	color:var(--kdp-overlay-text,#fff)!important;
}

/* KundePanel-builder sections using Background → Overlay. */
.kdp-flex-front-section--overlay,
.kdp-flex-front-section--overlay > .kdp-flex-front-inner{
	color:var(--kdp-overlay-text,#fff)!important;
}
.kdp-flex-front-section--overlay .kdp-flex-front-module-text,
.kdp-flex-front-section--overlay .kdp-flex-front-module-text p,
.kdp-flex-front-section--overlay .kdp-flex-front-module-text li,
.kdp-flex-front-section--overlay .kdp-flex-front-module-text blockquote,
.kdp-flex-front-section--overlay .kdp-flex-front-module-text h1,
.kdp-flex-front-section--overlay .kdp-flex-front-module-text h2,
.kdp-flex-front-section--overlay .kdp-flex-front-module-text h3,
.kdp-flex-front-section--overlay .kdp-flex-front-module-text h4,
.kdp-flex-front-section--overlay .kdp-flex-front-module-text h5,
.kdp-flex-front-section--overlay .kdp-flex-front-module-text h6,
.kdp-flex-front-section--overlay .kdp-flex-front-module-text a:not(.kdp-content-button),
.kdp-flex-front-section--overlay .kdp-flex-front-module-blurb,
.kdp-flex-front-section--overlay .kdp-flex-front-module-blurb h1,
.kdp-flex-front-section--overlay .kdp-flex-front-module-blurb h2,
.kdp-flex-front-section--overlay .kdp-flex-front-module-blurb h3,
.kdp-flex-front-section--overlay .kdp-flex-front-module-blurb h4,
.kdp-flex-front-section--overlay .kdp-flex-front-module-blurb h5,
.kdp-flex-front-section--overlay .kdp-flex-front-module-blurb h6,
.kdp-flex-front-section--overlay .kdp-flex-front-module-blurb p,
.kdp-flex-front-section--overlay .kdp-flex-front-module-blurb a:not(.kdp-content-button),
.kdp-flex-front-section--overlay .kdp-faq-item,
.kdp-flex-front-section--overlay .kdp-faq-item summary,
.kdp-flex-front-section--overlay .kdp-faq-answer{
	color:var(--kdp-overlay-text,#fff)!important;
}

/* Modules with their own card/surface background keep normal page text colors. */
.kdp-flex-front-section--overlay .kdp-post-card,
.kdp-flex-front-section--overlay .kdp-post-card h1,
.kdp-flex-front-section--overlay .kdp-post-card h2,
.kdp-flex-front-section--overlay .kdp-post-card h3,
.kdp-flex-front-section--overlay .kdp-post-card h4,
.kdp-flex-front-section--overlay .kdp-post-card h5,
.kdp-flex-front-section--overlay .kdp-post-card h6,
.kdp-flex-front-section--overlay .kdp-post-card p{
	color:var(--kdp-text,#666)!important;
}
.kdp-flex-front-section--overlay .kdp-post-card-date,
.kdp-flex-front-section--overlay .kdp-post-card-link{
	color:var(--kdp-focus,#2271b1)!important;
}


/* 0.35.6: KundePanel owns the Theme Builder BODY on automatic builder pages.
   Header/footer remain untouched. Within the specific Theme Builder body that
   contains .kdp-flex-front-auto:
   - suppress body-template sections other than the Post Content host
   - neutralize the Post Content host section/row/column/module
   - hide stale empty Divi page sections left by old Divi content
*/

/* JS fallback classes */
.kdp-tb-body-suppressed{
	display:none!important;
}

.kdp-tb-body-host-section,
.kdp-tb-body-host-row,
.kdp-tb-body-host-column,
.kdp-tb-body-host-post-content{
	width:100%!important;
	max-width:none!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	background:transparent!important;
	background-image:none!important;
}

.kdp-tb-body-host-section,
.kdp-tb-body-host-row,
.kdp-tb-body-host-column{
	display:block!important;
}

.kdp-kill-empty-divi-section{
	display:none!important;
	height:0!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
}

/* Immediate CSS path in modern browsers. Scope is deliberately limited to
   the Theme Builder BODY that actually contains automatic KundePanel content. */
@supports selector(.et-l--body:has(.kdp-flex-front-auto)){
	.et-l--body:has(.kdp-flex-front-auto)
	> .et_builder_inner_content
	> .et_pb_section:not(:has(.kdp-flex-front-auto)):not(.overlay):not(.focusoverlay):not(.secondaryoverlay):not(.kdp-keep){
		display:none!important;
	}

	.et-l--body:has(.kdp-flex-front-auto)
	.et_pb_section:has(.kdp-flex-front-auto),
	.et-l--body:has(.kdp-flex-front-auto)
	.et_pb_row:has(.kdp-flex-front-auto),
	.et-l--body:has(.kdp-flex-front-auto)
	.et_pb_column:has(.kdp-flex-front-auto),
	.et-l--body:has(.kdp-flex-front-auto)
	.et_pb_post_content:has(.kdp-flex-front-auto){
		width:100%!important;
		max-width:none!important;
		min-height:0!important;
		margin:0!important;
		padding:0!important;
		border:0!important;
		border-radius:0!important;
		box-shadow:none!important;
		background:transparent!important;
		background-image:none!important;
	}

	.et-l--body:has(.kdp-flex-front-auto)
	.et_pb_section:has(.kdp-flex-front-auto),
	.et-l--body:has(.kdp-flex-front-auto)
	.et_pb_row:has(.kdp-flex-front-auto),
	.et-l--body:has(.kdp-flex-front-auto)
	.et_pb_column:has(.kdp-flex-front-auto){
		display:block!important;
	}

	.et_pb_post_content:has(.kdp-flex-front-auto)
	.et-l--post > .et_builder_inner_content > .et_pb_section:empty{
		display:none!important;
		height:0!important;
		min-height:0!important;
		margin:0!important;
		padding:0!important;
	}
}


/* 0.35.7: Explicit Theme Builder keep classes.
   These sections remain fully Divi-controlled even on KundePanel builder pages. */
.et-l--body .et_pb_section.overlay,
.et-l--body .et_pb_section.focusoverlay,
.et-l--body .et_pb_section.secondaryoverlay,
.et-l--body .et_pb_section.kdp-keep{
	/* Intentionally no reset here: preserve the Theme Builder section design. */
}


/* WPHubbi scheduled popup */
.wphubbi-popup[hidden]{display:none!important}
.wphubbi-popup{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px}
.wphubbi-popup__backdrop{position:absolute;inset:0;background:rgba(17,19,38,.58);backdrop-filter:blur(3px)}
.wphubbi-popup__dialog{position:relative;z-index:1;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;color:#171326;border-radius:18px;padding:clamp(26px,4vw,42px);box-shadow:0 28px 90px rgba(0,0,0,.28);font-family:inherit}
.wphubbi-popup__dialog h2{margin:0 44px 14px 0;font:inherit;font-size:clamp(1.65rem,4vw,2.35rem);font-weight:800;line-height:1.08;color:inherit}
.wphubbi-popup__content{font-size:1rem;line-height:1.6;color:rgba(23,19,38,.78)}
.wphubbi-popup__content>:last-child{margin-bottom:0}
.wphubbi-popup__content a{color:inherit;text-decoration:underline}
.wphubbi-popup__close{position:absolute;right:16px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:#f2f2f2;color:#171326;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.wphubbi-popup__close:hover,.wphubbi-popup__close:focus{background:#e5e5e5;outline:2px solid currentColor;outline-offset:2px}
.wphubbi-popup__actions{margin-top:24px}
.wphubbi-popup__button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:8px;background:#171326;color:#fff!important;text-decoration:none!important;font-weight:700}
.wphubbi-popup__button:hover,.wphubbi-popup__button:focus{opacity:.9}
body.wphubbi-popup-open{overflow:hidden}
