.elementor-kit-9{--e-global-color-primary:#282828;--e-global-color-secondary:#F8F7F4;--e-global-color-text:#4E4E4D;--e-global-color-accent:#A49474;--e-global-color-1077bba:#F8F7F4;--e-global-color-c63d415:#282828;--e-global-color-a80add9:#F8F7F4;--e-global-color-9354d9b:#A49474;--e-global-color-2336e82:#4E4E4D;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{color:var( --e-global-color-primary );}.elementor-kit-9 h1{color:var( --e-global-color-accent );}.elementor-kit-9 h2{color:var( --e-global-color-accent );}.elementor-kit-9 h3{color:var( --e-global-color-accent );}.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 *//* =========================================================
   BLK – STICKY STACKING CARDS (dein bestehendes Layout)
   ========================================================= */

/* =========================
   1) VARIABLEN
   ========================= */
:root{
  --kopfzeilen_hoehe_desktop: 100px;
  --kopfzeilen_hoehe_mobil: 100px;

  --stufe_desktop: 120px;
  --stufe_mobil: 100px;

  --gap_desktop: 18px;
  --gap_mobil: 14px;

  --spacer_hoehe_desktop: 120vh;
  --spacer_hoehe_mobil: 150vh;

  --offer-accent: #A49474;
}

/* =========================
   2) FIXER HEADER
   ========================= */
.site-header{
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--kopfzeilen_hoehe_desktop);
  background: #282828;
  z-index: 999999;
}

body{
  margin: 0;
  padding-top: var(--kopfzeilen_hoehe_desktop);
}

/* Elementor Top-Gap entfernen */
.elementor-section-wrap > .elementor-section:first-child,
.elementor > .elementor-section:first-child,
.elementor-top-section:first-of-type{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* =========================
   3) STACKING SECTION
   ========================= */
.stacking-section{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--gap_desktop);
  padding-top: 0 !important;
  margin-top: 0 !important;
  border-top: 1px solid transparent;
  overflow: visible !important;
}

.stacking-section,
.stacking-section .stack-card{
  overflow: visible !important;
}

.stacking-section .elementor-background-overlay,
.stacking-section .elementor-motion-effects-container,
.stacking-section .elementor-motion-effects-layer{
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  backdrop-filter: none !important;
}

.stacking-section .stack-card{
  position: sticky !important;
  background-attachment: scroll !important;
  margin: 0 !important;
}

.stacking-section .card-1{ z-index: 1; top: var(--kopfzeilen_hoehe_desktop); }
.stacking-section .card-2{ z-index: 2; top: calc(var(--kopfzeilen_hoehe_desktop) + var(--stufe_desktop)); }
.stacking-section .card-3{ z-index: 3; top: calc(var(--kopfzeilen_hoehe_desktop) + (2 * var(--stufe_desktop))); }

.stacking-section .stack-spacer{ height: var(--spacer_hoehe_desktop); }

/* =========================
   4) MOBILE
   ========================= */
@media (max-width: 767px){
  .site-header{ height: var(--kopfzeilen_hoehe_mobil); }
  body{ padding-top: var(--kopfzeilen_hoehe_mobil); }
  .stacking-section{ gap: var(--gap_mobil); }

  .stacking-section .card-1{ top: var(--kopfzeilen_hoehe_mobil); }
  .stacking-section .card-2{ top: calc(var(--kopfzeilen_hoehe_mobil) + var(--stufe_mobil)); }
  .stacking-section .card-3{ top: calc(var(--kopfzeilen_hoehe_mobil) + (2 * var(--stufe_mobil))); }

  .stacking-section .stack-spacer{ height: var(--spacer_hoehe_mobil); }
}

/* =========================================================
   ANGEBOTSFORMULAR – FINAL
   ========================================================= */

/* Sichtbarkeit */
#offerStart{ display:none !important; }
#offerStart.is-open{ display:block !important; }

#offerStart{ text-align:left !important; }

#offerStart .offer-heading{
  text-align:left !important;
  font-weight:600;
  margin:0 0 24px 0;
}

#offerStart .offer-heading--small{
  margin-top:28px;
  margin-bottom:18px;
}

#offerStart .field{ margin-bottom:20px; }

#offerStart label{
  display:block;
  margin:0 0 10px 0;
  line-height:1.2;
  text-align:left !important;
}

#offerStart input,
#offerStart select{
  width:100%;
  padding:10px;
  box-sizing:border-box;
}

#offerStart .field label[for="location"]{
  padding-top:24px;
  border-top:1px solid #e0e0e0;
}

/* =========================================================
   CHECKBOX-LISTE
   ========================================================= */

#offerStart #servicesBlock{ text-align:left !important; }

#offerStart #servicesBlock .svc-option{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 0 12px 0 !important;
  cursor:pointer;
}

#offerStart #servicesBlock .svc-option > input[type="checkbox"]{
  margin:0 !important;
  width:auto !important;
}

#offerStart #servicesBlock .svc-option > span{
  flex:1 1 auto !important;
  margin:0 !important;
  line-height:1.2 !important;
}

/* =========================================================
   PLZ + Stadt
   ========================================================= */
#offerStart .field--row{
  display:flex;
  gap:16px;
}

#offerStart .field--col{ flex:1; }

@media (max-width:767px){
  #offerStart .field--row{
    flex-direction:column;
    gap:14px;
  }
}

/* =========================================================
   ANGEBOTS-PREVIEW
   ========================================================= */

#offerStart .offer-doc__title{
  text-align:center;
  margin:28px 0 14px;
}

#offerStart .offer-doc__title-main,
#offerStart .offer-doc__title-sub,
#offerStart .offer-asterisk{
  color:var(--offer-accent);
}

#offerStart .offer-doc__title-main{
  font-size:2rem;
  font-weight:700;
  line-height:1.15;
}

#offerStart .offer-doc__title-sub{
  font-size:1.25rem;
  font-style:italic;
  font-weight:500;
  opacity:0.9;
}

/* Tabellen */
#offerStart .offer-table{
  width:100%;
  border-collapse:collapse;
  margin:14px 0 22px;
}

#offerStart .offer-table th,
#offerStart .offer-table td{
  border:1px solid #cfcfcf;
  padding:10px 12px;
}

#offerStart .offer-table thead th{
  background:#f3f3f3;
  font-weight:700;
}

#offerStart .offer-table .num{
  text-align:right;
  white-space:nowrap;
}

/* =========================================================
   HINWEISTEXT – 100% GLEICHMÄSSIG
   ========================================================= */

#offerStart .offer-doc__hint{ margin-top:18px; }

#offerStart .offer-doc__hint-title{ margin-bottom:14px; }

#offerStart .offer-doc__hint-text{
  font-size:0.95rem;
  line-height:1.6;
}

/* alle direkten Elemente gleich behandeln */
#offerStart .offer-doc__hint-text > *{
  margin:0 !important;
}

#offerStart .offer-doc__hint-text > * + *{
  margin-top:18px !important;
}

/* Liste absolut kontrolliert */
#offerStart .offer-doc__hint-text ul{
  padding-left:22px !important;
  list-style-position:outside;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
}

#offerStart .offer-doc__hint-text li{
  margin:0 !important;
  padding:0 !important;
  line-height:1.6 !important;
}

/* Mobile */
@media (max-width:767px){
  #offerStart .offer-doc__hint-text{
    font-size:0.92rem;
    line-height:1.65;
  }

  #offerStart .offer-doc__hint-text > * + *{
    margin-top:16px !important;
  }
}

/* Buttons */
#offerStart .offer-submit--full{
  width:100%;
  padding:14px 18px;
  font-weight:700;
}

@media (max-width:767px){
  #offerStart .offer-submit--full{ padding:16px 18px; }
}/* End custom CSS */