:root {
  --green:#77844b; --green-dark:#5a6337; --green-light:#9aaa62;
  --beige:#f7f3eb; --beige-dark:#ede7d9; --beige-mid:#e4ddd0;
  --text:#1a1a1a; --text-light:#555; --border:#d8d0be; --white:#fff;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Source Sans 3',sans-serif;color:var(--text);background:var(--beige);font-weight:300;font-size:16px;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(247,243,235,0.97);backdrop-filter:blur(8px);height:72px;box-shadow:0 1px 0 var(--border),0 4px 20px rgba(0,0,0,0.06);}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:72px;}
.nav-logo img{height:58px;width:auto;display:block;}
.nav-links{display:flex;gap:0;list-style:none;align-items:center;}
.nav-links a{color:var(--text-light);text-decoration:none;font-size:1rem;letter-spacing:0.5px;text-transform:uppercase;font-weight:600;font-family:'Coming Soon',cursive;padding:0 0.85rem;height:72px;display:flex;align-items:center;transition:all 0.2s;border-bottom:3px solid transparent;}
.nav-links a:hover,.nav-links a.active{color:var(--green);border-bottom-color:var(--green);}
.nav-btn-login{background:var(--green)!important;color:#fff!important;border-radius:5px;padding:0.42rem 0.9rem!important;height:auto!important;border-bottom:none!important;margin-left:0.4rem;}
.nav-btn-login:hover{background:var(--green-dark)!important;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:5px;}
.burger span{width:24px;height:2px;background:var(--text);transition:0.3s;}

/* PAGES */
.page{display:none;padding-top:72px;min-height:100vh;}
.page.active{display:block;}

/* HERO */
#page-home .hero{position:relative;min-height:calc(100vh - 72px);background:linear-gradient(160deg,var(--green-dark) 0%,var(--green) 55%,var(--green-light) 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-bg-img{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;}
.hero-bg-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(80,95,50,0.6) 0%,rgba(50,70,35,0.55) 100%);}
.hero-overlay-pattern{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6z'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none;}
.hero-content{position:relative;z-index:2;text-align:center;padding:3rem 2rem;max-width:700px;}
.hero-eyebrow{display:inline-block;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.3);color:#fff;font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;font-weight:600;padding:0.38rem 1.1rem;border-radius:20px;margin-bottom:1.4rem;}
.hero-title{font-family:'Coming Soon',cursive;font-size:clamp(2.4rem,6vw,4.4rem);color:#fff;line-height:1.1;margin-bottom:0.5rem;text-shadow:0 2px 20px rgba(0,0,0,0.25);}
.hero-subtitle{font-family:'Coming Soon',cursive;font-style:italic;font-size:clamp(1rem,2vw,1.35rem);color:rgba(255,255,255,0.82);margin-bottom:1.5rem;}
.hero-desc{color:rgba(255,255,255,0.75);font-size:1rem;line-height:1.8;max-width:510px;margin:0 auto 2.2rem;}
.hero-cta{display:inline-flex;gap:1rem;flex-wrap:wrap;justify-content:center;}
.hero-scroll{position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.45);font-size:0.68rem;letter-spacing:2px;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:0.4rem;animation:bounce 2.5s infinite;}
.hero-scroll::after{content:'';width:1px;height:32px;background:linear-gradient(to bottom,rgba(255,255,255,0.35),transparent);}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}

/* FEATURE BAR */
.features-bar{background:var(--green);}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1000px;margin:0 auto;}
.feature-item{padding:1.6rem 1.4rem;text-align:center;border-right:1px solid rgba(255,255,255,0.15);color:#fff;}
.feature-item:last-child{border-right:none;}
.feature-icon{font-size:1.7rem;margin-bottom:0.4rem;}
.feature-title{font-family:'Coming Soon',cursive;font-size:0.98rem;margin-bottom:0.25rem;}
.feature-text{font-size:0.8rem;color:rgba(255,255,255,0.7);line-height:1.5;}

/* PREVIEW CARDS on home */
.home-preview{padding:4.5rem 2rem;background:var(--beige);}
.home-preview-inner{max-width:1100px;margin:0 auto;}
.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.preview-card{background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;}
.preview-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px rgba(0,0,0,0.1);}
.preview-card-img{aspect-ratio:16/9;background:linear-gradient(135deg,var(--green),var(--green-dark));display:flex;align-items:center;justify-content:center;font-size:2.8rem;color:rgba(255,255,255,0.7);overflow:hidden;}
.preview-card-img img{width:100%;height:100%;object-fit:cover;}
.preview-card-body{padding:1.25rem;}
.preview-card-title{font-family:'Coming Soon',cursive;font-size:1.05rem;color:var(--text);margin-bottom:0.3rem;}
.preview-card-text{font-size:0.83rem;color:var(--text-light);line-height:1.6;margin-bottom:0.85rem;}

/* SECTIONS */
.section{padding:5rem 2rem;}
.section-inner{max-width:1100px;margin:0 auto;}
.section-alt{background:var(--beige-dark);}
.section-label{color:var(--green);font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;font-weight:700;margin-bottom:0.55rem;}
.section-title{font-family:'Coming Soon',cursive;font-size:clamp(1.7rem,3vw,2.5rem);color:var(--text);margin-bottom:0.7rem;line-height:1.2;}
.section-desc{color:var(--text-light);font-size:1rem;line-height:1.8;max-width:600px;}
.divider{width:48px;height:3px;background:var(--green);margin:1.2rem 0;}

/* BUTTONS */
.btn-primary{background:var(--green);color:#fff;padding:0.8rem 1.9rem;border-radius:5px;text-decoration:none;font-weight:600;font-size:0.83rem;letter-spacing:0.5px;text-transform:uppercase;transition:all 0.2s;border:2px solid var(--green);cursor:pointer;display:inline-block;font-family:'Source Sans 3',sans-serif;}
.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark);transform:translateY(-2px);box-shadow:0 5px 18px rgba(119,132,75,0.3);}
.btn-outline{background:transparent;color:var(--green);padding:0.8rem 1.9rem;border-radius:5px;text-decoration:none;font-weight:600;font-size:0.83rem;letter-spacing:0.5px;text-transform:uppercase;transition:all 0.2s;border:2px solid var(--green);cursor:pointer;display:inline-block;font-family:'Source Sans 3',sans-serif;}
.btn-outline:hover{background:var(--green);color:#fff;}
.btn-outline-white{background:transparent;color:#fff;padding:0.8rem 1.9rem;border-radius:5px;text-decoration:none;font-weight:600;font-size:0.83rem;letter-spacing:0.5px;text-transform:uppercase;transition:all 0.2s;border:2px solid rgba(255,255,255,0.6);cursor:pointer;display:inline-block;font-family:'Source Sans 3',sans-serif;}
.btn-outline-white:hover{border-color:#fff;background:rgba(255,255,255,0.12);}

/* FERIENHAUS PAGE */
.haus-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:3rem;}
.haus-features{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem;margin-top:1.75rem;}
.haus-feature{background:var(--beige);border:1px solid var(--border);border-radius:6px;padding:0.85rem;display:flex;align-items:flex-start;gap:0.6rem;}
.haus-feature-icon{font-size:1.25rem;flex-shrink:0;margin-top:1px;}
.haus-feature-label{font-size:0.8rem;font-weight:700;color:var(--text);}
.haus-feature-val{font-size:0.76rem;color:var(--text-light);}
.haus-img-main{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--green),var(--green-dark));border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 14px 45px rgba(0,0,0,0.12);}
.haus-img-main img{width:100%;height:100%;object-fit:cover;border-radius:10px;}
.img-placeholder{color:rgba(255,255,255,0.6);text-align:center;font-size:0.83rem;padding:2rem;}
.img-placeholder .icon{font-size:2.8rem;display:block;margin-bottom:0.4rem;}
.upload-hint{margin-top:0.75rem;font-size:0.78rem;color:var(--text-light);text-align:center;}
.upload-hint a{color:var(--green);cursor:pointer;text-decoration:underline;}

/* GALLERY CATEGORIES */
.gallery-cat-filter{display:flex;flex-wrap:wrap;gap:0.5rem;margin:1.5rem 0 0;}
.cat-btn{background:var(--white);border:1.5px solid var(--border);color:var(--text-light);padding:0.38rem 0.9rem;border-radius:20px;font-size:0.78rem;font-weight:600;cursor:pointer;transition:all 0.18s;font-family:'Source Sans 3',sans-serif;}
.cat-btn:hover{border-color:var(--green);color:var(--green);}
.cat-btn.active{background:var(--green);border-color:var(--green);color:#fff;}
.gallery-item-cat{position:absolute;top:0.5rem;left:0.5rem;background:rgba(119,132,75,0.88);color:#fff;font-size:0.65rem;font-weight:700;padding:0.18rem 0.55rem;border-radius:10px;letter-spacing:0.5px;text-transform:uppercase;backdrop-filter:blur(2px);}
.gallery-item-title{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,0.7),transparent);color:#fff;font-size:0.78rem;padding:0.6rem 0.65rem 0.45rem;opacity:0;transition:opacity 0.25s;}
.gallery-item:hover .gallery-item-title{opacity:1;}
.gallery-admin-meta input,.gallery-admin-meta select{width:100%;padding:0.3rem 0.5rem;background:#3a3a3a;border:1px solid #444;border-radius:4px;color:#eee;font-size:0.74rem;margin-bottom:0.35rem;font-family:'Source Sans 3',sans-serif;}
.gallery-admin-meta input:focus,.gallery-admin-meta select:focus{outline:none;border-color:#c9d88a;}
.gallery-admin-meta{padding:0.6rem;background:#2a2a2a;}
.gallery-admin-item{background:#333;border-radius:7px;overflow:hidden;position:relative;border:2px solid transparent;transition:border-color 0.2s;cursor:grab;}
.gallery-admin-item.drag-over{border-color:#c9d88a;background:#3a3a2a;}
.gallery-admin-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.gallery-admin-actions{display:flex;gap:0.3rem;padding:0 0.6rem 0.6rem;}
.gallery-sort-handle{position:absolute;top:0.3rem;right:0.3rem;background:rgba(0,0,0,0.55);color:rgba(255,255,255,0.7);border:none;border-radius:4px;padding:0.2rem 0.4rem;font-size:0.7rem;cursor:grab;line-height:1;z-index:2;}
.cat-list-admin{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem;}
.cat-list-item{display:flex;align-items:center;justify-content:space-between;background:#333;border-radius:5px;padding:0.5rem 0.75rem;color:#eee;font-size:0.83rem;}
/* GALLERY GRID */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1rem;}
.gallery-item{aspect-ratio:4/3;border-radius:8px;overflow:hidden;cursor:pointer;position:relative;background:linear-gradient(135deg,var(--green-light),var(--green));}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s;}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-overlay{position:absolute;inset:0;background:rgba(90,99,55,0);display:flex;align-items:center;justify-content:center;transition:0.3s;opacity:0;}
.gallery-item:hover .gallery-overlay{background:rgba(90,99,55,0.5);opacity:1;}
.gallery-overlay span{color:#fff;font-size:1.8rem;}
.gallery-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(255,255,255,0.5);font-size:0.76rem;text-align:center;padding:1rem;height:100%;}

/* REGION PAGE */
.region-controls{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;flex-wrap:wrap;gap:1rem;}
.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem;}
.region-card{background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:transform 0.2s,box-shadow 0.2s;}
.region-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,0.1);}
.region-card-img{aspect-ratio:16/9;background:linear-gradient(135deg,var(--green-light),var(--green));display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:rgba(255,255,255,0.65);overflow:hidden;position:relative;}
.region-card-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.region-card-icon-fallback{position:relative;z-index:1;}
.region-card-body{padding:1.2rem;}
.region-card-title{font-family:'Coming Soon',cursive;font-size:1rem;color:var(--text);margin-bottom:0.3rem;}
.region-card-text{font-size:0.82rem;color:var(--text-light);line-height:1.6;margin-bottom:0.75rem;}
.region-card-dist{font-size:0.75rem;color:var(--green);font-weight:600;}

/* PREISE */
.preise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.preis-card{border-radius:10px;border:1px solid var(--border);padding:2rem;text-align:center;background:var(--white);transition:0.2s;position:relative;}
.preis-card.featured{background:var(--green);border-color:var(--green);color:#fff;transform:scale(1.03);box-shadow:0 14px 45px rgba(119,132,75,0.3);}
.preis-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--text);color:#fff;font-size:0.67rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:0.27rem 0.9rem;border-radius:20px;}
.preis-season{font-size:0.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--green);font-weight:700;margin-bottom:0.55rem;}
.preis-card.featured .preis-season{color:rgba(255,255,255,0.75);}
.preis-price{font-family:'Coming Soon',cursive;font-size:2.2rem;color:var(--text);line-height:1;}
.preis-card.featured .preis-price{color:#fff;}
.preis-unit{font-size:0.77rem;color:var(--text-light);margin-bottom:1.4rem;}
.preis-card.featured .preis-unit{color:rgba(255,255,255,0.65);}
.preis-list{list-style:none;text-align:left;margin-bottom:1.4rem;}
.preis-list li{padding:0.32rem 0;font-size:0.82rem;border-bottom:1px solid var(--border);display:flex;gap:0.45rem;align-items:center;}
.preis-card.featured .preis-list li{border-bottom-color:rgba(255,255,255,0.2);color:rgba(255,255,255,0.9);}
.preis-list li::before{content:'✓';color:var(--green);font-weight:700;}
.preis-card.featured .preis-list li::before{color:rgba(255,255,255,0.8);}

/* ANREISE */
.anreise-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;margin-top:2.5rem;align-items:start;}
.anreise-ways{display:flex;flex-direction:column;gap:1.25rem;}
.anreise-way{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:1.25rem;}
.anreise-way-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.7rem;}
.anreise-way-icon{width:40px;height:40px;background:var(--green);border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0;}
.anreise-way-title{font-family:'Coming Soon',cursive;font-size:1rem;color:var(--text);}
.anreise-way-text{font-size:0.85rem;color:var(--text-light);line-height:1.7;}
.anreise-way-steps{list-style:none;margin-top:0.5rem;}
.anreise-way-steps li{font-size:0.83rem;color:var(--text-light);padding:0.22rem 0 0.22rem 1.3rem;position:relative;line-height:1.5;}
.anreise-way-steps li::before{content:'›';position:absolute;left:0;color:var(--green);font-weight:700;}
.anreise-map-box{background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.anreise-map-inner{aspect-ratio:4/3;background:linear-gradient(135deg,#e8ead0,#d4d8b8);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0.5rem;color:var(--text-light);font-size:0.85rem;position:relative;}
.anreise-map-placeholder-icon{font-size:3rem;margin-bottom:0.25rem;}
.anreise-map-inner iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.anreise-info-bar{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);}
.anreise-info-item{padding:1rem;text-align:center;border-right:1px solid var(--border);}
.anreise-info-item:last-child{border-right:none;}
.anreise-info-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-light);font-weight:700;margin-bottom:0.2rem;}
.anreise-info-val{font-size:0.88rem;font-weight:600;color:var(--text);}

/* KONTAKT */
.kontakt-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;margin-top:2.5rem;align-items:start;}
.contact-info{display:flex;flex-direction:column;gap:1.2rem;}
.contact-item{display:flex;gap:0.9rem;align-items:flex-start;}
.contact-icon{width:42px;height:42px;background:var(--green);border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0;}
.contact-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-light);margin-bottom:0.12rem;font-weight:600;}
.contact-value{font-size:0.9rem;font-weight:600;color:var(--text);}
.contact-value a{color:inherit;text-decoration:none;}
.contact-value a:hover{color:var(--green);}

/* FORMS */
.form-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:2rem;}
.tab-btns{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1.4rem;}
.tab-btn{padding:0.65rem 1.2rem;font-size:0.8rem;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;cursor:pointer;border:none;background:none;color:var(--text-light);border-bottom:3px solid transparent;margin-bottom:-2px;transition:0.2s;font-family:'Source Sans 3',sans-serif;}
.tab-btn.active{color:var(--green);border-bottom-color:var(--green);}
.tab-content{display:none;}
.tab-content.active{display:block;}
.form-group{margin-bottom:1rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
label{display:block;font-size:0.73rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--text);margin-bottom:0.32rem;}
input:not([type=checkbox]),select,textarea{width:100%;padding:0.68rem 0.88rem;border:1.5px solid var(--border);border-radius:5px;font-family:'Source Sans 3',sans-serif;font-size:0.93rem;color:var(--text);background:var(--beige);transition:border-color 0.2s,box-shadow 0.2s;-webkit-appearance:none;}
input[type=checkbox]{all:revert;width:18px;height:18px;cursor:pointer;accent-color:var(--green);flex-shrink:0;margin:0;}
.dsgvo-row{display:flex;align-items:flex-start;gap:0.65rem;margin-bottom:1rem;}
.dsgvo-row label{text-transform:none;letter-spacing:0;font-weight:400;font-size:0.8rem;color:var(--text-light);margin-bottom:0;cursor:pointer;line-height:1.55;display:inline;}
.dsgvo-row a{color:var(--green);text-decoration:underline;cursor:pointer;}
input:not([type=checkbox]):focus,select:focus,textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(119,132,75,0.12);background:#fff;}
textarea{resize:vertical;min-height:105px;}
.form-msg{display:none;padding:0.7rem 1rem;border-radius:6px;font-size:0.86rem;margin-top:0.7rem;}
.form-msg.success{background:#eef2e4;color:#3d5010;border:1px solid #bdd080;}
.form-msg.error{background:#fdf0e0;color:#7a3a00;border:1px solid #e0b870;}

/* FOOTER */
footer{background:var(--green-dark);color:rgba(255,255,255,0.99);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,0.1);margin-bottom:1.5rem;}
.footer-brand{font-family:'Coming Soon',cursive;font-size:1.15rem;color:#fff;margin-bottom:0.7rem;}
.footer-desc{font-size:0.83rem;line-height:1.7;}
.footer-title{font-size:1rem;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,0.45);font-weight:700;margin-bottom:0.85rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:0.4rem;}
.footer-links a{color:rgba(255,255,255,0.99);text-decoration:none;font-size:0.1rem;transition:color 0.2s;cursor:pointer;}
.footer-links a:hover{color:#fff;}
.footer-bottom{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:0.76rem;}
.footer-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:0.35rem;margin-top:0.85rem;}
.footer-photo-item{position:relative;border-radius:4px;overflow:hidden;background:rgba(255,255,255,0.08);cursor:pointer;}
.footer-photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity 0.2s,transform 0.25s;}
.footer-photo-item:hover img{opacity:0.82;transform:scale(1.04);}
.footer-photo-placeholder{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0.3rem;color:rgba(255,255,255,0.2);font-size:0.6rem;text-align:center;transition:color 0.2s;}
.footer-photo-item:hover .footer-photo-placeholder{color:rgba(255,255,255,0.45);}
.footer-photo-placeholder span{font-size:1.2rem;line-height:1;}
.footer-photo-zoom{position:absolute;inset:0;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;transition:background 0.2s;opacity:0;}
.footer-photo-item:hover .footer-photo-zoom{background:rgba(0,0,0,0.35);opacity:1;}
.footer-photo-zoom-icon{color:#fff;font-size:1.3rem;}

/* LIGHTBOX */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:9000;align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lightbox-img{max-width:90vw;max-height:85vh;border-radius:4px;object-fit:contain;}
.lightbox-close{position:absolute;top:1rem;right:1.5rem;color:#fff;font-size:2rem;cursor:pointer;line-height:1;background:none;border:none;}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.1);border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:1rem 1.4rem;border-radius:4px;transition:background 0.2s;}
.lightbox-nav:hover{background:rgba(255,255,255,0.2);}
.lightbox-prev{left:1rem;} .lightbox-next{right:1rem;}

/* LOGIN/MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:8000;align-items:center;justify-content:center;pointer-events:none;}
.modal-overlay.open{display:flex;pointer-events:auto;}
.modal{background:var(--white);border-radius:10px;padding:2.5rem;width:90%;max-width:400px;box-shadow:0 30px 70px rgba(0,0,0,0.22);position:relative;}
.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;font-size:1.4rem;color:var(--text-light);}
.modal-title{font-family:'Coming Soon',cursive;font-size:1.35rem;color:var(--text);margin-bottom:0.22rem;}
.modal-sub{font-size:0.83rem;color:var(--text-light);margin-bottom:1.4rem;}

/* ADMIN */
#admin-panel{display:none;position:fixed;inset:0;background:#1e1e1e;z-index:9999;overflow-y:auto;}
.admin-nav{background:var(--green-dark);padding:0 2rem;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.admin-nav-title{color:#fff;font-family:'Coming Soon',cursive;font-size:1.02rem;}
.admin-nav-title span{color:#c9d88a;}
.admin-tabs-bar{background:#252525;padding:0 2rem;display:flex;gap:0;border-bottom:2px solid #333;overflow-x:auto;}
.admin-tab-btn{padding:0.85rem 1.3rem;background:none;border:none;color:#777;cursor:pointer;font-size:0.78rem;letter-spacing:0.5px;text-transform:uppercase;font-weight:700;border-bottom:3px solid transparent;margin-bottom:-2px;transition:0.2s;font-family:'Source Sans 3',sans-serif;white-space:nowrap;}
.admin-tab-btn.active{color:#c9d88a;border-bottom-color:#c9d88a;}
.admin-content{padding:1.5rem;max-width:1100px;margin:0 auto;}
.admin-section{display:none;}
.admin-section.active{display:block;}
.admin-title{color:#eee;font-family:'Coming Soon',cursive;font-size:1.35rem;margin-bottom:1.4rem;}
.admin-card{background:#2a2a2a;border-radius:8px;padding:1.4rem;margin-bottom:1.4rem;border:1px solid #333;}
.admin-card h3{color:#c9d88a;font-size:0.8rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:0.9rem;font-family:'Source Sans 3',sans-serif;}
.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:0.9rem;}
.gallery-admin-item{background:#333;border-radius:7px;overflow:hidden;position:relative;aspect-ratio:4/3;}
.gallery-admin-item img{width:100%;height:100%;object-fit:cover;}
.gallery-admin-actions{position:absolute;inset:0;background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;gap:0.45rem;opacity:0;transition:0.2s;flex-wrap:wrap;padding:0.5rem;}
.gallery-admin-item:hover .gallery-admin-actions{opacity:1;}
.add-photo-btn{background:#2e2e2e;border:2px dashed #444;border-radius:7px;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.35rem;color:#555;cursor:pointer;transition:0.2s;font-size:0.76rem;font-family:'Source Sans 3',sans-serif;}
.add-photo-btn:hover{border-color:#c9d88a;color:#c9d88a;}
.add-photo-btn .plus{font-size:1.9rem;line-height:1;}
.admin-input{width:100%;padding:0.58rem 0.85rem;background:#333;border:1px solid #444;border-radius:5px;color:#eee;font-family:'Source Sans 3',sans-serif;font-size:0.88rem;margin-bottom:0.7rem;}
.admin-input:focus{outline:none;border-color:#c9d88a;}
.admin-label{color:#aaa;font-size:0.73rem;text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:0.35rem;display:block;}
.admin-btn{background:#77844b;color:#fff;border:none;padding:0.52rem 1.3rem;border-radius:5px;cursor:pointer;font-weight:700;font-size:0.8rem;font-family:'Source Sans 3',sans-serif;transition:0.2s;}
.admin-btn:hover{background:#5a6337;}
.admin-btn-danger{background:#b03030;}
.admin-btn-danger:hover{background:#d04040;}
.admin-btn-sm{padding:0.3rem 0.7rem;font-size:0.71rem;}
.admin-btn-outline{background:transparent;border:1px solid #555;color:#aaa;}
.admin-btn-outline:hover{border-color:#c9d88a;color:#c9d88a;background:transparent;}
.bookings-table{width:100%;border-collapse:collapse;color:#ddd;font-size:0.81rem;}
.bookings-table th{background:#333;color:#c9d88a;text-align:left;padding:0.65rem 0.9rem;font-size:0.7rem;text-transform:uppercase;letter-spacing:1px;}
.bookings-table td{padding:0.65rem 0.9rem;border-bottom:1px solid #2e2e2e;}
.bookings-table tr:hover td{background:rgba(255,255,255,0.02);}
.status-badge{display:inline-block;padding:0.2rem 0.55rem;border-radius:20px;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;}
.status-new{background:rgba(201,216,138,0.15);color:#c9d88a;}
.status-confirmed{background:rgba(100,180,120,0.15);color:#70c880;}
.status-cancelled{background:rgba(200,80,80,0.15);color:#e07070;}

/* REGION ADMIN */
.region-admin-list{display:flex;flex-direction:column;gap:0.75rem;}
.region-admin-item{background:#333;border-radius:7px;padding:1rem;display:flex;align-items:center;gap:1rem;border:1px solid #3a3a3a;}
.region-admin-thumb{width:80px;height:55px;border-radius:5px;overflow:hidden;background:#404040;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#666;}
.region-admin-thumb img{width:100%;height:100%;object-fit:cover;}
.region-admin-info{flex:1;}
.region-admin-name{color:#eee;font-weight:600;font-size:0.88rem;margin-bottom:0.2rem;}
.region-admin-dist{color:#888;font-size:0.75rem;}

/* ADD REGION FORM */
.add-region-form{background:#333;border-radius:7px;padding:1.25rem;border:1px solid #3a3a3a;margin-top:1rem;}
.add-region-img-preview{width:120px;height:80px;border-radius:5px;background:#404040;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#666;overflow:hidden;margin-bottom:0.75rem;}
.add-region-img-preview img{width:100%;height:100%;object-fit:cover;}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.75rem;}

/* BUCHUNG PAGE */
.buchung-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.5rem;align-items:start;}
.buchung-left{display:flex;flex-direction:column;}
.buchung-right{}
.kalender-box{background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.kalender-header{display:flex;align-items:center;gap:0.85rem;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);background:var(--beige-dark);}
.kalender-icon{font-size:1.5rem;flex-shrink:0;}
.kalender-title{font-family:'Coming Soon',cursive;font-size:1rem;color:var(--text);line-height:1.2;}
.kalender-sub{font-size:0.75rem;color:var(--text-light);margin-top:0.1rem;}
.kalender-embed{background:#f0f0f0;}
@media(max-width:960px){.buchung-grid{grid-template-columns:1fr;}}

.legal-content{max-width:780px;margin-top:2rem;}
.legal-block{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border);}
.legal-block:last-child{border-bottom:none;}
.legal-block h3{font-family:'Coming Soon',cursive;font-size:1.15rem;color:var(--text);margin-bottom:0.9rem;}
.legal-block h4{font-size:0.9rem;font-weight:700;color:var(--text);margin:1rem 0 0.4rem;}
.legal-block p{font-size:0.93rem;color:var(--text-light);line-height:1.8;margin-bottom:0.75rem;}
.legal-block ul{margin:0.5rem 0 0.75rem 1.4rem;display:flex;flex-direction:column;gap:0.3rem;}
.legal-block ul li{font-size:0.9rem;color:var(--text-light);line-height:1.6;}
.legal-block a{color:var(--green);text-decoration:none;}
.legal-block a:hover{text-decoration:underline;}

@media(max-width:960px){
  .haus-grid,.kontakt-grid,.anreise-grid{grid-template-columns:1fr;}
  .preise-grid{grid-template-columns:1fr;}
  .preview-grid{grid-template-columns:1fr 1fr;}
  .footer-inner{grid-template-columns:1fr 1fr;gap:2rem;}
}
@media(max-width:500px){
  .footer-inner{grid-template-columns:1fr;}
  .preis-card.featured{transform:none;}
  .features-grid{grid-template-columns:1fr;}
}
@media(max-width:700px){
  .nav-links{display:none;flex-direction:column;position:fixed;top:72px;left:0;right:0;background:rgba(247,243,235,0.98);border-bottom:1px solid var(--border);padding:0.4rem 0;}
  .nav-links.open{display:flex;}
  .nav-links a{height:auto;padding:0.7rem 1.5rem;}
  .burger{display:flex;}
  .form-row,.form-row-3{grid-template-columns:1fr;}
  .haus-features{grid-template-columns:1fr;}
  .preview-grid{grid-template-columns:1fr;}
  .anreise-info-bar{grid-template-columns:1fr;}
  .anreise-info-item{border-right:none;border-bottom:1px solid var(--border);}
}

/* PAGE HEADER */
.page-hero-small{position:relative;padding:5rem 2rem 2rem;border-bottom:1px solid rgba(255,255,255,.15);}
.page-hero-small>.phero-overlay{position:absolute;inset:0;pointer-events:none;background:rgba(0,0,0,.28);}
.page-hero-small .section-inner{position:relative;z-index:1;}
.page-hero-small .section-label{color:rgba(255,255,255,.8)!important;}
.page-hero-small .section-title{color:#fff!important;}
.page-hero-small .section-desc{color:rgba(255,255,255,.88)!important;}
.page-hero-small .divider{background:rgba(255,255,255,.5);}
.fh-extra-block{margin:2rem 0;}
.fh-extra-block img{width:100%;border-radius:8px;margin-bottom:.5rem;max-width:700px;}
.fh-extra-caption{font-size:.82rem;color:var(--text-light);font-style:italic;}
.preis-hinweis{display:block;width:100%;text-align:center;margin-top:2.5rem;padding:1rem 1.5rem;clear:both;color:var(--text-light);font-size:.85rem;line-height:1.7;}
