.elementor-kit-263{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-263 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =====================================================================
   FIXES LAYOUT (Emil-Standard): Inhalt SPRINGT auf 3 feste Breiten,
   kein fluides Schrumpfen. Desktop 1280 / bei 1279 -> 800 / bei 799 -> 350.
   Umsetzung global per CSS-Variable => neue Seiten erben es automatisch.
   ===================================================================== */
:root{--skw-cw:1280px}
@media(max-width:1279px){:root{--skw-cw:800px}}
@media(max-width:799px){:root{--skw-cw:350px}}

/* jeder Top-Level-Boxed-Container: Inhalt fest + zentriert (schnappt) */
.elementor-element.e-parent.e-con-boxed>.e-con-inner{
  width:var(--skw-cw) !important;max-width:var(--skw-cw) !important;margin-left:auto !important;margin-right:auto !important;
}
/* KEIN horizontales Padding an Top-Level-Containern: sonst passt die feste Breite an der
   Breakpoint-Kante nicht in den Viewport -> rechts wird abgeschnitten (Emil-Bug). Padding=0. */
.elementor-element.e-parent.e-con-boxed,
.elementor-location-header .elementor-element-hdrouter,
.elementor-location-header .elementor-element-hdrinner,
.elementor-location-footer .elementor-element-ftouter{padding-left:0 !important;padding-right:0 !important}

/* ============ HERO: FESTE, SPRINGENDE Breite (kein liquid) ============ */
/* Desktop 1500 / Tablet 900 / Mobile 500 – schnappt an den Breakpoints, schrumpft NICHT fluid.
   Unterhalb der Breite bleibt der Hero mittig, überstehende Ränder werden geclippt (kein Scrollbalken). */
:root{--skw-herow:1500px}
@media(max-width:1279px){:root{--skw-herow:900px}}
@media(max-width:799px){:root{--skw-herow:500px}}
.elementor-element-hmhero,.elementor-element-imprhero,.elementor-element-pghero,.elementor-element-akthero{
  width:var(--skw-herow) !important;max-width:none !important;
  /* Hero mittig ueber dem Content halten – auch wenn er breiter als der Eltern-Container (1280/800/350) ist:
     margin:auto zieht ein UEBERBREITES Kind nicht mittig -> per calc symmetrisch (negativ) zentrieren. */
  margin-left:calc((100% - var(--skw-herow))/2) !important;margin-right:calc((100% - var(--skw-herow))/2) !important;
  border-radius:18px !important;overflow:hidden !important}
/* globaler Schutz gegen horizontale Scrollbar (clip bricht sticky NICHT) */
html{overflow-x:clip}
/* Header: kein Schlagschatten, NICHT sticky */
.elementor-location-header .elementor-element-hdrouter,
.elementor-location-header .elementor-element-hdrouter.elementor-sticky--active{box-shadow:none !important;position:static !important;top:auto !important}

/* Logo scharf auf feste Hoehe (SVG aspect-ratio erzwingen) */
.skw-logo img{height:82px !important;width:auto !important;max-width:none !important;aspect-ratio:auto !important}
@media(max-width:1279px){.skw-logo img{height:77px !important}}
@media(max-width:799px){.skw-logo img{height:67px !important}}

/* ============ HEADER: Inhalt schnappt (Logo links / Rest rechts) ============ */
.elementor-location-header .elementor-element-hdrinner>.e-con-inner{
  width:var(--skw-cw) !important;max-width:var(--skw-cw) !important;margin-left:auto !important;margin-right:auto !important;
  display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;
  justify-content:flex-start !important;align-items:center !important;gap:14px !important;
}
.elementor-location-header .elementor-element-hdrlogo{flex:0 0 auto !important;margin-right:auto !important}
.elementor-location-header .elementor-element-hdrnav{flex:0 0 auto !important}

/* Desktop-Navigation: Petrol (nur >=1280 sichtbar) */
.elementor-nav-menu--main .elementor-item{color:#077178;font-weight:700}
.elementor-nav-menu--main .elementor-item:hover,.elementor-nav-menu--main .elementor-item.elementor-item-active{color:#5f8f0f}
.elementor-nav-menu--main .sub-menu{background:#077178 !important;border-radius:8px;box-shadow:0 12px 26px rgba(0,0,0,.25);padding:6px 0;border:0 !important}
.elementor-nav-menu--main .sub-menu .elementor-sub-item{color:#bfe36a !important;background:transparent !important}
/* Submenü/Sub-Submenü: Parent NICHT grau einfärben -> weiße Schrift + Hover-Hintergrund */
.elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu--main .sub-menu .elementor-sub-item:focus,
.elementor-nav-menu--main .sub-menu .menu-item-has-children:hover>.elementor-sub-item,
.elementor-nav-menu--main .sub-menu .current-menu-item>.elementor-sub-item,
.elementor-nav-menu--main .sub-menu .current-menu-ancestor>.elementor-sub-item,
.elementor-nav-menu--main .sub-menu .current-menu-parent>.elementor-sub-item,
.elementor-nav-menu--main .sub-menu .elementor-item-active{color:#ffffff !important;background:rgba(255,255,255,.12) !important}

/* ============ BURGER-MODUS (<=1279): natives Nav weg, eigener Burger ============ */
@media(max-width:1279px){
  .elementor-location-header .elementor-element-hdrnav{display:none !important}
  .elementor-location-header .skw-cta-btn{display:none !important}
}
.elementor-location-header .elementor-menu-toggle{display:none !important}
.skw-burger{display:none;margin-left:auto;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;width:44px;height:44px;padding:8px;background:none !important;border:0 !important;cursor:pointer;border-radius:8px}
.skw-burger span{display:block;width:28px;height:3px;background:#077178;border-radius:2px;transition:width .25s ease,transform .25s ease,background .15s}
/* Keine graue Hover-Fläche mehr; stattdessen dezente Strich-Animation (Striche staffeln sich leicht) */
.skw-burger:hover,.skw-burger:focus{background:none !important}
.skw-burger:hover span,.skw-burger:focus span{background:#077178}
.skw-burger:hover span:nth-child(1),.skw-burger:focus-visible span:nth-child(1){width:28px}
.skw-burger:hover span:nth-child(2),.skw-burger:focus-visible span:nth-child(2){width:19px}
.skw-burger:hover span:nth-child(3),.skw-burger:focus-visible span:nth-child(3){width:24px}
@media(min-width:1280px){.skw-burger{display:none !important}}
@media(max-width:1279px){.skw-burger{display:flex !important}}

/* ============ SIDE-DRAWER (body-level, von rechts, analog Alt) ============ */
.skw-drawer{position:fixed;top:0;right:0;bottom:0;height:100%;width:350px;max-width:86%;background:#077178;z-index:100000;
  transform:translateX(100%);transition:transform .3s ease;visibility:hidden;overflow-y:auto;
  padding:22px 22px 44px;box-shadow:-12px 0 40px rgba(0,0,0,.35)}
.skw-drawer.is-open{transform:translateX(0);visibility:visible}
.skw-drawer-ov{position:fixed;inset:0;background:rgba(11,31,31,.55);z-index:99999;opacity:0;visibility:hidden;transition:opacity .3s}
.skw-drawer-ov.is-open{opacity:1;visibility:visible}
/* X als CSS-Kreuz (2 Striche, 3px = Strichstärke des Hamburgers). Text-× via font-size:0 ausgeblendet. */
.skw-drawer-close{position:absolute;top:12px;right:14px;width:40px;height:40px;padding:0;background:none;border:0;color:#bfe36a;font-size:0;line-height:0;cursor:pointer}
.skw-drawer-close::before,.skw-drawer-close::after{content:"";position:absolute;top:50%;left:50%;width:24px;height:3px;border-radius:2px;background:currentColor;transition:background .15s}
.skw-drawer-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.skw-drawer-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
/* kein roter Hover-/Focus-Hintergrund (kam von generischer [type=button]:hover/:focus-Regel) */
.skw-drawer-close:hover,.skw-drawer-close:focus{color:#fff !important;background:transparent !important}
.skw-drawer-logo{display:block;width:140px;max-width:55%;height:auto;margin:6px auto 18px}
.skw-drawer-cta{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.skw-dc{display:block;text-align:center;font-weight:700;font-size:15px;border-radius:8px;padding:13px 16px;text-decoration:none}
.skw-dc--find{background:#1e4a4a;color:#ffffff !important}
.skw-dc--find:hover{background:#265a5a;color:#ffffff !important}
.skw-dc--alarm{background:#bb1111;color:#ffffff !important}
.skw-dc--alarm:hover{background:#9f0d0d;color:#ffffff !important}
/* geklonte native Menuepunkte im Drawer */
.skw-drawer nav,.skw-drawer .elementor-nav-menu__container{all:unset;display:block}
.skw-drawer ul.elementor-nav-menu,.skw-drawer ul{list-style:none;margin:0;padding:0;width:100%}
.skw-drawer .elementor-nav-menu>li{border-bottom:1px solid rgba(255,255,255,.12);position:relative}
.skw-drawer .elementor-item{display:block !important;color:#bfe36a !important;font-weight:700 !important;font-size:16px !important;
  padding:14px 52px 14px 2px !important;text-decoration:none !important;background:transparent !important;line-height:1.3 !important}
.skw-drawer .elementor-item:hover,.skw-drawer .elementor-item.elementor-item-active{color:#fff !important;background:transparent !important}
/* Akkordeon: Untermenues eingeklappt, per Caret aufklappbar */
.skw-drawer .sub-menu{position:static !important;display:none !important;opacity:1 !important;visibility:visible !important;
  box-shadow:none !important;background:transparent !important;padding:0 0 6px 14px !important;width:auto !important;transform:none !important;min-width:0 !important}
.skw-drawer li.menu-item-has-children.is-open>.sub-menu{display:block !important}
.skw-sub-toggle{position:absolute;top:0;right:0;width:52px;height:51px;background:transparent !important;border:0;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;z-index:2;-webkit-tap-highlight-color:transparent;outline:none;-webkit-appearance:none;appearance:none}
.skw-sub-toggle:hover,.skw-sub-toggle:focus,.skw-sub-toggle:active{background:transparent !important}
.skw-drawer a,.skw-drawer button{-webkit-tap-highlight-color:transparent}
.skw-sub-toggle span{display:block;width:11px;height:11px;border-right:3px solid #bfe36a;border-bottom:3px solid #bfe36a;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.skw-drawer li.menu-item-has-children.is-open>.skw-sub-toggle span{transform:rotate(-135deg) translateY(-3px)}
.skw-drawer li.menu-item-has-children.is-open>.skw-sub-toggle span{border-color:#ffffff}
.skw-drawer .sub-menu li{border:0 !important}
/* Submenü-Punkte: gleiche Fontgröße + Fontdicke wie Hauptmenü (16px/700) */
.skw-drawer .elementor-sub-item{display:block !important;color:#a9d16a !important;font-weight:700 !important;font-size:16px !important;
  padding:10px 2px !important;text-decoration:none !important;background:transparent !important}
.skw-drawer .elementor-sub-item:hover{color:#fff !important;background:transparent !important}
.skw-drawer .sub-arrow,.skw-drawer .elementor-menu-toggle,.skw-drawer .e-font-icon-svg{display:none !important}

/* ============ HERO-INHALT (Pills/Headline) linksbuendig ============ */
.elementor-element-imprheroin>.e-con-inner{width:100% !important;max-width:100% !important;align-items:flex-start !important}
.elementor-element-imprcrumb{padding:0 !important}
.elementor-element-imprcrumb>.e-con-inner{justify-content:flex-start !important;padding:0 !important;gap:8px !important}
.elementor-element-imprcrumb .elementor-button{margin:0 !important}

/* ============ HOMEPAGE ============ */
/* Hero-Fließtext NICHT über volle Breite (analog Vorlage: ~3 Zeilen) */
.skw-hero-lead{max-width:430px !important}
/* Boxen/Karten/Kontakt füllen die feste Breite EXAKT (flex-grow greift in dieser Version nicht) */
/* Reihen-Container ohne Default-Padding -> Karten/Kontakt bündig zu den Boxen (Kante 1280) */
.elementor-element-hmbrow,.elementor-element-hmnrow,.elementor-element-hmcrow,.elementor-element-hmwrow,.elementor-element-hmdots{padding-left:0 !important;padding-right:0 !important}
.elementor-element-hmcat > .e-con-inner > .e-con{flex:1 1 22% !important}
.elementor-element-hmbrow > .e-con{flex:1 1 30% !important}
.elementor-element-hmcrow > .e-con{flex:1 1 22% !important}
@media(max-width:1279px){
  .elementor-element-hmcat > .e-con-inner > .e-con{flex-basis:46% !important}
  .elementor-element-hmbrow > .e-con{flex-basis:100% !important}
  .elementor-element-hmcrow > .e-con{flex-basis:46% !important}
}
@media(max-width:799px){
  .elementor-element-hmcat > .e-con-inner > .e-con,
  .elementor-element-hmbrow > .e-con,
  .elementor-element-hmcrow > .e-con{flex-basis:100% !important}
}
/* Karten-Bilder: einheitliche Höhe, Cover */
.skw-cardimg img{width:100% !important;height:190px !important;object-fit:cover !important;display:block;border-radius:0 !important}
.skw-newsimg img{width:100% !important;height:180px !important;object-fit:cover !important;display:block;border-radius:0 !important}
/* Aktuelles-Badge = kleine Pille */
.skw-badge{display:inline-block;background:#dceee9;color:#0e6f66 !important;padding:3px 10px;border-radius:5px;align-self:flex-start;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;line-height:1.4}
.skw-badge .elementor-shortcode{color:#0e6f66}
/* Loop-Carousel: Karten gleiche Höhe */
.skw-loop .swiper-slide{height:auto}
.skw-loop .e-loop-item,.skw-loop .swiper-slide > .e-con{height:100% !important}
/* Weißes, abgerundetes Panel mit farbigem SVG + grüner Kategorie-Pille oben links */
.skw-svgpanel{position:relative}
.skw-svgwrap{width:100%;text-align:center;line-height:0}
.skw-cat-svg{display:block;margin:0 auto;width:auto;height:auto;max-height:104px;max-width:56%}
.skw-catpill{position:absolute !important;top:10px;left:10px;z-index:2;background:#8cbf1f;color:#fff;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:6px;line-height:1.5}
.skw-catpill .elementor-shortcode{color:#fff}
/* Titel: Petrol auf Weiß, 1 Zeile + … */
.skw-loop-title .elementor-heading-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* Gefüllte Petrol-Buttons (Logo-Petrol), Hover DUNKLER */
.skw-btn-petrol .elementor-button{background:#077178 !important;color:#ffffff !important;border:0 !important}
.skw-btn-petrol .elementor-button:hover,.skw-btn-petrol .elementor-button:focus{background:#044f55 !important;color:#ffffff !important}
/* Weiße Buttons auf Petrol-Karten (kein Rand), Hover grün */
.skw-btn-white .elementor-button{background:#ffffff !important;color:#077178 !important;border:0 !important}
.skw-btn-white .elementor-button:hover,.skw-btn-white .elementor-button:focus{background:#8cbf1f !important;color:#ffffff !important}
/* "mehr lesen"-Button linksbündig, schiebt sich ans Kartenende */
.skw-loop-btn{align-self:flex-start;margin-top:auto !important}
.skw-loop-btn .elementor-button{width:auto}
/* Abstand Fließtext->Karten in "Alles auf einen Blick" = identisch zu Aktuelles
   (Container-_margin rendert in dieser Version nicht -> per CSS erzwingen) */
.elementor-element-hmbrow{margin-top:30px !important}
/* Karussell-Dots analog alte Vorlage: aktiv teal, inaktiv hellgrau, größer + mehr Abstand */
.skw-loop{--swiper-pagination-color:#0e8a80;--swiper-pagination-bullet-inactive-color:#cdd8d8;
  --swiper-pagination-bullet-inactive-opacity:1;--swiper-pagination-bullet-size:16px;--swiper-pagination-bullet-horizontal-gap:6px}
.skw-loop .swiper-pagination{margin-top:34px}
.skw-loop .swiper-pagination-bullet{width:16px !important;height:16px !important;background:#cdd8d8 !important;opacity:1 !important;margin:0 6px !important;transition:background .2s}
.skw-loop .swiper-pagination-bullet-active{background:#0e8a80 !important}
/* Video abgerundet + Frame exakt fuellen (MP4 ist 1280x720=16:9 wie der Frame).
   video/iframe MUSS 100% des 16:9-Frames fuellen, sonst rendern die nativen Controls breiter als der sichtbare Film. */
.skw-vid .elementor-wrapper,.skw-vid .elementor-video,.skw-vid iframe,.skw-vid video{border-radius:14px !important;overflow:hidden}
.skw-vid .elementor-video,.skw-vid video,.skw-vid iframe{position:absolute;top:0;left:0;width:100% !important;height:100% !important;max-width:100% !important;object-fit:cover !important}
.skw-vid .elementor-wrapper,.skw-vid .elementor-fit-aspect-ratio{position:relative;width:100% !important;aspect-ratio:16/9;overflow:hidden}
/* Slider-Dots (dekorativ, analog Vorlage) */
.skw-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#c3d0d0}
.skw-dot--on{background:#8cbf1f}

/* ============ INNERSEITEN (generisch; Hero-Breite kommt aus der --skw-herow-Regel oben) ============ */
.elementor-element-pgheroin>.e-con-inner{width:100% !important;max-width:1280px !important;margin-left:auto !important;margin-right:auto !important;align-items:flex-start !important}
/* Automatische Breadcrumb (Shortcode) – Pillen Petrol/WEISS, aktive Seite Petrol/GRUEN */
.skw-crumbw{line-height:0;margin-bottom:2px}
.skw-crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;line-height:1}
.skw-crumb-pill{display:inline-flex;align-items:center;background:#077178;color:#ffffff !important;border-radius:999px;padding:5px 13px;font-family:"Open Sans",sans-serif;font-size:12.5px;font-weight:700;line-height:1;text-decoration:none;transition:background .15s,color .15s}
a.skw-crumb-pill:hover{background:#1e4a4a;color:#ffffff !important}
.skw-crumb-current{background:#077178;color:#bfe36a !important}
.elementor-element-pgcrumb{padding:0 !important}
.elementor-element-pgcrumb>.e-con-inner{justify-content:flex-start !important;padding:0 !important;gap:8px !important}
.elementor-element-pgcrumb .elementor-button{margin:0 !important}
.elementor-element-pgsec>.e-con-inner{width:100% !important;max-width:1280px !important;margin-left:auto !important;margin-right:auto !important}
/* Prose: Headlines im neuen Petrol, sauberer Fließtext */
.skw-prose h1,.skw-prose h2{color:#077178 !important;font-family:"Open Sans",sans-serif;font-weight:700;font-size:30px;line-height:1.25;margin:36px 0 10px}
.skw-prose h3,.skw-prose h4{color:#077178 !important;font-family:"Open Sans",sans-serif;font-weight:700;font-size:21px;margin:26px 0 8px}
.skw-prose>*:first-child{margin-top:0 !important}
.skw-prose p,.skw-prose li,.skw-prose td{color:#3a4646;font-size:16px;line-height:1.8}
.skw-prose a{color:#077178;text-decoration:underline}
.skw-prose a:hover{color:#5f8f0f}
.skw-prose ul,.skw-prose ol{margin:0 0 16px 22px}
.skw-prose li{margin:2px 0}
.skw-prose strong{color:#153a3a}
.skw-prose img{max-width:100%;height:auto;border-radius:8px;margin:8px 0}
.skw-prose table{border-collapse:collapse;width:100%;margin:12px 0}
.skw-prose th,.skw-prose td{border:1px solid #e0e8e8;padding:8px 10px;text-align:left}

/* Willkommen-Button „Mehr über uns" bündig zum Fließtext (Default-Container-Padding raus) */
.elementor-element-hmwbtnw{padding:0 !important}
/* End-of-Content-Links (.pg-btn/.pg-btnrow) als Petrol-Buttons, linksbündig am Fließtext-Ende */
.skw-prose .pg-btnrow{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.skw-prose .pg-btn{display:inline-block;background:#077178;color:#ffffff !important;text-decoration:none !important;
  font-weight:700;font-size:15px;line-height:1.2;padding:12px 22px;border-radius:8px;transition:background .15s}
.skw-prose .pg-btn:hover{background:#044f55;color:#ffffff !important}

/* ---- ANSPRECHPARTNER: Team-Grid (pg-team/pg-person) ---- */
.skw-prose .pg-team{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:24px 0 0;list-style:none;padding:0}
.skw-prose .pg-person{background:#fff;border-radius:14px;box-shadow:0 10px 26px rgba(0,49,49,.09);padding:26px 20px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px}
.skw-prose .pg-ava{width:88px;height:88px;border-radius:50%;background:#077178;color:#bfe36a;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;margin-bottom:10px;text-transform:uppercase}
.skw-prose .pg-person b{color:#153a3a;font-size:17px;font-weight:700}
.skw-prose .pg-person em{color:#5f6b6b;font-style:normal;font-size:13.5px;line-height:1.4;margin-bottom:6px}
.skw-prose .pg-person a[href^="tel"]{color:#077178 !important;text-decoration:none !important;font-size:14.5px;font-weight:600}
.skw-prose .pg-person .pg-btn{margin-top:12px;padding:9px 16px;font-size:13.5px}
@media(max-width:1279px){.skw-prose .pg-team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:799px){.skw-prose .pg-team{grid-template-columns:1fr}}

/* ---- FORMULARE/RATGEBER: Download-Karten (pg-dl) ---- */
.skw-prose .pg-dl{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.skw-prose .pg-dl li{margin:0}
.skw-prose .pg-dl li a{display:flex;align-items:center;gap:16px;background:#fff;border-radius:12px;box-shadow:0 8px 22px rgba(0,49,49,.08);padding:14px 18px;color:#153a3a !important;text-decoration:none !important;font-weight:700;font-size:15.5px;transition:box-shadow .15s}
.skw-prose .pg-dl li a:hover{box-shadow:0 12px 30px rgba(0,49,49,.15)}
.skw-prose .pg-dl li a::before{content:"";flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:#077178 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238cbf1f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 11l5 5 5-5M5 21h14'/%3E%3C/svg%3E") center/22px no-repeat}
@media(max-width:799px){.skw-prose .pg-dl{grid-template-columns:1fr}}

/* ---- NATIVE Ansprechpartner-/Formulare-Karten (editierbar in Elementor) ---- */
.skw-ava img{width:88px !important;height:88px !important;border-radius:50% !important;object-fit:cover !important;display:block;margin:0 auto}
/* mehr Luft zwischen Kreis und Namensblock */
.skw-ava{margin-bottom:16px !important}
.skw-tel a{color:#077178 !important;text-decoration:none !important;font-weight:600;font-size:14.5px}
.skw-tel .elementor-widget-container{text-align:center}
.skw-dlicon img{width:46px !important;height:46px !important;display:block;border-radius:0 !important}
.elementor-element-apteam > .e-con{flex:1 1 30% !important}
/* Grid-Container-Default-Padding (10px) raus -> Karten fluchten mit Text/H2 (x-Achse) */
.elementor-element-apteam{padding:0 !important}
/* mehr Luft zwischen "Ihr Team ..."-H2 und den Karten */
.elementor-element-aph2{margin-bottom:26px !important}
/* Formulare/Ratgeber: echtes 2-Spalten-Grid -> letzte Box bleibt halbbreit (nicht volle Breite) */
.elementor-element-fmrow1,.elementor-element-fmrow2{display:grid !important;grid-template-columns:1fr 1fr !important;gap:16px !important;padding:0 !important}
.elementor-element-fmrow1 > .e-con,.elementor-element-fmrow2 > .e-con{flex:none !important;width:auto !important;max-width:none !important}
.elementor-element-fmrow1 > .e-con:hover,.elementor-element-fmrow2 > .e-con:hover{box-shadow:0 12px 30px rgba(0,49,49,.15) !important}
/* Abstand H2 "Formulare"/"Ratgeber" zu den Boxen (wie überall) */
.elementor-element-fmh1,.elementor-element-fmh2{margin-bottom:22px !important}
@media(max-width:1279px){.elementor-element-apteam > .e-con{flex-basis:46% !important}}
@media(max-width:799px){.elementor-element-apteam > .e-con{flex-basis:100% !important}
  .elementor-element-fmrow1,.elementor-element-fmrow2{grid-template-columns:1fr !important}}

/* ============ KONTAKTSEITE (Formular + ganzflächige Map) ============ */
.skw-form .elementor-field-group>label{font-weight:700 !important;color:#153a3a !important;margin-bottom:5px;font-size:14px}
.skw-form .elementor-field:not([type=checkbox]):not([type=radio]){background:#fff !important;border:1px solid #cfd8d8 !important;border-radius:8px !important;padding:11px 12px !important;font-size:15px !important;width:100%}
.skw-form textarea.elementor-field{min-height:130px}
.skw-form .elementor-button{background:#077178 !important;color:#fff !important;border:0 !important;border-radius:8px !important;padding:12px 26px !important;font-weight:700 !important}
.skw-form .elementor-button:hover{background:#044f55 !important}
.skw-form .elementor-field-type-acceptance .elementor-field-subgroup,.skw-form .elementor-acceptance-label{font-size:13.5px;color:#3a4646}
.skw-form a{color:#077178;text-decoration:underline}
/* Ganzflächige Karte: HTML-Widget ohne Ränder, volle Breite */
.elementor-element-ktmapsec,.elementor-element-ktmap,.elementor-element-ktmap>.elementor-widget-container{padding:0 !important;margin:0 !important;width:100% !important}
#skw-map{display:block;width:100%}

/* ============ FOOTER ============ */
.skw-copyr p{margin:0}

/* ===================================================================
   STATIK-KLASSEN portiert (Design-System der Vorlage in .skw-prose)
   ===================================================================*/
/* Hero-Lead (Subline) exakt wie Vorlage */
.skw-herolead p{margin:0;max-width:52ch;text-wrap:balance}

/* --- ImmoScout-Box (suchen-und-finden) --- */
.skw-prose .pg-box{background:#fff;border:1px solid #e2e8e8;border-radius:16px;padding:34px 34px 32px;box-shadow:0 18px 44px rgba(0,49,49,.10)}
.skw-prose .pg-box__logo{height:48px !important;width:auto !important;max-width:none !important;border-radius:0 !important;margin:0 0 18px !important;box-shadow:none !important}
.skw-prose .pg-box h2{margin:0 0 12px !important}
.skw-prose .pg-box p{color:#5f6b6b;font-size:15px;line-height:1.75;margin:0;max-width:72ch}
.skw-prose .pg-box .pg-btnrow{margin:22px 0 0}
@media(max-width:799px){.skw-prose .pg-box h2{font-size:24px}}

/* --- Havarie: Notfall-/Geschäftszeiten-Boxen --- */
.skw-prose .pg-contact{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:800px){.skw-prose .pg-contact{grid-template-columns:repeat(2,1fr)}}
.skw-prose .pg-call{background:#153434;color:#eafafa;border-radius:16px;padding:26px 28px}
.skw-prose .pg-call--alarm{background:#bb1111}
.skw-prose .pg-call b{display:block;color:#fff;font-size:14px;letter-spacing:.4px;text-transform:uppercase;margin-bottom:8px}
.skw-prose .pg-call__num{font-size:29px;font-weight:800;color:#fff;line-height:1;margin:0}
.skw-prose .pg-call__num a{color:#fff !important;text-decoration:none !important;font-weight:800}
.skw-prose .pg-call p{margin:.7em 0 0;color:#dbe8e8;font-size:14px;line-height:1.6}

/* --- Karten-Grid (Unsere Wohnungen + Hub-Seiten) --- */
.skw-prose .pg-cards{display:grid;grid-template-columns:1fr;gap:22px;margin-top:8px}
@media(min-width:800px){.skw-prose .pg-cards{grid-template-columns:repeat(3,1fr)}}
.skw-prose .pg-cards.pg-cards--2{grid-template-columns:1fr}
@media(min-width:800px){.skw-prose .pg-cards.pg-cards--2{grid-template-columns:repeat(2,1fr)}}
.skw-prose .pg-card{background:#fff;border:1px solid #e2e8e8;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .12s,box-shadow .12s}
.skw-prose .pg-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(0,49,49,.11)}
.skw-prose .pg-card > a{display:block;line-height:0}
.skw-prose .pg-card img{height:180px !important;width:100% !important;object-fit:cover;border-radius:0 !important;margin:0 !important}
.skw-prose .pg-card__b{padding:18px 18px 20px;flex:1;display:flex;flex-direction:column}
.skw-prose .pg-card__b h3{color:#153434 !important;font-size:19px;margin:0 0 6px}
.skw-prose .pg-card__b p{color:#5f6b6b;font-size:14px;margin:0 0 12px;line-height:1.5;flex:1}
.skw-prose .pg-card__b .pg-btn{align-self:flex-start;margin-top:2px}

/* --- Quartiere: Galerie (Hauptbild + Thumbnails) --- */
.skw-prose .skw-gal{margin:0}
.skw-prose .skw-gal__main{position:relative;border-radius:14px;overflow:hidden;cursor:zoom-in;box-shadow:0 14px 34px rgba(0,49,49,.10)}
.skw-prose .skw-gal__main img{width:100% !important;aspect-ratio:1024/731;object-fit:cover;display:block;border-radius:0 !important;margin:0 !important;transition:transform .5s}
.skw-prose .skw-gal__main:hover img{transform:scale(1.03)}
.skw-prose .skw-gal__main::after{content:"2922";position:absolute;top:12px;right:12px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:rgba(21,52,52,.8);color:#bfe36a;border-radius:9px;font-size:19px;pointer-events:none}
.skw-prose .skw-gal__thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin-top:12px}
.skw-prose .skw-gal__thumb{padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;cursor:pointer;background:none;line-height:0;opacity:.65;transition:border-color .15s,opacity .15s}
.skw-prose .skw-gal__thumb img{width:100% !important;aspect-ratio:1024/731;object-fit:cover;display:block;border-radius:0 !important;margin:0 !important}
.skw-prose .skw-gal__thumb:hover{opacity:1}
.skw-prose .skw-gal__thumb.is-on{border-color:#077178;opacity:1}

/* --- Quartiere: Grundriss-Karten --- */
.skw-prose .skw-plans{display:grid;grid-template-columns:1fr;gap:20px;margin:0}
@media(min-width:800px){.skw-prose .skw-plans{grid-template-columns:repeat(2,1fr)}}
.skw-prose .skw-plan{margin:0;background:#fff;border:1px solid #e2e8e8;border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(0,49,49,.05);cursor:zoom-in;transition:transform .12s,box-shadow .12s;display:flex;flex-direction:column}
.skw-prose .skw-plan:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(0,49,49,.11)}
.skw-prose .skw-plan img{width:100% !important;aspect-ratio:724/1024;object-fit:contain;display:block;background:#fff;padding:16px;border-radius:0 !important;margin:0 !important}
.skw-prose .skw-plan figcaption{padding:12px 16px;font-weight:700;color:#153434;text-align:center;border-top:1px solid #e2e8e8;margin-top:auto}

/* --- Lightbox (body-level) --- */
.skw-lb{position:fixed;inset:0;z-index:99999;background:rgba(11,31,31,.93);display:none;align-items:center;justify-content:center;padding:28px}
.skw-lb.is-open{display:flex}
.skw-lb img.skw-lb__img{max-width:92vw;max-height:84vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.7)}
.skw-lb__btn{position:absolute;background:#153434;color:#bfe36a;border:0;width:52px;height:52px;border-radius:50%;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.skw-lb__btn:hover{background:#1e4a4a;color:#fff}
.skw-lb__prev{left:22px}.skw-lb__next{right:22px}
.skw-lb__close{top:22px;right:22px;width:46px;height:46px;font-size:20px}
.skw-lb__count{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#bfe36a;font-size:14px;font-weight:600;letter-spacing:.4px}
@media(max-width:560px){.skw-lb__prev{left:12px}.skw-lb__next{right:12px}}

/* .skw-hero: Positionierungskontext für den Hero (Basis-Klasse, an 6 Elementen genutzt).
   Die 30-Jahre-Plakette (.skw-hero30) wurde entfernt -> zugehörige tote Regeln gelöscht (2026-07-09 e). */
.skw-hero{position:relative}

/* ============ WILLKOMMEN-VIDEO: Play-Button im Service-Icon-Stil ============ */
.skw-vid .elementor-custom-embed-play i,.skw-vid .elementor-custom-embed-play svg{display:none !important}
.skw-vid .elementor-custom-embed-play{width:84px;height:84px;background:url(/wp-content/uploads/2026/07/hp-ic-play.png) center/contain no-repeat;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));transition:transform .15s}
.skw-vid:hover .elementor-custom-embed-play{transform:translate(-50%,-50%) scale(1.06)}
/* Video-Lightbox: Video exakt 16:9 und so groß wie in den Viewport passt -> native Controls fluchten
   mit dem Videorand (stehen nicht mehr über). min() wählt das größte 16:9 das in Breite UND Höhe passt. */
.elementor-lightbox .elementor-video-container{display:flex !important;align-items:center !important;justify-content:center !important}
.elementor-lightbox .elementor-video-wrapper{width:min(94vw, calc(86vh * 16 / 9)) !important;height:auto !important;aspect-ratio:16/9 !important;max-width:94vw !important;max-height:86vh !important;margin:0 auto !important;position:relative !important;left:auto !important;top:auto !important;padding:0 !important}
.elementor-lightbox .elementor-video-wrapper video{width:100% !important;height:100% !important;object-fit:contain !important;display:block !important}

/* ============ DESKTOP-NAV: Dropdown-Box wächst bis zur längsten Zeile -> optischer Abstand links = rechts ============ */
/* Elementor legt links eine 8px-Akzentleiste (border-left, im Hover grün) an. Damit der Text beim
   LÄNGSTEN Eintrag ("Angebote für Mieter:innen") gleich weit von beiden Kanten steht, muss das
   linke Padding um diese 8px kleiner sein: 8px Border + 14px Padding = 22px = 22px rechts. */
@media(min-width:1280px){
  .elementor-element-hdrnav .elementor-nav-menu--main .sub-menu{width:max-content !important;min-width:0 !important}
  .elementor-element-hdrnav .elementor-nav-menu--main .sub-menu a{border-left-width:8px !important;padding-left:14px !important;padding-right:22px !important}
}
/* CTA-Buttons: Schrift immer weiß (Desktop + Mobile-Menü) */
.elementor-element-hdrbtn1 a,.elementor-element-hdrbtn1 .elementor-button-text,.elementor-element-hdrbtn2 a,.elementor-element-hdrbtn2 .elementor-button-text{color:#ffffff !important}
/* Mobile-Dropdown: Submenüs eingeklappt lassen (Akkordeon), volle Breite */
.elementor-element-hdrnav .elementor-nav-menu--dropdown .sub-menu{width:auto !important}

/* ============ HOMEPAGE-KACHELN: klickbar (Overlay-Link) + Hover-Lift ============ */
.elementor-element-hmc1,.elementor-element-hmc2,.elementor-element-hmc3,.elementor-element-hmc4{position:relative;transition:transform .16s ease,box-shadow .16s ease}
/* Overlay-Widget-Wrapper NICHT als Positionierungskontext -> Link ankert an der Kachel */
.elementor-element-hmc1l,.elementor-element-hmc2l,.elementor-element-hmc3l,.elementor-element-hmc4l{position:static !important}
.skw-tilelink{position:absolute;inset:0;z-index:3;display:block}
.elementor-element-hmc1:hover,.elementor-element-hmc2:hover,.elementor-element-hmc3:hover,.elementor-element-hmc4:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,49,49,0.17)}

/* ============ NATIVE SEITEN (Container statt Text-HTML, editierbar) ============ */
/* Grid-Spalten per Element-ID (Container-Klassen rendern hier nicht) */
.elementor-element-ncards3,.elementor-element-ncards2,.elementor-element-ncontact,.elementor-element-nplans{padding:0 !important}
.elementor-element-ncards3 > .e-con{flex:1 1 30% !important}
.elementor-element-ncards2 > .e-con,.elementor-element-ncontact > .e-con,.elementor-element-nplans > .e-con{flex:1 1 46% !important}
/* Karten-Container ohne Default-Padding -> Bild bündig, wird vom gerundeten Card-Rand geclippt */
.elementor-element-ncards3 > .e-con,.elementor-element-ncards2 > .e-con{padding:0 !important}
/* Karten: Button unten bündig auf einer Linie (Body füllt Karte, Text wächst) */
.elementor-element-ncards3 > .e-con > .e-con,.elementor-element-ncards2 > .e-con > .e-con{flex-grow:1 !important}
.skw-cardtext{flex-grow:1 !important}
@media(max-width:799px){.elementor-element-ncards3 > .e-con,.elementor-element-ncards2 > .e-con,.elementor-element-ncontact > .e-con,.elementor-element-nplans > .e-con{flex-basis:100% !important}}
/* Grundrisse: allein stehendes letztes Bild (ungerade Anzahl) NICHT auf volle Breite wachsen lassen
   -> feste Halb-Breite wie die anderen; rechts bleibt leer (Kundenwunsch). Nur Desktop (2-spaltig). */
@media(min-width:800px){.elementor-element-nplans > .e-con:last-child:nth-child(odd){flex-grow:0 !important;flex-basis:calc(50% - 10px) !important;max-width:calc(50% - 10px) !important}}
/* Satzspiegel: erstes Content-Element ohne Top-Margin -> Abstand Hero->Inhalt überall identisch */
.elementor-element-pgsec > .e-con-inner > *:first-child{margin-top:0 !important}
/* ImmoScout-Box: mehr Abstand oben/unten zu den Nachbar-Blöcken */
.elementor-element-nbox{margin-top:42px !important;margin-bottom:24px !important}
/* Kontakt: "Name"-Label auf Hoehe der Zeile "Sie haben Fragen ..." – Desktop UND Tablet (2-Spalter).
   Gemessen: Formular muss 48px nach unten (Desktop von -39 -> 48; Tablet von 0 -> 48). Mobile (<800) stapelt -> kein Versatz. */
@media(min-width:800px){.skw-form{margin-top:48px}}
/* Native Karten-Bild (Vollbreite oben, abgeschnitten durch Container-overflow) */
.skw-cardimg,.skw-cardimg .elementor-widget-container{line-height:0;margin:0 !important}
.skw-cardimg img{width:100% !important;height:180px !important;object-fit:cover !important;border-radius:0 !important;margin:0 !important;display:block}
/* Native Box-Logo (ImmoScout) */
.skw-boxlogo img{height:48px !important;width:auto !important;max-width:none !important;border-radius:0 !important;margin:0 0 18px !important;display:block}
/* Native Havarie-Call – Text hell/weiß (Widgets rendern ohne .elementor-widget-container -> direkt targeten) */
.skw-calllabel .elementor-heading-title{color:#ffffff !important}
.skw-callnum .elementor-heading-title,.skw-callnum a{color:#ffffff !important;text-decoration:none !important}
.skw-callp,.skw-callp p{color:#dbe8e8 !important;font-size:14px;line-height:1.6}
.skw-callp p{margin:0}
.skw-callp{margin-top:10px}
/* Native Grundriss (Quartiere) */
.skw-planimg{cursor:zoom-in}
.skw-planimg img{width:100% !important;aspect-ratio:724/1024;object-fit:contain !important;background:#fff;padding:16px;border-radius:0 !important;margin:0 !important;display:block}
.skw-plancap .elementor-widget-container{padding:12px 16px;text-align:center;border-top:1px solid #e2e8e8}
.skw-nplan{border:1px solid #e2e8e8}
/* Quartier: zwei Galerien nebeneinander (Umgebung | Innenräume); auf Mobile gestapelt */
.elementor-element-galrow > .e-con,.elementor-element-smgrow1 > .e-con,.elementor-element-smgrow2 > .e-con,.elementor-element-smgrow3 > .e-con{flex:1 1 46% !important}
@media(max-width:799px){.elementor-element-galrow > .e-con,.elementor-element-smgrow1 > .e-con,.elementor-element-smgrow2 > .e-con,.elementor-element-smgrow3 > .e-con{flex-basis:100% !important}}
/* Native Galerie = Elementor Media-Carousel (Slideshow-Skin: Großbild + Thumbnails, eigene Lightbox) */
/* Hauptbild im NATIVEN Format (kein Crop) – Rahmenhöhe kommt aus slideshow_height je Seite */
.skw-mcgal .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image{background-size:cover !important;background-repeat:no-repeat;background-position:center;background-color:transparent !important}
.skw-mcgal .elementor-main-swiper:not(.elementor-thumbnails-swiper) .swiper-slide{border-radius:14px;overflow:hidden}
.skw-mcgal .elementor-thumbnails-swiper .swiper-slide{border-radius:8px;overflow:hidden}
/* Galerien: EINHEITLICHE Höhe unabhängig vom Bildformat (3:2, cover) – Kunde tauscht Bilder, Höhe bleibt.
   Thumbnails im gleichen 3:2-Format wie das Großbild (statt Elementor-Default 21:9). */
.skw-mcgal .elementor-main-swiper:not(.elementor-thumbnails-swiper),.skw-mcgal .elementor-main-swiper:not(.elementor-thumbnails-swiper) .swiper-slide,.skw-mcgal .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image{height:auto !important;aspect-ratio:3/2 !important}
.skw-mcgal .elementor-thumbnails-swiper .elementor-carousel-image{aspect-ratio:3/2 !important}
.skw-mcgal .elementor-thumbnails-swiper .swiper-slide{height:auto !important}
/* Download-Karten (Formulare/Ratgeber): echter Link auf dem Label, per stretched-link ganze Karte klickbar (a11y) */
.skw-dlcard{position:relative;cursor:pointer}
.skw-dlcard:hover{box-shadow:0 12px 30px rgba(0,49,49,.15)}
.skw-dllink .elementor-heading-title a,.skw-dllink a{color:#153a3a !important;text-decoration:none !important}
.skw-dllink .elementor-heading-title a::after,.skw-dllink a::after{content:"";position:absolute;inset:0;z-index:1}
.skw-dlcard:focus-within{outline:3px solid #8cbf1f;outline-offset:2px}

/* ============ AKTUELLES-SEITE: Taxonomie-Filter (Pills) + Grid + Pagination ============ */
/* nur Alle / Aktuelles / Bauprojekte / Allgemein (Jahres-Kategorien ausblenden) */
.skw-taxfilter .e-filter-item[data-filter="2019"],.skw-taxfilter .e-filter-item[data-filter="2020"],.skw-taxfilter .e-filter-item[data-filter="2021"]{display:none !important}
.skw-taxfilter .e-filter-item[data-filter="__all"]{order:-1}
.skw-taxfilter .e-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:0}
/* Filter = echte Buttons wie ueberall (Petrol/Weiss), aktiver Filter = Gruen.
   !important, weil Elementors .elementor-widget-taxonomy-filter .e-filter-item (gleiche Spezifitaet) SPAETER laedt. */
.skw-taxfilter .e-filter-item{background:#077178 !important;color:#ffffff !important;border:0 !important;border-radius:8px !important;padding:11px 22px !important;font-family:"Open Sans",sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}
.skw-taxfilter .e-filter-item:hover{background:#044f55 !important;color:#ffffff !important}
.skw-taxfilter .e-filter-item[aria-pressed="true"]{background:#8cbf1f !important;color:#ffffff !important}
/* Grid: 3 gleiche Spalten (columns-Setting greift nicht -> per CSS erzwingen) */
.skw-aktgrid .elementor-loop-container{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:24px !important}
@media(max-width:1279px){.skw-aktgrid .elementor-loop-container{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
/* Mobile MUSS minmax(0,1fr) sein (nicht plain 1fr): sonst blaeht der nowrap-Titel/SVG die Spalte auf min-content (~1976px) auf -> H-Scroll. */
@media(max-width:799px){.skw-aktgrid .elementor-loop-container{grid-template-columns:minmax(0,1fr) !important}}
/* zusaetzliche Absicherung: Loop-Items duerfen unter ihre min-content-Breite schrumpfen */
.skw-aktgrid .elementor-loop-container > *{min-width:0 !important}
.elementor-pagination{margin-top:36px;text-align:center}
.elementor-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;margin:0 3px;border-radius:8px;background:#eef2f2;color:#153434;font-weight:700;text-decoration:none;transition:background .15s,color .15s}
.elementor-pagination .page-numbers.current{background:#077178;color:#fff}
.elementor-pagination a.page-numbers:hover{background:#dbe8e8}

/* ============ SINGLE-POST (Artikel-Layout, kein Header-Bild) ============ */
/* Lesespalte: Desktop/Tablet 760px. Der lokale --skw-cw-Override MUSS an denselben Breakpoints
   springen wie die globale :root-Regel – sonst bleibt die Spalte auf Mobile 760px breit und die
   Blog-Detailseite scrollt horizontal (Mobile-Bug). Mobile -> 350 (wie Rest der Seite), <360 -> Reflow. */
.elementor-element-spsec{--skw-cw:760px}
@media(max-width:799px){.elementor-element-spsec{--skw-cw:350px}}
@media(max-width:360px){.elementor-element-spsec{--skw-cw:calc(100vw - 24px)}}
.elementor-element-spsec.e-con > .e-con-inner{margin-left:auto !important;margin-right:auto !important}
.skw-artmeta .elementor-post-info{justify-content:flex-start}
.skw-artmeta .elementor-post-info > li:nth-child(n+2){display:none !important}
.skw-artmeta .elementor-post-info > li:first-child{color:#5f6b6b !important;font-size:14px}
.skw-artmeta .elementor-post-info > li:first-child .elementor-icon-list-text,
.skw-artmeta .elementor-post-info > li:first-child a{color:#5f6b6b !important}
.elementor-widget-theme-post-content.skw-prose,.skw-prose.elementor-widget-theme-post-content .elementor-widget-container{color:#3a4646}
.skw-share{margin-top:4px}
/* galrow ohne Default-Padding (Galerien fluchten mit Inhalt) */
.elementor-element-galrow,.elementor-element-smgrow1,.elementor-element-smgrow2,.elementor-element-smgrow3{padding:0 !important}

/* ============ BARRIEREFREIHEIT (BFSG/WCAG) ============ */
/* Sichtbarer Tastatur-Fokus (nur bei Tastatur dank :focus-visible, Maus-Klick bleibt rahmenlos) */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,
[tabindex]:focus-visible,summary:focus-visible,
.elementor-button:focus-visible,.e-filter-item:focus-visible,.skw-crumb-pill:focus-visible,
.skw-sub-toggle:focus-visible,.skw-dc:focus-visible,.skw-burger:focus-visible,.skw-drawer-close:focus-visible,
.skw-galmain:focus-visible,.skw-galthumb:focus-visible,.skw-planimg:focus-visible,.skw-lb__btn:focus-visible,
.page-numbers:focus-visible,.skw-tilelink:focus-visible{
  outline:3px solid #8cbf1f !important;outline-offset:2px !important;border-radius:4px}
/* Fallback fuer Browser ohne :focus-visible-Support: sichtbarer Fokus auf interaktiven Custom-Elementen */
.skw-galmain:focus,.skw-galthumb:focus,.skw-planimg:focus{outline:3px solid #8cbf1f;outline-offset:2px}
/* Klickbare Galerie-/Grundriss-Widgets: als Bedienelement erkennbar (Cursor) */
.skw-galmain,.skw-galthumb,.skw-planimg{cursor:zoom-in}
/* Skip-Link (WP Accessibility bzw. eigener): erst bei Fokus sichtbar, oben links */
.skip-link,a.skip-link,.wpa-skip-link,#skiplinks a{position:absolute !important;left:8px;top:-90px;z-index:100002;
  background:#04353a;color:#ffffff !important;padding:14px 22px;border-radius:0 0 10px 10px;font-weight:700;font-size:16px;line-height:1.2;
  text-decoration:none;transition:top .15s;width:auto;height:auto;clip:auto;overflow:visible;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.skip-link:focus,a.skip-link:focus,.wpa-skip-link:focus,#skiplinks a:focus{top:0;left:8px;outline:3px solid #b6d94c;outline-offset:2px}
/* Screenreader-only Utility (falls benoetigt) */
.skw-sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---- Kontrast AA (WCAG 1.4.3): gemessene Fehler behoben ---- */
/* Grün auf Petrol war 3,96:1 -> helleres Gruen (#daf29c ~4,7:1) fuer LESBAREN Text auf Petrol */
.elementor-nav-menu--main .sub-menu .elementor-sub-item{color:#daf29c !important}
.skw-drawer .elementor-item{color:#daf29c !important}
.skw-drawer .elementor-sub-item{color:#daf29c !important}
.skw-crumb-current{color:#daf29c !important}
/* Weiss auf Hellgruen (#8cbf1f) war 2,2:1 -> dunkler Text auf gruenen Pillen/aktivem Filter */
.skw-catpill,.skw-catpill .elementor-shortcode{color:#12300d !important}
.skw-taxfilter .e-filter-item[aria-pressed="true"]{background:#8cbf1f !important;color:#12300d !important}
/* Footer-Copyright #89a3a3 auf Petrol war 2,15:1 -> hell */
.skw-copyr,.skw-copyr p,.skw-copyr a{color:#e6f0f0 !important}
/* Footer-Schnelllinks (Gruen #bfe36a auf Petrol, 3,96:1) -> helleres Gruen */
.elementor-location-footer .elementor-icon-list-text,
.elementor-location-footer .elementor-icon-list-item>a,
.elementor-location-footer li a{color:#daf29c !important}
/* Footer-Adress-/Fliesstext (#b9cccc auf Petrol, 3,45:1) -> hell */
.elementor-location-footer .elementor-widget-text-editor,
.elementor-location-footer .elementor-widget-text-editor *,
.elementor-element-ft1,.elementor-element-ft1 *{color:#dfeaea !important}
/* Gruen auf WEISS (Hover/Links) war 3,9:1 -> dunkleres Gruen (#3f6a0b ~5,2:1) */
.elementor-nav-menu--main .elementor-item:hover{color:#3f6a0b !important}
/* Aktiver Menüpunkt (aktuelle Seite): Petrol statt Grün (Kundenwunsch) */
.elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-nav-menu--main .elementor-item-active .elementor-item{color:#077178 !important}
/* ---- Hero-Buttons bündig zum Fließtext (Elementor-Default-Container-Padding von 10px links raus) ---- */
.elementor-element-hmbtns{padding-left:0 !important}
/* Hero-Texte (Headline + Fließtext): einheitlich lesbar über Bild/Video.
   Statt hartem Schlagschatten ein WEICHER, breit auslaufender Scrim (radialer Dunkel-Verlauf) HINTER dem
   Textblock — dunkelt die Fläche hinter Headline+Fließtext ab und läuft transparent aus (chic, kein sichtbarer
   Schatten). Homepage-Video-Hero hat KEIN Overlay → hier trägt der Scrim die Lesbarkeit. Innerseiten (pghero/
   imprhero) haben zusätzlich ihr Gradient-Overlay; der Scrim liegt dezent darüber (einheitliche Optik). */
.elementor-element-hmheroin > .e-con-inner,
.elementor-element-pgheroin > .e-con-inner,
.elementor-element-imprheroin > .e-con-inner{position:relative}
.elementor-element-hmheroin > .e-con-inner::before,
.elementor-element-pgheroin > .e-con-inner::before,
.elementor-element-imprheroin > .e-con-inner::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:-48%;right:-14%;top:-70%;bottom:-45%;
  background:radial-gradient(58% 52% at 30% 50%,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.44) 24%,
    rgba(0,0,0,.28) 46%,
    rgba(0,0,0,.13) 66%,
    rgba(0,0,0,0) 82%);
}
.elementor-element-hmheroin > .e-con-inner > *,
.elementor-element-pgheroin > .e-con-inner > *,
.elementor-element-imprheroin > .e-con-inner > *{position:relative;z-index:1}
/* zusätzlich feine Kanten-Definition auf hellen Bildstellen (kein sichtbarer Schatten) */
.elementor-element-hmhero .elementor-heading-title,
.elementor-element-imprhero .elementor-heading-title,
.elementor-element-pghero .elementor-heading-title,
.skw-hero-lead,.skw-hero-lead *{text-shadow:0 1px 6px rgba(0,0,0,.45) !important}
/* Sitemap-Seite (415): NUR Content-Sektion pgsec zweispaltig (Hero unangetastet). Intro volle Breite;
   erzwungener Spaltenumbruch vor „Über uns" (w9) → „Wohnungen" links und „Über uns" rechts auf gleicher Höhe. */
@media(min-width:800px){
  .page-id-415 .elementor-element-pgsec > .e-con-inner{display:block !important;column-count:2;column-gap:56px}
  .page-id-415 .elementor-element-w4{-webkit-column-span:all;column-span:all;margin-bottom:6px}
  .page-id-415 .elementor-element-w9{-webkit-column-break-before:always;break-before:column}
  .page-id-415 .elementor-widget-heading{break-inside:avoid;break-after:avoid}
  .page-id-415 .elementor-widget-text-editor{break-inside:avoid}
}
.skw-prose a:hover{color:#3f6a0b !important}

/* ---- Farbe nicht als alleiniges Mittel (WCAG 1.4.1) ---- */
/* Fliesstext-Links unterstrichen (Nav/Buttons ausgenommen) */
.skw-prose a{text-decoration:underline}
/* Aktiver Filter: dunkler Text auf Gruen vs. weisser Text auf Petrol = Hell/Dunkel-Unterschied
   (nicht nur Farbton) -> erfuellt "nicht nur Farbe" ohne zusaetzlichen Rahmen. */
/* Formularfehler: nicht nur rote Umrandung -> Text + Symbol */
.skw-form .elementor-message-danger,.skw-form .elementor-field-group .elementor-error .elementor-field{border-color:#bb1111 !important}
.skw-form .elementor-error .elementor-message.elementor-help-inline{color:#a10d0d !important;font-weight:600}
.skw-form .elementor-error .elementor-message.elementor-help-inline::before{content:"26A0FE0F  ";}

/* ---- Bewegung reduzieren (WCAG 2.3.3 / prefers-reduced-motion) ---- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important}
  .skw-prose .skw-gal__main:hover img,.elementor-element-hmc1:hover,.elementor-element-hmc2:hover,
  .elementor-element-hmc3:hover,.elementor-element-hmc4:hover{transform:none !important}
}

/* ---- Reflow (WCAG 1.4.10): unter 360px darf die feste Breite den Viewport nicht sprengen ---- */
@media (max-width:360px){
  :root{--skw-cw:calc(100vw - 24px)}
  .elementor-element-hmhero,.elementor-element-imprhero,.elementor-element-pghero,.elementor-element-akthero{
    width:calc(100vw - 16px) !important;margin-left:auto !important;margin-right:auto !important}
}

/* (Alte .skw-photogal-Foto-Galerie-Regeln entfernt 2026-07-09 e — Galerien laufen jetzt über media-carousel/.skw-mcgal, .skw-photogal war tot.) *//* End custom CSS */