/* ===========================================================================
   STRUKTUR-SKELETT (nur Layout-Groessen).
   Das gesamte DESIGN - Farben, Schriften, Abstaende, Hintergruende, Buttons,
   Karten, Radien, Schatten - ist NATIV in Elementor editierbar (Stil-Tab).
   Hier stehen nur strukturelle Groessen, die Elementors Free-Container-Engine
   nicht zuverlaessig aus den Einstellungen erzeugt.
   =========================================================================== */
/* Container-Breiten erzwingen (Free-Container-Sizing kollabiert hier) */
.elementor .e-con-inner{width:100%;}
#start,#ueber,#angebot,#tagesablauf,#werte,#galerie,#stimmen,#kontakt,#footer,
#hero-in,#ueber-in,#angebot-in,#tag-in,#werte-in,#galerie-in,#stimmen-in,#kontakt-in,#footer-in,
#angebot-grid,#werte-grid,#stimmen-grid,#about-wrap,#contact-wrap,#tag-grid{width:100%;}
/* Hero: Hoehe + Verdunkelung */
#start{min-height:86vh;position:relative;}
#start > .e-con-inner,#start > .e-con{position:relative;z-index:1;}
#start::before{content:"";position:absolute;inset:0;background:rgba(31,28,24,.5);z-index:0;pointer-events:none;}
/* Spaltenbreiten (Flex-Kinder) */
#angebot-grid > .e-con,#werte-grid > .e-con{flex:0 1 30%;max-width:30%;min-width:0;}
#stimmen-grid > .e-con{flex:0 1 31%;max-width:31%;min-width:0;}
#about-wrap > .e-con{flex:1 1 calc(50% - 28px);max-width:calc(50% - 28px);min-width:0;}
#contact-wrap > .e-con{min-width:0;}
#contact-wrap > .e-con:first-child{flex:0 1 36%;}
#contact-wrap > .e-con:last-child{flex:0 1 56%;}
/* Tagesablauf: Zeit fix, Text flexibel */
#tag-grid .kb-time{flex:0 0 96px;}
#tag-grid .e-con > .e-con{flex:1 1 auto;}
@media(max-width:900px){
  #angebot-grid > .e-con,#werte-grid > .e-con,#stimmen-grid > .e-con,#about-wrap > .e-con,#contact-wrap > .e-con{flex:1 1 100%;max-width:100%;}
}
/* Galerie-Mosaik */
#galerie-grid{display:grid !important;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:16px;}
#galerie-grid > .elementor-widget-image{margin:0;overflow:hidden;border-radius:16px;box-shadow:0 10px 30px rgba(51,48,43,.10);height:100%;}
#galerie-grid > .elementor-widget-image .elementor-widget-container,#galerie-grid > .elementor-widget-image figure,#galerie-grid > .elementor-widget-image a{height:100%;margin:0;}
#galerie-grid > .elementor-widget-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
#galerie-grid > .elementor-widget-image:hover img{transform:scale(1.06);}
#galerie-grid > .elementor-widget-image:nth-child(1){grid-column:span 2;grid-row:span 2;}
#galerie-grid > .elementor-widget-image:nth-child(4){grid-row:span 2;}
.kb-about__img img{border-radius:20px;aspect-ratio:4/5;object-fit:cover;width:100%;display:block;}
@media(max-width:900px){#galerie-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;}#galerie-grid > .elementor-widget-image:nth-child(1){grid-column:span 2;}}
@media(max-width:560px){#galerie-grid > .elementor-widget-image:nth-child(1){grid-row:span 1;}}