/* Static handoff final overrides
   Order: fixed controls -> page containers -> accordions -> carousel cleanup -> contrast safety.
   This file is intentionally loaded after the bundled Elementor CSS. */
:root{
  --moet-navy:#143852;
  --moet-gold:#f1d599;
  --moet-footer-text:#fffcf7;
  --moet-divider-light:rgba(255,252,247,.26);
  --moet-divider-dark:rgba(20,56,82,.24);
}

/* Floating controls need to beat plugin positioning. */
#contrast-toggle{
  position:fixed!important;
  right:0;
  bottom:100px;
  top:auto;
  z-index:100000;
  contain:layout paint;
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  min-width:52px;
  height:40px;
  margin:0;
  padding:.5rem;
  border:1px solid rgba(20,56,82,.14);
  border-radius:6px 0 0 6px;
  background:#fff;
  color:var(--moet-navy);
  box-shadow:0 2px 8px rgba(0,0,0,.10);
  cursor:pointer;
  font:0/1 TRENDA,Arial,sans-serif;
  overflow:hidden;
  transform:none;
}
#contrast-toggle::before{content:'◐';display:block;color:var(--moet-navy);font-size:20px;line-height:1;}
#contrast-toggle:hover,#contrast-toggle:focus-visible{width:auto;min-width:52px;padding:.5rem .75rem;background:#f9f9f9;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:14px;}
#contrast-toggle[aria-pressed="true"]{filter:none;background:var(--moet-navy);color:#fff;border-color:var(--moet-gold);}
#contrast-toggle[aria-pressed="true"]::before{color:#fff;}
html.moet-high-contrast body{filter:none;}
html.moet-high-contrast [data-bcrg-adjusted="text"]{text-shadow:none;}
html.moet-high-contrast [data-bcrg-adjusted="surface"]{box-shadow:inset 0 0 0 1px rgba(0,0,0,.28);}

.trp-language-switcher.trp-floating-switcher,
.trp-floating-switcher.trp-switcher-position-bottom{
  position:fixed!important;
  right:0;
  bottom:150px;
  top:auto;
  left:auto;
  width:52px;
  min-width:52px;
  height:auto;
  padding:0;
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
  z-index:100000;
}
.trp-language-switcher .trp-language-switcher-inner{position:relative;width:52px;height:auto;display:flex;flex-direction:column-reverse;gap:0;overflow:visible;}
.trp-language-switcher .trp-language-item__current,
.trp-language-switcher a.trp-language-item{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:52px;min-width:52px;height:38px;min-height:38px;margin:0;padding:0;border:1px solid rgba(20,56,82,.16);border-radius:6px 0 0 6px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.10);cursor:pointer;}
.trp-language-switcher .trp-switcher-dropdown-list{position:absolute;right:0;bottom:38px;display:none;width:52px;min-width:52px;overflow:visible;background:transparent;border:0;box-shadow:none;visibility:hidden;opacity:0;}
.trp-language-switcher.is-open .trp-switcher-dropdown-list{display:block;visibility:visible;opacity:1;}
.trp-language-switcher .trp-flag-image{display:block;width:20px;max-width:20px;height:auto;max-height:15px;margin:0;}

/* Subpage container parity */
body.page-faq .elementor-2059,
body.page-en-faq .elementor-2059,
body.page-impressum .elementor-306,
body.page-en-impressum .elementor-306,
body.page-datenschutz .elementor-308,
body.page-en-datenschutz .elementor-308{
  box-sizing:border-box;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  padding-left:clamp(18px,4vw,56px);
  padding-right:clamp(18px,4vw,56px);
}
body.page-faq .elementor-2059 .e-con-boxed,
body.page-en-faq .elementor-2059 .e-con-boxed,
body.page-impressum .elementor-306 .e-con-boxed,
body.page-en-impressum .elementor-306 .e-con-boxed,
body.page-datenschutz .elementor-308 .e-con-boxed,
body.page-en-datenschutz .elementor-308 .e-con-boxed{max-width:100%;}
body.subpage [data-elementor-type="wp-page"]{min-height:280px;}

/* FAQ page: only FAQ content, no extra booking/testimonial blocks. */
body.page-faq .elementor-element-23d57239,
body.page-en-faq .elementor-element-23d57239,
body.page-faq .elementor-element-8ac13d4,
body.page-en-faq .elementor-element-8ac13d4{display:none;}
body.page-faq .elementor-2059 .faq-container,
body.page-en-faq .elementor-2059 .faq-container{box-sizing:border-box;max-width:1120px;margin:0 auto;padding:8px 0 35px;}
body.page-faq .elementor-2059 .faq-section,
body.page-en-faq .elementor-2059 .faq-section{margin:0;padding:0;border:0;border-bottom:1px solid var(--moet-divider-dark);background:transparent;box-shadow:none;border-radius:0;}
body.page-faq .elementor-2059 .faq-section .question,
body.page-en-faq .elementor-2059 .faq-section .question,
.elementor-location-footer .faq-container .faq-section .question{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:18px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  cursor:pointer;
}
body.page-faq .elementor-2059 .faq-section .question,
body.page-en-faq .elementor-2059 .faq-section .question{padding:18px 0!important;color:var(--moet-navy)!important;font-family:TRENDA,Arial,sans-serif;font-size:clamp(16px,1.25vw,19px);font-weight:400!important;line-height:1.45;}
body.page-faq .elementor-2059 .faq-section .question span:first-child,
body.page-en-faq .elementor-2059 .faq-section .question span:first-child{flex:1 1 auto!important;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:left!important;}
body.page-faq .elementor-2059 .faq-section .faq-icon,
body.page-en-faq .elementor-2059 .faq-section .faq-icon{flex:0 0 auto;margin-left:16px;color:#c7a85f;font-size:22px;line-height:1;}
body.page-faq .elementor-2059 .faq-section .answer,
body.page-en-faq .elementor-2059 .faq-section .answer{margin:0;padding:0 0 18px;border:0;background:transparent;color:var(--moet-navy);font-family:TRENDA,Arial,sans-serif;font-size:16px;line-height:1.65;}
body.page-faq .elementor-2059 .faq-section .answer[hidden],
body.page-en-faq .elementor-2059 .faq-section .answer[hidden]{display:none;}

/* Footer FAQ */
.elementor-location-footer .faq-container{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:8px clamp(18px,4vw,56px) 24px;}
.elementor-location-footer .faq-container .faq-section{margin:0;padding:0;border:0;border-bottom:1px solid var(--moet-divider-light);background:transparent;box-shadow:none;border-radius:0;}
.elementor-location-footer .faq-container .faq-section.weiterefrgaenlink{border-bottom:0;margin-top:28px;padding-top:0;}
.elementor-location-footer .faq-container .question{padding:17px 0!important;color:var(--moet-footer-text)!important;font-family:TRENDA,Arial,sans-serif;font-size:16px;font-weight:400!important;line-height:1.45;}
.elementor-location-footer .faq-container .question span:first-child{flex:1 1 auto!important;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:left!important;}
.elementor-location-footer .faq-container .question .faq-icon{flex:0 0 auto;margin-left:auto!important;color:var(--moet-gold)!important;font-size:22px;line-height:1;}
.elementor-location-footer .faq-container .question:hover,
.elementor-location-footer .faq-container .question:focus-visible{color:var(--moet-gold)!important;background:transparent;outline:2px solid rgba(241,213,153,.7);outline-offset:4px;}
.elementor-location-footer .faq-container .answer{margin:0;padding:0 0 18px;border:0;background:transparent;color:var(--moet-footer-text);opacity:.9;font-size:15px;line-height:1.6;}
.elementor-location-footer .faq-section.weiterefrgaenlink a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;border:1px solid var(--moet-gold);border-radius:999px;background:var(--moet-gold);color:var(--moet-navy);font-family:TRENDA,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;box-shadow:none;}
.elementor-location-footer .faq-section.weiterefrgaenlink a:hover,
.elementor-location-footer .faq-section.weiterefrgaenlink a:focus-visible{background:transparent;color:var(--moet-gold);outline:2px solid var(--moet-gold);outline-offset:3px;}

/* Testimonial carousel on the home pages */
body.page-home .testimonialcarousel-container{
  max-width:1400px;
  margin:0 auto;
  position:relative;
}
body.page-home .testimonialcarousel-wrapper{
  position:relative;
  overflow:hidden;
  padding:0 60px;
}
body.page-home .testimonialcarousel-wrapper.no-navigation{padding:0;}
body.page-home .testimonialcarousel-track{
  display:flex;
  gap:20px;
  transition:transform .5s ease-in-out;
  will-change:transform;
}
body.page-home .testimonialcarousel-slide{
  flex:0 0 calc(33.333% - 14px);
  min-width:calc(33.333% - 14px);
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  background:#fff;
  padding:50px 40px;
  border-radius:8px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
body.page-home .ratingstars{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:30px;
}
body.page-home .ratingstars img{width:20px;height:auto;display:block;}
body.page-home .testimonialcarousel-slide blockquote{
  margin:0;
  color:#4a4a4a;
  font-size:1rem;
  font-style:italic;
  font-weight:300;
  line-height:1.7;
}
body.page-home .testimonialcarousel-nav{
  position:absolute;
  top:50%;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--moet-navy);
  box-shadow:0 2px 8px rgba(0,0,0,.15);
  transform:translateY(-50%);
  cursor:pointer;
}
body.page-home .testimonialcarousel-nav.prev{left:0;}
body.page-home .testimonialcarousel-nav.next{right:0;}
body.page-home .testimonialcarousel-nav.hidden{opacity:0;visibility:hidden;pointer-events:none;}
#statusText,.testimonialcarousel-status{display:none;visibility:hidden;}

/* Image strip: remove only per-image fade-in, keep track movement. */
.carousel img,.carousel-track img,.elementor-widget-html .carousel img{animation:none;transition:none;opacity:1;transform:none;}

@media(max-width:1024px){
  body.page-home .testimonialcarousel-slide{flex-basis:calc(50% - 10px);min-width:calc(50% - 10px);}
}

@media(max-width:767px){
  body.page-home .testimonialcarousel-wrapper{padding:0 50px;}
  body.page-home .testimonialcarousel-wrapper.no-navigation{padding:0;}
  body.page-home .testimonialcarousel-slide{flex-basis:100%;min-width:100%;padding:40px 30px;}
  body.page-home .testimonialcarousel-nav{width:40px;height:40px;}

  #contrast-toggle{bottom:84px;}
  .trp-language-switcher.trp-floating-switcher,.trp-floating-switcher.trp-switcher-position-bottom{bottom:132px;}
  .elementor-location-footer .faq-container{padding-left:16px;padding-right:16px;}
  .elementor-location-footer .faq-container .question{font-size:14px;padding-bottom:12px!important;}
  .elementor-location-footer .faq-section.weiterefrgaenlink a{width:100%;text-align:center;}
}


/* Language-neutral testimonial carousel scope (DE uses page-home, EN uses page-en). */
.testimonialcarousel-container{max-width:1400px;margin:0 auto;position:relative;}
.testimonialcarousel-wrapper{position:relative;overflow:hidden;padding:0 60px;}
.testimonialcarousel-wrapper.no-navigation{padding:0;}
.testimonialcarousel-track{display:flex;gap:20px;transition:transform .5s ease-in-out;will-change:transform;}
.testimonialcarousel-slide{flex:0 0 calc(33.333% - 14px);min-width:calc(33.333% - 14px);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;padding:50px 40px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.testimonialcarousel-slide .ratingstars{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:30px;}
.testimonialcarousel-slide .ratingstars img{width:20px;height:auto;display:block;}
.testimonialcarousel-slide blockquote{margin:0;color:#4a4a4a;font-size:1rem;font-style:italic;font-weight:300;line-height:1.7;}
.testimonialcarousel-nav{position:absolute;top:50%;z-index:10;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border:0;border-radius:50%;background:#fff;color:var(--moet-navy);box-shadow:0 2px 8px rgba(0,0,0,.15);transform:translateY(-50%);cursor:pointer;}
.testimonialcarousel-nav.prev{left:0;}
.testimonialcarousel-nav.next{right:0;}
.testimonialcarousel-nav.hidden{opacity:0;visibility:hidden;pointer-events:none;}
@media(max-width:1024px){.testimonialcarousel-slide{flex-basis:calc(50% - 10px);min-width:calc(50% - 10px);}}
@media(max-width:767px){.testimonialcarousel-wrapper{padding:0 50px;}.testimonialcarousel-wrapper.no-navigation{padding:0;}.testimonialcarousel-slide{flex-basis:100%;min-width:100%;padding:40px 30px;}.testimonialcarousel-nav{width:40px;height:40px;}}
/* Final testimonial stars: match reference cards with centered gold star row. */
.testimonialcarousel-slide .ratingstars{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:100%!important;
  margin:0 0 28px!important;
  padding:0!important;
  line-height:1!important;
  text-align:center!important;
}
.testimonialcarousel-slide .ratingstars .star{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:18px!important;
  height:20px!important;
  margin:0!important;
  padding:0!important;
  color:#d6ad4b!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:22px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}
.testimonialcarousel-slide .ratingstars .rating-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  border:0!important;
}
