/* ==========================================================================
   Restaurant template — 2026 inner pages (premium theme)
   Shared page head, image band, lead text, and page-specific blocks.
   Builds on premium-2026.css (tokens, type, buttons) and, where a page
   reuses homepage sections (story, facts), home-2026.css.
   ========================================================================== */

/* ---- page head ---------------------------------------------------------- */
.p26-head { padding: clamp(4.5rem, 10vw, 9rem) 0 clamp(2.6rem, 5vw, 4.2rem); }
.p26 .p26-head__title {
    font-family: var(--h-serif); font-weight: 400; font-style: normal;
    font-size: clamp(3.4rem, 10.5vw, 11rem); line-height: .88; letter-spacing: -.04em;
    color: var(--h-ink); margin: 0; text-transform: none; max-width: 12ch;
}
.p26-head__title em { display: block; font-style: italic; color: var(--h-wine); padding-left: clamp(0rem, 7vw, 8rem); }
.p26-head__row { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; flex-wrap: wrap; margin-top: clamp(2rem, 4vw, 3rem); }
.p26 .p26-head__intro { max-width: 36rem; font-size: clamp(1.02rem, 1.3vw, 1.2rem); line-height: 1.65; color: var(--h-ink-2); margin: 0; }

/* ---- full-bleed image band --------------------------------------------- */
.p26-band { margin: 0 var(--h-gutter); height: clamp(320px, 62vh, 760px); overflow: hidden; border-radius: 4px; }
.p26-band img { width: 100%; height: 124%; margin-top: -12%; object-fit: cover; display: block; }

/* ---- text blocks --------------------------------------------------------- */
.p26 .p26-lead { font-family: var(--h-serif); font-size: clamp(1.8rem, 3.4vw, 3.4rem); line-height: 1.1; letter-spacing: -.018em; color: var(--h-ink); margin: 0 0 2.4rem; text-wrap: pretty; }
.p26 .p26-body { font-size: 1.06rem; line-height: 1.8; color: var(--h-ink-2); max-width: 40rem; margin: 0; }

/* ---- about: kitchens ----------------------------------------------------- */
.p26-kitchens { background: var(--h-bone); }
.p26-kitchens__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 5rem); }
.p26-kitchen:nth-child(2) { margin-top: clamp(0rem, 8vw, 8rem); }
.p26-kitchen__img { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; margin-bottom: 1.8rem; background: var(--h-bone); }
.p26-kitchen__img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.18); transform-origin: 42% 42%; transition: transform 1.4s var(--h-ease); }
.p26-kitchen:hover .p26-kitchen__img img { transform: scale(1.26); }
.p26 .p26-kitchen__tag { font: 500 .72rem/1 var(--h-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--h-bronze); margin: 0 0 .8rem; }
.p26 .p26-kitchen__h { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: clamp(2rem, 3vw, 3rem); line-height: 1; letter-spacing: -.02em; margin: 0 0 1.2rem; color: var(--h-ink); }
.p26 .p26-kitchen p:last-child { font-size: 1.02rem; line-height: 1.75; color: var(--h-ink-2); margin: 0; max-width: 34rem; }

.p26-facts-sec { padding-top: 0; background: var(--h-bone); }
.p26-facts-sec .h26-facts { margin-top: 0; }

/* ---- big quote ----------------------------------------------------------- */
.p26-quote-sec { padding: clamp(5rem, 11vw, 10rem) 0; text-align: center; border-top: 1px solid var(--h-line); }
.p26 .p26-bigquote {
    font-family: var(--h-serif); font-style: italic; font-size: clamp(2.2rem, 5vw, 5rem); line-height: 1.02; letter-spacing: -.025em;
    color: var(--h-ink); margin: 0 auto 2rem; max-width: 20ch; border: 0; padding: 0; text-wrap: balance;
}

@media (max-width: 720px) {
    .p26-kitchens__grid { grid-template-columns: 1fr; gap: 3.4rem; }
    .p26-kitchen:nth-child(2) { margin-top: 0; }
    .p26-band { height: 52vh; margin: 0 1rem; }
    .p26-head__title em { padding-left: 0; }
}

/* ==========================================================================
   MENU (menu.php) — editorial spreads: sticky numbered title left, ruled
   dish rows right. Markup unchanged; category-bar JS keeps working.
   ========================================================================== */
.p26 .cat-nav {
    background: color-mix(in srgb, var(--h-paper) 94%, transparent);
    border-top: 1px solid var(--h-line); border-bottom: 1px solid var(--h-line);
    box-shadow: none !important; margin-bottom: 0;
}
.p26 .cat-nav__track { max-width: 1560px; padding: 0 var(--h-gutter); gap: 0; }
.p26 .cat-chip {
    border: 0; border-radius: 0; background: none !important; color: var(--h-mute);
    font: 500 .74rem/1 var(--h-sans); letter-spacing: .12em; text-transform: uppercase;
    padding: 1.35rem 1.1rem; position: relative;
}
.p26 .cat-chip::after { content: ""; position: absolute; left: 1.1rem; right: 1.1rem; bottom: -1px; height: 2px; background: var(--h-ink); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--h-ease); }
.p26 .cat-chip:hover { color: var(--h-ink); }
.p26 .cat-chip.is-active { color: var(--h-ink) !important; }
.p26 .cat-chip.is-active::after { transform: scaleX(1); }
.p26 .cat-chip:first-child { padding-left: 0; }
.p26 .cat-chip:first-child::after { left: 0; }

.p26 .menu-section { padding: 0 0 clamp(4rem, 8vw, 7rem); counter-reset: mcat; }
.p26 .menu-section > .container { max-width: 1560px; padding: 0 var(--h-gutter); }
.p26 .menu-category {
    counter-increment: mcat;
    display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 2rem clamp(2rem, 5vw, 6rem);
    margin: 0; padding: clamp(3.5rem, 7vw, 6.5rem) 0; border-bottom: 1px solid var(--h-line);
    align-items: start;
}
.p26 .menu-category__header {
    position: sticky; top: calc(var(--header-h, 96px) + var(--catnav-h, 60px) + 2rem);
    text-align: left; max-width: none; margin: 0;
}
.p26 .menu-category__header::before {
    content: "(" counter(mcat, decimal-leading-zero) ")";
    display: block; font: 500 .76rem/1 var(--h-sans); letter-spacing: .08em; color: var(--h-bronze); margin-bottom: 1.2rem;
}
.p26 .menu-category__header h2 {
    font-family: var(--h-serif); font-style: normal; font-weight: 400;
    font-size: clamp(2.6rem, 4.6vw, 4.8rem); line-height: .95; letter-spacing: -.03em;
    color: var(--h-ink); margin: 0 0 1rem;
}
.p26 .menu-category__intro { color: var(--h-mute); font-size: 1rem; line-height: 1.6; max-width: 26rem; }
.p26 .menu-category__ribbon { background: var(--h-wine); color: var(--h-paper); border-radius: 999px; font: 500 .66rem/1 var(--h-sans); letter-spacing: .14em; text-transform: uppercase; padding: .55rem .9rem; display: inline-flex; gap: .5rem; align-items: center; margin-bottom: 1.2rem; }
.p26 .menu-category__hero { grid-column: 1 / -1; border-radius: 4px; overflow: hidden; max-height: 460px; }

.p26 .menu-list { display: block; max-width: none; margin: 0; border-top: 1px solid var(--h-line); }
.p26 .menu-card {
    display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.4rem;
    padding: 1.5rem 0; background: none; border: 0; border-bottom: 1px solid var(--h-line); border-radius: 0;
    box-shadow: none !important; transform: none !important;
}
.p26 .menu-card.has-image { grid-template-columns: minmax(0, 1fr) 112px; }
.p26 .menu-card__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1.5rem; align-items: baseline; }
.p26 .menu-card__name { grid-column: 1; font-family: var(--h-serif); font-weight: 400; font-style: normal; font-size: clamp(1.45rem, 1.9vw, 1.85rem); line-height: 1.1; letter-spacing: -.012em; margin: 0 0 .4rem; color: var(--h-ink); transition: color .4s, transform .6s var(--h-ease); }
.p26 .menu-card:hover .menu-card__name { color: var(--h-wine); transform: translateX(6px); }
.p26 .menu-card__desc { grid-column: 1 / -1; color: var(--h-mute); font-size: .96rem; line-height: 1.55; margin: 0 0 .6rem; max-width: 44rem; }
.p26 .menu-card__bottom { display: contents; }
.p26 .menu-card__price {
    grid-column: 2; grid-row: 1; justify-self: end;
    font-family: var(--h-serif); font-size: clamp(1.35rem, 1.7vw, 1.65rem); color: var(--h-ink); white-space: nowrap; font-weight: 400;
}
.p26 .menu-card__meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .3rem .5rem; align-items: center; }
.p26 .menu-card .tag { background: none !important; border: 0 !important; padding: 0 !important; font: 500 .66rem/1.4 var(--h-sans) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--h-mute) !important; }
.p26 .menu-card .tag--veg { color: #3f5b2c !important; }
.p26 .menu-card .tag--veg::before { content: "\25CF"; margin-right: .35rem; font-size: .5rem; vertical-align: middle; }
.p26 .menu-card__image { width: 112px; height: 112px; border-radius: 4px; overflow: hidden; background: var(--h-bone); align-self: center; }
.p26 .menu-card__image img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.22); transform-origin: 42% 42%; transition: transform 1.2s var(--h-ease); }
.p26 .menu-card:hover .menu-card__image img { transform: scale(1.32); }

.p26 .allergen-key { max-width: 60rem; margin: clamp(3rem, 6vw, 5rem) 0 0; font-size: .86rem; line-height: 1.8; color: var(--h-mute); }
.p26 .allergen-key strong { display: block; font: 500 .72rem/1 var(--h-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--h-bronze); margin-bottom: 1rem; }

@media (max-width: 900px) {
    .p26 .menu-category { grid-template-columns: 1fr; gap: 1.6rem; }
    .p26 .menu-category__header { position: static; }
}
@media (max-width: 720px) {
    .p26 .cat-chip { padding: 1.1rem .85rem; font-size: .68rem; }
    .p26 .menu-card.has-image { grid-template-columns: minmax(0, 1fr) 76px; gap: 1rem; }
    .p26 .menu-card__image { width: 76px; height: 76px; align-self: start; }
    .p26 .menu-card__name { font-size: 1.35rem; }
}

/* ==========================================================================
   GALLERY (gallery.php) — calm masonry of natural-ratio photos
   ========================================================================== */
.p26 .gallery-page.bento {
    display: block !important; columns: 3 340px; column-gap: clamp(.8rem, 1.6vw, 1.5rem);
    max-width: none; margin: 0;
}
.p26 .gallery-page .bento-tile {
    display: block; width: 100%; height: auto !important; aspect-ratio: auto !important;
    grid-column: auto !important; grid-row: auto !important;
    margin: 0 0 clamp(.8rem, 1.6vw, 1.5rem); break-inside: avoid;
    border-radius: 4px; box-shadow: none !important; transform: none !important;
    cursor: zoom-in; background: var(--h-bone);
}
.p26 .gallery-page .bento-tile::after { display: none; }
.p26 .gallery-page .bento-tile img { height: auto; display: block; transition: transform 1.4s var(--h-ease); filter: none; }
.p26 .gallery-page .bento-tile:hover img { transform: scale(1.04); filter: none; }
.p26 .gallery-page .bento-tile.reveal { opacity: 1; transform: none; }
.p26 .gallery-page ~ .lightbox, .p26 .lightbox { background: rgba(20, 17, 16, .96); }
.p26 .lightbox__img { border-radius: 2px; }
.p26 .lightbox__close, .p26 .lightbox__nav { border-radius: 50%; border: 1px solid color-mix(in srgb, var(--h-paper) 30%, transparent); background: transparent; color: var(--h-paper); width: 52px; height: 52px; }
.p26 .lightbox__close:hover, .p26 .lightbox__nav:hover { background: var(--h-paper); color: var(--h-ink); }
.p26 main > section.section:has(.gallery-page) { padding-top: clamp(2.4rem, 5vw, 4rem) !important; }
.p26 main > section.section:has(.gallery-page) > .container { max-width: 1560px; padding: 0 var(--h-gutter); }
@media (max-width: 720px) { .p26 .gallery-page.bento { columns: 2; } }

/* ==========================================================================
   CONTACT / RESERVATION (contact.php)
   Wizard left, sticky dark "visit" card right; find-us as an editorial split.
   ========================================================================== */
.p26 #reserve { padding-top: clamp(2.6rem, 5vw, 4.5rem) !important; }
.p26 #reserve > .container {
    max-width: 1560px !important; padding: 0 var(--h-gutter);
    display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 2rem clamp(2rem, 5vw, 5.5rem); align-items: start;
}
.p26 #reserve > .container > :not(.rw-contact) { grid-column: 1; }
.p26 #reserve .rw-contact { grid-column: 2; grid-row: 1 / span 4; }
.p26 .rw { background: var(--h-paper); border: 1px solid var(--h-line); border-radius: 4px; box-shadow: none; padding: clamp(1.6rem, 3.4vw, 3rem); }
.p26 .rw__title { font-family: var(--h-serif); font-weight: 400; font-size: clamp(2rem, 3vw, 2.8rem); letter-spacing: -.02em; line-height: 1; }
.p26 .rw__title em, .p26 .rw__title strong { font-style: italic; color: var(--h-wine); font-weight: 400; }
.p26 .rw__sub, .p26 .rw__estim { color: var(--h-mute); }

.p26 .rw-contact {
    position: sticky; top: calc(var(--header-h, 96px) + 1.5rem);
    margin: 0; max-width: none; display: block;
    background: var(--h-ink); color: color-mix(in srgb, var(--h-paper) 75%, transparent);
    border: 0; border-radius: 4px; box-shadow: none; padding: clamp(1.8rem, 3vw, 2.6rem);
    opacity: 1 !important; transform: none !important;
}
.p26 .rw-contact__col + .rw-contact__col { margin-top: 2.2rem; padding-top: 2.2rem; border-top: 1px solid color-mix(in srgb, var(--h-paper) 12%, transparent); }
.p26 .rw-contact__title { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: 1.9rem; line-height: 1.05; color: var(--h-paper); margin: 0 0 1.4rem; letter-spacing: -.015em; }
.p26 .rw-contact__list dt { font: 500 .66rem/1 var(--h-sans); letter-spacing: .16em; color: var(--h-bronze); margin-top: 1.3rem; }
.p26 .rw-contact__list dd { color: var(--h-paper); font-size: 1rem; }
.p26 .rw-contact__list dd a { color: var(--h-paper); border-bottom-color: color-mix(in srgb, var(--h-paper) 30%, transparent); }
.p26 .rw-contact__list dd a:hover { color: var(--h-paper); border-color: var(--h-paper); }
.p26 .rw-contact__hours li { border-bottom: 1px solid color-mix(in srgb, var(--h-paper) 10%, transparent); color: color-mix(in srgb, var(--h-paper) 85%, transparent); font-size: .92rem; gap: 1rem; }
.p26 .rw-contact__hours li:last-child { border-bottom: 0; }
.p26 .rw-contact__day { color: color-mix(in srgb, var(--h-paper) 60%, transparent); white-space: nowrap; }
.p26 .rw-contact__time { text-align: right; font-variant-numeric: tabular-nums; }
.p26 .rw-contact__time .hours-win { white-space: nowrap; }
.p26 .rw-contact__hours li.is-today { background: linear-gradient(90deg, color-mix(in srgb, var(--h-bronze) 18%, transparent), transparent); margin: 0 -.6rem; padding-left: .6rem; padding-right: .6rem; border-radius: 0; }
.p26 .rw-contact__hours li.is-today .rw-contact__day { color: var(--h-paper); font-weight: 600; }
.p26 .rw-contact__closed { font-family: var(--h-serif); font-style: italic; font-size: 1.05rem; color: color-mix(in srgb, var(--h-paper) 55%, transparent); }

/* find us */
.p26 #findus { background: var(--h-bone); padding: clamp(5rem, 10vw, 9rem) 0 !important; }
.p26 #findus > .container { max-width: 1560px; padding: 0 var(--h-gutter); }
.p26 .findus__header { text-align: left; margin: 0 0 clamp(2.4rem, 5vw, 4rem); max-width: none; }
.p26 .findus__header .eyebrow { display: block; font: 500 .74rem/1 var(--h-sans); letter-spacing: .16em; color: var(--h-bronze); margin-bottom: 1.4rem; }
.p26 .findus__header h2 { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: clamp(2.6rem, 5.4vw, 5.4rem); line-height: .96; letter-spacing: -.03em; margin: 0 0 1.2rem; }
.p26 .findus__header .lead { margin: 0; color: var(--h-ink-2); }
.p26 .findus { max-width: none; background: none; border: 0; box-shadow: none; border-radius: 0; gap: clamp(2rem, 5vw, 5rem); grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); overflow: visible; }
.p26 .findus__card { background: none; padding: 0; gap: 1.6rem; }
.p26 .findus__status { background: var(--h-paper); border: 1px solid var(--h-line); }
.p26 .findus__label { font: 500 .68rem/1 var(--h-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--h-bronze); }
.p26 .findus__addr { font-family: var(--h-serif); font-style: normal; font-size: 1.8rem; line-height: 1.2; color: var(--h-ink); }
.p26 .findus__map { border-radius: 4px; overflow: hidden; min-height: 460px; }
.p26 .findus__map iframe { filter: grayscale(1) contrast(1.05) sepia(.18); transition: filter .8s var(--h-ease); }
.p26 .findus__map:hover iframe { filter: none; }

@media (max-width: 1000px) {
    .p26 #reserve > .container { grid-template-columns: 1fr; }
    .p26 #reserve .rw-contact { grid-column: 1; grid-row: auto; position: static; }
    .p26 .findus { grid-template-columns: 1fr; }
    .p26 .findus__map { min-height: 340px; }
}

/* ==========================================================================
   SHARED section heads on older pages (groups, careers, faq …):
   same editorial title as the new pages.
   ========================================================================== */
.p26 .section-head h2 {
    font-family: var(--h-serif); font-style: normal; font-weight: 400;
    font-size: clamp(2.4rem, 5.2vw, 5rem); line-height: .98; letter-spacing: -.028em; color: var(--h-ink);
    max-width: 18ch; text-wrap: balance;
}
.p26 .section-head .eyebrow, .p26 .section-head .section__eyebrow { font: 500 .74rem/1 var(--h-sans); letter-spacing: .16em; color: var(--h-bronze); margin-bottom: 1.4rem; }
.p26 .section-head .lead { color: var(--h-ink-2); }
.p26 .section > .container:not(.container--narrow) { max-width: 1560px; padding: 0 var(--h-gutter); }

/* ==========================================================================
   GROUPS (groups.php)
   ========================================================================== */
.p26 .groups-hero {
    min-height: min(100svh, 980px); display: flex; align-items: flex-end;
    margin-top: calc(-1 * var(--h26-header, 96px));
    padding: calc(var(--h26-header, 96px) + 4rem) 0 clamp(2rem, 4vw, 3rem);
    background: var(--h-deep);
}
.p26 .groups-hero__bg { background: var(--h-deep); }
.p26 .groups-hero__bg::after { display: none; }
.p26 .groups-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); animation: h26-settle 2.6s var(--h-ease) forwards; }
@keyframes h26-settle { to { transform: scale(1); } }
.p26 .groups-hero--photo .groups-hero__bg::before {
    content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(0deg, rgba(12, 10, 9, .94) 0%, rgba(12, 10, 9, .7) 40%, rgba(12, 10, 9, .5) 75%, rgba(12, 10, 9, .62) 100%), linear-gradient(90deg, rgba(12, 10, 9, .45) 0%, rgba(12, 10, 9, 0) 65%);
}
.p26 .groups-hero__inner { max-width: 1560px; padding: 0 var(--h-gutter); text-align: left !important; width: 100%; }
.p26 .groups-hero__eyebrow { justify-content: flex-start; color: rgba(255, 255, 255, .75) !important; font: 500 .72rem/1 var(--h-sans); letter-spacing: .2em; margin-bottom: 1.8rem; }
.p26 .groups-hero__eyebrow::before, .p26 .groups-hero__eyebrow::after { display: none; }
.p26 .groups-hero__h1 {
    font-family: var(--h-serif); font-weight: 400; font-style: normal; text-align: left;
    font-size: clamp(3.2rem, 8.6vw, 9.5rem); line-height: .9; letter-spacing: -.035em; color: #fff; margin: 0 0 1.8rem; max-width: 13ch;
}
.p26 .groups-hero__h1 em { display: block; font-style: italic; color: var(--h-glow); }
.p26 .groups-hero__sub { text-align: left; margin: 0 0 2.2rem; max-width: 36rem; color: rgba(255, 255, 255, .85); font-size: clamp(1rem, 1.2vw, 1.12rem); }
.p26 .groups-hero__ctas { justify-content: flex-start; gap: 1rem 1.6rem; }
.p26 .groups-hero .btn--primary { background: var(--h-paper); color: var(--h-ink); border-color: var(--h-paper); --hover-fill: #fff; }
.p26 .groups-hero .btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .5); --hover-fill: #fff; }
.p26 .groups-hero .btn--ghost:hover { color: var(--h-ink); }
/* highlights: a ruled strip, numbered, light on dark (not bone cards) */
.p26 .groups-hero__highlights {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important; max-width: none !important;
    margin-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid rgba(255, 255, 255, .2) !important; gap: 0 !important;
}
.p26 .groups-hero__highlights > li {
    background: none !important; padding: 1.4rem 1.6rem 0 0 !important; border-radius: 0; color: rgba(255, 255, 255, .75);
    border-right: 1px solid rgba(255, 255, 255, .12); margin-right: 1.6rem;
}
.p26 .groups-hero__highlights > li:last-child { border-right: 0; margin-right: 0; }
.p26 .groups-hero__highlights > li::before { position: static !important; display: block; font: 500 .72rem/1 var(--h-sans) !important; letter-spacing: .08em; color: var(--h-bronze) !important; margin-bottom: .9rem; content: "(0" counter(premium-card) ")" !important; }
.p26 .groups-hero__highlights strong { display: block; font-family: var(--h-serif); font-style: normal !important; font-weight: 400; font-size: 1.5rem; line-height: 1.1; color: #fff !important; margin-bottom: .4rem; }
.p26 .groups-hero__highlights span { color: rgba(255, 255, 255, .68) !important; font-size: .9rem; line-height: 1.5; }

#packages .section-head .eyebrow, #group-faq .section-head .eyebrow { display: none !important; }
.p26 .pkg-grid { gap: clamp(1rem, 2vw, 1.8rem); }
.p26 .pkg-card { background: var(--h-paper) !important; border: 1px solid var(--h-line) !important; border-radius: 4px !important; padding: clamp(1.6rem, 2.6vw, 2.4rem) !important; transition: border-color .5s !important; }
.p26 .pkg-card:hover { border-color: var(--h-ink) !important; }
.p26 .pkg-card.is-featured { background: var(--h-ink) !important; color: color-mix(in srgb, var(--h-paper) 80%, transparent); border-color: var(--h-ink) !important; outline: 0; }
.p26 .pkg-card.is-featured .pkg-card__name, .p26 .pkg-card.is-featured .pkg-card__price-amt { color: var(--h-paper); }
.p26 .pkg-card.is-featured p, .p26 .pkg-card.is-featured li, .p26 .pkg-card.is-featured summary { color: color-mix(in srgb, var(--h-paper) 75%, transparent); }
.p26 .pkg-card.is-featured .btn--ghost { color: var(--h-paper); border-color: color-mix(in srgb, var(--h-paper) 50%, transparent); --hover-fill: var(--h-paper); }
.p26 .pkg-card.is-featured .btn--ghost:hover { color: var(--h-ink); }
.p26 .pkg-card__badge { background: var(--h-wine) !important; }
.p26 .pkg-card__name { font-family: var(--h-serif); font-style: normal !important; font-weight: 400; font-size: clamp(1.8rem, 2.4vw, 2.4rem); line-height: 1; letter-spacing: -.02em; }
.p26 .pkg-card__price-amt { font-family: var(--h-serif); font-style: normal !important; font-size: clamp(2.4rem, 3.4vw, 3.4rem) !important; letter-spacing: -.03em; }
.p26 .pkg-card--alacarte { border-style: dashed !important; background: transparent !important; }

.p26 #inquiry { background: var(--h-bone); }

/* closer becomes the wine band */
.p26 .groups-closer { background: var(--h-wine) !important; color: var(--h-paper); padding: clamp(6rem, 12vw, 11rem) 0 !important; }
.p26 .groups-closer .container { text-align: left !important; max-width: 1560px; padding: 0 var(--h-gutter); }
.p26 .groups-closer h2 { font-family: var(--h-serif); font-style: italic; font-weight: 400; font-size: clamp(3rem, 8vw, 8rem); line-height: .92; letter-spacing: -.035em; color: var(--h-paper); max-width: 14ch; margin: 0 0 1.6rem !important; }
.p26 .groups-closer .lead { margin: 0 0 2.6rem !important; color: color-mix(in srgb, var(--h-paper) 80%, transparent); }
.p26 .groups-closer .hero__ctas { justify-content: flex-start !important; }
.p26 .groups-closer .btn--primary { background: var(--h-paper); color: var(--h-ink); border-color: var(--h-paper); --hover-fill: var(--h-bronze); }
.p26 .groups-closer .btn--primary:hover { color: #fff; }
.p26 .groups-closer .btn--ghost { color: var(--h-paper); border-color: color-mix(in srgb, var(--h-paper) 50%, transparent); --hover-fill: var(--h-paper); }
.p26 .groups-closer .btn--ghost:hover { color: var(--h-ink); }

/* the header sits transparent over the groups photo hero, like the homepage */
.p26:has(.groups-hero--photo) .site-header:not(.is-scrolled) { background: transparent !important; border-bottom-color: rgba(255, 255, 255, .16) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: none !important; }
.p26:has(.groups-hero--photo) .site-header:not(.is-scrolled) .lang-dd__btn,
.p26:has(.groups-hero--photo) .site-header:not(.is-scrolled) .nav-cta { color: #fff !important; border-color: rgba(255, 255, 255, .55) !important; background: transparent !important; }
.p26:has(.groups-hero--photo) .site-header:not(.is-scrolled) .nav-toggle span { background: #fff; }
@media (min-width: 721px) { .p26:has(.groups-hero--photo) .site-header:not(.is-scrolled) .primary-nav a { color: #fff !important; } }
.p26.is-drawer-open:has(.groups-hero--photo) .site-header { background: var(--h-paper) !important; }
.p26.is-drawer-open:has(.groups-hero--photo) .site-header .nav-toggle span { background: var(--h-ink); }

@media (max-width: 900px) {
    .p26 .groups-hero__highlights { grid-template-columns: 1fr 1fr !important; }
    .p26 .groups-hero__highlights > li:nth-child(2) { border-right: 0; margin-right: 0; }
    .p26 .groups-hero__highlights > li:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 1.4rem; }
}
@media (max-width: 520px) {
    .p26 .groups-hero__highlights { grid-template-columns: 1fr !important; }
    .p26 .groups-hero__highlights > li { border-right: 0 !important; margin-right: 0 !important; padding-bottom: 1.2rem !important; border-bottom: 1px solid rgba(255, 255, 255, .12); margin-top: 0 !important; border-top: 0 !important; }
}

/* ==========================================================================
   FAQ — shared block (every page) + /faq.php
   Two columns: sticky title + "ask us" on the left, ruled questions right.
   ========================================================================== */
.p26 .faq-section { background: var(--h-paper) !important; border-top: 1px solid var(--h-line); padding: clamp(5rem, 10vw, 9rem) 0 !important; }
.p26 .faq-section > .container {
    max-width: 1560px; padding: 0 var(--h-gutter);
    display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); grid-template-rows: auto 1fr; gap: 0 clamp(2rem, 6vw, 7rem); align-items: start;
}
.p26 .faq-section .section-head { grid-column: 1; grid-row: 1; text-align: left !important; margin: 0 0 2rem; }
.p26 .faq-section .section-head .eyebrow { display: block; }
.p26 .faq-section .section-head h2 { font-size: clamp(2.6rem, 5vw, 5rem); }
.p26 .faq-section .faq-list { grid-column: 2; grid-row: 1 / span 2; }
.p26 .faq-section .faq-cta { grid-column: 1; grid-row: 2; text-align: left !important; background: none; border: 0; padding: 0; margin: 0; box-shadow: none; }
.p26 .faq-cta p { color: var(--h-mute); font-size: 1rem; margin: 0 0 1.4rem; max-width: 24rem; }
.p26 .faq-cta__ctas { justify-content: flex-start !important; display: flex; flex-wrap: wrap; gap: .8rem; }

.p26 .faq-list { border-top: 1px solid var(--h-line) !important; counter-reset: faq; }
.p26 .faq-list .faq-item {
    counter-increment: faq; background: none !important; border: 0 !important; border-bottom: 1px solid var(--h-line) !important;
    border-radius: 0 !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important;
}
.p26 .faq-list .faq-item summary,
.p26 .faq-list .faq-item .faq-item__q {
    display: grid !important; grid-template-columns: 3rem minmax(0, 1fr) 40px; align-items: center; gap: 1rem;
    list-style: none; cursor: pointer;
    font-family: var(--h-serif) !important; font-style: normal !important; font-weight: 400 !important;
    font-size: clamp(1.3rem, 1.9vw, 1.75rem) !important; line-height: 1.2 !important; letter-spacing: -.01em; color: var(--h-ink);
    padding: 1.5rem 0 !important;
}
.p26 .faq-list .faq-item summary::-webkit-details-marker { display: none; }
.p26 .faq-list .faq-item summary::before { content: counter(faq, decimal-leading-zero); font: 500 .74rem/1 var(--h-sans); letter-spacing: .08em; color: var(--h-bronze); }
.p26 .faq-list .faq-item summary::after {
    content: "+"; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid var(--h-line); font: 300 1.3rem/1 var(--h-sans); color: var(--h-ink);
    transition: transform .5s var(--h-ease), background .4s, color .4s;
}
.p26 .faq-list .faq-item[open] summary::after { transform: rotate(45deg); background: var(--h-ink); color: var(--h-paper); border-color: var(--h-ink); }
.p26 .faq-list .faq-item summary:hover { color: var(--h-wine); }
.p26 .faq-list .faq-item .faq-item__icon { display: none !important; }
.p26 .faq-list .faq-item .faq-item__a,
.p26 .faq-list .faq-item > p { padding: 0 3.5rem 1.8rem 4rem !important; margin: 0; color: var(--h-ink-2); font-size: 1.02rem !important; line-height: 1.75 !important; max-width: 48rem; }
.p26 main .faq-list { max-width: none; }

/* ==========================================================================
   CAREERS (karriere.php)
   ========================================================================== */
.p26 .highlights-grid { gap: 0 !important; border-top: 1px solid var(--h-line); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; }
.p26 .highlights-grid .card {
    background: none !important; border-radius: 0 !important; padding: 1.8rem 1.8rem 1.8rem 0 !important;
    border-right: 1px solid var(--h-line) !important;
}
.p26 .highlights-grid .card:last-child { border-right: 0 !important; }
.p26 .highlights-grid .card::before { position: static !important; display: block; margin-bottom: 1.2rem; font: 500 .74rem/1 var(--h-sans) !important; letter-spacing: .08em; color: var(--h-bronze) !important; content: "(0" counter(premium-card) ")" !important; }
.p26 .highlights-grid .card h3, .p26 .highlights-grid .card strong { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: 1.7rem; line-height: 1.1; color: var(--h-ink); }
.p26 .jobs-list { gap: 0 !important; border-top: 1px solid var(--h-line); }
.p26 .jobs-list .card { background: none !important; border-radius: 0 !important; border-bottom: 1px solid var(--h-line) !important; padding: 1.6rem 0 !important; }
.p26 .jobs-list .card h3 { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: clamp(1.6rem, 2.4vw, 2.2rem); margin: 0; }

/* ==========================================================================
   LEGAL + SITE MAP prose
   ========================================================================== */
.p26 .prose { max-width: 46rem; font-size: 1.04rem; line-height: 1.8; color: var(--h-ink-2); }
.p26 .prose h2 { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: clamp(1.8rem, 2.8vw, 2.6rem); line-height: 1.05; letter-spacing: -.02em; color: var(--h-ink); margin: 3rem 0 1rem; }
.p26 .prose h3 { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: 1.5rem; color: var(--h-ink); margin: 2rem 0 .6rem; }
.p26 .prose a { color: var(--h-ink); text-decoration: underline; text-decoration-color: var(--h-bronze); text-underline-offset: 3px; }
.p26 .prose a:hover { color: var(--h-wine); }
.p26 .prose ul { padding-left: 1.2rem; }
.p26 .prose li::marker { color: var(--h-bronze); }
.p26 .legal-nav a { border-radius: 999px; }

/* ==========================================================================
   404
   ========================================================================== */
.p26 .error-hero__title { font-family: var(--h-serif); font-style: normal; font-weight: 400; letter-spacing: -.035em; }
.p26 .error-hero__code { font-family: var(--h-serif); font-style: italic; }

@media (max-width: 900px) {
    .p26 .faq-section > .container { grid-template-columns: 1fr; }
    .p26 .faq-section .faq-list { grid-column: 1; grid-row: auto; }
    .p26 .faq-section .faq-cta { grid-column: 1; grid-row: auto; margin-top: 2.4rem; }
    .p26 .faq-list .faq-item summary { grid-template-columns: 2.2rem minmax(0, 1fr) 36px; }
    .p26 .faq-list .faq-item summary::after { width: 36px; height: 36px; }
    .p26 .faq-list .faq-item .faq-item__a, .p26 .faq-list .faq-item > p { padding: 0 0 1.6rem 3.2rem !important; }
    .p26 .highlights-grid .card { border-right: 0 !important; border-bottom: 1px solid var(--h-line); }
}

/* inner page heads share the 1560px editorial grid with everything below */
.p26 main > section.section--tight:first-of-type > .container,
.p26 main > section.menu-intro:first-of-type > .container { max-width: 1560px !important; padding: 0 var(--h-gutter) !important; }

/* narrow content sections (faq page, careers jobs, legal text, groups FAQ):
   same 4/8 editorial grid as the menu — heading left, content right */
.p26 main .section:not(.groups-closer) > .container--narrow {
    max-width: 1560px; padding: 0 var(--h-gutter);
    display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 0 clamp(2rem, 5vw, 6rem); align-items: start;
}
.p26 main .section:not(.groups-closer) > .container--narrow > * { grid-column: 2; min-width: 0; }
.p26 main .section:not(.groups-closer) > .container--narrow > .section-head { grid-column: 1; grid-row: 1 / span 6; position: sticky; top: calc(var(--header-h, 96px) + 2rem); margin: 0; text-align: left !important; }
.p26 main .section:not(.groups-closer) > .container--narrow > .section-head h2 { font-size: clamp(2.4rem, 4.4vw, 4.4rem); }
.p26 main .section:not(.groups-closer) > .container--narrow > .lead { text-align: left !important; }
@media (max-width: 900px) {
    .p26 main .section:not(.groups-closer) > .container--narrow { grid-template-columns: 1fr; }
    .p26 main .section:not(.groups-closer) > .container--narrow > * { grid-column: 1; }
    .p26 main .section:not(.groups-closer) > .container--narrow > .section-head { position: static; grid-row: auto; margin-bottom: 2rem; }
}

/* leftover centred blocks further down inner pages (e.g. careers "apply now") follow the left-aligned grid */
.p26 main > .section:not(.section--tight):not(.groups-closer) > .container[style*="text-align:center"] { text-align: left !important; max-width: 1560px !important; padding: 0 var(--h-gutter); }
.p26 main > .section:not(.section--tight):not(.groups-closer) > .container[style*="text-align:center"] > div[style*="justify-content:center"] { justify-content: flex-start !important; }
.p26 main > .section:not(.section--tight):not(.groups-closer) > .container[style*="text-align:center"] > h2 { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: clamp(2.4rem, 5vw, 5rem); letter-spacing: -.028em; line-height: .98; }
.p26 main > .section:not(.section--tight) > .container[style*="text-align:center"] .lead { margin-left: 0 !important; }
.p26 .rw-contact__time, .p26 .rw-contact__time .hours-win, .p26 .rw-contact__time .hours-sep { color: var(--h-paper) !important; }
.p26 .rw-contact__hours li.is-today .rw-contact__time .hours-win { color: #fff !important; font-weight: 600; }
.p26 .pkg-card.is-featured .pkg-card__meta > * { background: color-mix(in srgb, var(--h-paper) 8%, transparent) !important; color: color-mix(in srgb, var(--h-paper) 85%, transparent) !important; border-color: color-mix(in srgb, var(--h-paper) 20%, transparent) !important; }
.p26 .pkg-card.is-featured .pkg-card__badge { background: var(--h-bronze) !important; color: var(--h-ink) !important; }
.p26 .pkg-card.is-featured .pkg-card__price-per, .p26 .pkg-card.is-featured .pkg-card__lead { color: color-mix(in srgb, var(--h-paper) 70%, transparent) !important; }
.p26 .pkg-card.is-featured .pkg-card__courses summary { color: var(--h-paper) !important; border-color: color-mix(in srgb, var(--h-paper) 20%, transparent) !important; }

/* package details: hairline chips with line icons (no emoji) */
.p26 .pkg-card__meta { gap: .5rem; margin: 0 0 1.4rem; }
.p26 .pkg-card__meta li { background: transparent !important; border: 1px solid var(--h-line); border-radius: 999px; padding: .45rem .8rem .45rem .65rem; gap: .45rem; font: 500 .74rem/1.2 var(--h-sans); letter-spacing: .02em; color: var(--h-ink-2); white-space: nowrap; }
.p26 .pkg-ico { flex: none; color: var(--h-bronze); }
.p26 .pkg-card.is-featured .pkg-card__meta li { background: transparent !important; border-color: color-mix(in srgb, var(--h-paper) 22%, transparent) !important; color: color-mix(in srgb, var(--h-paper) 88%, transparent) !important; }
.p26 .pkg-card.is-featured .pkg-ico { color: var(--h-gold); }

/* long single-word titles (e.g. "Datenschutzerklärung") hyphenate properly instead of breaking mid-word */
.p26 main > section.section--tight:first-of-type h1,
.p26 main > section.menu-intro:first-of-type h1,
.p26 .p26-head__title { max-width: none !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: auto; -webkit-hyphens: auto; }
.p26 .legal-stamp { display: inline-block; background: none !important; border: 0; padding: 0 !important; font: 500 .72rem/1 var(--h-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--h-mute); }
.p26 main > .section--tight:not(:first-of-type) > .container, .p26 main > .section:has(.prose) > .container { max-width: 1560px !important; padding: 0 var(--h-gutter) !important; }
.p26 .legal-nav { justify-content: flex-start !important; border: 0 !important; margin-left: 0 !important; }

/* ==========================================================================
   MENU v2 — denser, printed-menu rhythm
   ========================================================================== */
/* header hides fully (no sliver) and the category bar slides up to the top */
.p26 .site-header.is-hidden:not(:focus-within) { transform: translateY(calc(-100% - 24px)); }
/* The bar keeps ONE sticky position (under the header). When the header slides away, the stuck bar follows it with a
   transform — never by animating `top`: a sticky element whose `top` changes flickers on phones while scrolling. */
.p26 .cat-nav { transition: transform .6s var(--h-ease); }
.p26:has(.site-header.is-hidden) .cat-nav.is-stuck { transform: translateY(calc(-1 * var(--hdr-real, var(--header-h, 96px)))); }
@media (prefers-reduced-motion: reduce) { .p26 .cat-nav { transition: none; } }
/* phones: a solid bar — a blurred, see-through sticky bar is repainted on every scroll frame and flickers */
@media (max-width: 900px) {
    /* … and nothing moves: on the menu page the header stays (premium-2026.js keepHeader()), the bar stays under it */
    .p26:has(#catNav) .site-header { transform: none !important; }
    .p26 .cat-nav, .p26:has(.site-header.is-hidden) .cat-nav.is-stuck { transform: none !important; transition: none !important; }
    .p26 .cat-nav { background: var(--h-paper) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
}

/* category bar: full-bleed track aligned to the content grid, filled active tab */
.p26 .cat-nav__track {
    max-width: none !important;
    padding: .7rem max(var(--h-gutter), calc((100vw - 1560px) / 2 + var(--h-gutter))) !important;
    gap: .35rem !important;
    scroll-padding-inline: max(var(--h-gutter), calc((100vw - 1560px) / 2 + var(--h-gutter)));
}
.p26 .cat-chip {
    padding: .7rem 1rem !important; border-radius: 999px !important;
    font: 500 .72rem/1 var(--h-sans) !important; letter-spacing: .1em;
    color: var(--h-ink-2) !important; border: 1px solid transparent !important;
    transition: background .4s var(--h-ease), color .4s, border-color .4s;
}
.p26 .cat-chip::after { display: none !important; }
.p26 .cat-chip:first-child { padding-left: 1rem !important; }
.p26 .cat-chip:hover { border-color: var(--h-line) !important; color: var(--h-ink) !important; }
.p26 .cat-chip.is-active { background: var(--h-ink) !important; color: var(--h-paper) !important; border-color: var(--h-ink) !important; }
/* soft fade on both edges so it reads as scrollable */
.p26 .cat-nav { position: sticky; }
.p26 .cat-nav::before, .p26 .cat-nav::after {
    display: block !important; content: ""; position: absolute; top: 0; bottom: 0; width: 56px; z-index: 2; pointer-events: none;
}
.p26 .cat-nav::before { left: 0; background: linear-gradient(90deg, var(--h-paper), color-mix(in srgb, var(--h-paper) 0%, transparent)); }
.p26 .cat-nav::after { right: 0; background: linear-gradient(270deg, var(--h-paper), color-mix(in srgb, var(--h-paper) 0%, transparent)); }

/* category spread */
.p26 .menu-category { padding: clamp(3rem, 6vw, 5rem) 0; gap: 1.6rem clamp(2rem, 5vw, 6rem); }
.p26 .menu-category__header { top: calc(var(--catnav-h, 60px) + 2rem); transition: top .6s var(--h-ease); }
.p26:not(:has(.site-header.is-hidden)) .menu-category__header { top: calc(var(--header-h, 96px) + var(--catnav-h, 60px) + 2rem); }
.p26 .menu-category__header h2 { font-size: clamp(2.2rem, 3.3vw, 3.4rem) !important; line-height: 1 !important; text-wrap: balance; margin-bottom: .9rem !important; }
.p26 .menu-category__intro { font-size: .98rem; margin: 0 0 .9rem; }
.p26 .menu-category__count { font: 500 .7rem/1 var(--h-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--h-bronze); margin: 0; }
.p26 .menu-category__pic { margin: 1.8rem 0 0; aspect-ratio: 4 / 3; border-radius: 4px; overflow: hidden; background: var(--h-bone); max-width: 420px; }
.p26 .menu-category__pic img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.22); transform-origin: 42% 42%; }

/* dish rows: name ······ price */
.p26 .menu-card { padding: 1.15rem 0 !important; gap: 1.2rem; }
.p26 .menu-card.has-image { grid-template-columns: minmax(0, 1fr) 84px; }
.p26 .menu-card__image { width: 84px; height: 84px; }
.p26 .menu-card__body { grid-template-columns: auto minmax(1.5rem, 1fr) auto !important; column-gap: .8rem !important; align-items: baseline; }
.p26 .menu-card__body::before {
    content: ""; grid-column: 2; grid-row: 1; align-self: baseline;
    border-bottom: 1px dotted color-mix(in srgb, var(--h-ink) 35%, transparent); transform: translateY(-.3em); min-width: 1.5rem;
}
.p26 .menu-card__name { grid-column: 1 !important; font-size: clamp(1.3rem, 1.6vw, 1.55rem) !important; margin: 0 !important; max-width: 36ch; }
.p26 .menu-card__price { grid-column: 3 !important; grid-row: 1 !important; font-size: clamp(1.25rem, 1.5vw, 1.45rem) !important; }
.p26 .menu-card__desc { grid-column: 1 / -1 !important; margin: .35rem 0 0 !important; font-size: .92rem !important; }
.p26 .menu-card__meta { grid-column: 1 / -1 !important; margin-top: .45rem; gap: .2rem .45rem !important; }
.p26 .menu-card__meta:empty { display: none; }
.p26 .menu-card__alg-label { font: 500 .64rem/1.4 var(--h-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--h-mute); opacity: .75; }
.p26 .menu-card__alg-label::after { content: ":"; }
.p26 .menu-card .tag--allergen { color: var(--h-ink-2) !important; opacity: .8; }
.p26 .menu-card .tag--allergen + .tag--allergen::before { content: "\00B7"; margin-right: .45rem; color: var(--h-mute); }
.p26 .menu-card .tag--veg { margin-right: .6rem; }

@media (max-width: 900px) {
    .p26 .menu-category__header { position: static !important; }
    .p26 .menu-category__pic { display: none; }
    .p26 .menu-category__header h2 { font-size: 2.3rem !important; }
}
@media (max-width: 720px) {
    .p26 .menu-card.has-image { grid-template-columns: minmax(0, 1fr) 64px; gap: .9rem; }
    .p26 .menu-card__image { width: 64px; height: 64px; }
    .p26 .menu-card__name { font-size: 1.22rem !important; }
    .p26 .cat-nav::before, .p26 .cat-nav::after { width: 28px; }
}
.p26 .menu-card__alg { display: inline-flex; flex-wrap: nowrap; align-items: baseline; gap: .45rem; white-space: nowrap; }

/* careers: inline-centred headings/leads follow the left-aligned editorial grid like every other inner page */
.p26 main .section > .container > h2[style*="text-align:center"],
.p26 main .section > .container > .lead[style*="text-align:center"],
.p26 main .section > .container > p[style*="text-align:center"] { text-align: left !important; }

/* ==========================================================================
   GROUP INQUIRY (groups.php #inquiry) — concierge-style wizard
   Form card left, live summary right. Markup/JS unchanged apart from the
   summary panel and SVG icons.
   ========================================================================== */
.p26 #inquiry { background: var(--h-bone) !important; padding: clamp(5rem, 10vw, 9rem) 0 !important; }
.p26 #inquiry .section-head .eyebrow { display: none; }
.p26 #inquiry .section-head { margin-bottom: clamp(2.4rem, 5vw, 4rem) !important; }

.inq { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 3.6fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }

.p26 .order-form.group-form {
    background: var(--h-paper); border: 1px solid var(--h-line); border-radius: 4px; box-shadow: none;
    padding: clamp(1.6rem, 3.6vw, 3.4rem); max-width: none; margin: 0;
}

/* ---- progress rail ---------------------------------------------------- */
.p26 .order-progress {
    display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .5rem;
    background: none; border-radius: 0; padding: 0; margin: 0 0 clamp(2.2rem, 4vw, 3.2rem);
}
.p26 .order-progress__step {
    display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: .55rem;
    border-top: 2px solid var(--h-line); padding-top: .8rem;
    color: var(--h-mute); font: 500 .72rem/1.2 var(--h-sans); letter-spacing: .1em; text-transform: uppercase;
    transition: border-color .5s var(--h-ease), color .4s;
}
.p26 .order-progress__bullet {
    width: auto; height: auto; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0;
    font: 500 .7rem/1 var(--h-sans); letter-spacing: .06em; color: var(--h-bronze) !important;
}
.p26 .order-progress__bullet::before { content: "0"; }
.p26 .order-progress__label { display: block !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.p26 .order-progress__step.is-active { color: var(--h-mute); }
.p26 .order-progress__step.is-done,
.p26 .order-progress__step.is-reachable { border-top-color: var(--h-bronze); color: var(--h-ink-2); }
.p26 .order-progress__step.is-reachable { cursor: pointer; }
.p26 .order-progress__step.is-reachable:hover { color: var(--h-ink); }
.p26 .order-progress__step.is-current { border-top-color: var(--h-ink); color: var(--h-ink); }

/* ---- step ------------------------------------------------------------- */
.p26 .order-step { border: 0; padding: 0; margin: 0; }
.p26 .order-form:not(.is-wizard) .order-step { padding-bottom: 2.4rem; margin-bottom: 2.4rem; border-bottom: 1px solid var(--h-line); }
.p26 .order-step > legend {
    display: block; font-family: var(--h-serif); font-style: normal; font-weight: 400;
    font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.02; letter-spacing: -.022em; color: var(--h-ink);
    margin: 0 0 .9rem; padding: 0;
}
.p26 .order-step__num {
    display: block; width: auto; height: auto; background: none; box-shadow: none; border-radius: 0;
    font: 500 .72rem/1 var(--h-sans); letter-spacing: .08em; color: var(--h-bronze); margin-bottom: 1rem;
}
.p26 .order-step__num::before { content: "(0"; }
.p26 .order-step__num::after { content: ")"; }
.p26 .order-step__help { padding-left: 0 !important; color: var(--h-mute); font-size: 1rem; line-height: 1.6; margin: 0 0 2rem; max-width: 40rem; }
.p26 .order-step__help.is-from-pkg { color: var(--h-ink-2); }

/* ---- number steppers -------------------------------------------------- */
.p26 .qty-num { -moz-appearance: textfield; }
.p26 .qty-num::-webkit-outer-spin-button, .p26 .qty-num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.p26 .order-qty {
    display: inline-flex; align-items: center; gap: 0; border: 1px solid var(--h-line); border-radius: 999px; background: var(--h-paper); padding: 2px;
}
.p26 .qty-btn {
    width: 38px; height: 38px; border-radius: 50%; border: 0 !important; background: transparent !important; box-shadow: none !important;
    color: var(--h-ink); font: 300 1.2rem/1 var(--h-sans); cursor: pointer; transition: background .3s, color .3s;
}
.p26 .qty-btn:hover { background: var(--h-ink) !important; color: var(--h-paper); }
.p26 .qty-num { width: 3ch; border: 0 !important; background: transparent !important; box-shadow: none !important; text-align: center; font: 500 1rem/1 var(--h-sans); color: var(--h-ink); padding: 0; }
.p26 .order-qty:has(.qty-num:not([value="0"])) { border-color: var(--h-ink); }

/* step 1 — big guest counter */
.p26 .order-step__guest { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.p26 .order-step__guest .qty-btn { width: 64px; height: 64px; border: 1px solid var(--h-line) !important; font-size: 1.6rem; }
.p26 .order-step__guest .qty-num--lg {
    width: 3.2ch; font: 400 clamp(3.6rem, 7vw, 5.6rem)/1 var(--h-serif); letter-spacing: -.03em; color: var(--h-ink);
}
.p26 .order-step__guest-label { font: 500 .74rem/1 var(--h-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--h-mute); margin-left: .6rem; }

/* ---- step 2 — menu cards --------------------------------------------- */
.p26 .order-pkg { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.p26 .order-pkg__choice {
    background: transparent; border: 1px solid var(--h-line); border-radius: 4px; padding: 1.5rem 1.5rem 1.4rem;
    gap: 1rem; box-shadow: none !important; transform: none !important; transition: border-color .4s, background .4s, box-shadow .4s;
}
.p26 .order-pkg__choice:hover { border-color: var(--h-ink-2); background: rgba(235, 228, 215, .35); }
.p26 .order-pkg__choice.is-checked { border-color: var(--h-ink); background: var(--h-bone); box-shadow: inset 0 0 0 1px var(--h-ink) !important; }
.p26 .order-pkg__choice.is-checked::after { display: none; }
.p26 .order-pkg__choice input[type="radio"] { width: 20px; height: 20px; border: 1px solid var(--h-ink-2); background: var(--h-paper); margin-top: .3rem; }
.p26 .order-pkg__choice input[type="radio"]:checked { border-color: var(--h-ink); background: radial-gradient(circle, var(--h-ink) 0 5px, var(--h-paper) 6px); }
.p26 .order-pkg__choice input[type="radio"]:focus-visible { outline: 2px solid var(--h-bronze); }
.p26 .order-pkg__head { padding-right: 0; gap: .4rem 1rem; justify-content: space-between; margin-bottom: .5rem; }
.p26 .order-pkg__head strong { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: 1.55rem; line-height: 1.05; color: var(--h-ink); letter-spacing: -.01em; }
.p26 .order-pkg__price { background: none; padding: 0; border-radius: 0; font: 500 .74rem/1.3 var(--h-sans); letter-spacing: .06em; color: var(--h-bronze-deep, #6b5c3e); white-space: nowrap; }
.p26 .order-pkg__sum { color: var(--h-mute); font-size: .92rem; line-height: 1.55; margin: 0; }
.p26 .order-pkg__choice--kitchen, .p26 .order-pkg__choice--alacarte { border-style: dashed; }

/* ---- step 3 — dishes -------------------------------------------------- */
.p26 .order-dishes-placeholder .order-step__empty {
    background: var(--h-bone); border: 1px dashed color-mix(in srgb, var(--h-ink) 25%, transparent); border-radius: 4px; padding: 1.6rem; gap: 1.2rem;
}
.p26 .order-step__empty-icon { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--h-line); background: var(--h-paper); color: var(--h-bronze); display: grid; place-items: center; flex: none; }
.p26 .order-step__empty p { margin: 0; color: var(--h-ink-2); }
.p26 .order-course { background: none; border: 0; border-top: 1px solid var(--h-line); border-radius: 0; padding: 1.4rem 0 .6rem; margin: 0; box-shadow: none; }
.p26 .order-course__head { display: flex; align-items: baseline; gap: .8rem; margin-bottom: .8rem; }
.p26 .order-course__head h4 { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: 1.6rem; color: var(--h-ink); margin: 0; letter-spacing: -.01em; text-transform: none; }
.p26 .order-course__cp { background: none !important; color: var(--h-bronze) !important; font: 500 .72rem/1 var(--h-sans); width: auto; height: auto; box-shadow: none; }
.p26 .order-course__total { margin-left: auto; font: 500 .74rem/1 var(--h-sans); letter-spacing: .06em; color: var(--h-mute); background: none; border: 1px solid var(--h-line); border-radius: 999px; padding: .45rem .8rem; }
.p26 .order-course.is-done .order-course__total { border-color: #3f5b2c; color: #3f5b2c; }
.p26 .order-course.is-over .order-course__total { border-color: var(--h-wine); color: var(--h-wine); }
.p26 .order-course__hint { color: var(--h-mute); font-size: .86rem; margin: .4rem 0 0; }
.p26 .order-course__hint.is-over, .p26 .order-course.is-over .order-course__hint { color: var(--h-wine); }
.p26 .order-course.is-done .order-course__hint { color: #3f5b2c; }
.p26 .order-course--alacarte .order-course__head { cursor: pointer; }
.p26 .order-course--alacarte .order-course__head::after { content: "+"; margin-left: auto; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--h-line); display: grid; place-items: center; font: 300 1.1rem/1 var(--h-sans); transition: transform .4s var(--h-ease); }
.p26 .order-course--alacarte:not(.is-collapsed) .order-course__head::after { transform: rotate(45deg); }
.p26 .order-item {
    display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 1rem; align-items: center;
    background: none; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--h-ink) 8%, transparent); border-radius: 0; padding: .9rem 0; box-shadow: none;
}
.p26 .order-item:last-child { border-bottom: 0; }
.p26 .order-item__img { width: 56px; height: 56px; border-radius: 4px; object-fit: cover; background: var(--h-bone); }
.p26 .order-item__img--placeholder { display: grid; place-items: center; color: var(--h-bronze); border: 0; }
.p26 .order-item__title { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
.p26 .order-item__title span { font-family: var(--h-serif); font-size: 1.2rem; line-height: 1.15; color: var(--h-ink); }
.p26 .order-item__tag { font: 500 .6rem/1 var(--h-sans); font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: #3f5b2c; background: none; border: 1px solid rgba(63, 91, 44, .35); border-radius: 999px; padding: .3rem .5rem; }
.p26 .order-item__desc { color: var(--h-mute); font-size: .86rem; line-height: 1.45; margin: .25rem 0 0; }
.p26 .order-item__note { color: var(--h-bronze); font-size: .78rem; }
.p26 .order-item__included { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; color: #3f5b2c; border: 1px solid rgba(63, 91, 44, .35); background: none; }

/* ---- step 4 — diets --------------------------------------------------- */
.p26 .order-diet { display: block; border-top: 1px solid var(--h-line); }
.p26 .order-diet__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--h-line); background: none !important; border-radius: 0; }
.p26 .order-diet__row label { font-family: var(--h-serif); font-size: 1.25rem; color: var(--h-ink); }

/* ---- fields ------------------------------------------------------------ */
.p26 .group-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 2rem; }
.p26 .group-form .field { display: flex; flex-direction: column; gap: .5rem; margin: 0; }
.p26 .group-form .field__label { font: 500 .7rem/1.2 var(--h-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--h-mute); }
.p26 .group-form .field__label .req { color: var(--h-wine); }
.p26 .group-form .field__input {
    border: 0; border-bottom: 1px solid color-mix(in srgb, var(--h-ink) 28%, transparent); border-radius: 0; background: transparent; box-shadow: none;
    height: 50px; padding: 0 .1rem; font: 400 1.06rem/1.3 var(--h-sans); color: var(--h-ink); transition: border-color .3s;
}
.p26 .group-form .field__input:hover { border-bottom-color: var(--h-ink-2); }
.p26 .group-form .field__input:focus { outline: none; border-bottom-color: var(--h-ink); box-shadow: 0 1px 0 0 var(--h-ink); }
.p26 .group-form .field__input::placeholder { color: color-mix(in srgb, var(--h-ink) 35%, transparent); }
.p26 .group-form .field__input--textarea { height: auto; min-height: 120px; border: 1px solid color-mix(in srgb, var(--h-ink) 20%, transparent); border-radius: 4px; padding: .9rem 1rem; line-height: 1.6; }
.p26 .group-form .field__input--textarea:focus { border-color: var(--h-ink); box-shadow: none; }
.p26 .group-form .field.is-error .field__input { border-color: var(--h-wine); }
.p26 .group-form .field.is-error .field__label { color: var(--h-wine); }

/* ---- actions ------------------------------------------------------------ */
.p26 .group-form__actions { margin-top: clamp(2.2rem, 4vw, 3rem); padding-top: 1.6rem; border-top: 1px solid var(--h-line); display: flex; flex-direction: column; gap: 1rem; }
.p26 .order-form.is-wizard .group-form__actions { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.p26 .wiz-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex: 1 1 100%; }
.p26 .wiz-nav[hidden] { display: none; }
.p26 #wizBack { background: none !important; border: 0 !important; color: var(--h-ink-2); padding: 0; min-width: 0; height: 48px; --hover-fill: transparent; }
.p26 #wizBack:hover { color: var(--h-ink); }
.p26 #wizBack::after { display: none; }
.p26 .wiz-nav__count { font: 500 .72rem/1 var(--h-sans); letter-spacing: .14em; color: var(--h-mute); }
.p26 #wizNext, .p26 #orderSubmit { background: var(--h-ink); color: var(--h-paper); border-color: var(--h-ink); --hover-fill: var(--h-wine); height: 56px; padding: 0 2rem; }
.p26 .order-form.is-wizard #orderSubmit { margin-left: auto; }
.p26 .order-form__error, .p26 .form-errors-banner {
    margin: 0; background: color-mix(in srgb, var(--h-wine) 6%, transparent); border: 0; border-left: 2px solid var(--h-wine); border-radius: 0;
    color: var(--h-wine); padding: .8rem 1rem; font-size: .92rem; flex: 1 1 100%;
}
.p26 .form-errors-banner { margin-bottom: 1.6rem; }

/* ---- live summary ------------------------------------------------------ */
.inq-sum {
    position: sticky; top: calc(var(--header-h, 96px) + 1.5rem);
    background: var(--h-ink); color: color-mix(in srgb, var(--h-paper) 72%, transparent); border-radius: 4px;
    padding: clamp(1.6rem, 2.6vw, 2.4rem);
}
.p26 .inq-sum__eyebrow { font: 500 .7rem/1 var(--h-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--h-bronze); margin: 0 0 1.4rem; }
.inq-sum__list { margin: 0; border-top: 1px solid color-mix(in srgb, var(--h-paper) 12%, transparent); }
.inq-sum__list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid color-mix(in srgb, var(--h-paper) 12%, transparent); }
.inq-sum__list dt { font-size: .86rem; color: color-mix(in srgb, var(--h-paper) 55%, transparent); margin: 0; }
.inq-sum__list dd { margin: 0; text-align: right; font-size: .95rem; color: var(--h-paper); }
.inq-sum__total { display: grid; gap: .3rem; margin: 1.6rem 0 1.4rem; }
.inq-sum__total span { font: 500 .7rem/1 var(--h-sans); letter-spacing: .14em; text-transform: uppercase; color: color-mix(in srgb, var(--h-paper) 55%, transparent); }
.inq-sum__total strong { font: 400 clamp(2.2rem, 3vw, 2.8rem)/1 var(--h-serif); letter-spacing: -.02em; color: var(--h-paper); }
.inq-sum__total small { font-size: .82rem; color: color-mix(in srgb, var(--h-paper) 55%, transparent); min-height: 1em; }
.p26 .inq-sum__note { font-size: .86rem; line-height: 1.6; color: color-mix(in srgb, var(--h-paper) 65%, transparent); margin: 0; }
.p26 .inq-sum__call { margin: 1.4rem 0 0; padding-top: 1.2rem; border-top: 1px solid color-mix(in srgb, var(--h-paper) 12%, transparent); font-size: .86rem; color: color-mix(in srgb, var(--h-paper) 55%, transparent); }
.inq-sum__call a { font-family: var(--h-serif); font-size: 1.4rem; color: var(--h-paper); text-decoration: none; }

/* ---- success ------------------------------------------------------------ */
.p26 #inquiry .form-success { background: var(--h-paper); border: 1px solid var(--h-line); border-radius: 4px; box-shadow: none; padding: clamp(2.4rem, 5vw, 4rem); text-align: left; }
.p26 #inquiry .form-success__icon { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--h-ink); color: var(--h-paper); margin: 0 0 1.6rem; }
.p26 #inquiry .form-success h3 { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: clamp(2.2rem, 4vw, 3.4rem); color: var(--h-ink); margin: 0 0 .8rem; }

@media (max-width: 1100px) {
    .inq { grid-template-columns: 1fr; }
    .inq-sum { position: static; }
}
@media (max-width: 720px) {
    .p26 .order-progress { gap: .3rem; }
    .p26 .order-progress__label { display: none !important; }
    .p26 .order-progress__step.is-current .order-progress__label { display: none !important; }
    .p26 .order-pkg { grid-template-columns: 1fr; }
    .p26 .group-form__grid { grid-template-columns: 1fr; }
    .p26 .order-step__guest .qty-btn { width: 56px; height: 56px; }
    .p26 .order-item { grid-template-columns: 48px minmax(0, 1fr); }
    .p26 .order-item__img { width: 48px; height: 48px; }
    .p26 .order-item .order-qty, .p26 .order-item .order-item__included { grid-column: 2; justify-self: start; }
    .p26 .wiz-nav #wizNext, .p26 .order-form.is-wizard #orderSubmit { padding: 0 1.4rem; }
    .p26 .order-form.group-form { padding: 1.4rem 1.1rem; }
}
.p26 .order-form .order-step, .p26 .order-form.is-wizard fieldset.order-step { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.p26 .order-step__guest { background: none !important; border: 0 !important; padding: .4rem 0 0 !important; box-shadow: none !important; }

/* ==========================================================================
   ALLERGEN LEGEND (menu.php) — centred card, code badge + name grid
   ========================================================================== */
.p26 .allergen-key {
    max-width: 980px; margin: clamp(4rem, 8vw, 6.5rem) auto 0; padding: clamp(2.2rem, 4vw, 3.4rem) clamp(1.4rem, 4vw, 3.4rem);
    text-align: center; background: var(--h-bone); border: 0; border-radius: 4px; color: var(--h-ink-2);
    font-size: 1rem; line-height: 1.5;
}
.p26 .allergen-key__title {
    font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: clamp(2rem, 3.4vw, 3rem);
    line-height: 1; letter-spacing: -.02em; color: var(--h-ink); margin: 0 0 .9rem;
}
.p26 .allergen-key__lead { max-width: 34rem; margin: 0 auto clamp(1.8rem, 3.4vw, 2.6rem); color: var(--h-mute); font-size: .95rem; line-height: 1.6; }
.p26 .allergen-key__list {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .6rem 1.4rem;
    margin: 0; text-align: left; border-top: 1px solid var(--h-line); padding-top: 1.6rem;
}
.p26 .allergen-key__item { display: flex; align-items: center; gap: .8rem; padding: .35rem 0; }
.p26 .allergen-key__item dt {
    flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
    background: var(--h-paper); border: 1px solid var(--h-line);
    font: 600 .8rem/1 var(--h-sans); letter-spacing: .02em; color: var(--h-ink);
}
.p26 .allergen-key__item dd { margin: 0; font-size: .95rem; color: var(--h-ink-2); line-height: 1.3; }
@media (max-width: 720px) {
    .p26 .allergen-key { margin-left: 0; margin-right: 0; }
    .p26 .allergen-key__list { grid-template-columns: 1fr 1fr; gap: .4rem 1rem; }
    .p26 .allergen-key__item dd { font-size: .88rem; }
}
@media (max-width: 380px) { .p26 .allergen-key__list { grid-template-columns: 1fr; } }
/* centre an incomplete last row too */
.p26 .allergen-key__list { display: flex; flex-wrap: wrap; justify-content: center; }
.p26 .allergen-key__item { flex: 0 0 200px; }
@media (max-width: 720px) { .p26 .allergen-key__item { flex-basis: calc(50% - .5rem); } }
@media (max-width: 380px) { .p26 .allergen-key__item { flex-basis: 100%; } }

/* About: "at a glance" facts */
.p26-glance { margin: clamp(2.4rem, 5vw, 3.6rem) 0 0; border-top: 1px solid var(--h-line); padding-top: 1.6rem; max-width: 44rem; }
.p26-glance dl { margin: 0; }
.p26-glance dl > div { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--h-line); }
.p26-glance dt { font: 500 .72rem/1.5 var(--h-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--h-mute); }
.p26-glance dd { margin: 0; color: var(--h-ink); font-size: 1rem; line-height: 1.55; }
@media (max-width: 560px) { .p26-glance dl > div { grid-template-columns: 1fr; gap: .25rem; } }

/* MENU v3 — fewer lines: no dotted leaders, no rule under every dish;
   dishes are separated by space, only categories keep one faint divider. */
.p26 .menu-card__body::before { display: none !important; content: none !important; }
.p26 .menu-card__body { grid-template-columns: minmax(0, 1fr) auto !important; column-gap: 1.5rem !important; }
.p26 .menu-card__price { grid-column: 2 !important; }
.p26 .menu-list { border-top: 0 !important; display: grid !important; gap: .4rem; }
.p26 .menu-card { border-bottom: 0 !important; padding: 1rem 0 !important; }
.p26 .menu-category { border-bottom: 1px solid color-mix(in srgb, var(--h-ink) 8%, transparent) !important; }
.p26 .menu-category:last-of-type { border-bottom: 0 !important; }
.p26 .menu-card:hover { background: none; }

/* MENU v3b — one faint line BETWEEN two dishes (none above the first or below
   the last) and one between two categories; still no dotted leaders. */
.p26 .menu-list { gap: 0 !important; }
.p26 .menu-card { padding: 1.15rem 0 !important; }
.p26 .menu-card + .menu-card { border-top: 1px solid color-mix(in srgb, var(--h-ink) 10%, transparent) !important; }
.p26 .menu-category + .menu-category { border-top: 0 !important; }

/* groups page: the inquiry is now a separate app — this band opens it */
.gb-start__row { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: center; }
.p26 .gb-start .section-head { margin-bottom: 2rem; }

/* ==========================================================================
   QA 2026-09 — fixes found in the UI audit
   ========================================================================== */
/* reservation wizard on phones: the premium card padding squeezed the
   calendar to 35px cells; inputs must stay ≥16px so iOS does not zoom */
@media (max-width: 540px) {
    .p26 .rw { padding: 1.25rem 1rem; }
    .p26 .rw__input, .p26 .rw__textarea, .p26 .rw__guest-custom-input, .p26 .rw select { font-size: 16px; }
    .p26 .rw__cal-head { grid-template-columns: 40px 1fr 40px; }
    .p26 .rw__cal-nav { width: 40px; height: 40px; }
}

/* menu: inside a category that has dish photos, rows without a photo keep the
   photo column free so every price sits on the same vertical line */
.p26 .menu-list:has(.menu-card.has-image) .menu-card:not(.has-image) { padding-right: calc(84px + 1.2rem) !important; }
@media (max-width: 720px) {
    .p26 .menu-list:has(.menu-card.has-image) .menu-card:not(.has-image) { padding-right: calc(64px + .9rem) !important; }
}

/* legal prose: long URLs in list items ran out of the column on phones */
.p26 .prose p, .p26 .prose li, .p26 .prose td { overflow-wrap: anywhere; }

/* ---- dish page (dish.php): the legacy card look (rounded photo with shadow,
   gold price pill, wine italic title) follows the premium language ---- */
.p26 main .section.dish-page > .container--narrow > .dish-page__crumbs,
.p26 main .section.dish-page > .container--narrow > .dish-page__article { grid-column: 1 / -1; }
.p26 .dish-page__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .7rem; margin: 0 0 clamp(1.6rem, 3vw, 2.6rem); font: 500 .72rem/1.3 var(--h-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--h-mute); }
.p26 .dish-page__crumbs a { color: var(--h-mute); border: 0; padding: .3rem 0; }
.p26 .dish-page__crumbs a:hover { color: var(--h-ink); border: 0; }
.p26 .dish-page__crumb-sep { margin: 0; color: var(--h-bronze); }
.p26 .dish-page__article { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; } /* start, not center: a centred photo jumps when the web fonts arrive and the text column changes height */
.p26 .dish-page__photo { border-radius: 4px; box-shadow: none; background: var(--h-bone); aspect-ratio: 4 / 3; }
.p26 .dish-page__body { padding-top: 0; }
.p26 .dish-page__body > .eyebrow { display: block; font: 500 .72rem/1.2 var(--h-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--h-bronze); margin: 0 0 1rem; }
.p26 main > section.dish-page:first-of-type h1.dish-page__title {
    font-family: var(--h-serif); font-style: normal !important; font-weight: 400 !important;
    font-size: clamp(2.6rem, 5vw, 5rem) !important; line-height: .96 !important; letter-spacing: -.03em !important;
    color: var(--h-ink); margin: 0 0 1.2rem !important; max-width: 14ch !important; text-wrap: balance;
}
.p26 .dish-page__price { display: block; background: none; border: 0; padding: 0; border-radius: 0; font-family: var(--h-serif); font-weight: 400; font-size: clamp(1.8rem, 2.6vw, 2.4rem); line-height: 1; color: var(--h-ink); margin: 0 0 1.4rem; }
.p26 .dish-page__desc { font-size: 1.06rem; line-height: 1.75; color: var(--h-ink-2); max-width: 36rem; }
.p26 .dish-page__meta { gap: .3rem .9rem; margin: 0 0 1.4rem; }
.p26 .dish-page__meta .tag { background: none; border: 0; padding: 0; border-radius: 0; font: 500 .68rem/1.4 var(--h-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--h-mute); }
.p26 .dish-page__meta .tag--veg { color: #3f5b2c; }
.p26 .dish-page__meta .tag--veg::before { content: "\25CF"; margin-right: .35rem; font-size: .5rem; vertical-align: middle; }
.p26 .dish-page__meta .tag--allergen { color: var(--h-ink-2); }
.p26 .dish-page__allergen-key { background: none; border: 0; border-top: 1px solid var(--h-line); border-radius: 0; padding: 1rem 0 0; margin: 0 0 2rem; color: var(--h-mute); font-size: .88rem; line-height: 1.6; max-width: 36rem; }
.p26 .dish-page__allergen-key strong { display: block; font: 500 .68rem/1 var(--h-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--h-bronze); margin-bottom: .5rem; }
.p26 .dish-page__ctas { gap: .8rem 1rem; }
@media (max-width: 720px) {
    .p26 .dish-page__article { grid-template-columns: 1fr; gap: 1.6rem; }
    .p26 .dish-page__photo { aspect-ratio: 4 / 3; border-radius: 4px; }
    .p26 .dish-page__price { font-size: 1.7rem; }
}

/* classic-theme leftovers found in the audit: rounded calendar box in the
   reservation wizard, drop shadow on the active legal tab, shouting h3s in
   the legal text */
.p26 .rw__cal { border-radius: 4px; box-shadow: none; background: var(--h-bone); border: 0; }
.p26 .rw__cal-cell { border-radius: 4px; }
@media (max-width: 540px) { .p26 .rw__cal { padding: .6rem .3rem; } .p26 .rw__cal-grid, .p26 .rw__cal-week { gap: 2px; } }
.p26 .legal-nav__link, .p26 .legal-nav__link.is-active { box-shadow: none !important; }
.p26 .prose h3 { text-transform: none; letter-spacing: -.01em; }
/* faq.php: the "question not listed" box was still the classic rounded card;
   it now sits as a ruled note under the list, like the shared FAQ block */
.p26 main .section:not(.faq-section) .faq-cta { background: none; border: 0; border-top: 1px solid var(--h-line); border-radius: 0; box-shadow: none; padding: 2rem 0 0; margin: 2.4rem 0 0; text-align: left; }
.p26 main .section:not(.faq-section) .faq-cta p { color: var(--h-mute); font-size: 1rem; margin: 0 0 1.4rem; max-width: 30rem; }
.p26 main .section:not(.faq-section) .faq-cta__ctas { justify-content: flex-start; display: flex; flex-wrap: wrap; gap: .8rem; }
/* calendar: past/closed days were almost invisible (1.7:1); keep them muted
   but legible, closed days stay wine */
.p26 .rw__cal-cell.is-disabled { color: color-mix(in srgb, var(--h-ink) 42%, transparent); text-decoration-color: color-mix(in srgb, var(--h-ink) 30%, transparent); }
.p26 .rw__cal-cell.is-closed { color: color-mix(in srgb, var(--h-wine) 75%, transparent); text-decoration-color: color-mix(in srgb, var(--h-wine) 50%, transparent); }

/* contact page: the entry card into the reservation app */
.p26 .rsv-start { background: var(--h-paper); border: 1px solid var(--h-line); border-radius: 4px; padding: clamp(1.8rem, 4vw, 3rem); }
.rsv-start__eyebrow { display: block; font: 500 .68rem/1 var(--h-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--h-bronze); margin-bottom: 1rem; }
.p26 .rsv-start__title { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: clamp(2.1rem, 3.4vw, 3rem); line-height: 1; letter-spacing: -.02em; color: var(--h-ink); margin: 0 0 1rem; }
.rsv-start__lead { color: var(--h-ink-2); max-width: 34rem; line-height: 1.6; margin: 0 0 1.4rem; }
.rsv-start__points { list-style: none; margin: 0 0 1.8rem; padding: 0; display: grid; gap: .6rem; }
.rsv-start__points li { display: flex; align-items: center; gap: .6rem; color: var(--h-ink-2); font-size: .95rem; }
.rsv-start__points svg { color: var(--h-bronze); flex: none; }
.rsv-start__row { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; }
.rsv-start__link { font-size: .9rem; color: var(--h-ink-2); text-decoration: none; border-bottom: 1px solid var(--h-line); }
.rsv-start__link:hover { color: var(--h-ink); border-color: var(--h-ink); }

/* ==========================================================================
   DISH PAGE: the dish question + more dishes of the same category
   ========================================================================== */
.p26 .dish-page__ctas { display: flex; flex-wrap: wrap; gap: .7rem; }
.p26 .dish-page__faq, .p26 .dish-page__more { margin-top: clamp(2.6rem, 5vw, 4rem); padding-top: clamp(1.8rem, 3vw, 2.4rem); border-top: 1px solid var(--h-line); }
.p26 .dish-page__faq h2, .p26 .dish-page__more h2 { font-family: var(--h-serif); font-style: normal; font-weight: 400; font-size: clamp(1.5rem, 2.4vw, 2.1rem); line-height: 1.1; letter-spacing: -.015em; color: var(--h-ink); margin: 0 0 .9rem; max-width: none; }
.p26 .dish-page__faq p { margin: 0; max-width: 46rem; color: var(--h-ink-2); line-height: 1.7; }
.dish-more { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.dish-more a { display: grid; gap: .5rem; text-decoration: none; color: var(--h-ink); }
.dish-more img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; display: block; transition: transform .8s var(--h-ease); }
.dish-more a:hover img { transform: scale(1.03); }
.dish-more__name { font-family: var(--h-serif); font-size: 1.2rem; line-height: 1.15; }
.dish-more__price { font-size: .9rem; color: var(--h-mute); }
@media (max-width: 640px) { .dish-more { grid-template-columns: 1fr 1fr; } .dish-more li:nth-child(3) { display: none; } }

/* PHONE POLISH (2026-09-30) — FAQ list: slimmer number column, the question gets the width */
@media (max-width: 540px) {
    .p26 .faq-list .faq-item summary,
    .p26 .faq-list .faq-item .faq-item__q { grid-template-columns: 1.7rem minmax(0, 1fr) 36px; gap: .7rem; font-size: 1.22rem !important; padding: 1.2rem 0 !important; }
    .p26 .faq-list .faq-item summary::after { width: 36px; height: 36px; }
    .p26 .faq-list .faq-item .faq-item__a,
    .p26 .faq-list .faq-item > p { padding: 0 0 1.4rem 2.4rem !important; font-size: 1rem !important; }
}

/* About → "Bekannt aus": every logo links to its article, with a visible caption */
.p26-press__logos a, .p26-press__logos > li > span { display: inline-flex; flex-direction: column; align-items: center; gap: .45rem; text-decoration: none; color: inherit; }
.p26-press__read { font-size: .78rem; letter-spacing: .02em; color: var(--h-ink-soft, var(--h-ink)); opacity: .75; text-align: center; max-width: 18ch; line-height: 1.3; }
.p26-press__logos a:hover .p26-press__read, .p26-press__logos a:focus-visible .p26-press__read { opacity: 1; text-decoration: underline; text-underline-offset: 2px; }
.p26-press__name { font-family: var(--h-serif, serif); font-size: 1.25rem; font-weight: 600; line-height: 1.1; white-space: nowrap; }
.f26__press-name { font-weight: 600; font-size: .95rem; letter-spacing: .02em; opacity: .85; white-space: nowrap; }

/* dish page: the restaurant's extra questions (dish_faq2/3) */
.dish-page__faq--extra h2 + p { margin-bottom: 1.6rem; }
.dish-page__faq--extra h2:not(:first-child) { margin-top: 1.4rem; }

/* MENU PAGE — the daily / weekly menu (includes/specials.php) in the SAME DESIGN AS A MENU CATEGORY: heading on the left,
   dishes on the right, one faint line between two dishes, the allergen line under the description. It is told apart by
   COLOUR only: a band tinted with the brand accent (--sp-hi, Admin > Brand) and that accent on its heading and labels.
   No colour is fixed here. The card look stays on the homepage and in the floating button's sheet (specials.css). */
.p26 .sp.sp--menu {
    margin: 0; padding: clamp(3rem, 6vw, 5rem) 0;
    background: color-mix(in srgb, var(--sp-hi) 7%, var(--h-paper));
    border-block: 1px solid color-mix(in srgb, var(--sp-hi) 24%, transparent);
}
.p26 .sp--menu .sp__wrap {
    width: auto; max-width: 1560px; margin-inline: auto; padding: 0 var(--h-gutter);
    display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(3rem, 6vw, 5rem);
    background: none; border: 0; border-radius: 0; box-shadow: none;
}
.p26 .sp--menu .sp-card {
    display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); grid-template-areas: "head body" "note body";
    grid-template-rows: auto 1fr; gap: 1.6rem clamp(2rem, 5vw, 6rem); align-items: start;
}
.p26 .sp--menu .sp-card__head { grid-area: head; display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding: 0; margin: 0; border: 0; }
.p26 .sp--menu .sp-card__when { order: -1; margin: 0 0 1.2rem; font: 500 .76rem/1 var(--h-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--sp-hi); }
.p26 .sp--menu .sp-card__title {
    margin: 0; font-family: var(--h-serif); font-style: normal; font-weight: 400;
    font-size: clamp(2.2rem, 3.3vw, 3.4rem); line-height: 1; letter-spacing: -.03em; text-wrap: balance; color: var(--sp-hi);
}
.p26 .sp--menu .sp-card__note { grid-area: note; margin: 0; max-width: 26rem; font-size: .98rem; font-style: normal; line-height: 1.6; color: var(--h-mute); opacity: 1; }
.p26 .sp--menu .sp-card > .sp-days, .p26 .sp--menu .sp-card > .sp-list { grid-area: body; }
/* a day of the weekly menu: its name as a small label over that day's dishes */
.p26 .sp--menu .sp-days { display: block; }
.p26 .sp--menu .sp-day { display: block; padding: 0; border: 0; }
.p26 .sp--menu .sp-day + .sp-day { margin-top: 2.4rem; }
.p26 .sp--menu .sp-day__name {
    display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .8rem; margin: 0; padding-bottom: .9rem;
    border-bottom: 1px solid color-mix(in srgb, var(--sp-hi) 30%, transparent);
    font: 500 .7rem/1 var(--h-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--sp-hi);
}
.p26 .sp--menu .sp-day__name span { display: inline-block; padding: .32rem .6rem; border-radius: 999px; background: var(--sp-hi); color: var(--sp-btn-fg); font: 600 .6rem/1 var(--h-sans); letter-spacing: .12em; }
/* dish rows, as in a category */
.p26 .sp--menu .sp-list { display: block; }
.p26 .sp--menu :is(.sp-list, .sp-set__items) > .sp-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1.5rem; align-items: baseline; padding: 1.15rem 0; }
.p26 .sp--menu :is(.sp-list, .sp-set__items) > .sp-item + .sp-item { border-top: 1px solid color-mix(in srgb, var(--h-ink) 10%, transparent); }
.p26 .sp--menu :is(.sp-list, .sp-set__items) > .sp-item .sp-item__name {
    max-width: 36ch; font-family: var(--h-serif); font-weight: 400; font-size: clamp(1.3rem, 1.6vw, 1.55rem); line-height: 1.1;
    letter-spacing: -.012em; color: var(--h-ink); transition: color .4s, transform .6s var(--h-ease);
}
.p26 .sp--menu :is(.sp-list, .sp-set__items) > .sp-item:hover .sp-item__name { color: var(--sp-hi); transform: translateX(6px); }
.p26 .sp--menu :is(.sp-list, .sp-set__items) > .sp-item .sp-item__price { font-family: var(--h-serif); font-weight: 400; font-size: clamp(1.25rem, 1.5vw, 1.45rem); color: var(--h-ink); }
.p26 .sp--menu .sp-item__desc { margin-top: .35rem; max-width: 44rem; font-size: .92rem; line-height: 1.55; color: var(--h-mute); opacity: 1; }
.p26 .sp--menu .sp-item__al { display: none; }
.p26 .sp--menu .sp-item__meta {
    grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .45rem; margin-top: .45rem;
    font: 500 .66rem/1.4 var(--h-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--h-ink-2, var(--h-ink));
}
.p26 .sp--menu .sp-item__alg-label { font-size: .64rem; color: var(--h-mute); opacity: .75; }
.p26 .sp--menu .sp-item__alg-label::after { content: ":"; }
.p26 .sp--menu .sp-item__alg { opacity: .8; }
.p26 .sp--menu .sp-item__alg + .sp-item__alg::before { content: "\00B7"; margin-right: .45rem; color: var(--h-mute); }
/* a set menu ("Menü 1" with one price): no box here. Its name and price are a line in the accent, its dishes are the
   same rows as every dish of a menu category. */
.p26 .sp--menu .sp-list > .sp-set { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.p26 .sp--menu .sp-list > .sp-set + .sp-set, .p26 .sp--menu .sp-list > .sp-item + .sp-set { margin-top: 2.2rem; }
.p26 .sp--menu .sp-set__head { align-items: baseline; gap: 1.5rem; padding: 0 0 .8rem; margin: 0; border-bottom: 1px solid color-mix(in srgb, var(--sp-hi) 40%, transparent); }
.p26 .sp--menu .sp-set__name { font: 400 clamp(1.5rem, 1.9vw, 1.8rem)/1.1 var(--h-serif); letter-spacing: -.012em; color: var(--sp-hi); }
.p26 .sp--menu .sp-set__price { font: 400 clamp(1.4rem, 1.7vw, 1.65rem)/1 var(--h-serif); color: var(--sp-hi); }
.p26 .sp--menu .sp-set__desc { margin: .6rem 0 0; max-width: 44rem; font-size: .92rem; line-height: 1.55; color: var(--h-mute); opacity: 1; }
.p26 .sp--menu .sp-set__items { display: block; }
@media (max-width: 900px) {
    .p26 .sp--menu .sp-card { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "body" "note"; grid-template-rows: none; gap: 1.6rem; }
    .p26 .sp--menu .sp-card__title { font-size: 2.3rem; }
}
@media (prefers-reduced-motion: reduce) { .p26 .sp--menu .sp-list > .sp-item .sp-item__name { transition: none; } }
