
:root{--bg:#f4eadb;--card:#fff;--text:#302014;--muted:#6d5a49;--green:#356120;--brown:#6a3f1e;--border:#eadcc8}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.hero{position:relative;background:#2b1d12}
.hero-img{display:block;width:100%;height:auto;object-fit:contain;background:#2b1d12}
.topbar{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;z-index:10;pointer-events:none}
.badge{background:rgba(45,28,15,.72);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:10px 14px;font-weight:900;box-shadow:0 4px 14px rgba(0,0,0,.25);pointer-events:auto}
.quick-nav{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:10px;background:rgba(244,234,219,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
button,.btn-link{cursor:pointer;border:0;border-radius:999px;background:var(--green);color:#fff!important;padding:12px 16px;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(30,40,20,.14)}
button:hover,.btn-link:hover{filter:brightness(.96)}
main{max-width:1120px;margin:0 auto;padding:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:22px;margin:16px 0;box-shadow:0 8px 26px rgba(45,30,18,.08)}
.kicker{display:inline-flex;background:#f1e5d2;color:#5b371c;border-radius:999px;padding:7px 12px;font-weight:900;margin-bottom:10px}
h1,h2,h3{color:#4a2a14}
h1{font-size:clamp(30px,5vw,50px);line-height:1.05;margin:.2em 0}
h2{font-size:clamp(25px,3.5vw,38px);margin:.2em 0 .4em}
p{font-size:18px;line-height:1.5;color:var(--muted)}
.lead{font-size:22px;font-weight:900;color:#4a2a14}
.small{font-size:14px}
.room-grid,.weather-grid,.tip-grid,.map-grid,.link-grid,.info-grid,.today-grid,.food-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.room-grid article,.weather-grid article,.tip-grid article,.map-grid article,.link-grid a,.info-grid article,.today-grid article,.food-grid article,.result-card{background:#fffaf2;border:1px solid var(--border);border-radius:18px;padding:16px;text-decoration:none;color:var(--text);box-shadow:0 5px 16px rgba(35,25,15,.05)}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
label{font-weight:900;color:#4a2a14}
select,input[type=date],input[type=text],textarea{width:100%;margin-top:6px;border:1px solid var(--border);border-radius:14px;padding:12px;background:#fff;color:#302014;font-weight:700;font-family:inherit}
.button-row{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.result{margin-top:14px}
.result-card h3{margin-top:0}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.facts span{background:#eef8df;color:#2f5b1f;border-radius:999px;padding:7px 10px;font-weight:900}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.actions a,.link-grid a{background:#fff8e8;border:1px solid var(--border);border-radius:16px;padding:14px;color:#4a2a14!important;font-weight:900;text-decoration:none}
.actions a{background:var(--green);color:#fff!important;border-radius:999px}
.actions a:nth-child(2),.brown{background:var(--brown)!important}
.pia-score{display:inline-flex;background:#eef8df;color:#2f5b1f;border-radius:999px;padding:8px 12px;font-weight:900}
.pia-submenu{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.pia-submenu button{border-radius:14px;background:#fff8e8;color:#4a2a14!important;border:1px solid var(--border);box-shadow:none;min-height:54px}
.pia-submenu button.active{background:var(--green);color:#fff!important;border-color:var(--green);box-shadow:0 6px 16px rgba(30,40,20,.14)}
.pia-certificate-row{justify-content:flex-end}
.pia-question{border-top:1px solid var(--border);padding:14px 0}
.pia-question button{background:#fffaf1;color:#4a2a14!important;border:1px solid var(--border);margin:8px 8px 0 0;box-shadow:none}
.correct{background:#dff2cf!important;border-color:#70a94a!important}
.wrong{background:#f8d6ce!important;border-color:#c7654d!important}
.treasure-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.treasure-list label,.story-card,.adventure-grid article{background:#fff8e8;border:1px solid var(--border);border-radius:14px;padding:12px}
.adventure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0}
.adventure-grid h4{margin:.2em 0;color:#4a2a14;font-size:18px}
.certificate{max-width:900px;margin:0 auto;background:#fff8df;border:3px solid #8a5a23;border-radius:24px;padding:28px;text-align:center}
.nice-list li{margin:8px 0;font-size:18px}
blockquote{background:#fff3dc;padding:14px;border-left:5px solid #8a5a23;border-radius:10px;color:#4a2a14;font-size:18px}
footer{text-align:center;padding:30px;color:var(--muted)}
.windis-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}
.windis-strip article{display:grid;gap:4px;background:#fff8e8;border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:0 5px 16px rgba(35,25,15,.05)}
.windis-strip strong{color:#4a2a14;font-size:18px}
.windis-strip span{color:var(--muted)}
.info-card,.rain-card,.tips-card{background:linear-gradient(180deg,#fffdf8,#f7fbf1)}
.food-card,.guestbook-card{background:linear-gradient(180deg,#fffdf8,#fff3e4)}
.house-grid{margin-top:14px}
.emergency-card{background:linear-gradient(180deg,#fffdf8,#fff1ec);border-color:#f0c5b8}
.emergency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
.emergency-grid a{display:grid;gap:4px;background:#fff4ef;border:1px solid #efc0b1;border-radius:18px;padding:16px;text-align:center;text-decoration:none;color:#4a2a14!important;box-shadow:0 5px 16px rgba(35,25,15,.05)}
.emergency-grid strong{font-size:30px;color:#9f2f1d}
.emergency-grid span{font-weight:900}
.legal-card{background:#fffdf8}
.legal-card a{color:#4a2a14;font-weight:900}
.guestbook-list{display:grid;gap:10px;margin-top:12px}
.guestbook-list article{background:#fffaf2;border:1px solid var(--border);border-radius:14px;padding:12px}
.guestbook-list p{margin:.2em 0}
.guestbook-list small{color:var(--muted);font-weight:800}
@media(max-width:760px){
 .quick-nav{grid-template-columns:repeat(3,1fr);font-size:14px}
 .room-grid,.weather-grid,.tip-grid,.map-grid,.link-grid,.info-grid,.today-grid,.food-grid,.form-grid,.treasure-list,.adventure-grid,.emergency-grid,.windis-strip{grid-template-columns:1fr}
 .pia-submenu{grid-template-columns:repeat(2,1fr)}
 main{padding:10px}.card{padding:18px;border-radius:20px}
}
@media print{
 body *{visibility:hidden!important}
 #certificatePrint,#certificatePrint *{visibility:visible!important}
 #certificatePrint{position:absolute;left:0;top:0;width:100%;box-shadow:none!important}
}

/* V41 – Bücherwelt der Wilden Wachauer Windis */
.books-card{background:linear-gradient(180deg,#fffdf7,#fff2df);border-color:#e2c69d}
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}
.book-grid article,.book-highlight{background:#fffaf2;border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 5px 16px rgba(35,25,15,.05)}
.book-highlight{margin:14px 0}
.book-grid h3,.book-highlight h3{margin-top:0;color:#4a2a14}
@media(max-width:760px){
 .quick-nav{grid-template-columns:repeat(2,1fr)}
 .book-grid{grid-template-columns:1fr}
}


.badge{
  background:rgba(35,22,12,.82)!important;
  border:1px solid rgba(255,255,255,.35)!important;
}

/* V47 – Copyright Footer */
.footer{
  background:#2b1d12;
  color:#fff4df;
  text-align:center;
  padding:26px 16px;
  line-height:1.6;
  margin-top:24px;
}
.footer a{color:#ffd36c!important;text-decoration:none;font-weight:800}
.footer-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:8px}

/* V47 – Komoot/Outdooractive Fallbacks */
.actions a.outdoor{background:#214b7a!important}

/* V47 – Willkommen im Rudel / Wachau-Challenge */
.challenge-card{background:linear-gradient(180deg,#fffdf8,#eef8df)}
.challenge-progress-wrap{background:#fff8e8;border:1px solid var(--border);border-radius:18px;padding:14px;margin:16px 0}
.challenge-headline{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#4a2a14;font-size:18px}
.progress{height:18px;background:#eadcc8;border-radius:999px;overflow:hidden;margin-top:10px}
.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#356120,#8a5a23);border-radius:999px;transition:width .35s ease}
.challenge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}
.challenge-item{background:#fffaf2;border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 5px 16px rgba(35,25,15,.05)}
.challenge-item.done{border-color:#70a94a;background:#f2fbeb}
.challenge-item .stamp{font-size:34px;line-height:1}
.challenge-item h3{margin:.25em 0}
.challenge-item .actions button{box-shadow:none}
.wachau-cert h3{font-size:30px}.wachau-cert h2{font-size:42px}
@media(max-width:760px){.challenge-grid{grid-template-columns:1fr}.challenge-headline{font-size:16px}}

/* V46 geprüft/korrigiert: Cache-Buster, Tippfehler und App-Check-Label korrigiert */

/* V48 – Booking-Direktbuchung und 14-Tage-Wetterdiagramm */
.booking-card{background:linear-gradient(180deg,#fffdf8,#eef8df);border-color:#cfe2b8}
.booking-benefits{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.booking-benefits span{background:#eef8df;color:#2f5b1f;border-radius:999px;padding:8px 12px;font-weight:900}
.booking-button{display:flex;align-items:center;justify-content:center;width:100%;margin-top:12px;background:#1f5fa8;color:#fff!important;text-decoration:none;border-radius:999px;padding:16px 18px;font-weight:950;font-size:18px;box-shadow:0 8px 20px rgba(31,95,168,.2)}
.booking-button:hover{filter:brightness(.96)}
.chart-wrap{position:relative;height:320px;background:#fffaf2;border:1px solid var(--border);border-radius:18px;padding:12px;margin:16px 0;box-shadow:0 5px 16px rgba(35,25,15,.05)}
@media(max-width:760px){.chart-wrap{height:360px}.booking-button{font-size:16px;padding:14px}}


/* V49 Smart-WLAN */
.smartwifi-card{background:linear-gradient(180deg,#ffffff 0%,#fff7ea 100%)}
.wifi-status-box{display:flex;gap:14px;align-items:center;border:1px solid var(--border);border-radius:18px;background:#fff;padding:16px;margin:14px 0;box-shadow:0 8px 22px rgba(80,45,15,.08)}
.wifi-icon{font-size:42px;line-height:1}
.wifi-status-box.online{border-color:#b6d7a8;background:#f4fff1}
.wifi-status-box.offline{border-color:#f1b6a8;background:#fff4f1}
.wifi-status-box.confirmed{border-color:#7fbd72;background:#efffed}
.wifi-network{display:grid;gap:4px;border:2px dashed #c9a873;border-radius:18px;background:#fffdf8;padding:16px;margin:12px 0;text-align:center}
.wifi-network span{color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.wifi-network strong{font-size:1.45rem;color:var(--green)}
.wifi-network small{color:var(--muted)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#2b1d12;color:white;padding:12px 16px;border-radius:999px;z-index:99999;box-shadow:0 12px 30px rgba(0,0,0,.22);font-weight:800}
