/**
 * Inner pages polish (16/10/2026, SGO): about, kashrut, contact, FAQ, gallery, catering hubs and event
 * pages, catering quote, catering menus, seasonal pages. Loaded last (inc/polish.php). Brand tokens only;
 * every colour change here is the same hue moved the minimum for IL 5568 AA, measured.
 */

/* Contact: on phones the fastest channels (WhatsApp, call, mail) come first, the form after them. The
   page itself says "הדרך הכי מהירה היא טלפון או וואטסאפ". */
@media (max-width: 900px) {
	.hb-contact:not(.hb-quote) > .hb-contact__main > .hb-contact__grid { display: flex; flex-direction: column; }
	.hb-contact:not(.hb-quote) > .hb-contact__main > .hb-contact__grid > .hb-contact__info { order: -1; }
	.hb-contact:not(.hb-quote) > .hb-contact__main > .hb-contact__grid > .hb-contact__info { padding-top: 58px; } /* clear of the hero bagel */
	.hb-contact:not(.hb-quote) .hb-contact__form-card { margin-top: 6px; }
}

/* Catering hub, "מה כלול בשירות מלא": four ticks in a tidy 2 by 2 grid instead of a ragged column. */
@media (max-width: 767px) {
	.hb-cp__service-list { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; justify-items: stretch; }
	.hb-cp__service-list > li { width: auto !important; justify-content: flex-start; min-width: 0; }
}

/* The menu card button in the catering hubs and event pages: white on dusty pink was 2.6:1. Same pink,
   darker (4.5:1). */
.hb-cp .hb-pkp__menu-cta, .hb-ev .hb-pkp__menu-cta, .hb-cp .hb-cp__filter-go, .hb-cp .hb-cp__filter-go.is-active { background: #916f63; border-color: #916f63; }
.hb-cp .hb-pkp__menu-cta:hover, .hb-ev .hb-pkp__menu-cta:hover, .hb-cp .hb-cp__filter-go:hover { background: #7d5f55; border-color: #7d5f55; }

/* About: the timeline. Its last step ("היום") stayed at 30% after the reveal; every step ends fully
   readable. Years: sage 2.1:1 on cream; the same sage, darker (3:1 for large text). */
.hb-timeline.is-in .hb-timeline__item > :not(.hb-timeline__dot) { opacity: 1 !important; transform: none !important; }
.hb-timeline__year { color: #6a8068; }
/* About: the numbers. Dusty pink 2:1 on cream; the same pink, darker (3.2:1, large text). */
.hb-about [data-hb-count], .hb-cp [data-hb-count] { color: #96756a; }

/* Catering menus: a dish with no photo of its own shows nothing there (R10, 17/10/2026: the faint placeholder
   circles read as broken). The slot keeps its width so the names stay in one column. */
.hb-menu__img.is-empty { background: none !important; }

/* Menu tags and labels that were under 4.5:1. */
.hb-om__tags small { color: #6b625d; }
.hb-om__tags em { color: #7a5c53; }

/* Gallery and FAQ chips on phones: the first chip starts inside the gutter, never clipped by the edge. */
@media (max-width: 767px) {
	.hb-galp > .hb-faqp__chips, .hb-faqp > .hb-faqp__chips { scroll-padding-inline: 12px; }
}

/* Event pages: the short form's fields get a clear invalid state (border + message). */
.hb-ev__fields .is-invalid input { border-color: #b3261e; }
.hb-ev__fields .hb-q__error { color: #b3261e; }

/* Scroll regions that are now reachable by keyboard (polish-pages.js): a visible focus ring. */
[data-hb-scroll-region]:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 4px; border-radius: 12px; }

/* Closing banner on the content pages (FAQ, gallery, contact, catering hubs and event pages): white on
   sage was 2.7:1. The sage stays; the text and the outline button go to the brand ink (5:1). */
.hb-faqp .hb-faqp__cta, .hb-galp .hb-faqp__cta, .hb-contact .hb-faqp__cta { color: var(--hb-ink-warm); }
.hb-faqp .hb-faqp__cta .hb-faqp__cta-alt, .hb-galp .hb-faqp__cta .hb-faqp__cta-alt, .hb-contact .hb-faqp__cta .hb-faqp__cta-alt { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); background: transparent; }
.hb-faqp .hb-faqp__cta .hb-faqp__cta-alt:hover, .hb-galp .hb-faqp__cta .hb-faqp__cta-alt:hover, .hb-contact .hb-faqp__cta .hb-faqp__cta-alt:hover { background: var(--hb-ink-warm); color: var(--hb-white); }

/* Active filter chip on the gallery and FAQ: white on dusty pink was 2.6:1. Same pink, darker. */
.hb-galp .hb-chip.is-active, .hb-faqp .hb-chip.is-active { background: #916f63; border-color: #916f63; color: var(--hb-white); }

/* About: the clarification line under "יש לכם שאלה?" (3.8:1). */
.hb-about__contact .hb-about__note { color: #5f524c; }

/* 404 and search: the search field shows where the keyboard is. */
.hb-state__search input:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }

/* Contact, tablet and phone: the channel cards and the form share one column width, edges aligned. */
@media (max-width: 900px) {
	.hb-contact:not(.hb-quote) > .hb-contact__main > .hb-contact__grid { align-items: stretch; }
	.hb-contact:not(.hb-quote) > .hb-contact__main > .hb-contact__grid > * { width: 100%; max-width: 640px; margin-inline: auto; box-sizing: border-box; }
}

/* FAQ and gallery topic chips: one line each ("הזמנה וייעוץ" broke into two lines on desktop). */
.hb-faqp__chips .hb-chip { flex: none; white-space: nowrap; }
/* Menu category intro lines on the rose band: 4.3:1, the same ink a shade firmer (5:1). */
.hb-om__cat-head p { color: #5f524c; }

/* Catering pages, tablets: the quote button in the guests / event-type bar was wider than the room left for it and
   ran off the left edge (the grid's "auto" column + 40px padding). 768-1023px: the two choices side by side and the
   button full width under them; 1024-1100px: one row with a tablet-size button (16/10/2026). */
@media (min-width: 768px) and (max-width: 1023px) {
	.hb-cp .hb-cp__filter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.hb-cp .hb-cp__filter .hb-dd:nth-child(2) .hb-dd__btn { border-radius: 0; border-start-end-radius: 20px; border-end-end-radius: 20px; }
	.hb-cp .hb-cp__filter .hb-cp__filter-go { grid-column: 1 / -1; min-height: 64px; margin: 6px 0 0; border-radius: 20px; }
}
@media (min-width: 1024px) and (max-width: 1100px) {
	.hb-cp .hb-cp__filter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
	.hb-cp .hb-cp__filter .hb-cp__filter-go { padding-inline: 26px; }
}

/* Seasonal page out of season: the hero bagel hung over the first line of the "season ended" note
   ("...נחזור עם תפריט החג"). The note starts below the bagel (16/10/2026). */
.hb-cp.hb-contact > .hb-season__off { padding-top: clamp(76px, 7vw, 96px); }

/* Gallery up to tablets: the hero bagel lay on top of the centred filter chips ("אירועים למוסדות", "מגשים").
   The chip bar now sits above it, so the bagel peeks out between the hero and the bar (16/10/2026). */
@media (max-width: 1100px) { .hb-galp__chips.hb-faqp__chips { z-index: 7; } }

/* Packages page (16/10/2026, polish-pages.js §3): what fits in words under the filters, and a comparison of
   the packages built from the cards (price per person, total for the chosen guests, trays, what is inside). */
.hb-pkp__count { margin: 14px auto 0; text-align: center; font-weight: 700; font-size: 15px; color: #4a5d4b; font-variant-numeric: tabular-nums; }
.hb-pk-ghost { list-style: none; }
.hb-pkp__cmp { max-width: 1100px; margin: 28px auto 0; padding: 0 20px; }
.hb-pkp__cmp > summary { display: flex; align-items: center; justify-content: center; gap: 10px; width: max-content; max-width: 100%; min-height: 48px; margin: 0 auto; padding: 0 22px; border: 1.5px solid var(--hb-ink-warm); border-radius: 999px; background: var(--hb-white); font-weight: 700; font-size: 16px; color: var(--hb-ink-warm); cursor: pointer; list-style: none; transition: background-color .2s var(--ease-out), color .2s var(--ease-out), transform .12s var(--ease-out); }
.hb-pkp__cmp > summary::-webkit-details-marker { display: none; }
.hb-pkp__cmp-chev { width: 11px; height: 7px; background: currentColor; -webkit-mask: url("../img/select-chevron.svg") center / contain no-repeat; mask: url("../img/select-chevron.svg") center / contain no-repeat; transition: transform .24s var(--ease-out); }
.hb-pkp__cmp[open] .hb-pkp__cmp-chev { transform: rotate(180deg); }
.hb-pkp__cmp > summary:active { transform: scale(.97); }
.hb-pkp__cmp > summary:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .hb-pkp__cmp > summary:hover { background: var(--hb-ink-warm); color: var(--hb-white); } }
.hb-pkp__cmp-wrap { margin-top: 18px; overflow-x: auto; border-radius: 22px; background: var(--hb-white); box-shadow: 0 10px 30px rgba(53, 43, 36, .08); overscroll-behavior-x: contain; }
.hb-pkp__cmp-wrap:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 3px; }
.hb-pkp__cmp-table { width: 100%; min-width: 620px; border-collapse: separate; border-spacing: 0; font-size: 15px; color: var(--hb-ink-warm); }
.hb-pkp__cmp-table th, .hb-pkp__cmp-table td { padding: 14px 16px; text-align: start; vertical-align: top; border-bottom: 1px solid rgba(53, 43, 36, .07); }
.hb-pkp__cmp-table thead th { position: relative; padding-top: 20px; font-size: 18px; font-weight: 700; background: var(--hb-filter-bg); color: var(--hb-ink-warm); }
.hb-pkp__cmp-table thead td { background: var(--hb-filter-bg); }
.hb-pkp__cmp-table thead th em { display: block; width: max-content; margin-top: 4px; padding: 2px 9px; border-radius: 999px; background: var(--hb-ink-warm); color: var(--hb-white); font-style: normal; font-size: 12px; }
.hb-pkp__cmp-table tbody th { width: 130px; font-weight: 700; font-size: 14px; color: rgba(53, 43, 36, .75); white-space: nowrap; }
.hb-pkp__cmp-table strong { font-size: 20px; }
.hb-pkp__cmp-table tr.is-total td { font-weight: 700; color: #4a5d4b; font-variant-numeric: tabular-nums; }
.hb-pkp__cmp-table ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.hb-pkp__cmp-table li { position: relative; padding-inline-start: 16px; line-height: 1.45; }
.hb-pkp__cmp-table li::before { content: ""; position: absolute; inset-inline-start: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: #657b63; }
.hb-pkp__cmp-table tr.is-cta td, .hb-pkp__cmp-table tr.is-cta th { border-bottom: 0; }
.hb-pkp__cmp-cta.hb-btn { min-height: 44px; padding: 0 16px; background: #657b63; border-color: #657b63; color: var(--hb-white); font-size: 14.5px; white-space: nowrap; }
@media (hover: hover) and (pointer: fine) { .hb-pkp__cmp-cta.hb-btn:hover { background: #566a54; border-color: #566a54; } }
/* Phones: the row labels stay in place while the packages scroll sideways. */
@media (max-width: 767px) {
	.hb-pkp__cmp { padding: 0 16px; }
	.hb-pkp__cmp-table { min-width: 560px; font-size: 14px; }
	.hb-pkp__cmp-table th, .hb-pkp__cmp-table td { padding: 12px 12px; }
	.hb-pkp__cmp-table tbody th, .hb-pkp__cmp-table thead td { position: sticky; inset-inline-start: 0; z-index: 1; width: 92px; white-space: normal; background: var(--hb-white); box-shadow: -1px 0 0 rgba(53, 43, 36, .07); }
	.hb-pkp__cmp-table thead td { background: var(--hb-filter-bg); }
}
@media (prefers-reduced-motion: reduce) { .hb-pkp__cmp-chev, .hb-pkp__cmp > summary { transition: none; } }

/* Trays menu (/menu/, 16/10/2026, polish-pages.js §4): a sticky rail of categories that follows the reading,
   a count with one-tap clear, and sticky offsets taken from the real header (--hb-om-top). The jump dropdown
   gives way to the rail (the native select stays in the page for main.js). */
.hb-om.has-rail .hb-om__jump { display: none; }
.hb-om.has-rail .hb-om__tools { top: var(--hb-om-top, 92px); }
.admin-bar .hb-om.has-rail .hb-om__tools { top: var(--hb-om-top, 124px); }
/* Nothing of the list shows in the gap between the header and the tools. */
.hb-om.has-rail .hb-om__tools::before { content: ""; position: absolute; inset: -14px 0 100% 0; background: inherit; backdrop-filter: inherit; pointer-events: none; }
.hb-om__rail { display: flex; align-items: center; gap: 12px; min-width: 0; max-width: 1320px; width: 100%; margin: 0 auto; }
.hb-om__rail ul { display: flex; gap: 6px; flex: 1; min-width: 0; margin: 0; padding: 2px; list-style: none; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(to left, #000 calc(100% - 28px), transparent); }
.hb-om__rail ul::-webkit-scrollbar { display: none; }
.hb-om__rail li[hidden] { display: none; }
.hb-om__rchip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding-block: 0; padding-inline: 14px 6px; border: 1px solid rgba(53, 43, 36, .1); border-radius: 999px; background: var(--hb-white); color: var(--hb-ink-warm); font-weight: 700; font-size: 14px; white-space: nowrap; text-decoration: none; transition: background-color .22s var(--ease-out), color .22s var(--ease-out), border-color .22s var(--ease-out), transform .12s var(--ease-out); }
.hb-om__rchip em { min-width: 26px; padding: 3px 7px; border-radius: 999px; background: var(--hb-filter-bg); font-style: normal; font-size: 12.5px; text-align: center; font-variant-numeric: tabular-nums; color: rgba(53, 43, 36, .75); transition: background-color .22s var(--ease-out), color .22s var(--ease-out); }
.hb-om__rchip.is-on { border-color: var(--hb-ink-warm); background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-om__rchip.is-on em { background: rgba(255, 255, 255, .16); color: var(--hb-white); }
.hb-om__rchip:active { transform: scale(.96); }
.hb-om__rchip:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .hb-om__rchip:not(.is-on):hover { border-color: rgba(53, 43, 36, .45); } }
.hb-om__found { flex: none; display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 700; font-size: 14px; color: #4a5d4b; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hb-om__reset { min-height: 36px; padding: 0 14px; border: 1px solid rgba(53, 43, 36, .2); border-radius: 999px; background: var(--hb-white); color: var(--hb-ink-warm); font: inherit; font-weight: 700; font-size: 13.5px; cursor: pointer; transition: border-color .2s var(--ease-out), transform .12s var(--ease-out); }
.hb-om__reset[hidden] { display: none; }
.hb-om__reset:active { transform: scale(.96); }
.hb-om__reset:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .hb-om__reset:hover { border-color: var(--hb-ink-warm); } }
.hb-om__empty-reset.hb-btn { margin-top: 14px; min-height: 46px; padding: 0 22px; background: #657b63; border-color: #657b63; color: var(--hb-white); }
.hb-om__cat-head h2:focus { outline: none; }
.hb-om__cat-head h2:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 4px; border-radius: 6px; }
/* Phones and tablets: the tools scroll away, the rail stays under the header. */
@media (max-width: 1023px) {
	.hb-om.has-rail .hb-om__tools { position: static; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
	.hb-om.has-rail .hb-om__tools::before { display: none; }
	.hb-om__rail { position: sticky; top: var(--hb-om-top, 82px); z-index: 8; gap: 8px; margin: 0 !important; padding: 8px 10px !important; background: rgba(234, 224, 217, .95); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
	.hb-om__rail::before { content: ""; position: absolute; inset: -12px 0 100% 0; background: inherit; pointer-events: none; }
	.hb-om__rchip { min-height: 44px; }
	.hb-om__found .hb-om__reset { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { .hb-om__rchip, .hb-om__rchip em { transition: none; } }
@media (max-width: 767px) {
	.hb-om__tools > .hb-om__found { justify-content: center; flex-wrap: wrap; margin-top: 2px; white-space: normal; }
}
/* Diet chips on the menu: the same dark "on" state as every other filter chip on the site, with one small pop. */
.hb-om .hb-chip[aria-pressed="true"] { border-color: var(--hb-ink-warm); background: var(--hb-ink-warm); color: var(--hb-white); animation: hb-om-chip-on .34s cubic-bezier(.34, 1.4, .64, 1); }
@keyframes hb-om-chip-on { 0% { transform: scale(.92); } 60% { transform: scale(1.04); } 100% { transform: none; } }
.hb-om .hb-chip { transition: background-color .22s var(--ease-out), color .22s var(--ease-out), border-color .22s var(--ease-out), transform .12s var(--ease-out); }
.hb-om .hb-chip:active { transform: scale(.96); }
@media (prefers-reduced-motion: reduce) { .hb-om .hb-chip[aria-pressed="true"] { animation: none; } }
html.hb-a11y-motion .hb-om .hb-chip[aria-pressed="true"] { animation: none; }

/* Catering hubs: the quote button in the brand sage, and the band that fits the chosen size (polish-pages.js §5). */
.hb-cp__filter-go.hb-btn { background: #657b63; border-color: #657b63; color: var(--hb-white); }
@media (hover: hover) and (pointer: fine) { .hb-cp__filter-go.hb-btn:hover { background: #566a54; border-color: #566a54; } }
.hb-cp__filter-go.hb-btn:active { transform: scale(.98); }
.hb-cp__band { transition: opacity .3s var(--ease-out), transform .36s cubic-bezier(.22, 1, .36, 1), box-shadow .3s var(--ease-out); }
.hb-cp__bands-list.has-match .hb-cp__band:not(.is-match) { opacity: .75; }
.hb-cp__band.is-match { transform: translateY(-6px); box-shadow: 0 0 0 3px #657b63, 0 16px 36px rgba(53, 43, 36, .16); }
.hb-cp__band.is-match .hb-cp__band-range::after { content: "מתאים לאירוע שלכם"; display: inline-block; margin-inline-start: 10px; padding: 3px 10px; border-radius: 999px; background: #657b63; color: var(--hb-white); font-size: 13px; font-weight: 700; vertical-align: 3px; animation: hb-cp-note .4s cubic-bezier(.22, 1, .36, 1); }
@keyframes hb-cp-note { from { opacity: 0; transform: translateY(6px); } }
@media (prefers-reduced-motion: reduce) { .hb-cp__band { transition: opacity .15s linear; } .hb-cp__band.is-match { transform: none; } .hb-cp__band.is-match .hb-cp__band-range::after { animation: none; } }

/* IL 5568 contrast on /packages/ (measured 16/10/2026): the active way-in tab, menu card prices, notes and buttons. */
.hb-packages--page .hb-pk-tabs__btn[aria-pressed="true"] { background: #657b63; border-color: #657b63; color: var(--hb-white); }
.hb-pkp__price bdi { color: #4a5d4b; }
.hb-pkp__price small, .hb-pkp__min, .hb-pkp__includes li em { color: #6b645f; }
.hb-pkp__menu-cta.hb-btn { background: #657b63; border-color: #657b63; color: var(--hb-white); }
@media (hover: hover) and (pointer: fine) { .hb-pkp__menu-cta.hb-btn:hover { background: #566a54; border-color: #566a54; } }
.hb-pkp__boxes-btn.hb-btn { background: #657b63; border-color: #657b63; color: var(--hb-white); }
@media (hover: hover) and (pointer: fine) { .hb-pkp__boxes-btn.hb-btn:hover { background: #566a54; border-color: #566a54; } }

/* QA 16/10/2026: the results count was rgba(53,43,36,.65) = 4.4:1 on the cream card; same ink, a touch stronger (AA). */
.hb-state__count { color: rgba(53, 43, 36, .78); }

/* Final verification 16/10/2026: gallery and FAQ topic chips were 42px high. */
.hb-galp .hb-chip, .hb-faqp .hb-chip { min-height: 44px; }
/* The two text links under the catering comparison ("או הרכיבו מגשים לבד", "לתפריטי הקייטרינג") were 24px high. */
.hb-cp__link { display: inline-flex; align-items: center; min-height: 44px; }
.hb-contact__quote { display: inline-flex; align-items: center; min-height: 44px; }

/* ---- FX-6 (16/10/2026) catering pages, phones: the two headings that sat 10px from the edge (the plain bands section
   and the FAQ carry only the page pad) take the 16px inner gutter the other section headings have (10 + 16 = 26). */
@media (max-width: 767px) {
	.hb-cp h2#hb-cp-bands, .hb-cp h2#hb-cp-faq { padding-inline: 16px; }
}

/* ---- CJ run 2 (16/10/2026): the quote button in the first screen of the catering pages (the sage pill, as elsewhere). */
.hb-cp__herocta { margin: 18px 0 0; display: flex; justify-content: center; }
.hb-cp__herocta .hb-btn { min-width: 220px; }
@media (max-width: 767px) { .hb-cp__herocta { margin-top: 14px; } .hb-cp__herocta .hb-btn { width: 100%; max-width: 320px; } }

/* ---- Bagel landings (BM, 17/10/2026, owner: "a bagel never sits on a control or on text") ---------------------------
   Every hero bagel keeps the one choreography of [data-hb-spin] (main.js: a 1.6s power3.out roll-in turning by the
   distance rolled, then the scrubbed scroll turn; polish-motion.js: the scroll flywheel). Only where it LANDS changes:
   - /gallery/: main.js centred it on the seam between the hero and the next element, and the next element there is the
     filter chip row, so it sat on "וידאו". It now lands inside its own hero, centred under the lead, like the opening.
   - /about/ on phones: the seam was the "facts" buttons. Same landing inside the hero.
   - /faq/ on phones: it hung over the H1 (absolute, top-end corner) and spun on a 48s loop of its own. It now sits in the
     hero under the intro and moves like every other bagel (no private loop).
   translate is written inline by main.js, so the override needs !important; it is a constant, so CLS stays 0. */
.hb-galp__hero .hb-galp__bagel { translate: none !important; margin: 18px 0 clamp(18px, 2vw, 26px); }
@media (max-width: 767px) {
	.hb-galp__hero .hb-galp__bagel { width: 92px; margin: 14px 0 16px; }
	.hb-about > .hb-about__hero:not(.hb-about__hero--slim) .hb-about__hero-bagel { translate: none !important; margin: 22px 0 22px; }
	.hb-faqp__hero .hb-faqp__bagel { position: static; justify-self: center; width: 96px; margin: -4px 0 0; opacity: 1; }
	.hb-faqp__hero .hb-faqp__bagel.is-turning { animation: none; }
}
/* The filter chip rows (/gallery/, /faq/) fit their chips and sit centred: no full-width frame with an empty side. */
@media (min-width: 768px) {
	.hb-galp > nav.hb-faqp__chips, .hb-faqp > nav.hb-faqp__chips { width: fit-content; max-width: 100%; margin-inline: auto; justify-content: center; }
}

/* ---- The same bagel on the order pages (BM, 17/10/2026): product, order (cart), checkout and the order confirmation.
   Their opening band is the breadcrumb strip, so the bagel rolls into that strip's free end (the crumbs run from the
   start side), exactly like the hero bagels ([data-hb-spin]: same roll-in, same scroll turn). It is decorative, never
   takes a pointer, sits above nothing (the strip only holds the crumbs) and never reaches the checkout fields. */
.hb-cp > .hb-prod__crumbs { position: relative; }
.hb-crumb-bagel { position: absolute; z-index: 1; top: 50%; inset-inline-end: clamp(14px, 2vw, 28px); width: 64px; height: 64px; margin-top: -32px; pointer-events: none; }
@media (max-width: 767px) { .hb-crumb-bagel { width: 46px; height: 46px; margin-top: -23px; inset-inline-end: 12px; } }

/* Kashrut FAQ (owner 17/10): no empty half-screen beside the questions. The page band already carries the one
   bagel, so the side bagel goes; the questions take the full panel, two columns from 1024px. */
.hb-kosher__faq .hb-faq__bagel { display: none !important; }
.hb-kosher__faq .hb-faq__inner { grid-template-columns: minmax(0, 1fr) !important; }
@media (min-width: 1024px) {
	.hb-kosher__faq .hb-faq__list { display: block !important; columns: 2; column-gap: 15px; }
	.hb-kosher__faq .hb-faq__item { break-inside: avoid; margin: 0 0 15px !important; }
}

/* Event page package cards (owner 17/10): the include rows have no icon here, so the label fell into the narrow icon
   column and the pill ran over it. Label | pill, the pill never wraps or overlaps. */
.hb-ev__menus .hb-pkp__includes li { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; align-items: center; gap: 10px; }
.hb-ev__menus .hb-pkp__includes li > span { min-width: 0; grid-column: 1; }
.hb-ev__menus .hb-pkp__includes li > em { grid-column: 2; white-space: nowrap; width: auto !important; max-width: none !important; }
/* "קייטרינג לאירועים נוספים": the title and the tiles sit on the page centre, across the full panel. */
.hb-cp > .hb-ev__others { grid-column: 1 / -1 !important; width: auto; justify-self: stretch; }
.hb-ev__others .hb-ev__tiles { margin-inline: auto !important; }

/* R09 (17/10/2026): event pages. The quick-quote submit is the site's one primary (sage, as every other primary);
   WhatsApp stays the outline next to it. */
.hb-ev .hb-ev__send.hb-btn--sage { background: #657b63; border-color: #657b63; color: var(--hb-white); }
@media (hover: hover) and (pointer: fine) { .hb-ev .hb-ev__send.hb-btn--sage:hover { background: #5a6f58; border-color: #5a6f58; } }
/* "תפריטים מומלצים ל…" runs on one line at desktop instead of wrapping over the cards. */
@media (min-width: 1024px) { .hb-ev .hb-ev__menus .hb-pkp__head { max-width: 980px; } }

/* R02 (17/10/2026): /kashrut/ until the certificate exists: no empty second column, the text reads at its own width. */
.hb-kosher__main:not(:has(.hb-kosher__cert)) { grid-template-columns: minmax(0, 1fr); }
.hb-kosher__main:not(:has(.hb-kosher__cert)) .hb-kosher__body { max-width: 860px; }

/* /gallery/ ends clean (owner 17/10/2026, the masonry ended ragged with an empty hole under some columns): one calm grid,
   every tile 4:5, whole photos (object-fit: cover fills the tile, nothing is cut by the grid). polish-pages.js picks the
   column count that divides the visible tiles (10 → 5 on computers, 2 on phones); any short last row is centred. */
.hb-galp .hb-galp__grid.hb-gallery__grid { --galp-cols: 2; --galp-gap: 10px; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--galp-gap); columns: auto; }
.hb-galp .hb-galp__grid > .hb-galp__item { flex: 0 0 calc((100% - (var(--galp-cols) - 1) * var(--galp-gap)) / var(--galp-cols)); min-width: 0; margin: 0; aspect-ratio: 4 / 5 !important; }
.hb-galp .hb-galp__grid > .hb-galp__item[hidden] { display: none; }
@media (min-width: 768px) { .hb-galp .hb-galp__grid.hb-gallery__grid { --galp-cols: 3; --galp-gap: 16px; } }
@media (min-width: 1200px) { .hb-galp .hb-galp__grid.hb-gallery__grid { --galp-cols: 4; } }
