:root{--green:#2e4a3f;--dark:#182720;--gold:#c9a646;--cream:#f7f4ed;--text:#26352f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:Arial,sans-serif;background:var(--cream);line-height:1.65}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:10px 5vw;background:rgba(24,39,32,.97);box-shadow:0 3px 18px #0002}
.brand img{height:58px;width:auto;display:block}
.site-header nav{display:flex;gap:25px;align-items:center;color:#fff}
.site-header nav a{text-decoration:none;font-weight:600}
.nav-admin{border:1px solid #fff8;padding:7px 13px;border-radius:5px}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}
.hero{min-height:78vh;background:linear-gradient(130deg,#14231d 0%,#2e4a3f 55%,#96772d 150%);display:flex;align-items:center}
.hero-overlay{width:100%}
.hero-content{max-width:1100px;margin:auto;padding:80px 6vw;color:#fff}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--gold)}
h1,h2,h3{font-family:Georgia,serif;line-height:1.1}
h1{font-size:clamp(48px,7vw,90px);margin:15px 0}
h1 span{color:var(--gold)}
h2{font-size:clamp(38px,5vw,58px);margin:10px 0 18px}
h3{font-size:28px;margin:8px 0}
.hero p{font-size:20px;max-width:650px}
.hero-actions{display:flex;gap:12px;margin-top:28px}
.btn{display:inline-block;padding:13px 22px;border-radius:5px;text-decoration:none;font-weight:700;border:1px solid transparent}
.btn-gold{background:var(--gold);color:#fff}
.btn-outline{border-color:#fff;color:#fff}
.btn-dark{background:var(--green);color:#fff}
.intro{max-width:1100px;margin:auto;padding:85px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:50px}
.intro p{font-size:20px;margin-top:0}
.section{max-width:1200px;margin:auto;padding:80px 6vw}
.section-heading{max-width:760px;margin-bottom:40px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.card{background:#fff;box-shadow:0 10px 35px #18382b14}
.photo{height:260px;background:linear-gradient(145deg,#34564a,#b1903d);background-position:center;background-size:cover}
.photo-double{background:linear-gradient(145deg,#53625c,#d4c19a)}
.photo-breakfast{background:linear-gradient(145deg,#7a5034,#d3aa58)}
.card-body{padding:25px}
.card-body p{color:#66736c}
.card-body a,.contact-section a{color:var(--green);font-weight:700;text-decoration:none}
.tag{font-size:12px;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.split-section{display:grid;grid-template-columns:1fr 1fr;background:#fff}
.split-photo{min-height:550px;background:linear-gradient(145deg,#553a28,#d5af5d)}
.split-content{display:flex;flex-direction:column;justify-content:center;padding:70px 9vw}
.dark-section{max-width:none;background:var(--dark);color:#fff}
.dark-section .section-heading{max-width:800px;margin-left:auto;margin-right:auto;text-align:center}
.event-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.event-grid>div{border-top:1px solid #fff4;padding:25px}
.event-grid strong{font-size:14px;color:var(--gold)}
.contact-section{max-width:1100px;margin:auto;padding:90px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:70px}
.contact-form{display:grid;gap:14px}
.contact-form label{font-weight:600}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #d5d9d4;border-radius:5px;font:inherit;background:#fff}
footer{background:var(--green);color:#fff;text-align:center;padding:35px 20px}
footer img{height:55px;width:auto;margin-bottom:10px}
footer a{color:var(--gold);text-decoration:none}
.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px}
.footer-links a{font-weight:600}
.legal-page{max-width:900px;margin:0 auto;padding:60px 24px 120px;line-height:1.7}
.legal-page h1{margin-bottom:10px}
.legal-page h2{margin-top:34px;font-size:30px}
.notice{padding:16px;border:1px solid #ddd;border-radius:8px;background:#fafafa}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:5000;background:#fff;border:1px solid #d8d8d8;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.18);padding:18px;display:none}
.cookie-banner.show{display:block}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.cookie-actions button,.notice button{border:0;border-radius:7px;padding:10px 16px;cursor:pointer;text-decoration:none;background:var(--green);color:#fff}
@media(max-width:800px){.site-header{padding:8px 20px}
.brand img{height:50px}
.menu-toggle{display:block}
.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--dark);padding:15px 20px;flex-direction:column;align-items:stretch;gap:0}
.site-header nav.show{display:flex}
.site-header nav a{padding:12px 5px}
.hero{min-height:72vh}
.hero-content,.section,.contact-section{padding:60px 7vw}
.intro,.contact-section,.split-section{grid-template-columns:1fr}
.intro{padding:60px 7vw}
.cards,.event-grid{grid-template-columns:1fr}
.split-photo{min-height:350px}
.split-content{padding:60px 7vw}
}
@media(max-width:600px){.cookie-banner{left:8px;right:8px;bottom:8px}
.legal-page{padding:40px 18px 100px}
}

/* Lokale Hotelbilder: keine externen Bildaufrufe erforderlich. */
.brand img{width:280px;height:100px;object-fit:cover;object-position:center}
.site-footer img{width:280px;height:100px;object-fit:cover;object-position:center}
.hero{background:linear-gradient(90deg,#14231dcc,#14231d44),url('../assets/images/hotel-aussenansicht.jpeg') center/cover}
.photo-single{background-image:url('../assets/images/zimmer-einzelzimmer.jpeg')}
.photo-double{background-image:url('../assets/images/zimmer-doppelzimmer.jpeg')}
.photo-breakfast{background-image:url('../assets/images/fruehstueck.jpg');background-size:cover;background-position:center}
@media(max-width:800px){.brand img{width:200px;height:72px}.site-footer img{width:220px;height:80px}}

.room-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:#fff}
.room-gallery-five img:first-child{grid-column:1 / -1}
.room-gallery img{display:block;width:100%;height:150px;object-fit:cover}
.room-gallery img:first-child{height:230px}
@media(max-width:800px){.room-gallery img{height:135px}.room-gallery img:first-child{height:220px}}

/* Zentrale Restaurantkarte */
.menu-page{max-width:1000px}
.menu-intro{font-size:20px;font-weight:700;color:var(--green)}
.menu-edit-hint{padding:12px 15px;border-left:4px solid var(--gold);background:#faf8f1;font-size:14px}
.menu-category{margin:45px 0}
.menu-category h2{font-size:32px;border-bottom:1px solid #ddd;padding-bottom:10px}
.menu-items{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.menu-item{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #eceeea}
.menu-item strong{white-space:nowrap;color:var(--green)}
@media(max-width:700px){.menu-items{grid-template-columns:1fr}.menu-category h2{font-size:27px}}
