@font-face{font-family:Oswald;font-weight:500;font-display:swap;src:url(/assets/fonts/oswald-500.woff2) format("woff2")}
@font-face{font-family:Oswald;font-weight:600;font-display:swap;src:url(/assets/fonts/oswald-600.woff2) format("woff2")}
@font-face{font-family:Oswald;font-weight:700;font-display:swap;src:url(/assets/fonts/oswald-700.woff2) format("woff2")}
@font-face{font-family:"Crimson Text";font-weight:400;font-display:swap;src:url(/assets/fonts/crimsontext-400.woff2) format("woff2")}
@font-face{font-family:"Crimson Text";font-weight:400;font-style:italic;font-display:swap;src:url(/assets/fonts/crimsontext-400-italic.woff2) format("woff2")}
@font-face{font-family:Jelytta;font-weight:400;font-display:swap;src:url(/assets/fonts/jelytta-400.woff2) format("woff2")}

:root{
  --paper:#FCFAF8; --white:#FFFFFF; --sage:#7E8F7C; --olive:#4B4935; --gold:#DCAF4F; --grey:#666666;
  --line:#E6E2D9; --line-strong:#CFC9BC; --sage-soft:#EEF1ED; --gold-ink:#2F2B1C; --warn:#9A4A2E;
  --display:Oswald,"Arial Narrow",Arial,sans-serif; --serif:"Crimson Text",Georgia,serif; --script:Jelytta,cursive;
  --gutter:20px; --max:620px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--paper)}
body{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--olive);background:var(--paper);-webkit-font-smoothing:antialiased;min-height:100vh}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--olive);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Kopfzeile */
.top{display:flex;align-items:center;gap:12px;max-width:var(--max);margin:0 auto;padding:14px var(--gutter);text-decoration:none}
.top .crest{width:30px;height:39px;background:var(--sage);-webkit-mask:url(/assets/crest.svg) center/contain no-repeat;mask:url(/assets/crest.svg) center/contain no-repeat;flex:none}
.top .name{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.06em;line-height:1.1}
.top .name span{display:block;font-weight:500;font-size:13px;letter-spacing:.02em;color:var(--grey)}
main{max-width:var(--max);margin:0 auto;padding:0 var(--gutter) 24px}
body.has-bar{padding-bottom:96px}

/* Übersicht wie eine Speisekarte */
.intro{padding:18px 0 8px}
.intro h1{font-family:var(--display);font-weight:700;font-size:clamp(34px,9vw,46px);line-height:1;text-transform:uppercase;letter-spacing:.01em}
.intro p{color:var(--grey);margin-top:10px;max-width:34em}
.feature{display:block;margin:22px 0 8px;text-decoration:none;border-radius:14px;overflow:hidden;background:var(--white);border:1px solid var(--line)}
.feature img{width:100%;aspect-ratio:16/9;object-fit:cover}
.feature .fbody{padding:16px 18px 18px}
.feature .when{font-family:var(--display);font-weight:500;font-size:15px;color:var(--sage)}
.feature h2{font-family:var(--display);font-weight:700;font-size:28px;text-transform:uppercase;line-height:1.05;margin:4px 0 6px}
.feature p{font-size:17px;color:var(--grey)}
.group{font-family:var(--display);font-weight:500;font-size:16px;color:var(--sage);margin-top:30px;padding-bottom:8px;border-bottom:1px solid var(--olive)}
.menu{list-style:none}
.menu li+li{border-top:1px solid var(--line)}
.menu a{display:block;padding:16px 0;text-decoration:none}
.menu .row{display:flex;align-items:baseline;gap:10px}
.menu .t{font-family:var(--display);font-weight:600;font-size:21px;text-transform:uppercase;letter-spacing:.01em;line-height:1.15}
.menu .dots{flex:1;border-bottom:2px dotted var(--line-strong);transform:translateY(-5px);min-width:16px}
.menu .p{font-family:var(--display);font-weight:500;font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
.menu .k{font-size:16px;color:var(--grey);margin-top:2px}
.menu .k b{font-weight:400;color:var(--sage)}
.menu a:hover .t{color:var(--sage)}
.aside{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:16px;color:var(--grey)}

/* Angebot */
.hero{margin:0 calc(var(--gutter) * -1)}
.hero img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media(min-width:660px){.hero{margin:0}.hero img{border-radius:14px}}
.back{display:inline-block;font-family:var(--display);font-weight:500;font-size:15px;color:var(--grey);text-decoration:none;padding:4px 0 12px}
.back:hover{color:var(--olive)}
.otitle{padding:20px 0 4px}
.otitle h1{font-family:var(--display);font-weight:700;font-size:clamp(32px,8.6vw,44px);line-height:1;text-transform:uppercase}
.otitle .meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px;font-family:var(--display);font-weight:500;font-size:16px}
.otitle .meta .price{color:var(--sage)}
.summary{margin-top:12px;font-size:18px}
details.more{margin-top:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
details.more summary{cursor:pointer;list-style:none;padding:12px 0;font-family:var(--display);font-weight:500;font-size:16px;display:flex;justify-content:space-between}
details.more summary::-webkit-details-marker{display:none}
details.more summary::after{content:"+";font-size:20px;line-height:1;color:var(--sage)}
details.more[open] summary::after{content:"–"}
details.more ul{list-style:none;padding:0 0 14px}
details.more li{padding:3px 0 3px 18px;position:relative;font-size:17px}
details.more li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--sage)}
details.more .inc{font-style:italic;color:var(--grey);padding:0 0 14px;font-size:17px}

.block{margin-top:30px}
.block h2{font-family:var(--display);font-weight:600;font-size:20px;line-height:1.2;margin-bottom:12px}
.block .hint{font-size:16px;color:var(--grey);margin:-6px 0 12px}

/* Personen */
.stepper{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.stepper:first-of-type{border-top:1px solid var(--line)}
.stepper .lbl{font-size:18px}
.stepper .lbl small{display:block;font-size:15px;color:var(--grey)}
.stepper .ctl{display:flex;align-items:center;gap:6px}
.stepper button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);background:var(--white);font-family:var(--display);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.stepper button:disabled{opacity:.35;cursor:default}
.stepper output{min-width:34px;text-align:center;font-family:var(--display);font-weight:600;font-size:22px;font-variant-numeric:tabular-nums}
.ages{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;padding:14px 0 4px}
.ages label{display:flex;flex-direction:column;gap:4px;font-size:15px;color:var(--grey)}
.ages select{appearance:none;-webkit-appearance:none;height:46px;padding:0 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234B4935' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;font-size:17px;color:var(--olive)}
.ages select.missing{border-color:var(--warn)}

/* Datum */
.days{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 10px;margin:0 calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter);scrollbar-width:none}
.days::-webkit-scrollbar{display:none}
.day{flex:none;scroll-snap-align:start;width:74px;padding:10px 0 9px;border-radius:12px;border:1px solid var(--line-strong);background:var(--white);text-align:center;cursor:pointer;line-height:1.1}
.day span{display:block}
.day .wd{font-family:var(--display);font-weight:500;font-size:14px;color:var(--grey)}
.day .dn{font-family:var(--display);font-weight:600;font-size:26px;font-variant-numeric:tabular-nums;margin:3px 0 2px}
.day .mo{font-size:14px;color:var(--grey)}
.day .tag{display:block;font-family:var(--display);font-weight:500;font-size:11px;color:var(--sage);margin-top:4px;min-height:13px}
.day[aria-pressed="true"]{background:var(--sage);border-color:var(--sage);color:var(--white)}
.day[aria-pressed="true"] .wd,.day[aria-pressed="true"] .mo,.day[aria-pressed="true"] .tag{color:var(--white)}
.day:disabled{background:transparent;border-style:dashed;cursor:default}
.day:disabled .dn,.day:disabled .wd,.day:disabled .mo{color:#A7A39A}
.otherdate{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--grey);margin-top:6px}
.otherdate input{height:40px;padding:0 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--white);font-size:16px}

/* Uhrzeit */
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.slot{height:58px;border-radius:12px;border:1px solid var(--line-strong);background:var(--white);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.slot b{font-family:var(--display);font-weight:600;font-size:20px;font-variant-numeric:tabular-nums}
.slot small{font-size:13px;color:var(--grey);margin-top:2px}
.slot[aria-pressed="true"]{background:var(--sage);border-color:var(--sage);color:var(--white)}
.slot[aria-pressed="true"] small{color:var(--white)}
.slot:disabled{background:transparent;border-style:dashed;cursor:default;color:#A7A39A}
.slot:disabled small{color:#A7A39A}
.empty{font-size:17px;color:var(--grey);padding:14px 16px;border:1px dashed var(--line-strong);border-radius:12px}
.empty a{color:var(--olive)}

/* Formular */
.field{display:block;margin-bottom:14px}
.field span{display:block;font-family:var(--display);font-weight:500;font-size:15px;margin-bottom:5px}
.field span em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--grey)}
.field input,.field textarea{width:100%;min-height:50px;padding:11px 14px;border:1px solid var(--line-strong);border-radius:10px;background:var(--white);font-size:18px}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-soft)}
.field.bad input{border-color:var(--warn)}
.checks{display:flex;flex-direction:column;gap:2px;margin:6px 0 10px}
.check{display:flex;gap:12px;align-items:flex-start;padding:9px 0;cursor:pointer;font-size:17px;line-height:1.4}
.check input{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;border:1.5px solid var(--line-strong);border-radius:6px;background:var(--white);margin-top:1px;display:grid;place-items:center;cursor:pointer}
.check input:checked{background:var(--sage);border-color:var(--sage)}
.check input:checked::after{content:"";width:11px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.check small{display:block;color:var(--grey);font-size:15px}
.recap{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--white);margin-top:6px}
.recap .what{font-family:var(--display);font-weight:600;font-size:18px;line-height:1.25}
.recap .what small{display:block;font-family:var(--serif);font-weight:400;font-size:16px;color:var(--grey);margin-top:2px}
.recap button{background:none;border:0;font-family:var(--display);font-weight:500;font-size:15px;text-decoration:underline;text-decoration-color:var(--sage);text-underline-offset:3px;cursor:pointer;white-space:nowrap}
.legal{font-size:14.5px;color:var(--grey);margin-top:12px}

.error{margin-top:16px;padding:12px 14px;border-radius:10px;background:#F7EDE8;color:var(--warn);font-size:17px}
.error:empty{display:none}

/* Leiste unten */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:rgba(252,250,248,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom))}
.bar .in{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:14px}
.bar .sum{flex:1;min-width:0;line-height:1.25}
.bar .sum b{display:block;font-family:var(--display);font-weight:600;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar .sum span{font-size:15.5px;color:var(--grey)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:40px;border:0;cursor:pointer;text-decoration:none;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:.03em;white-space:nowrap}
.btn.gold{background:var(--gold);color:var(--gold-ink)}
.btn.gold:hover{background:#E4BC62}
.btn.sage{background:var(--sage);color:var(--white)}
.btn.line{background:var(--white);color:var(--olive);border:1px solid var(--line-strong)}
.btn:disabled{opacity:.45;cursor:default}
.btn.busy{opacity:.7;pointer-events:none}

/* Bestätigung / Verwaltung */
.done{text-align:center;padding:26px 0 6px}
.done .script{font-family:var(--script);font-size:clamp(46px,13vw,68px);line-height:.95;color:var(--sage)}
.done h1{font-family:var(--display);font-weight:700;font-size:26px;text-transform:uppercase;margin-top:12px}
.done p{color:var(--grey);margin-top:8px;font-size:17px}
.done.cancelled .script{color:var(--grey)}
.ticket{margin-top:24px;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ticket .band{height:6px;background:var(--sage)}
.ticket dl{display:grid;grid-template-columns:auto 1fr;gap:0 18px;padding:6px 18px 8px}
.ticket dt,.ticket dd{padding:11px 0;border-top:1px solid var(--line)}
.ticket dt:first-of-type,.ticket dd:first-of-type{border-top:0}
.ticket dt{font-family:var(--display);font-weight:500;font-size:15px;color:var(--grey)}
.ticket dd{font-size:17.5px;line-height:1.4}
.ticket dd.code{font-family:var(--display);font-weight:600;letter-spacing:.14em}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.actions .wide{grid-column:1/-1}
.notes{margin-top:26px}
.notes h2{font-family:var(--display);font-weight:600;font-size:18px;margin-bottom:8px}
.notes li{list-style:none;padding:4px 0 4px 18px;position:relative;font-size:17px}
.notes li::before{content:"";position:absolute;left:2px;top:.8em;width:6px;height:6px;border-radius:50%;background:var(--sage)}
.status{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:500;font-size:15px;margin-top:10px}
.status i{width:8px;height:8px;border-radius:50%;background:var(--sage)}
.status.off i{background:var(--grey)}
.confirmbox{margin-top:20px;padding:18px;border-radius:14px;border:1px solid var(--sage);background:var(--sage-soft);text-align:center}
.confirmbox p{margin-bottom:12px}
.confirmbox .btn{width:100%}

.sheet{position:fixed;inset:0;z-index:40;display:none;align-items:flex-end;justify-content:center;background:rgba(40,40,30,.45)}
.sheet.open{display:flex}
.sheet .panel{width:100%;max-width:var(--max);background:var(--paper);border-radius:18px 18px 0 0;padding:22px var(--gutter) calc(22px + env(safe-area-inset-bottom));max-height:92vh;overflow:auto}
.sheet h2{font-family:var(--display);font-weight:700;font-size:22px;text-transform:uppercase;margin-bottom:6px}
.sheet p{color:var(--grey);font-size:17px;margin-bottom:14px}
.sheet .row{display:flex;gap:10px;margin-top:8px}
.sheet .row .btn{flex:1}
@media(min-width:660px){.sheet{align-items:center}.sheet .panel{border-radius:18px}}

.loading{padding:60px 0;text-align:center;color:var(--grey)}
.foot{max-width:var(--max);margin:36px auto 0;padding:18px var(--gutter);border-top:1px solid var(--line);font-size:15px;color:var(--grey)}
.foot a{color:var(--grey)}

@media(prefers-reduced-motion:no-preference){
  .done .script{animation:write 1.1s cubic-bezier(.3,.7,.2,1) both}
  @keyframes write{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
  .slot,.day,.stepper button{transition:background .15s,border-color .15s,color .15s}
}

/* Reservierungsseite /r/… — Stil der Restaurant-Startseite und der Bestätigungsmail */
body.guest{--m-beige:#FBF6E8;--m-beige2:#F2EAD6;--m-sage:#7A8C72;--m-green:#586B51;--m-greenD:#46553F;--m-forest:#3D4938;
  --m-gold:#E5AD35;--m-ink:#44392B;--m-muted:#8C8573;--m-line:#E6DDC7;--m-cream:#EFE7D4;--m-soft:#D6DDCB;
  --paper:#FBF6E8;--olive:#44392B;--sage:#586B51;--gold:#E5AD35;--gold-ink:#3A2E08;--grey:#8C8573;
  --line:#E6DDC7;--line-strong:#D9CDB0;--sage-soft:#EEF1EA;
  background:var(--m-beige);color:var(--m-ink)}
html:has(body.guest){background:#FBF6E8}
body.manage .top,body.list .top{display:none}
body.manage main{padding-bottom:8px}
.m-kicker{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--m-sage)}
.m-hero{margin:0 calc(50% - 50vw);padding:44px var(--gutter) 40px;text-align:center;background:radial-gradient(125% 82% at 50% 0%,#FEFCF4 0%,#FBF6E8 52%,#F1E8D3 100%)}
.m-crest{display:block;width:72px;height:94px;margin:0 auto 16px;background:#728E73;-webkit-mask:url(/assets/crest.svg) center/contain no-repeat;mask:url(/assets/crest.svg) center/contain no-repeat}
.m-hero h1{font-family:var(--display);font-weight:700;font-size:clamp(32px,8.5vw,44px);line-height:1;text-transform:uppercase;letter-spacing:.01em;color:var(--m-green);margin:16px 0 12px}
.m-hero p{font-size:18px;max-width:30em;margin:0 auto}
.m-ticket{position:relative;margin-top:-6px;background:#fff;border:1px solid var(--m-line);border-top:4px solid var(--m-gold);border-radius:18px;padding:22px 22px 8px}
.m-when{font-family:var(--display);font-weight:700;font-size:clamp(26px,7vw,32px);line-height:1.1;text-transform:uppercase;color:var(--m-green);margin-top:6px}
.m-when span{display:block}
.m-ticket.is-off .m-when{text-decoration:line-through;text-decoration-thickness:2px;color:var(--m-muted)}
.m-status{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--m-green);background:#EEF1EA;border-radius:30px;padding:5px 12px}
.m-status i{width:8px;height:8px;border-radius:50%;background:var(--m-green)}
.m-status.off{color:var(--m-muted);background:var(--m-beige2)}
.m-status.off i{background:var(--m-muted)}
.m-ticket dl{display:grid;grid-template-columns:auto 1fr;gap:0 16px;margin-top:16px;border-top:2px dashed var(--m-line)}
.m-ticket dt,.m-ticket dd{padding:11px 0;border-top:1px solid var(--m-line)}
.m-ticket dt:first-of-type,.m-ticket dd:first-of-type{border-top:0}
.m-ticket dt{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--m-muted);padding-top:14px}
.m-ticket dd{font-size:17px;line-height:1.45}
.m-ticket .m-code{font-family:var(--display);font-weight:600;letter-spacing:.2em}
.m-action{margin-top:18px;background:var(--m-greenD);color:var(--m-cream);border-radius:20px;padding:32px 20px 26px;text-align:center}
.m-script{font-family:var(--script);font-size:clamp(27px,7.4vw,44px);white-space:nowrap;line-height:.9;color:var(--m-gold)}
.m-action h2{font-family:var(--display);font-weight:700;font-size:clamp(22px,6vw,26px);letter-spacing:.03em;text-transform:uppercase;margin:8px 0 6px}
.m-action>p{color:var(--m-soft);font-size:17px;margin-bottom:18px}
.m-gold{display:block;width:100%;border:0;cursor:pointer;background:var(--m-gold);color:#3A2E08;font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;padding:17px 12px;border-radius:44px;margin-bottom:12px}
.m-gold:hover{background:#f6c260}
.m-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.m-pill{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:60px;padding:11px 8px;border-radius:44px;border:1px solid rgba(239,231,212,.45);background:transparent;color:var(--m-cream);text-decoration:none;cursor:pointer;text-align:center}
.m-pill b{font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.m-pill span{font-size:14px;color:var(--m-soft)}
.m-pill:hover{background:rgba(239,231,212,.08)}
.m-pill.wide{width:100%;margin-top:10px}
.m-grid.light .m-pill{background:var(--m-beige2);border-color:var(--m-line);color:var(--m-ink)}
.m-grid.light .m-pill span{color:var(--m-muted)}
.m-grid.light .m-pill:hover{background:#ECE2CA}
.m-small{color:var(--m-soft);font-size:16px;margin-top:12px}
.m-small a{color:var(--m-cream)}
#cbox p{color:var(--m-cream);font-size:18px;margin-bottom:12px}
.m-action .error{text-align:left}
.m-card{margin-top:14px;background:#fff;border:1px solid var(--m-line);border-radius:18px;padding:22px 22px 18px}
.m-card h2{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:.02em;text-transform:uppercase;color:var(--m-green);margin:4px 0 10px}
.m-card p{font-size:17px;margin-bottom:14px}
.m-card p a{color:var(--m-ink);text-decoration-color:var(--m-line)}
.m-card li{list-style:none;position:relative;padding:3px 0 3px 18px;font-size:17px}
.m-card li::before{content:"";position:absolute;left:2px;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--m-gold)}
body.guest .foot{max-width:none;margin:36px 0 0;border:0;background:var(--m-forest);color:#B4BDA9;text-align:center;padding:38px var(--gutter) 34px}
body.guest .foot a{color:var(--m-gold)}
body.guest .foot::before{content:"";display:block;width:52px;height:68px;margin:0 auto 14px;background:#F3ECD6;-webkit-mask:url(/assets/crest.svg) center/contain no-repeat;mask:url(/assets/crest.svg) center/contain no-repeat}
body.guest .foot::after{content:"Euer Gut Hügle Team";display:block;font-family:var(--script);font-size:30px;color:var(--m-gold);margin-top:14px}
body.guest .sheet .panel{background:var(--m-beige)}

/* Buchung /buchen — gleicher Stil wie die Reservierungsseite */
body.guest .top{max-width:var(--max)}
body.guest .top .crest{background:#728E73}
body.guest .top .name{color:var(--m-green);letter-spacing:.14em;text-transform:uppercase}
body.guest .top .name span{letter-spacing:.04em;text-transform:none;color:var(--m-muted)}
body.guest .back{font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--m-sage)}
body.guest .back::before{content:"← "}
body.guest .back:hover{color:var(--m-green)}
body.guest .m-hero+.feature,body.guest .m-hero+.g-card{margin-top:-6px}
body.guest .feature{position:relative;border:1px solid var(--m-line);border-top:4px solid var(--m-gold);border-radius:18px;margin:18px 0 0}
body.guest .feature .fbody{padding:18px 22px 22px}
body.guest .feature .when{font-family:var(--display);font-weight:600;font-size:15px;color:var(--m-green);margin-top:6px}
body.guest .feature h2{color:var(--m-green);font-size:30px}
body.guest .feature p{color:var(--m-ink)}
.g-card{margin-top:14px;background:#fff;border:1px solid var(--m-line);border-radius:18px;padding:22px 22px 8px}
body.guest .group{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:.02em;text-transform:uppercase;color:var(--m-green);margin:4px 0 4px;padding:0;border:0}
body.guest .menu .t{color:var(--m-ink)}
body.guest .menu a:hover .t{color:var(--m-green)}
body.guest .menu .k b{color:var(--m-green);font-weight:600}
body.guest .aside{border:0;text-align:center;color:var(--m-muted);margin-top:22px}
body.guest .aside a{color:var(--m-green)}
body.guest .hero img{border-radius:18px}
@media(max-width:659px){body.guest .hero img{border-radius:0}}
body.guest .otitle h1{color:var(--m-green);margin-top:6px}
body.guest .otitle .meta{color:var(--m-ink)}
body.guest .otitle .meta .price{color:var(--m-green);font-weight:600}
body.guest details.more summary{font-family:var(--display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:14px;color:var(--m-green)}
body.guest details.more li::before,body.guest .notes li::before{background:var(--m-gold)}
body.guest .block{margin-top:16px;background:#fff;border:1px solid var(--m-line);border-radius:18px;padding:20px 20px 18px}
body.guest .block h2{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.02em;text-transform:uppercase;color:var(--m-green);margin:4px 0 14px}
body.guest .block .days{margin:0 -20px;padding-left:20px;padding-right:20px}
body.guest .stepper button{border-color:var(--m-line);background:var(--m-beige2);color:var(--m-ink)}
body.guest .stepper button:not(:disabled):hover{background:#ECE2CA}
body.guest .day,body.guest .slot{border-color:var(--m-line);background:var(--m-beige)}
body.guest .day:not(:disabled):hover,body.guest .slot:not(:disabled):hover{border-color:var(--m-sage)}
body.guest .day[aria-pressed="true"],body.guest .slot[aria-pressed="true"]{background:var(--m-greenD);border-color:var(--m-greenD);color:var(--m-cream)}
body.guest .day[aria-pressed="true"] .wd,body.guest .day[aria-pressed="true"] .mo,body.guest .day[aria-pressed="true"] .tag,body.guest .slot[aria-pressed="true"] small{color:var(--m-soft)}
body.guest .day .tag{color:var(--m-green)}
body.guest .day:disabled,body.guest .slot:disabled{background:transparent}
body.guest .empty{border-color:var(--m-line);background:var(--m-beige)}
body.guest .otherdate input,body.guest .ages select,body.guest .field input,body.guest .field textarea{border-color:var(--m-line);background-color:var(--m-beige)}
body.guest .field input:focus,body.guest .field textarea:focus{border-color:var(--m-green);background-color:#fff}
body.guest .field span{font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--m-muted)}
body.guest .field span em{letter-spacing:0;text-transform:none}
body.guest .check input{border-color:var(--m-line)}
body.guest .check input:checked{background:var(--m-green);border-color:var(--m-green)}
body.guest .recap{border:1px solid var(--m-line);border-top:4px solid var(--m-gold);border-radius:18px;padding:18px 20px}
body.guest .recap .what{color:var(--m-green);font-size:22px;text-transform:uppercase}
body.guest .recap .what .m-kicker{display:block;margin-bottom:4px}
body.guest .recap .what small{text-transform:none;color:var(--m-ink)}
body.guest .recap button{color:var(--m-green);text-decoration-color:var(--m-gold)}
body.guest .bar{background:rgba(70,85,63,.97);border-top:0}
body.guest .bar .sum b{color:var(--m-cream)}
body.guest .bar .sum span{color:var(--m-soft)}
body.guest .bar .btn{background:var(--m-gold);color:#3A2E08;letter-spacing:.08em;text-transform:uppercase;font-size:15px;padding:0 20px;flex:none}
@media(max-width:420px){body.guest .bar .btn{font-size:14px;padding:0 16px;letter-spacing:.05em}body.guest .bar .sum b{font-size:16px}body.guest .bar .sum span{font-size:14.5px}}
body.guest .bar .btn:disabled{opacity:.4}
body.guest .btn.sage{background:var(--m-green);color:var(--m-cream)}
body.guest .btn.line{background:var(--m-beige2);border-color:var(--m-line);color:var(--m-ink)}
/* Tagesleiste: Pfeile neben der Überschrift, weiche Ränder */
.days-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.days-navs{display:flex;gap:8px;flex:none;margin-top:-10px}
.days-navs[hidden]{display:none}
.days-nav{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);background:var(--white);color:var(--olive);font-family:var(--display);font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer;padding-bottom:3px}
.days-nav:disabled{opacity:.35;cursor:default}
body.guest .days-nav{border-color:var(--m-line);background:var(--m-beige2);color:var(--m-green)}
body.guest .days-nav:not(:disabled):hover{background:#ECE2CA}
.days-wrap{position:relative}
body.guest .block .days{scroll-snap-type:none}
.days-wrap::before,.days-wrap::after{content:"";position:absolute;top:0;bottom:10px;width:36px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:1}
.days-wrap::before{left:-20px;background:linear-gradient(90deg,#fff 20%,rgba(255,255,255,0))}
.days-wrap::after{right:-20px;background:linear-gradient(270deg,#fff 20%,rgba(255,255,255,0))}
.days-wrap.fade-l::before,.days-wrap.fade-r::after{opacity:1}
.days{position:relative}
/* Im Website-Widget (iframe) */
body.embed .top,body.embed .foot{display:none}
body.embed main{padding-top:0}
body.embed .m-hero{padding:34px 64px 30px}
body.embed .m-hero .m-crest{width:54px;height:70px;margin-bottom:12px}
body.embed .back{margin-top:14px;margin-right:56px}
body.embed .hero{margin-top:0}
body.embed .bar{padding-left:16px;padding-right:16px}
html:has(body.guest),body.guest{overflow-x:clip}
/* Übersicht /buchen: Angebote als Kacheln */
.g-sec{margin-top:22px}
body.guest .m-hero+.g-sec{margin-top:6px}
.g-sec .group{margin-bottom:12px!important}
.tiles{list-style:none;display:grid;gap:12px}
.tiles li{min-width:0}
.tile{position:relative;display:flex;align-items:stretch;gap:14px;height:100%;padding:12px 14px 12px 12px;background:#fff;border:1px solid var(--m-line);border-radius:18px;text-decoration:none;color:var(--m-ink);transition:border-color .15s,box-shadow .15s,transform .15s}
.tile:hover{border-color:var(--m-gold);box-shadow:0 12px 26px -18px rgba(80,70,40,.55);transform:translateY(-1px)}
.tile img{flex:none;width:84px;height:84px;object-fit:cover;border-radius:12px;align-self:center}
.tile .tb{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;padding-right:4px}
.tile .tt{font-family:var(--display);font-weight:700;font-size:19px;line-height:1.1;text-transform:uppercase;letter-spacing:.01em;color:var(--m-green)}
.tile .tw{font-size:15.5px;line-height:1.3;color:var(--m-muted)}
.tile .tc{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.chip{display:inline-block;max-width:100%;font-size:13.5px;line-height:1.3;padding:4px 10px;border-radius:14px;background:var(--m-beige2);color:var(--m-ink)}
.chip b{font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--m-green);margin-right:3px}
.tile .tp{flex:none;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right;padding-right:26px}
.tile .tp b{font-family:var(--display);font-weight:700;font-size:22px;line-height:1;color:var(--m-ink);font-variant-numeric:tabular-nums}
.tile .tp b small{font-size:15px}
.tile .tp b.nk{font-size:15px;line-height:1.15;text-transform:uppercase;letter-spacing:.04em;color:var(--m-muted)}
.tile .tp span{font-size:13px;color:var(--m-muted);margin-top:3px;white-space:nowrap}
.tile .tgo{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--m-gold);color:#3A2E08;display:grid;place-items:center;font-family:var(--display);font-size:17px;line-height:1;padding-bottom:2px}
@media(max-width:400px){.tile{gap:11px;padding:10px 12px 10px 10px}.tile img{width:68px;height:68px}.tile .tt{font-size:17px}.tile .tp b{font-size:19px}}
