*{
	padding: 0;
	margin: 0 ;
}

@font-face { font-family: Inter; src: url('Inter/Inter-VariableFont_slnt,wght.ttf'); } 

body{
    font-family: 'Poppins', sans-serif;
}

html {
  scroll-behavior: smooth;
}




/* =========================================================
   IMMOBILIEN HERO SECTION
   Individuelle Klassen damit nichts kollidiert
========================================================= */

.immohero-section{
    position: relative;
    width: 100%;
    max-height: 80vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: #111;
}

/* VIDEO */
.immohero-video{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    z-index: 1;
}

/* OVERLAY */
.immohero-overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 2;
}

/* CONTAINER */
.immohero-container{
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1400px;
    margin:10vh auto;
    padding: 80px 40px;
}

/* CONTENT BOX */
.immohero-content{
    max-width: 900px;
    background: rgba(30,30,30,0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    padding: 70px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.08);
}

/* BADGE */
.immohero-badge{
    display: inline-block;
    background: #ffffff;
    color: #000;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    padding: 12px 18px;
    margin-bottom: 35px;
    text-transform: uppercase;
}

/* TITLE */
.immohero-title{
    font-size: 2.2em;
    line-height: 1.08;
    font-weight: 600;
    color: #fff;
    margin-bottom: 35px;
    font-family: "Georgia", serif;
}

/* TEXT */
.immohero-text{
    font-size: 1.0em;
    line-height: 1.7;
    color: rgba(255,255,255,0.92);
    max-width: 820px;
    margin-bottom: 45px;
}

/* BUTTONS */
.immohero-buttons{
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

/* PRIMARY BUTTON */
.immohero-btn-primary{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 18px 34px;
    background: #d87803;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.immohero-btn-primary:hover{
    background: #a85e04;
    transform: translateY(-2px);
}

/* SECONDARY BUTTON */
.immohero-btn-secondary{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 18px 34px;
    border: 1px solid rgba(255,255,255,0.4);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.immohero-btn-secondary:hover{
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.8);
}

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

@media (max-width: 991px){

    .immohero-container{
        padding: 40px 24px;
    }

    .immohero-content{
        padding: 45px 30px;
    }

    .immohero-text{
        font-size: 18px;
        line-height: 1.6;
    }

    .immohero-section{
    max-height: none;
    }
}

@media (max-width: 600px){

    .immohero-section{
        min-height: 90vh;
    }

    .immohero-content{
        padding: 35px 22px;
    }

    .immohero-badge{
        font-size: 12px;
        padding: 10px 14px;
    }

    .immohero-text{
        font-size: 16px;
    }

    .immohero-buttons{
        flex-direction: column;
    }

    .immohero-btn-primary,
    .immohero-btn-secondary{
        width: 70%;
        margin-left: auto;
        margin-right: auto;
    }
}





.headline-main-h2{
    font-weight: 700;
    letter-spacing: -1px;
    position: relative;
    text-align:center;
    font-size: 1.8em;
    margin-top:4vh;
    font-family: 'Inter';
}

.headline-main-h3{
    font-weight: 300;
    letter-spacing: -1px;
    position: relative;
    text-align:center;
    font-size: 1.3em;
    margin-top:1vh;
}








/* =========================
   GX Counter Section
========================= */


.gx-counter-wrapper {
  width: 90%;
  max-width: 1000px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5vh;
}

.gx-counter-item {
  flex: 1;
  text-align: center;
}

.gx-counter-number {
  font-size: 3.5em;
  font-weight: 500;
  line-height: 1;
  color: #3a261f;
  letter-spacing: -2px;
  margin-bottom: 14px;
  font-family: Georgia, serif;
}

.gx-counter-label {
  font-size: 1em;
  letter-spacing: 4px;
  color: #6f625c;
  text-transform: uppercase;
  font-weight: 400;
}

.gx-counter-divider {
  width: 1px;
  height: 140px;
  background: rgba(0,0,0,0.12);
}

/* =========================
   Responsive
========================= */

@media (max-width: 768px) {

  .gx-counter-wrapper {
    flex-direction: column;
    gap: 40px;
  }

  .gx-counter-divider {
    width: 80px;
    height: 1px;
  }

}














/* ========================================
   GX Immobilienverkauf Schritte
======================================== */

.gx-sale-steps-section {
  width: 100%;
  padding: 100px 20px;
  background: #f8f8f8;
}

.gx-sale-steps-container {
  max-width: 1280px;
  margin: 8vh auto;
}

.gx-sale-steps-title {
  text-align: center;
  font-size: 2em;
  font-weight: 700;
  color: #1d1d1d;
  margin-bottom: 50px;
  line-height: 1.2;
}

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

.gx-sale-steps-grid {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 24px;
width: 95%;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
  flex-wrap: nowrap;
}

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

.gx-sale-step-card {
  position: relative;
  width: 100%;
  flex: 1 1 0;
  max-width: 380px;

  padding-top: 25px;
    padding-bottom: 15px;
    padding-left: 10px;
    padding-right: 10px;

  border-radius: 28px;

  background:
    linear-gradient(
      145deg,
      rgba(247, 144, 26, 0.12),
      rgba(247, 144, 26, 0.03)
    );

  border: 1px solid rgba(247, 144, 26, 0.18);

  backdrop-filter: blur(12px);

  box-shadow:
    0 10px 35px rgba(0,0,0,0.06),
    0 2px 10px rgba(247, 144, 26, 0.08);

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.gx-sale-step-card:hover {
  transform: translateY(-10px);

  border-color: rgba(247, 144, 26, 0.35);

  box-shadow:
    0 20px 50px rgba(0,0,0,0.10),
    0 10px 25px rgba(247, 144, 26, 0.15);
}

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

.gx-sale-step-icon {
  width: 92px;
  height: 92px;

  margin: 0 auto 34px;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 42px;

  background:
    linear-gradient(
      145deg,
      #f7901a,
      #ffb04d
    );

  color: #fff;

  box-shadow:
    0 10px 25px rgba(247, 144, 26, 0.35);
}

/* ========================================
   TEXT
======================================== */

.gx-sale-step-heading {
  text-align: center;
  font-size: 1.5em;
  font-weight: 700;
  color: #111;

  margin-bottom: 24px;
  line-height: 1.2;
}

.gx-sale-step-text {
  text-align: center;

  font-size: 1em;
  line-height: 1.8;

  color: #555;
}

/* ========================================
   ARROW
======================================== */

.gx-sale-step-arrow {
  font-size: 52px;
  color: #f7901a;
  font-weight: 300;
  display: block;
  margin-top:7vh;
  opacity: 0.9;
}

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

@media (max-width: 1050px) {

  .gx-sale-steps-grid {
    flex-direction: column;
  }

  .gx-sale-step-arrow {
    transform: rotate(90deg);
    display: none;
  }

  .gx-sale-step-card {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 10px;
    padding-right: 10px;
    min-height: auto;
    margin-left: auto;
    margin-right: auto;
  }

}

@media (max-width: 768px) {

  .gx-sale-steps-section {
    padding: 70px 20px;
  }

  .gx-sale-steps-title {
    margin-bottom: 50px;
  }



  .gx-sale-step-icon {
    width: 78px;
    height: 78px;
    font-size: 34px;
  }

}


@media (max-width: 430px) {

  .gx-sale-step-card {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 0px;
    padding-right: 0px;
    min-height: auto;
    margin-left: auto;
    margin-right: auto;
  }

}
















/* ==========================
   SECTION
========================== */

.sh-investment-section {
    padding: 100px 20px;
    background: #f7f7f8;
}

.sh-investment-container {
    max-width: 1200px;
    width: 90%;
    margin: 10vh auto;

    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 80px;
    align-items: center;
}

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

.sh-investment-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
}

.sh-investment-image {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}


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

.sh-section-badge {
    display: inline-block;
    margin-bottom: 20px;

    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;

    color: #111;
}

.sh-investment-title {
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 1.1;
    font-weight: 500;

    margin-bottom: 50px;
    color: #111;
}

.sh-investment-list {
    display: flex;
    flex-direction: column;
    gap: 35px;
}

.sh-investment-item {
    display: flex;
    gap: 20px;

    padding-bottom: 35px;
    border-bottom: 1px solid #ddd;
}

.sh-investment-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.sh-investment-icon {
    width: 28px;
    height: 28px;

    min-width: 28px;

    border: 2px solid #333;
    border-radius: 50%;

    position: relative;
    margin-top: 4px;
}

.sh-investment-icon::after {
    content: "";

    width: 6px;
    height: 6px;

    background: #333;
    border-radius: 50%;

    position: absolute;
    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);
}

.sh-investment-item h3 {
    margin: 0 0 10px;

    font-size: 1.4rem;
    font-weight: 600;

    color: #111;
}

.sh-investment-item p {
    margin: 0;

    color: #666;
    line-height: 1.7;
    font-size: 1rem;
}

/* ==========================
   TABLET
========================== */

@media (max-width: 1100px) {

    .sh-investment-container {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .sh-investment-image {
        height: 650px;
    }

    .sh-investment-content {
        max-width: 700px;
    }
}

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

@media (max-width: 768px) {

    .sh-investment-section {
        padding: 70px 20px;
    }

    .sh-investment-image {
        height: 500px;
    }

    .sh-property-card {
        width: calc(100% - 40px);
        left: 20px;
        bottom: 20px;
        padding: 22px;
    }

    .sh-property-price {
        font-size: 2.2rem;
    }

    .sh-property-features {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .sh-investment-title {
        margin-bottom: 35px;
    }

    .sh-investment-item {
        gap: 15px;
    }

    .sh-investment-item h3 {
        font-size: 1.2rem;
    }
}

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

@media (max-width: 480px) {

    .sh-investment-image {
        height: 420px;
    }

    .sh-property-price {
        font-size: 1.9rem;
    }

}







.immo-about {
  padding: 80px 20px;
  background: #f7f7f7;
  font-family: Arial, sans-serif;
}

.immo-about__container {
  width: 90%;
  max-width: 1200px;
  margin: 10vh auto;
  display: flex;
  gap: 60px;
  align-items: center;
}

/* IMAGE */
.immo-about__image-wrapper {
  position: relative;
  flex: 1;
  min-width: 300px;
}

.immo-about__image {
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.12);
}

/* Badge overlay */
.immo-about__image-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: rgba(255,255,255,0.9);
  padding: 10px 16px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  color: #111;
}

/* TEXT */
.immo-about__content {
  flex: 1;
}

.immo-about__headline {
  font-size: 34px;
  line-height: 1.2;
  margin-bottom: 20px;
  color: #111;
}

.immo-about__text {
  font-size: 16px;
  line-height: 1.7;
  color: #555;
  margin-bottom: 15px;
}

/* BUTTON */
.immo-about__btn {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 22px;
  background: #111;
  color: #fff;
  text-decoration: none;
  border-radius: 10px;
  transition: 0.3s ease;
  font-weight: 500;
}

.immo-about__btn:hover {
  background: #333;
  transform: translateY(-2px);
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .immo-about__container {
    flex-direction: column;
  }

  .immo-about__image {
    height: 380px;
  }

  .immo-about__headline {
    font-size: 28px;
  }
}









.sh-trust-container {
    max-width: 1000px;
    width: 90%;
    margin: 3vh auto;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;

    padding: 30px 20px;

    background: linear-gradient(
        135deg,
        #fffaf5,
        #fff3e4
    );

    border: 1px solid rgba(214, 131, 32, 0.15);

    border-radius: 24px;

    box-shadow:
        0 15px 40px rgba(214,131,32,0.08);
}

/* ===================================
   ITEM
=================================== */

.sh-trust-item {
    display: flex;
    align-items: center;
    gap: 18px;
}

.sh-trust-icon {
    width: 70px;
    height: 70px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 38px;

    background: rgba(214,131,32,0.12);

    color: #d68320;

    border-radius: 50%;
}


.sh-trust-content p {
    margin: 8px 0 0;
    color: #666;
    font-size: 15px;
}


.sh-trust-content-headline {
    margin: 0;
    font-size: 1.7rem;
    line-height: 1.1;
    font-weight: 700;
    color: #0d2340;
}

/* ===================================
   STARS
=================================== */

.sh-trust-rating {
    margin-left: auto;
}

.sh-trust-stars {
    font-size: 2rem;
    letter-spacing: 4px;
    color: #e6a117;
}

/* ===================================
   TABLET
=================================== */

@media (max-width: 991px) {

    .sh-trust-container {
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }

    .sh-trust-item {
        flex-direction: column;
    }

    .sh-trust-rating {
        margin-left: 0;
    }

    .sh-trust-content h3 {
        font-size: 1.8rem;
    }

    .sh-trust-container{
      width: 80%;
    }
}

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

@media (max-width: 767px) {

    .sh-trust-container {
        padding: 35px 25px;
        gap: 40px;
    }

    .sh-trust-content h3 {
        font-size: 1.6rem;
    }

    .sh-trust-icon {
        width: 60px;
        height: 60px;
        font-size: 30px;
    }

    .sh-trust-stars {
        font-size: 1.7rem;
    }
}








  .headline-h5{
    position: relative;
    text-align: center;
    font-family: 'Inter';
    color: #000;
    font-weight: 600;
    font-size: 2em;
    margin-top:7vh;
  }
    .headline-h5-2{
    position: relative;
    text-align: center;
    font-family: 'Inter';
    color: #000;
    font-weight: 600;
    font-size: 1.5em;
    margin-top:2vh;
  }
  .headline-splitter{
    position: relative;
    width: 70%;
    max-width: 150px;
    height: 4px;
    background-color: #f68f1a;
    margin-left: auto;
    margin-right: auto;
    margin-top:1vh;
  }


  .headline-splitter2{
    position: relative;
    width: 70%;
    max-width: 150px;
    height: 4px;
    background-color: #f68f1a;
    margin-left: auto;
    margin-right: auto;
    margin-top:7vh;
  }




.text-div{
  position: relative;
  width: 90%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  margin-top:5vh;
}
.text-div2{
  position: relative;
  width: 90%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  margin-top:8vh;
}

.text-div-headline{
  position: relative;
  font-family: 'Inter';
  font-size: 1.5em;
  color:#000;
}

.text-div-headline2{
  position: relative;
  font-family: 'Inter';
  font-size: 1.5em;
  color:#000;
  margin-top:7vh;
}

.text-div-p{
  position: relative;
  font-family: 'Inter';
  line-height: 1.3;
  font-size: 1.1em;
  color:#000;
  margin-top:0.5vh;
}

.text-div-p2{
  position: relative;
  font-family: 'Inter';
  line-height: 1.3;
  font-size: 1.1em;
  color:#000;
  margin-top:3vh;
}

.text-div-p3{
  position: relative;
  font-family: 'Inter';
  line-height: 1.3;
  font-size: 1.1em;
  color:#000;
  margin-top:1vh;
}

.span-headline{
  position: relative;
  font-weight: 700;
  font-size:1.1em;
}








.mk-value-section {
  background: #f3efe9;
  padding: 70px 20px;
  overflow: hidden;
  margin-top: 7vh;
}


.sh-flex-container {
    max-width: 1200px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

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

.sh-flex-badge {
    display: inline-block;

    padding: 10px 18px;

    background: #f7e6d1;
    color: #c77719;

    border-radius: 100px;

    font-size: 14px;
    font-weight: 600;

    margin-bottom: 25px;
}

.sh-flex-title {
    font-size: 3rem;
    line-height: 1.1;
    color: #10253f;
    margin-bottom: 25px;
}

.sh-flex-text {
    font-size: 18px;
    line-height: 1.8;
    color: #667085;

    max-width: 650px;

    margin-bottom: 40px;
}

/* =====================================
   FEATURES
===================================== */

.sh-flex-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.sh-flex-feature {
    display: flex;
    align-items: center;
    gap: 12px;

    font-size: 17px;
    color: #10253f;
    font-weight: 500;
}

/* =====================================
   VISUAL
===================================== */

.sh-flex-visual {
    position: relative;
}

.sh-flex-main-card {
    background: #fff;

    border-radius: 30px;

    overflow: hidden;

    box-shadow:
        0 25px 80px rgba(0,0,0,0.08);
}

.sh-flex-main-image {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

/* =====================================
   RIBBON
===================================== */

.sh-flex-ribbon {
    position: absolute;

    left: 50%;
    bottom: -30px;

    transform: translateX(-50%) rotate(-8deg);

    background: linear-gradient(
        135deg,
        #f0a53b,
        #d47b13
    );

    color: #fff;

    padding: 18px 40px;

    border-radius: 18px;

    font-size: 28px;
    font-weight: 700;

    box-shadow:
        0 20px 50px rgba(212,123,19,0.25);
}

/* =====================================
   TABLET
===================================== */

@media (max-width: 1100px) {

    .sh-flex-container {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .sh-flex-content {
        text-align: center;
    }

    .sh-flex-text {
        margin-left: auto;
        margin-right: auto;
    }

    .sh-flex-main-image {
        height: 550px;
    }
}

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

@media (max-width: 768px) {

    .sh-flex-section {
        padding: 80px 20px;
    }

    .sh-flex-features {
        grid-template-columns: 1fr;
    }

    .sh-flex-main-image {
        height: 400px;
    }
    .sh-flex-ribbon {
        position: relative;
        bottom: auto;
        left: auto;

        transform: none;

        width: 100%;
        text-align: center;

        margin-top: 20px;

        font-size: 20px;
    }
}

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

@media (max-width: 480px) {

    .sh-flex-title {
        font-size: 2rem;
    }

    .sh-flex-text {
        font-size: 16px;
    }

    .sh-flex-feature {
        font-size: 15px;
    }
}







.inhaltsverzeichnis-div{
  position: relative;
  width: 100%;
  padding-top: 2vh;
  padding-bottom: 2vh;
  background-color: #e0e0e0;
}

.inhaltsverzeichnis-div-txt{
  position: relative;
  width: 90%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.link-text-Inhaltsverzeichnis{
  position: relative;
  font-size: 1.1em;
  font-weight: 700;
}

.link-text-Inhaltsverzeichnis2{
  position: relative;
  font-size: 1em;
  line-height: 1.6;
  color: #de3113;
  transition: 0.5s;
  cursor: pointer;
  text-decoration: none;
}
.link-text-Inhaltsverzeichnis2:hover{
  color: #136ede;
}



.a-link{
  color: #de3113;
  transition: 0.5s;
  cursor: pointer;
  text-decoration: none;
}
.a-link:hover{
  color: #136ede;
}










.immo-feature-section {
    padding: 80px 20px;
    background: #ffffff;
}

.immo-feature-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.immo-feature-card {
    text-align: center;
    padding: 30px 25px;
    border-radius: 18px;
    background: #fff;
    transition: all 0.3s ease;
}

.immo-feature-card:hover {
    transform: translateY(-6px);
}

.immo-feature-icon {
    font-size: 42px;
    line-height: 1;
    margin-bottom: 20px;
}

.immo-feature-title {
    font-size: 22px;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 15px;
}

.immo-feature-text {
    font-size: 15px;
    line-height: 1.7;
    color: #6b7280;
    margin: 0;
}

/* Tablet */
@media (max-width: 900px) {
    .immo-feature-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width: 600px) {
    .immo-feature-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .immo-feature-card {
        padding: 25px 20px;
    }

    .immo-feature-icon {
        font-size: 38px;
    }

    .immo-feature-title {
        font-size: 20px;
    }
}








    .immochart-wrapper {
      max-width: 1200px;
      margin: 60px auto;
      padding: 0 20px;
      font-family: Arial, sans-serif;
      color: #222;
    }

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

    /* =========================
       TABLE
    ========================== */
    .immochart-table-wrapper {
      margin-top: 40px;
      overflow-x: auto;
    }

    .immochart-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 700px;
      overflow: hidden;
      border-radius: 18px;
    }

    .immochart-table thead {
      background: #f7a400;
      color: #fff;
    }

    .immochart-table th {
      padding: 20px;
      text-align: left;
      font-size: 18px;
      font-weight: 700;
    }

    .immochart-table td {
      padding: 18px 20px;
      background: #fff;
      border-bottom: 1px solid #ececec;
      font-size: 16px;
    }

    .immochart-table tbody tr:nth-child(even) td {
      background: #f9f9f9;
    }

    .immochart-table tbody tr:hover td {
      background: #fff7e8;
      transition: 0.3s;
    }

    /* =========================
       RESPONSIVE
    ========================== */
    @media (max-width: 768px) {

      .immochart-card {
        padding: 25px 15px;
      }

      .immochart-title {
        font-size: 24px;
        margin-bottom: 25px;
      }

      .immochart-graph {
        height: 280px;
        padding: 15px;
      }

      .immochart-table th,
      .immochart-table td {
        padding: 14px;
        font-size: 14px;
      }

      .immochart-info {
        font-size: 14px;
      }
    }



      .immochartjs-wrapper {
    position: relative;
    width: 96%;
    max-width: 1200px;
    height: 450px;
    margin: 0 auto;
    padding: 15px;
    background: #f7f7f7;
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
    margin-top:2vh;
  }

  #immochartjs-chart {
    width: 100% !important;
    height: 100% !important;
  }

  @media (max-width: 768px) {

    .immochartjs-wrapper {
      height: 320px;
      padding: 7px;
      border-radius: 18px;
      margin-top:0vh;
    }
  }














/* ==========================================
   MODERN STEP LIST
   Eigene Klassen gegen CSS-Konflikte
========================================== */

.mystep-section {
    max-width: 900px;
    width: 90%;
    margin: 3vh auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.mystep-item {
    display: grid;
    grid-template-columns: 70px 1fr;
    align-items: center;
    gap: 18px;
}

.mystep-number {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0f6cbf, #0a4f8d);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.2rem;
    box-shadow:
        0 8px 20px rgba(15, 108, 191, 0.25),
        inset 0 2px 4px rgba(255,255,255,0.15);
    flex-shrink: 0;
}

.mystep-number--cyan {
    background: linear-gradient(135deg, #28d4e8, #15a9bc);
}

.mystep-number--purple {
    background: linear-gradient(135deg, #c1288e, #8d1b68);
}

.mystep-content {
    background: #ffffff;
    border: 2px solid #ececec;
    border-radius: 999px;
    padding: 22px 30px;
    min-height: 70px;

    display: flex;
    align-items: center;

    box-shadow:
        0 4px 12px rgba(0,0,0,0.04);
}

.mystep-content p {
    margin: 0;
    color: #555;
    font-size: 16px;
    line-height: 1.6;
}

/* ==========================
   TABLET
========================== */

@media (max-width: 768px) {

    .mystep-item {
        grid-template-columns: 60px 1fr;
        gap: 14px;
    }

    .mystep-number {
        width: 60px;
        height: 60px;
        font-size: 1rem;
    }

    .mystep-content {
        padding: 18px 22px;
        border-radius: 24px;
    }

    .mystep-content p {
        font-size: 15px;
    }
}

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

@media (max-width: 480px) {

    .mystep-item {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .mystep-content {
        width: 100%;
        border-radius: 20px;
        padding: 18px;
    }

    .mystep-number {
        margin-bottom: -8px;
        z-index: 2;
    }
}













    .kv-hero {
    padding: 30px 30px;
    background: #f7f2ed;
    margin: 7vh auto;
}

.kv-container {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    overflow: hidden;
    border-radius: 12px;
    background: transparent;
}

.kv-image-wrapper {
    height: 100%;
}

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

.kv-content {
    padding: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.kv-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    padding: 10px 18px;
    border-radius: 8px;
    width: fit-content;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #333;
    margin-bottom: 30px;
}

.kv-badge-dot {
    width: 10px;
    height: 10px;
    background: #f08a24;
    border-radius: 50%;
}

.kv-title {
    font-size: clamp(42px, 5vw, 78px);
    line-height: 1.05;
    font-weight: 700;
    color: #352f2c;
    margin-bottom: 30px;
}

.kv-text {
    font-size: 18px;
    line-height: 1.8;
    color: #666;
    max-width: 600px;
    margin-bottom: 40px;
}

.kv-btn {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    background: #1f1a17;
    color: #fff;
    text-decoration: none;
    padding: 18px 32px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 16px;
    transition: all .3s ease;
    width: fit-content;
}

.kv-btn:hover {
    background: #000;
    transform: translateY(-2px);
}

.kv-btn-icon {
    color: #f08a24;
    font-size: 26px;
    line-height: 1;
}

/* ==========================
   TABLET
========================== */

@media (max-width: 1024px) {

    .kv-content {
        padding: 60px;
    }

    .kv-title {
        font-size: 56px;
    }
}

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

@media (max-width: 768px) {

    .kv-container {
        grid-template-columns: 1fr;
    }

    .kv-image-wrapper {
        min-height: 350px;
    }

    .kv-content {
        padding: 40px 30px;
    }

    .kv-title {
        font-size: 42px;
    }

    .kv-text {
        font-size: 16px;
        line-height: 1.7;
    }

    .kv-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {

    .kv-hero {
        padding: 20px 15px;
    }

    .kv-image-wrapper {
        min-height: 260px;
    }

    .kv-title {
        font-size: 34px;
    }

    .kv-content {
        padding: 30px 20px;
    }
}




    .img-makler-hamburg{
      position: relative;
      width: 90%;
      max-width: 1200px;
      height:auto;
      margin-top:7vh;
      margin-left: auto;
      margin-right: auto;
    }














.form-box-plz{
  position: relative;
  padding-top: 1vh;
  padding-bottom: 2vh;
}

    .iml-wrap-x1 {
  width: 100%;
  min-height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f4f4f4;
  padding: 20px;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
  padding-top:7vh;
  padding-bottom:7vh;
  margin-top:4vh;
}

.iml-box-x1 {
  width: 100%;
  max-width: 650px;
  background: #fff;
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* =========================
   PROGRESS
========================= */

.iml-progress-x1 {
  height: 6px;
  background: #eee;
  border-radius: 50px;
  overflow: hidden;
  margin-bottom: 25px;
}

.iml-progress-bar-x1 {
  height: 100%;
  width: 25%;
  background: #ff7a00;
  transition: 0.3s ease;
}

/* =========================
   STEPS
========================= */

.iml-step-x1 {
  display: none;
}

.iml-step-x1.active {
  display: block;
}

.iml-title-x1 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 18px;
}

.iml-title-x2 {
  font-size: 1.1em;
  font-weight: 500;
  margin-bottom: 18px;
}

/* =========================
   PROPERTY TYPES
========================= */

.iml-grid-x1 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.iml-card-x1 {
  border: 2px solid #eee;
  border-radius: 12px;
  padding: 14px;
  text-align: center;
  cursor: pointer;
  transition: 0.2s;
}

.iml-card-x1:hover {
  border-color: #ff7a00;
}

.iml-card-x1.active {
  border-color: #ff7a00;
  background: #fff6ee;
}


.iml-card-x1-2 {
  border: 2px solid #eee;
  border-radius: 12px;
  padding: 14px;
  text-align: center;
  cursor: pointer;
  transition: 0.2s;
}

.iml-card-x1-2:hover {
  border-color: #ff7a00;
}

.iml-card-x1-2.active {
  border-color: #ff7a00;
  background: #fff6ee;
}

/* =========================
   INPUTS
========================= */

.iml-input-x1 {
  width: 90%;
  display: block;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #ddd;
  margin-top: 10px;
  font-size: 15px;
  margin-left: auto;
  margin-right: auto;
}

/* =========================
   SLIDER
========================= */

.iml-slider-wrap-x1 {
  margin-top: 15px;
}

.iml-slider-x1 {
  width: 100%;
}

.iml-value-x1 {
  margin-top: 8px;
  font-weight: bold;
}

/* =========================
   ZIMMER COUNTER
========================= */

.iml-counter-x1 {
  display: flex;
  align-items: center;
  justify-content: center; 
  gap: 10px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 2vh;
}

.iml-btn-x1 {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  border: none;
  background: #ff7a00;
  color: white;
  font-size: 20px;
  cursor: pointer;
}

.rooms-text{
  font-size: 1.1em;
  font-weight: 600;
}

/* =========================
   BUTTONS
========================= */

.iml-actions-x1 {
  display: flex;
  justify-content: space-between;
  margin-top: 25px;
  gap: 10px;
}

.iml-next-x1,
.iml-back-x1 {
  padding: 12px 18px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  font-weight: bold;
  font-size: 1em;
}

.iml-next-x1 {
  background: #ff7a00;
  color: white;
  width: 100%;
}

.iml-back-x1 {
  background: #eee;
}

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

@media (max-width: 600px) {
  .iml-grid-x1 {
    grid-template-columns: 1fr;
  }
}









.iml-slider-wrap-x1{
    display:flex;
    align-items:center;
    gap:40px;

    padding-top:3vh;
    padding-bottom:3vh;
}

/* Icon links */
.iml-icon-x1{
    flex-shrink:0;
}

.iml-icon-x1 img{
    width:60px;
    height:60px;
    object-fit:contain;
}

/* Slider Bereich */
.iml-slider-content-x1{
    flex:1;
}

/* Mobile Ansicht */
@media (max-width: 700px){

    .iml-slider-wrap-x1{
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    .iml-icon-x1{
        margin-bottom:10px;
    }

    .iml-slider-content-x1{
        width:100%;
    }
}


.lable-zimmer-text{
  position: relative;
  font-family: 'Inter';
  font-size:1em;
  font-weight: 600;
  text-align: center;
  margin-top:1vh;
}











/* Wrapper */
.immo-form-wrapper {
  max-width: 500px;
  margin: 0 auto;
  padding: 20px;
  font-family: system-ui, -apple-system, sans-serif;
}

/* Reihen */
.immo-form-row {
  margin-bottom: 15px;
  width: 95%;
}

/* Grid */
.immo-form-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* Inputs */
.immo-form-input {
  width: 100%;
  padding: 14px 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 15px;
  transition: all 0.2s ease;
  background: #fff;
}

.immo-form-input:focus {
  border-color: #007aff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,122,255,0.1);
}

/* Radio */
.immo-form-radio {
  display: flex;
  gap: 20px;
}

.immo-form-radio-item {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 15px;
}

.immo-form-radio-item input {
  accent-color: #007aff;
  width: 16px;
  height: 16px;
}

/* Hinweistext */
.immo-form-note {
  font-size: 13px;
  color: #555;
  line-height: 1.4;
}

/* Switch */
.immo-form-switch-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top:1vh;
}

.immo-form-switch {
  position: relative;
  width: 42px;
  height: 24px;
  flex-shrink: 0;
}

.immo-form-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.immo-form-slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: #ccc;
  border-radius: 30px;
  transition: 0.3s;
}

.immo-form-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  top: 3px;
  background-color: white;
  border-radius: 50%;
  transition: 0.3s;
}

.immo-form-switch input:checked + .immo-form-slider {
  background-color: #007aff;
}

.immo-form-switch input:checked + .immo-form-slider:before {
  transform: translateX(18px);
}

/* Switch Text */
.immo-form-switch-text {
  font-size: 13px;
  line-height: 1.4;
  color: #333;
}

/* Responsive */
@media (max-width: 600px) {
  .immo-form-grid-2 {
    grid-template-columns: 1fr;
  }
}









  footer {
    background: #1A1E25;
    color:#ebebeb;
	padding-top: 3vh;
	padding-bottom: 6vh;
	font-family: 'Inter';
  margin-top:5vh;
}

footer p {
    text-align: center;
	font-family: 'Inter';
	font-size:0.9em;
	margin-top:1em;
}




















/* ===== NAVIGATION (PREFIX: sf-nav) ===== */

.sf-nav {
width: 94%;
  max-width: 1200px;
  position: fixed;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  font-family: Arial, sans-serif;
}

/* TOP BAR */
.sf-nav__top {
  background: #f7901a;
  color: #333;
  font-size: 0.85rem;
  display: flex;
  justify-content: space-between;
  padding: 8px 5%;
  flex-wrap: wrap;
  border-radius: 20px 20px 0 0 ;
}

.sf-nav__top span,
.sf-nav__top a {
  margin-right: 15px;
  text-decoration: none;
  color: inherit;
  color:#fff;
}

/* MAIN NAV */
.sf-nav__main {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 5%;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
  border-radius: 0 0 20px 20px;
}

/* LOGO */
.sf-nav__logo img {
  height: 45px;
}

/* MENU */
.sf-nav__menu {
  display: flex;
  gap: 25px;
}

.sf-nav__menu a {
  text-decoration: none;
  color: #333;
  font-weight: 500;
  transition: 0.3s;
}

.sf-nav__menu a:hover {
  color: #f7901a;
}

/* CTA BUTTON */
.sf-nav__cta {
  background: #000000;
  color: #fff;
  padding: 10px 18px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
}

.sf-nav__cta:hover {
  background: #252525;
}

/* BURGER */
.sf-nav__burger {
  display: none;
  font-size: 1.8rem;
  cursor: pointer;
}

/* RESPONSIVE */
@media (max-width: 900px) {

  .sf-nav__menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    gap: 15px;
    display: none;
  }

  .sf-nav__menu.active {
    display: flex;
  }

    .sf-nav__logo img {
  height: 35px;
}

  .sf-nav__burger {
    display: block;
  }

  .sf-nav__cta {
    display: none;
  }

  .sf-nav__top {
    flex-direction: column;
    gap: 5px;
  }

  .sf-nav__main {
    border-radius: 0 0 0px 0px;
  }

  .sf-hero__title{
    position: relative;
    margin-top: 11vh;
  }
}