/* =========================================================
   eko.css — ekosphere Design-Core v12.0.4
   Scope: main#content
   Header / Footer werden nicht gestaltet.
   Ziel:
   - stabile Content-Typografie
   - saubere Cards / Grids / CTAs / FAQ / TOC
   - reparierte .ek-note ohne zerhackte Links
   - ruhige, seriöse Linkdarstellung
   - robuste WhatsApp-CTA-Farbsteuerung
   ========================================================= */


/* =========================================================
   1) Design Tokens
   ========================================================= */

:root{
  --ek-primary:#00DCFF;
  --ek-primary-dark:#00C0E0;
  --ek-secondary:#004F4D;

  --ek-cta:#0E6E62;
  --ek-cta-hover:#0A5A51;

  --ek-whatsapp:#25D366;
  --ek-whatsapp-hover:#2F2F2F;

  --ek-btn-neutral:#555555;
  --ek-btn-neutral-hover:#000000;

  --ek-ink:#0F172A;
  --ek-text-muted:#4E4E4E;

  --ek-bg:#FFFFFF;
  --ek-card-bg:#FFFFFF;
  --ek-card-soft:#F3F4F6;
  --ek-border:#E5E7EB;

  --ek-link:var(--ek-secondary);
  --ek-link-hover:#000000;

  --ek-hero-max:1100px;
  --ek-hero-bg:none;

  --ek-font-size-body:20px;
  --ek-line-height-body:1.65;

  --ek-section-space-y:clamp(24px,3vw,32px);
  --ek-section-space-y-tight:clamp(16px,2vw,22px);
  --ek-content-pad:clamp(16px,2vw,24px);
  --ek-block-gap:clamp(18px,2vw,24px);

  --ek-header-offset:120px;
  --ek-admin-offset:0px;
  --ek-anchor-gap:12px;
  --ek-scroll-offset:calc(var(--ek-header-offset) + var(--ek-admin-offset) + var(--ek-anchor-gap));
}

body.admin-bar{
  --ek-admin-offset:32px;
}

@media (max-width:782px){
  body.admin-bar{
    --ek-admin-offset:46px;
  }
}

@media (max-width:767px){
  :root{
    --ek-header-offset:132px;
  }
}


/* =========================================================
   2) Global Scope / Base
   ========================================================= */

main#content,
main#content *,
main#content *::before,
main#content *::after{
  box-sizing:border-box;
}

main#content{
  margin-top:0 !important;
  padding-top:0 !important;
  background:transparent;
  color:var(--ek-ink);
  font-family:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:var(--ek-font-size-body) !important;
  line-height:var(--ek-line-height-body) !important;
  text-rendering:optimizeLegibility;
  text-align:justify;
  overflow-wrap:break-word;
  word-wrap:break-word;
}

main#content img,
main#content iframe{
  display:block;
  max-width:100%;
}

main#content img{
  height:auto;
}

main#content p,
main#content li,
main#content address,
main#content summary,
main#content .panel,
main#content .ek-note,
main#content .ek-sub,
main#content .ek-price,
main#content .ek-services-intro-text,
main#content .ek-leistungen__intro,
main#content .ek-leistungen__desc,
main#content .ek-leistungen__cta,
main#content .ek-toc-list,
main#content .ek-toc-list a,
main#content input,
main#content textarea,
main#content select,
main#content label{
  font-family:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color:var(--ek-ink);
  font-size:var(--ek-font-size-body) !important;
}

main#content p,
main#content li,
main#content address{
  text-align:justify;
  text-justify:inter-word;
}

main#content :lang(de) :where(p, li, address),
main#content :lang(en) :where(p, li, address){
  hyphens:auto;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  overflow-wrap:break-word;
  word-break:normal;
}

main#content :where(code, pre, a){
  overflow-wrap:anywhere;
}

main#content p{
  margin:0 0 1.2em;
}

main#content p:empty{
  display:none;
  margin:0 !important;
}

main#content address{
  margin:0;
  font-style:normal;
}

main#content ul:not(.ek-list):not(.ek-toc-list){
  margin:0 0 1.2em 1.5em;
  padding:0;
}

main#content ol{
  margin:0 0 1.2em 1.5em;
  padding:0;
  list-style:decimal;
}

main#content ul:not(.ek-list):not(.ek-toc-list) li,
main#content ol li{
  margin:0 0 .4em;
}

main#content .ek-section-gap,
main#content .ek-section-gap-tight,
main#content .ek-stack0,
main#content .ek-container,
main#content .ek-hero,
main#content .ek-hero-image,
main#content .ek-image-block,
main#content .ek-card,
main#content .ek-faq,
main#content .ek-nav-grid,
main#content .ek-grid,
main#content .ek-grid-cards,
main#content .ek-services-grid,
main#content .ek-mission-grid,
main#content .ek-doo-grid,
main#content .ek-two-col-block,
main#content .ek-leistungen{
  background:transparent;
}


/* =========================================================
   3) Headings / Anchor-Jumps
   ========================================================= */

main#content :where(h2[id], h3[id]){
  scroll-margin-top:var(--ek-scroll-offset);
}

main#content h1,
main#content h2,
main#content h3,
main#content h4,
main#content h5,
main#content h6{
  margin:0 0 .7em;
  color:var(--ek-ink);
  font-weight:700;
  line-height:1.3;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  text-wrap:balance;
}

main#content h1{
  font-size:clamp(1.5rem,1.1rem + 0.6vw,1.8rem);
}

main#content h2{
  font-size:clamp(1.8rem,1.3rem + 0.9vw,2.2rem);
}

main#content h3{
  font-size:clamp(1.5rem,1.1rem + 0.6vw,1.8rem);
}

main#content h4{
  font-size:1.25rem;
}

main#content h5{
  font-size:1.1rem;
}

main#content h6{
  font-size:.95rem;
}

main#content h1 br,
main#content h2 br,
main#content h3 br,
main#content h4 br,
main#content h5 br,
main#content h6 br{
  display:block;
}

main#content h1 .ek-heading-break,
main#content h2 .ek-heading-break,
main#content h3 .ek-heading-break,
main#content h4 .ek-heading-break,
main#content h5 .ek-heading-break,
main#content h6 .ek-heading-break{
  display:block;
}

main#content .elementor-widget-heading .elementor-heading-title,
main#content .ek-hero h1,
main#content .ek-card h3,
main#content .ek-leistungen__title{
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  text-wrap:balance;
}

main#content .ek-container h3{
  text-align:center;
}

main#content .ek-section-gap .ek-container > h3,
main#content .ek-section-gap-tight .ek-container > h3{
  margin:40px 0 18px !important;
}

main#content .ek-section-gap .ek-container > h2 + h3,
main#content .ek-section-gap-tight .ek-container > h2 + h3{
  margin-top:24px !important;
}

main#content .ek-section-gap .ek-container > h3 + .ek-services-grid,
main#content .ek-section-gap .ek-container > h3 + .ek-grid-cards,
main#content .ek-section-gap .ek-container > h3 + .ek-mission-grid,
main#content .ek-section-gap .ek-container > h3 + .ek-doo-grid,
main#content .ek-section-gap-tight .ek-container > h3 + .ek-services-grid,
main#content .ek-section-gap-tight .ek-container > h3 + .ek-grid-cards,
main#content .ek-section-gap-tight .ek-container > h3 + .ek-mission-grid,
main#content .ek-section-gap-tight .ek-container > h3 + .ek-doo-grid{
  margin-top:0 !important;
}


/* =========================================================
   4) Layout / Utilities
   ========================================================= */

main#content .ek-container{
  max-width:1100px;
  margin:0 auto;
  padding:0 8px;
  background:transparent;
}

main#content .ek-gap40{
  height:32px;
}

main#content .ek-section-gap{
  margin:0;
  padding-block:var(--ek-section-space-y);
}

main#content .ek-section-gap-tight{
  margin:0;
  padding-block:var(--ek-section-space-y-tight);
}

main#content .ek-stack0{
  margin:0;
  padding-block:0;
}

main#content .ek-section-gap > *:last-child,
main#content .ek-section-gap-tight > *:last-child,
main#content .ek-stack0 > *:last-child{
  margin-bottom:0;
}

main#content .ek-services-intro-text{
  margin:0 0 20px;
  padding:0;
  text-align:justify;
  font-size:var(--ek-font-size-body) !important;
}

main#content .ek-services-grid + .ek-services-intro-text{
  margin-top:24px;
}

main#content .ek-section-gap[aria-labelledby="ek-home-cta"] p,
main#content .ek-section-gap[aria-labelledby="ek-home-cta"] .ek-services-intro-text{
  font-size:var(--ek-font-size-body) !important;
  line-height:var(--ek-line-height-body) !important;
}


/* =========================================================
   5) Hero / Image / Zero-Gap
   ========================================================= */

main#content .ek-hero,
main#content .ek-hero-image,
main#content .ek-image-block{
  margin:0 !important;
  padding:0 !important;
}

main#content .ek-hero-image,
main#content .ek-image-block{
  line-height:0;
}

main#content .ek-hero-image img,
main#content .ek-image-block img{
  display:block;
  width:100%;
  height:auto;
  margin:0 !important;
}

main#content .ek-hero-image + .ek-hero,
main#content .ek-image-block + .ek-hero,
main#content .ek-hero + section[aria-labelledby="ek-toc-title"],
main#content .ek-hero + .ek-section-gap,
main#content section[aria-labelledby="ek-toc-title"],
main#content section[aria-labelledby="ek-toc-title"] .ek-container,
main#content .ek-faq--toc,
main#content .ek-faq--toc > details{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

main#content .ek-hero{
  position:relative;
  width:100%;
  color:#fff;
  overflow:hidden;
  background-image:var(--ek-hero-bg);
  background-size:cover;
  background-position:center;
  z-index:1;
}

main#content .ek-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.75);
  z-index:0;
}

main#content .ek-hero__inner{
  position:relative;
  max-width:1100px;
  margin:0 auto !important;
  padding:32px 40px !important;
  text-align:center;
  z-index:1;
}

main#content .ek-hero h1{
  margin:0 0 20px !important;
  font-size:clamp(2rem,1.5rem + 1.4vw,2.6rem);
  font-weight:700;
  line-height:1.25;
}

main#content .ek-hero p,
main#content .ek-hero li,
main#content .ek-hero .ek-services-intro-text{
  font-size:var(--ek-font-size-body) !important;
}

main#content .ek-hero p{
  margin:0;
  max-width:none;
  width:100%;
  line-height:var(--ek-line-height-body);
  text-align:justify;
}

main#content .ek-hero .ek-services-intro-text{
  margin:0 0 20px !important;
  text-align:justify;
}

main#content .ek-hero :where(h1,h2,h3,p,li,span,em,strong,small){
  color:#fff !important;
}

main#content .ek-hero .ek-list{
  width:100%;
  max-width:none;
  margin:0 !important;
}

main#content .ek-hero .ek-list,
main#content .ek-hero .ek-list li{
  text-align:justify;
}

main#content .ek-hero .ek-list li:last-child{
  margin-bottom:0 !important;
}

main#content .ek-blackbox{
  margin:0 !important;
  padding:32px !important;
  background:rgba(0,0,0,.75);
  color:#fff;
}

main#content .ek-blackbox :where(h1,h2,h3,h4,h5,h6,p,li,span,em,strong,small){
  color:#fff;
}

main#content .ek-blackbox p{
  margin:0 0 .6rem;
  color:#fff;
  line-height:var(--ek-line-height-body);
  text-align:justify;
}

main#content .ek-blackbox > *:last-child{
  margin-bottom:0;
}

main#content .ek-blackbox--services{
  background:transparent;
  color:#fff;
}

main#content .ek-blackbox--services h2{
  color:#fff;
}

main#content .ek-blackbox--services .ek-services-grid--dark .ek-card,
main#content .ek-blackbox--services .ek-services-grid--dark .ek-card :where(h1,h2,h3,h4,h5,h6,p,li,span,em,strong,small,a){
  color:#000 !important;
}

@media (max-width:767px){
  main#content .ek-hero,
  main#content .ek-hero-image,
  main#content .ek-image-block,
  main#content .ek-hero + .ek-section-gap,
  main#content .ek-hero + section[aria-labelledby="ek-toc-title"]{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  main#content .ek-hero{
    padding:0 !important;
  }

  main#content .ek-hero__inner{
    padding:24px 20px !important;
  }
}


/* =========================================================
   6) Cards / CTAs / Buttons
   ========================================================= */

main#content .ek-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0 !important;
  padding:1.4rem;
  background:var(--ek-card-bg);
  border:1px solid var(--ek-border);
  border-radius:0;
}

main#content .ek-card > *{
  min-width:0;
}

main#content .ek-card > *:last-child{
  margin-bottom:0;
}

main#content .ek-card.ek-card--form{
  padding:0 !important;
  overflow:hidden;
}

main#content .ek-card.ek-card--form > *,
main#content .ek-card.ek-card--form .wpcf7,
main#content .ek-card.ek-card--form form,
main#content .ek-card.ek-card--form .elementor-widget-container,
main#content .ek-card.ek-card--form .wpcf7-form,
main#content .ek-card.ek-card--form .wpcf7-form p,
main#content .ek-card.ek-card--form .wpcf7-form-control-wrap{
  margin:0 !important;
}

main#content .ek-services-grid .ek-card,
main#content .ek-nav-grid > .ek-card{
  padding:1.6rem;
  background:var(--ek-card-soft);
  border:1px solid var(--ek-primary);
}

main#content .ek-card h3,
main#content .ek-services-grid .ek-card h3,
main#content .ek-grid .ek-card h3,
main#content .ek-grid-cards .ek-card h3{
  text-align:center !important;
}

main#content .ek-sub,
main#content .ek-price{
  margin:0;
  font-size:var(--ek-font-size-body) !important;
}

main#content .ek-card .ek-sub{
  margin:.25rem 0 1rem !important;
  text-align:center !important;
}

main#content .ek-service-img{
  display:block;
  max-width:120px;
  width:100%;
  margin:0 auto 1rem;
}

main#content .ek-services-grid--companies .ek-service-img,
main#content .ek-mission-grid .ek-service-img,
main#content .ek-services-grid--why .ek-service-img,
main#content .ek-services-grid--innovation .ek-service-img{
  max-width:100%;
  width:100%;
  margin:0 0 1rem;
}

main#content .ek-card__cta{
  display:flex;
  align-items:stretch;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
  text-align:center;
}

main#content .ek-card > .ek-card__cta{
  margin-top:auto;
  padding-top:1.2rem;
}

main#content .ek-card__cta a,
main#content .ek-card__cta a:link,
main#content .ek-card__cta a:visited{
  display:inline-flex;
  flex:1 1 220px;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center;
  gap:10px;
  min-width:0;
  padding:.6em 1.4em;
  border:1px solid var(--ek-btn-neutral) !important;
  border-radius:2px !important;
  background:var(--ek-btn-neutral) !important;
  color:#fff !important;
  font-family:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:var(--ek-font-size-body) !important;
  font-weight:500;
  line-height:1.2;
  text-align:center;
  text-decoration:none !important;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

main#content .ek-card__cta a > img{
  display:inline-block !important;
  flex:0 0 auto;
  width:22px;
  height:22px;
  margin:0 !important;
  vertical-align:middle;
}

main#content .ek-card__cta a > span,
main#content .ek-card__cta a > strong,
main#content .ek-card__cta a > em,
main#content .ek-card__cta a > small,
main#content .ek-card__cta a .elementor-button-text{
  display:inline !important;
  color:#fff !important;
  line-height:1.2;
  text-decoration:none !important;
}

main#content .ek-btn,
main#content .ek-card__cta a,
main#content .ek-card__cta .elementor-button,
main#content .ek-text-block .elementor-button,
main#content .ek-hero .elementor-button,
main#content .ek-blackbox .elementor-button,
main#content button,
main#content input[type="submit"]{
  font-family:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:var(--ek-font-size-body) !important;
  font-weight:500;
  border-radius:2px !important;
}

main#content .ek-btn--whatsapp,
main#content .ek-btn--whatsapp:link,
main#content .ek-btn--whatsapp:visited,
main#content .ek-card__cta a.ek-btn--whatsapp,
main#content .ek-card__cta a.ek-btn--whatsapp:link,
main#content .ek-card__cta a.ek-btn--whatsapp:visited,
main#content .ek-card__cta a[href*="wa.me"],
main#content .ek-card__cta a[href*="api.whatsapp.com"],
main#content .ek-card__cta a[href*="whatsapp"]{
  background:var(--ek-whatsapp) !important;
  border-color:var(--ek-whatsapp) !important;
  color:#fff !important;
}

main#content .ek-btn--whatsapp:hover,
main#content .ek-btn--whatsapp:focus,
main#content .ek-btn--whatsapp:focus-visible,
main#content .ek-card__cta a.ek-btn--whatsapp:hover,
main#content .ek-card__cta a.ek-btn--whatsapp:focus,
main#content .ek-card__cta a.ek-btn--whatsapp:focus-visible,
main#content .ek-card__cta a[href*="wa.me"]:hover,
main#content .ek-card__cta a[href*="wa.me"]:focus,
main#content .ek-card__cta a[href*="wa.me"]:focus-visible,
main#content .ek-card__cta a[href*="api.whatsapp.com"]:hover,
main#content .ek-card__cta a[href*="api.whatsapp.com"]:focus,
main#content .ek-card__cta a[href*="api.whatsapp.com"]:focus-visible,
main#content .ek-card__cta a[href*="whatsapp"]:hover,
main#content .ek-card__cta a[href*="whatsapp"]:focus,
main#content .ek-card__cta a[href*="whatsapp"]:focus-visible{
  background:var(--ek-whatsapp-hover) !important;
  border-color:var(--ek-whatsapp-hover) !important;
  color:#fff !important;
  text-decoration:underline !important;
  text-decoration-color:#fff !important;
}

main#content .ek-btn--primary,
main#content .ek-btn--primary:link,
main#content .ek-btn--primary:visited,
main#content .ek-btn--solid,
main#content .ek-btn--solid:link,
main#content .ek-btn--solid:visited,
main#content .ek-card__cta a.ek-btn--solid,
main#content .ek-card__cta a.ek-btn--solid:link,
main#content .ek-card__cta a.ek-btn--solid:visited,
main#content .ek-card__cta a[href*="/kontakt"],
main#content .ek-card__cta a[href*="/kontakt"]:link,
main#content .ek-card__cta a[href*="/kontakt"]:visited,
main#content .ek-card__cta a[href*="kontakt"],
main#content .ek-card__cta a[href*="kontakt"]:link,
main#content .ek-card__cta a[href*="kontakt"]:visited{
  background:var(--ek-btn-neutral) !important;
  border-color:var(--ek-btn-neutral) !important;
  color:#fff !important;
}

main#content .ek-btn--primary:hover,
main#content .ek-btn--primary:focus,
main#content .ek-btn--primary:focus-visible,
main#content .ek-btn--solid:hover,
main#content .ek-btn--solid:focus,
main#content .ek-btn--solid:focus-visible,
main#content .ek-card__cta a.ek-btn--solid:hover,
main#content .ek-card__cta a.ek-btn--solid:focus,
main#content .ek-card__cta a.ek-btn--solid:focus-visible,
main#content .ek-card__cta a[href*="/kontakt"]:hover,
main#content .ek-card__cta a[href*="/kontakt"]:focus,
main#content .ek-card__cta a[href*="/kontakt"]:focus-visible,
main#content .ek-card__cta a[href*="kontakt"]:hover,
main#content .ek-card__cta a[href*="kontakt"]:focus,
main#content .ek-card__cta a[href*="kontakt"]:focus-visible{
  background:var(--ek-btn-neutral-hover) !important;
  border-color:var(--ek-btn-neutral-hover) !important;
  color:#fff !important;
  text-decoration:underline !important;
  text-decoration-color:#fff !important;
}

@media (max-width:640px){
  main#content .ek-card__cta a,
  main#content .ek-card__cta .ek-btn{
    flex:1 1 100%;
    width:100%;
    justify-content:center;
  }
}


/* =========================================================
   7) Price Blocks
   ========================================================= */

main#content .ek-card .ek-price{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  margin:.45rem 0 1.05rem !important;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
}

main#content .ek-card .ek-price strong{
  display:block;
  width:100%;
  margin:0;
  color:var(--ek-ink) !important;
  font-size:clamp(1.45rem,1.2rem + 0.55vw,1.8rem) !important;
  line-height:1.05 !important;
  font-weight:700 !important;
  letter-spacing:.01em;
  text-align:center !important;
}

main#content .ek-card .ek-price small{
  display:block;
  width:100%;
  max-width:26ch;
  margin:0 auto;
  color:var(--ek-text-muted) !important;
  font-size:calc(var(--ek-font-size-body) - 5px) !important;
  line-height:1.35 !important;
  text-align:center !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
}

@media (max-width:640px){
  main#content .ek-card .ek-price strong{
    font-size:clamp(1.3rem,1.15rem + 0.7vw,1.55rem) !important;
  }

  main#content .ek-card .ek-price small{
    max-width:100%;
  }
}


/* =========================================================
   8) Grids
   ========================================================= */

main#content .ek-grid.ek-grid--2,
main#content .ek-grid-cards,
main#content .ek-services-grid{
  display:grid;
  gap:24px;
  align-items:stretch;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

main#content .ek-grid > *,
main#content .ek-grid--2 > *,
main#content .ek-grid-cards > *,
main#content .ek-services-grid > *,
main#content .ek-nav-grid > *,
main#content .ek-mission-grid > *,
main#content .ek-doo-grid > *,
main#content .ek-two-col-block > *{
  min-width:0 !important;
}

main#content .ek-grid-cards--3,
main#content .ek-services-grid.ek-grid-cards--3{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

main#content .ek-grid-cards--4{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

@media (max-width:1024px){
  main#content .ek-grid-cards--3,
  main#content .ek-services-grid.ek-grid-cards--3{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:767px){
  main#content .ek-grid.ek-grid--2,
  main#content .ek-grid-cards,
  main#content .ek-services-grid,
  main#content .ek-grid-cards--3,
  main#content .ek-grid-cards--4,
  main#content .ek-services-grid.ek-grid-cards--3{
    grid-template-columns:1fr !important;
  }
}

@media (min-width:768px){
  main#content .ek-services-grid.ek-services-grid--companies{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:40px;
  }
}

@media (max-width:767px){
  main#content .ek-services-grid.ek-services-grid--companies{
    grid-template-columns:1fr !important;
    gap:24px;
  }
}


/* =========================================================
   9) Two-Column Blocks / Kontakt
   ========================================================= */

main#content .ek-two-col-block{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:clamp(18px,3vw,34px);
}

main#content .ek-two-col-block__content,
main#content .ek-two-col-block__text{
  flex:0 1 70%;
  min-width:0;
  padding:1.4rem;
}

main#content .ek-two-col-block__media,
main#content .ek-two-col-block__placeholder{
  flex:0 1 30%;
  min-width:0;
  padding:1.4rem;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

main#content .ek-two-col-block__media img{
  width:100%;
  height:auto;
}

main#content .ek-two-col-block--40-60 .ek-two-col-block__media,
main#content .ek-two-col-block--kontakt .ek-two-col-block__media,
main#content .ek-two-col-block--immobilien .ek-two-col-block__media{
  flex-basis:40%;
}

main#content .ek-two-col-block--40-60 .ek-two-col-block__content,
main#content .ek-two-col-block--kontakt .ek-two-col-block__content,
main#content .ek-two-col-block--immobilien .ek-two-col-block__content{
  flex-basis:60%;
}

main#content .ek-map-embed{
  width:100%;
}

main#content .ek-map-embed iframe{
  display:block;
  width:100%;
  border:0;
}

main#content .ek-two-col-block--kontakt{
  align-items:stretch;
}

main#content .ek-two-col-block--kontakt .ek-two-col-block__media{
  display:flex;
  align-items:stretch;
  justify-content:stretch;
  min-width:0;
  padding:0;
}

main#content .ek-two-col-block--kontakt .ek-two-col-block__content{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-width:0;
}

main#content .ek-two-col-block--kontakt .ek-map-embed{
  flex:1 1 auto;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  border-radius:0;
}

main#content .ek-two-col-block--kontakt .ek-map-embed iframe{
  width:100%;
  height:100%;
  border:0;
}

main#content .ek-two-col-block--kontakt address{
  margin:0 0 18px;
}

main#content .ek-two-col-block--kontakt .ek-contact-intro{
  margin-top:0;
}

main#content .ek-two-col-block--kontakt a,
main#content .ek-two-col-block--kontakt address,
main#content .ek-two-col-block--kontakt li,
main#content .ek-card__cta a,
main#content .ek-text-block a{
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media (max-width:900px){
  main#content .ek-two-col-block{
    flex-direction:column;
    gap:24px;
  }

  main#content .ek-two-col-block__content,
  main#content .ek-two-col-block__text,
  main#content .ek-two-col-block__media,
  main#content .ek-two-col-block__placeholder{
    flex:1 1 100%;
    max-width:100%;
    padding:1.2rem;
  }

  main#content .ek-two-col-block--kontakt .ek-two-col-block__media{
    padding:0;
  }

  main#content .ek-two-col-block--kontakt .ek-map-embed{
    min-height:320px;
  }
}


/* =========================================================
   10) Lists
   ========================================================= */

main#content .ek-list{
  margin:0 0 1.2em;
  padding:0;
  list-style:none;
}

main#content .ek-list li{
  position:relative;
  min-width:0;
  margin:0 0 .4em;
  padding-left:1.4em;
  font-size:var(--ek-font-size-body) !important;
  text-align:justify;
}

main#content .ek-list:not(.ek-list--negative) li::before{
  content:"";
  position:absolute;
  left:0;
  top:.38em;
  width:.72em;
  height:.38em;
  border-left:3px solid var(--ek-primary);
  border-bottom:3px solid var(--ek-primary);
  transform:rotate(-45deg);
  transform-origin:left center;
}

main#content .ek-list.ek-list--success li::before{
  border-left-color:var(--ek-cta) !important;
  border-bottom-color:var(--ek-cta) !important;
}

main#content .ek-list--negative{
  margin:0;
  padding-left:0;
}

main#content .ek-list--negative li{
  position:relative;
  padding-left:1.6em;
}

main#content .ek-list--negative li::before{
  content:"✕";
  position:absolute;
  left:0;
  top:.02em;
  color:#DC2626;
  font-weight:700;
  line-height:1;
}

main#content .ek-card .ek-list{
  margin-top:0;
}

main#content .ek-card .ek-list li{
  text-align:left;
  text-justify:auto;
}

main#content .ek-card .ek-note{
  text-align:left !important;
  text-justify:auto !important;
}


/* =========================================================
   11) Notes / Legal / Quellenhinweise
   ========================================================= */

main#content .ek-note{
  display:block !important;
  position:relative;
  min-width:0;
  margin:0 0 1.2em !important;
  padding:14px 16px 14px 44px !important;
  background:#F3F4F6 !important;
  border:1px solid var(--ek-primary) !important;
  border-left:4px solid var(--ek-primary) !important;
  border-radius:0 !important;
  color:var(--ek-ink) !important;
  font-size:calc(var(--ek-font-size-body) - 4px) !important;
  line-height:1.55 !important;
  text-align:left !important;
  text-justify:auto !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:auto;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
}

main#content .ek-note::before{
  content:"ℹ";
  position:absolute;
  left:16px;
  top:14px;
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--ek-secondary);
  font-weight:700;
  line-height:1;
}

main#content .ek-note,
main#content .ek-note p,
main#content .ek-note span,
main#content .ek-note strong,
main#content .ek-note em,
main#content .ek-note small{
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

main#content .ek-note > *:last-child{
  margin-bottom:0 !important;
}

main#content .ek-note.ek-note--hint{
  margin-bottom:0 !important;
}

main#content .ek-note.ek-note--sources{
  margin-top:28px !important;
  padding-top:12px !important;
  font-size:calc(var(--ek-font-size-body) - 2px) !important;
  line-height:1.45 !important;
}

main#content .ek-note.warn{
  margin-top:1.2em !important;
  font-size:calc(var(--ek-font-size-body) - 2px) !important;
  line-height:1.45 !important;
}

main#content .ek-note.warn ul,
main#content .ek-note.warn ol{
  text-align:left !important;
  list-style-position:outside;
}

@media (max-width:767px){
  main#content .ek-note{
    padding:12px 14px 12px 40px !important;
    font-size:calc(var(--ek-font-size-body) - 4px) !important;
    line-height:1.5 !important;
  }

  main#content .ek-note::before{
    left:14px;
    top:13px;
  }
}

@media (max-width:420px){
  main#content .ek-note{
    padding-left:38px !important;
  }
}


/* =========================================================
   12) Links / Inline-Links / Quellenlinks
   ========================================================= */

body:not(.wp-admin) main#content a[href]:not(.elementor-button):not(.ek-btn):not(.ek-leistungen__card):not(.ek-card__cta a):not(.ek-faq--toc .ek-toc-list a),
body:not(.wp-admin) main#content a[href]:not(.elementor-button):not(.ek-btn):not(.ek-leistungen__card):not(.ek-card__cta a):not(.ek-faq--toc .ek-toc-list a):visited{
  color:var(--ek-link) !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:600 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(0,79,77,.28) !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
}

body:not(.wp-admin) main#content a[href]:not(.elementor-button):not(.ek-btn):not(.ek-leistungen__card):not(.ek-card__cta a):not(.ek-faq--toc .ek-toc-list a):hover,
body:not(.wp-admin) main#content a[href]:not(.elementor-button):not(.ek-btn):not(.ek-leistungen__card):not(.ek-card__cta a):not(.ek-faq--toc .ek-toc-list a):focus,
body:not(.wp-admin) main#content a[href]:not(.elementor-button):not(.ek-btn):not(.ek-leistungen__card):not(.ek-card__cta a):not(.ek-faq--toc .ek-toc-list a):focus-visible{
  color:var(--ek-link-hover) !important;
  text-decoration:none !important;
  border-bottom-color:var(--ek-primary) !important;
}

body:not(.wp-admin) main#content .ek-note a,
body:not(.wp-admin) main#content .ek-note a:link,
body:not(.wp-admin) main#content .ek-note a:visited{
  display:inline !important;
  color:var(--ek-secondary) !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:700 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(0,79,77,.35) !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
}

body:not(.wp-admin) main#content .ek-note a:hover,
body:not(.wp-admin) main#content .ek-note a:focus,
body:not(.wp-admin) main#content .ek-note a:focus-visible{
  color:#000 !important;
  text-decoration:none !important;
  border-bottom-color:var(--ek-primary) !important;
}

main#content .ek-note a span,
main#content .ek-note a strong,
main#content .ek-note a em,
main#content .ek-note a small{
  color:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:inherit !important;
  text-decoration:none !important;
  border-bottom:none !important;
}

body:not(.wp-admin) main#content a[href^="mailto:"],
body:not(.wp-admin) main#content a[href^="tel:"],
body:not(.wp-admin) main#content a[href*="wa.me"],
body:not(.wp-admin) main#content a[href*="api.whatsapp.com"]{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

main#content .ek-blackbox a{
  color:var(--ek-primary) !important;
  font-size:var(--ek-font-size-body) !important;
  text-decoration:underline !important;
  border-bottom:none !important;
}

main#content .ek-blackbox a:hover,
main#content .ek-blackbox a:focus,
main#content .ek-blackbox a:focus-visible{
  color:#fff !important;
  text-decoration:underline !important;
}

main#content .ek-card__cta a,
main#content .ek-card__cta a:link,
main#content .ek-card__cta a:visited,
main#content .ek-card__cta a:hover,
main#content .ek-card__cta a:focus,
main#content .ek-card__cta a:focus-visible,
main#content .ek-btn,
main#content .ek-btn:link,
main#content .ek-btn:visited,
main#content .ek-btn:hover,
main#content .ek-btn:focus,
main#content .ek-btn:focus-visible,
main#content .elementor-button,
main#content .elementor-button:link,
main#content .elementor-button:visited,
main#content .elementor-button:hover,
main#content .elementor-button:focus,
main#content .elementor-button:focus-visible{
  border-bottom:none !important;
  text-decoration:none !important;
}

main#content a.ek-leistungen__card,
main#content a.ek-leistungen__card:link,
main#content a.ek-leistungen__card:visited,
main#content a.ek-leistungen__card:hover,
main#content a.ek-leistungen__card:focus,
main#content a.ek-leistungen__card:focus-visible,
main#content .ek-nav-grid > a.ek-card,
main#content .ek-nav-grid > a.ek-card:link,
main#content .ek-nav-grid > a.ek-card:visited,
main#content .ek-nav-grid > a.ek-card:hover,
main#content .ek-nav-grid > a.ek-card:focus,
main#content .ek-nav-grid > a.ek-card:focus-visible{
  color:inherit !important;
  text-decoration:none !important;
  border-bottom:none !important;
}


/* =========================================================
   13) Navigation Grids
   ========================================================= */

main#content .ek-nav-grid{
  display:grid !important;
  gap:24px;
  align-items:stretch;
  grid-template-columns:1fr;
  margin-bottom:var(--ek-block-gap);
}

@media (min-width:768px){
  main#content .ek-nav-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

main#content .ek-nav-grid > .ek-card{
  text-decoration:none;
  color:inherit;
}

main#content .ek-nav-grid > .ek-card:hover,
main#content .ek-nav-grid > .ek-card:focus{
  text-decoration:none;
}

main#content .ek-nav-grid > .ek-card:focus-visible{
  outline:2px solid var(--ek-primary);
  outline-offset:3px;
}

main#content .ek-nav-grid .ek-service-img{
  width:100%;
  max-width:100%;
  margin:0 0 1rem;
}

main#content .ek-nav-grid .ek-card p{
  text-align:justify;
  font-size:var(--ek-font-size-body) !important;
}


/* =========================================================
   14) FAQ / TOC
   ========================================================= */

main#content .ek-faq{
  counter-reset:ekstep;
}

main#content .ek-faq:not(.ek-faq--toc){
  max-width:1100px;
  margin-inline:auto;
  padding-inline:8px;
}

main#content .ek-faq > .ek-container > h2,
main#content #ek-faq-home-title{
  text-align:center !important;
}

main#content .ek-faq > .ek-container > .ek-services-intro-text{
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

main#content .ek-faq > .ek-container > details{
  min-width:0 !important;
  margin:0 0 1rem;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--ek-border);
  border-radius:0;
  transition:box-shadow .2s ease, transform .2s ease;
}

main#content .ek-faq > .ek-container > details:last-of-type{
  margin-bottom:0;
}

main#content .ek-faq > .ek-container > details > summary{
  position:relative;
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.75rem 1rem;
  background:linear-gradient(#FAFAFA,#F7F7F7);
  cursor:pointer;
  list-style:none;
  text-align:left;
  font-size:var(--ek-font-size-body) !important;
}

main#content .ek-faq > .ek-container > details > summary::-webkit-details-marker{
  display:none;
}

main#content .ek-faq > .ek-container > details > summary:hover{
  background:#F3F4F6;
}

main#content .ek-faq > .ek-container > details > summary:focus-visible{
  outline:2px solid var(--ek-primary);
  outline-offset:2px;
}

main#content .ek-faq > .ek-container > details > summary::before{
  counter-increment:ekstep;
  content:counter(ekstep);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 1.9rem;
  width:1.9rem;
  height:1.9rem;
  color:var(--ek-primary);
  background:#fff;
  border:2px solid var(--ek-primary);
  border-radius:0;
  font-size:.9rem;
  font-weight:700;
}

main#content .ek-faq > .ek-container > details > summary::after{
  content:"▾";
  margin-left:auto;
  opacity:.7;
  transition:transform .2s ease;
}

main#content .ek-faq > .ek-container > details[open] > summary::after{
  transform:rotate(180deg);
}

main#content .ek-faq > .ek-container > details > summary span{
  font-size:var(--ek-font-size-body) !important;
  font-weight:600;
  line-height:1.25;
  text-align:left;
}

main#content .ek-faq > .ek-container > details > .panel{
  display:none;
  padding:12px 16px 14px;
  background:#fff;
  border-top:1px solid var(--ek-border);
  text-align:justify;
  font-size:var(--ek-font-size-body) !important;
}

main#content .ek-faq > .ek-container > details > .panel,
main#content .ek-faq > .ek-container > details > .panel p,
main#content .ek-faq > .ek-container > details > .panel li,
main#content .ek-faq > .ek-container > details > .panel ul,
main#content .ek-faq > .ek-container > details > .panel ol{
  text-align:justify !important;
  font-size:var(--ek-font-size-body) !important;
}

main#content .ek-faq > .ek-container > details[open] > .panel{
  display:block !important;
  animation:ek-faq-reveal .18s ease;
}

@keyframes ek-faq-reveal{
  from{
    opacity:0;
    transform:translateY(-2px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

main#content .ek-faq > .ek-container > details[open]{
  box-shadow:0 6px 16px rgba(15,23,42,.12);
  transform:translateY(-1px);
}

main#content .ek-faq .panel > *:last-child{
  margin-bottom:0;
}

main#content .ek-faq details .panel{
  margin-top:0;
}

main#content .ek-faq details .panel > p + .ek-list{
  margin-top:10px;
}

main#content .ek-faq > .ek-container > :where(p, .ek-services-intro-text) + details{
  margin-top:1rem;
}


/* =========================================================
   15) TOC Spezial
   ========================================================= */

main#content section.ek-section-gap[aria-labelledby="ek-toc-title"]{
  position:relative;
  z-index:40;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  background:transparent;
}

main#content section.ek-section-gap[aria-labelledby="ek-toc-title"] > *{
  margin-bottom:0 !important;
}

main#content section.ek-section-gap[aria-labelledby="ek-toc-title"] .ek-container{
  padding-left:0 !important;
  padding-right:0 !important;
}

main#content .ek-faq--toc{
  counter-reset:none;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  z-index:40;
  margin:0 !important;
}

main#content .ek-faq--toc > details{
  margin:0 !important;
  background:#F9FAFB !important;
  border:1px solid #a8dce6 !important;
  border-radius:0;
}

main#content .ek-faq--toc > details > summary{
  justify-content:center;
  padding:.75rem 1rem !important;
  background:var(--ek-primary) !important;
  color:#000 !important;
  text-align:center !important;
}

main#content .ek-faq--toc > details > summary:hover,
main#content .ek-faq--toc > details > summary:focus,
main#content .ek-faq--toc > details > summary:focus-visible{
  background:var(--ek-primary-dark) !important;
  color:#000 !important;
}

main#content .ek-faq--toc > details > summary::before{
  counter-increment:none;
  content:"≡";
  color:#000 !important;
  background:#fff !important;
  border:2px solid #000 !important;
}

main#content .ek-faq--toc > details > summary::after{
  color:#000 !important;
}

main#content .ek-faq--toc > details > summary span{
  color:#000 !important;
  font-size:var(--ek-font-size-body) !important;
  font-weight:600 !important;
  line-height:1.25;
  text-align:center !important;
}

main#content .ek-faq--toc > details > .panel{
  padding:0 16px 14px !important;
  background:#F9FAFB !important;
  border-top:1px solid #a8dce6 !important;
  text-align:left !important;
}

main#content .ek-faq--toc .ek-toc-list{
  margin:12px 0 !important;
  padding:0 0 0 2rem !important;
  list-style:decimal !important;
  list-style-position:outside !important;
  font-size:var(--ek-font-size-body) !important;
  text-align:left !important;
}

main#content .ek-faq--toc .ek-toc-list li{
  display:list-item !important;
  margin:0 0 .35rem !important;
  padding-left:0 !important;
  color:var(--ek-ink) !important;
  list-style:decimal !important;
  text-align:left !important;
  font-size:var(--ek-font-size-body) !important;
}

main#content .ek-faq--toc .ek-toc-list li::before{
  content:none !important;
}

main#content .ek-faq--toc .ek-toc-item--h3{
  margin-left:1rem !important;
  opacity:.95;
}

body:not(.wp-admin) main#content .ek-faq--toc .ek-toc-list a,
body:not(.wp-admin) main#content .ek-faq--toc .ek-toc-list a:link,
body:not(.wp-admin) main#content .ek-faq--toc .ek-toc-list a:visited{
  color:var(--ek-ink) !important;
  font-size:var(--ek-font-size-body) !important;
  font-weight:400 !important;
  text-align:left !important;
  text-decoration:none !important;
  border-bottom:none !important;
}

body:not(.wp-admin) main#content .ek-faq--toc .ek-toc-list a:hover,
body:not(.wp-admin) main#content .ek-faq--toc .ek-toc-list a:focus,
body:not(.wp-admin) main#content .ek-faq--toc .ek-toc-list a:focus-visible{
  color:var(--ek-secondary) !important;
  text-decoration:underline !important;
  border-bottom:none !important;
}

@media (max-width:767px){
  main#content .ek-faq--toc .ek-toc-list{
    padding-left:1.8rem !important;
    margin-left:12px !important;
    list-style:decimal !important;
    list-style-position:outside !important;
  }

  main#content .ek-faq--toc .ek-toc-list li{
    display:list-item !important;
    margin-left:0 !important;
    padding-left:0 !important;
    list-style:decimal !important;
  }

  main#content .ek-faq--toc .ek-toc-item--h3{
    margin-left:.75rem !important;
  }

  main#content .ek-faq:not(.ek-faq--toc),
  main#content .ek-container,
  main#content .ek-nav-grid,
  main#content .ek-grid,
  main#content .ek-doo-grid,
  main#content .ek-mission-grid,
  main#content .ek-grid-cards,
  main#content .ek-services-grid{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  main#content .ek-faq > .ek-container > .ek-services-intro-text{
    max-width:none;
  }

  main#content .ek-faq > .ek-container > details > .panel{
    padding:12px 14px 14px;
  }

  main#content section[aria-labelledby="ek-toc-title"] .ek-container{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  main#content .ek-faq--toc > details > summary,
  main#content .ek-faq--toc > details > .panel{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}


/* =========================================================
   16) Leistungen Hub
   ========================================================= */

main#content .ek-leistungen{
  padding:clamp(28px,4vw,64px) 0;
  background:#fff;
  color:var(--ek-ink);
}

main#content .ek-leistungen .ek-container{
  max-width:1100px;
  padding:0 16px;
}

main#content .ek-leistungen__intro{
  max-width:920px;
  margin:0 auto 22px;
  font-size:var(--ek-font-size-body) !important;
  line-height:1.55;
  opacity:.92;
  text-align:justify;
}

main#content .ek-leistungen__grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
}

main#content .ek-leistungen__card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  color:inherit;
  background:#F3F4F6;
  border:1px solid var(--ek-primary);
  border-radius:0;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

main#content .ek-leistungen__card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 50px rgba(2,6,23,.10);
  border-color:var(--ek-primary-dark);
}

main#content .ek-leistungen__card:focus-visible{
  outline:2px solid var(--ek-primary);
  outline-offset:3px;
}

main#content .ek-leistungen__media{
  aspect-ratio:16 / 9;
  background:
    linear-gradient(135deg, rgba(0,220,255,.22), rgba(0,79,77,.12)),
    radial-gradient(1200px 240px at 20% 20%, rgba(0,220,255,.35), transparent 60%),
    radial-gradient(900px 220px at 80% 40%, rgba(0,79,77,.20), transparent 55%);
  border-bottom:1px solid rgba(0,220,255,.25);
}

main#content .ek-leistungen__body{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px 16px 18px;
}

main#content .ek-leistungen__title{
  margin:0;
  font-size:18px;
  line-height:1.25;
  text-align:left;
}

main#content .ek-leistungen__desc{
  margin:0;
  font-size:var(--ek-font-size-body) !important;
  line-height:1.55;
  opacity:.9;
  text-align:justify;
}

main#content .ek-leistungen__cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  color:var(--ek-secondary);
  font-size:var(--ek-font-size-body) !important;
  font-weight:600;
}

main#content .ek-leistungen__cta span{
  border-bottom:1px solid rgba(0,79,77,.25);
}

@media (max-width:1100px){
  main#content .ek-leistungen__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  main#content .ek-leistungen__grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   17) Mission / Team
   ========================================================= */

main#content .ek-mission-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:40px;
  align-items:stretch;
}

main#content #ek-why-ekosphere{
  margin-top:40px;
}

main#content #ek-team-ulcinj,
main#content #ek-team-workpermit{
  margin-top:24px;
}

main#content .ek-team-intro--single{
  margin:0 0 32px;
}

main#content .ek-team-intro--single p{
  margin:0;
  text-align:justify;
  font-size:var(--ek-font-size-body) !important;
}

main#content .ek-team-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  align-items:stretch;
}

main#content .ek-team-card{
  position:relative;
  width:100%;
  min-width:0 !important;
  aspect-ratio:3 / 4;
  overflow:hidden;
  background:#000;
  box-shadow:0 12px 30px rgba(15,23,42,.25);
}

main#content .ek-team-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}

main#content .ek-team-card__overlay{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:14px 16px 12px;
  background:linear-gradient(to top, rgba(0,0,0,.9), rgba(0,0,0,0));
  color:#fff !important;
  text-align:left;
}

main#content .ek-team-card__accent{
  position:absolute;
  left:0;
  bottom:0;
  width:4px;
  height:40px;
  background:var(--ek-primary);
}

main#content .ek-team-card__name{
  margin:0 0 4px;
  color:#fff !important;
  font-size:20px !important;
  font-weight:700;
}

main#content .ek-team-card__role{
  margin:0;
  color:#fff !important;
  font-size:calc(var(--ek-font-size-body) - 8px) !important;
  line-height:1.25;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:1;
  overflow-wrap:anywhere;
  word-break:normal;
}

@media (max-width:900px){
  main#content .ek-mission-grid{
    grid-template-columns:1fr;
  }
}

@media (min-width:768px) and (max-width:1199px){
  main#content .ek-team-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
  }
}

@media (max-width:767px){
  main#content .ek-team-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  main#content .ek-team-card__overlay{
    padding:10px 12px 10px;
  }
}


/* =========================================================
   18) DOO Grid
   ========================================================= */

main#content .ek-doo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  margin:0 8px 24px;
}

@media (max-width:1100px){
  main#content .ek-doo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  main#content .ek-doo-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   19) Prozess-Blöcke
   ========================================================= */

main#content .ek-process{
  font-size:var(--ek-font-size-body) !important;
  line-height:var(--ek-line-height-body) !important;
}

main#content .ek-process p,
main#content .ek-process li,
main#content .ek-process span,
main#content .ek-process strong{
  font-size:var(--ek-font-size-body) !important;
  line-height:var(--ek-line-height-body) !important;
}

main#content .ek-process p{
  text-align:justify !important;
  text-justify:inter-word !important;
}

main#content .ek-process h3{
  margin:0 0 .7em;
  text-align:center !important;
}


/* =========================================================
   20) Google Reviews
   ========================================================= */

main#content .ek-review-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}

main#content .ek-review-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:22px;
  background:#fff;
  border:1px solid var(--ek-primary);
}

main#content .ek-review-card h3{
  margin:0 0 10px;
  font-size:clamp(1.05rem,1.2vw,1.2rem);
  line-height:1.3;
  text-align:center !important;
}

main#content .ek-review-card .ek-sub{
  margin:0 0 14px;
  font-size:calc(var(--ek-font-size-body) - 3px) !important;
  text-align:center !important;
}

main#content .ek-review-rating{
  margin:0 0 14px;
  text-align:center !important;
}

main#content .ek-review-stars{
  display:inline-block;
  letter-spacing:.08em;
  font-size:1rem;
  line-height:1;
}

main#content .ek-review-card .ek-review-excerpt{
  margin:0 0 18px;
  text-align:justify;
  font-size:calc(var(--ek-font-size-body) - 1px) !important;
  line-height:1.6;
}

main#content .ek-review-card details.ek-review-more{
  margin-top:auto;
}

main#content .ek-review-card details.ek-review-more > summary{
  display:block;
  color:var(--ek-link) !important;
  cursor:pointer;
  list-style:none;
  text-align:center !important;
  font-size:calc(var(--ek-font-size-body) - 2px) !important;
  font-weight:600;
  text-decoration:none !important;
}

main#content .ek-review-card details.ek-review-more > summary::-webkit-details-marker{
  display:none;
}

main#content .ek-review-card details.ek-review-more > summary:hover,
main#content .ek-review-card details.ek-review-more > summary:focus,
main#content .ek-review-card details.ek-review-more > summary:focus-visible{
  color:var(--ek-link-hover) !important;
  text-decoration:underline !important;
}

main#content .ek-review-card details.ek-review-more > summary::after{
  content:"";
}

main#content .ek-review-card details.ek-review-more > .panel{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--ek-border);
}

main#content .ek-review-card details.ek-review-more > .panel p{
  margin:0;
  text-align:justify;
  font-size:calc(var(--ek-font-size-body) - 1px) !important;
  line-height:1.6;
}

main#content .ek-review-links{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
  margin-top:auto;
}

body:not(.wp-admin) main#content .ek-review-links a,
body:not(.wp-admin) main#content .ek-review-links a:visited{
  color:var(--ek-link) !important;
  text-decoration:none !important;
  font-size:calc(var(--ek-font-size-body) - 2px) !important;
  font-weight:600;
}

body:not(.wp-admin) main#content .ek-review-links a:hover,
body:not(.wp-admin) main#content .ek-review-links a:focus,
body:not(.wp-admin) main#content .ek-review-links a:focus-visible{
  color:var(--ek-link-hover) !important;
  text-decoration:underline !important;
}

main#content .ek-review-card--maps{
  justify-content:center;
  text-align:center;
}

main#content .ek-review-card--maps p{
  margin:0 0 16px;
  text-align:center !important;
}

main#content .ek-review-card--maps .ek-review-links{
  align-items:center;
}

main#content .ek-review-card--maps .ek-review-logo{
  margin:0 0 16px;
  text-align:center !important;
}

main#content .ek-review-card--maps .ek-review-logo img{
  display:block;
  max-width:180px;
  width:100%;
  height:auto;
  margin:0 auto;
}

main#content .ek-review-details{
  margin-top:24px;
}

main#content .ek-review-details > details{
  margin:0 0 1rem;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--ek-border);
}

main#content .ek-review-details > details:last-child{
  margin-bottom:0;
}

main#content .ek-review-details > details > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:.85rem 1rem;
  background:#F9FAFB;
  cursor:pointer;
  list-style:none;
  font-size:var(--ek-font-size-body) !important;
  font-weight:600;
  text-align:left !important;
}

main#content .ek-review-details > details > summary::-webkit-details-marker{
  display:none;
}

main#content .ek-review-details > details > summary::after{
  content:"▾";
  opacity:.75;
  transition:transform .2s ease;
}

main#content .ek-review-details > details[open] > summary::after{
  transform:rotate(180deg);
}

main#content .ek-review-details > details > .panel{
  padding:14px 16px 16px;
  background:#fff;
  border-top:1px solid var(--ek-border);
}

main#content .ek-review-details > details > .panel p{
  margin:0 0 14px;
  text-align:justify;
}

main#content .ek-review-details > details > .panel p:last-child{
  margin-bottom:0;
}

main#content .ek-review-details .ek-review-source{
  margin-top:10px;
}

@media (max-width:1024px){
  main#content .ek-review-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  main#content .ek-review-row{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   21) Kontaktblock / Adressblock
   ========================================================= */

main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-two-col-block__content address,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-two-col-block__content address *{
  font-style:normal !important;
  font-size:var(--ek-font-size-body) !important;
  line-height:var(--ek-line-height-body) !important;
}

main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-two-col-block__content address{
  margin:0 0 18px;
  text-align:left !important;
  text-justify:auto !important;
}

main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-two-col-block__content address strong{
  font-weight:700 !important;
}

main#content #ek-kontakt-daten + .ek-two-col-block a,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-two-col-block__content a,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-list a,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href^="tel:"],
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href^="mailto:"],
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href*="wa.me"]{
  color:var(--ek-link) !important;
  font-size:var(--ek-font-size-body) !important;
  text-decoration:none !important;
}

main#content #ek-kontakt-daten + .ek-two-col-block a:hover,
main#content #ek-kontakt-daten + .ek-two-col-block a:focus,
main#content #ek-kontakt-daten + .ek-two-col-block a:focus-visible,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-two-col-block__content a:hover,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-two-col-block__content a:focus,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-two-col-block__content a:focus-visible,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-list a:hover,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-list a:focus,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] .ek-list a:focus-visible,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href^="tel:"]:hover,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href^="tel:"]:focus,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href^="tel:"]:focus-visible,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href^="mailto:"]:hover,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href^="mailto:"]:focus,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href^="mailto:"]:focus-visible,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href*="wa.me"]:hover,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href*="wa.me"]:focus,
main#content .ek-section-gap[aria-labelledby="ek-kontakt-daten"] a[href*="wa.me"]:focus-visible{
  color:var(--ek-link-hover) !important;
  text-decoration:none !important;
  border-bottom-color:var(--ek-primary) !important;
}

main#content .ek-text-block--cta-gap{
  margin-top:12px;
}


/* =========================================================
   22) Leistungen / Kontakt / Review Spezial-Fixes
   ========================================================= */

main#content #ek-zuordnung-kontakt .ek-card__cta--cluster{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

main#content #ek-zuordnung-kontakt .ek-btn--whatsapp{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

main#content #ek-zuordnung-kontakt .ek-btn--whatsapp img{
  flex:0 0 auto;
}

main#content #ek-zuordnung-kontakt .ek-card--kontaktstack{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(320px,420px);
  grid-template-areas:
    "title title"
    "map text"
    "map text"
    "map text";
  column-gap:24px;
  row-gap:16px;
  align-items:start;
}

main#content #ek-zuordnung-kontakt .ek-card--kontaktstack > h3{
  grid-area:title;
  margin-bottom:0;
}

main#content #ek-zuordnung-kontakt .ek-card--kontaktstack > .ek-map-embed{
  grid-area:map;
  width:100%;
  height:100%;
  min-height:0 !important;
  align-self:stretch;
  margin:0;
  overflow:hidden;
  border-radius:0;
}

main#content #ek-zuordnung-kontakt .ek-card--kontaktstack > .ek-map-embed iframe{
  width:100%;
  height:100%;
  min-height:0 !important;
  aspect-ratio:auto;
}

main#content #ek-zuordnung-kontakt .ek-card--kontaktstack > p{
  grid-area:text;
  margin:0;
}

main#content #ek-zuordnung-kontakt .ek-card--kontaktstack > ul{
  grid-area:text;
  align-self:end;
  margin:0;
}

@media (max-width:900px){
  main#content #ek-zuordnung-kontakt .ek-card--kontaktstack{
    grid-template-columns:1fr;
    grid-template-areas:
      "title"
      "map"
      "text";
  }

  main#content #ek-zuordnung-kontakt .ek-card--kontaktstack > .ek-map-embed{
    min-height:320px !important;
  }

  main#content #ek-zuordnung-kontakt .ek-card--kontaktstack > ul{
    align-self:auto;
  }
}

main#content #ek-reviews-title + .ek-services-intro-text + .ek-grid-cards,
main#content #ek-reviews-title ~ .ek-grid-cards.ek-grid-cards--3{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}

main#content #ek-reviews-title ~ .ek-grid-cards.ek-grid-cards--3 > .ek-card{
  height:100%;
}

main#content #ek-reviews-title ~ .ek-grid-cards.ek-grid-cards--3 > .ek-card p:first-child strong{
  display:inline-block;
  margin-bottom:.2rem;
}

@media (max-width:1024px){
  main#content #ek-reviews-title + .ek-services-intro-text + .ek-grid-cards,
  main#content #ek-reviews-title ~ .ek-grid-cards.ek-grid-cards--3{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:767px){
  main#content #ek-reviews-title + .ek-services-intro-text + .ek-grid-cards,
  main#content #ek-reviews-title ~ .ek-grid-cards.ek-grid-cards--3{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   23) Elementor / Containers
   ========================================================= */

main#content .elementor-widget-html .elementor-widget-container{
  background:transparent !important;
  padding:0 !important;
}

main#content .elementor-widget-heading h1.elementor-heading-title{
  font-size:clamp(1.5rem,1.1rem + 0.6vw,1.8rem) !important;
}

main#content .elementor-widget-heading h2.elementor-heading-title{
  font-size:clamp(1.8rem,1.3rem + 0.9vw,2.2rem) !important;
  text-align:center !important;
}

main#content .elementor-widget-heading h3.elementor-heading-title{
  font-size:clamp(1.5rem,1.1rem + 0.6vw,1.8rem) !important;
}

main#content .elementor-widget-heading h4.elementor-heading-title{
  font-size:1.25rem !important;
}

main#content .elementor-widget-heading h5.elementor-heading-title{
  font-size:1.1rem !important;
}

main#content .elementor-widget-heading h6.elementor-heading-title{
  font-size:.95rem !important;
}

@media (min-width:900px){
  main#content .ek-card{
    height:100%;
  }
}


/* =========================================================
   24) Globaler Textumbruch / Shrink-Fix
   ========================================================= */

main#content .ek-card,
main#content .ek-card > *,
main#content .ek-services-grid > *,
main#content .ek-grid > *,
main#content .ek-grid-cards > *,
main#content .ek-nav-grid > *,
main#content .ek-mission-grid > *,
main#content .ek-doo-grid > *,
main#content .ek-two-col-block > *,
main#content .ek-two-col-block__content,
main#content .ek-two-col-block__text,
main#content .ek-two-col-block__media,
main#content .ek-two-col-block__placeholder,
main#content .ek-leistungen__card,
main#content .ek-team-card,
main#content .ek-faq > .ek-container > details{
  min-width:0 !important;
}

main#content p,
main#content li,
main#content address,
main#content span,
main#content strong,
main#content em,
main#content small,
main#content .panel,
main#content .ek-services-intro-text,
main#content .ek-leistungen__desc{
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
}

main#content .elementor-button,
main#content .elementor-button-text,
main#content .ek-btn,
main#content .ek-card__cta a,
main#content .ek-card__cta a span,
main#content .ek-card__cta a strong,
main#content .ek-card__cta a em,
main#content .ek-card__cta a small{
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  line-height:1.2;
  text-align:center;
}


/* =========================================================
   25) Mobile Global
   ========================================================= */

@media (max-width:767px){
  main#content{
    font-size:var(--ek-font-size-body) !important;
    line-height:var(--ek-line-height-body) !important;
  }
}


/* =========================================================
   26) CTA Final Override v12.0.5
   Zweck:
   - WhatsApp-Buttons normal sattes WhatsApp-Grün.
   - WhatsApp-Buttons auf Hover exakt Anthrazit.
   - Kontaktformular-Buttons normal Grau / Anthrazit.
   - Kontaktformular-Buttons auf Hover exakt Schwarz.
   - Höhere Spezifität gegen Elementor / Theme / ältere CTA-Regeln.
   ========================================================= */

:root{
  --ek-whatsapp:#128C7E;
  --ek-whatsapp-hover:#2F2F2F;
  --ek-btn-neutral:#555555;
  --ek-btn-neutral-hover:#000000;
}

/* WhatsApp normal */
body:not(.wp-admin) main#content .ek-card__cta > a[href^="https://wa.me/"],
body:not(.wp-admin) main#content .ek-card__cta > a[href*="wa.me/"],
body:not(.wp-admin) main#content .ek-card__cta > a[href*="api.whatsapp.com"],
body:not(.wp-admin) main#content .ek-card__cta > a[href*="whatsapp"],
body:not(.wp-admin) main#content .ek-card__cta > a.ek-btn--whatsapp,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href^="https://wa.me/"],
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="wa.me/"],
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="api.whatsapp.com"],
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="whatsapp"],
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a.ek-btn--whatsapp{
  background-color:#128C7E !important;
  background:#128C7E !important;
  border-color:#128C7E !important;
  color:#fff !important;
}

/* WhatsApp hover / focus */
body:not(.wp-admin) main#content .ek-card__cta > a[href^="https://wa.me/"]:hover,
body:not(.wp-admin) main#content .ek-card__cta > a[href^="https://wa.me/"]:focus,
body:not(.wp-admin) main#content .ek-card__cta > a[href^="https://wa.me/"]:focus-visible,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="wa.me/"]:hover,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="wa.me/"]:focus,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="wa.me/"]:focus-visible,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="api.whatsapp.com"]:hover,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="api.whatsapp.com"]:focus,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="api.whatsapp.com"]:focus-visible,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="whatsapp"]:hover,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="whatsapp"]:focus,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="whatsapp"]:focus-visible,
body:not(.wp-admin) main#content .ek-card__cta > a.ek-btn--whatsapp:hover,
body:not(.wp-admin) main#content .ek-card__cta > a.ek-btn--whatsapp:focus,
body:not(.wp-admin) main#content .ek-card__cta > a.ek-btn--whatsapp:focus-visible,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href^="https://wa.me/"]:hover,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href^="https://wa.me/"]:focus,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href^="https://wa.me/"]:focus-visible,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="wa.me/"]:hover,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="wa.me/"]:focus,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="wa.me/"]:focus-visible,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="api.whatsapp.com"]:hover,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="api.whatsapp.com"]:focus,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="api.whatsapp.com"]:focus-visible,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="whatsapp"]:hover,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="whatsapp"]:focus,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a[href*="whatsapp"]:focus-visible,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a.ek-btn--whatsapp:hover,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a.ek-btn--whatsapp:focus,
body:not(.wp-admin) main#content .ek-services-grid .ek-card__cta > a.ek-btn--whatsapp:focus-visible{
  background-color:#2F2F2F !important;
  background:#2F2F2F !important;
  border-color:#2F2F2F !important;
  color:#fff !important;
  text-decoration:none !important;
}

/* Kontaktbutton normal */
body:not(.wp-admin) main#content .ek-card__cta > a[href*="/kontakt"],
body:not(.wp-admin) main#content .ek-card__cta > a[href*="kontakt"],
body:not(.wp-admin) main#content .ek-card__cta > a.ek-btn--solid{
  background-color:#555555 !important;
  background:#555555 !important;
  border-color:#555555 !important;
  color:#fff !important;
}

/* Kontaktbutton hover / focus */
body:not(.wp-admin) main#content .ek-card__cta > a[href*="/kontakt"]:hover,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="/kontakt"]:focus,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="/kontakt"]:focus-visible,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="kontakt"]:hover,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="kontakt"]:focus,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="kontakt"]:focus-visible,
body:not(.wp-admin) main#content .ek-card__cta > a.ek-btn--solid:hover,
body:not(.wp-admin) main#content .ek-card__cta > a.ek-btn--solid:focus,
body:not(.wp-admin) main#content .ek-card__cta > a.ek-btn--solid:focus-visible{
  background-color:#000000 !important;
  background:#000000 !important;
  border-color:#000000 !important;
  color:#fff !important;
  text-decoration:none !important;
}

/* Button-Inhalte */
body:not(.wp-admin) main#content .ek-card__cta > a *,
body:not(.wp-admin) main#content .ek-card__cta > a:hover *,
body:not(.wp-admin) main#content .ek-card__cta > a:focus *,
body:not(.wp-admin) main#content .ek-card__cta > a:focus-visible *{
  color:#fff !important;
}

/* WhatsApp-Icon */
body:not(.wp-admin) main#content .ek-card__cta > a[href^="https://wa.me/"] img,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="wa.me/"] img,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="api.whatsapp.com"] img,
body:not(.wp-admin) main#content .ek-card__cta > a[href*="whatsapp"] img,
body:not(.wp-admin) main#content .ek-card__cta > a.ek-btn--whatsapp img{
  display:inline-block !important;
  flex:0 0 auto !important;
  width:22px !important;
  height:22px !important;
  margin:0 !important;
  vertical-align:middle !important;
}

/* =========================================================
   27) Concept Package Grid Fix v12.0.6
   Zweck:
   - .ek-grid--3 grundsätzlich als 3-Spalten-Grid aktivieren
   - Paketkarten Standard / Rental / Luxury sauber nebeneinander
   - keine Veränderung an Header, Footer, Hero, FAQ, Reviews oder CTAs
   - responsive Rückstufung: Desktop 3 Spalten, Tablet 2, Mobile 1
   ========================================================= */

/* Allgemeine 3-Spalten-Grid-Regel für ekosphere-Content */
main#content .ek-grid.ek-grid--3{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}

/* Kinder im Grid dürfen nicht überlaufen */
main#content .ek-grid.ek-grid--3 > *{
  min-width:0 !important;
}

/* Speziell für Einrichtungspakete */
main#content .ek-package-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
  width:100%;
}

/* Paketkarten stabilisieren */
main#content .ek-package-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-width:0 !important;
  padding:1.35rem !important;
  background:var(--ek-card-bg) !important;
  border:1px solid var(--ek-border) !important;
  border-radius:0 !important;
}

/* Paketkarten-Inhalte sauber ausrichten */
main#content .ek-package-card h3{
  margin:0 0 .7em !important;
  text-align:center !important;
}

main#content .ek-package-card p{
  margin:0 0 1rem !important;
  text-align:justify !important;
}

main#content .ek-package-card .ek-list{
  margin-top:auto !important;
  margin-bottom:0 !important;
}

main#content .ek-package-card .ek-list li{
  text-align:left !important;
  text-justify:auto !important;
}

/* Falls Elementor / Theme die Cards als volle Breite erzwingen will */
main#content .ek-package-grid > .ek-package-card{
  width:auto !important;
  max-width:none !important;
}

/* Tablet: 2 Spalten, damit Text nicht gequetscht wird */
@media (max-width:1024px){
  main#content .ek-grid.ek-grid--3,
  main#content .ek-package-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobile: 1 Spalte */
@media (max-width:767px){
  main#content .ek-grid.ek-grid--3,
  main#content .ek-package-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  main#content .ek-package-card{
    padding:1.2rem !important;
  }
}/* =========================================================
   27) Concept Package Grid Fix v12.0.6
   Zweck:
   - .ek-grid--3 grundsätzlich als 3-Spalten-Grid aktivieren
   - Paketkarten Standard / Rental / Luxury sauber nebeneinander
   - keine Veränderung an Header, Footer, Hero, FAQ, Reviews oder CTAs
   - responsive Rückstufung: Desktop 3 Spalten, Tablet 2, Mobile 1
   ========================================================= */

/* Allgemeine 3-Spalten-Grid-Regel für ekosphere-Content */
main#content .ek-grid.ek-grid--3{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}

/* Kinder im Grid dürfen nicht überlaufen */
main#content .ek-grid.ek-grid--3 > *{
  min-width:0 !important;
}

/* Speziell für Einrichtungspakete */
main#content .ek-package-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
  width:100%;
}

/* Paketkarten stabilisieren */
main#content .ek-package-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-width:0 !important;
  padding:1.35rem !important;
  background:var(--ek-card-bg) !important;
  border:1px solid var(--ek-border) !important;
  border-radius:0 !important;
}

/* Paketkarten-Inhalte sauber ausrichten */
main#content .ek-package-card h3{
  margin:0 0 .7em !important;
  text-align:center !important;
}

main#content .ek-package-card p{
  margin:0 0 1rem !important;
  text-align:justify !important;
}

main#content .ek-package-card .ek-list{
  margin-top:auto !important;
  margin-bottom:0 !important;
}

main#content .ek-package-card .ek-list li{
  text-align:left !important;
  text-justify:auto !important;
}

/* Falls Elementor / Theme die Cards als volle Breite erzwingen will */
main#content .ek-package-grid > .ek-package-card{
  width:auto !important;
  max-width:none !important;
}

/* Tablet: 2 Spalten, damit Text nicht gequetscht wird */
@media (max-width:1024px){
  main#content .ek-grid.ek-grid--3,
  main#content .ek-package-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobile: 1 Spalte */
@media (max-width:767px){
  main#content .ek-grid.ek-grid--3,
  main#content .ek-package-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  main#content .ek-package-card{
    padding:1.2rem !important;
  }
}

/* =========================================================
   28) Rent-A-Car Date Selection v12.0.7
   Zweck:
   - kompakte Kalenderauswahl für Mietwagenkarten
   - keine Checkboxen
   - keine Rundungen
   - automatische Preis- / Mietdauer-Anzeige via JS
   - kompatibel mit .ek-package-card und .ek-package-grid
   ========================================================= */

main#content .ek-rentcar-datebox{
  margin:.8rem 0 .7rem !important;
  padding:.7rem 0 !important;
  border-top:1px solid rgba(15,23,42,.16) !important;
  border-bottom:1px solid rgba(15,23,42,.16) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

main#content .ek-rentcar-datebox-title{
  display:block !important;
  margin:0 0 .45rem !important;
  color:var(--ek-ink) !important;
  font-size:calc(var(--ek-font-size-body) - 2px) !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  text-align:left !important;
}

main#content .ek-rentcar-dategrid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:.55rem !important;
  align-items:end !important;
}

main#content .ek-rentcar-datebox label{
  display:grid !important;
  gap:.22rem !important;
  margin:0 !important;
  color:var(--ek-ink) !important;
  font-size:calc(var(--ek-font-size-body) - 4px) !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  text-align:left !important;
}

main#content .ek-rentcar-datebox input[type="date"]{
  width:100% !important;
  min-height:38px !important;
  margin:0 !important;
  padding:.38rem .5rem !important;
  color:var(--ek-ink) !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.26) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-family:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif !important;
  font-size:calc(var(--ek-font-size-body) - 4px) !important;
  line-height:1.2 !important;
}

main#content .ek-rentcar-datebox input[type="date"]:focus,
main#content .ek-rentcar-datebox input[type="date"]:focus-visible{
  outline:2px solid var(--ek-primary) !important;
  outline-offset:1px !important;
  border-color:var(--ek-primary) !important;
}

main#content .ek-rentcar-total{
  margin:.55rem 0 .85rem !important;
  color:var(--ek-ink) !important;
  font-size:calc(var(--ek-font-size-body) - 3px) !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  text-align:left !important;
}

main#content .ek-package-card .ek-rentcar-total{
  margin-bottom:.85rem !important;
}

@media (max-width:767px){
  main#content .ek-rentcar-dategrid{
    grid-template-columns:1fr !important;
    gap:.45rem !important;
  }

  main#content .ek-rentcar-datebox{
    margin:.7rem 0 .65rem !important;
    padding:.65rem 0 !important;
  }

  main#content .ek-rentcar-datebox input[type="date"]{
    min-height:40px !important;
  }
}

/* =========================================================
   29) Rent-A-Car Card Image / Date Row Fix v12.0.8
   Zweck:
   - Platzhalterbild volle Kachelbreite
   - Mietdauer-Auswahl kompakt in einer Zeile
   - keine Rundungen
   - saubere Preiszeile
   ========================================================= */

main#content .ek-package-card .ek-rentcar-img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  object-fit:cover !important;
  margin:0 0 1rem !important;
  border-radius:0 !important;
}

main#content .ek-rentcar-datebox{
  margin:.75rem 0 .6rem !important;
  padding:.7rem 0 !important;
  border-top:1px solid rgba(15,23,42,.16) !important;
  border-bottom:1px solid rgba(15,23,42,.16) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

main#content .ek-rentcar-datebox-title{
  display:block !important;
  margin:0 0 .45rem !important;
  font-size:calc(var(--ek-font-size-body) - 2px) !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  text-align:left !important;
}

main#content .ek-rentcar-dategrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.65rem !important;
  align-items:end !important;
}

main#content .ek-rentcar-datebox label{
  display:grid !important;
  gap:.22rem !important;
  margin:0 !important;
  font-size:calc(var(--ek-font-size-body) - 5px) !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  text-align:left !important;
}

main#content .ek-rentcar-datebox input[type="date"]{
  width:100% !important;
  min-width:0 !important;
  min-height:38px !important;
  margin:0 !important;
  padding:.38rem .5rem !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.26) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:calc(var(--ek-font-size-body) - 5px) !important;
  line-height:1.2 !important;
}

main#content .ek-rentcar-total{
  margin:.55rem 0 .85rem !important;
  font-size:calc(var(--ek-font-size-body) - 4px) !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  text-align:left !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}

@media (max-width:480px){
  main#content .ek-rentcar-dategrid{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   30) Rent-A-Car Card Layout Fix v12.0.9
   Zweck:
   - Titel über dem Bild
   - Kachel leicht farbig / dunkler
   - Abholung und Rückgabe auf einer Zeile
   - kompakte Kostenanzeige untereinander
   ========================================================= */

main#content .ek-rentcar-card{
  background:#F1F7F8 !important;
  border:1px solid rgba(0,79,77,.18) !important;
}

main#content .ek-rentcar-card h3{
  order:1;
  margin:0 0 .75rem !important;
  text-align:center !important;
}

main#content .ek-rentcar-card .ek-rentcar-img{
  order:2;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  object-fit:cover !important;
  margin:0 0 1rem !important;
  border-radius:0 !important;
}

main#content .ek-rentcar-card > p,
main#content .ek-rentcar-card > ul,
main#content .ek-rentcar-card .ek-rentcar-datebox,
main#content .ek-rentcar-card .ek-rentcar-total,
main#content .ek-rentcar-card .ek-card__cta{
  order:3;
}

main#content .ek-rentcar-datebox{
  margin:.85rem 0 .65rem !important;
  padding:.75rem 0 !important;
  border-top:1px solid rgba(15,23,42,.14) !important;
  border-bottom:1px solid rgba(15,23,42,.14) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

main#content .ek-rentcar-datebox-title{
  display:block !important;
  margin:0 0 .45rem !important;
  font-size:calc(var(--ek-font-size-body) - 2px) !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  text-align:left !important;
}

main#content .ek-rentcar-dategrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.65rem !important;
  align-items:end !important;
}

main#content .ek-rentcar-datebox label{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:.25rem !important;
  margin:0 !important;
  font-size:calc(var(--ek-font-size-body) - 5px) !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  text-align:left !important;
}

main#content .ek-rentcar-datebox input[type="date"]{
  width:100% !important;
  min-width:0 !important;
  height:42px !important;
  min-height:42px !important;
  margin:0 !important;
  padding:.35rem .5rem !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.26) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:calc(var(--ek-font-size-body) - 5px) !important;
  line-height:1.2 !important;
}

main#content .ek-rentcar-datebox input[type="date"]:focus,
main#content .ek-rentcar-datebox input[type="date"]:focus-visible{
  outline:2px solid var(--ek-primary) !important;
  outline-offset:1px !important;
  border-color:var(--ek-primary) !important;
}

main#content .ek-rentcar-total{
  display:block !important;
  margin:.65rem 0 .95rem !important;
  padding:.7rem .8rem !important;
  background:#fff !important;
  border-left:4px solid var(--ek-primary) !important;
  color:var(--ek-ink) !important;
  font-size:calc(var(--ek-font-size-body) - 4px) !important;
  font-weight:600 !important;
  line-height:1.45 !important;
  text-align:left !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}

main#content .ek-rentcar-total span{
  display:block !important;
  margin:0 0 .15rem !important;
  font-size:inherit !important;
  line-height:inherit !important;
}

main#content .ek-rentcar-total span:last-child{
  margin-bottom:0 !important;
}

@media (max-width:640px){
  main#content .ek-rentcar-dategrid{
    grid-template-columns:1fr !important;
  }
}