.elementor-kit-5{--e-global-color-primary:#FF8000;--e-global-color-secondary:#363636;--e-global-color-text:#36363659;--e-global-color-accent:#EFE7E0;--e-global-color-2f89b98:#F9F3ED;--e-global-color-5f9cfb0:#FFFFFF;--e-global-color-c3e0d71:#363636BF;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-text-letter-spacing:-0.01em;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:-0.02em;background-color:var( --e-global-color-2f89b98 );color:var( --e-global-color-text );font-family:"Plus Jakarta Sans", Sans-serif;font-size:18px;font-weight:400;line-height:1.7em;letter-spacing:-0.01em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-5f9cfb0 );border-radius:20px 20px 20px 20px;padding:15px 30px 15px 30px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:18px;font-weight:600;line-height:1.7em;letter-spacing:-0.02em;}.elementor-kit-5 h1{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:60px;font-weight:600;line-height:1.2em;letter-spacing:-0.02em;}.elementor-kit-5 h2{color:var( --e-global-color-secondary );}.elementor-kit-5 h3{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:25px;font-weight:600;line-height:1.2em;letter-spacing:-0.02em;}.elementor-kit-5 h4{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:25px;font-weight:600;line-height:1.2em;letter-spacing:-0.02em;}.elementor-kit-5 h5{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:25px;font-weight:600;line-height:1.2em;letter-spacing:-0.02em;}.elementor-kit-5 h6{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:25px;font-weight:600;line-height:1.2em;letter-spacing:-0.02em;}.elementor-kit-5 img{border-radius:20px 20px 20px 20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-kit-5{font-size:16px;}.elementor-kit-5 a{font-size:16px;}.elementor-kit-5 h1{font-size:50px;}.elementor-kit-5 h3{font-size:20px;}.elementor-kit-5 h4{font-size:20px;}.elementor-kit-5 h5{font-size:20px;}.elementor-kit-5 h6{font-size:20px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{font-size:16px;}.elementor-kit-5 a{font-size:16px;}.elementor-kit-5 h1{font-size:30px;}.elementor-kit-5 h2{font-size:30px;}.elementor-kit-5 h3{font-size:20px;}.elementor-kit-5 h4{font-size:20px;}.elementor-kit-5 h5{font-size:20px;}.elementor-kit-5 h6{font-size:20px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* --------------------
   BASE STATE
-------------------- */
.hero-img-main-1,
.hero-img-main-2 {
  opacity: 0;
  transform: translateY(90px);
  pointer-events: none;
}

.hero-img-btn-1,
.hero-img-btn-2 {
  position: absolute !important;
  left: 50% !important;
  bottom: 20px !important;

  opacity: 0;
  transform: translate(-50%, 90px);
  pointer-events: none;
}

/* --------------------
   KEYFRAMES
-------------------- */

/* IMAGE 1 */
@keyframes heroImage1 {
  0% {
    opacity: 0;
    transform: translateY(90px);
  }
  8% {
    opacity: 1;
    transform: translateY(0);
  }
  42% {
    opacity: 1;
    transform: translateY(0);
  }
  50% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 0;
    transform: translateY(90px);
  }
}

/* BUTTON 1 */
@keyframes heroButton1 {
  0% {
    opacity: 0;
    transform: translate(-50%, 90px);
    pointer-events: none;
  }
  10% {
    opacity: 1;
    transform: translate(-50%, 0);
    pointer-events: auto;
  }
  42% {
    opacity: 1;
    transform: translate(-50%, 0);
    pointer-events: auto;
  }
  50% {
    opacity: 0;
    transform: translate(-50%, -50px);
    pointer-events: none;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, 90px);
    pointer-events: none;
  }
}

/* IMAGE 2 */
@keyframes heroImage2 {
  0%,
  50% {
    opacity: 0;
    transform: translateY(90px);
  }
  58% {
    opacity: 1;
    transform: translateY(0);
  }
  92% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(90px);
  }
}

/* BUTTON 2 */
@keyframes heroButton2 {
  0%,
  52% {
    opacity: 0;
    transform: translate(-50%, 90px);
    pointer-events: none;
  }
  60% {
    opacity: 1;
    transform: translate(-50%, 0);
    pointer-events: auto;
  }
  92% {
    opacity: 1;
    transform: translate(-50%, 0);
    pointer-events: auto;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, 90px);
    pointer-events: none;
  }
}

/* --------------------
   ASSIGN
-------------------- */
.hero-img-main-1 {
  animation: heroImage1 10s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.hero-img-btn-1 {
  animation: heroButton1 10s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.hero-img-main-2 {
  animation: heroImage2 10s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.hero-img-btn-2 {
  animation: heroButton2 10s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.tab-item {
  cursor: pointer;
}

.tab-item .tab-content {
  display: none;
}

.tab-item.active .tab-content {
  display: flex;
}

.tab-item:not(.active) {
  opacity: 0.5;
  filter: grayscale(100%);
}

.tab-item.active {
  opacity: 1;
  filter: grayscale(0%);
}

.lottie-stack {
  position: relative;
}

.tab-lottie {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.tab-lottie.active {
  opacity: 1;
  position: relative;
  pointer-events: auto;
}

.review-avatar {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;

  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 20px;
  color: #ffffff;

  user-select: none;
}

@media (max-width: 767px) {
  .review-avatar {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

.review-text-wrap {
  position: relative;
}

/* Text */
.review-text {
  position: relative;
  max-height: 220px;
  overflow: hidden;
  transition: max-height 0.45s cubic-bezier(.4,0,.2,1);
}

/* Expanded */
.review-text-wrap.is-open .review-text {
  max-height: 2000px;
}

/* Fade DIREKT am Text */
.review-text::after {
  content: "";
  pointer-events: none;

  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: 80px;

  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0),
    rgba(255,255,255,1)
  );

  transition: opacity 0.25s ease;
}

.review-text-wrap.is-open .review-text::after {
  opacity: 0;
}

/* Mobile */
@media (max-width: 767px) {
  .review-text {
    max-height: 130px;
  }
}

/* =========================
   CARD BASE
========================= */

.estate-card {
  display: flex;
  flex-direction: column;

  padding: 20px;
  border: 1px solid rgba(54,54,54,0); /* default: unsichtbar */
  border-radius: 18px;

  background: transparent;
  color: inherit;
  text-decoration: none;

  transition: border-color 0.25s ease;
}

/* =========================
   MEDIA
========================= */

.estate-card-media {
  position: relative;
  width: 100%;
  margin-bottom: 28px; /* Platz für Preis-Overlap */
}

.estate-card-image {
  border-radius: 14px;
  overflow: hidden;
}

.estate-card-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* =========================
   PRICE – NUR POSITION (kein Styling)
========================= */

/* harter Reset gegen Elementor Texteditor */
.estate-card-price,
.estate-card-price * {
  all: unset;
  box-sizing: border-box;
}

.estate-card-price {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  z-index: 5;
  white-space: nowrap;
}

/* =========================
   CONTENT
========================= */

.estate-card-content {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* LOCATION */
.estate-card-location {
  font-size: 13px;
  opacity: 0.7;
}

/* TITLE */
.estate-card-title h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* =========================
   DIVIDER (NORMALER CONTAINER)
========================= */

.estate-card-divider {
  width: 100%;
  height: 1px;
  background: rgba(54,54,54,0.12);
  margin: 14px 0;
}

/* =========================
   DETAILS / META
========================= */

.estate-card-details {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

.estate-card-meta-item {
  font-size: 13px;
  opacity: 0.85;
}

/* =========================
   HOVER LOGIC (DESKTOP)
========================= */

/* Default hidden */
.estate-card-price,
.estate-card-location,
.estate-card-divider,
.estate-card-details {
  opacity: 0;
  transition: opacity 0.25s ease;
}

/* Default visible */
.estate-card-image,
.estate-card-title h3 {
  opacity: 1;
}

/* Hover reveal */
@media (hover: hover) {
  .estate-card:hover {
    border-color: rgba(54,54,54,0.12);
  }

  .estate-card:hover .estate-card-price,
  .estate-card:hover .estate-card-location,
  .estate-card:hover .estate-card-divider,
  .estate-card:hover .estate-card-details {
    opacity: 1;
  }
}

/* =========================
   MOBILE LIST LAYOUT
========================= */

@media (max-width: 767px) {

  .estate-card {
    flex-direction: row;
    gap: 14px;
    padding: 16px;
    border-color: rgba(54,54,54,0.12); /* auf Mobile immer sichtbar */
  }

  .estate-card-media {
    flex: 0 0 96px;
    margin-bottom: 0;
  }

  .estate-card-image {
    aspect-ratio: 1 / 1;
    border-radius: 12px;
  }

  .estate-card-image img {
    height: 100%;
  }

  .estate-card-price {
    display: none;
  }

  .estate-card-content {
    flex: 1;
    gap: 6px;
  }

  .estate-card-location,
  .estate-card-divider {
    display: none;
  }

  .estate-card-details {
    opacity: 1;
    gap: 10px;
    margin-top: 6px;
  }
}

/* =========================
   REDUCED MOTION
========================= */

@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
  }
}

/* =========================
   DESKTOP / TABLET – FIXED IMAGE HEIGHT
========================= */

@media (min-width: 768px) {
  .estate-card-media {
    height: 200px; /* kannst du anpassen */
  }

  .estate-card-image {
    height: 100%;
  }

  .estate-card-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}

/* =========================
   TITLE MOVE ON HOVER
========================= */

/* Default: Titel leicht nach oben gezogen */
.estate-card-title {
  transform: translateY(-30px);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Hover: Titel fährt in Normalposition */
.estate-card:hover .estate-card-title {
  transform: translateY(0);
}

/* =========================
   MOBILE CARD – HARD RESET
========================= */

@media (max-width: 767px) {

  /* Card Wrapper */
  .estate-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
  }

  /* Elementor inner wrapper neutralisieren */
  .estate-card > .e-con-inner {
    display: flex;
    flex-direction: row;
    gap: 16px;
    width: 100%;
  }

  /* MEDIA LINKS */
  .estate-card-media {
    width: 96px;
    height: 96px;
    flex-shrink: 0;
    position: relative;
  }

  .estate-card-image,
  .estate-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
  }

  /* Preis aus */
  .estate-card-price {
    display: none !important;
  }

  /* CONTENT RECHTS */
  .estate-card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 0 !important;
  }

  /* Titel & Standort – KEIN Hover Move */
  .estate-card-title {
    transform: none !important;
  }

  .estate-card-location {
    font-size: 13px;
    opacity: 0.7;
  }

  .estate-card-title h3 {
    font-size: 15px;
    line-height: 1.3;
    margin: 0;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Divider aus */
  .estate-card-divider {
    display: none !important;
  }

  /* META UNTEN */
  .estate-card-details {
    display: flex;
    gap: 12px;
    margin-top: 8px;
  }

  .estate-card-meta-item {
    font-size: 12px;
  }

}

@media (max-width: 767px) {

  /* Content rechts wirklich begrenzen */
  .estate-card-content {
    min-width: 0; /* WICHTIG für Ellipsis in Flexbox */
  }

  /* Titel: max 2 Zeilen + Ellipsis */
  .estate-card-heading {
    font-size: 15px;
    line-height: 1.3;
    margin: 0;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;

    overflow: hidden;
    text-overflow: ellipsis;
  }

}

@media (max-width: 767px) {

  /* Keine Card-Border & kein Padding auf Mobile */
  .estate-card {
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

}

/* DESKTOP */
@media (min-width: 1024px) {
  li.e-n-menu-item .e-n-menu-title-text {
    color: rgba(54, 54, 54, 0.75) !important;
  }

  li.e-n-menu-item:hover .e-n-menu-title-text {
    color: rgba(54, 54, 54, 1) !important;
  }
}

/* =========================
   VALUE CARDS – BASE
========================= */

.value-card {
  min-height: 260px;
  padding: 24px;

  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;

  border: 1px solid #CAC4BE;
  border-radius: 16px;
  background: transparent;

  cursor: pointer;

  transition:
    background 0.4s ease,
    border 0.4s ease;
}

/* =========================
   TITLE
========================= */

.value-card__title {
  transform: translateY(0);
  transition: transform 0.4s ease;
}

/* =========================
   CONTENT (ACCORDION)
========================= */

.value-card__content {
  max-height: 0;
  overflow: hidden;

  opacity: 0;
  transform: translateY(16px);

  transition:
    max-height 0.4s ease,
    opacity 0.3s ease,
    transform 0.4s ease;
}

/* =========================
   ACTIVE STATE
========================= */

.value-card.is-active {
  justify-content: flex-start;
  background: #fff;
  border-color: transparent;
}

.value-card.is-active .value-card__title {
  transform: translateY(-8px);
}

.value-card.is-active .value-card__content {
  max-height: 400px;
  opacity: 1;
  transform: translateY(0);
}

/* =========================
   HERO BASE
========================= */

.hero-slider {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
}

.hero-slides {
  position: relative;
  height: 70vh;
  min-height: 520px;
}

/* =========================
   SLIDES
========================= */

.hero-slide {
  position: absolute;
  inset: 0;

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 64px;

  background-size: cover;
  background-position: center;

  opacity: 0;
  transform: scale(1.06);
  transition:
    opacity 0.6s ease,
    transform 1.4s ease;

  z-index: 0;
}

/* dunkles Overlay */
.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0,0,0,0.65),
    rgba(0,0,0,0.25),
    rgba(0,0,0,0)
  );
  z-index: 1;
}

.hero-slide > * {
  position: relative;
  z-index: 2;
}

/* =========================
   ACTIVE SLIDE
========================= */

.hero-slide.is-active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}

/* =========================
   PAGINATION BARS
========================= */

.hero-pagination {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);

  display: flex;
  gap: 16px;
  z-index: 10;
}

.hero-bar {
  width: 120px;
  height: 6px;
  background: #FF8000;
  opacity: 0.2;
  border-radius: 999px;
  cursor: pointer;
  transition: opacity 0.4s ease;
}

.hero-bar.is-active {
  opacity: 1;
}

.hero-slide {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 24px; /* Abstand zwischen Title & Button */
}

.hero-pagination {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);

  display: flex;
  flex-direction: row;        /* 👈 explizit horizontal */
  justify-content: center;
  align-items: center;
  gap: 16px;

  width: 100%;
  max-width: 600px;
  padding: 0 16px;
}

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

@media (max-width: 767px) {

  /* 1️⃣ Weniger Padding in Slides */
  .hero-slide {
    padding: 24px;
    gap: 16px;
  }

  /* 2️⃣ Pagination bleibt eine Reihe */
  .hero-pagination {
    max-width: 90%;
    gap: 8px;
  }

  /* 3️⃣ Bars skalieren automatisch */
  .hero-bar {
    flex: 1;
    min-width: 24px;   /* verhindert zu kleine Bars */
    max-width: none;   /* keine künstliche Begrenzung */
  }

}

/* =========================
   CONTACT TABS – COMPLETE
========================= */

/* =========================
   TAB NAV
========================= */

.contact-tabs__nav {
  display: flex;
  gap: 16px;
}

.contact-tab {
  display: flex;
  align-items: flex-start;
  gap: 5px;

  padding: 16px 20px;
  border-radius: 16px;
  border: 1px solid #e5e5e5;
  background: #fff;

  cursor: pointer;

  /* INACTIVE STATE */
  color: #363636;

  transition:
    color 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease;
}

/* =========================
   ICON STYLING
========================= */

.contact-tab svg {
  width: 20px;
  height: 20px;

  stroke: currentColor;
  fill: none;

  transition: stroke 0.3s ease;
}

/* =========================
   ACTIVE TAB
========================= */

.contact-tab.is-active {
  color: #ff8000;
  border-color: #ff8000;
  background: rgba(255, 128, 0, 0.08);
}

/* =========================
   TAB CONTENT
========================= */

.contact-tab-panel {
  display: none;
}

.contact-tab-panel.is-active {
  display: block;
}

/* =========================
   ESTATE HERO – BASE
========================= */

.estate-hero {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
}

.estate-slides {
  position: relative;
  height: 70vh;
  min-height: 520px;
}

/* =========================
   SLIDES
========================= */

.estate-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.estate-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

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

.estate-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;

  transform: scale(1.05);
  transition: transform 1.2s ease;
}

.estate-slide.is-active .estate-media {
  transform: scale(1);
}

/* =========================
   CONTENT
========================= */

.estate-content {
  position: relative;
  z-index: 2;

  max-width: 720px;
  padding: 64px;

  opacity: 0;
  transform: translateY(24px);

  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}

.estate-slide.is-active .estate-content {
  opacity: 1;
  transform: translateY(0);
}

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

.estate-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;

  background: linear-gradient(
    90deg,
    rgba(0,0,0,0.6),
    rgba(0,0,0,0.25),
    rgba(0,0,0,0)
  );
}

/* =========================
   META DATA
========================= */

.estate-meta {
  display: flex;
  align-items: center;
  gap: 16px;
}

.estate-meta-item {
  white-space: nowrap;
}

.estate-meta-dot {
  width: 10px;
  height: 10px;
  background: #ff8000;
  border-radius: 50%;
}

/* =========================
   PAGINATION
========================= */

.estate-pagination {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
}

.estate-bar {
  width: 120px;
  height: 6px;
  background: #ff8000;
  opacity: 0.2;
  border-radius: 999px;
  cursor: pointer;
}

.estate-bar.is-active {
  opacity: 1;
}

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

@media (max-width: 767px) {
  .estate-content {
    padding: 24px;
  }

  .estate-media {
    transform: scale(1.02);
  }
}

:root {
  --navbar-height: 96px;
}

.estate-split-view {
  display: flex;
}

.estate-grid {
  width: 100%;
  transition: width 0.35s ease;
}

.estate-map {
  width: 0%;
  visibility: hidden;
  pointer-events: none;
  transition: width 0.35s ease;
}

@media (min-width: 1025px) {

  .estate-split-view.is-map-active .estate-grid {
    width: 60%;
  }

  .estate-split-view.is-map-active .estate-map {
    width: 40%;
    visibility: visible;
    pointer-events: auto;
  }

  /* Frymo Grid: 3 → 2 Spalten */
  .estate-split-view.is-map-active 
  .estate-grid .frymo-listing {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {

  .estate-split-view.is-map-active .estate-grid {
    width: 50%;
  }

  .estate-split-view.is-map-active .estate-map {
    width: 50%;
    visibility: visible;
    pointer-events: auto;
  }

  /* Frymo Grid: 1 Spalte */
  .estate-split-view.is-map-active 
  .estate-grid .frymo-listing {
    grid-template-columns: 1fr !important;
  }
}

.elementor-widget-text-editor p:last-child{ margin-bottom:0px;}

/* Closed (Pfeil) */
.e-n-accordion-item-title-icon .e-closed svg {
  width: 16px !important;
  height: 16px !important;
}

/* Opened (Kreis + Pfeil) */
.e-n-accordion-item-title-icon .e-opened svg {
  width: 28px !important;
  height: 28px !important;
}

/* Standort-Search ausblenden */
.frymo-location-fieldset {
    display: none !important;
}

/* Suchbutton ausblenden */
.frymo-submit-button-fieldset {
    display: none !important;
}/* End custom CSS */