/* ============================================================
   indices.css — styles owned by the indices agent.
   Only idx- prefixed classes are defined here; base classes
   (.dix .drow .rng .cnt …) are used as-is from base.css.
   ============================================================ */

/* ---------- shared: back link + keyboard focus ---------- */
.idx-back{
  font-size:13px;color:var(--soft);text-decoration:none;font-weight:300;
  cursor:pointer;letter-spacing:.3px;
}
.idx-back:hover{color:var(--acc)}
.idx-back:focus-visible,
.idx-row:focus-visible,
.idx-cell:focus-visible{
  outline:2px solid var(--acc);outline-offset:3px;border-radius:2px;
}

/* ---------- the price-distribution strip (dish page) ---------- */
.idx-strip{max-width:660px;margin:36px auto 0}
.idx-strip svg{display:block;width:100%;height:auto;overflow:visible}
.idx-strip figcaption{
  margin-top:10px;text-align:center;font-size:11px;color:var(--soft);
  letter-spacing:.4px;font-weight:300;line-height:1.8;
}
.idx-ax{stroke:var(--ink);stroke-width:1.4;opacity:.75}
.idx-tick{stroke:var(--ink);stroke-width:1.2;opacity:.6}
.idx-num{font:700 12.5px "Heebo",sans-serif;fill:var(--ink);font-variant-numeric:tabular-nums}
.idx-word{font:300 9.5px "Heebo",sans-serif;fill:var(--soft);letter-spacing:1.5px}
.idx-mednum{font:700 13.5px "Heebo",sans-serif;fill:var(--acc);font-variant-numeric:tabular-nums}
.idx-medword{fill:var(--acc);opacity:.85}
.idx-medline{stroke:var(--acc);stroke-width:1.5;opacity:.9}
.idx-dot{cursor:pointer}
.idx-hit{fill:transparent}
.idx-pt{
  fill:var(--ink);stroke:var(--paper);stroke-width:1.6;
  transition:transform .16s ease, fill .16s ease;
  transform-box:fill-box;transform-origin:center;
}
.idx-dot:hover .idx-pt,
.idx-dot.idx-hot .idx-pt{fill:var(--acc);transform:scale(1.5)}

/* ---------- occurrence rows: dot⇄row highlight ---------- */
.idx-row.idx-hot{background:#f6f3ea}
.idx-row.idx-hot .dp{color:var(--acc)}
.idx-rmain{min-width:0}
.idx-rdesc{display:block;font-size:12px;margin-top:2px}

/* ---------- dishes grid extras ---------- */
.idx-mini{display:block;width:82%;max-width:150px;margin:10px auto 0;overflow:visible}
.idx-miniax{stroke:var(--ink);opacity:.3;stroke-width:1}
.idx-minipt{fill:var(--ink);opacity:.5}
.idx-minimed{stroke:var(--acc);stroke-width:1.6}
.idx-fact{
  font-family:"Heebo",sans-serif;font-size:11px;color:var(--soft);
  margin-top:7px;line-height:1.6;font-weight:300;
}
.idx-fact b{color:var(--ink);font-weight:700}
.idx-nomed{color:#b5afa2;font-weight:300}

/* ---------- city hub ---------- */
.idx-cityh1{margin-top:20px}
.idx-sub{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
}
.idx-kosher--none{font-style:normal;opacity:.75}
.idx-note{
  max-width:760px;margin:18px auto 0;background:var(--faint2);
  padding:12px 20px;font-size:12.5px;color:var(--soft);line-height:1.9;
  text-align:center;font-weight:300;
}
.idx-note b{color:var(--ink);font-weight:700}
.idx-note--soft{background:transparent;border:1px dashed var(--faint)}

/* ---------- honest empty states ---------- */
.idx-empty{
  text-align:center;padding:56px 0 20px;color:var(--soft);
  font-style:normal;font-size:16.5px;line-height:2.1;font-weight:300;
}
.idx-emptyink{width:70px;height:70px;margin:0 auto 14px;color:#c9c2b2}

/* ---------- small screens ---------- */
@media (max-width:640px){
  .idx-fact{font-size:10.5px}
  .idx-strip{margin-top:28px}
  .idx-note{padding:10px 14px}
}

/* ---------- print ---------- */
@media print{
  .idx-strip{break-inside:avoid}
  .idx-strip figcaption{display:none}
  .idx-note{background:none;border:1px solid var(--faint)}
}

/* ---------- integrator: dish-row thumbnails on dish pages ---------- */
.idx-thumb{
  width:34px;height:34px;object-fit:cover;flex-shrink:0;align-self:center;
  border:1px solid var(--ink);border-radius:7px;background:#fff;
  filter:grayscale(.3) sepia(.05);transition:filter .2s;
}
.drow:hover .idx-thumb{filter:none}
/* restaurant logo as the row anchor when a dish has no photo — full colour, contained */
.idx-thumb-logo{object-fit:contain;padding:3px;filter:none !important;background:#fff}
/* cuisine hub + cuisine-index chips */
.idx-cuis-emblem{width:46px;height:46px;margin:2px auto 4px;color:var(--brand)}
.idx-cuis-emblem svg{width:100%;height:100%}
.idx-cuis-more{margin-top:28px;text-align:center;font-size:13px;color:var(--soft);line-height:2}
.idx-cuis-more a{color:var(--brand)}
.cuis-chips{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.cuis-chip{display:flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid var(--ink);border-radius:10px;background:var(--paper);color:var(--ink);text-decoration:none;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s}
.cuis-chip:hover{transform:translateY(-2px);box-shadow:0 5px 16px rgba(28,25,21,.12);border-color:var(--brand)}
.cuis-chip-ic{width:24px;height:24px;color:var(--brand);flex-shrink:0}
.cuis-chip-ic svg{width:100%;height:100%}
.cuis-chip-n{background:var(--faint2);border-radius:20px;padding:1px 9px;font-size:12px;color:var(--soft);font-weight:400}
.dir-cuis{align-items:center}
.dir-cuis-lbl{font-weight:700;color:var(--soft);font-size:12.5px;margin-inline-end:4px;align-self:center}
/* «תערוכות» collections (reuses .menu-related-rail) */
.coll-sec{margin-top:30px}
.coll-note{font-size:13px;color:var(--soft);margin:-2px 0 10px}
.coll-more{margin-top:34px;text-align:center;font-size:13.5px;color:var(--soft);line-height:2.2}
.coll-more-h{font-weight:700;color:var(--ink)}
.coll-more a{color:var(--brand)}

/* deep-research: micrography portrait + canonical-dish transparency (dish page) */
.idx-portrait{width:138px;height:138px;margin:20px auto 6px}
.idx-portrait .micro{width:100%;height:100%;display:block}
.idx-canon{max-width:640px;margin:24px auto 0;text-align:center;font-size:12.5px;line-height:1.85;color:var(--soft);font-weight:300}
.idx-canon b{color:var(--ink);font-weight:700}
.idx-canon a{color:var(--acc);text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent}
.idx-canon a:hover{border-color:var(--acc)}

/* מפת המנה — the geographic facet on a dish page */
.idx-geo{max-width:600px;margin:32px auto 0}
.idx-geo-head{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:6px}
.idx-geo-head h2{font-size:14px;letter-spacing:6px;font-weight:700;white-space:nowrap;margin-right:-6px}
.idx-geo-head .rule{flex:0 1 70px;height:1px;background:var(--faint)}
.idx-geo-sub{text-align:center;font-size:12.5px;color:var(--soft);font-weight:300;margin-bottom:16px;line-height:1.7}
.idx-geo-rows{max-width:560px;margin:0 auto}
.idx-geo-row{display:grid;grid-template-columns:92px 1fr 56px auto;align-items:center;gap:12px;padding:7px 2px;border-bottom:1px solid var(--faint2)}
.idx-geo-city a{color:var(--ink);text-decoration:none;font-weight:700;font-size:14.5px;border-bottom:1px solid transparent}
.idx-geo-city a:hover{color:var(--acc);border-color:var(--acc)}
.idx-geo-bar{height:9px;background:var(--faint2);position:relative;border-radius:2px}
.idx-geo-bar i{position:absolute;right:0;top:0;bottom:0;background:var(--acc);border-radius:2px;opacity:.82}
.idx-geo-med{font-size:15px;font-weight:900;font-variant-numeric:tabular-nums;text-align:left}
.idx-geo-n{font-size:11px;color:var(--soft);white-space:nowrap;font-weight:300}
@media(max-width:640px){.idx-geo-row{grid-template-columns:64px 1fr 48px}.idx-geo-n{display:none}}

/* signed index colophon */
.idx-colophon{max-width:600px;margin:22px auto 0;text-align:center;font-size:10.5px;letter-spacing:1px;line-height:1.7;color:var(--soft);font-weight:300}

/* dish-page calorie estimate note */
.idx-calnote{max-width:600px;margin:14px auto 0;text-align:center;font-size:12.5px;color:#8a6a1e;font-weight:300;line-height:1.7}
.idx-calnote b{color:#8a6a1e;font-weight:700;border-bottom:1px dashed color-mix(in srgb,#8a6a1e 45%,transparent);font-variant-numeric:tabular-nums}
.idx-calnote a{color:var(--acc);text-decoration:none}

/* מאגר הקלוריות — the food→kcal database page */
.cal-page{max-width:720px;margin:0 auto}
.cal-page .dishhead .k{color:var(--acc3)}
.cal-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 16px;max-width:640px;margin:16px auto 4px;padding:9px 16px;background:color-mix(in srgb,#8a6a1e 4%,transparent);border:1px solid var(--faint);border-radius:9px}
.cal-lg{font-size:11.5px;color:var(--ink);font-weight:500;display:inline-flex;align-items:center}
.cal-lg::before{content:'';width:9px;height:9px;border-radius:2px;margin-left:6px}
.cal-lg-p::before{background:#2e6b45}.cal-lg-c::before{background:#c08a24}.cal-lg-f::before{background:#a3532a}
.cal-lg-note{font-size:10.5px;color:var(--soft2);font-weight:300;flex-basis:100%;text-align:center;letter-spacing:.2px}
.cal-group{margin-top:34px}
.cal-gh{font-size:14px;letter-spacing:4px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:12px;margin-bottom:4px}
.cal-gh::after{content:'';flex:1;height:1px;background:var(--faint)}
.cal-gn{font-size:11px;letter-spacing:1px;color:var(--soft);font-weight:400;background:var(--faint2);border-radius:8px;padding:1px 7px}
.cal-sub{font-size:13px;color:var(--soft);font-weight:300;margin:2px 0 10px;line-height:1.7}
.cal-table{border-top:1px solid var(--faint)}
.cal-row{display:grid;grid-template-columns:1fr auto 1.4fr;gap:14px;align-items:baseline;padding:9px 4px;border-bottom:1px solid var(--faint2)}
.cal-food{font-family:var(--serif);font-size:15.5px;font-weight:600;color:var(--ink)}
.cal-kcal{font-weight:700;color:#8a6a1e;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px}
.cal-note{font-size:12px;color:var(--soft);font-weight:300;text-align:left}
@media(max-width:600px){.cal-row{grid-template-columns:1fr auto;gap:4px 12px}.cal-note{grid-column:1/-1;text-align:right}}
/* per-100g nutrition table (food · kcal · protein · carbs · fat · portion) */
.cal-ntable{border-top:1px solid var(--faint)}
.cal-nrow{display:grid;grid-template-columns:minmax(74px,1.05fr) minmax(64px,1.7fr) 48px 46px 44px 46px 56px;gap:10px;align-items:center;padding:8px 4px;border-bottom:1px solid var(--faint2);font-variant-numeric:tabular-nums;border-radius:5px;transition:background .12s}
.cal-nrow span{text-align:center}
.cal-nrow:not(.cal-nhead):hover{background:color-mix(in srgb,#8a6a1e 3.5%,transparent)}
.cal-nhead{border-bottom:1px solid var(--faint);color:var(--soft);font-size:10px;letter-spacing:.5px;font-weight:500;border-radius:0}
.cal-nhead:hover{background:none}
.cal-nfood{font-family:var(--serif);font-size:14.5px;font-weight:600;color:var(--ink);text-align:right !important}
.cal-nbarcell{display:flex;align-items:center;padding:0 4px}
.cal-nbarcell .nutri-bar{width:100%;height:7px}
.cal-nhead .cal-nbarcell{font-size:9px;letter-spacing:1px;justify-content:center;color:var(--soft)}
.cal-nrow .cal-nk{font-weight:700;color:#8a6a1e;font-size:14.5px}
.cal-nrow .cal-nm{font-size:13px;font-weight:700}
.cal-nrow .cal-np{color:#2e6b45}
.cal-nrow .cal-nc{color:#c08a24}
.cal-nrow .cal-nf{color:#a3532a}
.cal-nhead .cal-nm,.cal-nhead span{font-weight:500;color:var(--soft)}
.cal-nport{color:var(--soft);font-size:11px;font-weight:300;white-space:nowrap}
@media(max-width:600px){
  .cal-nrow{grid-template-columns:1fr 38px 40px 38px 40px 48px;gap:3px 5px;font-size:12px}
  .cal-nbarcell{display:none}
  .cal-nfood{font-size:12.5px}
  .cal-nhead{font-size:8.5px;letter-spacing:0}
}
