/* Adam Bavaria: storefront styles. Right to left, phone first. */

/* Fonts: self-hosted. The @font-face rules are printed by inc/assets.php only when the woff2 files exist
   in assets/fonts (see README there); until then the system fallbacks in --font are used. */

:root {
  --red: #b31f2b;
  --red-dark: #8f1822;
  --ink: #141111;
  --mute: #5c5552;
  --line: #ece8e4;
  --line-strong: #d9d3ce;
  --soft: #f6f3f0;
  --cream: #f8f4ee;
  --cream-deep: #f1e9de;
  --green: #2a6334;
  --green-bg: #eef5ef;
  --white: #fff;
  --radius: 14px;
  --radius-sm: 10px;
  --shadow: 0 10px 30px rgba(20, 17, 17, .08);
  --font: "Heebo", "Arial Hebrew", "Noto Sans Hebrew", Arial, sans-serif;
  --font-display: "Frank Ruhl Libre", "Times New Roman", "Noto Serif Hebrew", serif;
  --gutter: 16px;
  --header-h: 56px;
  --tap: 44px;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; background: var(--ink); }
/* The dark canvas continues the footer when a page is shorter than the screen; the page itself stays white. */
html.has-dialog { overflow: hidden; }
body { margin: 0; font-family: var(--font); font-size: 16px; line-height: 1.55; color: var(--ink); background: var(--white); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
a:hover { color: var(--red); }
:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3 { line-height: 1.2; margin: 0; }
p { margin: 0; }
button { font: inherit; color: inherit; }
bdi.amount { unicode-bidi: isolate; white-space: nowrap; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; inset-inline-start: 8px; top: -60px; z-index: 100; background: var(--ink); color: var(--white); padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { top: 8px; color: var(--white); }

.container { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: var(--gutter); }
.container--narrow { max-width: 760px; }
.container--shop { max-width: 1000px; }
.site-main { min-height: 50vh; }

/* ---------- Buttons ---------- */
.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  min-height: var(--tap); padding: 0 20px; border-radius: 999px; border: 1.5px solid transparent;
  font-family: var(--font); font-size: 15.5px; font-weight: 700; line-height: 1.1; text-decoration: none; cursor: pointer;
  background: var(--ink); color: var(--white); transition: background-color .15s, color .15s, border-color .15s;
}
.button:hover { color: var(--white); background: #2d2826; }
.button--primary, .woocommerce a.button.button--primary, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #place_order { background: var(--red); color: var(--white); }
.button--primary:hover, .woocommerce a.button.button--primary:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #place_order:hover { background: var(--red-dark); color: var(--white); }
.button--dark, .woocommerce a.button.button--dark { background: var(--ink); color: var(--white); }
.button--outline, .woocommerce a.button.button--outline { background: var(--white); color: var(--ink); border-color: var(--ink); }
.button--outline:hover, .woocommerce a.button.button--outline:hover { background: var(--ink); color: var(--white); }
.button--small { min-height: 36px; padding: 0 14px; font-size: 14px; font-weight: 500; }
.button--large { min-height: 50px; padding: 0 26px; font-size: 16.5px; }
.button.is-disabled { opacity: .45; cursor: not-allowed; }
.link-button { background: none; border: 0; padding: 10px 2px; min-height: var(--tap); font-size: 14px; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.link-arrow { font-size: 14.5px; font-weight: 700; text-decoration: none; color: var(--red); }
.icon-button { width: var(--tap); height: var(--tap); display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; border-radius: 50%; cursor: pointer; position: relative; color: var(--ink); text-decoration: none; }
.icon-button:hover { background: var(--soft); color: var(--ink); }

/* ---------- Top bar and header ---------- */
.topbar { background: var(--ink); color: var(--white); font-size: 12.5px; line-height: 1.45; text-align: center; padding: 4px var(--gutter); }
.topbar p { margin: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 2px 10px; }
.topbar__sep { opacity: .5; }
.topbar__kashrut { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; }
.topbar__kashrut a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 255, 255, .45); }
.topbar__kashrut a:hover { text-decoration-color: currentColor; }
.topbar__phone { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 5px; font-weight: 600; }
.topbar__phone:hover { text-decoration: underline; }
/* The wrapper only reserves the tall header's height on wide screens (theme.js); elsewhere it must not exist as a box,
   or the sticky header would be held inside it. */
.site-header-wrap { display: contents; }
.site-header { position: sticky; top: 0; z-index: 40; background: var(--white); border-bottom: 1px solid var(--line); }
.site-header__inner { height: var(--header-h); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 4px; padding-inline: 6px; }
.site-header__inner > [data-nav-open] { justify-self: start; }
.site-logo { justify-self: center; }
.site-logo img { height: 42px; width: auto; }
.site-header__actions { display: flex; align-items: center; justify-self: end; }
.site-nav-desktop { display: none; }
.adam-cart-count { position: absolute; top: 4px; inset-inline-end: 2px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px; background: var(--red); color: var(--white); font-size: 11.5px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.adam-cart-count[hidden] { display: none; }
.site-search { border-top: 1px solid var(--line); padding: 10px 0; background: var(--white); }
.site-search__form { display: flex; gap: 8px; }
.site-search__form input { flex: 1; min-height: var(--tap); border: 1.5px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0 12px; font: inherit; }

@media (min-width: 900px) {
  :root { --header-h: 76px; --gutter: 24px; }
  .site-header__inner { grid-template-columns: auto auto 1fr auto; padding-inline: var(--gutter); }
  .site-header__actions { justify-self: end; }
  .site-header__inner > [data-nav-open] { display: none; }
  .site-logo { justify-self: start; }
  .site-logo img { height: 60px; }
  .site-nav-desktop { display: block; }
  .site-nav-desktop .menu { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0 24px; }
  .site-nav-desktop a { text-decoration: none; font-weight: 500; }
  .site-header__actions { justify-self: end; }
}

/* ---------- Home: categories ---------- */
.cat-circles { border-bottom: 1px solid var(--line); }
.cat-circles__list { display: flex; gap: 10px; overflow-x: auto; list-style: none; margin-block: 0; padding-block: 8px; scrollbar-width: none; }
.cat-circles__list::-webkit-scrollbar { display: none; }
.cat-circles__list a { display: flex; flex-direction: column; align-items: center; gap: 4px; text-decoration: none; font-size: 12.5px; font-weight: 500; min-width: 60px; white-space: nowrap; }
.cat-circles__list img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 2px solid var(--line); }
@media (min-width: 900px) { .cat-circles__list { justify-content: center; gap: 32px; } }

/* ---------- Hero: see "Home page design" at the end of this file ---------- */

/* ---------- Sections ---------- */
.section { padding-block: 28px 8px; }
.section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.section__title { font-family: var(--font-display); font-size: clamp(23px, 3.6vw, 32px); font-weight: 700; margin-bottom: 14px; }
.section__head .section__title { margin-bottom: 0; }
.section__lead { color: var(--mute); margin: -8px 0 14px; }

/* ---------- Deal cards ---------- */
.deals__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.deal-card { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; background: var(--white); }
.deal-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.deal-card__body { padding: 12px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.deal-card h3 { font-size: 16.5px; font-weight: 700; }
.deal-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-bottom: 4px; }
.deal-card__price strong { font-size: 22px; color: var(--red); }
.deal-card__regular { font-size: 13px; color: var(--mute); text-decoration: line-through; text-decoration-thickness: 1px; }
.deal-delivery { margin: -2px 0 6px; font-size: 13px; }
.deal-delivery__text { display: flex; align-items: center; gap: 5px; color: var(--green); font-weight: 700; font-size: 13.5px; }
.deal-delivery__note { color: var(--mute); padding-inline-start: 21px; }
.deal-delivery__link { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 40px; padding-inline: 4px; }
.delivery-cities { margin-top: 16px; background: var(--cream); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 16px 18px; }
.delivery-cities[open] { padding-bottom: 22px; }
.delivery-cities:focus { outline: 3px solid var(--red); outline-offset: 2px; }
.delivery-cities__head { display: flex; gap: 14px; align-items: center; cursor: pointer; list-style: none; }
.delivery-cities__head::-webkit-details-marker { display: none; }
.delivery-cities__head:focus-visible { outline: 3px solid var(--red); outline-offset: 4px; border-radius: 8px; }
.delivery-cities__text { flex: 1; display: flex; flex-direction: column; }
.delivery-cities__toggle { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--white); border: 1px solid var(--line-strong); transition: transform .2s ease; }
.delivery-cities[open] .delivery-cities__toggle { transform: rotate(180deg); }
.delivery-cities[open] .delivery-cities__head { margin-bottom: 16px; }
.delivery-cities__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--red); color: var(--white); }
.delivery-cities__title { display: block; font-family: var(--font-display); font-size: clamp(20px, 2.6vw, 26px); font-weight: 700; margin: 0 0 4px; }
.delivery-cities__sub { display: block; margin: 0; color: var(--mute); font-size: 14.5px; }
.delivery-cities__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; }
.delivery-cities__list li { background: var(--white); border: 1px solid var(--line); border-radius: 999px; padding: 9px 12px; text-align: center; font-size: 15px; font-weight: 600; }
@media (min-width: 900px) { .delivery-cities { padding: 20px 28px; } .delivery-cities[open] { padding-bottom: 28px; } .delivery-cities__list { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; } .delivery-cities__list li { font-size: 16px; } }
.deal-card .button { margin-top: auto; align-self: flex-start; min-height: 40px; font-size: 14.5px; font-weight: 500; padding: 0 16px; }
@media (min-width: 900px) { .deals__grid { gap: 20px; } .deal-card { flex-direction: row; } .deal-card img { width: 50%; aspect-ratio: auto; } .deal-card__body { padding: 20px; } .deal-card h3 { font-size: 22px; font-family: var(--font-display); } }

/* ---------- Product grid and card ---------- */
.products.product-grid, .woocommerce ul.products, .woocommerce-page ul.products {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; list-style: none; margin: 0; padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product,
.woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product { width: auto; float: none; clear: none; margin: 0; padding: 0; }
@media (min-width: 700px) { .products.product-grid, .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .products.product-grid, .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px; } }

.product-card { display: flex; flex-direction: column; gap: 6px; height: 100%; }
.product-card__media { position: relative; display: block; border-radius: 12px; overflow: hidden; background: var(--soft); }
.product-card__media img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.product-card__title { font-size: 16px; font-weight: 700; }
.product-card__title a { text-decoration: none; }
.product-card__price { font-size: 15px; color: var(--ink); }
.product-card__price .woocommerce-Price-amount { font-weight: 700; }
.product-card__info { font-size: 12.5px; color: var(--mute); line-height: 1.4; }
.product-card__buy { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 4px; }
/* With a type switch, the switch and the buy row sit together at the bottom, so cards with and without a short
   description line up (the shop and category pages too). */
.product-card .seg { margin-top: auto; }
.product-card .seg ~ .product-card__buy { margin-top: 0; padding-top: 8px; }
.product-card__buy .button { flex: 1 1 110px; padding: 0 10px; font-size: 14.5px; }
.product-card__buy .stepper { flex: 0 0 auto; }
.product-card .added_to_cart { display: none; }
/* Shop and category pages: WooCommerce's own loop styles (.woocommerce ul.products li.product …) must not reshape the card. */
.woocommerce ul.products li.product .product-card .button { display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: 0 10px;
  min-height: var(--tap); line-height: 1.1; font-size: 14.5px; font-weight: 700; border-radius: 999px; }
.woocommerce ul.products li.product .product-card .button.button--outline { background: var(--white); color: var(--ink); border: 1.5px solid var(--ink); }
.woocommerce ul.products li.product .product-card .button.button--outline:hover { background: var(--ink); color: var(--white); }
.woocommerce ul.products li.product .product-card a img { margin: 0; box-shadow: none; }
.woocommerce ul.products li.product .product-card h3 { padding: 0; margin: 0; font-size: 16px; }
.woocommerce ul.products li.product .product-card .stepper__btn { padding: 0; min-height: 0; background: none; color: var(--ink); }
.pill { position: absolute; top: 8px; inset-inline-start: 8px; max-width: calc(100% - 16px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: var(--white); color: var(--red); font-size: 11.5px; font-weight: 700; border-radius: 6px; padding: 2px 8px; box-shadow: 0 1px 4px rgba(0, 0, 0, .08); }
.pill--none { color: var(--mute); }

.seg { display: flex; align-items: stretch; border: 1px solid var(--line-strong); border-radius: 10px; overflow: hidden; margin: 2px 0 0; padding: 0; min-height: 40px; min-inline-size: 0; }
.seg__option { flex: 1; position: relative; display: flex; align-items: stretch; margin: 0; padding: 0; }
.seg__option input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.seg__option span { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 40px; font-size: 13.5px; font-weight: 500; }
.seg__option input:checked + span { background: var(--ink); color: var(--white); }
.seg__option input:focus-visible + span { outline: 3px solid var(--red); outline-offset: -3px; }

.stepper { display: inline-flex; align-items: center; height: var(--tap); border: 1px solid var(--line-strong); border-radius: 999px; background: var(--white); }
.stepper__btn { width: var(--tap); height: 100%; display: inline-flex; align-items: center; justify-content: center; border: 0; background: none; cursor: pointer; border-radius: 999px; }
.stepper__btn:hover { background: var(--soft); }
.stepper__value { min-width: 22px; text-align: center; font-weight: 500; font-variant-numeric: tabular-nums; }
.stepper--small .stepper__btn { width: 38px; }

/* ---------- Occasions ---------- */
.occasions__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; list-style: none; margin: 0; padding: 0; }
.occasion { position: relative; display: block; border-radius: 12px; overflow: hidden; color: var(--white); text-decoration: none; }
.occasion img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .3s; }
.occasion:hover img { transform: scale(1.03); }
.occasion span { position: absolute; inset: auto 0 0 0; padding: 26px 12px 10px; background: linear-gradient(transparent, rgba(20, 17, 17, .78)); font-weight: 700; font-size: 15px; }
.occasion:hover { color: var(--white); }
@media (min-width: 900px) { .occasions__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } }

/* ---------- Trust, FAQ ---------- */
.trust { padding-block: 28px; }
.trust__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; list-style: none; margin-block: 0; }
.trust__list li { background: var(--soft); border-radius: 12px; padding: 14px 10px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 13px; line-height: 1.35; }
.trust__list strong { font-size: 14px; }
.trust__list .icon { color: var(--red); }

.faq { padding-bottom: 40px; }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__item summary { cursor: pointer; list-style: none; padding: 14px 0; font-weight: 700; display: flex; justify-content: space-between; gap: 12px; min-height: var(--tap); }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: "+"; font-size: 20px; line-height: 1; color: var(--red); }
.faq__item[open] summary::after { content: "−"; }
.faq__item p { padding: 0 0 14px; color: var(--mute); }

/* ---------- Footer ---------- */
.site-footer { background: var(--ink); color: #e9e4e0; margin-top: 40px; font-size: 14.5px; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover, .site-footer a:focus-visible { color: var(--white); text-decoration: underline; }
.site-footer__grid { display: grid; gap: 28px 24px; padding-block: 40px 28px; grid-template-columns: 1fr 1fr; }
.site-footer__brand { grid-column: 1 / -1; }
.site-footer__logo img { height: 72px; width: auto; }
.site-footer__tagline { margin: 10px 0 14px; color: #bfb7b2; }
.site-footer__social { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; }
.site-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: var(--tap); height: var(--tap); border: 1px solid rgba(255, 255, 255, .22); border-radius: 50%; }
.site-footer__social a:hover { background: rgba(255, 255, 255, .1); text-decoration: none; }
.site-footer__title { font-family: var(--font); font-size: 15.5px; font-weight: 700; color: var(--white); margin: 0 0 10px; }
.site-footer__col ul { list-style: none; margin: 0; padding: 0; }
.site-footer__col li a { display: inline-block; padding: 6px 0; }
.site-footer__facts li { display: flex; gap: 8px; align-items: flex-start; padding: 5px 0; line-height: 1.45; }
.site-footer__facts .icon { flex: none; margin-top: 2px; opacity: .8; }
.site-footer__facts li a { padding: 0; }
.site-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .12); font-size: 12.5px; color: #a8a09b; }
.site-footer__bottom-inner { display: flex; flex-wrap: wrap; gap: 6px 24px; align-items: center; justify-content: space-between; padding-block: 16px calc(16px + 76px); }
.site-footer__bottom p { margin: 0; }
.footer-menu--legal { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; }
.footer-menu--legal a { display: inline-block; padding: 6px 0; }
@media (min-width: 900px) {
  .site-footer__grid { grid-template-columns: 1.3fr repeat(4, 1fr); padding-block: 56px 36px; }
  .site-footer__brand { grid-column: auto; }
  .site-footer__bottom-inner { padding-block: 18px; padding-inline: max(var(--gutter), 84px); }
}

/* ---------- Floating buttons (WhatsApp, accessibility) ---------- */
.float-actions { position: fixed; inset-inline: 0; bottom: 0; z-index: 60; pointer-events: none; display: flex; justify-content: space-between; padding: 0 14px calc(14px + env(safe-area-inset-bottom)); }
.float-button { pointer-events: auto; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer; box-shadow: 0 6px 18px rgba(20, 17, 17, .25); color: var(--white); text-decoration: none; }
.float-button--access { background: #1f4fbf; }
/* Owner, 2026-10-21: WhatsApp on the right, accessibility on the left. */
.float-button--whatsapp { background: #1f8f4e; order: -1; }
.float-button--access { order: 1; }
.float-button:focus-visible { outline: 3px solid var(--white); outline-offset: 2px; box-shadow: 0 0 0 6px var(--ink); }
.has-dialog .float-actions { display: none; }
.a11y-drawer__note { color: var(--mute); font-size: 13.5px; margin: 0 0 14px; }
.a11y-drawer__group { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.a11y-drawer__steps { display: flex; gap: 6px; }
.a11y-drawer__toggles { list-style: none; margin: 0 0 16px; padding: 0; }
.a11y-drawer__toggles button { width: 100%; text-align: start; min-height: var(--tap); padding: 10px 0; background: none; border: 0; border-bottom: 1px solid var(--line); font: inherit; font-size: 16px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; color: var(--ink); }
.a11y-drawer__toggles button::after { content: "כבוי"; font-size: 13px; color: var(--mute); }
.a11y-drawer__toggles button[aria-pressed="true"]::after { content: "פעיל"; color: var(--green); font-weight: 700; }
.a11y-drawer__reset { width: 100%; margin-bottom: 12px; }

/* The adjustments themselves (classes on <html>, set by theme.js). */
html.a11y-text--1 body { zoom: .9; }
html.a11y-text-1 body { zoom: 1.15; }
html.a11y-text-2 body { zoom: 1.3; }
html.a11y-contrast { --mute: #1a1a1a; --line: #4d4d4d; --line-strong: #000; --soft: #fff; --cream: #fff; --red: #9b0f1c; --green: #0b4a1a; }
html.a11y-contrast body { color: #000; background: #fff; }
html.a11y-contrast .site-footer { background: #000; color: #fff; }
html.a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; }
html.a11y-links a:focus, html.a11y-links button:focus { outline: 3px solid #1f4fbf; outline-offset: 2px; }
html.a11y-font body, html.a11y-font h1, html.a11y-font h2, html.a11y-font h3, html.a11y-font button, html.a11y-font input, html.a11y-font select { font-family: Arial, "Arial Hebrew", sans-serif !important; letter-spacing: .01em; }
html.a11y-motion *, html.a11y-motion *::before, html.a11y-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

/* ---------- Navigation drawer ---------- */
.nav-drawer, .adam-drawer { position: fixed; inset: 0; z-index: 90; }
.nav-drawer[hidden], .adam-drawer[hidden] { display: none; }
.nav-drawer__scrim, .adam-drawer__scrim { position: absolute; inset: 0; background: rgba(20, 17, 17, .55); opacity: 0; transition: opacity .2s; }
.is-open .nav-drawer__scrim, .is-open .adam-drawer__scrim { opacity: 1; }
.nav-drawer__panel { position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: min(320px, 86vw); background: var(--white); padding: 8px 16px 24px; transform: translateX(100%); transition: transform .22s ease; overflow-y: auto; }
.is-open .nav-drawer__panel { transform: none; }
.nav-drawer__head { display: flex; align-items: center; justify-content: space-between; height: 56px; }
.nav-drawer__menu { list-style: none; margin: 0; padding: 0; }
.nav-drawer__menu a { display: block; padding: 12px 0; border-bottom: 1px solid var(--line); text-decoration: none; font-size: 17px; font-weight: 500; }
.nav-drawer__menu .sub-menu { list-style: none; padding-inline-start: 14px; margin: 0; }

/* ---------- Cart drawer ---------- */
.adam-drawer__panel { position: absolute; top: 0; bottom: 0; inset-inline-end: 0; width: min(420px, 92vw); background: var(--white); display: flex; flex-direction: column; transform: translateX(-100%); transition: transform .22s ease; box-shadow: var(--shadow); }
.is-open .adam-drawer__panel { transform: none; }
.adam-drawer__body { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.adam-drawer__body.is-busy { cursor: progress; }
.adam-drawer__body.is-busy .cart-foot { opacity: .55; pointer-events: none; }
.adam-drawer__body.is-busy .cart-foot .button--cta { cursor: progress; }
.adam-drawer__body.is-busy .cart-line__total, .adam-drawer__body.is-busy .cart-status { opacity: .55; }
.cart-head { flex: 0 0 auto; min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 4px 8px 16px; padding-inline: 16px 4px; border-bottom: 1px solid var(--line); }
.cart-head__title { font-family: var(--font-display); font-size: 22px; font-weight: 700; }
.cart-head__title:focus { outline: none; }
.cart-head__sub { font-size: 13px; color: var(--mute); margin-top: 2px; }
.cart-live:empty { display: none; }
.cart-undo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 10px 16px 0; padding: 4px 12px; background: var(--soft); border-radius: var(--radius-sm); font-size: 14px; }
.cart-scroll { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; }
.cart-status { padding: 12px 16px 0; display: flex; flex-direction: column; gap: 10px; }
.cart-status:empty { display: none; }

.deal-progress { background: var(--soft); border-radius: 12px; padding: 12px 14px; }
.deal-progress__text { font-size: 14px; font-weight: 500; }
.deal-progress__bar { height: 8px; border-radius: 4px; background: #e2dcd7; margin: 10px 0 6px; overflow: hidden; }
.deal-progress__bar i { display: block; height: 100%; background: var(--red); border-radius: 4px; margin-inline-start: 0; }
.deal-progress__link { font-size: 13.5px; font-weight: 700; color: var(--red); text-decoration: none; display: inline-block; padding: 6px 0 0; }

.savings { background: var(--green-bg); color: var(--green); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; }
.savings--plain { background: var(--soft); color: var(--ink); }
.savings__title { display: flex; align-items: center; gap: 6px; font-size: 17px; font-weight: 700; }
.savings__line { font-size: 13.5px; padding-inline-start: 24px; }
.savings__nudge { font-size: 13.5px; padding-inline-start: 24px; }
.savings__nudge a { color: var(--ink); font-weight: 700; }

.cart-lines { list-style: none; margin: 0; padding: 4px 0 0; }
.cart-line { display: flex; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.cart-line__img img { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; }
.cart-line__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cart-line__top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.cart-line__name { font-weight: 700; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cart-line__total { font-weight: 700; white-space: nowrap; }
.cart-line__meta { font-size: 12.5px; color: var(--mute); }
.tag { display: inline-block; font-size: 11.5px; background: var(--soft); color: var(--mute); border-radius: 6px; padding: 1px 6px; margin-inline-start: 4px; }
.cart-line__bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 4px; }
.cart-line__remove { font-size: 12.5px; color: var(--mute); }

.cart-foot { flex: 0 0 auto; border-top: 1px solid var(--line); padding: 12px 16px calc(14px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 6px; background: var(--white); box-shadow: 0 -6px 16px rgba(20, 17, 17, .06); }
.cart-rows { margin: 0; display: flex; flex-direction: column; gap: 4px; }
.cart-row { display: flex; justify-content: space-between; font-size: 14px; }
.cart-row dt, .cart-row dd { margin: 0; }
.cart-row--deals dd, .cart-row--coupon dd { color: var(--green); }
.cart-row--total { font-size: 16.5px; font-weight: 700; }
.cart-note { font-size: 13.5px; color: var(--mute); }
.cart-ship { display: flex; align-items: center; gap: 6px; font-size: 13.5px; }
.cart-ship--free { color: var(--green); }
.cart-ship .icon { flex: 0 0 auto; }
.coupon__toggle { padding-block: 6px; min-height: 36px; }
.coupon__form { display: flex; gap: 8px; margin: 2px 0 4px; }
.coupon__form[hidden] { display: none; }
.coupon__form input { flex: 1; min-width: 0; min-height: var(--tap); border: 1.5px solid var(--ink); border-radius: var(--radius-sm); padding: 0 12px; font: inherit; letter-spacing: .5px; text-transform: uppercase; }
.coupon__form .button { border-radius: var(--radius-sm); }
.coupon__chip { display: flex; justify-content: space-between; align-items: center; background: var(--green-bg); color: var(--green); border-radius: var(--radius-sm); padding: 2px 12px; font-size: 13.5px; }
.coupon__chip .link-button { color: var(--ink); font-size: 13px; }
.coupon__message { font-size: 13.5px; color: var(--red); }
.coupon__message[hidden] { display: none; }
.button--cta { min-height: 52px; font-size: 17px; margin-top: 4px; width: 100%; }
.cart-foot__note { text-align: center; font-size: 12.5px; color: var(--mute); margin-top: -2px; }
.cart-foot__continue { align-self: center; }

.cart-empty { flex: 1 1 auto; padding: 18px 16px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; }
.cart-empty__lead { color: var(--mute); }
.mini-offer { display: flex; gap: 12px; border: 1px solid var(--line); border-radius: var(--radius); padding: 10px; align-items: center; text-decoration: none; }
.mini-offer img { width: 84px; height: 84px; border-radius: var(--radius-sm); object-fit: cover; }
.mini-offer__text { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.mini-offer strong { font-family: var(--font-display); font-size: 19px; }
.mini-offer small { font-size: 13px; color: var(--mute); text-decoration: line-through; }
.mini-offer .button { margin-top: 6px; }
.mini-offer__delivery { font-size: 12.5px; font-weight: 700; color: var(--green); }
.cart-empty__note { display: flex; gap: 6px; align-items: center; font-size: 13px; color: var(--mute); }

/* ---------- Cart page ---------- */
.cart-page { max-width: 640px; margin: 16px auto 32px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.cart-page .adam-drawer__body { min-height: 0; }
.cart-page .cart-scroll { overflow: visible; }
.cart-page .cart-foot { box-shadow: none; }
@media (max-width: 699px) {
  .cart-page { border: 0; border-radius: 0; margin: 0 calc(-1 * var(--gutter)); }
  .cart-page .cart-foot { position: sticky; bottom: 0; box-shadow: 0 -6px 16px rgba(20, 17, 17, .06); }
}

/* ---------- Pages and WooCommerce ---------- */
.entry { padding-block: 24px 40px; }
.entry__title { font-family: var(--font-display); font-size: clamp(26px, 4vw, 38px); margin-bottom: 16px; }
.entry__content > p { margin-bottom: 1em; }
.shop-main { padding-block: 20px 40px; }
.woocommerce-products-header__title { font-family: var(--font-display); font-size: clamp(26px, 4vw, 38px); margin: 0 0 16px; }
.woocommerce .woocommerce-breadcrumb { font-size: 13px; color: var(--mute); margin: 0 0 12px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: var(--radius-sm); border-top-width: 0; border-inline-start: 4px solid var(--ink); background: var(--soft); }
.woocommerce-error { border-inline-start-color: var(--red); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea { min-height: var(--tap); border: 1.5px solid var(--line-strong); border-radius: var(--radius-sm); padding: 8px 12px; font: inherit; }
.woocommerce-checkout .entry__title { margin-top: 8px; }
.woocommerce form .form-row { padding: 0; margin: 0 0 14px; }
.woocommerce form .form-row label { font-weight: 500; font-size: 14.5px; margin-bottom: 4px; }
.woocommerce-checkout h3 { font-family: var(--font-display); font-size: 22px; margin: 18px 0 12px; }
.woocommerce table.shop_table { border-radius: var(--radius-sm); border-color: var(--line); }
.woocommerce-checkout #payment { background: var(--soft); border-radius: var(--radius); }
.woocommerce-checkout #payment div.payment_box { background: var(--white); color: var(--ink); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--white); }
.woocommerce #place_order { width: 100%; min-height: 52px; font-size: 17px; float: none; }
/* Checkout: "איך תרצו לקבל את ההזמנה?" as two option cards (field and validation belong to adam-business). */
#adam_fulfillment_field > label { font-weight: 700; font-size: 16px; margin-bottom: 8px; display: block; }
#adam_fulfillment_field.is-first { margin: 0 0 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
#adam_fulfillment_field.is-first > label { font-family: var(--font-display); font-size: 22px; }
#adam_fulfillment_field .woocommerce-input-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#adam_fulfillment_field input.input-radio { position: absolute; opacity: 0; width: 1px; height: 1px; }
#adam_fulfillment_field label.radio { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; margin: 0; padding: 10px 12px;
  border: 1.5px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--white); font-weight: 700; font-size: 15px; cursor: pointer; text-align: center; }
#adam_fulfillment_field label.radio .required { display: none; }
#adam_fulfillment_field label.radio::before { content: ""; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--line-strong); flex: 0 0 auto; }
#adam_fulfillment_field input.input-radio:checked + label.radio { border-color: var(--ink); background: var(--soft); }
#adam_fulfillment_field input.input-radio:checked + label.radio::before { border-color: var(--red); background: radial-gradient(circle, var(--red) 0 45%, transparent 50%); }
#adam_fulfillment_field input.input-radio:focus-visible + label.radio { outline: 3px solid var(--red); outline-offset: 2px; }
#adam_date_field select { min-height: var(--tap); border: 1.5px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0 12px; font: inherit; width: 100%; }

/* Logged-in admins: keep the header and drawers below the WordPress toolbar. */
.admin-bar .site-header { top: var(--wp-admin--admin-bar--height, 32px); }
/* On narrow screens WordPress lets its admin bar scroll away, so the sticky header must stick to the very top. */
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
.admin-bar .adam-drawer, .admin-bar .nav-drawer { top: var(--wp-admin--admin-bar--height, 32px); }

/* ---------- Single product ---------- */
.product-single { display: grid; gap: 20px; padding-block: 8px 32px; }
.product-single__media { position: relative; }
.product-single__media .pill { z-index: 2; }
.woocommerce div.product .product-single__media div.images { width: auto; float: none; margin: 0; }
.woocommerce div.product .product-single__media div.images img { border-radius: var(--radius); }
.woocommerce div.product div.product-single__summary { width: auto; float: none; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.product-single__title { font-family: var(--font-display); font-size: clamp(28px, 4vw, 40px); font-weight: 700; }
.product-single__type { color: var(--mute); }
.seg--links { max-width: 280px; }
.seg__link { flex: 1; display: flex; align-items: center; justify-content: center; min-height: var(--tap); text-decoration: none; font-weight: 500; font-size: 14.5px; }
.seg__link.is-current { background: var(--ink); color: var(--white); }
.seg__link:hover { color: inherit; background: var(--soft); }
.seg__link.is-current:hover { background: var(--ink); color: var(--white); }
.woocommerce div.product .product-single__price { font-size: 24px; font-weight: 700; color: var(--ink); margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.product-single__unit { font-size: 13.5px; font-weight: 400; color: var(--mute); }
.product-single__excerpt { color: var(--mute); }
.woocommerce div.product .product-single__buy form.cart { display: flex; gap: 10px; align-items: stretch; margin: 4px 0 0; }
.woocommerce div.product .product-single__buy form.cart::before, .woocommerce div.product .product-single__buy form.cart::after { display: none; }
.woocommerce .product-single__buy .quantity { float: none; margin: 0; }
.woocommerce .product-single__buy .quantity .qty { width: 72px; height: 52px; border: 1.5px solid var(--line-strong); border-radius: var(--radius-sm); font: inherit; font-size: 17px; text-align: center; }
.woocommerce div.product .product-single__buy form.cart .button { float: none; flex: 1; min-height: 52px; border-radius: 999px; background: var(--red); color: var(--white); font-size: 17px; font-weight: 700; padding: 0 20px; }
.woocommerce div.product .product-single__buy form.cart .button:hover { background: var(--red-dark); }
.product-single__buy .stock.out-of-stock { color: var(--red); font-weight: 700; }
.product-single__facts { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 6px; border-top: 1px solid var(--line); padding-top: 12px; }
.product-single__facts li { display: flex; gap: 10px; font-size: 14.5px; }
.product-single__facts strong { min-width: 84px; }
.product-single__details { border-top: 1px solid var(--line); padding-top: 4px; }
.product-single__details summary { cursor: pointer; font-weight: 700; min-height: var(--tap); display: flex; align-items: center; justify-content: space-between; list-style: none; }
.product-single__details summary::-webkit-details-marker { display: none; }
.product-single__details summary::after { content: "+"; color: var(--red); font-size: 20px; }
.product-single__details[open] summary::after { content: "\2212"; }
.product-single__details p { margin: 0 0 8px; font-size: 14.5px; line-height: 1.6; }
.product-single__details .allergens { font-weight: 700; }
@media (min-width: 900px) {
  .product-single { grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: start; }
  .product-single__summary { position: sticky; top: calc(var(--header-h) + 16px); }
}

/* ---------- Checkout layout ---------- */
.woocommerce-checkout .entry__title { font-size: clamp(26px, 4vw, 36px); }
.woocommerce-checkout form.checkout { display: grid; gap: 8px 32px; }
.woocommerce-checkout .col2-set { width: auto; float: none; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: auto; float: none; }
.woocommerce-checkout #order_review_heading { margin-top: 12px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 16px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 10px 12px; }
.woocommerce table.shop_table .order-total .amount { font-size: 19px; }
.woocommerce ul#shipping_method li { margin: 0 0 6px; }
/* One place to choose: the question at the top of the form. The order table only shows the chosen method (no second
   set of radios), and nothing until the customer has chosen, so a WooCommerce default never looks like a choice. */
.woocommerce-checkout-review-order-table ul#shipping_method input[type="radio"] { display: none; }
.woocommerce-checkout-review-order-table ul#shipping_method li:not(:has(input:checked)):has(input[type="radio"]) { display: none; }
.woocommerce-checkout-review-order-table ul#shipping_method label { margin: 0; }
form.checkout:not(:has(input[name="adam_fulfillment"]:checked)) .woocommerce-shipping-totals ul#shipping_method { display: none; }
form.checkout:not(:has(input[name="adam_fulfillment"]:checked)) .woocommerce-shipping-totals td::before { content: "ייקבע אחרי בחירת משלוח או איסוף"; color: var(--mute); }
@media (min-width: 900px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1.2fr 1fr; align-items: start; }
  .woocommerce-checkout form.checkout > .col2-set { grid-column: 1; grid-row: 1 / span 3; }
  .woocommerce-checkout form.checkout > #order_review_heading, .woocommerce-checkout form.checkout > #order_review { grid-column: 2; }
  .woocommerce-checkout form.checkout > #order_review { position: sticky; top: calc(var(--header-h) + 16px); }
  .woocommerce-checkout .col2-set { display: grid; gap: 8px; }
}

.not-found { padding-block: 48px; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Legal pages (draft notice and open markers, until the lawyer's final text replaces them) ---------- */
.legal-draft-notice { background: #fff4d6; border: 1px solid #e5c46b; border-radius: var(--radius-sm); padding: 12px 16px; margin: 0 0 24px; }
.legal-open { background: #ffe9a8; color: inherit; padding: 0 3px; border-radius: 3px; }
.entry__content h2 { font-size: 20px; margin: 28px 0 10px; }
.entry__content table { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 15px; }
.entry__content th, .entry__content td { border: 1px solid var(--line-strong); padding: 8px 10px; text-align: start; vertical-align: top; }
.entry__content th { background: var(--soft); }
.entry__content ol, .entry__content ul { padding-inline-start: 22px; }
.entry__content li { margin-bottom: 6px; }

/* ---------- "ביטול עסקה" form ---------- */
.cancel { max-width: 560px; }
.cancel-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.cancel-form input[type="text"], .cancel-form input[type="tel"], .cancel-form input[type="email"], .cancel-form textarea { width: 100%; min-height: var(--tap); padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); font: inherit; background: var(--white); }
.cancel-form fieldset { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 8px 14px 4px; margin: 0 0 16px; }
.cancel-form legend { font-weight: 700; padding: 0 6px; }
.cancel-form p { margin: 0 0 14px; }
.cancel-form__hp { position: absolute; inset-inline-start: -10000px; width: 1px; height: 1px; overflow: hidden; }
.cancel-notice { border-radius: var(--radius-sm); padding: 12px 16px; margin: 0 0 18px; }
.cancel-notice--ok { background: var(--green-bg); color: var(--green); border: 1px solid #b9d7bd; }
.cancel-notice--error { background: #fdecec; color: #8a1c1c; border: 1px solid #f0c2c2; }
.site-footer__cancel { font-weight: 700; color: var(--white) !important; text-decoration: underline !important; text-underline-offset: 3px; }

/* Deals window (template-parts/deals-popup.php) */
.deals-popup { width: min(560px, calc(100% - 32px)); max-height: calc(100% - 32px); overflow: auto; padding: 24px 20px 20px; border: 0; border-radius: var(--radius); background: var(--white); color: var(--ink); box-shadow: 0 24px 60px rgba(0, 0, 0, .3); }
.deals-popup::backdrop { background: rgba(20, 14, 12, .55); }
.deals-popup__close-form { position: absolute; inset-inline-end: 10px; top: 10px; margin: 0; }

.deals-popup__title:focus { outline: none; }
.deals-popup__title { font-family: var(--font-display); font-size: clamp(24px, 4vw, 30px); margin: 0 0 16px; padding-inline-end: 44px; }
.deals-popup__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.deals-popup__item { display: grid; grid-template-columns: 120px 1fr; gap: 14px; align-items: center; border: 1px solid var(--line); border-radius: var(--radius); padding: 10px; }
.deals-popup__item img { width: 120px; height: 100px; object-fit: cover; border-radius: calc(var(--radius) - 4px); }
.deals-popup__body h3 { font-size: 17px; margin: 0 0 4px; }
.deals-popup__body .deal-card__price { margin: 0 0 8px; }
.deals-popup__body .button { padding-block: 8px; }
@media (max-width: 420px) { .deals-popup__item { grid-template-columns: 92px 1fr; } .deals-popup__item img { width: 92px; height: 84px; } }

/* Cookie consent (inc/consent.php) */
.consent [hidden], .consent[hidden] { display: none !important; }
.consent { position: fixed; inset-inline: 0; bottom: 0; z-index: 90; background: var(--white); color: var(--ink); border-top: 1px solid var(--line-strong); box-shadow: 0 -10px 30px rgba(0, 0, 0, .12); padding: 16px 0 calc(16px + env(safe-area-inset-bottom)); max-height: 85vh; overflow: auto; }
.consent__inner { display: grid; gap: 10px; }
.consent__title { font-size: 18px; margin: 0; }
.consent__text { margin: 0; font-size: 15px; color: var(--mute); }
.consent__text a { color: var(--ink); text-decoration: underline; }
.consent__prefs fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 8px; }
.consent__option { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; }
.consent__option input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--red); }
.consent__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.consent__actions .button { flex: 1 1 auto; min-width: 120px; }
.button--ghost { background: transparent; color: var(--ink); border: 1px solid var(--line-strong); }
.button--ghost:hover { background: var(--cream); }
html.consent-open .float-actions { display: none; }
.site-footer__consent { background: none; border: 0; padding: 6px 0; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (min-width: 900px) {
  .consent__inner { grid-template-columns: 1fr auto; align-items: center; column-gap: 28px; }
  .consent__title, .consent__text, .consent__prefs { grid-column: 1; }
  .consent__actions { grid-column: 2; grid-row: 1 / span 3; flex-wrap: nowrap; }
  .consent__actions .button { flex: none; }
}

/* Payment failed page (inc/payment-failed.php) */
.payment-failed { max-width: 640px; }
.payment-failed__lead { font-size: clamp(18px, 2.4vw, 21px); font-weight: 700; color: var(--ink); }
.payment-failed__actions { margin: 22px 0; }
.payment-failed__note { color: var(--mute); font-size: 15px; border-inline-start: 3px solid var(--red); padding-inline-start: 12px; }
/* The marketing-email box sits right under the terms box (adam-business) */
.woocommerce-checkout .adam-marketing-consent-field { margin: 4px 0 14px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row { margin-bottom: 4px; }

/* ==========================================================================
   Wide screens (owner, 2026-10-21): fuller proportions. A centered logo with the menu below, wider content,
   bigger categories, a taller hero and more air between sections. Phones and tablets keep the layout above.
   ========================================================================== */
@media (min-width: 1100px) {
  :root { --gutter: 40px; --header-h: 84px; }
  .container { max-width: 1440px; }
  .container--shop { max-width: 1440px; }

  /* Header: logo in the middle, search and cart at the end, the menu centered under the logo. */
  .site-header-wrap { display: block; }
  .site-header { position: relative; border-bottom: 1px solid var(--line); }
  /* "top" only places the compact header under the admin bar; on the header in its place it would shift it down
     over the categories (relative positioning moves the box without moving the layout). */
  .admin-bar .site-header:not(.is-stuck) { top: auto; }
  .site-header__inner { height: auto; grid-template-columns: 1fr auto 1fr; grid-template-areas: "start logo end" "nav nav nav";
    row-gap: 0; padding: 10px var(--gutter) 8px; max-width: 1440px; margin-inline: auto; }
  .site-logo { grid-area: logo; justify-self: center; }
  .site-logo img { height: 84px; transition: height .2s ease; }
  .site-nav-desktop { grid-area: nav; justify-self: center; }
  .site-nav-desktop .menu { gap: 44px; padding: 4px 0 2px; }
  .site-nav-desktop a { font-size: 17px; font-weight: 500; letter-spacing: .01em; padding-block: 4px; border-bottom: 2px solid transparent; transition: border-color .15s, color .15s; }
  .site-nav-desktop a:hover, .site-nav-desktop .current-menu-item > a { color: var(--ink); border-bottom-color: var(--red); }
  .site-header__actions { grid-area: end; justify-self: end; align-self: center; gap: 6px; }
  .site-header__actions .icon-button { width: 48px; height: 48px; }

  /* The compact header that slides in after the tall one has scrolled away. */
  .site-header.is-stuck { position: fixed; inset-inline: 0; top: 0; z-index: 60; box-shadow: 0 6px 24px rgba(20, 17, 17, .08); animation: adam-header-in .25s ease; }
  .admin-bar .site-header.is-stuck { top: var(--wp-admin--admin-bar--height, 32px); }
  .site-header.is-stuck .site-header__inner { grid-template-columns: auto 1fr auto; grid-template-areas: "logo nav end"; padding-block: 10px; align-items: center; }
  .site-header.is-stuck .site-logo { justify-self: start; }
  .site-header.is-stuck .site-logo img { height: 60px; }
  .site-header.is-stuck .site-nav-desktop .menu { padding: 0; gap: 36px; }
  .site-header.is-stuck .site-header__actions { align-self: center; }
  @keyframes adam-header-in { from { transform: translateY(-100%); } to { transform: none; } }

  /* Categories */
  .cat-circles__list { gap: 48px; padding-block: 14px; }
  .cat-circles__list a { font-size: 15px; gap: 6px; min-width: 84px; }
  .cat-circles__list img { width: 80px; height: 80px; border-width: 3px; transition: transform .2s ease, border-color .2s ease; }
  .cat-circles__list a:hover img { transform: translateY(-3px); border-color: var(--red); }


  /* Sections: centered titles with a small red rule, more air. */
  .section { padding-block: 72px 16px; }
  .section__title { font-size: clamp(34px, 2.8vw, 44px); text-align: center; margin-bottom: 36px; }
  .section__title::after { content: ""; display: block; width: 56px; height: 3px; margin: 16px auto 0; border-radius: 3px; background: var(--red); }
  .section__head { position: relative; justify-content: center; margin-bottom: 36px; }
  .section__head .link-arrow { position: absolute; inset-inline-end: 0; bottom: 22px; font-size: 16px; }
  .section__lead { text-align: center; font-size: 18px; margin: -22px auto 36px; }

  /* Deal cards and product cards */
  .deals__grid { gap: 28px; }
  .deal-card { border-radius: 18px; transition: box-shadow .2s ease, transform .2s ease; }
  .deal-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
  .deal-card__body { padding: 28px; gap: 10px; }
  .deal-card h3 { font-size: 24px; font-family: var(--font-display); }
  .deal-card__price strong { font-size: 30px; }
  .products.product-grid, .woocommerce ul.products { gap: 48px 28px; }
  .product-card { gap: 10px; }
  .product-card__media { border-radius: 16px; }
  .product-card__media img { transition: transform .35s ease; }
  .product-card:hover .product-card__media img { transform: scale(1.04); }
  .product-card__title { font-size: 18px; }
  .product-card__price { font-size: 17px; }

  .faq { max-width: 900px; margin-inline: auto; padding-bottom: 80px; }
  .faq__item summary { font-size: 17px; padding: 20px 0; }
}
@media (min-width: 1100px) and (prefers-reduced-motion: reduce) {
  .site-header.is-stuck { animation: none; }
}

/* ==========================================================================
   Home page design (owner's brief, 2026-10-21): warm cream bands that run the full width, the photo as the hero,
   one compact row of advantages, bigger deal cards, a short "about" band and tighter, even spacing.
   Everything below is scoped to the home page (body.home) except the hero and trust parts, which exist only there.
   ========================================================================== */
.home .section { padding-block: 34px; }
.home .section__title { margin-bottom: 18px; }
.home .section__title::after { content: ""; display: block; width: 44px; height: 3px; margin-top: 10px; border-radius: 3px; background: var(--red); }
.home .section__head { margin-bottom: 18px; align-items: flex-end; }
.home .section__head .section__title { margin-bottom: 0; }
.hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 13.5px; font-weight: 700; letter-spacing: .02em; color: var(--red); }
.hero__eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: currentColor; }

/* Hero */
.hero { background: var(--cream); color: var(--ink); }
.hero__inner { display: grid; gap: 20px; padding-block: 24px 28px; }
.hero h1 { font-family: var(--font-display); font-size: clamp(30px, 8vw, 40px); line-height: 1.12; font-weight: 700; margin: 0 0 10px; }
.hero__lead { font-size: 16px; color: var(--mute); margin: 0 0 18px; max-width: 44ch; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.hero__actions .button { flex: 1 1 0; min-width: 0; padding: 0 14px; font-size: 16px; white-space: nowrap; }
.home section[id] { scroll-margin-top: calc(var(--header-h) + 12px); }
.hero__media { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--cream-deep); box-shadow: 0 18px 40px rgba(70, 40, 20, .12); }
.hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.button--outline { border-width: 1.5px; }

/* Advantages: one compact row */
.trust { padding-block: 0; background: var(--white); border-bottom: 1px solid var(--line); }
.trust__list { list-style: none; margin: 0 auto; padding-block: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.trust__list li { display: flex; flex-direction: row; align-items: center; gap: 10px; background: none; padding: 0; text-align: start; border-radius: 0; font-size: 13px; line-height: 1.35; }
.trust__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--cream); color: var(--red); }
.trust__text { display: flex; flex-direction: column; min-width: 0; }
.trust__text strong { font-size: 14px; }
.trust__text span { color: var(--mute); }

/* Deals: a cream band with two inviting cards */
.home .deals { background: var(--cream); }
.home .deals__grid { grid-template-columns: 1fr; gap: 16px; }
.home .deal-card { flex-direction: column; border: 0; border-radius: 20px; box-shadow: 0 10px 30px rgba(70, 40, 20, .08); }
.home .deal-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.home .deal-card__body { padding: 18px 18px 20px; gap: 8px; }
.home .deal-card h3 { font-family: var(--font-display); font-size: 23px; line-height: 1.2; }
.home .deal-card__price { gap: 4px 12px; margin: 0; }
.home .deal-card__price strong { font-size: 30px; line-height: 1.1; }
.home .deal-card__regular { font-size: 14px; }
.home .deal-delivery { padding-top: 10px; border-top: 1px solid var(--line); font-size: 13.5px; }
.home .deal-card__body { flex: 1 1 auto; }
.home .deal-card .button { align-self: stretch; margin-top: auto; min-height: 48px; font-size: 16px; font-weight: 700; padding: 0 22px; }
.home .deal-card__price { margin-bottom: 16px; }
.home .deal-delivery { margin: -6px 0 16px; }
.home .delivery-cities { margin-top: 16px; background: var(--white); border-color: var(--line); border-radius: 18px; }

/* Desserts */
.home .favourites .products.product-grid { gap: 26px 12px; }
.home .product-card { gap: 8px; }
.home .product-card__media { border-radius: 16px; }
.home .product-card__title { font-size: 18.5px; line-height: 1.3; font-weight: 700; }
.home .product-card__price { font-size: 18.5px; margin-top: -4px; }
.home .product-card__price .woocommerce-Price-amount { font-weight: 800; }
.home .seg { border-radius: 999px; min-height: 38px; }
.home .seg__option span { min-height: 38px; font-size: 14px; }
.home .seg { border-color: var(--line-strong); background: var(--white); }
.home .seg__option span { color: var(--ink); gap: 5px; }
.home .seg__option + .seg__option span { border-inline-start: 1px solid var(--line-strong); }
.home .seg__option input:checked + span { background: #fbecec; color: var(--ink); font-weight: 700; box-shadow: inset 0 0 0 1.5px var(--red); border-radius: 999px; }
.home .seg__option input:checked + span::before { content: ""; flex: none; width: 11px; height: 6px; border-left: 2px solid var(--red); border-bottom: 2px solid var(--red); transform: translateY(-2px) rotate(-45deg); }
.home .product-card__buy { gap: 8px; padding-top: 2px; }
.home .product-card__buy .stepper { height: 44px; }
@media (max-width: 699px) { .home .product-card__buy .stepper { flex: 1 1 100%; justify-content: space-between; } }
.home .product-card__buy .button, .woocommerce .home .product-card .button.button--outline {
  background: var(--red); color: var(--white); border-color: var(--red); min-height: 44px; font-weight: 700; }
.home .product-card__buy .button:hover { background: var(--red-dark); border-color: var(--red-dark); color: var(--white); }
.home .product-card__buy .button.is-disabled { background: var(--line-strong); border-color: var(--line-strong); color: var(--mute); }

.home .pill { font-size: 12.5px; padding: 3px 9px; }
@media (max-width: 699px) { .home .pill { font-size: 12px; white-space: normal; line-height: 1.25; text-overflow: clip; } }
@media (max-width: 380px) { .cat-circles__list { gap: 6px; } .cat-circles__list a { min-width: 58px; } }

/* About the business */
.home .story { background: var(--cream); }
.story__inner { display: grid; gap: 20px; align-items: center; }
.story__media { border-radius: 20px; overflow: hidden; aspect-ratio: 16 / 10; background: var(--cream-deep); }
.story__media img { width: 100%; height: 100%; object-fit: cover; }
.story__title { font-family: var(--font-display); font-size: clamp(26px, 6vw, 36px); line-height: 1.15; margin: 0 0 12px; }
.story__text > p:not(.hero__eyebrow) { color: var(--mute); font-size: 16px; max-width: 52ch; }
.story__text .button { margin-top: 22px; }

/* FAQ */
.home .faq { padding-bottom: 40px; }
.home .faq__item summary { padding: 14px 0; }
.home .faq__item p { padding-bottom: 14px; color: var(--mute); }

/* Footer: a little larger and lighter for reading */
.site-footer { margin-top: 0; font-size: 15px; color: #f1ece8; }
.site-footer__tagline { color: #d6cec8; }
.site-footer__bottom { font-size: 13.5px; color: #cbc3bd; }
.site-footer__facts li, .site-footer__col li a { line-height: 1.55; }

@media (min-width: 600px) { .cat-circles__list { justify-content: center; gap: 24px; } }
@media (min-width: 700px) {
  .hero__media { aspect-ratio: 16 / 9; }
  .hero__actions .button { flex: 0 0 auto; padding: 0 28px; }
  .trust__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home .deals__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .story__inner { grid-template-columns: 1fr 1fr; gap: 32px; }
  .story__media { order: 2; }
}
@media (min-width: 900px) {
  .home .section { padding-block: 48px; }
  .home .section__title { font-size: clamp(30px, 2.6vw, 40px); }
  .hero__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 48px; align-items: center; padding-block: 40px 44px; }
  .hero h1 { font-size: clamp(40px, 4vw, 60px); max-width: 15ch; margin-bottom: 14px; }
  .hero__lead { font-size: 18.5px; margin-bottom: 26px; }
  .hero__actions .button { flex: 0 0 auto; padding: 0 30px; font-size: 17px; }
  .hero__media { aspect-ratio: 16 / 10; }
  .trust__list { padding-block: 20px; gap: 20px; }
  .trust__list li { font-size: 14px; }
  .trust__text strong { font-size: 15.5px; }
  .trust__list li + li { border-inline-start: 1px solid var(--line); padding-inline-start: 20px; }
  .home .deal-card__body { padding: 24px 26px 26px; }
  .home .deal-card h3 { font-size: 27px; }
  .home .deal-card__price strong { font-size: 34px; }
  .home .deal-card .button { align-self: flex-start; }
  .story__inner { gap: 56px; }
  .story__text > p:not(.hero__eyebrow) { font-size: 17.5px; }
}
@media (min-width: 1100px) {
  .home .section { padding-block: 64px; }
  .home .section__title { margin-bottom: 26px; }
  .home .section__head { margin-bottom: 26px; }
  .home .section__head .link-arrow { bottom: 14px; }
  .home .section__title::after { margin: 14px auto 0; }
  .hero__inner { gap: 72px; padding-block: 48px 56px; }
  .hero__media { max-width: 860px; justify-self: end; width: 100%; }
  .home .favourites .products.product-grid { gap: 40px 26px; }
  .home .faq { padding-bottom: 64px; }
}

/* ==========================================================================
   Phone in the header, and the compact header after scrolling (owner, 2026-10-21)
   ========================================================================== */
.header-phone { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: var(--tap); height: var(--tap); border-radius: 999px; color: var(--ink); text-decoration: none; font-weight: 700; font-size: 15px; }
.header-phone:hover { background: var(--soft); color: var(--ink); }
.header-phone__number { display: none; }
.site-header__quick { display: none; }
@media (min-width: 900px) and (max-width: 1099px) {
  .header-phone { padding: 0 10px; }
  .header-phone__number { display: inline; }
}
@media (min-width: 1100px) {
  /* The tall header has the phone in the top bar above it. */
  .site-header:not(.is-stuck) .header-phone { display: none; }
  .home section[id] { scroll-margin-top: calc(64px + 16px + var(--wp-admin--admin-bar--height, 0px)); }
  .site-header.is-stuck .site-header__inner { grid-template-columns: 1fr auto 1fr; grid-template-areas: "logo quick end"; padding-block: 6px; min-height: 60px; }
  .site-header.is-stuck .site-logo img { height: 46px; }
  .site-header.is-stuck .site-nav-desktop { display: none; }
  .site-header.is-stuck .site-header__quick { grid-area: quick; display: flex; gap: 32px; justify-self: center; }
  .site-header__quick a { text-decoration: none; font-weight: 600; font-size: 16px; padding-block: 8px; border-bottom: 2px solid transparent; }
  .site-header__quick a:hover { color: var(--ink); border-bottom-color: var(--red); }
  .site-header.is-stuck .header-phone { padding: 0 14px; border: 1px solid var(--line-strong); height: 42px; }
  .site-header.is-stuck .header-phone__number { display: inline; }
  .site-header.is-stuck .site-header__actions .icon-button { width: 44px; height: 44px; }
}
@media (max-width: 600px) { .home section[id] { scroll-margin-top: calc(var(--header-h) + 12px); } }

/* Short screens (a phone held sideways, or a small phone with the browser bars showing): the open cart scrolls as
   one column, so the lines get the room and the totals and the checkout button follow them. */
@media (max-height: 680px) {
  .adam-drawer__body.is-drawer { overflow-y: auto; overscroll-behavior: contain; }
  .adam-drawer__body.is-drawer .cart-scroll { flex: 0 0 auto; overflow: visible; }
  .adam-drawer__body.is-drawer .cart-foot { box-shadow: none; }
}

/* Search toggle: a close mark while the search is open */
.search-toggle span { display: inline-flex; }
.search-toggle .search-toggle__close { display: none; }
.search-toggle[aria-expanded="true"] .search-toggle__open { display: none; }
.search-toggle[aria-expanded="true"] .search-toggle__close { display: inline-flex; }
.search-toggle[aria-expanded="true"] { background: var(--soft); }

/* Floating WhatsApp and accessibility (owner, 2026-10-21): small round buttons in the bottom corners on every screen
   (owner, later the same day: "כפתורים עגולים קטנים ולא כל הלשונית"). The page keeps a little room at the bottom so the
   last line of the footer is never under them. */
.float-button__text { display: none; }
@media (max-width: 1099px) {
  .float-actions { padding: 0 12px calc(12px + env(safe-area-inset-bottom)); }
  .float-button { width: 46px; height: 46px; }
  .float-button .icon { width: 24px; height: 24px; }
  body:has(.float-actions) { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .site-footer__bottom-inner { padding-block: 16px; }
}
@media (min-width: 1100px) and (max-width: 1599px) {
  :root { --gutter: 80px; }
}

/* ==========================================================================
   Checkout (owner's brief, 2026-10-21): "how and when" first, then the details, then the summary and payment.
   Calm fields with one height and one focus ring, and a softer order summary.
   ========================================================================== */
.woocommerce-checkout form.checkout .form-row input.input-text,
.woocommerce-checkout form.checkout .form-row select,
.woocommerce-checkout form.checkout .form-row textarea,
.woocommerce-checkout #adam_date_field select { min-height: 50px; border: 1.5px solid var(--line-strong); border-radius: 12px; padding: 10px 14px; font-size: 16px; background: var(--white); width: 100%; }
.woocommerce-checkout form.checkout .form-row textarea { min-height: 96px; }
.woocommerce-checkout form.checkout .form-row input.input-text:focus,
.woocommerce-checkout form.checkout .form-row select:focus,
.woocommerce-checkout form.checkout .form-row textarea:focus,
.woocommerce-checkout #adam_date_field select:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(179, 31, 43, .15); }
.woocommerce-checkout form.checkout .form-row label { font-size: 15px; font-weight: 600; color: var(--ink); margin-bottom: 6px; display: block; }
.woocommerce-checkout form.checkout .form-row .optional { font-weight: 400; color: var(--mute); }
.woocommerce-checkout form.checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout form.checkout .form-row.woocommerce-invalid select { border-color: var(--red); }
.woocommerce-checkout form.checkout .checkout-inline-error-message { color: var(--red); font-size: 14px; margin: 6px 0 0; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout #order_review_heading { font-family: var(--font-display); font-size: 24px; margin: 8px 0 14px; }
.checkout-group-title { font-size: 13px !important; font-weight: 700; letter-spacing: .03em; color: var(--red); margin: 10px 0 2px !important; padding-top: 10px !important; border-top: 1px solid var(--line); }
.woocommerce-billing-fields__field-wrapper .checkout-group-title:first-child { border-top: 0; padding-top: 0 !important; margin-top: 0 !important; }

/* How and when */
.checkout-step--receive { background: var(--cream); border-radius: 18px; padding: 18px 16px 6px; margin: 0 0 22px; }
.checkout-step--receive #adam_fulfillment_field.is-first { border-bottom: 0; padding-bottom: 0; margin-bottom: 16px; }
.checkout-step--receive #adam_fulfillment_field label.radio { min-height: 60px; font-size: 16px; background: var(--white); }
.checkout-step--receive #adam_fulfillment_field input.input-radio:checked + label.radio { border-color: var(--red); background: #fbecec; box-shadow: inset 0 0 0 1px var(--red); }
.adam-date-area .woocommerce-info, .adam-date-area .woocommerce-error { margin: 0 0 12px; padding: 10px 14px; font-size: 14.5px; }
.adam-date-area .woocommerce-info::before, .adam-date-area .woocommerce-error::before { display: none; }
.adam-date-hint { margin: -4px 0 14px; color: var(--mute); font-size: 14px; }
.adam-date-area #adam_date_field { margin-bottom: 14px; }

/* Order summary: soft rows instead of a grid */
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table { border: 0; border-radius: 16px; background: var(--white); box-shadow: 0 0 0 1px var(--line); border-collapse: separate; overflow: hidden; margin-bottom: 18px; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { border: 0 !important; padding: 10px 16px !important; font-size: 15px; vertical-align: top; }
.woocommerce-checkout-review-order-table thead th { font-size: 13px; color: var(--mute); font-weight: 600; padding-top: 14px !important; }
.woocommerce-checkout-review-order-table tbody td { border-top: 1px solid var(--line) !important; }
.woocommerce-checkout-review-order-table .product-name { font-weight: 700; }
.woocommerce-checkout-review-order-table .product-quantity { display: inline-block; margin-inline-start: 4px; padding: 1px 8px; border-radius: 999px; background: var(--soft); font-size: 13px; font-weight: 700; color: var(--ink); }
.woocommerce-checkout-review-order-table tfoot tr:first-child th, .woocommerce-checkout-review-order-table tfoot tr:first-child td { border-top: 1px solid var(--line-strong) !important; }
.woocommerce-checkout-review-order-table tfoot th { font-weight: 500; color: var(--mute); }
.woocommerce-checkout-review-order-table tr.fee td, .woocommerce-checkout-review-order-table tr.cart-discount td { color: var(--green); font-weight: 700; }
.woocommerce-checkout-review-order-table tr.order-total th, .woocommerce-checkout-review-order-table tr.order-total td { background: var(--cream); color: var(--ink); font-size: 17px; font-weight: 800; padding-block: 14px !important; }
.woocommerce-checkout-review-order-table tr.order-total .amount { font-size: 22px; }
/* Before delivery or pickup is chosen, the total may still change: say so. */
/* Before a choice the plugin's products total replaces the order total (review-order.php). */
.woocommerce-checkout-review-order-table tr.order-total--pending th { font-size: 15px; }
.woocommerce-checkout-review-order-table .order-total__note { display: block; font-size: 13px; font-weight: 500; color: var(--mute); margin-top: 2px; }
form.checkout:not(:has(input[name="adam_fulfillment"]:checked)) .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td::before { font-weight: 600; }

/* Payment */
.woocommerce-checkout #payment { background: var(--cream); border-radius: 18px; padding: 4px 0 0; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--line); padding: 12px 16px; }
.woocommerce-checkout #payment ul.payment_methods li { font-size: 15.5px; font-weight: 600; line-height: 1.5; padding: 6px 0; }
.woocommerce-checkout #payment div.payment_box { border-radius: 12px; font-size: 14.5px; font-weight: 400; line-height: 1.55; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 12px 16px 18px; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { font-size: 13.5px; line-height: 1.6; color: var(--mute); margin: 0 0 10px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row label, .woocommerce-checkout .adam-marketing-consent-field label { font-size: 14.5px; font-weight: 500; line-height: 1.5; display: flex; gap: 8px; align-items: flex-start; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"], .woocommerce-checkout .adam-marketing-consent-field input[type="checkbox"] { width: 20px; height: 20px; margin-top: 2px; flex: none; accent-color: var(--red); }
.woocommerce-checkout #place_order { min-height: 56px; font-size: 18px; border-radius: 999px; margin-top: 8px; }

@media (min-width: 900px) {
  .checkout-step--receive { padding: 22px 22px 8px; }
  /* A summary taller than the screen does not stick, so its button is never out of reach. */
  .woocommerce-checkout form.checkout > #order_review { position: static; }
}
@media (min-width: 900px) and (min-height: 820px) {
  .woocommerce-checkout form.checkout > #order_review { position: sticky; top: calc(64px + 16px + var(--wp-admin--admin-bar--height, 0px)); }
}
/* The notices WooCommerce scrolls to after a failed submit stay below the sticky header. */
.woocommerce-checkout .woocommerce-NoticeGroup-checkout, .woocommerce-checkout .woocommerce-error { scroll-margin-top: calc(var(--header-h) + 16px); }
/* A field scrolled to (Tab, an error link, the browser's own "please fill in") never lands under the sticky header or the bottom bar. */
html:has(body.woocommerce-checkout) { scroll-padding-top: calc(var(--header-h) + 24px); scroll-padding-bottom: 96px; }
.woocommerce-checkout form.checkout .form-row, .woocommerce-checkout #place_order { scroll-margin-top: calc(var(--header-h) + 24px); scroll-margin-bottom: 96px; }
@media (min-width: 1100px) { html:has(body.woocommerce-checkout) { scroll-padding-bottom: 24px; } .woocommerce-checkout form.checkout .form-row, .woocommerce-checkout #place_order { scroll-margin-bottom: 24px; } }
/* Country list (Select2) and summary cells in the same calm style as the fields. */
.woocommerce-checkout .select2-container .select2-selection--single { height: 50px; border: 1.5px solid var(--line-strong); border-radius: 12px; display: flex; align-items: center; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 1.4; padding-inline: 14px 34px; font-size: 16px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; left: 8px; right: auto; }
.woocommerce-checkout .select2-container--focus .select2-selection--single, .woocommerce-checkout .select2-container--open .select2-selection--single { border-color: var(--red); box-shadow: 0 0 0 3px rgba(179, 31, 43, .15); }
.woocommerce-checkout-review-order-table thead th, .woocommerce-checkout-review-order-table tfoot th, .woocommerce-checkout-review-order-table tfoot td, .woocommerce-checkout-review-order-table tbody td { background: transparent; }
.woocommerce-checkout-review-order-table thead { background: var(--soft); }
@media (max-width: 420px) {
  .checkout-step--receive { padding: 16px 12px 4px; }
  .checkout-step--receive #adam_fulfillment_field label.radio { font-size: 15px; padding-inline: 10px; gap: 8px; }
}
/* The error list after a failed submit: the icon keeps its own column, so it never covers the first words. */
.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error { padding: 16px 52px 16px 18px; list-style: none; }
.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error::before { right: 18px; left: auto; top: 18px; }
.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error li { margin: 0 0 6px; line-height: 1.5; }
/* Tablet: the details stay one column (WooCommerce would float the shipping address and notes beside them). */
.woocommerce-checkout form.checkout .col2-set .col-1, .woocommerce-checkout form.checkout .col2-set .col-2 { float: none; width: 100%; max-width: none; }
/* Pickup (owner, 2026-10-21): no address and no "ship to a different address". The plugin stops requiring them on the
   server for pickup; this only hides them. Before a choice and with delivery they stay as they are. */
form.checkout:has(#adam_fulfillment_pickup:checked) :is(.checkout-group-title--address, #billing_country_field, #billing_address_1_field, #billing_address_2_field, #billing_city_field, #billing_postcode_field, #billing_state_field, .woocommerce-shipping-fields) { display: none !important; }

/* Dairy / parve (owner, 2026-10-21): an available type not chosen reads as a normal option (dark text, white),
   the chosen one has the red ring and a check, and a type that cannot be added is struck through with "לא זמין". */
.seg__option:not(.seg__option--unavailable) input:not(:checked):hover + span { background: var(--soft); }
.seg__option--unavailable .seg__text { text-decoration: line-through; text-decoration-thickness: 1px; }
.seg__option--unavailable > span { color: var(--mute) !important; background: repeating-linear-gradient(135deg, transparent 0 6px, rgba(0, 0, 0, .03) 6px 12px); }
.seg__note { font-size: 11.5px; font-weight: 600; text-decoration: none; display: inline-block; margin-inline-start: 3px; }
.product-card__stock { margin: 0; font-size: 13.5px; color: var(--green); font-weight: 600; }
.product-card [data-card-add].is-disabled { opacity: 1; background: var(--soft); border-color: var(--line-strong); color: var(--mute); cursor: not-allowed; }
.seg__option--unavailable > span { flex-direction: column; gap: 0 !important; line-height: 1.15; }
.seg__option--unavailable .seg__note { margin: 0; font-size: 11px; }
.seg__option--unavailable input:checked + span::before { display: none; }
.seg__option > span > .seg__text { display: contents; }
.seg__option--unavailable > span > .seg__text { display: inline; }

/* Deal path (inc/deals.php): the guide above the product list, and only the products that take part. */
.deal-guide { background: var(--cream); border-radius: 18px; padding: 18px 18px 14px; margin: 0 0 22px; display: grid; gap: 8px; }
.deal-guide__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; }
.deal-guide__title { font-family: var(--font-display); font-size: 22px; margin: 0; }
.deal-guide__price { margin: 0; font-size: 20px; }
.deal-guide__price .deal-card__regular { font-size: 14px; }
.deal-guide__rule { margin: 0; font-size: 15.5px; }
.deal-guide__status { display: grid; gap: 6px; padding: 12px 14px; background: var(--white); border-radius: 12px; box-shadow: 0 0 0 1px var(--line); }
.deal-guide__status:empty { display: none; }
.deal-guide__status p { margin: 0; }
.deal-guide__line { font-size: 15px; }
.deal-guide__applied { display: flex; align-items: center; gap: 6px; font-weight: 700; color: var(--green); }
.deal-guide__saving { font-weight: 800; font-size: 16px; }
.deal-guide__extra { color: var(--mute); }
.deal-guide__actions { margin-top: 4px !important; }
.deal-guide__filter { margin: 0; font-size: 14px; color: var(--mute); }
.deal-guide__filter a { color: var(--ink); font-weight: 600; }
.deal-mode--box12 .product-card-item:not(:has([data-deals~="box12"])),
.deal-mode--shot_tray .product-card-item:not(:has([data-deals~="shot_tray"])) { display: none; }
/* The deal pill on a card is information, not a button. */
.product-card .pill { box-shadow: none; border: 1px solid rgba(179, 31, 43, .25); pointer-events: none; }
.product-card .pill--none { border-color: var(--line-strong); }

/* Cart reliability (owner, 2026-10-21): a quantity waiting for the server, a failed update with a retry, and the add
   button's own states. */
.cart-line.is-pending .stepper__value { color: var(--mute); }
.cart-line.is-pending .stepper__value::after { content: "…"; }
.cart-error { margin: 0 0 10px; padding: 10px 14px; border-radius: 12px; background: #fbecec; color: var(--ink); font-size: 14.5px; }
.cart-error .link-button { font-weight: 700; color: var(--red); text-decoration: underline; }
.cart-live:not(:empty) { font-size: 14px; color: var(--mute); }
.ajax_add_to_cart.is-adding, .single_add_to_cart_button.is-adding { cursor: progress; opacity: .8; }
.ajax_add_to_cart.is-added { border-color: var(--green) !important; color: var(--green) !important; background: var(--white) !important; }
.ajax_add_to_cart.is-failed { border-color: var(--red) !important; color: var(--red) !important; background: #fbecec !important; }
.product-card a.added_to_cart, .product-single a.added_to_cart { display: none; }
.adam-drawer__body.is-busy .cart-head__sub::after { content: " · מעדכן…"; color: var(--red); font-weight: 600; }

/* Pickup details in "how and when", only while pickup is chosen. */
.pickup-info { display: none; margin: 0 0 14px; padding: 12px 14px; background: var(--white); border-radius: 12px; box-shadow: 0 0 0 1px var(--line); font-size: 14.5px; }
form.checkout:has(#adam_fulfillment_pickup:checked) .pickup-info { display: block; }
.pickup-info p { margin: 0; }
.pickup-info__address { display: flex; gap: 8px; align-items: flex-start; }
.pickup-info__address svg { flex: none; margin-top: 2px; color: var(--red); }
.pickup-info__note { color: var(--mute); margin-top: 6px !important; }
.pickup-info a, .adam-no-dates__contact a { color: var(--ink); font-weight: 600; text-decoration: underline; }
.adam-date-mismatch { margin: 0 0 12px; }

/* Search page and "no results" */
.search-page__form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 20px; }
.search-page__form input[type=search] { flex: 1 1 220px; min-height: 48px; border: 1.5px solid var(--line-strong); border-radius: 12px; padding: 0 14px; font: inherit; font-size: 16px; background: var(--white); }
.search-page__form input[type=search]:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(179, 31, 43, .15); }
.search-page__form .button { min-height: 48px; }
.search-page__clear { font-size: 14.5px; text-decoration: underline; }
.no-results { padding: 8px 0 24px; }
.no-results__title { font-size: 19px; font-weight: 700; margin: 0 0 4px; }
.no-results__links { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
/* The active category in the menus */
.nav-drawer__menu .current-menu-item > a, .nav-drawer__menu .current-menu-parent > a { color: var(--red); font-weight: 700; }
.nav-drawer__menu .current-menu-item > a::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--red); margin-inline-end: 8px; vertical-align: middle; }
@media (min-width: 1100px) { .site-nav-desktop .current-menu-parent > a { color: var(--ink); border-bottom-color: var(--red); } }
.site-search__clear { flex: none; min-height: var(--tap); padding: 0 6px; font-size: 14.5px; text-decoration: underline; }
.site-search__form input::-webkit-search-cancel-button { display: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.seg__link.is-unavailable { color: var(--mute); }
.seg__link.is-unavailable small { font-size: 11.5px; }
.product-single__facts a { color: var(--red); font-weight: 600; text-decoration: underline; margin-inline-start: 4px; }
.single_add_to_cart_button.is-added { background: var(--green) !important; border-color: var(--green) !important; }
.single_add_to_cart_button.is-failed { background: var(--ink) !important; border-color: var(--ink) !important; }
/* Large text (the accessibility panel's text size) on a narrow phone: columns may shrink and long words (the
   email address) wrap, so nothing pushes the page sideways. */
.site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .site-footer__grid { grid-template-columns: minmax(0, 1.3fr) repeat(4, minmax(0, 1fr)); } }
.site-footer a, .site-footer span, .cart-line__name, .product-card__title { overflow-wrap: anywhere; }
.search-page__form input[type=search], .site-search__form input { min-width: 0; }
.cart-line__main, .cart-line__bottom, .cart-line__top { min-width: 0; }
.cart-line__bottom { flex-wrap: wrap; }
/* The side panels measure against their own (zoomed) container, not the viewport, so with the large text setting
   the cart and menu panels still fit the screen. */
.adam-drawer__panel { width: min(420px, 92%); }
.nav-drawer__panel { width: min(320px, 86%); }
.deals-popup { max-width: min(560px, calc(100% - 24px)); }

/* Card payment: the lock and the accepted brands next to the title. */
.woocommerce-checkout #payment .pay-brands { display: inline-flex; align-items: center; gap: 6px; margin-inline-start: 8px; vertical-align: middle; }
.woocommerce-checkout #payment .pay-brands svg { color: var(--green); }
.woocommerce-checkout #payment .pay-brands__logo { height: 24px; width: auto; max-width: 56px; object-fit: contain; border-radius: 4px; background: var(--white); box-shadow: 0 0 0 1px var(--line); padding: 2px 4px; }
.woocommerce-checkout #payment .pay-brands__name { font-size: 12px; font-weight: 700; padding: 2px 7px; border-radius: 4px; background: var(--white); box-shadow: 0 0 0 1px var(--line-strong); color: var(--ink); direction: ltr; }
.woocommerce-checkout #payment .pay-brands__logo--mastercard { height: 28px; width: auto; padding: 2px 3px; }
.woocommerce-checkout #payment .pay-by { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 13px; color: var(--mute); }
.woocommerce-checkout #payment .pay-by img { height: 24px; width: auto; }
.woocommerce-checkout #payment .pay-brands__logo--mastercard { height: 26px; padding: 1px 3px; }
.woocommerce-checkout #payment .pay-brands__name { min-height: 26px; display: inline-flex; align-items: center; }
.woocommerce-checkout #payment .pay-brands__logo--visa { height: 26px; padding: 3px 5px; }

/* Owner, 2026-10-21: the menu button looked small next to the other header icons on phones. */
.nav-open .icon { width: 36px; height: 36px; stroke-width: 2.3; }
.site-header__inner > .nav-open { width: 52px; height: 52px; margin-inline-start: -6px; }

/* Owner, 2026-10-21: bigger category circles on phones; the five still fit across the screen without scrolling. */
@media (max-width: 899px) {
  .cat-circles__list { justify-content: space-between; gap: 4px; padding-block: 10px; }
  .cat-circles__list a { flex: 1 1 0; min-width: 0; font-size: 13.5px; font-weight: 600; gap: 6px; }
  .cat-circles__list img { width: min(68px, 16.5vw); height: min(68px, 16.5vw); }
}
