:root, [data-theme="light"]{--surface:#faf7ef;--surface-raised:#fffdf8;--surface-sunk:#f1ede3;--ink:#16251f;--ink-muted:#56655f;--line:#d5d2c7;--line-strong:#8f8b7d;--brand:#0b5d43;--brand-deep:#073c2a;--brand-tint:#dcefe5;--on-brand:#fffdf8;--leaf:#dbe96a;--amba:#f4c74b;--cream:#fff4d6;--tomato:#a93624;--on-tomato:#fffdf8;--aubergine:#4f263e;--on-aubergine:#fffdf8;--pin-restaurant:var(--tomato);--pin-bakery:var(--amba);--pin-market:var(--brand);--pin-hub:var(--aubergine);--pin-shop:var(--leaf);--map-land:#f1ebdb;--map-water:#cfe3e0;--map-park:#d9e6c1;--map-road:#fffdf8;--map-building:#e5dcc6;--map-label:#3b4a43;--shadow-card:0 1px 2px rgba(22,37,31,0.08), 0 12px 32px rgba(22,37,31,0.08);--shadow-lift:0 2px 4px rgba(22,37,31,0.10), 0 22px 56px rgba(22,37,31,0.16);--shadow-map:0 1px 0 rgba(22,37,31,0.06), 0 8px 24px rgba(22,37,31,0.12);}
[data-theme="dark"]{--surface:#111b17;--surface-raised:#1a2721;--surface-sunk:#0c1411;--ink:#f1ede3;--ink-muted:#b3bfb8;--line:#31403a;--line-strong:#5b6d65;--brand:#74c99a;--brand-deep:#a3e0bf;--brand-tint:#1d3329;--on-brand:#0b1f16;--leaf:#dbe96a;--amba:#f4c74b;--cream:#fff4d6;--tomato:#ff8a73;--on-tomato:#2a0c07;--aubergine:#e3b4d1;--on-aubergine:#2a1020;--pin-restaurant:var(--tomato);--pin-bakery:var(--amba);--pin-market:var(--brand);--pin-hub:var(--aubergine);--pin-shop:var(--leaf);--map-land:#18241e;--map-water:#1d3a3a;--map-park:#1f3a2a;--map-road:#2a3a33;--map-building:#22322b;--map-label:#c9d4cd;--shadow-card:0 1px 2px rgba(0,0,0,0.4), 0 12px 32px rgba(0,0,0,0.35);--shadow-lift:0 2px 4px rgba(0,0,0,0.5), 0 22px 56px rgba(0,0,0,0.5);--shadow-map:0 1px 0 rgba(0,0,0,0.4), 0 8px 24px rgba(0,0,0,0.4);}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:72px;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-pill:999px;--font-sans:"Heebo", "Noto Sans Hebrew", Assistant, system-ui, sans-serif;--font-serif:"Frank Ruhl Libre", "David Libre", "Noto Serif Hebrew", Georgia, serif;}
body.c99n{margin:0;background:var(--surface)}
/* Complete99 component styles. RTL first. Colors, spacing, radii and type come from tokens.css. */
.c99-root { font-family: var(--font-sans); color: var(--ink); background: var(--surface); direction: rtl; margin: 0; padding: var(--space-5); }
.c99-root * { box-sizing: border-box; }
.c99-root h1, .c99-root h2, .c99-root h3, .c99-root p { margin: 0; }
.c99-eyebrow { font: 600 13px/16px var(--font-sans); letter-spacing: .04em; color: var(--ink-muted); margin-bottom: var(--space-3); }
.c99-stage { display: flex; gap: var(--space-5); align-items: flex-start; flex-wrap: wrap; }
.c99-cap { font: 400 12px/16px var(--font-sans); color: var(--ink-muted); margin-top: var(--space-2); direction: ltr; text-align: left; }

/* chips and buttons */
.c99-chip { display: inline-flex; align-items: center; gap: var(--space-1); padding: var(--space-2) var(--space-3); border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background: var(--surface-raised); color: var(--ink); font: 600 13px/16px var(--font-sans); letter-spacing: .02em; cursor: pointer; }
.c99-chip[aria-pressed="true"] { background: var(--brand-tint); border-color: var(--brand); color: var(--ink); }
.c99-chip:focus-visible, .c99-btn:focus-visible, .c99-ctl:focus-visible { outline: 3px solid var(--line-strong); outline-offset: 2px; }
.c99-dot { width: 10px; height: 10px; flex: none; }
.c99-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 44px; padding: 0 var(--space-5); border: 0; border-radius: var(--radius-sm); background: var(--brand); color: var(--on-brand); font: 700 15px/20px var(--font-sans); cursor: pointer; text-decoration: none; }
.c99-btn:hover { background: var(--brand-deep); color: var(--surface); }
.c99-btn.is-leaf { background: var(--leaf); color: var(--ink); }
.c99-btn.is-ghost { background: transparent; color: var(--brand); box-shadow: inset 0 0 0 1.5px var(--brand); }

/* ---- map module ---- */
.c99-map { direction: rtl; display: grid; grid-template-columns: 1fr 340px; gap: 0; background: var(--surface-raised); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; border: 1px solid var(--line); }
.c99-map.is-mobile { grid-template-columns: 1fr; width: 390px; }
.c99-frame { position: relative; min-height: 440px; background: var(--map-land); }
.c99-map.is-mobile .c99-frame { min-height: 330px; }
.c99-frame svg.c99-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.c99-lbl { font: 600 11px var(--font-sans); fill: var(--map-label); paint-order: stroke; stroke: var(--map-land); stroke-width: 3px; stroke-linejoin: round; }
.c99-lbl.is-street { font-weight: 800; font-size: 13px; fill: var(--brand-deep); stroke: var(--map-road); stroke-width: 4px; letter-spacing: .02em; }
.c99-lbl.is-water { fill: var(--map-label); stroke: var(--map-water); font-style: normal; letter-spacing: .12em; opacity: .8; }
.c99-ctls { position: absolute; inset-inline-start: var(--space-3); top: var(--space-3); display: flex; flex-direction: column; gap: var(--space-2); }
.c99-ctl { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line-strong); background: var(--surface-raised); color: var(--ink); border-radius: var(--radius-sm); box-shadow: var(--shadow-map); font: 700 20px/1 var(--font-sans); cursor: pointer; padding: 0; }
.c99-legend { position: absolute; inset-inline-start: var(--space-3); bottom: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-3); max-width: 300px; padding: var(--space-2) var(--space-3); background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-map); font: 600 11px/16px var(--font-sans); color: var(--ink); }
.c99-legend span { display: inline-flex; align-items: center; gap: 6px; }
.c99-attr { position: absolute; inset-inline-start: var(--space-3); bottom: var(--space-3); font: 400 10px/14px var(--font-sans); color: var(--ink-muted); background: var(--surface-raised); padding: 1px 6px; border-radius: 4px; direction: ltr; opacity: .92; }
.c99-pop { position: absolute; width: 250px; background: var(--surface-raised); border-radius: var(--radius-md); box-shadow: var(--shadow-lift); padding: var(--space-3) var(--space-4); border: 1px solid var(--line); }
.c99-pop h3 { font: 700 17px/22px var(--font-sans); }
.c99-pop .meta { font: 400 13px/18px var(--font-sans); color: var(--ink-muted); margin-top: 2px; }
.c99-pop .row { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-2); }
.c99-pop .tag { font: 600 11px/14px var(--font-sans); padding: 3px 8px; border-radius: var(--radius-pill); background: var(--brand-tint); color: var(--ink); }
.c99-pop a.go { display: inline-block; margin-top: var(--space-3); font: 700 14px/20px var(--font-sans); color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.c99-pop:after { content: ""; position: absolute; width: 14px; height: 14px; background: var(--surface-raised); transform: rotate(45deg); inset-inline-start: 50%; margin-inline-start: -7px; bottom: -7px; border-inline-end: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.c99-panel { padding: var(--space-4); border-inline-start: 1px solid var(--line); background: var(--surface-raised); display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.c99-map.is-mobile .c99-panel { border-inline-start: 0; border-top: 1px solid var(--line); }
.c99-panel h2 { font: 800 22px/28px var(--font-sans); }
.c99-panel .sub { font: 400 14px/20px var(--font-sans); color: var(--ink-muted); }
.c99-chips { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.c99-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.c99-row { display: grid; grid-template-columns: 36px 1fr auto; gap: var(--space-3); align-items: center; padding: var(--space-3); border-radius: var(--radius-md); border: 1px solid transparent; }
.c99-row.is-active { background: var(--brand-tint); border-color: var(--brand); }
.c99-row .nm { font: 700 16px/22px var(--font-sans); }
.c99-row .mt { font: 400 13px/18px var(--font-sans); color: var(--ink-muted); }
.c99-row .ds { font: 700 13px/16px var(--font-sans); color: var(--ink); direction: rtl; white-space: nowrap; }
.c99-sheet-grip { width: 44px; height: 5px; border-radius: 3px; background: var(--line-strong); margin: 0 auto var(--space-1); }

/* ---- entity card ---- */
.c99-ecard { width: 300px; background: var(--surface-raised); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-card); border: 1px solid var(--line); display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.c99-ecard:hover { box-shadow: var(--shadow-lift); }
.c99-ecard .ph { height: 168px; background: var(--surface-sunk); position: relative; display: grid; place-items: center; }
.c99-ecard .badge { position: absolute; inset-block-start: var(--space-3); inset-inline-start: var(--space-3); font: 700 12px/16px var(--font-sans); padding: 4px 10px; border-radius: var(--radius-pill); background: var(--leaf); color: var(--ink); }
.c99-ecard .bd { padding: var(--space-4) var(--space-4) var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); }
.c99-ecard .kind { font: 600 12px/16px var(--font-sans); letter-spacing: .04em; color: var(--ink-muted); }
.c99-ecard h3 { font-family: var(--font-serif); font-weight: 700; font-size: 26px; line-height: 30px; }
.c99-ecard p { font: 400 15px/24px var(--font-sans); color: var(--ink-muted); }
.c99-ecard .foot { display: flex; align-items: center; justify-content: space-between; margin-top: var(--space-2); font: 600 13px/16px var(--font-sans); }
.c99-ecard .foot .go { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }

/* ---- fact bar ---- */
.c99-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.c99-fact { padding: var(--space-4); border-inline-start: 1px solid var(--line); display: flex; flex-direction: column; gap: 2px; }
.c99-fact:first-child { border-inline-start: 0; }
.c99-fact .k { font: 600 12px/16px var(--font-sans); letter-spacing: .04em; color: var(--ink-muted); }
.c99-fact .v { font: 800 24px/30px var(--font-sans); }
.c99-fact .u { font: 400 13px/18px var(--font-sans); color: var(--ink-muted); }
.c99-fact.is-hl { background: var(--brand-tint); }
.c99-facts.is-narrow { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 390px; }
.c99-facts.is-narrow .c99-fact:nth-child(3) { border-inline-start: 0; border-top: 1px solid var(--line); }
.c99-facts.is-narrow .c99-fact:nth-child(4) { border-top: 1px solid var(--line); }

/* ---- recipe block ---- */
.c99-recipe { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--space-6); background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--space-5); }
.c99-recipe h3 { font: 800 22px/28px var(--font-sans); margin-bottom: var(--space-3); }
.c99-ing { width: 100%; border-collapse: collapse; font: 400 16px/22px var(--font-sans); }
.c99-ing td { padding: 10px 0; border-bottom: 1px solid var(--line); }
.c99-ing td.g { font-weight: 800; text-align: end; white-space: nowrap; padding-inline-start: var(--space-3); }
.c99-ing tr.grp td { font: 700 12px/16px var(--font-sans); letter-spacing: .06em; color: var(--ink-muted); border-bottom: 0; padding-top: var(--space-4); }
.c99-ing a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.c99-steps { list-style: none; counter-reset: s; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.c99-steps li { counter-increment: s; display: grid; grid-template-columns: 36px 1fr; gap: var(--space-3); font: 400 17px/28px var(--font-sans); }
.c99-steps li:before { content: counter(s); width: 32px; height: 32px; border-radius: 50%; background: var(--brand); color: var(--on-brand); font: 800 15px/32px var(--font-sans); text-align: center; }
.c99-note { margin-top: var(--space-4); padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--surface-sunk); font: 400 15px/24px var(--font-sans); }

/* ---- nearby list ---- */
.c99-near { width: 520px; background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5) var(--space-5); }
.c99-near h2 { font: 800 22px/28px var(--font-sans); }
.c99-near .sub { font: 400 14px/20px var(--font-sans); color: var(--ink-muted); margin: 2px 0 var(--space-3); }
.c99-near .c99-row { grid-template-columns: 36px 1fr auto auto; border-bottom: 1px solid var(--line); border-radius: 0; padding-inline: 0; }
.c99-near .c99-row:last-child { border-bottom: 0; }
.c99-near .go { font: 700 13px/16px var(--font-sans); color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }

/* ---- tray planner ---- */
.c99-tray { width: 560px; background: var(--brand); color: var(--on-brand); border-radius: var(--radius-lg); padding: var(--space-6); display: grid; gap: var(--space-4); }
.c99-tray h2 { font: 800 28px/34px var(--font-sans); }
.c99-tray .sub { font: 400 16px/24px var(--font-sans); opacity: .94; }
.c99-tray .grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.c99-tray label { display: grid; gap: 6px; font: 600 13px/16px var(--font-sans); letter-spacing: .02em; }
.c99-tray .f { min-height: 46px; padding: 0 var(--space-3); border-radius: var(--radius-sm); border: 0; background: var(--surface-raised); color: var(--ink); font: 600 16px/46px var(--font-sans); }
.c99-tray .out { background: var(--cream); color: var(--ink); border-radius: var(--radius-md); padding: var(--space-4); display: grid; gap: 4px; }
.c99-tray .out .big { font: 800 40px/44px var(--font-sans); }
.c99-tray .out .small { font: 400 14px/20px var(--font-sans); color: var(--ink-muted); }
.c99-tray .c99-btn { background: var(--leaf); color: var(--ink); }

/* ---- page hero ---- */
.c99-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-6); align-items: center; background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--space-6); }
.c99-crumb { font: 600 13px/16px var(--font-sans); color: var(--ink-muted); display: flex; gap: var(--space-2); align-items: center; margin-bottom: var(--space-3); }
.c99-crumb a { color: var(--ink-muted); text-decoration: underline; text-underline-offset: 3px; }
.c99-hero h1 { font-family: var(--font-serif); font-weight: 700; font-size: 56px; line-height: 60px; letter-spacing: -.01em; }
.c99-hero .lead { font: 400 19px/30px var(--font-sans); color: var(--ink-muted); margin: var(--space-3) 0 var(--space-5); max-width: 34ch; }
.c99-hero .ctas { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.c99-hero .art { aspect-ratio: 4 / 3; background: var(--surface-sunk); border-radius: var(--radius-lg); display: grid; place-items: center; overflow: hidden; }

/* ---- page layout (responsive) ---- */
.c99-page { direction: rtl; font-family: var(--font-sans); color: var(--ink); background: var(--surface); margin: 0; }
.c99-page * { box-sizing: border-box; }
.c99-page h1, .c99-page h2, .c99-page h3, .c99-page p, .c99-page ul { margin: 0; }
.c99-wrap { max-width: 1180px; margin: 0 auto; padding: 0 var(--space-6); }
.c99-nav { display: flex; align-items: center; gap: var(--space-6); padding: var(--space-4) 0; }
.c99-nav a { color: var(--ink); text-decoration: none; font: 600 15px/20px var(--font-sans); }
.c99-nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
.c99-nav .logo { display: inline-flex; align-items: center; gap: var(--space-2); font: 800 20px/1 var(--font-sans); letter-spacing: -.01em; }
.c99-nav .grow { flex: 1; }
.c99-nav .links { display: flex; gap: var(--space-5); }
.c99-sec { padding-block: var(--space-8); }
.c99-sec.is-tight { padding-block: var(--space-6) var(--space-8); }
.c99-sec.is-sunk { background: var(--surface-sunk); }
.c99-h2 { font: 800 36px/42px var(--font-sans); letter-spacing: -.01em; margin-bottom: var(--space-5); }
.c99-prose { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-7); align-items: start; }
.c99-prose p { font: 400 18px/31px var(--font-sans); max-width: 60ch; }
.c99-prose p + p { margin-top: var(--space-4); }
.c99-quote { font-family: var(--font-serif); font-weight: 700; font-size: 32px; line-height: 44px; color: var(--brand-deep); padding-block: var(--space-5); border-block: 1px solid var(--line-strong); }
.c99-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.c99-trad { background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--space-5); display: grid; gap: var(--space-2); align-content: start; }
.c99-trad .kind { font: 600 12px/16px var(--font-sans); letter-spacing: .04em; color: var(--ink-muted); }
.c99-trad h3 { font-family: var(--font-serif); font-weight: 700; font-size: 30px; line-height: 34px; }
.c99-trad p { font: 400 16px/26px var(--font-sans); color: var(--ink-muted); }
.c99-trad .sw { width: 44px; height: 8px; border-radius: 4px; margin-bottom: var(--space-2); }
.c99-ings { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.c99-ing-card { display: grid; gap: var(--space-1); padding: var(--space-4); background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-md); text-decoration: none; color: inherit; }
.c99-ing-card strong { font: 800 18px/24px var(--font-sans); }
.c99-ing-card span { font: 400 14px/20px var(--font-sans); color: var(--ink-muted); }
.c99-ing-card em { font: 700 13px/16px var(--font-sans); font-style: normal; color: var(--brand); text-decoration: underline; text-underline-offset: 3px; margin-top: var(--space-2); }
.c99-faq { display: grid; gap: 0; max-width: 820px; }
.c99-faq details { border-top: 1px solid var(--line-strong); padding: var(--space-4) 0; }
.c99-faq details:last-child { border-bottom: 1px solid var(--line-strong); }
.c99-faq summary { font: 700 20px/28px var(--font-sans); cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: var(--space-4); }
.c99-faq summary::-webkit-details-marker { display: none; }
.c99-faq summary:after { content: "+"; font: 400 28px/24px var(--font-sans); color: var(--brand); }
.c99-faq details[open] summary:after { content: "\2212"; }
.c99-faq p { font: 400 17px/28px var(--font-sans); color: var(--ink-muted); margin-top: var(--space-3); max-width: 62ch; }
.c99-rel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.c99-rel .c99-ecard { width: auto; }
.c99-foot { background: var(--brand-deep); color: var(--surface); padding: var(--space-7) 0; }
.c99-foot .row { display: flex; justify-content: space-between; gap: var(--space-6); flex-wrap: wrap; }
.c99-foot a { color: var(--surface); text-decoration: underline; text-underline-offset: 4px; font: 600 15px/28px var(--font-sans); display: block; }
.c99-foot .b { font: 800 22px/28px var(--font-sans); }
.c99-foot .s { font: 400 14px/22px var(--font-sans); opacity: .85; margin-top: var(--space-2); max-width: 36ch; }
.c99-foot h3 { font: 700 13px/16px var(--font-sans); letter-spacing: .06em; opacity: .8; margin-bottom: var(--space-2); }
.c99-time { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-5); border-top: 3px solid var(--brand); }
.c99-time div { position: relative; padding-top: var(--space-4); display: grid; gap: 2px; }
.c99-time div:before { content: ""; position: absolute; top: -10px; inset-inline-start: 0; width: 17px; height: 17px; border-radius: 50%; background: var(--surface-raised); border: 3px solid var(--brand); }
.c99-time b { font: 800 18px/24px var(--font-sans); }
.c99-time span { font: 400 14px/20px var(--font-sans); color: var(--ink-muted); }
.c99-tray.is-wide { width: 100%; max-width: none; grid-template-columns: 1fr 1fr; align-items: center; gap: var(--space-6); }

@media (max-width: 860px) {
  .c99-wrap { padding: 0 var(--space-4); }
  .c99-nav .links { display: none; }
  .c99-nav { gap: var(--space-3); }
  .c99-sec { padding-block: var(--space-7); }
  .c99-sec.is-tight { padding-block: var(--space-5) var(--space-7); }
  .c99-h2 { font-size: 28px; line-height: 34px; }
  .c99-hero { grid-template-columns: 1fr; padding: var(--space-5); gap: var(--space-5); }
  .c99-hero .art { order: -1; }
  .c99-hero h1 { font-size: 44px; line-height: 48px; }
  .c99-hero .lead { font-size: 17px; line-height: 28px; }
  .c99-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c99-fact:nth-child(3) { border-inline-start: 0; border-top: 1px solid var(--line); }
  .c99-fact:nth-child(4) { border-top: 1px solid var(--line); }
  .c99-prose, .c99-trio, .c99-rel, .c99-recipe { grid-template-columns: 1fr; gap: var(--space-5); }
  .c99-quote { font-size: 26px; line-height: 36px; }
  .c99-ings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c99-map { grid-template-columns: 1fr; }
  .c99-panel { border-inline-start: 0; border-top: 1px solid var(--line); }
  .c99-frame { min-height: 340px; }
  .c99-legend { display: none; }
  .c99-tray, .c99-tray.is-wide { width: 100%; grid-template-columns: 1fr; padding: var(--space-5); }
  .c99-tray .grid { grid-template-columns: 1fr 1fr; }
  .c99-foot .row { flex-direction: column; }
  .c99-pop { width: auto !important; left: var(--space-3) !important; right: var(--space-3) !important; bottom: 34px !important; }
  .c99-pop:after { display: none; }
}

/* ---- page extras: nutrition, call to action, map in page, street lists ---- */
.c99-sub { font: 400 16px/24px var(--font-sans); color: var(--ink-muted); margin: calc(-1 * var(--space-3)) 0 var(--space-4); }
.c99-nutwrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface-raised); }
.c99-nut { width: 100%; border-collapse: collapse; min-width: 560px; font: 400 16px/22px var(--font-sans); }
.c99-nut th { text-align: start; font: 700 12px/16px var(--font-sans); letter-spacing: .04em; color: var(--ink-muted); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--line-strong); }
.c99-nut td { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--line); }
.c99-nut tr:last-child td { border-bottom: 0; }
.c99-nut td:first-child { font-weight: 600; }
.c99-nut td:not(:first-child) { font-variant-numeric: tabular-nums; }
.c99-cta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); background: var(--brand); color: var(--on-brand); border-radius: var(--radius-lg); padding: var(--space-6); flex-wrap: wrap; }
.c99-cta h2 { font: 800 28px/34px var(--font-sans); }
.c99-cta p { font: 400 17px/26px var(--font-sans); margin-top: var(--space-2); max-width: 52ch; opacity: .95; }
.c99-skip { position: absolute; inset-inline-start: -9999px; font: 700 14px/20px var(--font-sans); }
.c99-skip:focus { position: static; display: inline-block; margin-bottom: var(--space-2); }
.c99-ph { position: absolute; inset: 0; display: grid; place-items: center; color: var(--ink-muted); font: 600 14px/20px var(--font-sans); }
.c99-page .c99-frame { min-height: 560px; }
.c99-page .c99-panel { max-height: 560px; overflow: auto; }
.c99-glist { display: grid; gap: var(--space-2); }
.c99-grp { border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.c99-grp[hidden] { display: none; }
.c99-grp summary { cursor: pointer; padding: var(--space-3) var(--space-4); font: 700 15px/20px var(--font-sans); list-style: none; display: flex; justify-content: space-between; }
.c99-grp summary::-webkit-details-marker { display: none; }
.c99-grp summary span { color: var(--ink-muted); font-weight: 600; }
.c99-grp .c99-list { padding: 0 var(--space-4) var(--space-3); gap: 0; max-height: 280px; overflow: auto; }
.c99-row2 { display: flex; justify-content: space-between; gap: var(--space-3); padding: 6px 0; border-top: 1px solid var(--line); }
.c99-row2 .nm { font: 600 15px/22px var(--font-sans); }
.c99-row2 .mt { font: 400 13px/22px var(--font-sans); color: var(--ink-muted); white-space: nowrap; }
.art-map { display: block; width: 100%; height: 100%; }
.maplibregl-popup-content { font-family: var(--font-sans); background: var(--surface-raised); color: var(--ink); border-radius: var(--radius-md); box-shadow: var(--shadow-lift); padding: var(--space-3) var(--space-4); direction: rtl; min-width: 180px; }
.maplibregl-popup-content h3 { font: 700 16px/22px var(--font-sans); margin: 0 0 2px; }
.maplibregl-popup-content p { font: 400 13px/18px var(--font-sans); color: var(--ink-muted); margin: 0; }
.maplibregl-popup-close-button { font-size: 20px; color: var(--ink); right: auto; left: 4px; }
.maplibregl-popup-anchor-bottom .maplibregl-popup-tip { border-top-color: var(--surface-raised); }
.maplibregl-ctrl-group { background: var(--surface-raised); border-radius: var(--radius-sm); box-shadow: var(--shadow-map); }
.maplibregl-ctrl-attrib { font: 400 10px/14px var(--font-sans); direction: ltr; }
@media (max-width: 860px) {
  .c99-page .c99-frame { min-height: 380px; }
  .c99-page .c99-panel { max-height: none; }
  .c99-cta { padding: var(--space-5); }
}

/* ---- bilingual: pages follow the document direction (he rtl, en ltr) ---- */
.c99n .c99-page, .c99n .c99-map, .c99n .maplibregl-popup-content { direction: inherit; }
.c99-lang { font: 700 13px/1 var(--font-sans) !important; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); padding: 8px 14px; white-space: nowrap; }
.c99-lang:hover { background: var(--brand-tint); text-decoration: none !important; }

/* ---- map v2: group colours, chips as legend ---- */
:root { --pin-cafe: #8a5a2b; --pin-bar: var(--aubergine); }
.g-eat { --gc: var(--pin-restaurant); --gi: var(--on-tomato); }
.g-cafe { --gc: var(--pin-cafe); --gi: #fffdf8; }
.g-sweet { --gc: var(--pin-bakery); --gi: var(--ink); }
.g-shop { --gc: var(--pin-market); --gi: var(--on-brand); }
.g-bar { --gc: var(--pin-bar); --gi: var(--on-aubergine); }
.k-butcher { --gc: var(--tomato); --gi: var(--on-tomato); }
.k-greengrocer { --gc: var(--leaf); --gi: var(--ink); }
.dt { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--gc, var(--brand)); flex: none; }
.pg { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--gc, var(--brand)); color: var(--gi, #fffdf8); flex: none; }
.pg svg { width: 17px; height: 17px; }
.pg.lm { background: var(--brand-deep); color: var(--cream); border-radius: 0; clip-path: polygon(50% 0, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%); width: 30px; height: 30px; }
.c99-panel .c99-chips .c99-chip { gap: 7px; }
.c99-lgnd { display: flex; align-items: center; gap: 8px; font: 600 12px/16px var(--font-sans); color: var(--ink-muted); }
.c99-lgnd .hx svg { width: 24px; height: 24px; display: block; }
.c99-hint { font: 400 13px/19px var(--font-sans); color: var(--ink-muted); }
@media (hover: none) { .c99-hint.hv { display: none; } }

/* in view now */
.c99-inview { border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); padding: var(--space-3); }
.c99-inview[hidden] { display: none; }
.c99-inview h3 { font: 700 13px/18px var(--font-sans); letter-spacing: .03em; margin: 0 0 var(--space-2); }
.c99-inview h3 .ct { color: var(--ink-muted); font-weight: 600; }
.c99-vlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.c99-vlist li { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 10px; cursor: pointer; }
.c99-vlist li:hover { background: var(--brand-tint); }
.c99-vlist .tx { display: grid; min-width: 0; flex: 1; }
.c99-vlist .nm { font: 600 14px/19px var(--font-sans); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.c99-vlist .mt { font: 400 12px/16px var(--font-sans); color: var(--ink-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.c99-vlist .lmrow .nm { font-weight: 800; color: var(--brand-deep); }
.fls { display: flex; gap: 4px; flex-wrap: wrap; }
.fl { display: inline-flex; align-items: center; gap: 5px; font: 600 11px/14px var(--font-sans); padding: 3px 8px; border-radius: var(--radius-pill); background: var(--brand-tint); color: var(--ink); }
.fl svg { width: 13px; height: 13px; flex: none; }
.c99-vlist .fl { padding: 3px; }

/* tooltip */
.c99-tip { pointer-events: none; z-index: 5; }
.c99-tip .maplibregl-popup-content { padding: 10px 14px; border: 1px solid var(--line); }
.c99-tip .fls { margin-top: 7px; }
.c99-tip .ds { margin-top: 5px; color: var(--ink); }

/* street density ruler */
.c99-ruler { position: absolute; z-index: 2; inset-block: 14px 46px; inset-inline-start: 12px; width: 118px; display: flex; flex-direction: column; filter: drop-shadow(0 6px 14px rgba(22, 37, 31, .18)); pointer-events: none; }
.c99-ruler .hd { display: grid; background: var(--surface-raised); border: 1px solid var(--line); border-bottom: 0; border-radius: 10px 10px 0 0; padding: 6px 10px 3px; }
.c99-ruler .hd b { font: 700 11px/15px var(--font-sans); color: var(--ink); letter-spacing: .02em; }
.c99-ruler .hd span, .c99-ruler .ft { font: 600 10px/14px var(--font-sans); color: var(--ink-muted); }
.c99-ruler .ft { background: var(--surface-raised); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 10px 10px; padding: 2px 10px 5px; }
.c99-ruler .rv { position: relative; flex: 1; min-height: 120px; background: var(--surface-raised); border-inline: 1px solid var(--line); overflow: hidden; }
.c99-ruler .rows { position: absolute; inset: 0; display: flex; flex-direction: column; }
.c99-ruler .rw { flex: 1; display: flex; align-items: center; cursor: pointer; }
.c99-ruler .rw:hover { background: var(--brand-tint); }
.c99-ruler .bar { display: flex; height: 64%; width: calc(var(--w) * .94%); min-width: 3px; border-start-end-radius: 4px; border-end-end-radius: 4px; overflow: hidden; }
.c99-ruler .bar i { background: var(--gc); min-width: 1px; }
.c99-ruler .tk { position: absolute; inset-inline: 0; height: 0; border-top: 1px dashed var(--line-strong); cursor: pointer; }
.c99-ruler .tk b { position: absolute; inset-inline-end: 4px; bottom: 1px; max-width: 78px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 9.5px/12px var(--font-sans); color: var(--ink); background: rgba(255, 253, 248, .88); padding: 0 3px; border-radius: 3px; }
.c99-ruler .win { position: absolute; inset-inline: 1px; top: 0; height: 100%; border: 2px solid var(--brand); border-radius: 6px; background: rgba(11, 93, 67, .09); pointer-events: none; transition: top .2s, height .2s; }

/* landmarks */
.c99-lms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.c99-lm { display: grid; grid-template-columns: 44px 1fr; gap: var(--space-3); align-items: start; padding: var(--space-3) var(--space-4); background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-md); cursor: pointer; }
.c99-lm:hover, .c99-lm:focus-visible { border-color: var(--brand); box-shadow: var(--shadow-card); outline: 0; }
.c99-lm .hx svg { width: 44px; height: 44px; display: block; }
.c99-lm h3 { font: 800 16px/22px var(--font-sans); }
.c99-lm .mt { font: 400 13px/18px var(--font-sans); color: var(--ink-muted); margin-top: 2px; }
.c99-lm p { font: 400 14px/21px var(--font-sans); margin-top: 6px; }

/* real photos on entity cards */
.c99-ecard .ph { overflow: hidden; }
.c99-ecard .ph img { display: block; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 1100px) { .c99-lms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .c99-lms { grid-template-columns: 1fr; }
  .c99-ruler { width: 46px; inset-block: 10px 40px; inset-inline-start: 8px; }
  .c99-ruler .hd, .c99-ruler .ft, .c99-ruler .tk b { display: none; }
  .c99-ruler .rv { border: 1px solid var(--line); border-radius: 10px; }
  .c99-lang { padding: 6px 10px; }
}
