/**
 * Purchase journey (package PJ, 16/10/2026). One order, one sheet, one checkout:
 * 1. "ההזמנה שלי": the order sheet (.hb-osh) in the side panel (desktop) / bottom sheet (phone) and inside the order app.
 * 2. Its parts: lines with the shared icon buttons, "ניקוי הכל", the add-on row (.hb-ups), the three empty paths.
 * 3. The undo toast (.hb-utoast).
 * 4. The phone bottom bar: one order button + a WhatsApp icon; the desktop header cart steps back for the pill.
 * 5. The checkout: progress, three step cards, chips, time windows, a light sticky summary (a bar with the total on
 *    phones that opens the full order).
 * Primary colour: sage #657b63 with white (4.6:1); ink #352b24. Targets 44px. Reduced motion: no slides.
 */

/* 1. The order sheet --------------------------------------------------------------------------------------------- */
.hb-cartd__inner { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 0; padding: 0 !important; overflow: hidden; }
.hb-osh { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.hb-osh__scroll { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 14px; padding: 14px 20px 18px; overflow-y: auto; overscroll-behavior: contain; }
.hb-osh__foot { flex: none; display: grid; gap: 10px; padding: 12px 20px calc(14px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid rgba(53, 43, 36, .1); background: var(--hb-filter-bg, #f9f4f0); box-shadow: 0 -10px 24px rgba(53, 43, 36, .06); }
.hb-osh__sum.hb-cartd__sub { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; padding: 0; border: 0; font-size: 16px; font-weight: 700; color: #352b24; }
.hb-osh__sum span { display: grid; }
.hb-osh__sum small { font-weight: 400; font-size: 13px; color: #6b625d; }
.hb-osh__sum strong { font-size: 22px; font-variant-numeric: tabular-nums; }
.hb-osh__ctas { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; }
.hb-osh__more { min-height: 48px; padding: 0 16px; border: 1.5px solid #352b24; border-radius: 999px; background: #fff; color: #352b24; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; }
@media (hover: hover) { .hb-osh__more:hover { background: #352b24; color: #fff; } }
html body .hb-osh__go.hb-btn { display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0; min-height: 52px; margin: 0; padding: 0 22px; border: 0; border-radius: 999px; background: #657b63; color: #fff; font-size: 17px; font-weight: 700; text-decoration: none; }
html body .hb-osh__go.hb-btn:hover { background: #55694f; color: #fff; }
.hb-osh__go bdi { font-variant-numeric: tabular-nums; }
html body .hb-osh__ctas .hb-osh__go { grid-column: auto; width: auto; }
.hb-osh .hb-cartmin { margin: 0; }

/* The panel: grab handle on phones, close as an icon button (the main.css cross is drawn by the svg now). */
.hb-cartd__grab { display: none; }
.hb-cartd__close.hb-ibtn::after { content: none; }
.hb-cartd__close.hb-ibtn { display: grid; place-items: center; width: 44px; height: 44px; background: #fff; color: #352b24; }
.hb-cartd__close.hb-ibtn::before { inset: 0; border-radius: 50%; background: transparent; width: auto; height: auto; transform: none; }
.hb-cartd__head h2 { display: flex; align-items: center; gap: 10px; }
.hb-cartd__bagel { width: 26px; height: 26px; object-fit: contain; flex: none; }
.hb-cartd__added[hidden] + span { display: inline; }
.hb-cartd__head:has(.hb-cartd__added:not([hidden])) [data-hb-cart-title] { display: none; }
.hb-cartd__head { padding: 16px 20px 12px; }
@media (max-width: 767px) {
	.hb-cartd__panel { inset: auto 0 0 0; width: 100%; max-height: min(92dvh, 100%); border-radius: 22px 22px 0 0; transform: translateY(102%); }
	.hb-cartd.is-open .hb-cartd__panel { transform: none; }
	.hb-cartd__grab { display: block; width: 40px; height: 4px; margin: 8px auto -4px; border-radius: 2px; background: rgba(53, 43, 36, .22); flex: none; }
	.hb-cartd__head h2 { font-size: 20px; }
	.hb-osh__scroll { padding-inline: 16px; }
	.hb-osh__foot { padding-inline: 16px; }
}

/* 2. Lines: the shared icon buttons keep their own circle (no second cross from the old pseudo elements). */
.hb-cline__row .hb-lact.hb-ibtn::before, .hb-cline__row .hb-lact.hb-ibtn::after { content: none; }
.hb-cline__row .hb-lact.hb-ibtn { display: grid; place-items: center; color: #352b24; }
.hb-cline__row .hb-lact .hb-i { width: 18px; height: 18px; }
.hb-lstep__b .hb-i { width: 18px; height: 18px; }
.hb-cline__pkg { margin-top: 6px; }
.hb-cline__pkg summary { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 700; color: #4f6350; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.hb-cline__pkg dl { display: grid; gap: 8px; margin: 4px 0 0; padding: 10px 12px; border-radius: 12px; background: #fff; font-size: 13.5px; line-height: 1.4; }
.hb-cline__pkg dl > div { display: grid; gap: 2px; }
.hb-cline__pkg dt { font-weight: 700; color: #352b24; }
.hb-cline__pkg dd { margin: 0; }
.hb-cline__pkg ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; color: #4a413b; }
.hb-cline__pkg li.is-swap { font-weight: 700; color: #352b24; }
.hb-cline__pkg li .hb-i { margin-inline-end: 4px; color: #657b63; vertical-align: -2px; }
.hb-cline__pkg li small { font-weight: 400; color: #6b625d; }

/* "ניקוי הכל": secondary, at the start of the row under the lines, away from "לתשלום". */
.hb-osh__tools { display: flex; justify-content: flex-end; margin-top: -6px; }
.hb-osh__clear { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border: 0; border-radius: 999px; background: none; color: #6b3a2c; font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }
@media (hover: hover) { .hb-osh__clear:hover { background: rgba(163, 55, 31, .08); } }
.hb-osh__clear:focus-visible { outline: 2px solid #352b24; outline-offset: 2px; }
.hb-osh__clear[disabled] { opacity: .5; cursor: progress; }

/* The add-on row: one horizontal scroll on every width. */
.hb-ups { display: grid; gap: 8px; min-width: 0; }
.hb-ups__h { margin: 0; font-size: 16px; font-weight: 700; color: #352b24; }
.hb-ups__row { display: flex; gap: 10px; margin: 0 -20px; padding: 2px 20px 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 20px; list-style: none; scrollbar-width: thin; overscroll-behavior-x: contain; }
.hb-ups__card { position: relative; flex: none; width: 168px; display: grid; grid-template-rows: auto 1fr auto; gap: 6px; padding: 8px; border: 1px solid rgba(53, 43, 36, .1); border-radius: 16px; background: #fff; scroll-snap-align: start; }
.hb-ups__img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 10px; background: var(--hb-filter-bg, #f9f4f0); }
.hb-ups__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hb-ups__cat { position: absolute; top: 6px; inset-inline-start: 6px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fff; color: #4f6350; box-shadow: 0 2px 6px rgba(53, 43, 36, .14); }
.hb-ups__cat .hb-i { width: 16px; height: 16px; }
.hb-ups__txt { display: grid; align-content: start; gap: 2px; min-width: 0; font-size: 14px; line-height: 1.3; color: #352b24; }
.hb-ups__txt strong { font-size: 14.5px; }
.hb-ups__txt em { font-style: normal; font-size: 12.5px; color: #6b625d; }
.hb-ups__why { font-size: 12.5px; font-weight: 700; color: #4f6350; }
.hb-ups__price { font-size: 13.5px; font-variant-numeric: tabular-nums; }
.hb-ups__add { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 12px; border: 1.5px solid #657b63; border-radius: 999px; background: #fff; color: #3f5240; font: inherit; font-weight: 700; font-size: 14.5px; cursor: pointer; }
@media (hover: hover) { .hb-ups__add:hover { background: #657b63; color: #fff; } }
.hb-ups__add:focus-visible { outline: 2px solid #352b24; outline-offset: 2px; }
.hb-ups__add.is-loading { opacity: .6; cursor: progress; }
.hb-ups__add .hb-i { width: 18px; height: 18px; }
@media (max-width: 767px) { .hb-ups__row { margin-inline: -16px; padding-inline: 16px; scroll-padding-inline: 16px; } .hb-ups__card { width: 150px; } }

/* Empty: three ways to start. */
.hb-osh.is-empty { justify-content: flex-start; overflow-y: auto; padding: 8px 20px 24px; }
.hb-cartempty--paths { display: grid; justify-items: center; gap: 8px; padding: 12px 0 0; text-align: center; }
.hb-cartempty--paths h3 { margin: 4px 0 0; font-size: 22px; color: #352b24; }
.hb-cartempty--paths > p { margin: 0 0 6px; color: #6b625d; }
.hb-paths { display: grid; gap: 10px; width: 100%; max-width: 520px; margin: 0; padding: 0; list-style: none; text-align: start; }
.hb-path { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 12px 16px; border: 1px solid rgba(53, 43, 36, .14); border-radius: 18px; background: #fff; color: #352b24; text-decoration: none; }
.hb-path > .hb-i { flex: none; width: 26px; height: 26px; color: #4f6350; }
.hb-path span { display: grid; gap: 2px; }
.hb-path b { font-size: 16.5px; }
.hb-path small { font-size: 13.5px; color: #6b625d; }
.hb-path--main { border-color: #657b63; background: #657b63; color: #fff; }
.hb-path--main > .hb-i, .hb-path--main small { color: #fff; }
@media (hover: hover) { .hb-path:hover { border-color: #352b24; } .hb-path--main:hover { background: #55694f; } }
.hb-path:focus-visible { outline: 2px solid #352b24; outline-offset: 3px; }

/* The cart page, when reached empty (with items it redirects to the checkout). */
.hb-cartp .hb-osh.is-empty { padding: 24px 0 40px; }

/* 3. Undo toast ------------------------------------------------------------------------------------------------ */
.hb-utoast { position: fixed; z-index: 9100; inset-inline: 12px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; justify-content: space-between; gap: 12px; width: max-content; max-width: min(460px, calc(100% - 24px)); margin-inline: auto; padding: 8px 8px 8px 18px; padding-inline-start: 18px; border-radius: 16px; background: #352b24; color: #fff; font-size: 15px; font-weight: 600; box-shadow: 0 14px 34px rgba(38, 30, 25, .3); opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .2s ease, transform .24s cubic-bezier(.22, 1, .36, 1); }
.hb-utoast:not(.is-action) { padding-block: 14px; }
.hb-utoast.is-in { opacity: 1; transform: none; pointer-events: auto; }
.hb-utoast__b { min-height: 44px; padding: 0 16px; border: 0; border-radius: 12px; background: #fff; color: #352b24; font: inherit; font-weight: 700; cursor: pointer; }
.hb-utoast__b:focus-visible { outline: 2px solid #faa20b; outline-offset: 2px; }
html.hb-co-sum-open .hb-utoast { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }

/* 4. The phone bottom bar: one order button, WhatsApp as an icon ----------------------------------------------- */
@media (max-width: 1179px) {
	html body .hb-ctabar { grid-template-columns: minmax(0, 1fr) auto; }
	html body .hb-ctabar .hb-ctabar__wa.hb-ctabar__wa--icon { display: grid; place-items: center; width: 52px; min-width: 52px; height: 52px; min-height: 52px; padding: 0; border-radius: 16px; gap: 0; }
	html body .hb-ctabar .hb-ctabar__wa--icon .hb-i { width: 26px; height: 26px; color: #1f8f4c; }
	html body .hb-ctabar .hb-ctabar__start.hb-btn { min-height: 52px; }
	html body .hb-ctabar .hb-ctabar__start.hb-btn.has-items { justify-content: center; background: #657b63; border-color: #657b63; color: #fff; }
	html body .hb-ctabar .hb-ctabar__start.has-items .hb-ctabar__ctx { font-size: 16px; font-weight: 700; }
}
/* Desktop: with items the header pill says "ההזמנה שלי · 3 פריטים · ₪" and opens the sheet; the cart icon beside it
   repeated it. */
@media (min-width: 768px) {
	html.hb-has-items .hb-header .hb-header__cart { display: none; }
}

/* The order app: its summary is the order sheet. */
.hba-sum__order { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.hba-sum__order[hidden], .hba-sum__empty[hidden], .hba-sum__nudgebox[hidden] { display: none !important; }
.hba-sum__order > .hb-osheet-app { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.hba-sum__order .hb-osh__scroll { padding-inline: 20px; }
.hba-sum__order .hb-osh__foot { background: #fff; }
.hba-sum__order .hb-cartp__ctx, .hba-sum__order .hb-cartd__fit { display: none; } /* the frame says who it is for */
.hba-sum__nudgebox { padding: 0 20px 8px; }
.hba-sum__empty { flex: 1; min-height: 0; overflow-y: auto; padding: 0 20px 20px; }
.hba-dock__peek { width: 100%; }
.hba-dock__go { margin-inline-start: auto; display: inline-flex; align-items: center; pointer-events: none; }
@media (max-width: 1023px) { .hba-sum__in { max-height: 92dvh; } }

/* 5. Checkout ---------------------------------------------------------------------------------------------------- */
html body form.hb-co.hb-co--pj { grid-template-columns: minmax(0, 1fr) minmax(340px, 420px); gap: clamp(20px, 3vw, 40px); align-items: start; }
.hb-co--pj .hb-co__steps { display: grid; gap: 14px; min-width: 0; }
.hb-co__prog { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; counter-reset: s; }
.hb-co__prog li { flex: 1; min-width: 0; }
.hb-co__prog a { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 10px; border-radius: 999px; background: #fff; color: #352b24; font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; }
.hb-co__prog a .hb-i { width: 18px; height: 18px; color: #4f6350; }
.hb-co__prog a:focus-visible { outline: 2px solid #352b24; outline-offset: 2px; }
.hb-co--pj .hb-co__step { padding: clamp(18px, 2.4vw, 30px); border-radius: 22px; background: #fff; scroll-margin-top: calc(var(--hb-header-h, 80px) + 16px); }
.hb-co__shead { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 12px; align-items: center; margin-bottom: 16px; }
.hb-co__num { grid-row: span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #352b24; color: #fff; font-weight: 700; font-size: 15px; }
html body .hb-co--pj h2.hb-co__head { display: flex; align-items: center; gap: 8px; margin: 0; font-size: clamp(19px, 1.8vw, 23px); font-weight: 700; }
html body .hb-co--pj h2.hb-co__head span { padding: 0; background: none; font-size: inherit; white-space: normal; border-radius: 0; }
.hb-co--pj .hb-co__head .hb-i { width: 22px; height: 22px; color: #4f6350; }
.hb-co__sub { margin: 0; font-size: 14px; color: #6b625d; }
.hb-co--pj .hb-co__mode { margin-bottom: 14px; }
.hb-co--pj .hb-co__chip span { min-height: 48px; padding: 0 20px; border: 1.5px solid rgba(53, 43, 36, .16); background: #fff; }
.hb-co--pj .hb-co__chip span .hb-i { width: 20px; height: 20px; }
.hb-co--pj .hb-co__chip input:checked + span { border-color: #657b63; background: #657b63; color: #fff; }
.hb-co--pj .hb-co__chip input:focus-visible + span { outline: 2px solid #352b24; outline-offset: 3px; }
.hb-co--pj .hb-co__fee, .hb-co--pj .hb-co__pickup { display: flex; gap: 8px; align-items: flex-start; margin: 10px 0 0; padding: 10px 14px; border-radius: 14px; background: var(--hb-filter-bg, #f9f4f0); font-weight: 400; font-size: 14.5px; color: #4a413b; }
.hb-co--pj .hb-co__fee span { display: inline; color: inherit; }
.hb-co--pj .hb-co__fee .hb-i, .hb-co--pj .hb-co__pickup .hb-i { flex: none; margin-top: 2px; color: #4f6350; }
.hb-co--pj .hb-co__pickup[hidden], .hb-co--pj [data-hb-co-delivery][hidden] { display: none; }
.hb-co__when { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-top: 16px; }
.hb-co__when #hb_date_field > label, .hb-co__when legend { display: flex !important; align-items: center; gap: 6px; }
.hb-co__when #hb_date_field > label .hb-i, .hb-co__when legend .hb-i { width: 18px; height: 18px; color: #4f6350; }
.hb-co__hint { display: block; margin-top: 6px; font-size: 13.5px; color: #6b625d; }
.hb-co__hint--pre { color: #3f5240; font-weight: 700; }
.hb-co__hint--pre[hidden] { display: none; }
.hb-co__msg { display: block; margin-top: 6px; font-size: 14px; font-weight: 700; color: #a3371f; }
.hb-co__msg:empty { display: none; }
.hb-co--bad .hb-date__btn, .hb-co--pj [aria-invalid="true"].input-text { border-color: #a3371f !important; box-shadow: 0 0 0 1px #a3371f; }
.hb-slots { min-width: 0; margin: 0; padding: 0; border: 0; }
.hb-slots legend { margin: 0 0 6px; padding: 0; font-weight: 500; font-size: 17px; }
.hb-slots__wait { margin: 0 0 8px; font-size: 14px; color: #6b625d; }
.hb-slots__wait[hidden] { display: none; }
.hb-slots__note { margin: 10px 0 0; font-size: 14px; color: #6b625d; }
.hb-slots__note[hidden] { display: none; }
.hb-slots__list { display: flex; flex-wrap: wrap; gap: 8px; }
.hb-slot { position: relative; margin: 0 !important; cursor: pointer; }
.hb-slot[hidden] { display: none; }
.hb-slot input { position: absolute; opacity: 0; pointer-events: none; }
/* FX-4: the window's text took main.css's `.hb-field label span` colour #b49a91 (2.6:1 on white); ink is 12.9:1.
   `.hb-slots .hb-slot span` outranks that rule; the checked state below still wins (same weight, later). */
.hb-slots .hb-slot span { color: #352b24; }
.hb-slot span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1.5px solid rgba(53, 43, 36, .16); border-radius: 12px; background: #fff; color: #352b24; font-weight: 700; font-size: 15px; font-variant-numeric: tabular-nums; }
.hb-slot input:checked + span { border-color: #657b63; background: #657b63; color: #fff; }
.hb-slot input:focus-visible + span { outline: 2px solid #352b24; outline-offset: 2px; }
.hb-co--bad.hb-slots .hb-slot span { border-color: #a3371f; }
.hb-co__check { display: flex !important; align-items: center; gap: 10px; min-height: 44px; margin: 14px 0 0 !important; font-weight: 500 !important; cursor: pointer; }
.hb-co__check input { width: 22px; height: 22px; accent-color: #657b63; flex: none; }
.hb-co__check span { display: inline-flex; align-items: center; gap: 6px; }
.hb-co__notes { margin-top: 14px; border-top: 1px solid rgba(53, 43, 36, .1); }
.hb-co__notes summary { display: flex; align-items: center; gap: 8px; min-height: 48px; font-weight: 700; cursor: pointer; list-style: none; }
.hb-co__notes summary::-webkit-details-marker { display: none; }
.hb-co__notes summary small { font-weight: 400; color: #6b625d; }
.hb-co__notes summary::after { content: ""; width: 9px; height: 9px; margin-inline-start: auto; border: solid #352b24; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s ease; }
.hb-co__notes[open] summary::after { transform: rotate(-135deg); }
.hb-co__notes .form-row { margin-top: 8px !important; }
.hb-co__paynote { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; padding: 12px 16px; border-radius: 14px; background: #eef2ed; color: #2f3d30; }
.hb-co__paynote .hb-i { flex: none; margin-top: 2px; color: #4f6350; }
.hb-co__paynote p { margin: 0; font-size: 14.5px; line-height: 1.5; }
.hb-co__paynote b { display: block; font-size: 15.5px; }
html body .hb-co--pj #place_order { min-height: 56px; background: #657b63; color: #fff; }
html body .hb-co--pj #place_order:hover { background: #55694f; }

/* The summary: light, sticky beside the steps (desktop); a bar with the total that opens the order (phones). */
html body .hb-co--pj .hb-co__sum { position: sticky; top: calc(var(--hb-header-h, 80px) + 20px); max-height: calc(100dvh - var(--hb-header-h, 80px) - 40px); display: flex; flex-direction: column; padding: 0; border-radius: 22px; background: #fff; color: #352b24; box-shadow: 0 1px 0 rgba(53, 43, 36, .06); overflow: hidden; }
.hb-co__sumbar { display: none; }
.hb-co__sumbody { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px; }
.hb-co__sumh { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 20px; font-weight: 700; }
.hb-co__sumh img { width: 26px; height: 26px; object-fit: contain; }
.hb-co--pj .hb-co__sum small, .hb-co--pj .hb-co__sum .hb-co__note, .hb-co--pj .hb-co__sum .hb-co__total small { color: #6b625d; }
.hb-co__review { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; min-width: 0; }
.hb-co__review > * { min-width: 0; }
html body .hb-co .hb-slot[hidden] { display: none !important; }
.hb-co__review .hb-clines { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.hb-co__review .hb-cline { background: var(--hb-filter-bg, #f9f4f0); border-radius: 14px; }
.hb-co__review .hb-osh__tools { margin: 0; }
.hb-co__review .hb-ups__row { margin-inline: -20px; padding-inline: 20px; }
.hb-co__review.is-cleared .hb-clines, .hb-co__review.is-cleared .hb-co__totals, .hb-co__review.is-cleared .hb-ups { opacity: .35; pointer-events: none; }
.hb-co__totals { padding-top: 12px; border-top: 1px solid rgba(53, 43, 36, .1); }
html body .hb-co--pj .hb-co__row { color: #352b24; font-size: 15.5px; }
html body .hb-co--pj .hb-co__total { border-top-color: rgba(53, 43, 36, .12); color: #352b24; }
html body .hb-co--pj .hb-co__total strong { font-size: 26px; }
html body .hb-co--pj .hb-co__sum .blockUI.blockOverlay { background: #fff !important; }
.hb-co--pj .hb-co__note { margin: 12px 0 0; font-size: 13.5px; }

@media (max-width: 1023px) {
	html body form.hb-co.hb-co--pj { grid-template-columns: minmax(0, 1fr); padding-bottom: 76px; }
	html body .hb-co--pj .hb-co__sum { position: fixed; z-index: 890; inset: auto 0 0 0; top: auto; order: 0; max-height: none; border-radius: 20px 20px 0 0; box-shadow: 0 -12px 30px rgba(38, 30, 25, .18); }
	.hb-co__sumbar { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 64px; padding: 10px 18px calc(10px + env(safe-area-inset-bottom, 0px)); border: 0; background: #fff; color: #352b24; font: inherit; text-align: start; cursor: pointer; }
	.hb-co__sumbar-t { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15.5px; }
	.hb-co__sumbar-t .hb-i { color: #4f6350; }
	.hb-co__sumbar strong { font-size: 19px; font-variant-numeric: tabular-nums; }
	.hb-co__sumbar-chev { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--hb-filter-bg, #f9f4f0); transform: rotate(180deg); transition: transform .2s ease; }
	.hb-co__sumbar[aria-expanded="true"] .hb-co__sumbar-chev { transform: none; }
	.hb-co__sumbar:focus-visible { outline: 2px solid #352b24; outline-offset: -4px; }
	.hb-co__sumbody { display: none; max-height: calc(82dvh - 64px); padding: 4px 16px 20px; border-top: 1px solid rgba(53, 43, 36, .08); }
	.hb-co__sum.is-open .hb-co__sumbody { display: block; }
	.hb-co__sum.is-open { box-shadow: 0 -12px 30px rgba(38, 30, 25, .18), 0 0 0 100vmax rgba(53, 43, 36, .4); }
	.hb-co__sum.is-open .hb-co__sumbar { order: 2; border-top: 1px solid rgba(53, 43, 36, .08); }
	.hb-co__sumh { display: none; }
	.hb-co__review .hb-ups__row { margin-inline: -16px; padding-inline: 16px; }
	.hb-co__when { grid-template-columns: minmax(0, 1fr); }
	.hb-co__prog a span { font-size: 13px; }
	html.hb-co-sum-open { overflow: hidden; }
	/* 17/10: no `bottom` override here any more; the base offset (92px+) already clears the checkout summary bar, and the notice lift is the translate in polish-global. */
}
@media (max-width: 420px) {
	.hb-co__prog a { padding: 0 6px; gap: 4px; }
	.hb-co__prog a .hb-i { display: none; }
}

/* Reduced motion: nothing slides. */
@media (prefers-reduced-motion: reduce) {
	.hb-utoast, .hb-cartd__panel, .hb-co__sumbar-chev, .hb-co__notes summary::after { transition: none !important; }
}
html.hb-a11y-motion .hb-utoast, html.hb-a11y-motion .hb-cartd__panel { transition: none !important; }

/* Targets and overlaps found by the browser pass (16/10): steppers 44px inside the border, the line name a 44px
   target without moving the row, the calendar's month arrows 44px; while the order sheet or the phone summary is
   open (a modal), the accessibility button steps aside instead of covering the total. */
.hb-cline .hb-lstep { height: 48px; }
.hb-cline .hb-lstep__b { width: 44px; height: 44px; }
.hb-cline__name { display: inline-block; padding-block: 11px; margin-block: -11px; }
.hb-co .hb-date__nav { width: 44px; height: 44px; }
body:has(.hb-cartd.is-open) .hb-a11y, html.hb-co-sum-open .hb-a11y { visibility: hidden; }
/* The total stays in view at the foot of the summary while its lines and add-ons scroll. */
.hb-co--pj .hb-co__totals { position: sticky; bottom: -20px; z-index: 1; margin: 0 -20px -20px; padding: 12px 20px 16px; background: #fff; box-shadow: 0 -8px 16px rgba(53, 43, 36, .06); }
@media (max-width: 1023px) { .hb-co--pj .hb-co__totals { bottom: -20px; margin-inline: -16px; padding-inline: 16px; } }

/* R07 (17/10/2026): one payment method = no radio card under the note that already explains it. The input stays in
   the form (display:none still submits), so the order still carries its payment method. */
.hb-co--pj #payment ul.wc_payment_methods:not(:has(> li + li)) { display: none; }
