/* =========================================================
   נקודת מפגש — עמוד החיפוש (search.html)
   ========================================================= */
.search-page{
  max-width:1200px;
  margin:0 auto;
  padding-inline:var(--gutter);
  padding-block:20px 64px;
}

/* ---------- אזור החיפוש: הפאנל הכחול עם הדרך ---------- */
.search-hero{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  background:
    radial-gradient(70% 90% at 70% 20%, rgba(42,90,146,.55), transparent 70%),
    var(--navy);
  color:var(--white);
  box-shadow:0 24px 50px rgba(14,37,65,.22);
}
.search-hero::before{                     /* רשת רחובות עדינה, כמו בעמוד הפתיחה */
  content:"";
  position:absolute; inset:-50%;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:56px 56px;
  transform:rotate(-18deg);
  pointer-events:none;
}
.search-hero-road{                       /* הדרך בצד שמאל, מחוץ לאזור הטקסט */
  position:absolute; inset:0 auto 0 0;
  width:min(36%, 420px); height:100%;
  pointer-events:none;
}
.search-hero-road path{ fill:none; stroke-linecap:round; }
.hr-edge{ stroke:var(--gold); stroke-width:34; }
.hr-body{ stroke:#0A1B31; stroke-width:27; }
.hr-line{ stroke:var(--gold-bright); stroke-width:2; stroke-dasharray:12 14; opacity:.8; }
.search-hero-road-m{ display:none; }
.search-hero-road-m path{ fill:none; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.search-hero-road-m .hr-edge{ stroke-width:26px; }
.search-hero-road-m .hr-body{ stroke-width:20px; }
.search-hero-road-m .hr-line{ stroke-width:1.6px; }
.hr-pin path{ fill:var(--gold); stroke:#FFF6DE; stroke-width:2.5; }
.hr-pin circle{ fill:var(--navy); }

.search-hero-inner{
  position:relative;
  padding:clamp(28px, 5vw, 56px) clamp(20px, 5vw, 56px) clamp(32px, 5vw, 60px);
  max-width:760px;
}
.search-title{
  margin:0 0 8px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.9rem, 1.3rem + 2vw, 2.75rem);
  line-height:1.1;
  text-wrap:balance;
}
.search-sub{
  margin:0 0 22px;
  color:#C9D3E3;
  font-size:var(--fs-lead);
  max-width:52ch;
  text-wrap:pretty;
}

.search-box{
  display:flex; align-items:center; gap:10px;
  background:var(--white);
  border-radius:18px;
  padding:8px 8px 8px 8px;
  padding-inline-start:18px;
  box-shadow:0 14px 30px rgba(0,0,0,.25);
}
.search-box:focus-within{ box-shadow:0 0 0 3px var(--gold-bright), 0 14px 30px rgba(0,0,0,.25); }
.search-box-icon{ width:22px; height:22px; flex:none; fill:none; stroke:var(--muted); stroke-width:2.2; stroke-linecap:round; }
.search-box input{
  flex:1; min-width:0;
  border:0; outline:0; background:none;
  font:inherit; font-size:var(--fs-lead); color:var(--ink);
  padding:10px 0;
}
.search-box input::placeholder{ color:#9AA3B5; }
.search-box input::-webkit-search-cancel-button{ cursor:pointer; }
.search-box-btn{
  flex:none;
  border:0; cursor:pointer;
  background:var(--gold); color:var(--navy);
  font-family:var(--font-display); font-weight:700; font-size:var(--fs-body);
  padding:12px 24px; border-radius:12px;
  transition:background .2s;
}
.search-box-btn:hover{ background:var(--gold-bright); }

/* ---------- סינון ---------- */
.filters{
  display:flex; flex-direction:column; gap:16px;
  margin-top:22px;
}
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{
  display:inline-flex; align-items:center; gap:7px;
  padding:9px 16px;
  border-radius:999px;
  border:1.5px solid var(--line);
  background:var(--white);
  color:var(--ink);
  font-weight:600;
  cursor:pointer;
  transition:background .2s, border-color .2s, color .2s;
}
.chip .ic{ width:18px; height:18px; }
.chip:hover{ border-color:var(--gold); }
.chip[aria-checked="true"]{ background:var(--navy); border-color:var(--navy); color:var(--white); }
.chip[aria-checked="true"] .ic{ color:var(--gold-bright); }

.filter-row{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.field{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.field label{ font-size:var(--fs-small); font-weight:600; color:var(--muted); }
.field select{
  appearance:none; -webkit-appearance:none;
  width:100%;
  font:inherit; color:var(--ink);
  background:var(--white)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BF8A2A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")
    no-repeat left 12px center / 18px;
  border:1.5px solid var(--line);
  border-radius:12px;
  padding:10px 14px 10px 40px;
  cursor:pointer;
}
.field select:hover{ border-color:var(--gold); }

/* ---------- תוצאות ---------- */
.results{ margin-top:28px; }
.results-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  margin-bottom:14px;
}
.results-count{
  margin:0;
  font-family:var(--font-display); font-weight:700;
  font-size:var(--fs-h3); color:var(--navy);
}
.demo-note{
  margin:-4px 0 16px;
  padding:10px 14px;
  border-radius:12px;
  background:var(--gold-pale);
  color:var(--ink);
  font-size:var(--fs-small);
}

.results-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 290px), 1fr));
  gap:20px;
}

/* כרטיס מקום */
.place-card{
  position:relative;
  display:flex; flex-direction:column;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.place-card:hover{ transform:translateY(-5px); box-shadow:0 20px 40px rgba(14,37,65,.14); border-color:var(--gold); }
.pc-link{ color:inherit; text-decoration:none; }
.pc-link::after{ content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; }   /* כל הכרטיס לחיץ */
.pc-link:focus-visible{ outline:none; }
.pc-link:focus-visible::after{ outline:3px solid var(--gold); outline-offset:-3px; }
.pc-media{
  position:relative;
  aspect-ratio:4 / 3;
  background:var(--navy);
  overflow:hidden;
}
.pc-media img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.place-card:hover .pc-media img{ transform:scale(1.04); }

/* תמונה חסרה: רקע כחול עם רשת רחובות ואייקון לפי סוג המקום */
.pc-ph{
  width:100%; height:100%;
  display:grid; place-items:center;
  background:
    radial-gradient(60% 70% at 50% 40%, rgba(42,90,146,.6), transparent 70%),
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px) 0 0 / 34px 34px,
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px) 0 0 / 34px 34px,
    var(--navy);
}
.pc-ph .ic{ width:64px; height:64px; stroke:var(--gold-bright); stroke-width:1.4; opacity:.9; transition:transform .4s; }
.place-card:hover .pc-ph .ic{ transform:scale(1.1) translateY(-3px); }

.pc-cat,.pc-rating,.pc-dist{
  position:absolute;
  font-weight:700;
  font-size:var(--fs-small);
  border-radius:999px;
  line-height:1;
}
.pc-cat{ top:12px; right:12px; padding:7px 12px; background:rgba(255,255,255,.94); color:var(--navy); }
.pc-rating{
  top:12px; left:12px;
  padding:7px 11px;
  background:var(--gold); color:var(--navy);
  font-family:var(--font-display);
  direction:ltr;
}
.pc-rating small{ font-size:.75em; }
.pc-dist{ bottom:12px; right:12px; padding:7px 12px; background:var(--navy); color:var(--gold-bright); }

.pc-body{
  display:flex; flex-direction:column; gap:6px;
  padding:16px 18px 18px;
  flex:1;
}
.pc-name{
  margin:0;
  font-family:var(--font-display); font-weight:700;
  font-size:var(--fs-h3); line-height:1.25; color:var(--navy);
}
.pc-loc{ display:flex; align-items:center; gap:5px; margin:0; color:var(--muted); font-size:var(--fs-small); font-weight:600; }
.pc-loc .ic{ width:15px; height:15px; color:var(--gold); stroke-width:2.2; }
.pc-excerpt{
  margin:2px 0 0;
  color:var(--ink);
  font-size:.95rem; line-height:1.55;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.pc-foot{ margin-top:auto; padding-top:10px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pc-more{ color:var(--gold-text); font-weight:700; font-size:var(--fs-small); display:inline-flex; align-items:center; gap:4px; transition:gap .2s, color .2s; }
.pc-more::after{ content:"←"; }
.place-card:hover .pc-more{ color:var(--navy); gap:9px; }
.pc-compare{
  position:relative; z-index:2;
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 11px; border-radius:999px;
  border:1.5px solid var(--line); background:var(--white); color:var(--muted);
  font:inherit; font-size:.8rem; font-weight:700; cursor:pointer;
  transition:background .2s, color .2s, border-color .2s;
}
.pc-compare .ic{ width:15px; height:15px; }
.pc-compare:hover{ border-color:var(--gold); color:var(--navy); }
.pc-compare[aria-pressed="true"]{ background:var(--navy); border-color:var(--navy); color:var(--white); }
.pc-compare[aria-pressed="true"] .ic{ color:var(--gold-bright); }

/* טעינה */
.place-card.is-loading{ pointer-events:none; }
.place-card.is-loading .pc-media,
.place-card.is-loading .pc-body span{
  background:linear-gradient(90deg, var(--paper-deep) 0%, #FBF6EA 50%, var(--paper-deep) 100%) 0 0 / 200% 100%;
  animation:shimmer 1.3s linear infinite;
}
.place-card.is-loading .pc-body span{ display:block; height:14px; border-radius:7px; }
.place-card.is-loading .pc-body span:first-child{ height:20px; width:60%; }
.place-card.is-loading .pc-body span:last-child{ width:40%; }
@keyframes shimmer{ to{ background-position:-200% 0; } }

/* אין תוצאות / שגיאה */
.empty{
  grid-column:1 / -1;
  text-align:center;
  padding:48px 20px;
  background:var(--white);
  border:1.5px dashed var(--line);
  border-radius:var(--radius);
}
.empty h2{ margin:0 0 6px; font-family:var(--font-display); font-size:var(--fs-h3); color:var(--navy); }
.empty p{ margin:0 0 18px; color:var(--muted); }

/* ---------- טלפון ---------- */
@media (max-width: 760px){
  .filter-row{ grid-template-columns:1fr 1fr; }
  .search-hero-road{ display:none; }
  .search-hero-road-m{ display:block; position:absolute; inset:auto 0 0 0; width:100%; height:70px; pointer-events:none; }
  .search-hero-inner{ padding-bottom:84px; }
}
@media (max-width: 420px){
  .search-box{ flex-wrap:wrap; padding-inline-start:14px; }
  .search-box input{ flex-basis:calc(100% - 40px); }
  .search-box-btn{ flex:1 1 100%; }
  .chips{ flex-wrap:nowrap; overflow-x:auto; margin-inline:calc(var(--gutter) * -1); padding-inline:var(--gutter); scrollbar-width:none; }
  .chips::-webkit-scrollbar{ display:none; }
  .chip{ flex:none; }
}
/* ---------- תנועה ---------- */
@media (prefers-reduced-motion: no-preference){
  .hr-line{ animation:hr-flow 1.6s linear infinite; }
  @keyframes hr-flow{ to{ stroke-dashoffset:-52; } }
  .hr-pin{ animation:hr-bob 3.6s ease-in-out infinite; transform-box:fill-box; transform-origin:bottom; }
  .hr-pin-2{ animation-delay:-1.8s; }
  @keyframes hr-bob{ 0%,100%{ translate:0 0; } 50%{ translate:0 -6px; } }

  .search-title,.search-sub,.search-box{ animation:rise .7s cubic-bezier(.2,.7,.2,1) both; }
  .search-sub{ animation-delay:.08s; } .search-box{ animation-delay:.16s; }
  .results-grid.animate .place-card{ animation:card-in .55s cubic-bezier(.2,.7,.2,1) both; animation-delay:calc(var(--i) * 60ms); }
  @keyframes rise{ from{ opacity:0; transform:translateY(14px); } }
  @keyframes card-in{ from{ opacity:0; transform:translateY(18px) scale(.98); } }
  .chip{ transition:background .2s, border-color .2s, color .2s, transform .15s; }
  .chip:active{ transform:scale(.95); }
}
@media (prefers-reduced-motion: reduce){
  .hr-car{ display:none; }
  .place-card,.pc-media img{ transition:none; }
  .place-card.is-loading .pc-media,.place-card.is-loading .pc-body span{ animation:none; }
}

/* ---------- "מאיפה אתם יוצאים" ---------- */
.near-box{
  padding:16px 18px; border-radius:var(--radius);
  background:var(--white); border:1.5px solid var(--gold);
  box-shadow:0 10px 24px rgba(14,37,65,.08);
  animation:rise .35s ease;
}
.near-label{ display:block; font-family:var(--font-display); font-weight:700; color:var(--navy); margin-bottom:8px; }
.near-row{ display:flex; flex-wrap:wrap; gap:8px; }
.near-row input{
  flex:1 1 240px; min-width:0;
  font:inherit; padding:11px 14px; border:1.5px solid var(--line); border-radius:12px; background:var(--white);
}
.near-row input:focus{ outline:0; border-color:var(--gold); box-shadow:0 0 0 3px rgba(227,185,93,.3); }
.near-status{ margin:8px 0 0; font-weight:600; font-size:var(--fs-small); color:var(--muted); }
.near-status[data-kind="ok"]{ color:#1E5B2B; }
.near-status[data-kind="err"]{ color:#8A2424; }
@media (max-width: 480px){ .near-row .btn{ flex:1 1 auto; } }

/* סינון לפי אופי המקום */
.tag-filter{ display:flex; align-items:flex-start; gap:10px; margin-top:12px; }
.tag-filter[hidden]{ display:none; }
.tf-label{ flex:none; font-weight:700; font-size:var(--fs-small); color:var(--muted); padding-top:6px; }
.chips-sm{ gap:6px; }
.chip.chip-sm{ padding:5px 12px; font-size:.85rem; min-height:0; }
.chip[aria-pressed="true"]{ background:var(--navy); border-color:var(--navy); color:var(--white); }
.tag-filter > .chips{ flex:1 1 auto; min-width:0; }
@media (max-width:640px){ .tag-filter{ flex-direction:column; align-items:stretch; gap:6px; } .tf-label{ padding-top:0; } }
/* מחיר ותגיות בכרטיס */
.pc-tags{ display:flex; flex-wrap:wrap; gap:5px; margin:4px 0 0; }
.pc-tag{ font-size:.75rem; font-weight:700; padding:2px 9px; border-radius:999px; background:var(--paper-deep, #F1EBDD); color:var(--ink); border:1px solid var(--line); }
.pc-tag-fit{ background:#E7EEF8; border-color:#B9CBE3; color:#0E2541; }
.pc-tag-price{ background:#0E2541; border-color:#0E2541; color:#fff; }
.pc-tag-open{ background:#E6F4EA; border-color:#9FD0AE; color:#1E6B39; }

/* ---------- סינונים מקופלים בטלפון ---------- */
.filters-toggle{ display:none; }
@media (max-width: 760px){
  .filters-toggle{ display:inline-flex; align-items:center; gap:8px; margin-top:12px; padding:9px 16px; border-radius:999px;
    border:1.5px solid var(--line); background:var(--white); color:var(--navy); font:inherit; font-weight:700; cursor:pointer; }
  .filters-toggle svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; }
  .filters-toggle[aria-expanded="true"]{ background:var(--navy); color:var(--white); border-color:var(--navy); }
  .ft-count{ display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:var(--gold); color:var(--navy); font-size:.8rem; }
  .ft-count[hidden]{ display:none; }
  .filters-more{ display:none; }
  .filters-more.is-open{ display:block; animation:rise .25s ease; }
  /* הכותרת הכחולה קצרה יותר, כדי שהתוצאות יעלו */
  .search-hero-inner{ padding:22px 18px 70px; }
  .search-title{ font-size:1.65rem; margin-bottom:4px; }
  .search-sub .ss-more{ display:none; }
  .search-hero-road-m{ height:56px; }
}

/* ---------- כרטיסי תוצאות קומפקטיים בטלפון: תמונה בצד, יותר מקומות במסך ---------- */
@media (max-width: 640px){
  .results-grid{ gap:10px; }
  .place-card{ flex-direction:row; min-height:118px; }
  .place-card:hover{ transform:none; }
  .pc-media{ flex:none; width:108px; aspect-ratio:auto; align-self:stretch; }
  .pc-ph .ic{ width:34px; height:34px; }
  .pc-cat{ display:none; }
  .pc-rating{ top:auto; bottom:8px; left:50%; transform:translateX(-50%); padding:5px 8px; font-size:.78rem; }
  .pc-dist{ top:8px; bottom:auto; right:8px; padding:4px 8px; font-size:.75rem; }
  .pc-body{ padding:10px 12px; gap:3px; min-width:0; }
  .pc-name{ font-size:1.08rem; }
  .pc-loc{ font-size:.82rem; }
  .pc-excerpt{ display:none; }
  .pc-tags{ margin-top:2px; }
  .pc-tags .pc-tag:nth-child(n+3){ display:none; }
  .pc-foot{ padding-top:4px; }
  .pc-more{ font-size:.8rem; }
  .pc-compare{ padding:4px 9px; font-size:.75rem; }
}
/* מקום בלי תמונה: מסגרת נמוכה יותר, בלי שטח ריק גדול */
@media (min-width: 641px){ .place-card.pc-noimg .pc-media{ aspect-ratio:16 / 7; } }
.results-count{ scroll-margin-top:96px; }

/* ---------- רשימה / מפה ---------- */
.results-head{ flex-wrap:wrap; }
.view-switch{ display:inline-flex; border:1.5px solid var(--line); border-radius:999px; overflow:hidden; background:var(--white); margin-inline-start:auto; }
.view-switch button{ display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border:0; background:none; font:inherit; font-weight:700; font-size:.9rem; color:var(--muted); cursor:pointer; }
.view-switch button svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.view-switch button[aria-pressed="true"]{ background:var(--navy); color:var(--white); }
.results-map{ margin-bottom:12px; }
.rm-box{ height:min(70vh, 560px); border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:#E9E4D8; }
.rm-note{ margin:8px 0 0; font-size:.88rem; color:var(--muted); }
.rm-err{ padding:30px; text-align:center; color:var(--muted); }
.rm-pin span{ display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--navy); border:2.5px solid var(--gold); box-shadow:0 4px 10px rgba(0,0,0,.3); }
.rm-pin .ic{ width:17px; height:17px; color:var(--gold-bright); stroke:var(--gold-bright); }
.rm-pop{ display:flex; flex-direction:column; gap:3px; font-family:var(--font-body); direction:rtl; text-align:right; min-width:150px; }
.rm-pop b{ font-size:1rem; color:var(--navy); }
.rm-pop small{ color:var(--muted); }
.rm-pop a{ font-weight:700; color:var(--gold-text, #8A5C0E); margin-top:4px; }
.more-wrap{ display:flex; justify-content:center; margin-top:20px; }
.more-wrap .btn{ min-width:min(100%, 320px); justify-content:center; }
