/* ==========================================================================
   Holy Bagel: main stylesheet
   ========================================================================== */

@font-face { font-family: "Birzia"; src: url("../fonts/birzia-regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Birzia"; src: url("../fonts/birzia-medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Birzia"; src: url("../fonts/birzia-bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
	--hb-cream: #eae0d9;
	--hb-pk-icon: #c1a39b;
	--hb-pk-note: #879d89;
	--hb-gold: #fab20b;
	--hb-sand: #eee7d6;
	--hb-orange: #faa20b;
	--hb-orange-dark: #e38f00;
	--hb-peach: #ffd4af;
	--hb-pink: #ecdfd9;
	--hb-rose: #e5cec7;
	--hb-cat-count: #b49a91;
	--hb-benefit-text: #352b24;
	--hb-sage: #8da28b;
	--hb-nav-hover: #e5cec7;
	--hb-search-bg: #bda9a1;
	--hb-card: #e1d5cc;
	--hb-ink-warm: #352b24;
	--hb-sticky-bg: #ffffff;
	--hb-sticky-cta: #e5cec7;
	--hb-filter-bg: #f9f4f0;
	--hb-pk-card-bg: #f9f4f0;
	--hb-leaf: #d5e4b8;
	--hb-sage-dark: #768c74;
	--hb-ink: #000;
	--hb-muted: rgba(0, 0, 0, .61);
	--hb-white: #fff;
	--hb-radius-lg: 40px;
	--hb-pill: 200px;
	--hb-gutter: 13px;
	--hb-header-h: 94px;
	--hb-font: "Birzia", "Assistant", "Arial Hebrew", Arial, sans-serif;
	--hb-ease: cubic-bezier(.22, .61, .36, 1);
}

/* Base ------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: clip; }
body {
	margin: 0;
	background: var(--hb-cream);
	color: var(--hb-ink);
	font-family: var(--hb-font);
	font-weight: 400;
	line-height: 1.5;
	overflow-x: clip;
}
img, video { max-width: 100%; height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hb-skip { position: absolute; inset-inline-start: 16px; top: -100px; z-index: 1000; padding: 10px 16px; background: var(--hb-ink); color: var(--hb-white); border-radius: 8px; }
.hb-skip:focus { top: 16px; }
:focus-visible { outline: 2px solid var(--hb-sage); outline-offset: 3px; }

/* Buttons ---------------------------------------------------------------- */
.hb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	min-height: 50px;
	padding: 0 28px;
	border: 1px solid transparent;
	border-radius: var(--hb-pill);
	font-weight: 700;
	font-size: 17px;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .25s var(--hb-ease), color .25s var(--hb-ease), border-color .25s var(--hb-ease), transform .25s var(--hb-ease);
}
.hb-btn--lg { min-height: 63px; min-width: 319px; font-size: 19px; }
.hb-btn--primary { background: var(--hb-orange); color: var(--hb-white); }
.hb-btn--primary:hover { background: var(--hb-orange-dark); }
.hb-btn--sage { background: var(--hb-sage); color: var(--hb-white); }
.hb-btn--sage:hover { background: var(--hb-sage-dark); }
.hb-btn--outline { border-color: var(--hb-ink); color: var(--hb-ink); }
.hb-btn--outline:hover { background: var(--hb-ink); color: var(--hb-white); }
.hb-btn--ghost { border-color: var(--hb-white); color: var(--hb-white); }
.hb-btn--ghost:hover { background: var(--hb-white); color: var(--hb-ink-warm); }
.hb-btn:active { transform: scale(.98); }
.hb-btn__arrow { transform: rotate(90deg); flex: none; }

/* Top bar ---------------------------------------------------------------- */
.hb-topbar__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 70px;
	padding: 0 35px 0 32px;
	font-weight: 500;
	font-size: 14px;
	color: var(--hb-muted);
}
.hb-topbar__menu ul { display: flex; gap: 31px; margin: 0; padding: 0; list-style: none; }
.hb-topbar a { text-decoration: none; transition: color .2s var(--ease-out); }
.hb-topbar a:hover { color: var(--hb-ink); }
.hb-topbar__mark { position: absolute; inset-inline-start: 50%; top: 50%; transform: translate(50%, -50%); display: block; line-height: 0; }
/* Brand mark: the top half rolls in, then the bottom half follows. */
.hb-mark { display: block; overflow: visible; }
.hb-mark path { transform-box: fill-box; transform-origin: center; }
.hb-mark__top { animation: hb-roll-in-top .9s .2s cubic-bezier(.34, 1.4, .64, 1) backwards; }
.hb-mark__bottom { animation: hb-roll-in-bottom .9s .65s cubic-bezier(.34, 1.4, .64, 1) backwards; }
@keyframes hb-roll-in-top { from { opacity: 0; transform: translateX(46px) rotate(360deg) scale(.4); } 40% { opacity: 1; } }
@keyframes hb-roll-in-bottom { from { opacity: 0; transform: translateX(-46px) rotate(-360deg) scale(.4); } 40% { opacity: 1; } }
.hb-topbar__mark:hover .hb-mark__top { animation: hb-mark-wiggle .6s var(--hb-ease); }
.hb-topbar__mark:hover .hb-mark__bottom { animation: hb-mark-wiggle .6s .08s var(--hb-ease) reverse; }
@keyframes hb-mark-wiggle { 50% { transform: rotate(-14deg) scale(1.08); } }
.hb-topbar__links { display: flex; align-items: center; gap: 25px; }
.hb-topbar__link { display: inline-flex; align-items: center; gap: 9px; }
.hb-topbar__link--account span { text-decoration: underline; text-underline-offset: 3px; }

/* Header (sits on top of the hero on the home page) ----------------------- */
.hb-header {
	position: relative;
	z-index: 50;
	margin: 0 var(--hb-gutter);
	background: #1d1915;
	border-radius: var(--hb-radius-lg);
	color: var(--hb-white);
}
/* Home: the header is part of the flow and pulls the hero up underneath it, so it always sits inside the hero (admin bar or not). */
.hb-header-wrap { min-height: var(--hb-header-h); }
.home .hb-header-wrap { min-height: 0; margin-bottom: calc(-1 * var(--hb-header-h)); }
.home .hb-header { background: none; }
/* Inner pages: a white header, styled like the sticky one. */
/* Inner pages: light page background and a brown header (also when it sticks). */
body:not(.home) { background: var(--hb-filter-bg); }
body:not(.home) .hb-header, body:not(.home) .hb-header.is-stuck { background: var(--hb-ink-warm) !important; color: var(--hb-white); box-shadow: 0 8px 26px rgba(53, 43, 36, .18); }
body:not(.home) .hb-header.is-stuck .hb-header__logo-light { display: block; }
body:not(.home) .hb-header.is-stuck .hb-header__logo-dark { display: none; }
body:not(.home) .hb-header.is-stuck .hb-nav__list > li > a, body:not(.home) .hb-header.is-stuck .hb-header__lang { color: var(--hb-white); }
body:not(.home) .hb-header .hb-nav__list > li:hover > a, body:not(.home) .hb-header .hb-nav__list > li:focus-within > a { color: var(--hb-nav-hover); }
body:not(.home) .hb-header.is-stuck .hb-header__cart { border-color: var(--hb-white); }
body:not(.home) .hb-header.is-stuck .hb-header__badge img { filter: none; opacity: 1; }
body:not(.home) .hb-header.is-stuck .hb-header__burger span { background: var(--hb-white); }
body:not(.home) .hb-header .hb-header__cta { background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
body:not(.home) .hb-header .hb-header__cta:hover { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); }

/* Inner pages: leaves drifting in the margins, swapping sides as the page scrolls. */
.hb-side-leaves { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.hb-side-leaves img { position: absolute; top: 0; left: 0; height: auto; will-change: transform; filter: drop-shadow(0 6px 8px rgba(53, 43, 36, .15)); }
body:not(.home) .hb-main, body:not(.home) .hb-footer { position: relative; z-index: 1; }
@media (max-width: 1100px) { .hb-side-leaves { display: none; } }
body:not(.home) .hb-page__card { background: var(--hb-white); }
.hb-header__inner { min-height: var(--hb-header-h); }
.hb-header__inner { display: flex; align-items: center; gap: 32px; padding: 17px 9px 17px 16px; }
.hb-header__logo { flex: none; display: block; line-height: 0; }
.hb-header__logo img { width: 191px; height: auto; }
.hb-header__logo-dark { display: none; }
.hb-ico { display: block; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.hb-ico--search { --m: url("../img/search.svg?v=1791714499"); width: 20.5px; height: 20.5px; }
.hb-ico--cart { --m: url("../img/cart.svg?v=1791714499"); width: 19.64px; height: 20.77px; }
.hb-header__search, .hb-header__cart { color: inherit; }

/* Sticky state: a rounded light bar pinned to the top once the page scrolls. */
.hb-header.is-stuck {
	position: fixed;
	top: 10px;
	inset-inline: var(--hb-gutter);
	margin: 0;
	background: var(--hb-sticky-bg);
	border-radius: var(--hb-pill);
	color: var(--hb-ink-warm);
	box-shadow: 0 12px 34px rgba(53, 43, 36, .16);
	animation: hb-stick-in .45s var(--hb-ease);
}
/* Logged in: sit below the WordPress admin bar (32px, 46px on small screens). */
.admin-bar .hb-header.is-stuck { top: calc(10px + var(--wp-admin--admin-bar--height, 32px)); }
@keyframes hb-stick-in { from { transform: translateY(-120%); opacity: 0; } }
.hb-header.is-stuck .hb-header__inner { min-height: 72px; padding-block: 10px; padding-inline: 18px 10px; }
.hb-header.is-stuck .hb-header__logo img { width: 150px; }
.hb-header.is-stuck .hb-header__logo-light { display: none; }
.hb-header.is-stuck .hb-header__logo-dark { display: block; }
.hb-header.is-stuck .hb-nav__list > li > a, .hb-header.is-stuck .hb-header__lang { color: var(--hb-ink-warm); }
.hb-header.is-stuck .hb-nav__list > li:hover > a, .hb-header.is-stuck .hb-nav__list > li:focus-within > a { color: var(--hb-sage); }
.hb-header.is-stuck .hb-nav__list .hb-menu-highlight > a { color: var(--hb-white); }
.hb-header.is-stuck .hb-header__cart { border-color: var(--hb-ink-warm); }
.hb-header.is-stuck .hb-header__cart:hover { background: rgba(53, 43, 36, .08); }
.hb-header.is-stuck .hb-header__badge img { filter: brightness(0); opacity: .82; }
.hb-header.is-stuck .hb-header__cta { background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-header.is-stuck .hb-header__cta:hover { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); color: var(--hb-white); }
.hb-header.is-stuck .hb-header__burger span { background: var(--hb-ink-warm); }
.hb-header.is-stuck .hb-nav .sub-menu { box-shadow: 0 18px 40px rgba(53, 43, 36, .16); }

.hb-nav { flex: none; }
.hb-header__navtools { display: flex; align-items: center; gap: 22px; flex: none; margin-inline-start: -4px; }
.hb-nav__list { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
.hb-nav__list > li { position: relative; }
.hb-nav__list > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 0;
	font-weight: 500;
	font-size: 17px;
	color: var(--hb-white);
	text-decoration: none;
	white-space: nowrap;
}
.hb-nav__list > li:hover > a, .hb-nav__list > li:focus-within > a { color: var(--hb-nav-hover); }
.hb-nav__list > li > a { transition: color .2s var(--ease-out); }
.hb-nav__chev { display: inline-block; width: 7px; height: 4px; background: currentColor; -webkit-mask: url("../img/chevron-down.svg?v=1791714499") center / contain no-repeat; mask: url("../img/chevron-down.svg?v=1791714499") center / contain no-repeat; transition: transform .2s var(--ease-out); }
.hb-nav__list > li:hover .hb-nav__chev, .hb-nav__list > li:focus-within .hb-nav__chev { transform: rotate(180deg); }
.hb-nav__list .hb-menu-highlight > a { padding: 0 15px; height: 25px; background: var(--hb-gold); color: var(--hb-white); }
.hb-nav__list .hb-menu-highlight > a { transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-nav__list > li.hb-menu-highlight:hover > a, .hb-nav__list > li.hb-menu-highlight:focus-within > a,
.hb-header.is-stuck .hb-nav__list > li.hb-menu-highlight:hover > a, .hb-header.is-stuck .hb-nav__list > li.hb-menu-highlight:focus-within > a { color: var(--hb-white); background: #e09c00; }

.hb-nav .sub-menu {
	position: absolute;
	inset-inline-start: -16px;
	top: 100%;
	min-width: 220px;
	width: max-content;
	margin: 0;
	padding: 10px;
	list-style: none;
	background: var(--hb-cream);
	border-radius: 20px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .2s var(--ease-out), transform .2s var(--ease-out), visibility .2s var(--ease-out);
}
.hb-nav li:hover > .sub-menu, .hb-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.hb-nav .sub-menu a { display: block; white-space: nowrap; padding: 9px 14px; border-radius: 12px; color: var(--hb-ink); font-weight: 500; font-size: 16px; text-decoration: none; }
.hb-nav .sub-menu a:hover { background: var(--hb-white); }
.hb-header.is-stuck .hb-nav .sub-menu { background: var(--hb-white); }
.hb-header.is-stuck .hb-nav .sub-menu a { color: var(--hb-ink-warm); }
.hb-header.is-stuck .hb-nav .sub-menu a:hover { background: #f2ece8; }

.hb-header__tools { display: flex; align-items: center; margin-inline-start: auto; }
.hb-header__tools > * { flex: none; }
.hb-header__lang { font-weight: 700; font-size: 17px; color: var(--hb-white); text-decoration: none; }
.hb-header__search { display: grid; place-items: center; width: 40px; height: 40px; margin: 0; }
.hb-header__badge { display: block; flex: none; margin-inline-end: 20px; line-height: 0; transition: opacity .2s var(--ease-out); }
.hb-header__badge img { width: 72px; height: auto; aspect-ratio: 173 / 129; object-fit: cover; }
.hb-header__badge:hover { opacity: .8; }
.hb-header__cart {
	position: relative;
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	margin-inline-end: 13px;
	border: 1px solid var(--hb-white);
	border-radius: 50%;
	transition: background-color .2s var(--ease-out);
}
.hb-header__cart:hover { background: rgba(255, 255, 255, .12); }
.hb-cart-count {
	position: absolute;
	top: -4px;
	inset-inline-end: -4px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 10px;
	background: var(--hb-orange);
	color: var(--hb-white);
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
}
.hb-cart-count[hidden] { display: none; }
.hb-header__cta { min-width: 185px; }
.hb-header__burger { display: none; width: 44px; height: 44px; margin-inline-start: 12px; flex-direction: column; justify-content: center; align-items: center; gap: 5px; }
.hb-header__burger span { display: block; width: 22px; height: 2px; background: currentColor; border-radius: 2px; transition: transform .25s var(--ease-out), opacity .25s var(--ease-out); }

.hb-search {
	position: absolute;
	inset-inline: 0;
	top: calc(100% - 6px);
	width: min(620px, calc(100% - 32px));
	margin-inline: auto;
	display: flex;
	gap: 10px;
	padding: 10px;
	background: var(--hb-cream);
	border-radius: 24px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .2);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-12px) scale(.98);
	transform-origin: top center;
	transition: opacity .3s var(--hb-ease), transform .4s var(--hb-ease), visibility 0s linear .4s;
}
.hb-search.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.hb-search input[type="search"]:focus { outline: none; border-color: var(--hb-sage); box-shadow: 0 0 0 3px rgba(141, 162, 139, .25); }
.hb-search .hb-btn { min-width: 110px; background: var(--hb-search-bg); }
.hb-search .hb-btn:hover { background: #a8928a; }
.hb-search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 50px;
	padding: 0 20px;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: var(--hb-pill);
	background: var(--hb-white);
	font: 500 17px var(--hb-font);
	transition: border-color .2s var(--ease-out);
}

/* Mobile drawer ----------------------------------------------------------- */
.hb-drawer { position: fixed; inset: 0; z-index: 100; background: rgba(0, 0, 0, .45); }
.hb-drawer[hidden] { display: none; }
.hb-drawer__panel {
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	width: min(360px, 88vw);
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 88px 24px 32px;
	overflow-y: auto;
	background: var(--hb-cream);
	animation: hb-drawer-in .3s var(--hb-ease);
}
@keyframes hb-drawer-in { from { transform: translateX(100%); } }
.hb-drawer ul { margin: 0; padding: 0; list-style: none; }
.hb-drawer__nav > ul > li > a { display: block; padding: 12px 0; font-weight: 700; font-size: 20px; text-decoration: none; border-bottom: 1px solid rgba(0, 0, 0, .08); }
.hb-drawer__nav .sub-menu a { display: block; padding: 8px 14px; font-weight: 500; font-size: 16px; text-decoration: none; color: var(--hb-muted); }
.hb-drawer__nav .hb-menu-highlight > a { display: inline-block; margin-top: 10px; padding: 4px 15px; background: var(--hb-gold); color: var(--hb-white); border: 0; }
.hb-drawer__utility ul { display: flex; flex-wrap: wrap; gap: 20px; font-weight: 500; color: var(--hb-muted); }
.hb-drawer__utility a { text-decoration: none; }
.hb-drawer__cta { width: 100%; min-height: 56px; }
.hb-drawer__wa { display: inline-flex; align-items: center; gap: 9px; font-weight: 500; text-decoration: none; }
body.hb-lock { overflow: hidden; }

/* Hero -------------------------------------------------------------------- */
.hb-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: clamp(640px, 60vw, 864px);
	margin: 0 var(--hb-gutter);
	padding: clamp(150px, 14.86vw, 214px) 24px 0;
	border-radius: var(--hb-radius-lg);
	color: var(--hb-white);
	text-align: center;
	overflow: hidden;
	isolation: isolate;
}
.hb-hero__media { position: absolute; inset: 0; z-index: -1; background: #000; }
/* One visible layer at a time: the poster until the video plays, then only the video. A single dark overlay sits on top. */
.hb-hero__media::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.hb-hero__poster, .hb-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hb-hero__video { opacity: 0; transition: opacity .8s var(--hb-ease); }
.hb-hero__video.is-playing { opacity: 1; }
.hb-hero__media.has-video .hb-hero__poster { visibility: hidden; transition: visibility 0s .8s var(--ease-out); }

.hb-hero__title { margin: 0; font-weight: 700; font-size: clamp(36px, 4.167vw, 60px); line-height: 1.1667; }
.hb-hero__text { max-width: 860px; margin: clamp(20px, 2.5vw, 36px) 0 0; font-weight: 500; font-size: clamp(18px, 1.528vw, 22px); line-height: 1.4; }
.hb-hero__actions { display: flex; justify-content: center; gap: 18px; margin-top: clamp(32px, 4.4vw, 64px); }

/* Entrance animations ------------------------------------------------------- */
@keyframes hb-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes hb-drop { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
@keyframes hb-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes hb-zoom-out { from { transform: scale(1.08); } to { transform: none; } }
.hb-intro .hb-topbar { animation: hb-fade .8s var(--hb-ease) backwards; }
.hb-intro .hb-header__inner { animation: hb-drop .8s .15s var(--hb-ease) backwards; }
.hb-intro .hb-hero { animation: hb-fade .9s var(--hb-ease) backwards; }
.hb-intro .hb-hero__media { animation: hb-zoom-out 2.4s var(--hb-ease) backwards; }
.hb-intro .hb-hero__title { animation: hb-rise .9s .3s var(--hb-ease) backwards; }
.hb-intro .hb-hero__text { animation: hb-rise .9s .45s var(--hb-ease) backwards; }
.hb-intro .hb-hero__actions > * { animation: hb-rise .8s var(--hb-ease) backwards; }
.hb-hero__actions > :nth-child(1) { animation-delay: .6s; }
.hb-hero__actions > :nth-child(2) { animation-delay: .72s; }
[data-hb-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .6s var(--ease-out), transform var(--dur-reveal) var(--ease-out); }
[data-hb-reveal].is-instant, [data-hb-reveal].is-instant * { transition: none !important; }
[data-hb-reveal].is-in { opacity: 1; transform: none; }

/* Ticker: straight, rounded, overlapping the bottom of the hero ---------------- */
.hb-ticker {
	position: relative;
	z-index: 2;
	margin: -33px calc(var(--hb-gutter) + 24px) 0;
	overflow: hidden;
	background: var(--hb-orange);
	border-radius: 24px;
	direction: ltr;
	box-shadow: 0 14px 30px rgba(120, 70, 0, .18);
}
.hb-ticker__band { display: flex; width: max-content; animation: hb-ticker var(--hb-ticker-dur, 60s) linear infinite; }
.hb-ticker__track { display: flex; align-items: center; gap: 24px; height: 66px; margin: 0; padding: 0 12px; list-style: none; }
.hb-ticker__track li { display: flex; align-items: center; gap: 24px; direction: rtl; font-weight: 500; font-size: 20px; color: var(--hb-white); white-space: nowrap; }
.hb-ticker__track li img { transform: rotate(-90deg); }
.hb-ticker:hover .hb-ticker__band { animation-play-state: paused; }
@keyframes hb-ticker { to { transform: translateX(-50%); } }

/* Benefits strip (overlaps the bottom of the hero) ------------------------- */
.hb-benefits { position: relative; z-index: 2; max-width: 1380px; margin: -58px auto 0; padding: 0 24px; }
.hb-benefits__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 0;
	padding: 24px 8px;
	list-style: none;
	background: var(--hb-rose);
	border-radius: 28px;
}
.hb-benefits__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 4px 18px;
	opacity: 0;
	transform: translateY(14px);
	animation: hb-rise .7s calc(.85s + var(--i) * .12s) var(--hb-ease) forwards;
}
.hb-benefits__item + .hb-benefits__item { border-inline-start: 1px solid rgba(191, 166, 154, .35); }
.hb-benefits__icon { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--hb-white); }
.hb-benefits__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hb-benefits__title { font-weight: 700; font-size: 18px; line-height: 1.25; text-wrap: balance; color: var(--hb-benefit-text); }
.hb-benefits__text { text-wrap: balance; }
.hb-benefits__text { font-weight: 400; font-size: 15px; line-height: 1.35; color: var(--hb-muted); }

/* Packages ------------------------------------------------------------------ */
.hb-packages { position: relative; max-width: 1395px; margin: 0 auto; padding: 30px 24px 63px; text-align: center; color: var(--hb-ink-warm); }
.hb-packages .hb-btn--outline { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-packages .hb-btn--outline:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
/* Packages bagel: .hb-bagel = scroll position/scale (main.js), .hb-bagel__spin = rolling angle. */
.hb-bagel { position: relative; z-index: 1; display: block; width: clamp(200px, 27.6vw, 397px); aspect-ratio: 1; margin: 0 auto -6px; will-change: transform; }
.hb-bagel.is-waiting { opacity: 0; }
.hb-bagel__spin { position: absolute; inset: 0; will-change: transform; }
.hb-bagel__spin img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
/* Contact shadow on the table: never rotates. */
.hb-bagel__shadow { position: absolute; inset: 14% 6% -4%; border-radius: 50%; background: radial-gradient(closest-side, rgba(53, 43, 36, .26), rgba(53, 43, 36, .1) 62%, rgba(53, 43, 36, 0)); transform: translateY(4%); }
.hb-packages__head { position: relative; z-index: 2; }
.hb-packages__subhead { position: relative; z-index: 2; margin: 72px 0 0; font-weight: 700; font-size: clamp(26px, 2.36vw, 34px); line-height: 1.25; }
.hb-packages__title { margin: 0; font-weight: 700; font-size: clamp(34px, 4.167vw, 60px); line-height: 1.1667; }
.hb-packages__question { margin: 10px 0 0; font-weight: 700; font-size: clamp(22px, 2.08vw, 30px); line-height: 1.3; }
.hb-packages__text { max-width: 900px; margin: 8px auto 0; font-weight: 400; font-size: clamp(18px, 1.528vw, 22px); line-height: 1.4; }

.hb-pk-filter { position: relative; z-index: 5; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; max-width: 884px; margin: 52px auto 0; }

/* Styled dropdown */
.hb-dd { position: relative; }
.hb-dd__native { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.hb-dd__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 100%;
	min-height: 87px;
	padding: 0 20px;
	background: var(--hb-filter-bg);
	color: var(--hb-ink-warm);
	font: 500 clamp(19px, 1.74vw, 25px) var(--hb-font);
	transition: background-color .2s var(--ease-out);
}
.hb-dd:first-child .hb-dd__btn { border-start-start-radius: 20px; border-end-start-radius: 20px; }
.hb-dd:last-child .hb-dd__btn { border-start-end-radius: 20px; border-end-end-radius: 20px; }
.hb-dd__btn:hover, .hb-dd.is-open .hb-dd__btn { background: #f1e8e1; }
.hb-dd__chev { width: 14px; height: 8px; background: currentColor; -webkit-mask: url("../img/select-chevron.svg?v=1791721178") center / contain no-repeat; mask: url("../img/select-chevron.svg?v=1791721178") center / contain no-repeat; transition: transform .25s var(--hb-ease); }
.hb-dd.is-open .hb-dd__chev { transform: rotate(180deg); }
.hb-pk-filter__icon { flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--hb-cream); }
.hb-pk-filter__icon img { width: 32px; height: 32px; }
.hb-dd__list {
	position: absolute;
	inset-inline: 10px;
	top: calc(100% + 8px);
	z-index: 20;
	max-height: 340px;
	margin: 0;
	padding: 8px;
	overflow-y: auto;
	list-style: none;
	background: var(--hb-white);
	border-radius: 20px;
	box-shadow: 0 18px 44px rgba(53, 43, 36, .16);
	text-align: start;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity .22s var(--hb-ease), transform .3s var(--hb-ease), visibility 0s linear .3s;
}
.hb-dd.is-open .hb-dd__list { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.hb-dd__list:focus { outline: none; }
.hb-dd__list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	border-radius: 12px;
	color: var(--hb-ink-warm);
	font-size: 18px;
	font-weight: 500;
	cursor: pointer;
}
.hb-dd__list li.is-active { background: #f2ece8; }
.hb-dd__list li[aria-selected="true"] { font-weight: 700; }
.hb-dd__list li[aria-selected="true"]::after { content: ""; flex: none; width: 14px; height: 11px; background: url("../img/check.svg?v=1791722951") center / contain no-repeat; }

.hb-pk-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 22px 0 0; padding: 0; list-style: none; text-align: start; }
.hb-pk-card { display: flex; flex-direction: column; background: var(--hb-pk-card-bg); box-shadow: 0 4px 14px rgba(53, 43, 36, .04); border-radius: var(--hb-radius-lg); transition: transform .35s var(--hb-ease), opacity .8s var(--hb-ease); }
.hb-pk-card.is-in:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(53, 43, 36, .08); }
.hb-pk-card[hidden] { display: none; }
.hb-pk-card__media { display: block; cursor: pointer; position: relative; margin: 20px 20px 0; aspect-ratio: 405 / 241; border-radius: var(--hb-radius-lg); overflow: hidden; background: var(--hb-cream); }
.hb-pk-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--hb-ease); }
.hb-pk-card:hover .hb-pk-card__img { transform: scale(1.05); }
.hb-pk-card__chips { position: absolute; inset-inline-start: 0; bottom: 0; display: flex; gap: 18px; padding: 6px 18px; padding-inline-start: 28px; background: var(--hb-cream); border-start-end-radius: var(--hb-radius-lg); font-size: 14px; line-height: 20px; }
.hb-pk-card__chips > span { display: inline-flex; align-items: center; gap: 6px; }
.hb-pk-card__chips .hb-ico { width: 22px; height: 22px; color: var(--hb-ink-warm); }
.hb-ico--people { --m: url("../img/icon-people.svg?v=1791722951"); }
.hb-ico--trays { --m: url("../img/icon-trays.svg?v=1791722951"); }
.hb-pk-card__badge { position: absolute; inset-inline-end: 14px; top: 14px; display: grid; place-items: center; width: 82px; height: 82px; background: url("../img/badge-burst.svg?v=1791717873") center / contain no-repeat; color: var(--hb-white); font-weight: 700; font-size: 13px; line-height: 1.1; text-align: center; animation: hb-badge-spin 14s linear infinite; }
.hb-pk-card__badge > span { max-width: 52px; animation: hb-badge-spin 14s linear infinite reverse; }
@keyframes hb-badge-spin { to { rotate: 360deg; } }

.hb-pk-card__body { flex: 1; padding: 8px 46px 20px; }
.hb-pk-card__title { margin: 0 0 6px; font-weight: 700; font-size: 30px; line-height: 70px; }
.hb-pk-card__items { margin: 0; padding: 0; list-style: none; font-size: 17px; line-height: 40px; }
.hb-pk-card__items li { display: flex; align-items: center; gap: 12px; }
.hb-pk-card__items li::before { content: ""; flex: none; width: 13px; height: 13.5px; background: var(--hb-gold); -webkit-mask: url("../img/x-bullet.svg?v=1791717873") center / contain no-repeat; mask: url("../img/x-bullet.svg?v=1791717873") center / contain no-repeat; transform: rotate(-90deg); }

.hb-pk-card__foot { padding: 12px 34px 0; border-top: 4px solid var(--hb-cream); }
.hb-pk-card__price { display: grid; grid-template-columns: 1fr auto; align-items: end; padding: 6px 11px 18px; }
.hb-pk-card__from { grid-column: 1 / -1; font-size: 14px; line-height: 24px; }
.hb-pk-card__amount { font-weight: 700; font-size: 30px; line-height: 1; }
.hb-pk-card__amount small { font-weight: 400; font-size: 14px; }
.hb-pk-card__total { font-size: 14px; color: rgba(53, 43, 36, .72); }
.hb-pk-card__cta { width: 100%; min-height: 63px; font-size: 19px; }
.hb-pk-card__note { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0; padding-bottom: 30px; font-size: 13px; line-height: 40px; }
.hb-pk-card__note::before { content: ""; width: 9px; height: 9px; border: 2.5px solid var(--hb-pk-note); border-radius: 50%; }
.hb-pk-card__foot:not(:has(.hb-pk-card__note)) { padding-bottom: 24px; }

.hb-pk-empty { max-width: 560px; margin: 40px auto 0; padding: 28px; background: var(--hb-card); border-radius: 28px; font-size: 18px; }
.hb-pk-empty[hidden] { display: none; }
.hb-pk-empty p { margin: 0 0 16px; }
.hb-packages__more { margin-top: 63px; }
.hb-packages__more .hb-btn { font-size: 19px; }

/* Ready to serve banner -------------------------------------------------------- */
.hb-ready { position: relative; display: grid; place-items: center; min-height: clamp(380px, 42.4vw, 610px); margin: 0 var(--hb-gutter); padding: 40px 24px 70px; border-radius: var(--hb-radius-lg); color: var(--hb-white); text-align: center; isolation: isolate; }
.hb-ready__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; border-radius: inherit; background: #000; }
/* One visible layer at a time (image until the video plays), one dark overlay on top. */
.hb-ready__media::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.hb-ready__img, .hb-ready__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hb-ready__video { opacity: 0; transition: opacity .8s var(--hb-ease); }
.hb-ready__video.is-playing { opacity: 1; }
.hb-ready__media.has-video .hb-ready__img { visibility: hidden; transition: visibility 0s .8s var(--ease-out); }
.hb-ready__title { margin: 0; font-weight: 700; font-size: clamp(32px, 4.167vw, 60px); line-height: 1.1667; }
.hb-ready__text { margin: 20px 0 0; font-weight: 500; font-size: clamp(17px, 1.528vw, 22px); line-height: 1.4; }
.hb-ready__bagel.is-docked-target, .hb-footer__bagel.is-docked-target { visibility: hidden; }
.hb-ready__bagel { position: absolute; top: 22%; left: calc(100% - 154px); width: clamp(160px, 22.8vw, 329px); height: auto; pointer-events: none; will-change: transform; }

/* Choose your own trays --------------------------------------------------------- */
.hb-cats { margin: 15px var(--hb-gutter) 0; padding: 67px clamp(16px, 2.4vw, 34px) 80px; background: var(--hb-filter-pink, #e5cec7); border-radius: var(--hb-radius-lg); color: var(--hb-ink-warm); text-align: center; }
.hb-cats__title { margin: 0; font-weight: 700; font-size: clamp(32px, 4.167vw, 60px); line-height: 1.1667; }
.hb-cats__text { margin: 12px 0 0; font-size: clamp(17px, 1.528vw, 22px); line-height: 1.4; }
.hb-cats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 73px 14px; max-width: 1348px; margin: 112px auto 0; padding: 0; list-style: none; }
.hb-cat { position: relative; display: flex; flex-direction: column; align-items: center; height: 100%; padding: 189px 16px 34px; background: var(--hb-filter-bg); border-radius: var(--hb-radius-lg); color: inherit; text-decoration: none; transition: transform .35s var(--hb-ease); }
.hb-cat:hover, .hb-cat:focus-visible { transform: translateY(-4px); box-shadow: inset 0 0 0 3px var(--hb-gold), 0 12px 28px rgba(53, 43, 36, .08); outline: none; }
.hb-cat__img { position: absolute; top: -35px; left: 50%; width: 206px; height: 206px; margin-left: -103px; overflow: hidden; border-radius: 50%; background: var(--hb-sand); }
.hb-cat__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--hb-ease); }
.hb-cat:hover .hb-cat__img img { transform: scale(1.07); }
.hb-cat__name { font-weight: 700; font-size: clamp(22px, 2.08vw, 30px); line-height: 1.2; }
.hb-cat__count { margin-top: 10px; font-size: 17px; color: var(--hb-cat-count); }
.hb-cats__more { margin-top: 95px; }
.hb-cats__more .hb-btn { font-size: 19px; border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-cats__more .hb-btn:hover { background: var(--hb-ink-warm); color: var(--hb-white); }

/* Full catering solution ------------------------------------------------------- */
.hb-catering { position: relative; padding: 40px 24px 50px; background: #eae0d9; color: var(--hb-ink-warm); text-align: center; isolation: isolate; }
.hb-catering::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/pattern.webp?v=1791725666") center top / 726px auto repeat; opacity: .12; mix-blend-mode: multiply; }
.hb-catering__bagel { position: relative; z-index: 1; display: block; width: clamp(200px, 29.8vw, 429px); height: auto; margin: 0 auto 10px; will-change: transform; }
.hb-catering__title { margin: 0; font-weight: 700; font-size: clamp(32px, 4.167vw, 60px); line-height: 1.1667; }
.hb-catering__sub { margin: 10px 0 0; font-weight: 700; font-size: clamp(21px, 2.08vw, 30px); line-height: 1.3; }
.hb-catering__text { max-width: 900px; margin: 14px auto 0; font-size: clamp(17px, 1.528vw, 22px); line-height: 1.4; }
.hb-catering__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; max-width: 1325px; margin: 72px auto 0; padding: 0; list-style: none; }
.hb-event { position: relative; display: flex; align-items: flex-end; justify-content: center; height: clamp(380px, 40vw, 580px); overflow: hidden; border-radius: var(--hb-radius-lg); background: #000; color: var(--hb-white); text-decoration: none; isolation: isolate; }
.hb-event__img { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; opacity: .6; transition: transform 1s var(--hb-ease), opacity .4s var(--ease-out); }
.hb-event::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, 0) 55%); }
.hb-event:hover .hb-event__img { transform: scale(1.05); opacity: .7; }
.hb-event__body { display: flex; flex-direction: column; align-items: center; padding: 0 24px 50px; }
.hb-event__title { font-weight: 500; font-size: clamp(32px, 3.47vw, 50px); line-height: 1.4; }
.hb-event__tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 18px; margin-top: 6px; font-size: 15px; line-height: 2; }
.hb-event__tags span { display: inline-flex; align-items: center; gap: 8px; }
.hb-event__tags span::before { content: ""; width: 9px; height: 9px; border: 2.5px solid var(--hb-gold); border-radius: 50%; }
.hb-event__btn { min-width: 264px; min-height: 63px; margin-top: 30px; font-size: 19px; }
.hb-event:hover .hb-event__btn { background: var(--hb-white); color: var(--hb-ink-warm); }
.hb-catering__more { margin-top: 74px; }
/* Entrance: cards rise and settle, the photo eases out of a zoom, then the text follows. */
.hb-event-wrap .hb-event__img { transform: scale(1.18); transition: transform 1.6s var(--hb-ease), opacity .4s var(--ease-out); }
.hb-event-wrap.is-in .hb-event__img { transform: none; }
.hb-event-wrap.is-in .hb-event:hover .hb-event__img { transform: scale(1.05); }
.hb-event-wrap .hb-event__body > * { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--hb-ease), transform .7s var(--hb-ease); }
.hb-event-wrap.is-in .hb-event__body > * { opacity: 1; transform: none; }
.hb-event-wrap.is-in .hb-event__title { transition-delay: .45s; }
.hb-event-wrap.is-in .hb-event__tags { transition-delay: .6s; }
.hb-event-wrap.is-in .hb-event__btn { transition-delay: .75s; }
.hb-catering__cta { font-size: 19px; border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); padding: 22px 40px; min-height: 72px; white-space: normal; text-align: center; }
.hb-catering__cta:hover { background: var(--hb-ink-warm); color: var(--hb-white); }

/* Why Holy Bagel ------------------------------------------------------------------ */
.hb-why { position: relative; z-index: 1; margin: 0 var(--hb-gutter); padding: 84px clamp(16px, 2.5vw, 36px) 84px; background: #e5cec7; border-radius: var(--hb-radius-lg); color: var(--hb-ink-warm); text-align: center; }
.hb-why__title, .hb-clients__title { margin: 0; font-weight: 700; font-size: clamp(32px, 4.167vw, 60px); line-height: 1.1667; }
.hb-why__list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 40px 40px; max-width: 1320px; margin: 64px auto 0; padding: 0; list-style: none; }
.hb-why__item { display: flex; flex-direction: column; align-items: center; padding: 0 6px; }
.hb-why__icon { width: 38px; height: 38px; object-fit: contain; transition: transform .5s var(--hb-ease); }
.hb-why__icon--why-kosher { transform: rotate(-90deg); }
.hb-why__item:hover .hb-why__icon { transform: rotate(20deg) scale(1.12); }
.hb-why__item:hover .hb-why__icon--why-kosher { transform: rotate(-70deg) scale(1.12); }
.hb-why__name { margin: 14px 0 0; font-weight: 700; font-size: 19px; line-height: 1.3; white-space: nowrap; }
.hb-why__text { max-width: 225px; text-wrap: balance; margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: rgba(53, 43, 36, .72); }

/* Clients ---------------------------------------------------------------------- */
.hb-trust { margin: 15px var(--hb-gutter) 0; padding-bottom: 120px; background: var(--hb-sage); -webkit-mask: url("../img/shape-trust.svg?v=1791730913") 0 0 / 100% 100% no-repeat; mask: url("../img/shape-trust.svg?v=1791730913") 0 0 / 100% 100% no-repeat; }
.hb-trust__line { height: 6px; margin: 0; border: 0; background: var(--hb-cream); }
.hb-clients { padding: 84px clamp(16px, 2.5vw, 40px) 90px; color: var(--hb-filter-bg); text-align: center; }
.hb-clients__text { margin: 12px 0 0; font-size: clamp(17px, 1.528vw, 22px); line-height: 1.4; }
.hb-clients__logos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; max-width: 1330px; margin: 46px auto 0; padding: 0; list-style: none; }
.hb-clients__logos li { display: grid; place-items: center; height: 138px; padding: 22px; background: var(--hb-filter-bg); border-radius: var(--hb-radius-lg); transition: transform .3s var(--hb-ease); }
.hb-clients__logos li:hover { transform: translateY(-4px); }
.hb-clients__logos img { max-width: 100%; max-height: 86px; width: auto; height: auto; object-fit: contain; }

/* Reviews ----------------------------------------------------------------------- */
.hb-reviews { max-width: 1380px; margin: 0 auto; padding: 50px clamp(16px, 2.5vw, 40px) 0; color: var(--hb-ink-warm); }
.hb-reviews__title { margin: 0; color: var(--hb-filter-bg); font-weight: 500; font-size: clamp(24px, 2.08vw, 30px); line-height: 1.6; text-align: start; }
.hb-reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 36px 0 0; padding: 0; list-style: none; }
.hb-reviews__more { position: relative; z-index: 2; margin-top: -76px; text-align: center; }
.hb-reviews__btn { background: var(--hb-filter-bg); border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); font-size: 19px; }
.hb-reviews__btn:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-review { display: flex; flex-direction: column; gap: 14px; min-height: 300px; padding: 28px; background: var(--hb-filter-bg); border-radius: 16px; }
.hb-review__head { display: flex; align-items: center; gap: 10px; margin: 0; font-weight: 700; font-size: 15px; }
.hb-review__g { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--hb-white); color: #4285f4; font: 700 14px Arial, sans-serif; }
.hb-review__stars { margin: 0; color: var(--hb-gold); font-size: 20px; letter-spacing: 2px; }
.hb-review__text { flex: 1; margin: 0; font-size: 17px; line-height: 1.6; }
.hb-review__by { margin: 0; font-size: 14px; color: rgba(53, 43, 36, .6); }

/* Gallery ------------------------------------------------------------------------ */
.hb-gallery { position: relative; max-width: 1374px; margin: 0 auto; padding: 36px 24px 0; text-align: center; color: var(--hb-ink-warm); }
/* Same faint bagel pattern as the catering section, full width behind the gallery. */
.hb-gallery { isolation: isolate; padding-bottom: 60px; }
.hb-gallery::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw; z-index: -1; background: url("../img/pattern.webp?v=1791725666") center top / 726px auto repeat; opacity: .12; mix-blend-mode: multiply; }
.hb-gallery__title, .hb-faq__title { margin: 0; font-weight: 700; font-size: clamp(32px, 4.167vw, 60px); line-height: 1.1667; }
.hb-gallery__grid { columns: 4; column-gap: 16px; margin: 70px 0 0; padding: 0; list-style: none; }
.hb-gallery__item { break-inside: avoid; margin-bottom: 16px; overflow: hidden; border: 1px solid #dcd5cc; border-radius: 16px; background: var(--hb-card); }
.hb-gallery__btn { position: relative; display: block; width: 100%; height: 100%; cursor: zoom-in; }
.hb-gallery__btn img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--hb-ease); }
.hb-gallery__btn:hover img { transform: scale(1.06); filter: brightness(1.05); }
.hb-gallery__play { position: absolute; top: 50%; left: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; background: var(--hb-white); box-shadow: 0 6px 18px rgba(0, 0, 0, .2); transition: transform .3s var(--hb-ease); }
.hb-gallery__play::after { content: ""; position: absolute; top: 50%; left: 50%; margin: -9px 0 0 -5px; border-style: solid; border-width: 9px 0 9px 15px; border-color: transparent transparent transparent var(--hb-gold); }
.hb-gallery__btn:hover .hb-gallery__play { transform: scale(1.12); }
.hb-gallery__more, .hb-faq__more { margin-top: 40px; }
.hb-gallery__more .hb-btn, .hb-faq .hb-btn { font-size: 19px; border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-gallery__more .hb-btn:hover, .hb-faq .hb-btn:hover { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-lightbox { width: min(1100px, 94vw); max-height: 90vh; padding: 0; border: 0; border-radius: 20px; background: #000; overflow: hidden; }
.hb-lightbox::backdrop { background: rgba(20, 14, 10, .82); }
.hb-lightbox[open] { animation: hb-rise .4s var(--hb-ease); }
.hb-lightbox__body img, .hb-lightbox__body video { display: block; width: 100%; max-height: 90vh; object-fit: contain; }
.hb-lightbox__body iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.hb-lightbox__close { position: absolute; top: 10px; inset-inline-start: 10px; z-index: 2; width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--hb-ink-warm); font-size: 26px; line-height: 1; }

/* FAQ --------------------------------------------------------------------------- */
.hb-faq { margin: 0 var(--hb-gutter) 0; padding: 84px clamp(16px, 4vw, 60px) 90px; background: var(--hb-filter-bg); border-radius: var(--hb-radius-lg); color: var(--hb-ink-warm); }
.hb-faq__inner { display: grid; grid-template-columns: minmax(0, 863px) 1fr; gap: 40px; align-items: center; max-width: 1300px; margin: 0 auto; }
.hb-faq__title { text-align: start; }
.hb-faq__list { display: flex; flex-direction: column; gap: 16px; margin-top: 54px; }
.hb-faq__item { border-radius: 16px; background: var(--hb-cream); transition: background-color .3s var(--ease-out); interpolate-size: allow-keywords; }
.hb-faq__item[open] { background: var(--hb-rose); }
.hb-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 27px; font-weight: 700; font-size: clamp(18px, 1.53vw, 22px); line-height: 1.35; list-style: none; cursor: pointer; }
.hb-faq__item summary::-webkit-details-marker { display: none; }
.hb-faq__icon { position: relative; flex: none; width: 20px; height: 20px; }
.hb-faq__icon::before, .hb-faq__icon::after { content: ""; position: absolute; top: 9px; left: 2px; width: 16px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s var(--hb-ease); }
.hb-faq__icon::after { transform: rotate(90deg); }
.hb-faq__item[open] .hb-faq__icon::after { transform: rotate(0); }
.hb-faq__item::details-content { height: 0; overflow: clip; transition: height .35s var(--hb-ease), content-visibility .35s allow-discrete var(--ease-out); }
.hb-faq__item[open]::details-content { height: auto; }
.hb-faq__answer { margin: 0 27px; padding: 16px 0 24px; border-top: 1px solid rgba(53, 43, 36, .15); font-size: 17px; line-height: 1.75; }
.hb-faq__answer p { margin: 0; }
.hb-faq__bagel { will-change: transform; justify-self: center; width: min(100%, 429px); height: auto; }

/* Footer ------------------------------------------------------------------------ */
.hb-footer { position: relative; margin: 15px var(--hb-gutter) var(--hb-gutter); padding: 90px clamp(20px, 5.6vw, 80px) 110px; background: var(--hb-ink-warm); border-radius: var(--hb-radius-lg); color: var(--hb-cream); }
.hb-footer a { color: inherit; text-decoration: none; transition: color .2s var(--ease-out); }
.hb-footer a:hover { color: var(--hb-rose); }
.hb-footer__inner { display: grid; grid-template-columns: 1.3fr repeat(4, 1fr); gap: 32px; max-width: 1280px; margin: 0 auto; }
.hb-footer__brand img:first-child { width: 160px; height: auto; }
.hb-footer__brand p { max-width: 260px; margin: 18px 0 0; font-size: 14px; line-height: 1.65; color: rgba(247, 241, 227, .7); }
.hb-footer__badge { width: 92px; height: auto; margin-top: 20px; }
.hb-footer__head { margin: 0 0 18px; font-weight: 700; font-size: 16px; color: var(--hb-white); }
.hb-footer__col ul { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; font-size: 14px; color: rgba(247, 241, 227, .78); }
.hb-footer__contact li a { display: inline-flex; align-items: center; gap: 8px; }
.hb-footer__wa { --m: url("../img/whatsapp.svg?v=1791714499"); width: 18px; height: 18px; color: #25d366; }
.hb-footer__bottom { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1280px; margin: 90px auto 0; padding-top: 24px; border-top: 1px solid rgba(247, 241, 227, .18); font-size: 13px; color: rgba(247, 241, 227, .7); }
.hb-footer__bottom p { margin: 0; }
.hb-footer__bagel { position: absolute; left: 50%; top: 0; width: 172px; height: auto; margin: -58px 0 0 -86px; }
.hb-footer__lang { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.hb-footer__sep { width: 1px; height: 12px; background: rgba(247, 241, 227, .3); }
.hb-footer__lang img { filter: brightness(0) invert(1); }
.hb-footer__mail { text-decoration: underline !important; text-underline-offset: 3px; }
.hb-footer__contact li a { color: var(--hb-white); font-weight: 700; }
.hb-footer__contact strong { color: var(--hb-white); font-size: 13px; }
.hb-footer__contact li { line-height: 1.6; }
.hb-footer__lang [aria-current] { color: var(--hb-white); font-weight: 700; }

/* Category bagel bursts */
.hb-cats__grid > li { position: relative; }
.hb-cats__grid > li:hover { z-index: 3; }
.hb-cat__burst { position: absolute; z-index: 2; width: 140px; height: auto; pointer-events: none; opacity: 0; transform: scale(.55) rotate(-14deg); transition: opacity .7s var(--ease-out), transform 1.1s var(--ease-out); }
.hb-cat__burst--tr { top: -34px; right: -44px; }
.hb-cat__burst--bl { bottom: -30px; left: -44px; transform: scale(.4) rotate(160deg); }
.hb-cat:hover .hb-cat__burst, .hb-cat:focus-visible .hb-cat__burst { opacity: 1; transform: scale(1) rotate(0); }
.hb-cat:hover .hb-cat__burst--bl, .hb-cat:focus-visible .hb-cat__burst--bl { transform: scale(1) rotate(180deg); }
.hb-cat.is-pop .hb-cat__burst { opacity: 0; transform: scale(1.3) rotate(18deg); transition: opacity .8s var(--ease-out), transform 1s var(--ease-out); }
.hb-cat.is-pop .hb-cat__burst--bl { transform: scale(1.5) rotate(205deg); }
@media (hover: none) { .hb-cat__burst { display: none; } }

/* WPC Fly Cart: no floating button, it opens from the header cart icon. Styled to the site. */
.woofc-area { font-family: var(--hb-font) !important; color: var(--hb-ink-warm); }
.woofc-area .woofc-inner { background: var(--hb-filter-bg) !important; }
.woofc-area.woofc-rounded-yes .woofc-inner { border-radius: 28px 0 0 28px !important; }
.woofc-area .woofc-area-top { height: auto !important; min-height: 68px; display: flex !important; align-items: center; justify-content: space-between; padding: 16px 24px !important; background: var(--hb-filter-bg) !important; color: var(--hb-ink-warm) !important; border-bottom: 1px solid rgba(53, 43, 36, .1); }
.woofc-area .woofc-area-heading { display: flex !important; align-items: center; gap: 10px; width: auto !important; height: auto !important; overflow: visible !important; line-height: 1.3 !important; font-weight: 700 !important; font-size: 22px !important; color: var(--hb-ink-warm) !important; text-transform: none !important; }
.woofc-area .woofc-area-count::before, .woofc-area .woofc-area-count::after { content: none !important; }
.woofc-area .woofc-area-count { white-space: nowrap; line-height: 1 !important; display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 7px; border-radius: 13px; background: var(--hb-sage); color: var(--hb-white); font-size: 14px; }
.woofc-area .woofc-close i, .woofc-area .woofc-item-remove i { display: none !important; }
.woofc-area .woofc-close::before, .woofc-area .woofc-close::after, .woofc-area .woofc-item-remove::before, .woofc-area .woofc-item-remove::after, .woofc-area .woofc-item-remove > span::before, .woofc-area .woofc-item-remove > span::after { display: none !important; }
.woofc-area .woofc-close { background: var(--hb-ink-warm) !important; -webkit-mask: url("../img/close.svg?v=1791790067") center / 16px no-repeat; mask: url("../img/close.svg?v=1791790067") center / 16px no-repeat; border-radius: 0 !important; cursor: pointer; transition: opacity .2s var(--ease-out); }
.woofc-area .woofc-close:hover { opacity: .6; }
.woofc-area .woofc-item-remove > span { display: block; width: 22px; height: 22px; background: rgba(53, 43, 36, .45); -webkit-mask: url("../img/close.svg?v=1791790067") center / 11px no-repeat; mask: url("../img/close.svg?v=1791790067") center / 11px no-repeat; }
.woofc-area .woofc-item-remove:hover > span { background: var(--hb-ink-warm); }
.woofc-area .woofc-close { display: grid !important; place-items: center; width: 36px !important; height: 36px !important; margin: 0 !important; align-self: center; color: var(--hb-ink-warm) !important; }
.woofc-area .woofc-area-mid { padding: 18px 20px !important; }
.woofc-area .woofc-item { margin-bottom: 12px !important; }
.woofc-area .woofc-item-inner { position: relative; display: grid !important; grid-template-columns: auto 1fr; grid-template-areas: "thumb info" "thumb qty"; align-items: center; column-gap: 14px; row-gap: 8px; padding: 14px 14px 14px 36px !important; background: var(--hb-white) !important; border-radius: 18px !important; box-shadow: none !important; }
.woofc-area .woofc-item-thumb { grid-area: thumb; width: 76px !important; margin: 0 !important; }
.woofc-area .woofc-item-thumb img { width: 76px !important; height: 76px !important; object-fit: cover; border-radius: 12px !important; }
.woofc-area .woofc-item-info { grid-area: info; min-width: 0; padding: 0 !important; align-self: end; }
.woofc-area .woofc-item-qty { grid-area: qty; justify-self: start; align-self: start; position: static !important; margin: 0 !important; }
.woofc-area .woofc-item-title a { color: var(--hb-ink-warm) !important; font-weight: 700; font-size: 17px; text-decoration: none; }
.woofc-area .woofc-item-price { color: rgba(53, 43, 36, .7) !important; font-size: 15px; }
.woofc-area .woofc-item-qty-inner { display: inline-flex; align-items: center; overflow: hidden; border: 1px solid rgba(53, 43, 36, .15); border-radius: 999px; background: var(--hb-filter-bg); }
.woofc-area .woofc-item-qty-minus, .woofc-area .woofc-item-qty-plus { width: 34px !important; height: 34px !important; line-height: 34px !important; background: transparent !important; color: var(--hb-ink-warm) !important; font-size: 18px; cursor: pointer; }
.woofc-area .woofc-item-qty-minus:hover, .woofc-area .woofc-item-qty-plus:hover { background: var(--hb-cream) !important; }
.woofc-area .woofc-item-qty input { width: 34px !important; height: 34px !important; border: 0 !important; background: transparent !important; color: var(--hb-ink-warm) !important; font: 700 15px var(--hb-font) !important; text-align: center; }
.woofc-area .woofc-item-remove { position: absolute !important; top: 10px !important; left: 10px !important; right: auto !important; width: 22px; height: 22px; display: grid; place-items: center; font-size: 12px; color: rgba(53, 43, 36, .45) !important; }
.woofc-area .woofc-item-remove:hover { color: var(--hb-ink-warm) !important; }
.woofc-area .woofc-area-bot { padding: 18px 24px 24px !important; background: var(--hb-white) !important; border-top: 1px solid rgba(53, 43, 36, .08); color: var(--hb-ink-warm) !important; }
.woofc-area .woofc-data, .woofc-area .woofc-total { color: var(--hb-ink-warm) !important; font-size: 16px; }
.woofc-area .woofc-total { font-weight: 700; font-size: 19px; }
.woofc-area .woofc-action-inner { display: flex; flex-direction: column-reverse; gap: 10px; }
.woofc-area .woofc-action-inner > div { width: 100% !important; margin: 0 !important; }
.woofc-area .woofc-action a, .woofc-area .woofc-action .woofc-action-checkout { display: flex !important; align-items: center; justify-content: center; width: 100% !important; min-height: 54px; border-radius: 999px !important; font: 700 17px var(--hb-font) !important; text-transform: none !important; text-decoration: none !important; transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.woofc-area a.woofc-action-checkout { background: var(--hb-sage) !important; border: 1px solid var(--hb-sage) !important; color: var(--hb-white) !important; }
.woofc-area a.woofc-action-checkout:hover { background: var(--hb-sage-dark) !important; }
.woofc-area a.woofc-action-cart { background: transparent !important; border: 1px solid var(--hb-ink-warm) !important; color: var(--hb-ink-warm) !important; }
.woofc-area a.woofc-action-cart:hover { background: var(--hb-ink-warm) !important; color: var(--hb-white) !important; }
.woofc-area .woofc-continue { text-align: center; margin-top: 12px; }
.woofc-area .woofc-continue span, .woofc-area .woofc-continue a { color: var(--hb-ink-warm) !important; font-size: 15px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.woofc-area .woofc-link { display: none !important; }
@media (max-width: 480px) { .woofc-area .woofc-item-thumb, .woofc-area .woofc-item-thumb img { width: 60px !important; height: 60px !important; } .woofc-area .woofc-item-title a { font-size: 15px; } .woofc-area .woofc-item-qty-minus, .woofc-area .woofc-item-qty-plus, .woofc-area .woofc-item-qty input { width: 28px !important; } .woofc-area.woofc-rounded-yes .woofc-inner { border-radius: 0 !important; } }
.woofc-area .woofc-no-item, .woofc-area .woofc-error { padding: 70px 20px 20px !important; color: var(--hb-ink-warm) !important; font-weight: 700; font-size: 20px; text-align: center; }
.woofc-area .woofc-no-item::before { content: ""; display: block; width: 64px; height: 64px; margin: 0 auto 16px; background: url("../img/bagel.webp?v=1791717873") center / contain no-repeat; }
.woofc-overlay { background: rgba(53, 43, 36, .45) !important; }
#woofc-count, .woofc-count { display: none !important; }

/* Content pages (legal, info) */
.hb-page { max-width: 1240px; margin: 0 auto; padding: 50px 20px 40px; color: var(--hb-ink-warm); }
.hb-page__head { margin-bottom: 36px; padding-bottom: 28px; border-bottom: 1px solid rgba(53, 43, 36, .12); text-align: start; }
.hb-page__title { margin: 0; font-weight: 700; font-size: clamp(34px, 4.2vw, 56px); line-height: 1.15; }
.hb-page__updated { margin: 12px 0 0; font-size: 15px; color: rgba(53, 43, 36, .6); }
.hb-page__card { margin-top: 0; padding: clamp(28px, 5vw, 72px); background: var(--hb-filter-bg); border-radius: var(--hb-radius-lg); }
.hb-page__help { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; margin-top: 28px; padding: clamp(36px, 5vw, 60px) 24px; background: var(--hb-rose); border-radius: var(--hb-radius-lg); font-weight: 700; font-size: clamp(26px, 2.8vw, 38px); line-height: 1.25; text-align: center; text-wrap: balance; }
.hb-page__help .hb-btn { font-size: 19px; }
.hb-page__help p { margin: 0; }
.hb-prose { font-size: 17px; line-height: 1.8; }
.hb-prose > :first-child { margin-top: 0; }
.hb-prose h2 { margin: 2em 0 .5em; padding-top: 1.2em; border-top: 1px solid rgba(53, 43, 36, .12); font-weight: 700; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.3; }
.hb-prose h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.hb-prose h3 { margin: 1.5em 0 .4em; font-weight: 700; font-size: 20px; }
.hb-prose p { margin: 0 0 1em; }
.hb-prose ul, .hb-prose ol { margin: 0 0 1.2em; padding-inline-start: 0; list-style: none; }
.hb-prose li { position: relative; margin-bottom: .45em; padding-inline-start: 26px; }
.hb-prose ul li::before { content: ""; position: absolute; inset-inline-start: 4px; top: .7em; width: 9px; height: 9px; border: 2.5px solid var(--hb-sage); border-radius: 50%; }
.hb-prose ol { counter-reset: hb; }
.hb-prose ol li { counter-increment: hb; }
.hb-prose ol li::before { content: counter(hb) "."; position: absolute; inset-inline-start: 0; font-weight: 700; color: var(--hb-sage-dark); }
.hb-prose a { color: var(--hb-sage-dark); font-weight: 700; text-underline-offset: 3px; }
.hb-prose strong { font-weight: 700; }
.hb-prose .hb-todo { padding: 1px 6px; border-radius: 6px; background: #fff1c9; font-weight: 700; }
.hb-prose .hb-note { margin: 0 0 1.4em; padding: 18px 22px; border-radius: 18px; background: var(--hb-white); }
.hb-prose dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 0 0 1.2em; }
.hb-prose dt { font-weight: 700; }
.hb-prose dd { margin: 0; }
@media (max-width: 767px) { .hb-page { padding-top: 24px; padding-inline: 12px; } .hb-prose { font-size: 16px; } .hb-prose dl { grid-template-columns: 1fr; gap: 2px; } .hb-prose dd { margin-bottom: 8px; } }

/* FAQ page */
.hb-faqp { max-width: 1240px; margin: 0 auto; padding: 50px 20px 40px; color: var(--hb-ink-warm); }
.hb-faqp__hero { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: clamp(32px, 5vw, 64px); background: var(--hb-filter-bg); border-radius: var(--hb-radius-lg); overflow: hidden; }
.hb-faqp__eyebrow { display: inline-block; margin: 0 0 12px; padding: 6px 16px; border-radius: 999px; background: var(--hb-rose); font-weight: 700; font-size: 14px; }
.hb-faqp__title { margin: 0; font-weight: 700; font-size: clamp(38px, 4.6vw, 64px); line-height: 1.1; }
.hb-faqp__lead { max-width: 620px; margin-top: 14px; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; color: rgba(53, 43, 36, .8); }
.hb-faqp__lead p { margin: 0; }
.hb-faqp__search { position: relative; display: block; max-width: 620px; margin-top: 28px; }
.hb-faqp__search input { width: 100%; height: 62px; padding: 0 58px 0 22px; padding-inline-start: 58px; border: 1px solid rgba(53, 43, 36, .14); border-radius: 999px; background: var(--hb-white); color: var(--hb-ink-warm); font: 500 18px var(--hb-font); transition: border-color .2s var(--ease-out), background-color .2s var(--ease-out); }
.hb-faqp__search input:focus { outline: none; border-color: var(--hb-sage); background: var(--hb-white); box-shadow: 0 0 0 4px rgba(141, 162, 139, .2); }
.hb-faqp__search-ico { --m: url("../img/faq-search.svg?v=1791801401"); position: absolute; top: 50%; inset-inline-start: 22px; width: 22px; height: 22px; margin-top: -11px; color: rgba(53, 43, 36, .55); pointer-events: none; }
.hb-faqp__meta { margin: 12px 4px 0; font-size: 14px; color: rgba(53, 43, 36, .6); }
.hb-faqp__bagel { width: clamp(180px, 22vw, 320px); height: auto; margin-inline-end: -20px; }

.hb-faqp__chips { position: sticky; top: 98px; z-index: 5; display: flex; justify-content: center; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 6px; margin: 22px 0 0; padding: 12px; background: rgba(249, 244, 240, .92); backdrop-filter: blur(8px); border-radius: 999px; }
.admin-bar .hb-faqp__chips { top: calc(98px + var(--wp-admin--admin-bar--height, 32px)); }
.hb-chip { flex: none; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 12px; border: 1px solid rgba(53, 43, 36, .14); border-radius: 999px; background: var(--hb-white); color: var(--hb-ink-warm); font: 700 15px var(--hb-font); cursor: pointer; font-size: 14px; transition: background-color .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out); }
.hb-chip .hb-ico { width: 18px; height: 18px; color: var(--hb-ink-warm); }
.hb-chip:hover { border-color: var(--hb-ink-warm); }
.hb-chip.is-active { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-chip.is-active .hb-ico { color: var(--hb-rose); }

.hb-faqp__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; margin-top: 28px; }
.hb-faqp__group { margin-bottom: 34px; scroll-margin-top: 180px; }
.hb-faqp__group[hidden] { display: none; }
.hb-faqp__group-title { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; font-weight: 700; font-size: clamp(22px, 2.1vw, 28px); }
.hb-faqp__group-ico { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: var(--hb-rose); }
.hb-faqp__group-ico .hb-ico { width: 24px; height: 24px; color: var(--hb-ink-warm); }
.hb-faqp__list { display: flex; flex-direction: column; gap: 12px; }
.hb-faqp .hb-faq__item { background: var(--hb-filter-bg); }
.hb-faqp .hb-faq__item[open] { background: var(--hb-rose); }
.hb-faqp .hb-faq__item[hidden] { display: none; }
.hb-faqp .hb-faq__item summary { transition: color .2s var(--ease-out); }
.hb-faqp .hb-faq__item summary:hover { color: var(--hb-cat-count); }
.hb-faqp mark { padding: 0 2px; border-radius: 4px; background: #fff1c9; color: inherit; }
.hb-faqp__empty { padding: 34px; border-radius: var(--hb-radius-lg); background: var(--hb-white); text-align: center; font-size: 18px; }
.hb-faqp__empty[hidden] { display: none; }
.hb-faqp__empty p { margin: 0 0 16px; }

.hb-faqp__aside { position: sticky; top: 180px; }
.admin-bar .hb-faqp__aside { top: calc(180px + var(--wp-admin--admin-bar--height, 32px)); }
.hb-faqp__card { display: flex; flex-direction: column; gap: 12px; padding: 30px 26px; border-radius: var(--hb-radius-lg); background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-faqp__card img { width: 34px; height: auto; }
.hb-faqp__card h2 { margin: 6px 0 0; font-weight: 700; font-size: 26px; }
.hb-faqp__card p { margin: 0 0 8px; color: rgba(255, 255, 255, .78); line-height: 1.55; }
.hb-faqp__card .hb-btn { width: 100%; min-height: 54px; }
.hb-faqp__card .hb-btn--outline { border-color: rgba(255, 255, 255, .6); color: var(--hb-white); }
.hb-faqp__card .hb-btn--outline:hover { background: var(--hb-white); color: var(--hb-ink-warm); }
.hb-faqp__card dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 10px 0 0; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .15); font-size: 15px; }
.hb-faqp__card dt { color: rgba(255, 255, 255, .6); }
.hb-faqp__card dd { margin: 0; font-weight: 700; }
.hb-faqp__card a:not(.hb-btn) { color: var(--hb-white); text-decoration: none; }

.hb-faqp__cta { margin-top: 30px; padding: clamp(36px, 5vw, 64px) 24px; border-radius: var(--hb-radius-lg); background: var(--hb-rose); color: var(--hb-ink-warm); text-align: center; }
.hb-faqp__cta h2 { margin: 0; font-weight: 700; font-size: clamp(30px, 3.5vw, 46px); line-height: 1.1; }
.hb-faqp__cta p { max-width: 760px; margin: 12px auto 0; font-size: 18px; line-height: 1.55; }
.hb-faqp__cta-btns { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.hb-faqp__cta-main { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-faqp__cta-main:hover { background: #4a3d33; border-color: #4a3d33; color: var(--hb-white); }
.hb-faqp__cta-alt { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-faqp__cta-alt:hover { background: var(--hb-ink-warm); color: var(--hb-white); }

@media (max-width: 1023px) {
	.hb-faqp__layout { grid-template-columns: 1fr; }
	.hb-faqp__aside { position: static; }
}
@media (max-width: 767px) {
	.hb-faqp { padding: 24px 12px 30px; }
	.hb-faqp__hero { grid-template-columns: 1fr; padding: 28px 20px; }
	.hb-faqp__bagel { position: absolute; top: -30px; inset-inline-end: -40px; width: 130px; opacity: .9; }
	.hb-faqp__intro { position: relative; z-index: 1; }
	.hb-faqp__chips { top: 82px; justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; border-radius: 0; margin-inline: -12px; padding: 10px 12px; scrollbar-width: none; }
	.hb-faqp__chips::-webkit-scrollbar { display: none; }
	.hb-chip { flex: none; }
	.hb-faqp__group { scroll-margin-top: 150px; }
	.hb-faqp__cta-btns .hb-btn { width: 100%; }
}

/* Leaf confetti */
.hb-crumb { position: fixed; z-index: 90; border-radius: 2px; background: #e8962e; pointer-events: none; }
.hb-leaf { position: fixed; z-index: 90; height: auto; pointer-events: none; will-change: transform, opacity; filter: drop-shadow(0 4px 6px rgba(53, 43, 36, .18)); }

/* Responsive ------------------------------------------------------------------ */
@media (max-width: 1279px) {
	.hb-footer__inner { grid-template-columns: repeat(3, 1fr); }
	.hb-footer__brand { grid-column: 1 / -1; }
	.hb-gallery__grid { columns: 3; }
	.hb-why__list { grid-template-columns: repeat(3, 1fr); }
	.hb-clients__logos { grid-template-columns: repeat(3, 1fr); }
	.hb-cat__img { width: 160px; height: 160px; margin-left: -80px; }
	.hb-cat { padding-top: 145px; }
	.hb-pk-card__body { padding-inline: 30px; }
	.hb-pk-card__foot { padding-inline: 24px; }
	.hb-benefits__item { padding-inline: 14px; }
	.hb-benefits__text { font-size: 14px; }
	.hb-nav { display: none; }
	.hb-header__burger { display: inline-flex; }
}
@media (max-width: 767px) {
	:root { --hb-gutter: 8px; --hb-radius-lg: 28px; --hb-header-h: 72px; }
	.hb-topbar__inner { height: 56px; padding: 0 16px; }
	.hb-topbar__menu { display: none; }
	.hb-topbar__mark { inset-inline-start: 16px; transform: translateY(-50%); }
	.hb-topbar__mark .hb-mark { width: 30px; height: auto; }
	.hb-topbar__links { gap: 18px; margin-inline-start: auto; }
	.hb-header__inner { gap: 8px; padding: 14px 12px; }
	.hb-header__logo img { width: 128px; }
	.hb-header__lang { font-size: 15px; }
	.hb-header__navtools { gap: 6px; margin-inline-start: auto; }
	.hb-header__tools { margin-inline-start: 6px; }
	.hb-header__cart { width: 44px; height: 44px; margin: 0; }
	.hb-header__cta { display: none; }
	.hb-header__burger { margin-inline-start: 4px; }
	.hb-hero { height: auto; min-height: min(720px, calc(100svh - 56px)); padding: 132px 20px 96px; }
	.hb-hero__title { font-size: 38px; line-height: 1.15; }
	.hb-hero__text br { display: none; }
	.hb-hero__actions { flex-direction: column; width: 100%; max-width: 360px; gap: 12px; }
	.hb-btn--lg { min-width: 0; width: 100%; min-height: 56px; font-size: 18px; }
	.hb-ticker { margin: -26px calc(var(--hb-gutter) + 12px) 0; border-radius: 18px; }
	.hb-ticker__track { height: 52px; }
	.hb-ticker__track li { font-size: 17px; gap: 18px; }
	.hb-header__badge { margin-inline-end: 8px; }
	.hb-header.is-stuck { top: 8px; }
	.admin-bar .hb-header.is-stuck { top: calc(8px + var(--wp-admin--admin-bar--height, 46px)); }
	.hb-header.is-stuck .hb-header__inner { min-height: 60px; padding-block: 6px; padding-inline: 14px 8px; }
	.hb-header.is-stuck .hb-header__logo img { width: 112px; }
	.hb-packages { padding: 20px 0 64px; }
	.hb-packages__head, .hb-pk-filter, .hb-pk-empty { margin-inline: 16px; }
	.hb-pk-filter { grid-template-columns: 1fr; margin-top: 32px; }
	.hb-dd__btn { justify-content: flex-start; min-height: 68px; border-radius: 0 !important; }
	.hb-dd__btn .hb-dd__value { flex: 1; text-align: start; }
	.hb-dd:first-child .hb-dd__btn { border-radius: 18px 18px 0 0 !important; }
	.hb-dd:last-child .hb-dd__btn { border-radius: 0 0 18px 18px !important; }
	.hb-pk-filter__icon { width: 46px; height: 46px; }
	.hb-pk-filter__icon img { width: 28px; height: 28px; }
	.hb-dd__list { inset-inline: 0; }
	.hb-pk-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84%; gap: 12px; margin-top: 16px; padding: 0 16px 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; }
	.hb-pk-grid::-webkit-scrollbar { display: none; }
	.hb-pk-card { scroll-snap-align: start; }
	.hb-pk-card__title { font-size: 26px; line-height: 1.6; }
	.hb-pk-card__items { font-size: 16px; line-height: 34px; }
	.hb-pk-card__price { grid-template-columns: 1fr; gap: 4px; }
	.hb-pk-card__total { font-size: 13px; }
	.hb-packages__more { margin-top: 36px; padding: 0 16px; }
	.hb-packages__subhead { margin: 44px 16px 0; }
	.hb-ready { min-height: 420px; padding-bottom: 40px; }
	.hb-ready__bagel { top: auto; bottom: -50px; left: calc(100% - 90px); width: 150px; }
	.hb-cats { padding: 44px 12px 48px; }
	.hb-cats__grid { grid-template-columns: 1fr 1fr; gap: 56px 10px; margin-top: 70px; }
	.hb-cat { padding: 92px 8px 20px; border-radius: 26px; }
	.hb-cat__img { top: -40px; width: 120px; height: 120px; margin-left: -60px; }
	.hb-cat__name { font-size: 18px; }
	.hb-cat__count { font-size: 14px; margin-top: 4px; }
	.hb-cats__more { margin-top: 44px; }
	.hb-cats__more .hb-btn { width: 100%; max-width: 360px; }
	.hb-catering { padding: 24px 16px 56px; }
	.hb-gallery { padding: 40px 12px 0; }
	.hb-gallery__grid { columns: 2; column-gap: 10px; margin-top: 32px; }
	.hb-gallery__item { margin-bottom: 10px; border-radius: 12px; }
	.hb-gallery__more .hb-btn, .hb-faq__more .hb-btn { width: 100%; max-width: 360px; }
	.hb-faq { margin-top: 0; padding: 48px 16px 40px; }
	.hb-gallery { padding-bottom: 40px; }
	.hb-faq__inner { grid-template-columns: 1fr; }
	.hb-faq__list { margin-top: 28px; gap: 10px; }
	.hb-faq__item summary { padding: 18px; }
	.hb-faq__answer { margin: 0 18px; font-size: 16px; }
	.hb-faq__bagel { width: 180px; order: -1; }
	.hb-footer { margin-top: 15px; padding: 48px 20px 28px; }
	.hb-footer__inner { grid-template-columns: 1fr 1fr; gap: 28px 16px; }
	.hb-footer { padding-bottom: 40px; }
	.hb-footer__bottom { flex-direction: column; margin-top: 90px; text-align: center; }
	.hb-footer__bagel { width: 120px; margin: -60px 0 0 -60px; }
	.hb-why { padding: 52px 16px 56px; -webkit-mask: none; mask: none; border-radius: var(--hb-radius-lg); }
	.hb-trust { -webkit-mask: none; mask: none; border-radius: var(--hb-radius-lg); padding-bottom: 56px; }
	.hb-why__list { grid-template-columns: 1fr 1fr; gap: 30px 12px; margin-top: 36px; }
	.hb-why__item:last-child { grid-column: 1 / -1; }
	.hb-why__name { white-space: normal; }
	.hb-clients { padding: 52px 12px 48px; }
	.hb-clients__logos { grid-template-columns: 1fr 1fr; margin-top: 30px; }
	.hb-clients__logos li { height: 104px; padding: 16px; border-radius: 24px; }
	.hb-clients__logos img { max-height: 64px; }
	.hb-reviews { padding: 40px 16px 0; }
	.hb-reviews__more { margin-top: -28px; }
	.hb-reviews__btn { width: calc(100% - 64px); max-width: 320px; }
	.hb-reviews__grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 86%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: -16px; padding: 0 16px 6px; }
	.hb-review { scroll-snap-align: start; min-height: 260px; }
	.hb-catering__grid { grid-template-columns: 1fr; gap: 12px; margin-top: 40px; }
	.hb-event { height: 400px; border-radius: 28px; }
	.hb-event__body { padding-bottom: 34px; }
	.hb-event__btn { min-width: 220px; min-height: 54px; margin-top: 20px; }
	.hb-catering__more { margin-top: 40px; }
	.hb-catering__cta { width: 100%; max-width: 360px; font-size: 17px; line-height: 1.3; padding-block: 12px; }
	.hb-packages__more .hb-btn { width: 100%; max-width: 360px; }
	.hb-header__badge img { width: 46px; }
	.hb-benefits { margin-top: -44px; padding: 0 16px; }
	.hb-benefits__list { grid-template-columns: 1fr 1fr; gap: 18px 10px; padding: 20px 14px; border-radius: 22px; }
	.hb-benefits__item { flex-direction: column; text-align: center; gap: 8px; padding: 0 4px; }
	.hb-benefits__item + .hb-benefits__item { border: 0; }
	.hb-benefits__icon { width: 48px; height: 48px; }
	.hb-benefits__title { font-size: 15px; }
	.hb-benefits__text { font-size: 13px; }
}
/* Below 600px the admin bar scrolls away with the page, so no offset is needed. */
@media (max-width: 600px) {
	.admin-bar .hb-header.is-stuck { top: 8px; }
}
@media (max-width: 380px) {
	.hb-topbar__link span { display: none; }
	.hb-hero__title { font-size: 34px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	[data-hb-reveal], .hb-event-wrap .hb-event__img, .hb-event-wrap .hb-event__body > * { opacity: 1; transform: none; }
}

/* ------------------------------------------------------------------ */
/* Soft content pages (FAQ, about, kashrut): cream page, light header.  */
/* ------------------------------------------------------------------ */
body.hb-soft:not(.home) { background: var(--hb-cream); }
body.hb-soft:not(.home) .hb-header, body.hb-soft:not(.home) .hb-header.is-stuck { background: var(--hb-white) !important; color: var(--hb-ink-warm); box-shadow: 0 8px 26px rgba(53, 43, 36, .08); }
body.hb-soft:not(.home) .hb-header .hb-header__logo-light, body.hb-soft:not(.home) .hb-header.is-stuck .hb-header__logo-light { display: none; }
body.hb-soft:not(.home) .hb-header .hb-header__logo-dark, body.hb-soft:not(.home) .hb-header.is-stuck .hb-header__logo-dark { display: block; }
body.hb-soft:not(.home) .hb-header .hb-nav__list > li > a, body.hb-soft:not(.home) .hb-header .hb-header__lang, body.hb-soft:not(.home) .hb-header.is-stuck .hb-nav__list > li > a, body.hb-soft:not(.home) .hb-header.is-stuck .hb-header__lang { color: var(--hb-ink-warm); }
body.hb-soft:not(.home) .hb-header .hb-nav__list > li:hover > a, body.hb-soft:not(.home) .hb-header .hb-nav__list > li:focus-within > a { color: var(--hb-cat-count); }
body.hb-soft:not(.home) .hb-header .hb-nav__list > li.hb-menu-highlight > a { color: var(--hb-white); }
body.hb-soft:not(.home) .hb-header .hb-header__cart, body.hb-soft:not(.home) .hb-header.is-stuck .hb-header__cart { border-color: var(--hb-ink-warm); }
body.hb-soft:not(.home) .hb-header .hb-header__badge img, body.hb-soft:not(.home) .hb-header.is-stuck .hb-header__badge img { filter: brightness(0); opacity: .82; }
body.hb-soft:not(.home) .hb-header .hb-header__burger span, body.hb-soft:not(.home) .hb-header.is-stuck .hb-header__burger span { background: var(--hb-ink-warm); }
body.hb-soft:not(.home) .hb-header .hb-nav .sub-menu { background: var(--hb-white); box-shadow: 0 18px 40px rgba(53, 43, 36, .12); }
body.hb-soft:not(.home) .hb-header .hb-nav .sub-menu a { color: var(--hb-ink-warm); }
body.hb-soft:not(.home) .hb-header .hb-nav .sub-menu a:hover { background: #f2ece8; }

/* ---------------- About ---------------- */
/* Same layout as the home page: full-width rounded panels with the site gutter, content centred inside. */
.hb-about { padding: 20px var(--hb-gutter) 40px; color: var(--hb-ink-warm); }
.hb-about > * { padding-inline: max(clamp(20px, 4.5vw, 60px), calc((100% - 1320px) / 2)) !important; }
.hb-about > .hb-about__trust { padding-inline: 0 !important; }
.hb-kosher { color: var(--hb-ink-warm); }
/* FAQ and kashrut: full width like the home page; panels keep their content centred. */
.hb-faqp, .hb-kosher, .hb-galp, .hb-contact { max-width: none; margin: 0; padding: 20px var(--hb-gutter) 40px; color: var(--hb-ink-warm); }
.hb-faqp > :not(script), .hb-kosher > :not(script), .hb-galp > :not(script):not(dialog), .hb-contact > :not(script) { padding-inline: var(--hb-page-pad, max(clamp(20px, 4.5vw, 60px), calc((100% - 1320px) / 2))) !important; }
.hb-faqp > .hb-faqp__chips, .hb-galp > .hb-faqp__chips { padding-block: 12px; }
/* Topic chips start on the right, in line with the group headings below. */
.hb-faqp > .hb-faqp__chips, .hb-galp > .hb-faqp__chips { justify-content: flex-start; }
/* The CTA band matches the content width (questions + side card), not the full page. */
.hb-faqp > .hb-faqp__cta, .hb-kosher > .hb-faqp__cta, .hb-galp > .hb-faqp__cta, .hb-contact > .hb-faqp__cta { margin-inline: max(clamp(20px, 4.5vw, 60px), calc((100% - 1320px) / 2)); padding-inline: 24px !important; }
.hb-about__h2 { margin: 0; font-weight: 700; font-size: clamp(30px, 3.6vw, 50px); line-height: 1.15; }
/* Hero: the home video full-bleed behind centred content, a spinning bagel at the bottom. */
.hb-about__hero { position: relative; z-index: 2; isolation: isolate; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: clamp(560px, 48vw, 760px); padding-block: 90px 0; border-radius: var(--hb-radius-lg); color: var(--hb-white); text-align: center; }
.hb-about__hero .hb-hero__media { border-radius: inherit; overflow: hidden; }
.hb-about__intro { position: relative; display: flex; flex-direction: column; align-items: center; max-width: 860px; margin-block: auto; }
.hb-about__eyebrow { display: inline-block; margin: 0 0 16px; padding: 6px 16px; border-radius: 999px; background: var(--hb-rose); color: var(--hb-ink-warm); font-weight: 700; font-size: 15px; }
.hb-about__title { margin: 0; font-weight: 700; font-size: clamp(44px, 5.6vw, 82px); line-height: 1.05; text-wrap: balance; }
.hb-about__lead { max-width: 680px; margin: 18px 0 0; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.6; color: rgba(255, 255, 255, .9); text-wrap: balance; }
.hb-about__facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 28px 0 0; padding: 0; list-style: none; font-size: 15px; }
.hb-about__facts li { padding: 7px 16px; border: 1px solid rgba(255, 255, 255, .85); border-radius: 999px; background: transparent; color: var(--hb-white); }
.hb-about__facts a { color: inherit; text-decoration: none; }
.hb-about__hero-bagel { position: relative; z-index: 3; flex: none; width: clamp(130px, 12vw, 180px); height: auto; margin: 34px 0 -48px; }
.hb-intro .hb-about__intro > * { animation: hb-rise .9s var(--hb-ease) backwards; }
.hb-intro .hb-about__title { animation-delay: .15s; }
.hb-intro .hb-about__lead { animation-delay: .3s; }
.hb-intro .hb-about__facts { animation-delay: .45s; }
.hb-intro .hb-about__hero .hb-hero__media { animation: none; }
.hb-intro .hb-about__hero .hb-hero__poster, .hb-intro .hb-about__hero .hb-hero__video { animation: hb-zoom-out 2.4s var(--hb-ease) backwards; }

/* Story: no panel, straight on the page. */
.hb-about__story { margin-top: 15px; padding-block: clamp(40px, 5vw, 80px) clamp(20px, 3vw, 40px); }
.hb-about__story-grid { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); align-items: center; gap: clamp(28px, 5vw, 72px); }
.hb-about__story-media { margin: 0; }
.hb-about__story-media img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--hb-radius-lg); }
.hb-about__story-text p { margin: 16px 0 0; font-size: 18px; line-height: 1.75; }
.hb-about__story-text .hb-btn { margin-top: 28px; }

/* Timeline: the line draws right to left, its dashes flow, and a dot travels along it. */
.hb-timeline { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; gap: 24px; margin: clamp(48px, 6vw, 90px) 0 0; padding: 0; list-style: none; }
/* Timeline: a quiet track that fills (right to left) once the section is on screen; each point lights up as the fill reaches it. JS measures the track between the first and last dot. */
.hb-timeline::before, .hb-timeline::after { content: ""; position: absolute; top: var(--tl-top, 8px); right: var(--tl-right, 10px); width: var(--tl-w, 0); height: var(--tl-h, 0); border-radius: 3px; }
.hb-timeline::before { background: rgba(53, 43, 36, .12); }
.hb-timeline::after { background: var(--hb-gold); transform: scaleX(0); transform-origin: right; transition: transform var(--tl-dur, 3.2s) cubic-bezier(.45, 0, .3, 1); }
.hb-timeline.is-vertical::after { transform: scaleY(0); transform-origin: top; }
.hb-timeline.is-in::after { transform: none; }
.hb-timeline__item { position: relative; padding-top: 40px; }
.hb-timeline__item > :not(.hb-timeline__dot) { opacity: .3; transform: translateY(8px); transition: opacity .7s var(--hb-ease) var(--d, 0s), transform .7s var(--hb-ease) var(--d, 0s); }
.hb-timeline.is-in .hb-timeline__item > :not(.hb-timeline__dot) { opacity: 1; transform: none; }
.hb-timeline__dot { position: absolute; z-index: 1; top: 0; inset-inline-start: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--hb-cream); box-shadow: inset 0 0 0 3px rgba(53, 43, 36, .22), 0 0 0 6px var(--hb-cream); transition: background-color .35s var(--d, 0s) var(--ease-out); }
.hb-timeline.is-in .hb-timeline__dot { background: var(--hb-gold); box-shadow: inset 0 0 0 3px var(--hb-gold), 0 0 0 6px var(--hb-cream); animation: hb-dot-pop .5s cubic-bezier(.34, 1.56, .64, 1) var(--d, 0s) backwards; }
@keyframes hb-dot-pop { 0% { transform: scale(1); } 50% { transform: scale(1.35); } 100% { transform: scale(1); } }
.hb-timeline__item:last-child .hb-timeline__dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--hb-gold); opacity: 0; }
.hb-timeline.is-in .hb-timeline__item:last-child .hb-timeline__dot::after { animation: hb-ping 2.2s calc(var(--d, 0s) + .4s) ease-out infinite; }
@keyframes hb-ping { from { transform: scale(1); opacity: .45; } to { transform: scale(2.4); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .hb-timeline::after, .hb-timeline__dot, .hb-timeline__item > * { transition: none !important; animation: none !important; } }
.hb-timeline__year { margin: 0; font-weight: 700; font-size: clamp(28px, 2.8vw, 40px); line-height: 1; color: var(--hb-sage); }
.hb-timeline__year .hb-todo { font-size: 15px; }
.hb-timeline__title { margin: 10px 0 0; font-weight: 700; font-size: 20px; }
.hb-timeline__text { margin: 6px 0 0; max-width: 320px; font-size: 16px; line-height: 1.6; color: rgba(53, 43, 36, .75); }
.hb-todo { padding: 1px 6px; border-radius: 6px; background: #fff1c9; font-weight: 700; color: var(--hb-ink-warm); }

/* Clients and reviews: the home page panel with its slanted bottom edge. */
.hb-about__trust { margin-top: 15px; padding-bottom: 120px; background: var(--hb-sage); -webkit-mask: url("../img/shape-trust.svg?v=1791730913") 0 0 / 100% 100% no-repeat; mask: url("../img/shape-trust.svg?v=1791730913") 0 0 / 100% 100% no-repeat; }

/* Numbers: straight on the page, pink numbers with brown labels. */
.hb-about__numbers { margin-top: 15px; padding-block: clamp(40px, 5vw, 70px); color: var(--hb-ink-warm); text-align: center; }
.hb-about__numbers ul { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1320px; margin: 44px auto 0; padding: 0; list-style: none; }
.hb-about__numbers li { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 8px 16px; }
.hb-about__numbers li + li { border-inline-start: 1px solid rgba(53, 43, 36, .15); }
.hb-about__numbers strong { font-weight: 700; font-size: clamp(48px, 5.4vw, 80px); line-height: 1; color: var(--hb-cat-count); direction: ltr; font-variant-numeric: tabular-nums; }
.hb-about__numbers span { font-size: 18px; color: var(--hb-ink-warm); }

.hb-about__team { margin-top: 15px; padding-block: clamp(40px, 5vw, 70px); background: var(--hb-filter-bg); border-radius: var(--hb-radius-lg); text-align: center; }
.hb-about__team header p { margin: 10px 0 0; font-size: 18px; color: rgba(53, 43, 36, .75); }
.hb-about__team ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 36px 0 0; padding: 0; list-style: none; }
.hb-about__team figure { position: relative; margin: 0; overflow: hidden; border-radius: var(--hb-radius-lg); background: #000; }
.hb-about__team img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; opacity: .6; transition: transform .9s var(--hb-ease), opacity .4s var(--ease-out); }
.hb-about__team li:hover img { transform: scale(1.05); opacity: .7; }
.hb-about__team figcaption { position: absolute; inset: 0; display: grid; place-items: center; padding: 20px; color: var(--hb-white); font-weight: 500; font-size: clamp(28px, 2.8vw, 42px); line-height: 1.3; text-align: center; text-wrap: balance; }

/* Contact: one centred block. */
.hb-about__contact { margin-top: 15px; padding-block: clamp(44px, 5vw, 72px); background: var(--hb-rose); border-radius: var(--hb-radius-lg); text-align: center; }
.hb-about__contact h2 { margin: 0; font-weight: 700; font-size: clamp(30px, 3.5vw, 46px); }
.hb-about__contact-main p { margin: 10px 0 0; font-size: 18px; line-height: 1.55; }
.hb-about__contact .hb-about__note { max-width: 760px; margin: 26px auto 0; font-size: 14px; line-height: 1.6; color: rgba(53, 43, 36, .65); }
.hb-about__contact-btns { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.hb-about__btn-brown { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-about__btn-brown:hover { background: #4a3d33; border-color: #4a3d33; color: var(--hb-white); }
.hb-about__contact .hb-btn--outline { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-about__contact .hb-btn--outline:hover { background: var(--hb-ink-warm); color: var(--hb-white); }

/* ---------------- Kashrut ---------------- */
/* One container: title, points and the Pesach line on the right, the certificate on the left. */
.hb-kosher__main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); align-items: start; gap: clamp(32px, 5vw, 90px); padding-block: clamp(40px, 5vw, 72px); background: var(--hb-filter-bg); border-radius: var(--hb-radius-lg); }
.hb-kosher__badge { display: block; width: clamp(100px, 9vw, 130px); height: auto; margin-bottom: 20px; filter: brightness(0) opacity(.82); }
.hb-intro .hb-kosher__body > * { animation: hb-rise .9s var(--hb-ease) backwards; }
.hb-intro .hb-kosher__title { animation-delay: .1s; }
.hb-intro .hb-kosher__lead { animation-delay: .2s; }
.hb-kosher__title { margin: 0; font-weight: 700; font-size: clamp(40px, 5vw, 70px); line-height: 1.05; }
.hb-kosher__lead { max-width: none; margin: 16px 0 0; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.6; color: rgba(53, 43, 36, .82); }
.hb-kosher__points { margin: 36px 0 0; padding: 0; list-style: none; }
.hb-kosher__points li { position: relative; padding: 24px 0; padding-inline-start: 66px; border-top: 1px solid rgba(53, 43, 36, .12); }
.hb-kosher__points li::before { content: ""; position: absolute; top: 22px; inset-inline-start: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--hb-rose); }
.hb-kosher__points li::after { content: ""; position: absolute; top: 37px; inset-inline-start: 13px; width: 18px; height: 14px; background: var(--hb-ink-warm); -webkit-mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; }
.hb-kosher__points h2 { margin: 0; font-weight: 700; font-size: clamp(20px, 1.8vw, 24px); }
.hb-kosher__points p { margin: 6px 0 0; font-size: 17px; line-height: 1.65; color: rgba(53, 43, 36, .82); }
.hb-kosher__year { display: flex; align-items: center; gap: 10px; margin: 0; padding-top: 22px; border-top: 1px solid rgba(53, 43, 36, .12); font-weight: 700; font-size: 18px; }
.hb-kosher__year::before { content: ""; flex: none; width: 22px; height: 22px; background: var(--hb-cat-count); -webkit-mask: url("../img/faq-cal.svg?v=1791801401") center / contain no-repeat; mask: url("../img/faq-cal.svg?v=1791801401") center / contain no-repeat; }
.hb-kosher__cert { position: sticky; top: 120px; padding: 24px; background: var(--hb-white); border-radius: 28px; }
.admin-bar .hb-kosher__cert { top: calc(120px + var(--wp-admin--admin-bar--height, 32px)); }
.hb-kosher__cert h2 { margin: 0 0 16px; font-weight: 700; font-size: 22px; }
.hb-kosher__cert-btn { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: 18px; background: none; cursor: zoom-in; overflow: hidden; }
.hb-kosher__cert-btn img { display: block; width: 100%; height: auto; transition: transform .6s var(--hb-ease); }
.hb-kosher__cert-btn:hover img { transform: scale(1.03); }
.hb-kosher__zoom { position: absolute; bottom: 12px; inset-inline-start: 12px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--hb-ink-warm); color: var(--hb-white); font-size: 24px; line-height: 1; }
.hb-kosher__cert-empty { display: grid; place-items: center; align-content: center; gap: 14px; aspect-ratio: 3 / 4; padding: 24px; border: 2px dashed rgba(53, 43, 36, .2); border-radius: 18px; background: var(--hb-filter-bg); text-align: center; }
.hb-kosher__cert-empty img { width: 110px; height: auto; filter: brightness(0) opacity(.45); }
.hb-kosher__cert-empty p { margin: 0; max-width: 220px; font-size: 16px; color: rgba(53, 43, 36, .7); }
.hb-kosher__meta { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 18px 0 0; font-size: 15px; }
.hb-kosher__meta dt { color: rgba(53, 43, 36, .6); }
.hb-kosher__meta dd { margin: 0; font-weight: 700; }
.hb-kosher__dialog { max-width: min(92vw, 900px); max-height: 92vh; padding: 0; border: 0; border-radius: 20px; background: var(--hb-white); }
.hb-kosher__dialog::backdrop { background: rgba(29, 25, 21, .8); }
.hb-kosher__dialog img { display: block; max-width: 100%; max-height: 92vh; width: auto; height: auto; }
.hb-kosher__close { position: absolute; top: 12px; inset-inline-end: 12px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--hb-ink-warm); cursor: pointer; }
.hb-kosher__close::before { content: ""; position: absolute; inset: 13px; background: var(--hb-white); -webkit-mask: url("../img/close.svg?v=1791790067") center / contain no-repeat; mask: url("../img/close.svg?v=1791790067") center / contain no-repeat; }
/* Questions: the home page FAQ block, bagel on the left. */
.hb-kosher > .hb-kosher__faq { margin: 15px 0 0; background: none; }
.hb-kosher__faq .hb-faq__item { background: var(--hb-filter-bg); }
.hb-kosher__faq .hb-faq__item[open] { background: var(--hb-rose); }
@media (min-width: 1100px) { .hb-kosher__lead { white-space: nowrap; font-size: clamp(17px, 1.45vw, 21px); } }
.hb-kosher__faq-more { margin: 28px 0 0; }

@media (max-width: 1023px) {
	.hb-about__story-grid, .hb-kosher__main { grid-template-columns: 1fr; }
	.hb-about__numbers ul { grid-template-columns: repeat(2, 1fr); row-gap: 26px; }
	.hb-about__numbers li:nth-child(odd) { border-inline-start: 0; }
	.hb-kosher__cert { position: static; max-width: 420px; }
}
@media (max-width: 767px) {
	.hb-faqp, .hb-kosher, .hb-galp, .hb-contact { padding: 12px var(--hb-gutter) 30px; }
	.hb-faqp > :not(script), .hb-kosher > :not(script), .hb-galp > :not(script):not(dialog), .hb-contact > :not(script) { padding-inline: 20px !important; }
	.hb-faqp > .hb-faqp__layout { padding-inline: 0 !important; }
	.hb-faqp > .hb-faqp__chips, .hb-galp > .hb-faqp__chips { padding-inline: 12px !important; margin-inline: calc(-1 * var(--hb-gutter)); }
	.hb-faqp > .hb-faqp__cta, .hb-kosher > .hb-faqp__cta, .hb-galp > .hb-faqp__cta, .hb-contact > .hb-faqp__cta { margin-inline: 0; padding-inline: 20px !important; }
	.hb-about { padding: 12px var(--hb-gutter) 30px; }
	.hb-about > * { padding-inline: 20px !important; }
	.hb-about > .hb-about__trust { padding-inline: 0 !important; }
	.hb-about__hero { min-height: 560px; padding-block: 70px 0; }
	.hb-about__title { font-size: 40px; }
	.hb-about__facts { font-size: 14px; }
	.hb-about__hero-bagel { width: 110px; margin: 28px 0 -30px; }
	.hb-about__story-text p { font-size: 16px; }
	.hb-about__story-text .hb-btn { width: 100%; }
	.hb-timeline { grid-auto-flow: row; grid-template-columns: 1fr; gap: 26px; padding-inline-start: 34px; }
	.hb-timeline__item { padding-top: 0; }
	.hb-timeline__dot { top: 4px; inset-inline-start: -34px; }
	.hb-about__trust { -webkit-mask: none; mask: none; border-radius: var(--hb-radius-lg); padding-bottom: 56px; }
	.hb-about__numbers ul { margin-top: 30px; row-gap: 26px; }
	.hb-about__numbers li:nth-child(odd) { border-inline-start: 0; }
	.hb-about__numbers span { font-size: 16px; }
	.hb-about__team ul { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: -20px; padding: 0 20px 4px; }
	.hb-about__team li { scroll-snap-align: start; }
	.hb-about__contact-btns .hb-btn { width: 100%; }
	.hb-kosher__main { padding-block: 32px; }
	.hb-kosher__badge { width: 96px; }
	.hb-kosher__points li { padding-inline-start: 58px; }
	.hb-kosher__points li::before { width: 40px; height: 40px; }
	.hb-kosher__points li::after { top: 35px; inset-inline-start: 11px; }
	.hb-kosher__points p { font-size: 16px; }
	.hb-kosher__faq-more .hb-btn { width: 100%; }
}

/* FAQ page: the "מתכננים אירוע?" band in sage (the kashrut page keeps the pink one). */
.hb-faqp .hb-faqp__cta, .hb-galp .hb-faqp__cta, .hb-contact .hb-faqp__cta { background: var(--hb-sage); color: var(--hb-white); }
.hb-faqp .hb-faqp__cta-alt, .hb-galp .hb-faqp__cta-alt, .hb-contact .hb-faqp__cta-alt { border-color: var(--hb-white); color: var(--hb-white); }
.hb-faqp .hb-faqp__cta-alt:hover, .hb-galp .hb-faqp__cta-alt:hover, .hb-contact .hb-faqp__cta-alt:hover { background: var(--hb-white); color: var(--hb-ink-warm); }
.hb-faqp .hb-faqp__cta-main, .hb-galp .hb-faqp__cta-main, .hb-contact .hb-faqp__cta-main { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-faqp .hb-faqp__cta-main:hover, .hb-galp .hb-faqp__cta-main:hover, .hb-contact .hb-faqp__cta-main:hover { background: #4a3d33; border-color: #4a3d33; color: var(--hb-white); }


/* ---------------- Events and gallery ---------------- */
.hb-galp__hero { position: relative; display: flex; flex-direction: column; align-items: center; padding-block: clamp(40px, 5vw, 70px) 0; background: var(--hb-filter-bg); border-radius: var(--hb-radius-lg); text-align: center; }
.hb-galp__intro { display: flex; flex-direction: column; align-items: center; }
.hb-galp__title { margin: 0; font-weight: 700; font-size: clamp(38px, 4.6vw, 64px); line-height: 1.1; }
.hb-galp__lead { max-width: 720px; text-wrap: balance; margin-top: 14px; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; color: rgba(53, 43, 36, .8); }
.hb-galp__lead p { margin: 0; }
.hb-galp__bagel { position: relative; z-index: 6; width: clamp(130px, 11vw, 160px); height: auto; margin: 22px 0 -96px; }
.hb-galp__chips { margin-top: 15px; }
.hb-galp__body { position: relative; isolation: isolate; padding-block: 10px 20px; }
.hb-galp__grid { margin-top: 26px; }
.hb-galp__item { animation: hb-rise .55s var(--hb-ease) backwards; animation-delay: var(--d, 0s); }
.hb-galp__item[hidden] { display: none; }
.hb-galp__cap { position: absolute; inset-inline: 10px; bottom: 10px; padding: 8px 14px; border-radius: 14px; background: rgba(249, 244, 240, .94); color: var(--hb-ink-warm); font-weight: 700; font-size: 14px; line-height: 1.35; text-align: start; opacity: 0; transform: translateY(8px); transition: opacity .3s var(--hb-ease), transform .3s var(--hb-ease); }
.hb-gallery__btn:hover .hb-galp__cap, .hb-gallery__btn:focus-visible .hb-galp__cap { opacity: 1; transform: none; }
.hb-galp__empty { margin: 30px 0 0; text-align: center; font-size: 18px; color: rgba(53, 43, 36, .7); }
.hb-galp__more { text-align: center; }
.hb-galp__more .hb-btn[hidden] { display: none; }

.hb-galp__lb { width: min(1180px, 94vw); max-height: 92vh; padding: 0; border: 0; border-radius: 24px; background: #120e0b; color: var(--hb-white); overflow: hidden; }
.hb-galp__lb::backdrop { background: rgba(20, 14, 10, .86); }
.hb-galp__lb[open] { display: grid; grid-template-rows: minmax(0, 1fr) auto; animation: hb-rise .35s var(--hb-ease); }
.hb-galp__lb-media { display: grid; place-items: center; min-height: 0; }
.hb-galp__lb-media img, .hb-galp__lb-media video { display: block; max-width: 100%; max-height: calc(92vh - 90px); width: auto; height: auto; object-fit: contain; }
.hb-galp__lb-media iframe { display: block; width: min(1180px, 94vw); aspect-ratio: 16 / 9; border: 0; }
.hb-galp__lb-story { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 20px; padding: 16px 24px; background: var(--hb-filter-bg); color: var(--hb-ink-warm); }
.hb-galp__lb-story[hidden] { display: none; }
.hb-galp__lb-story p { margin: 0; font-weight: 700; font-size: 17px; }
.hb-galp__lb-story .hb-btn[hidden] { display: none; }
.hb-galp__lb-count { position: absolute; top: 18px; inset-inline-end: 70px; margin: 0; padding: 4px 12px; border-radius: 999px; background: rgba(0, 0, 0, .45); font-size: 14px; direction: ltr; }
.hb-galp__lb-btn { position: absolute; z-index: 2; display: grid; place-items: center; width: 46px; height: 46px; border: 0; border-radius: 50%; background: rgba(249, 244, 240, .94); cursor: pointer; transition: background-color .2s var(--ease-out), transform .2s var(--ease-out); }
.hb-galp__lb-btn:hover { background: var(--hb-white); transform: scale(1.06); }
.hb-galp__lb-btn::before { content: ""; width: 18px; height: 18px; background: var(--hb-ink-warm); -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.hb-galp__lb-close { top: 12px; inset-inline-end: 12px; --m: url("../img/close.svg?v=1791790067"); }
.hb-galp__lb-prev, .hb-galp__lb-next { top: calc(50% - 50px); --m: url("../img/chevron-down.svg?v=1791714499"); }
.hb-galp__lb-prev { right: 14px; }
.hb-galp__lb-prev::before { transform: rotate(-90deg); }
.hb-galp__lb-next { left: 14px; }
.hb-galp__lb-next::before { transform: rotate(90deg); }
@media (max-width: 767px) {
	.hb-galp__hero { padding-block: 28px 0; }
	.hb-galp__bagel { width: 100px; margin: 20px 0 -30px; }
	.hb-galp__chips { margin-top: 44px; }
	.hb-galp__cap { display: none; }
	.hb-galp__lb { width: 100vw; max-width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; }
	.hb-galp__lb-media img, .hb-galp__lb-media video { max-height: calc(100dvh - 140px); }
	.hb-galp__lb-prev, .hb-galp__lb-next { top: auto; bottom: 90px; }
	/* סרטון לאורך: בקרות הנגן בתחתית, החצים עוברים לאמצע כדי לא לכסות את כפתור ההפעלה */
	.hb-galp__lb:has(video) .hb-galp__lb-prev, .hb-galp__lb:has(video) .hb-galp__lb-next { top: calc(50% - 23px); bottom: auto; }
	.hb-galp__lb-story { padding: 14px 16px; }
	.hb-galp__lb-story .hb-btn { width: 100%; }
}

/* ---------------- Contact ---------------- */
/* A slim version of the about hero (home video + spinning bagel), then the details and the form straight on the page; only the form card is pink. */
.hb-about__hero--slim { min-height: clamp(340px, 30vw, 460px); padding-block: 70px 0; }
.hb-contact__main { padding-block: 62px 10px; }
.hb-contact { padding-bottom: 50px; }
.hb-contact__head { max-width: 680px; margin: 0 auto; text-align: center; }
.hb-contact__title { margin: 0; font-weight: 700; font-size: clamp(34px, 3.6vw, 52px); line-height: 1.1; }
.hb-contact__lead { margin: 12px 0 0; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.6; color: rgba(53, 43, 36, .8); text-wrap: balance; }
.hb-intro .hb-contact__head > * { animation: hb-rise .9s var(--hb-ease) backwards; }
.hb-intro .hb-contact__lead { animation-delay: .1s; }
.hb-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); align-items: start; gap: 18px; max-width: 1040px; margin: clamp(26px, 3vw, 40px) auto 0; }

.hb-contact__cards { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.hb-contact__card { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 18px; background: var(--hb-filter-bg); color: var(--hb-ink-warm); text-decoration: none; transition: transform .3s var(--hb-ease); }
.hb-contact__card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(53, 43, 36, .08); }
/* Icons like the home benefits strip: a #B6A19C line icon on a cream circle. */
.hb-contact__ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--hb-white); }
.hb-contact__ico::before { content: ""; width: 21px; height: 21px; background: #b6a19c; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.hb-contact__ico--wa::before { --m: url("../img/whatsapp-logo.svg?v=1791872738"); width: 21px; height: 21px; }
.hb-contact__ico--phone::before { --m: url("../img/phone.svg?v=1791814836"); }
.hb-contact__ico--mail::before { --m: url("../img/mail.svg?v=1791814836"); }
.hb-contact__card-body { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.hb-contact__label { font-size: 13px; color: rgba(53, 43, 36, .6); }
.hb-contact__value { overflow-wrap: anywhere; font-weight: 700; font-size: 16px; text-align: right; }
.hb-contact__go { flex: none; padding: 5px 12px; border: 1px solid rgba(53, 43, 36, .5); border-radius: 999px; font-weight: 700; font-size: 13px; transition: background-color .25s var(--ease-out), color .25s var(--ease-out), border-color .25s var(--ease-out); }
.hb-contact__card:hover .hb-contact__go { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-contact__hours { margin: 14px 4px 0; font-size: 15px; }
.hb-contact__kosher { display: flex; align-items: center; gap: 12px; margin: 14px 4px 0; padding-top: 14px; border-top: 1px solid rgba(53, 43, 36, .14); font-size: 14px; white-space: nowrap; color: rgba(53, 43, 36, .75); }
@media (max-width: 520px) { .hb-contact__kosher { white-space: normal; } }
.hb-contact__kosher img { width: 50px; height: auto; filter: brightness(0) opacity(.7); }

.hb-contact__form-card { padding: clamp(22px, 2.6vw, 32px); border-radius: 24px; background: #e5cec7; scroll-margin-top: 140px; }
.hb-contact__consent { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; line-height: 1.5; color: rgba(53, 43, 36, .8); cursor: pointer; }
.hb-contact__consent input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--hb-ink-warm); cursor: pointer; }
.hb-contact__consent a { color: inherit; font-weight: 700; }
.hb-contact__form { display: grid; gap: 12px; }
.hb-contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hb-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.hb-field label, .hb-field__label { font-weight: 500; font-size: 17px; }
.hb-field label span { color: var(--hb-cat-count); }
.hb-field input, .hb-field textarea { width: 100%; min-height: 46px; padding: 10px 16px; border: 1px solid transparent; border-radius: 14px; background: var(--hb-white); color: var(--hb-ink-warm); font: 500 16px var(--hb-font); transition: border-color .2s var(--ease-out); }
.hb-field input[dir="ltr"] { text-align: right; }
.hb-field textarea { resize: vertical; min-height: 96px; }
.hb-field input:focus, .hb-field textarea:focus { outline: none; border-color: var(--hb-sage); box-shadow: 0 0 0 3px rgba(141, 162, 139, .2); }
/* The topic field: the home page filter dropdown, at form size. */
.hb-dd--field .hb-dd__btn { justify-content: space-between; min-height: 46px; padding: 0 16px; border: 1px solid transparent; border-radius: 14px !important; background: var(--hb-white); font: 500 16px var(--hb-font); }
.hb-dd--field .hb-dd__btn:hover, .hb-dd--field.is-open .hb-dd__btn { background: var(--hb-white); border-color: var(--hb-sage); }
.hb-dd--field .hb-dd__list { inset-inline: 0; top: calc(100% + 6px); border-radius: 16px; }
.hb-dd--field .hb-dd__list li { padding: 10px 14px; font-size: 16px; }
.hb-contact__hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.hb-contact__submit { justify-self: start; min-width: 170px; }
.hb-contact__error { margin: 0 0 12px; padding: 10px 14px; border-radius: 12px; background: #fde8e4; color: #8a2b1a; font-weight: 700; font-size: 14px; }
.hb-contact__done { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 6px 0; text-align: center; }
.hb-contact__done img { width: 90px; height: auto; }
.hb-contact__done h2 { margin: 4px 0 0; font-weight: 700; font-size: 26px; }
.hb-contact__done p { margin: 0 0 6px; max-width: 340px; font-size: 16px; line-height: 1.6; }
.hb-contact__quote { display: inline-block; margin-top: 16px; font-weight: 700; font-size: 15px; color: var(--hb-ink-warm); text-underline-offset: 4px; }
.hb-contact__quote::after { content: " ←"; }
.hb-contact__quote:hover { color: var(--hb-cat-count); }
@media (max-width: 900px) { .hb-contact__grid { grid-template-columns: 1fr; max-width: 560px; } }
@media (max-width: 767px) {
	.hb-contact__row { grid-template-columns: 1fr; }
	.hb-contact__go { display: none; }
	.hb-contact__submit { justify-self: stretch; }
	.hb-contact__form-card { padding: 20px 16px; }
}

/* Bagel story stages (driven from main.js). Layer boxes are measured from the assembled sandwich. */
.hb-stack { position: relative; pointer-events: none; }
.hb-stack__side { position: absolute; inset: 0; transform-origin: 50% 73%; will-change: transform, opacity; }
.hb-stack__layer, .hb-stack__flat { position: absolute; display: block; height: auto; will-change: transform; }
.hb-stack__flat { left: 5.5%; top: 24.8%; width: 89%; }
.hb-stack__cheesebottom { left: 5.506%; top: 52.819%; width: 88.202%; }
.hb-stack__seam { position: absolute; left: 7%; right: 7%; top: 86%; height: 3px; margin-top: -1.5px; border-radius: 3px; background: linear-gradient(90deg, rgba(90, 55, 25, 0), rgba(90, 55, 25, .55) 12%, rgba(90, 55, 25, .55) 88%, rgba(90, 55, 25, 0)); filter: blur(.6px); transform-origin: 100% 50%; opacity: 0; }
.hb-stack__sheen { position: absolute; left: 0; top: 55%; width: 22%; height: 12%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0)); opacity: 0; will-change: transform, opacity; }
.hb-crumb-bit { position: absolute; left: 0; top: 0; border-radius: 40% 60% 50% 45%; opacity: 0; will-change: transform, opacity; }
.hb-catering__stack { position: relative; z-index: 1; width: clamp(220px, 29.8vw, 429px); margin: 0 auto 10px; opacity: 0; will-change: transform; }
.hb-faq__art { justify-self: center; width: min(100%, 429px); }
.hb-cut { position: relative; aspect-ratio: 1; pointer-events: none; visibility: hidden; }
.hb-cut__a, .hb-cut__b, .hb-cut__l, .hb-cut__r { position: absolute; display: block; height: auto; will-change: transform, opacity; backface-visibility: hidden; }
.hb-cut__a, .hb-cut__b { left: 4%; top: 8%; width: 92%; }
.hb-cut__a { clip-path: inset(0 50% 0 0); transform-origin: 25% 100%; }
.hb-cut__b { clip-path: inset(0 0 0 50%); transform-origin: 75% 100%; }
.hb-cut__l, .hb-cut__r { top: 40%; width: 53%; opacity: 0; }
.hb-cut__l { left: -3%; }
.hb-cut__r { right: -3%; }
.hb-cut__crack { position: absolute; left: 50%; top: 40%; height: 52%; width: 3px; margin-left: -1.5px; border-radius: 3px; background: linear-gradient(180deg, rgba(90, 55, 25, 0), rgba(90, 55, 25, .55) 12%, rgba(90, 55, 25, .55) 88%, rgba(90, 55, 25, 0)); filter: blur(.6px); transform-origin: 50% 0; opacity: 0; }
.hb-footer__bagel--half { height: auto; margin-top: -48px; }
@media (max-width: 767px) {
	.hb-faq__art { width: 220px; order: -1; }
}
/* generated: stage 890x816 frame px */
.hb-stack { aspect-ratio: 890 / 816; }
.hb-stack__bottom { left: 5.506%; top: 54.044%; width: 88.202%; }
.hb-stack__cheese { left: 5.506%; top: 40.686%; width: 88.202%; }
.hb-stack__lettuce { left: 0%; top: 41.422%; width: 100%; }
.hb-stack__tomato { left: 8.202%; top: 36.52%; width: 82.809%; }
.hb-stack__cucumber { left: 7.303%; top: 30.27%; width: 83.146%; }
.hb-stack__onion { left: 9.101%; top: 24.755%; width: 80.112%; }
.hb-stack__top { left: 4.719%; top: 0%; width: 89.438%; }
/* The ready bagel rides out of the catering section down to the FAQ, so the section sits above the ones after it. */
.hb-catering { z-index: 5; }
/* Catering sandwich: cream cheese, lettuce, tomato, red onion (positions measured from the assembled stack). */
.hb-catering__stack .hb-stack__lettuce { left: 0; top: 47.917%; width: 100%; }
.hb-catering__stack .hb-stack__tomato { left: 8.202%; top: 45.466%; width: 82.809%; }
.hb-catering__stack .hb-stack__onion { left: 9.101%; top: 43.137%; width: 80.112%; }
.hb-cut__a { transform-origin: 10% 95%; }
.hb-cut__b { transform-origin: 90% 95%; }
.hb-footer__bagel--half { height: auto; margin-top: -70px; transform-origin: 50% 85%; animation: hb-half-sway 3.4s ease-in-out infinite alternate; }
@keyframes hb-half-sway { from { rotate: -8deg; translate: 0 2px; } to { rotate: 8deg; translate: 0 -4px; } }
/* Parked ready bagel beside "Our clients" (the catering bagel lands on it). */
.hb-clients { position: relative; }
/* FAQ cut: the halves meet along a rough bread edge, not a ruler line. */
.hb-cut { visibility: visible; opacity: 0; }
.hb-cut__a { clip-path: polygon(0 0, 50.4% 0, 49.6% 9%, 50.6% 17%, 49.5% 26%, 50.3% 34%, 49.4% 43%, 50.5% 51%, 49.7% 60%, 50.6% 68%, 49.5% 77%, 50.3% 86%, 49.6% 94%, 50.2% 100%, 0 100%); }
.hb-cut__b { clip-path: polygon(50.4% 0, 100% 0, 100% 100%, 50.2% 100%, 49.6% 94%, 50.3% 86%, 49.5% 77%, 50.6% 68%, 49.7% 60%, 50.5% 51%, 49.4% 43%, 50.3% 34%, 49.5% 26%, 50.6% 17%, 49.6% 9%); }
/* Footer: two filled halves that open with the scroll. */
@media (max-width: 767px) {
}
/* FAQ cut, round 5: each half is a box (photo + cut-face sliver); the photo is clipped along a soft bread edge. */
.hb-cut__a, .hb-cut__b { aspect-ratio: 890 / 816; clip-path: none; }
.hb-cut__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.hb-cut__a .hb-cut__img { clip-path: polygon(0 0, 50.3% 0, 50% 20%, 50.4% 40%, 49.8% 60%, 50.3% 80%, 50% 100%, 0 100%); }
.hb-cut__b .hb-cut__img { clip-path: polygon(50.3% 0, 100% 0, 100% 100%, 50% 100%, 50.3% 80%, 49.8% 60%, 50.4% 40%, 50% 20%); }
.hb-cut__face { position: absolute; top: 20.5%; height: 78.5%; width: 0; border-radius: 30% 30% 22% 22% / 6% 6% 5% 5%; background-size: 100% 100%; }
.hb-cut__a .hb-cut__face { left: 50%; background-image: linear-gradient(to right, rgba(70, 40, 15, 0), rgba(70, 40, 15, .38)), url("../img/cut-face.webp?v=1791820078"); }
.hb-cut__b .hb-cut__face { right: 50%; background-image: linear-gradient(to left, rgba(70, 40, 15, 0), rgba(70, 40, 15, .38)), url("../img/cut-face.webp?v=1791820078"); transform: scaleX(-1); }
/* Round 6: a smaller packages bagel that stays in its band, a grounded contact shadow, and bagels that wait
   just off screen instead of fading in (no washed-out states). */
.hb-bagel { width: clamp(170px, 20vw, 300px); margin-bottom: 4px; }
.hb-bagel.is-waiting { opacity: 1; translate: 120vw 0; }
.hb-bagel__shadow { inset: 12% 5% -1% 11%; background: radial-gradient(closest-side, rgba(53, 43, 36, .34), rgba(53, 43, 36, .2) 58%, rgba(53, 43, 36, 0)); transform: translate3d(3%, 5%, 0); will-change: transform, opacity; }
.hb-catering__stack { opacity: 1; }
@media (max-width: 767px) {
}
/* Banner bagel sized to the open picture area right of the title, so it never sits on the text. */
@media (max-width: 767px) {
}
/* Cut-face slivers grow with scaleX from the cut edge (no width animation). */
.hb-cut__face { width: 5.5%; transform: scaleX(0); will-change: transform; }
.hb-cut__a .hb-cut__face { transform-origin: 0 50%; }
.hb-cut__b .hb-cut__face { transform-origin: 100% 50%; }
/* Round 7. FAQ: the two real halves, like the footer (pair frame 1794 x 720). */
.hb-faq__art { width: min(100%, 470px); }
.hb-cut { aspect-ratio: 1794 / 720; }
.hb-cut__pair { position: absolute; inset: 0; }
.hb-cut__pair img { position: absolute; display: block; height: auto; will-change: transform; }
.hb-cut__ha { left: 0; top: .83%; width: 49.94%; transform-origin: 30% 90%; }
.hb-cut__hb { left: 49.94%; top: .14%; width: 50.06%; transform-origin: 70% 90%; }
/* Banner bagel: larger, lifted into the open area above the title (clear of the text at every width). */
@media (max-width: 767px) {
	.hb-faq__art { width: min(100%, 320px); }
}
/* Round 8. FAQ: whole bagel, then the halves; one shared frame (1794 x 810), and a larger art column. */
.hb-cut { aspect-ratio: 1794 / 810; }
.hb-cut__whole { position: absolute; left: 19%; top: 3.72%; width: 62%; height: auto; will-change: transform, opacity; transform-origin: 50% 90%; }
.hb-cut__pair { inset: auto; left: 0; top: 5.56%; width: 100%; aspect-ratio: 1794 / 720; opacity: 0; will-change: opacity; }
@media (min-width: 768px) {
	.hb-faq__inner { grid-template-columns: minmax(0, 760px) 1fr; }
	.hb-faq__art { width: calc(100% + 20px); margin-left: -20px; }
}
@media (max-width: 767px) {
	.hb-faq__art { width: 100%; }
}
@media (max-width: 767px) { .hb-faq__art { width: 86%; justify-self: center; } }


/* Email addresses: Birzia has capitals only for Latin letters, so they use a font with real lowercase. */
.hb-email, .hb-prose a[href^="mailto:"], .hb-footer__mail { font-family: "Assistant", "Arial Hebrew", Arial, sans-serif; text-transform: none; letter-spacing: 0; }

/* ---------------- Catering quote (three steps) ---------------- */
.hb-quote__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); align-items: start; gap: 18px; max-width: 1120px; margin: 0 auto; }
.hb-quote__card { padding: clamp(24px, 3vw, 40px); }
.hb-q { display: grid; gap: 22px; }
.hb-q[hidden], .hb-q__done[hidden], .hb-q__step[hidden] { display: none; }
.hb-q__progress { display: grid; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid rgba(53, 43, 36, .14); }
.hb-q__bar { position: relative; height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .6); overflow: hidden; }
.hb-q__bar-fill { position: absolute; inset: 0; border-radius: inherit; background: var(--hb-sage); transform: scaleX(.3333); transform-origin: right; transition: transform .7s cubic-bezier(.3, 1.3, .5, 1); }
.hb-q__steps { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; font-size: 15px; color: rgba(53, 43, 36, .5); }
.hb-q__steps li { transition: color .3s var(--ease-out), font-weight .3s var(--ease-out); }
.hb-q__steps li:nth-child(2) { text-align: center; }
.hb-q__steps li:nth-child(3) { text-align: left; }
.hb-q__steps li.is-current { color: var(--hb-ink-warm); font-weight: 700; }
.hb-q__steps li.is-done { color: var(--hb-cat-count); }
.hb-q.is-stepped .hb-q__step { animation: hb-rise .45s var(--hb-ease); }
.hb-q__step { display: grid; gap: 20px; }
.hb-q__title { margin: 0; font-weight: 700; font-size: clamp(24px, 2.2vw, 30px); }
.hb-q__title:focus { outline: none; }
.hb-q__group { margin: 0; padding: 0; border: 0; min-width: 0; }
.hb-q__label { margin-bottom: 10px; padding: 0; font-weight: 500; font-size: 17px; }
.hb-q__label span, .hb-field label span { color: var(--hb-cat-count); }
.hb-q__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.hb-choice { position: relative; cursor: pointer; }
.hb-choice input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.hb-choice span { display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px; border: 1px solid transparent; border-radius: 999px; background: var(--hb-white); font-weight: 500; font-size: 16px; transition: background-color .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out), transform .2s var(--hb-ease); }
.hb-choice:hover span { border-color: var(--hb-ink-warm); }
.hb-choice input:checked + span { background: var(--hb-cat-count); border-color: var(--hb-cat-count); color: var(--hb-white); }
.hb-choice input:checked + span { animation: hb-choice-pop .3s var(--hb-ease); }
@keyframes hb-choice-pop { 50% { transform: scale(1.05); } }
.hb-choice input:focus-visible + span { outline: 2px solid var(--hb-sage); outline-offset: 2px; }
/* Guests: − / + around the number. */
.hb-stepper { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 4px; border: 1px solid transparent; border-radius: 999px; background: var(--hb-white); }
.hb-stepper input { width: 80px; min-height: 38px; padding: 0 4px; border: 0; border-radius: 0; background: transparent; text-align: center; font-weight: 500; font-size: 17px; -moz-appearance: textfield; }
.hb-stepper input::-webkit-outer-spin-button, .hb-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hb-stepper input:focus { box-shadow: none; }
.hb-stepper:focus-within { border-color: var(--hb-sage); box-shadow: 0 0 0 3px rgba(141, 162, 139, .2); }
.hb-stepper__btn { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--hb-cream); color: var(--hb-ink-warm); font: 500 20px/1 var(--hb-font); cursor: pointer; transition: background-color .2s var(--ease-out), color .2s var(--ease-out), transform .15s var(--ease-out); }
.hb-stepper__btn:hover { background: var(--hb-cat-count); color: var(--hb-white); }
.hb-stepper__btn:active { transform: scale(.92); }
.hb-stepper.is-bump input { animation: hb-choice-pop .3s var(--hb-ease); }
.is-invalid .hb-stepper { border-color: #c4452c; }

/* Date: a styled calendar popover over the native field. */
.hb-date { position: relative; }
.hb-date__btn { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 46px; padding: 0 16px; border: 1px solid transparent; border-radius: 14px; background: var(--hb-white); color: rgba(53, 43, 36, .55); font: 500 16px var(--hb-font); text-align: start; cursor: pointer; transition: border-color .2s var(--ease-out); }
.hb-date__btn.has-value { color: var(--hb-ink-warm); }
.hb-date__btn:hover, .hb-date.is-open .hb-date__btn { border-color: var(--hb-sage); }
.hb-date__text { flex: 1; }
.hb-date__ico { flex: none; width: 20px; height: 20px; background: var(--hb-cat-count); -webkit-mask: url("../img/faq-cal.svg?v=1791801401") center / contain no-repeat; mask: url("../img/faq-cal.svg?v=1791801401") center / contain no-repeat; }
.hb-date.is-open .hb-dd__chev { transform: rotate(180deg); }
.hb-date__pop { position: absolute; inset-inline-start: 0; top: calc(100% + 8px); z-index: 30; width: 330px; padding: 16px; border-radius: 22px; background: var(--hb-white); box-shadow: 0 22px 50px rgba(53, 43, 36, .18); opacity: 0; visibility: hidden; transform: translateY(-8px) scale(.98); transform-origin: top right; transition: opacity .2s var(--hb-ease), transform .25s var(--hb-ease), visibility 0s linear .25s; }
.hb-date.is-up .hb-date__pop { top: auto; bottom: calc(100% + 8px); transform-origin: bottom right; }
.hb-date.is-open .hb-date__pop { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.hb-date__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.hb-date__month { font-weight: 700; font-size: 18px; }
.hb-date__nav { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--hb-filter-bg); cursor: pointer; transition: background-color .2s var(--ease-out); }
.hb-date__nav::before { content: ""; width: 12px; height: 8px; background: var(--hb-ink-warm); -webkit-mask: url("../img/select-chevron.svg?v=1791721178") center / contain no-repeat; mask: url("../img/select-chevron.svg?v=1791721178") center / contain no-repeat; transform: rotate(-90deg); }
.hb-date__nav--next::before { transform: rotate(90deg); }
.hb-date__nav:hover { background: var(--hb-rose); }
.hb-date__nav:disabled { opacity: .3; cursor: default; background: var(--hb-filter-bg); }
.hb-date__week, .hb-date__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.hb-date__week span { padding: 4px 0; font-size: 13px; font-weight: 700; text-align: center; color: rgba(53, 43, 36, .5); }
.hb-date__day { display: grid; place-items: center; aspect-ratio: 1; border-radius: 50%; color: var(--hb-ink-warm); font: 500 15px var(--hb-font); cursor: pointer; transition: background-color .15s var(--ease-out), color .15s var(--ease-out), transform .15s var(--ease-out); }
.hb-date__day:hover:not(:disabled) { background: var(--hb-rose); }
.hb-date__day:focus-visible { outline: 2px solid var(--hb-sage); outline-offset: 1px; }
.hb-date__day.is-today { box-shadow: inset 0 0 0 1.5px var(--hb-cat-count); }
.hb-date__day.is-selected { background: var(--hb-cat-count); color: var(--hb-white); transform: scale(1.06); }
.hb-date__day:disabled { color: rgba(53, 43, 36, .25); cursor: default; }
.hb-date__day.is-shabbat { text-decoration: line-through; }
.hb-date__note { margin: 10px 2px 0; font-size: 12.5px; color: rgba(53, 43, 36, .6); }
.hb-q__error { display: block; margin: 8px 0 0; font-size: 14px; font-weight: 500; color: #a3341f; }
.hb-q__error[hidden] { display: none; }
.is-invalid input:not([type="radio"]):not([type="checkbox"]) { border-color: #c4452c; box-shadow: 0 0 0 3px rgba(196, 69, 44, .12); }
.is-invalid .hb-choice span { border-color: rgba(196, 69, 44, .55); }
.hb-q__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px solid rgba(53, 43, 36, .14); }
.hb-q__next, .hb-q__submit { margin-inline-start: auto; min-width: 180px; }
.hb-q__next { background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-q__next:hover { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); }
.hb-q__back { border-color: rgba(53, 43, 36, .4); color: var(--hb-ink-warm); background: transparent; }
.hb-q__back:hover { background: var(--hb-white); }
.hb-q__back[hidden], .hb-q__next[hidden], .hb-q__submit[hidden] { display: none; }
.hb-q__submit.is-loading { opacity: .7; pointer-events: none; }
/* Without JavaScript every step shows and only the submit button remains. */
.hb-q:not(.is-stepped) .hb-q__next, .hb-q:not(.is-stepped) .hb-q__back, .hb-q:not(.is-stepped) .hb-q__steps, .hb-q:not(.is-stepped) .hb-q__count { display: none; }

.hb-q__done { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 10px 0; text-align: center; }
.hb-q__done:focus { outline: none; }
.hb-q__check { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--hb-white); animation: hb-choice-pop .6s var(--hb-ease); }
.hb-q__check::before { content: ""; width: 26px; height: 20px; background: var(--hb-sage); -webkit-mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; }
.hb-q__done h2 { margin: 6px 0 0; font-weight: 700; font-size: clamp(26px, 2.4vw, 32px); }
.hb-q__done p { margin: 0; max-width: 420px; font-size: 17px; line-height: 1.6; }
.hb-q__done-sum { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; width: min(100%, 420px); margin: 14px 0 6px; padding: 18px 22px; border-radius: 18px; background: var(--hb-white); text-align: start; font-size: 15px; }
.hb-q__done-sum:empty { display: none; }
.hb-q__done-sum dt { color: rgba(53, 43, 36, .6); }
.hb-q__done-sum dd { margin: 0; font-weight: 700; }
.hb-q__wa { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-q__wa:hover { background: #4a3d33; border-color: #4a3d33; color: var(--hb-white); }

.hb-quote__aside { position: sticky; top: 120px; display: grid; gap: 12px; }
.admin-bar .hb-quote__aside { top: calc(120px + var(--wp-admin--admin-bar--height, 32px)); }
.hb-quote__summary { padding: 24px; border-radius: 24px; background: var(--hb-filter-bg); }
.hb-quote__summary h2 { margin: 0 0 14px; font-weight: 700; font-size: 20px; }
.hb-quote__summary dl { display: grid; grid-template-columns: max-content 1fr; gap: 10px 16px; margin: 0; font-size: 15px; }
.hb-quote__summary dt { color: rgba(53, 43, 36, .6); }
.hb-quote__summary dd { margin: 0; font-weight: 700; }
.hb-quote__summary [hidden] { display: none; }
.hb-quote__help p { margin: 6px 4px 8px; font-weight: 500; font-size: 15px; }
@media (max-width: 960px) {
	.hb-quote__grid { grid-template-columns: 1fr; max-width: 640px; }
	.hb-quote__aside { position: static; }
}
@media (max-width: 767px) {
	.hb-q__steps { font-size: 13px; }
	.hb-q__nav .hb-btn { min-width: 0; flex: 1; }
	.hb-q__guests input { max-width: none; }
}

/* ---------------- Catering menu (/menus/…) ---------------- */
.hb-about__facts a { color: inherit; text-decoration: none; }
.hb-menu__sections { display: grid; gap: 14px; }
.hb-menu__print-head { display: none; }
@keyframes hb-shake { 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } }
.hb-menu__notes { padding: 22px 26px; border-radius: 24px; background: var(--hb-white); }
.hb-menu__notes h2 { margin: 0 0 10px; font-weight: 700; font-size: 20px; }
.hb-menu__notes ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 14.5px; line-height: 1.55; color: rgba(53, 43, 36, .8); }
.hb-menu__notes li { position: relative; padding-inline-start: 18px; }
.hb-menu__notes li::before { content: ""; position: absolute; inset-inline-start: 2px; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--hb-cat-count); }

.hb-menu__aside { position: sticky; top: 120px; }
.admin-bar .hb-menu__aside { top: calc(120px + var(--wp-admin--admin-bar--height, 32px)); }
.hb-menu__panel { display: grid; gap: 14px; padding: 24px; border-radius: 24px; background: var(--hb-white); box-shadow: 0 14px 34px rgba(53, 43, 36, .07); }
.hb-menu__panel h2 { margin: 0; font-weight: 700; font-size: 22px; }
.hb-menu__min { font-size: 13px; color: rgba(53, 43, 36, .6); }
.hb-menu__panel .hb-stepper { background: var(--hb-filter-bg); }
.hb-menu__progress { display: grid; gap: 6px; margin: 0; padding: 12px 0; border-block: 1px solid rgba(53, 43, 36, .1); list-style: none; font-size: 15px; }
.hb-menu__progress:empty { display: none; }
.hb-menu__progress li { display: flex; justify-content: space-between; gap: 10px; }
.hb-menu__progress b { direction: ltr; color: var(--hb-cat-count); }
.hb-menu__progress li.is-done b { color: var(--hb-sage-dark); }
.hb-menu__progress li.is-done b::after { content: " ✓"; }
.hb-menu__total { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0; font-size: 15px; }
.hb-menu__total strong { font-size: 19px; }
.hb-menu__fine { margin: -6px 0 0; font-size: 12.5px; color: rgba(53, 43, 36, .6); }
.hb-menu__cta { width: 100%; }
.hb-menu__tools { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.hb-menu__tool { min-height: 44px; border-color: rgba(53, 43, 36, .3); color: var(--hb-ink-warm); background: transparent; font-size: 15px; }
.hb-menu__tool:hover { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
@media (max-width: 960px) {
	.hb-menu__grid { grid-template-columns: 1fr; max-width: 680px; }
	.hb-menu__aside { position: static; }
}

/* Print: a clean menu with the picks marked. */
@media print {
	.hb-topbar, .hb-header-wrap, .hb-header, .hb-footer, .hb-side-leaves, .hb-about__hero, .hb-menu__aside, .hb-sticky-cta, #woofc-area, .woofc-area { display: none !important; }
	body, body.hb-soft:not(.home) { background: #fff !important; }
	.hb-menu, .hb-contact__main { padding: 0 !important; }
	.hb-menu__grid { display: block; max-width: none; }
	.hb-menu__print-head { display: block; margin: 0 0 12px; font-weight: 700; font-size: 18px; }
	.hb-menu__sec, .hb-menu__sec.is-pick, .hb-menu__notes { background: none !important; padding: 8px 0; break-inside: avoid; }
	.hb-menu__items { grid-template-columns: 1fr 1fr; gap: 2px 18px; }
	.hb-menu__item { padding: 3px 0; background: none !important; color: #000 !important; box-shadow: none !important; opacity: 1 !important; }
	button.hb-menu__item[aria-pressed="false"] { opacity: .45 !important; }
	.hb-menu__count, .hb-menu__rule { background: none !important; color: #000 !important; padding: 0; }
}

/* ---------------- Packages and menus (/packages/) ---------------- */
.hb-pkp .hb-about__hero-bagel { margin-bottom: calc(-.5 * clamp(130px, 12vw, 180px)); }
.hb-pkp__packages { padding-block: 120px 10px; }
.hb-pkp__head { max-width: 760px; margin: 0 auto 10px; text-align: center; }
.hb-pkp__head p { margin: 10px 0 0; font-size: 18px; line-height: 1.6; color: rgba(53, 43, 36, .8); }
.hb-packages--page { padding-top: 10px; }
.hb-pkp__menus { margin-top: 15px; padding-block: clamp(44px, 5vw, 80px); background: var(--hb-filter-bg); border-radius: var(--hb-radius-lg); }
.hb-pkp__menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1100px; margin: 34px auto 0; padding: 0; list-style: none; }
/* Softer menu cards: airy, thin separators, a lighter list and a smaller button. */
.hb-pkp__menu { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 30px 28px 26px; border-radius: 26px; background: var(--hb-white); box-shadow: 0 1px 0 rgba(53, 43, 36, .04); transition: transform .4s var(--hb-ease); }
.hb-pkp__menu:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(53, 43, 36, .07); }
.hb-pkp__price { margin: 0; font-weight: 700; font-size: clamp(34px, 3vw, 44px); line-height: 1; color: var(--hb-sage); }
.hb-pkp__price small { font-size: 14px; font-weight: 500; color: rgba(53, 43, 36, .55); }
.hb-pkp__menu h3 { margin: 8px 0 0; font-weight: 700; font-size: 14px; }
.hb-pkp__menu h3 a { color: inherit; text-decoration: none; }
.hb-pkp__min { margin: 0; font-size: 14px; color: rgba(53, 43, 36, .55); }
.hb-pkp__includes { flex: 1; display: grid; gap: 0; margin: 14px 0 18px; padding: 0; list-style: none; font-size: 15px; font-weight: 400; color: rgba(53, 43, 36, .85); }
.hb-pkp__includes li { display: grid; grid-template-columns: 1fr 76px; align-items: baseline; gap: 10px; padding: 8px 0; border-top: 1px dashed rgba(53, 43, 36, .12); }
.hb-pkp__includes em { font-style: normal; font-size: 13.5px; text-align: right; color: rgba(53, 43, 36, .5); }
.hb-pkp__menu-cta { width: 100%; min-height: 50px; font-size: 16px; background: var(--hb-cat-count); border-color: var(--hb-cat-count); color: var(--hb-white); }
.hb-pkp__menu-cta:hover { background: #9e8984; border-color: #9e8984; color: var(--hb-white); }
.hb-pkp > .hb-faqp__cta { margin-top: 65px; }
/* The rolling bagel above the menus heading. */
.hb-pkp__bagel { width: clamp(130px, 13vw, 190px); margin: 0 auto 10px; }
@media (max-width: 960px) { .hb-pkp__menu-grid { grid-template-columns: 1fr; max-width: 520px; } }
.hb-quote__picks { white-space: pre-line; font-weight: 500 !important; font-size: 14px; line-height: 1.5; }

.hb-chip[aria-pressed="true"] { background: var(--hb-cat-count); border-color: var(--hb-cat-count); color: var(--hb-white); }



@media (max-width: 767px) { .hb-pkp .hb-about__hero-bagel { margin-bottom: -55px; } .hb-pkp__packages { padding-top: 80px; } }


/* ---------------- Trays order form (/menu/) ---------------- */
/* Header: the home bagel pattern behind a big question, and a bagel with circular text that turns. */
.hb-om__head { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; padding-block: clamp(30px, 4vw, 56px) clamp(36px, 4vw, 60px); text-align: center; }
.hb-om__head::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw; z-index: -1; background: url("../img/pattern.webp?v=1791725666") center top / 726px auto repeat; opacity: .12; mix-blend-mode: multiply; }
.hb-om__badge { position: relative; width: clamp(130px, 13vw, 170px); aspect-ratio: 1; margin-bottom: 10px; }
.hb-om__ring { position: absolute; inset: 0; animation: hb-om-turn 22s linear infinite; }
.hb-om__ring span { position: absolute; left: 50%; top: 2%; width: 1em; margin-left: -.5em; height: 48%; transform: rotate(var(--a)); transform-origin: 50% 100%; text-align: center; font-weight: 700; font-size: clamp(12px, 1.1vw, 15px); line-height: 1; color: var(--hb-ink-warm); }
@keyframes hb-om-turn { to { transform: rotate(360deg); } }
.hb-om__badge-bagel { position: absolute; inset: 22%; width: 56%; height: auto; animation: hb-om-turn 22s linear infinite reverse; }
.hb-om__eyebrow { margin: 0; padding: 5px 14px; border-radius: 999px; background: var(--hb-rose); font-weight: 700; font-size: 14px; }
.hb-om__title { margin: 12px 0 0; font-weight: 700; font-size: clamp(44px, 6vw, 92px); line-height: 1; color: var(--hb-ink-warm); }
.hb-om__lead { max-width: 640px; margin: 14px 0 0; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.55; color: rgba(53, 43, 36, .8); }
.hb-intro .hb-om__head > * { animation: hb-rise .9s var(--hb-ease) backwards; }
.hb-intro .hb-om__title { animation-delay: .1s; }
.hb-intro .hb-om__lead { animation-delay: .2s; }
@media (prefers-reduced-motion: reduce) { .hb-om__ring, .hb-om__badge-bagel { animation: none; } }

/* Category shortcuts, search and filters. */
.hb-om__tools { position: sticky; top: 92px; z-index: 8; display: grid; gap: 10px; padding-block: 12px !important; background: rgba(234, 224, 217, .94); backdrop-filter: blur(8px); }
.admin-bar .hb-om__tools { top: calc(92px + var(--wp-admin--admin-bar--height, 32px)); }
.hb-om__cats { display: flex; justify-content: center; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.hb-om__cats::-webkit-scrollbar { display: none; }
.hb-om__cats .hb-chip { text-decoration: none; }
.hb-om__filters { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
.hb-om__search { position: relative; flex: 0 1 380px; }
.hb-om__search input { width: 100%; height: 42px; padding-inline: 44px 16px; border: 0; border-radius: 999px; background: var(--hb-white); color: var(--hb-ink-warm); font: 500 15px var(--hb-font); }
.hb-om__search input:focus { outline: none; box-shadow: 0 0 0 3px rgba(141, 162, 139, .3); }
.hb-om__search .hb-faqp__search-ico { inset-inline-start: 16px; width: 18px; height: 18px; margin-top: -9px; }
.hb-om__diets { display: flex; gap: 6px; }
.hb-chip[aria-pressed="true"] { background: var(--hb-cat-count); border-color: var(--hb-cat-count); color: var(--hb-white); }

/* The menu: a white sheet with one table per category, as in the reference layout. */
.hb-om__list { display: grid; gap: 22px; max-width: 1320px; margin: 10px auto 0; padding: clamp(16px, 2vw, 28px) !important; border-radius: var(--hb-radius-lg); background: var(--hb-white); margin-bottom: 110px; }
.hb-om__cat { scroll-margin-top: 220px; border-radius: 22px; overflow: hidden; border: 1px solid rgba(53, 43, 36, .08); background: #fdfbfa; }
.hb-om__cat[hidden] { display: none; }
.hb-om__cat-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; padding: 16px 24px; background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-om__cat-head h2 { margin: 0; font-weight: 700; font-size: clamp(20px, 1.8vw, 26px); }
.hb-om__cat-head p { margin: 0; font-size: 14.5px; color: rgba(255, 255, 255, .8); }
.hb-om__cols, .hb-om__row { display: grid; grid-template-columns: 34px 96px minmax(170px, 1.05fr) minmax(0, 1.9fr) 86px 72px minmax(120px, .75fr); align-items: center; gap: 16px; }
.hb-om__cols { padding: 12px 22px; background: var(--hb-filter-bg); font-size: 15px; font-weight: 500; color: rgba(53, 43, 36, .7); }
.hb-om__rows { margin: 0; padding: 0; list-style: none; }
.hb-om__row { padding: 14px 22px; border-top: 1px solid rgba(53, 43, 36, .07); transition: background-color .2s var(--ease-out); }
.hb-om__row[hidden] { display: none; }
.hb-om__row:hover { background: var(--hb-filter-bg); }
.hb-om__row.is-picked { background: rgba(229, 206, 199, .45); }
.hb-om__check { width: 20px; height: 20px; margin: 0; accent-color: var(--hb-ink-warm); cursor: pointer; }
.hb-om__img { display: block; width: 96px; height: 96px; border-radius: 16px; overflow: hidden; background: var(--hb-cream); }
.hb-om__img img { width: 100%; height: 100%; object-fit: cover; }
.hb-om__name { display: grid; gap: 6px; justify-items: start; min-width: 0; }
.hb-om__name strong { font-size: 18px; line-height: 1.3; }
.hb-om__tags { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.hb-om__tags em { padding: 1px 8px; border-radius: 999px; background: #dfe8de; color: #4f6a4d; font-style: normal; font-size: 12px; font-weight: 700; }
.hb-om__tags small { font-size: 13px; color: rgba(53, 43, 36, .6); }
.hb-seg { display: inline-flex; padding: 3px; border-radius: 999px; background: var(--hb-cream); }
.hb-seg label { position: relative; cursor: pointer; }
.hb-seg input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.hb-seg span { display: block; min-width: 44px; padding: 4px 10px; border-radius: 999px; font-weight: 700; font-size: 12.5px; white-space: nowrap; text-align: center; transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-seg input:checked + span { background: var(--hb-cat-count); color: var(--hb-white); }
.hb-seg input:focus-visible + span { outline: 2px solid var(--hb-sage); outline-offset: 1px; }
.hb-om__desc { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(53, 43, 36, .78); }
.hb-om__price { margin: 0; font-weight: 700; font-size: 19px; color: var(--hb-sage-dark); }
.hb-om__qty, .hb-om__note { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid rgba(53, 43, 36, .14); border-radius: 12px; background: var(--hb-white); color: var(--hb-ink-warm); font: 500 15px var(--hb-font); transition: border-color .2s var(--ease-out); }
.hb-om__qty { text-align: center; font-size: 17px; -moz-appearance: textfield; }
.hb-om__qty::-webkit-outer-spin-button, .hb-om__qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hb-om__qty:focus, .hb-om__note:focus { outline: none; border-color: var(--hb-sage); box-shadow: 0 0 0 3px rgba(141, 162, 139, .2); }
.hb-om.is-compact .hb-om__desc, .hb-om.is-compact .hb-om__img, .hb-om.is-compact .hb-om__cols > span:nth-child(2), .hb-om.is-compact .hb-om__cols > span:nth-child(4) { display: none; }
.hb-om.is-compact .hb-om__cols, .hb-om.is-compact .hb-om__row { grid-template-columns: 34px minmax(220px, 1.6fr) 86px 72px minmax(120px, .9fr); }

.hb-om__bar { position: fixed; bottom: 16px; left: 50%; z-index: 40; display: flex; align-items: center; gap: 16px; width: min(640px, calc(100vw - 24px)); padding: 10px; padding-inline: 22px 10px; border-radius: 999px; background: var(--hb-ink-warm); color: var(--hb-white); box-shadow: 0 18px 40px rgba(53, 43, 36, .3); transform: translateX(-50%); animation: hb-rise .35s var(--hb-ease); }
.hb-om__bar[hidden] { display: none; }
.hb-om__sum { flex: 1; margin: 0; font-size: 16px; white-space: nowrap; }
.hb-om__sum strong { font-size: 18px; }
.hb-om__clear { color: rgba(255, 255, 255, .7); font: 500 14px var(--hb-font); text-decoration: underline; cursor: pointer; background: none; }
.hb-om__add { min-width: 170px; }
.hb-om__add.is-loading { opacity: .7; pointer-events: none; }

@media (max-width: 1100px) {
	.hb-om__cols { display: none; }
	.hb-om__row, .hb-om.is-compact .hb-om__row { grid-template-columns: auto 72px 1fr auto; grid-template-areas: "check img name price" "check img desc desc" "check img qty note"; gap: 8px 14px; padding: 16px; }
	.hb-om__check { grid-area: check; align-self: start; margin-top: 4px; }
	.hb-om__img { grid-area: img; width: 72px; height: 72px; align-self: start; }
	.hb-om__name { grid-area: name; }
	.hb-om__desc { grid-area: desc; font-size: 14px; }
	.hb-om__price { grid-area: price; align-self: start; }
	.hb-om__qty { grid-area: qty; width: 72px; }
	.hb-om__note { grid-area: note; }
}
@media (max-width: 767px) {
	.hb-om__tools { position: static; background: none; backdrop-filter: none; margin-inline: calc(-1 * var(--hb-gutter)); padding-inline: 12px !important; }
	.hb-om__cats { position: sticky; top: 76px; justify-content: flex-start; }
	.hb-om__list { padding: 8px !important; border-radius: 24px; }
	.hb-om__row, .hb-om.is-compact .hb-om__row { grid-template-columns: auto 56px 1fr auto; grid-template-areas: "check img name price" "desc desc desc desc" "qty qty note note"; }
	.hb-om__img { width: 56px; height: 56px; border-radius: 12px; }
	.hb-om__qty { width: 100%; }
	.hb-om__cat-head { padding: 14px 16px; }
	.hb-om__bar { bottom: 10px; gap: 10px; padding-inline: 16px 8px; }
	.hb-om__sum { font-size: 14px; }
	.hb-om__clear { display: none; }
	.hb-om__add { min-width: 0; padding-inline: 18px; }
}


/* ---------------- Catering menu (/menus/…), reference layout ---------------- */
.hb-menu__facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; font-size: 15px; }
.hb-menu__facts li { padding: 7px 16px; border-radius: 999px; background: var(--hb-white); }
.hb-menu__main { padding-top: 10px !important; }
.hb-menu__sections { display: grid; gap: 18px; }
/* What is included: one light panel with a card per section. */
/* Choices: a white sheet with one table per section (✓ | dish | description). */
.hb-menu__sheet { display: grid; gap: 18px; padding: clamp(16px, 2vw, 26px); border-radius: 28px; background: var(--hb-white); }
.hb-menu__sec { border-radius: 20px; overflow: hidden; border: 1px solid rgba(53, 43, 36, .08); background: #fdfbfa; }
.hb-menu__sec-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; padding: 14px 22px; background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-menu__sec-head h3 { margin: 0; font-weight: 700; font-size: clamp(19px, 1.7vw, 24px); }
.hb-menu__rule { margin: 0; font-size: 14.5px; color: rgba(255, 255, 255, .85); }
.hb-menu__rule small { color: rgba(255, 255, 255, .6); }
.hb-menu__count { margin: 0; margin-inline-start: auto; padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); font-weight: 700; font-size: 15px; direction: ltr; transition: background-color .3s var(--ease-out); }
.hb-menu__sec.is-full .hb-menu__count { background: var(--hb-sage); }
.hb-menu__count.is-shake { animation: hb-shake .45s; }
.hb-menu__cols { padding: 10px 22px; background: var(--hb-filter-bg); font-size: 14.5px; font-weight: 500; color: rgba(53, 43, 36, .7); }
.hb-menu__items { margin: 0; padding: 0; list-style: none; }
.hb-menu__items li + li { border-top: 1px solid rgba(53, 43, 36, .07); }
.hb-menu__item { width: 100%; padding: 14px 22px; background: none; color: var(--hb-ink-warm); text-align: start; font: inherit; cursor: pointer; transition: background-color .2s var(--ease-out); }
.hb-menu__item:hover { background: var(--hb-filter-bg); }
.hb-menu__item[aria-pressed="true"] { background: rgba(229, 206, 199, .5); }
.hb-menu__item[aria-disabled="true"] { opacity: .4; cursor: not-allowed; }
.hb-menu__item[aria-disabled="true"]:hover { background: none; }
.hb-menu__tick { width: 20px; height: 20px; border: 1.5px solid rgba(53, 43, 36, .35); border-radius: 6px; background: var(--hb-white); transition: background-color .2s var(--ease-out), border-color .2s var(--ease-out); }
.hb-menu__item[aria-pressed="true"] .hb-menu__tick { border-color: var(--hb-ink-warm); background: var(--hb-ink-warm); }
.hb-menu__item[aria-pressed="true"] .hb-menu__tick::after { content: ""; display: block; width: 100%; height: 100%; background: var(--hb-white); -webkit-mask: url("../img/check.svg?v=1791722951") center / 11px no-repeat; mask: url("../img/check.svg?v=1791722951") center / 11px no-repeat; }
.hb-menu__name { font-weight: 700; font-size: 17px; }
.hb-menu__desc { font-size: 15px; line-height: 1.55; color: rgba(53, 43, 36, .75); }
@media (max-width: 767px) {
	.hb-menu__cols { display: none; }
	.hb-menu__item { grid-template-columns: 26px 1fr; gap: 4px 12px; padding: 14px 16px; }
	.hb-menu__tick { grid-row: span 2; align-self: start; margin-top: 2px; }
	.hb-menu__desc { font-size: 14px; }
	.hb-menu__sec-head { padding: 12px 16px; }
}
@media print {
	.hb-om__head .hb-om__badge, .hb-menu__facts { display: none !important; }
	.hb-menu__sheet, .hb-menu__incl, .hb-menu__incl-card, .hb-menu__sec { background: none !important; border: 0; padding: 0; }
	.hb-menu__sec-head { background: none !important; color: #000 !important; padding: 6px 0; }
	.hb-menu__item[aria-pressed="false"] { display: none; }
	.hb-menu__cols { display: none; }
}


/* ---------------- Catering menu, round 2 ---------------- */
/* The bagel pattern runs down the whole page (one layer, so the header has no second copy). */
.hb-menu { position: relative; isolation: isolate; }
.hb-menu::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw; z-index: -1; background: url("../img/pattern.webp?v=1791725666") center top / 726px auto repeat; opacity: .12; mix-blend-mode: multiply; pointer-events: none; }
.hb-menu .hb-om__head::before { display: none; }
.hb-menu .hb-om__title { font-size: clamp(36px, 4.2vw, 62px); }
.hb-menu .hb-om__lead { text-wrap: balance; }
.hb-menu__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); align-items: start; gap: 22px; max-width: 1360px; margin: 0 auto; }
.hb-menu__block { display: grid; gap: 14px; }
.hb-menu__block-title { margin: 0; font-weight: 700; font-size: clamp(24px, 2.2vw, 32px); }
.hb-menu__block-title--out { margin-top: 16px; }
.hb-menu__sheet { padding: 0; background: none; border-radius: 0; gap: 14px; }
/* Each section is a table; the included ones get a coloured header of their own. */
.hb-menu__sec { background: var(--hb-white); }
.hb-menu__sec.tone-sage .hb-menu__sec-head { background: var(--hb-sage); }
.hb-menu__sec.tone-rose .hb-menu__sec-head { background: var(--hb-cat-count); }
.hb-menu__sec.tone-sand .hb-menu__sec-head { background: #c1a39b; }
.hb-menu__sec.is-incl .hb-menu__rule { padding: 3px 12px; border-radius: 999px; background: rgba(255, 255, 255, .22); color: var(--hb-white); font-weight: 700; font-size: 13.5px; }
.hb-menu__cols, .hb-menu__item { display: grid; grid-template-columns: 26px 64px minmax(170px, 1fr) minmax(0, 2.2fr); align-items: center; gap: 16px; }
.hb-menu__img { display: block; width: 64px; height: 64px; border-radius: 14px; overflow: hidden; background: var(--hb-cream); }
.hb-menu__img img { width: 100%; height: 100%; object-fit: cover; }
.hb-menu__item.is-included { cursor: default; }
.hb-menu__item.is-included:hover { background: none; }
.hb-menu__item.is-included .hb-menu__tick { border: 0; background: var(--hb-cream); border-radius: 50%; }
.hb-menu__item.is-included .hb-menu__tick::after { content: ""; display: block; width: 100%; height: 100%; background: var(--hb-sage-dark); -webkit-mask: url("../img/check.svg?v=1791722951") center / 11px no-repeat; mask: url("../img/check.svg?v=1791722951") center / 11px no-repeat; }
.hb-menu__items li.hb-menu__item + li.hb-menu__item { border-top: 1px solid rgba(53, 43, 36, .07); }
/* Side panel: tidy, full-width rows. */
.hb-menu__panel { gap: 16px; padding: 26px; }
.hb-menu__panel .hb-field { gap: 8px; }
.hb-menu__panel .hb-stepper { display: flex; justify-content: space-between; width: 100%; }
.hb-menu__panel .hb-stepper input { flex: 1; font-size: 20px; font-weight: 700; }
.hb-menu__min { display: block; }
.hb-menu__total { display: grid; gap: 2px; margin: 0; padding: 14px 16px; border-radius: 16px; background: var(--hb-filter-bg); }
.hb-menu__total span { font-size: 14px; color: rgba(53, 43, 36, .65); }
.hb-menu__total strong { font-size: 30px; line-height: 1.15; color: var(--hb-ink-warm); }
.hb-menu__total small { font-size: 13.5px; color: rgba(53, 43, 36, .6); }
.hb-menu__fine { margin: 0; }
@media (max-width: 960px) { .hb-menu__grid { grid-template-columns: 1fr; max-width: 720px; } }
@media (max-width: 767px) {
	.hb-menu__cols { display: none; }
	.hb-menu__item { grid-template-columns: 22px 52px 1fr; grid-template-areas: "tick img name" "tick img desc"; gap: 2px 12px; padding: 12px 14px; }
	.hb-menu__tick { grid-area: tick; align-self: start; margin-top: 4px; }
	.hb-menu__img { grid-area: img; width: 52px; height: 52px; border-radius: 12px; }
	.hb-menu__name { grid-area: name; }
	.hb-menu__desc { grid-area: desc; }
}
.hb-menu__panel { grid-template-columns: minmax(0, 1fr); }
.hb-menu__panel > *, .hb-menu__panel .hb-stepper input { min-width: 0; }

/* Included sections all green; the choice sections pink. Images are plain rectangles. */
.hb-menu__sec.is-incl .hb-menu__sec-head { background: var(--hb-sage) !important; }
.hb-menu__sec.is-pick .hb-menu__sec-head { background: var(--hb-cat-count); }
.hb-menu__img { border-radius: 8px; }

/* Catering pages (template-parts/catering/page.php) ------------------------------------------ */
.hb-cp .hb-about__hero-bagel { margin-bottom: calc(-.5 * clamp(130px, 12vw, 180px)); }
.hb-cp__crumb { margin: 0 0 10px; font-size: 16px; }
.hb-cp__crumb a { color: var(--hb-white); text-decoration: none; opacity: .85; }
.hb-cp__crumb a::after { content: " ›"; }
.hb-cp__crumb a:hover { opacity: 1; text-decoration: underline; }
.hb-cp__sec { padding-block: clamp(44px, 5vw, 80px) 0; }
.hb-cp > .hb-cp__sec:first-of-type, .hb-cp > header + .hb-cp__sec { padding-top: clamp(90px, 9vw, 130px); }
.hb-cp__kinds-grid { margin-top: 34px; }
.hb-cp__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: auto; padding-top: 22px; }
.hb-cp__btn-main { min-height: 52px; font-size: 17px; background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cp__btn-main:hover { background: #4a3d33; border-color: #4a3d33; color: var(--hb-white); }
.hb-cp__link { color: var(--hb-ink-warm); font-weight: 700; font-size: 16px; text-underline-offset: 4px; }
.hb-cp__link:hover { color: var(--hb-sage-dark, #768c74); }

/* Trays or full catering. */
.hb-cp__cmp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1100px; margin: 34px auto 0; }
.hb-cp__cmp-col { display: flex; flex-direction: column; padding: clamp(26px, 3vw, 40px); border-radius: 26px; background: var(--hb-filter-bg); }
.hb-cp__cmp-col--cat { background: #e5cec7; }
.hb-cp__cmp-col h3 { margin: 0 0 8px; font-weight: 700; font-size: clamp(26px, 2.4vw, 34px); }
.hb-cp__points { margin: 0; padding: 0; list-style: none; }
.hb-cp__points li { position: relative; padding: 12px 0; padding-inline-start: 40px; border-top: 1px solid rgba(53, 43, 36, .1); font-size: 18px; line-height: 1.45; }
.hb-cp__points li:first-child { border-top: 0; }
.hb-cp__points li::before, .hb-cp__check { content: ""; position: absolute; top: 12px; inset-inline-start: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--hb-white); }
.hb-cp__points li::after, .hb-cp__check::after { content: ""; position: absolute; top: 21px; inset-inline-start: 8px; width: 12px; height: 10px; background: var(--hb-sage); -webkit-mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; }

/* How it works. */

/* Event types. */
.hb-cp__events-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 1000px; margin: 28px auto 0; padding: 0; list-style: none; }
.hb-cp__events-list .hb-chip { height: 48px; padding: 0 22px; border-color: transparent; font-size: 17px; text-decoration: none; }
.hb-cp__events-list .hb-chip:hover { background: var(--hb-cat-count); border-color: var(--hb-cat-count); color: var(--hb-white); }

/* By guest count. */
.hb-cp__bands-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 34px 0 0; padding: 0; list-style: none; }
.hb-cp__band { display: flex; flex-direction: column; padding: 28px 26px; border-radius: 26px; background: var(--hb-white); }
.hb-cp__band-range { align-self: flex-start; margin: 0 0 16px; padding: 6px 14px; border-radius: 999px; background: var(--hb-sage); color: var(--hb-white); font-weight: 700; font-size: 15px; }
.hb-cp__band.is-trays .hb-cp__band-range { background: var(--hb-cat-count); }
.hb-cp__band h3 { margin: 0; font-weight: 700; font-size: 22px; line-height: 1.3; }
.hb-cp__band-text { margin: 10px 0 0; font-size: 17px; line-height: 1.55; color: rgba(53, 43, 36, .8); }
.hb-cp__band .hb-cp__btn-main, .hb-cp__cmp-col .hb-cp__btn-main { min-width: 0; padding-inline: 20px; }
.hb-cp__band .hb-cp__btn-main { width: 100%; }
.hb-cp__band .hb-cp__actions { flex-direction: column; align-items: stretch; text-align: center; }

/* Why companies (business page). */
.hb-cp__why-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 1000px; margin: 30px auto 0; padding: 0; list-style: none; text-align: start; }
.hb-cp__why-list li { position: relative; padding: 22px 24px; padding-inline-start: 64px; border-radius: 20px; background: var(--hb-filter-bg); font-size: 18px; line-height: 1.45; }
.hb-cp__why-list .hb-cp__check { top: 20px; inset-inline-start: 22px; background: var(--hb-rose); }
.hb-cp__why-list .hb-cp__check::after { top: 9px; inset-inline-start: 8px; background: var(--hb-ink-warm); }

.hb-cp > .hb-cp__trust { margin-top: clamp(44px, 5vw, 80px); padding-inline: 0 !important; }
.hb-cp__menus { margin-top: clamp(44px, 5vw, 80px); }

/* Gallery strip. */

.hb-cp > .hb-cp__faq { margin: 0; padding-block: 24px 10px; background: none; }
.hb-cp > .hb-faqp__cta { margin-top: clamp(44px, 5vw, 80px); }
.hb-cp > .hb-cp__faq + .hb-faqp__cta { margin-top: 24px; }

@media (max-width: 1023px) {
	.hb-cp__bands-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hb-cp > .hb-cp__trust { padding-inline: 0 !important; }
}
@media (max-width: 767px) {
	.hb-cp .hb-about__hero-bagel { margin-bottom: -55px; }
	.hb-cp__cmp-grid, .hb-cp__bands-list, .hb-cp__why-list { grid-template-columns: 1fr; }
	.hb-cp__events-list .hb-chip { height: 44px; padding: 0 16px; font-size: 16px; }
	.hb-cp__cmp-col .hb-cp__actions { flex-direction: column; align-items: stretch; text-align: center; }
}

/* Trays or catering: trays in pink with a green button, catering in green with a pink button. */
.hb-cp__cmp-col--trays { background: var(--hb-rose); }
.hb-cp__cmp-col--cat { background: var(--hb-sage); color: var(--hb-white); }
.hb-cp__cmp-col .hb-cp__actions { flex-direction: column; align-items: flex-start; gap: 12px; }
.hb-cp__cmp-col .hb-cp__btn-main { width: min(100%, 340px); min-height: 56px; font-size: 18px; }
.hb-cp__cmp-col--trays .hb-cp__btn-main { background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-cp__cmp-col--trays .hb-cp__btn-main:hover { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); }
.hb-cp__cmp-col--cat .hb-cp__btn-main { background: var(--hb-cat-count); border-color: var(--hb-cat-count); color: var(--hb-white); }
.hb-cp__cmp-col--cat .hb-cp__btn-main:hover { background: #a3877d; border-color: #a3877d; }
.hb-cp__cmp-col--cat .hb-cp__link { color: var(--hb-white); }
.hb-cp__cmp-col--cat .hb-cp__points li { border-color: rgba(255, 255, 255, .28); }
.hb-cp__cmp-col--trays .hb-cp__points li { border-color: rgba(53, 43, 36, .12); }
.hb-cp__cmp-col--trays .hb-cp__points li::before { background: var(--hb-cat-count); }
.hb-cp__cmp-col--trays .hb-cp__points li::after { background: var(--hb-white); }
.hb-cp__cmp-col--cat .hb-cp__points li::before { background: var(--hb-white); }
.hb-cp__cmp-col--cat .hb-cp__points li::after { background: var(--hb-cat-count); }

/* How it works: a line that fills with the scroll, steps alternating right and left. */
.hb-cp__tl { --p: 0; position: relative; max-width: 1040px; margin: 40px auto 0; padding: 0; list-style: none; }
.hb-cp__tl::before, .hb-cp__tl::after { content: ""; position: absolute; top: 0; left: 50%; width: 4px; margin-left: -2px; border-radius: 4px; }
.hb-cp__tl::before, .hb-cp__tl::after { top: var(--tl-a, 0); }
.hb-cp__tl::before { height: var(--tl-len, 100%); background: rgba(255, 255, 255, .16); }
.hb-cp__tl::after { height: calc(var(--p) * var(--tl-len, 100%)); background: var(--hb-sage); }
.hb-cp__tl-item { position: relative; display: grid; grid-template-columns: 1fr 1fr; column-gap: 120px; padding-block: 16px; }
.hb-cp__tl-item:nth-child(even) .hb-cp__tl-card { grid-column: 2; }
.hb-cp__tl-dot { position: absolute; top: 50%; left: 50%; z-index: 1; display: grid; place-items: center; width: 62px; height: 62px; border: 4px solid #d6ddd5; border-radius: 50%; background: var(--hb-white); color: var(--hb-sage); font-weight: 700; font-size: 24px; transform: translate(-50%, -50%) scale(.85); transition: background-color .4s var(--ease-out), border-color .4s var(--ease-out), color .4s var(--ease-out), transform .6s cubic-bezier(.34, 1.56, .64, 1); }
/* Scale on its own, so the English overlay's mirrored translate stays (client's English, 05/11/2026). */
.hb-cp__tl-item.is-on .hb-cp__tl-dot { border-color: var(--hb-rose); background: var(--hb-sage); color: var(--hb-white); scale: 1.1765; }
.hb-cp__tl-card { position: relative; padding: 28px 30px; border-radius: 26px; background: var(--hb-white); box-shadow: 0 18px 40px rgba(53, 43, 36, .06); opacity: 0; transform: translateX(70px) rotate(2deg); transition: opacity .7s var(--hb-ease), transform .9s var(--hb-ease); }
.hb-cp__tl-item:nth-child(even) .hb-cp__tl-card { transform: translateX(-70px) rotate(-2deg); }
.hb-cp__tl-item.is-on .hb-cp__tl-card { opacity: 1; transform: none; }
/* A short arm from the card to the line. */
.hb-cp__tl-card::after { content: ""; position: absolute; top: 50%; inset-inline-end: -60px; width: 60px; height: 3px; background: var(--hb-sage); transform: scaleX(0); transform-origin: right; transition: transform .5s .35s var(--hb-ease); }
.hb-cp__tl-item:nth-child(even) .hb-cp__tl-card::after { inset-inline-end: auto; inset-inline-start: -60px; transform-origin: left; }
.hb-cp__tl-item.is-on .hb-cp__tl-card::after { transform: scaleX(1); }
.hb-cp__tl-n { margin: 0 0 4px; color: var(--hb-cat-count); font-weight: 700; font-size: 15px; }
.hb-cp__tl-card h3 { margin: 0; font-weight: 700; font-size: clamp(21px, 1.9vw, 26px); }
.hb-cp__tl-card p:not(.hb-cp__tl-n) { margin: 8px 0 0; font-size: 17px; line-height: 1.5; color: rgba(53, 43, 36, .75); }
@media (prefers-reduced-motion: reduce) {
	.hb-cp__tl-card, .hb-cp__tl-item:nth-child(even) .hb-cp__tl-card { opacity: 1; transform: none; transition: none; }
	.hb-cp__tl-card::after { transform: scaleX(1); }
}
@media (max-width: 767px) {
	.hb-cp__cmp-col .hb-cp__actions { align-items: stretch; }
	.hb-cp__cmp-col .hb-cp__btn-main { width: 100%; }
	.hb-cp__tl::before, .hb-cp__tl::after { left: auto; right: 29px; margin: 0; }
	.hb-cp__tl-item { grid-template-columns: 1fr; padding-inline-start: 82px; }
	.hb-cp__tl-item:nth-child(even) .hb-cp__tl-card { grid-column: 1; transform: translateX(50px); }
	.hb-cp__tl-card { transform: translateX(50px); padding: 22px; }
	.hb-cp__tl-item.is-on .hb-cp__tl-card { transform: none; }
	.hb-cp__tl-dot { left: auto; right: 0; width: 62px; transform: translateY(-50%) scale(.85); }
	.hb-cp__tl-item.is-on .hb-cp__tl-dot { transform: translateY(-50%) scale(.85); }
	.hb-cp__tl-card::after, .hb-cp__tl-item:nth-child(even) .hb-cp__tl-card::after { inset-inline-end: auto; inset-inline-start: -20px; width: 20px; transform-origin: left; }
}

/* Hub: "trays or catering" in its own light panel, "how it works" on brown, menus on the home pattern. */
.hb-cp > .hb-cp__cmp, .hb-cp > .hb-cp__steps { margin-top: clamp(44px, 5vw, 80px); padding-block: clamp(44px, 5vw, 80px); border-radius: var(--hb-radius-lg); }
.hb-cp > .hb-cp__cmp { background: var(--hb-filter-bg); }
.hb-cp > .hb-cp__steps { margin-top: 15px; background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cp__steps .hb-cp__tl-card { color: var(--hb-ink-warm); box-shadow: none; }
.hb-cp__steps .hb-cp__tl-dot { border-color: rgba(255, 255, 255, .22); background: var(--hb-ink-warm); color: rgba(255, 255, 255, .7); }
.hb-cp__steps .hb-cp__tl-item.is-on .hb-cp__tl-dot { border-color: var(--hb-rose); background: var(--hb-sage); color: var(--hb-white); }
.hb-cp__cmp-col--cat .hb-cp__points li::before { background: var(--hb-sage-dark); }
.hb-cp__cmp-col--cat .hb-cp__points li::after { background: var(--hb-white); }
.hb-cp__cmp-col--cat .hb-cp__btn-main { background: var(--hb-rose); border-color: var(--hb-rose); color: var(--hb-ink-warm); }
.hb-cp__cmp-col--cat .hb-cp__btn-main:hover { background: var(--hb-white); border-color: var(--hb-white); color: var(--hb-ink-warm); }
.hb-cp__menus { position: relative; isolation: isolate; overflow: hidden; }
.hb-cp__menus::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/pattern.webp?v=1791725666") center top / 726px auto repeat; opacity: .12; mix-blend-mode: multiply; }
.hb-cp > .hb-cp__steps + .hb-cp__menus { margin-top: 15px; }
.hb-cp > .hb-cp__gal { margin-top: clamp(30px, 4vw, 60px); }
.hb-cp__cmp-col--cat .hb-cp__btn-main { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cp__cmp-col--cat .hb-cp__btn-main:hover { background: #4a3d33; border-color: #4a3d33; color: var(--hb-white); }
.hb-cp__steps { position: relative; isolation: isolate; overflow: hidden; }
.hb-cp__steps > :not(.hb-cp__flyers) { position: relative; z-index: 1; }
.hb-cp__flyers { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.hb-cp__flyers img { position: absolute; left: var(--x); top: var(--y); height: auto; opacity: .9; will-change: transform; filter: drop-shadow(0 8px 10px rgba(0, 0, 0, .25)); }
/* Gallery as wide as on the home page, and closer to the clients strip. */
.hb-cp > .hb-cp__gal { max-width: 1374px; padding: 36px 24px 30px !important; }
.hb-cp > .hb-cp__gal + .hb-cp__trust { margin-top: 15px; }
.hb-cp__gal .hb-gallery__more { margin-top: 24px; }
@media (max-width: 767px) {
	.hb-cp__flyers img { width: 34px; }
	.hb-cp > .hb-cp__gal { padding-inline: 0 !important; }
}
.hb-cp__kinds .hb-event__btn { min-width: 340px; padding-inline: 40px; letter-spacing: .01em; }
@media (max-width: 767px) { .hb-cp__kinds .hb-event__btn { min-width: 0; width: 100%; padding-inline: 24px; } }
/* Menu cards: a photo above the price (the menu's featured image). */
.hb-pkp__menu-media { display: block; margin: -12px -10px 16px; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 18px; background: var(--hb-filter-bg); }
.hb-pkp__menu-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--hb-ease); }
.hb-pkp__menu:hover .hb-pkp__menu-media img { transform: scale(1.05); }
/* Trays or catering: a photo on top of each column. */
.hb-cp__cmp-media { margin: calc(-1 * clamp(26px, 3vw, 40px) + 10px) calc(-1 * clamp(26px, 3vw, 40px) + 10px) 22px; aspect-ratio: 16 / 8; overflow: hidden; border-radius: 18px; }
.hb-cp__cmp-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--hb-ease); }
.hb-cp__cmp-col:hover .hb-cp__cmp-media img { transform: scale(1.04); }
/* Flying leaves in front of the step cards. */
.hb-cp__steps > .hb-cp__flyers { z-index: 2; }

/* By guest count: a photo panel with white text, cards over soft photos. */
.hb-cp > .hb-cp__bands { position: relative; isolation: isolate; overflow: hidden; margin-top: clamp(44px, 5vw, 80px); padding: clamp(50px, 5.5vw, 90px) clamp(16px, 3vw, 48px) !important; border-radius: var(--hb-radius-lg); background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cp__bands-bg { position: absolute; inset: 0; z-index: -2; }
.hb-cp__bands-bg img { width: 100%; height: 100%; object-fit: cover; }
.hb-cp__bands::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(29, 24, 20, .78), rgba(29, 24, 20, .62) 45%, rgba(29, 24, 20, .82)); }
.hb-cp__bands .hb-pkp__head p { color: rgba(255, 255, 255, .85); }
.hb-cp__bands .hb-cp__bands-list { gap: 14px; max-width: 1480px; margin: 40px auto 0; }
.hb-cp__band { position: relative; isolation: isolate; overflow: hidden; min-height: 380px; padding: 30px 28px; border: 1px solid rgba(255, 255, 255, .18); background: rgba(29, 24, 20, .35); color: var(--hb-white); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: transform .4s var(--hb-ease), border-color .4s var(--ease-out); }
.hb-cp__band:hover { transform: translateY(-4px); border-color: rgba(255, 255, 255, .4); }
.hb-cp__band-bg { position: absolute; inset: 0; z-index: -2; }
.hb-cp__band-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .38; transition: transform 1s var(--hb-ease), opacity .4s var(--ease-out); }
.hb-cp__band:hover .hb-cp__band-bg img { transform: scale(1.06); opacity: .48; }
.hb-cp__band::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(29, 24, 20, .92) 20%, rgba(29, 24, 20, .45)); }
.hb-cp__band h3 { color: var(--hb-white); font-size: 24px; }
.hb-cp__band-text { color: rgba(255, 255, 255, .86); }
.hb-cp__band .hb-cp__btn-main { background: var(--hb-rose); border-color: var(--hb-rose); color: var(--hb-ink-warm); }
.hb-cp__band .hb-cp__btn-main:hover { background: var(--hb-white); border-color: var(--hb-white); color: var(--hb-ink-warm); }
.hb-cp__band .hb-cp__link { color: var(--hb-white); }

/* Trays or catering: both buttons on one row, same size. */
.hb-cp__cmp-col .hb-cp__actions { flex-direction: row; flex-wrap: nowrap; align-items: stretch; gap: 12px; }
.hb-cp__cmp-col .hb-cp__btn-main { flex: 1 1 0; width: auto; }
.hb-cp__cmp-col .hb-cp__link { display: inline-flex; flex: 1 1 0; align-items: center; justify-content: center; min-height: 56px; padding: 0 20px; border: 1.5px solid currentColor; border-radius: 999px; font-size: 18px; text-align: center; text-decoration: none; transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-cp__cmp-col--trays .hb-cp__link:hover { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cp__cmp-col--cat .hb-cp__link:hover { background: var(--hb-white); color: var(--hb-sage-dark); }

/* Menu cards: wider. */
.hb-pkp__menu-grid { max-width: 1320px; gap: 18px; }
.hb-pkp__menu { padding: 30px 34px 28px; }

@media (max-width: 1023px) { .hb-cp__band { min-height: 0; } }
@media (max-width: 767px) {
	.hb-cp > .hb-cp__bands { padding-inline: 14px !important; }
	.hb-cp__cmp-col .hb-cp__actions { flex-direction: column; }
	.hb-cp__cmp-col .hb-cp__btn-main, .hb-cp__cmp-col .hb-cp__link { flex: none; width: 100%; }
}

/* Business: the guest-count cards on the page background, with a filter above them. */
.hb-cp > .hb-cp__bands--plain { overflow: visible; margin-top: 0; padding: clamp(44px, 5vw, 80px) var(--hb-page-pad) 0 !important; border-radius: 0; background: none; color: var(--hb-ink-warm); }
.hb-cp__bands--plain::after { content: none; }
.hb-cp__bands--plain .hb-pkp__head { max-width: 900px; }
.hb-cp__bands--plain .hb-pkp__head p { color: rgba(53, 43, 36, .8); }
.hb-cp__bands--plain .hb-cp__bands-list { display: flex; flex-wrap: wrap; justify-content: center; max-width: none; margin-top: 26px; }
.hb-cp__bands--plain .hb-cp__band { flex: 0 1 calc(25% - 11px); min-width: 0; }
/* The ready packages button is green. */
.hb-cp__band.is-trays .hb-cp__btn-main { background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-cp__band.is-trays .hb-cp__btn-main:hover { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); color: var(--hb-white); }
@media (max-width: 767px) {
}

/* Guest-count cards: the amount is the big heading, title and text smaller. */
.hb-cp__band-range, .hb-cp__band.is-trays .hb-cp__band-range { align-self: auto; margin: 0 0 6px; padding: 0; border-radius: 0; background: none; color: var(--hb-white); font-weight: 700; font-size: clamp(28px, 2.3vw, 34px); line-height: 1.15; }
.hb-cp__band h3 { font-size: 18px; color: var(--hb-rose); }
.hb-cp__band-text { margin-top: 8px; font-size: 15px; }
.hb-cp > .hb-cp__bands--plain { padding-top: clamp(90px, 9vw, 130px) !important; }

/* Why companies: text on the right, a photo on the left, a bagel on the right edge. */

/* Catering menus on the catering pages: no panel, only the pattern, rising out of the clients strip. */
.hb-cp > .hb-cp__menus { background: none; border-radius: 0; overflow: visible; }
.hb-cp__menus::before { inset: 0 calc(-1 * var(--hb-gutter, 0px)); -webkit-mask: linear-gradient(180deg, #000 0, #000 70%, transparent); mask: linear-gradient(180deg, #000 0, #000 70%, transparent); }
.hb-cp > .hb-cp__trust { position: relative; z-index: 1; }
.hb-cp > .hb-cp__trust + .hb-cp__menus { margin-top: -110px; padding-top: calc(110px + clamp(30px, 4vw, 60px)); }

/* Gallery: the light panel instead of the pattern. */
.hb-cp > .hb-cp__gal { padding: clamp(40px, 4.5vw, 70px) clamp(16px, 2.5vw, 40px) clamp(36px, 4vw, 56px) !important; border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); }
.hb-cp__gal::before { content: none; }

@media (max-width: 767px) {
	.hb-cp > .hb-cp__trust + .hb-cp__menus { margin-top: -50px; padding-top: 90px; }
}
.hb-cp > .hb-cp__menus { padding-bottom: 20px; }
.hb-cp > .hb-cp__menus + .hb-cp__gal { margin-top: 30px; }

/* Catering pages: the same content width as the home page (1326px). */
.hb-cp { --hb-page-pad: max(24px, calc((100% - 1326px) / 2)); }

/* Business: the home page filter (two dropdowns) with a button to the quote form. */
.hb-cp__filter { grid-template-columns: 1fr 1fr auto; max-width: 1100px; margin-top: 40px; }
.hb-cp__filter .hb-dd:nth-child(2) .hb-dd__btn { border-radius: 0; }
.hb-cp__filter-go { min-height: 87px; padding-inline: 40px; border-radius: 0; border-start-end-radius: 20px; border-end-end-radius: 20px; font-size: clamp(18px, 1.5vw, 22px); }

/* Business cards: two by two, bigger, all buttons green. */
.hb-cp__bands--plain .hb-cp__bands-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.hb-cp__bands--plain .hb-cp__band { min-height: 330px; padding: clamp(30px, 3vw, 44px); }
.hb-cp__bands--plain .hb-cp__band-range { font-size: clamp(32px, 3vw, 44px); }
.hb-cp__bands--plain .hb-cp__band h3 { font-size: 20px; }
.hb-cp__bands--plain .hb-cp__band-text { max-width: 520px; font-size: 17px; }
.hb-cp__bands--plain .hb-cp__band-bg img { opacity: .5; }
.hb-cp__bands--plain .hb-cp__band .hb-cp__actions { flex-direction: row; align-items: center; gap: 22px; text-align: start; }
.hb-cp__bands--plain .hb-cp__band .hb-cp__btn-main { width: auto; min-width: 250px; background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-cp__bands--plain .hb-cp__band .hb-cp__btn-main:hover { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); color: var(--hb-white); }

/* Why companies: the home page block, inside the page width. */
.hb-cp > .hb-cp__why { margin: clamp(44px, 5vw, 80px) 0 0; padding-inline: clamp(16px, 2.5vw, 36px) !important; }

/* Gallery: full width panel, the grid as wide as on the home page. */
.hb-cp > .hb-cp__gal { max-width: none; padding-inline: var(--hb-page-pad) !important; }

@media (max-width: 767px) {
	.hb-cp__filter { grid-template-columns: 1fr; }
	.hb-cp__filter .hb-dd:nth-child(2) .hb-dd__btn { border-radius: 0 !important; }
	.hb-cp__filter-go { min-height: 64px; border-radius: 0 0 18px 18px; }
	.hb-cp__bands--plain .hb-cp__bands-list { grid-template-columns: 1fr; }
	.hb-cp__bands--plain .hb-cp__band .hb-cp__actions { flex-direction: column; align-items: stretch; text-align: center; }
	.hb-cp__bands--plain .hb-cp__band .hb-cp__btn-main { width: 100%; min-width: 0; }
	.hb-cp { --hb-page-pad: 16px; }
}
@media (min-width: 768px) { .hb-cp > .hb-faqp__cta { margin-inline: var(--hb-page-pad); } }

/* ---- One rhythm for the catering pages ------------------------------------------------- */
/* Section titles: one size everywhere (the home page size). */
.hb-about__h2 { font-size: clamp(32px, 4.167vw, 60px); line-height: 1.1667; }
/* Leaves float above the sections, below the header. */
.hb-side-leaves { z-index: 3; }
.hb-cp { --cp-gap: clamp(44px, 5vw, 72px); }
.hb-cp.hb-contact { padding-bottom: var(--cp-gap); }
.hb-cp.hb-contact > .hb-cp__why,
.hb-cp.hb-contact > .hb-cp__gal,
.hb-cp.hb-contact > .hb-cp__menus,
.hb-cp.hb-contact > .hb-cp__trust,
.hb-cp.hb-contact > .hb-cp__cmp,
.hb-cp.hb-contact > .hb-faqp__cta { margin-top: var(--cp-gap); }
.hb-cp.hb-contact > .hb-cp__events + .hb-cp__bands { margin-top: var(--cp-gap); }
/* Two panels in a row: 15px, as on the home page. */
.hb-cp.hb-contact > .hb-cp__why + .hb-cp__trust,
.hb-cp.hb-contact > .hb-cp__gal + .hb-cp__trust,
.hb-cp.hb-contact > .hb-cp__cmp + .hb-cp__steps,
.hb-cp.hb-contact > .hb-cp__steps + .hb-cp__menus { margin-top: 15px; }
/* Menus rise out of the clients strip: the title sits one gap below its edge. */
.hb-cp.hb-contact > .hb-cp__trust + .hb-cp__menus { margin-top: -110px; padding-top: calc(110px + var(--cp-gap)); }
.hb-cp.hb-contact > .hb-cp__menus { padding-bottom: 0; }
/* Questions: the same gap above and below. */
.hb-cp.hb-contact > .hb-cp__faq { margin-top: var(--cp-gap); padding-block: 0; }
.hb-cp.hb-contact > .hb-cp__trust + .hb-cp__faq { margin-top: 0; }
.hb-cp.hb-contact > .hb-cp__faq + .hb-faqp__cta { margin-top: var(--cp-gap); }

/* Filter: dropdowns rounded on both ends, a separate rounded dark pink button. */
.hb-cp__filter { gap: 4px; }
.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__filter-go { margin-inline-start: 10px; border-radius: 20px; background: var(--hb-cat-count); border-color: var(--hb-cat-count); color: var(--hb-white); }
.hb-cp__filter-go:hover { background: #a3877d; border-color: #a3877d; color: var(--hb-white); }

/* Guest-count cards (both pages): four in a row, one size for the amount, bigger green buttons. */
.hb-cp__bands .hb-cp__bands-list, .hb-cp__bands--plain .hb-cp__bands-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.hb-cp__bands--plain .hb-cp__band { min-height: 0; padding: 30px 26px 26px; }
.hb-cp__bands .hb-cp__band .hb-cp__band-range { margin: 0 0 6px; font-size: clamp(21px, 1.7vw, 25px); font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.hb-cp__bands .hb-cp__band h3 { font-size: 17px; }
.hb-cp__bands .hb-cp__band .hb-cp__band-text { font-size: 15px; }
.hb-cp__bands .hb-cp__band .hb-cp__actions { flex-direction: column; align-items: stretch; gap: 12px; text-align: center; }
.hb-cp__bands .hb-cp__band .hb-cp__btn-main { width: 100%; min-width: 0; min-height: 58px; font-size: 18px; background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-cp__bands .hb-cp__band .hb-cp__btn-main:hover { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); color: var(--hb-white); }
@media (max-width: 1023px) { .hb-cp__bands .hb-cp__bands-list, .hb-cp__bands--plain .hb-cp__bands-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.hb-cp__bands .hb-cp__bands-list, .hb-cp__bands--plain .hb-cp__bands-list { grid-template-columns: 1fr; }
	.hb-cp__filter-go { margin: 6px 0 0; border-radius: 18px; }
	.hb-cp__filter .hb-dd:nth-child(2) .hb-dd__btn { border-radius: 0 0 18px 18px !important; }
}

/* Trays order form (/menu/): home page width, no white sheet, pink category headers, more air. */
.hb-om { --hb-page-pad: max(24px, calc((100% - 1326px) / 2)); }
.hb-om__jump { flex: 0 0 230px; }
.hb-om__jump .hb-dd__btn { min-height: 42px; justify-content: space-between; padding: 0 18px; border-radius: 999px !important; background: var(--hb-white); font: 700 15px var(--hb-font); }
.hb-om__jump .hb-dd__btn:hover, .hb-om__jump.is-open .hb-dd__btn { background: var(--hb-white); box-shadow: 0 0 0 2px rgba(141, 162, 139, .35); }
.hb-om__jump .hb-dd__list { max-height: 60vh; overflow-y: auto; }
.hb-om__list { gap: clamp(36px, 4vw, 56px); max-width: none; margin-top: 18px; padding: 0 !important; border-radius: 0; background: none; }
.hb-om__cat { overflow: visible; border: 0; border-radius: 0; background: none; }
.hb-om__cat-head { padding: 18px 26px; border-radius: 20px; background: var(--hb-rose); color: var(--hb-ink-warm); }
.hb-om__cat-head h2 { font-size: clamp(22px, 2vw, 30px); }
.hb-om__cat-head p { color: rgba(53, 43, 36, .7); }
.hb-om__cols { margin-top: 6px; padding: 14px 26px; background: none; border-bottom: 1px solid rgba(53, 43, 36, .12); }
.hb-om__row { padding: 20px 26px; border-top: 0; border-bottom: 1px solid rgba(53, 43, 36, .08); border-radius: 16px; }
.hb-om__row:hover { background: rgba(249, 244, 240, .7); }
.hb-om__row.is-picked { background: rgba(229, 206, 199, .5); }
.hb-om__desc { font-size: 15.5px; line-height: 1.65; }
@media (min-width: 1101px) {
	.hb-om__cols, .hb-om__row { grid-template-columns: 34px 104px minmax(190px, 1.05fr) minmax(0, 2fr) 96px 132px minmax(140px, .75fr); gap: 22px; }
	.hb-om__img { width: 104px; height: 104px; }
	.hb-om.is-compact .hb-om__cols, .hb-om.is-compact .hb-om__row { grid-template-columns: 34px minmax(240px, 1.6fr) 96px 132px minmax(140px, .9fr); }
}
@media (max-width: 1100px) { .hb-om__row, .hb-om.is-compact .hb-om__row { padding: 16px; } }
@media (max-width: 767px) {
	.hb-om__jump { flex: 1 1 100%; }
	.hb-om__cat-head { padding: 14px 18px; border-radius: 16px; }
}

/* Trays order form: quantity with + / -, the menu on a light panel, leaves behind it. */
.hb-om__stepper { gap: 4px; padding: 3px; border-color: rgba(53, 43, 36, .12); }
.hb-om__stepper .hb-stepper__btn { width: 36px; height: 36px; }
.hb-om__stepper .hb-om__qty { width: 42px; min-height: 36px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-weight: 700; }
.hb-om__stepper .hb-om__qty:focus { border: 0; box-shadow: none; }
.hb-om__row.is-picked .hb-om__stepper { border-color: var(--hb-cat-count); }
.hb-om.hb-contact > .hb-om__list { padding-block: clamp(26px, 3vw, 44px) !important; border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); }
.hb-om__row:hover { background: rgba(255, 255, 255, .6); }
body:has([data-hb-om]) .hb-side-leaves { z-index: 0; }
@media (max-width: 1100px) {
	.hb-om__stepper { grid-area: qty; align-self: center; }
	.hb-om__qty { width: 42px; }
}

/* Guest-count cards: wider (edge to edge of the page) and taller, with more air inside. */
.hb-cp__bands--plain .hb-cp__bands-list { gap: 12px; }
@media (min-width: 1100px) { .hb-cp__bands--plain .hb-cp__bands-list { margin-inline: -32px; } }
.hb-cp__bands--plain .hb-cp__band { min-height: 470px; padding: 40px 32px 32px; }
.hb-cp__bands--plain .hb-cp__band .hb-cp__band-range { margin-bottom: 12px; font-size: clamp(22px, 1.8vw, 27px); }
.hb-cp__bands--plain .hb-cp__band h3 { font-size: 19px; line-height: 1.35; }
.hb-cp__bands--plain .hb-cp__band .hb-cp__band-text { margin-top: 12px; font-size: 16px; line-height: 1.6; }
.hb-cp__bands--plain .hb-cp__band .hb-cp__actions { padding-top: 30px; }
@media (max-width: 1023px) { .hb-cp__bands--plain .hb-cp__bands-list { margin-inline: 0; } .hb-cp__bands--plain .hb-cp__band { min-height: 400px; } }
@media (max-width: 767px) { .hb-cp__bands--plain .hb-cp__band { min-height: 0; padding: 30px 24px 26px; } }

/* Trays order form: each category is its own light panel, the pink header flush on top, a gap between categories. */
.hb-om.hb-contact > .hb-om__list { gap: clamp(22px, 2.6vw, 36px); padding-block: 0 !important; border-radius: 0; background: none; }
.hb-om__cat { overflow: hidden; border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); padding-bottom: 12px; }
.hb-om__cat-head { border-radius: 0; }
.hb-om__cols { margin-top: 0; }
.hb-om__rows { padding-inline: 10px; }
.hb-om__rows .hb-om__row:last-child { border-bottom: 0; }
/* Size toggle green, diet tags soft pink. */
.hb-seg input:checked + span { background: var(--hb-sage); color: var(--hb-white); }
.hb-om__tags em { background: #f2e2dd; color: #9a776d; }

/* Guest-count cards (14.10): a little wider, and the photo shows through more. */
@media (min-width: 1100px) { .hb-cp__bands--plain .hb-cp__bands-list { margin-inline: calc(-1 * min(90px, max(32px, (100vw - 1326px) / 2 - 16px))); } }
.hb-cp__band { background: rgba(29, 24, 20, .2); -webkit-backdrop-filter: none; backdrop-filter: none; }
.hb-cp__band .hb-cp__band-bg img, .hb-cp__bands--plain .hb-cp__band-bg img { opacity: .78; }
.hb-cp__band:hover .hb-cp__band-bg img { opacity: .88; }
.hb-cp__band::after { background: linear-gradient(180deg, rgba(29, 24, 20, .72) 0%, rgba(29, 24, 20, .42) 50%, rgba(29, 24, 20, .8) 100%); }

/* Hospitality trays category (shop-trays.php, spec 05) ------------------------------------------ */
/* Page width and section rhythm come from .hb-cp (the catering pages). */
.hb-shop__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); align-items: center; gap: clamp(24px, 4vw, 64px); padding-block: clamp(20px, 3vw, 40px) clamp(22px, 2.6vw, 34px); }
.hb-shop__crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 0; list-style: none; font-size: 15px; color: rgba(53, 43, 36, .7); }
.hb-shop__crumbs li + li::before { content: "›"; margin-inline-end: 6px; opacity: .6; }
.hb-shop__crumbs a { text-decoration: none; }
.hb-shop__crumbs a:hover { text-decoration: underline; }
.hb-shop__crumbs [aria-current] { color: var(--hb-ink-warm); font-weight: 700; }
.hb-shop__title { margin: 0; font-weight: 700; font-size: clamp(40px, 5vw, 72px); line-height: 1.02; color: var(--hb-ink-warm); }
.hb-shop__intro { max-width: 560px; margin: 16px 0 0; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.6; color: rgba(53, 43, 36, .8); }
.hb-shop__banner { overflow: hidden; aspect-ratio: 16 / 8; border-radius: 28px; background: var(--hb-card); }
.hb-shop__banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hb-shop__chips { display: flex; gap: 10px; overflow-x: auto; margin: 0 0 28px; padding: 4px 0 6px; scrollbar-width: none; }
.hb-shop__chips::-webkit-scrollbar { display: none; }
.hb-shop__chips .hb-chip { height: 46px; padding: 0 20px; font-size: 16px; text-decoration: none; }
.hb-shop__body { display: grid; grid-template-columns: 270px minmax(0, 1fr); align-items: start; gap: 28px; }

/* Filters */
.hb-shop__filters { position: sticky; top: calc(var(--hb-header-h) + 30px); max-height: calc(100vh - var(--hb-header-h) - 50px); overflow-y: auto; padding: 22px 22px 8px; border-radius: 24px; background: var(--hb-white); scrollbar-width: thin; }
.hb-shop__filters-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.hb-shop__filters-head h2 { margin: 0; font-weight: 700; font-size: 22px; color: var(--hb-ink-warm); }
.hb-shop__reset { font-size: 14px; text-decoration: underline; color: rgba(53, 43, 36, .75); }
.hb-shop__close, .hb-shop__filters-foot { display: none; }
.hb-shop__fs { margin: 0; padding: 18px 0; border: 0; border-top: 1px solid rgba(53, 43, 36, .09); }
.hb-shop__fs[hidden] { display: none; }
.hb-shop__fs legend { float: right; width: 100%; margin-bottom: 12px; padding: 0; font-weight: 700; font-size: 16px; color: var(--hb-ink-warm); }
.hb-shop__milk { display: flex; width: 100%; }
.hb-shop__milk label { flex: 1; }
.hb-shop__milk span { min-width: 0; padding: 8px 6px; font-size: 14px; }
.hb-shop__check { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: 16px; color: var(--hb-ink-warm); cursor: pointer; }
.hb-shop__check input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--hb-sage); cursor: pointer; }
.hb-shop__check span { flex: 1; }
.hb-shop__check em { min-width: 28px; padding: 1px 8px; border-radius: 999px; background: var(--hb-filter-bg); font-style: normal; font-size: 13px; text-align: center; color: rgba(53, 43, 36, .7); }
.hb-shop__check.is-zero:not(:has(input:checked)) { opacity: .45; }
.hb-range { position: relative; height: 28px; }
.hb-range__track { position: absolute; inset-inline: 0; top: 12px; height: 4px; border-radius: 4px; background: var(--hb-cream); }
.hb-range__fill { position: absolute; top: 0; bottom: 0; border-radius: 4px; background: var(--hb-sage); }
.hb-range input { position: absolute; inset: 0; width: 100%; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; direction: ltr; }
.hb-range input::-webkit-slider-thumb { width: 22px; height: 22px; border: 3px solid var(--hb-white); border-radius: 50%; background: var(--hb-sage); box-shadow: 0 1px 4px rgba(0, 0, 0, .25); pointer-events: auto; cursor: grab; -webkit-appearance: none; }
.hb-range input::-moz-range-thumb { width: 18px; height: 18px; border: 3px solid var(--hb-white); border-radius: 50%; background: var(--hb-sage); box-shadow: 0 1px 4px rgba(0, 0, 0, .25); pointer-events: auto; cursor: grab; }
.hb-range input::-moz-range-track { background: none; }
.hb-range input:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
.hb-range__out { display: flex; justify-content: space-between; margin: 8px 0 0; font-size: 14px; color: rgba(53, 43, 36, .8); }
.hb-range__out span { display: none; }

/* Bar: count, active tags, sort */
.hb-shop__bar { display: flex; align-items: center; gap: 16px; min-height: 54px; margin-bottom: 14px; }
.hb-shop__open { display: none; }
.hb-shop__count { margin: 0; font-size: 18px; color: var(--hb-ink-warm); }
.hb-shop__count strong { font-size: 22px; }
.hb-shop__sort { margin-inline-start: auto; width: auto; min-width: 250px; }
.hb-shop__sort .hb-dd__btn { height: 50px; padding: 0 18px; border-radius: 999px; background: var(--hb-white); font-size: 16px; }
.hb-shop__sort-label { color: rgba(53, 43, 36, .65); margin-inline-end: 6px; }
.hb-shop__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: -2px 0 18px; }
.hb-shop__tags[hidden] { display: none; }
.hb-shop__tag { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px 0 14px; border-radius: 999px; background: var(--hb-white); font-weight: 700; font-size: 14px; color: var(--hb-ink-warm); transition: background-color .2s var(--ease-out); }
.hb-shop__tag i { font-style: normal; font-size: 18px; line-height: 1; opacity: .6; }
.hb-shop__tag:hover { background: var(--hb-rose); }
.hb-shop__tag--guests { background: var(--hb-sage); color: var(--hb-white); }
.hb-shop__tag--guests:hover { background: var(--hb-sage-dark); }

/* Product cards */
.hb-shop__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.hb-pcard { display: flex; flex-direction: column; overflow: hidden; border-radius: 24px; background: var(--hb-white); transition: transform .35s var(--hb-ease); }
.hb-pcard[hidden], .hb-pcard.is-more { display: none; }
.hb-pcard:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(53, 43, 36, .1); }
.hb-pcard__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--hb-filter-bg); }
.hb-pcard__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--hb-ease); }
.hb-pcard:hover .hb-pcard__media img { transform: scale(1.04); }
.hb-pcard__flag { position: absolute; top: 14px; inset-inline-start: 14px; padding: 5px 12px; border-radius: 999px; background: var(--hb-gold); font-weight: 700; font-size: 13px; color: var(--hb-ink-warm); }
.hb-pcard__flag--out { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-pcard.is-out .hb-pcard__media img { filter: grayscale(.7); opacity: .7; }
.hb-pcard__body { display: flex; flex: 1; flex-direction: column; padding: 16px 18px 18px; }
.hb-pcard__badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.hb-pcard__b { padding: 2px 9px; border-radius: 999px; background: var(--hb-filter-bg); font-weight: 700; font-size: 12px; color: rgba(53, 43, 36, .8); }
.hb-pcard__b--parve { background: #e6ede5; color: var(--hb-sage-dark); }
.hb-pcard__b--dairy { background: #e9f0f7; color: #4f6a86; }
.hb-pcard__b--vegan { background: #edf3dc; color: #5f7a33; }
.hb-pcard__b--gf { background: #f8ecd6; color: #94621a; }
.hb-pcard__name { margin: 0; font-weight: 700; font-size: 19px; line-height: 1.3; color: var(--hb-ink-warm); }
.hb-pcard__name a { text-decoration: none; }
.hb-pcard__name a::after { content: ""; position: absolute; inset: 0; }
.hb-pcard { position: relative; }
.hb-pcard__name a:focus-visible { outline: none; }
.hb-pcard:has(.hb-pcard__name a:focus-visible) { outline: 2px solid var(--hb-sage); outline-offset: 2px; }
.hb-pcard__desc { display: -webkit-box; overflow: hidden; margin: 6px 0 0; font-size: 14.5px; line-height: 1.5; color: rgba(53, 43, 36, .72); -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.hb-pcard__serves { margin: 8px 0 0; font-size: 13.5px; color: var(--hb-sage-dark); font-weight: 700; }
.hb-pcard__rec { margin: 4px 0 0; padding: 4px 10px; align-self: flex-start; border-radius: 8px; background: var(--hb-filter-bg); font-size: 13px; font-weight: 700; color: var(--hb-ink-warm); }
.hb-pcard__rec[hidden] { display: none; }
.hb-pcard__size { position: relative; z-index: 1; align-self: flex-start; margin-top: 12px; }
.hb-pcard__foot { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 16px; }
.hb-pcard__price { margin: 0; font-weight: 700; font-size: 22px; color: var(--hb-ink-warm); }
.hb-pcard__add { min-width: 0; min-height: 46px; padding: 0 20px; font-size: 16px; }
.hb-pcard__add:disabled { background: var(--hb-cream); color: rgba(53, 43, 36, .6); cursor: not-allowed; }
.hb-pcard.is-added .hb-pcard__add { background: var(--hb-sage-dark); }
.hb-shop__empty { padding: 40px 28px; border-radius: 24px; background: var(--hb-white); text-align: center; }
.hb-shop__empty[hidden] { display: none; }
.hb-shop__empty p { margin: 0 0 20px; font-size: 18px; color: var(--hb-ink-warm); }
.hb-shop__empty .hb-btn { margin: 4px; min-width: 200px; }
.hb-shop__more { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 34px; }
.hb-shop__shown { margin: 0; font-size: 15px; color: rgba(53, 43, 36, .7); }
.hb-shop__shown:empty { display: none; }
.hb-shop__more .hb-btn[hidden] { display: none; }

/* Under the grid: SEO text, FAQ, complementary categories */
.hb-shop__seo { display: grid; gap: 50px; margin-top: 80px; padding-top: 60px; border-top: 1px solid rgba(53, 43, 36, .1); }
.hb-shop__h2 { margin: 0 0 22px; font-weight: 700; font-size: clamp(28px, 3vw, 40px); line-height: 1.15; color: var(--hb-ink-warm); }
.hb-shop__about { max-width: 900px; }
.hb-shop__about-text { max-height: 13.5em; overflow: hidden; color: var(--hb-ink-warm); -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent); }
.hb-shop__about.is-open .hb-shop__about-text { max-height: none; -webkit-mask-image: none; mask-image: none; }
.hb-shop__about-more { margin-top: 10px; font-weight: 700; font-size: 16px; text-decoration: underline; color: var(--hb-ink-warm); }
.hb-shop__faq { display: grid; gap: 10px; max-width: 900px; }
.hb-shop__faq .hb-faq__item { background: var(--hb-white); }
.hb-shop__faq .hb-faq__item[open] { background: var(--hb-rose); }
.hb-shop__faq .hb-faq__answer p { margin: 0; }
.hb-shop__also ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.hb-shop__also a { display: flex; align-items: center; gap: 14px; padding: 12px; border-radius: 20px; background: var(--hb-white); text-decoration: none; color: var(--hb-ink-warm); transition: background-color .2s var(--ease-out); }
.hb-shop__also a:hover { background: var(--hb-rose); }
.hb-shop__also img { flex: none; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.hb-shop__also strong { display: block; font-size: 17px; }
.hb-shop__also small { font-size: 14px; color: rgba(53, 43, 36, .7); }

@media (max-width: 1240px) { .hb-shop__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1023px) {
	.hb-shop__head { grid-template-columns: 1fr; }
	.hb-shop__banner { aspect-ratio: 16 / 7; }
	.hb-shop__body { grid-template-columns: 1fr; }
	/* Filters as a bottom sheet */
	.hb-shop__filters { position: fixed; inset: auto 0 0 0; z-index: 1000; top: auto; max-height: 86vh; padding: 18px 20px 0; border-radius: 26px 26px 0 0; box-shadow: 0 -10px 40px rgba(0, 0, 0, .2); transform: translateY(105%); visibility: hidden; transition: transform .35s var(--hb-ease), visibility 0s .35s var(--ease-out); }
	.hb-shop__filters.is-open { transform: none; visibility: visible; transition: transform .35s var(--hb-ease); }
	html.hb-shop-lock { overflow: hidden; }
	.hb-shop__filters.is-open { box-shadow: 0 0 0 100vmax rgba(29, 24, 20, .45); }
	.hb-shop__close { display: block; width: 36px; height: 36px; border-radius: 50%; background: var(--hb-filter-bg); position: relative; }
	.hb-shop__close::before, .hb-shop__close::after { content: ""; position: absolute; top: 17px; left: 10px; width: 16px; height: 2px; background: var(--hb-ink-warm); transform: rotate(45deg); }
	.hb-shop__close::after { transform: rotate(-45deg); }
	.hb-shop__filters-head h2 { margin-inline-end: auto; }
	.hb-shop__filters-foot { display: block; position: sticky; bottom: 0; margin: 0 -20px; padding: 14px 20px 18px; background: var(--hb-white); box-shadow: 0 -6px 16px rgba(0, 0, 0, .05); }
	.hb-shop__filters-foot .hb-btn { width: 100%; min-width: 0; }
	.hb-shop__open { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 18px; border-radius: 999px; background: var(--hb-ink-warm); font-weight: 700; font-size: 16px; color: var(--hb-white); }
	.hb-shop__open-ico { width: 18px; height: 14px; background: linear-gradient(currentColor 0 0) top / 100% 2px no-repeat, linear-gradient(currentColor 0 0) center / 70% 2px no-repeat, linear-gradient(currentColor 0 0) bottom / 40% 2px no-repeat; }
	.hb-shop__open em { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--hb-rose); font-style: normal; font-size: 13px; line-height: 22px; text-align: center; color: var(--hb-ink-warm); }
	.hb-shop__open em[hidden] { display: none; }
}
@media (max-width: 767px) {
	.hb-shop { padding-inline: 16px !important; padding-bottom: 60px; }
	.hb-shop__head { gap: 18px; padding-top: 10px; }
	.hb-shop__crumbs ol { font-size: 14px; margin-bottom: 8px; }
	.hb-shop__intro { margin-top: 10px; font-size: 16px; }
	.hb-shop__banner { border-radius: 20px; }
	.hb-shop__chips { margin: 0 -16px 18px; padding-inline: 16px; }
	.hb-shop__chips .hb-chip { height: 40px; padding: 0 16px; font-size: 15px; }
	.hb-shop__bar { flex-wrap: wrap; gap: 10px; }
	.hb-shop__count { order: 3; width: 100%; font-size: 16px; }
	.hb-shop__sort { min-width: 0; flex: 1; }
	.hb-shop__sort .hb-dd__btn { height: 46px; padding: 0 14px; font-size: 15px; }
	.hb-shop__sort-label { display: none; }
	.hb-shop__grid { gap: 10px; }
	.hb-pcard { border-radius: 18px; }
	.hb-pcard__body { padding: 10px 11px 12px; }
	.hb-pcard__b { font-size: 11px; padding: 1px 7px; }
	.hb-pcard__b--vegan, .hb-pcard__b--gf { display: none; }
	.hb-pcard__name { font-size: 15.5px; }
	.hb-pcard__desc { display: none; }
	.hb-pcard__serves { font-size: 12px; margin-top: 4px; }
	.hb-pcard__rec { font-size: 11.5px; padding: 3px 7px; }
	.hb-pcard__size { margin-top: 8px; }
	.hb-pcard__size span { min-width: 38px; padding: 4px 7px; font-size: 11.5px; }
	.hb-pcard__foot { flex-direction: column; align-items: stretch; gap: 8px; padding-top: 10px; }
	.hb-pcard__price { font-size: 18px; }
	.hb-pcard__add { min-height: 40px; padding: 0 10px; font-size: 14.5px; }
	.hb-pcard__flag { top: 8px; inset-inline-start: 8px; padding: 3px 9px; font-size: 11.5px; }
	.hb-shop__more .hb-btn { min-width: 0; width: 100%; }
	.hb-shop__seo { gap: 36px; margin-top: 50px; padding-top: 40px; }
}
.hb-range, .hb-range__out { direction: ltr; }
.hb-shop__fs legend { float: none; display: block; }
.hb-shop__fs > legend + * { margin-top: 0; }
.hb-shop__sort .hb-dd__btn { min-height: 50px; border-radius: 999px !important; justify-content: space-between; gap: 6px; font-weight: 500; }
.hb-shop__sort .hb-dd__value { margin-inline-end: auto; font-weight: 700; }
.hb-shop__sort .hb-dd__list { inset-inline: 0; font-size: 16px; }
@media (max-width: 767px) { .hb-shop__sort .hb-dd__btn { min-height: 46px; } }

/* Hospitality trays category: the same frame as the catering pages (slim hero, page width, section rhythm). */
.hb-shop__hero .hb-shop__crumbs ol { justify-content: center; margin-bottom: 10px; color: rgba(255, 255, 255, .85); }
.hb-shop__hero .hb-shop__crumbs [aria-current] { color: var(--hb-white); }
.hb-shop__hero .hb-shop__crumbs a { color: inherit; }
.hb-cp.hb-contact > .hb-shop__panel { padding-top: clamp(90px, 9vw, 130px); }
.hb-shop__chips { justify-content: center; flex-wrap: wrap; margin-bottom: 34px; }
.hb-shop__chips .hb-chip { border-color: transparent; }
.hb-shop__chips .hb-chip.is-active { background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-pcard { border-radius: 26px; }
.hb-pcard__media { aspect-ratio: 4 / 3.1; }
.hb-pcard__body { padding: 18px 20px 20px; }
.hb-cp.hb-contact > .hb-shop__cats { margin: var(--cp-gap) 0 0; }
.hb-cp.hb-contact > .hb-shop__seo { margin-top: var(--cp-gap); padding-top: 0; border-top: 0; }
@media (max-width: 767px) { .hb-shop__chips { flex-wrap: nowrap; justify-content: flex-start; } }
.hb-shop__cats .hb-cats__grid { display: flex; flex-wrap: wrap; justify-content: center; }
.hb-shop__cats .hb-cats__grid > li { flex: 0 1 calc(25% - 11px); min-width: 0; }
@media (max-width: 1100px) { .hb-shop__cats .hb-cats__grid > li { flex-basis: calc(50% - 7px); } }
/* A still hero photo (WordPress image with width/height) always fills the hero. */
.hb-about__hero .hb-hero__media img.hb-hero__poster { width: 100%; height: 100% !important; max-width: none; object-fit: cover; }

/* Trays filter: categories as tick boxes, and the whole filter visible without its own scroll. */
@media (min-width: 1024px) { .hb-shop__filters { position: static; max-height: none; overflow: visible; } }
.hb-shop__check--link { text-decoration: none; }
.hb-shop__check--link i { flex: none; width: 20px; height: 20px; border: 2px solid rgba(53, 43, 36, .35); border-radius: 5px; background: var(--hb-white); }
.hb-shop__check--link i { position: relative; }
.hb-shop__check--link.is-on i { border-color: var(--hb-sage); background: var(--hb-sage); }
.hb-shop__check--link.is-on i::after { content: ""; position: absolute; inset: 3px; background: var(--hb-white); -webkit-mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; }
.hb-shop__check--link:hover span { text-decoration: underline; }
.hb-shop__check--link.is-on span { font-weight: 700; }
.hb-cp.hb-contact > .hb-shop__panel { padding-top: clamp(100px, 9.5vw, 140px); }

/* Single product (product-page.php): tray and package -------------------------------------------- */
.hb-prod__crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 14px 0 0; list-style: none; font-size: 15px; color: rgba(53, 43, 36, .7); }
.hb-prod__crumbs li + li::before { content: "›"; margin-inline-end: 6px; opacity: .6; }
.hb-prod__crumbs a { text-decoration: none; }
.hb-prod__crumbs a:hover { text-decoration: underline; }
.hb-prod__crumbs [aria-current] { color: var(--hb-ink-warm); font-weight: 700; }
.hb-prod__top { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(24px, 3.5vw, 56px); align-items: start; margin-top: 22px; }
.hb-prod__gallery { position: sticky; top: calc(var(--hb-header-h, 100px) + 24px); }
.hb-prod__main { position: relative; overflow: hidden; aspect-ratio: 1 / .86; border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); }
.hb-prod__main img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hb-prod__flag { position: absolute; top: 18px; inset-inline-start: 18px; padding: 6px 14px; border-radius: 999px; background: var(--hb-gold); font-weight: 700; font-size: 14px; color: var(--hb-ink-warm); }
.hb-prod__thumbs { display: flex; gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.hb-prod__thumb { display: block; width: 84px; height: 84px; overflow: hidden; padding: 0; border: 2px solid transparent; border-radius: 16px; cursor: pointer; opacity: .75; transition: opacity .2s var(--ease-out), border-color .2s var(--ease-out); }
.hb-prod__thumb img { width: 100%; height: 100%; object-fit: cover; }
.hb-prod__thumb.is-on, .hb-prod__thumb:hover { border-color: var(--hb-sage); opacity: 1; }
.hb-prod__info { padding: clamp(26px, 3vw, 42px); border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); color: var(--hb-ink-warm); }
.hb-prod__badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.hb-pcard__b--kosher { background: #f3e6c9; color: #8a6514; }
.hb-pcard__b--pkg { background: var(--hb-rose); color: var(--hb-ink-warm); }
.hb-prod__title { margin: 0; font-weight: 700; font-size: clamp(32px, 3.4vw, 50px); line-height: 1.1; }
.hb-prod__lead { margin: 12px 0 0; font-size: 18px; line-height: 1.6; color: rgba(53, 43, 36, .8); }
.hb-prod__facts { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0 0; padding: 0; list-style: none; font-weight: 700; font-size: 16px; color: var(--hb-sage-dark); }
.hb-prod__facts li { display: inline-flex; align-items: center; gap: 8px; }
.hb-prod__facts .hb-ico { width: 20px; height: 20px; color: var(--hb-sage-dark); }
.hb-prod__qty-label { display: block; margin-bottom: 8px; font-weight: 700; font-size: 15px; }
.hb-prod__size { margin-top: 22px; }
.hb-prod__size .hb-seg span { padding: 9px 16px; font-size: 15px; }
.hb-prod__price { margin: 22px 0 0; font-weight: 700; font-size: clamp(34px, 3vw, 44px); line-height: 1; color: var(--hb-ink-warm); }
.hb-prod__price small { font-weight: 500; font-size: 17px; color: rgba(53, 43, 36, .65); }
.hb-prod__buy { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(53, 43, 36, .1); }
.hb-prod__buy .hb-prod__qty-label { flex: 1 0 100%; margin: 0; }
.hb-prod__stepper { border-color: rgba(53, 43, 36, .12); }
.hb-prod__total { margin: 0; font-size: 17px; color: rgba(53, 43, 36, .75); }
.hb-prod__total strong { font-size: 22px; color: var(--hb-ink-warm); }
.hb-prod__note-field { display: grid; gap: 6px; margin-top: 16px; font-size: 14.5px; color: rgba(53, 43, 36, .75); }
.hb-prod__note-field input { min-height: 46px; padding: 0 14px; border: 1px solid rgba(53, 43, 36, .14); border-radius: 12px; background: var(--hb-white); font: 500 15px var(--hb-font); color: var(--hb-ink-warm); }
.hb-prod__note-field input:focus { outline: none; border-color: var(--hb-sage); box-shadow: 0 0 0 3px rgba(141, 162, 139, .2); }
.hb-prod__ctas { display: flex; gap: 12px; margin-top: 24px; }
.hb-prod__ctas .hb-btn { flex: 1 1 0; min-height: 60px; font-size: 18px; }
.hb-prod__add { background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-prod__add:hover { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); color: var(--hb-white); }
.hb-prod__add.is-added { background: var(--hb-sage-dark); }
.hb-prod__add.is-loading { opacity: .7; pointer-events: none; }
.hb-prod__add:disabled { background: var(--hb-cream); border-color: var(--hb-cream); color: rgba(53, 43, 36, .6); }
.hb-prod__alt { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); background: transparent; }
.hb-prod__alt:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-prod__added { margin: 12px 0 0; padding: 10px 14px; border-radius: 12px; background: #e6ede5; font-weight: 700; font-size: 15px; color: var(--hb-sage-dark); }
.hb-prod__added[hidden] { display: none; }
.hb-prod__trust { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid rgba(53, 43, 36, .1); list-style: none; font-size: 15px; }
.hb-prod__trust li { position: relative; padding-inline-start: 26px; }
.hb-prod__trust li::before { content: ""; position: absolute; top: 2px; inset-inline-start: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--hb-sage); }
.hb-prod__trust li::after { content: ""; position: absolute; top: 7px; inset-inline-start: 5px; width: 8px; height: 7px; background: var(--hb-white); -webkit-mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; }
/* Package: what is included. */
.hb-prod__incl { margin-top: 22px; padding: 20px 22px; border-radius: 20px; background: var(--hb-white); }
.hb-prod__incl h2 { margin: 0 0 10px; font-weight: 700; font-size: 19px; }
.hb-prod__incl ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.hb-prod__incl li { position: relative; padding-inline-start: 26px; font-size: 16.5px; }
.hb-prod__incl li::before { content: "✕"; position: absolute; inset-inline-start: 0; top: 0; font-weight: 700; color: var(--hb-gold); }
.hb-prod__note { margin: 12px 0 0; font-size: 14.5px; color: var(--hb-sage-dark); font-weight: 700; }
/* Details: description, ingredients, allergens. */
.hb-cp.hb-contact > .hb-prod__details { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 15px; margin-top: var(--cp-gap); }
.hb-prod__block { padding: clamp(24px, 2.6vw, 36px); border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); color: var(--hb-ink-warm); }
.hb-prod__block--wide { grid-column: 1 / -1; }
.hb-prod__block h2 { margin: 0 0 12px; font-weight: 700; font-size: 24px; }
.hb-prod__block p, .hb-prod__block li { font-size: 16.5px; line-height: 1.65; }
.hb-prod__block p { margin: 0 0 10px; }
.hb-prod__list { margin: 0; padding-inline-start: 20px; }
.hb-prod__ask { display: inline-block; margin-top: 6px; font-weight: 700; font-size: 15px; color: var(--hb-ink-warm); text-underline-offset: 4px; }
/* Related lists. */
.hb-cp.hb-contact > .hb-prod__related { margin-top: var(--cp-gap); }
.hb-prod__related .hb-about__h2 { margin-bottom: 30px; text-align: center; }
.hb-prod__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hb-prod__pkgs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.hb-prod__pkg { display: flex; flex-direction: column; overflow: hidden; height: 100%; border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); color: var(--hb-ink-warm); text-decoration: none; transition: transform .35s var(--hb-ease); }
.hb-prod__pkg:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(53, 43, 36, .1); }
.hb-prod__pkg-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.hb-prod__pkg-img img { width: 100%; height: 100%; object-fit: cover; }
.hb-prod__pkg-body { display: grid; gap: 4px; padding: 20px 22px 24px; }
.hb-prod__pkg-body strong { font-size: 22px; }
.hb-prod__pkg-body span { font-size: 15px; color: rgba(53, 43, 36, .7); }
.hb-prod__pkg-body em { font-style: normal; font-weight: 700; font-size: 20px; color: var(--hb-sage-dark); }
@media (max-width: 1100px) { .hb-prod__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1023px) {
	.hb-prod__top, .hb-cp.hb-contact > .hb-prod__details { grid-template-columns: 1fr; }
	.hb-prod__gallery { position: static; }
	.hb-prod__pkgs { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.hb-prod__ctas { flex-direction: column; }
	.hb-prod__thumb { width: 64px; height: 64px; }
}
.hb-prod__ctas .hb-btn { min-width: 0; padding-inline: 16px; }
.hb-prod__pkgs { display: flex; flex-wrap: wrap; justify-content: center; }
.hb-prod__pkgs > li { flex: 0 1 calc(33.333% - 11px); min-width: 0; }
@media (max-width: 1023px) { .hb-prod__pkgs > li { flex-basis: 100%; } }
/* Filter: each heading close to its options, more room between the filters. */
.hb-shop__fs { padding: 24px 0 22px; }
.hb-shop__fs legend { float: none; display: block; width: 100%; margin: 0 0 6px; padding: 0; }
.hb-shop__fs legend + * { margin-top: 0; }
.hb-shop__fs .hb-shop__check:first-of-type { padding-top: 2px; }
.hb-shop__fs { padding-top: 0; }
.hb-shop__fs legend { padding-top: 24px; margin-bottom: 8px; }
/* Filter: the chosen "dairy or parve" option in pink, so it is not confused with the green add-to-cart buttons. */
.hb-shop__milk input:checked + span { background: var(--hb-cat-count); color: var(--hb-white); }

/* Product page v2: one wide light panel with the pattern, the details on the right and the photo on the left. */
.hb-cp.hb-contact > .hb-prod__top { position: relative; isolation: isolate; overflow: hidden; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: clamp(28px, 4vw, 70px); margin-top: 18px; padding-block: clamp(30px, 3.6vw, 56px); border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); }
.hb-cp.hb-contact > .hb-prod__top::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/pattern.webp?v=1791725666") center top / 726px auto repeat; opacity: .08; mix-blend-mode: multiply; }
.hb-prod__info { padding: 0; border-radius: 0; background: none; }
.hb-prod__main { aspect-ratio: 1 / .92; box-shadow: 0 24px 50px rgba(53, 43, 36, .12); }
.hb-prod__title { font-size: clamp(30px, 3vw, 44px); }
.hb-prod__price { margin-top: 18px; font-size: clamp(24px, 2vw, 28px); }
.hb-prod__price small { font-size: 15px; }
.hb-prod__total strong { font-size: 19px; }
.hb-prod__incl { box-shadow: 0 1px 0 rgba(53, 43, 36, .04); }
.hb-prod__note-field input { background: var(--hb-white); }
/* Description, ingredients, allergens: an accordion. */
.hb-prod__acc { display: grid; gap: 8px; margin-top: 18px; }
.hb-prod__acc-item { border-radius: 16px; background: var(--hb-white); transition: background-color .2s var(--ease-out); }
.hb-prod__acc-item summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; font-weight: 700; font-size: 17px; color: var(--hb-ink-warm); cursor: pointer; list-style: none; }
.hb-prod__acc-item summary::-webkit-details-marker { display: none; }
.hb-prod__acc-item[open] { background: var(--hb-rose); }
.hb-prod__acc-body { padding: 0 18px 16px; font-size: 16px; line-height: 1.65; color: var(--hb-ink-warm); }
.hb-prod__acc-body p { margin: 0 0 8px; }
.hb-prod__acc-body ul { margin: 0; padding-inline-start: 20px; }
/* Related: "worth adding" on a pink panel, "similar" on the pattern. */
.hb-cp.hb-contact > .hb-prod__related--addons { padding-block: clamp(40px, 4.5vw, 70px); border-radius: var(--hb-radius-lg); background: var(--hb-rose); }
.hb-cp.hb-contact > .hb-prod__related--similar { position: relative; isolation: isolate; padding-block: clamp(30px, 3vw, 50px) 0; }
.hb-prod__related--similar::before { content: ""; position: absolute; inset: 0 calc(-1 * var(--hb-gutter, 13px)); z-index: -1; background: url("../img/pattern.webp?v=1791725666") center top / 726px auto repeat; opacity: .12; mix-blend-mode: multiply; -webkit-mask: linear-gradient(180deg, #000 60%, transparent); mask: linear-gradient(180deg, #000 60%, transparent); }
.hb-cp.hb-contact > .hb-prod__related--addons + .hb-prod__related--similar { margin-top: 15px; }
/* Card prices: smaller than the dish name (here and on the trays pages). */
.hb-pcard__price { font-size: 18px; }
.hb-pcard__name { font-size: 18px; }
@media (max-width: 1023px) { .hb-cp.hb-contact > .hb-prod__top { grid-template-columns: 1fr; } .hb-prod__gallery { order: -1; } }
.hb-prod__acc-item[open] .hb-faq__icon::after { transform: rotate(0); }
.hb-cp.hb-contact > .hb-prod__top { align-items: start; } .hb-prod__gallery { position: static; align-self: start; margin-top: 8px; }

/* Product page v3 */
/* Breadcrumbs on a strip in the panel colour, the same space above and below. */
.hb-cp.hb-contact > .hb-prod__crumbs { margin-top: 15px; padding-block: 16px; border-radius: 22px; background: var(--hb-filter-bg); }
.hb-prod__crumbs ol { padding: 0; }
.hb-cp.hb-contact > .hb-prod__crumbs + * + .hb-prod__top, .hb-cp.hb-contact > .hb-prod__crumbs + .hb-prod__top { margin-top: 15px; }
/* The photo stays in view while the details scroll (the panel must not clip, or sticky stops working). */
.hb-cp.hb-contact > .hb-prod__top { overflow: visible; }
.hb-cp.hb-contact > .hb-prod__top::before { border-radius: inherit; }
.hb-prod__gallery { position: sticky; top: calc(var(--hb-header-h) + 30px); }
/* Accordion body: animated by product.js. */
.hb-prod__acc-body { overflow: hidden; padding: 0; }
.hb-prod__acc-body > .hb-prose { padding: 0 18px 16px; }
.hb-prod__acc-item summary .hb-faq__icon::before, .hb-prod__acc-item summary .hb-faq__icon::after { transition: transform .4s cubic-bezier(.22, .8, .24, 1); }
/* "Worth adding": a brown panel. */
.hb-cp.hb-contact > .hb-prod__related--addons { position: relative; z-index: 1; padding-block: clamp(40px, 4vw, 60px); background: var(--hb-ink-warm); }
.hb-prod__related--addons .hb-about__h2 { margin-bottom: 26px; color: var(--hb-white); }
/* "Similar": the pattern starts under the brown panel, as if it comes out of it. */
.hb-prod__related--similar::before { top: -260px; -webkit-mask: linear-gradient(180deg, #000 70%, transparent); mask: linear-gradient(180deg, #000 70%, transparent); }
.hb-cp.hb-contact > .hb-prod__related--addons + .hb-prod__related--similar { padding-top: clamp(44px, 5vw, 72px); }
/* Cards: the name bigger, the price regular weight. */
.hb-pcard__name { font-size: 20px; }
.hb-pcard__price { font-weight: 500; }
/* The banner at the end of the product page: pink with a green button, the same gap above and below. */
.hb-prod > .hb-faqp__cta { background: var(--hb-rose); color: var(--hb-ink-warm); }
.hb-prod > .hb-faqp__cta .hb-faqp__cta-main { background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-prod > .hb-faqp__cta .hb-faqp__cta-main:hover { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); }
.hb-prod > .hb-faqp__cta .hb-faqp__cta-alt { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-prod > .hb-faqp__cta .hb-faqp__cta-alt:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cp.hb-prod.hb-contact { padding-bottom: calc(var(--cp-gap) - 15px); }
@media (max-width: 1023px) { .hb-prod__gallery { position: static; } }
/* Two panels in a row on the product page: 15px, as on the home page. */
.hb-cp.hb-contact > .hb-prod__top + .hb-prod__related--addons { margin-top: 15px; }
.hb-cp.hb-contact > .hb-prod__top + .hb-prod__related:not(.hb-prod__related--addons) { margin-top: clamp(36px, 4vw, 56px); }
.hb-cp.hb-contact > .hb-prod__crumbs { margin-top: -5px; padding-block: 15px 17px; }

/* Package builder (screen 09a): groups of trays, a summary that stays in view, the swap drawer. */
.hb-cp.hb-contact > .hb-pkgb { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(20px, 3vw, 44px); align-items: start; margin-top: 15px; padding-block: clamp(32px, 4vw, 56px); border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); }
.hb-pkgb__head .hb-about__h2 { text-align: start; }
.hb-pkgb__head p { max-width: 640px; margin: 10px 0 0; font-size: 17px; line-height: 1.6; color: rgba(53, 43, 36, .78); }
.hb-pkgb__sec { margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(53, 43, 36, .1); }
.hb-pkgb__sec-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.hb-pkgb__sec-head h3 { margin: 0; font-weight: 700; font-size: 24px; color: var(--hb-ink-warm); }
.hb-pkgb__tag { padding: 4px 12px; border-radius: 999px; background: var(--hb-white); font-weight: 700; font-size: 13px; color: rgba(53, 43, 36, .7); }
.hb-pkgb__tag.is-swap { background: var(--hb-rose); color: var(--hb-ink-warm); }
.hb-pkgb__items { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.hb-pkgb__item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 12px 14px; border-radius: 18px; background: var(--hb-white); transition: background-color .3s var(--ease-out); }
.hb-pkgb__item.is-swapped { box-shadow: inset 0 0 0 2px var(--hb-sage); }
.hb-pkgb__item.is-flash { animation: hb-pkgb-flash .9s cubic-bezier(.22, .8, .24, 1); }
@keyframes hb-pkgb-flash { 0% { background: #e6ede5; transform: scale(.985); } 100% { background: var(--hb-white); transform: none; } }
.hb-pkgb__img { display: block; width: 72px; height: 72px; overflow: hidden; border-radius: 14px; background: var(--hb-cream); }
.hb-pkgb__img img { width: 100%; height: 100%; object-fit: cover; }
.hb-pkgb__txt { display: grid; gap: 3px; min-width: 0; }
.hb-pkgb__txt strong { font-size: 18px; color: var(--hb-ink-warm); }
.hb-pkgb__txt small { font-size: 14px; line-height: 1.45; color: rgba(53, 43, 36, .65); }
.hb-pkgb__swapped { font-style: normal; font-weight: 700; font-size: 13px; color: var(--hb-sage-dark); }
.hb-pkgb__swapped[hidden] { display: none; }
.hb-pkgb__swap { min-height: 42px; padding: 0 20px; border: 1.5px solid var(--hb-ink-warm); border-radius: 999px; background: transparent; font: 700 15px var(--hb-font); color: var(--hb-ink-warm); cursor: pointer; transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-pkgb__swap:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-pkgb__lock { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: rgba(53, 43, 36, .55); }
.hb-pkgb__lock::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 10V8a6 6 0 1 1 12 0v2h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1Zm2 0h8V8a4 4 0 1 0-8 0v2Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 10V8a6 6 0 1 1 12 0v2h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1Zm2 0h8V8a4 4 0 1 0-8 0v2Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.hb-pkgb__sum { position: sticky; top: calc(var(--hb-header-h) + 30px); display: grid; gap: 8px; padding: 26px; border-radius: 22px; background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-pkgb__sum p { margin: 0; }
.hb-pkgb__sum-title { font-weight: 700; font-size: 22px; }
.hb-pkgb__sum-line { font-size: 16px; color: rgba(255, 255, 255, .8); }
.hb-pkgb__sum-total { margin-top: 6px !important; font-size: 17px; }
.hb-pkgb__sum-total strong { display: block; font-size: 30px; }
.hb-pkgb__sum-swaps { padding: 6px 12px; border-radius: 10px; background: rgba(255, 255, 255, .1); font-weight: 700; font-size: 14px; }
.hb-pkgb__sum-swaps[hidden] { display: none; }
.hb-pkgb__sum-note { font-size: 13.5px; color: rgba(255, 255, 255, .7); }
.hb-pkgb__sum .hb-prod__add { margin-top: 8px; min-height: 56px; }
.hb-prod__incl--short em { font-style: normal; font-size: 14px; color: var(--hb-sage-dark); }
.hb-prod__incl--short .hb-prod__note { display: inline-block; text-decoration: none; }
.hb-prod__incl--short .hb-prod__note:hover { text-decoration: underline; }
/* Swap drawer: slides in from the side. */
.hb-pkgb__drawer { position: fixed; inset: 0 0 0 auto; width: min(480px, 100vw); max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: var(--hb-white); color: var(--hb-ink-warm); transform: translateX(100%); transition: transform .32s cubic-bezier(.22, .8, .24, 1); }
.hb-pkgb__drawer.is-open { transform: none; }
.hb-pkgb__drawer::backdrop { background: rgba(29, 24, 20, .45); }
.hb-pkgb__drawer-in { display: flex; flex-direction: column; gap: 14px; height: 100%; padding: 26px 24px; }
.hb-pkgb__drawer header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.hb-pkgb__drawer h3 { margin: 0; font-weight: 700; font-size: 24px; }
.hb-pkgb__drawer p { margin: 0; font-size: 15px; line-height: 1.55; color: rgba(53, 43, 36, .7); }
.hb-pkgb__close { position: relative; flex: none; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--hb-filter-bg); cursor: pointer; }
.hb-pkgb__close::before, .hb-pkgb__close::after { content: ""; position: absolute; top: 19px; left: 12px; width: 16px; height: 2px; background: var(--hb-ink-warm); transform: rotate(45deg); }
.hb-pkgb__close::after { transform: rotate(-45deg); }
.hb-pkgb__opts { display: grid; gap: 8px; flex: 1; overflow-y: auto; margin: 0; padding: 0; list-style: none; }
.hb-pkgb__opt label { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 16px; border: 1.5px solid rgba(53, 43, 36, .12); border-radius: 14px; cursor: pointer; transition: border-color .2s var(--ease-out), background-color .2s var(--ease-out); }
.hb-pkgb__opt input { width: 18px; height: 18px; margin: 0; accent-color: var(--hb-sage); }
.hb-pkgb__opt:has(input:checked) label { border-color: var(--hb-sage); background: #f2f6f1; }
.hb-pkgb__opt-txt { display: grid; gap: 2px; }
.hb-pkgb__opt-txt strong { font-size: 16px; }
.hb-pkgb__opt-txt small { font-size: 13px; color: #b0533a; }
.hb-pkgb__opt-price { font-weight: 500; font-size: 15px; color: rgba(53, 43, 36, .7); }
.hb-pkgb__opt.is-off label { cursor: not-allowed; background: var(--hb-filter-bg); opacity: .7; }
.hb-pkgb__confirm { background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-pkgb__confirm:hover { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); color: var(--hb-white); }
@media (max-width: 1023px) {
	.hb-cp.hb-contact > .hb-pkgb { grid-template-columns: 1fr; }
	.hb-pkgb__sum { position: static; }
}
@media (max-width: 767px) {
	.hb-pkgb__item { grid-template-columns: 56px minmax(0, 1fr); }
	.hb-pkgb__img { width: 56px; height: 56px; }
	.hb-pkgb__swap, .hb-pkgb__lock { grid-column: 2; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) { .hb-pkgb__drawer { transition: none; } .hb-pkgb__item.is-flash { animation: none; } }
.hb-pkgb__sum .hb-prod__add { width: 100%; min-width: 0; }

/* Package page top: the home page look. */
.hb-prod__incl li { display: flex; align-items: center; gap: 12px; padding-inline-start: 0; }
.hb-prod__incl li::before { content: ""; position: static; flex: none; width: 13px; height: 13.5px; background: var(--hb-gold); -webkit-mask: url("../img/x-bullet.svg?v=1791717873") center / contain no-repeat; mask: url("../img/x-bullet.svg?v=1791717873") center / contain no-repeat; transform: rotate(-90deg); }
.hb-prod__facts { font-weight: 400; color: var(--hb-ink-warm); }
.hb-prod__facts .hb-ico { color: var(--hb-ink-warm); }
.hb-prod__incl--short em { font-style: normal; font-size: 14px; color: rgba(53, 43, 36, .5); }
.hb-prod__incl--short .hb-prod__note { margin-top: 14px; padding-top: 4px; font-weight: 700; color: #e39a00; }
.hb-prod__incl--short .hb-prod__note:hover { color: #c98700; }
/* "Other packages": the home cards, centred when there are fewer than three. */
.hb-prod__related .hb-pk-grid { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 0; }
.hb-prod__related .hb-pk-grid > .hb-pk-card { flex: 0 1 calc(33.333% - 10px); min-width: 0; }
@media (max-width: 1023px) { .hb-prod__related .hb-pk-grid > .hb-pk-card { flex-basis: 100%; } }

/* "Most popular" on the package photo: the home page burst, a bit larger. */
.hb-prod__main .hb-prod__badge { top: 20px; inset-inline-end: 20px; width: 104px; height: 104px; font-size: 15px; }
.hb-prod__main .hb-prod__badge > span { max-width: 64px; }
/* Package type tags and the closed package message (screen 09b). */
.hb-pcard__b--closed { background: #e6ede5; color: var(--hb-sage-dark); }
.hb-pcard__b--choice { background: #fbe9cf; color: #a8650a; }
.hb-pkgb__closed { margin-top: 26px; padding: 20px 22px; border-radius: 18px; background: var(--hb-white); }
.hb-pkgb__closed p { margin: 0 0 8px; font-size: 17px; color: var(--hb-ink-warm); }
.hb-pkgb__closed a { font-weight: 700; color: var(--hb-ink-warm); text-underline-offset: 4px; }
.hb-pkgb__closed a:hover { color: var(--hb-sage-dark); }
.hb-prod__range { flex: 1 0 100%; margin: 0; padding: 10px 14px; border-radius: 12px; background: #fbe9cf; font-size: 15px; color: var(--hb-ink-warm); }
.hb-prod__range[hidden] { display: none; }
.hb-prod__range a { font-weight: 700; color: inherit; }
.hb-pkgb__opt.is-shake label { animation: hb-pkgb-shake .35s ease; }
@keyframes hb-pkgb-shake { 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }

/* Event type page (page-event.php, screen 10) ------------------------------------------------ */
.hb-ev .hb-shop__crumbs ol { justify-content: center; margin-bottom: 10px; color: rgba(255, 255, 255, .85); }
.hb-ev .hb-shop__crumbs a { color: inherit; }
.hb-ev .hb-shop__crumbs [aria-current] { color: var(--hb-white); }
.hb-cp.hb-contact > .hb-ev__answer { margin-top: clamp(90px, 9vw, 130px); padding-block: clamp(30px, 3.5vw, 48px); border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); }
.hb-ev__answer-tag { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--hb-rose); font-weight: 700; font-size: 13px; color: var(--hb-ink-warm); }
.hb-ev__answer h2 { max-width: 900px; margin: 12px 0 0; font-weight: 700; font-size: clamp(26px, 2.6vw, 38px); line-height: 1.2; color: var(--hb-ink-warm); }
.hb-ev__answer-text { max-width: 900px; margin-top: 12px; font-size: 18px; line-height: 1.7; color: var(--hb-ink-warm); }
.hb-ev__answer-text p { margin: 0 0 10px; }
.hb-cp.hb-contact > .hb-ev__menus { margin-top: var(--cp-gap); }
.hb-cp.hb-contact > .hb-ev__form { margin-top: var(--cp-gap); padding-block: clamp(36px, 4vw, 60px); border-radius: var(--hb-radius-lg); background: #e5cec7; }
.hb-ev__form header { text-align: center; }
.hb-ev__form header p { margin: 10px 0 0; font-size: 18px; color: rgba(53, 43, 36, .8); }
.hb-ev__fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 16px; max-width: 1100px; margin: 30px auto 0; }
.hb-ev__fields .hb-field { margin: 0; }
.hb-ev__fields .hb-field label { display: block; margin-bottom: 6px; font-weight: 500; font-size: 16px; color: var(--hb-ink-warm); }
.hb-ev__fields input[type=text], .hb-ev__fields input[type=tel], .hb-ev__fields input[type=number] { width: 100%; min-height: 52px; padding: 0 16px; border: 0; border-radius: 14px; background: var(--hb-white); font: 500 16px var(--hb-font); color: var(--hb-ink-warm); }
.hb-ev__fields input:focus { outline: none; box-shadow: 0 0 0 3px rgba(141, 162, 139, .35); }
.hb-ev__fields .is-invalid input { box-shadow: 0 0 0 2px #c4452c; }
.hb-ev__fields .hb-q__error { display: block; margin-top: 6px; font-size: 14px; color: #a8361f; }
.hb-ev__fields .hb-q__error[hidden] { display: none; }
.hb-ev__foot { grid-column: 1 / -1; }
.hb-ev__btns { grid-column: 1 / -1; display: flex; justify-content: center; gap: 12px; margin-top: 4px; }
.hb-ev__btns .hb-btn { min-width: 240px; min-height: 58px; font-size: 18px; }
.hb-ev__send { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-ev__send:hover { background: #4a3d33; border-color: #4a3d33; color: var(--hb-white); }
.hb-ev__send.is-loading { opacity: .7; pointer-events: none; }
.hb-ev__wa { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); background: transparent; }
.hb-ev__wa:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-ev__more { grid-column: 1 / -1; margin: 0; text-align: center; font-size: 15px; }
.hb-ev__more a { color: var(--hb-ink-warm); text-underline-offset: 4px; }
.hb-ev__done { max-width: 600px; margin: 24px auto 0; padding: 26px; border-radius: 20px; background: var(--hb-white); text-align: center; color: var(--hb-ink-warm); }
.hb-ev__done h3 { margin: 0; font-size: 26px; }
.hb-ev__done p { margin: 8px 0 0; font-size: 17px; }
.hb-ev__done[hidden] { display: none; }
.hb-cp.hb-contact > .hb-ev__text { max-width: none; margin-top: var(--cp-gap); font-size: 17px; line-height: 1.75; color: var(--hb-ink-warm); }
.hb-cp.hb-contact > .hb-ev__others { margin-top: var(--cp-gap); text-align: center; }
.hb-ev__others h2 { margin: 0 0 16px; font-weight: 700; font-size: 24px; color: var(--hb-ink-warm); }
.hb-ev__others ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.hb-ev__others .hb-chip, .hb-cp__evlinks .hb-chip { height: 44px; padding: 0 18px; border-color: transparent; font-size: 16px; text-decoration: none; }
.hb-ev__others .hb-chip:hover, .hb-cp__evlinks .hb-chip:hover { background: var(--hb-cat-count); color: var(--hb-white); }
@media (max-width: 1023px) { .hb-ev__fields { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
	.hb-ev__fields { grid-template-columns: 1fr; }
	.hb-ev__btns { flex-direction: column; }
	.hb-ev__btns .hb-btn { min-width: 0; width: 100%; }
}

/* Catering hub: links to the event pages, full service, live stations. */
.hb-cp.hb-contact > .hb-cp__evlinks { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 26px; }
.hb-cp__evlinks > span { margin-inline-end: 6px; font-weight: 700; font-size: 17px; color: var(--hb-ink-warm); }
.hb-cp.hb-contact > .hb-cp__service { margin-top: var(--cp-gap); text-align: center; }
.hb-cp__service-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.hb-cp__service-list li { position: relative; display: inline-flex; align-items: center; gap: 12px; padding: 14px 22px 14px 20px; border-radius: 999px; background: var(--hb-filter-bg); font-size: 17px; color: var(--hb-ink-warm); }
.hb-cp__service-list .hb-cp__check { position: relative; top: auto; inset-inline-start: auto; flex: none; background: var(--hb-sage); }
.hb-cp__service-list .hb-cp__check::after { top: 9px; inset-inline-start: 8px; background: var(--hb-white); }
.hb-cp.hb-contact > .hb-cp__stations { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 15px; padding-block: clamp(26px, 3vw, 40px); border-radius: var(--hb-radius-lg); background: var(--hb-rose); }
.hb-cp__stations h2 { margin: 0; font-weight: 700; font-size: clamp(24px, 2.2vw, 32px); color: var(--hb-ink-warm); }
.hb-cp__stations p { margin: 6px 0 0; font-size: 17px; color: rgba(53, 43, 36, .8); }
.hb-cp__stations-btn { flex: none; background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cp__stations-btn:hover { background: #4a3d33; border-color: #4a3d33; color: var(--hb-white); }
@media (max-width: 767px) { .hb-cp.hb-contact > .hb-cp__stations { flex-direction: column; align-items: stretch; text-align: center; } }
.hb-ev__fields .hb-date .hb-dd__btn, .hb-ev__fields .hb-date button { min-height: 52px; }
.hb-cp.hb-contact > .hb-cp__service + .hb-cp__stations { margin-top: var(--cp-gap); }

/* Catering menu, screen 11: menu tabs, add-ons, stations, the mobile bar and accordion. */
.hb-menu__tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 22px; }
.hb-menu__tab { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 20px; border-radius: 999px; background: var(--hb-white); font-weight: 700; font-size: 15px; color: var(--hb-ink-warm); text-decoration: none; transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-menu__tab bdi { color: var(--hb-sage-dark); }
.hb-menu__tab:hover { background: var(--hb-rose); }
.hb-menu__tab.is-on { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-menu__tab.is-on bdi { color: var(--hb-gold); }
.hb-menu__addons { margin-top: 30px; }
.hb-menu__service { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; padding: 20px 22px; border-radius: 20px; background: var(--hb-white); }
.hb-menu__service h3, .hb-menu__stations h3 { margin: 0; font-weight: 700; font-size: 20px; color: var(--hb-ink-warm); }
.hb-menu__service p { margin: 4px 0 0; font-size: 15px; color: rgba(53, 43, 36, .72); }
.hb-menu__service .hb-menu__service-price { font-weight: 700; color: var(--hb-sage-dark); }
.hb-menu__toggle { position: relative; flex: none; width: 58px; height: 32px; border: 0; border-radius: 999px; background: #d9d1cb; cursor: pointer; transition: background-color .25s var(--ease-out); }
.hb-menu__toggle::after { content: ""; position: absolute; top: 4px; inset-inline-start: 4px; width: 24px; height: 24px; border-radius: 50%; background: var(--hb-white); box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .3s cubic-bezier(.22, .8, .24, 1); }
.hb-menu__toggle[aria-checked="true"] { background: var(--hb-sage); }
.hb-menu__toggle[aria-checked="true"]::after { transform: translateX(-26px); }
.hb-menu__toggle:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
.hb-menu__stations { margin-top: 18px; }
.hb-menu__stations h3 small { font-weight: 500; font-size: 14px; color: rgba(53, 43, 36, .6); }
.hb-menu__stations ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.hb-menu__station { display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 2px solid transparent; border-radius: 18px; background: var(--hb-white); transition: border-color .2s var(--ease-out), opacity .2s var(--ease-out); }
.hb-menu__station strong { font-size: 17px; color: var(--hb-ink-warm); }
.hb-menu__station-desc { font-size: 14px; color: rgba(53, 43, 36, .65); }
.hb-menu__station-price { font-weight: 700; font-size: 14px; color: var(--hb-sage-dark); }
.hb-menu__station-sum { min-height: 1em; font-size: 13px; color: rgba(53, 43, 36, .6); }
.hb-menu__station-add { align-self: flex-start; margin-top: 6px; padding: 7px 14px; border: 1.5px solid var(--hb-ink-warm); border-radius: 999px; background: transparent; font: 700 14px var(--hb-font); color: var(--hb-ink-warm); cursor: pointer; }
.hb-menu__station-add[aria-pressed="true"] { background: var(--hb-sage); border-color: var(--hb-sage); color: var(--hb-white); }
.hb-menu__station-add:disabled { cursor: not-allowed; opacity: .45; }
.hb-menu__station.is-on { border-color: var(--hb-sage); }
.hb-menu__station.is-off { opacity: .7; }
.hb-menu__extras-sum { display: grid; gap: 6px; margin: 0 0 14px; padding: 12px 14px; border-radius: 14px; background: var(--hb-filter-bg); list-style: none; font-size: 14px; }
.hb-menu__extras-sum[hidden] { display: none; }
.hb-menu__extras-sum li { display: flex; justify-content: space-between; gap: 10px; }
.hb-menu__bar { display: none; }
@media (max-width: 1023px) {
	.hb-menu__bar { position: fixed; inset-inline: 10px; bottom: 10px; z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 16px; padding-inline-start: 18px; border-radius: 999px; background: var(--hb-ink-warm); color: var(--hb-white); box-shadow: 0 14px 34px rgba(53, 43, 36, .3); }
	.hb-menu__bar p { margin: 0; font-size: 14px; }
	.hb-menu__bar strong { display: block; font-size: 19px; }
	.hb-menu__bar .hb-btn { min-height: 46px; }
	.hb-menu { padding-bottom: 90px; }
}
@media (max-width: 767px) {
	.hb-menu__sec.is-fold .hb-menu__sec-head { cursor: pointer; }
	.hb-menu__sec.is-fold .hb-menu__sec-head::after { content: "+"; margin-inline-start: auto; font-size: 22px; line-height: 1; }
	.hb-menu__sec.is-fold:not(.is-closed) .hb-menu__sec-head::after { content: "−"; }
	.hb-menu__sec.is-closed .hb-menu__items, .hb-menu__sec.is-closed .hb-menu__cols { display: none; }
	.hb-menu__service { align-items: flex-start; }
}
@media print { .hb-menu__tabs, .hb-menu__bar, .hb-menu__station-add, .hb-menu__toggle { display: none !important; } }
/* Quote form: "שלב X מתוך 3" in view. */
.hb-q__count-text { margin: 8px 0 0; font-weight: 700; font-size: 14px; color: rgba(53, 43, 36, .65); }
.hb-menu__tools { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8px; } .hb-menu__tools .hb-menu__tool { min-width: 0; padding-inline: 10px; font-size: 14px; }

/* Catering menu: type tag, closed note, and "other menus" at the bottom (replaces the header tabs). */
.hb-menu__type--closed { background: #e6ede5 !important; color: var(--hb-sage-dark) !important; font-weight: 700; }
.hb-menu__type--choice { background: #fbe9cf !important; color: #a8650a !important; font-weight: 700; }
.hb-menu__closed { margin: 6px 0 14px; font-size: 16px; color: var(--hb-sage-dark); font-weight: 700; }
.hb-menu.hb-contact > .hb-menu__more { margin-top: clamp(44px, 5vw, 72px); }
.hb-menu__more .hb-about__h2 { margin-bottom: 26px; text-align: center; }
.hb-menu__more ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin: 0; padding: 0; list-style: none; }
.hb-menu__more li { flex: 0 1 calc(50% - 8px); max-width: 620px; min-width: 0; }
.hb-menu__other { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 14px; border-radius: var(--hb-radius-lg); background: var(--hb-white); color: var(--hb-ink-warm); text-decoration: none; transition: transform .35s var(--hb-ease); }
.hb-menu__other:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(53, 43, 36, .1); }
.hb-menu__other-img { display: block; width: 120px; height: 96px; overflow: hidden; border-radius: 16px; background: var(--hb-filter-bg); }
.hb-menu__other-img img { width: 100%; height: 100%; object-fit: cover; }
.hb-menu__other-txt { display: grid; gap: 3px; }
.hb-menu__other-txt em { font-style: normal; font-weight: 700; font-size: 15px; color: var(--hb-sage-dark); }
.hb-menu__other-txt strong { font-size: 20px; }
.hb-menu__other-txt small { font-size: 14px; line-height: 1.45; color: rgba(53, 43, 36, .65); }
.hb-menu__other-arrow { display: grid; place-items: center; width: 46px; height: 46px; margin-inline-end: 6px; border-radius: 50%; background: var(--hb-sage); transition: transform .3s var(--hb-ease); }
.hb-menu__other-arrow::before { content: ""; width: 14px; height: 8px; background: var(--hb-white); -webkit-mask: url("../img/btn-arrow.svg?v=1791714499") center / contain no-repeat; mask: url("../img/btn-arrow.svg?v=1791714499") center / contain no-repeat; }
.hb-menu__other:hover .hb-menu__other-arrow { transform: translateX(-4px); }
@media (max-width: 767px) {
	.hb-menu__more li { flex-basis: 100%; }
	.hb-menu__other { grid-template-columns: 84px minmax(0, 1fr) auto; gap: 12px; }
	.hb-menu__other-img { width: 84px; height: 72px; }
}
.hb-menu__other-arrow::before { transform: rotate(90deg); }
/* Stations: revealed when management is switched on. */
.hb-menu__stations[hidden] { display: none; }
.hb-menu__stations.is-in { animation: hb-st-in .5s cubic-bezier(.22, .8, .24, 1); }
.hb-menu__stations.is-in .hb-menu__station { animation: hb-st-in .5s cubic-bezier(.22, .8, .24, 1) backwards; }
.hb-menu__stations.is-in .hb-menu__station:nth-child(2) { animation-delay: .06s; }
.hb-menu__stations.is-in .hb-menu__station:nth-child(3) { animation-delay: .12s; }
.hb-menu__stations.is-in .hb-menu__station:nth-child(4) { animation-delay: .18s; }
.hb-menu__stations.is-in .hb-menu__station:nth-child(n+5) { animation-delay: .24s; }
@keyframes hb-st-in { from { opacity: 0; transform: translateY(10px); } }
@media (prefers-reduced-motion: reduce) { .hb-menu__stations.is-in, .hb-menu__stations.is-in .hb-menu__station { animation: none; } }

/* Side cart (screen 14): opens from the left after every add ----------------------------------------- */
.hb-cart-lock, .hb-cart-lock body { overflow: hidden; }
.hb-cartd { position: fixed; inset: 0; z-index: 1000; }
.hb-cartd[hidden] { display: none; }
.hb-cartd__scrim { position: absolute; inset: 0; background: rgba(53, 43, 36, .45); opacity: 0; transition: opacity .3s var(--hb-ease); cursor: pointer; }
.hb-cartd__panel { position: absolute; inset-block: 0; inset-inline-end: 0; display: flex; flex-direction: column; width: min(460px, 100%); background: var(--hb-filter-bg); color: var(--hb-ink-warm); box-shadow: 0 0 60px rgba(53, 43, 36, .25); transform: translateX(-100%); transition: transform .32s var(--hb-ease); outline: none; }
.hb-cartd.is-open .hb-cartd__scrim { opacity: 1; }
.hb-cartd.is-open .hb-cartd__panel { transform: none; }
.hb-cartd__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 24px 18px; border-bottom: 1px solid rgba(53, 43, 36, .1); }
.hb-cartd__head h2 { margin: 0; font-weight: 700; font-size: 26px; line-height: 1.1; }
.hb-cartd__head [hidden] { display: none; }
.hb-cartd__added { display: inline-flex; align-items: center; gap: 10px; color: var(--hb-sage-dark); }
.hb-cartd__added::before { content: ""; width: 26px; height: 26px; border-radius: 50%; background: var(--hb-sage) url("../img/check.svg?v=1791722951") center / 12px no-repeat; filter: none; }
.hb-cartd__close, .hb-cline__x { position: relative; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--hb-white); transition: background-color .2s var(--ease-out); }
.hb-cartd__close:hover, .hb-cline__x:hover { background: var(--hb-rose); }
.hb-cartd__close::before, .hb-cartd__close::after, .hb-cline__x::before, .hb-cline__x::after { content: ""; position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; border-radius: 2px; background: var(--hb-ink-warm); transform: translate(-50%, -50%) rotate(45deg); }
.hb-cartd__close::after, .hb-cline__x::after { transform: translate(-50%, -50%) rotate(-45deg); }
.hb-cartd__undo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 24px 0; padding: 10px 16px; border-radius: 14px; background: var(--hb-ink-warm); color: var(--hb-white); font-size: 15px; }
.hb-cartd__undo[hidden] { display: none; }
.hb-cartd__undo button { font-weight: 700; color: var(--hb-gold); text-decoration: underline; text-underline-offset: 3px; }
.hb-cartd__inner { flex: 1; display: flex; flex-direction: column; gap: 16px; overflow-y: auto; padding: 18px 24px 24px; overscroll-behavior: contain; }
.hb-cartd__fit, .hb-cartp__fit { margin: 0; padding: 10px 16px; border-radius: 14px; background: #e6ede5; font-weight: 700; font-size: 15px; color: var(--hb-sage-dark); }
.hb-cartd__fit[hidden], .hb-cartp__fit[hidden] { display: none; }
.hb-clines { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.hb-cline { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "img txt price" "img txt x"; gap: 4px 14px; align-items: start; padding: 12px; border-radius: 20px; background: var(--hb-white); transition: opacity .25s var(--ease-out), transform .25s var(--ease-out); }
.hb-cline.is-busy { opacity: .6; pointer-events: none; }
.hb-cline.is-gone { opacity: 0; transform: translateX(-20px); }
.hb-cline__img { grid-area: img; display: block; width: 64px; height: 64px; overflow: hidden; border-radius: 14px; background: var(--hb-cream); }
.hb-cline__img img { width: 100%; height: 100%; object-fit: cover; }
.hb-cline__txt { grid-area: txt; display: grid; gap: 2px; min-width: 0; }
.hb-cline__name { font-weight: 700; font-size: 17px; line-height: 1.3; text-decoration: none; }
.hb-cline__name:hover { text-decoration: underline; }
.hb-cline__meta { font-size: 14.5px; color: rgba(53, 43, 36, .7); }
.hb-cline__price { grid-area: price; font-weight: 700; font-size: 17px; white-space: nowrap; }
.hb-cline__x { grid-area: x; justify-self: end; width: 30px; height: 30px; background: var(--hb-filter-bg); }
.hb-cline__x::before, .hb-cline__x::after { width: 11px; }
.hb-cline__detail { margin-top: 4px; font-size: 14px; }
.hb-cline__detail summary { width: fit-content; font-weight: 700; color: var(--hb-orange-dark); cursor: pointer; list-style: none; }
.hb-cline__detail summary::-webkit-details-marker { display: none; }
.hb-cline__detail summary::after { content: " +"; }
.hb-cline__detail[open] summary::after { content: " −"; }
.hb-cline__detail dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin: 8px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--hb-filter-bg); }
.hb-cline__detail dt { font-weight: 700; }
.hb-cline__detail dd { margin: 0; color: rgba(53, 43, 36, .8); }
.hb-cartd__sub { display: flex; justify-content: space-between; align-items: baseline; margin: 0; padding-top: 14px; border-top: 1px solid rgba(53, 43, 36, .1); font-size: 18px; }
.hb-cartd__sub strong { font-size: 24px; }
.hb-cartmin p { margin: 0 0 6px; font-weight: 700; font-size: 14.5px; color: var(--hb-orange-dark); }
.hb-cartmin.is-done p { color: var(--hb-sage-dark); }
.hb-cartmin__bar { display: block; height: 8px; overflow: hidden; border-radius: 99px; background: var(--hb-rose); }
.hb-cartmin__bar span { display: block; height: 100%; border-radius: inherit; background: var(--hb-orange); transition: width .4s var(--hb-ease); }
.hb-cartmin.is-done .hb-cartmin__bar span { background: var(--hb-sage); }
.hb-cartx { padding: 16px; border-radius: 20px; background: var(--hb-rose); }
.hb-cartx h3 { margin: 0 0 10px; font-weight: 700; font-size: 18px; }
.hb-cartx ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.hb-cartx li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--hb-filter-bg); }
.hb-cartx li span { display: grid; }
.hb-cartx small { font-size: 14px; color: rgba(53, 43, 36, .7); }
.hb-cartx__add { flex: none; padding: 8px 16px; border-radius: 99px; background: var(--hb-sage); font-weight: 700; font-size: 14.5px; color: var(--hb-white); transition: background-color .2s var(--ease-out); }
.hb-cartx__add:hover { background: var(--hb-sage-dark); }
.hb-cartd__ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; padding-top: 6px; }
.hb-cartd__go { grid-column: 1 / -1; min-width: 0; width: 100%; background: var(--hb-sage); color: var(--hb-white); }
.hb-cartd__go:hover { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-cartd__page, .hb-cartd__more { display: grid; place-items: center; min-height: 48px; border: 1px solid var(--hb-ink-warm); border-radius: 99px; font-weight: 700; font-size: 16px; text-decoration: none; transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-cartd__page:hover, .hb-cartd__more:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cartempty { display: grid; justify-items: center; gap: 10px; padding: 30px 10px; text-align: center; }
.hb-cartempty__ico { display: grid; place-items: center; width: 90px; height: 90px; border-radius: 50%; background: var(--hb-rose); font-weight: 700; font-size: 22px; }
.hb-cartempty h3 { margin: 6px 0 0; font-weight: 700; font-size: 26px; }
.hb-cartempty p { max-width: 34ch; margin: 0; font-size: 17px; color: rgba(53, 43, 36, .75); }
.hb-cartempty__btns { display: grid; gap: 10px; width: 100%; max-width: 340px; margin-top: 10px; }
.hb-cartempty .hb-btn { min-width: 0; width: 100%; }
.hb-cartempty__main { background: var(--hb-sage); color: var(--hb-white); }
.hb-cartempty__main:hover { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-cartempty__alt { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-cartempty__alt:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
@media (prefers-reduced-motion: reduce) { .hb-cartd__panel, .hb-cartd__scrim { transition: none; } }

/* Cart page (screen 14) and checkout (screen 15): one panel in the product page colours ---------------- */
.hb-cp.hb-contact > .hb-cartpage__box, .hb-cp.hb-contact > .hb-checkout__box { margin-top: 15px; padding-block: clamp(32px, 4vw, 56px); border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); color: var(--hb-ink-warm); }
.hb-cartpage__box > h1, .hb-checkout__box > h1 { margin: 0 0 24px; }
.hb-cartpage__undo { margin: 0 0 16px; }
.hb-cartp { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(20px, 3vw, 44px); align-items: start; }
.hb-cartp:has(> .hb-cartempty) { display: block; }
.hb-cartp__main { display: grid; gap: 14px; }
.hb-clines--full .hb-cline { grid-template-columns: 96px minmax(0, 1fr) auto auto 34px; grid-template-areas: "img txt qty price x"; align-items: center; gap: 10px 20px; padding: 16px; }
.hb-clines--full .hb-cline__img { width: 96px; height: 96px; border-radius: 16px; }
.hb-clines--full .hb-cline__name { font-size: 20px; }
.hb-clines--full .hb-cline__meta { font-size: 15.5px; }
.hb-clines--full .hb-cline__price { min-width: 90px; font-size: 19px; text-align: end; }
.hb-clines--full .hb-cline__x { align-self: center; }
.hb-cline__qty { grid-area: qty; border-color: rgba(53, 43, 36, .12); background: var(--hb-filter-bg); }
.hb-cline__qty input { width: 52px; min-height: 34px; font-size: 16px; }
.hb-cline__step { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--hb-white); font: 500 19px/1 var(--hb-font); color: var(--hb-ink-warm); transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-cline__step:hover { background: var(--hb-cat-count); color: var(--hb-white); }
.hb-cartp__sum { position: sticky; top: calc(var(--hb-header-h) + 30px); display: grid; gap: 12px; padding: 26px; border-radius: 22px; background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cartp__sum h2 { margin: 0 0 4px; font-weight: 700; font-size: 24px; }
.hb-cartp__row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 0; font-size: 16.5px; }
.hb-cartp__row small { font-size: 14.5px; color: rgba(255, 255, 255, .7); }
.hb-cartp__row--coupon { color: var(--hb-leaf); }
.hb-cartp__row--coupon button { margin-inline-start: 6px; font-size: 13.5px; text-decoration: underline; color: rgba(255, 255, 255, .75); }
.hb-cartp__coupon { display: flex; gap: 8px; padding-block: 12px; border-block: 1px solid rgba(255, 255, 255, .14); }
.hb-cartp__coupon input { flex: 1; min-width: 0; min-height: 46px; padding: 0 16px; border: 0; border-radius: 99px; background: rgba(255, 255, 255, .12); font: 500 15px var(--hb-font); color: var(--hb-white); }
.hb-cartp__coupon input::placeholder { color: rgba(255, 255, 255, .6); }
.hb-cartp__coupon input:focus { outline: 2px solid var(--hb-sage); }
.hb-cartp__coupon .hb-btn { min-height: 46px; padding: 0 20px; background: var(--hb-rose); color: var(--hb-ink-warm); font-size: 15.5px; }
.hb-cartp__coupon .hb-btn:hover { background: var(--hb-white); }
.hb-cartp__total { display: flex; justify-content: space-between; align-items: baseline; margin: 0; font-size: 17px; }
.hb-cartp__total strong { font-size: 30px; }
.hb-cartp__sum .hb-cartmin p { color: var(--hb-gold); }
.hb-cartp__sum .hb-cartmin.is-done p { color: var(--hb-leaf); }
.hb-cartp__sum .hb-cartmin__bar { background: rgba(255, 255, 255, .15); }
.hb-cartp__go { min-width: 0; width: 100%; margin-top: 4px; background: var(--hb-sage); color: var(--hb-white); }
.hb-cartp__go:hover { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-cartpage .woocommerce-error, .hb-cartpage .woocommerce-message, .hb-cartpage .woocommerce-info { margin: 0 0 16px; }

/* Checkout: steps on the right, the summary stays in view on the left. */
.hb-co { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: clamp(20px, 3vw, 44px); align-items: start; }
.hb-co__steps { display: grid; gap: 15px; }
.hb-co__step { padding: clamp(22px, 2.6vw, 34px); border-radius: 26px; background: var(--hb-white); }
.hb-co__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.hb-co__head h2 { margin: 0; font-weight: 700; font-size: clamp(22px, 2vw, 28px); }
.hb-co__head span { padding: 4px 12px; border-radius: 99px; background: var(--hb-rose); font-weight: 700; font-size: 13.5px; white-space: nowrap; }
.hb-co__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.hb-co .form-row { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.hb-co .form-row-wide, .hb-co .hb-co__grid > .form-row-wide { grid-column: 1 / -1; }
.hb-co .hb-co__step > .form-row, .hb-co .hb-co__step > .hb-co__addr { margin-top: 14px !important; }
.hb-co label { display: block; margin-bottom: 6px; font-weight: 700; font-size: 15px; line-height: 1.3; }
.hb-co label .optional { font-weight: 400; color: rgba(53, 43, 36, .55); }
.hb-co abbr.required { color: var(--hb-orange-dark); text-decoration: none; }
.hb-co input.input-text, .hb-co textarea, .hb-co select, .hb-co .hb-co__select { width: 100%; min-height: 52px; padding: 0 16px; border: 1px solid rgba(53, 43, 36, .14); border-radius: 14px; background: var(--hb-filter-bg); font: 500 16px var(--hb-font); color: var(--hb-ink-warm); transition: border-color .2s var(--ease-out); }
.hb-co textarea { min-height: 96px; padding: 12px 16px; resize: vertical; }
.hb-co select { appearance: none; padding-inline-end: 44px; background: var(--hb-filter-bg) url("../img/select-chevron.svg?v=1791721178") left 18px center / 14px 8px no-repeat; }
.hb-co input.input-text:focus, .hb-co textarea:focus, .hb-co select:focus { outline: none; border-color: var(--hb-sage); box-shadow: 0 0 0 3px rgba(141, 162, 139, .2); }
.hb-co .woocommerce-invalid input.input-text, .hb-co .woocommerce-invalid select { border-color: #c4452c; }
.hb-co__mode { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.hb-co__chip { position: relative; margin: 0 !important; cursor: pointer; }
.hb-co__chip input { position: absolute; opacity: 0; pointer-events: none; }
.hb-co__chip span { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 24px; border: 1px solid rgba(53, 43, 36, .16); border-radius: 99px; background: var(--hb-filter-bg); font-weight: 700; font-size: 16px; transition: background-color .2s var(--ease-out), border-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-co__chip:hover span { border-color: var(--hb-sage); }
.hb-co__chip input:checked + span { border-color: var(--hb-sage); background: var(--hb-sage); color: var(--hb-white); }
.hb-co__chip input:focus-visible + span { outline: 2px solid var(--hb-sage); outline-offset: 3px; }
.hb-co__pickup { margin: 0 0 14px; padding: 12px 16px; border-radius: 14px; background: #e6ede5; font-weight: 700; color: var(--hb-sage-dark); }
.hb-co__pickup[hidden], .hb-co [data-hb-co-delivery][hidden] { display: none; }
.hb-co__step > .hb-co__grid { margin-top: 14px; }
.hb-co__fee { margin: 14px 0 0; padding: 12px 16px; border-radius: 14px; background: var(--hb-filter-bg); font-weight: 700; font-size: 15px; }
.hb-co__fee span { display: block; font-weight: 400; color: rgba(53, 43, 36, .7); }
.hb-co .hb-date { position: relative; }
/* Payment (WooCommerce's block, restyled). */
.hb-co #payment { border-radius: 0; background: none; }
.hb-co #payment ul.payment_methods { display: grid; gap: 10px; margin: 0; padding: 0 !important; border: 0; list-style: none; }
.hb-co #payment ul.payment_methods li { margin: 0; padding: 14px 18px; border: 1px solid rgba(53, 43, 36, .14); border-radius: 16px; background: var(--hb-filter-bg); line-height: 1.4; }
.hb-co #payment ul.payment_methods li:has(input:checked) { border-color: var(--hb-sage); box-shadow: 0 0 0 3px rgba(141, 162, 139, .18); }
.hb-co #payment ul.payment_methods li label { display: inline; margin: 0; font-size: 16.5px; }
.hb-co #payment ul.payment_methods li input { margin-inline-end: 8px; accent-color: var(--hb-sage); }
.hb-co #payment div.payment_box { margin: 10px 0 0; padding: 0; background: none; font-size: 15px; color: rgba(53, 43, 36, .75); }
.hb-co #payment div.payment_box::before { display: none; }
.hb-co #payment div.form-row { padding: 16px 0 0 !important; }
.hb-co .woocommerce-terms-and-conditions-wrapper, .hb-co .hb-co__terms { margin-bottom: 14px; font-size: 15px; }
.hb-co .woocommerce-privacy-policy-text p { margin: 0 0 12px; font-size: 14px; color: rgba(53, 43, 36, .65); }
.hb-co .woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: 10px; font-weight: 500; }
.hb-co .woocommerce-form__label-for-checkbox input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--hb-sage); }
.hb-co #place_order { float: none; display: flex; width: 100%; min-height: 63px; padding: 0 28px; border: 0; border-radius: var(--hb-pill); background: var(--hb-sage); font: 700 19px/1 var(--hb-font); color: var(--hb-white); cursor: pointer; transition: background-color .25s var(--hb-ease); }
.hb-co #place_order:hover { background: var(--hb-sage-dark); }
.hb-co__sum { position: sticky; top: calc(var(--hb-header-h) + 30px); padding: 26px; border-radius: 22px; background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-co__sum > h2 { margin: 0 0 14px; font-weight: 700; font-size: 24px; }
.hb-co__sum .woocommerce-checkout-review-order { position: relative; }
.hb-co__sum .blockUI.blockOverlay { border-radius: 14px; background: var(--hb-ink-warm) !important; }
.hb-co__lines { display: grid; gap: 10px; margin: 0 0 14px; padding: 0 0 14px; border-bottom: 1px solid rgba(255, 255, 255, .14); list-style: none; }
.hb-co__lines li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 16px; }
.hb-co__lines small { color: rgba(255, 255, 255, .65); }
.hb-co__row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 0 0 8px; font-size: 16px; }
.hb-co__row small { color: rgba(255, 255, 255, .7); }
.hb-co__row a { color: var(--hb-leaf); }
.hb-co__total { display: flex; justify-content: space-between; align-items: baseline; margin: 12px 0 0; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 17px; }
.hb-co__total strong { font-size: 30px; }
.hb-co__total small { display: none; }
.hb-co__note { margin: 14px 0 0; font-size: 14px; color: rgba(255, 255, 255, .7); }
.hb-checkout .woocommerce-NoticeGroup, .hb-checkout .woocommerce-error { grid-column: 1 / -1; }
.hb-checkout .woocommerce-error, .hb-checkout .woocommerce-info, .hb-checkout .woocommerce-message { margin: 0 0 16px; padding: 14px 18px 14px 18px; border: 0; border-radius: 16px; background: var(--hb-white); color: var(--hb-ink-warm); list-style: none; }
.hb-checkout .woocommerce-error { background: #fbe9e4; color: #8a2d1a; }
.hb-checkout .woocommerce-error::before, .hb-checkout .woocommerce-info::before, .hb-checkout .woocommerce-message::before { display: none; }
.hb-checkout .woocommerce-form-coupon-toggle { display: none; }

/* Thank-you page (screen 15). */
.hb-ty { display: grid; justify-items: center; gap: 8px; max-width: 640px; margin: 0 auto; padding-block: 10px; text-align: center; }
.hb-ty__ico { display: grid; place-items: center; width: 84px; height: 84px; margin-bottom: 6px; border-radius: 50%; background: var(--hb-sage); animation: hb-choice-pop .5s var(--hb-ease); }
.hb-ty__ico:empty::before { content: ""; width: 34px; height: 28px; background: var(--hb-white); -webkit-mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; }
.hb-ty__ico.is-fail { background: var(--hb-orange); font-weight: 700; font-size: 40px; color: var(--hb-white); }
.hb-ty h1 { margin: 0; font-weight: 700; font-size: clamp(32px, 3.4vw, 48px); line-height: 1.1; }
.hb-ty p { margin: 0; font-size: 17px; }
.hb-ty__num { color: rgba(53, 43, 36, .75); }
.hb-ty__pay { font-weight: 700; color: var(--hb-sage-dark); }
.hb-ty__rows { display: grid; grid-template-columns: auto 1fr; gap: 10px 20px; width: 100%; margin: 18px 0 6px; padding: 22px 26px; border-radius: 22px; background: var(--hb-white); text-align: start; font-size: 17px; }
.hb-ty__rows dt { font-weight: 700; }
.hb-ty__rows dd { margin: 0; }
.hb-ty__rows dt:last-of-type, .hb-ty__rows dd:last-of-type { padding-top: 10px; border-top: 1px solid rgba(53, 43, 36, .1); font-size: 19px; }
.hb-ty__change { font-size: 15.5px !important; color: rgba(53, 43, 36, .75); }
.hb-ty__btns { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 24px; margin-top: 14px; }
.hb-ty__main { background: var(--hb-sage); color: var(--hb-white); }
.hb-ty__main:hover { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-ty__cal { font-weight: 700; font-size: 17px; color: var(--hb-ink-warm); text-underline-offset: 4px; }
.hb-ty__cal:hover { color: var(--hb-sage-dark); }
.hb-checkout--done .hb-checkout__box { padding-block: clamp(44px, 5vw, 80px); }

@media (max-width: 1023px) {
	.hb-cartp, .hb-co { grid-template-columns: 1fr; }
	.hb-cartp__sum, .hb-co__sum { position: static; }
	.hb-co__sum { order: -1; }
}
@media (max-width: 640px) {
	.hb-clines--full .hb-cline { grid-template-columns: 72px minmax(0, 1fr) 30px; grid-template-areas: "img txt x" "qty qty price"; padding: 12px; }
	.hb-clines--full .hb-cline__img { width: 72px; height: 72px; }
	.hb-clines--full .hb-cline__name { font-size: 18px; }
	.hb-clines--full .hb-cline__qty { justify-self: start; }
	.hb-clines--full .hb-cline__x { align-self: start; }
	.hb-co__grid { grid-template-columns: 1fr; }
	.hb-co__head { flex-direction: column; gap: 6px; }
	.hb-cartd__head, .hb-cartd__inner { padding-inline: 18px; }
	.hb-cartd__undo { margin-inline: 18px; }
	.hb-ty__rows { grid-template-columns: 1fr; gap: 2px; padding: 18px; }
	.hb-ty__rows dd { margin-bottom: 8px; }
	.hb-ty .hb-btn--lg { min-width: 0; width: 100%; }
}

/* Personal boxes (screen 13) ---------------------------------------------------------------------------- */
.hb-cp.hb-contact > .hb-boxes__builder { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(20px, 3vw, 44px); align-items: start; margin-top: 15px; padding-block: clamp(32px, 4vw, 56px); border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); color: var(--hb-ink-warm); }
.hb-boxes__main { display: grid; gap: 15px; }
.hb-boxes__step { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: clamp(22px, 2.6vw, 34px); border-radius: 26px; background: var(--hb-white); }
.hb-boxes__step--content { display: block; }
.hb-boxes__step h2 { margin: 0; font-weight: 700; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.15; }
.hb-boxes__n { display: inline-block; margin: 0 0 8px; padding: 4px 12px; border-radius: 99px; background: var(--hb-rose); font-weight: 700; font-size: 13.5px; }
.hb-boxes__hint { margin: 6px 0 0; font-size: 16px; color: rgba(53, 43, 36, .7); }
.hb-boxes__qty { border-color: rgba(53, 43, 36, .12); background: var(--hb-filter-bg); }
.hb-boxes__qty .hb-stepper__btn { background: var(--hb-white); }
.hb-boxes__qty .hb-stepper__btn:hover { background: var(--hb-cat-count); }
.hb-boxes__cats { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.hb-boxes__cat { display: grid; grid-template-columns: 28px minmax(0, 1fr) minmax(220px, 300px); align-items: center; gap: 14px; padding: 12px 12px 12px 16px; border: 1px solid rgba(53, 43, 36, .1); border-radius: 18px; background: var(--hb-filter-bg); transition: border-color .2s var(--ease-out), background-color .2s var(--ease-out); }
.hb-boxes__cat.is-on { border-color: var(--hb-sage); background: #f2f5f0; }
.hb-boxes__tick { position: relative; width: 24px; height: 24px; border: 2px solid rgba(53, 43, 36, .3); border-radius: 7px; background: var(--hb-white); transition: background-color .2s var(--ease-out), border-color .2s var(--ease-out); }
.hb-boxes__cat.is-on .hb-boxes__tick { border-color: var(--hb-sage); background: var(--hb-sage); }
.hb-boxes__cat.is-on .hb-boxes__tick::after { content: ""; position: absolute; inset: 4px; background: var(--hb-white); -webkit-mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; mask: url("../img/check.svg?v=1791722951") center / contain no-repeat; }
.hb-boxes__cat-txt { display: grid; min-width: 0; }
.hb-boxes__cat-txt strong { font-size: 18px; }
.hb-boxes__cat-txt small { overflow: hidden; font-size: 14.5px; color: rgba(53, 43, 36, .65); white-space: nowrap; text-overflow: ellipsis; }
.hb-boxes__cat.is-on .hb-boxes__cat-txt small { color: var(--hb-sage-dark); font-weight: 700; }
.hb-boxes__dd .hb-dd__btn { justify-content: space-between; min-height: 50px; padding: 0 18px; border: 1px solid rgba(53, 43, 36, .12); border-radius: 99px !important; background: var(--hb-white); font-size: 16px; }
.hb-boxes__dd .hb-dd__btn:hover, .hb-boxes__dd.is-open .hb-dd__btn { background: var(--hb-white); border-color: var(--hb-sage); }
.hb-boxes__dd .hb-dd__value { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.hb-boxes__dd .hb-dd__list { inset-inline: 0; font-size: 16px; }
.hb-boxes__sum { position: sticky; top: calc(var(--hb-header-h) + 30px); display: grid; gap: 12px; padding: 26px; border-radius: 22px; background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-boxes__sum p { margin: 0; }
.hb-boxes__unit, .hb-boxes__total { display: grid; gap: 2px; }
.hb-boxes__unit span, .hb-boxes__total span { font-size: 16px; color: rgba(255, 255, 255, .8); }
.hb-boxes__unit strong { font-size: 26px; }
.hb-boxes__unit small { font-size: 13.5px; color: rgba(255, 255, 255, .65); }
.hb-boxes__total { padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .14); }
.hb-boxes__total strong { font-size: 34px; line-height: 1.1; }
.hb-boxes__err { padding: 10px 14px; border-radius: 12px; background: rgba(250, 178, 11, .16); font-weight: 700; font-size: 14.5px; color: var(--hb-gold); }
.hb-boxes__err.is-red { background: rgba(230, 120, 100, .18); color: #ffb9a8; }
.hb-boxes__err[hidden] { display: none; }
.hb-boxes__add { min-width: 0; width: 100%; background: var(--hb-sage); color: var(--hb-white); }
.hb-boxes__add:hover { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-boxes__add:disabled { background: rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .55); cursor: not-allowed; }
.hb-boxes__add.is-loading { opacity: .7; }
.hb-boxes__note { font-size: 13.5px; color: rgba(255, 255, 255, .7); }
@media (max-width: 1023px) {
	.hb-cp.hb-contact > .hb-boxes__builder { grid-template-columns: 1fr; }
	.hb-boxes__sum { position: static; }
}
@media (max-width: 640px) {
	.hb-boxes__cat { grid-template-columns: 26px minmax(0, 1fr); padding: 12px; }
	.hb-boxes__dd { grid-column: 1 / -1; }
	.hb-boxes__step { padding: 20px; }
}
.hb-cartd__added::before { content: "✓"; display: grid; place-items: center; background: var(--hb-sage); font-size: 15px; color: var(--hb-white); }
.hb-checkout .woocommerce-error a { text-decoration: none; }
.hb-checkout .woocommerce-error li { margin: 2px 0; }
.hb-co input.input-text, .hb-co input::placeholder { text-transform: none; }
@media (max-width: 1023px) { .hb-cartp, .hb-co { grid-template-columns: minmax(0, 1fr); } }
.hb-cline__detail dl { display: block; line-height: 1.55; }
.hb-cline__detail dt { display: inline; }
.hb-cline__detail dt::after { content: ": "; }
.hb-cline__detail dd { display: inline; }
.hb-cline__detail dd::after { content: "\A"; white-space: pre; }
.hb-cartp__sum, .hb-co__sum, .hb-boxes__sum { grid-template-columns: minmax(0, 1fr); min-width: 0; }
@media (max-width: 640px) {
	.hb-clines--full .hb-cline { grid-template-columns: 72px minmax(0, 1fr) auto; }
	.hb-clines--full .hb-cline__price { min-width: 0; align-self: center; }
}

/* Packages hub: the personal boxes strip (links to /personal-boxes/). */
.hb-pkp > .hb-pkp__boxes { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 40px; margin: 65px max(clamp(20px, 4.5vw, 60px), calc((100% - 1320px) / 2)) 0; padding: clamp(28px, 3.5vw, 48px) clamp(24px, 3.5vw, 52px) !important; border-radius: var(--hb-radius-lg); background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-pkp__boxes h2 { margin: 0; font-weight: 700; font-size: clamp(28px, 2.6vw, 38px); line-height: 1.15; }
.hb-pkp__boxes p { max-width: 56ch; margin: 8px 0 0; font-size: 18px; color: rgba(255, 255, 255, .82); }
.hb-pkp__boxes-btn { background: var(--hb-sage); color: var(--hb-white); }
.hb-pkp__boxes-btn:hover { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-pkp > .hb-pkp__boxes + .hb-faqp__cta { margin-top: 15px; }
@media (max-width: 640px) { .hb-pkp > .hb-pkp__boxes { margin-inline: 0; } .hb-pkp__boxes-btn { min-width: 0; width: 100%; } }

/* Checkout v2: cards and fields exactly like the contact form (pink card, white fields with no frame). */
.hb-co__step { background: #e5cec7; }
.hb-co h2.hb-co__head { display: block; margin: 0 0 18px; }
.hb-checkout form.hb-co label, .hb-checkout form.hb-co .hb-field__label { display: block; margin: 0 0 6px; font-weight: 500; font-size: 17px; line-height: 1.4; color: var(--hb-ink-warm); }
.hb-checkout form.hb-co abbr.required, .hb-checkout form.hb-co label .required { color: var(--hb-cat-count); text-decoration: none; border: 0; }
.hb-checkout form.hb-co label .optional { font-weight: 400; color: rgba(53, 43, 36, .55); }
.hb-checkout form.hb-co .form-row .input-text, .hb-checkout form.hb-co .form-row textarea, .hb-checkout form.hb-co .hb-co__addr .input-text { width: 100%; min-height: 46px; height: auto; padding: 10px 16px; border: 1px solid transparent !important; border-radius: 14px; background: var(--hb-white); box-shadow: none; color: var(--hb-ink-warm); font: 500 16px var(--hb-font); line-height: 1.4; text-transform: none; transition: border-color .2s var(--ease-out); }
.hb-checkout form.hb-co .form-row textarea { min-height: 96px; resize: vertical; }
.hb-checkout form.hb-co .form-row .input-text::placeholder, .hb-checkout form.hb-co .form-row textarea::placeholder { color: rgba(53, 43, 36, .45); text-transform: none; }
.hb-checkout form.hb-co .form-row .input-text:focus, .hb-checkout form.hb-co .form-row textarea:focus { outline: none; border-color: var(--hb-sage) !important; box-shadow: 0 0 0 3px rgba(141, 162, 139, .2); }
.hb-checkout form.hb-co .form-row.woocommerce-invalid .input-text, .hb-checkout form.hb-co .form-row.woocommerce-invalid .hb-date__btn, .hb-checkout form.hb-co .form-row.woocommerce-invalid .hb-dd__btn { border-color: #c4452c !important; }
.hb-checkout form.hb-co .hb-date__btn, .hb-checkout form.hb-co .hb-dd--field .hb-dd__btn { border: 1px solid transparent; background: var(--hb-white); }
.hb-co__chip span { border-color: transparent; background: var(--hb-white); }
.hb-co__fee, .hb-co__pickup { background: rgba(255, 255, 255, .6); }
.hb-co #payment ul.payment_methods li { border-color: transparent; background: var(--hb-white); }
.hb-co .woocommerce-form__label-for-checkbox { font-size: 15px !important; font-weight: 500 !important; }
.hb-co .woocommerce-form__label-for-checkbox input { accent-color: var(--hb-ink-warm); }
.hb-co .woocommerce-invalid-required-field .checkout-inline-error-message, .hb-co .checkout-inline-error-message { margin: 6px 0 0; font-size: 14px; color: #a3371f; }

/* Checkout v3: white cards again; fields get a soft pink frame. The pay button is centred. */
.hb-co__step { background: var(--hb-white); }
.hb-checkout form.hb-co .form-row .input-text, .hb-checkout form.hb-co .form-row textarea, .hb-checkout form.hb-co .hb-co__addr .input-text,
.hb-checkout form.hb-co .hb-date__btn, .hb-checkout form.hb-co .hb-dd--field .hb-dd__btn { border: 1px solid var(--hb-rose) !important; background: var(--hb-white); }
.hb-checkout form.hb-co .hb-date__btn:hover, .hb-checkout form.hb-co .hb-date.is-open .hb-date__btn, .hb-checkout form.hb-co .hb-dd--field .hb-dd__btn:hover, .hb-checkout form.hb-co .hb-dd--field.is-open .hb-dd__btn,
.hb-checkout form.hb-co .form-row .input-text:focus, .hb-checkout form.hb-co .form-row textarea:focus { border-color: var(--hb-sage) !important; }
.hb-co__chip span { border: 1px solid var(--hb-rose); background: var(--hb-white); }
.hb-co__fee { background: var(--hb-filter-bg); }
.hb-co__pickup { background: #e6ede5; }
.hb-co #payment ul.payment_methods li { border: 1px solid var(--hb-rose); background: var(--hb-filter-bg); }
.hb-co #payment ul.payment_methods li:has(input:checked) { border-color: var(--hb-sage); box-shadow: none; }
.hb-co__cancel { margin: 0 0 16px; font-size: 14px; line-height: 1.5; color: rgba(53, 43, 36, .65); }
.hb-checkout form.hb-co #place_order { float: none; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 63px; margin: 0; padding: 0 28px; line-height: 1; text-align: center; }
.hb-boxes__step--content h2 { margin-bottom: 0; }

/* Thank-you rows: more room between the label and its value. Panel pages (cart, checkout, personal
   area): the same 15px gap under the panel as above it, down to the footer. */
.hb-ty__rows { column-gap: 48px; }
.hb-cp.hb-contact.hb-cartpage, .hb-cp.hb-contact.hb-checkout, .hb-cp.hb-contact.hb-acc { padding-bottom: 0; }

/* Personal area (screen 16) ---------------------------------------------------------------------- */
.hb-cp.hb-contact > .hb-acc__box { margin-top: 15px; padding-block: clamp(32px, 4vw, 56px); border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); color: var(--hb-ink-warm); }
.hb-acc .hb-about__h2 { margin: 0; }
.hb-acc__card { padding: clamp(22px, 2.6vw, 32px); border-radius: 26px; background: var(--hb-white); }
.hb-acc__card > h2, .hb-acc__h { margin: 0 0 14px; font-weight: 700; font-size: clamp(22px, 2vw, 26px); line-height: 1.2; }
.hb-acc__h { margin: 30px 0 12px; }
/* Fields: the checkout look (white, soft pink frame). */
.hb-acc .hb-field input { border: 1px solid var(--hb-rose); background: var(--hb-white); }
.hb-acc .hb-field input:focus { border-color: var(--hb-sage); }
.hb-acc .hb-field.is-invalid input { border-color: #c4452c; }
.hb-acc__err { font-size: 14px; color: #a3371f; }
.hb-acc__go { min-width: 0; width: 100%; background: var(--hb-sage); color: var(--hb-white); }
.hb-acc__go:hover { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-acc__go.is-loading, .hb-acc__again.is-loading { opacity: .65; pointer-events: none; }
.hb-acc__alt { min-width: 0; width: 100%; border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-acc__alt:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-acc__links { margin: 14px 0 0; text-align: center; font-size: 15px; color: rgba(53, 43, 36, .6); }
.hb-acc__links a, .hb-acc__links button { font-weight: 700; color: var(--hb-ink-warm); text-decoration: underline; text-underline-offset: 3px; }
.hb-acc__msg { margin: 14px 0 0; padding: 10px 14px; border-radius: 12px; background: #fbe9e4; font-weight: 700; font-size: 15px; color: #8a2d1a; }
.hb-acc__msg.is-ok { background: #e6ede5; color: var(--hb-sage-dark); }
.hb-acc__msg[hidden] { display: none; }
.hb-acc__small { margin: 0 0 12px; font-size: 14.5px; color: rgba(53, 43, 36, .65); }
/* Login. */
.hb-acc__login { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: clamp(24px, 4vw, 64px); align-items: center; }
.hb-acc__lead { margin: 14px 0 0; max-width: 46ch; font-size: 19px; line-height: 1.6; color: rgba(53, 43, 36, .8); }
.hb-acc__perks { display: grid; gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; font-size: 17px; }
.hb-acc__perks li { position: relative; padding-inline-start: 30px; }
.hb-acc__perks li::before { content: ""; position: absolute; top: 3px; inset-inline-start: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--hb-sage); }
.hb-acc__perks li::after { content: ""; position: absolute; top: 9px; inset-inline-start: 6px; width: 8px; height: 7px; background: var(--hb-white); -webkit-mask: url("../img/check.svg") center / contain no-repeat; mask: url("../img/check.svg") center / contain no-repeat; }
.hb-acc__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 18px; padding: 4px; border-radius: 99px; background: var(--hb-filter-bg); }
.hb-acc__tabs button { min-height: 42px; border-radius: 99px; font-weight: 700; font-size: 15.5px; color: rgba(53, 43, 36, .7); transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-acc__tabs button.is-on { background: var(--hb-rose); color: var(--hb-ink-warm); }
.hb-acc__form { display: grid; gap: 14px; }
.hb-acc__form [data-hb-acc-step] { display: grid; gap: 14px; }
.hb-acc__form [hidden] { display: none !important; }
.hb-acc__sent { margin: 0; padding: 10px 14px; border-radius: 12px; background: #e6ede5; font-weight: 700; font-size: 15px; color: var(--hb-sage-dark); }
.hb-acc .hb-acc__otp { font-size: 24px; letter-spacing: .35em; text-align: center !important; }
.hb-acc__guest { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid rgba(53, 43, 36, .1); font-size: 14.5px; color: rgba(53, 43, 36, .7); }
.hb-acc__guest a { font-weight: 700; color: var(--hb-ink-warm); }
.hb-acc__narrow { max-width: 560px; margin: 0 auto; }
.hb-acc__wc .woocommerce-ResetPassword p { margin: 0 0 12px; }
.hb-acc__wc input.input-text { width: 100%; min-height: 46px; padding: 10px 16px; border: 1px solid var(--hb-rose); border-radius: 14px; font: 500 16px var(--hb-font); }
.hb-acc__wc button[type=submit] { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; border-radius: 99px; background: var(--hb-sage); font-weight: 700; font-size: 18px; color: var(--hb-white); }
/* Dashboard. */
.hb-acc__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 20px; }
.hb-acc__nav { display: flex; gap: 18px; font-weight: 700; font-size: 16px; }
.hb-acc__nav a { color: var(--hb-ink-warm); text-underline-offset: 4px; }
.hb-acc__out { color: rgba(53, 43, 36, .65) !important; }
.hb-acc__note { margin-top: 18px; padding: 18px 20px; border: 1px solid var(--hb-sage); border-radius: 20px; background: #f2f5f0; }
.hb-acc__note.is-warn { border-color: var(--hb-orange); background: #fff7ea; }
.hb-acc__note[hidden] { display: none; }
.hb-acc__note strong { display: block; font-size: 18px; color: var(--hb-ink-warm); }
.hb-acc__note.is-warn strong { color: var(--hb-orange-dark); }
.hb-acc__note p { margin: 6px 0 0; font-size: 16px; }
.hb-acc__missing { color: rgba(53, 43, 36, .7); }
.hb-acc__note-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.hb-acc__note-btns .hb-btn { width: auto; min-height: 46px; }
.hb-acc__next { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 22px; background: var(--hb-white); text-decoration: none; color: var(--hb-ink-warm); box-shadow: inset 0 0 0 1px var(--hb-rose); transition: none; }
.hb-acc__next:hover { box-shadow: inset 0 0 0 2px var(--hb-sage); }
.hb-acc__next-ico { width: 52px; height: 52px; border-radius: 50%; background: var(--hb-rose); -webkit-mask: none; position: relative; }
.hb-acc__next-ico::after { content: ""; position: absolute; inset: 14px; background: var(--hb-ink-warm); -webkit-mask: url("../img/faq-cal.svg") center / contain no-repeat; mask: url("../img/faq-cal.svg") center / contain no-repeat; }
.hb-acc__next-txt { display: grid; gap: 2px; }
.hb-acc__next-txt strong { font-size: 19px; }
.hb-acc__next-txt span { font-size: 15.5px; color: rgba(53, 43, 36, .7); }
.hb-acc__chip { display: inline-block; padding: 5px 14px; border-radius: 99px; background: var(--hb-filter-bg); font-weight: 700; font-size: 14px; white-space: nowrap; vertical-align: middle; }
.hb-acc__chip--go { background: var(--hb-sage); color: var(--hb-white); }
.hb-acc__chip--ok { background: #e6ede5; color: var(--hb-sage-dark); }
.hb-acc__chip--wait { background: #fff1d6; color: #9a6500; }
.hb-acc__chip--done { background: var(--hb-filter-bg); color: rgba(53, 43, 36, .65); }
.hb-acc__order-date .hb-acc__chip { margin-inline-start: 8px; padding: 2px 10px; font-size: 12.5px; }
.hb-acc__orders { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.hb-acc__order { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px 22px; padding: 16px 20px; border-radius: 20px; background: var(--hb-white); }
.hb-acc__order-main { display: grid; gap: 2px; min-width: 0; text-decoration: none; color: var(--hb-ink-warm); }
.hb-acc__order-main:hover .hb-acc__order-date { text-decoration: underline; }
.hb-acc__order-date { font-weight: 700; font-size: 17px; }
.hb-acc__order-items { overflow: hidden; font-size: 15px; color: rgba(53, 43, 36, .65); white-space: nowrap; text-overflow: ellipsis; }
.hb-acc__order-total { font-weight: 700; font-size: 18px; white-space: nowrap; }
.hb-acc__again { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border: 1px solid var(--hb-ink-warm); border-radius: 99px; font-weight: 700; font-size: 15px; color: var(--hb-ink-warm); text-decoration: none; white-space: nowrap; transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-acc__again:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-acc__all { margin: 12px 0 0; font-weight: 700; }
.hb-acc__all a { color: var(--hb-ink-warm); text-underline-offset: 4px; }
.hb-acc__empty { margin: 0; padding: 20px; border-radius: 20px; background: var(--hb-white); font-size: 16.5px; color: rgba(53, 43, 36, .75); }
.hb-acc__empty a { font-weight: 700; color: var(--hb-ink-warm); }
.hb-acc__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin: 30px 0 0; padding: 0; list-style: none; }
.hb-acc__tiles a { display: grid; gap: 4px; height: 100%; padding: 22px; border-radius: 22px; background: var(--hb-white); text-decoration: none; color: var(--hb-ink-warm); box-shadow: inset 0 0 0 1px transparent; transition: transform .2s var(--ease-out); }
.hb-acc__tiles a:hover { box-shadow: inset 0 0 0 2px var(--hb-rose); transform: translateY(-2px); }
.hb-acc__tiles strong { font-size: 19px; }
.hb-acc__tiles span { font-size: 15px; color: rgba(53, 43, 36, .65); }
/* One order. */
.hb-acc__orderview { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; margin-top: 22px; }
.hb-acc__ordertitle { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 22px; }
.hb-acc__rows { margin: 16px 0; padding: 0; background: none; font-size: 16.5px; }
.hb-acc__rows dt:last-of-type, .hb-acc__rows dd:last-of-type { padding-top: 0; border: 0; font-size: inherit; }
.hb-acc__lines { display: grid; gap: 10px; margin: 0; padding: 16px 0; border-block: 1px solid rgba(53, 43, 36, .1); list-style: none; }
.hb-acc__lines li { display: flex; justify-content: space-between; gap: 16px; font-size: 16px; }
.hb-acc__lines small { color: rgba(53, 43, 36, .6); }
.hb-acc__meta { display: block; font-size: 14px; color: rgba(53, 43, 36, .65); }
.hb-acc__meta p { display: inline; margin: 0; }
.hb-acc__ordertotal { display: flex; justify-content: space-between; align-items: baseline; margin: 14px 0 0; font-size: 18px; }
.hb-acc__ordertotal strong { font-size: 26px; }
.hb-acc__orderside { display: grid; gap: 10px; }
/* Details. */
.hb-acc__details { display: grid; gap: 15px; margin-top: 22px; }
.hb-acc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.hb-acc__wide { grid-column: 1 / -1; }
.hb-acc__addrs { display: grid; gap: 12px; }
.hb-acc__check { display: flex; align-items: flex-start; gap: 10px; font-size: 16px; cursor: pointer; }
.hb-acc__check input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--hb-sage); }
.hb-acc__save { display: grid; gap: 4px; max-width: 360px; }
.hb-acc__inv .hb-acc__order { grid-template-columns: minmax(0, 1fr) auto auto; }
@media (max-width: 1023px) {
	.hb-acc__login, .hb-acc__orderview { grid-template-columns: minmax(0, 1fr); }
	.hb-acc__tiles { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.hb-acc__order { grid-template-columns: minmax(0, 1fr) auto; }
	.hb-acc__order .hb-acc__again { grid-column: 1 / -1; }
	.hb-acc__next { grid-template-columns: 44px minmax(0, 1fr); }
	.hb-acc__next-ico { width: 44px; height: 44px; }
	.hb-acc__next .hb-acc__chip { grid-column: 2; justify-self: start; }
	.hb-acc__grid { grid-template-columns: minmax(0, 1fr); }
	.hb-acc__save { max-width: none; }
}
.hb-acc__form[hidden], .hb-acc__auth [role=tabpanel][hidden] { display: none; }

/* Seasonal page (screen 19) ------------------------------------------------------------------------ */
.hb-season__deadline { display: inline-flex; align-items: center; gap: 8px; margin: 16px 0 0; padding: 8px 16px; border-radius: 99px; background: var(--hb-gold); font-weight: 700; font-size: 16px; color: var(--hb-ink-warm); }
.hb-season__clock { width: 18px; height: 18px; background: currentColor; -webkit-mask: url("../img/faq-cal.svg") center / contain no-repeat; mask: url("../img/faq-cal.svg") center / contain no-repeat; }
.hb-cp.hb-contact > .hb-season__admin { margin: 15px max(clamp(20px, 4.5vw, 60px), calc((100% - 1320px) / 2)) 0; padding: 12px 20px !important; border: 1px dashed var(--hb-orange); border-radius: 16px; background: #fff7ea; font-size: 15px; color: #9a6500; }
.hb-cp.hb-contact > .hb-season__off { margin-top: 15px; padding-block: clamp(32px, 4vw, 52px); border-radius: var(--hb-radius-lg); background: var(--hb-rose); text-align: center; color: var(--hb-ink-warm); }
.hb-season__off p { max-width: 56ch; margin: 0 auto; font-weight: 500; font-size: clamp(19px, 1.7vw, 23px); line-height: 1.5; }
.hb-season__off-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 22px; }
.hb-season__go { background: var(--hb-sage); color: var(--hb-white); }
.hb-season__go:hover { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-season__alt { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-season__alt:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cp.hb-contact > .hb-season__panel { margin-top: 15px; padding-block: clamp(36px, 4vw, 60px); border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); }
.hb-season__panel .hb-about__h2, .hb-season__pkgs .hb-about__h2 { margin: 0 0 26px; }
.hb-season__panel .hb-about__h2:has(+ .hb-season__sub) { margin-bottom: 8px; text-align: center; }
.hb-season__sub { margin: 0 0 24px; text-align: center; font-size: 18px; color: var(--hb-ink-warm); }
@media (min-width: 1101px) { .hb-season__grid.hb-prod__grid { grid-template-columns: repeat(var(--n, 4), minmax(0, 320px)); justify-content: center; } }
.hb-season__b { background: var(--hb-gold); color: var(--hb-ink-warm); }
.hb-cp.hb-contact > .hb-season__pkgs { padding-top: var(--cp-gap); }
.hb-cp.hb-contact > .hb-season__biz { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 40px; margin: var(--cp-gap) max(clamp(20px, 4.5vw, 60px), calc((100% - 1320px) / 2)) 0; padding: clamp(28px, 3.5vw, 48px) clamp(24px, 3.5vw, 52px) !important; border-radius: var(--hb-radius-lg); background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-season__biz h2 { margin: 0; font-weight: 700; font-size: clamp(26px, 2.4vw, 34px); line-height: 1.15; }
.hb-season__biz p { max-width: 56ch; margin: 8px 0 0; font-size: 18px; color: rgba(255, 255, 255, .82); }
.hb-season__biz-btn { background: var(--hb-sage); color: var(--hb-white); }
.hb-season__biz-btn:hover { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-season > .hb-cp__faq { margin-top: var(--cp-gap); }
@media (max-width: 640px) {
	.hb-cp.hb-contact > .hb-season__biz, .hb-cp.hb-contact > .hb-season__admin { margin-inline: 0; }
	.hb-season__biz-btn, .hb-season__off .hb-btn { min-width: 0; width: 100%; }
}

/* System states (screen 20) ---------------------------------------------------------------------- */
.hb-cp.hb-contact.hb-state { padding-bottom: 0; }
.hb-cp.hb-contact > .hb-state__box, .hb-cp.hb-contact > .hb-state__panel { margin-top: 15px; padding-block: clamp(44px, 6vw, 90px); border-radius: var(--hb-radius-lg); background: var(--hb-filter-bg); color: var(--hb-ink-warm); }
.hb-state__box { display: grid; justify-items: center; gap: 14px; text-align: center; }
.hb-state__code { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0; font-weight: 700; font-size: clamp(110px, 14vw, 190px); line-height: .9; color: var(--hb-ink-warm); }
.hb-state__code img { width: clamp(100px, 12vw, 160px); height: auto; filter: drop-shadow(0 12px 24px rgba(53, 43, 36, .2)); }
.hb-state__title { margin: 0; font-weight: 700; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.1; }
.hb-state__text { max-width: 52ch; margin: 0; font-size: 18px; line-height: 1.6; color: rgba(53, 43, 36, .78); }
.hb-state__sugg { font-weight: 700; color: var(--hb-orange-dark); text-underline-offset: 4px; }
.hb-state__ico { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: var(--hb-rose); }
.hb-state__ico::after { content: ""; width: 34px; height: 34px; background: var(--hb-ink-warm); -webkit-mask: url("../img/search.svg") center / contain no-repeat; mask: url("../img/search.svg") center / contain no-repeat; }
.hb-state__search { display: flex; gap: 8px; width: min(520px, 100%); margin-top: 8px; padding: 6px; border: 1px solid var(--hb-rose); border-radius: 99px; background: var(--hb-white); }
.hb-state__search input { flex: 1; min-width: 0; min-height: 46px; padding: 0 16px; border: 0; background: none; font: 500 16px var(--hb-font); color: var(--hb-ink-warm); }
.hb-state__search input:focus { outline: none; }
.hb-state__search:focus-within { border-color: var(--hb-sage); box-shadow: 0 0 0 3px rgba(141, 162, 139, .2); }
.hb-state__search .hb-btn { min-height: 46px; padding: 0 26px; }
.hb-state__search--inline { margin: 0 0 26px; }
.hb-state__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 4px 0 0; padding: 0; list-style: none; }
.hb-state__chips .hb-chip { text-decoration: none; }
.hb-state__btns { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 24px; margin-top: 10px; }
.hb-state__alt { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-state__alt:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-state__home { font-weight: 700; color: var(--hb-ink-warm); text-underline-offset: 4px; }
.hb-state__panel .hb-about__h2 { margin: 0; }
.hb-state__count { margin: 6px 0 18px; color: rgba(53, 43, 36, .65); }
/* Filter with no results. */
.hb-shop__empty { display: grid; justify-items: center; gap: 12px; padding: 40px 20px; border-radius: 22px; background: var(--hb-white); text-align: center; }
.hb-shop__empty[hidden] { display: none; }
.hb-shop__empty p { margin: 0; font-size: 17px; }
.hb-shop__empty p strong { display: block; margin-bottom: 4px; font-size: 22px; }
.hb-shop__empty-all { font-weight: 700; font-size: 15px; color: rgba(53, 43, 36, .7); text-decoration: underline; text-underline-offset: 3px; }
/* Payment failed. */
.hb-ty__alt { border-color: var(--hb-ink-warm); color: var(--hb-ink-warm); }
.hb-ty__alt:hover { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-ty__change a { font-weight: 700; color: var(--hb-ink-warm); }
.hb-ty__ico.is-fail { background: #fbe9e4; font-size: 34px; color: #b3361d; }

/* Toasts. */
.hb-toasts { position: fixed; bottom: 20px; left: 50%; z-index: 1200; display: grid; gap: 8px; width: min(420px, calc(100vw - 32px)); transform: translateX(-50%); pointer-events: none; }
.hb-toast { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--hb-sage); border-radius: 16px; background: var(--hb-white); box-shadow: 0 14px 34px rgba(53, 43, 36, .16); font-weight: 500; font-size: 15.5px; color: var(--hb-ink-warm); opacity: 0; transform: translateY(12px); transition: opacity .25s var(--hb-ease), transform .3s var(--hb-ease); pointer-events: auto; }
.hb-toast.is-in { opacity: 1; transform: none; }
.hb-toast.is-out { opacity: 0; transform: translateY(8px); }
.hb-toast span:nth-child(2) { flex: 1; }
.hb-toast__ico { display: grid; place-items: center; flex: none; width: 26px; height: 26px; border: 1.5px solid currentColor; border-radius: 50%; font-weight: 700; font-size: 13px; color: var(--hb-sage-dark); }
.hb-toast--err { border-color: #d4664f; }
.hb-toast--err .hb-toast__ico { color: #b3361d; }
.hb-toast--info { border-color: var(--hb-rose); }
.hb-toast--info .hb-toast__ico { color: var(--hb-cat-count); font-family: Georgia, serif; }
.hb-toast__x { position: relative; flex: none; width: 24px; height: 24px; opacity: .55; }
.hb-toast__x::before, .hb-toast__x::after { content: ""; position: absolute; top: 50%; left: 50%; width: 11px; height: 1.5px; background: currentColor; transform: translate(-50%, -50%) rotate(45deg); }
.hb-toast__x::after { transform: translate(-50%, -50%) rotate(-45deg); }

/* Cookie notice. */
.hb-cookie { position: fixed; bottom: 16px; inset-inline-start: 16px; z-index: 1100; width: min(560px, calc(100vw - 32px)); padding: 16px 18px; border-radius: 22px; background: var(--hb-white); box-shadow: 0 18px 44px rgba(53, 43, 36, .2); color: var(--hb-ink-warm); opacity: 0; transform: translateY(20px); transition: opacity .3s var(--hb-ease), transform .35s var(--hb-ease); }
.hb-cookie.is-in { opacity: 1; transform: none; }
.hb-cookie[hidden] { display: none; }
.hb-cookie__main { display: flex; align-items: center; gap: 14px; }
.hb-cookie__main p { flex: 1; margin: 0; font-size: 14.5px; line-height: 1.5; }
.hb-cookie__main a { font-weight: 700; color: inherit; }
.hb-cookie__btns { display: flex; gap: 8px; }
.hb-cookie .hb-btn { min-height: 42px; padding: 0 18px; font-size: 15px; }
.hb-cookie__ok { background: var(--hb-sage); color: var(--hb-white); }
.hb-cookie__ok:hover { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-cookie__set { border-color: var(--hb-rose); background: var(--hb-filter-bg); color: var(--hb-ink-warm); }
.hb-cookie__set:hover { border-color: var(--hb-ink-warm); }
.hb-cookie__opts { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(53, 43, 36, .1); font-size: 14.5px; }
.hb-cookie__opts[hidden] { display: none; }
.hb-cookie__opts label { display: flex; align-items: flex-start; gap: 10px; }
.hb-cookie__opts input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--hb-sage); }
.hb-cookie__opts .hb-btn { justify-self: start; }
@media (max-width: 640px) {
	.hb-cookie { inset-inline: 10px; bottom: 10px; width: auto; }
	.hb-cookie__main { flex-direction: column; align-items: stretch; }
	.hb-cookie__btns .hb-btn { flex: 1; }
}

/* Accessibility menu (button on the side, panel next to it). */
.hb-a11y { position: fixed; top: 55%; inset-inline-end: 0; z-index: 1050; }
.hb-a11y__btn { display: grid; place-items: center; width: 46px; height: 46px; border-start-start-radius: 14px; border-end-start-radius: 14px; background: var(--hb-ink-warm); color: var(--hb-white); box-shadow: 0 8px 20px rgba(53, 43, 36, .25); }
.hb-a11y__btn:hover { background: #4a3d34; }
.hb-a11y__ico { width: 26px; height: 26px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='4' r='2'/%3E%3Cpath d='M20 8.5l-5 1v4l2 7h-2l-2-6h-2l-2 6H7l2-7v-4l-5-1V7l8 1.5L20 7z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='4' r='2'/%3E%3Cpath d='M20 8.5l-5 1v4l2 7h-2l-2-6h-2l-2 6H7l2-7v-4l-5-1V7l8 1.5L20 7z'/%3E%3C/svg%3E") center / contain no-repeat; }
.hb-a11y__panel { position: absolute; bottom: 0; inset-inline-end: 54px; display: grid; gap: 8px; width: 240px; padding: 16px; border-radius: 20px; background: var(--hb-white); box-shadow: 0 18px 44px rgba(53, 43, 36, .22); color: var(--hb-ink-warm); }
.hb-a11y__panel[hidden] { display: none; }
.hb-a11y__title { margin: 0 0 4px; font-weight: 700; font-size: 18px; }
.hb-a11y__size { display: flex; align-items: center; justify-content: space-between; padding: 4px; border-radius: 99px; background: var(--hb-filter-bg); }
.hb-a11y__size button { width: 40px; height: 36px; border-radius: 99px; background: var(--hb-white); font-weight: 700; }
.hb-a11y__opt { min-height: 40px; padding: 0 14px; border: 1px solid var(--hb-rose); border-radius: 12px; font-weight: 500; font-size: 15px; text-align: start; }
.hb-a11y__opt[aria-pressed="true"] { border-color: var(--hb-sage); background: var(--hb-sage); color: var(--hb-white); }
.hb-a11y__reset { font-weight: 700; font-size: 14px; text-decoration: underline; }
.hb-a11y__link { font-size: 14px; color: inherit; }
/* The modes. */
html.hb-a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; outline: 1px dashed currentColor; outline-offset: 2px; }
html.hb-a11y-font body, html.hb-a11y-font button, html.hb-a11y-font input, html.hb-a11y-font select, html.hb-a11y-font textarea { font-family: Arial, "Arial Hebrew", sans-serif !important; letter-spacing: .01em; }
html.hb-a11y-motion *, html.hb-a11y-motion *::before, html.hb-a11y-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html.hb-a11y-motion .hb-leaf, html.hb-a11y-motion .hb-crumb, html.hb-a11y-motion .hb-side-leaves { display: none !important; }
html.hb-a11y-contrast body { background: #fff; color: #000; }
html.hb-a11y-contrast { --hb-ink-warm: #000; --hb-muted: #000; --hb-cream: #fff; --hb-filter-bg: #fff; --hb-sage: #3f5a3d; --hb-sage-dark: #2c412b; --hb-cat-count: #5c463e; }
html.hb-a11y-contrast p, html.hb-a11y-contrast li, html.hb-a11y-contrast span, html.hb-a11y-contrast label { color: inherit; }
.hb-state__box { grid-template-columns: minmax(0, 1fr); }
.hb-state__search { max-width: 100%; justify-self: center; }
@media (max-width: 640px) {
	.hb-a11y { top: auto; bottom: 150px; }
	.hb-a11y__btn { width: 40px; height: 40px; }
	.hb-a11y__panel { bottom: 0; inset-inline-end: 48px; width: min(240px, calc(100vw - 70px)); }
	.hb-state__search .hb-btn { padding: 0 18px; }
}

/* Mobile pass (home page first) ------------------------------------------------------------------ */
.hb-topbar__search { display: none; color: inherit; font: inherit; }
.hb-topbar__search .hb-ico { width: 16px; height: 16px; }
.hb-fab { display: none; }
@media (max-width: 767px) {
	/* Header: search moves to the top bar instead of WhatsApp; the cart leaves the bar. */
	.hb-topbar__search { display: inline-flex; }
	.hb-topbar__link:not(.hb-topbar__search):not(.hb-topbar__link--account) { display: none; }
	.hb-header__search, .hb-header__cart { display: none !important; }
	/* Search panel: body text sizes. */
	.hb-search { padding: 8px; gap: 8px; border-radius: 20px; }
	.hb-search input[type="search"] { height: 46px; padding: 0 16px; font-size: 16px; }
	.hb-search .hb-btn { min-width: 0; min-height: 46px; padding: 0 20px; font-size: 16px; }

	/* Floating buttons: the cart (orange, once there is something in it) on the left, WhatsApp on the right. */
	.hb-fab { position: fixed; bottom: 16px; z-index: 900; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; box-shadow: 0 10px 24px rgba(53, 43, 36, .25); transition: transform .25s var(--hb-ease), bottom .3s var(--hb-ease); }
	.hb-fab:active { transform: scale(.94); }
	.hb-fab--cart { left: 16px; background: var(--hb-orange); color: var(--hb-white); animation: hb-choice-pop .4s var(--hb-ease); }
	.hb-fab--cart:has(.hb-cart-count[hidden]) { display: none; }
	.hb-fab--cart .hb-ico--cart { width: 24px; height: 25px; color: var(--hb-white); }
	.hb-fab--cart .hb-cart-count { position: absolute; top: -4px; right: -4px; left: auto; min-width: 22px; height: 22px; padding: 0 6px; border: 2px solid var(--hb-white); border-radius: 99px; background: var(--hb-ink-warm); color: var(--hb-white); font: 700 12px/18px var(--hb-font); text-align: center; }
	.hb-fab--wa { right: 16px; background: var(--hb-sage); }
	.hb-fab__wa { width: 28px; height: 28px; background: var(--hb-white); -webkit-mask: url("../img/whatsapp.svg") center / contain no-repeat; mask: url("../img/whatsapp.svg") center / contain no-repeat; }
	/* Pages with a bottom bar: the buttons sit above it. */
	body:has(.hb-om__bar:not([hidden])) .hb-fab, body:has(.hb-menu__bar) .hb-fab { bottom: 92px; }
	body:has(.hb-cartd.is-open) .hb-fab, body:has(.hb-shop__filters.is-open) .hb-fab { display: none; }
	/* The accessibility button: above the floating cart. */
	.hb-a11y { bottom: 92px; }

	/* Hero: the text in the middle of the frame. */
	.hb-hero { justify-content: center; padding: 120px 20px 110px; }
	/* Benefits: 2px lines in the page colour between the four boxes. */
	.hb-benefits__list { gap: 2px; padding: 0; overflow: hidden; background: var(--hb-cream); }
	.hb-benefits__item { padding: 18px 8px; background: var(--hb-rose); }

	/* More room between sections; above the bagel ("איזה כיף, יש לכם אירוע!") especially. */
	.hb-packages { padding-top: 64px; }
	.hb-packages__text { margin-top: 12px; }
	.hb-ready, .hb-cats, .hb-catering, .hb-why, .hb-trust, .hb-gallery { margin-top: 28px; }
	.hb-packages__more { margin-top: 44px; }

	/* Event filter: a lower box, smaller text and icon. */
	.hb-pk-filter { margin-top: 26px; }
	.hb-pk-filter .hb-dd__btn { min-height: 54px; gap: 10px; padding: 0 14px; font-size: 17px; }
	.hb-pk-filter__icon { width: 36px; height: 36px; }
	.hb-pk-filter__icon img { width: 21px; height: 21px; }

	/* Package cards: title, price and button in body sizes. */
	.hb-pk-card__title { font-size: 22px; line-height: 1.4; }
	.hb-pk-card__amount { font-size: 24px; }
	.hb-pk-card__cta.hb-btn { min-height: 50px; font-size: 17px; }

	/* Categories: each sentence on its own line; smaller round photos. */
	.hb-cats__s { display: block; }
	.hb-cats__grid { gap: 48px 10px; margin-top: 60px; }
	.hb-cat { padding-top: 76px; }
	.hb-cat__img { top: -32px; width: 100px; height: 100px; margin-left: -50px; }

	/* Reviews: room on the right of the slider; the button inside the green panel. */
	.hb-reviews__grid { scroll-padding-inline: 16px; }
	.hb-trust { padding-bottom: 112px; }
	.hb-reviews__more { margin-top: -88px; }
}

/* Mobile pass, round 2 (all pages) ---------------------------------------------------------------- */
/* Carousels move sideways only: no up-and-down drift under the finger. */
.hb-pk-grid, .hb-reviews__grid, .hb-about__team ul, .hb-faqp__chips, .hb-om__cats, .hb-shop__chips { overflow-y: hidden; overscroll-behavior-x: contain; touch-action: pan-x pan-y; }
/* Lines break evenly where the browser can do it (the script joins the last two words everywhere). */
h1, h2, h3, h4 { text-wrap: balance; }
p, li, dd, figcaption { text-wrap: pretty; }
/* Touch screens: no hover lifts and zooms on cards (they jump while scrolling). */
@media (hover: none) {
	.hb-pk-card.is-in:hover, .hb-cat:hover, .hb-clients__logos li:hover, .hb-contact__card:hover, .hb-pkp__menu:hover, .hb-cp__band:hover, .hb-pcard:hover, .hb-prod__pkg:hover, .hb-menu__other:hover, .hb-acc__tiles a:hover { transform: none; }
	.hb-pk-card:hover .hb-pk-card__img, .hb-cat:hover .hb-cat__img img, .hb-pcard:hover .hb-pcard__media img, .hb-pkp__menu:hover .hb-pkp__menu-media img, .hb-cp__band:hover .hb-cp__band-bg img, .hb-event:hover .hb-event__img, .hb-about__team li:hover img, .hb-why__item:hover .hb-why__icon { transform: none; opacity: inherit; }
	.hb-why__item:hover .hb-why__icon--why-kosher { transform: rotate(-90deg); }
	.hb-cat:hover .hb-cat__burst { opacity: 0; }
}
/* The closing band (pink/green): the same space above the title and below the buttons. */
.hb-faqp__cta > :first-child { margin-top: 0; }
.hb-faqp__cta > :last-child { margin-bottom: 0; }

@media (max-width: 767px) {
	/* Header on top of the hero: a larger logo and kosher badge until the page scrolls. */
	.home .hb-header:not(.is-stuck) .hb-header__logo img { width: 150px; }
	.home .hb-header:not(.is-stuck) .hb-header__badge img { width: 58px; }

	/* Packages: the total next to the price (left), so the card is shorter; even space around "לכל החבילות". */
	.hb-pk-card__price { grid-template-columns: 1fr auto; align-items: end; gap: 0 10px; padding-bottom: 14px; }
	.hb-pk-card__total { justify-self: end; padding-bottom: 3px; }
	.hb-packages { padding-bottom: 12px; }
	.hb-packages__more { margin-top: 40px; }
	/* "צריכים פתרון לאירוח מלא?": one flowing paragraph. */
	.hb-catering__text br { display: none; }
	/* Why us: one per row, icon on the right, title and text beside it. */
	.hb-why__list { grid-template-columns: 1fr; gap: 22px; max-width: 420px; margin-inline: auto; }
	.hb-why__item, .hb-why__item:last-child { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-column: auto; column-gap: 14px; align-items: start; padding: 0; text-align: start; }
	.hb-why__icon { grid-row: span 2; width: 34px; height: 34px; margin-top: 4px; justify-self: center; }
	.hb-why__name { margin: 0; font-size: 18px; white-space: normal; }
	.hb-why__text { max-width: none; margin: 4px 0 0; font-size: 15px; }

	/* Side cart and cart page: body sizes. */
	.hb-cartd__head h2 { font-size: 22px; }
	.hb-cline__name { font-size: 16px; }
	.hb-cline__meta, .hb-cline__price { font-size: 15px; }
	.hb-clines--full .hb-cline__name { font-size: 17px; }
	.hb-clines--full .hb-cline__meta { font-size: 14.5px; }
	.hb-clines--full .hb-cline__price { font-size: 16px; }
	.hb-cartd__sub { font-size: 16px; }
	.hb-cartd__sub strong { font-size: 20px; }
	.hb-cartx h3 { font-size: 16px; }
	.hb-cartx__add { font-size: 14px; }
	.hb-cartd__go.hb-btn--lg, .hb-cartp__go.hb-btn--lg { min-height: 52px; font-size: 17px; }
	.hb-cartd__page, .hb-cartd__more { min-height: 44px; font-size: 15px; }
	.hb-cartpage__box > h1, .hb-checkout__box > h1, .hb-acc .hb-about__h2 { font-size: 30px; }
	.hb-cartp__sum h2, .hb-co__sum > h2 { font-size: 20px; }
	.hb-cartp__row, .hb-co__row, .hb-co__lines li { font-size: 15px; }
	.hb-cartp__total, .hb-co__total { font-size: 16px; }
	.hb-cartp__total strong, .hb-co__total strong { font-size: 24px; }
	.hb-cartempty h3 { font-size: 22px; }
	.hb-cartempty p { font-size: 16px; }
	.hb-co h2.hb-co__head { font-size: 22px; }
	.hb-checkout form.hb-co label, .hb-checkout form.hb-co .hb-field__label { font-size: 16px; }
	.hb-co #place_order { min-height: 54px; font-size: 17px; }
	.hb-ty h1 { font-size: 30px; }
	.hb-ty p, .hb-ty__rows { font-size: 16px; }
}

@media (max-width: 767px) {
	/* Buttons in body sizes everywhere (16–17px). */
	.hb-btn { font-size: 16px !important; }
	.hb-btn--lg { font-size: 17px !important; }
	.hb-catering__sub { font-size: 18px; }
	.hb-pkp__price { font-size: 24px; }
	.hb-cp__band-range { font-size: 20px; }
}

/* Mega menus (screen 03): "מגשי אירוח" and "קייטרינג לאירועים" -------------------------------------- */
.hb-mega__toggle { display: none; }
.hb-nav__list > li.hb-has-mega { position: static; }
.hb-nav .hb-has-mega > .sub-menu { display: none; }
.hb-nav .hb-mega { position: absolute; top: calc(100% + 10px); inset-inline: 0; z-index: 60; display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 32px; padding: 30px 34px; background: var(--hb-white); color: var(--hb-ink-warm); border-radius: 28px; box-shadow: 0 24px 60px rgba(53, 43, 36, .18); text-align: start; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .15s var(--hb-ease), transform .2s var(--hb-ease), visibility 0s linear .2s; }
.hb-nav .hb-has-mega.is-open > .hb-mega { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.hb-nav .hb-mega::before { content: ""; position: absolute; inset: -14px 0 auto; height: 14px; } /* Bridge from the link to the panel. */
.hb-nav .hb-has-mega.is-open .hb-nav__chev { transform: rotate(180deg); }
.hb-mega__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 28px; }
.hb-mega__h { margin: 0 0 10px; padding-bottom: 8px; border-bottom: 1px solid rgba(53, 43, 36, .1); font-weight: 700; font-size: 16px; color: var(--hb-ink-warm); }
.hb-mega ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.hb-nav .hb-mega a, .hb-drawer .hb-mega a { color: rgba(53, 43, 36, .86); text-decoration: none; }
.hb-nav .hb-mega ul a { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-inline: -8px; padding: 6px 8px; border-radius: 10px; font-weight: 500; font-size: 15px; line-height: 1.35; white-space: normal; transition: background-color .15s var(--ease-out), color .15s var(--ease-out); }
.hb-nav .hb-mega ul a:hover, .hb-nav .hb-mega ul a:focus-visible { background: var(--hb-filter-bg); color: var(--hb-ink-warm); }
.hb-mega small { flex: none; font-size: 13px; color: rgba(53, 43, 36, .5); }
.hb-nav .hb-mega .hb-mega__all, .hb-drawer .hb-mega .hb-mega__all { display: inline-block; margin-top: 10px; font-weight: 700; font-size: 14.5px; color: var(--hb-orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.hb-mega__card { align-self: start; padding: 22px; border-radius: 22px; background: var(--hb-rose); color: var(--hb-ink-warm); }
.hb-mega__card--dark { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-mega__card-h { margin: 0; font-weight: 700; font-size: 19px; line-height: 1.3; }
.hb-mega__card p:not(.hb-mega__card-h) { margin: 6px 0 0; font-size: 14.5px; line-height: 1.5; opacity: .85; }
.hb-nav .hb-mega .hb-mega__btn, .hb-drawer .hb-mega .hb-mega__btn { width: 100%; min-height: 46px; margin-top: 16px; padding: 0 16px; background: var(--hb-sage); color: var(--hb-white); font-size: 15px; }
.hb-nav .hb-mega .hb-mega__btn:hover, .hb-drawer .hb-mega .hb-mega__btn:hover { background: var(--hb-sage-dark); }
.hb-nav .hb-mega .hb-mega__card--dark .hb-mega__btn, .hb-drawer .hb-mega .hb-mega__card--dark .hb-mega__btn { background: var(--hb-white); color: var(--hb-ink-warm); }
.hb-nav .hb-mega .hb-mega__card--dark .hb-mega__btn:hover { background: var(--hb-rose); }

/* Mobile drawer: the same groups as an accordion under "+". */
.hb-drawer__search { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 0 16px; border: 1px solid var(--hb-rose); border-radius: 99px; background: var(--hb-white); font-weight: 500; font-size: 16px; color: rgba(53, 43, 36, .65); text-align: start; }
.hb-drawer__search .hb-ico { width: 18px; height: 18px; color: var(--hb-ink-warm); }
.hb-drawer__nav .hb-has-mega { position: relative; }
.hb-drawer__nav .hb-has-mega > a { padding-inline-end: 52px; }
.hb-drawer__nav .hb-has-mega > .sub-menu { display: none; }
.hb-drawer__nav .hb-mega__toggle { position: absolute; top: 6px; inset-inline-end: 0; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--hb-white); }
.hb-drawer__nav .hb-mega__toggle::before, .hb-drawer__nav .hb-mega__toggle::after { content: ""; position: absolute; width: 14px; height: 2px; border-radius: 2px; background: var(--hb-ink-warm); transition: transform .25s var(--hb-ease); }
.hb-drawer__nav .hb-mega__toggle::after { transform: rotate(90deg); }
.hb-drawer__nav .hb-has-mega.is-open > .hb-mega__toggle { background: var(--hb-ink-warm); }
.hb-drawer__nav .hb-has-mega.is-open > .hb-mega__toggle::before, .hb-drawer__nav .hb-has-mega.is-open > .hb-mega__toggle::after { background: var(--hb-white); }
.hb-drawer__nav .hb-has-mega.is-open > .hb-mega__toggle::after { transform: rotate(0); }
.hb-drawer__nav .hb-mega { display: none; padding: 14px 0 18px; border-bottom: 1px solid rgba(0, 0, 0, .08); }
.hb-drawer__nav .hb-has-mega.is-open > .hb-mega { display: grid; gap: 16px; animation: hb-rise .3s var(--hb-ease); }
.hb-drawer__nav .hb-mega__cols { display: grid; gap: 16px; }
.hb-drawer__nav .hb-mega__h { margin: 0 0 8px; padding: 0; border: 0; font-size: 13px; letter-spacing: .02em; color: rgba(53, 43, 36, .55); }
.hb-drawer__nav .hb-mega ul { display: flex; flex-wrap: wrap; gap: 6px; }
.hb-drawer__nav .hb-mega ul a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 99px; background: var(--hb-white); font-weight: 500; font-size: 14.5px; line-height: 1.3; }
.hb-drawer__nav .hb-mega ul a:active { background: var(--hb-rose); }
.hb-drawer__nav .hb-mega small { font-size: 12px; }
.hb-drawer__nav .hb-mega__all { margin-top: 8px; font-size: 14px; }
.hb-drawer__nav .hb-mega__card { padding: 16px; border-radius: 18px; }
.hb-drawer__nav .hb-mega__card-h { font-size: 16px; }
.hb-drawer__nav .hb-mega__card p:not(.hb-mega__card-h) { font-size: 14px; }
.hb-drawer__nav .hb-mega__btn { min-height: 44px; margin-top: 12px; }

.hb-drawer__nav .hb-nav__chev { display: none; }
body.hb-lock .hb-fab, body.hb-lock .hb-a11y { display: none; }

/* Simple pages (terms, privacy, accessibility, delivery): the same 50px under the pink box down to the footer as above it. */
.hb-page { padding-bottom: 13px; } /* 13 + the footer 15 = 28, as above the pink box (measured after the reveal animation). */

@media (max-width: 767px) {
	/* The last box of the page: the same gap down to the footer as above it. */
	.hb-about { padding-bottom: 0; }
	.hb-faqp { padding-bottom: 15px; }
	/* FAQ search: body text size. */
	.hb-faqp input[type="search"] { height: 50px; min-height: 50px; font-size: 16px; }
	.hb-faqp input[type="search"]::placeholder { font-size: 16px; }
}

/* Trays category (mobile, final): lighter cards, a filter sheet below the header, a tidy sort box. */
@media (max-width: 767px) {
	/* Filter sheet: starts below the header (room for the X), scrolls inside; the header steps aside. */
	.hb-shop__filters { max-height: calc(100dvh - 104px); }
	body:has(.hb-shop__filters.is-open) .hb-header { opacity: 0; pointer-events: none; }
	/* Sort: rounded box, body-size options. */
	.hb-shop__bar .hb-dd.hb-shop__sort .hb-dd__btn { min-height: 44px; border-radius: 14px !important; font-size: 15px; }
	.hb-shop__sort .hb-dd__list { border-radius: 14px; padding: 6px; }
	.hb-shop__sort .hb-dd__list li { padding: 9px 12px; font-size: 15px; }
	/* Count: small. */
	.hb-shop__count { font-size: 14px; }
	.hb-shop__count strong { font-size: 16px; }
	/* Cards: less padding at the sides, smaller prices, softer corners. */
	.hb-shop__grid { gap: 8px; }
	.hb-pcard { border-radius: 14px; }
	.hb-pcard__media { aspect-ratio: 4 / 3; }
	.hb-pcard__body { padding: 10px 10px 12px; }
	.hb-pcard__badges { margin-bottom: 6px; }
	.hb-pcard__name { font-size: 15px; line-height: 1.3; }
	.hb-pcard__foot { gap: 8px; padding-top: 10px; }
	.hb-pcard__price { font-size: 16px; font-weight: 600; }
	.hb-pcard__add.hb-btn { min-height: 38px; padding: 0 8px; font-size: 14px !important; }
	.hb-pcard__serves, .hb-pcard__rec { font-size: 12.5px; }
}

/* Mobile: trays category with 10px at the sides; product page "worth adding" lighter. */
@media (max-width: 767px) {
	.hb-cp.hb-contact.hb-shop { padding-inline: 0 !important; }
	.hb-cp.hb-contact.hb-shop > .hb-shop__panel { padding-inline: 10px !important; }
	.hb-cp.hb-contact > .hb-prod__related--addons { padding: 28px 10px !important; border-radius: 22px; }
	.hb-prod__related .hb-about__h2 { margin-bottom: 18px; font-size: 24px; }
	.hb-cp.hb-contact > .hb-prod__related--similar { padding-inline: 10px !important; }
	.hb-prod__related .hb-prod__grid { gap: 8px; }
}


/* Motion system (the motion brief) --------------------------------------------------------------- */
:root {
	--ease-out: cubic-bezier(.22, .61, .36, 1);    /* entrances */
	--ease-in-out: cubic-bezier(.65, 0, .35, 1);   /* scroll motion */
	--ease-spring: cubic-bezier(.34, 1.4, .64, 1); /* small icon pops only */
	--dur-hover: 200ms;
	--dur-ui: 280ms;
	--dur-reveal: 900ms;
	--hb-ease: var(--ease-out);
}
/* Hero entrance: up to 300ms, opacity/transform only, never holding the buttons back. */
.hb-intro .hb-hero, .hb-intro .hb-hero__title, .hb-intro .hb-hero__text, .hb-intro .hb-hero__actions > * { animation-duration: .3s !important; animation-delay: 0s !important; }
.hb-intro .hb-hero__media { animation: none !important; }
.hb-intro .hb-about__intro > *, .hb-intro .hb-kosher__body > *, .hb-intro .hb-contact__head > *, .hb-intro .hb-om__head > * { animation-duration: .3s !important; }
.hb-intro .hb-about__title, .hb-intro .hb-kosher__title, .hb-intro .hb-contact__lead, .hb-intro .hb-om__title { animation-delay: .06s !important; }
.hb-intro .hb-about__lead, .hb-intro .hb-kosher__lead, .hb-intro .hb-om__lead { animation-delay: .12s !important; }
.hb-intro .hb-about__facts { animation-delay: .18s !important; }
/* Hover reacts fast (200ms); the slow, soft motion is kept for entrances and scrolling. */
@media (hover: hover) and (pointer: fine) {
	.hb-pk-card:hover, .hb-pk-card:hover .hb-pk-card__img, .hb-cat:hover, .hb-cat:hover .hb-cat__img img, .hb-pcard:hover, .hb-pcard:hover .hb-pcard__media img,
	.hb-event:hover .hb-event__img, .hb-gallery__btn:hover img, .hb-pkp__menu:hover, .hb-pkp__menu:hover .hb-pkp__menu-media img, .hb-cp__band:hover, .hb-cp__band:hover .hb-cp__band-bg img,
	.hb-why__item:hover .hb-why__icon, .hb-clients__logos li:hover, .hb-about__team li:hover img, .hb-contact__card:hover, .hb-prod__pkg:hover, .hb-menu__other:hover, .hb-acc__tiles a:hover { transition-duration: var(--dur-hover) !important; }
}
/* Touch: a short press response instead of hover. */
@media (hover: none) {
	.hb-pk-card:active, .hb-cat:active, .hb-pcard:active, .hb-pkp__menu:active, .hb-cp__band:active { transform: scale(.98); transition: transform 120ms var(--ease-out); }
}
/* Endless loops run only while on screen (main.js toggles .is-paused); the ticker stops on hover and focus. */
.is-paused, .is-paused > *, .is-paused::after { animation-play-state: paused !important; }
.hb-ticker:hover .hb-ticker__band, .hb-ticker:focus-within .hb-ticker__band { animation-play-state: paused; }
/* Reduced motion and "עצירת אנימציות": nothing moves, all content visible. */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	[data-hb-reveal] { opacity: 1 !important; transform: none !important; }
}
html.hb-a11y-motion [data-hb-reveal] { opacity: 1 !important; transform: none !important; }
html.hb-a11y-motion { scroll-behavior: auto !important; }

/* Mobile sticky CTA bar ("התחלת הזמנה" · WhatsApp) -------------------------------------------------- */
.hb-ctabar { display: none; }
@media (max-width: 767px) {
	.hb-ctabar { position: fixed; inset: auto 10px calc(10px + env(safe-area-inset-bottom)) 10px; z-index: 880; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 8px; border-radius: 22px; background: rgba(255, 255, 255, .96); box-shadow: 0 10px 30px rgba(53, 43, 36, .2); backdrop-filter: blur(8px); }
	.hb-ctabar__start.hb-btn { min-height: 48px; padding: 0 16px; background: var(--hb-orange); color: var(--hb-white); font-size: 16px !important; }
	.hb-ctabar__start.hb-btn:active { background: var(--hb-orange-dark); }
	.hb-ctabar__wa { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px; border-radius: 99px; background: var(--hb-sage); font-weight: 700; font-size: 15px; color: var(--hb-white); text-decoration: none; }
	.hb-ctabar__wa .hb-fab__wa { width: 20px; height: 20px; }
	body:has(.hb-ctabar) { padding-bottom: 76px; }
	/* The floating cart and the accessibility button sit above the bar. */
	body:has(.hb-ctabar) .hb-fab--cart { bottom: 84px; }
	body:has(.hb-ctabar) .hb-a11y { bottom: 150px; }
	body.hb-lock .hb-ctabar, body:has(.hb-cartd.is-open) .hb-ctabar, body:has(.hb-shop__filters.is-open) .hb-ctabar { display: none; }
}
.hb-fab--wa { display: none !important; } /* WhatsApp now lives in the bar. */

/* "התחלת הזמנה" window: a bottom sheet on the phone, a card in the middle on desktop. */
.hb-start { width: min(460px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: 26px 24px 22px; border: 0; border-radius: 26px; background: var(--hb-filter-bg); color: var(--hb-ink-warm); box-shadow: 0 30px 80px rgba(53, 43, 36, .3); overflow-y: auto; text-align: start; }
.hb-start::backdrop { background: rgba(29, 24, 20, .5); }
.hb-start[open] { animation: hb-start-in var(--dur-ui, 280ms) var(--ease-out, ease-out); }
@keyframes hb-start-in { from { opacity: 0; transform: translateY(16px); } }
.hb-start__handle { display: none; }
.hb-start__x { position: absolute; top: 14px; inset-inline-end: 14px; width: 36px; height: 36px; border-radius: 50%; background: var(--hb-white); }
.hb-start__x::before, .hb-start__x::after { content: ""; position: absolute; top: 50%; left: 50%; width: 13px; height: 2px; border-radius: 2px; background: var(--hb-ink-warm); transform: translate(-50%, -50%) rotate(45deg); }
.hb-start__x::after { transform: translate(-50%, -50%) rotate(-45deg); }
.hb-start h2 { margin: 0; padding-inline-end: 40px; font-weight: 700; font-size: 24px; line-height: 1.2; }
.hb-start__lead { margin: 6px 0 0; font-size: 15.5px; color: rgba(53, 43, 36, .72); }
.hb-start__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.hb-start__chip { display: inline-flex; align-items: center; min-height: 46px; padding: 0 18px; border: 1px solid var(--hb-rose); border-radius: 99px; background: var(--hb-white); font-weight: 700; font-size: 16px; color: var(--hb-ink-warm); text-decoration: none; transition: background-color var(--dur-hover, 200ms) var(--ease-out, ease-out), border-color var(--dur-hover, 200ms) var(--ease-out, ease-out); }
.hb-start__chip:hover, .hb-start__chip:focus-visible { border-color: var(--hb-sage); background: #f2f5f0; }
.hb-start__links { display: grid; gap: 8px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid rgba(53, 43, 36, .1); list-style: none; }
.hb-start__links a { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 15px; color: rgba(53, 43, 36, .75); text-decoration: none; }
.hb-start__links a span:last-child { font-weight: 700; color: var(--hb-orange-dark); white-space: nowrap; }
@media (max-width: 767px) {
	.hb-start { width: 100%; max-width: none; margin: auto 0 0; padding: 12px 18px calc(20px + env(safe-area-inset-bottom)); border-radius: 26px 26px 0 0; }
	.hb-start[open] { animation-name: hb-start-up; }
	@keyframes hb-start-up { from { transform: translateY(100%); } }
	.hb-start__handle { display: block; width: 44px; height: 5px; margin: 0 auto 14px; border-radius: 99px; background: rgba(53, 43, 36, .2); }
	.hb-start__x { top: 22px; }
	.hb-start h2 { font-size: 21px; }
	.hb-start__chips { display: grid; grid-template-columns: 1fr 1fr; }
	.hb-start__chip { justify-content: center; }
	.hb-start__links a { flex-direction: column; gap: 2px; }
}

/* Search suggestions dropdown. */
.hb-sug { position: absolute; top: calc(100% + 6px); inset-inline: 0; z-index: 70; max-height: min(420px, 60vh); margin: 0; padding: 6px; overflow-y: auto; list-style: none; border-radius: 18px; background: var(--hb-white); box-shadow: 0 18px 44px rgba(53, 43, 36, .18); text-align: start; }
.hb-sug[hidden] { display: none; }
.hb-sug__item { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 12px; color: var(--hb-ink-warm); text-decoration: none; }
.hb-sug__item img { width: 40px; height: 40px; border-radius: 10px; object-fit: cover; }
.hb-sug__ico { width: 40px; height: 40px; border-radius: 10px; background: var(--hb-rose) url("../img/search.svg") center / 16px no-repeat; }
.hb-sug__t { overflow: hidden; font-weight: 600; font-size: 15px; white-space: nowrap; text-overflow: ellipsis; }
.hb-sug small { font-size: 13px; color: rgba(53, 43, 36, .6); white-space: nowrap; }
.is-active > .hb-sug__item, .hb-sug__item:hover { background: var(--hb-filter-bg); }
.hb-sug__empty { padding: 12px; font-size: 14.5px; color: rgba(53, 43, 36, .65); }
.hb-sug__all a { display: block; padding: 10px 8px 6px; font-weight: 700; font-size: 14.5px; color: var(--hb-orange-dark); text-decoration: none; }

/* Tray cards: quantity next to the price; the price follows it. */
.hb-pcard__foot { flex-wrap: wrap; }
.hb-pcard__qty { gap: 2px; padding: 2px; border-color: rgba(53, 43, 36, .12); background: var(--hb-filter-bg); }
.hb-pcard__qty .hb-stepper__btn { width: 30px; height: 30px; font-size: 17px; background: var(--hb-white); }
.hb-pcard__qty input { width: 34px; min-height: 30px; font-size: 15px; }
@media (min-width: 768px) {
	.hb-pcard__foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
	.hb-pcard__add { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 767px) {
	.hb-pcard__foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
	.hb-pcard__add { grid-column: 1 / -1; }
	.hb-pcard__qty .hb-stepper__btn { width: 26px; height: 26px; font-size: 15px; }
	.hb-pcard__qty input { width: 26px; min-height: 26px; font-size: 14px; }
}

/* Packages page: how to choose (by guests / price / event type). */
.hb-pk-tabs { display: flex; justify-content: center; gap: 6px; width: max-content; max-width: calc(100% - 32px); margin: 0 auto 22px; padding: 5px; border-radius: 999px; background: var(--hb-filter-bg); }
.hb-pk-tabs__btn { padding: 10px 22px; border: 0; border-radius: 999px; background: transparent; color: var(--hb-ink); font: inherit; font-size: 17px; font-weight: 500; cursor: pointer; transition: background-color var(--hb-dur-fast, .2s) var(--hb-ease-out, ease), color var(--hb-dur-fast, .2s) var(--hb-ease-out, ease); }
.hb-pk-tabs__btn:hover { background: rgba(255, 255, 255, .6); }
.hb-pk-tabs__btn[aria-pressed="true"] { background: var(--hb-sage-dark); color: #fff; }
.hb-pk-tabs__btn:focus-visible { outline: 2px solid var(--hb-ink); outline-offset: 2px; }
.hb-pk-filter[data-by="price"] .hb-dd:has([data-hb-event]),
.hb-pk-filter[data-by="style"] .hb-dd:has([data-hb-guests]) { display: none; }
.hb-pk-filter[data-by="price"], .hb-pk-filter[data-by="style"] { grid-template-columns: minmax(0, 442px); justify-content: center; }
.hb-pkp__packages .hb-pk-filter { margin-top: 0; }
@media (max-width: 767px) {
	.hb-pk-tabs { width: auto; margin-inline: 16px; gap: 2px; padding: 4px; }
	.hb-pk-tabs__btn { flex: 1 1 0; padding: 10px 6px; font-size: 16px; line-height: 1.2; white-space: nowrap; }
	.hb-pk-filter[data-by="price"], .hb-pk-filter[data-by="style"] { grid-template-columns: 1fr; }
}

/* Product page, mobile: the total and "add to cart" bar. */
.hb-prodbar { display: none; }
@media (max-width: 767px) {
	.hb-prodbar { position: fixed; inset: auto 10px calc(10px + env(safe-area-inset-bottom)) 10px; z-index: 880; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 8px 8px 8px; padding-inline-start: 16px; border-radius: 22px; background: rgba(255, 255, 255, .97); box-shadow: 0 10px 30px rgba(53, 43, 36, .2); transform: translateY(calc(100% + 24px)); opacity: 0; transition: transform .35s var(--hb-ease), opacity .25s var(--hb-ease); }
	.hb-prodbar.is-shown { transform: none; opacity: 1; }
	.hb-prodbar__sum { display: grid; margin: 0; min-width: 0; line-height: 1.25; }
	.hb-prodbar__name { overflow: hidden; color: var(--hb-ink-warm, #6b5b50); font-size: 14px; white-space: nowrap; text-overflow: ellipsis; }
	.hb-prodbar__sum strong { font-size: 18px; }
	.hb-prodbar__add.hb-btn { min-height: 48px; padding: 0 22px; background: var(--hb-orange); color: var(--hb-white); font-size: 17px; }
	.hb-prodbar__add.hb-btn:active { background: var(--hb-orange-dark); }
	body.has-prodbar .hb-fab--cart { bottom: 84px; }
	body.has-prodbar .hb-a11y { bottom: 150px; }
	@media (prefers-reduced-motion: reduce) { .hb-prodbar { transition: none; } }
}


/* "Choose your own trays": a calmer pace (the client's request). Cards come in over longer moves,
   140ms apart (main.js), the card lifts and its photo zooms slowly, the corner bagels drift in. */
[data-hb-slow] [data-hb-reveal] { transform: translateY(36px); transition: opacity 1s var(--ease-out), transform 1.4s var(--ease-out); }
[data-hb-slow] [data-hb-reveal].is-in { transform: none; }
.hb-cat { transition: transform .6s var(--ease-out); }
.hb-cat__img img { transition: transform 1.2s var(--ease-out); }

/* Footer: one whole bagel turning slowly in place, sitting on the top edge of the bottom bar. */
.hb-footer__bagel-whole { position: absolute; left: 50%; top: 0; width: 120px; aspect-ratio: 1; margin: -84px 0 0 -60px; pointer-events: none; }
.hb-footer__bagel-whole img { display: block; width: 100%; height: 100%; filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .25)); animation: hb-turn 48s linear infinite; }
.hb-footer__bagel-whole img.is-paused { animation-play-state: paused; }
@keyframes hb-turn { to { rotate: 360deg; } }
@media (max-width: 767px) { .hb-footer__bagel-whole { width: 96px; margin: -70px 0 0 -48px; } }
@media (prefers-reduced-motion: reduce) { .hb-footer__bagel-whole img { animation: none; } }
html.hb-a11y-motion .hb-footer__bagel-whole img { animation: none; }

/* "Ready to serve" video: a pause / play button, always visible once the video plays. */
.hb-ready__pause { position: absolute; z-index: 2; bottom: 16px; left: 16px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, .6); border-radius: 50%; background: rgba(0, 0, 0, .35); color: var(--hb-white); cursor: pointer; transition: background-color var(--dur-hover, 200ms) var(--ease-out); }
.hb-ready__pause[hidden] { display: none; }
.hb-ready__pause::before { content: ""; width: 12px; height: 14px; border-inline: 4px solid currentColor; box-sizing: border-box; }
.hb-ready__pause[aria-pressed="true"]::before { width: 0; height: 0; border-inline: 0; border-block: 8px solid transparent; border-left: 13px solid currentColor; margin-left: 4px; }
.hb-ready__pause:focus-visible { outline: 2px solid var(--hb-white); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .hb-ready__pause:hover { background: rgba(0, 0, 0, .55); } }

/* Motion polish, round 3 ------------------------------------------------------------------------------ */
/* Packages: the cards lift on hover; on desktop the row must not clip them (the clip is for the phone carousel). */
@media (min-width: 768px) { .hb-pk-grid { overflow: visible; } }

/* Footer bagel: centred on the line it sits on. */
.hb-footer__bagel-whole { width: 104px; margin: -52px 0 0 -52px; }
@media (max-width: 767px) {
	.hb-footer__bagel-whole { width: 84px; margin: -42px 0 0 -42px; }
	.hb-footer__bottom { padding-top: 60px; }
}

/* Sticky header: glides down when it pins, and settles softly when it returns to the top. */
.hb-header.is-stuck { animation: hb-stick-in .6s var(--ease-out); }
@keyframes hb-stick-in { from { transform: translateY(-110%); opacity: 0; } 40% { opacity: 1; } }
.hb-header.is-settling:not(.is-stuck) { animation: hb-settle .45s var(--ease-out); }
@keyframes hb-settle { from { opacity: 0; transform: translateY(-8px); } }

/* Mega menu: opens with a short fade and a small drop from the bar, its columns follow 40ms apart. */
.hb-nav .hb-mega { transform: translateY(-8px) scale(.99); transform-origin: 50% 0; transition: opacity .28s var(--ease-out), transform .36s var(--ease-out), visibility 0s linear .36s; }
.hb-nav .hb-has-mega.is-open > .hb-mega { transition: opacity .28s var(--ease-out), transform .36s var(--ease-out), visibility 0s; }
.hb-nav .hb-mega .hb-mega__col, .hb-nav .hb-mega .hb-mega__card { opacity: 0; transform: translateY(6px); transition: opacity .3s var(--ease-out), transform .4s var(--ease-out); }
.hb-nav .hb-has-mega.is-open .hb-mega__col, .hb-nav .hb-has-mega.is-open .hb-mega__card { opacity: 1; transform: none; }
.hb-nav .hb-has-mega.is-open .hb-mega__col:nth-child(2) { transition-delay: 40ms; }
.hb-nav .hb-has-mega.is-open .hb-mega__col:nth-child(3) { transition-delay: 80ms; }
.hb-nav .hb-has-mega.is-open .hb-mega__col:nth-child(4) { transition-delay: 120ms; }
.hb-nav .hb-has-mega.is-open .hb-mega__card { transition-delay: 120ms; }

/* Dropdowns: unfold from the field (fade + a small drop), close a little faster than they open. */
.hb-dd__list { transform: translateY(-6px) scale(.98); transform-origin: 50% 0; transition: opacity .2s var(--ease-out), transform .24s var(--ease-out), visibility 0s linear .24s; }
.hb-dd.is-open .hb-dd__list { transition: opacity .26s var(--ease-out), transform .34s var(--ease-out), visibility 0s; }

/* Mobile drawer: the backdrop fades, the panel slides in with a long ease-out and back out on close. */
.hb-drawer { animation: hb-fade .3s var(--ease-out); }
.hb-drawer__panel { animation: hb-drawer-in .42s var(--ease-out); }
.hb-drawer.is-closing { animation: hb-fade-out .3s var(--ease-in-out) forwards; }
.hb-drawer.is-closing .hb-drawer__panel { animation: hb-drawer-out .3s cubic-bezier(.4, 0, 1, 1) forwards; }
@keyframes hb-fade { from { opacity: 0; } }
@keyframes hb-fade-out { to { opacity: 0; } }
@keyframes hb-drawer-out { to { transform: translateX(100%); } }
.hb-drawer__nav .hb-has-mega.is-open > .hb-mega { animation: hb-open-soft .35s var(--ease-out); }
@keyframes hb-open-soft { from { opacity: 0; transform: translateY(-6px); } }

/* Buttons: colour changes in 200ms; a press gives a little. */
.hb-btn { transition: background-color var(--dur-hover, 200ms) var(--ease-out), color var(--dur-hover, 200ms) var(--ease-out), border-color var(--dur-hover, 200ms) var(--ease-out), transform var(--dur-hover, 200ms) var(--ease-out); }

/* Button leaves (main.js): grow out from behind the top corners and sway while hovered. */
.hb-sprout { position: fixed; z-index: 960; height: auto; pointer-events: none; filter: drop-shadow(0 3px 4px rgba(53, 43, 36, .16)); }
.hb-sprout.is-swaying { animation: hb-sway 2.6s .6s ease-in-out infinite alternate; }
@keyframes hb-sway { from { rotate: -4deg; } to { rotate: 4deg; } }
html.hb-a11y-motion .hb-sprout { display: none; }

@media (prefers-reduced-motion: reduce) {
	.hb-header.is-stuck, .hb-header.is-settling, .hb-drawer, .hb-drawer__panel, .hb-drawer.is-closing, .hb-drawer.is-closing .hb-drawer__panel { animation: none; }
}

/* Cart: edit a line in place (cart.js, cart-edit.php) ------------------------------------------------------ */
.hb-cline__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin-top: 4px; }
.hb-cline__tools .hb-cline__detail { margin-top: 0; }
.hb-cline__edit { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px 3px 8px; border: 1px solid rgba(53, 43, 36, .16); border-radius: 999px; background: var(--hb-white); color: var(--hb-ink-warm); font: 600 14px/1.4 var(--hb-font); cursor: pointer; transition: background-color var(--dur-hover, 200ms) var(--ease-out), border-color var(--dur-hover, 200ms) var(--ease-out), color var(--dur-hover, 200ms) var(--ease-out); }
.hb-cline__edit svg { transition: rotate .35s var(--ease-out); }
.hb-cline__edit[aria-expanded="true"] { background: var(--hb-ink-warm); border-color: var(--hb-ink-warm); color: var(--hb-white); }
.hb-cline__edit[aria-expanded="true"] svg { rotate: -18deg; }
.hb-cline__edit.is-busy svg { animation: hb-wiggle .6s ease-in-out infinite alternate; }
@keyframes hb-wiggle { from { rotate: -14deg; } to { rotate: 14deg; } }
@media (hover: hover) and (pointer: fine) { .hb-cline__edit:hover { border-color: var(--hb-ink-warm); } .hb-cline__edit:hover svg { rotate: -12deg; } }
.hb-cline__edit:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }

/* The editor opens as a row under the line: its height glides (grid rows 0fr -> 1fr), the contents rise in. */
.hb-cedit { grid-column: 1 / -1; display: grid; grid-template-rows: 0fr; transition: grid-template-rows .42s var(--ease-out); }
.hb-cedit.is-open { grid-template-rows: 1fr; }
.hb-cedit__in { min-height: 0; overflow: hidden; }
.hb-cedit__body { display: grid; gap: 14px; margin-top: 10px; padding: 16px; border-radius: 16px; background: var(--hb-filter-bg); opacity: 0; transform: translateY(-6px); transition: opacity .3s var(--ease-out), transform .42s var(--ease-out); }
.hb-cedit.is-open .hb-cedit__body { opacity: 1; transform: none; transition-delay: .08s; }
.hb-cedit__body > * { opacity: 0; transform: translateY(8px); transition: opacity .35s var(--ease-out), transform .45s var(--ease-out); }
.hb-cedit.is-open .hb-cedit__body > * { opacity: 1; transform: none; }
.hb-cedit.is-open .hb-cedit__body > :nth-child(1) { transition-delay: .12s; }
.hb-cedit.is-open .hb-cedit__body > :nth-child(2) { transition-delay: .17s; }
.hb-cedit.is-open .hb-cedit__body > :nth-child(3) { transition-delay: .22s; }
.hb-cedit.is-open .hb-cedit__body > :nth-child(4) { transition-delay: .27s; }
.hb-cedit.is-open .hb-cedit__body > :nth-child(n+5) { transition-delay: .32s; }
.hb-cline.is-editing { background: var(--hb-white); }
.hb-cedit__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.hb-cedit__label { font-weight: 700; font-size: 15px; }
.hb-cedit__hint { font-size: 13.5px; color: rgba(53, 43, 36, .65); }
.hb-cedit__qty { border-color: rgba(53, 43, 36, .12); background: var(--hb-white); }
.hb-cedit__qty input { width: 52px; min-height: 34px; font-size: 16px; }
.hb-cedit__qty input.is-shake, .hb-cedit__opt.is-shake { animation: hb-nope .4s var(--ease-out); }
@keyframes hb-nope { 20%, 60% { translate: -4px 0; } 40%, 80% { translate: 4px 0; } }
.hb-cedit__seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--hb-white); }
.hb-cedit__seg button { padding: 7px 14px; border: 0; border-radius: 999px; background: transparent; color: var(--hb-ink-warm); font: 500 15px/1.2 var(--hb-font); cursor: pointer; transition: background-color .25s var(--ease-out), color .25s var(--ease-out); }
.hb-cedit__seg button[aria-checked="true"] { background: var(--hb-sage-dark); color: var(--hb-white); }
.hb-cedit__row--note { display: grid; gap: 6px; }
.hb-cedit__row--note textarea { width: 100%; padding: 10px 12px; border: 1px solid rgba(53, 43, 36, .14); border-radius: 12px; background: var(--hb-white); font: 16px/1.4 var(--hb-font); color: var(--hb-ink-warm); resize: vertical; transition: border-color .2s var(--ease-out); }
.hb-cedit__row--note textarea:focus { outline: none; border-color: var(--hb-sage); }
.hb-cedit__sec-title { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-weight: 700; font-size: 15px; }
.hb-cedit__sec-title span { padding: 1px 9px; border-radius: 999px; background: rgba(141, 162, 139, .22); color: var(--hb-sage-dark); font-size: 12.5px; font-weight: 600; }
.hb-cedit__sec ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.hb-cedit__slot { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 4px 10px; padding: 8px; border-radius: 14px; background: var(--hb-white); }
.hb-cedit__slot.is-flash { animation: hb-slot-flash 1.1s var(--ease-out); }
@keyframes hb-slot-flash { from { background: rgba(141, 162, 139, .35); } }
.hb-cedit__thumb { width: 44px; height: 44px; overflow: hidden; border-radius: 10px; background: var(--hb-cream); }
.hb-cedit__thumb img { width: 100%; height: 100%; object-fit: cover; }
.hb-cedit__name { display: grid; min-width: 0; line-height: 1.3; transition: opacity .17s var(--ease-out), transform .17s var(--ease-out); }
.hb-cedit__name.is-out { opacity: 0; transform: translateY(-5px); }
.hb-cedit__name strong { font-size: 15px; }
.hb-cedit__name small { font-size: 12.5px; color: var(--hb-sage-dark); }
.hb-cedit__swap { padding: 5px 12px; border: 1px solid var(--hb-sage); border-radius: 999px; background: transparent; color: var(--hb-sage-dark); font: 600 14px/1.2 var(--hb-font); cursor: pointer; transition: background-color .2s var(--ease-out), color .2s var(--ease-out); }
.hb-cedit__swap[aria-expanded="true"] { background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); color: var(--hb-white); }
.hb-cedit__fixed { font-size: 13px; color: rgba(53, 43, 36, .55); }
.hb-cedit__opts { grid-column: 1 / -1; display: grid; grid-template-rows: 0fr; transition: grid-template-rows .36s var(--ease-out); }
.hb-cedit__opts.is-open { grid-template-rows: 1fr; }
.hb-cedit__opts-in { min-height: 0; overflow: hidden; }
.hb-cedit__opts ul { display: grid; gap: 4px; max-height: 240px; margin: 6px 0 2px; padding: 2px; overflow-y: auto; }
.hb-cedit__opts li { opacity: 0; transform: translateY(6px); transition: opacity .28s var(--ease-out), transform .36s var(--ease-out); }
.hb-cedit__opts.is-open li { opacity: 1; transform: none; transition-delay: calc(var(--i, 0) * 30ms + 60ms); }
.hb-cedit__opt { display: grid; width: 100%; padding: 8px 12px; border: 1px solid rgba(53, 43, 36, .1); border-radius: 12px; background: var(--hb-filter-bg); color: var(--hb-ink-warm); font: 500 14.5px/1.35 var(--hb-font); text-align: start; cursor: pointer; transition: background-color .2s var(--ease-out), border-color .2s var(--ease-out); }
.hb-cedit__opt em { font-style: normal; font-size: 12.5px; color: var(--hb-sage-dark); }
.hb-cedit__opt small { font-size: 12.5px; color: rgba(53, 43, 36, .6); }
.hb-cedit__opt.is-on { border-color: var(--hb-sage-dark); background: rgba(141, 162, 139, .18); font-weight: 700; }
.hb-cedit__opt.is-off { opacity: .55; cursor: not-allowed; }
@media (hover: hover) and (pointer: fine) { .hb-cedit__opt:not(.is-off):hover { border-color: var(--hb-sage); background: var(--hb-white); } .hb-cedit__swap:hover { background: rgba(141, 162, 139, .18); } }
.hb-cedit__total { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0; font-size: 15px; }
.hb-cedit__total strong { font-size: 19px; }
.hb-cedit__total strong.is-tick { animation: hb-tick .35s var(--ease-out); }
@keyframes hb-tick { from { opacity: .3; transform: translateY(4px); } }
.hb-cedit__total small { flex-basis: 100%; font-size: 13px; color: rgba(53, 43, 36, .6); }
.hb-cedit__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.hb-cedit__save.hb-btn { min-height: 46px; padding: 0 24px; background: var(--hb-sage-dark); border-color: var(--hb-sage-dark); color: var(--hb-white); font-size: 16px; }
.hb-cedit__save.is-busy { opacity: .7; }
.hb-cedit__cancel { padding: 6px 2px; border: 0; background: none; color: var(--hb-ink-warm); font: 600 15px/1 var(--hb-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
/* After saving: a soft glow over the updated line. */
.hb-cline.is-updated { animation: hb-cline-updated 1.4s var(--ease-out); }
@keyframes hb-cline-updated { 0% { background: rgba(141, 162, 139, .38); } 100% { background: var(--hb-white); } }
@media (prefers-reduced-motion: reduce) { .hb-cedit, .hb-cedit__opts, .hb-cedit__body, .hb-cedit__body > *, .hb-cedit__opts li { transition: none !important; } }

/* Loading screen (template-parts/header/loader.php) ------------------------------------------------------- */
.hb-loader { display: none; }
html.hb-loading { overflow: hidden; }
html.hb-loading .hb-loader {
	position: fixed; inset: 0; z-index: 10000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(34px, 6vh, 56px);
	background: var(--hb-rose);
	animation: hb-loader-failsafe .4s 6.5s forwards;   /* if the script never runs, it still goes away */
}
/* The hero entrance waits underneath until the sheet lifts. */
html.hb-loading .hb-intro *, html.hb-loading .hb-intro { animation-play-state: paused !important; }
html.hb-loading .hb-loader, html.hb-loading .hb-loader * { animation-play-state: running !important; }
/* The logo: the PNG is the mask, so every letter fills with one colour. A faint outline comes into view
   (a soft wipe and a little focus), then orange rises from the bottom like a fill. */
.hb-loader__logo { position: relative; width: clamp(240px, 30vw, 380px); aspect-ratio: 382 / 120; }
.hb-loader__ghost, .hb-loader__fill { position: absolute; inset: 0; -webkit-mask: var(--logo) center / contain no-repeat; mask: var(--logo) center / contain no-repeat; }
.hb-loader__ghost { background: rgba(53, 43, 36, .16); animation: hb-logo-ghost 1s cubic-bezier(.22, .61, .36, 1) backwards; }
.hb-loader__fill { background: var(--hb-orange); clip-path: inset(100% 0 0 0); animation: hb-logo-fill 1.05s .55s cubic-bezier(.65, 0, .35, 1) forwards; }
@keyframes hb-logo-ghost { from { opacity: 0; filter: blur(6px); clip-path: inset(0 100% 0 0); } 60% { filter: blur(0); } to { clip-path: inset(0 0 0 0); } }
@keyframes hb-logo-fill { to { clip-path: inset(0 0 0 0); } }
/* The bar: a thin track; the run grows from the right, where the bagel starts, to the left under it. */
.hb-loader__bar { position: relative; width: clamp(250px, 30vw, 380px); height: 74px; opacity: 0; animation: hb-loader-in .6s 1.15s cubic-bezier(.22, .61, .36, 1) forwards; }
.hb-loader__track { position: absolute; inset: auto 0 0; height: 4px; overflow: hidden; border-radius: 4px; background: rgba(53, 43, 36, .1); }
.hb-loader__run { position: absolute; inset: 0; border-radius: inherit; background: var(--hb-orange); transform: scaleX(0); transform-origin: 100% 50%; }
.hb-loader__roll { position: absolute; right: 0; bottom: 8px; width: 56px; aspect-ratio: 1; will-change: transform; }
.hb-loader__bagel { display: block; width: 100%; height: 100%; filter: drop-shadow(0 4px 4px rgba(53, 43, 36, .2)); transition: transform .55s cubic-bezier(.34, 1.56, .64, 1); }
.hb-loader__ring { position: absolute; inset: -6px; border: 2px solid var(--hb-orange); border-radius: 50%; opacity: 0; transform: scale(.6); }
@keyframes hb-loader-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
/* Ta-da: the bagel grows with a little overshoot and lifts off the bar, a ring opens around it and fades. */
.hb-loader.is-done .hb-loader__bagel { transform: translateY(-10px) scale(1.55); }
.hb-loader.is-done .hb-loader__ring { animation: hb-loader-ring .7s cubic-bezier(.22, .61, .36, 1) forwards; }
.hb-loader.is-done .hb-loader__track { opacity: 0; transition: opacity .4s .1s var(--ease-out); }
@keyframes hb-loader-ring { 0% { opacity: .9; transform: translateY(-10px) scale(1.3); } 100% { opacity: 0; transform: translateY(-10px) scale(2.5); } }
@keyframes hb-loader-failsafe { to { opacity: 0; visibility: hidden; } }
/* Leaving: the contents rise and fade, then the pink sheet lifts away with a rounded lower edge. */
.hb-loader.is-leaving { animation: hb-loader-lift .82s .1s cubic-bezier(.65, 0, .35, 1) forwards; }
.hb-loader.is-leaving .hb-loader__logo, .hb-loader.is-leaving .hb-loader__bar { animation: hb-loader-out .45s cubic-bezier(.22, .61, .36, 1) forwards; }
@keyframes hb-loader-lift { to { transform: translateY(-100%); border-radius: 0 0 50% 50% / 0 0 14vh 14vh; } }
@keyframes hb-loader-out { from { opacity: 1; } to { opacity: 0; transform: translateY(-20px); } }
@media (prefers-reduced-motion: reduce) { html.hb-loading .hb-loader { display: none; } html.hb-loading { overflow: auto; } }

/* FAQ cut: the fine line the knife leaves down the middle of the bagel (main.js). */
.hb-cut__seam { position: absolute; left: 50%; top: 6%; width: 2px; height: 37%; margin-left: -1px; border-radius: 2px; background: linear-gradient(180deg, rgba(90, 55, 25, 0), rgba(90, 55, 25, .55) 18%, rgba(90, 55, 25, .55) 82%, rgba(90, 55, 25, 0)); transform: scaleY(0); transform-origin: 50% 0; opacity: 0; pointer-events: none; }
.hb-cut__pair { transform-origin: 50% 55%; }

/* Cart editor, round 2: quieter type (smaller, regular weight) and the save button in the site's deep pink. */
.hb-cline__edit { font-weight: 500; font-size: 13.5px; }
.hb-cedit__body { gap: 12px; padding: 14px; }
.hb-cedit__label { font-weight: 400; font-size: 14px; color: rgba(53, 43, 36, .78); }
.hb-cedit__hint { font-size: 13px; }
.hb-cedit__sec-title { font-weight: 500; font-size: 14px; }
.hb-cedit__sec-title span { font-weight: 400; font-size: 12px; }
.hb-cedit__name strong { font-weight: 500; font-size: 14px; }
.hb-cedit__name small { font-size: 12px; }
.hb-cedit__seg button { font-weight: 400; font-size: 14px; padding: 6px 12px; }
.hb-cedit__swap { font-weight: 500; font-size: 13px; padding: 4px 12px; }
.hb-cedit__row--note textarea { font-size: 15px; }
.hb-cedit__total { font-size: 14px; }
.hb-cedit__total strong { font-weight: 500; font-size: 16px; }
.hb-cedit__total small { font-size: 12.5px; }
.hb-cedit__save.hb-btn { min-height: 42px; padding: 0 22px; background: var(--hb-rose); border-color: var(--hb-rose); color: var(--hb-ink-warm); font-weight: 500; font-size: 15px; }
@media (hover: hover) and (pointer: fine) { .hb-cedit__save.hb-btn:hover { background: #dcbdb4; border-color: #dcbdb4; } }
.hb-cedit__save.hb-btn:active { transform: scale(.98); }
.hb-cedit__cancel { font-weight: 400; font-size: 14px; }

/* The swap panel: pushed in over the cart like a page (the cart steps back behind it). */
.hb-swapsheet { position: fixed; inset: 0; z-index: 1100; }
.hb-swapsheet[hidden] { display: none; }
.hb-swapsheet__scrim { position: absolute; inset: 0; background: rgba(53, 43, 36, .45); opacity: 0; transition: opacity .36s var(--ease-out); cursor: pointer; }
.hb-swapsheet.is-open .hb-swapsheet__scrim { opacity: 1; }
.hb-swapsheet.is-over-drawer .hb-swapsheet__scrim { background: transparent; }
.hb-swapsheet__panel { position: absolute; inset-block: 0; inset-inline-end: 0; display: flex; flex-direction: column; width: min(460px, 100%); background: var(--hb-filter-bg); color: var(--hb-ink-warm); box-shadow: 12px 0 40px rgba(53, 43, 36, .18); transform: translateX(-100%); transition: transform .44s cubic-bezier(.32, .72, 0, 1); outline: none; }
.hb-swapsheet.is-open .hb-swapsheet__panel { transform: none; }
/* The cart behind steps back and dims while the panel is over it. */
.hb-cartd__panel > * { transition: transform .44s cubic-bezier(.32, .72, 0, 1), opacity .44s var(--ease-out); }
html.hb-ss-open .hb-cartd__panel > * { transform: translateX(32px); opacity: .35; }
.hb-swapsheet__head { display: flex; align-items: flex-start; gap: 12px; padding: 20px 18px 14px; border-bottom: 1px solid rgba(53, 43, 36, .08); }
.hb-swapsheet__back { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--hb-white); color: var(--hb-ink-warm); cursor: pointer; transition: background-color var(--dur-hover, 200ms) var(--ease-out), translate .2s var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .hb-swapsheet__back:hover { background: var(--hb-rose); translate: 3px 0; } }
.hb-swapsheet__back:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
.hb-swapsheet__titles h2 { margin: 6px 0 2px; font-weight: 600; font-size: 19px; line-height: 1.25; }
.hb-swapsheet__titles p { margin: 0; font-size: 13.5px; line-height: 1.45; color: rgba(53, 43, 36, .7); }
.hb-swapsheet__list { display: grid; align-content: start; gap: 8px; flex: 1; margin: 0; padding: 14px 18px 18px; overflow-y: auto; overscroll-behavior: contain; list-style: none; }
.hb-swapsheet__list li { opacity: 0; transform: translateX(-14px); transition: opacity .34s var(--ease-out), transform .44s var(--ease-out); }
.hb-swapsheet.is-open .hb-swapsheet__list li { opacity: 1; transform: none; transition-delay: calc(var(--i, 0) * 35ms + 140ms); }
.hb-ss__opt { display: grid; grid-template-columns: 64px minmax(0, 1fr) 22px; align-items: center; gap: 12px; width: 100%; padding: 8px 10px 8px 14px; border: 1.5px solid transparent; border-radius: 18px; background: var(--hb-white); color: var(--hb-ink-warm); font: inherit; text-align: start; cursor: pointer; transition: border-color .22s var(--ease-out), background-color .22s var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .hb-ss__opt:not(.is-off):hover { border-color: rgba(118, 140, 116, .45); } }
.hb-ss__opt:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
.hb-ss__opt[aria-checked="true"] { border-color: var(--hb-sage-dark); background: #f3f6f1; }
.hb-ss__img { width: 64px; height: 64px; overflow: hidden; border-radius: 14px; background: var(--hb-cream); }
.hb-ss__img img { width: 100%; height: 100%; object-fit: cover; }
.hb-ss__txt { display: grid; gap: 2px; min-width: 0; }
.hb-ss__name { font-weight: 500; font-size: 15px; line-height: 1.3; }
.hb-ss__name em { margin-inline-start: 4px; padding: 1px 8px; border-radius: 999px; background: rgba(141, 162, 139, .2); color: var(--hb-sage-dark); font-style: normal; font-weight: 400; font-size: 11.5px; white-space: nowrap; }
.hb-ss__txt small { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 12.5px; line-height: 1.4; color: rgba(53, 43, 36, .62); }
.hb-ss__why { color: #8a5a4c !important; }
.hb-ss__mark { position: relative; width: 22px; height: 22px; border: 1.5px solid rgba(53, 43, 36, .25); border-radius: 50%; transition: border-color .22s var(--ease-out), background-color .22s var(--ease-out); }
.hb-ss__mark::after { content: ""; position: absolute; inset: 0; margin: auto; width: 6px; height: 11px; border: solid var(--hb-white); border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg) scale(0); transition: transform .3s cubic-bezier(.34, 1.56, .64, 1); }
.hb-ss__opt[aria-checked="true"] .hb-ss__mark { border-color: var(--hb-sage-dark); background: var(--hb-sage-dark); }
.hb-ss__opt[aria-checked="true"] .hb-ss__mark::after { transform: translateY(-1px) rotate(45deg) scale(1); }
.hb-ss__opt.is-off { cursor: not-allowed; background: rgba(255, 255, 255, .55); }
.hb-ss__opt.is-off .hb-ss__img, .hb-ss__opt.is-off .hb-ss__name { opacity: .5; }
.hb-ss__opt.is-off .hb-ss__mark { border-style: dashed; opacity: .5; }
.hb-ss__opt.is-shake { animation: hb-nope .4s var(--ease-out); }
.hb-swapsheet__foot { padding: 12px 18px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(53, 43, 36, .08); background: var(--hb-filter-bg); }
.hb-swapsheet__save.hb-btn { width: 100%; min-height: 50px; background: var(--hb-rose); border-color: var(--hb-rose); color: var(--hb-ink-warm); font-weight: 500; font-size: 16px; }
@media (hover: hover) and (pointer: fine) { .hb-swapsheet__save.hb-btn:hover { background: #dcbdb4; border-color: #dcbdb4; } }
@media (prefers-reduced-motion: reduce) { .hb-swapsheet__panel, .hb-swapsheet__scrim, .hb-swapsheet__list li, .hb-cartd__panel > * { transition: none !important; } }
html.hb-a11y-contrast .hb-ss__txt small { color: #000; }

/* Quote, step 3: building the package from a catering menu (main.js) ------------------------------------- */
.hb-q__steps { grid-template-columns: repeat(4, 1fr); }
.hb-q__steps li:nth-child(2), .hb-q__steps li:nth-child(3) { text-align: center; }
.hb-q__steps li:nth-child(4) { text-align: left; }
.hb-qb__intro { margin: -6px 0 18px; font-size: 15.5px; line-height: 1.5; color: rgba(53, 43, 36, .72); }
.hb-qb__sec { min-width: 0; margin: 0; padding: 0; border: 0; }
.hb-qb__sec legend, .hb-qb__sec--incl p:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; width: 100%; margin: 0 0 10px; padding: 0; font-weight: 500; font-size: 15.5px; }
.hb-qb__count, .hb-qb__sec--incl b { padding: 2px 10px; border-radius: 999px; background: var(--hb-white); font-weight: 400; font-size: 13px; color: rgba(53, 43, 36, .7); transition: background-color .3s var(--ease-out), color .3s var(--ease-out); }
.hb-qb__sec.is-full .hb-qb__count { background: var(--hb-cat-count); color: var(--hb-white); }
.hb-qb__count.is-shake { animation: hb-nope .4s var(--ease-out); }
.hb-qb__items { display: flex; flex-wrap: wrap; gap: 6px; }
.hb-qb__item { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 14px; border: 1px solid rgba(53, 43, 36, .12); border-radius: 999px; background: var(--hb-white); color: var(--hb-ink-warm); font: 400 14.5px/1.3 var(--hb-font); cursor: pointer; transition: background-color .22s var(--ease-out), border-color .22s var(--ease-out), color .22s var(--ease-out); }
.hb-qb__item small { font-size: 12px; opacity: .75; }
.hb-qb__item::before { content: ""; width: 0; height: 10px; margin-inline-end: -6px; border: solid currentColor; border-width: 0 1.8px 1.8px 0; transform: rotate(45deg) scale(0); transition: transform .28s cubic-bezier(.34, 1.56, .64, 1), width .22s var(--ease-out), margin .22s var(--ease-out); }
.hb-qb__item[aria-pressed="true"] { border-color: var(--hb-cat-count); background: var(--hb-cat-count); color: var(--hb-white); }
.hb-qb__item[aria-pressed="true"]::before { width: 5px; margin-inline-end: 0; transform: translateY(-2px) rotate(45deg) scale(1); }
@media (hover: hover) and (pointer: fine) { .hb-qb__item:not([aria-pressed="true"]):hover { border-color: var(--hb-cat-count); } }
.hb-qb__item:focus-visible, .hb-qb__toggle:focus-visible, .hb-qb__skip:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
.hb-qb__incl { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(53, 43, 36, .72); }
.hb-qb__note { margin: 0; padding: 10px 14px; border-radius: 14px; background: #fbf1e3; font-size: 14px; }
.hb-qb__extras { display: grid; gap: 12px; padding: 14px; border-radius: 18px; background: var(--hb-white); }
.hb-qb__toggle { display: flex; align-items: flex-start; gap: 12px; padding: 0; border: 0; background: none; color: var(--hb-ink-warm); font: inherit; text-align: start; cursor: pointer; }
.hb-qb__toggle small { display: block; font-size: 13px; line-height: 1.45; color: rgba(53, 43, 36, .66); }
.hb-qb__ex-title { font-weight: 500; font-size: 15px; }
.hb-qb__switch { position: relative; flex: none; width: 40px; height: 24px; margin-top: 1px; border-radius: 999px; background: rgba(53, 43, 36, .18); transition: background-color .25s var(--ease-out); }
.hb-qb__switch::after { content: ""; position: absolute; top: 3px; right: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--hb-white); box-shadow: 0 1px 3px rgba(53, 43, 36, .25); transition: transform .3s cubic-bezier(.34, 1.3, .64, 1); }
.hb-qb__toggle[aria-checked="true"] .hb-qb__switch { background: var(--hb-sage-dark); }
.hb-qb__toggle[aria-checked="true"] .hb-qb__switch::after { transform: translateX(-16px); }
.hb-qb__ex-sub { margin: 0 0 8px; font-weight: 500; font-size: 14px; }
.hb-qb__stations:not([hidden]) { animation: hb-open-soft .35s var(--ease-out); }
.hb-qb__est { margin: 0; font-size: 15px; }
.hb-qb__est strong { font-weight: 600; }
.hb-qb__skip { display: block; margin: 18px 0 0; padding: 4px 0; border: 0; background: none; color: var(--hb-ink-warm); font: 400 15px/1.3 var(--hb-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 767px) {
	.hb-qb__menus { grid-template-columns: 1fr; }
	.hb-qb__menu { padding: 14px 14px 16px; }
	.hb-qb__price { font-size: 21px; }
	.hb-q__steps { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .hb-qb__build, .hb-qb__build-in > * { transition: none !important; } }

/* Cart: the lines rise in as the drawer opens; changed totals tick. */
.hb-cartd.is-entering .hb-cline, .hb-cartd.is-entering .hb-cartd__sub, .hb-cartd.is-entering .hb-cartd__ctas { animation: hb-line-in .5s cubic-bezier(.22, .61, .36, 1) backwards; }
.hb-cartd.is-entering .hb-cline:nth-child(1) { animation-delay: .12s; }
.hb-cartd.is-entering .hb-cline:nth-child(2) { animation-delay: .17s; }
.hb-cartd.is-entering .hb-cline:nth-child(3) { animation-delay: .22s; }
.hb-cartd.is-entering .hb-cline:nth-child(n+4) { animation-delay: .27s; }
.hb-cartd.is-entering .hb-cartd__sub { animation-delay: .3s; }
.hb-cartd.is-entering .hb-cartd__ctas { animation-delay: .34s; }
@keyframes hb-line-in { from { opacity: 0; transform: translateX(-18px); } }
.hb-cartd__sub strong.is-tick, .hb-cartp__total strong.is-tick, .hb-cartp__row bdi.is-tick { display: inline-block; animation: hb-tick .4s var(--ease-out); }

/* Quote, step 3, round 2: building the event from every dish on the site --------------------------------- */
.hb-qb__tools { position: sticky; top: 96px; z-index: 3; display: grid; gap: 10px; margin: 0 -6px 14px; padding: 8px 6px 10px; background: var(--hb-filter-bg); }
.hb-qb__search { display: flex; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid rgba(53, 43, 36, .14); border-radius: 999px; background: var(--hb-white); color: rgba(53, 43, 36, .55); transition: border-color .2s var(--ease-out); }
.hb-qb__search:focus-within { border-color: var(--hb-cat-count); color: var(--hb-ink-warm); }
.hb-qb__search input { flex: 1; min-width: 0; height: 44px; border: 0; background: none; font: 400 16px var(--hb-font); color: var(--hb-ink-warm); outline: none; }
.hb-qb__tabs { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; overscroll-behavior-x: contain; touch-action: pan-x; }
.hb-qb__tabs::-webkit-scrollbar { display: none; }
.hb-qb__tab { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 14px; border: 1px solid rgba(53, 43, 36, .12); border-radius: 999px; background: var(--hb-white); color: var(--hb-ink-warm); font: 400 14.5px/1 var(--hb-font); scroll-snap-align: start; cursor: pointer; transition: background-color .25s var(--ease-out), border-color .25s var(--ease-out), color .25s var(--ease-out); }
.hb-qb__tab[aria-selected="true"] { border-color: var(--hb-ink-warm); background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-qb.is-searching .hb-qb__tab[aria-selected="true"] { border-color: rgba(53, 43, 36, .12); background: var(--hb-white); color: var(--hb-ink-warm); }
.hb-qb__tab:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
.hb-qb__tab-n { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--hb-cat-count); color: var(--hb-white); font-weight: 500; font-size: 12px; }
.hb-qb__tab-n.is-tick { animation: hb-choice-pop .3s var(--hb-ease); }
.hb-qb__cat-title { margin: 0 0 10px; font-weight: 500; font-size: 16px; }
.hb-qb__cat.is-in .hb-qb__grid li { animation: hb-dish-in .45s var(--ease-out) backwards; }
.hb-qb__cat.is-in .hb-qb__grid li:nth-child(2) { animation-delay: 30ms; }
.hb-qb__cat.is-in .hb-qb__grid li:nth-child(3) { animation-delay: 60ms; }
.hb-qb__cat.is-in .hb-qb__grid li:nth-child(4) { animation-delay: 90ms; }
.hb-qb__cat.is-in .hb-qb__grid li:nth-child(n+5) { animation-delay: 120ms; }
@keyframes hb-dish-in { from { opacity: 0; transform: translateY(8px); } }
.hb-qb:not(.is-searching) .hb-qb__cat-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.hb-qb.is-searching .hb-qb__cat + .hb-qb__cat { margin-top: 18px; }
.hb-qb__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.hb-qb__dish { display: grid; align-content: start; gap: 3px; width: 100%; height: 100%; padding: 6px 6px 10px; border: 1.5px solid transparent; border-radius: 20px; background: var(--hb-white); color: var(--hb-ink-warm); font: inherit; text-align: start; cursor: pointer; transition: border-color .22s var(--ease-out), background-color .22s var(--ease-out), transform .22s var(--ease-out); }
.hb-qb__dish:active { transform: scale(.98); }
@media (hover: hover) and (pointer: fine) { .hb-qb__dish:not([aria-pressed="true"]):hover { border-color: rgba(180, 154, 145, .5); } .hb-qb__dish:hover .hb-qb__dish-img img { transform: scale(1.04); } }
.hb-qb__dish:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
.hb-qb__dish[aria-pressed="true"] { border-color: var(--hb-cat-count); background: #fbf6f4; }
.hb-qb__dish-img { position: relative; display: block; aspect-ratio: 4 / 3; margin-bottom: 6px; overflow: hidden; border-radius: 14px; background: var(--hb-cream); }
.hb-qb__dish-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.hb-qb__dish-check { position: absolute; top: 8px; left: 8px; width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, .9) center / 13px no-repeat; transition: background-color .25s var(--ease-out), transform .3s cubic-bezier(.34, 1.56, .64, 1); transform: scale(.85); }
.hb-qb__dish[aria-pressed="true"] .hb-qb__dish-check { background-color: var(--hb-cat-count); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); transform: scale(1); }
.hb-qb__dish-name { padding: 0 4px; font-weight: 500; font-size: 14.5px; line-height: 1.3; }
.hb-qb__dish-desc { display: -webkit-box; overflow: hidden; padding: 0 4px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 12.5px; line-height: 1.4; color: rgba(53, 43, 36, .62); }
.hb-qb__empty { margin: 8px 0 0; font-size: 14.5px; color: rgba(53, 43, 36, .7); }
.hb-qb__extras { margin-top: 18px; }
.hb-qb__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.hb-qb__chip { min-height: 36px; padding: 0 14px; border: 1px solid rgba(53, 43, 36, .12); border-radius: 999px; background: var(--hb-filter-bg); color: var(--hb-ink-warm); font: 400 14px var(--hb-font); cursor: pointer; transition: background-color .22s var(--ease-out), color .22s var(--ease-out); }
.hb-qb__chip[aria-pressed="true"] { border-color: var(--hb-cat-count); background: var(--hb-cat-count); color: var(--hb-white); }
.hb-qb__stations:not([hidden]) { margin-top: 2px; }
/* What was picked, as removable chips. */
.hb-qb__tray { position: sticky; bottom: 12px; z-index: 3; display: grid; gap: 8px; margin-top: 16px; padding: 12px 14px; border-radius: 20px; background: var(--hb-ink-warm); color: var(--hb-white); box-shadow: 0 14px 34px rgba(53, 43, 36, .22); animation: hb-open-soft .35s var(--ease-out); }
.hb-qb__tray-n { margin: 0; font-weight: 500; font-size: 15px; }
.hb-qb__tray-list { display: flex; gap: 6px; margin: 0; padding: 0; overflow-x: auto; list-style: none; scrollbar-width: none; }
.hb-qb__tray-list li { flex: none; display: inline-flex; align-items: center; gap: 2px; padding: 4px 6px 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); font-size: 13.5px; animation: hb-choice-pop .3s var(--hb-ease); }
.hb-qb__tray-list button { position: relative; width: 22px; height: 22px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .16); cursor: pointer; }
.hb-qb__tray-list button::before, .hb-qb__tray-list button::after { content: ""; position: absolute; top: 50%; left: 50%; width: 9px; height: 1.6px; background: var(--hb-white); transform: translate(-50%, -50%) rotate(45deg); }
.hb-qb__tray-list button::after { transform: translate(-50%, -50%) rotate(-45deg); }
.hb-qb__clear { justify-self: start; padding: 0; border: 0; background: none; color: rgba(255, 255, 255, .8); font: 400 13.5px var(--hb-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 1100px) { .hb-qb__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.hb-qb__tools { top: 80px; }
	.hb-qb__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.hb-qb__dish { border-radius: 16px; }
	.hb-qb__dish-img { border-radius: 12px; }
	.hb-qb__tray { bottom: 86px; }
}
@media (prefers-reduced-motion: reduce) { .hb-qb__cat.is-in .hb-qb__grid li, .hb-qb__tray, .hb-qb__tray-list li { animation: none; } }


/* Round 5 ------------------------------------------------------------------------------------------------ */
/* No shadows under any bagel on the site. */
.hb-bagel__shadow { display: none !important; }
.hb-footer__bagel-whole img, .hb-loader__bagel, .hb-state__code img, [data-hb-spin], .hb-about__hero-bagel, .hb-faq__bagel, .hb-faqp__bagel, .hb-galp__bagel, .hb-om__badge-bagel { filter: none !important; }

/* FAQ: the bagel is simply there (no fade in), a knife line inside the joined halves, and the halves floating once apart. */
.hb-cut { opacity: 1; }
.hb-cut__pair .hb-cut__seam { left: 50%; top: 10%; height: 78%; margin: 0; transform-origin: 50% 0; }
.hb-cut__pair.is-floating .hb-cut__ha { animation: hb-half-float-a 5.6s ease-in-out infinite alternate; }
.hb-cut__pair.is-floating .hb-cut__hb { animation: hb-half-float-b 6.4s ease-in-out infinite alternate; }
@keyframes hb-half-float-a { from { translate: 0 0; rotate: 0deg; } 50% { translate: -3px -9px; rotate: -1.6deg; } to { translate: -1px -4px; rotate: .8deg; } }
@keyframes hb-half-float-b { from { translate: 0 -2px; rotate: 0deg; } 50% { translate: 3px -11px; rotate: 1.8deg; } to { translate: 1px -3px; rotate: -.6deg; } }
@media (prefers-reduced-motion: reduce) { .hb-cut__pair.is-floating img { animation: none; } }
html.hb-a11y-motion .hb-cut__pair.is-floating img { animation: none; }

/* Categories: a leaf on each side (the bagel bursts on hover are gone). */
.hb-cats { position: relative; }
.hb-cat__burst { display: none !important; }
.hb-cats__leaf { position: absolute; z-index: 2; width: clamp(90px, 10vw, 150px); height: auto; pointer-events: none; will-change: transform; }
.hb-cats__leaf--r { top: 42px; right: -26px; }
.hb-cats__leaf--l { bottom: 70px; left: -30px; }
@media (max-width: 767px) { .hb-cats__leaf { width: 74px; } .hb-cats__leaf--r { top: 16px; right: -16px; } .hb-cats__leaf--l { bottom: 40px; left: -18px; } }

/* Button leaves: one leaf, small at the top right and larger at the bottom left. */
.hb-sprout { filter: none; }
.hb-sprout.is-swaying { animation: hb-sway 2.8s .6s ease-in-out infinite alternate; }

/* Swap panel over the cart: a real backdrop, so nothing of the cart shows through while it slides. */
.hb-swapsheet.is-over-drawer .hb-swapsheet__scrim { background: rgba(53, 43, 36, .38); }
html.hb-ss-open .hb-cartd__panel > * { transform: translateX(40px); opacity: 0; }
.hb-swapsheet__panel { box-shadow: 0 0 0 100vmax rgba(53, 43, 36, 0), 18px 0 50px rgba(53, 43, 36, .28); }

/* Loader: the logo fills with the brand brown (orange sat badly on the pink); the bar follows. */
.hb-loader__ghost { background: rgba(53, 43, 36, .12); }
.hb-loader__fill { background: var(--hb-ink-warm); }
.hb-loader__run { background: var(--hb-ink-warm); }
.hb-loader__track { background: rgba(53, 43, 36, .1); }
.hb-loader__ring { border-color: var(--hb-ink-warm); }
.hb-qb__tab-n[hidden] { display: none; }
.hb-qb__tools { background: #e5cec7; }
/* Header at laptop widths (1025-1440): the row was ~80px too wide at 1280 and pushed "התחלת הזמנה" off the edge. */
@media (min-width: 1025px) and (max-width: 1440px) {
	.hb-nav ul { gap: 14px; }
	.hb-header__cta { min-width: 0; padding-inline: 20px; }
}

/* Loader, round 3: beige, the logo draws itself in green and fills with the brown; the loading is green. */
html.hb-loading .hb-loader { background: #efe8dc; }
.hb-loader__svg { display: block; width: 100%; height: auto; overflow: visible; }
.hb-loader__svg path { fill: var(--hb-ink-warm); fill-opacity: 0; stroke: var(--hb-sage-dark); stroke-width: 70; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: hb-logo-draw 1.15s calc(var(--i) * 70ms) cubic-bezier(.65, 0, .35, 1) forwards, hb-logo-fill-in .7s calc(1.05s + var(--i) * 45ms) cubic-bezier(.23, 1, .32, 1) forwards; }
@keyframes hb-logo-draw { to { stroke-dashoffset: 0; } }
@keyframes hb-logo-fill-in { to { fill-opacity: 1; stroke-opacity: 0; } }
.hb-loader__track { background: rgba(118, 140, 116, .18); }
.hb-loader__run { background: var(--hb-sage-dark); }
.hb-loader__ring { border-color: var(--hb-sage-dark); }

/* Round 6 ------------------------------------------------------------------------------------------------ */
/* No leaves in the inner page margins or over the catering panel (removed from the markup and main.js). */
.hb-side-leaves, .hb-cp__flyers { display: none !important; }
/* Tray category cards: the gentle hover from before (a quick lift, a slow photo zoom), and the spinach leaf
   pops out at the bottom left corner, where the bagel used to. */
.hb-cat { transition: transform .35s var(--hb-ease); }
.hb-cat__img img { transition: transform .6s var(--hb-ease); }
.hb-cat::after { content: ""; position: absolute; z-index: 2; bottom: -26px; left: -30px; width: 92px; aspect-ratio: 180 / 171; background: url("../img/leaf-4.webp") center / contain no-repeat; pointer-events: none; opacity: 0; transform: scale(.5) rotate(-24deg); transform-origin: 80% 20%; transition: opacity .3s ease, transform .45s cubic-bezier(.34, 1.4, .64, 1); }
@media (hover: hover) and (pointer: fine) {
	.hb-cat:hover::after, .hb-cat:focus-visible::after { opacity: 1; transform: scale(1) rotate(0); }
}
@media (hover: none) { .hb-cat::after { display: none; } }
@media (prefers-reduced-motion: reduce) { .hb-cat::after { transition: opacity .2s ease; transform: none; } }
/* Bagels across the site: the slow scroll turn (main.js tweens --hb-spin). */
[data-hb-spin] { rotate: var(--hb-spin, 0deg); }
/* Cards rise as a stage: a longer rise and the strong ease-out; coming back from above, a short soft drop. */
[data-hb-card][data-hb-reveal]:not(.is-in) { transform: translateY(40px) scale(.98); }
[data-hb-card][data-hb-reveal] { transition: opacity .7s cubic-bezier(.23, 1, .32, 1), transform 1s cubic-bezier(.23, 1, .32, 1); }
[data-hb-reveal].is-from-above:not(.is-in) { transform: translateY(-16px); transition: none !important; }
[data-hb-reveal].is-from-above { transition: opacity .55s cubic-bezier(.23, 1, .32, 1), transform .7s cubic-bezier(.23, 1, .32, 1) !important; }
/* The sticky header returning to the top: a slower, softer settle. */
.hb-header.is-settling:not(.is-stuck) { animation: hb-settle .6s cubic-bezier(.23, 1, .32, 1); }
@keyframes hb-settle { from { opacity: 0; transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { [data-hb-card][data-hb-reveal]:not(.is-in) { transform: none; } }
/* The calendar keeps its own sizes inside any form (the event page's quick form styled its day buttons like
   fields, so the 7 columns overflowed the popup and the Saturday column hung outside). */
.hb-date .hb-date__week, .hb-date .hb-date__grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.hb-date .hb-date__grid .hb-date__day { width: auto; min-width: 0; height: auto; min-height: 0; padding: 0; border: 0; line-height: 1; }
.hb-date .hb-date__head .hb-date__nav { width: 36px; min-width: 0; height: 36px; min-height: 0; padding: 0; border: 0; }
.hb-date .hb-date__pop { max-width: calc(100vw - 32px); }

/* Round 7 ------------------------------------------------------------------------------------------------ */
/* Loader: the logo fills with the same green it is drawn in. */
.hb-loader__svg path { fill: var(--hb-sage-dark); }
/* Tray category cards: the spinach leaf, a little smaller, slides out from behind the white card at the
   bottom left corner (it sits under the card, so it reads as coming out of the frame). */
.hb-cats__grid > li { position: relative; z-index: 1; }
.hb-cats__grid > li:hover { z-index: 3; }
.hb-cat::after { z-index: -1; bottom: -14px; left: -18px; width: 70px; transform-origin: 50% 50%; transform: translate(22px, -22px) rotate(150deg) scale(.7); transition: opacity .3s ease, transform .5s cubic-bezier(.34, 1.3, .64, 1); }
@media (hover: hover) and (pointer: fine) {
	.hb-cat:hover::after, .hb-cat:focus-visible::after { opacity: 1; transform: translate(0, 0) rotate(180deg) scale(1); }
}
/* The leaf lives on the card's list item, under the card (the card itself moves on hover, which would keep
   anything inside it above its own white background). */
.hb-cat::after { content: none; }
.hb-cats__grid > li::before { content: ""; position: absolute; z-index: -1; bottom: -14px; left: -18px; width: 70px; aspect-ratio: 180 / 171; background: url("../img/leaf-4.webp") center / contain no-repeat; pointer-events: none; opacity: 0; transform: translate(22px, -22px) rotate(150deg) scale(.7); transition: opacity .3s ease, transform .5s cubic-bezier(.34, 1.3, .64, 1); }
@media (hover: hover) and (pointer: fine) {
	.hb-cats__grid > li:hover::before, .hb-cats__grid > li:focus-within::before { opacity: 1; transform: translate(0, 0) rotate(180deg) scale(1); }
}
@media (hover: none) { .hb-cats__grid > li::before { display: none; } }
@media (prefers-reduced-motion: reduce) { .hb-cats__grid > li::before { transition: opacity .2s ease; } }
.hb-cats__grid > li::before { bottom: -30px; left: -36px; }

/* Event pages, round 2 ------------------------------------------------------------------------------------ */
/* The direct answer: centred, narrower, calmer (the "תשובה קצרה" tag is gone; the FAQ schema stays). */
.hb-cp.hb-contact > .hb-ev__answer { display: grid; justify-items: center; text-align: center; padding-inline: clamp(20px, 6vw, 90px); }
.hb-ev__answer h2 { max-width: 760px; margin: 0; font-size: clamp(28px, 2.9vw, 42px); line-height: 1.18; text-wrap: balance; }
.hb-ev__answer-text { max-width: 720px; margin-top: 16px; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.75; color: rgba(53, 43, 36, .82); text-wrap: pretty; }
.hb-ev__answer-text p:last-child { margin-bottom: 0; }
/* Recommended menus: one or two sit in the middle instead of filling the row from the right. */
.hb-pkp__menu-grid.is-few { display: flex; flex-wrap: wrap; justify-content: center; }
.hb-pkp__menu-grid.is-few > li { flex: 0 1 380px; min-width: 0; }
/* More events: large photo tiles. */
.hb-cp.hb-contact > .hb-ev__others { text-align: center; }
.hb-ev__others .hb-about__h2 { margin: 0 0 clamp(22px, 2.6vw, 34px); }
.hb-ev__tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; max-width: 1240px; margin: 0 auto; padding: 0; list-style: none; }
.hb-ev__tile { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 28px; background: var(--hb-cream); color: var(--hb-white); text-decoration: none; isolation: isolate; }
.hb-ev__tile-img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.23, 1, .32, 1); }
.hb-ev__tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(30, 24, 20, 0) 40%, rgba(30, 24, 20, .72)); }
.hb-ev__tile-name { position: absolute; right: 20px; left: 64px; bottom: 20px; font-weight: 700; font-size: clamp(20px, 1.7vw, 26px); line-height: 1.15; text-align: start; }
.hb-ev__tile-go { position: absolute; left: 16px; bottom: 16px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .92); transition: transform .35s cubic-bezier(.23, 1, .32, 1), background-color .25s ease; }
.hb-ev__tile-go::before { content: ""; width: 14px; height: 8px; background: var(--hb-ink-warm); -webkit-mask: url("../img/btn-arrow.svg") center / contain no-repeat; mask: url("../img/btn-arrow.svg") center / contain no-repeat; }
@media (hover: hover) and (pointer: fine) {
	.hb-ev__tile:hover .hb-ev__tile-img { transform: scale(1.06); }
	.hb-ev__tile:hover .hb-ev__tile-go { transform: translateX(-4px); background: var(--hb-gold); }
}
.hb-ev__tile:focus-visible { outline: 3px solid var(--hb-gold); outline-offset: 3px; }
.hb-ev__tile:active { transform: scale(.98); transition: transform .16s ease-out; }
@media (max-width: 767px) {
	.hb-ev__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.hb-ev__tile { aspect-ratio: 4 / 5; border-radius: 20px; }
	.hb-ev__tile-name { right: 14px; left: 48px; bottom: 14px; font-size: 18px; }
	.hb-ev__tile-go { left: 10px; bottom: 10px; width: 32px; height: 32px; }
	.hb-pkp__menu-grid.is-few > li { flex-basis: 100%; }
}
/* (Over the older chip rules for this nav: a grid of tiles, and the section heading at its full size.) */
.hb-ev__others ul.hb-ev__tiles { display: grid; }
.hb-ev__others h2.hb-about__h2 { font-size: clamp(30px, 3.2vw, 46px); }
.hb-ev__tiles > li { min-width: 0; }
/* Tiles: three across (a tidy 3 x 2 for the usual six), landscape, and the arrow pointing on (left). */
.hb-ev__others ul.hb-ev__tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1080px; }
.hb-ev__tile { aspect-ratio: 4 / 3; }
.hb-ev__tile-go::before { transform: rotate(90deg); }
@media (max-width: 767px) { .hb-ev__others ul.hb-ev__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hb-ev__tile { aspect-ratio: 4 / 5; } }

/* Mobile menu, v2 (template-parts/header/nav.php, main.js) ---------------------------------------------------- */
.hb-header__burger span { width: 28px; height: 2.2px; }
.hb-drawer { background: rgba(30, 24, 20, .5); }
.hb-drawer__panel { display: flex; flex-direction: column; gap: 0; width: min(400px, 92vw); padding: 0; overflow: hidden; background: var(--hb-filter-bg); }
.hb-drawer__top { display: flex; align-items: center; justify-content: space-between; padding: calc(12px + env(safe-area-inset-top)) 16px 12px 20px; border-bottom: 1px solid rgba(53, 43, 36, .08); }
.hb-drawer__logo img { display: block; width: 112px; height: auto; }
.hb-drawer__close { position: relative; flex: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--hb-white); box-shadow: 0 2px 10px rgba(53, 43, 36, .1); cursor: pointer; }
.hb-drawer__close::before, .hb-drawer__close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 2px; border-radius: 2px; background: var(--hb-ink-warm); transform: translate(-50%, -50%) rotate(45deg); }
.hb-drawer__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.hb-drawer__close:active { transform: scale(.94); }
.hb-drawer__close:focus-visible, .hb-drawer__back:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
.hb-drawer__layers { position: relative; flex: 1; min-height: 0; overflow: hidden; }
.hb-drawer__layer { position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain; padding: 6px 20px 24px; transition: transform .46s cubic-bezier(.32, .72, 0, 1), opacity .46s cubic-bezier(.32, .72, 0, 1); }
.hb-drawer__sub { padding-top: 0; background: var(--hb-filter-bg); transform: translateX(-100%); box-shadow: 18px 0 40px rgba(53, 43, 36, .14); }
.hb-drawer__sub[hidden] { display: block; visibility: hidden; }
.hb-drawer.is-sub .hb-drawer__sub { transform: none; visibility: visible; }
.hb-drawer.is-sub .hb-drawer__root { transform: translateX(26%); opacity: .2; }
/* Root: one row size for everything, the main items and אודות / כשרות / צור קשר alike. */
.hb-drawer__nav > ul > li > a, .hb-drawer__utility a { display: flex; align-items: center; min-height: 58px; padding: 0; border-bottom: 1px solid rgba(53, 43, 36, .08); font-weight: 600; font-size: 20px; color: var(--hb-ink-warm); text-decoration: none; }
.hb-drawer__utility ul { display: block; margin: 0; padding: 0; color: inherit; font-weight: 600; }
.hb-drawer__nav .hb-menu-highlight > a { display: inline-flex; min-height: 0; margin: 14px 0; padding: 6px 16px; border: 0; border-radius: 8px; background: var(--hb-gold); color: var(--hb-white); font-size: 18px; }
.hb-drawer__nav .hb-has-mega > a { padding-inline-end: 48px; }
.hb-drawer__nav .hb-mega, .hb-drawer__nav .hb-has-mega > .sub-menu { display: none !important; }
.hb-drawer__nav .hb-mega__toggle { top: 50%; inset-inline-end: 0; width: 34px; height: 34px; border: 0; background: var(--hb-white); transform: translateY(-50%); }
.hb-drawer__nav .hb-mega__toggle::after { display: none; }
.hb-drawer__nav .hb-mega__toggle::before { width: 8px; height: 8px; border: solid var(--hb-ink-warm); border-width: 0 0 2px 2px; border-radius: 1px; background: none; transform: translateX(1px) rotate(45deg); }
.hb-drawer__nav .hb-has-mega.is-open > .hb-mega__toggle { background: var(--hb-white); }
/* The rows come in one after another when the menu opens. */
.hb-drawer:not(.is-closing) .hb-drawer__root li { animation: hb-drawer-row .5s cubic-bezier(.23, 1, .32, 1) backwards; }
.hb-drawer__root li:nth-child(2) { animation-delay: 40ms; }
.hb-drawer__root li:nth-child(3) { animation-delay: 80ms; }
.hb-drawer__root li:nth-child(4) { animation-delay: 120ms; }
.hb-drawer__root li:nth-child(n+5) { animation-delay: 160ms; }
.hb-drawer__utility li { animation-delay: 200ms !important; }
@keyframes hb-drawer-row { from { opacity: 0; transform: translateX(18px); } }
/* The second layer. */
.hb-drawer__sub-head { position: sticky; top: 0; z-index: 2; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 12px; margin: 0 -20px 14px; padding: 12px 20px 14px; border-bottom: 1px solid rgba(53, 43, 36, .08); background: var(--hb-filter-bg); }
.hb-drawer__back { grid-row: span 2; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 12px 0 14px; border: 0; border-radius: 999px; background: var(--hb-white); color: var(--hb-ink-warm); font: 500 15px var(--hb-font); cursor: pointer; }
.hb-drawer__back-ico { width: 8px; height: 8px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(-45deg); }
.hb-drawer__sub-title { margin: 0; font-weight: 700; font-size: 22px; line-height: 1.2; }
.hb-drawer__sub-all { justify-self: start; font-size: 14px; color: var(--hb-orange-dark); text-underline-offset: 3px; }
.hb-drawer__sub-body .hb-mega__cols { display: grid; gap: 22px; }
.hb-drawer__sub-body .hb-mega__h { margin: 0 0 4px; font-weight: 500; font-size: 13.5px; color: rgba(53, 43, 36, .58); }
.hb-drawer__sub-body ul { margin: 0; padding: 0; list-style: none; }
.hb-drawer__sub-body ul a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; border-bottom: 1px solid rgba(53, 43, 36, .07); font-weight: 500; font-size: 17px; color: var(--hb-ink-warm); text-decoration: none; }
.hb-drawer__sub-body ul a small { flex: none; font-weight: 400; font-size: 13px; color: rgba(53, 43, 36, .55); }
.hb-drawer__sub-body .hb-mega__all { display: inline-block; margin-top: 10px; font-weight: 500; font-size: 14.5px; color: var(--hb-orange-dark); text-underline-offset: 3px; }
.hb-drawer__sub-body .hb-mega__card { margin-top: 24px; padding: 18px; border-radius: 20px; background: var(--hb-rose); }
.hb-drawer__sub-body .hb-mega__card--dark { background: var(--hb-ink-warm); color: var(--hb-white); }
.hb-drawer__sub-body .hb-mega__card-h { margin: 0 0 4px; font-weight: 700; font-size: 18px; }
.hb-drawer__sub-body .hb-mega__card p { margin: 0; font-size: 15px; line-height: 1.5; }
.hb-drawer__sub-body .hb-mega__btn { display: flex; width: 100%; min-height: 48px; margin-top: 14px; background: var(--hb-sage-dark); color: var(--hb-white); font-size: 16px; }
.hb-drawer__sub-body .hb-mega__card--dark .hb-mega__btn { background: var(--hb-white); color: var(--hb-ink-warm); }
.hb-drawer.is-sub .hb-drawer__sub-body > * { animation: hb-drawer-row .5s .12s cubic-bezier(.23, 1, .32, 1) backwards; }
/* Bottom: only "start an order" (WhatsApp floats on its own, search lives in the top bar). */
.hb-drawer__foot { padding: 12px 20px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(53, 43, 36, .08); }
.hb-drawer__cta { width: 100%; min-height: 52px; }
.hb-drawer__wa, .hb-drawer__search { display: none !important; }
@media (prefers-reduced-motion: reduce) { .hb-drawer__layer, .hb-drawer__root li, .hb-drawer__sub-body > * { transition: none !important; animation: none !important; } }

/* Mobile bottom bar: the cart sits in the bar (between "start an order" and WhatsApp) once it has items; no
   separate floating bubble on pages with the bar, so nothing stacks over WhatsApp. */
.hb-ctabar__cart { display: none; }
@media (max-width: 767px) {
	.hb-ctabar { grid-template-columns: minmax(0, 1fr) auto auto; }
	.hb-ctabar__cart { position: relative; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; background: var(--hb-orange); color: var(--hb-white); animation: hb-choice-pop .4s var(--hb-ease); }
	.hb-ctabar__cart:has(.hb-cart-count[hidden]) { display: none; }
	.hb-ctabar__cart .hb-ico--cart { width: 22px; height: 23px; color: var(--hb-white); }
	.hb-ctabar__cart .hb-cart-count { position: absolute; top: -5px; right: -5px; left: auto; min-width: 20px; height: 20px; padding: 0 5px; border: 2px solid var(--hb-white); border-radius: 99px; background: var(--hb-ink-warm); color: var(--hb-white); font: 700 11px/16px var(--hb-font); text-align: center; }
	.hb-ctabar__cart:active { transform: scale(.95); }
	body:has(.hb-ctabar) .hb-fab--cart { display: none !important; }
	body:has(.hb-ctabar) .hb-a11y { bottom: 92px; }
	.hb-ctabar__start.hb-btn { order: 1; }
	.hb-ctabar__cart { order: 2; }
	.hb-ctabar__wa { order: 3; }
}

/* Mobile responsive pass ------------------------------------------------------------------------------------ */
@media (max-width: 767px) {
	/* 10px on each side, everywhere. */
	:root { --hb-gutter: 10px; }
	/* Wrappers that added their own side padding on top of the page edge (cards ended up 28-47px in): the
	   cards inside now sit 10px from the edge like every other box. */
	.hb-contact__main, .hb-pkp__packages, .hb-cp__sec, .hb-pkp__menus, body:not(.home) .hb-faq:not(.hb-faq--box), .hb-menu__more, .hb-om__tools, .hb-om__list { margin-inline: 0 !important; padding-inline: 10px !important; }
	/* The last box sits 16px above the footer, the same rhythm as between the boxes. */
	.hb-main > article, .hb-main > .hb-contact { padding-bottom: 0 !important; margin-bottom: 0 !important; }
	.hb-footer { margin-top: 16px; }
}
@media (max-width: 767px) {
	/* (Over ".hb-contact > :not(script) { padding-inline: 20px !important }", which is right for boxes with a
	   background but doubled the edge on these transparent wrappers.) */
	html body .hb-contact > .hb-contact__main, html body .hb-contact > .hb-pkp__packages, html body .hb-contact > .hb-pkp__menus,
	html body .hb-contact > .hb-cp__sec:has(> .hb-catering__grid), html body .hb-contact > .hb-cp__sec:has(> .hb-pk-filter), html body .hb-contact > .hb-cp__sec:has(> .hb-packages),
	html body .hb-contact > .hb-menu__more, html body .hb-contact > .hb-om__list { margin-inline: 0 !important; padding-inline: 10px !important; }
	html body .hb-contact > .hb-faq, html body .hb-kosher > .hb-faq, html body .hb-faqp > .hb-faq { margin-inline: var(--hb-gutter) !important; padding-inline: 0 !important; }
	html body .hb-contact > .hb-om__tools { margin-inline: 0 !important; padding-inline: 10px !important; }
	/* Inside those wrappers the filters and the package carousel start at the same 10px line. */
	.hb-pkp__packages .hb-pk-filter, .hb-pkp__packages .hb-packages__head, .hb-cp__sec .hb-pk-filter, .hb-cp__sec .hb-pk-empty, .hb-pkp__packages .hb-pk-empty { margin-inline: 0; }
	.hb-pkp__packages .hb-pk-grid, .hb-cp__sec .hb-pk-grid { margin-inline: -10px; padding-inline: 10px; scroll-padding-inline: 10px; }
	.hb-om__list { margin-inline: 0 !important; }
}
@media (max-width: 767px) {
	/* The page wrapper already sits on the 10px line, so these inner wrappers add nothing. */
	html body .hb-contact > .hb-contact__main, html body .hb-contact > .hb-pkp__packages, html body .hb-contact > .hb-pkp__menus,
	html body .hb-contact > .hb-cp__sec:has(> .hb-catering__grid), html body .hb-contact > .hb-cp__sec:has(> .hb-pk-filter), html body .hb-contact > .hb-cp__sec:has(> .hb-packages),
	html body .hb-contact > .hb-menu__more, html body .hb-contact > .hb-om__list, html body .hb-contact > .hb-om__tools { padding-inline: 0 !important; }
	html body .hb-contact > .hb-faq, html body .hb-kosher > .hb-faq, html body .hb-faqp > .hb-faq { margin-inline: 0 !important; }
	.hb-pkp__packages .hb-packages, .hb-cp__sec .hb-packages { padding-inline: 0; }
}
@media (max-width: 767px) { html body .hb-contact > .hb-faq.hb-faq.hb-faq, html body .hb-kosher > .hb-faq.hb-faq.hb-faq { padding-inline: 0 !important; } }

/* Mobile menu, round 2: full-width rows (name, then the price or note on a small line under it) and the cards at
   the end of a layer running the full width of the panel. */
.hb-drawer__sub-head { grid-template-columns: auto 1fr; }
.hb-drawer__sub-body ul a { display: grid; justify-content: stretch; gap: 1px; padding: 10px 0; min-height: 0; }
.hb-drawer__sub-body ul a small { font-size: 13.5px; }
.hb-drawer__sub-body .hb-mega__card { margin-inline: -20px; margin-bottom: -24px; padding: 22px 20px 26px; border-radius: 0; }
/* Accessibility button: a little higher above the bottom bar. */
@media (max-width: 767px) { body:has(.hb-ctabar) .hb-a11y { bottom: 112px; } }
/* Contact page: the form follows the hero at the usual 16px (the 62px top was for the desktop bagel overlap). */
@media (max-width: 767px) { html body .hb-contact > .hb-contact__main { padding-top: 16px !important; } }
@media (max-width: 767px) { html body .hb-contact > .hb-contact__main > .hb-contact__grid { margin-top: 0; } }
/* FAQ page, phones: the bagel turns slowly in place, like the footer one. */
.hb-faqp__bagel.is-turning { animation: hb-turn 48s linear infinite; }
@media (prefers-reduced-motion: reduce) { .hb-faqp__bagel.is-turning { animation: none; } }
html.hb-a11y-motion .hb-faqp__bagel.is-turning { animation: none; }
/* Mobile menu: the group's title sits on the same row as "חזרה". */
.hb-drawer__back { grid-row: auto; }
.hb-drawer__sub-head { align-items: center; }
.hb-drawer__sub-title { line-height: 1.15; }

/* Private / business catering, mobile ------------------------------------------------------------------------ */
@media (max-width: 767px) {
	/* "מקידוש קטן ועד שמחה גדולה..." reads as one flowing heading, not a narrow column. */
	#hb-cp-bands { font-size: 26px; line-height: 1.25; text-wrap: balance; }
	#hb-cp-bands br { display: none; }
	/* The catering menus follow the boxes above at the usual rhythm. */
	.hb-cp .hb-pkp__menus { margin-top: 16px; padding-top: 28px; }
	/* The FAQ bagel: smaller, clear of the box above, and close to its heading. */
	.hb-faq__bagel { display: block; width: 110px !important; height: auto; margin: 28px auto 6px !important; }
	.hb-faq__art:has(> .hb-faq__bagel) { width: auto !important; margin: 0 !important; }
}

/* No elastic pull at the page edges and no sideways drag (pinch zoom stays, for accessibility). */
html, body { overscroll-behavior: none; }
body { overflow-x: clip; }

/* Mobile: on pages with their own bottom strip (a catering menu, the order form, a product once its strip
   shows) the cart sits inside the strip, at its left end, the same 48px orange button as in the main bar;
   the strip makes room for it. Nothing floats over anything else, and the accessibility button rests above. */
@media (max-width: 767px) {
	body:has(.hb-menu__bar) .hb-fab--cart, body:has(.hb-prodbar.is-shown) .hb-fab--cart, body:has(.hb-om__bar:not([hidden])) .hb-fab--cart {
		width: 48px; height: 48px; border-radius: 16px; box-shadow: none; transition: bottom .35s var(--ease-out), left .35s var(--ease-out);
	}
	body:has(.hb-menu__bar) .hb-fab--cart { bottom: 19px; left: 20px; }
	body:has(.hb-prodbar.is-shown) .hb-fab--cart { bottom: calc(18px + env(safe-area-inset-bottom)); left: 18px; }
	body:has(.hb-om__bar:not([hidden])) .hb-fab--cart { bottom: 22px; left: 22px; }
	body:has(.hb-fab--cart .hb-cart-count:not([hidden])) .hb-menu__bar { padding-left: 74px; }
	body:has(.hb-fab--cart .hb-cart-count:not([hidden])) .hb-prodbar { padding-left: 72px; }
	body:has(.hb-fab--cart .hb-cart-count:not([hidden])) .hb-om__bar { padding-left: 76px; }
	body:has(.hb-menu__bar) .hb-a11y, body:has(.hb-prodbar.is-shown) .hb-a11y, body:has(.hb-om__bar:not([hidden])) .hb-a11y { bottom: 112px; }
	/* No strip on screen: the cart floats alone at the bottom left, the accessibility button above it. */
	body:not(:has(.hb-ctabar)):not(:has(.hb-menu__bar)) .hb-a11y { bottom: 92px; }
	body:has(.hb-prodbar.is-shown) .hb-a11y, body:has(.hb-om__bar:not([hidden])) .hb-a11y { bottom: 112px; }
}
/* (The menu strip sits in a page wrapper whose children get padding-inline 20px !important.) */
@media (max-width: 767px) { body:has(.hb-fab--cart .hb-cart-count:not([hidden])) .hb-contact > .hb-menu__bar { padding-left: 74px !important; } }

/* Quote form, phones: calmer. No bagel over the form, the search and categories scroll with the page (no
   floating block), the categories sit behind one filter button, and no cart bubble (the page has no strip). */
.hb-qb__filter { display: none; }
@media (max-width: 767px) {
	.hb-quote .hb-about__hero-bagel { display: none; }
	.hb-qb__tools { position: relative; top: auto; margin: 0 0 14px; padding: 0; background: none; }
	.hb-qb__filter { display: inline-flex; align-items: center; gap: 8px; justify-self: start; min-height: 42px; padding: 0 14px; border: 1px solid rgba(53, 43, 36, .16); border-radius: 999px; background: var(--hb-white); color: var(--hb-ink-warm); font: 500 15px var(--hb-font); cursor: pointer; }
	.hb-qb__filter-chev { width: 7px; height: 7px; margin-inline-start: 2px; border: solid currentColor; border-width: 0 1.8px 1.8px 0; transform: translateY(-2px) rotate(45deg); transition: transform .25s var(--ease-out); }
	.hb-qb__filter[aria-expanded="true"] .hb-qb__filter-chev { transform: translateY(1px) rotate(-135deg); }
	.hb-qb__tabs { position: absolute; top: calc(100% + 6px); inset-inline-start: 0; z-index: 6; display: grid; gap: 2px; width: min(280px, 100%); padding: 6px; overflow: visible; border-radius: 18px; background: var(--hb-white); box-shadow: 0 16px 40px rgba(53, 43, 36, .18); opacity: 0; visibility: hidden; transform: translateY(-6px); transform-origin: 50% 0; transition: opacity .2s var(--ease-out), transform .26s var(--ease-out), visibility 0s linear .26s; }
	.hb-qb__tabs.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
	.hb-qb__tab { justify-content: space-between; width: 100%; min-height: 44px; border: 0; border-radius: 12px; }
	.hb-qb__tab[aria-selected="true"] { background: var(--hb-filter-bg); color: var(--hb-ink-warm); font-weight: 600; }
	.hb-quote ~ .hb-fab--cart, body:has(.hb-quote) .hb-fab--cart { display: none !important; }
	body:has(.hb-quote) .hb-qb__tray { bottom: 12px; }
	body:has(.hb-quote) .hb-a11y { bottom: 92px; }
}
/* Gallery: the filter chips scroll with the page (they no longer float under the header). */
.hb-galp__chips.hb-faqp__chips { position: relative; top: auto; }

/* Quote form, round 3 ---------------------------------------------------------------------------------------- */
/* The "picked dishes" strip stays hidden until a dish is picked (its display rule was overriding [hidden]). */
.hb-qb__tray[hidden] { display: none !important; }
@media (max-width: 767px) {
	/* The heading and text sit in the middle of the video. */
	.hb-quote .hb-about__hero { padding-top: 40px; padding-bottom: 40px; }
	/* The step names: a roomy row that scrolls sideways; the current step slides into view (main.js). */
	.hb-q__steps { display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding: 2px 2px 4px; overscroll-behavior-x: contain; }
	.hb-q__steps::-webkit-scrollbar { display: none; }
	.hb-q__steps li { flex: none; white-space: nowrap; scroll-snap-align: center; text-align: center !important; font-size: 14.5px; }
	/* The filter sits on the same row as the search, to its right. */
	.hb-qb__tools { display: flex; align-items: center; gap: 8px; }
	.hb-qb__search { flex: 1; min-width: 0; }
	.hb-qb__filter { order: -1; flex: none; min-height: 46px; }
	.hb-qb__filter [data-hb-qb-filter-label] { max-width: 96px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
/* (The scrolling step row must not widen the form card: its grid track and the card shrink to the screen.) */
.hb-quote__grid > *, .hb-quote__card, .hb-q, .hb-q__progress, .hb-q__steps { min-width: 0; max-width: 100%; }
@media (max-width: 767px) { .hb-quote__grid { grid-template-columns: minmax(0, 1fr); } }
.hb-q__step, .hb-qb, .hb-qb__tools, .hb-qb__cats, .hb-qb__cat, .hb-qb__grid { min-width: 0; max-width: 100%; }
.hb-qb__search input { width: 100%; min-width: 0; }

/* Personal boxes, round 2: options as cards (boxes.js), the tick works, calmer on phones ------------------- */
.hb-boxes__cat { grid-template-columns: 28px minmax(0, 1fr); padding: 14px 16px 16px; }
.hb-boxes__dd[hidden] { display: none !important; }
.hb-boxes__tick { cursor: pointer; }
.hb-boxes__tick:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
.hb-boxes__opts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.hb-boxes__opt { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 10px 14px; border: 1.5px solid rgba(53, 43, 36, .1); border-radius: 16px; background: var(--hb-white); color: var(--hb-ink-warm); font: 400 15px/1.3 var(--hb-font); text-align: start; cursor: pointer; transition: border-color .22s var(--ease-out), background-color .22s var(--ease-out), transform .16s var(--ease-out); }
.hb-boxes__opt:active { transform: scale(.98); }
.hb-boxes__opt-name { min-width: 0; }
.hb-boxes__opt-price { flex: none; font-weight: 600; font-size: 14.5px; color: rgba(53, 43, 36, .75); }
.hb-boxes__opt[aria-checked="true"] { border-color: var(--hb-sage-dark); background: #f2f5f0; }
.hb-boxes__opt[aria-checked="true"] .hb-boxes__opt-price { color: var(--hb-sage-dark); }
@media (hover: hover) and (pointer: fine) { .hb-boxes__opt:hover { border-color: var(--hb-sage); } }
.hb-boxes__opt:focus-visible { outline: 2px solid var(--hb-ink-warm); outline-offset: 2px; }
.hb-boxes__cat-txt small { white-space: normal; }
@media (max-width: 767px) {
	/* No background panel behind the cards: the steps run the full width. */
	html body .hb-cp.hb-contact > .hb-boxes__builder { padding: 0 !important; margin-inline: 0 !important; background: none !important; gap: 12px; }
	.hb-boxes__step { padding: 20px 16px; border-radius: 22px; }
	.hb-boxes__cat { padding: 12px; border-radius: 18px; }
	.hb-boxes__opts { grid-template-columns: 1fr; }
	/* Quote form: the dishes spread wider (less side padding around the grid). */
	.hb-qb__cats { margin-inline: -14px; }
}
@media (max-width: 767px) {
	/* One level only: the category cards sit straight on the page (no white panel around them). */
	.hb-boxes__step--content { padding: 6px 0 0; background: none; }
	.hb-boxes__step--content > h2 { padding-inline: 6px; }
	.hb-boxes__cat { background: var(--hb-white); border-color: transparent; }
	.hb-boxes__opt { background: var(--hb-filter-bg); border-color: transparent; }
	.hb-boxes__opt[aria-checked="true"] { border-color: var(--hb-sage-dark); background: #f2f5f0; }
	/* Room for the hero bagel above the first card's heading. */
	.hb-boxes__main > .hb-boxes__step:first-child { padding-top: 62px; }
}
@media (max-width: 767px) { .hb-qb .hb-qb__cats { max-width: none; width: auto; margin-inline: -14px; } }

/* Personal boxes, round 3: a chosen category keeps a white card with a green frame; only the chosen dish
   inside it is tinted soft green, the other dishes stay white. */
html body .hb-boxes__cat.is-on { border-color: var(--hb-sage-dark); background: var(--hb-white); }
html body .hb-boxes__opt { background: var(--hb-white); border-color: rgba(53, 43, 36, .12); }
html body .hb-boxes__opt[aria-checked="true"] { border-color: var(--hb-sage-dark); background: rgba(141, 162, 139, .2); }

/* Checkout on phones: one level of cards that run the full width (no beige panel around them), the order
   summary moves down to just before payment, light and smaller instead of the dark block on top. */
@media (max-width: 767px) {
	html body .hb-cp.hb-contact > .hb-checkout__box { padding: 24px 0 0 !important; background: none !important; }
	.hb-checkout__box > h1 { margin: 0 0 16px; padding-inline: 6px; }
	.hb-co { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
	.hb-co > * { min-width: 0; }
	.hb-co__steps { display: contents; }
	.hb-co__steps > .hb-co__step { order: 1; }
	.hb-co__sum { order: 2; }
	.hb-co__steps > .hb-co__pay { order: 3; }
	.hb-co__step { padding: 22px 16px; border-radius: 22px; }
	.hb-co h2.hb-co__head { margin-bottom: 14px; }

	.hb-co__sum { padding: 20px 16px; border: 1px solid var(--hb-rose); border-radius: 22px; background: var(--hb-white); color: var(--hb-ink-warm); }
	.hb-co__sum > h2 { margin: 0 0 12px; font-size: 18px; }
	.hb-co__sum .blockUI.blockOverlay { background: var(--hb-white) !important; }
	.hb-co__lines { gap: 8px; margin: 0 0 12px; padding: 0 0 12px; border-bottom: 1px solid rgba(53, 43, 36, .1); }
	.hb-co__lines li, .hb-co__row { font-size: 14.5px; color: rgba(53, 43, 36, .85); }
	.hb-co__row { margin: 0 0 6px; }
	.hb-co__lines small, .hb-co__row small { color: rgba(53, 43, 36, .55); }
	.hb-co__row a { color: var(--hb-sage-dark); }
	.hb-co__total { margin: 10px 0 0; padding-top: 12px; border-top: 1px solid rgba(53, 43, 36, .1); font-size: 15px; }
	.hb-co__total strong { font-size: 20px; color: var(--hb-ink-warm); }
	.hb-co__note { margin: 10px 0 0; font-size: 13.5px; color: rgba(53, 43, 36, .6); }
}

/* Event pages: the hero bagel sits right on the seam between the photo and the white box (it takes no room
   of its own, main.js centres it on the gap), the white box follows the photo closely, and the doodle pattern
   of the menus grows out from under the white box (it starts behind it and fades in) with no big gap. */
.hb-ev .hb-about__hero { z-index: 2; }
.hb-ev .hb-about__hero-bagel { position: absolute; top: 100%; left: 0; right: 0; margin: 0 auto !important; z-index: 3; }
.hb-cp.hb-contact > .hb-ev__answer { position: relative; z-index: 1; margin-top: 16px; padding-top: clamp(64px, 6vw, 84px); }
.hb-cp.hb-contact > .hb-ev__menus { margin-top: 0; padding-top: clamp(36px, 4vw, 56px); }
.hb-ev__menus::before { top: -160px !important; -webkit-mask: linear-gradient(180deg, transparent 0, #000 240px, #000 70%, transparent); mask: linear-gradient(180deg, transparent 0, #000 240px, #000 70%, transparent); }

/* Loader: the logo draws itself in orange and fills completely with orange (the bar stays green). */
.hb-loader__svg path { fill: var(--hb-orange); stroke: var(--hb-orange); }

/* Loader: the logo just sits there, orange and whole, with no drawing or filling. */
.hb-loader__svg path { animation: none !important; fill-opacity: 1 !important; stroke: none !important; }

/* Category cards (home and shop): the bagel burst from before, only at the top right, zooms in on hover
   (instead of the leaf at the bottom left). */
.hb-cats__grid > li::before { top: -34px; right: -44px; bottom: auto; left: auto; z-index: 2; width: 140px; aspect-ratio: 420 / 353; background-image: url("../img/bagel-burst.webp"); opacity: 0; transform: scale(.55) rotate(-14deg); transform-origin: 70% 30%; transition: opacity .5s var(--ease-out), transform .9s cubic-bezier(.22, 1, .36, 1); }
@media (hover: hover) and (pointer: fine) {
	.hb-cats__grid > li:hover::before, .hb-cats__grid > li:focus-within::before { opacity: 1; transform: scale(1) rotate(0); }
}
@media (prefers-reduced-motion: reduce) { .hb-cats__grid > li::before { transition: opacity .2s ease; transform: none; } }

/* Loader: the header logo itself, as is. */
.hb-loader__img { display: block; width: 100%; height: auto; }

/* Client 04/11/2026: "הכי פופולרי" on the richest of the three packages */
.hb-fnin__pk,.hba-res__card{position:relative}
.hb-pk-pop{position:absolute;top:12px;inset-inline-start:12px;z-index:2;padding:5px 12px;border-radius:999px;background:#f5b301;color:#2b211c;font-size:13px;font-weight:700;line-height:1.3;box-shadow:0 4px 12px rgba(43,33,28,.18)}
.hba-res__card .hb-pk-pop{top:28px;inset-inline-start:28px}
.hb-pk-pop--flow,.hba-res__card .hb-pk-pop--flow{position:static;align-self:flex-start;width:max-content;margin:12px 12px 0}

/* Eliyahu 04/11/2026: a kind's note sits under its title, not on each dish. */
.hb-menu__catnote{flex-basis:100%;margin:0;font-size:14.5px;line-height:1.45;font-weight:600;color:inherit}
@media print{.hb-menu__catnote{color:#000!important}}
