@font-face{font-family:'Montserrat';font-style:normal;font-weight:300;src:url('../fonts/montserrat-v31-latin-300.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;src:url('../fonts/montserrat-v31-latin-regular.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;src:url('../fonts/montserrat-v31-latin-600.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;src:url('../fonts/montserrat-v31-latin-700.woff2') format('woff2');font-display:swap;}

:root{--logo-dark:#5d201e;--primary-accent:#af6c64;--hover-color:#81413c;--page-bg:#fcf7f5;--white:#ffffff;--text-grey:#775758;--soft-pink:#fcf7f5;--soft-blue:#f0f4f8;}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:100px;}
body{font-family:'Montserrat',sans-serif;color:var(--text-grey);background-color:var(--page-bg);line-height:1.6;display:flex;flex-direction:column;min-height:100vh;width:100%;overflow-x:hidden;}

header{background:var(--white);position:sticky;top:0;z-index:1100;border-top:5px solid var(--logo-dark);height:80px;transition:0.4s;width:100%;box-shadow:0 2px 10px rgba(0,0,0,0.05);}
.nav-container{width:100%;height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 40px;}
.header-logo{height:60px;width:auto;transition:0.4s;}
header.scrolled{height:60px;box-shadow:0 4px 15px rgba(100,10,8,0.1);}
header.scrolled .header-logo{height:45px;}
.nav-menu{display:flex;align-items:center;gap:25px;}
.nav-menu a{font-weight:600;font-size:0.9rem;color:var(--logo-dark);text-decoration:none;transition:0.3s;}
.nav-menu a:hover,.nav-menu a.active{color:var(--primary-accent);}
.hamburger{display:none;cursor:pointer;}
.bar{display:block;width:25px;height:3px;margin:5px auto;transition:all 0.3s ease-in-out;background-color:var(--logo-dark);border-radius:2px;}

.hero-section{width:100%;height:60vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;}
.hero-section::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background-position:center;background-size:cover;animation:heroZoom 20s infinite alternate ease-in-out;}
.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;animation:heroZoom 20s infinite alternate ease-in-out;}
.hero-content{position:relative;z-index:2;max-width:900px;padding:0 20px;}
.hero-section h1{font-size:4rem;color:var(--logo-dark);font-weight:300;letter-spacing:3px;text-shadow:0 2px 10px rgba(255,255,255,0.8);margin-bottom:20px;line-height:1.2;}
.hero-section p{font-size:1.2rem;color:var(--logo-dark);font-weight:600;background:rgba(255,255,255,0.85);display:inline-block;padding:8px 25px;border-radius:4px;margin-top:10px;}
.hero-home::before{background-image:linear-gradient(rgba(249,242,240,0.3),rgba(249,242,240,0.6));}
.hero-leistungen::before{background-image:linear-gradient(rgba(249,242,240,0.2),rgba(249,242,240,0.5)),url('../assets/images/hero/leistungen_hero.webp');}
.hero-oase::before{background-image:linear-gradient(rgba(249,242,240,0.4),rgba(249,242,240,0.85)),url('../assets/images/hero/hero_oase.webp');}
.hero-jobs::before{background-image:linear-gradient(rgba(249,242,240,0.3),rgba(249,242,240,0.6)),url('../assets/images/hero/karriere_hero.webp');}
.hero-kontakt::before{background-image:linear-gradient(rgba(249,242,240,0.3),rgba(249,242,240,0.6)),url('../assets/images/hero/kontakt_hero.webp');}
.hero-impressum::before{background-image:linear-gradient(rgba(249,242,240,0.5),rgba(249,242,240,0.8)),url('../assets/images/hero/hero_impressum.webp');}
.hero-datenschutz::before{background-image:linear-gradient(rgba(249,242,240,0.5),rgba(249,242,240,0.8)),url('../assets/images/hero/hero_datenschutz.webp');}

@keyframes heroZoom{0%{transform:scale(1);}100%{transform:scale(1.1);}}

.cta-btn{display:inline-block;background:var(--logo-dark);color:white;padding:12px 30px;text-decoration:none;font-weight:700;border-radius:4px;transition:0.3s;margin-top:20px;}
.cta-btn:hover{background:var(--hover-color);transform:translateY(-2px);}

.mobile-sticky-bar{position:fixed;bottom:0;left:0;width:100%;z-index:9900;display:none;box-shadow:0 -2px 10px rgba(0,0,0,0.1);}
.sticky-btn{flex:1;text-align:center;padding:15px;text-decoration:none;color:white;font-weight:700;text-transform:uppercase;font-size:0.9rem;display:flex;align-items:center;justify-content:center;gap:8px;transition:0.3s;}
.btn-call{background-color:var(--logo-dark);}
.btn-book{background-color:var(--primary-accent);}

footer{background:var(--logo-dark);color:white;padding:50px 20px;text-align:center;margin-top:auto;display:flex;flex-direction:column;align-items:center;}
.footer-content{display:flex;flex-direction:column;align-items:center;gap:25px;margin-bottom:25px;}
.footer-links{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;}
.footer-links a{color:#ffffff;text-decoration:none;font-size:1rem;transition:0.3s;font-weight:500;}
.footer-links a:hover{color:var(--primary-accent);}
.social-icons{display:flex;gap:20px;align-items:center;justify-content:center;}
.social-icons a{color:#ffffff;transition:0.3s;display:flex;align-items:center;justify-content:center;}
.social-icons a:hover{color:var(--primary-accent);transform:translateY(-3px);}
/* Phosphor Icons (externe SVG als <img>) */
.phosphor-icon{display:block;flex-shrink:0;object-fit:contain;}
.phosphor-icon--on-dark{filter:brightness(0) invert(1);}
.copyright{font-size:0.9rem;color:#ffffff;opacity:1;margin-top:10px;}
.agency-credit{font-size:0.8rem;margin-top:5px;color:#ffffff;opacity:0.8;}
.agency-credit a{color:white;text-decoration:none;border-bottom:1px dotted rgba(255,255,255,0.8);}

.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);z-index:9999;display:none;justify-content:center;align-items:center;backdrop-filter:blur(4px);}
.popup-content{background:white;padding:20px;width:95%;max-width:650px;text-align:center;border-radius:8px;position:relative;box-shadow:0 25px 60px rgba(0,0,0,0.4);border-top:6px solid var(--primary-accent);}

.wrapper{max-width:1100px;margin:0 auto;padding:60px 20px;flex:1;}
.wrapper-legal{max-width:800px;margin:40px auto 60px;background:var(--white);padding:60px;border-radius:4px;box-shadow:0 30px 60px rgba(0,0,0,0.05);flex:1;}
.main-wrapper{max-width:1100px;margin:-50px auto 60px;background:var(--white);padding:80px;border-radius:4px;box-shadow:0 30px 60px rgba(0,0,0,0.05);position:relative;z-index:10;flex:1;}

.wrapper.page-404{text-align:center;}
.wrapper.page-404 .error-number{font-size:6rem;font-weight:700;opacity:0.3;color:var(--primary-accent);}
.wrapper.page-404 .error-title{font-size:2rem;color:var(--logo-dark);margin-bottom:20px;}
.wrapper.page-404 .error-text{font-size:1.1rem;color:#444;margin-bottom:40px;max-width:500px;margin-left:auto;margin-right:auto;}

@media(max-width:900px){
.hamburger{display:block;cursor:pointer;}
.nav-menu{position:fixed;left:-100%;top:80px;flex-direction:column;background-color:var(--white);width:100%;text-align:center;transition:0.3s;box-shadow:0 10px 10px rgba(0,0,0,0.1);padding:20px 0;height:auto;}
.nav-menu.active{left:0;}
.nav-menu a{display:block;padding:15px;font-size:1.2rem;}
.wrapper,.main-wrapper,.wrapper-legal{padding:40px 20px!important;margin:0!important;width:100%!important;}
.hero-section{height:auto;padding:80px 0;}
.hero-section h1{font-size:2rem!important;padding:0 10px;}
.hero-section p{padding:0 15px;}
.footer-content{flex-direction:column;gap:20px;}
.mobile-sticky-bar{display:flex!important;}
body{padding-bottom:70px;}
}
