/* Aus site.css übernommen (Tischplan) */
.moment-head h2,.favorite-seat h2,.host-story h2,.trust-journey h2{font:600 clamp(3rem,5.7vw,5.7rem)/.94 var(--serif);letter-spacing:-.045em;margin:.4rem 0 1.2rem}
.favorite-seat{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2rem,7vw,7rem);align-items:center;background:#30322f;color:#fff;padding:clamp(4rem,8vw,8rem) max(1.2rem,calc((100vw - 1280px)/2))}
.favorite-seat p{color:#ece7df}
.seat-tabs{display:flex;gap:.5rem;margin:1.5rem 0}
.seat-tabs button{border:1px solid #ffffff55;border-radius:999px;background:transparent;color:#fff;padding:.7rem 1.2rem;font:inherit;cursor:pointer}
.seat-tabs button[aria-pressed="true"]{background:#ded4c5;color:#30322f;border-color:#ded4c5}
.seat-note{min-height:1.6em}
.mini-plan{position:relative;border:1px solid #ffffff35;border-radius:28px;background:linear-gradient(155deg,#4f554d,#3e413c);padding:3.1rem 1.4rem 1.2rem;box-shadow:inset 0 0 70px #0002}
.plan-water{position:absolute;top:1.1rem;left:1.4rem;text-transform:uppercase;letter-spacing:.16em;font-size:13px;color:#cbdccf}
.plan-stage{position:relative;min-height:460px;border:1px solid #ffffff1f;border-radius:16px;background:repeating-linear-gradient(0deg,transparent 0 48px,#ffffff08 49px 50px),repeating-linear-gradient(90deg,transparent 0 48px,#ffffff08 49px 50px)}
.mini-plan>small{display:block;margin-top:1rem;color:#d8d9d5}
@media(max-width:900px){.live-harbor,.moment-studio,.favorite-seat,.host-story,.trust-journey{grid-template-columns:1fr}
.plan-stage{min-height:420px}}
@media(max-width:580px){.favorite-seat{padding-block:4rem}
.plan-stage{min-height:340px}
.mini-plan{border-radius:18px;padding-inline:.8rem}}
.plan-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.plan-heading b{font:600 1.45rem var(--serif)}
.plan-heading span{color:#cbdccf;font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.real-floor-plan{min-height:500px;overflow:hidden;border:2px solid #aeb6b3;border-radius:10px;background:#f7f8f6;box-shadow:inset 0 0 0 7px #fff}
.floor-feature{position:absolute;z-index:1;display:grid;place-items:center;color:#5f6a66;font-size:13px;letter-spacing:.05em}
.floor-feature.room{background:#eef0ee;border:2px solid #aeb6b3}
.floor-feature.window{z-index:3;height:10px;border-left:3px solid #738b8c;border-right:3px solid #738b8c;background:#dce8e7;font-size:0}
.floor-feature.entrance{z-index:3;background:#fff;color:#596661;font-size:13px;text-transform:uppercase}
.floor-feature.terrace-outline{left:39%;right:3%;top:7%;bottom:9%;border:3px solid #aeb6b3;border-left:0;background:#eceeeb;clip-path:polygon(0 0,100% 0,100% 78%,72% 100%,0 100%)}
.floor-feature.house-wall{left:3%;top:61%;width:36%;height:8%;border-block:3px solid #8d9792;background:#d8dcd9;font-size:13px}
.real-table{position:absolute;z-index:5;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:34px;border:2px solid #637d84;border-radius:6px;background:#9cafb4;color:#182b30;box-shadow:0 2px 5px #263a3325}
.real-table.vertical{width:34px;height:54px}
.real-table.horizontal.seats-6,.real-table.horizontal.seats-8{width:72px}
.real-table.vertical.seats-6{height:72px}
.real-table.round{width:48px;height:48px;border-radius:50%}
.real-table.coffee-table{width:94px;height:50px;border-color:#8b6846;background:#eadbc6}
.real-table.bar-table{width:29%;height:23%;border:0;background:transparent;box-shadow:none;transform:translate(-50%,-50%);align-items:end;padding-bottom:.5rem}
.real-table b{font:700 .72rem var(--sans)}
.plan-chair{position:absolute;width:12px;height:9px;border:2px solid #536f76;border-radius:3px;background:#8fa5aa}
.plan-chair[data-side="top"]{left:var(--slot);top:-14px;transform:translateX(-50%)}
.plan-chair[data-side="bottom"]{left:var(--slot);bottom:-14px;transform:translateX(-50%)}
.plan-chair[data-side="left"]{top:var(--slot);left:-16px;transform:translateY(-50%)}
.plan-chair[data-side="right"]{top:var(--slot);right:-16px;transform:translateY(-50%)}
.plan-legend{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1rem;color:#d8d9d5;font-size:13px}
.plan-legend span{display:flex;align-items:center;gap:.35rem}
.plan-legend i{width:17px;height:12px;border:2px solid #637d84;border-radius:3px;background:#9cafb4}
.plan-legend i.chair-key{width:11px;height:8px;background:#8fa5aa}
@media(max-width:620px){.real-floor-plan{min-width:0;min-height:380px}
.floor-feature{font-size:13px}
.real-table{scale:.72}
.real-table.bar-table{scale:1}
.plan-heading{display:grid;gap:.1rem}
.plan-legend span:last-child{width:100%}}
@media(max-width:700px){.mini-plan{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.mini-plan .plan-heading,.mini-plan>.plan-water,.mini-plan>.plan-legend,.mini-plan>small{position:sticky;left:0;width:calc(100vw - 5rem);z-index:8}
.mini-plan .plan-stage,.mini-plan .real-floor-plan{width:920px;min-width:920px;min-height:560px}
.mini-plan .real-table{scale:1}
.mini-plan .real-table.bar-table{scale:1}
.mini-plan:after{content:"Raumplan seitlich wischen →";position:sticky;left:0;display:block;width:max-content;margin:.8rem 0 0;padding:.5rem .75rem;border:1px solid #ffffff30;border-radius:999px;color:#e5d7c5;font-size:13px;letter-spacing:.08em;text-transform:uppercase}}
.favorite-seat{grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 4vw, 4rem);}
.favorite-seat > *{min-width: 0;
  max-width: 100%;}
.favorite-seat h2{font-size: clamp(2rem, 3.6vw, 3.5rem);
  line-height: 1.08;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;}
@media (max-width: 900px){.favorite-seat{grid-template-columns: minmax(0, 1fr);}
.favorite-seat h2{font-size: clamp(1.5rem, 8vw, 3.5rem);}}
.favorite-seat{grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);}
.favorite-seat .seat-copy{width: 100%;
  max-width: 760px;
  margin-inline: auto;
  text-align: center;}
.favorite-seat .seat-copy > p:not(.eyebrow){max-width: 620px;
  margin-inline: auto;}
.favorite-seat .seat-tabs{justify-content: center;}
.favorite-seat .mini-plan{width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  padding: clamp(1rem, 2.2vw, 2rem);}
.favorite-seat .real-floor-plan{width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  aspect-ratio: 23 / 14;}
@media (max-width: 999px){.favorite-seat .mini-plan{overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;}
.favorite-seat .real-floor-plan{width: 920px; min-width: 920px;}
.favorite-seat .plan-heading,
  .favorite-seat .plan-legend{position: sticky;
    left: 0;
    width: 100%;}
.favorite-seat .mini-plan:after{content: "Raumplan seitlich wischen →";
    position: sticky;
    left: 0;
    display: block;
    width: fit-content;
    max-width: 100%;
    margin-top: .8rem;
    padding: .5rem .75rem;
    border: 1px solid #ffffff30;
    border-radius: 999px;
    color: #e5d7c5;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;}}
.story-copy h1, .favorite-seat h2, .gallery-intro h2, .page-cta h2,
.offer-lead h2, .inquiry-copy h2{overflow-wrap: anywhere; hyphens: auto;}
.real-table.coffee-table{width:112px;height:66px;padding:25px 0 5px;align-content:start;gap:1px}
.real-table.coffee-table b{line-height:1.3}
.real-table.coffee-table small{font:500 13px/1.2 var(--sans);color:#604a35}
.plan-sofa{position:absolute;left:8px;right:8px;top:5px;height:19px;border:2px solid #76583e;border-radius:7px 7px 3px 3px;background:linear-gradient(90deg,#a88362 0 31%,#76583e 31% 33%,#b89472 33% 65%,#76583e 65% 67%,#a88362 67%)}
.plan-coffee-chair{position:absolute;bottom:-16px;width:17px;height:13px;border:2px solid #536f76;border-radius:4px;background:#8fa5aa}
.plan-coffee-chair.chair-one{left:15px}
.plan-coffee-chair.chair-two{right:15px}

/* Tischplan in der Abend-Gestaltung (Reservierungsseite) */
html[data-abend] .ab-tischplan{max-width:1248px; margin:0 auto; padding:clamp(56px,8vw,112px) var(--gut,20px) clamp(40px,6vw,80px)}
html[data-abend] .ab-tischplan-head{display:grid; gap:14px; max-width:640px; margin-bottom:22px}
html[data-abend] .ab-tischplan-head h2{margin:0}
html[data-abend] .ab-tischplan-head p{margin:0; color:var(--muted)}
html[data-abend] .ab-tischplan .seat-disclosure{background:none!important; border:0!important; margin:0!important; padding:0!important}
html[data-abend] .ab-tischplan .seat-tabs{display:inline-flex; gap:6px; padding:5px; border-radius:999px; background:rgba(38,42,46,.07); margin:6px 0 12px}
html[data-abend] .ab-tischplan .seat-tabs button{min-height:46px; padding:0 22px; border-radius:999px; border:0; background:transparent; color:var(--ink); font:500 16px "DM Sans",system-ui,sans-serif; cursor:pointer}
html[data-abend] .ab-tischplan .seat-tabs button[aria-pressed="true"]{background:var(--ink); color:#F7F6F2}
html[data-abend] .ab-tischplan .seat-note{color:var(--muted); font-size:15px; margin:0 0 14px}
html[data-abend] .ab-tischplan .mini-plan{background:var(--card,#FBFAF6)!important; border:1px solid var(--line,rgba(38,42,46,.12))!important; border-radius:18px!important; padding:clamp(14px,2vw,24px)!important; box-shadow:0 30px 60px -44px rgba(40,30,20,.45)!important}
html[data-abend] .ab-tischplan .plan-heading b{font-family:"Playfair Display",Georgia,serif!important; color:var(--ink); font-weight:400}
html[data-abend] .ab-tischplan .plan-legend{color:var(--muted)!important}
html[data-abend] .ab-tischplan .real-floor-plan{border-color:#C9CFCB!important; box-shadow:inset 0 0 0 6px #fff!important}
@media (min-width:900px){
  html[data-abend] .ab-tischplan .real-floor-plan{width:100%; min-width:0; min-height:0; height:auto; aspect-ratio:23/14}
  html[data-abend] .ab-tischplan .mini-plan{overflow:visible}
  html[data-abend] .ab-tischplan .mini-plan:after{display:none}
  html[data-abend] .ab-tischplan .mini-plan .plan-heading,html[data-abend] .ab-tischplan .mini-plan>.plan-legend{position:static; width:auto}
}
@media (max-width:899px){
  html[data-abend] .ab-tischplan .mini-plan .plan-heading,html[data-abend] .ab-tischplan .mini-plan>.plan-legend{width:calc(100vw - 2*var(--gut,20px) - 30px)}
  html[data-abend] .ab-tischplan .mini-plan:after{border-radius:999px; background:var(--ink); color:#F7F6F2; font:500 14px "DM Sans",system-ui,sans-serif; border:0}
}
html[data-abend] .ab-tischplan .mini-plan:after{text-transform:none!important; letter-spacing:0!important}
html[data-abend] .ab-tischplan .ab-actions{margin-top:24px}
html[data-abend] .ab-tischplan .plan-heading span{color:var(--cognac,#874A23)!important; letter-spacing:.08em}
