/*
Theme Name:   GeneratePress Child
Theme URI:    https://generatepress.com
Description:  Child theme for GeneratePress
Author:       
Author URI:   
Template:     generatepress
Version:      1.0.0
*/

*, *::before, *::after { box-sizing: border-box !important; }

/* === Prevent horizontal scroll from GSAP animations === */
html, body { overflow-x: hidden !important; }

#Uber-uns { position: relative; z-index: 2; }

/* === BENTO GALLERY cross-browser fix (Safari + all browsers) ===
   Safari clips overflow:visible on flex containers.
   Fix: cells = display:block + position:relative + overflow:hidden
        images = position:absolute + explicit top/right/bottom/left
   ================================================================ */

.gallery-grid {
    grid-template-rows: 320px 320px !important;
    grid-auto-rows: 320px !important;
    align-items: stretch !important;
}
.gallery-grid .w-layout-cell {
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    min-height: 0 !important;
}
.gallery-grid .gallery-image {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    flex: none !important;
    max-width: none !important;
    border-radius: 4px !important;
}
@media screen and (max-width: 1280px) {
    .gallery-grid { grid-template-rows: 270px 270px !important; grid-auto-rows: 270px !important; }
}
@media screen and (max-width: 991px) {
    .gallery-grid { grid-template-rows: 220px 220px !important; grid-auto-rows: 220px !important; }
}
@media screen and (max-width: 767px) {
    .gallery-grid {
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: repeat(3, 180px) !important;
        grid-auto-rows: 180px !important;
    }
    .gallery-grid .w-layout-cell { grid-column: span 1 !important; }
}
@media screen and (max-width: 479px) {
    .gallery-grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: repeat(6, 180px) !important;
        grid-auto-rows: 180px !important;
    }
    .gallery-grid .w-layout-cell { grid-column: span 1 !important; }
}

/* === Mobile nav: header bar always on top of overlay === */
.navbar-wrapper { position: relative !important; z-index: 2 !important; }

/* === Mobile nav overlay === */
.w-nav-overlay { will-change: height; z-index: 1 !important; backface-visibility: hidden; -webkit-backface-visibility: hidden; }

@media screen and (max-width: 479px) {
    .nav-menu { height: auto !important; justify-content: flex-start !important; }
    .contact-data.nav { margin-top: 32px; }
}

/* === Mobile nav button: no position shift between open/closed states ===
   Webflow sets different margin-right for .w--open vs closed — fix both
   ======================================================================= */
@media screen and (max-width: 991px) {
    .menu-button.w--open { margin-right: var(--_dimensions---margin--s) !important; }
}
@media screen and (max-width: 479px) {
    .menu-button.w--open { margin-right: 2% !important; }
}

/* === Active language link === */
.nav-link.active { color: var(--tertiary--light-gold) !important; }

/* === Mobile nav SVG icons === */
.contact-data.nav img {
    filter: brightness(0) invert(1) !important;
    width: 24px !important;
    height: 24px !important;
    display: block !important;
}
.contact-data.nav img[alt="Phone icon"] { content: url('https://web.karsar.de/wp-content/uploads/2026/05/Phone.svg'); }
.contact-data.nav img[alt="E-mail icon"] { content: url('https://web.karsar.de/wp-content/uploads/2026/05/Mail.svg'); }
.contact-data.nav img[alt="Address icon"] { content: url('https://web.karsar.de/wp-content/uploads/2026/05/Map_Pin.svg'); }

/* === Hero section === */
.hero-section { position: relative !important; }
