/* JJ KFO – Menü-Refresh (Cowork, 2026-06-06) – Kacheln + Sub-Boxen + Footer-CTA + Desktop-Boxen */
.mymenu .elementor-item, .mymenu .elementor-sub-item{ text-transform:none !important; letter-spacing:0 !important; }
.mymenu ul[id$="-3860438"]>li>a.elementor-item{ color:#2f2f2f !important; }
.mymenu .jjico{ color:#B0C9C0 !important; margin-right:9px; width:1.05em; text-align:center; display:inline-block; font-size:.95em; }
.mymenu .weglot-flags>a:before, .mymenu .weglot-flags>span:before{ background-image:none !important; background:none !important; width:auto !important; height:auto !important; min-width:0 !important; font:500 14px/1 "Source Sans 3",sans-serif !important; color:#9a9a9a !important; vertical-align:middle; margin:0 !important; }
.mymenu .weglot-flags.wg-de>a:before, .mymenu .weglot-flags.wg-de>span:before{ content:"DE" !important; }
.mymenu .weglot-flags.wg-en>a:before, .mymenu .weglot-flags.wg-en>span:before{ content:"EN" !important; }

/* ===== Desktop dropdown: Unterpunkte als Boxen ===== */
@media (min-width:1025px){
  .mymenu .elementor-nav-menu--main .sub-menu{ background:#fff !important; padding:10px !important; }
  .mymenu .elementor-nav-menu--main .sub-menu a.elementor-sub-item{ background:#779c94 !important; color:#fff !important; border:0 !important; border-radius:8px !important; margin-bottom:7px !important; padding:10px 16px !important; transition:background .15s,color .15s; }
  .mymenu .elementor-nav-menu--main .sub-menu li:last-child a.elementor-sub-item{ margin-bottom:0 !important; }
  .mymenu .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
  .mymenu .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus{ background:#86aaa0 !important; color:#fff !important; }
}

/* ===== Mobile / Tablet ===== */
@media (max-width:1024px){
  .mymenu .elementor-nav-menu--dropdown li,
  .mymenu .elementor-nav-menu--dropdown a.elementor-item,
  .mymenu .elementor-nav-menu--dropdown a.elementor-sub-item{ border:0 !important; }
  .mymenu ul[id$="-3860438"].elementor-nav-menu{ padding-top:16px !important; }
  .mymenu ul[id$="-3860438"].elementor-nav-menu > li:not(.menu-item-weglot):not(.jj-foot){ background:#779c94 !important; border-radius:12px !important; margin:0 14px 8px !important; overflow:hidden; }
  .mymenu ul[id$="-3860438"].elementor-nav-menu > li:has(> a.elementor-item[aria-expanded="true"]){ background:#779c94 !important; }
  .mymenu ul[id$="-3860438"].elementor-nav-menu > li:not(.menu-item-weglot):not(.jj-foot) > a.elementor-item{ color:#fff !important; justify-content:flex-start !important; padding:14px 14px !important; font-size:16px !important; line-height:1.2 !important; }
  .mymenu ul[id$="-3860438"].elementor-nav-menu > li:not(.menu-item-weglot):not(.jj-foot) > a.elementor-item .jjico{ color:#fff !important; }
  .mymenu .elementor-nav-menu--dropdown .elementor-item .sub-arrow, .mymenu .elementor-nav-menu--dropdown .elementor-item .sub-arrow i{ color:#fff !important; }
  .mymenu .elementor-nav-menu--dropdown .sub-menu{ margin:8px 14px 12px 14px !important; padding-left:0 !important; border-left:0 !important; background:transparent !important; }
  .mymenu .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item{ display:block !important; font-size:15px !important; color:#fff !important; background:#779c94 !important; border:0 !important; border-radius:8px !important; padding:9px 12px !important; margin-bottom:6px !important; }
  .mymenu .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:hover, .mymenu .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:focus{ background:#86aaa0 !important; color:#fff !important; }
  .mymenu ul[id$="-3860438"] > li:not(.menu-item-weglot):not(.jj-foot) > a.elementor-item:hover, .mymenu ul[id$="-3860438"] > li:not(.menu-item-weglot):not(.jj-foot) > a.elementor-item:focus{ background-color:transparent !important; color:#fff !important; }
  .mymenu ul[id$="-3860438"] > li:not(.menu-item-weglot):not(.jj-foot) > a.elementor-item:hover .jjico{ color:#fff !important; }
  .mymenu .elementor-nav-menu--dropdown .sub-menu li:last-child a.elementor-sub-item{ margin-bottom:0 !important; }
  /* Footer-Zeile: DE | EN  +  CTA */
  #menu-2-3860438 .jj-foot{ display:flex !important; align-items:center; gap:12px; list-style:none; background:transparent !important; margin:8px 16px 4px !important; padding:4px 0 !important; }
  #menu-2-3860438 .jj-foot .jj-foot-lang{ display:flex; align-items:center; }
  #menu-2-3860438 .jj-foot .menu-item-weglot{ background:transparent !important; margin:0 !important; padding:0 6px !important; display:inline-block !important; width:auto !important; }
  #menu-2-3860438 .jj-foot-cta i{ margin-right:7px; }
  #menu-2-3860438 .jj-foot-cta{ margin-left:auto; display:inline-flex; align-items:center; background:#779c94 !important; color:#fff !important; padding:12px 24px !important; border-radius:50px !important; font-size:16px !important; text-decoration:none !important; white-space:nowrap; box-shadow:rgba(0,0,0,0.15) 4px 4px 10px 0px !important; }
  /* falls JS (noch) nicht lief: originale weglot-items als Fallback */
  .mymenu li.menu-item-weglot-9907-de:not(.jj-foot *), .mymenu li.menu-item-weglot-9907-en:not(.jj-foot *){ display:inline-block; width:auto; padding:10px 8px 10px 24px; }
}

/* CTA-Farbe an Blog-CTA angleichen (#779c94) */
.mymenu .terminbuchen .elementor-button{ background-color:#779c94 !important; font-weight:700 !important; transition:background-color .2s ease, color .2s ease !important; }
@media (max-width:1024px){
  /* Header-CTA bleibt sichtbar; Farbe wechselt auf dunkel, solange das Menue offen ist */
  .mymenu:has(.elementor-menu-toggle.elementor-active) .terminbuchen .elementor-button,
  .mymenu:has(.elementor-menu-toggle[aria-expanded="true"]) .terminbuchen .elementor-button{ background-color:#2f2f2f !important; color:#fff !important; }
}

/* ===== Desktop Sticky-Header Shrink (schlank) ===== */
@media (min-width:1025px){
  .mymenu, .mymenu .e-con-inner, .mymenu .elementor-widget-theme-site-logo img, .mymenu .terminbuchen .elementor-button{ transition: padding .2s ease, box-shadow .2s ease, width .2s ease, height .2s ease !important; }
  .mymenu.elementor-sticky--effects{ height:auto !important; min-height:0 !important; padding-top:0 !important; padding-bottom:0 !important; background-color:#fff !important; box-shadow:0 2px 14px rgba(0,0,0,0.10) !important; }
  .mymenu.elementor-sticky--effects .e-con-inner{ height:52px !important; min-height:0 !important; padding-top:0 !important; padding-bottom:0 !important; padding-block-start:0 !important; padding-block-end:0 !important; align-items:center !important; }
  .mymenu.elementor-sticky--effects .elementor-widget-nav-menu,
  .mymenu.elementor-sticky--effects .elementor-widget-nav-menu > .elementor-widget-container{ padding-top:0 !important; padding-bottom:0 !important; }
  .mymenu.elementor-sticky--effects .elementor-widget-theme-site-logo img{ width:90px !important; }
  .mymenu.elementor-sticky--effects .terminbuchen .elementor-button{ padding-top:13px !important; padding-bottom:13px !important; }
}

/* ===== Desktop: Abstand Header -> erster Abschnitt (global) ===== */
@media (min-width:1025px){
  [data-elementor-type="wp-page"] > .e-con:first-child > .e-con-inner,
  [data-elementor-type="wp-post"] > .e-con:first-child > .e-con-inner,
  [data-elementor-type="single-post"] > .e-con:first-child > .e-con-inner,
  [data-elementor-type="wp-page"] > .elementor-section:first-child > .elementor-container,
  [data-elementor-type="wp-post"] > .elementor-section:first-child > .elementor-container{ padding-top:12px !important; }
}

/* ===== Desktop: CTA nie zweizeilig (verhindert Umbruch im schmalen Bereich 1025-1080) ===== */
@media (min-width:1025px){
  .mymenu .terminbuchen{ flex-shrink:0 !important; }
  .mymenu .terminbuchen .elementor-button{ white-space:nowrap !important; }
}

/* 09.08.2026: zwei Bloecke fuer zwei nicht mehr vorhandene Hero-Elemente entfernt. */
/* ===== Trust-Leiste: weniger Abstand oben/unten (alle Breakpoints) ===== */
.elementor-element-3efe8b6{ margin-top:4px !important; margin-bottom:0 !important; }
.elementor-element-3efe8b6 .elementor-widget-container > div{ padding-top:4px !important; padding-bottom:4px !important; }

/* ===== Trust-Leiste: mehr horizontaler Abstand zwischen den Logos ===== */
.elementor-element-3efe8b6 .swiper-slide{ box-sizing:border-box !important; padding-left:22px !important; padding-right:22px !important; }
.elementor-element-3efe8b6 .swiper-slide img{ max-width:100% !important; height:auto !important; }

/* ===== Mobile: Trust-Leiste noch enger an Bild + Ueberschrift ===== */
@media (max-width:767px){
  .elementor-element-3efe8b6{ margin-top:0 !important; }
  .elementor-element-3efe8b6 .elementor-widget-container > div{ padding-top:0 !important; padding-bottom:0 !important; }
  .elementor-element-3efe8b6 .jkfo-swiper, .elementor-element-3efe8b6 .swiper-wrapper, .elementor-element-3efe8b6 .swiper-slide{ height:62px !important; }
  .elementor-element-0895f60{ margin-top:-10px !important; }
}
