/* ==========================================================================
   Trattoria Antica — 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: #e9e5de; }
.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: rgba(246, 243, 237, .94);
    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: #e9e5de; 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 rgba(246, 243, 237, .3); 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: rgba(246, 243, 237, .75);
    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 rgba(246, 243, 237, .12); }
.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: rgba(246, 243, 237, .3); }
.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 rgba(246, 243, 237, .1); color: rgba(246, 243, 237, .85); font-size: .92rem; gap: 1rem; }
.p26 .rw-contact__hours li:last-child { border-bottom: 0; }
.p26 .rw-contact__day { color: rgba(246, 243, 237, .6); 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, rgba(160, 134, 96, .18), 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: rgba(246, 243, 237, .55); }

/* 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: #120f0e;
}
.p26 .groups-hero__bg { background: #120f0e; }
.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: #f0dcc0; }
.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: rgba(246, 243, 237, .8); 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: rgba(246, 243, 237, .75); }
.p26 .pkg-card.is-featured .btn--ghost { color: var(--h-paper); border-color: rgba(246, 243, 237, .5); --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: rgba(246, 243, 237, .8); }
.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: rgba(246, 243, 237, .5); --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: rgba(246, 243, 237, .08) !important; color: rgba(246, 243, 237, .85) !important; border-color: rgba(246, 243, 237, .2) !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: rgba(246, 243, 237, .7) !important; }
.p26 .pkg-card.is-featured .pkg-card__courses summary { color: var(--h-paper) !important; border-color: rgba(246, 243, 237, .2) !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: rgba(246, 243, 237, .22) !important; color: rgba(246, 243, 237, .88) !important; }
.p26 .pkg-card.is-featured .pkg-ico { color: #d9bf8f; }

/* 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)); }
.p26 .cat-nav { transition: top .6s var(--h-ease); }
.p26:has(.site-header.is-hidden) .cat-nav { top: 0 !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), rgba(246, 243, 237, 0)); }
.p26 .cat-nav::after { right: 0; background: linear-gradient(270deg, var(--h-paper), rgba(246, 243, 237, 0)); }

/* 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: #e9e5de; 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 rgba(26, 22, 20, .35); 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 rgba(26, 22, 20, .25); 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 rgba(26, 22, 20, .08); 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 rgba(26, 22, 20, .28); 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: rgba(26, 22, 20, .35); }
.p26 .group-form .field__input--textarea { height: auto; min-height: 120px; border: 1px solid rgba(26, 22, 20, .2); 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: rgba(107, 29, 39, .06); 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: rgba(246, 243, 237, .72); 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 rgba(246, 243, 237, .12); }
.inq-sum__list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid rgba(246, 243, 237, .12); }
.inq-sum__list dt { font-size: .86rem; color: rgba(246, 243, 237, .55); 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: rgba(246, 243, 237, .55); }
.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: rgba(246, 243, 237, .55); min-height: 1em; }
.p26 .inq-sum__note { font-size: .86rem; line-height: 1.6; color: rgba(246, 243, 237, .65); margin: 0; }
.p26 .inq-sum__call { margin: 1.4rem 0 0; padding-top: 1.2rem; border-top: 1px solid rgba(246, 243, 237, .12); font-size: .86rem; color: rgba(246, 243, 237, .55); }
.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; }
