/* /packages/ (FX-6, 16/10/2026). Behaviour: assets/js/polish-pkg.js. Loaded after polish-static.css.
   Short first screen, one sticky toolbar (guests + השוואה + סינון), compact stacked cards, compare sheet. */

/* The section's own heading repeats the hero (title + lead): keep it for screen readers, not for the eye. */
.hb-pkp > .hb-pkp__packages > .hb-pkp__head { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hb-pkp > .hb-pkp__packages { padding-top: 0; }
.hb-pkp .hb-pkp__packages > .hb-packages { margin-top: 0; }
.hb-pkp .hb-packages--page .hb-pk-filter.hb-pkbar { margin-top: 0 !important; }

/* Toolbar: guests · השוואה · סינון, one row. */
.hb-pkbar__cmp {
	display: inline-flex; align-items: center; gap: 8px; height: 44px; min-height: 44px; padding: 0 14px; border: 1px solid rgba(53, 43, 36, .16); border-radius: 999px;
	background: #fff; color: #352b24; font: 700 15px/1 var(--hb-font); white-space: nowrap; cursor: pointer;
}
.hb-pkbar__cmp svg { flex: none; color: #8c7068; }
.hb-pkbar__cmp:active { transform: scale(.97); }
.hb-pkbar__cmp:focus-visible { outline: 2px solid #352b24; outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .hb-pkbar__cmp:hover { border-color: rgba(53, 43, 36, .5); } }
@media (max-width: 479px) {
	.hb-pkp .hb-pk-filter.hb-pkbar { gap: 6px; padding-inline: 4px; }
	.hb-pkp .hb-pk-filter.hb-pkbar .hb-dd__btn, .hb-pkbar__open, .hb-pkbar__cmp { padding: 0 11px; gap: 6px; font-size: 14px; }
}

/* "מספר אורחים אחר" lives in the filter sheet. */
.hb-pksheet__sec--n .hb-pk-other { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; margin: 0; }
.hb-pksheet__sec--n .hb-pk-other label { display: none; }
.hb-pksheet__sec--n .hb-pk-other input { flex: 1 1 auto; width: auto; min-width: 0; }
.hb-pksheet__sec--n .hb-pk-other__go { flex: none; }

/* Cards: the facts strip (the photo's chips, moved under the name), 3 items + "ועוד N", the fixed/swappable note became a chip. */
.hb-pkp .hb-pk-card__items li[hidden] { display: none !important; }
.hb-pkp .hb-pk-card__note { display: none; }
.hb-pkp .hb-pk-card__chips.hb-pkc__facts {
	position: static; display: flex; flex-wrap: nowrap; align-items: center; gap: 6px 12px; margin: 0 0 10px; padding: 0; background: none; border-radius: 0; font-size: 13.5px; line-height: 1.2; color: #4a403a; white-space: nowrap;
}
.hb-pkc__facts > span { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.hb-pkc__facts .hb-ico { width: 18px; height: 18px; color: #8c7068; }
.hb-pkc__ico { display: inline-grid; place-items: center; color: #8c7068; }
.hb-pkc__kind { padding: 4px 10px 4px 9px; border-radius: 999px; background: #f2ebe6; font-weight: 600; }
.hb-pkc__more { color: #8a5600; font-weight: 700; }
.hb-pkp .hb-pk-card__items li.hb-pkc__more::before { display: none; }
.hb-pkp .hb-pk-card__foot:not(:has(.hb-pk-card__note)), .hb-pkp .hb-pk-card__foot { padding-bottom: 14px; }

@media (max-width: 767px) {
	/* Stacked on a phone, not a sideways rail. */
	html body .hb-pkp .hb-pkp__packages .hb-pk-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; grid-auto-columns: auto; gap: 14px; margin: 14px 0 0; padding: 0; overflow: visible; scroll-snap-type: none; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__media { aspect-ratio: 16 / 10; margin: 12px 12px 0; border-radius: 28px; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__body { padding: 12px 18px 0; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__title { margin: 0 0 6px; font-size: 22px; line-height: 1.2; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__items { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__items li { font-size: 14.5px; line-height: 1.35; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 18px 12px; margin-top: 8px; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__price { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__from { grid-column: auto; line-height: 1.2; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__amount { line-height: 1.1; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__total { line-height: 1.3; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__cta.hb-btn { width: auto; min-width: 0; white-space: nowrap; }
}

/* Compare sheet. */
.hb-cmpsheet .hb-pksheet__panel { max-height: min(88vh, 680px); }
.hb-cmpsheet .hb-pksheet__head { padding-top: 2px; }
.hb-cmp__hint { margin: 0 0 10px; font-size: 14.5px; color: #5f524c; }
.hb-cmp__pick { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; } /* 17/10: wraps, so the 3rd chip is never clipped */
.hb-cmp__pick::-webkit-scrollbar { display: none; }
.hb-cmp__chip { display: inline-flex; align-items: center; gap: 8px; flex: none; min-height: 44px; padding: 0 16px 0 12px; border: 1px solid rgba(53, 43, 36, .18); border-radius: 999px; background: #fff; color: #352b24; font: 600 15px/1.1 var(--hb-font); cursor: pointer; }
.hb-cmp__tick { display: grid; place-items: center; width: 20px; height: 20px; border: 1.5px solid rgba(53, 43, 36, .3); border-radius: 50%; color: transparent; }
.hb-cmp__chip[aria-checked="true"] { border-color: #657b63; background: #eef2ec; }
.hb-cmp__chip[aria-checked="true"] .hb-cmp__tick { border-color: #657b63; background: #657b63; color: #fff; }
.hb-cmp__chip:focus-visible { outline: 2px solid #352b24; outline-offset: 2px; }
.hb-cmp__grid { display: grid; gap: 6px; }
.hb-cmp__row { display: grid; grid-template-columns: 92px repeat(var(--n, 3), minmax(0, 1fr)); gap: 8px; align-items: center; padding: 10px 12px; border-radius: 18px; background: #f9f4f0; font-size: 14.5px; line-height: 1.3; }
.hb-cmp__row:nth-child(even) { background: #f2ebe6; }
.hb-cmp__row--h, .hb-cmp__row--cta { background: none !important; padding-block: 4px; }
.hb-cmp__row--h b { font-size: 15px; text-align: center; color: #352b24; }
.hb-cmp__l { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 13.5px; color: #5f524c; }
.hb-cmp__l i { display: inline-grid; flex: none; color: #8c7068; }
.hb-cmp__v { text-align: center; font-variant-numeric: tabular-nums; }
.hb-cmp__v strong { font-size: 18px; color: #4a5d4b; }
.hb-cmp__na { color: #6b625d; font-size: 13px; }
.hb-cmp__empty { margin: 8px 0; text-align: center; color: #5f524c; }
.hb-cmp__row--cta .hb-btn { min-height: 44px; padding: 0 10px; font-size: 15px; justify-content: center; }
@media (max-width: 479px) {
	.hb-cmp__row { grid-template-columns: 70px repeat(var(--n, 3), minmax(0, 1fr)); gap: 6px; padding-inline: 8px; font-size: 13.5px; }
	.hb-cmp__l { flex-direction: column; align-items: flex-start; gap: 2px; font-size: 12.5px; }
	.hb-cmp__v strong { font-size: 16px; }
	.hb-cmp__row--cta .hb-btn { padding: 0 4px; font-size: 14px; }
}

/* No layout shift while polish-pkg.js moves things: "מספר אורחים אחר" is out of the page flow from the first paint,
   and the facts strip / "ועוד N" are reserved before they are built. */
.hb-pkp .hb-packages--page > .hb-pk-other { display: none; }
.hb-pkp .hb-pk-card:not([data-pkc]) .hb-pk-card__items li:nth-child(n+4) { display: none; }
.hb-pkp .hb-pk-card:not([data-pkc]) .hb-pk-card__chips { visibility: hidden; }
.hb-pkp .hb-pk-card:not([data-pkc]) .hb-pk-card__title { margin-bottom: 42px !important; }
@media (max-width: 767px) {
	.hb-pkp .hb-pk-card:not([data-pkc]) .hb-pk-card__items::after { content: ""; display: block; height: 19.6px; }
}
.hb-pkp .hb-packages--page > .hb-pkp__count { display: none; }

/* FX-7: before polish-static.js turns the filter form into the sticky toolbar (class hb-pkbar) it is a 87px two-column grid;
   afterwards 60px. That 27px drop moved the whole card grid (CLS 0.0137 at 768). Reserve the final 60px from the first paint.
   Only where scripts run, so a no-JS visitor still gets the plain form. */
@media (scripting: enabled) {
	.hb-pkp .hb-packages--page .hb-pk-filter:not(.hb-pkbar) { height: 60px; margin-top: 0 !important; overflow: hidden; visibility: hidden; }
}

/* FX-7: the "other packages" block on a package product page uses the same compact card as /packages/
   (markup in product-page.php; same class names as the JS-built card: .hb-pkc__facts / __kind / __more). */
.hb-prod__pkgs--compact .hb-pk-card__chips.hb-pkc__facts {
	position: static; display: flex; flex-wrap: nowrap; align-items: center; gap: 6px 12px; margin: 0 0 10px; padding: 0; background: none; border-radius: 0; font-size: 13.5px; line-height: 1.2; color: #4a403a; white-space: nowrap;
}
.hb-prod__pkgs--compact .hb-pk-card__note { display: none; }
.hb-prod__pkgs--compact .hb-pk-card__items li.hb-pkc__more::before { display: none; }
.hb-prod__pkgs--compact .hb-pk-card__media { aspect-ratio: 16 / 10; margin: 12px 12px 0; border-radius: 28px; }
.hb-prod__pkgs--compact .hb-pk-card__body { padding: 12px 18px 0; }
.hb-prod__pkgs--compact .hb-pk-card__title { margin: 0 0 6px; font-size: 22px; line-height: 1.2; }
.hb-prod__pkgs--compact .hb-pk-card__items { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
.hb-prod__pkgs--compact .hb-pk-card__items li { font-size: 14.5px; line-height: 1.35; }
.hb-prod__pkgs--compact .hb-pk-card__foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 18px 14px; margin-top: 8px; }
.hb-prod__pkgs--compact .hb-pk-card__price { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0; }
.hb-prod__pkgs--compact .hb-pk-card__from { grid-column: auto; line-height: 1.2; }
.hb-prod__pkgs--compact .hb-pk-card__amount { line-height: 1.1; }
.hb-prod__pkgs--compact .hb-pk-card__total { line-height: 1.3; }
.hb-prod__pkgs--compact .hb-pk-card__cta.hb-btn { width: auto; min-width: 0; white-space: nowrap; }
@media (max-width: 430px) {
	.hb-prod__pkgs--compact .hb-pk-card__chips.hb-pkc__facts { flex-wrap: wrap; gap: 6px 10px; font-size: 13px; }
}

/* --hb-sbw = the scrollbar's width (polish-pkg.js), so 100vw minus it is the real page width. */
/* WD (17/10/2026, owner at 1500–1900px: "צפוף מאוד", "לא מעוצב טוב"). One centred container for the toolbar, the
   count and the cards; the cards get air and a clear order: photo, name, facts, what's inside, then price + button.
   --hb-pkw is the content width the toolbar's chips line up with (the bar itself keeps the header pill's gutters). */
@media (min-width: 1024px) {
	.hb-pkp { --hb-vw: calc(100vw - var(--hb-sbw, 0px)); --hb-pkw: min(1272px, calc(var(--hb-vw) - 2 * clamp(40px, 5vw, 96px))); }
	html body .hb-pkp > .hb-pkp__packages { padding-inline: 0; }
	html body .hb-pkp .hb-pkp__packages > .hb-packages--page { box-sizing: border-box; width: var(--hb-pkw); max-width: none; margin-inline: auto; padding-inline: 0; }
	/* Any number of cards sits centred (a filter that leaves 1 or 2 no longer hugs the right edge). */
	html body .hb-pkp .hb-packages--page .hb-pk-grid { --g: clamp(22px, 2vw, 30px); display: flex; flex-wrap: wrap; justify-content: center; gap: var(--g); margin: 8px 0 0; padding: 0; }
	html body .hb-pkp .hb-packages--page .hb-pk-grid > li { flex: 0 1 calc((100% - 2 * var(--g)) / 3); min-width: 0; }
	/* Toolbar chips and the count line up with the card edges, stuck or not. */
	html body .hb-pkp .hb-packages--page .hb-pk-filter.hb-pkbar { padding-inline: max(14px, calc((var(--hb-vw) - 2 * var(--hb-gutter) - var(--hb-pkw)) / 2)); gap: 10px; margin-bottom: 22px; }
	.hb-pkp .hb-pk-filter.hb-pkbar > .hb-pkp__count { font-size: 15px; }

	html body .hb-pkp .hb-packages--page .hb-pk-card { border-radius: 36px; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__media { aspect-ratio: 16 / 9; margin: 14px 14px 0; border-radius: 26px; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__body { padding: 20px 28px 8px; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__title { margin: 0 0 10px !important; font-size: 26px; line-height: 1.15; }
	html body .hb-pkp .hb-pk-card__chips.hb-pkc__facts { flex-wrap: wrap; gap: 8px 16px; margin: 0 0 16px; padding-bottom: 16px; border-bottom: 1px solid rgba(53, 43, 36, .1); font-size: 14px; }
	/* What's inside: one item per line, room between lines, "ועוד N" as its own quiet line. */
	html body .hb-pkp .hb-packages--page .hb-pk-card__items { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__items li { font-size: 15.5px; line-height: 1.4; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__items li.hb-pkc__more { margin-top: 2px; font-size: 14.5px; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__foot { gap: 6px 16px; margin: 14px 14px 14px; padding: 16px 16px 16px 14px; border-top: 0; border-radius: 26px; background: #f2ebe6; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__amount { font-size: 28px; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__total { margin-top: 2px; font-size: 14px; color: #5f524c; }
	html body .hb-pkp .hb-packages--page .hb-pk-card__cta.hb-btn { min-height: 50px; height: 50px; padding: 0 22px; }
	.hb-pkp .hb-pk-card:not([data-pkc]) .hb-pk-card__title { margin-bottom: 58px !important; }

	/* "לא בטוחים מה מתאים?": the two way cards stay inside the panel, clear of the subtitle (their discs rise above them). */
	.hb-pkp > .hb-faqp__cta { box-sizing: border-box; width: var(--hb-pkw); max-width: none; margin-inline: auto !important; padding: clamp(44px, 4.4vw, 64px) clamp(28px, 4vw, 64px) clamp(40px, 4vw, 60px) !important; }
	.hb-pkp > .hb-faqp__cta .hb-ways__list--panel { box-sizing: border-box; width: 100%; max-width: 880px; margin: calc(var(--hbw-rise, 36px) + 52px) auto 0; }
	.hb-pkp > .hb-pkp__boxes { box-sizing: border-box; width: var(--hb-pkw); max-width: none; margin-inline: auto; }
}

/* "ועוד N" is a real toggle (owner 17/10/2026) */
.hb-pkc__morebtn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin: -10px 0; padding: 0; border: 0; background: none; font: inherit; font-weight: 700; color: #8a5600; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.hb-pkc__morebtn::after { content: ""; width: 7px; height: 7px; border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease-out; }
.hb-pkc__morebtn[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
.hb-pkc__morebtn:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 6px; }

/* R16 (17/10/2026): /packages/ reads curated. No spinning badge on a package photo, and the "too few guests"
   way out is said once, above the menus, only while a menu card is off for the chosen count. Each card keeps
   its plain "מינימום N אורחים". */
.hb-pkp .hb-pk-card__badge { display: none; }
.hb-pkp__menu .hb-pkp__hint { display: none; }
.hb-pkp__minnote { display: none; margin: 0 auto; text-align: center; font-size: 15.5px; }
.hb-pkp__menus:has(.hb-pkp__mtot.is-off) .hb-pkp__minnote { display: block; }
.hb-pkp__minnote a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 500; color: #8a5600; text-decoration: underline; text-underline-offset: 3px; }
