@font-face{font-family:Waldauerin;font-weight:100 900;src:url('/assets/grenze-gotisch.ttf') format('truetype');font-display:swap}
@font-face{font-family:Homenaje;src:url('/assets/homenaje.ttf') format('truetype');font-display:swap}
:root{color-scheme:light;--paper:#fef0d5;--ink:#34392d;--brand:#52753c;--accent:#803525;--line:#dcd9cb;--muted:#666958;--card:#fffdf8;--heading:'Times New Roman',Georgia,serif;--body:Arial,Helvetica,sans-serif;--panel-text:#fff;--panel-muted:#e0e9da}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--body)}body[data-restaurant=waldauerin]{--paper:#f7f8f4;--ink:#16331c;--brand:#003200;--accent:#003200;--line:#d8dfd6;--muted:#5d6b5c;--card:#fff;--heading:Waldauerin,Georgia,serif;--panel-muted:#d5e3d1}
main{max-width:840px;margin:auto;padding:26px 24px 18px}.brand-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.wordmark{font:700 34px/1.1 var(--heading);color:var(--brand)}body[data-restaurant=waldauerin] .wordmark{font-size:40px}.brand-note{max-width:20ch;text-align:right;color:var(--muted);font-size:12px}h1,h2,h3,p{margin:0}h1{font-size:22px;line-height:1.2;font-weight:600;margin-bottom:25px}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button svg,.row-label>svg{width:24px;height:24px;flex:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.booking-panel button:focus-visible{outline-color:#fff}.booking-panel{background:var(--brand);color:var(--panel-text);border-radius:16px;padding:24px 32px}.guest-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:21px}.row-label{display:flex;align-items:center;gap:13px;text-align:left}.guest-row .row-label{font-size:14px;color:var(--panel-muted)}.guest-stepper{display:flex;align-items:center;gap:12px}.guest-stepper output{min-width:92px;text-align:center;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.round-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:none;padding:8px;border:1px solid #ffffff66;background:transparent;color:#fff;border-radius:50%}.round-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none}.round-button:disabled{opacity:.3}.round-button:hover:not(:disabled){background:#ffffff19}.date-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;color:inherit;padding:19px 0 0;border:0;border-top:1px solid #ffffff40}.date-caption{display:block;color:var(--panel-muted);font-size:12px;margin-bottom:2px}.date-toggle strong{font-size:18px;font-weight:500;line-height:1.3}.date-edit{display:flex;align-items:center;font-size:12px;gap:7px}.date-edit svg{width:17px;height:17px;transform:rotate(-90deg);transition:transform .22s ease-out}.date-toggle[aria-expanded=false] .date-edit svg{transform:rotate(90deg)}.calendar-panel{max-width:380px;margin:23px auto 0}.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.month-nav h2{font-size:17px;font-weight:600}.back svg{transform:rotate(180deg)}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekdays{text-align:center;color:var(--panel-muted);font-size:12px;margin-bottom:10px}.day{position:relative;width:100%;aspect-ratio:1;border-radius:50%;border:1px solid #ffffff70;background:transparent;color:#fff;padding:0;font-size:16px;font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1.1}.day:hover:not(:disabled){background:#ffffff22;border-color:#fff}.day:disabled{border-color:transparent;color:#c1c6bd;background:#ffffff09}.day.past{color:#aebba6;background:transparent}.day.today{border:2px solid #fff;color:#fff;background:#ffffff14;font-weight:700}.day.today small{font:9px var(--body);margin-top:3px}.day[aria-pressed=true]{color:var(--brand);background:#fff;border-color:#fff;font-weight:700}.day.today[aria-pressed=true]{color:var(--brand)}.day.loading{color:#bccbb1;border-color:transparent}.calendar-status{font-size:12px;text-align:center;color:var(--panel-muted);min-height:18px;margin-top:16px}.calendar-status:empty{display:none}.calendar-legend{display:flex;justify-content:center;gap:23px;margin-top:17px;font-size:11px;color:var(--panel-muted)}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.today-key{border:1.5px solid #fff}.closed-key{background:#b8c2ae;opacity:.65}.calendar-retry{display:block;border:0;border-bottom:1px solid #ffffff88;background:transparent;color:#fff;margin:10px auto 0;padding:4px;font-size:13px}.status{color:var(--muted);font-size:13px;margin:17px 3px}.status.error{color:#9c3022}.text-button{border:0;background:transparent;color:var(--accent);text-decoration:underline;padding:8px 0;margin-bottom:12px}.results{margin-top:26px}.results>h2{font-size:22px;line-height:1.3;font-weight:600}.results-intro{font-size:13px;color:var(--muted);margin:5px 0 19px}.area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.area-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .2s ease-out}.area-card.selected{border-color:var(--brand)}.area-photo{position:relative;margin:0}.area-photo img{display:block;width:100%;height:166px;object-fit:cover}.area-photo figcaption{position:absolute;bottom:8px;left:10px;color:white;background:#29331cdb;border-radius:4px;padding:3px 7px;font-size:10px}.area-body{padding:20px}.area-heading{display:flex;justify-content:space-between;align-items:start;gap:9px}.area-heading h3{font:700 25px/1.1 var(--heading);color:var(--brand)}body[data-restaurant=waldauerin] .area-heading h3{font-family:var(--body);font-size:21px;font-weight:600}.area-capacity{font-size:12px;color:var(--muted);margin:7px 0 16px}.availability-dot{display:inline-block;background:var(--brand);width:7px;height:7px;border-radius:50%;margin:8px 0 0;flex:none}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px;border:1px solid #bdc9b5;border-radius:8px;background:transparent;color:var(--ink);padding:8px 3px}.slot strong{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.slot small{font-size:10px;color:var(--muted);line-height:1.2;text-align:center}.slot:hover{border-color:var(--brand);background:#52753c0a}.slot[aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand)}.slot[aria-pressed=true] small{color:#fff}.more-times{width:100%;background:transparent;border:0;color:var(--brand);text-decoration:underline;text-underline-offset:3px;font-size:12px;margin-top:13px;padding:7px}.area-hints{margin-top:17px;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.6}.area-hints:empty{display:none}.notice+.notice{margin-top:12px}.notice p+p{margin-top:8px}.notice h4{margin:0 0 6px;font-size:12px}.notice ul{padding-left:18px;margin:8px 0}.notice a{color:var(--accent);text-decoration:underline}.slot-hints:not(:empty){margin-top:14px;font-size:12px;line-height:1.6;color:var(--ink)}.unavailable-title{font-size:17px!important;margin:28px 0 16px;color:var(--muted)}.unavailable-grid .area-card{background:#eeeee8;border-color:#d7d9d1}.unavailable-grid .area-photo img{filter:grayscale(1);opacity:.6;height:105px}.unavailable-grid h3{color:#6b7265}.unavailable-grid .area-body{padding:17px 20px}.unavailable-reason{font-size:13px;color:#646c5e}.unavailable-grid .area-capacity{margin-bottom:8px}.continue-bar{position:relative;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;padding:19px 0 14px;background:var(--paper);border-top:1px solid var(--line)}.selection{font-size:15px;font-weight:600}.selection-hint{font-size:12px;color:var(--muted);margin-top:4px}.action{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--accent);color:white;border:0;border-radius:10px;padding:15px 20px;min-width:185px;min-height:54px;font-weight:600}.action svg{width:17px;height:17px}.action:disabled{color:#7b8274;background:#e0e3d9}.action:hover:not(:disabled){filter:brightness(.94)}.checkout-note{font-size:11px;color:var(--muted);margin:1px 0 23px}.global-hints{font-size:12px;line-height:1.65;color:var(--muted)}.global-hints .notice+.notice{margin-top:13px}.group-link{display:inline-block;margin-top:18px;font-size:12px;color:var(--accent);text-underline-offset:3px}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:17px;margin-top:22px;color:var(--muted);font-size:11px}footer a{color:inherit;text-decoration:none}footer span a{font-weight:600}[hidden]{display:none!important}
@media(max-width:600px){main{padding:20px 16px 16px}.brand-header{margin-bottom:16px;gap:12px}.wordmark{font-size:30px}body[data-restaurant=waldauerin] .wordmark{font-size:35px}.brand-note{font-size:11px;max-width:15ch}.booking-panel{padding:23px 20px}h1{font-size:20px;margin-bottom:20px}.guest-row{align-items:flex-start;gap:10px}.guest-row .row-label{max-width:145px;font-size:12px;gap:8px}.row-label>svg{width:20px;height:20px}.guest-stepper{gap:7px}.guest-stepper output{min-width:76px;font-size:14px}.guest-stepper .round-button{width:31px;height:31px;padding:6px}.date-toggle strong{font-size:17px}.calendar-panel{margin-top:24px}.weekdays,.calendar-days{gap:6px}.day{font-size:15px}.calendar-legend{gap:17px}.area-grid{grid-template-columns:1fr;gap:18px}.area-photo img{height:170px}.area-body{padding:19px}.slots{grid-template-columns:repeat(4,minmax(0,1fr))}.slot{min-height:59px}.slot small{font-size:11px}.continue-bar{gap:12px;flex-wrap:wrap;padding-top:16px}.continue-bar>div{width:100%}.action{width:100%;justify-content:center;gap:12px;min-height:52px}.selection{font-size:14px}.selection-hint{margin-top:2px}.results>h2{font-size:21px}}
@media(max-width:360px){main{padding-left:10px;padding-right:10px}.booking-panel{padding-left:16px;padding-right:16px}.guest-row .row-label{font-size:11px;max-width:120px}.guest-stepper{gap:4px}.guest-stepper output{min-width:70px;font-size:13px}.weekdays,.calendar-days{gap:4px}.area-body{padding:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

body.show-choices .continue-bar{position:sticky}.area-grid:has(>.area-card:only-child){grid-template-columns:minmax(0,520px);justify-content:start}

.booking-panel .group-link{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:0 0 20px auto;padding:9px 13px;border:1px solid #ffffff66;border-radius:8px;color:var(--panel-text);font-size:12px;text-decoration:none}.booking-panel .group-link:hover{background:#ffffff19}.booking-panel .group-link:focus-visible{outline-color:#fff}.same-day-notice{margin-top:18px;padding:15px;border:1px solid #ffffff66;border-radius:8px;font-size:13px;line-height:1.6}.same-day-notice:focus{outline:2px solid white;outline-offset:3px}.same-day-notice .notice a{color:white}.same-day-notice .notice h4{font-size:14px}.area-minimum{color:var(--brand);font-size:12px;font-weight:600;margin:-7px 0 16px}.time-period+.time-period{margin-top:17px}.period-title{font:600 12px/1.3 var(--body);color:var(--muted);margin:0 0 7px}.hint-star{font-size:11px;margin-left:2px}.hint-key{font-size:11px;line-height:1.4;color:var(--muted);margin-top:17px}.slots .more-times{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-height:58px;margin:0;padding:5px 3px;border:1px dashed #bdc9b5;border-radius:8px;text-decoration:none;color:var(--brand)}.more-times strong{font-size:20px;line-height:1}.more-times small{font-size:10px;line-height:1.3}.more-times:hover{background:#52753c0a;border-color:var(--brand)}.slot-hints:not(:empty){padding-top:15px;border-top:1px solid var(--line)}

.booking-panel .group-link svg{width:16px;height:16px}.slots .more-times svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}

/* Shared, quiet selection surface for both restaurant identities. */
.booking-panel{background:transparent;color:var(--ink);border-radius:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.booking-panel .row-label,.date-caption,.weekdays,.calendar-legend,.calendar-status{color:var(--muted)}.booking-panel h1{color:var(--brand)}.booking-panel .round-button{color:var(--brand);border-color:var(--line);background:var(--card)}.booking-panel .round-button:hover:not(:disabled){background:var(--paper);border-color:var(--brand)}.booking-panel button:focus-visible,.booking-panel .group-link:focus-visible{outline-color:var(--brand)}.booking-panel .group-link{color:var(--brand);border-color:var(--line);background:var(--card)}.booking-panel .group-link:hover{background:var(--paper);border-color:var(--brand)}.date-toggle{border-color:var(--line)}.day{color:var(--ink);border-color:var(--line);background:var(--card)}.day:hover:not(:disabled){background:var(--paper);border-color:var(--brand)}.day:disabled,.day.past,.day.loading{color:#999e94;background:transparent;border-color:transparent}.day.today{color:var(--brand);border-color:var(--brand);background:var(--card)}.day[aria-pressed=true],.day.today[aria-pressed=true]{color:white;background:var(--brand);border-color:var(--brand)}.today-key{border-color:var(--brand)}.closed-key{background:#aeb5a7}.calendar-retry{color:var(--brand);border-color:var(--brand)}.same-day-notice{border-color:var(--line);background:var(--card)}.same-day-notice:focus{outline-color:var(--brand)}.same-day-notice .notice a{color:var(--brand)}
.hints-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(390px,100%);height:100%;max-width:100%;max-height:100dvh;padding:0;border:0;border-left:1px solid var(--line);background:var(--card);color:var(--ink);box-shadow:-8px 0 32px #0000001a}.hints-drawer[open]{display:flex;flex-direction:column}.hints-drawer::backdrop{background:#17231136}.hints-header{display:flex;align-items:start;gap:18px;padding:24px;border-bottom:1px solid var(--line)}.hints-header h2{font:600 21px/1.25 var(--body);color:var(--brand)}.hints-header p{font-size:12px;color:var(--muted);margin-top:8px}.hints-close{flex:none;margin-left:auto;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}.hints-close svg{width:18px;height:18px}.hints-close:hover{background:var(--paper)}.drawer-content{padding:24px;overflow-y:auto;min-height:0;font-size:13px;line-height:1.65}.drawer-footer{display:block;margin:0;padding:20px 24px;border-top:1px solid var(--line)}.drawer-footer .action{width:100%;justify-content:center}.drawer-footer p{font-size:11px;color:var(--muted);margin-top:10px}.drawer-content .notice h4{font-size:13px}.drawer-content .notice+.notice{margin-top:16px}
@media(max-width:600px){.booking-panel{padding:22px 0}.hints-drawer{width:100%}.hints-header,.drawer-content{padding:20px}.drawer-footer{padding:16px 20px}}

.hints-header,.drawer-footer{flex-shrink:0}.drawer-content{flex:1}.drawer-footer .action{font-size:15px}.drawer-footer #hints-status{color:#9c3022;font-size:13px;margin:0 0 12px}

.booking-panel .guest-row{padding-bottom:8px}.booking-panel .group-link{background:transparent;border:0;border-radius:0;padding:6px 0;margin:0 0 16px auto;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px;gap:5px}.booking-panel .group-link:hover{background:transparent;color:var(--brand)}.booking-panel .group-link svg{width:13px;height:13px}

.brand-logo{display:block;width:240px;max-width:65%;height:auto;object-fit:contain;object-position:left center}
body[data-restaurant=waldauerin] .brand-logo{width:244px}
@media(max-width:600px){.brand-logo{width:210px;max-width:70%}body[data-restaurant=waldauerin] .brand-logo{width:220px}}
.language-picker{flex:none;color:var(--brand)}.language-picker select{max-width:112px;min-height:44px;padding:8px 22px 8px 8px;font:inherit;font-size:13px;color:inherit;background:transparent;border:1px solid var(--line);border-radius:8px;cursor:pointer}.language-picker select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.language-picker select:disabled{opacity:.55;cursor:wait}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.translation-note{font-size:12px;font-style:italic;margin-bottom:8px;color:var(--muted)}

.booking-intro{font-size:13px;color:var(--muted);max-width:65ch;margin:-13px 0 24px}.day.closed{color:var(--muted);background:transparent;border-color:transparent}.day.closed:hover{border-color:var(--line)}#closed-day-notice p{margin-top:6px}body[data-restaurant=waldauerin] .area-photo img{object-position:center 68%}
.unavailable-grid .informational .area-photo img{height:166px;filter:saturate(.65);opacity:.85}
.telephone-note a{color:inherit;text-decoration:none}.telephone-note a:hover{text-decoration:underline}.telephone-note:focus{outline:2px solid var(--brand);outline-offset:4px}
