body.home-v61{
  min-height:100svh;
  overflow:hidden;
  color:#f7f8ff;
  background:
    radial-gradient(circle at 18% 18%,rgba(117,232,255,.22),transparent 27%),
    radial-gradient(circle at 76% 18%,rgba(152,120,255,.22),transparent 29%),
    radial-gradient(circle at 72% 78%,rgba(255,173,94,.13),transparent 25%),
    linear-gradient(135deg,#050714,#0c1227 48%,#050714);
}
.showroom{
  height:100svh;
  padding:22px;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) minmax(170px,22svh) auto;
  gap:14px;
}
.showroom-top{
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(7,10,24,.62);
  border-radius:26px;
  padding:10px 12px;
  backdrop-filter:blur(22px);
  box-shadow:0 18px 70px rgba(0,0,0,.28);
}
.brand-lockup{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;font-weight:950;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:#75e8ff}
.brand-lockup span{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#75e8ff,#9878ff);box-shadow:0 0 22px rgba(117,232,255,.7)}
.showroom-top nav{display:flex;gap:4px;margin-left:auto}
.showroom-top nav a{padding:9px 11px;border-radius:999px;color:rgba(255,255,255,.68);font-size:13px;font-weight:850}
.showroom-top nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.top-request{padding:10px 13px;border-radius:999px;background:#fff;color:#07101a;font-weight:950;font-size:13px}
.showroom-hero{
  position:relative;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:38px;
  background:
    linear-gradient(90deg,rgba(5,7,20,.94) 0%,rgba(5,7,20,.70) 38%,rgba(5,7,20,.26) 67%,rgba(5,7,20,.84) 100%),
    url("../media/la-tavola-hero-fast.webp") center/cover no-repeat;
  box-shadow:0 30px 110px rgba(0,0,0,.40);
}
.showroom-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,transparent 0 56%,rgba(117,232,255,.12) 57%,transparent 62%),
    radial-gradient(circle at 74% 36%,rgba(117,232,255,.17),transparent 22%);
  pointer-events:none;
}
.hero-copy{
  position:absolute;
  left:34px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:min(760px,46vw);
}
.eyebrow{margin:0 0 13px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:950;color:#75e8ff}
.hero-copy h1{
  margin:0;
  font-size:clamp(46px,5.1vw,82px);
  line-height:.88;
  letter-spacing:-.075em;
  max-width:11.8ch;
}
.lead{margin:18px 0 0;max-width:52ch;color:rgba(247,248,255,.76);font-size:17px;line-height:1.55}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.main-cta,.ghost-cta{
  border-radius:999px;
  padding:15px 18px;
  font-weight:950;
  text-align:center;
}
.main-cta{background:linear-gradient(135deg,#75e8ff,#9878ff);color:#06101a;box-shadow:0 20px 70px rgba(117,232,255,.24)}
.ghost-cta{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.14)}
.hero-device{
  position:absolute;
  right:34px;
  top:50%;
  transform:translateY(-50%) rotate(-2deg);
  z-index:2;
  width:min(520px,34vw);
  aspect-ratio:1.05/.72;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(8,11,26,.72);
  box-shadow:0 40px 120px rgba(0,0,0,.48);
  backdrop-filter:blur(18px);
  overflow:hidden;
}
.device-toolbar{height:44px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.26)}
.device-toolbar span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35)}
.device-toolbar b{margin-left:auto;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.62)}
.device-main{position:absolute;left:14px;right:14px;top:58px;bottom:14px;display:grid;grid-template-columns:1.3fr .9fr;gap:12px}
.preview-photo{border-radius:24px;background:center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.restaurant-preview{background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.22)),url("../media/la-tavola-hero-fast.webp")}
.preview-copy{border-radius:24px;background:rgba(255,255,255,.08);padding:18px;display:grid;align-content:end}
.preview-copy small{color:#75e8ff;text-transform:uppercase;letter-spacing:.14em;font-weight:950}
.preview-copy strong{font-size:24px;line-height:1.05;margin-top:8px}
.world-wall{
  display:grid;
  grid-template-columns:1.35fr repeat(4,1fr);
  gap:12px;
  min-height:0;
}
.world-tile{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.12);
  padding:18px;
  color:#fff;
  display:grid;
  align-content:end;
  min-height:0;
  box-shadow:0 22px 80px rgba(0,0,0,.32);
  transition:transform .22s ease, filter .22s ease;
}
.world-tile:hover{transform:translateY(-4px);filter:saturate(1.08) brightness(1.08)}
.world-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72));z-index:0}
.world-tile>*{position:relative;z-index:1}
.world-tile.big strong{font-size:32px}
.world-tile strong{font-size:24px;line-height:.95}
.world-tile em{font-style:normal;color:rgba(255,255,255,.72);font-size:12px;margin-top:7px}
.tile-tag{position:absolute;top:14px;left:14px;padding:7px 9px;border-radius:999px;background:rgba(0,0,0,.42);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.restaurant-tile{background:url("../media/la-tavola-hero-fast.webp") center/cover no-repeat}
.handwerk-tile{background:url("../media/handwerk-split.webp") center/cover no-repeat}
.werkstatt-tile{background:url("../media/werkstatt-bay.webp") center/cover no-repeat}
.beauty-tile{background:url("../media/beauty-portrait.webp") center/cover no-repeat}
.unterkunft-tile{background:url("../media/unterkunft-exterior.webp") center/cover no-repeat}
.showroom-bottom{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(7,10,24,.62);
  border-radius:26px;
  padding:13px 16px;
  backdrop-filter:blur(22px);
  color:rgba(255,255,255,.74);
}
.showroom-bottom b{color:#fff}
.showroom-bottom a{border-radius:999px;background:rgba(117,232,255,.14);color:#75e8ff;border:1px solid rgba(117,232,255,.22);padding:12px 14px;font-weight:950;white-space:nowrap}
@media(max-width:1150px){
  body.home-v61{overflow:auto}
  .showroom{height:auto;min-height:100svh;display:block;padding:14px}
  .showroom-top{position:sticky;top:10px;z-index:5}
  .showroom-top nav{display:none}
  .showroom-hero{min-height:760px;margin-top:14px}
  .hero-copy{left:22px;right:22px;top:52%;width:auto;max-width:680px}
  .hero-device{right:22px;top:22px;transform:none;width:min(520px,calc(100% - 44px));height:280px}
  .world-wall{grid-template-columns:1fr 1fr;margin-top:14px}
  .world-tile{min-height:220px}
  .showroom-bottom{margin-top:14px;display:grid}
}
@media(max-width:700px){
  .hero-copy h1{font-size:50px;max-width:11ch}
  .hero-device{display:none}
  .showroom-hero{min-height:680px}
  .world-wall{grid-template-columns:1fr}
  .showroom-bottom a{width:max-content}
}


/* v6.4: deutlich stärkere Button-/Aktionsreaktionen */
button,a{ -webkit-tap-highlight-color: transparent; }
.restaurant-v61 button,
.restaurant-v61 .restaurant-actions a,
.restaurant-v61 .contact-strip a,
.restaurant-v61 .restaurant-topbar nav a,
.restaurant-v61 .reserve-submit,
.home-v61 .main-cta,
.home-v61 .ghost-cta,
.home-v61 .top-request,
.home-v61 .showroom-bottom a,
.home-v61 .world-tile{
  position:relative;
  isolation:isolate;
}
.restaurant-v61 button::after,
.restaurant-v61 .restaurant-actions a::after,
.restaurant-v61 .contact-strip a::after,
.restaurant-v61 .reserve-submit::after,
.home-v61 .main-cta::after,
.home-v61 .ghost-cta::after,
.home-v61 .top-request::after,
.home-v61 .showroom-bottom a::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:inherit;
  opacity:0;
  pointer-events:none;
  background:radial-gradient(circle,rgba(255,225,168,.62),transparent 62%);
  filter:blur(10px);
  z-index:-1;
  transition:.18s ease;
}
.restaurant-v61 button:hover::after,
.restaurant-v61 .restaurant-actions a:hover::after,
.restaurant-v61 .contact-strip a:hover::after,
.restaurant-v61 .reserve-submit:hover::after,
.home-v61 .main-cta:hover::after,
.home-v61 .ghost-cta:hover::after,
.home-v61 .top-request:hover::after,
.home-v61 .showroom-bottom a:hover::after{
  opacity:1;
}
.restaurant-v61 button.mega-click,
.restaurant-v61 .restaurant-actions a.mega-click,
.restaurant-v61 .contact-strip a.mega-click,
.home-v61 .main-cta.mega-click,
.home-v61 .ghost-cta.mega-click,
.home-v61 .top-request.mega-click,
.home-v61 .showroom-bottom a.mega-click,
.home-v61 .world-tile.mega-click{
  animation:megaButtonHit .72s cubic-bezier(.2,1.5,.3,1);
}
@keyframes megaButtonHit{
  0%{transform:scale(1);box-shadow:0 0 0 rgba(255,225,168,0)}
  35%{transform:scale(1.085);box-shadow:0 0 0 8px rgba(255,225,168,.22),0 0 44px rgba(255,225,168,.42),0 0 90px rgba(117,232,255,.24)}
  70%{transform:scale(.985)}
  100%{transform:scale(1)}
}
.ripple-dot{
  position:absolute;
  width:18px;
  height:18px;
  margin-left:-9px;
  margin-top:-9px;
  border-radius:999px;
  pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.96) 0 12%,rgba(255,225,168,.72) 13% 36%,rgba(117,232,255,.38) 37%,transparent 72%);
  animation:rippleBlast .68s ease-out forwards;
  z-index:5;
}
@keyframes rippleBlast{
  from{transform:scale(.2);opacity:1}
  to{transform:scale(15);opacity:0}
}
.table-picker button.active,
.menu-tabs button.active{
  transform:translateY(-2px) scale(1.035);
  box-shadow:0 0 0 4px rgba(255,225,168,.16),0 0 34px rgba(255,225,168,.38),inset 0 0 0 1px rgba(255,255,255,.35);
}
.table-picker button.just-selected,
.menu-tabs button.just-selected{
  animation:activeExplosion .95s ease;
}
@keyframes activeExplosion{
  0%{filter:brightness(1);box-shadow:0 0 0 rgba(255,225,168,0)}
  22%{filter:brightness(1.45);box-shadow:0 0 0 9px rgba(255,225,168,.28),0 0 60px rgba(255,225,168,.62)}
  60%{filter:brightness(1.1)}
  100%{filter:brightness(1)}
}
.reservation-widget.pulse,
.menu-panel.pulse{
  animation:restaurantPulseXL 1.25s ease;
}
@keyframes restaurantPulseXL{
  0%{outline:0 solid rgba(255,225,168,0);filter:brightness(1)}
  28%{outline:7px solid rgba(255,225,168,.25);filter:brightness(1.25);box-shadow:0 0 70px rgba(255,225,168,.32),0 24px 90px rgba(0,0,0,.44)}
  62%{outline:3px solid rgba(117,232,255,.22)}
  100%{outline:0 solid rgba(255,225,168,0);filter:brightness(1)}
}
.restaurant-toast{
  font-size:14px;
}
.restaurant-toast.show{
  animation:toastPopXL .55s cubic-bezier(.2,1.5,.3,1);
  box-shadow:0 0 0 5px rgba(255,225,168,.16),0 28px 90px rgba(0,0,0,.46),0 0 60px rgba(255,225,168,.22);
}
@keyframes toastPopXL{
  0%{transform:translateY(26px) scale(.86);opacity:0}
  55%{transform:translateY(-4px) scale(1.05);opacity:1}
  100%{transform:translateY(0) scale(1);opacity:1}
}
.modal-card{
  animation:modalPopXL .45s cubic-bezier(.2,1.4,.3,1);
}
@keyframes modalPopXL{
  from{transform:scale(.88) translateY(22px);opacity:0}
  to{transform:scale(1) translateY(0);opacity:1}
}


/* v6.5/v7 rule: Der Zielbereich leuchtet, nicht der Button selbst */
.restaurant-v61 button.mega-click,
.restaurant-v61 .restaurant-actions a.mega-click,
.restaurant-v61 .contact-strip a.mega-click,
.home-v61 .main-cta.mega-click,
.home-v61 .ghost-cta.mega-click,
.home-v61 .top-request.mega-click,
.home-v61 .showroom-bottom a.mega-click,
.home-v61 .world-tile.mega-click{
  animation:buttonTapSubtle .28s ease !important;
  box-shadow:none !important;
}
@keyframes buttonTapSubtle{
  0%{transform:scale(1)}
  45%{transform:scale(.975)}
  100%{transform:scale(1)}
}
.restaurant-v61 button::after,
.restaurant-v61 .restaurant-actions a::after,
.restaurant-v61 .contact-strip a::after,
.restaurant-v61 .reserve-submit::after,
.home-v61 .main-cta::after,
.home-v61 .ghost-cta::after,
.home-v61 .top-request::after,
.home-v61 .showroom-bottom a::after{
  display:none !important;
}
.ripple-dot{display:none !important}
.target-burst{
  animation:targetBurst 1.25s cubic-bezier(.2,1.1,.2,1) !important;
}
@keyframes targetBurst{
  0%{filter:brightness(1);outline:0 solid rgba(117,232,255,0)}
  22%{filter:brightness(1.38) saturate(1.18);outline:9px solid rgba(117,232,255,.30);box-shadow:0 0 0 4px rgba(255,225,168,.18),0 0 80px rgba(117,232,255,.40),0 0 120px rgba(255,225,168,.24)}
  58%{filter:brightness(1.12);outline:4px solid rgba(255,225,168,.22)}
  100%{filter:brightness(1);outline:0 solid rgba(117,232,255,0)}
}
