/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; }
html { font-family: sans-serif; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}
img { border: 0; max-width: 100%; height: auto; }
figure { margin: 0; }
a { background-color: transparent; }
a:active,a:hover{outline:0}
button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}
textarea{overflow:auto}

/* ===== GRID ===== */
.container{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}
@media(min-width:768px){.container{width:750px}}
@media(min-width:992px){.container{width:970px}}
@media(min-width:1200px){.container{width:1170px}}
.container-fluid{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}
.row{margin-right:-15px;margin-left:-15px}
.row::after,.row::before,.container::after,.container::before,.container-fluid::after,.container-fluid::before,.clearfix::after,.clearfix::before{display:table;content:" "}
.row::after,.container::after,.container-fluid::after,.clearfix::after{clear:both}
[class*="col-"]{position:relative;min-height:1px;padding-right:15px;padding-left:15px}
.col-xs-12{float:left;width:100%}
@media(min-width:768px){
  .col-sm-4{float:left;width:33.33333%}
  .col-sm-5{float:left;width:41.66667%}
  .col-sm-6{float:left;width:50%}
  .col-sm-7{float:left;width:58.33333%}
  .col-sm-8{float:left;width:66.66667%}
  .col-sm-offset-1{margin-left:8.33333%}
  .col-sm-offset-4{margin-left:33.33333%}
  .col-sm-offset-5{margin-left:41.66667%}
}
@media(min-width:992px){
  .col-md-6{float:left;width:50%}
  .col-md-8{float:left;width:66.66667%}
  .col-md-10{float:left;width:83.33333%}
  .col-md-4{float:left;width:33.33333%}
  .col-md-offset-1{margin-left:8.33333%}
  .col-md-offset-2{margin-left:16.66667%}
}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:#f9f6ef}
::-webkit-scrollbar-thumb{background:#426638}

/* ===== BASE ===== */
body{font-family:'Montserrat',sans-serif;font-weight:500;font-size:16px;background:#f9f6ef;line-height:1.2em;letter-spacing:0;color:#757575}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:'Playfair Display',serif;font-weight:700;letter-spacing:1px;color:#333}
.h1,h1,h2,.h2{font-size:42px;margin-top:0;position:relative}
h3,h4,.h3,.h4{letter-spacing:2px}
h2::before{content:'';display:block;width:90px;height:2px;background:#526f38;bottom:-30px;left:0;right:0;position:absolute;margin:0 auto}
h2::after{content:'';display:block;width:120px;height:2px;background:#526f38;bottom:-35px;left:0;right:0;position:absolute;margin:0 auto}
a,a:hover,a:focus{color:#526f38}
.img-responsive{max-width:100%;height:auto;display:block}

/* ===== CURSIVE / ACCENT ===== */
.cursive{font-size:35px;margin-bottom:20px;font-weight:100;color:#526f38;letter-spacing:0;line-height:1;font-family:'Playfair Display',serif}
.accent{font-weight:600;font-size:21px;line-height:1.3em;margin-bottom:20px;color:#333}

/* ===== PRELOADER ===== */
#preloader{position:fixed;left:0;top:0;z-index:9999;width:100%;height:100%;overflow:visible;background:#f9f6ef;display:flex;align-items:center;justify-content:center;transition:opacity 0.5s}
#preloader.hidden{opacity:0;pointer-events:none}
#preloader .bubbles{display:flex}
#preloader .bubbles .bubble{display:inline-block;padding:0 5px}
#preloader .bubbles .bubble .circle{width:15px;height:15px;border-radius:50%;background:#526f38;animation:pulse 1.5s infinite;box-shadow:0 0 8px rgba(0,0,0,0.2)}
#preloader .bubbles .bubble:nth-child(1) .circle{animation-delay:0.1s}
#preloader .bubbles .bubble:nth-child(2) .circle{animation-delay:0.2s}
#preloader .bubbles .bubble:nth-child(3) .circle{animation-delay:0.3s}
#preloader .bubbles .bubble:nth-child(4) .circle{animation-delay:0.4s}
#preloader .bubbles .bubble:nth-child(5) .circle{animation-delay:0.5s}
#preloader .bubbles .bubble:nth-child(6) .circle{animation-delay:0.6s}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(0.2);opacity:0.75}100%{transform:scale(1)}}

/* ===== HEADER ===== */
header{height:110px;width:100%;position:absolute;z-index:99}
header .container-fluid{text-align:center}
.mobile-logo{display:none}
.mobile-logo img{margin:15px auto 0;width:150px}

/* ===== SOCIAL SIDEBAR ===== */
.facebook,.insta,.whatsapp,.booking{position:fixed;cursor:pointer;height:auto;z-index:999;transition:.3s ease-in-out}
.facebook{top:12em;width:40px;right:-45px}
.insta{top:8.5em;width:40px;right:-45px}
.whatsapp{top:15.5em;width:40px;right:-45px}
.booking{top:19em;width:60px;right:-65px}
.facebook img,.insta img,.whatsapp img,.booking img{width:100%;height:auto}
.insta:hover,.facebook:hover{width:45px}
.booking:hover{width:65px}
body.scrolled .facebook,body.scrolled .insta,body.scrolled .whatsapp{right:0}
body.scrolled .booking{right:0}

/* ===== NAV ===== */
header nav{display:inline-block;margin:0 auto}
.nav{list-style:none;margin:0;padding:0;display:flex}
.nav>li{float:left;width:160px;margin-top:35px;position:relative}
.nav>li>a{color:#b5b5b5;text-transform:uppercase;transition:all .4s;font-weight:600;font-size:15px;outline:none;display:block;padding:10px 15px;text-decoration:none}
.nav>li>a:hover,.nav>li>a:focus{color:#fff;background-color:transparent}
.nav>li:nth-of-type(4){margin-top:0;text-indent:-9999px;width:200px}
.nav>li:nth-of-type(4)>a{color:transparent}
.nav>li:nth-of-type(4)>a::before{background-image:url('img/logo_white.svg');background-position:center center;background-repeat:no-repeat;content:'';display:block;width:150px;height:165px;background-size:contain;margin:0 auto;position:absolute;left:0;right:0}
.nav>li.active>a{color:#fff}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;margin:0;border-radius:0;background:rgba(98,98,98,0.27);padding:15px;list-style:none;min-width:160px;z-index:1000}
.nav>li:hover .dropdown-menu{display:block}
.dropdown-menu>li>a{color:#ebece6;padding:10px 20px;outline:none;display:block;text-decoration:none;white-space:nowrap}
.dropdown-menu>li>a:hover{background-color:rgba(0,0,0,0.5);color:#ebece6}

/* scrolled */
body.scrolled #header{position:fixed;background-color:rgba(249,246,239,0.9)}
body.scrolled .nav>li>a{color:#758864}
body.scrolled .nav>li>a:hover,body.scrolled .nav>li>a:focus,body.scrolled .nav>li.active>a{color:#3f4638;background-color:transparent}
body.scrolled .nav>li:nth-of-type(4)>a::before{background-image:url('img/logo_clean.svg');width:90px;height:90px;transition:all 0.3s}
body.scrolled #arrow{display:none}
body.scrolled .nav>li.dropdown:hover ul.dropdown-menu{background:rgba(82,111,56,0.95)}

/* ===== ARROW ===== */
#arrow{position:absolute;left:0;right:0;z-index:999;animation:sdb04 2s infinite;opacity:0;transition:all 0.3s;bottom:20px}
#arrow a{position:absolute;bottom:20px;left:50%;z-index:2;display:inline-block;transform:translate(0,-50%);color:#fff;font:normal 400 20px/1 'Montserrat',sans-serif;text-decoration:none;transition:opacity .3s}
#arrow a span{position:absolute;top:0;left:50%;width:24px;height:24px;margin-left:-12px;border-left:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(-45deg);box-sizing:border-box}
@keyframes sdb04{0%{transform:rotate(-45deg) translate(0,0)}20%{transform:rotate(-45deg) translate(-10px,10px)}40%{transform:rotate(-45deg) translate(0,0)}}

/* ===== BURGER ===== */
.burger{display:none}

/* ===== HERO ===== */
#slider{margin:0;padding:0}
.slider-container{position:relative;max-height:650px;overflow:hidden}
.video-bg{height:660px;background-position:center center;background-repeat:no-repeat;background-size:cover}
.slider-content{position:absolute;top:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2}
.slider-content-container{display:table;width:100%;height:100%}
.slider-content-container-cell{display:table-cell;vertical-align:middle;text-align:center;padding:15px}
.slider-content-container-cell .cursive{text-align:center;color:#fff}
.slider-content-container-cell h1{color:#fff;font-size:56px;font-weight:600}
.slider-content-container-cell h2{color:#fff;font-size:32px;font-weight:400}
.slider-content-container-cell h2::before,.slider-content-container-cell h2::after{display:none}

/* ===== SECTIONS ===== */
.margined{padding-top:60px}
.margined.purpel{padding:90px 0 150px}
.title-text{font-size:14px;letter-spacing:0;margin-top:50px;margin-bottom:80px}
.title-text p{line-height:1.4em}
.text-about{display:flex;align-items:center;flex-wrap:wrap;width:100%;margin-bottom:50px}
.centered-block{display:table-cell;vertical-align:middle}
.purpel{background:#526f38}
.purpel h2,.purpel .cursive{color:#ebece6}
.purpel h2::before,.purpel h2::after{background:#ebece6}
.green-bg{background:#526f38;color:#fff}
.green-bg h2{color:#fff}
.green-bg h2::before,.green-bg h2::after{background:#fff}
.green-bg h3{margin-top:25px;color:#fff}
.green-bg .cursive{color:#fff}

/* ===== PAGE CONTENT ===== */
.page-content{padding:80px 0;background:#f9f6ef}
.page-content h2{margin-bottom:60px}
.page-content p{line-height:1.7em;margin-bottom:15px}
.page-content ul{padding-left:20px;line-height:2em}

/* ===== GALLERY GRID ===== */
.gallery-grid{display:flex;flex-wrap:wrap;gap:15px;margin-top:40px}
.gallery-grid .gallery-item{flex:1 1 calc(33% - 15px);min-width:200px;overflow:hidden;cursor:pointer}
.gallery-grid .gallery-item img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .3s}
.gallery-grid .gallery-item:hover img{transform:scale(1.05)}

/* ===== FEATURE BOXES ===== */
.feature-box{text-align:center;padding:30px 20px;background:#fff;box-shadow:0 2px 15px rgba(0,0,0,0.08);margin-bottom:30px}
.feature-box .icon{font-size:40px;color:#526f38;margin-bottom:15px}
.feature-box h4{margin-top:0;margin-bottom:10px}

/* ===== ICON LIST ===== */
.icon-list{list-style:none;padding:0;margin:20px 0}
.icon-list li{padding:8px 0;padding-left:20px;position:relative;border-bottom:1px solid rgba(82,111,56,0.15)}
.icon-list li::before{content:'✓';color:#526f38;position:absolute;left:0;font-weight:700}

/* ===== PRICE BOX ===== */
.price-box{background:#526f38;color:#ebece6;padding:30px;margin:30px 0;text-align:center}
.price-box .price-amount{font-size:42px;font-weight:700;font-family:'Playfair Display',serif}
.price-box p{color:#ebece6;margin:0}

/* ===== TWO-COLUMN CONTENT ===== */
.content-with-image{display:flex;gap:40px;align-items:flex-start;margin-bottom:60px;flex-wrap:wrap}
.content-with-image .text-col{flex:1;min-width:280px}
.content-with-image .img-col{flex:1;min-width:280px}
.content-with-image .img-col img{width:100%;height:auto;object-fit:cover}

/* ===== PRODUCT CARDS (homepage) ===== */
.product-cards{display:flex;flex-wrap:wrap;background:#fff;top:-140px;margin-bottom:-175px;position:relative}
.product-cards .card{width:33.333333%;align-self:center;padding:35px;position:relative}
.product-cards .card .image_container{background-position:center center;background-repeat:no-repeat;min-height:315px;background-size:cover;margin:-35px}
.product-cards a.card{min-height:315px;position:relative;transition:all .4s;text-decoration:none;display:block}
.product-cards a.card::before{content:'';display:block;width:calc(100% - 35px);height:calc(100% - 35px);border:1px solid #526f38;position:absolute;left:15px;top:15px;transition:all .5s}
.product-cards a.card::after{content:'';display:block;width:calc(100% - 35px);height:calc(100% - 35px);border:1px solid #526f38;position:absolute;left:20px;top:20px;transition:all .5s}
.product-cards a.card:hover::before,.product-cards a.card:hover::after{border-color:#a8b3a5}
.product-cards a.card h4{margin-top:105px}
.product-cards .card h4{position:relative;margin-bottom:55px;line-height:1.6em}
.product-cards .card h4::before{content:'';display:block;width:90px;height:1px;background:#526f38;bottom:-15px;left:0;right:0;position:absolute;margin:0 auto}
.product-cards .card h4::after{content:'';display:block;width:120px;height:1px;background:#526f38;bottom:-20px;left:0;right:0;position:absolute;margin:0 auto}
.product-cards .card:hover h4::before,.product-cards .card:hover h4::after{background:#a8b3a5}

/* ===== SCHEDULE ===== */
.schedule{background-color:#6b4f35;background-position:center center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;position:relative;margin-top:160px;padding-bottom:80px;margin-bottom:80px}
.schedule::before{content:"";position:absolute;width:100%;height:100%;background:#000;opacity:0.1;top:0;left:0}
.purple-panel{background:#526f38;width:470px;color:#ebece6;padding:60px;position:absolute;top:-75px;z-index:2;margin-left:80px;box-shadow:0 0 20px 4px rgba(53,53,53,0.15)}
.purple-panel .cursive,.purple-panel .h4{color:#ebece6;line-height:1.2em}
.purple-panel p{margin:0 0 5px}
.schedule-img-wrap{position:relative;z-index:1;text-align:right}
.schedule-img-wrap img{max-width:100%;height:auto;display:block;margin-left:auto}

/* ===== PRE-FOOTER ===== */
#pre-footer{background:#f8f5ee;padding:0 0 65px}
.footer-form h2{color:#333!important;margin-bottom:30px}

/* ===== FORM ===== */
form input.form-control{background-color:transparent;border:0;box-shadow:none;border-bottom:2px solid #526f38;border-radius:0;margin:30px auto 0;display:block;font-size:15px;text-transform:uppercase;width:80%;position:relative;outline:none;padding:6px 12px;font-family:inherit}
form input.form-control:focus,form textarea.form-control:focus{border:0;box-shadow:none;border-bottom:2px solid #526f38;outline:none}
form textarea.form-control{background:rgba(255,255,255,0.45);box-shadow:none;border-radius:0;border:0;border-bottom:2px solid #526f38;width:80%;margin:25px auto 0;height:100px;display:block;padding:6px 12px;font-family:inherit;font-size:15px}
.widget{position:relative;margin-bottom:10px}
.widget::after{border:5px solid transparent;border-right:5px solid #526f38;border-bottom:5px solid #526f38;content:'';position:absolute;right:10%;bottom:0;display:block}
.widget-submit,.widget-explanation{text-align:center}
.widget-submit::after,.widget-explanation::after{display:none}
form .submit,.btn-def{padding:15px 25px;background:#526f38;border:0;border-radius:0;color:#fff;text-transform:uppercase;font-size:16px;letter-spacing:1px;outline:none;transition:all .4s;text-decoration:none!important;cursor:pointer;margin-top:20px}
form .submit:hover,form .submit:focus{background:#2f4e26;color:#fff!important}
::placeholder{color:#aaa;text-transform:uppercase;font-size:14px}
.btn-main{padding:15px 25px;background:#628c56;border:0;border-radius:0;color:#fff;text-transform:uppercase;font-size:14px;letter-spacing:1px;margin-bottom:45px;outline:none;transition:all .4s;display:inline-block;text-decoration:none}
.btn-main:hover{background:#526f38;color:#fff!important;text-decoration:none!important}

/* ===== CONTACTS ===== */
.contacts-flex{display:flex;background:#fff;align-items:center;margin-top:70px;font-size:16px;line-height:1.4em;box-shadow:0 0 20px 4px rgba(53,53,53,0.15);margin-bottom:-130px}
.contacts-flex .contacts-map{width:50%;height:450px}
.contacts-flex .contacts-map iframe{width:100%;height:100%;border:0}
.contacts-flex .contacts-text{width:50%;padding:40px;text-align:center}
.contacts-flex .contacts-text img{max-width:150px}
.contacts-flex .contacts-text a{color:#526f38}

/* ===== FOOTER ===== */
footer{background:#526f38;padding:195px 0 35px;text-align:center}
footer *{color:#ebece6!important;text-transform:uppercase}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}
.footer-inner{max-width:1170px;margin:0 auto;padding:0 15px}
.footer-links{display:flex;justify-content:center;gap:30px;margin-top:15px}
.footer-links p{margin:5px 0}
.footer-social{display:flex;justify-content:center;gap:20px;margin-bottom:20px}
.footer-social a img{max-width:40px;display:block}

/* ===== IMPRESSUM / DATENSCHUTZ ===== */
.legal-content{padding:80px 0;max-width:800px;margin:0 auto}
.legal-content h3{color:#526f38;margin-top:40px;margin-bottom:15px}
.legal-content p{line-height:1.8em;margin-bottom:15px}

/* ===== TABLET 1199 ===== */
@media(max-width:1199px){
  .text-about{height:auto}
  .centered-block{display:block}
  .nav>li:nth-of-type(4)>a::before{width:130px;height:150px}
  .nav>li{width:127px}
  .nav>li>a{font-size:12px;padding:10px}
  .purple-panel{margin-left:15px}
}
/* ===== TABLET 991 ===== */
@media(max-width:991px){
  .mobile-logo{display:inline-block}
  .nav>li:nth-of-type(4){display:none}
  header nav{position:absolute;left:0;top:0;background:#426638;height:0;width:100%;transition:all .3s;overflow:hidden;z-index:999}
  header nav.open{height:100vh;overflow-y:scroll}
  .nav{flex-direction:column}
  .nav>li{float:none;width:100%;margin-top:0}
  .nav>li>a{color:#bfbfbf;padding:15px;font-size:14px}
  .dropdown-menu{display:block!important;position:relative;width:100%;border:0;box-shadow:none;text-align:center;background:#2f4e26;margin-bottom:15px;padding:5px}
  .burger{display:block;height:50px;width:40px;position:absolute;top:25px;right:15px;cursor:pointer;z-index:9999}
  .burger-line{position:absolute;left:0;height:3px;width:24px;background:#efe9f1;border-radius:2px;transition:all .2s ease-out}
  .burger-line:nth-child(1){top:0}
  .burger-line:nth-child(2){top:10px}
  .burger-line:nth-child(3){top:20px}
  .burger.open .burger-line:nth-child(1){transform:rotate(45deg) translate(5px,8px)}
  .burger.open .burger-line:nth-child(2){opacity:0}
  .burger.open .burger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-8px)}
  #arrow{display:none}
  .product-cards .card{width:50%}
  .purple-panel{padding:40px;width:auto;margin:0 15px}
  .gallery-grid .gallery-item{flex:1 1 calc(50% - 15px)}
  .content-with-image{flex-direction:column}
  body.scrolled .nav>li>a{color:#bfbfbf}
  /* Mobile nav offen: schwebende Social-Icons verstecken */
  body.nav-open .facebook,
  body.nav-open .insta,
  body.nav-open .whatsapp,
  body.nav-open .booking{display:none!important}
}
/* ===== MOBILE 767 ===== */
@media(max-width:767px){
  header{height:80px}
  #header .facebook,#header .insta,#header .whatsapp{display:none}
  .slider-content-container-cell h1{font-size:28px;letter-spacing:1px}
  .cursive{font-size:22px}
  .h1,h1,h2,.h2{font-size:28px}
  .margined{padding:35px 0}
  .margined.purpel{padding:60px 0 100px}
  .title-text{margin-top:0;margin-bottom:20px}
  form input.form-control,form textarea.form-control{width:100%}
  .widget::after{right:0}
  .product-cards .card{width:100%}
  .purple-panel{position:relative;top:0;left:0;width:100%;margin:0 0 25px;padding:20px}
  .schedule{background-image:none;margin-top:0;padding:30px 0;margin-bottom:30px}
  /* Override inline container padding (set for absolute-positioned purple-panel on desktop) */
  .schedule .container{padding-top:0!important;padding-bottom:20px!important}
  .schedule .schedule-img-wrap{display:none}
  .contacts-flex{flex-wrap:wrap}
  .contacts-flex .contacts-map,.contacts-flex .contacts-text{width:100%}
  .video-bg{height:380px}
  .mobile-logo{width:100px}
  /* Footer: kein extra Platz mehr für Contacts-Overlap auf Mobile */
  footer{padding:40px 0 30px}
  .footer-links{gap:12px;flex-wrap:wrap}
  /* Booking-Button: unten rechts (FAB-Stil), weg vom Burger-Menü) */
  .booking{top:auto!important;bottom:20px;width:48px;right:-60px}
  body.scrolled .booking{right:8px;bottom:20px;top:auto!important}
  .gallery-grid .gallery-item{flex:1 1 calc(100% - 15px)}
  .page-content{padding:40px 0}
  .page-content h2{margin-bottom:40px}
  .content-with-image .img-col img{height:260px}
}
/* ===== VERY SMALL 479 ===== */
@media(max-width:479px){
  .slider-content-container-cell h1{font-size:22px}
  .h1,h1,h2,.h2{font-size:22px}
  .cursive{font-size:18px}
  .stat-number{font-size:34px}
  .page-content{padding:30px 0}
}
@media(min-width:1440px){
  .slider-container{max-height:800px}
  .video-bg{height:800px}
}
