:root {
  --cream: #f8f4ed;
  --paper: #fffdf8;
  --ink: #1c2526;
  --muted: #596364;
  --bronze: #a67c52;
  --wine: #6e2437;
  --wine-dark: #4d1725;
  --green: #285b4b;
  --line: #dfd4c5;
  --danger: #a4262c;
  --shadow: 0 18px 50px rgba(42, 31, 25, 0.12);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.55;
}
body[dir="rtl"] { font-family: Arial, "Noto Sans Hebrew", sans-serif; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(248, 244, 237, 0.96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.nav {
  max-width: 1180px;
  margin: auto;
  min-height: 72px;
  padding: 10px 22px;
  display: flex;
  align-items: center;
  gap: 18px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: .02em;
}
.brand-mark {
  width: 40px;
  height: 40px;
  border: 1px solid var(--bronze);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--wine);
  background: var(--paper);
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-inline-start: auto;
  flex-wrap: wrap;
}
.nav-links a { text-decoration: none; font-weight: 650; }
.language-select {
  padding: 9px 11px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
}

.hero {
  padding: 78px 22px 50px;
  background:
    radial-gradient(circle at 15% 15%, rgba(166, 124, 82, .18), transparent 28%),
    radial-gradient(circle at 85% 15%, rgba(110, 36, 55, .10), transparent 30%);
}
.hero-inner, .container { max-width: 1120px; margin: auto; }
.eyebrow {
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 800;
  color: var(--wine);
  font-size: .78rem;
}
h1, h2, h3 { line-height: 1.15; }
h1 { font-size: clamp(2.2rem, 5vw, 4.7rem); margin: .35em 0 .25em; max-width: 900px; }
h2 { font-size: clamp(1.65rem, 3vw, 2.65rem); margin: 0 0 18px; }
.lede { max-width: 760px; font-size: 1.15rem; color: var(--muted); }

.actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.btn {
  border: 0;
  border-radius: 999px;
  padding: 12px 19px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.btn-primary { background: var(--wine); color: white; }
.btn-primary:hover { background: var(--wine-dark); }
.btn-secondary { background: var(--paper); color: var(--ink); border: 1px solid var(--line); }
.btn-green { background: var(--green); color: white; }
.btn-danger { background: var(--danger); color: white; }
.btn:disabled { opacity: .55; cursor: not-allowed; }

.section { padding: 58px 22px; }
.section.alt { background: #f1eadf; }
.grid { display: grid; gap: 20px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: var(--shadow);
}
.card h3 { margin-top: 0; }
.card-icon { font-size: 2rem; }
.muted { color: var(--muted); }
.small { font-size: .9rem; }
.notice {
  padding: 14px 16px;
  border-radius: 12px;
  border-inline-start: 4px solid var(--bronze);
  background: #fff8e8;
}
.notice.success { border-color: var(--green); background: #eef8f3; }
.notice.error { border-color: var(--danger); background: #fff1f1; }

.form-card { max-width: 760px; margin: 0 auto; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label, .legend { font-weight: 760; }
.field input, .field select, .field textarea {
  width: 100%;
  min-height: 46px;
  border-radius: 11px;
  border: 1px solid #cfc2b3;
  padding: 10px 12px;
  background: white;
  color: var(--ink);
}
.field textarea { min-height: 110px; resize: vertical; }
.checkline { display: flex; align-items: flex-start; gap: 10px; }
.checkline input { margin-top: 5px; }
.field-help { color: var(--muted); font-size: .85rem; }
.required::after { content: " *"; color: var(--danger); }

.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.tab {
  border: 1px solid var(--line);
  background: var(--paper);
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 800;
}
.tab.active { background: var(--wine); color: white; border-color: var(--wine); }
.panel[hidden] { display: none !important; }

.dashboard-shell { display: grid; grid-template-columns: 260px 1fr; gap: 24px; align-items: start; }
.sidebar { position: sticky; top: 94px; }
.sidebar a, .sidebar button {
  display: block;
  width: 100%;
  text-align: start;
  text-decoration: none;
  border: 0;
  background: transparent;
  padding: 11px 10px;
  border-radius: 9px;
  color: var(--ink);
}
.sidebar a:hover, .sidebar button:hover { background: #efe5d8; }
.status {
  display: inline-flex;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 800;
  background: #eee;
}
.status.approved, .status.accepted { background: #ddf2e8; color: #174f3b; }
.status.pending { background: #fff0c9; color: #724d00; }
.status.declined, .status.cancelled { background: #f8dede; color: #7a1f25; }

.directory-list { display: grid; gap: 14px; }
.directory-item {
  padding: 18px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.directory-item h3 { margin: 0 0 7px; }
.badges { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0; }
.badge {
  display: inline-flex;
  padding: 4px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  font-size: .82rem;
}
.notification-item {
  border-inline-start: 4px solid var(--bronze);
  background: var(--paper);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 10px;
}
.notification-item.unread { border-inline-start-color: var(--wine); }

.site-footer {
  padding: 38px 22px;
  border-top: 1px solid var(--line);
  background: #2a2522;
  color: #fff9ef;
}
.footer-inner { max-width: 1120px; margin: auto; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }

[dir="rtl"] .nav-links { margin-inline-start: auto; }
[dir="rtl"] input[type="email"], [dir="rtl"] input[type="tel"] { direction: ltr; text-align: right; }

@media (max-width: 800px) {
  .nav { align-items: flex-start; flex-wrap: wrap; }
  .nav-links { width: 100%; margin: 0; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 5px; }
  .grid-2, .grid-3, .form-grid, .dashboard-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; }
  .hero { padding-top: 48px; }
}

.shabbat-time-value { font-size: clamp(1.6rem, 4vw, 2.5rem); font-weight: 850; color: var(--wine); margin: 12px 0; }


:root { --navy:#0a192f; --blue:#0a4f84; --gold:#e7bd73; }
body { min-height:100vh; }
.site-header .nav { max-width:1280px; }
.brand-logo { width:44px; height:44px; object-fit:contain; }
.mobile-menu-button { display:none; margin-inline-start:auto; border:1px solid var(--line); background:var(--paper); border-radius:10px; padding:9px 12px; font-weight:800; }
.hero.brand-hero { min-height:520px; display:grid; align-items:center; color:white; background:linear-gradient(90deg,rgba(10,25,47,.96),rgba(10,25,47,.62)),url("../images/site-banner.png") center/cover no-repeat; }
.hero.brand-hero h1,.hero.brand-hero .lede { color:white; }
.hero.brand-hero .eyebrow { color:var(--gold); }
.quick-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.quick-card { text-decoration:none; min-height:180px; display:flex; flex-direction:column; justify-content:space-between; }
.quick-card strong { font-size:1.2rem; }
.stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.stat-box { text-align:center; background:var(--navy); color:white; border-radius:14px; padding:22px; }
.stat-box b { display:block; color:var(--gold); font-size:2rem; }
.page-hero { padding:70px 22px 40px; background:linear-gradient(135deg,var(--navy),#17395e); color:white; }
.page-hero h1,.page-hero p { color:white; }
.page-hero .eyebrow { color:var(--gold); }
.media-card { overflow:hidden; padding:0; }
.media-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.media-card .media-copy { padding:22px; }
.contact-row { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; margin:16px 0; }
.contact-row label { grid-column:1/-1; font-weight:800; }
.contact-row input { min-height:50px; border:1px solid var(--line); border-radius:10px; padding:11px; }
.donation-option { display:flex; justify-content:space-between; align-items:center; gap:15px; border-bottom:1px solid var(--line); padding:16px 0; }
.donation-option:last-child { border-bottom:0; }
.footer-links { display:flex; flex-wrap:wrap; gap:12px 18px; margin-top:12px; }
.footer-links a { color:white; }
.banner-logo { max-width:700px; width:100%; display:block; margin:auto; border-radius:16px; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:12px; top:12px; z-index:999; background:white; padding:10px; }
@media (max-width:1000px) { .quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:800px) {
  .mobile-menu-button { display:block; }
  .site-header .nav-links { display:none; width:100%; flex-direction:column; align-items:stretch; padding:12px 0; }
  .site-header .nav-links.open { display:flex; }
  .site-header .nav-links a,.site-header .nav-links select { width:100%; }
  .hero.brand-hero { min-height:470px; }
}
@media (max-width:560px) { .quick-grid,.stat-grid { grid-template-columns:1fr; } .contact-row { grid-template-columns:1fr; } .contact-row label { grid-column:1; } }
