.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: color-mix(in srgb, var(--color-surface) 92%, transparent);
  border-bottom: 1px solid var(--color-border);
  backdrop-filter: blur(14px);
}

/* A8.5: klare Blickführung und reduzierte Erstbesucherbelastung */
.order-group-title{color:var(--color-primary)}
.order-option__copy{display:grid;gap:.12rem}
.order-option__metadata{color:var(--color-text-muted);font-size:.78rem;font-weight:500}
.order-option__warning{display:flex;align-items:flex-start;gap:.35rem;color:#8b1e12;font-size:.78rem;font-weight:750}
.order-option__warning-icon{flex:0 0 auto;font-size:1.05em;line-height:1.15}
.order-option--filter-conflict{outline:2px solid #b3261e;outline-offset:-2px;background:color-mix(in srgb,#b3261e 8%,var(--color-surface))}
.order-selection-metadata{margin-top:-.35rem;color:var(--color-text-muted);font-size:.82rem}
.order-person-field{padding:0;background:transparent}
.order-person-field strong{font-weight:800}
.order-person-field select{border-color:var(--color-primary)!important;background:var(--color-primary)!important;color:var(--color-primary-contrast)!important;font-style:normal;font-weight:400!important}
.order-person-field select option{background:var(--color-surface)!important;color:var(--color-text)!important;font-style:normal;font-weight:400!important}
.nav-info-button{display:inline-flex;align-items:center;gap:.42rem}
.nav-info-button__icon{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--color-primary);color:var(--color-primary-contrast);font-family:Georgia,serif;font-weight:900;font-style:italic}
.first-visit-help{width:min(34rem,calc(100% - 1rem));padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}
.first-visit-help::backdrop{background:rgb(0 0 0 / 55%)}
.first-visit-help__content{display:grid;gap:1rem;padding:1.25rem}
.first-visit-help__content p{margin:0}
.first-visit-help__remember{display:flex;align-items:center;gap:.55rem}
.first-visit-help__remember input{width:1.2rem;height:1.2rem}
.info-cinema{
  width:min(100%,62rem);max-width:calc(100vw - 1rem);height:auto;max-height:calc(100dvh - 1rem);
  padding:0;border:0;background:transparent;color:var(--color-text);overflow:visible
}
.info-cinema::backdrop{background:rgb(0 0 0 / 82%)}
.info-cinema__content{position:relative;display:grid;place-items:center;width:100%;max-height:calc(100dvh - 1rem);padding:.5rem}
.info-cinema__dialog{
  position:relative;display:grid;grid-template-columns:3rem auto 3rem;align-items:center;justify-content:center;gap:.75rem;
  width:min(100%,62rem);max-height:calc(100dvh - 2rem)
}
.info-cinema__figure{
  margin:0;display:grid;grid-template-rows:auto auto;
  width:min(28rem,calc((100dvh - 12rem) * 9 / 16),calc(100dvw - 8rem));max-width:100%;max-height:calc(100dvh - 2rem);
  overflow:auto;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 2rem 5rem rgb(0 0 0 / 35%)
}
.info-cinema__figure img{
  display:block;width:100%;aspect-ratio:9 / 16;height:auto;object-fit:contain;background:#111
}
.info-cinema__figure figcaption{
  display:grid;gap:.25rem;width:100%;padding:.85rem 1rem 1rem;overflow-wrap:anywhere;background:var(--color-surface)
}
.info-cinema__figure figcaption strong{font-size:1.05rem;line-height:1.25}
.info-cinema__figure figcaption span{color:var(--color-text-muted);line-height:1.4;white-space:pre-line}
.info-cinema__figure figcaption small{color:var(--color-text-muted);font-weight:800}
.info-cinema__close,.info-cinema__arrow{
  border:0;border-radius:999px;background:var(--color-surface);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-soft)
}
.info-cinema__close{
  position:fixed;z-index:10002;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));
  width:3rem;height:3rem;font-size:2rem;line-height:1
}
.info-cinema__arrow{width:3rem;height:3rem;padding:0;display:grid;place-items:center;font:inherit}
.info-cinema__arrow-icon{display:block;width:1.45rem;height:1.45rem;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.info-cinema__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:min(28rem,calc(100dvw - 2rem));margin:.65rem auto 0}
.info-cinema[data-navigation="arrows"] .info-cinema__footer{display:none}
.info-cinema[data-navigation="footer"] .info-cinema__arrow{visibility:hidden;pointer-events:none}
.has-open-info-cinema{overflow:hidden}
@media (max-width:760px){
  .info-cinema{max-width:100vw;max-height:100dvh}
  .info-cinema__content{padding:.75rem;max-height:100dvh}
  .info-cinema__dialog{display:block;width:100%;max-height:calc(100dvh - 1.5rem)}
  .info-cinema__figure{
    width:min(28rem,calc((100dvh - 11rem) * 9 / 16),calc(100dvw - 1.5rem));margin-inline:auto;max-height:calc(100dvh - 1.5rem)
  }
  .info-cinema__arrow{position:absolute;z-index:2;top:42%;width:2.75rem;height:2.75rem}
  .info-cinema__arrow--prev{left:.15rem}.info-cinema__arrow--next{right:.15rem}
  .info-cinema__footer{width:min(28rem,calc(100dvw - 1.5rem))}
}
@media (max-width:425px){
  .info-cinema__figure figcaption{padding:.7rem .8rem .8rem;font-size:.92rem}
  .info-cinema__figure figcaption span{font-size:.86rem}
  .info-cinema__close{width:2.65rem;height:2.65rem;font-size:1.75rem}
}
.site-nav {
  max-width: 72rem;
  margin: 0 auto;
  padding: var(--space-2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}
.brand { display: inline-flex; align-items: center; gap: .75rem; font-weight: 800; text-decoration: none; }
.brand__logo { display: inline-grid; place-items: center; min-width: 2.75rem; min-height: 2.75rem; max-width: 7.5rem; padding: .32rem .7rem; border-radius: 1rem; background: var(--color-primary); color: var(--color-primary-contrast); font-size:.76rem; line-height:1.05; text-align:center; overflow-wrap:anywhere; }
.nav-toggle { display: none; }
.nav-list { display: flex; gap: var(--space-2); list-style: none; margin: 0; padding: 0; }
.nav-list a { text-decoration: none; font-weight: 650; }
.hero { min-height: 68vh; display: grid; align-items: center; background: var(--theme-gradient, linear-gradient(120deg, rgb(179 49 34 / 16%), rgb(242 184 75 / 22%))); }
.hero__inner { max-width: 72rem; width: 100%; margin: 0 auto; padding: clamp(3rem, 8vw, 7rem) var(--space-2); display: grid; gap: var(--space-4); grid-template-columns: 1.15fr .85fr; align-items: center; }
.hero__media { margin:0; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-soft); background: var(--color-muted); }
.hero__media img { display: block; width: 100%; min-height: 20rem; object-fit: cover; }
.eyebrow { color: var(--color-primary); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .85rem; }
h1, h2, h3 { line-height: 1.15; margin: 0 0 .75rem; }
h1 { font-size: clamp(2.3rem, 7vw, 5rem); }
h2 { font-size: clamp(1.8rem, 4vw, 3rem); }
.hero__text { font-size: clamp(1.05rem, 2vw, 1.35rem); color: var(--color-text-muted); max-width: 42rem; }
.section { padding: var(--space-5) var(--space-2); scroll-margin-top: calc(var(--rtp-header-height, 0px) + 3.15rem); }
.section--accent { background: var(--color-primary); color: var(--color-primary-contrast); }
.section--accent .eyebrow { color: var(--color-offers-eyebrow, var(--color-secondary)); }
.section--muted { background: var(--color-muted); }
.section__inner { max-width: 72rem; margin: 0 auto; }
.card-grid { display: grid; gap: var(--space-2); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.card, .info-panel { background: var(--color-surface); color: var(--color-text); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-3); box-shadow: var(--shadow-soft); }
.button-row { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.9rem; padding: .75rem 1.15rem; border-radius: 999px; font-weight: 800; text-decoration: none; border: 2px solid transparent; }
.button--primary { background: var(--color-primary); color: var(--color-primary-contrast); }
.button--secondary { background: var(--color-surface); color: var(--color-text); border-color: var(--color-border); }
.offer-card p{white-space:pre-line}
.contact-list { display: grid; gap: .4rem; padding: 0; list-style: none; }
.site-footer { padding: var(--space-4) var(--space-2); text-align: center; background: var(--color-text); color: #fff; }
.site-footer a { color: #fff; }
[hidden] { display: none !important; }
@media (max-width: 760px) {
  .nav-toggle { display: inline-flex; }
  .nav-list { display: none; position: absolute; left: var(--space-2); right: var(--space-2); top: 4.7rem; flex-direction: column; background: var(--color-surface); padding: var(--space-2); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }
  .nav-list.is-open { display: flex; }
  .hero__inner { grid-template-columns: 1fr; }
}


.section-intro {
  max-width: 48rem;
  color: var(--color-text-muted);
}
.menu-toolbar {
  display: grid;
  gap: var(--space-2);
  margin: var(--space-3) 0;
  padding: var(--space-2);
  background: var(--color-muted);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}
.menu-search {
  display: grid;
  gap: .45rem;
  font-weight: 750;
}
.menu-search input {
  min-height: 3rem;
  width: 100%;
  border: 2px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: .75rem 1rem;
  font: inherit;
  background: var(--color-surface);
  color: var(--color-text);
}
.menu-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.filter-button {
  min-height: 2.5rem;
  border: 2px solid var(--color-border);
  border-radius: 999px;
  padding: .45rem .9rem;
  background: var(--color-surface);
  color: var(--color-text);
  font-weight: 800;
  cursor: pointer;
}
.filter-button[aria-pressed="true"] {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border-color: var(--color-primary);
}
.menu {
  display: grid;
  gap: var(--space-4);
  margin: var(--space-3) 0;
}
.menu-category {
  display: grid;
  gap: var(--space-2);
}
.menu-category h3 {
  padding-bottom: .55rem;
  border-bottom: 3px solid var(--color-primary);
}
.menu-category__image {
  display: block;
  width: 100%;
  max-height: 24rem;
  aspect-ratio: 8 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  background: var(--color-muted);
}
.menu-group-image{display:grid;overflow:hidden;min-height:100%;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-muted)}
.menu-group-image img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:4/3;object-fit:cover}
.menu-group-image figcaption{padding:.45rem .6rem;font-size:.82rem;color:var(--color-text-muted)}
.menu-grid {
  display: grid;
  gap: var(--space-2);
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
}
.menu-item {
  display: grid;
  overflow: hidden;
  background: var(--color-surface);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
}
.menu-item__image {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: var(--color-muted);
}
.menu-item__body {
  display: grid;
  gap: .75rem;
  padding: var(--space-2);
}
.menu-item__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--space-2);
}
.menu-item__header h4 {
  margin: 0;
  font-size: 1.15rem;
}
.menu-item__price {
  margin: 0;
  white-space: nowrap;
  font-weight: 900;
  color: var(--color-primary);
}
.menu-item__description {
  margin: 0;
  color: var(--color-text-muted);
}

/* A8.7: konfigurierbare Kartendichte. Die Quelldaten bleiben unverändert. */
.menu-grid[data-card-density="supernarrow"],
.menu-grid[data-card-density="ultranarrow"]{align-items:stretch}
.menu-grid[data-card-density="supernarrow"] .menu-item__body{height:auto;gap:.28rem;padding:.7rem}
.menu-grid[data-card-density="supernarrow"] .menu-item__description{white-space:normal;line-height:1.28}
.menu-grid[data-card-density="supernarrow"] .menu-item__meta{gap:.25rem}
.menu-grid[data-card-density="supernarrow"] .menu-item:has(>.menu-item__order-add) .menu-item__body{padding-bottom:.7rem}
.menu-grid[data-card-density="supernarrow"] .menu-item>.menu-item__order-add{position:static;align-self:end;justify-self:end;margin:.72rem .7rem .7rem}
.menu-grid[data-card-density="ultranarrow"] .menu-item__body{height:auto;gap:.08rem;padding:.48rem .58rem}
.menu-grid[data-card-density="ultranarrow"] .menu-item__description{white-space:normal;line-height:1.18}
.menu-grid[data-card-density="ultranarrow"] .menu-item__meta{gap:.16rem}
.menu-grid[data-card-density="ultranarrow"] .menu-item:has(>.menu-item__order-add) .menu-item__body{padding-bottom:.1rem}
.menu-grid[data-card-density="ultranarrow"] .menu-item>.menu-item__order-add{position:static;align-self:end;justify-self:end;margin:0 .58rem .58rem}
.menu-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.menu-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: .25rem .6rem;
  border-radius: 999px;
  background: var(--color-muted);
  border: 1px solid var(--color-border);
  font-size: .85rem;
  font-weight: 750;
}


/* Theme preview cards are used in the documentation-oriented demo area. */
.theme-preview-grid {
  display: grid;
  gap: var(--space-2);
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}
.theme-preview {
  display: grid;
  gap: .75rem;
  min-height: 10rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  padding: var(--space-2);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
}
.theme-preview__swatches {
  display: flex;
  gap: .45rem;
}
.theme-preview__swatch {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid rgb(0 0 0 / 16%);
}

.offer-card {
  position: relative;
  overflow: hidden;
}
.offer-card::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: 0;
  width: .45rem;
  background: var(--color-secondary);
}
.offer-card h3,
.offer-card p {
  margin-left: .35rem;
}
.offer-card__image {
  display: block;
  width: calc(100% + 2 * var(--space-4));
  max-height: 14rem;
  margin: calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-3);
  object-fit: cover;
}
.offer-card__price { display:block; margin:.75rem 0 .5rem .35rem; }
.offer-card__order { margin-left:.35rem; }
.menu-item--unavailable,.offer-card--unavailable{opacity:.72}.menu-item__availability,.offer-card__availability{color:var(--color-text-muted);font-weight:650}.menu-item--unavailable .menu-item__image{filter:grayscale(.45)}
.reservation-preview-badge{border:1px solid currentColor;border-radius:999px;padding:.55rem .9rem;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer}.reservation-preview-dialog{border:0;border-radius:var(--radius-md);max-width:min(32rem,calc(100vw - 2rem));padding:0}.reservation-preview-dialog::backdrop{background:#0008}.reservation-preview-dialog__content{padding:1.25rem}.reservation-preview-dialog__content h2{margin-top:0}
.opening-hours {
  display: grid;
  gap: var(--space-2);
  max-width: 48rem;
}
.opening-hours__status {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: .55rem;
  margin: 0;
  padding: .75rem 1rem;
  border-radius: 999px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  font-weight: 900;
  box-shadow: var(--shadow-soft);
}
.opening-hours__status::before {
  content: "";
  width: .8rem;
  height: .8rem;
  border-radius: 999px;
  background: #767676;
}
.opening-hours__status[data-state="open"]::before {
  background: #16833a;
}
.opening-hours__status[data-state="closed"]::before {
  background: #b3261e;
}
.opening-hours__list {
  display: grid;
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.opening-hours__row {
  display: flex;
  justify-content: space-between;
  gap: var(--space-2);
  padding: .85rem 1rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
}
.opening-hours__row.is-today {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}
@media (max-width: 520px) {
  .opening-hours__row {
    display: grid;
    gap: .25rem;
  }
}


/* Gallery module --------------------------------------------------------- */
.gallery-toolbar {
  margin-block: var(--space-2);
}
.gallery-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: var(--space-2);
}
.gallery-card {
  position: relative;
  display: block;
  min-height: 16rem;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: inherit;
  cursor: pointer;
  box-shadow: var(--shadow-soft);
}
.gallery-card img {
  width: 100%;
  height: 100%;
  min-height: 16rem;
  object-fit: cover;
  transition: transform .22s ease;
}
.gallery-card:hover img,
.gallery-card:focus-visible img {
  transform: scale(1.035);
}
.gallery-card--featured {
  grid-column: span 2;
}
.gallery-card__caption {
  position: absolute;
  inset-inline: .75rem;
  bottom: .75rem;
  display: grid;
  gap: .1rem;
  padding: .75rem .85rem;
  border-radius: var(--radius-sm);
  background: rgb(255 255 255 / 88%);
  color: #1f1f1f;
  text-align: left;
  backdrop-filter: blur(.45rem);
}
.gallery-card__caption span {
  font-size: .9rem;
  color: #555;
}
.filter-button {
  min-height: 2.5rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: .45rem .85rem;
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.filter-button[aria-pressed="true"] {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border-color: var(--color-primary);
}
.gallery-lightbox[hidden] {
  display: none;
}
.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: var(--space-2);
}
.gallery-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 78%);
}
.gallery-lightbox__dialog {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 62rem) auto;
  align-items: center;
  gap: .75rem;
  width: min(100%, 76rem);
  max-height: calc(100dvh - 2 * var(--space-2));
}
.gallery-lightbox__figure {
  margin: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  max-height: calc(100dvh - 2 * var(--space-2));
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: 0 2rem 5rem rgb(0 0 0 / 35%);
}
.gallery-lightbox__figure img {
  display: block;
  width: 100%;
  max-height: calc(100dvh - 8rem);
  object-fit: contain;
  background: #111;
}
.gallery-lightbox__figure figcaption {
  display: grid;
  gap: .2rem;
  padding: 1rem;
}
.gallery-lightbox__close,
.gallery-lightbox__nav {
  border: 0;
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-text);
  cursor: pointer;
  box-shadow: var(--shadow-soft);
}
.gallery-lightbox__close {
  position: fixed;
  z-index: 10002;
  top: max(.75rem, env(safe-area-inset-top));
  right: max(.75rem, env(safe-area-inset-right));
  width: 3rem;
  height: 3rem;
  font-size: 2rem;
  line-height: 1;
}
.menu-item__image-button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.menu-item__image-button:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: 2px;
}
.menu-cinema[hidden] { display: none; }
.menu-cinema {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: var(--space-2);
}
.menu-cinema__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 78%);
}
.menu-cinema__dialog {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 62rem) auto;
  align-items: center;
  gap: .75rem;
  width: min(100%, 76rem);
  max-height: calc(100dvh - 2 * var(--space-2));
}
.menu-cinema__figure {
  margin: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  max-height: calc(100dvh - 2 * var(--space-2));
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: 0 2rem 5rem rgb(0 0 0 / 35%);
}
.menu-cinema__figure img {
  display: block;
  width: 100%;
  max-height: calc(100dvh - 6rem);
  object-fit: contain;
  background: #111;
}
.menu-cinema__figure figcaption {
  padding: .8rem 1rem;
  font-weight: 700;
}
.menu-cinema__caption {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
}
.menu-cinema__caption strong {
  color: var(--color-primary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.menu-cinema__figure img[role="button"] { cursor: pointer; }
.menu-cinema__figure img[role="button"]:focus-visible { outline: 4px solid var(--color-primary); outline-offset: -4px; }
.menu-cinema__close,
.menu-cinema__nav {
  border: 0;
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-text);
  cursor: pointer;
  box-shadow: var(--shadow-soft);
}
.menu-cinema__close {
  position: fixed;
  z-index: 10002;
  top: max(.75rem, env(safe-area-inset-top));
  right: max(.75rem, env(safe-area-inset-right));
  width: 3rem;
  height: 3rem;
  font-size: 2rem;
  line-height: 1;
}
.menu-cinema__nav {
  width: 3rem;
  height: 3rem;
  font-size: 2.25rem;
}
.has-open-menu-cinema { overflow: hidden; }
.gallery-lightbox__nav {
  width: 3rem;
  height: 3rem;
  font-size: 2.25rem;
}
.has-open-lightbox {
  overflow: hidden;
}
@media (max-width: 760px) {
  .gallery-card--featured {
    grid-column: auto;
  }
  .gallery-lightbox__dialog {
    grid-template-columns: 1fr;
  }
  .menu-cinema__dialog { grid-template-columns: 1fr; }
  .gallery-lightbox__nav {
    position: absolute;
    z-index: 2;
    top: 45%;
  }
  .menu-cinema__nav {
    position: absolute;
    z-index: 2;
    top: 45%;
  }
  .gallery-lightbox__nav--prev { left: .5rem; }
  .gallery-lightbox__nav--next { right: .5rem; }
  .menu-cinema__nav--prev { left: .5rem; }
  .menu-cinema__nav--next { right: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-card img {
    transition: none;
  }
}

/* Contact/order module --------------------------------------------------- */
.card__intro {
  margin-top: -.25rem;
  color: var(--color-muted);
}
.order-actions {
  align-items: stretch;
}
.order-actions .button {
  justify-content: center;
}
.footer-system-link { margin:.35rem 0 0; font-weight:700; }
.footer-system-link a { text-underline-offset:.18em; }
.footer-credit {
  margin-top: .5rem;
  color: var(--color-muted);
  font-size: .92rem;
}
.sticky-actions {
  position: fixed;
  z-index: 50;
  left: .75rem;
  right: .75rem;
  bottom: .75rem;
  display: none;
  grid-template-columns: repeat(4, 1fr);
  gap: .35rem;
  padding: .4rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-surface) 94%, transparent);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(10px);
}
.sticky-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.55rem;
  padding: .35rem .55rem;
  border-radius: 999px;
  color: var(--color-text);
  font-weight: 700;
  text-decoration: none;
}
.sticky-actions a:focus-visible,
.sticky-actions a:hover {
  background: var(--color-primary);
  color: var(--color-on-primary);
}
@media (max-width: 760px) {
  .sticky-actions:not([hidden]) {
    display: grid;
  }
  body {
    padding-bottom: 5rem;
  }
}

/* Shared image fallback --------------------------------------------------- */
.image-fallback {
  object-fit: contain !important;
  padding: clamp(1rem, 3vw, 2rem);
  background: var(--color-muted);
}
.gallery-card .image-fallback {
  background: linear-gradient(135deg, var(--color-muted), var(--color-surface));
}
.gallery-lightbox__figure .image-fallback {
  background: #f1eee9;
}

/* Release 0.7.2: PDF-only menu mode */
.menu-download-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin: 1.5rem 0;
  padding: 1.25rem;
  border: 1px solid color-mix(in srgb, var(--color-primary), transparent 70%);
  border-radius: var(--radius-large);
  background: color-mix(in srgb, var(--color-primary), transparent 92%);
}

.menu-download-panel p {
  flex: 1 1 16rem;
  margin: 0;
}


/* Release 0.7.3: Speisekarten-Layout und Ausschlussfilter */
.menu-filter-group {
  display: grid;
  gap: .55rem;
}
.menu-filter-group__title {
  margin: 0;
  font-weight: 850;
  color: var(--color-text-muted);
}
.menu-filters--exclude .filter-button {
  border-color: var(--color-border);
  background: var(--color-muted);
  color: var(--color-text);
}
.menu-filters--exclude .filter-button[aria-pressed="true"] {
  border-color: var(--color-primary, var(--color-accent));
  background: var(--color-primary, var(--color-accent));
  color: var(--color-primary-contrast, var(--color-surface));
}
.menu-grid--cols-1 {
  grid-template-columns: 1fr;
}
.menu-grid--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.menu-grid--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.menu-badge--allergen {
  font-variant-numeric: tabular-nums;
}
.menu-badge--additive {
  font-variant-numeric: tabular-nums;
  border-style: dashed;
}
.menu-legend {
  margin-top: var(--space-3);
  display: grid;
  gap: var(--space-2);
  padding: var(--space-2);
  background: var(--color-muted);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}
.menu-legend__section h3 {
  font-size: 1.05rem;
  margin-bottom: .75rem;
}
.menu-legend__list {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: .45rem .8rem;
  margin: 0;
}
.menu-legend__list dt {
  font-weight: 900;
}
.menu-legend__list dd {
  margin: 0;
  color: var(--color-text-muted);
}
@media (max-width: 760px) {
  .menu-grid--cols-2,
  .menu-grid--cols-3 {
    grid-template-columns: 1fr;
  }
}


/* Release 0.7.4: flexible Legendenpositionen und Inline-Legenden */
.menu-legend--after-filter {
  margin-top: .4rem;
}
.menu-legend__inline {
  margin: 0;
  color: var(--color-text-muted);
  line-height: 1.7;
}
.menu-legend__section--inline h3 {
  margin-bottom: .35rem;
}


/* Release 0.7.5: konfigurierbare Typografie des Ausschlussfilters */
[data-menu-exclude-panel] {
  --menu-exclude-font-size: var(--font-size-2);
  --menu-exclude-font-family: inherit;
  --menu-exclude-font-weight: 400;
  --menu-exclude-font-style: normal;
  font-family: var(--menu-exclude-font-family);
  font-size: var(--menu-exclude-font-size);
  font-weight: var(--menu-exclude-font-weight);
  font-style: var(--menu-exclude-font-style);
}
[data-menu-exclude-panel] .filter-button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
}
[data-menu-exclude-panel][data-font-size="1"] { --menu-exclude-font-size: var(--font-size-1); }
[data-menu-exclude-panel][data-font-size="2"] { --menu-exclude-font-size: var(--font-size-2); }
[data-menu-exclude-panel][data-font-size="3"] { --menu-exclude-font-size: var(--font-size-3); }
[data-menu-exclude-panel][data-font-size="4"] { --menu-exclude-font-size: var(--font-size-4); }
[data-menu-exclude-panel][data-font-size="5"] { --menu-exclude-font-size: var(--font-size-5); }
[data-menu-exclude-panel][data-font-family="theme"],
[data-menu-exclude-panel][data-font-family="primary"] { --menu-exclude-font-family: var(--font-primary); }
[data-menu-exclude-panel][data-font-family="secondary"] { --menu-exclude-font-family: var(--font-secondary); }
[data-menu-exclude-panel][data-font-family="sans"] { --menu-exclude-font-family: var(--font-sans); }
[data-menu-exclude-panel][data-font-family="serif"] { --menu-exclude-font-family: var(--font-serif); }
[data-menu-exclude-panel][data-font-family="mono"] { --menu-exclude-font-family: var(--font-mono); }
[data-menu-exclude-panel][data-font-bold="true"] { --menu-exclude-font-weight: 800; }
[data-menu-exclude-panel][data-font-italic="true"] { --menu-exclude-font-style: italic; }


/* Release 0.8.0: externe Dienste und Texttreue */
[data-menu-exclude-panel] .filter-button,
.menu-legend__inline,
.menu-legend__list dd {
  text-transform: none;
}
.external-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: var(--space-2);
}
.external-service__placeholder {
  display: grid;
  gap: 1rem;
  min-height: 12rem;
  align-content: center;
  justify-items: start;
  padding: var(--space-2);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-muted);
}
.external-service__privacy-hint { margin: 0; color: var(--color-text-muted); }
.external-service__frame-host { overflow: hidden; border-radius: var(--radius-md); }
.external-service__frame {
  display: block;
  width: 100%;
  min-height: 24rem;
  border: 0;
  background: var(--color-muted);
}
.text-button {
  border: 0;
  padding: .2rem;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.consent-dialog {
  max-width: min(38rem, calc(100% - 2rem));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-large);
  padding: 0;
  color: var(--color-text);
  background: var(--color-surface);
}
.consent-dialog::backdrop { background: rgb(0 0 0 / 58%); }
.consent-dialog__content { display: grid; gap: 1rem; padding: var(--space-3); }
.consent-dialog__content h2, .consent-dialog__content p { margin: 0; }


/* Release 0.8.1: verständliche Fehlermeldung bei ungültiger Embed-URL */
.external-service[data-configuration-error="true"] .external-service__placeholder {
  border-style: solid;
}
.external-service[data-configuration-error="true"] .external-service__privacy-hint {
  font-weight: 700;
}


/* Release 0.8.3: flexible Speisekarte und Hero-Gestaltung */
.menu-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.menu-grid--cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.menu-grid--cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.menu-item__image-slot { aspect-ratio: 16 / 10; background: var(--color-muted); overflow: hidden; }
.menu-item__image-slot--empty { background: linear-gradient(135deg, color-mix(in srgb, var(--color-muted), transparent 5%), color-mix(in srgb, var(--color-surface), transparent 5%)); }
.menu-item__image-slot .menu-item__image { height: 100%; }
.menu-item__meta--plain { padding: 0; background: transparent; border: 0; }
.menu-item__meta--plain .menu-badge { padding: 0; min-height: auto; border: 0; background: transparent; border-radius: 0; }
.menu-tags-inline { color: var(--color-text-muted); }
.menu-item__variants { margin: 0; padding-left: 1.15rem; color: var(--color-text-muted); }
.menu-item__sides { margin: 0; font-size: .9em; color: var(--color-text-muted); }
.menu-badge--combined { font-variant-numeric: tabular-nums; }
.menu-item [data-font-size="1"] { font-size: var(--font-size-1); }
.menu-item [data-font-size="2"] { font-size: var(--font-size-2); }
.menu-item [data-font-size="3"] { font-size: var(--font-size-3); }
.menu-item [data-font-size="4"] { font-size: var(--font-size-4); }
.menu-item [data-font-size="5"] { font-size: var(--font-size-5); }
.menu-item [data-font-family="primary"] { font-family: var(--font-primary); }
.menu-item [data-font-family="secondary"] { font-family: var(--font-secondary); }
.menu-item [data-font-family="sans"] { font-family: var(--font-sans); }
.menu-item [data-font-family="serif"] { font-family: var(--font-serif); }
.menu-item [data-font-family="mono"] { font-family: var(--font-mono); }
.menu-item [data-font-bold="true"] { font-weight: 800; }
.menu-item [data-font-italic="true"] { font-style: italic; }
.hero [data-hero-title] { color: var(--hero-title-color, inherit); font-weight:var(--hero-title-weight,800); text-shadow:var(--hero-title-shadow,none); -webkit-text-stroke:var(--hero-title-outline-width,0) var(--hero-title-outline-color,transparent); paint-order:stroke fill; }
.hero [data-hero-text] { color: var(--hero-text-color, inherit); }
.hero[data-image-position="below"] .hero__inner { grid-template-columns: 1fr; }
.hero[data-image-position="below"] .hero__media { max-width: 70rem; width: 100%; justify-self: stretch; }
.hero[data-image-position="fullWidth"] .hero__inner { grid-template-columns:1fr; }
.hero[data-image-position="fullWidth"] .hero__media { position:relative; order:-1; width:100vw; max-width:none; margin-inline:calc(50% - 50vw); border-radius:0; }
.hero[data-image-position="fullWidth"] .hero__media img { width:100%; min-height:clamp(18rem,42vw,38rem); max-height:46rem; }
.hero[data-image-position="fullWidth"][data-title-overlay="true"] .hero__media [data-hero-title] { position:absolute; inset:auto max(var(--space-2),calc((100vw - 72rem)/2 + var(--space-2))) clamp(1.5rem,6vw,5rem); z-index:1; max-width:58rem; margin:0; }
.hero[data-image-position="hidden"] .hero__media { display: none; }
@media (max-width: 1200px) {
  .menu-grid--cols-5, .menu-grid--cols-6 { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .menu-grid--cols-3, .menu-grid--cols-4, .menu-grid--cols-5, .menu-grid--cols-6 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .menu-grid--cols-2, .menu-grid--cols-3, .menu-grid--cols-4, .menu-grid--cols-5, .menu-grid--cols-6 { grid-template-columns: 1fr; }
}


/* Release 0.8.4: stabile Karten, Varianten- und Preisfilter */
.menu-item { position:relative;grid-template-rows: auto 1fr; height: 100%; }
.menu-item--without-image-space{grid-template-rows:1fr}
.menu-item--without-image-space:has(>.menu-item__order-add){grid-template-rows:1fr auto}
.menu-item__body { grid-template-rows: auto minmax(0, auto) auto auto 1fr; align-content: start; height: 100%; }
.menu-item__meta { align-self: end; margin-top: auto; }
.menu-metadata-text{display:inline;color:var(--color-text-muted);line-height:1.35}
.menu-metadata-text+.menu-metadata-text::before{content:" · ";color:var(--color-text-muted)}
.menu-item__variant-select { display: grid; gap: .35rem; color: var(--color-text-muted); }
.menu-item__variant-select select { width: 100%; min-height: 2.65rem; padding: .45rem .6rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-text); }
.menu-item__order-add{position:absolute;z-index:3;right:.75rem;bottom:.75rem;display:grid;place-items:center;min-width:2.75rem;min-height:2.75rem;padding:.35rem .75rem;border:2px solid var(--color-primary-contrast);border-radius:999px;background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;font-size:1.35rem;font-weight:900;line-height:1;box-shadow:0 .2rem .7rem rgb(0 0 0 / 28%);cursor:pointer}
.menu-item__image-slot{position:relative}.menu-item__image-slot>.menu-item__order-add{right:.75rem;bottom:.75rem}
.menu-item>.menu-item__order-add{right:.75rem;bottom:.75rem}.menu-item:has(>.menu-item__order-add) .menu-item__body{padding-bottom:4.25rem}
.brand__identity{display:grid;line-height:1.1}.brand__version{margin-top:.18rem;color:var(--color-text-muted);font-size:.68rem;font-weight:500}
.order-launcher{position:fixed;z-index:1100;right:1rem;bottom:1rem;min-height:3.25rem;padding:.7rem 1rem;border:2px solid var(--color-primary);border-radius:999px;background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;font-weight:850;box-shadow:var(--shadow-soft);cursor:pointer}
.order-launcher__badge{display:inline-grid;place-items:center;min-width:1.6rem;min-height:1.6rem;padding:0 .35rem;border-radius:999px;background:var(--color-surface);color:var(--color-text);font-variant-numeric:tabular-nums}
.order-dialog,.order-config-dialog{width:min(46rem,calc(100% - 1rem));max-height:calc(100dvh - 1rem);padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}
.order-dialog::backdrop,.order-config-dialog::backdrop{background:rgb(0 0 0 / 55%)}
.order-dialog__content{display:grid;gap:.75rem;padding:clamp(.75rem,2.5vw,1.25rem)}
.order-dialog__content--scrolling{display:block;max-height:calc(100dvh - 1rem);overflow:auto;padding:0;isolation:isolate}
.order-dialog__content--scrolling>.order-cart-dialog__header{position:sticky;z-index:5;top:0;margin:0 0 .75rem;padding:clamp(.75rem,2.5vw,1.25rem);border-bottom:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 .35rem .8rem rgb(0 0 0 / 12%)}
.order-dialog__content--scrolling>*:not(.order-cart-dialog__header){margin-inline:clamp(.75rem,2.5vw,1.25rem)}
.order-dialog__content--scrolling>*+*{margin-top:.75rem}
.order-dialog__content--scrolling>*:last-child{margin-bottom:clamp(.75rem,2.5vw,1.25rem)}
.order-config-dialog__header{position:sticky;z-index:5;top:calc(-1 * clamp(.75rem,2.5vw,1.25rem));margin:calc(-1 * clamp(.75rem,2.5vw,1.25rem)) calc(-1 * clamp(.75rem,2.5vw,1.25rem)) 0;padding:clamp(.75rem,2.5vw,1.25rem);border-bottom:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 .35rem .8rem rgb(0 0 0 / 12%)}
@media(max-width:600px){.order-dialog__content--scrolling>.order-cart-dialog__header{padding:.38rem}.order-dialog__content--scrolling>*:not(.order-cart-dialog__header){margin-inline:.38rem}.order-config-dialog__header{top:-.32rem;margin:-.32rem -.32rem 0;padding:.32rem}}
.order-dialog__header,.order-dialog__summary{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.order-dialog__header h2,.order-dialog__header p{margin:0}
.order-list{display:grid;gap:.75rem}
.order-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;padding:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-muted)}
.order-item__title,.order-item__meta{margin:0}.order-item__meta{color:var(--color-text-muted)}
.order-item__private{margin:.35rem 0 0;color:var(--color-text-muted);font-style:italic}
.order-item__controls{grid-column:1/-1;display:grid;grid-template-columns:5.25rem minmax(0,1fr) auto auto auto;gap:.45rem;align-items:end}
.order-item__controls label{display:grid;gap:.25rem;font-weight:700}.order-item__controls input{width:100%;min-height:2.5rem;padding:.4rem .55rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit}
.order-item__action{display:grid;place-items:center;min-width:2.65rem;min-height:2.5rem;padding:.35rem;font-size:1.15rem}.order-item__sum{font-weight:850;font-variant-numeric:tabular-nums}
.order-item__action--remove{border:2px solid currentColor}.order-item__action--remove svg,.order-person__remove svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.order-dialog__summary{padding-top:1rem;border-top:2px solid var(--color-border);font-size:1.2rem}
.order-people{padding:.65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.order-people>summary{font-weight:750;cursor:pointer}.order-people__content{margin-top:.6rem}.order-people__add{display:flex;gap:.5rem;align-items:end}.order-people__add label{display:grid;gap:.25rem;flex:1}.order-people__add input,.order-person__name,.order-field select{min-height:2.6rem;padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.order-people__list{display:grid;gap:.45rem;margin-top:.65rem}.order-person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem}.order-person__remove{align-self:stretch}.order-view-switch{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.order-view-switch__label{font-weight:750}.order-view-switch [aria-pressed="true"]{background:var(--color-primary);color:var(--color-primary-contrast)}.order-subtotals{display:grid;gap:.3rem;padding:.75rem;background:var(--color-muted);border-radius:var(--radius-sm)}.order-subtotal{display:flex;justify-content:space-between;gap:1rem}.order-group-title{margin:1rem 0 .4rem;padding-bottom:.3rem;border-bottom:1px solid var(--color-border)}
.order-templates{padding:.65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.order-templates>summary{font-weight:750;cursor:pointer}.order-templates__content{display:grid;gap:.65rem;margin-top:.6rem}.order-template-save{display:flex;gap:.5rem;align-items:end}.order-template-save label{display:grid;gap:.25rem;flex:1}.order-template-save input{min-height:2.6rem;padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.order-templates__list{display:grid;gap:.45rem}.order-template{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .45rem;padding:.55rem;background:var(--color-muted);border-radius:var(--radius-sm)}.order-template__meta{font-size:.78rem;color:var(--color-text-muted)}.order-template__actions{grid-column:1/-1;display:flex;gap:.4rem;flex-wrap:wrap}.order-item--unavailable{border-color:var(--color-error,#a4262c);opacity:.82}.order-item__unavailable{color:var(--color-error,#a4262c);font-weight:750}
.order-config-dialog__content{display:grid;gap:.7rem;max-height:calc(100dvh - 1rem);padding:clamp(.75rem,2.5vw,1.25rem);overflow:auto}
.order-config-dialog__heading{display:grid;gap:.22rem;min-width:0}
.order-person-field{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;padding:0;background:transparent;font-weight:600}
.order-person-field select{width:100%;min-height:2.35rem;padding:.3rem .5rem;background:var(--color-surface);color:var(--color-text);font-weight:400}
.order-person-field select option{background:var(--color-surface);color:var(--color-text);font-weight:400}
.order-config-dialog__content>p{margin:0}.order-option-groups{display:grid;gap:.75rem}
.order-option-group{margin:0;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}
fieldset.order-option-group{display:grid;gap:.45rem}.order-option-group>legend,.order-option-group>summary{font-weight:850;cursor:pointer}
.order-option-group__options{display:grid;gap:.25rem;margin-top:.6rem}.order-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center;min-height:2.75rem;padding:.35rem .25rem;border-bottom:1px solid var(--color-border);cursor:pointer}
.order-option:last-child{border-bottom:0}.order-option:has(input:checked){background:var(--color-muted);font-weight:750}.order-option input{width:1.25rem;height:1.25rem}.order-option__price{font-variant-numeric:tabular-nums;white-space:nowrap}
.order-option-search,.order-field input,.order-field textarea,.order-quantity input{width:100%;min-height:2.65rem;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.order-option-search{margin-top:.65rem}.order-field{display:grid;gap:.35rem;font-weight:750}.order-field textarea{min-height:4.5rem;resize:vertical}.order-field small{color:var(--color-text-muted);font-weight:400}
.order-metadata{padding:.6rem .75rem;border-radius:var(--radius-sm);background:var(--color-muted)}.order-metadata summary{cursor:pointer;font-weight:750}.order-metadata div{margin-top:.5rem;color:var(--color-text-muted)}.order-metadata__values,.order-metadata__notice{display:block}.order-metadata__notice{margin-top:.3rem}
.order-selection-summary{padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--color-muted);color:var(--color-text-muted)}
.order-config-dialog__footer{position:sticky;z-index:2;bottom:calc(-1 * clamp(1rem,3vw,1.5rem));display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.55rem .75rem;align-items:end;margin:0 calc(-1 * clamp(1rem,3vw,1.5rem));padding:.7rem clamp(1rem,3vw,1.5rem);border-top:2px solid var(--color-border);background:var(--color-surface);box-shadow:0 -1rem 2rem rgb(0 0 0 / 8%)}.order-config-dialog__footer>.order-person-field{grid-column:1/-1}
.order-quantity{display:grid;gap:.25rem;font-weight:750}.order-config-dialog__footer .button{min-height:3rem;font-variant-numeric:tabular-nums}
@media(max-width:600px){.order-item__controls{grid-template-columns:4.75rem minmax(0,1fr) repeat(3,2.65rem)}.order-item__controls label{grid-column:auto}.order-launcher{right:.5rem;bottom:.5rem}.order-launcher [data-order-launcher-label]{display:none}.order-config-dialog,.order-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0}.order-config-dialog__content{max-height:100dvh;gap:.18rem;padding:.32rem;font-size:.86rem}.order-dialog__content{gap:.26rem;padding:.38rem;font-size:.86rem}.order-config-dialog__heading{gap:.28rem}.order-dialog__header{gap:.35rem;align-items:flex-start}.order-dialog__header .eyebrow{display:block;font-size:.64rem;line-height:1;margin-bottom:.22rem}.order-dialog__header h2{font-size:1.08rem;line-height:1.08}.order-person-field select{min-height:2.05rem;padding:.18rem .35rem;font-size:.86rem}.order-option-groups{gap:.28rem}.order-option-group{padding:.3rem}.order-option-group__options{margin-top:.14rem;gap:.08rem}.order-option{min-height:2.15rem;padding:.12rem .08rem;gap:.45rem}.order-selection-summary{padding:.25rem .35rem}.order-field{gap:.1rem}.order-field textarea{min-height:2.85rem;padding:.35rem .45rem}.order-metadata{padding:.34rem .42rem}.order-config-dialog__footer{grid-template-columns:4rem minmax(0,1fr);gap:.25rem .35rem;margin:0 -.32rem;bottom:-.32rem;padding:.32rem}.order-config-dialog__footer .button{min-width:0;padding:.42rem .35rem;font-size:.78rem;line-height:1.05;white-space:nowrap}.order-config-dialog__footer [data-order-config-submit]{gap:.25rem}.order-quantity{font-size:.78rem}.order-quantity input{min-height:2.45rem}.order-people{padding:.42rem}.order-people__content{margin-top:.34rem}.order-dialog__content>.button-row{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}.order-dialog__content>.button-row .button{min-width:0;padding:.45rem .25rem;font-size:.8rem;white-space:nowrap}}
@media(max-width:600px){.order-config-dialog,.order-dialog{inset:0;margin:0;overflow-x:hidden}.order-config-dialog__content,.order-config-dialog__header,.order-config-dialog__footer,.order-person-field,.order-option,.order-option__copy{min-width:0;max-width:100%}.order-dialog__header>.icon-button{flex:0 0 auto}.order-config-dialog__footer{width:auto}.order-config-dialog__footer>.order-person-field{grid-template-columns:auto minmax(0,1fr) 2.1rem}.order-person-add-inline{width:2.1rem;height:2.1rem}.order-option__price{max-width:6.5rem;overflow:hidden;text-overflow:ellipsis}.order-config-dialog__footer [data-order-config-submit]{white-space:normal;overflow-wrap:anywhere}}
.menu-price-filter { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem 1rem; }
.menu-price-filter label { display: grid; gap: .3rem; min-width: 10rem; }
.menu-price-filter input[type="number"] { min-height: 2.65rem; padding: .45rem .6rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.menu-price-filter input[type="range"] { width: min(18rem, 70vw); }
.menu-price-filter output { min-width: 11rem; font-variant-numeric: tabular-nums; }
.hero[data-image-position="below"] .hero__content { display: grid; gap: var(--space-2); }
.hero[data-image-position="below"] .hero__media { margin-block: .5rem; }
.hero[data-image-position="below"] .hero__media img { min-height: 14rem; max-height: 32rem; }

/* B1.4: Bestellabschluss und Weitergabe */
.order-finish-button{grid-column:1/-1}.order-handoff__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;align-items:start}.order-handoff__fields label{display:grid;gap:.3rem;align-content:start}.order-handoff__caption{display:block;font-weight:750;line-height:1.25}.order-handoff__fields input{box-sizing:border-box;display:block;width:100%;height:2.65rem;min-height:0;margin:0;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;line-height:1.25}.order-handoff__fields input[type="time"]{appearance:none;-moz-appearance:textfield}.order-handoff__preview{display:grid;gap:.75rem;padding:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-muted)}.order-handoff__preview h3{margin:.3rem 0}.order-handoff__meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.2rem .7rem;margin:0}.order-handoff__meta dt{font-weight:750}.order-handoff__meta dd{margin:0}.order-handoff__row,.order-handoff__total{display:flex;justify-content:space-between;gap:1rem;padding:.28rem 0;border-bottom:1px solid var(--color-border)}.order-handoff__total{margin:.25rem 0 0;padding-top:.7rem;border-top:2px solid var(--color-border);border-bottom:0;font-size:1.15rem}.order-confirmation-notice{padding:.75rem;border-inline-start:.3rem solid var(--color-primary);background:var(--color-muted);font-weight:750}.order-handoff__actions{display:flex;flex-wrap:wrap;gap:.5rem}.order-handoff__status-note{color:var(--color-text-muted)}
@media(max-width:600px){.order-handoff__fields{grid-template-columns:1fr}.order-handoff__actions{display:grid;grid-template-columns:1fr}}
@media print{body.is-printing-order>*:not(.order-handoff-dialog){display:none!important}body.is-printing-order .order-handoff-dialog{position:static;display:block;width:100%;max-height:none;border:0}body.is-printing-order .order-handoff-dialog::backdrop,body.is-printing-order .order-handoff__fields,body.is-printing-order .order-view-switch,body.is-printing-order .order-handoff__actions,body.is-printing-order [data-order-handoff-close],body.is-printing-order [data-order-handoff-back],body.is-printing-order .order-handoff__status-note{display:none!important}}


/* Release 0.8.5: kompaktes Filterpanel, stabile Karten und lange Begriffe */
.nav-filter-button{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:.55rem .7rem}
.menu-filter-drawer{position:fixed;z-index:1200;inset-block:0;inset-inline-end:0;width:min(32rem,100%);overflow:auto;padding:1.25rem;background:var(--color-surface);box-shadow:-1rem 0 3rem rgb(0 0 0 / 22%);border-inline-start:1px solid var(--color-border)}
.menu-filter-drawer[hidden]{display:none}.menu-filter-drawer__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;position:sticky;top:0;background:var(--color-surface);padding-block:.5rem;z-index:2}.menu-filter-drawer__header h3{margin:0}.has-open-menu-filters{overflow:visible}.menu-filter-fab{position:fixed;z-index:900;right:1rem;bottom:5rem;box-shadow:var(--shadow-soft)}
.menu-item__header{display:grid;grid-template-columns:var(--menu-number-width,auto) minmax(0,1fr) auto;align-items:start}.menu-item__id{font-size:.78rem;color:var(--color-text-muted);padding-top:.25rem;text-align:left;font-variant-numeric:tabular-nums}.menu-item__header h4{overflow-wrap:anywhere;word-break:break-word;min-width:0}.menu-item__meta,.menu-item__meta *{font-weight:400!important}.menu-item__body{display:flex!important;flex-direction:column}.menu-item__meta{margin-top:auto}.menu-item__description,.menu-item__sides{overflow-wrap:anywhere}
.order-config-dialog__dish-title{display:grid;grid-template-columns:var(--menu-number-width,1ch) minmax(0,1fr);gap:.45rem;align-items:baseline}.order-config-dialog__dish-title>[data-order-config-menu-number]{font-size:.72rem;color:var(--color-text-muted);text-align:right;font-variant-numeric:tabular-nums}.order-config-dialog__dish-title h2{margin:0}
@media(max-width:700px){.menu-filter-fab{bottom:4.5rem}.menu-filter-drawer{width:100%}}


/* Release 0.8.6: nicht modales Filterpanel und Rücksetzbereich */
.menu-filter-drawer{max-width:calc(100vw - 2rem)}
.menu-filter-reset{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border)}
.menu-filter-reset__actions{display:flex;flex-wrap:wrap;gap:.55rem .8rem;align-items:center}
.menu-filter-reset__actions .button{margin-inline-start:auto}
@media(max-width:700px){.menu-filter-drawer{max-width:100vw}.menu-filter-reset__actions .button{width:100%;margin-inline-start:0}}


/* Release 0.8.7: compact filter UX, quick view, header alignment */
.site-nav,.brand,.nav-list,.nav-list>li,.nav-list a,.nav-filter-button{align-items:center}
.nav-list>li{display:flex;min-height:2.75rem}.nav-list a,.nav-filter-button{display:inline-flex;min-height:2.75rem;line-height:1.2}
.nav-filter-button{border:0;background:transparent;color:inherit;font:inherit;font-weight:650;padding:0;cursor:pointer}
.nav-count,.result-count{font-size:.82em;font-weight:400;color:var(--color-text-muted);white-space:nowrap}
.menu-filter-drawer{width:min(25rem,calc(100vw - 1rem));padding:.85rem;gap:.7rem}
.menu-filter-drawer__header,.menu-filter-group__heading{display:flex;align-items:center;justify-content:space-between;gap:.65rem}
.menu-filter-drawer__header>div{display:flex;align-items:center;gap:.6rem}
.menu-filter-drawer__header h3{font-size:var(--filter-title-size,1.2rem);font-weight:var(--filter-title-weight,700);font-style:var(--filter-title-style,normal)}
.menu-filter-group{display:grid;gap:.45rem;padding-block:.45rem;border-top:1px solid var(--color-border)}
.menu-filter-group__heading p,.menu-filter-group__heading label{margin:0;font-size:var(--filter-section-size,1rem);font-weight:var(--filter-section-weight,700);font-style:var(--filter-section-style,normal)}
.menu-search-input{width:100%;min-height:2.55rem;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;background:var(--color-surface);color:var(--color-text)}
.filter-button{min-height:2.2rem;padding:.35rem .7rem;font-size:var(--filter-option-size,.95rem);font-weight:var(--filter-option-weight,400);font-style:var(--filter-option-style,normal)}
.filter-reset-inline{font-size:var(--filter-reset-size,.82rem);font-weight:var(--filter-reset-weight,400);font-style:var(--filter-reset-style,normal);white-space:nowrap}
.menu-quick-view{position:fixed;z-index:1190;inset-block:4.5rem 1rem;inset-inline-end:1rem;width:min(25rem,calc(100vw - 2rem));overflow:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:.75rem}
.menu-quick-view__header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem;background:var(--color-surface);z-index:1}.menu-quick-view__header h3{margin:0;font-size:1.05rem}
.menu-quick-view__list{display:grid;gap:.2rem;margin-top:.5rem}.menu-quick-view__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;width:100%;padding:.5rem .55rem;border:0;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-text);text-align:left;cursor:pointer}.menu-quick-view__item:hover,.menu-quick-view__item:focus-visible{background:var(--color-muted)}
.menu-item--highlight{outline:3px solid var(--color-primary);outline-offset:4px;animation:rtp-highlight 1.6s ease-out}@keyframes rtp-highlight{0%,40%{box-shadow:0 0 0 .5rem color-mix(in srgb,var(--color-primary) 24%,transparent)}100%{box-shadow:none}}
@media(max-width:700px){.menu-filter-drawer,.menu-quick-view{width:100%;max-width:100vw;inset-inline:0}.menu-quick-view{inset-block:4.5rem 0;border-radius:0}.menu-filter-group__heading{align-items:flex-start}}


/* Release 0.8.8: konfigurierbare Panelpositionen und Aktionsstile */
.menu-filter-drawer[data-panel-position="left"]{inset-inline-start:0;inset-inline-end:auto;border-inline-start:0;border-inline-end:1px solid var(--color-border);box-shadow:1rem 0 3rem rgb(0 0 0 / 22%)}
.menu-filter-drawer[data-panel-position="right"]{inset-inline-start:auto;inset-inline-end:0}
.menu-quick-view[data-panel-position="left"]{inset-inline-start:1rem;inset-inline-end:auto}
.menu-quick-view[data-panel-position="right"]{inset-inline-start:auto;inset-inline-end:1rem}
body[data-panel-action-style="subtleBadge"] .menu-filter-drawer .text-button,
body[data-panel-action-style="subtleBadge"] .menu-quick-view .text-button{padding:.25rem .55rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-muted);line-height:1.2;text-decoration:none}
body[data-panel-action-style="button"] .menu-filter-drawer .text-button,
body[data-panel-action-style="button"] .menu-quick-view .text-button{padding:.4rem .7rem;border:1px solid currentColor;border-radius:var(--radius-sm);background:var(--color-surface);text-decoration:none}
body[data-panel-action-style="text"] .menu-filter-drawer .text-button,
body[data-panel-action-style="text"] .menu-quick-view .text-button{padding:0;border:0;background:transparent}
@media(max-width:700px){.menu-filter-drawer[data-panel-position],.menu-quick-view[data-panel-position]{inset-inline:0}}


/* Release 0.8.9: Mobile Experience */
@media (max-width: 760px) {
  .nav-list { gap: .1rem; padding: .45rem; }
  .nav-list > li { min-height: 0; }
  .nav-list a, .nav-filter-button { width: 100%; min-height: 2.75rem; padding: .45rem .6rem; justify-content: flex-start; }
}
@media (max-width: 700px) {
  .menu-filter-drawer, .menu-quick-view {
    top: auto;
    bottom: 0;
    max-height: var(--mobile-panel-max-height, 50vh);
    height: auto;
    min-height: 0;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    overflow: auto;
  }
  body[data-mobile-panels-compact="true"] .menu-filter-drawer,
  body[data-mobile-panels-compact="true"] .menu-quick-view { padding: .55rem; }
  body[data-mobile-panels-compact="true"] .menu-filter-group { gap: .3rem; padding-block: .3rem; }
  body[data-mobile-panels-compact="true"] .filter-button { min-height: 2rem; padding: .28rem .55rem; }
  body[data-mobile-panels-compact="true"] .menu-quick-view__item { padding: .38rem .45rem; }
  body[data-filter-status-enabled="false"] [data-menu-nav-count],
  body[data-filter-status-enabled="false"] [data-menu-fab-count],
  body[data-filter-status-mobile-mode="hidden"] [data-menu-nav-count],
  body[data-filter-status-mobile-mode="hidden"] [data-menu-fab-count] { display:none !important; }
}


/* Release 0.8.10 Sprint 1: mobile header and docked menu panels */
.nav-toggle { align-items:center; justify-content:center; width:2.75rem; height:2.75rem; padding:.55rem; border:2px solid var(--color-primary-contrast); border-radius:var(--radius-sm); background:var(--color-primary); color:var(--color-primary-contrast); box-shadow:0 0 0 1px var(--color-primary); }
.nav-toggle__icon { display:grid; gap:.27rem; width:1.35rem; }
.nav-toggle__icon span { display:block; height:3px; border-radius:99px; background:currentColor; transition:transform .2s ease, opacity .2s ease; }
.nav-toggle:hover { filter:brightness(.92); }
.nav-toggle:focus-visible { outline:3px solid var(--color-secondary); outline-offset:3px; }
@media (prefers-color-scheme: dark) {
  .nav-toggle {
    background:#f2b84b;
    color:#111111;
    border-color:#ffffff;
    box-shadow:0 0 0 2px #111111,0 0 0 4px #ffffff;
  }
  .nav-toggle__icon span { background:#111111; }
}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:nth-child(1){transform:translateY(.36rem) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:nth-child(3){transform:translateY(-.36rem) rotate(-45deg)}
.menu-filter-drawer__header>div,.menu-quick-view__header>div{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
body[data-main-navigation-above-panels="true"] .site-header{z-index:2000}
body[data-main-navigation-above-panels="true"] .nav-list{z-index:2100}
/* Korrektur A8.5.4: Hauptmenü über Werkzeugleiste (z-index 2400). */
body[data-main-navigation-above-panels="true"] .site-header{z-index:4000}
body[data-main-navigation-above-panels="true"] .nav-list{z-index:4100}

.order-config-dialog__footer>.order-person-field{grid-template-columns:auto minmax(0,1fr) 2.35rem}
.order-person-add-inline{width:2.35rem;height:2.35rem;padding:0;border:2px solid var(--color-primary);border-radius:999px;background:var(--color-primary);color:var(--color-primary-contrast);font-family:inherit;font-size:1.35rem;font-weight:700;line-height:1;cursor:pointer}
.order-person-add-inline:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}

@media (max-width:700px){
  .nav-list{gap:.15rem;padding:.45rem;top:calc(100% + .2rem)}
  .nav-list a,.nav-list button{min-height:2.75rem;padding:.5rem .7rem;display:flex;align-items:center;width:100%}
  .menu-filter-drawer[data-panel-placement="belowHeader"],
  .menu-quick-view[data-panel-placement="belowHeader"]{
    position:fixed;
    inset-inline:.5rem;
    top:var(--rtp-header-height,4.5rem);
    bottom:auto;
    width:auto;
    height:clamp(var(--mobile-panel-min-height,180px),var(--mobile-panel-height,42vh),var(--mobile-panel-max-height,80vh));
    max-height:calc(100dvh - var(--rtp-header-height,4.5rem) - .75rem);
    border-radius:0 0 var(--radius-md) var(--radius-md);
    border-top:0;
    overflow:auto;
    z-index:1500;
  }
  .menu-filter-drawer[data-panel-placement="belowHeader"]{box-shadow:0 .8rem 2rem rgb(0 0 0 / 20%)}
  .menu-quick-view[data-panel-placement="belowHeader"]{box-shadow:0 .8rem 2rem rgb(0 0 0 / 20%)}
}


/* Release 0.8.10 Sprint 1.1: browserübergreifende Header- und Panelkorrekturen */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.site-header { z-index: 5000; }
.site-nav { position: relative; }
.nav-list { z-index: 5100; }

/* Gemeinsame Grundgeometrie verhindert unterschiedlich große Panels. */
.menu-filter-drawer,
.menu-quick-view {
  box-sizing: border-box;
  width: min(var(--panel-width, 25rem), calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
  max-height: min(70vh, calc(100dvh - var(--rtp-header-height, 4.5rem) - 1.5rem));
  padding: .75rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  overflow: auto;
  box-shadow: var(--shadow-soft);
}

/* floating: frei schwebend mit Abstand unter dem Header. */
.menu-filter-drawer[data-panel-placement="floating"],
.menu-quick-view[data-panel-placement="floating"] {
  position: fixed;
  top: calc(var(--rtp-header-height, 4.5rem) + 1rem);
  bottom: auto;
}

/* side: seitliches Panel nutzt die verfügbare Höhe unter dem Header. */
.menu-filter-drawer[data-panel-placement="side"],
.menu-quick-view[data-panel-placement="side"] {
  position: fixed;
  top: calc(var(--rtp-header-height, 4.5rem) + .5rem);
  bottom: .75rem;
  max-height: none;
  border-radius: var(--radius-md);
}

/* belowHeader: beide Panels beginnen exakt an derselben Header-Unterkante. */
.menu-filter-drawer[data-panel-placement="belowHeader"],
.menu-quick-view[data-panel-placement="belowHeader"] {
  position: fixed;
  top: var(--rtp-header-height, 4.5rem);
  bottom: auto;
  max-height: min(65vh, calc(100dvh - var(--rtp-header-height, 4.5rem) - .75rem));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.menu-filter-drawer[data-panel-position="left"],
.menu-quick-view[data-panel-position="left"] { left: 1rem; right: auto; }
.menu-filter-drawer[data-panel-position="right"],
.menu-quick-view[data-panel-position="right"] { right: 1rem; left: auto; }

@media (min-width: 1100px) {
  body[data-both-panels-open="true"] .menu-filter-drawer[data-panel-position="left"],
  body[data-both-panels-open="true"] .menu-quick-view[data-panel-position="left"] { left: 1rem; }
  body[data-both-panels-open="true"] .menu-filter-drawer[data-panel-position="right"],
  body[data-both-panels-open="true"] .menu-quick-view[data-panel-position="right"] { right: 1rem; }
}

@media (max-width: 700px) {
  .nav-toggle { display: inline-flex; font-size: 0; }
  .nav-toggle__icon { font-size: initial; }
  .nav-list { z-index: 5100; }
  .menu-filter-drawer,
  .menu-quick-view,
  .menu-filter-drawer[data-panel-placement],
  .menu-quick-view[data-panel-placement] {
    position: fixed;
    inset-inline: .5rem;
    top: var(--rtp-header-height, 4.5rem);
    bottom: auto;
    width: auto;
    max-width: none;
    height: clamp(var(--mobile-panel-min-height, 180px), var(--mobile-panel-height, 42vh), var(--mobile-panel-max-height, 80vh));
    max-height: calc(100dvh - var(--rtp-header-height, 4.5rem) - .5rem);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    z-index: 3000;
  }
  .site-header { z-index: 5000; }
  .nav-list { position: absolute; z-index: 5100; }
}


/* Release 0.8.10 Sprint 1.2 */
.menu-filter-drawer,.menu-quick-view{display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:0;border:1px solid var(--color-border);border-bottom:2px solid var(--color-border);background:var(--color-surface);box-shadow:0 .8rem 2rem rgb(0 0 0 / 20%),0 2px 0 rgb(0 0 0 / 8%)}
.menu-filter-drawer__header,.menu-quick-view__header{position:relative;inset:auto;flex:0 0 auto;margin:0;padding:.7rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:3;isolation:isolate}
.menu-panel__body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:var(--color-surface);scrollbar-gutter:stable}
.menu-filter-drawer__body{padding:0 .75rem .75rem}.menu-quick-view__list{margin:0;padding:.4rem .55rem .65rem}
.menu-filter-drawer[data-panel-placement="belowHeader"],.menu-quick-view[data-panel-placement="belowHeader"]{top:var(--rtp-header-height,4.5rem)!important;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}
.menu-filter-drawer[data-panel-placement="floating"],.menu-quick-view[data-panel-placement="floating"]{top:calc(var(--rtp-header-height,4.5rem) + 1rem)!important;border-radius:var(--radius-md)!important}
.menu-filter-drawer[data-panel-placement="side"],.menu-quick-view[data-panel-placement="side"]{top:calc(var(--rtp-header-height,4.5rem) + .5rem)!important;bottom:.75rem!important;height:auto!important;max-height:none!important;border-radius:var(--radius-md)!important}
@media(max-width:700px){.menu-filter-drawer,.menu-filter-drawer[data-panel-placement]{height:auto!important;max-height:min(var(--mobile-panel-max-height,70vh),calc(100dvh - var(--rtp-header-height,4.5rem) - .5rem))!important}.menu-quick-view,.menu-quick-view[data-panel-placement]{height:auto!important;max-height:min(var(--mobile-panel-height,42vh),var(--mobile-panel-max-height,70vh),calc(100dvh - var(--rtp-header-height,4.5rem) - .5rem))!important}.menu-filter-drawer[data-panel-placement="belowHeader"],.menu-quick-view[data-panel-placement="belowHeader"]{top:var(--rtp-header-height,4.5rem)!important;border-radius:0 0 var(--radius-md) var(--radius-md)!important}.menu-filter-drawer[data-panel-placement="floating"],.menu-quick-view[data-panel-placement="floating"]{top:calc(var(--rtp-header-height,4.5rem) + .65rem)!important;border-radius:var(--radius-md)!important}.menu-filter-drawer[data-panel-placement="side"],.menu-quick-view[data-panel-placement="side"]{top:calc(var(--rtp-header-height,4.5rem) + .35rem)!important;bottom:.5rem!important;max-height:none!important;border-radius:var(--radius-md)!important}}

@media(max-width:760px){
  .nav-list.is-open{max-height:calc(100dvh - var(--rtp-header-height,4.5rem) - .5rem);overflow-y:auto;overscroll-behavior:contain}
}


/* Release 0.8.10 Sprint 1.3: vereinfachte adaptive Panelregel */
.menu-filter-drawer,
.menu-quick-view,
.menu-filter-drawer[data-panel-placement],
.menu-quick-view[data-panel-placement] {
  position: fixed;
  top: var(--rtp-header-height, 4.5rem) !important;
  bottom: auto !important;
  margin-top: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - var(--rtp-header-height, 4.5rem) - var(--desktop-panel-bottom-gap, 16px)) !important;
  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
}
.menu-filter-drawer[data-panel-position="left"],
.menu-quick-view[data-panel-position="left"] { left: 1rem !important; right: auto !important; }
.menu-filter-drawer[data-panel-position="right"],
.menu-quick-view[data-panel-position="right"] { right: 1rem !important; left: auto !important; }
@media (max-width: 700px) {
  .menu-filter-drawer,
  .menu-quick-view,
  .menu-filter-drawer[data-panel-placement],
  .menu-quick-view[data-panel-placement] {
    inset-inline: .5rem !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(var(--mobile-panel-max-height, 50vh), calc(100dvh - var(--rtp-header-height, 4.5rem) - .5rem)) !important;
  }
}
/* B1.6: Abholung und Lieferung */
.order-fulfillment,.order-delivery-address{margin:0;padding:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}
.order-fulfillment__modes{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.order-fulfillment__modes label{display:flex;align-items:center;gap:.4rem;font-weight:750}
.order-fulfillment__hint,.order-delivery-address p{margin:.55rem 0 0;color:var(--color-text-muted)}
.order-delivery-address__grid{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:.65rem}
.order-delivery-address__grid label{display:grid;gap:.3rem;font-weight:750}
.order-delivery-address__grid input{box-sizing:border-box;width:100%;min-height:2.65rem;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}
.order-delivery-address__wide{grid-column:1/-1}
.order-delivery-address__error{color:var(--color-danger,#a40000)!important;font-weight:750}
@media(max-width:600px){.order-delivery-address__grid{grid-template-columns:1fr}.order-delivery-address__wide{grid-column:auto}}
@media print{body.is-printing-order .order-fulfillment,body.is-printing-order .order-delivery-address{display:none!important}}

/* B1.6.3: kompakte Bestellansichten und robuste 360-px-Darstellung */
.order-handoff,.order-handoff>*{min-width:0;max-width:100%}
.order-handoff>.order-dialog__header{position:sticky;top:0;z-index:8;margin:-1.25rem -1.25rem 0;padding:1rem 1.25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:0 .15rem .35rem rgb(0 0 0 / 8%)}
.order-fulfillment,.order-fulfillment__district,.order-fulfillment__district select{box-sizing:border-box;min-width:0;max-width:100%}
.order-fulfillment__district{display:grid;gap:.3rem;margin-top:.55rem;font-weight:750}
.order-fulfillment__district select{width:100%;min-height:2.65rem;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;text-overflow:ellipsis}
.order-handoff__preview,.order-handoff__meta,.order-handoff__row,.order-handoff__total,.order-confirmation-notice,.order-handoff__actions{min-width:0;max-width:100%}
.order-handoff__meta dd,.order-handoff__row span,.order-confirmation-notice,.order-handoff__status-note{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.order-handoff__actions .button{box-sizing:border-box;min-width:0;max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}
[data-order-density="supernarrow"] .order-dialog__content,[data-order-density="supernarrow"] .order-config-dialog__content{gap:.35rem}
[data-order-density="supernarrow"] .order-option-groups{gap:.4rem}
[data-order-density="supernarrow"] .order-dialog__content--scrolling>*+*{margin-top:.38rem}
[data-order-density="supernarrow"] .order-dialog__content--scrolling>.order-cart-dialog__header{margin-bottom:.38rem}
[data-order-density="supernarrow"] .order-list{gap:.38rem}
[data-order-density="supernarrow"] .order-item{gap:.22rem;padding:.62rem}
[data-order-density="supernarrow"] .order-item__controls{margin-top:0}
[data-order-density="supernarrow"] .order-fulfillment,[data-order-density="supernarrow"] .order-delivery-address,[data-order-density="supernarrow"] .order-handoff__preview,[data-order-density="supernarrow"] .order-confirmation-notice{padding:.55rem}
[data-order-density="supernarrow"] .order-handoff__preview{gap:.4rem}
[data-order-density="supernarrow"] .order-handoff__preview h3{margin:.1rem 0}
[data-order-density="ultranarrow"] .order-dialog__content,[data-order-density="ultranarrow"] .order-config-dialog__content{gap:.18rem}
[data-order-density="ultranarrow"] .order-option-groups{gap:.2rem}
[data-order-density="ultranarrow"] .order-dialog__content--scrolling>*+*{margin-top:.16rem}
[data-order-density="ultranarrow"] .order-dialog__content--scrolling>.order-cart-dialog__header{margin-bottom:.16rem}
[data-order-density="ultranarrow"] .order-list{gap:.18rem}
[data-order-density="ultranarrow"] .order-item{gap:.08rem;padding:.42rem}
[data-order-density="ultranarrow"] .order-item__quantity-caption{display:none}
[data-order-density="ultranarrow"] .order-item__controls label{gap:0}
[data-order-density="ultranarrow"] .order-fulfillment,[data-order-density="ultranarrow"] .order-delivery-address,[data-order-density="ultranarrow"] .order-handoff__preview,[data-order-density="ultranarrow"] .order-confirmation-notice{padding:.35rem}
[data-order-density="ultranarrow"] .order-handoff__preview{gap:.2rem}
[data-order-density="ultranarrow"] .order-handoff__preview h3{margin:0}
@media(max-width:600px){
  [data-order-density="normal"] .order-dialog__content,[data-order-density="normal"] .order-config-dialog__content{gap:.58rem}
  [data-order-density="normal"] .order-option-groups{gap:.55rem}
  [data-order-density="supernarrow"] .order-dialog__content,[data-order-density="supernarrow"] .order-config-dialog__content{gap:.28rem}
  [data-order-density="supernarrow"] .order-option-groups{gap:.26rem}
  [data-order-density="ultranarrow"] .order-dialog__content,[data-order-density="ultranarrow"] .order-config-dialog__content{gap:.1rem}
  [data-order-density="ultranarrow"] .order-option-groups{gap:.1rem}
}
@media(max-width:600px){.order-handoff>.order-dialog__header{margin:-.38rem -.38rem 0;padding:.5rem .38rem}.order-handoff__meta{grid-template-columns:1fr;gap:.08rem}.order-handoff__meta dd{margin:0 0 .22rem}.order-handoff__row,.order-handoff__total{gap:.45rem}.order-handoff__row strong,.order-handoff__total strong{flex:0 0 auto}.order-confirmation-notice{padding:.55rem}.order-handoff__actions .button{padding-inline:.45rem}}
/* B1.6.15: echte 360-px-Breite ohne intrinsisches Überlaufen. Diese Regeln
   stehen bewusst nach den allgemeinen Personen- und Footer-Regeln. */
@media(max-width:600px){
  .order-config-dialog__content{width:100%;overflow-x:hidden}
  fieldset.order-option-group{min-inline-size:0;width:100%;max-width:100%}
  .order-option{min-width:0;width:100%}
  .order-option__copy{min-width:0;overflow-wrap:anywhere}
  .order-option__price{max-width:none;overflow:visible;text-overflow:clip}
  .order-config-dialog__footer{width:100%;margin-inline:0;padding-inline:.2rem}
  .order-config-dialog__footer>.order-person-field{width:100%;grid-template-columns:auto minmax(0,1fr) 2rem}
  .order-person-field select{min-width:0;max-width:100%}
  .order-person-add-inline{width:2rem;height:2rem;min-width:2rem}
  .order-config-dialog__footer [data-order-config-submit]{max-width:100%;min-width:0}
}
.demo-banner {
  position: relative;
  z-index: 20;
  padding: 0.55rem 1rem;
  background: #241b16;
  color: #fff;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}
.consent-banner {
  position: fixed;
  inset: auto 0 0;
  z-index: 120;
  padding: 1rem;
  background: color-mix(in srgb, var(--color-text) 35%, transparent);
}
.consent-banner__content {
  max-width: 68rem;
  margin: 0 auto;
  padding: 1rem 1.2rem;
  border: 1px solid var(--color-border);
  border-radius: .8rem;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: 0 -.4rem 1.5rem #0004;
}
.consent-banner__content h2 { margin-top: 0; }
.consent-banner__actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.consent-option { display: flex; justify-content: space-between; gap: 1rem; align-items: start; padding: .8rem 0; border-top: 1px solid var(--color-border); }
.consent-option p { margin: .25rem 0 0; }
.consent-option input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; }
@media (max-width: 520px) {
  .consent-banner { padding: .5rem; }
  .consent-banner__actions .button { width: 100%; }
}


/* B1.6.35 – konfigurierbares Erklärvideo / Kino */
.section--video { background: linear-gradient(180deg, var(--color-surface), var(--color-muted)); }
.explainer-video { max-width: 56rem; margin: 1.4rem auto 0; text-align: center; }
.explainer-video__screen { max-width: 24rem; margin: 0 auto 1rem; padding: .55rem; border-radius: 1.5rem; background: #111; box-shadow: 0 1rem 2.5rem rgba(0,0,0,.18); }
.explainer-video__player { display: block; width: 100%; aspect-ratio: 9 / 16; max-height: 72vh; border-radius: 1rem; background: #000; object-fit: contain; }
.explainer-video__hint { max-width: 44rem; margin: .75rem auto 1rem; color: var(--color-text-muted); font-size: .95rem; }
@media (min-width: 760px) { .explainer-video__screen { max-width: 22rem; } }

/* B1.6.41: Bestellabschluss – ausgerichtete Felder und lokale Bestellerdaten */
.order-handoff__required-note{margin-top:-.35rem;color:var(--color-text-muted);font-size:.84rem}
.order-handoff__fields label{grid-template-rows:3.2em 2.65rem}
.order-handoff__caption,.order-delivery-address__caption{display:flex;align-items:flex-end;min-height:3.2em;font-weight:750;line-height:1.25}
.order-delivery-address__grid label{grid-template-rows:3.2em 2.65rem}
.order-delivery-address__grid input{height:2.65rem;min-height:2.65rem}
.order-field--optional{opacity:.62;transition:opacity .15s ease}
.order-field--optional:focus-within{opacity:.9}
.order-fulfillment__saved-actions{display:flex;flex-wrap:wrap;margin-top:.55rem}
.order-fulfillment__saved-actions .button,.order-handoff__actions [data-order-customer-save]{font-size:.92rem}
[data-order-customer-save].button--primary{font-weight:800}
@media(max-width:600px){.order-handoff__fields label,.order-delivery-address__grid label{grid-template-rows:auto 2.65rem}.order-handoff__caption,.order-delivery-address__caption{min-height:0}}
