/* Jew Where - jw-core.css */
:root{
  --jw-blue:#1A365D;
  --jw-gold:#B7791F;
  --jw-dark:#171717;
  --jw-gray:#52525B;
  --jw-light:#FAFAFA;
  --jw-border:#E5E5E5;

  --jw-status-existing:#059669;
  --jw-status-repurposed:#D97706;
  --jw-status-lost:#DC2626;
  --jw-status-tempclosed:#F59E0B;
  --jw-status-identified:#64748B;
  --jw-status-notjewish:#475569;

  --jw-radius-sm:4px;
  --jw-radius-md:6px;
  --jw-radius-pill:999px;

  --jw-shadow-panel:0 20px 60px rgba(0,0,0,.14);
  --jw-shadow-card:0 2px 10px rgba(0,0,0,.06);

  --jw-font-serif:"Playfair Display", Georgia, serif;
  --jw-font-sans:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background:var(--jw-light);
  color:var(--jw-dark);
  font-family:var(--jw-font-sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--jw-blue); }
a:hover{ color:var(--jw-gold); }
::selection{ background:var(--jw-blue); color:#fff; }

.jw-container{ max-width:1120px; margin:0 auto; padding:0 24px; }
@media (max-width:600px){ .jw-container{ padding:0 16px; } }

.jw-title{
  font-family:var(--jw-font-serif);
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.06;
  font-size:clamp(34px,4.5vw,64px);
  margin:14px 0 10px;
}
.jw-subtitle{
  font-family:var(--jw-font-serif);
  font-style:italic;
  font-weight:500;
  color:var(--jw-gray);
  font-size:clamp(16px,2vw,22px);
  margin:0 0 14px;
}
.jw-summary{ font-size:16px; line-height:1.7; color:var(--jw-gray); margin:0 0 16px; }

/* Buttons */
.jw-btn,.jw-btn-primary,.jw-btn-outline,.jw-btn-text{
  font-family:var(--jw-font-sans);
  border-radius:var(--jw-radius-pill);
  padding:12px 16px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.02em;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid transparent;
  background:transparent;
  color:var(--jw-blue);
  cursor:pointer;
  text-decoration:none;
  transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.jw-btn i,.jw-btn-primary i,.jw-btn-outline i,.jw-btn-text i{ font-size:18px; line-height:1; }

.jw-btn-primary{
  background:var(--jw-blue);
  color:#fff;
  border-color:var(--jw-blue);
  box-shadow:0 10px 28px rgba(26,54,93,.18);
}
.jw-btn-primary:hover{ background:#132A4A; border-color:#132A4A; transform:translateY(-1px); }
.jw-btn-primary:disabled{ opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }

.jw-btn-outline{ background:#fff; border-color:var(--jw-border); color:var(--jw-blue); }
.jw-btn-outline:hover{
  border-color:var(--jw-blue);
  background:var(--jw-blue);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.jw-btn-text{ padding:10px 6px; border-radius:0; color:var(--jw-blue); }
.jw-btn-text:hover{ color:var(--jw-gold); }

/* Tags */
.jw-tags{ display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.jw-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:var(--jw-radius-pill);
  border:1px solid var(--jw-border);
  background:rgba(255,255,255,.85);
  color:var(--jw-gray);
  font-size:12px;
  font-weight:700;
}
.jw-tag i{ font-size:16px; color:var(--jw-blue); }

/* Cards */
.jw-card{
  background:#fff;
  border:1px solid var(--jw-border);
  border-radius:var(--jw-radius-md);
  box-shadow:var(--jw-shadow-card);
  padding:18px;
}
.jw-card__title{
  margin:0 0 12px;
  font-family:var(--jw-font-serif);
  font-size:20px;
  font-weight:800;
}

/* Single layout */
.jw-hero{ margin-top:0; }
.jw-hero__media img{ width:100%; height:min(68vh,520px); object-fit:cover; object-position:center; }

.jw-single-header{
  padding:34px 0 20px;
  border-bottom:1px solid var(--jw-border);
  background:#fff;
}

.jw-single-body{ padding:26px 0 64px; background:var(--jw-light); }
.jw-grid{ display:grid; grid-template-columns:1fr 2fr; gap:26px; align-items:start; }
@media (max-width:980px){ .jw-grid{ grid-template-columns:1fr; } }

/* Prose */
.jw-prose{ font-size:16px; line-height:1.85; }
.jw-prose p{ margin:0 0 16px; }
.jw-section-title{
  font-family:var(--jw-font-serif);
  font-weight:800;
  font-size:26px;
  margin:32px 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--jw-border);
}

/* Timeline */
.jw-timeline{ list-style:none; margin:0; padding:0 0 0 22px; border-left:1px solid var(--jw-border); }
.jw-timeline__item{ position:relative; padding:0 0 18px 14px; }
.jw-timeline__item::before{
  content:"";
  position:absolute;
  left:-7px;
  top:6px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--jw-blue);
  box-shadow:0 0 0 4px #fff;
}
.jw-timeline__year{ font-family:var(--jw-font-serif); font-weight:900; color:var(--jw-gold); font-size:18px; margin-bottom:6px; }
.jw-timeline__text{ font-size:14px; color:var(--jw-gray); line-height:1.7; }

/* Toast */
.jw-toast{ position:fixed; right:18px; bottom:18px; z-index:9999; pointer-events:none; }
.jw-toast__inner{
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--jw-border);
  border-radius:var(--jw-radius-md);
  box-shadow:var(--jw-shadow-panel);
  font-weight:800;
  font-size:13px;
}
.jw-toast__inner i{ color:var(--jw-status-existing); font-size:18px; }
