:root{--olive:#6b6e4e;--olive-dark:#4b5630;--cream:#f7f3ed;--beige:#ece5d8;--sand:#ded4c2;--brown:#3f4a2c;--text:#4b5630;--white:#fffaf3;--shadow:0 18px 45px rgba(61,58,52,.11);--radius:28px}*{box-sizing:border-box}
@font-face {
    font-family: 'Northwell';
    src: url('../fonts/northwell-regular.woff2') format('woff2'),
         url('../fonts/northwell-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.highlight {
    font-family: 'Northwell', cursive;
    font-size: 35px;
    font-weight: normal;
}

body{margin:0;font-family:'Montserrat',Arial,sans-serif;background:var(--cream);color:var(--text);line-height:1.7}
.font-serif,h1,h2,h3,
.navbar-brand{font-family:'Cormorant Garamond',Georgia,serif}a{color:var(--olive-dark);text-decoration:none}a:hover{color:var(--brown)}
.site-header{background:rgba(247,243,237,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(111,115,82,.16)}
.logo{
    max-height: 180px;
    object-fit: contain
}
.navbar-nav .nav-link{font-weight:600;color:var(--olive-dark)!important;letter-spacing:.02em;margin:0 .25rem;}
.nav-link:hover{font-weight:750;color:var(--olive)!important;letter-spacing:.02em;margin:0 .25rem;
    }

.navbar-toggler{border-color:rgba(107,110,78,.4)}
.hero{
    position: relative;
    overflow: hidden;
    background: linear-gradient(120deg,var(--cream) 0%,var(--cream) 100%);
    padding: 6.5rem 0 4.5rem
}
.hero:before{content:"";position:absolute;inset:auto -8rem -11rem auto;width:36rem;height:36rem;border-radius:50%;background:rgba(111,115,82,.12)}.hero-title{
	font-size: clamp(3rem,7vw,6rem);
	line-height: .92;
	color: var(--olive-dark);
	letter-spacing: -.035em
}.hero-title-new{
	font-size: clamp(1rem,5vw,4rem);
	line-height: .92;
	color: var(--olive-dark);
	letter-spacing: -.035em
}.eyebrow{font-size:.82rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--olive);margin-bottom:1rem}
.lead-text{font-size:1.16rem;;max-width:620px}
.btn-brand{background:var(--olive-dark);border-color:var(--olive-dark);color:white;border-radius:999px;padding:.9rem 1.5rem;font-weight:700}
.btn-brand:hover{background:var(--olive);border-color:var(--olive);color:white}
.btn-outline-brand{border:1px solid var(--olive);color:var(--olive-dark);border-radius:999px;padding:.9rem 1.5rem;font-weight:700;background:rgba(255,255,255,.45)}
.btn-outline-brand:hover{background:var(--olive);color:white}
.image-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:white;position:relative}
.image-card img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}
.hero-badge{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(255,250,243,.92);border-radius:22px;padding:1rem 1.2rem;box-shadow:0 10px 30px rgba(0,0,0,.12);font-weight:700;color:var(--olive-dark)}
.section{padding-bottom: 5rem}.section-soft{background:var(--beige)}
.section-title{font-size:clamp(2.2rem,4vw,4rem);line-height:1;color:var(--olive-dark);margin-bottom:1rem}
.section-intro{max-width:760px;margin:0 auto 2.6rem;font-size:1.07rem}
.icon-tile,.product-card,.value-card,.news-card{
    border: 0;
    border-radius: var(--radius);
    background: var(--beige);
    box-shadow: var(--shadow);
    height: 100%;
    padding: 2rem
}.icon-tile{transition:transform .2s ease}
.icon-tile:hover{transform:translateY(-5px)}.icon{font-size:2.7rem;line-height:1;margin-bottom:1rem}.col-md-6.col-lg .icon-tile.d-block .icon {
}
.product-card img,.news-card img{height:230px;width:100%;object-fit:cover;border-radius:22px;margin-bottom:1.2rem;background:var(--sand)}

.split-img{border-radius:var(--radius);width:100%;height:520px;object-fit:cover;box-shadow:var(--shadow)}
.split-img-tier{
    object-fit:cover;
	border-radius:var(--radius);
	width:80%;
}
.split-img-head{
    object-fit:cover;
}
/*und für Mobilgeräte:*/
@media(max-width:768px){
    .split-img-{
        height:320px;
    }
}
@media(max-width:768px){
    .split-img-head{
        height:320px;
    }
}
@media(max-width:768px){
    .split-img-tier{
        height:320px;
    }
}

/*Produkt Fotos mit Hover und Zoom*/
.product-image-wrapper{
    overflow:hidden;
    border-radius:var(--radius);
}

.split-img-product{
    width:97%;
    object-fit:cover;
    border-radius:var(--radius);
  /*  transition:all .4s ease;*/
}

/*.split-img-product:hover{
    transform:scale(1.38);
    box-shadow:0 15px 35px rgba(0,0,0,.15);
}
*/

/*und für Mobilgeräte:*/
@media(max-width:768px){
    .split-img-product{
        height:320px;
    }
}
.organic-box{border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);padding:2.3rem}
.list-check{list-style:none;padding-left:0}.list-check li{margin:.7rem 0;padding-left:1.9rem;position:relative}
.list-check li:before{content:'✓';position:absolute;left:0;color:var(--olive);font-weight:800}.quote-band{background:var(--olive-dark);color:white;border-radius:var(--radius);padding:3rem}.quote-band h2{color:white}.placeholder-img{object-fit:cover}.contact-card{border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);padding:2rem}.form-control{border-radius:16px;padding:.9rem 1rem;border-color:rgba(111,115,82,.25)}
footer{background:var(--olive);color:white;padding:3rem 0 2rem}
footer a{color:white}.small-muted{color:rgba(255,255,255,.72)}.topline{height:8px;background:linear-gradient(90deg,var(--olive),#9aa070,var(--brown))}@media(max-width:991px){.hero{padding:4rem 0}.logo{width:136px}.navbar-collapse{padding:1rem 0}.image-card img{min-height:280px}.split-img{height:330px}.section{padding:3.5rem 0}}.features-section{
    background:#f7f3ed;
}

.info-bar{
    background:linear-gradient(
        90deg,
        #6b6e4e,
        #4f5b38
    );
    color:#ffffff;
    padding:18px 0;
    font-size:14px;
}
.info-bar a {color:white}



.icon-row h4{
    margin-top:20px;
    color:#55603a;
    font-family:'Cormorant Garamond', serif;
}

.icon-row p{
    font-size:14px;
    line-height:1.7;
    max-width:220px;
    margin:auto;
}

.icon-circle{
    width:95px;
    height:95px;
    border-radius:50%;
    border:1px solid #d9d0c4;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    color:#6f7352;
}

.content-box-photo{
    background:#fbf8f3;
    border:1px solid #e4ddd1;
    border-radius:15px;
    padding:0px;
    height:100%;
    border-radius:var(--radius);
	object-fit:cover;
	box-shadow:var(--shadow);
	position: relative;
}

.content-box-photo h3{
    color:#55603a;
    font-family:'Cormorant Garamond', serif;
    font-size:34px;
}
.content-box{
    background:#fbf8f3;
    border:1px solid #e4ddd1;
    border-radius:15px;
    padding:35px;
    height:100%;
}

.content-box h3{
    color:#55603a;
    font-family:'Cormorant Garamond', serif;
    font-size:34px;
}

.content-box p{
    line-height:1.8;
}

.btn-gassner{
    background:#6f7352;
    color:#fff;
    border-radius:40px;
    padding:12px 28px;
}

.btn-gassner:hover{
    background:#55603a;
    color:#fff;
}

.quote{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:28px;
    color:#55603a;
    margin-top:30px;
}

.family-box img{
    border-radius:12px;
}
/*Klickbare Kacheln*/
.feature-link{
    display:block;
    text-decoration:none;
    color:var(--text);
    padding:15px;
    border-radius:15px;
    transition:all .35s ease;
}

.feature-link:hover{
    text-decoration:none;
    color:var(--text);

    background:#fbf8f3;

    transform:translateY(-8px);

    box-shadow:
        0 15px 35px rgba(0,0,0,.08);
}
/*Icon-Kreis animieren*/
.feature-link:hover .icon-circle{

    background:#6f7352;
    color:white;

    border-color:#6f7352;

    transform:scale(1.08);

    transition:all .35s ease;
}

.icon-circle{
    transition:all .35s ease;
}
/*Ueberschrift hervorheben*/
.feature-link h4{
    transition:all .35s ease;
}

.feature-link:hover h4{
    color:#55603a;
}

.btn-hero-primary,
.btn-hero-secondary{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 26px;
  border-radius:40px;
  font-size:15px;
  text-decoration:none;
  transition:all .3s ease;
}

.btn-hero-primary{
  background:var(--olive);
  color:white;
}

.btn-hero-primary:hover{
  background:var(--olive-dark);
  color:white;
  transform:translateY(-3px);
}

.btn-hero-secondary{
  border:1px solid #6f7352;
  color:#4b5630;
  background:rgba(255,255,255,.45);
}

.btn-hero-secondary:hover{
  background:#6f7352;
  color:white;
  transform:translateY(-3px);
}

.hero-image{
  position:relative;
  background-size:cover;
  background-position:center;
}

.quality-badge{
  position:absolute;
  top:30px;
  right:30px;
  width:135px;
  height:135px;
  border-radius:50%;
  background:rgba(255,255,255,.88);
  border:2px solid #d8d0c2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#55603a;
  font-size:15px;
  box-shadow:0 8px 25px rgba(0,0,0,.12);
}

.quality-badge strong{
  font-size:16px;
  letter-spacing:.5px;
}

.leaf-decoration{
  position:absolute;
  left:35px;
  top:100px;
  font-size:90px;
  color:#9ba17d;
  opacity:.45;
  transform:rotate(-35deg);
}


/*Header Startseite*/
.hero-header{
  min-height:320px;
  display:grid;
  grid-template-columns:45% 55%;
  background:#f7f3ed;
  overflow:hidden;
  margin-bottom: 40px;
}


.hero-text{
  position:relative;
  padding:90px 60px 70px 120px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  z-index:2;
}

/*Alte Version
.hero-text::after{
  content:"";
  position:absolute;
  top:0;
  right:-120px;
  width:240px;
  height:100%;
  background:linear-gradient(90deg,#f7f3ed 20%,rgba(247,243,237,.50),rgba(247,243,237,0));
  z-index:-1;
}*/

.hero-text-wrap {
  position: relative;
  z-index: 2;
}

.hero-text::after {
  display: none;
}

.hero-text-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: -160px;
  width: 260px;
  height: 100%;
  background: linear-gradient(
    90deg,
    #f7f3ed 0%,
    rgba(247,243,237,.85) 35%,
    rgba(247,243,237,0) 100%
  );
  z-index: 1;
  pointer-events: none;
}

.hero-text h1{
  font-family:'Cormorant Garamond', serif;
  color:#55603a;
  font-size:56px;
  line-height:1.05;
  font-weight:500;
  margin-bottom:15px;
}

.hero-text h1 span{
  font-size:72px;
}

.hero-line{
  display:flex;
  align-items:center;
  gap:16px;
  color:#6f7352;
  margin:6px 0 22px;
  max-width:330px;
}

.hero-line span{
  height:1px;
  background:#b9b09f;
  flex:1;
}

.hero-text p{
  font-size:19px;
  line-height:1.65;
  color:#3f3a33;
  margin-bottom:30px;
}

.hero-text strong{
  color:#55603a;
  font-weight:700;
}

.hero-buttons{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}


/* Tablet */
@media(max-width:991px){
  .hero-header{
    grid-template-columns:1fr;
  }

  .hero-image{
    min-height:360px;
    order:1;
  }

  .hero-text{
    order:2;
    padding:55px 30px;
  }

  .hero-text::after{
    display:none;
  }

  .hero-text h1{
    font-size:46px;
  }

  .hero-text h1 span{
    font-size:58px;
  }

  .quality-badge{
    top:30px;
    right:30px;
  }
}

/* Handy */
@media(max-width:575px){
  .hero-text{
    padding:45px 22px;
  }

  .hero-text h1{
    font-size:38px;
  }

  .hero-text h1 span{
    font-size:50px;
  }

  .hero-text p{
    font-size:17px;
  }

  .hero-buttons{
    flex-direction:column;
  }

  .btn-hero-primary,
  .btn-hero-secondary{
    width:100%;
    justify-content:center;
  }

  .quality-badge{
    width:115px;
    height:115px;
    font-size:12px;
    right:18px;
  }
}
/*Linie zum Abtrennen*/

.full-line-brown {
  height: 4px;
  background: linear-gradient(90deg, var(--olive), #9aa070, var(--brown));
}

/*Slide für Startbild*/
.hero-carousel-img{
    width:100%;
    height:100%;
    min-height:520px;
    object-fit:cover;
    display:block;
}
@media(max-width:991px){

    .hero-carousel-img{
        min-height:360px;
    }

}
.carousel-indicators{
    bottom:-25px;
}

.carousel-indicators button{
    width:14px;
    height:14px;
    border-radius:50%;
    background-color:#d8d0c2 !important;
    margin:0 6px;
    opacity:1;
}

.carousel-indicators .active{
    background-color:#6f7352 !important;
}
/*Produktfilter Funktion*/
.product-filter{
    display:flex;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
}

.filter-btn{
    border:0;
    background:transparent;
    color:var(--olive-dark);
    font-weight:600;
    padding:10px 18px;
    border-radius:999px;
    transition:all .3s ease;
}

.filter-btn:hover,
.filter-btn.active{
    background:var(--olive);
    color:white;
}
/*Produkt Badge*/
.product-badge{
    display:inline-block;
    margin-bottom:14px;
    padding:5px 12px;
    border-radius:999px;
    font-size:8px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    background:transparent;
    border:1px solid rgba(108,90,67,.35);
    color:var(--brown);
}
.badge-own{
    border-color:rgba(111,115,82,.55);
    color:var(--olive-dark);
}

.badge-regional{
    border-color:rgba(108,90,67,.35);
    color:var(--brown);
}

.badge-seasonal{
    background:rgba(111,115,82,.10);
    border-color:rgba(111,115,82,.25);
    color:var(--olive-dark);
}

/*Nachhaltigkeit*/
.content-box{
    background:#f7f3ed;
    border:1px solid #e3ddd2;
    border-radius:18px;
    padding:35px;
}

.handwritten{
    font-family:'Cormorant Garamond', serif;
    font-size:1.6rem;
    color:var(--olive-dark);
    font-style:italic;
}

.image-card{
    overflow:hidden;
    border-radius:18px;
    position:relative;
}

.image-card img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.image-card-caption{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    background:rgba(85,96,58,.92);
    color:white;
    text-align:center;
    padding:12px;
    font-size:.95rem;
}

.sustainability-box{
    background:linear-gradient(
        135deg,
        #6f7352 0%,
        #55603a 100%
    );
    color:white;
    border-radius:18px;
    padding:35px;
}

.sustainability-box h3{
    color:white;
    margin-bottom:25px;
}

.sustainability-box li{
    display:flex;
    gap:12px;
    align-items:flex-start;
}

.sustainability-box i{
    color:#d9d2c3;
    margin-top:3px;
}
.image-card{
    height:300px;
}

/* MOBILE FIX HOFPRODUKTE */
@media (max-width: 768px) {

  .hero-header table,
  .hero-header tbody,
  .hero-header tr,
  .hero-header td {
    display: block;
    width: 100%;
  }

  .hero-header {
    display: block;
  }

  .hero-text {
    padding: 38px 22px;
  }

  .hero-image img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  .product-filter {
    padding: 0 16px;
    gap: 10px;
  }

  .filter-btn {
    font-size: 14px;
    padding: 9px 13px;
  }

  .section .row {
    margin-left: 0;
    margin-right: 0;
  }

  .product-item {
    width: 100%;
    margin-bottom: 22px;
  }

  .content-box-photo {
    padding: 18px;
    height: auto;
    min-height: 0;
  }

  .content-box-photo table,
  .content-box-photo tbody,
  .content-box-photo tr,
  .content-box-photo td {
    display: block;
    width: 100%;
  }

  .split-img-product {
    width: 100%;
    max-width: 260px;
    height: 220px;
    object-fit: cover;
    object-position: center;
    display: block;
    margin: 0 auto 14px;
  }

  .content-box-photo h3 {
    font-size: 28px;
    line-height: 1.1;
    margin: 10px 0;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .content-box-photo p {
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 0;
  }

  .product-badge {
    font-size: 10px;
    line-height: 1.2;
  }
}


/* DESKTOP FIX HEADER STARTSEITE / UNSERE TIERE */
@media (min-width: 992px) {
  .hero-header {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 620px;
    width: 100%;
    align-items: stretch;
  }
	
  .hero-text-wrap {
    display: flex;
    align-items: center;
  }

  .hero-text {
    width: 100%;
    padding: 80px 60px 80px 120px;
  }

  .hero-image {
    width: 100%;
    height: 100%;
    min-height: 620px;
  }

  .hero-image .carousel,
  .hero-image .carousel-inner,
  .hero-image .carousel-item {
    height: 100%;
  }

  .hero-carousel-img,
  .hero-image img {
    width: 100%;
    height: 100%;
    min-height: 620px;
    object-fit: cover;
    object-position: center;
    display: block;
  }
}
@media (min-width: 992px) {
  .hero-text-wrap {
    height: 100%;
    min-height: 620px;
  }
}

/* TABLET + KLEINER DESKTOP FIX HOFPRODUKTE */

/* 2 Kacheln pro Reihe */
@media (min-width: 769px) and (max-width: 1199px) {
  .section .row > .product-item {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    margin-bottom: 24px;
  }
}

/* 3 Kacheln pro Reihe */
@media (min-width: 1200px) and (max-width: 1499px) {
  .section .row > .product-item {
    width: 33.333% !important;
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
    margin-bottom: 24px;
  }
}

/* 4 Kacheln pro Reihe */
@media (min-width: 1500px) and (max-width: 1700px) {
  .section .row > .product-item {
    width: 25% !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
    margin-bottom: 24px;
  }
}
/* gemeinsame Karten-Optimierung */
@media (min-width: 769px) and (max-width: 1700px) {
  .content-box-photo {
    height: auto;
    min-height: 100%;
    padding: 18px;
    overflow: hidden;
  }

  .content-box-photo table,
  .content-box-photo tbody,
  .content-box-photo tr,
  .content-box-photo td {
    display: block;
    width: 100%;
  }

  .split-img-product {
    width: 100%;
    max-width: 260px;
    height: 220px;
    object-fit: cover;
    object-position: center;
    display: block;
    margin: 0 auto 14px;
  }

  .content-box-photo h3 {
    font-size: 30px;
    line-height: 1.1;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .content-box-photo p {
    font-size: 15px;
    line-height: 1.5;
  }
}
@media (min-width: 769px) and (max-width: 1700px) {
  .section .row > .product-item.col-lg-2 {
    width: auto !important;
  }
}