:root{color-scheme:light;--ink:#203f36;--muted:#63716b;--line:#dce3d9;--paper:#ffffff;--free:#eaf2e7;--free-ink:#315840;--booked:#f4e6e2;--booked-ink:#853d35;--unknown:#f0f0eb}
*{box-sizing:border-box}body{margin:0;background:#ffffff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.5}.calendar{max-width:1080px;margin:0 auto;padding:34px 38px 24px;background:var(--paper);border:1px solid var(--line);border-radius:22px}.intro{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-bottom:26px;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.1px;margin:0 0 12px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(31px,4.5vw,43px);font-weight:400;line-height:1.13;margin:0 0 12px;letter-spacing:-1.2px}.lead{margin:0;color:var(--muted);font-size:14px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 16px}h2{font-size:17px;font-weight:600;margin:0}.navigation{display:flex;gap:6px}button{appearance:none;font:inherit;color:var(--ink);background:#fff;border:1px solid #cdd7cc;border-radius:9px;min-height:42px;padding:8px 13px;cursor:pointer}button:hover:not(:disabled){background:#e5eee1;border-color:#718974}button:focus-visible{outline:3px solid #345d49;outline-offset:3px}button:disabled{opacity:.35;cursor:default}#prev,#next{font-size:20px;min-width:43px;line-height:1}#current{font-size:12px}.legend{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:12px;color:#4c5b53}.legend>span{display:inline-flex;align-items:center;gap:7px}.swatch{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;width:23px;height:23px;font-size:16px;font-style:normal}.free{background:var(--free);color:var(--free-ink)}.booked{background:var(--booked);color:var(--booked-ink)}.unknown{background:var(--unknown);color:#64665e}.status{font-size:12px;color:var(--muted);margin:14px 0 20px;min-height:18px}.status.error{background:#fbedd5;border:1px solid #d7b981;padding:10px 13px;border-radius:8px;color:#684817}.months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.month h3{font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;margin:0 0 13px}.month table{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:calc(100% + 8px);margin:0 -4px}.month th{font-size:10px;font-weight:600;color:var(--muted);height:25px;text-transform:uppercase;letter-spacing:.6px}.day{position:relative;height:46px;text-align:center;border-radius:7px;font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.day small{display:block;font-size:10px;line-height:10px;margin-top:1px}.day.past{background:transparent;color:#9b9f97}.day.today{box-shadow:inset 0 0 0 2px var(--ink)}.details{margin-top:15px;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.today-mark{display:inline-block;border:1.5px solid var(--ink);border-radius:3px;min-width:12px;height:12px}footer{margin-top:24px;border-top:1px solid var(--line);padding-top:19px}footer strong{font-size:14px;font-weight:600}footer p{font-size:12px;color:var(--muted);margin:6px 0 0;max-width:810px}footer .sync{font-size:10px;margin-top:14px;letter-spacing:.1px}#retry{margin-top:12px;font-size:12px}[hidden]{display:none!important}
@media(max-width:620px){.calendar{padding:24px 20px 21px;border-radius:16px}.intro{padding-bottom:21px}.toolbar{flex-wrap:wrap;margin-top:20px;gap:14px}.toolbar h2{width:100%}.navigation{width:100%}.navigation #current{flex:1}.legend{gap:9px 15px;font-size:11px}.months{grid-template-columns:1fr;gap:0}.day{height:45px}.details{align-items:flex-start}.eyebrow{font-size:9px;letter-spacing:1.5px}.status{margin-bottom:17px}h1{font-size:34px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s ease}}

/* Kompakte Buchungsbox: weiß, ohne Logo. */
body{color:#242424;padding:16px;background:#fff}.calendar{max-width:420px;padding:24px;background:#fff;border:1px solid #efefef;border-radius:16px;box-shadow:0 7px 22px rgba(0,0,0,.10)}.booking-header{margin-bottom:23px}.eyebrow{color:#656565;font-size:10px;letter-spacing:1.2px;margin:0 0 9px}h1{font-family:Arial,Helvetica,sans-serif;font-size:24px;line-height:1.25;font-weight:650;letter-spacing:-.6px;margin:0 0 8px}.price-note{font-size:14px;margin:0;color:#626262}.booking-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid #8b8b8b;border-radius:12px;overflow:hidden}.booking-fields label{display:block;font-size:10px;font-weight:700;padding:12px 11px 9px;color:#262626}.date-field:first-child{border-right:1px solid #8b8b8b}.guest-field{grid-column:1/-1;border-top:1px solid #8b8b8b}.booking-fields input,.booking-fields select{display:block;width:100%;min-width:0;max-width:100%;border:0;background:#fff;color:#222;font:14px Arial,Helvetica,sans-serif;min-height:27px;margin-top:3px;padding:0}.booking-fields input:focus-visible,.booking-fields select:focus-visible{outline:2px solid #343434;outline-offset:2px;border-radius:3px}.booking-info{font-size:12px;line-height:1.5;background:#f4f4f4;border-radius:8px;padding:11px 12px;margin:15px 0}.booking-button{display:block;width:100%;border:0;border-radius:28px;background:#09355c;color:#fff;font-size:16px;font-weight:600;min-height:49px;cursor:pointer}.booking-button:hover:not(:disabled){background:#062640;border:0}.booking-button:focus-visible{outline:3px solid #222;outline-offset:3px}.booking-note{text-align:center;font-size:13px;margin:15px 0 0;color:#333}details{margin-top:22px;border-top:1px solid #e5e5e5;padding-top:15px}summary{font-size:13px;text-decoration:underline;cursor:pointer;text-align:center;list-style:none;color:#595959}summary::-webkit-details-marker{display:none}summary::after{content:' ＋';text-decoration:none}details[open] summary::after{content:' −'}.toolbar{flex-wrap:wrap;gap:12px}.toolbar h2{width:100%;font-size:16px}.navigation{width:100%}.navigation #current{flex:1}.months{grid-template-columns:1fr}.month h3{font-family:Arial,Helvetica,sans-serif;font-size:19px;font-weight:600}.legend{font-size:10px;gap:8px 12px}.status{font-size:11px}.details{align-items:flex-start;font-size:10px}footer{margin-top:15px;padding-top:12px}footer p{font-size:11px}.day{height:40px}.status.error{color:#684817}#retry{color:#333}button{color:#333}
@media(max-width:360px){body{padding:10px}.calendar{padding:18px 14px}h1{font-size:22px}.booking-fields label{padding:10px 8px}.booking-fields input,.booking-fields select{font-size:12px}}

/* Größere responsive Box; Buttonfarbe der Himmeleck-Webseite (#09355c). */
.calendar{max-width:640px;padding:36px}.booking-header{margin-bottom:28px}h1{font-size:32px}.eyebrow{font-size:11px}.price-note{font-size:16px}.booking-fields label{font-size:11px;padding:15px 16px 12px}.booking-fields input,.booking-fields select{font-size:17px;min-height:34px}.booking-info{font-size:14px;padding:14px 16px;margin:20px 0}.booking-button{min-height:58px;font-size:18px;background:#09355c;color:#f0f0f0}.booking-button:hover:not(:disabled){background:#062640}.booking-note{font-size:15px;margin-top:18px}summary{font-size:14px}details{margin-top:26px;padding-top:18px}
@media(max-width:520px){.calendar{padding:26px 22px}h1{font-size:27px}.price-note{font-size:14px}.booking-fields label{padding:12px 10px}.booking-fields input,.booking-fields select{font-size:16px}.booking-info{font-size:13px}.booking-note{font-size:13px}.booking-button{font-size:17px;min-height:54px}}
@media(max-width:360px){body{padding:10px}.calendar{padding:22px 16px}h1{font-size:25px}.booking-fields{grid-template-columns:minmax(0,1fr)}.date-field:first-child{border-right:0;border-bottom:1px solid #8b8b8b}}

/* Separater Bewertungsbutton unter dem Buchungshinweis. */
.reviews-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;margin-top:22px;padding:12px 16px;border:1px solid #09355c;border-radius:28px;background:#fff;color:#09355c;text-align:center;text-decoration:none;font-size:15px;font-weight:600;line-height:1.5}.reviews-button:hover{background:#edf2f7}.reviews-button:focus-visible{outline:3px solid #09355c;outline-offset:4px}.reviews-button span{flex-shrink:0}@media(max-width:400px){.reviews-button{font-size:14px;padding:11px 12px}}
