/* Style D, frozen v15. Frame rules are shared; page rules stay inside pd-home. */
.pd-frame,.pd-home { direction:rtl; color:var(--ink); background:var(--bg); font:400 16px/1.6 var(--sans); }
.pd-wrap { width:100%; max-width:1296px; margin-inline:auto; padding-inline:20px; }
.pd-frame *,.pd-home * { box-sizing:border-box; min-width:0; }
.pd-frame [hidden],.pd-home [hidden] { display:none!important; }
.pd-frame a,.pd-home a { color:inherit; text-underline-offset:4px; }
.pd-frame a,.pd-home a,.pd-home button,.pd-home summary { min-height:44px; }
.pd-frame :focus-visible,.pd-home :focus-visible { outline:3px solid var(--olive); outline-offset:4px; }
.pd-frame img,.pd-home img,.pd-home video { display:block; max-width:100%; }
.pd-home h1,.pd-home h2,.pd-home h3 { margin:0; font-family:var(--head); font-weight:var(--head-w); line-height:1.25; text-wrap:balance; }
.pd-home h1 { font-size:32px; font-weight:var(--h1-w); }
.pd-home h2 { font-size:26px; }
.pd-small { font-size:14.5px; color:var(--muted); }
.pd-eyebrow { font-size:13px; color:var(--olive); }
.pd-button { min-height:48px!important; display:inline-flex; align-items:center; justify-content:center; padding:10px 24px; border-radius:999px; border:1px solid var(--olive); background:var(--olive); color:#fff!important; font:600 15.5px var(--sans); text-decoration:none; cursor:pointer; }
.pd-button.pd-ghost { background:#fff; color:var(--olive)!important; }
.pd-top-row { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:88px; }
.pd-logo { display:flex; align-items:center; flex:none; width:148px; }
.pd-logo img { width:100%; height:auto; }
.pd-tools { display:flex; gap:6px; align-items:center; }
.pd-tool { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:44px; padding:0 12px; border-radius:999px; border:1px solid var(--line); text-decoration:none; font-size:14.5px; font-weight:600; }
.pd-tool svg { width:20px; height:20px; flex:none; }
.pd-bar { border-block:1px solid var(--line); background:rgba(255,255,255,.95); }
.pd-bar-row { display:flex; flex-wrap:wrap; gap:8px 12px; padding-block:8px; }
.pd-cats { display:flex; flex:1 1 100%; gap:4px; overflow-x:auto; padding:4px; scrollbar-width:thin; }
.pd-cats a { display:inline-flex; align-items:center; flex:none; padding:0 14px; border-radius:999px; text-decoration:none; font-size:15px; }
.pd-cats a:hover { background:var(--surface); }
.pd-pill { display:inline-flex; align-items:stretch; width:100%; border-radius:999px; background:var(--yellow); border:1px solid var(--yellow-2); text-decoration:none; font-size:14.5px; }
.pd-pill>span { display:flex; flex:1; align-items:center; gap:6px; padding:0 14px; white-space:nowrap; }
.pd-pill>span+span { border-inline-start:1px solid var(--yellow-2); }
.pd-pill svg { width:16px; height:16px; color:var(--olive); flex:none; }
.pd-opening { padding-block:32px 0; max-width:760px; display:flex; flex-direction:column; gap:10px; }
.pd-opening p { margin:0; color:var(--muted); }
.pd-media { margin-top:32px; display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.pd-media figure { margin:0; }
.pd-film { grid-column:1/-1; }
.pd-media-frame { position:relative; overflow:hidden; background:var(--surface); aspect-ratio:4/5; }
.pd-film .pd-media-frame { aspect-ratio:16/9; }
.pd-media img,.pd-media video { width:100%; height:100%; object-fit:cover; }
.pd-film video { position:absolute; inset:0; opacity:0; }
.pd-film video.pd-playing { opacity:1; }
.pd-media figcaption,.pd-tile-caption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 8px; padding-block:12px; font-size:15px; }
.pd-tile>a { display:block; text-decoration:none; }
.pd-tile-caption span:first-child { font-weight:600; }
.pd-tile-caption span+span { color:var(--muted); }
.pd-video-toggle { position:absolute; left:12px; bottom:12px; z-index:2; min-width:44px; padding:0 16px; border-radius:999px; border:1px solid var(--line); background:var(--band); color:var(--ink); font:600 14px var(--sans); cursor:pointer; }
.pd-video-play,.pd-video-pause,.pd-social svg { display:none; }
.pd-section { padding-block:48px 0; scroll-margin-top:24px; }
.pd-section-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:8px 16px; margin-bottom:24px; }
.pd-section-head>div { flex:1 1 280px; }
.pd-section-head p { margin:6px 0 0; color:var(--muted); max-width:60ch; }
.pd-section-head>a { display:inline-flex; align-items:center; min-height:44px; color:var(--olive); font-weight:600; }
.pd-check { display:grid; gap:12px; padding:20px; border-radius:24px; background:var(--yellow); border:1px solid var(--yellow-2); }
.pd-check p { margin:0; }
.pd-check a { display:inline-flex; align-items:center; }
.pd-check-form { display:grid; gap:12px; }
.pd-check-form label { display:flex; flex-direction:column; gap:6px; font-weight:600; }
.pd-check input { width:100%; min-height:48px; max-width:100%; border:1px solid var(--field); border-radius:8px; background:#fff; padding:10px 12px; color:var(--ink); font:inherit; }
.pd-check input[type=date] { min-width:0; }
.pd-delivery-line { font-weight:600; }
.pd-slots { list-style:none; display:grid; grid-template-columns:repeat(auto-fill,minmax(108px,1fr)); gap:8px; margin:0 0 12px; padding:0; }
.pd-slots li { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:56px; padding:6px 8px; background:#fff; border:1px solid var(--line); border-radius:12px; line-height:1.3; text-align:center; }
.pd-slots li>span { font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-slots li>small { font-size:13px; color:var(--olive); }
.pd-slots .pd-slot-almost { border-color:var(--yellow-2); box-shadow:inset 0 -3px 0 var(--yellow-2); }
.pd-slots .pd-slot-almost>small { color:var(--ink); }
.pd-slots .pd-slot-full,.pd-slots .pd-slot-closed { color:var(--muted); background:transparent; border-style:dashed; }
.pd-slots .pd-slot-full>span,.pd-slots .pd-slot-closed>span { text-decoration:line-through; }
.pd-slots .pd-slot-full>small,.pd-slots .pd-slot-closed>small { color:var(--muted); }
.pd-slots-box>summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:8px; font-weight:600; }
.pd-slots-box[open]>summary { margin-bottom:4px; }
.pd-slots-box>summary::-webkit-details-marker { display:none; }
.pd-slots-box>summary::after { content:"◂"; font-size:14px; }
.pd-slots-box[open]>summary::after { content:"▾"; }
.pd-products { display:flex; gap:12px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:20px; margin-inline:-20px; padding:4px 20px 12px; scrollbar-width:thin; }
.pd-products .d-card { flex:0 0 64%; scroll-snap-align:start; }
.pd-price { font-size:15px; font-variant-numeric:tabular-nums; }
.pd-duo { display:grid; gap:24px; }
.pd-bundle-tile { display:block; text-decoration:none; }
.pd-bundle-photo { aspect-ratio:16/10; background:var(--surface); }
.pd-bundle-photo img { width:100%; height:100%; object-fit:cover; }
.pd-bundle-caption { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:6px 12px; padding-top:12px; }
.pd-bundle-caption h3 { font-size:22px; }
.pd-bundle-caption span { color:var(--muted); font-size:15px; }
.pd-bundle-links { display:flex; flex-wrap:wrap; gap:4px 16px; }
.pd-bundle-links a { display:inline-flex; align-items:center; font-size:14px; color:var(--olive); }
.pd-bundle-links a { flex-wrap:wrap; gap:4px 8px; }
.pd-bundle-cta { display:inline-flex; align-items:center; min-height:44px; color:var(--olive); font-weight:600; }
.pd-banner { position:relative; }
.pd-banner-photo { aspect-ratio:16/9; background:var(--surface); }
.pd-banner-photo img { width:100%; height:100%; object-fit:cover; }
.pd-banner-panel { padding-top:20px; display:flex; flex-direction:column; gap:10px; }
.pd-banner-panel p { margin:0; }
.pd-banner-panel .pd-button { align-self:flex-start; }
.pd-story { display:grid; gap:24px; align-items:center; }
.pd-story-photo { aspect-ratio:4/5; }
.pd-story-photo img { width:100%; height:100%; object-fit:cover; }
.pd-story-copy { display:flex; flex-direction:column; gap:14px; max-width:60ch; }
.pd-story-copy p { margin:0; }
.pd-story-copy h2 { display:flex; align-items:center; gap:12px; }
.pd-story-copy h2 img { width:32px; height:auto; flex:none; }
.pd-story-copy>a { display:inline-flex; align-items:center; }
.pd-review { max-width:760px; margin:0 auto; text-align:center; display:flex; flex-direction:column; gap:14px; }
.pd-review blockquote { margin:0; border:0; padding:0; font:var(--sub-w) clamp(20px,2.6vw,26px)/1.5 var(--head); }
.pd-review figcaption { color:var(--muted); font-size:14.5px; }
.pd-feed { display:flex; gap:10px; overflow-x:auto; padding:4px 20px 12px; scroll-snap-type:x mandatory; direction:ltr; }
.pd-feed>a { flex:none; width:168px; aspect-ratio:4/5; scroll-snap-align:start; background:var(--surface); }
.pd-feed img { width:100%; height:100%; object-fit:cover; }
.pd-social { display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px; margin-top:12px; }
.pd-social a { display:inline-flex; align-items:center; font-size:14.5px; font-weight:600; }
.pd-faq details { border-top:1px solid var(--line); }
.pd-faq details:last-child { border-bottom:1px solid var(--line); }
.pd-faq summary { cursor:pointer; padding:16px 0; font-weight:600; }
.pd-faq p { margin:0 0 16px; max-width:80ch; }
.pd-faq a { display:inline-flex; align-items:center; }
.pd-footer { border-top:1px solid var(--line); margin-block-start:64px; }
.pd-footer-grid { display:grid; gap:32px; padding-block:32px; }
.pd-footer-info>p { max-width:60ch; }
.pd-footer-cols { display:grid; gap:24px; }
.pd-footer-cols strong { display:block; margin-bottom:6px; }
.pd-footer-cols a { display:flex; align-items:center; width:fit-content; max-width:100%; padding-block:8px; text-decoration:none; overflow-wrap:anywhere; }
.pd-footer-cols a:hover { text-decoration:underline; }
.pd-footer-map { display:flex; flex-direction:column; align-items:center; gap:10px; }
.pd-footer-map>p { text-align:center; margin:0; }
.pd-map { position:relative; width:100%; max-width:380px; aspect-ratio:400/634; color:var(--olive); }
.pd-footer-bottom { border-top:1px solid var(--line); }
.pd-footer-bottom .pd-wrap { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:12px; padding-block:16px; font-size:13.5px; color:var(--muted); }
@media(min-width:600px) {
  .pd-footer-cols { grid-template-columns:1fr 1fr; }
  .pd-products .d-card { flex-basis:40%; }
  .pd-duo { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:900px) {
  .pd-wrap { padding-inline:48px; }
  .pd-home h1 { font-size:48px; }
  .pd-home h2 { font-size:32px; }
  .pd-logo { width:184px; }
  .pd-bar-row { flex-wrap:nowrap; }
  .pd-cats { flex:1 1 auto; }
  .pd-pill { flex:none; width:auto; }
  .pd-opening { padding-top:48px; }
  .pd-media { gap:24px; grid-template-columns:20fr 9fr 9fr; }
  .pd-film { grid-column:auto; }
  .pd-media .pd-media-frame { aspect-ratio:auto; height:300px; }
  .pd-section { padding-top:80px; }
  .pd-check { padding:24px 28px; }
  .pd-check-form { grid-template-columns:1fr 1fr auto; align-items:end; }
  .pd-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; padding:4px; overflow:visible; }
  .pd-banner-photo { aspect-ratio:21/10; }
  .pd-banner-panel { position:absolute; right:24px; bottom:24px; width:min(520px,48%); padding:24px; background:var(--panel); }
  .pd-banner-panel h2 { font-size:28px; }
  .pd-story { grid-template-columns:5fr 7fr; gap:56px; }
  .pd-feed { gap:14px; padding-inline:48px; }
  .pd-feed>a { width:232px; }
  .pd-footer-grid { grid-template-columns:minmax(0,1fr) 380px; gap:64px; padding-block:48px; }
}
@media(prefers-reduced-motion:reduce) {
  .pd-home video { display:none; }
  .pd-home * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* Desktop stage A: the outer template header must stick, not a child in a short parent. */
.pd-desktop-only { display:none; }
@media(min-width:901px) {
  .pd-wrap { box-sizing:border-box; max-width:1760px; padding-inline:80px; }
  .wp-site-blocks > header:has(.pd-top) { position:sticky; top:0; z-index:40; background:#fff; border-bottom:1px solid #DEDFD9; }
  .pd-top-row { min-height:64px; }
  .pd-bar { border-bottom:0; }
  .pd-bar-row { padding-block:4px; }
  .pd-cats { padding-block:1px; }
  .pd-tools { position:fixed; left:16px; top:50%; transform:translateY(-50%); flex-direction:column; gap:8px; }
  .pd-tool { position:relative; width:48px; height:48px; min-width:48px; padding:0; background:#fff; border:1px solid #1F201C; color:#1F201C; }
  .pd-tool svg { width:24px; height:24px; }
  .pd-tool-cart { order:-1; }
  .pd-tool-cart>span:not([data-cart-count]) { display:none; }
  .pd-tool [data-fav-count],.pd-tool [data-cart-count] { position:absolute; right:1px; top:-5px; min-width:18px; padding:0 3px; border-radius:999px; background:#fff; font-size:12px; line-height:18px; text-align:center; }
  .pd-opening { max-width:760px; margin-left:auto; margin-right:0; text-align:right; }
  .pd-section { scroll-margin-top:144px; }
  .pd-products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-inline:0; }
  .pd-section-head h2,.pd-check h2 { font-size:32px; color:#1F201C; }
  .pd-section-head p,.pd-check>div:first-child>p,.pd-bundle-caption span { font-size:18px; line-height:1.6; color:#5F605A; }
  .pd-section-head>a,.pd-bundle-links a,.pd-bundle-cta { font-size:16px; font-weight:600; color:#4F5743; }
  .pd-video-toggle { width:44px; height:44px; padding:0; display:inline-flex; align-items:center; justify-content:center; }
  .pd-video-toggle [data-pd-toggle-text] { display:none; }
  .pd-video-toggle svg { display:block; width:24px; height:24px; }
  .pd-video-toggle[aria-pressed="false"] .pd-video-play,.pd-video-toggle[aria-pressed="true"] .pd-video-pause { display:block; }
  .pd-social { gap:16px; }
  .pd-social a { justify-content:center; width:44px; height:44px; color:#000; background:#fff; }
  .pd-social a>span { display:none; }
  .pd-social a>svg { display:block; width:24px; height:24px; }
  /* The first snap point is the padding edge, so the feed starts at 0 and its left arrow starts disabled (tester 20/10). */
  .pd-feed { scrollbar-width:none; padding-inline:80px; scroll-padding-inline:80px; }
  /* Bundle photos are tall with their title printed at the top; a wide box keeps the top (tester 20/10). */
  .pd-bundle-photo img { object-position:50% 0; }
  .pd-feed::-webkit-scrollbar { display:none; }
  .pd-feed:focus-visible { outline-offset:-4px; }
  /* Yossi 21/10: the arrows at the sides of the photos, without a circle. */
  .pd-feed-controls { position:absolute; inset:0 0 12px; z-index:2; display:flex; justify-content:space-between; align-items:center; direction:ltr; padding-inline:18px; pointer-events:none; }
  .pd-feed-controls button { pointer-events:auto; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; background:none; color:#1F201C; cursor:pointer; }
  .pd-feed-controls svg { width:28px; height:28px; }
  .pd-feed-controls button:disabled { opacity:.4; cursor:default; }
  /* Stage B, all layout changes start strictly above the mobile breakpoint. */
  .pd-desktop-only { display:block; }
  .pd-media { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .pd-film { grid-column:1/-1; }
  .pd-media .pd-media-frame { height:320px; }
  /* Desktop clean brief 20/10: these rules do not reach the phone. */
  .pd-section { padding-top:64px; }
  .pd-footer { margin-block-start:64px; }
  .pd-check-layout { display:grid; grid-template-columns:2fr 1fr; gap:32px; align-items:start; }
  .pd-check { width:100%; padding:24px; }
  .pd-check h2 { font-size:26px; line-height:32px; margin-bottom:6px; }
  .pd-check-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:end; }
  .pd-check-form label { font-size:15px; }
  .pd-check-form input { height:48px; min-height:48px; }
  .pd-common-questions h3 { margin-bottom:12px; }
  .pd-common-questions>a { display:inline-flex; align-items:center; gap:8px; }
  .pd-faq-layout { width:100%; max-width:760px; margin-inline:0; } /* Yossi 21/10: right under the heading, not centred */
  .pd-faq summary { min-height:48px; padding-block:10px; font-size:17px; line-height:28px; }
  .pd-faq p { font-size:16px; line-height:26px; }
  [data-home-section="platters"] { display:none; }
  /* Yossi 21/10: one row in the catalogue's size (four across): the quiche film, the bakery text with the link to the
     whole bakery, and two catalogue cards. The section heading moves into the row. */
  [data-home-section="bakery"] .pd-section-head { display:none; }
  .pd-bakery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
  .pd-bakery-film { position:relative; }
  .pd-bakery-main { display:block; }
  .pd-bakery-main video { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; background:var(--surface); }
  .pd-bakery-text { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:12px; padding-inline:8px; }
  .pd-bakery-text p { margin:0; color:var(--muted); }
  .pd-bakery-more { display:block; min-height:0; padding-block:10px; color:var(--olive); font-weight:600; text-decoration:none; }
  .pd-bakery-more span { margin-inline-start:6px; }
  .pd-section-head>a.pd-mobile-only { display:none; }
  .pd-footer-grid:has(>.pd-footer-info:only-child) { grid-template-columns:minmax(0,1fr); }
  .pd-events .pd-banner { display:grid; grid-template-columns:2fr 3fr; gap:48px; align-items:center; }
  .pd-event-photos { grid-column:2; grid-row:1; }
  .pd-event-photos .pd-banner-photo { aspect-ratio:auto; height:340px; }
  .pd-event-photos img { height:100%; object-fit:cover; }
  .pd-events .pd-banner-panel { grid-column:1; grid-row:1; position:static; width:auto; padding:0; background:none; gap:16px; }
  .pd-events .pd-banner-panel h2 { font-size:30px; line-height:36px; }
  .pd-events .pd-banner-panel p { font-size:18px; line-height:28px; }
  .pd-events .pd-button { height:44px; min-height:44px!important; padding-block:0; }
  .pd-mobile-only { display:none; }
  .pd-media .pd-tile-caption { display:flex; justify-content:flex-start; align-items:center; gap:8px; min-height:48px; font-size:16px; }
  .pd-media .pd-tile-caption.pd-mobile-only { display:none; }
  .pd-story { grid-template-columns:1fr; gap:0; }
  .pd-story-photo { display:none; }
  .pd-story-copy { width:100%; max-width:720px; margin-inline:auto; font-size:18px; line-height:28px; }
}
@media(min-width:1200px) { .pd-products { grid-template-columns:repeat(4,minmax(0,1fr)); } }
/* From 1280px the film and its three tiles share one row, as Yossi saw them ("שתי השמאליות", 21/10). */
@media(min-width:1280px) {
  .pd-media { grid-template-columns:2fr repeat(3,minmax(0,1fr)); }
  .pd-film { grid-column:auto; }
}
/* One desktop row; all eight favourites remain in the phone rail. */
/* Yossi 20/10: links that read as sentences lose the underline; an arrow says where they lead. */
.pd-section-head>a,.pd-bundle-links a { text-decoration:none; }
.pd-section-head>a::after { content:"←"; margin-inline-start:6px; }
.pd-section-head>a:hover,.pd-bundle-links a:hover { text-decoration:underline; }
.pd-fav-status { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:100; width:max-content; max-width:calc(100vw - 40px); border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); padding:10px 20px; text-align:center; box-shadow:0 6px 16px rgba(31,32,28,.12); }
.pd-fav-status:empty { display:none; }

/* PetitMap.css copied from shared/map.js. */
.pmap-w{position:relative;container-type:inline-size;max-width:100%}.pmap{display:block;width:100%;height:auto;--map-ink:#4F5743;--map-paper:#FFFFFF}.pm-ov{position:absolute;inset:0;pointer-events:none;color:#4F5743}.pm-w{position:absolute;white-space:nowrap;line-height:1}.pm-label{font-size:11px;font-size:3.3cqw}.pm-k{font-weight:600}.pm-small{font-size:9px;font-size:2.5cqw;letter-spacing:.04em;opacity:.8}.pm-sea{font-size:9px;font-size:2.5cqw;letter-spacing:.5em;opacity:.55}.pm-tb{position:absolute;background:#FFFFFF;border:1px solid #4F5743;font-size:9px;font-size:2.3cqw;line-height:1.3}.pm-tb b{display:block;padding:.5em .7em;border-bottom:1px solid #4F5743;font-weight:600;letter-spacing:.04em}.pm-tb span{display:flex}.pm-tb i{font-style:normal;padding:.45em .7em;opacity:.85}.pm-tb i+i{border-inline-start:1px solid #4F5743}.pmap .pm-dot{fill:var(--map-ink);transition:r .25s ease}.pmap .pm-hit{fill:transparent;cursor:pointer}.pmap .pm-city:hover .pm-dot,.pmap .pm-city:focus .pm-dot{r:5}.pmap .pm-city:focus{outline:none}.pmap .pm-city:focus-visible .pm-hit{stroke:var(--map-ink);stroke-width:1}.pm-art{fill:none;stroke:var(--map-ink);stroke-opacity:.28;stroke-width:1;stroke-linecap:round;transition:stroke-dashoffset 4.2s cubic-bezier(.45,0,.2,1),stroke-opacity .3s ease,stroke-width .3s ease}.pmap.drawn .pm-art{stroke-dashoffset:0!important}.pm-art.hot{stroke-opacity:.9;stroke-width:1.6}.pm-tip{position:absolute;transform:translate(-50%,-140%);background:#FFFFFF;border:1px solid #4F5743;border-radius:999px;padding:.35em .9em;font-size:12px;font-size:3.2cqw;font-weight:600;white-space:nowrap;box-shadow:0 6px 16px rgba(31,32,28,.12)}.pm-tip[hidden]{display:none}@media (prefers-reduced-motion:reduce){.pm-art{transition:none;stroke-dashoffset:0!important}}

.pd-map .pm-ov a { pointer-events:auto; display:inline-flex; align-items:center; min-width:44px; min-height:44px; text-decoration:none; }
.pd-map .pm-ov a:hover { text-decoration:underline; }
.pd-map .pm-ov a.pm-drop { align-items:flex-start; }
.pm-image { position:absolute; }
.pm-image img { display:block; width:100%; height:100%; object-fit:contain; }
.pmap:not(.pm-enhanced) .pm-art { stroke-dashoffset:0!important; }

@media(max-width:420px) {
  .pd-top-row .pd-logo { flex:0 1 148px; min-width:96px; }
  .pd-tools { flex:none; gap:4px; }
  .pd-tool { padding-inline:8px; }
}
@media(prefers-reduced-motion:reduce) { .pd-map * { transition:none!important; animation:none!important; } }
/* Yossi's lines under each bundle kind and at the story's start (20/10). */
.pd-bundle-line { margin:4px 0 0; color:var(--muted); font-size:15px; line-height:1.5; }
.pd-story-lead { font-weight:600; color:var(--ink); }

/* HOME-R5: approved delivery copy and footer links apply at every width. */
.pd-check .pd-check-note { font-size:15px; line-height:22px; }
.pd-city-field h2 { margin-bottom:6px; }
.pd-check-form .screen-reader-text { position:absolute; width:1px; height:1px; min-height:0; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.pd-footer-bottom .pd-footer-legal { justify-content:flex-start; gap:8px 24px; }
.pd-footer-legal a { display:inline-flex; align-items:center; }
.pd-footer-legal .pd-cookie-choice { display:inline-flex; align-items:center; margin:0; padding:0; border:0; background:none; font:inherit; color:inherit; cursor:pointer; }
/* Yossi 21/10 ("למה יש מסגרת מסביב לכל בחירה בלחיצה עם העכבר?"): in the check box the focus ring is for keyboard users
   only (d-catalog.js marks Tab); a clicked field darkens its border instead. */
html:not([data-kbd]) .pd-check :focus-visible { outline:none; }
.pd-check input:focus { border-color:var(--olive); }
/* Yossi 21/10: small capsules without a fill: "מעבר לקופה", the short delivery terms, and "סגירה" while the list is open. */
.pd-slots-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.pd-check .pd-slots-actions>a,.pd-check .pd-slots-actions>button,.pd-terms-pop>button { min-height:36px; display:inline-flex; align-items:center; padding:0 14px; border:1px solid var(--olive); border-radius:999px; background:transparent; color:var(--olive); font:600 14px var(--sans); text-decoration:none; cursor:pointer; }
.pd-slots-box:not([open]) ~ .pd-slots-actions .pd-slots-close { display:none; }
.pd-terms-pop { width:min(560px,calc(100% - 32px)); max-height:calc(100% - 64px); overflow:auto; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--bg); color:var(--ink); font:400 15px/1.6 var(--sans); direction:rtl; text-align:right; box-shadow:0 12px 40px rgba(31,32,28,.18); }
.pd-terms-pop::backdrop { background:rgba(31,32,28,.35); }
.pd-terms-pop h3 { margin:0 0 12px; font-size:20px; }
.pd-terms-pop ul { display:grid; gap:10px; margin:0 0 14px; padding:0; list-style:none; }
.pd-check .pd-terms-pop p { margin:0 0 14px; }
/* Yossi 21/10, home: a short line on the bundle tiles, the bird standing on the check frame, a moving row of the loved
   platters with arrows at its sides, and the network icons beside the Instagram name. */
.pd-tile-line { position:absolute; inset:auto 0 0; padding:48px 16px 14px; color:#fff; font-size:18px; font-weight:600; line-height:1.35; text-align:start; background:linear-gradient(to top,rgba(31,32,28,.7),rgba(31,32,28,0)); }
.pd-check { position:relative; }
.pd-check-bird { position:absolute; top:-35px; inset-inline-start:40px; width:44px; line-height:0; pointer-events:none; }
.pd-check-bird img { width:44px; height:auto; }
.pd-feed-title { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; }
.pd-feed-title h2 { margin:0; }
.pd-feed-title .pd-social { margin:0; }
.pd-feed-frame,.pd-rail { position:relative; }
.pd-rail-step { display:none; }
@media(max-width:900px) { .pd-feed-title .pd-social { display:none; } }
@media(min-width:901px) {
  [data-home-section="popular"] .pd-rail-track { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:4px 0; }
  [data-home-section="popular"] .pd-rail-track::-webkit-scrollbar { display:none; }
  [data-home-section="popular"] .pd-rail-track>.d-card { flex:0 0 calc((100% - 72px) / 4); scroll-snap-align:start; }
  .pd-rail-step { display:flex; position:absolute; top:50%; z-index:2; transform:translateY(-50%); align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; background:none; color:#1F201C; cursor:pointer; }
  .pd-rail-step[data-rail-step="-1"] { inset-inline-start:-60px; }
  .pd-rail-step[data-rail-step="1"] { inset-inline-end:-60px; }
  .pd-rail-step svg { width:28px; height:28px; }
  .pd-rail-step:disabled { opacity:.3; cursor:default; }
  .pd-feed-title .pd-social a { width:auto; height:auto; background:none; }
  .pd-feed-title .pd-social a>svg { width:30px; height:30px; }
}
@media(min-width:1200px) { [data-home-section="popular"] .pd-rail-track>.d-card { flex-basis:calc((100% - 96px) / 5); } }
/* The floating tools sit at the left edge: below 1880px, and always in the full-width feed, the arrows rest on the
   photos' edges, white with the card icons' shadow, so they never fall under the tools. */
@media(min-width:901px) and (max-width:1879px) {
  .pd-rail-step[data-rail-step="-1"] { inset-inline-start:8px; }
  .pd-rail-step[data-rail-step="1"] { inset-inline-end:8px; }
  .pd-rail-step { color:#fff; filter:drop-shadow(0 0 1px rgba(0,0,0,.6)) drop-shadow(0 1px 3px rgba(0,0,0,.35)); }
}
@media(min-width:901px) {
  .pd-feed-controls { padding-inline:84px; }
  .pd-feed-controls button { color:#fff; filter:drop-shadow(0 0 1px rgba(0,0,0,.6)) drop-shadow(0 1px 3px rgba(0,0,0,.35)); }
}

/* FAQ page, 21/10/2026: BEGIN. Scoped additions, shared home rules above stay unchanged. */
.pd-faq-main { width:100%; max-width:none; padding-block:32px 64px; padding-inline:0; }
.pd-faq-main .pd-wrap { max-width:1120px; }
.pd-faq-main .pd-faq-title { margin-inline:auto; }
.pd-faq-page { overflow-wrap:anywhere; }
.pd-faq-intro>p { margin-block:16px 24px; max-width:80ch; }
.pd-faq-topics { display:flex; flex-wrap:wrap; gap:8px; }
.pd-faq-topics a { display:inline-flex; align-items:center; justify-content:center; max-width:100%; min-height:44px; padding:8px 16px; border:1px solid var(--olive); border-radius:999px; background:transparent; color:var(--olive); text-decoration:none; text-align:center; }
.pd-faq-topics a:hover { text-decoration:underline; }
.pd-faq-page h2 { margin-block-end:20px; }
.pd-faq-page .pd-faq a { display:inline; }
.pd-faq-page .pd-faq summary { min-height:44px; overflow-wrap:anywhere; }
.pd-faq-main :focus-visible { outline:3px solid var(--olive); outline-offset:4px; }
/* On the phone the ten topics are one row that moves sideways, not four rows above the first question. */
@media(max-width:900px) {
  .pd-faq-topics { flex-wrap:nowrap; overflow-x:auto; margin-inline:-20px; padding:2px 20px 6px; scrollbar-width:none; }
  .pd-faq-topics::-webkit-scrollbar { display:none; }
  .pd-faq-topics a { flex:none; min-height:40px; padding:6px 14px; font-size:15px; }
}
/* Yossi 22/10: the date of the last change to the answers. */
.pd-faq-updated { margin-block:8px 0; font-size:14px; color:var(--muted); }
/* FAQ page, 21/10/2026: END. */

/* DESK-C2, 21/10/2026: BEGIN. Story, blog and catalogue presentation. */
.pd-about-main > .pd-content-title,.pd-about.pd-wrap { max-width:1120px; }
.pd-home .pd-content-title { padding-block:40px 28px; }
.pd-reading { width:100%; max-width:720px; margin-inline:auto; font-size:18px; line-height:1.8; overflow-wrap:anywhere; }
.pd-reading h2 { margin-block:32px 16px; }
.pd-reading p { margin-block:0 20px; }
.pd-about-photo { margin:0 0 36px; }
/* Checked 21/10: story.jpg rendered 960x1200 at 1366, more than a screen ("מרגיש לי ענק"); a calm landscape frame. */
.pd-about-photo img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
@media(min-width:901px) { .pd-about-photo img { aspect-ratio:16/9; } }
.pd-about-values { margin-block:40px; padding-block:32px; border-block:1px solid var(--line); }
.pd-about-values > h2 { margin-block-end:24px; }
.pd-about-value-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.pd-about-value-grid svg { width:28px; height:28px; margin-block-end:12px; fill:none; stroke:var(--olive); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.pd-about-value-grid h3 { font-size:21px; }
.pd-about-value-grid p { margin-block:12px 0; }
.pd-content-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-block:32px; }
.pd-content-actions a { display:inline-flex; align-items:center; min-height:44px; }
.d-group-filters [hidden],.d-catalog .d-group[hidden] { display:none!important; }
.d-card-photos { position:relative; overflow:hidden; }
.d-card .d-card-alt { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; pointer-events:none; }
@media(max-width:900px) {
  .d-shop-body > .d-group-filters { display:none; }
}
@media(max-width:480px) {
  .pd-about-value-grid { grid-template-columns:minmax(0,1fr); }
}
@media(min-width:901px) {
  .pd-about-value-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .d-catalog .d-shop-body:has(> .d-shop-filters) { grid-template-columns:200px minmax(0,1fr); align-items:start; }
  .d-catalog .d-shop-filters { padding-top:16px; }
  .d-catalog .d-shop-filters form { flex-direction:column; align-items:stretch; }
  .d-catalog .d-filter-list { flex-direction:column; overflow:visible; padding:0; }
  .d-catalog .d-filter { border-color:transparent; border-radius:8px; padding:0 8px; }
}
/* Yossi 28/10 after the launch: "אם יש תמונה שניה- שתתחלף... אבל יותר באיטיות. ואם אין תמונה אז שהיה כזה כמו זום אין
   לתמונה הקיימת. גם באיטיות." Was 250ms and 1.04 in 400ms, too quick and small to notice. */
@media(min-width:901px) and (hover: hover) and (pointer: fine) {
  .d-card .d-card-alt { transition:opacity 700ms ease-in-out; }
  .d-card-photos.has-gallery.is-mouse-over .d-card-alt.is-loaded { opacity:1; }
  .d-card-photos:not(.has-gallery) > .d-shop-photo { transition:transform 1400ms cubic-bezier(.2,.6,.2,1); }
  .d-card-photos:not(.has-gallery).is-mouse-over > .d-shop-photo { transform:scale(1.08); }
}
@media(prefers-reduced-motion:reduce) {
  .d-card .d-card-alt,.d-card-photos:not(.has-gallery) > .d-shop-photo { transition:none; }
  .d-card-photos:not(.has-gallery).is-mouse-over > .d-shop-photo { transform:none; }
}
/* DESK-C2, 21/10/2026: END. */

/* Content pages and kosher, 21/10/2026: terms, privacy, kosher and any plain page share the story page's reading column. */
.pd-page-main .pd-page-content { margin-block-end:56px; }
.pd-kosher-card { display:flex; align-items:center; gap:28px; margin:8px 0 32px; padding:24px; border:1px solid var(--yellow-2); border-radius:20px; background:var(--yellow); }
.pd-kosher-thumb { flex:none; padding:0; border:0; border-radius:10px; background:none; cursor:zoom-in; line-height:0; box-shadow:0 6px 20px rgba(31,32,28,.16); transition:transform .2s; }
.pd-kosher-thumb img { display:block; width:150px; height:auto; border-radius:10px; }
.pd-kosher-thumb:hover { transform:translateY(-2px); }
.pd-kosher-copy { display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-width:0; }
.pd-kosher-lead { margin:0; font-size:21px; line-height:1.5; color:var(--ink); }
.pd-kosher-open { min-height:44px; display:inline-flex; align-items:center; padding:0 18px; border:1px solid var(--olive); border-radius:999px; background:transparent; color:var(--olive); font:600 15px var(--sans); cursor:pointer; }
.pd-kosher-copy a { display:inline-flex; align-items:center; min-height:44px; color:var(--olive); }
.pd-kosher-pop { width:fit-content; max-width:calc(100% - 32px); max-height:calc(100% - 32px); overflow:auto; padding:16px; border:1px solid var(--line); border-radius:20px; background:var(--bg); box-shadow:0 12px 40px rgba(31,32,28,.22); }
.pd-kosher-pop::backdrop { background:rgba(31,32,28,.45); }
/* The whole certificate fits the screen height, without scrolling inside the window. */
.pd-kosher-pop img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(100vh - 100px); border-radius:8px; }
.pd-kosher-close { position:sticky; top:0; float:left; width:44px; height:44px; margin:-8px -8px 0 0; border:0; border-radius:50%; background:var(--bg); color:var(--ink); font:400 28px/1 var(--sans); cursor:pointer; }
@media(max-width:560px) {
  .pd-kosher-card { flex-direction:column; align-items:flex-start; gap:18px; padding:20px; }
  .pd-kosher-thumb img { width:132px; }
}
@media(prefers-reduced-motion:reduce) { .pd-kosher-thumb { transition:none; } }

/* DESK-D 2026-10-21: touch targets and story reading space. */
.pd-check .pd-slots-actions>a,.pd-check .pd-slots-actions>button,.pd-terms-pop>button { position:relative; }
.pd-check .pd-slots-actions>a::after,.pd-check .pd-slots-actions>button::after,.pd-terms-pop>button::after {
  content:""; position:absolute; inset-inline:0; top:50%; height:100%; min-height:44px; transform:translateY(-50%);
}
.petit-main.pd-about-main { padding-inline:0; }
.pd-about > .pd-reading { padding-inline:0; }
.pd-about-photo { max-width:800px; margin-inline:auto; }
@media(max-width:900px) {
  .pd-faq-topics { mask-image:linear-gradient(to right,transparent,#000 24px); }
  .pd-faq-topics a { min-height:44px; }
}
/* End DESK-D 2026-10-21. */

/* DESK-F 22/10: "בנייד הסל צריך להיות לי זמין בצד המסך", "יש למרכז טקסטים ... וליישר חלוניות". */
@media(max-width:900px) {
  body:not(.woocommerce-cart):not(.woocommerce-checkout) .pd-tools { position:fixed; left:calc(8px + env(safe-area-inset-left, 0px)); bottom:calc(20px + env(safe-area-inset-bottom, 0px)); top:auto; z-index:45; flex-direction:column; gap:8px; }
  body:not(.woocommerce-cart):not(.woocommerce-checkout) .pd-tool { position:relative; width:44px; height:44px; min-width:44px; padding:0; background:#fff; border:1px solid var(--ink); }
  body:not(.woocommerce-cart):not(.woocommerce-checkout) .pd-tool-cart { order:-1; }
  body:not(.woocommerce-cart):not(.woocommerce-checkout) .pd-tool-cart>span:not([data-cart-count]) { display:none; }
  body:not(.woocommerce-cart):not(.woocommerce-checkout) .pd-tool [data-fav-count],
  body:not(.woocommerce-cart):not(.woocommerce-checkout) .pd-tool [data-cart-count] { position:absolute; right:0; top:-5px; min-width:18px; padding:0 3px; border-radius:999px; background:#fff; font-size:12px; line-height:18px; text-align:center; }
  .pd-home .pd-wrap { padding-inline:20px; }
  .pd-home .pd-media { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .pd-home .pd-film { grid-column:1 / -1; }
  .pd-home .pd-media .pd-media-frame { height:auto; }
  .pd-home .pd-section { padding-top:32px; }
  .pd-home .pd-section-head,.pd-home .pd-opening,.pd-home .pd-banner-panel { text-align:center; justify-content:center; }
  .pd-home .pd-section-head p { margin-inline:auto; }
  .pd-home .pd-section-head>a,.pd-home .pd-banner-panel .pd-button { margin-inline:auto; align-self:center; }
  .pd-home .pd-story-copy h2 { justify-content:center; }
  .pd-home .pd-story-copy>a { align-self:center; }
  .pd-home .pd-faq { text-align:right; }
  .pd-home .pd-check-layout,.pd-home .pd-check-form { display:grid; grid-template-columns:minmax(0,1fr); width:100%; min-width:0; }
  .pd-home .pd-check { width:100%; max-width:100%; padding:20px; }
  .pd-home .pd-check-form>* { min-width:0; max-width:100%; }
  .pd-home .pd-check input { box-sizing:border-box; width:100%; min-width:0; max-width:100%; }
  .pd-home .pd-check input[type=date] { display:block; appearance:none; }
  .pd-home .pd-check input[type=date]::-webkit-date-and-time-value { min-width:0; text-align:right; }
  .pd-home .pd-check h2,.pd-home .pd-check-note { text-align:center; }
  .pd-home .pd-duo { gap:20px; }
  .pd-home .pd-bundle-photo { aspect-ratio:2/1; }
  .pd-home .pd-bundle-caption { justify-content:center; text-align:center; }
  .pd-home .pd-bundle-caption h3 { font-size:20px; }
  .pd-home .pd-bundle-caption p { margin:0; }
  .pd-home .pd-bundle-cta { display:flex; justify-content:center; }
  .pd-home .pd-bundle-links { justify-content:center; }
}
/* At the same breakpoint as bundles.css, the existing bottom purchase bar takes over. */
@media(max-width:600px) {
  body:has(.petit-bundle-bar:not([hidden])) .pd-tools { display:none; }
}

/* DESK-H 22/10: "ליד האינסטגרם חסרים הלוגואים", "חסר יישור / מירכוז טקסט בסיפור שלנו", and the delivery questions. */
@media(max-width:900px) {
  .pd-social a { gap:6px; min-height:44px; }
  .pd-social svg { display:block; width:22px; height:22px; flex:none; }
  .pd-home .pd-feed-title { justify-content:center; }
  .pd-feed-title .pd-social { display:flex; gap:4px; }
  .pd-feed-title .pd-social a { justify-content:center; width:44px; }
  .pd-feed-title .pd-social a>span { display:none; }
  .pd-feed-title .pd-social a>svg { width:26px; height:26px; }
  .pd-home .pd-story-copy,.pd-home .pd-story-copy p { text-align:center; }
  [data-home-section="delivery-questions"] .pd-faq { text-align:right; }
  [data-home-section="delivery-questions"] .pd-faq-more { display:flex; justify-content:center; align-items:center; gap:8px; min-height:44px; margin-top:12px; font-weight:600; color:#4F5743; text-decoration:none; }
}
/* DESK-H 22/10: "הסרגל למעלה גם בדף הבית וגם בקטלוגים - צריך להיות״קפוא״" The logo row scrolls away; the categories and the city and date
   bar stay. Not in the cart and the checkout, where the screen belongs to the order. */
@media(max-width:900px) {
  body:not(.woocommerce-cart):not(.woocommerce-checkout) .wp-site-blocks > header:has(.pd-top) { position:sticky; top:-64px; z-index:40; background:#fff; }
  .pd-top-row { height:64px; min-height:0; }
  .pd-bar-row { padding-block:2px; row-gap:4px; }
  .pd-cats { padding-block:0; }
  html:has(body:not(.woocommerce-cart):not(.woocommerce-checkout)) { scroll-padding-top:110px; }
}
/* End DESK-H 22/10. */

/* DESK-I 22/10, Yossi: "גם כפתור חץ בדפים ארוכים של חזרה למעלה. משהו עדין". Bottom right, opposite the tools on the left. */
.pd-to-top { position:fixed; right:calc(16px + env(safe-area-inset-right, 0px)); bottom:calc(20px + env(safe-area-inset-bottom, 0px)); z-index:44;
  display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--line); border-radius:50%;
  background:rgba(255,255,255,.92); color:var(--ink); box-shadow:0 2px 8px rgba(31,32,28,.12); text-decoration:none; }
.pd-to-top[hidden] { display:none; }
.pd-to-top svg { width:20px; height:20px; }
/* End DESK-I 22/10. */
/* the acceptance tester, 22/10 (#4): on a phone the last category was cut ("בייקו"). A fade at the scrolling end says there is more. */
@media(max-width:900px) {
  /* RTL: the row starts on the right and runs out on the left, so the fade sits on the left (Codex DESK-M). */
  .pd-cats { -webkit-mask-image:linear-gradient(to right, transparent 0, #000 36px); mask-image:linear-gradient(to right, transparent 0, #000 36px); padding-inline-end:36px; }
}

/* MFLOW 28/10, Yossi after a real order on his phone: "כשאני בתוך הקטלוש של המגשי אין לי לוגו שמחזיר אותי לדף בית. ...
   העיר משלוח בתוך הקטלוג (בנייד) תופס שטח יקר. שם צריכות להיות הקטגוריות ומתחת הסינון. וגם שיהיה מעודן יותר - יש משהו
   קופצני בהופעה שלו ולא עדין". Replaces DESK-H 22/10 for the catalog on the phone.
   1. The city and date pill, wherever it stays: a lighter cream, a thin line, quieter words. */
.pd-pill { background:#FDFAF0; border-color:#EFE6C8; color:var(--muted); font-size:14px; }
.pd-pill>span+span { border-inline-start-color:#EFE6C8; }
.pd-pill svg { opacity:.75; }
/* 2. The cart and the checkout have their own delivery step; the pill went to the home page and lost the checkout. */
body.woocommerce-cart .pd-bar .pd-pill,body.woocommerce-checkout .pd-bar .pd-pill { display:none; }
@media(max-width:900px) {
  /* 3. The phone catalog: no pill; scrolling up brings the whole header back, the logo leading home and the categories,
        then the subcategories and the filter under them (d-catalog.js measures the header again). */
  body:has(.d-catalog) .pd-bar .pd-pill { display:none; }
  body:has(.d-catalog):not(.pd-tools-away):not(.woocommerce-cart):not(.woocommerce-checkout) .wp-site-blocks > header:has(.pd-top) { top:0; }
  body:not(.woocommerce-cart):not(.woocommerce-checkout) .wp-site-blocks > header:has(.pd-top) { transition:top .3s cubic-bezier(.2,.8,.2,1); }
}
/* End MFLOW 28/10. */
