.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* Volle Breite: Astra-Rahmen aufheben */
.site-content > .ast-container{max-width:none!important;padding-left:0!important;padding-right:0!important;margin:0!important;}
.site-content #primary{margin:0!important;padding:0!important;width:100%!important;}
/* Einheitliche Ueberschriften */
.elementor h1.e-heading-base{font-family:'Roboto Slab',serif!important;font-size:clamp(40px,5vw,68px)!important;line-height:1.08!important;font-weight:600!important;}
.elementor h2.e-heading-base{font-family:'Roboto Slab',serif!important;font-size:clamp(30px,3.6vw,46px)!important;line-height:1.15!important;font-weight:600!important;}
.elementor h3.e-heading-base,.elementor .cs-card h2.e-heading-base,.elementor .cs-glass-red h2.e-heading-base{font-family:'Roboto Slab',serif!important;font-size:clamp(22px,2.2vw,28px)!important;line-height:1.22!important;font-weight:600!important;}
.home .elementor .cs-card h2.e-heading-base{font-size:clamp(26px,3vw,38px)!important;}
/* Banner der Unterseiten: Text links, vertikal mittig */
body:not(.home) .cs-hero{justify-content:center!important;padding-top:120px!important;padding-bottom:120px!important;}
@media (max-width:767px){body:not(.home) .cs-hero{padding-top:100px!important;padding-bottom:60px!important;}}
/* Unterueberschrift im Glas-Look mit Logo-Punkt */
.cs-pill::before{content:'';display:inline-block;flex:none;width:16px;height:16px;border-radius:50%;background:url(/wp-content/uploads/2026/09/logo-punkt-klein.png) center/contain no-repeat;margin-right:10px;}
/* Glas-Kopfzeile beim Scrollen, versteckt sich beim Runterscrollen */
.cs-hdr{transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform;}
.cs-hdr.cs-hdr-hidden{transform:translateY(-120%);}
@supports (animation-timeline: scroll()){.cs-hdr{animation:csHdr linear both;animation-timeline:scroll(root);animation-range:0px 140px;}}
@keyframes csHdr{from{background-color:rgba(13,13,13,0);backdrop-filter:blur(0px);box-shadow:0 0 0 rgba(0,0,0,0);}to{background-color:rgba(13,13,13,.55);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(0,0,0,.18);}}
@supports not (animation-timeline: scroll()){.cs-hdr{background-color:rgba(13,13,13,.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}}
.page-id-956 .cs-hdr,.page-id-957 .cs-hdr,.page-id-958 .cs-hdr{animation:none!important;background-color:rgba(13,13,13,.6)!important;backdrop-filter:blur(16px)!important;}
/* Scroll-Fuellung nur fuer Zitate */
.cs-quote-text{color:rgba(255,255,255,.3)!important;background-image:linear-gradient(to right,#fff,#fff);background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;background-size:0% 100%;}
@supports (animation-timeline: view()){.cs-quote-text{animation:csFill linear both;animation-timeline:view();animation-range:cover 25% cover 60%;}}
@supports not (animation-timeline: view()){.cs-quote-text{background-size:100% 100%;}}
@keyframes csFill{from{background-size:0% 100%;}to{background-size:100% 100%;}}
/* Pulsierender Punkt */
.cs-pulse{animation:csPulse 2s ease-out infinite;}
@keyframes csPulse{0%{box-shadow:0 0 0 0 rgba(195,57,50,.7);}70%{box-shadow:0 0 0 14px rgba(195,57,50,0);}100%{box-shadow:0 0 0 0 rgba(195,57,50,0);}}
/* Call-to-Action waechst beim Scrollen */
@supports (animation-timeline: view()){.cs-cta{animation:csGrow linear both;animation-timeline:view();animation-range:entry 0% cover 50%;transform-origin:center bottom;}}
@keyframes csGrow{from{transform:translateY(70px) scale(.9);}to{transform:translateY(0) scale(1);}}
/* Menue: volle Breite ohne Ueberstand, Schliessen-Knopf */
#elementor-popup-modal-1020 .dialog-widget-content{width:100%!important;max-width:100%!important;}
#elementor-popup-modal-1020 .dialog-close-button{top:28px!important;right:56px!important;width:60px;height:60px;display:flex!important;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;transition:all .25s;}
#elementor-popup-modal-1020 .dialog-close-button:hover{background:#c33932;border-color:#c33932;}
#elementor-popup-modal-1020 .dialog-close-button i{font-size:24px!important;color:#fff!important;}
#elementor-popup-modal-1020 .dialog-close-button svg{width:24px!important;height:24px!important;fill:#fff!important;}
@media (max-width:767px){#elementor-popup-modal-1020 .dialog-close-button{top:18px!important;right:20px!important;width:52px;height:52px;}}
@media (prefers-reduced-motion: reduce){.cs-pulse,.cs-cta,.cs-quote-text,.cs-hdr{animation:none!important;transition:none!important;}.cs-quote-text{background-size:100% 100%;}}
/* Boxen heben sich beim Hovern leicht an (nicht die gestapelten Karten) */
.cs-box,.cs-card,.cs-glass-red,[data-elementor-type="wp-page"] a.e-con{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s cubic-bezier(.2,.7,.2,1);}
@media (hover:hover){:is(.cs-box,.cs-card,.cs-glass-red,[data-elementor-type="wp-page"] a.e-con):not(.cs-box-grid > .cs-box,.home .cs-container > .cs-card):hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.14)!important;}}
@media (prefers-reduced-motion:reduce){.cs-box:hover,.cs-card:hover,.cs-glass-red:hover,[data-elementor-type="wp-page"] a.e-con:hover{transform:none!important;}}
/* Kontakt: Karte (Zwei-Klick) */
.cs-map{background-image:radial-gradient(rgba(13,13,13,.09) 1.2px,transparent 1.2px);background-size:18px 18px;}
.cs-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2;}
.cs-map.cs-map-on > :not(iframe){visibility:hidden;}/* End custom CSS */