/* Am Palmenweg – Project overrides */
/* v6 */

/* Fixed background images — using clip-path + fixed ::before to avoid
   background-attachment:fixed jitter in Chrome/Safari */
.page-ampalmenweg .elementor-element-6ebffb7,
.page-ampalmenweg .elementor-element-17baf70{
  position: relative !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background: none !important;
  min-height: 650px !important;
  clip-path: inset(0) !important;
}
.page-ampalmenweg .elementor-element-6ebffb7::before,
.page-ampalmenweg .elementor-element-17baf70::before{
  content: '' !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  z-index: -1 !important;
  pointer-events: none !important;
  opacity: 1 !important;
}
.page-ampalmenweg .elementor-element-6ebffb7::before{
  background-image: url('../ampalmenweg/assets/Am-Palmenweg_5.jpg') !important;
}
.page-ampalmenweg .elementor-element-17baf70::before{
  background-image: url('../ampalmenweg/assets/Am-Palmenweg_6.jpg') !important;
}
@media (max-width: 1024px){
  .page-ampalmenweg .elementor-element-6ebffb7,
  .page-ampalmenweg .elementor-element-17baf70{
    min-height: 500px !important;
  }
}
@media (max-width: 767px){
  .page-ampalmenweg .elementor-element-6ebffb7,
  .page-ampalmenweg .elementor-element-17baf70{
    min-height: 400px !important;
  }
}
/* Hero container: force background visible at all sizes */
.page-ampalmenweg .elementor-element-5b5ddbe{
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  background-image: url('../ampalmenweg/assets/Am-Palmenweg_1.jpg') !important;
  background-size: cover !important;
  background-position: bottom center !important;
  background-repeat: no-repeat !important;
}
@media (max-width: 1024px){
  .page-ampalmenweg .elementor-element-5b5ddbe{
    background-attachment: scroll !important;
    min-height: 85vh !important;
  }
}
/* Wohnen mit Weitblick */
.page-ampalmenweg .elementor-element-ec98273{
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Image 1-col width: matches card grid column — works with ID or class */
.page-ampalmenweg #image-1col,
.page-ampalmenweg .image-1col{
  position: static !important;
  width: calc((100% - 2 * clamp(24px, 2vw, 40px)) / 3) !important;
  flex-shrink: 0;
  overflow: hidden;
  margin-left: auto;
}
.page-ampalmenweg #image-1col img,
.page-ampalmenweg .image-1col img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
/* Parent: flex row layout for text + image side by side */
.page-ampalmenweg .e-con.e-parent:has(#image-1col) > .e-con-inner,
.page-ampalmenweg .e-con.e-parent:has(.image-1col) > .e-con-inner{
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: clamp(24px, 2vw, 40px) !important;
}
/* Parkierung image — same layout */
.page-ampalmenweg #parkierung-image{
  position: relative !important;
  width: calc((100% - 2 * clamp(24px, 2vw, 40px)) / 3) !important;
  flex-shrink: 0;
  overflow: hidden !important;
  margin-left: auto;
}
.page-ampalmenweg #parkierung-image img{
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 100% !important;
  width: auto !important;
  max-width: none !important;
  min-width: 200% !important;
}
.page-ampalmenweg .e-con.e-parent:has(#parkierung-image) > .e-con-inner{
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: clamp(24px, 2vw, 40px) !important;
}

@media (max-width: 1024px){
  .page-ampalmenweg #parkierung-image{
    position: relative !important;
    width: 100% !important;
    height: 300px !important;
    margin-top: 24px;
  }
  .page-ampalmenweg .e-con.e-parent:has(#parkierung-image) > .e-con-inner{
    flex-direction: column !important;
  }
}

@media (max-width: 1024px){
  .page-ampalmenweg #image-1col,
  .page-ampalmenweg .image-1col{
    position: relative !important;
    width: 100% !important;
    height: 300px !important;
    margin-top: 24px;
  }
  .page-ampalmenweg .e-con.e-parent:has(#image-1col) > .e-con-inner,
  .page-ampalmenweg .e-con.e-parent:has(.image-1col) > .e-con-inner{
    flex-direction: column !important;
  }
}

/* Hero box: 100px higher on desktop */
@media (min-width: 1025px){
  .page-ampalmenweg .dt-gradient-box{
    margin-top: -100px !important;
  }
}

/* Hero headline: prevent cutoff */
.page-ampalmenweg .dt-hero-title,
.page-ampalmenweg .elementor-widget-shortcode:has(.dt-hero-title),
.page-ampalmenweg .elementor-widget-shortcode:has(.dt-hero-title) .elementor-shortcode{
  overflow: visible !important;
}
.page-ampalmenweg .dt-hero-title__heading{
  padding-bottom: 0.1em;
}
/* Reset ALL child container padding to align content at 27px (except gradient box) */
.page-ampalmenweg .elementor-188 > .e-con.e-parent > .e-con-inner > .e-con.e-child:not(.dt-gradient-box){
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Restore hero box (gradient box) padding – both outer and inner */
.page-ampalmenweg .dt-gradient-box,
.page-ampalmenweg .dt-gradient-box.e-con.e-child{
  padding: clamp(28px, 3.2vw, 50px) !important;
}

/* Remove gaps between sections */
/* Text (cf4e961) → Bild (6ebffb7) */
.page-ampalmenweg .elementor-element-cf4e961{ margin-bottom: 0 !important; }
.page-ampalmenweg .elementor-element-6ebffb7{ margin-top: 0 !important; }
.page-ampalmenweg .elementor-element-21ce9ea{ padding-top: 100px !important; margin-top: 0 !important; }
.page-ampalmenweg .elementor-element-21ce9ea > .e-con-inner,
.page-ampalmenweg .elementor-element-21ce9ea > .e-con-inner > .e-con.e-child{ padding-top: 0 !important; }
/* Bild (6ebffb7) → Lage/Standort (6ebffb7 is Standort actually) → Eigentumswohnungen (848d405) */
.page-ampalmenweg .elementor-element-848d405{ margin-top: 0 !important; padding-top: 32px !important; }
/* Eigentumswohnungen (848d405) → DEFH (a2c7185) with 1px primary line */
.page-ampalmenweg .elementor-element-a2c7185{
  margin-top: 0 !important;
  padding-top: 32px !important;
  border-top: 1px solid var(--color_primary) !important;
}
.page-ampalmenweg .elementor-element-848d405{ margin-bottom: 0 !important; }
/* DEFH (a2c7185) → Parkierung (93ba2f5) */
.page-ampalmenweg .elementor-element-a2c7185{ margin-bottom: 0 !important; }
.page-ampalmenweg .elementor-element-93ba2f5{ margin-top: 0 !important; }
/* Ausstattung (93ba2f5) → Parkierung (f8305ef) */
.page-ampalmenweg .elementor-element-93ba2f5{ padding-top: 100px !important; padding-bottom: 100px !important; }
.page-ampalmenweg .elementor-element-f8305ef{ margin-top: 0 !important; }
/* Parkierung image – bottom left */
.page-ampalmenweg .elementor-element-2b420d9 img{
  object-position: left bottom !important;
}
/* Parkierung grid – remove left padding, center text in cards */
.page-ampalmenweg .elementor-element-772fc9a{
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-ampalmenweg .elementor-element-772fc9a > .e-con-inner > .e-con,
.page-ampalmenweg .elementor-element-772fc9a > .e-con{
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  padding-top: 28px !important;
  padding-bottom: 28px !important;
  gap: 8px !important;
}
/* Fix right padding on mobile for Ausstattung + Parkierung */
@media (max-width: 767px){
  .page-ampalmenweg .elementor-element-93ba2f5,
  .page-ampalmenweg .elementor-element-f8305ef{
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}
/* Parkierung (93ba2f5) → Downloads (89045de) */
.page-ampalmenweg .elementor-element-93ba2f5{ margin-bottom: 0 !important; }
.page-ampalmenweg .elementor-element-89045de{ margin-top: 0 !important; }
/* Downloads (89045de) → Formular (d410356) */
.page-ampalmenweg .elementor-element-89045de{ margin-bottom: 0 !important; }
.page-ampalmenweg .elementor-element-d410356{ margin-top: 0 !important; margin-bottom: 0 !important; }
.page-ampalmenweg .elementor-element-d7c0755{
  margin-top: 0 !important;
  padding-left: 15% !important;
  padding-right: 15% !important;
}
.page-ampalmenweg .elementor-element-d7c0755 > .e-con-inner{
  max-width: 100% !important;
}
@media (max-width: 767px){
  .page-ampalmenweg .elementor-element-d7c0755{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Ausstattung & Energie grid cards */
.page-ampalmenweg .elementor-element-43813ba{
  gap: 36px !important;
}
.page-ampalmenweg .elementor-element-43813ba > .e-con{
  background: var(--color_primary) !important;
  text-align: center !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: clamp(24px, 2vw, 40px) !important;
  transition: transform .3s ease;
}
/* Fixed icon height so headings align across cards */
.page-ampalmenweg .elementor-element-43813ba > .e-con .elementor-widget-icon{
  height: 80px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.page-ampalmenweg .elementor-element-43813ba > .e-con:hover{
  transform: scale(1.02);
}
.page-ampalmenweg .elementor-element-43813ba > .e-con svg,
.page-ampalmenweg .elementor-element-43813ba > .e-con svg *{
  stroke: #fff !important;
  fill: none !important;
}
.page-ampalmenweg .elementor-element-43813ba > .e-con .elementor-heading-title,
.page-ampalmenweg .elementor-element-43813ba > .e-con .elementor-text-editor,
.page-ampalmenweg .elementor-element-43813ba > .e-con p,
.page-ampalmenweg .elementor-element-43813ba > .e-con *{
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-align: center !important;
}

/* Ansprechpartner: fix button left padding */
.page-ampalmenweg .elementor-element-ebc99cf{
  padding-left: 0 !important;
}
body.page-ampalmenweg {
  overflow-x: hidden !important;
}
.page-ampalmenweg {
  --color_primary: #eec786;
  --color_secondary: #f2deba;
  --color_text: #474747;
  --primary-600: #d4af6a;
  --secondary-600: #d9c5a1;
  --e-global-color-secondary: #f2deba;
  --e-global-color-accent: #eec786;

  /* Override token-level button vars with hardcoded values (not var refs) */
  --button-primary-background-color: linear-gradient(135deg, #eec786 0%, #f2deba 100%);
  --button-primary-hover-color: linear-gradient(135deg, #f2deba 0%, #eec786 100%);
  --button-primary-text-color: #474747;
  --button-primary-border-color: #474747;
  --button-primary-border-color-hover: #474747;
}

/* Header – white background, text-color nav */
.page-ampalmenweg header.elementor-location-header{
  background: #fff !important;
}
.page-ampalmenweg header.elementor-location-header .e-con,
.page-ampalmenweg header.elementor-location-header .e-con-inner{
  background: #fff !important;
}
.page-ampalmenweg header.elementor-location-header .elementor-nav-menu--main .elementor-item{
  color: #474747 !important;
  -webkit-text-fill-color: unset !important;
}
.page-ampalmenweg header.elementor-location-header .elementor-nav-menu--main .elementor-item .sub-arrow svg{
  fill: #474747 !important;
}
.page-ampalmenweg header.elementor-location-header .elementor-nav-menu--main .elementor-item:hover{
  color: #eec786 !important;
}
.page-ampalmenweg header.elementor-location-header .elementor-nav-menu--main .elementor-item:hover .sub-arrow svg{
  fill: #eec786 !important;
}

/* Form – custom checkboxes with circle-check SVG */
.page-ampalmenweg .elementor-field-type-checkbox input[type="checkbox"],
.page-ampalmenweg .elementor-field-type-acceptance input[type="checkbox"]{
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px;
  border: 1px solid var(--color_primary) !important;
  border-radius: 6px !important;
  background: #fff !important;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  margin-right: 10px;
  flex-shrink: 0;
  transition: background .2s ease, border-color .2s ease;
}
.page-ampalmenweg .elementor-field-type-checkbox input[type="checkbox"]:checked,
.page-ampalmenweg .elementor-field-type-acceptance input[type="checkbox"]:checked{
  background: var(--color_primary) !important;
  border-color: var(--color_primary) !important;
}
.page-ampalmenweg .elementor-field-type-checkbox input[type="checkbox"]:checked::after,
.page-ampalmenweg .elementor-field-type-acceptance input[type="checkbox"]:checked::after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  padding: 10px;
  box-sizing: border-box;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* Checkbox label alignment */
.page-ampalmenweg .elementor-field-type-checkbox .elementor-field-option,
.page-ampalmenweg .elementor-field-type-acceptance .elementor-field-option{
  display: flex !important;
  align-items: center;
}
/* Acceptance checkbox – target by class directly */
.page-ampalmenweg .elementor-acceptance-field{
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border: 1px solid var(--color_primary) !important;
  border-radius: 6px !important;
  background: #fff !important;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  margin-right: 10px;
  flex-shrink: 0;
  transition: background .2s ease, border-color .2s ease;
}
.page-ampalmenweg .elementor-acceptance-field:checked{
  background: var(--color_primary) !important;
  border-color: var(--color_primary) !important;
}
.page-ampalmenweg .elementor-acceptance-field:checked::after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  padding: 10px;
  box-sizing: border-box;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* Form fields – thin primary outline */
.page-ampalmenweg .elementor-field-textual{
  border: 1px solid var(--color_primary) !important;
  border-radius: 6px !important;
}
/* Form – decrease space between HTML label and checkboxes */
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-html + .elementor-field-group{
  margin-top: -10px !important;
}
/* 20px spacing between logical sections only — NOT between text/email/textarea rows */
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-html,
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-checkbox,
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-acceptance,
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-submit{
  margin-top: 20px !important;
}
/* Form validation messages – remove icon, use project colors */
.page-ampalmenweg .elementor-element-73a67ab .elementor-message::before{
  display: none !important;
  content: none !important;
}
.page-ampalmenweg .elementor-element-73a67ab .elementor-message{
  padding-left: 0 !important;
  color: var(--color_primary) !important;
}
.page-ampalmenweg .elementor-element-73a67ab .elementor-message.elementor-message-danger{
  color: var(--color_primary) !important;
}
/* Acceptance field – error message below checkbox+label */
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-acceptance .elementor-field-option{
  display: grid !important;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 0 0;
}
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-acceptance .elementor-field-option > input{
  grid-row: 1;
  grid-column: 1;
}
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-acceptance .elementor-field-option > label{
  grid-row: 1;
  grid-column: 2;
}
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-acceptance .elementor-field-option > .elementor-message{
  grid-row: 2;
  grid-column: 1 / -1;
  margin-top: 5px !important;
  text-align: left !important;
}

/* Space before Vorname/Nachname row (after checkboxes) – desktop only */
@media (min-width: 768px){
  .page-ampalmenweg .elementor-element-73a67ab .elementor-field-group-vorname,
  .page-ampalmenweg .elementor-element-73a67ab .elementor-field-group-nachname{
    margin-top: 20px !important;
  }
}
/* Space around Datenschutz acceptance */
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-acceptance{
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
/* Space between heading and form — handled by HTML field's margin-top */
.page-ampalmenweg .elementor-element-d410356 > .e-con-inner > .elementor-widget-heading{
  margin-bottom: 0 !important;
}
/* Space between acceptance and submit button */
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-type-submit{
  margin-top: 20px !important;
}
/* Form submit button – match site-wide Design Token button */
.page-ampalmenweg .elementor-element-73a67ab .e-form__buttons__wrapper{
  width: auto !important;
  flex: 0 0 auto !important;
}
.page-ampalmenweg .elementor-element-73a67ab .e-form__buttons{
  flex-wrap: nowrap !important;
}
.page-ampalmenweg .elementor-element-73a67ab .elementor-field-group.elementor-field-type-submit{
  width: auto !important;
  flex: 0 0 auto !important;
}
.page-ampalmenweg .elementor-element-73a67ab .e-form__buttons__wrapper__button{
  width: auto !important;
}
.page-ampalmenweg .elementor-element-73a67ab .elementor-button[type="submit"],
.page-ampalmenweg .elementor-element-73a67ab .e-form__buttons__wrapper .elementor-button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5em !important;
  width: auto !important;
  background: var(--button-primary-background-color) !important;
  color: var(--button-primary-text-color) !important;
  fill: var(--button-primary-text-color) !important;
  border: var(--button-primary-border-width, 1px) solid var(--button-primary-border-color) !important;
  border-radius: var(--button-primary-radius, 9999px) !important;
  padding: var(--button-primary-padding-y) calc(var(--button-primary-padding-x) * 1.3) !important;
  font-size: clamp(14px, 1vw + 6px, 19px) !important;
  font-weight: 300 !important;
  letter-spacing: 0.01em;
  transition: background .6s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease !important;
}
.page-ampalmenweg .elementor-element-73a67ab .elementor-button[type="submit"]:hover,
.page-ampalmenweg .elementor-element-73a67ab .e-form__buttons__wrapper .elementor-button:hover{
  background: var(--button-primary-hover-color) !important;
}
/* Form section – container padding */
.page-ampalmenweg .elementor-element-d410356{
  box-sizing: border-box !important;
  max-width: 100% !important;
  padding-left: 15% !important;
  padding-right: 15% !important;
}
.page-ampalmenweg .elementor-element-d410356 > .e-con-inner{
  box-sizing: border-box !important;
  max-width: 100% !important;
}
@media (max-width: 767px){
  .page-ampalmenweg .elementor-element-d410356{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}



/* Ticker – prevent bottom text cutoff */
.page-ampalmenweg .dt-ticker{
  overflow: visible !important;
  padding-bottom: 0.3em;
}
.page-ampalmenweg .dt-ticker__track{
  overflow: visible !important;
}
.page-ampalmenweg .elementor-widget-shortcode:has(.dt-ticker){
  overflow: visible !important;
}

/* Headings – text color */
.page-ampalmenweg .elementor-heading-title{
  color: #474747 !important;
}

/* Gradient box first heading – 600 weight */
.page-ampalmenweg .dt-gradient-box .elementor-widget-heading:first-child .elementor-heading-title{
  font-weight: 600 !important;
}
/* Gradient box second heading – 500 weight */
.page-ampalmenweg .dt-gradient-box .elementor-widget-heading:nth-child(2) .elementor-heading-title{
  font-weight: 500 !important;
}
.page-ampalmenweg .dt-gradient-box .elementor-button-text{
  white-space: nowrap;
}

/* Primary button – direct overrides (not variable-dependent) */
.page-ampalmenweg .elementor .elementor-button,
.page-ampalmenweg .elementor a.elementor-button,
.page-ampalmenweg .elementor .elementor-widget-button .elementor-button{
  background: linear-gradient(135deg, #eec786 0%, #f2deba 100%) !important;
  color: #474747 !important;
  fill: #474747 !important;
  border-color: #474747 !important;
  -webkit-text-fill-color: unset !important;
}
.page-ampalmenweg .elementor .elementor-button:hover,
.page-ampalmenweg .elementor a.elementor-button:hover,
.page-ampalmenweg .elementor .elementor-widget-button .elementor-button:hover{
  background: linear-gradient(135deg, #f2deba 0%, #eec786 100%) !important;
  color: #474747 !important;
  fill: #474747 !important;
  border-color: #474747 !important;
}
.page-ampalmenweg .elementor .elementor-button:focus,
.page-ampalmenweg .elementor a.elementor-button:focus{
  background: linear-gradient(135deg, #f2deba 0%, #eec786 100%) !important;
  color: #474747 !important;
  fill: #474747 !important;
  border-color: #474747 !important;
}

/* Button arrow icon */
.page-ampalmenweg .elementor .elementor-button::after{
  filter: none !important;
  background-color: #474747 !important;
}
.page-ampalmenweg .elementor .elementor-button:hover::after{
  background-color: #474747 !important;
}

/* Gradient box – wider to fit headings on one line */
.page-ampalmenweg .dt-gradient-box{
  width: clamp(400px, 42vw, 640px) !important;
  gap: clamp(10px, 1vw, 16px) !important;
  top: calc(50% - 100px);
}
.page-ampalmenweg .dt-gradient-box .elementor-widget-heading + .elementor-widget-button{
  margin-top: clamp(12px, 1.2vw, 20px) !important;
}
.page-ampalmenweg .dt-gradient-box .elementor-widget-button{
  margin: 0 !important;
  padding: 0 !important;
}
.page-ampalmenweg .dt-gradient-box .elementor-widget-button + .elementor-widget-button{
  margin-top: clamp(4px, 0.4vw, 8px) !important;
}
.page-ampalmenweg .dt-gradient-box .elementor-button,
.page-ampalmenweg .dt-gradient-box .elementor-button-wrapper .elementor-button{
  margin-top: 0 !important;
}
/* Gradient box buttons – text color, not white */
.page-ampalmenweg .dt-gradient-box .elementor-button,
.page-ampalmenweg .dt-gradient-box .elementor-button-wrapper .elementor-button{
  color: #474747 !important;
  fill: #474747 !important;
  border-color: #474747 !important;
  background: transparent !important;
}
.page-ampalmenweg .dt-gradient-box .elementor-button:hover,
.page-ampalmenweg .dt-gradient-box .elementor-button-wrapper .elementor-button:hover{
  color: #474747 !important;
  fill: #474747 !important;
  border-color: #474747 !important;
  background: transparent !important;
}
.page-ampalmenweg .dt-gradient-box .elementor-button::after,
.page-ampalmenweg .dt-gradient-box .elementor-button:hover::after{
  background-color: #474747 !important;
}

/* Dynamic dropdown – pure CSS hover (bypass Elementor JS) */
.page-ampalmenweg .dt-dynamic-dropdown .elementor-nav-menu--dropdown{
  position: absolute !important;
  display: block !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s !important;
  background: #fff !important;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  padding: clamp(8px, 0.6vw, 14px) 0 !important;
  min-width: 200px;
  z-index: 100;
  top: 100%;
  left: 0;
}
.page-ampalmenweg .dt-dynamic-dropdown:hover > .elementor-nav-menu--dropdown{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .3s ease, transform .3s ease, visibility 0s !important;
}
.page-ampalmenweg .dt-dynamic-dropdown .elementor-sub-item{
  display: block;
  padding: clamp(4px, 0.4vw, 8px) clamp(14px, 1.2vw, 24px) !important;
  color: var(--color_text) !important;
  white-space: nowrap;
  transition: color .2s ease, transform .2s ease !important;
}
.page-ampalmenweg .dt-dynamic-dropdown .elementor-sub-item:hover{
  color: var(--color_primary) !important;
  transform: translateX(3px);
}

/* Hero box – responsive: ≤1024px center, full width, above display text */
@media (max-width: 1024px){
  .page-ampalmenweg .e-con:has(.dt-gradient-box) > .e-con-inner{
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
  }
  .page-ampalmenweg .dt-gradient-box{
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    margin-bottom: clamp(12px, 1.5vw, 24px) !important;
    text-align: center;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10;
    border-radius: 0 !important;
    order: 1 !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
  }
  /* H1 heading 20% bigger at ≤880px */
  .page-ampalmenweg .dt-gradient-box .elementor-widget-heading:first-child .elementor-heading-title{
    font-size: clamp(20px, 3.5vw, 34px) !important;
  }
  .page-ampalmenweg .dt-gradient-box .elementor-button-text{
    white-space: nowrap !important;
  }
  /* Headings full width, centered */
  .page-ampalmenweg .dt-gradient-box .elementor-widget-heading{
    width: 100% !important;
    flex: 0 0 100% !important;
    text-align: center !important;
  }
  /* Buttons side by side, centered */
  .page-ampalmenweg .dt-gradient-box .elementor-widget-button{
    flex: 0 0 auto !important;
    width: auto !important;
    margin-top: clamp(8px, 1vw, 16px) !important;
  }
  .page-ampalmenweg .dt-gradient-box .elementor-widget-button + .elementor-widget-button{
    margin-left: clamp(8px, 1vw, 16px) !important;
    margin-top: clamp(8px, 1vw, 16px) !important;
  }
  /* Hero title directly below the box */
  .page-ampalmenweg .elementor-widget-shortcode:has(.dt-hero-title){
    order: 2 !important;
    margin-top: 0 !important;
  }
}

/* Hero background: bottom-left for desktop */
.page-ampalmenweg .elementor-element-5b5ddbe{
  background-position: left bottom !important;
}
/* Hero background + height: ≤1024px use tall image, fluid height */
@media (max-width: 1024px){
  .page-ampalmenweg .elementor-element-5b5ddbe{
    background-image: url('../ampalmenweg/assets/Am-Palmenweg_1_tall.jpg') !important;
    background-position: center left !important;
    min-height: 100vh !important;
    height: 100vh !important;
  }
}
@media (max-width: 767px){
  .page-ampalmenweg .elementor-element-5b5ddbe{
    min-height: 85vh !important;
    height: 85vh !important;
  }
}
@media (max-width: 500px){
  .page-ampalmenweg .elementor-element-5b5ddbe{
    min-height: 75vh !important;
    height: 75vh !important;
  }
}

/* ≤470px: scale everything to fit viewport */
@media (max-width: 470px){
  .page-ampalmenweg .dt-gradient-box .elementor-widget-heading:first-child .elementor-heading-title{
    font-size: clamp(14px, 4.5vw, 34px) !important;
  }
  .page-ampalmenweg .dt-gradient-box .elementor-widget-heading:nth-child(2) .elementor-heading-title{
    font-size: clamp(12px, 3.8vw, 28px) !important;
  }
  .page-ampalmenweg .dt-gradient-box .elementor-button{
    font-size: clamp(10px, 3vw, 16px) !important;
    padding-left: clamp(12px, 3vw, 24px) !important;
    padding-right: clamp(12px, 3vw, 24px) !important;
  }
  .page-ampalmenweg .dt-gradient-box{
    padding: clamp(16px, 4vw, 50px) !important;
  }
}

/* Wohnen mit Weitblick – white headings */
.page-ampalmenweg .elementor-element-ec98273 .elementor-heading-title{
  color: #fff !important;
}
/* Remove gap between Wohnen mit Weitblick and next container */
.page-ampalmenweg .elementor-element-ec98273{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.page-ampalmenweg .elementor-element-cf4e961{
  margin-top: 0 !important;
}
.page-ampalmenweg .elementor-element-cf4e961 .elementor-widget-text-editor{
  max-width: 65ch !important;
  width: 65ch !important;
}
.page-ampalmenweg .elementor-element-cf4e961 .elementor-widget-button{
  margin-top: clamp(16px, 1.5vw, 28px) !important;
}
.page-ampalmenweg .elementor-element-cf4e961 > .e-con-inner{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 100%;
  height: 100%;
}
