.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-b157690:#E7B041;--e-global-color-9093789:#343434;--e-global-color-60c63b0:#004B30;--e-global-color-792dda4:#3D3C3A;--e-global-color-feded08:#AD8923;--e-global-color-f69b5f6:#FFFFFF;--e-global-color-6ff6266:#1A211F;--e-global-typography-primary-font-family:"Source sans 3 lokal";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Source sans 3 lokal";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Source sans 3 lokal";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.3em;--e-global-typography-accent-font-family:"Source sans 3 lokal";--e-global-typography-accent-font-weight:700;--e-global-typography-91d463f-font-family:"Source sans 3 lokal";--e-global-typography-91d463f-font-size:68px;--e-global-typography-91d463f-font-weight:300;--e-global-typography-91d463f-line-height:1em;--e-global-typography-d029d4c-font-family:"Source sans 3 lokal";--e-global-typography-d029d4c-font-size:30px;--e-global-typography-d029d4c-font-weight:300;--e-global-typography-d029d4c-line-height:1.2em;--e-global-typography-eb38104-font-family:"Source sans 3 lokal";--e-global-typography-eb38104-font-size:58px;--e-global-typography-eb38104-font-weight:300;--e-global-typography-eb38104-line-height:1em;--e-global-typography-49814bc-font-family:"Source sans 3 lokal";--e-global-typography-49814bc-font-size:24px;--e-global-typography-49814bc-font-weight:300;--e-global-typography-49814bc-line-height:1.3em;--e-global-typography-0d7d65b-font-family:"Source sans 3 lokal";--e-global-typography-0d7d65b-font-size:32px;--e-global-typography-0d7d65b-font-weight:300;--e-global-typography-0d7d65b-line-height:1em;--e-global-typography-d6b6041-font-family:"Source sans 3 lokal";--e-global-typography-d6b6041-font-size:19px;--e-global-typography-d6b6041-font-weight:400;--e-global-typography-d6b6041-line-height:1.3em;--e-global-typography-1fb7874-font-family:"Source sans 3 lokal";--e-global-typography-1fb7874-font-size:24px;--e-global-typography-1fb7874-font-weight:300;--e-global-typography-1fb7874-line-height:1.2em;--e-global-typography-771d731-font-family:"Source sans 3 lokal";--e-global-typography-771d731-font-size:58px;--e-global-typography-771d731-font-weight:900;--e-global-typography-771d731-line-height:1em;background-color:var( --e-global-color-9093789 );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1330px;}.e-con{--container-max-width:1330px;}.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{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-91d463f-font-size:56px;--e-global-typography-91d463f-line-height:1.1em;--e-global-typography-d029d4c-font-size:28px;--e-global-typography-d029d4c-line-height:1.1em;--e-global-typography-eb38104-font-size:46px;--e-global-typography-eb38104-line-height:1.1em;--e-global-typography-49814bc-font-size:22px;--e-global-typography-49814bc-line-height:1.2em;--e-global-typography-0d7d65b-font-size:30px;--e-global-typography-0d7d65b-line-height:1.1em;--e-global-typography-d6b6041-font-size:19px;--e-global-typography-d6b6041-line-height:1.2em;--e-global-typography-1fb7874-font-size:20px;--e-global-typography-771d731-font-size:46px;--e-global-typography-771d731-line-height:1.1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-91d463f-font-size:46px;--e-global-typography-d029d4c-font-size:26px;--e-global-typography-d029d4c-line-height:1.1em;--e-global-typography-eb38104-font-size:40px;--e-global-typography-eb38104-line-height:1.1em;--e-global-typography-49814bc-font-size:20px;--e-global-typography-49814bc-line-height:1.3em;--e-global-typography-0d7d65b-font-size:28px;--e-global-typography-0d7d65b-line-height:1.1em;--e-global-typography-d6b6041-font-size:19px;--e-global-typography-d6b6041-line-height:1.1em;--e-global-typography-1fb7874-font-size:19px;--e-global-typography-771d731-font-size:40px;--e-global-typography-771d731-line-height:1.1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.home .logo{
    display:none;
}
.home.fullscreen-open .logo {
  display: block !important;
}
.elementor-nav-menu--dropdown {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}
header, .elementor-location-header {
    position: relative;
    z-index: 999999;
}
#fullscreen-nav {
    position: fixed;
    inset: 0;
    background: #004B30;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: opacity .4s ease, visibility .4s ease;
    z-index: 9999 !important;
}

#fullscreen-nav.active {
    opacity: .9;
    visibility: visible;
    pointer-events: auto;
}

#fullscreen-nav .close-nav {
    position: absolute;
    top: 40px;
    right: 40px;
    font-size: 60px;
    cursor: pointer;
}

#fullscreen-nav .nav-inner {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

#fullscreen-nav .nav-inner a {
   font-family: "Source sans 3 lokal";    
    font-size: 32px;
    font-weight: 300;
    color: #fff;
    text-decoration: none;
}

#fullscreen-nav {
    display: block!important;
    justify-content: flex-start;
    align-items: flex-start;
    padding-top: 160px;
    width: 100%;
}
#fullscreen-nav .nav-inner {
    /*max-width: 1370px;*/
    max-width: 1250px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: left;
    align-items: flex-start; 
}
.elementor-menu-toggle{
    padding:0!important;
}
/* toTop */
.to-top-btn {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(0,0,0,0.6);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;

  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
  z-index: 999;
}

.to-top-btn.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.to-top-btn:hover {
  background: rgba(0,0,0,0.8);
}
@media (max-width: 767px) {
  .to-top-btn {
    width: 40px;
    height: 40px;
    right: 16px;
    bottom: 16px;
  }
}



h1 strong,
h2 strong{
    font-weight: 900;
}
h3 strong{
    font-weight: 700;
}
a strong,
p strong{
    font-weight: 700;
}
.white a {
    color: #ffffff !important;
    transition: color 0.3s ease;
}

.arrow a {
    position: relative;
    padding-left: 22px;
    text-decoration: none;
    display: inline-block;
}

.arrow a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);

    width: 14px;
    height: 14px;

    background-color: currentColor;

    mask: url("/wpl/wp-content/uploads/icons/arrow.svg") no-repeat center;
    mask-size: contain;

    -webkit-mask: url("/wpl/wp-content/uploads/icons/arrow.svg") no-repeat center;
    -webkit-mask-size: contain;
}


.animated_underline a strong,
#fullscreen-nav .nav-inner a{
    position: relative;
    text-decoration: none !important;
}
#fullscreen-nav .nav-inner a{
    display: inline-block;
}    
.animated_underline a strong::before,
#fullscreen-nav .nav-inner a::before{
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background-color: rgba(255,255,255,0.4);
}

.animated_underline a strong::after,
#fullscreen-nav .nav-inner a::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0%; 
    height: 3px;
    background-color: #e7b041; 
    transition: width 0.35s ease;
}

.animated_underline a:hover strong::after,
#fullscreen-nav .nav-inner 
a:hover::after,
#fullscreen-nav .nav-inner 
a.active::after{
    width: 100%;
}
.nav-inner a{
     transition: color 0.25s ease;
}
.nav-inner a.active,
.nav-inner a:hover{
    color: #e7b041!important;
}
.white a:hover {
    color: #e7b041 !important;
}
.green a,
.green a:hover {
    color: #004B30 !important;
}
.orange a,
.orange a:hover {
    color: #e7b041 !important;
}
.bg_orange p{
    padding:0!important;
    margin-block-end: 0!important;
}
.bg_orange{
    background-color: #e7b041 !important;
    padding:5px 10px;
    transition: transform 0.6s ease;
    transform: scale(1);    
}
.bg_orange:hover{
    background-color: #d6a030 !important;
    padding:5px 10px;
    transform: scale(1.05);
}
.strong900 a strong{
    font-weight: 900;
}

.teaser-text {
    opacity: 0;
    transition: opacity 0.45s ease, background-color 0.45s ease;
    pointer-events: none;
    position: absolute;
    inset: 0;
    padding:0 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 120, 130, 0);
   
}
.teaser-text.elementor-widget-text-editor,
.teaser-text p,
.teaser-text span,
.teaser-text *{
    opacity: 0;
    transition: opacity 0.45s ease;
}
.mitarbeiter strong{
    text-transform: uppercase!important;
}
.mitarbeiter .teaser-text{
    padding:0 20px!important;
}
.mitarbeiter .teaser-text p{
    text-align: center!important;
}    
.mitarbeiter:hover .teaser-text,
.e-loop-item:hover .teaser-text {
    opacity: 1;
    background-color: rgb(0, 75, 48, 0.50);
}
.mitarbeiter:hover .teaser-text.elementor-widget-text-editor,
.mitarbeiter:hover .teaser-text p,
.mitarbeiter:hover .teaser-text span,
.mitarbeiter:hover .teaser-text *,
.e-loop-item:hover .teaser-text.elementor-widget-text-editor,
.e-loop-item:hover .teaser-text p,
.e-loop-item:hover .teaser-text span,
.e-loop-item:hover .teaser-text * {
    opacity: 1;
}
.elementor-location-footer a{
    color: #004B30 !important;
    transition: text-shadow 0.25s ease;
    text-shadow: none;
}
.elementor-location-footer a:hover{
    text-shadow: 
        0 0 1px currentColor,
        0 0 1px currentColor;
}    
@media (max-width: 767px) {
    #offcanvas-sticky {
        display: none!important;
    }    
}    
#offcanvas-sticky {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 300px;
    height: 250px;
    right: -260px;
    background: #E7B041;
    color: #004B30;
    padding: 20px;
    transition: right 0.35s ease;
    z-index: 999999;
    display: flex;
    flex-direction: row; 
    align-items: center;
    gap: 20px;      
}

#offcanvas-sticky:hover {
    right: 0;
}
#offcanvas-sticky .sb-btn{
    transform: rotate(-90deg);
    transform-origin: center center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 0px; 
    white-space: nowrap;
}
.sb-btn{
    font-family: "Source sans 3 lokal";
    font-size:24px;
    font-weight:300;
}
.sb-btn strong{
    font-weight:900;
}
.sb-panel{
  padding: 0 20px;  
}
.sb-panel,
.sb-panel a{
  font-family: "Source sans 3 lokal";
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1em;
  color:#004B30;
}
.sb-panel a:hover{
    color:#226D52;
}
/* Timeline */
.timeline{
    
}
.passepartout{
  padding-inline: 80px!important;
  position: relative!important;
}
@media (max-width: 767px) {
  .passepartout {
    padding-inline: 20px!important;
  }
}
.timeline_scroll {
  overflow-x: auto!important;
  overflow-y: visible!important;
  /* Firefox */
  scrollbar-width: none;
  /* Internet Explorer / Edge Legacy */
  -ms-overflow-style: none  
}
/* Chrome / Safari / Edge (Chromium) */
.timeline_scroll::-webkit-scrollbar {
  display: none;
}
.timeline_track {
  display: grid!important;
  grid-auto-flow: column!important;
  grid-auto-columns: minmax(400px, 1fr)!important;
  width: max-content!important;
  min-width: 100%!important;
  flex: 0 0 auto!important;
  margin: 0!important;
}
.timeline-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;                 
}
.timeline-btn-prev {
  right: 120px;
}

.timeline-btn-next {
  right: 80px;
}

@media (max-width: 767px) {

  .timeline_scroll {
    align-items: stretch !important;
  }  
  .passepartout { padding-inline: 20px; }

  .timeline_track {
    grid-auto-columns: minmax(260px, 1fr);
    column-gap: 16px;
  }

  .timeline-btn {
    top: 16px;
    transform: none;
  }

  .timeline-btn-prev { right: 56px; }
  .timeline-btn-next { right: 16px; }  
}
@media (max-width: 767px) {
  .is-firefox .oberer-footer{
     padding-bottom:50px!important;   
  }
}

/* Kontakt */
.elementor-mark-required .elementor-field-label::after {
  color: #E7B041!important;
  padding-inline-start: .2em;
}
.elementor-field-group{
    padding-left:0!important;
}
.elementor-form h2{
    color: #E7B041!important;
    font-family:
   "Source sans 3 lokal"!important;
   font-weight:900!important;
   font-size:32px!important;
   margin-block-start:auto!important;
   margin-block-end:0px!important;   
}
.elementor-field-type-html{
    margin:0!important;
    color:#ffffff!important;
}
.elementor-form .small{
    font-size:14px!important;
    display: block!important;
    line-height: 1.2em!important;
    font-weight: 400 !important;
}
.spacer15{
    height:15px;
    padding:0!important;
    margin:0!important;
}
.elementor-widget-form .elementor-field-subgroup label {
    font-size:24px!important;
    line-height: 1em!important;
    font-weight: 300 !important;
    vertical-align: super!important;
}
.elementor-field-type-acceptance.elementor-field-group label{
    font-size:16px!important;
    line-height: 1.2em!important;
    font-weight: 400 !important;    
    vertical-align: inherit!important;
}



.elementor-field-type-radio input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  width: 28px!important;
  height: 28px!important;
  border: 2px solid #E7B041!important;
  border-radius: 0px!important;
  margin-right: 10px!important;
  display: inline-grid!important;
  place-content: center!important;
  cursor: pointer!important;
}
.elementor-field-type-radio input[type="radio"]:checked {
  background-color: #E7B041!important;
  border-color: #E7B041!important;
}
.elementor-field-type-radio input[type="radio"]:checked::before {
  content: ""!important;
  width: 28px!important;
  height: 28px!important;
  background: #E7B041!important;
  display: block!important;
}
.elementor-field-type-radio input[type="radio"]:focus-visible {
  outline: 2px solid #E7B041!important;
  outline-offset: 3px;
}
.elementor-field-type-radio input[type="radio"]:hover {
    background:#c59020!important;
  border-color: #c59020!important;
}
.elementor-field-option{
    margin-bottom: 20px!important;
}
.elementor-form .elementor-button{
   position: relative;
   padding-left: 22px;
   text-decoration: none; 
   color: #004B30 !important;
    background-color: #e7b041 !important;
    padding:5px 10px;
    transition: transform 0.6s ease;
    transform: scale(1);    
    font-weight: 900;

}
.elementor-form b,
.elementor-form .elementor-button b{
    font-weight:600!important;
}
.elementor-form .elementor-button:hover{
    background-color: #d6a030 !important;
    padding:5px 10px;
    transform: scale(1.05);
}
.elementor-field-label{
    padding-bottom:5px!important;
}
.elementor-message-success{
    color: #E7B041!important;
    font-family:
   "Source sans 3 lokal"!important;
   font-weight:900!important;
   font-size:32px!important;
}
    .spacerMobil15 {
        height:0px!important;
    }       
@media (max-width: 1024px) {
    .elementor-message-success{
        font-size:24px!important;
    }    
    .elementor-field-group{
        margin-bottom: 20px!important;
    }
    .spacer15 {
        height:0!important;
    }   
    .spacerMobil15 {
        height:15px!important;
    }       
    .elementor-widget-form .elementor-field-subgroup label {
      font-size:20px!important;
      line-height: 1em!important;
      vertical-align: top!important;
    }
    .elementor-widget-form .elementor-field-type-acceptance.elementor-field-group label {
      font-size:16px!important;
      vertical-align: initial !important;
    }  
    .elementor-field-type-radio input[type="radio"] {
      width: 20px!important;
      height: 20px!important;
      margin-right: 5px!important;
    }
    .elementor-field-type-radio input[type="radio"]:checked::before {
      width: 20px!important;
      height: 20px!important;
    }
    .elementor-widget-form .elementor-field-subgroup label {
      vertical-align: top!important;
    }
    .elementor-form h2 {
      font-size: 22px !important;
    }  
    .elementor img.dachfenster {
      max-width: 40%!important;
    }    
  .elementor-field-type-html:has(.typenschild-start),
  .elementor-field-type-html:has(.typenschild-end),
  .elementor-field-type-html:has(.sidebar-end),
  .elementor-field-type-html:has(.foto-start) {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
  }    
}   
.anfrage .e-form__buttons {
  width: 300px !important;
}
.kontakt .e-form__buttons {
  width: 200px !important;
}
@media (max-width: 768px) {
    .anfrage .e-form__buttons {
      width: 270px !important;
    }
    .kontakt .e-form__buttons {
      width: 200px !important;
    }
}
/* =========================================================
   FORMULAR – GESAMTLAYOUT + UPLOAD-GRID
   ========================================================= */

/* ---------- Spaltenlayout ---------- */
.form-columns {
  display: grid;
  grid-template-columns: 54% 40%;
  column-gap: 100px;
  align-items: start;
}
.form-sidebar {
  padding: 0px 20px;
  max-width: 360px;
}
/* ---------- Hauptspalte ---------- */
.form-main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 20px;
}

/* Standard: volle Breite */
.form-main > .elementor-field-group {
  grid-column: 1 / -1;
  margin-bottom: 16px;
}

/* Erste vier Felder 2×2 */
.form-main > .elementor-field-group:nth-child(1),
.form-main > .elementor-field-group:nth-child(2),
.form-main > .elementor-field-group:nth-child(3),
.form-main > .elementor-field-group:nth-child(4) {
  grid-column: auto;
}

/* ---------- Sidebar ---------- */
.form-sidebar > .elementor-field-group {
  margin-bottom: 16px;
}

/* =========================================================
   UPLOAD-GRID (3 Kacheln)
   ========================================================= */

.upload-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 20px;
  margin-bottom: 24px;
}

/* Upload-Feld intern */
.upload-grid .elementor-field-type-upload {
  display: grid;
  grid-template-rows: auto 200px;
  row-gap: 10px;
}

/* Upload-Kachel */
.upload-tile {
  width: 100%;
  /*height: 200px;*/
  aspect-ratio: 1 / 1;
  background-color: #f4f4f4;
  background-image: url("http://new.lautenschlager-holzbau.de/wpl/wp-content/uploads/2026/02/Uploag_ICN_cccccc.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 80px 80px;
  border: 1px dashed #ccc;
  cursor: pointer;
  position: relative;
}
.upload-grid .elementor-field-type-upload {
  display: grid;
  grid-template-rows: auto 1fr;
  row-gap: 10px;
}
/* Hover */
.upload-tile:hover {
  border-color: #999;
}

/* Nach Upload */
.upload-tile.has-image {
  background-size: cover;
  background-position: center;
}

/* Native Upload-UI ausblenden */
.elementor-field-type-upload input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .form-columns {
    grid-template-columns: 1fr;
  }

  .form-main {
    grid-template-columns: 1fr;
  }

  .upload-grid {
    grid-template-columns: 1fr;
  }

}

/* =========================================================
   VISIBILITY HELPERS
   ========================================================= */

.is-hidden {
  display: none !important;
}

/* Stellenangebote */

.stellen .orange{
    color:#E7B041!important;
    font-weight:600!important;
}

.stellen.elementor-widget-n-accordion .e-n-accordion-item-title-icon {
    position: absolute!important;
    right: 0px!important;
    top: 17px!important;
}

/* Aktuelles */
.projekt-meta-block,
.projekt-meta-block a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 500!important;
  font-size:16px;
  line-height: 1.3em!important;
}
.projekt-meta-block a:hover {
  color: #E7B041;
}

.l-arrow {
  width: 14px;
  height: 14px;
  vertical-align: middle;
  transition: color 0.2s ease;
}

/* Default weiß */
.l-popular-list a {
  color: #ffffff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Hover orange */
.l-popular-list a:hover {
  color: #E7B041;
}
.no_bullets ul,
.l-popular-list{
  list-style: none;
  margin: 0;
  padding: 0;    
}
.no_bullets li,
.l-popular-list li {
  margin-bottom: 10px;
}
.e-filter-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.2s ease;
}

/* Pfeil voranstellen */
.e-filter-item::before {
  content: "";
  width: 14px;
  height: 14px;
  background-color: currentColor;

  mask: url("/wpl/wp-content/uploads/icons/arrow.svg") no-repeat center;
  mask-size: contain;

  -webkit-mask: url("/wpl/wp-content/uploads/icons/arrow.svg") no-repeat center;
  -webkit-mask-size: contain;

  flex-shrink: 0;
}

/* Hover orange */
.e-filter-item:hover {
  color: #E7B041;
}

/* Aktiver Zustand */
.e-filter-item[aria-pressed="true"] {
  color: #E7B041;
}

.credits-list{
    color:#ffffff!important;
}
.credits-list .bold{
    font-weight:700!important;   
}
.credits-list a{
    color: #E7B041!important;
    text-decoration: none;
    transition: text-shadow 0.2s ease;
}

.credits-list a:hover {
    text-shadow:
        0 0 0.01px currentColor,
        0 0 0.01px currentColor;
}

/* Hover Abdunklung */
/* ================================
   ACF CUSTOM GALLERY
================================ */

/* Basis */
.acf-gallery-container {
    width: 100%;
}

/* ================================
   MASONRY (CSS COLUMN)
================================ */

.acf-gallery-masonry {
    column-count: var(--columns);
    column-gap: var(--hgap);
}

.acf-gallery-masonry .acf-gallery-item {
    break-inside: avoid;
    margin-bottom: var(--vgap);
    display: block;
    position: relative;
}

/* ================================
   GRID VARIANTE
================================ */

.acf-gallery-grid {
    display: grid;
    grid-template-columns: repeat(var(--columns), 1fr);
    gap: var(--vgap) var(--hgap);
}

/* ================================
   IMAGE
================================ */

.acf-gallery-image {
    width: 100%;
    background-size: cover;
    background-position: center;
    transition: transform .4s ease;
}

/* Hover Zoom */


/* ================================
   OVERLAY
================================ */

.acf-gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    transition: background .3s ease;
}

.acf-gallery-item:hover .acf-gallery-overlay {
    background: rgba(0,0,0,0.35);
}

/* ================================
   RESPONSIVE
================================ */

@media (max-width: 1024px) {
    .acf-gallery-masonry {
        column-count: var(--columns-tablet);
    }

    .acf-gallery-grid {
        grid-template-columns: repeat(var(--columns-tablet), 1fr);
    }
}

@media (max-width: 767px) {
    .acf-gallery-masonry {
        column-count: var(--columns-mobile);
    }

    .acf-gallery-grid {
        grid-template-columns: repeat(var(--columns-mobile), 1fr);
    }
}

.dialog-type-lightbox {
    z-index: 999999!important;
}    

@media (max-width: 767px) {

    .acf-gallery-masonry {
        column-count: unset;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--vgap) var(--hgap);
        padding-bottom: 0px;
    }

    .acf-gallery-item {
        margin-bottom: 0;
        width: auto!important;
        break-inside: unset;
     
    }
    .acf-gallery-image{
       min-height:150px!important;
    }
    .acf-gallery-masonry .acf-gallery-item {
       margin-bottom: 0!important;
    }
    .acf-layout-bildergalerie  .e-con.e-flex {
      --flex-wrap: nowrap !important;
    } 
}


/* TAG - SUCHE */
.nobold{
    font-weight:300!important;
}
.e-loop-nothing-found-message{
    text-align: left!important;
}
.elementor-widget-loop-grid .e-loop-nothing-found-message {
  color:#E7B041!important;
  font-family:"Source Sans 3 lokal"!important;
  font-size:20px!important;
  font-weight:300!important;
  line-height:1.2em!important;
}

/* PAGINATION */
.elementor-pagination{
    padding-top:100px;
}
.page-numbers.current{
    background-color:#E7B041!important;
    padding: 0px 10px!important;    
    border:1px solid #E7B041!important;
}
.page-numbers{
    background-color:#ffffff!important;
    padding: 0px 10px!important;
    border:1px solid #E7B041!important;    
}
.page-numbers:hover{
    background-color:#E7B041!important;
}
.elementor-pagination .page-numbers{
  margin: 0 -2px !important;
}

/* Datenschutz */
.datenschutz h2, .datenschutz h3{
    color:#E7B041!important;
    padding:0!important;
    margin:0!important;
}
.datenschutz h2{
    margin-top:40px!important;
}
.datenschutz h3{
    margin-top:20px!important;
}
.datenschutz h4{
    color:#E7B041!important;
    margin:0px!important;
    margin-top:10px!important;    
}
.datenschutz a{
    color: #ffffff !important;
    transition: color 0.3s ease;
    position: relative;
    padding-left: 22px;
    text-decoration: none;
    display: inline-block;
}
.datenschutz a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);

    width: 14px;
    height: 14px;

    background-color: currentColor;

    mask: url("/wpl/wp-content/uploads/icons/arrow.svg") no-repeat center;
    mask-size: contain;

    -webkit-mask: url("/wpl/wp-content/uploads/icons/arrow.svg") no-repeat center;
    -webkit-mask-size: contain;
}
.datenschutz a:hover{
  color:#E7B041!important; 
}  
.datenschutz ul{
    margin:0 0 10px 0 !important;
    padding: 0 0 0 20px!important;
}
.datenschutz li{
    padding-bottom:  5px!important;
}
@media (max-width: 767px) {
  .datenschutz .elementor-widget-text-editor{
    font-weight: 300!important;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Source sans 3 lokal';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://www.lautenschlager-holzbau.de/wpl/wp-content/uploads/2025/11/source-sans-3-v19-latin-200.woff2') format('woff2');
}
@font-face {
	font-family: 'Source sans 3 lokal';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://www.lautenschlager-holzbau.de/wpl/wp-content/uploads/2025/11/source-sans-3-v19-latin-300.woff2') format('woff2');
}
@font-face {
	font-family: 'Source sans 3 lokal';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.lautenschlager-holzbau.de/wpl/wp-content/uploads/2025/11/source-sans-3-v19-latin-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Source sans 3 lokal';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://www.lautenschlager-holzbau.de/wpl/wp-content/uploads/2025/11/source-sans-3-v19-latin-700.woff2') format('woff2');
}
@font-face {
	font-family: 'Source sans 3 lokal';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://www.lautenschlager-holzbau.de/wpl/wp-content/uploads/2025/11/source-sans-3-v19-latin-900.woff2') format('woff2');
}
/* End Custom Fonts CSS */