
:root{--erde:#4a3f35;--creme:#fdfaf1;--gold:#e9c46a;--lila:#d8c8f0;--blau:#b8d8f0;--pink:#f2c6d4;--gelb:#f9eab2;--orange:#f8ccb0;--gruen:#b8e2c8;--rot:#b64d4d;--weiss:#fff;--shadow:0 10px 30px rgba(74,63,53,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:var(--erde);background:var(--creme);line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit}
header.site{padding:32px 16px 48px;text-align:center;background:radial-gradient(circle,#fffdf5,#e9c46a);clip-path:ellipse(150% 100% at 50% 0)}.logo{max-width:420px;width:75%}
.container{max-width:980px;margin:auto;padding:18px}.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:-35px}.hero-grid img,.gallery img{width:100%;height:250px;object-fit:cover;border-radius:20px;box-shadow:var(--shadow);cursor:pointer}
.booking-cta{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0}.cta{padding:28px 20px;border-radius:25px;text-align:center;text-decoration:none;font-weight:900;font-size:1.2rem;box-shadow:var(--shadow);transition:.2s}.cta:hover{transform:translateY(-3px)}.cta.play{background:var(--lila)}.cta.party{background:var(--blau)}
.accordion{width:100%;border:0;padding:20px;border-radius:22px;margin:7px 0;font-weight:900;font-size:1.1rem;color:var(--erde);cursor:pointer}.panel{display:none;background:#fff;padding:24px;border-radius:22px;margin-bottom:12px;box-shadow:var(--shadow)}.panel.open{display:block}.price{padding:15px;border:1px dashed var(--gold);border-radius:15px;background:#fffdf5;margin:12px 0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery img{height:190px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:11px 17px;border:0;border-radius:999px;background:var(--erde);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.btn.alt{background:#fff;color:var(--erde);border:1px solid #d9cdbf}.btn.green{background:#4e8b67}.btn.red{background:var(--rot)}.btn:disabled{opacity:.45;cursor:not-allowed}
.topbar{position:sticky;top:0;z-index:50;background:rgba(253,250,241,.96);backdrop-filter:blur(10px);border-bottom:1px solid #e8dfd1}.topinner{max-width:1100px;margin:auto;padding:10px 15px;display:flex;justify-content:space-between;align-items:center;gap:12px}.nav{display:flex;gap:8px;flex-wrap:wrap}.wrap{max-width:1100px;margin:auto;padding:20px 15px 90px}.card{background:#fff;border:1px solid #eee3d6;border-radius:22px;padding:18px;box-shadow:var(--shadow);margin-bottom:14px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{margin:12px 0}.field label{font-weight:800;display:block;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #cfc2b2;border-radius:12px;background:#fff}.field textarea{min-height:90px}.choice{display:block;border:2px solid #e9dfd1;border-radius:15px;padding:12px;margin:8px 0;cursor:pointer}.choice.selected,.choice:has(input:checked){border-color:var(--erde);background:#fff9ea}.choice.disabled{opacity:.4;pointer-events:none;text-decoration:line-through}.small{font-size:.87rem;opacity:.75}.notice{padding:13px;border-radius:14px;background:#fff4c7;border:1px solid #e7cb74;margin:10px 0}.notice.success{background:#e1f3e7;border-color:#9bc5a8}.notice.error{background:#ffe0df;border-color:#dc9b97}.pricebar{position:sticky;bottom:10px;padding:14px;background:var(--gruen);border:2px solid var(--erde);border-radius:17px;text-align:center;font-size:1.15rem;font-weight:900;margin-top:15px}.hidden{display:none!important}.status{display:inline-block;padding:5px 10px;border-radius:999px;font-weight:900;font-size:.8rem}.status.paid{background:#d5f3df}.status.partial{background:#ffe2a3}.status.unpaid{background:#ffd1cd}.status.cancelled{background:#ddd}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab.active{background:var(--gold);color:var(--erde)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{min-height:100px;background:#fff;border:1px solid #e5d9ca;border-radius:12px;padding:7px;font-size:.78rem}.day.blocked{background:#ececec;color:#777}.event{padding:3px 5px;margin-top:4px;border-radius:6px;background:var(--blau)}.event.party{background:var(--pink)}.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:100;display:flex;align-items:center;justify-content:center;padding:15px}.modalbox{background:#fff;border-radius:22px;padding:20px;max-width:760px;width:100%;max-height:92vh;overflow:auto}.footer{text-align:center;padding:40px 20px;border-top:1px solid #eee}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:120}.lightbox img{max-width:94%;max-height:92vh;border-radius:12px}
@media(max-width:760px){.hero-grid,.booking-cta,.grid.two,.grid.three{grid-template-columns:1fr}.hero-grid img{height:230px}.between{display:block}.calendar:not(.selectable){grid-template-columns:repeat(2,1fr)}.topinner{align-items:flex-start;flex-direction:column}}
.legend{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 16px}.legend span{display:flex;align-items:center;gap:7px;font-size:.9rem}.dot{width:14px;height:14px;border-radius:50%;display:inline-block}.dot.free{background:#b8e2c8}.dot.blocked{background:#d1d1d1}.dot.selected{background:#e9c46a}.calendar-picker{padding:16px}.calendar.selectable .pickday{min-height:78px;border:1px solid #ddd;border-radius:12px;padding:8px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;font-family:inherit}.calendar.selectable .pickday.free-day{background:#e7f6ec;cursor:pointer}.calendar.selectable .pickday.free-day:hover{outline:3px solid rgba(74,63,53,.18)}.calendar.selectable .pickday.blocked{background:#e7e7e7;color:#777;cursor:not-allowed}.calendar.selectable .pickday.selected-day{background:#f9eab2;outline:3px solid #e9c46a}.calhead{text-align:center;font-weight:800;font-size:.8rem;padding:4px}.day.blank{background:transparent;border:none}.admin-toast{position:fixed;right:20px;bottom:20px;background:#4a3f35;color:white;padding:14px 18px;border-radius:14px;box-shadow:0 8px 25px rgba(0,0,0,.25);z-index:3000;font-weight:700}.admin-toast.hidden{display:none}@media(max-width:600px){.calendar.selectable .pickday{min-height:58px;padding:5px;font-size:.8rem}.calendar.selectable .pickday small{font-size:.65rem}.calhead{font-size:.65rem}}

.step-title{font-size:1.15rem;font-weight:900;margin-bottom:14px;display:flex;align-items:center;gap:10px}.step-title span{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--gold)}.calendar.selectable{grid-template-columns:repeat(7,minmax(0,1fr));}.calendar.selectable button.pickday:disabled{pointer-events:none;opacity:.72;filter:grayscale(.2)}@media(max-width:600px){.calendar-picker{padding:8px}.calendar.selectable{gap:3px}.calendar.selectable .pickday{min-width:0;min-height:52px;padding:4px;font-size:.76rem}.calendar.selectable .pickday small{font-size:.58rem}.legend{gap:8px;font-size:.78rem}.calendar-picker .between{display:flex;align-items:center}.calendar-picker .between h2{font-size:1rem;margin:0;text-align:center}.calendar-picker .between .btn{padding:8px 12px}}

.sub-selection{display:none;margin:8px 0 14px 34px;padding:14px;border-left:4px solid var(--gold,#e9c46a);background:#fff;border-radius:0 14px 14px 0}.sub-selection.show{display:block}.extra-block{margin-bottom:8px}.booking-detail,.detailbox{margin:14px 0;padding:14px;background:#fffdf5;border:1px solid rgba(233,196,106,.65);border-radius:14px}.booking-detail .between,.detailbox .between{padding:4px 0;border-bottom:1px dashed rgba(74,63,53,.18)}


/* Version 10: Smartphone-Optimierung und Verwaltungslogin */
.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(180deg,#fffdf5,#fdfaf1)}
.auth-card{width:min(100%,430px);background:#fff;border-radius:26px;padding:24px;box-shadow:0 14px 40px rgba(74,63,53,.14)}
.auth-logo{display:block;width:min(75%,260px);height:auto;margin:0 auto 18px}.full{width:100%}
@media(max-width:700px){
 body{font-size:16px}.wrap{padding:12px}.topinner{align-items:flex-start;gap:10px}.topinner>strong{font-size:1.05rem}.nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nav .btn,.nav a.btn{width:100%;margin:0;padding:11px 8px;font-size:.88rem}.card{padding:16px;border-radius:18px}.grid.two,.grid.three{grid-template-columns:1fr}.row,.between{align-items:stretch}.between{gap:10px}.between>*{min-width:0}.calendar{gap:3px}.day{min-height:76px;padding:5px;font-size:.76rem}.event{font-size:.68rem;padding:3px}.modalbox{width:96%;max-height:92vh;overflow:auto;padding:18px;margin:4vh auto}.field input,.field select,.field textarea,select,input,textarea{font-size:16px;max-width:100%}.status{white-space:normal;text-align:center}.detailbox .between{display:grid;grid-template-columns:1fr auto}.auth-card{padding:20px;border-radius:22px}}
@media(max-width:390px){.nav{grid-template-columns:1fr 1fr}.btn{font-size:.86rem;padding:10px}.day{min-height:66px}.calendar{grid-template-columns:repeat(7,minmax(36px,1fr));overflow-x:auto}}

/* v11 mobile/account/request additions */
.password-wrap{display:flex;gap:8px;align-items:center}.password-wrap input{flex:1}.icon-btn{min-width:48px;padding:12px;border:1px solid #d8cfc4;border-radius:12px;background:#fff;font-size:1.1rem;cursor:pointer}.wa-fab{position:fixed;right:18px;bottom:18px;z-index:1400;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25D366;color:#fff;text-decoration:none;font-size:28px;box-shadow:0 8px 24px #0003}.request-box{border:2px solid #f0c36a;background:#fff8df}.admin-alert{border-left:6px solid #e39a18}.full-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:640px){.full-edit-grid{grid-template-columns:1fr}.wa-fab{right:12px;bottom:12px}.modalbox{width:96%;max-height:92vh;overflow:auto}.btn{min-height:46px}.password-wrap{align-items:stretch}}
.card-soft{background:#fffdf5;border:1px solid rgba(233,196,106,.8);border-radius:16px;padding:16px;margin-top:16px}.payment-box h3{margin-top:0}.contact-panel{position:sticky;bottom:8px;max-width:900px;margin:24px auto;padding:16px;background:#fff;border:2px solid #25D366;border-radius:18px;box-shadow:0 8px 24px rgba(0,0,0,.13);z-index:15}.mail-preview{white-space:pre-wrap;background:#f7f4ef;padding:12px;border-radius:10px;font-family:inherit;font-size:.88rem}.auth-card a,.choice a{color:#4a3f35;text-decoration:underline;font-weight:700}@media(max-width:620px){.contact-panel .row,.payment-box .row{display:grid;grid-template-columns:1fr}.contact-panel .btn,.payment-box .btn{width:100%}.mail-preview{font-size:.8rem}}

/* RC3 */
.contact-list p{margin:16px 0}.booking-confirmation{max-width:760px;margin:auto;background:#fff;padding:32px;border-radius:24px}.booking-confirmation .brand{display:flex;align-items:center;gap:18px;border-bottom:2px solid #e9c46a;padding-bottom:18px;margin-bottom:22px}.booking-confirmation .brand img{width:110px}.booking-confirmation table{width:100%;border-collapse:collapse}.booking-confirmation td{padding:8px;border-bottom:1px solid #eee}.qr-placeholder{width:180px;height:180px;border:8px solid #222;display:grid;place-items:center;text-align:center;font-size:.8rem;margin:18px auto;background:repeating-linear-gradient(45deg,#111 0 8px,#fff 8px 16px)}.qr-placeholder span{background:#fff;padding:8px}.footer a{color:inherit}#adminLoginBtn{pointer-events:auto!important;position:relative;z-index:10}

/* RC5 compact admin list */
.booking-summary{width:100%;display:grid;grid-template-columns:1.3fr 1fr auto auto;gap:12px;align-items:center;border:0;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer;padding:4px}.booking-summary span{display:flex;flex-direction:column}.booking-summary small{opacity:.75}.booking-expanded{margin-top:14px;padding-top:14px;border-top:1px solid #eee}.chev{font-size:1.4rem}.booking-compact{padding:16px}@media(max-width:680px){.booking-summary{grid-template-columns:1fr auto}.booking-summary>span:nth-child(2){grid-column:1}.booking-summary .status{grid-column:2;grid-row:1/3}.chev{grid-column:2}}
/* RC12 - Verwaltungsübersicht */
.rc12-day{border-left:5px solid #e9c46a}.rc12-day-list{display:grid;gap:10px;margin-top:14px}.rc12-book{padding:12px 0;border-top:1px solid #eee}.rc12-book:first-child{border-top:0}.rc12-detail{margin-top:10px}.rc12-day .row{justify-content:flex-end}.rc12-day h2{margin:0}.rc12-day .status{white-space:nowrap}@media(max-width:650px){.rc12-day>.between{align-items:flex-start}.rc12-day>.between>.row{width:100%;justify-content:stretch}.rc12-day>.between>.row .btn{flex:1}.rc12-book>.between{align-items:flex-start}.rc12-book>.between>div:last-child{display:flex;gap:6px;align-items:center}}

/* RC15: Tageslisten */
.rc15-daylist .blank-cell{min-width:75px;height:32px}.rc15-daylist .blank-cell.wide{min-width:150px}.rc15-table th,.rc15-table td{vertical-align:middle}@media(max-width:720px){#tageslisten .grid.two{grid-template-columns:1fr}#tageslisten .row .btn{flex:1}.rc15-table{min-width:760px}}
