:root{
  --hoverOrange: #fb892e;
  --primeWhite: #ffffff;
  --primeblack: #202020;
  --lightBlack: #373636;
  --actionCall: #fbac6c;
}

html{
  scroll-behavior: smooth;
}

 body{
  overflow-x: hidden;
}

section{
   padding: 40px 0;
  z-index: 2;
}

a {
  color: inherit;        /* übernimmt die Textfarbe vom Elternelement */
  text-decoration: none; /* entfernt den Unterstrich */
}

h1,h2,.nav-link{
  font-family: "Kanit";
  font-weight: 700;
  font-style: normal;
  z-index: 2;
}

h1,h2,.nav-link{
  text-transform: uppercase;
}

h1{
  font-size: 2.2rem;
  text-align: center;
}

h2{
  font-size: 1.6rem;
  text-align: center;
}

h3{
  font-size: 1.2rem;
  /* text-align: center; */
}

p{
  font-size: 1.1rem;
}


/* .navbar {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1050;
padding: 12px 16px;
} */



.navbar{
  position: absolute;
  width: 100vw;
  background-color: transparent;
  padding: 30px;
  z-index: 3;

}

.navbar-toggler{
  z-index: 3;
}

.navbar img{
  width: 160px;
}

.nav-link.active{
  color: var(--primeWhite)!important;

}
.navbar-nav{
  margin-left: auto !important;
  padding-top: 10px;

}

.nav-item{
  padding: 0 10px;
  color: var(--primeWhite)!important;
}

#reservieren{
  color: var(--actionCall) !important;
}

#reservieren:hover{
  color: var(--hoverOrange) !important;
}
.nav-link{
  color: var(--primeWhite);
  font-size: 1.1rem;
  z-index: 2;
}



.nav-link:hover {
  color: var(--hoverOrange)!important;
}

#gallerie_nav{
  position: fixed;
  background-color: var(--primeWhite);
}

#home_gallerie_nav{
  color: var(--primeblack)!important;
}

#home_gallerie_nav:hover{
  color: var(--hoverOrange)!important;
}

body.gallierebody{
      background: var(--primeWhite);
      color: var(--primeWhite);
      font-family: sans-serif;
      margin: 0;
      /* padding: 20px; */
}


     .grid {
       max-width: 1200px;
       margin: 0 auto;
       padding-top: 15vh;
     }

     .grid-sizer,
     .grid-item {
       width: 20%;
     }

     .grid-item {
       padding: 10px;
       box-sizing: border-box;
     }

     .grid-item img {
       width: 100%;
       display: block;
       border-radius: 10px;
       cursor: pointer;
     }

     .lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.lightbox.active {
  opacity: 1;
  pointer-events: auto;
}

.lightbox img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 10px;
}

.lightbox .close {
  position: absolute;
  top: 30px;
  right: 40px;
  font-size: 40px;
  color: white;
  cursor: pointer;
  user-select: none;
}
#landing{

  background-image: url("/img/icon/Foto 31.05.25, 05 56 54.jpg");
  background-color: rgba(32,32,32, 0.486);
  background-blend-mode: overlay;
  clip-path: ellipse(100% 80% at 50% 20%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100vh;
  /* display: grid;
  grid-template-rows: 2fr 1fr; */
  color: var(--primeWhite);
 /* place-items: center; */
 display: flex;
 align-items: center;
 justify-content: left;
 min-height: 100vh;
 min-width: 100vw;

}



.gallerielink:hover{
  color: var(--hoverOrange)!important;
}

.overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
.content{
   z-index: 2;
  /*grid-row: 2;
  text-align: center;
  display: grid; */
  width: 100%;
  max-width: 70vw;     /* begrenzt die Breite */
  padding: 0 10vw;      /* links/rechts Abstand */
  text-align: left ;
}

.content h2{
  color: var(--actionCall);
  text-align: left;
  margin-bottom: 1rem;
}
.content h1{

  text-align: left;
}

.content p{
  text-align: left;
}
/*
#location{
  display: flex;
  color: var(--primeblack);
   grid-auto-flow: column;
  grid-template-columns: 3fr 2fr;
  align-items: center;
  text-align: center;
   padding-top: 5vh;
  position: relative;
  flex-wrap: wrap;
  gap: 0.5rem;
  min-height: 100vh;
  min-width: 100vw;
  justify-content: center;
}

.button_work{
  display: flex;
  justify-content: center;
  align-items: center;

}

.center_button{
  flex: 2;
}

.location_head{
  align-items: center;
  position: absolute;
  padding-bottom: 85vh;
}
#loc_img{
  min-width: 10vw ;
  max-width: 24vw;
  height: auto;

  border-radius: 20%;
  padding: 6vh 2vw;
  position: relative;
}

#text_location{
  align-items: center;
  text-align: left;
  line-height: 35px;
  width: 68vw;
} */

#location {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 5vh 2rem;
  min-height: 100vh;
  background-color: #fff; /* oder deine gewünschte Hintergrundfarbe */
  color: var(--primeblack);
  gap: 2rem;
}

/* Überschrift */
.location_head {
  font-size: 2.5rem;
}

/* Bilder */
.location_img_div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3rem;
}

.loc_img {
  width: 300px;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
}

/* Text */
.location_text {
  max-width: 70vw;
  padding: 0 1rem;
  text-align: left;
}

/* Button */



/* From Uiverse.io by sekaiking */
button {
  background-color: white;
  color: black;
  border-radius: 10em;
  font-size: 1vw;
  font-weight: 600;
  padding: 1em 2em;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  border: 1px solid black;
  box-shadow: 0 0 0 0 black;

}

button:hover {
  transform: translateY(-4px) translateX(-2px);
  box-shadow: 2px 5px 0 0 black;
};

button:active {
  transform: translateY(2px) translateX(1px);
  box-shadow: 0 0 0 0 black;
};

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

#imageslide{
  background-color: var(--primeWhite);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50vh;
  padding-top: 1vw;
}

.carousel {
  width: 80vw; /* oder eine feste Breite wie 1200px */
  max-width: 1200px; /* optional */
  margin: 0 auto; /* zentriert den Slider horizontal */
  height: 40vh;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
  padding-top: 2vh;
}


.carousel-track {
  display: flex;
  gap: 3vw; /* 'grid-gap' ist veraltet für Flexbox */
  animation: scroll 90s linear infinite;
}

.carousel-track img {
  min-height: 20vh;
  width: auto;
  max-height: 20vh;
  object-fit: cover;
  border-radius: 40px;

}

@keyframes scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-2100px); } /* 800 * 4 */
}

#kueche {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  padding: 60px 20px;
  background-color: var(--primeblack);
  color: var(--primeWhite);
  min-height: 83vh;
  min-width: 100vw;
  margin: 0 auto;
}

.kueche_text {
  flex: 1 1 500px;
  z-index: 1;
}

.kueche_text h1 {

  margin-bottom: 5vh;
  text-align: left;
}

.kueche_text h3 {
  line-height: 1.6;
  text-align: left;
}



.kueche_text .btn:hover {
  transform: translateY(-4px) translateX(-2px);
  box-shadow: 2px 5px 0 0 var(--primeWhite);
}

.kueche_text .btn:activ{
  transform: translateY(2px) translateX(1px);
  box-shadow: 0 0 0 0 var(--primeWhite);
}
.kueche_text .btn {
  background-color: var(--primeblack);
  color: var(--primeWhite);
  border-radius: 10em;
  font-size: 1vw;
  font-weight: 600;
  padding: 1em 2em;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  border: 1px solid var(--primeWhite);
  box-shadow: 0 0 0 0 white;
  margin-top: 2vw;

}


.image_block_kueche {
  flex: 1 1 300px;
  position: relative;
  min-height: 300px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 40px;
}

.image_block_kueche img {
  border-radius: 10px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.3);
  width: 16vw;
  height: auto;
  object-fit: cover;
  position: absolute;
}

.img1 {
  top: 0;
  right: 17vw;
}

.img2 {
  top: 18vw;
  right: 19vw;
  border-radius: 50% !important;
  width: 13vw !important;
  height: 13vw !important;
}

.img3 {
  top: 17vw;
  right: 8vw;

}




#contact{
  display: grid;
  color: var(--primeblack);
  grid-auto-flow: row;
  grid-template-columns: 1fr;
  grid-template-rows: 2fr;
  align-items: center;
  justify-content: center;
  min-height: 100vh;


}

.couple{
  min-width: 20vh;
  max-width: 40vw !important;
  height: auto;
  width: 50%;
  height: auto;
}

.Text_Kontakt{
  display: flex;
  padding-left: 4vw;
  text-align: left;
  line-height: 20px;
  max-width: 90vw;
  padding-left: 10vw;
  display: inline-block;
  align-items: center;
  justify-content: center;

}


.kontakt_div{

  text-align: left;
  line-height: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10vh;
}

.pict_kontakt{
  align-items: center;
  justify-content: center;
  display: flex;
  width: 30vw;
  padding-top: 5vh;
}

.icon_text{
  display: block;
  gap: 2vw;
  width: 25vw;

}




p.Text_Kontakt{
  font-size: 1.3rem;
}

/* .platzmacher{

  height: 15vh;
  width: auto;
} */
.footer {
    background-color: #2e2e2e; /* dark grey */
    color: #ffffff;
    padding: 20px 40px;
    text-align: center;


  }

  .footer a {
    color: #dddddd;
    text-decoration: none;
  }

  .footer a:hover {
    text-decoration: underline;
  }

  .footer small {
    display: block;
    margin-top: 10px;
    color: #aaaaaa;
  }

  .kontakt_icon{
    width: 1.8vw;
    height: auto;
  }



  #wohnen{
    display: grid;
    background-color: var(--primeblack);
    color: var(--primeWhite);
    grid-auto-flow: row;
    grid-template-columns: 1fr 1fr;

     align-items: center;

    min-height: 100vh;
    max-height: 100vh;
    min-width: 100vw;

}
  .Text_wohnen{
    display: flex;
    padding-left: 4vw;
    text-align: left;
    line-height: 20px;
    max-width: 90vw;
    padding-left: 10vw;
    display: inline-block;
    align-items: center;
    justify-content: center;
    padding-bottom: 5vh;

  }

  p.Text_wohnung{
    font-size: 1.3rem;
    padding-bottom: 25vh;
  }


  .buchstabe{
  font-size: 40vw;
  font-weight: bold;
  background-image: url('/img/TinyHouse_Hell.jpeg');
  background-size: contain;          /* Bild vollständig anzeigen */
   background-repeat: no-repeat;      /* Kein Wiederholen */
   background-position: center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;

  }


  .Text_wohnen .btn{
    background-color: var(--primeblack);
    color: var(--primeWhite);
    border-radius: 10em;
    font-size: 1vw;
    font-weight: 600;
    padding: 1em 2em;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    border: 1px solid var(--primeWhite);
    box-shadow: 0 0 0 0 white;
    margin-top: 2vw;
  }

  .Text_wohnen .btn:hover {
    transform: translateY(-4px) translateX(-2px);
    box-shadow: 2px 5px 0 0 var(--primeWhite);
  }

  .Text_wohnen .btn:activ{
    transform: translateY(2px) translateX(1px);
    box-shadow: 0 0 0 0 var(--primeWhite);
  }


  .wrapper {
  max-height: 100vh;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--primeWhite);
  /* padding: 20px 20px; */
}

.container {
  display: flex;
  flex-direction: column;
  max-width: 1200px;
  width: 100%;
  gap: 50px;
}

@media (min-width: 992px) {
  .container {
    flex-direction: row;
  }
}

.testimonial {
  background-color: var(--actionCall);
  color: var(--primeBlack);
  border-radius: 24px;
  padding: 40px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.quote {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 30px;
}

.author {
  display: flex;
  align-items: center;
  gap: 15px;
}

.author-img {
  width: 20vw;
  height: 20vw;
  border-radius: 50%;
  object-fit: cover;
}

.author-name {
  font-weight: bold;
  margin-left: 2vw;
}

.author-role {
  font-size: 0.9rem;
  margin-left: 2vw;
}

.form-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.form-section h1 {

  margin-bottom: 100px;

}

.subtitle {
  color: #555;
  margin-bottom: 20px;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 2vh;;

}
{
 box-sizing: border-box;
}

.contact-form {
 display: flex;
 flex-direction: column;
 gap: 2vh;
 width: 100%;
}

.row {
 display: flex;
 gap: 15px;
 width: 100%;
 margin-left: 1px;
}

.row input {
 flex: 1;
 min-width: 0; /* ganz wichtig bei flex-Layouts */
}

input, textarea, select {
 padding: 12px;
 border: 1px solid #ccc;
 border-radius: 8px;
 font-size: 1rem;
 width: 100%;
}

input:focus,
textarea:focus {
 outline: 2px solid var(--actionCall);
}

textarea {
  resize: none;
  height: 140px;
}

.services {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  font-size: 0.95rem;
  color: #333;
}



  /* AB HIER LOCATION.HTML */











  #landing_location {

    height: 100vh;
    width: 100vw;
    padding-top: 17vh;
    padding-left: 5vw;
    padding-right: 5vw;

  }

  .location_landing_pic {
  background-image: url("/img/Foto 25.06.25, 08 00 52 (6).jpg");
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  border-radius: 25px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  box-sizing: border-box;
  position: relative;
  padding: 0; /* WICHTIG: Kein Innenabstand mehr */
}

.Text_landing_location {
  background-color: white;
  padding: 1rem 0rem;
  max-width: 60vw;
  width: 35vw;
  z-index: 2;
  /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); /* korrigierter Shadow */ */
  font-family: 'Kanit', sans-serif;
  border-radius: 25px 0px 25px 0px;
  position: absolute;   /* Positioniert die Box direkt im Bild */
  top: 0;
  left: 0;
  margin: 0; /* wichtig: kein extra Abstand */
  gap: 1vw;

}


  .location_color_text{
    color: var(--actionCall);

  }

  /* Responsiv anpassen */
  @media (max-width: 768px) {
    .hero-text-box {
      padding: 2rem;
      max-width: 90%;
    }

    .hero-text-box h1 {
      font-size: 1.75rem;
    }
  }


  #welcome{
    min-height: 90vh;
    min-width: 100vw;
    text-align: center;

  }

  .ueberschrift_welcome{
    text-align: center;
    gap: 1vw;
    width: 100vw;
    justify-content: center;
    align-items: center;
  }

  .bild-text-bild {
  width: 100vw; /* volle Breite bis zum Rand */
  background: #fff; /* oder gewünschte Farbe */
  height: auto;


}

.content-wrapper {
  display: grid;
 grid-template-columns: 1fr 2fr 1fr;
 gap: 1rem;
}

.align{
  text-align: left;
}

.content-wrapper img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.content-wrapper .text {
  padding: 2rem;

}

.welcome_left{
  border-radius: 0 100px 0 0;
}

.welcome_right{
  border-radius: 0 0 0 100px;
}

.text .btn:hover {
  transform: translateY(-4px) translateX(-2px);
  box-shadow: 2px 5px 0 0 var(--primeblack);
}

.text .btn:activ{
  transform: translateY(2px) translateX(1px);
  box-shadow: 0 0 0 0 var(--primeblack);
}
.text .btn {
  background-color: var(--primeWhite);
  color: var(--primeblack);
  border-radius: 10em;
  font-size: 1vw;
  font-weight: 600;
  padding: 1em 2em;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  border: 1px solid var(--primeblack);
  box-shadow: 0 0 0 0 white;
  margin-top: 2vw;
}

#Konferenzraum{
  background-color: var(--primeblack);
  min-height: 83vh;
  min-width: 100vw;
  height: auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1rem;
}

.Konferenz_bildwrapper img {
  width: 60%;
  height: auto;
  object-fit: cover;
}

.Konferenz_text{
  color: var(--primeWhite);
  text-align: left;
  padding-left: 1vw;
  width: 80%;

}

.Ueberschrift_all{
  gap: 0.5rem;;
}


#wine{
  background-color: var(--primewhite);
  min-height: 83vh;
  min-width: 100vw;
  height: auto;
  display: grid;
  grid-template-columns: 1fr 1fr ;
  gap: 1rem;
  padding-top: 15vh;
}

.wine_text{
  color: var(--primeBlack);
  text-align: left;
  padding-left: 1vw;
}

.wine_bildwrapper img{
  width: 60%;
  height: 80%;
  object-fit: cover;
  border-radius: 40px 40px 0px 1000px;
  padding-left: 5vw;

}

/* .bild_wein{
  mask-image: url("/Users/nicostengel/Developer/Web/Nicki/img/icon/blob.svg");
 -webkit-mask-image: url("/Users/nicostengel/Developer/Web/Nicki/img/icon/blob.svg");
 mask-size: cover;
} */

#tarife{
  min-width: 100vw;
  min-height: 83vh;
  max-height: 83vh;
  justify-content: center;
  align-items: center;

}

.grid_tarife{
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 5vw;
  height: 40vh;
  padding-top: 5vh;
  justify-content: center; /* Inhalte enger zusammenschieben */
  align-items: center;


}
.meeting_tarif{
  height: 40vh;
  width: 15vw;
  border-style: solid;
  border-color: var(--primeblack);
  background-color: var(--primeblack);
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  color: var(primeWhite);
}

.ganztag_tarif{
  height: 40vh;
  width: 15vw;
  border-style: solid;
  border-color: var(--actionCall);
  background-color: var(--actionCall);
  border-radius: 3px;
  justify-content: center;
  align-items: center;
}

.abend_tarif{
  height: 40vh;
  width: 15vw;
  border-style: solid;
  border-color: var(--primeblack);
  background-color: var(--primeblack);
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  color: var(primeWhite);
}

.abend_tarif p h2{
  color: var(--primeWhite);
}

.text_tarfife{
  display: flex;
  text-align: left;
  line-height: 20px;
  max-width: 90vw;
  padding-left: 7vw;
  display: inline-block;
  align-items: center;
  justify-content: center;
  padding-top: 6vh;

}






.pricing-section {
         max-width: 1200px;
         margin: 0 auto;
         padding: 60px 20px;
         text-align: center;
     }

     .section-title {
         font-size: 36px;
         margin-bottom: 10px;
         color: #222;
         font-weight: 700;
     }

     .section-subtitle {
         font-size: 24px;
         color: #555;
         margin-bottom: 50px;
     }

     .pricing-cards {
         display: flex;
         justify-content: center;
         flex-wrap: wrap;
         gap: 30px;
     }

     .pricing-card {
         background: white;
         border-radius: 10px;
         box-shadow: 0 5px 15px rgba(0,0,0,0.1);
         padding: 40px 30px;
         width: 300px;
         transition: transform 0.3s ease;
         margin-top: 5vh;
     }

     .pricing-card:hover {
         transform: translateY(-10px);
     }

     .card-title {
         font-size: 22px;
         font-weight: 700;
         margin-bottom: 20px;
         color: #222;
     }

     .card-price {
         font-size: 32px;
         font-weight: 700;
         color: var(--primeBlack);
         margin-bottom: 25px;
     }

     .card-time {
         font-size: 16px;
         color: #777;
         margin-bottom: 25px;
         font-style: italic;
     }

     .card-features {
         list-style: none;
         padding: 0;
         margin-bottom: 30px;
         text-align: left;
     }

     .card-features li {
         margin-bottom: 10px;
         padding-left: 25px;
         position: relative;
     }

     .card-features li:before {
         content: "✓";
         color: var(--primeBlack);
         position: absolute;
         left: 0;
         font-weight: bold;
     }

     .card-button {
         background-color: #111;
         color: white;
         border: none;
         padding: 12px 30px;
         font-size: 16px;
         border-radius: 5px;
         cursor: pointer;
         transition: background-color 0.3s;
         font-weight: 600;
     }

     .card-button:hover {
         background-color: var(--hoverOrange);
     }

     @media (max-width: 768px) {
         .pricing-cards {
             flex-direction: column;
             align-items: center;
         }
     }

/*
  .welcome_main{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5vw;;
    min-height:10vh;
    position: fixed;
  }

  .img_welcome{
    height: 40%;
    width: 40%;
  }

  .float_welcome{
    width: 40vw;
    height: 70vh;
    padding: 10px;
  } */






  /* MOBILE */
    /* MOBILE */
      /* MOBILE */
        /* MOBILE */

        /* =========================================================
           DANNERHOF – Mobile/Tablet Theme Override
           Greift nur bis max-width: 991.98px (Bootstrap <lg)
           ========================================================= */

      /* --- Mobile Offcanvas (rechts) nur < lg --- */
@media (max-width: 991.98px) {
.navbar { position: absolute; top:0; left:0; right:0; z-index: 2002; }

/* Das Collapse wird zum rechten Drawer */
.navbar-collapse {
  position: fixed;
  top: 0; right: 0; height: 100vh;
  width: min(86vw, 380px);
  padding: 120px 20px 24px;         /* Platz für die Navbar oben */
  background: #fff;
  color: #111;
  box-shadow: -24px 0 48px rgba(0,0,0,.18);
  overflow-y: auto;

  transform: translateX(100%);
  transition: transform .28s ease;
  z-index: 2003;                   /* über Backdrop */
}
.navbar-collapse.show { transform: translateX(0); }

/* Links im hellen Panel */
.navbar .navbar-nav .nav-link,
.navbar .dropdown-item { color:#111 !important; padding:20px 20px; }
.navbar .navbar-nav .nav-link:hover { color:#000 !important; }

/* Burger-Button immer klickbar */
.navbar .navbar-toggler { position: relative; z-index: 2100; }
/* Default: schwarzes Icon */


/* Speziell für die Startseite (index.html) – weißes Icon */
body.index-page .navbar .navbar-toggler-icon {
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar .navbar-toggler-icon {
  width: 2.5em;  /* Breiter */
  height: 2.5em; /* Höher */
  background-size: contain; /* passt SVG an */
}
  
body.gallierebody .navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23000' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;
  background-size: contain;
  width: 2.5em;
  height: 2.5em;
}

/* Falls Bootstrap-Einfärbung reinfunkt: sicherstellen, dass Button selbst “schwarz” wirkt */
body.gallierebody .navbar .navbar-toggler {
  color: #000 !important;
  border-color: rgba(0,0,0,.25) !important;
}

.nav-link{
  font-size: 1.9rem;
  z-index: 2;

}

.navbar img{
  width: 250px;
}

#landing{
  clip-path: none;
  background-color: rgba(0, 0, 0, 0.4); /* Abdunklung */
  background-blend-mode: overlay;
  height: 500px; /* oder auto */
}
.overlay{ display: none; }
  
h1{
  font-size: 4rem;
  text-align: center;
}

h2{
  font-size: 2.8rem;
  text-align: center;
}

h3{
  font-size: 2.1rem;
}

p{
  font-size: 1.9rem;
}

li{
  font-size: 1.9rem;
}

#location{
  margin-top: 40px;
}
.location_head{
  font-size: 4rem;
}

.location_img_div {
  margin-top: 35px;
}

.loc_img {
  width: 420px;
}

.location_text {
  max-width: 100vw;
  text-align: center;
  font-size: 1.9rem;
  padding: 0 5rem;
  margin-top: 45px;
}

/* Button */
.location_handy .btn{
  font-size: 1.5rem;
  margin-top: 35px;
}

#wohnen{
  display: grid;
  grid-template-columns: 1fr;
}

.Text_wohnen{

  line-height: 40px;

}

.Order_Handy2{
  order: 2;
}

.Order_Handy1{
  order: 1;
}

.buchstabe{
font-size: 70vw;
}


.Text_wohnen .btn{
  font-size: 1.5rem;
  margin-top: 35px;
}

.testimonial {
  padding: 30px;
}

.quote {
  font-size: 1.9rem;
}


.author-img {
  width: 25vw;
  height: 25vw;
}


.author-role {
  font-size: 1.3rem;
}


.form-section h1 {
  font-size: 3.7rem;
  margin-bottom: 35px;
}

.contact-form {
 display: flex;
 flex-direction: column;
 gap: 1.5vh;
 width: 100%;
}

input, textarea {
 border: 2px solid #ccc;
 font-size: 1.5rem;
}

select{
  font-size: 1.0rem;
  border: 2px;
  height: 70px;
}
textarea {
  height: 200px;
}

input[type="date"] {
  -webkit-appearance: none; /* iOS Safari: native UI abschalten */
  appearance: none;
  height: 70px; /* Standard */
}

input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 1;
  cursor: pointer;
}

.services {
  font-size: 1.5rem;
}

button{
  font-size: 1.4rem;
  border-radius: 8px;

}


/*AB HIER LOCATION SEITE*/
/*AB HIER LOCATION SEITE*/
/*AB HIER LOCATION SEITE*/
/*AB HIER LOCATION SEITE*/
/*AB HIER LOCATION SEITE*/
/*AB HIER LOCATION SEITE*/
/*AB HIER LOCATION SEITE*/


.Text_landing_location {
  max-width: 75vw;
  width: 70vw;
  gap: 1vw;
}

#Konferenzraum{
  grid-template-columns:1fr;
}

.Konferenz_bildwrapper img {
  display: block;       /* verhindert Lücke unter img */
  margin: 0 auto;       /* links/rechts gleich groß */
  max-width: 100%;      /* passt sich an Bildschirmbreite an */
  height: auto;
  margin-top: 20px;         /* behält Seitenverhältnis */
}

  #wine{
    -webkit-appearance: none;
  }
.wine_bildwrapper img{
  width: 90%;
  height: 70%;
  object-fit: cover;
  border-radius: 0px 100px 0px 100px;
  padding-left: 5vw;
}

.kueche_text .btn{
  font-size: 1.8rem;
  margin-top: 35px;
}


.img1 {
  top: 20vw;
  right: 17vw;
}

.img2 {
  top: 38vw;
  right: 19vw;
  border-radius: 50% !important;
  width: 13vw !important;
  height: 13vw !important;
}

.img3 {
  top: 47vw;
  right: 8vw;
}

.section-title{
  font-size: 4rem;
}

.pricing-card {
    background: white;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    padding: 40px 30px;
    width: 400px;
    transition: transform 0.3s ease;
    margin-top: 5vh;
}

.bild-text-bild {
margin-top: 3vh;
}

.ueberschrift_welcome{
margin-top: 4vh;
}

.text .btn{
  font-size: 1.8rem;
  margin-top: 35px;
}

}

}

/* Dim-Overlay fürs restliche Layout */
#nav-backdrop {
  position: absolute;
  top: 0; left: 0;
  width: calc(100% - min(86vw, 380px)); /* Platz lassen für Panel */
  height: 100%;
  background: rgba(0, 0, 0, .45);
  opacity: 0;
  transition: opacity .28s ease;
  z-index: 2001;                /* unter dem Panel, über restlichem Content */
  pointer-events: none;         /* nicht anklickbar, solange nicht sichtbar */
}
#nav-backdrop.show {
  opacity: 1;
  pointer-events: auto;         /* Klick schließt Menü */
}


/* Scrollen unterbinden wenn offen */
body.nav-open { overflow: hidden; }
