:root{
  --bg:#F5F1E8;
  --bg-2:#FBF8F1;
  --bg-3:#EFE8D7;
  --ink:#0B1F3A;
  --ink-2:#1A2D4D;
  --muted:#5A6578;
  --muted-2:#8A8776;
  --gold:#B8935A;
  --gold-2:#D4B07A;
  --gold-soft:#E9D9B7;
  --gold-deep:#8A6A3A;
  --cream:#FDFBF4;
  --border:#E6DCC5;
  --border-strong:#D6C7A3;
  --white:#FFFFFF;
  --red:#A23A3A;
  --green:#2F7A4A;
  --shadow-sm:0 6px 20px rgba(11,31,58,.06);
  --shadow:0 18px 48px rgba(11,31,58,.08);
  --shadow-lg:0 36px 80px rgba(11,31,58,.14);
  --serif:"Frank Ruhl Libre", "Times New Roman", Georgia, serif;
  --sans:"Heebo", "Assistant", "Segoe UI", Arial, sans-serif;
  --radius:28px;
  --radius-lg:36px;
  --radius-sm:16px;
}

*{box-sizing:border-box}
*::selection{background:var(--gold-soft);color:var(--ink)}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(212,176,122,.18), transparent 60%),
    radial-gradient(900px 500px at -5% 10%, rgba(255,245,218,.6), transparent 55%),
    linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 45%, var(--bg-2) 100%);
  color:var(--ink);
  line-height:1.75;
  font-size:17px;
  font-weight:400;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  min-height:100vh;
  overflow-x:hidden;
}

.page-grain{
  position:fixed; inset:0; pointer-events:none; z-index:1; opacity:.35;
  background-image:
    radial-gradient(rgba(11,31,58,.035) 1px, transparent 1px);
  background-size:3px 3px;
  mix-blend-mode:multiply;
}

a{text-decoration:none;color:inherit;transition:color .25s ease}
a:hover{color:var(--gold)}

h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:-.01em}
h1{font-size:64px;line-height:1.08;margin:0 0 18px}
h2{font-size:34px;line-height:1.2;margin:0 0 10px}
h3{font-size:20px;line-height:1.3;margin:0}

/* =============== TOPBAR =============== */
.topbar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:14px 28px;
  background:rgba(253,251,244,.78);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  border-bottom:1px solid rgba(184,147,90,.22);
}
.topbar::after{
  content:""; position:absolute; inset-inline:0; bottom:-1px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(184,147,90,.5), transparent);
}
.brand-wrap{display:flex;align-items:center;gap:12px}
.star{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:14px;
  color:var(--gold);
  background:linear-gradient(135deg, #fff, #f7efda);
  border:1px solid var(--border-strong);
  box-shadow:inset 0 1px 0 #fff, 0 6px 18px rgba(184,147,90,.18);
}
.brand-main{display:block;font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:.01em}
.brand-sub{display:block;font-size:12px;color:var(--muted);letter-spacing:.08em}
.nav{display:flex;gap:22px;flex-wrap:wrap;font-size:15px;font-weight:500}
.nav a{position:relative;padding:6px 2px;color:var(--ink-2)}
.nav a::after{
  content:""; position:absolute; right:0; left:0; bottom:-2px; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  transform:scaleX(0); transform-origin:center; transition:transform .35s ease;
}
.nav a:hover::after{transform:scaleX(1)}
.nav a:hover{color:var(--gold-deep)}
.admin-link{
  color:var(--gold-deep) !important; font-weight:700;
  padding:8px 14px !important; border-radius:999px;
  background:linear-gradient(135deg, var(--gold-soft), #fff);
  border:1px solid var(--border-strong);
}
.admin-link::after{display:none}
.menu-btn{display:none;background:transparent;border:1px solid var(--border);border-radius:12px;padding:10px;cursor:pointer}
.menu-btn span{display:block;width:20px;height:2px;background:var(--ink);margin:3px 0;border-radius:2px}

/* =============== TOPBAR ACTIONS =============== */
.top-actions{display:flex;align-items:center;gap:10px}
.icon-btn{
  position:relative; width:42px; height:42px; border-radius:12px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.85); border:1px solid var(--border-strong);
  color:var(--ink-2); cursor:pointer; transition:all .22s ease;
}
.icon-btn:hover{background:#fff;color:var(--gold-deep);transform:translateY(-1px)}
.icon-badge{
  position:absolute; top:-4px; inset-inline-start:-4px;
  min-width:20px; height:20px; padding:0 5px; border-radius:999px;
  background:linear-gradient(135deg, #b5332e, #d14b40);
  color:#fff; font-size:11px; font-weight:700;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 4px 10px rgba(181,51,46,.3);
}
.icon-badge:empty,.icon-badge.zero{display:none}
.user-btn{
  display:inline-flex; align-items:center; gap:10px; padding:8px 14px 8px 8px;
  border-radius:999px; background:linear-gradient(135deg,#fff,#f7efda);
  border:1px solid var(--border-strong); color:var(--ink);
  cursor:pointer; font-family:inherit; font-size:14px; font-weight:600;
  transition:all .22s ease;
}
.user-btn:hover{transform:translateY(-1px);border-color:var(--gold);color:var(--gold-deep)}
.user-avatar{
  width:30px; height:30px; border-radius:50%;
  background:linear-gradient(135deg, var(--ink), var(--ink-2));
  color:#fff; display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-weight:700; font-size:13px;
}
.user-btn.logged .user-avatar{background:linear-gradient(135deg, var(--gold-deep), var(--gold))}

/* =============== HERO =============== */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero-backdrop{
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(900px 520px at 80% -10%, rgba(255,231,178,.55), transparent 55%),
    radial-gradient(700px 460px at 0% 20%, rgba(255,248,225,.7), transparent 60%);
}
.hero-glow{
  position:absolute; top:-20%; right:-10%; width:720px; height:720px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(255,215,140,.45), transparent 70%);
  filter:blur(20px);
  animation:breath 9s ease-in-out infinite;
}
.hero-rays{
  position:absolute; inset:0;
  background:
    conic-gradient(from 200deg at 80% 0%, rgba(255,225,170,.08) 0 6deg, transparent 6deg 18deg) no-repeat;
  opacity:.6;
}
@keyframes breath{
  0%,100%{transform:scale(1);opacity:.9}
  50%{transform:scale(1.05);opacity:1}
}

.hero-inner{
  position:relative; z-index:1;
  max-width:1240px; margin:0 auto; padding:64px 28px 48px;
  display:grid; grid-template-columns:.92fr 1.08fr; gap:44px; align-items:start;
}
.hero-left{padding-top:14px}

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 18px; border-radius:999px; background:rgba(255,255,255,.9);
  border:1px solid var(--border-strong);
  font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  font-weight:600; color:var(--gold-deep);
  margin-bottom:22px; box-shadow:var(--shadow-sm);
}
.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(212,176,122,.25)}

.hero h1 span{
  display:block;
  background:linear-gradient(90deg, var(--gold-deep), var(--gold-2) 50%, var(--gold-deep));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  font-style:italic;
  font-weight:900;
}

.hero-copy{
  font-size:19px; color:var(--ink-2); max-width:640px; margin:0 0 26px;
  line-height:1.8;
}

.card{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(253,251,244,.92));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:var(--shadow);
  position:relative;
  transition:transform .35s ease, box-shadow .35s ease, border-color .25s ease;
}
.card::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.soft-card{background:linear-gradient(180deg, #fffdf6, #fbf7eb)}

.mini-title,.section-tag{
  font-size:12px; color:var(--gold-deep); font-weight:700;
  letter-spacing:.15em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:8px;
  margin-bottom:12px;
}
.mini-ornament{color:var(--gold)}

.daily-verse{
  max-width:640px; margin-bottom:26px;
  background:
    linear-gradient(180deg, #fffefa, #fbf5e5);
  border:1px solid var(--border-strong);
  position:relative; overflow:hidden;
}
.daily-verse::after{
  content:""; position:absolute; inset-block:0; inset-inline-end:-40px; width:120px;
  background:radial-gradient(closest-side, rgba(212,176,122,.28), transparent 70%);
}
.verse-text{font-family:var(--serif);font-size:26px;line-height:1.55;margin-bottom:8px;color:var(--ink)}
.verse-source{font-size:14px;color:var(--gold-deep);font-weight:600;letter-spacing:.06em}

/* ============ DAILY ZMANIM (prayer times) — additive ============ */
.daily-zmanim{
  max-width:640px; margin-top:-6px; margin-bottom:26px;
  background:linear-gradient(180deg, #fffefa 0%, #f7ecd2 100%);
  border:1px solid var(--border-strong);
  position:relative; overflow:hidden;
}
.daily-zmanim::after{
  content:""; position:absolute; inset-block:0; inset-inline-start:-30px; width:110px;
  background:radial-gradient(closest-side, rgba(212,176,122,.22), transparent 70%);
  pointer-events:none;
}
.daily-zmanim .mini-title{
  display:flex; align-items:center; gap:8px; margin-bottom:10px;
}
.zmanim-live-dot{
  display:inline-block; width:8px; height:8px; border-radius:50%;
  background:#22c88a; box-shadow:0 0 0 3px rgba(34,200,138,.22);
  animation:zmanimPulse 2.4s ease-in-out infinite;
}
@keyframes zmanimPulse{
  0%,100%{ opacity:.7; transform:scale(1); }
  50%{ opacity:1; transform:scale(1.25); }
}
.zmanim-city-row{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-bottom:10px;
}
.zmanim-city-label{
  font-size:12px; color:var(--gold-deep,#8a6b2a); font-weight:700; letter-spacing:.06em;
}
.zmanim-city{
  font-family:inherit; font-size:14px; font-weight:600;
  padding:6px 10px; border-radius:10px;
  border:1px solid rgba(184,147,90,.45);
  background:#fffdf6; color:var(--ink,#0B1F3A);
  cursor:pointer;
}
.zmanim-city:focus{ outline:2px solid rgba(184,147,90,.5); outline-offset:2px; }
.zmanim-date{
  margin-inline-start:auto;
  font-size:13px; color:var(--ink,#0B1F3A); opacity:.8; font-weight:600;
}
.zmanim-list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px 18px;
}
.zmanim-row{
  display:flex; align-items:baseline; justify-content:space-between;
  padding:6px 10px;
  border-radius:10px;
  background:rgba(255,253,245,.7);
  border:1px solid rgba(184,147,90,.22);
  font-size:14.5px; color:var(--ink,#0B1F3A);
}
.zmanim-row > span:first-child{
  font-weight:600; color:var(--gold-deep,#8a6b2a); letter-spacing:.01em;
}
.zmanim-row > span:last-child{
  font-variant-numeric:tabular-nums; font-weight:700;
}
.zmanim-row.is-next{
  background:linear-gradient(135deg, #fff8e6, #f6e4b8);
  border-color:rgba(184,147,90,.5);
  box-shadow:0 6px 16px rgba(184,147,90,.18);
}
.zmanim-row.is-next::after{
  content:"הבא"; margin-inline-start:6px;
  font-size:10px; letter-spacing:.12em;
  padding:2px 7px; border-radius:999px;
  background:var(--gold-deep,#8a6b2a); color:#fff7e6;
}
.zmanim-skeleton{ opacity:.55; }
.zmanim-footer{
  margin-top:10px; font-size:12px; color:var(--ink,#0B1F3A); opacity:.7;
  display:flex; gap:8px; align-items:center; flex-wrap:wrap;
}
@media (max-width:640px){
  .zmanim-list{ grid-template-columns:1fr; }
}

.cta-row,.live-row,.actions,.chips,.times{
  display:flex; gap:12px; align-items:center; flex-wrap:wrap;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 26px; border-radius:16px; font-size:16px; font-weight:600;
  cursor:pointer; border:none; font-family:inherit;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
  position:relative; overflow:hidden;
}
.btn.small{padding:10px 16px;font-size:14px;border-radius:12px}
.btn.wide{width:100%}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg, var(--ink) 0%, var(--ink-2) 100%);
  box-shadow:0 14px 30px rgba(11,31,58,.28), inset 0 1px 0 rgba(255,255,255,.12);
}
.btn-primary::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg, transparent, rgba(212,176,122,.35), transparent);
  transform:translateX(-100%); transition:transform .6s ease;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 36px rgba(11,31,58,.36)}
.btn-primary:hover::after{transform:translateX(100%)}
.btn-secondary{
  background:rgba(255,255,255,.9); border:1px solid var(--border-strong); color:var(--ink);
  backdrop-filter:blur(6px);
}
.btn-secondary:hover{background:#fff;border-color:var(--gold);color:var(--gold-deep)}
.btn-ico{font-family:var(--serif);font-style:italic}

.pill{
  display:inline-flex; gap:10px; align-items:center;
  border:1px solid var(--border-strong);
  background:rgba(255,255,255,.82);
  border-radius:999px; padding:10px 16px;
  box-shadow:var(--shadow-sm);
  font-size:14px; font-weight:500;
  backdrop-filter:blur(8px);
}
.dot{
  width:9px;height:9px;border-radius:50%;background:#2fb662;
  box-shadow:0 0 0 4px rgba(47,182,98,.18);
  animation:pulse 1.8s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(47,182,98,.35)}
  50%{box-shadow:0 0 0 8px rgba(47,182,98,0)}
}

/* =============== SACRED PANEL =============== */
.hero-right{position:relative}
.sacred-panel{
  min-height:580px;
  position:relative; overflow:hidden;
  background:
    radial-gradient(600px 300px at 50% -10%, rgba(255,215,140,.55), transparent 60%),
    linear-gradient(180deg, #FFFCEF 0%, #F5EAD0 45%, #E8D8AE 100%);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-lg);
  box-shadow:
    0 40px 90px rgba(11,31,58,.12),
    inset 0 1px 0 #fff;
}
.sacred-panel::before{
  content:""; position:absolute; inset:14px; border-radius:calc(var(--radius-lg) - 10px);
  border:1px dashed rgba(184,147,90,.35);
  pointer-events:none;
}

.parochet{
  position:absolute; top:26px; right:50%; transform:translateX(50%);
  width:72%; height:140px;
  background:
    repeating-linear-gradient(90deg,
      rgba(184,147,90,.04) 0 10px,
      rgba(184,147,90,.12) 10px 12px);
  border:1px solid rgba(184,147,90,.45);
  border-top:none;
  border-bottom-left-radius:140px; border-bottom-right-radius:140px;
  box-shadow:inset 0 -10px 30px rgba(184,147,90,.15);
}
.parochet-crown{
  position:absolute; top:-18px; right:50%; transform:translateX(50%);
  color:var(--gold-deep);
  filter:drop-shadow(0 4px 8px rgba(184,147,90,.3));
}
.parochet-tassel{
  position:absolute; bottom:-20px; right:50%; transform:translateX(50%);
  width:2px; height:28px; background:var(--gold-deep);
}
.parochet-tassel::after{
  content:""; position:absolute; bottom:-8px; right:-6px;
  width:14px; height:14px; background:var(--gold-deep); border-radius:50%;
  box-shadow:0 0 0 3px rgba(184,147,90,.25);
}

.eternal-candle{
  position:absolute; top:190px; right:50%; transform:translateX(50%);
  width:90px; height:180px; z-index:2;
}
.candle-glow{
  position:absolute; top:-30px; right:50%; transform:translateX(50%);
  width:240px; height:240px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(255,216,140,.55), transparent 70%);
  filter:blur(4px);
  animation:glow 2.6s ease-in-out infinite;
}
@keyframes glow{
  0%,100%{opacity:.8;transform:translateX(50%) scale(1)}
  50%{opacity:1;transform:translateX(50%) scale(1.06)}
}
.candle-body{
  position:absolute; bottom:0; right:50%; transform:translateX(50%);
  width:22px; height:100px; border-radius:4px;
  background:linear-gradient(to bottom,
    #f3dba5 0%, #dbb676 35%, #b58d49 85%, #8a6a37 100%);
  box-shadow:
    inset -3px 0 6px rgba(0,0,0,.15),
    inset 3px 0 6px rgba(255,255,255,.3),
    0 6px 14px rgba(138,106,55,.3);
}
.candle-wick{
  position:absolute; bottom:100px; right:50%; transform:translateX(50%);
  width:2px; height:8px; background:#3a2616; border-radius:2px;
}
.candle-flame{
  position:absolute; right:50%; transform:translateX(50%);
  bottom:104px; width:24px; height:36px;
  border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;
  background:radial-gradient(circle at 50% 65%,
    #fff7d6 0%, #ffe196 40%, #f6c453 65%, #e39b2e 85%, #b5620f 100%);
  box-shadow:
    0 0 30px rgba(246,196,83,.7),
    0 0 60px rgba(246,196,83,.35);
  animation:flicker 2.4s ease-in-out infinite;
  transform-origin:center bottom;
}
@keyframes flicker{
  0%{transform:translateX(50%) scale(1,1) rotate(-2deg)}
  25%{transform:translateX(50%) scale(1.05,.95) rotate(1deg)}
  50%{transform:translateX(50%) scale(1.02,1.02) rotate(-1deg)}
  75%{transform:translateX(50%) scale(.98,1.04) rotate(2deg)}
  100%{transform:translateX(50%) scale(1,1) rotate(-2deg)}
}

.sacred-text{
  position:absolute; top:390px; width:100%; text-align:center;
  font-family:var(--serif); font-size:17px; color:var(--ink);
  letter-spacing:.04em;
}

.aurora{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(400px 120px at 50% 46%, rgba(255,215,140,.2), transparent 70%);
  mix-blend-mode:screen;
}

.wall{
  position:absolute; inset-inline:0; bottom:0; height:160px;
  background:
    linear-gradient(to top, rgba(120,105,80,.35), transparent 70%),
    repeating-linear-gradient(
      to right,
      rgba(160,140,100,.18) 0 60px,
      rgba(120,105,80,.25) 60px 62px),
    repeating-linear-gradient(
      to bottom,
      rgba(160,140,100,.12) 0 28px,
      rgba(120,105,80,.18) 28px 30px);
}

.worshippers{
  position:absolute; inset-inline:0; bottom:42px;
  display:flex; justify-content:center; gap:12px; opacity:.62;
}
.worshippers span{
  display:block; width:12px; height:36px;
  background:linear-gradient(180deg, #4a4b4f, #2a2b2e);
  border-radius:999px 999px 4px 4px;
  box-shadow:0 2px 4px rgba(0,0,0,.18);
}
.worshippers span:nth-child(even){height:30px;width:10px}
.worshippers span:nth-child(3){height:40px}

.stars{position:absolute;inset:0;pointer-events:none}
.stars i{
  position:absolute; left:var(--x); top:var(--y); width:3px; height:3px; border-radius:50%;
  background:#fff; box-shadow:0 0 8px rgba(255,240,200,.9);
  animation:twinkle 3.2s ease-in-out infinite;
  animation-delay:var(--d);
}
@keyframes twinkle{
  0%,100%{opacity:.3;transform:scale(.7)}
  50%{opacity:1;transform:scale(1.3)}
}

.hero-floater{
  position:absolute; bottom:-28px; left:-16px;
  background:linear-gradient(135deg, var(--ink) 0%, var(--ink-2) 100%);
  color:#fff; padding:18px 22px; border-radius:20px;
  box-shadow:0 24px 50px rgba(11,31,58,.3);
  border:1px solid rgba(255,255,255,.08);
}
.floater-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);font-weight:600}
.floater-title{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1;margin:4px 0 2px}
.floater-sub{font-size:13px;color:#c9cbd4}

/* =============== MARQUEE =============== */
.marquee{
  position:relative; z-index:1;
  border-top:1px solid rgba(184,147,90,.22);
  border-bottom:1px solid rgba(184,147,90,.22);
  overflow:hidden;
  background:rgba(253,248,233,.5);
  backdrop-filter:blur(8px);
  margin-top:24px;
}
.marquee-track{
  display:flex; gap:3em;
  padding:14px 0;
  animation:marquee 40s linear infinite;
  white-space:nowrap;
  font-family:var(--serif); font-size:18px; color:var(--gold-deep);
  letter-spacing:.05em;
}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(50%)}
}

/* =============== SECTIONS =============== */
.section{max-width:1240px;margin:0 auto;padding:64px 28px}
.section-head{
  display:flex; justify-content:space-between; align-items:end;
  gap:20px; flex-wrap:wrap; margin-bottom:28px;
}
.section-lead{color:var(--muted);max-width:540px;margin-top:6px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.split.reverse{grid-template-columns:1.05fr .95fr}

/* =============== CREATE FORM =============== */
.create-intro blockquote{
  font-family:var(--serif); font-size:22px; line-height:1.5;
  color:var(--ink-2); margin:16px 0;
  padding:20px 28px;
  border-inline-start:3px solid var(--gold);
  background:linear-gradient(180deg, rgba(255,250,235,.8), rgba(253,248,233,.5));
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  position:relative;
  font-style:italic;
}
.create-intro .quote-mark{
  font-family:var(--serif); font-size:64px; line-height:0; color:var(--gold);
  margin-inline-end:8px;
}
.quote-source{display:block;font-size:13px;font-style:normal;color:var(--gold-deep);margin-top:8px;letter-spacing:.08em}

.candle-inline{
  display:flex;align-items:center;gap:12px;margin-top:18px;
  padding:14px 18px; background:rgba(253,248,233,.6);
  border-radius:var(--radius-sm); border:1px solid var(--border);
  font-size:14px; color:var(--ink-2);
}

.tips{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.tips li{
  display:flex;align-items:center;gap:12px;
  font-size:14px;color:var(--ink-2);
}
.tips li span{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:8px;
  background:linear-gradient(135deg, var(--gold-soft), #fff);
  border:1px solid var(--border-strong);
  color:var(--gold-deep);font-weight:700;font-size:13px;
}

.form-card{position:relative}
.form-card label{display:block;font-weight:600;margin:14px 0 8px;color:var(--ink);font-size:14px}
.form-card label:first-of-type{margin-top:0}

input,select,textarea{
  width:100%; padding:14px 16px; border-radius:14px;
  border:1px solid var(--border-strong); background:#fff; color:var(--ink);
  font-size:16px; font-family:inherit; margin-bottom:4px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(-45deg, transparent 50%, var(--gold) 50%);background-position:calc(0% + 20px) 22px, calc(0% + 26px) 22px;background-size:6px 6px;background-repeat:no-repeat;padding-inline-end:44px}
html[dir="rtl"] select{background-position:calc(0% + 20px) 22px, calc(0% + 26px) 22px}
input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--gold);
  background:#fff;
  box-shadow:0 0 0 4px rgba(212,176,122,.2);
}
textarea{min-height:200px;resize:vertical;line-height:1.8;font-family:var(--serif);font-size:17px}

.counter{font-size:12px;color:var(--muted);margin-top:6px;margin-bottom:14px;text-align:end}
.agree{
  display:flex; align-items:flex-start; gap:10px;
  font-size:14px; color:var(--muted); margin:10px 0 18px;
  cursor:pointer;
}
.agree input{width:auto;margin:4px 0 0}

.helper{font-size:13px;color:var(--muted);margin-top:10px;text-align:center}
.signature-line{
  margin-top:14px; text-align:center;
  font-family:var(--serif); font-style:italic; font-size:16px;
  color:var(--gold-deep);
}

.submit-experience{
  text-align:center; padding:24px 0 8px; position:relative;
  animation:fadeUp .6s ease both;
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
.submit-experience .big{margin:0 auto 8px;transform:scale(2)}
.light-rise{
  position:absolute; left:50%; transform:translateX(-50%);
  bottom:70px;
  width:12px; height:12px; border-radius:50%;
  background:radial-gradient(circle, #fff3c4, #f6c453);
  box-shadow:0 0 22px rgba(246,196,83,.7);
  animation:rise 3s ease-out infinite;
}
.light-rise.delay{animation-delay:.8s;left:calc(50% - 30px)}
.light-rise.delay2{animation-delay:1.6s;left:calc(50% + 30px)}
@keyframes rise{
  0%{transform:translate(-50%,0) scale(1);opacity:1}
  60%{opacity:.8}
  100%{transform:translate(-50%,-90px) scale(.4);opacity:0}
}
.sent-title{font-family:var(--serif);font-size:26px;font-weight:700;margin:26px 0 8px;color:var(--gold-deep)}
.sent-message{color:var(--ink-2);max-width:480px;margin:0 auto;font-size:15px}
.hidden{display:none}

/* =============== FEED =============== */
.chips{gap:8px}
.chip{
  display:inline-flex; padding:9px 16px; border:1px solid var(--border-strong);
  border-radius:999px; background:#fff; font-size:13px; font-weight:600; cursor:pointer;
  color:var(--ink-2); font-family:inherit;
  transition:all .22s ease;
}
.chip:hover{border-color:var(--gold);color:var(--gold-deep)}
.chip.active{background:linear-gradient(135deg, var(--ink), var(--ink-2));color:#fff;border-color:var(--ink)}

.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.prayer-card{
  background:linear-gradient(180deg, #fff, #fbf7ec);
  border:1px solid var(--border);
  border-radius:var(--radius); padding:24px;
  box-shadow:var(--shadow-sm);
  transition:transform .3s ease, box-shadow .3s ease, border-color .25s ease;
  position:relative; overflow:hidden;
}
.prayer-card::before{
  content:""; position:absolute; top:0; inset-inline:0; height:3px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity:0; transition:opacity .3s ease;
}
.prayer-card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 60px rgba(11,31,58,.12);
  border-color:var(--border-strong);
}
.prayer-card:hover::before{opacity:1}
.prayer-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.prayer-head > div:nth-child(2){flex:1}
.prayer-head h3{margin:0;font-size:19px;color:var(--ink)}
.cat{
  display:inline-block; margin-top:4px;
  font-size:12px; color:var(--gold-deep); font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
}
.time-ago{font-size:12px;color:var(--muted);white-space:nowrap}
.prayer-card > p{color:var(--ink-2);font-size:15px;line-height:1.7;margin:0 0 14px}
.gentle-line{
  font-family:var(--serif); font-style:italic;
  color:var(--muted); font-size:14px; margin-bottom:16px;
  padding-bottom:12px; border-bottom:1px dashed var(--border);
}
.prayer-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.count{font-size:14px;color:var(--ink-2)}
.count strong{color:var(--gold-deep);font-family:var(--serif);font-size:18px;margin-inline-end:2px}

/* =============== STORIES =============== */
.stories-card .story{
  border:1px solid var(--border);
  background:linear-gradient(180deg, #fff, #fbf7ec);
  border-radius:22px; padding:18px 20px; margin-top:14px;
  transition:all .25s ease;
}
.stories-card .story:hover{border-color:var(--gold);transform:translateX(-4px)}
html[dir="rtl"] .stories-card .story:hover{transform:translateX(4px)}
.story h3{margin:6px 0;color:var(--ink)}
.story-cat{
  display:inline-block; font-size:11px; color:var(--gold-deep);
  font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:4px 10px; border-radius:999px;
  background:var(--gold-soft);
}
.story-link{
  display:inline-block; margin-top:6px; font-size:14px;
  color:var(--gold-deep); font-weight:600;
}
.story-link:hover{color:var(--ink)}
.stack{display:flex;flex-direction:column;gap:20px}

.calendar-card .times{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
.calendar-card .times > div{
  border:1px solid var(--border);
  background:linear-gradient(180deg, #fffdf3, #faf3de);
  border-radius:16px; padding:14px 16px;
}
.calendar-card .times span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px;letter-spacing:.06em}
.calendar-card .times strong{font-family:var(--serif);font-size:22px;color:var(--ink)}

.compass-wrap{display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:center;margin-top:10px}
.compass{
  position:relative; width:130px; height:130px; border-radius:50%;
  background:radial-gradient(circle at 50% 40%, #fffcee, #f1e4c2);
  box-shadow:
    inset 0 4px 14px rgba(184,147,90,.25),
    0 10px 30px rgba(11,31,58,.12);
  border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;
}
.compass-ring{
  position:absolute; inset:10px; border-radius:50%;
  border:1px dashed rgba(184,147,90,.5);
}
.compass-marks{
  position:absolute; inset:0; font-family:var(--serif); font-size:12px; color:var(--gold-deep); font-weight:700;
}
.compass-marks span{position:absolute;transform:translate(-50%,-50%)}
.compass-marks span:nth-child(1){top:12px;left:50%}
.compass-marks span:nth-child(2){top:50%;right:12px;left:auto;transform:translate(50%,-50%)}
.compass-marks span:nth-child(3){bottom:12px;top:auto;left:50%;transform:translate(-50%,50%)}
.compass-marks span:nth-child(4){top:50%;left:12px}
.arrow{
  width:0; height:0;
  border-left:14px solid transparent; border-right:14px solid transparent;
  border-bottom:44px solid var(--gold-deep);
  filter:drop-shadow(0 4px 8px rgba(184,147,90,.4));
  transform:rotate(32deg); transform-origin:center bottom;
  animation:needle 6s ease-in-out infinite;
}
@keyframes needle{
  0%,100%{transform:rotate(30deg)}
  50%{transform:rotate(36deg)}
}
.compass-center{
  position:absolute; width:10px; height:10px; border-radius:50%;
  background:var(--gold-deep); box-shadow:0 0 0 3px rgba(184,147,90,.25);
}

.inverse{
  background:
    radial-gradient(400px 200px at 90% 0%, rgba(212,176,122,.3), transparent 60%),
    linear-gradient(160deg, var(--ink) 0%, var(--ink-2) 60%, #0a1c34 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.06);
}
.inverse h2{color:#fff}
.inverse .section-tag.light{color:var(--gold-2)}
.inverse p{color:#c5cad7}
.gold{color:var(--gold-2);font-family:var(--serif);font-style:italic}

.sparkline{
  display:flex; align-items:end; gap:5px; margin-top:16px; height:54px;
}
.sparkline span{
  flex:1; background:linear-gradient(180deg, var(--gold-2), var(--gold-deep));
  border-radius:4px 4px 0 0; opacity:.85;
  animation:spark 2.6s ease-in-out infinite;
}
.sparkline span:nth-child(1){height:30%;animation-delay:0s}
.sparkline span:nth-child(2){height:50%;animation-delay:.1s}
.sparkline span:nth-child(3){height:70%;animation-delay:.2s}
.sparkline span:nth-child(4){height:45%;animation-delay:.3s}
.sparkline span:nth-child(5){height:85%;animation-delay:.4s}
.sparkline span:nth-child(6){height:65%;animation-delay:.5s}
.sparkline span:nth-child(7){height:90%;animation-delay:.6s}
.sparkline span:nth-child(8){height:55%;animation-delay:.7s}
.sparkline span:nth-child(9){height:75%;animation-delay:.8s}
.sparkline span:nth-child(10){height:40%;animation-delay:.9s}
.sparkline span:nth-child(11){height:95%;animation-delay:1s}
.sparkline span:nth-child(12){height:60%;animation-delay:1.1s}
@keyframes spark{
  0%,100%{transform:scaleY(1);opacity:.85}
  50%{transform:scaleY(1.1);opacity:1}
}

/* =============== ABOUT STATS =============== */
.stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:20px;
}
.stats > div{
  text-align:center;
  padding:18px 10px;
  border:1px solid var(--border);
  border-radius:18px;
  background:linear-gradient(180deg, #fffdf4, #f9f1dc);
}
.stats strong{
  display:block; font-family:var(--serif); font-size:28px; color:var(--gold-deep);
  line-height:1.1;
}
.stats span{font-size:12px;color:var(--muted);letter-spacing:.08em}

/* =============== SMALL CANDLE =============== */
.small-candle{
  position:relative; width:28px; height:40px; flex:0 0 auto;
}
.small-candle::before{
  content:""; position:absolute; bottom:0; right:50%; transform:translateX(50%);
  width:10px; height:20px; border-radius:2px;
  background:linear-gradient(to bottom, #e7cb90, #b58d49 70%, #8a6a37);
}
.small-candle::after{
  content:""; position:absolute; bottom:20px; right:50%; transform:translateX(50%);
  width:1.5px; height:5px; background:#3a2616; border-radius:2px;
}
.small-flame{
  position:absolute; bottom:22px; right:50%; transform:translateX(50%);
  width:14px; height:20px; border-radius:50%;
  background:radial-gradient(circle at 50% 65%, #fff7d6 0%, #ffe196 40%, #f6c453 70%, #e39b2e 100%);
  box-shadow:0 0 16px rgba(246,196,83,.55);
  animation:flicker2 2.1s ease-in-out infinite;
  transform-origin:center bottom;
}
@keyframes flicker2{
  0%,100%{transform:translateX(50%) scale(1) rotate(-1deg);opacity:.95}
  50%{transform:translateX(50%) scale(1.06,.96) rotate(1deg);opacity:1}
}

/* =============== FOOTER =============== */
.footer{
  margin-top:40px;
  background:
    linear-gradient(180deg, transparent, rgba(184,147,90,.06)),
    var(--bg-2);
  border-top:1px solid var(--border);
}
.footer-main{
  max-width:1240px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:20px;
  padding:40px 28px 24px;
}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand .star{font-size:26px;color:var(--gold);background:none;border:none;box-shadow:none;width:auto;height:auto}
.footer-brand .brand-sub{font-family:var(--serif);font-style:italic;color:var(--gold-deep)}
.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:15px}
.footer-bottom{
  max-width:1240px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:10px;
  padding:16px 28px 28px;
  border-top:1px solid var(--border);
  color:var(--muted); font-size:13px;
}

/* =============== ADMIN =============== */
.admin-body{
  background:
    radial-gradient(700px 360px at 100% 0%, rgba(212,176,122,.22), transparent 60%),
    var(--bg-2);
  min-height:100vh;
}
.admin-main{max-width:1240px;margin:0 auto;padding:40px 28px 56px}
.admin-hello{
  display:flex; justify-content:space-between; align-items:end;
  flex-wrap:wrap; gap:16px; margin-bottom:24px;
}
.admin-hello h1{font-size:38px;margin:0}
.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.admin-grid .card.wide{grid-column:span 2}
.admin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
.admin-stats > div{
  border:1px solid var(--border);
  background:linear-gradient(180deg, #fffdf4, #faf3de);
  border-radius:16px; padding:14px 16px;
}
.admin-stats span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}
.admin-stats strong{font-family:var(--serif);font-size:22px;color:var(--ink)}

.saved-toast{
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%);
  background:var(--ink); color:#fff; padding:14px 22px; border-radius:14px;
  box-shadow:0 20px 40px rgba(11,31,58,.3); z-index:60;
  opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease;
  font-size:14px; font-weight:500;
}
.saved-toast.show{opacity:1;transform:translateX(-50%) translateY(-4px)}

/* =============== RESPONSIVE =============== */
@media (max-width: 1020px){
  .hero-inner,.split,.split.reverse,.cards-grid,.admin-grid,.compass-wrap{grid-template-columns:1fr}
  .admin-grid .card.wide{grid-column:auto}
  .hero h1{font-size:48px}
  .hero-copy{font-size:18px}
  .hero-right{margin-top:16px}
  .hero-floater{left:auto;right:16px;bottom:-20px}
  .nav{display:none}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center;flex-direction:column}
  .nav.open{
    display:flex; flex-direction:column; gap:12px;
    position:absolute; top:100%; inset-inline:0;
    background:rgba(253,251,244,.98); backdrop-filter:blur(16px);
    padding:18px 22px; border-bottom:1px solid var(--border);
    box-shadow:var(--shadow);
  }
  .section-head{flex-direction:column;align-items:start}
}
@media (max-width: 640px){
  body{font-size:16px}
  h1{font-size:40px !important}
  h2{font-size:26px}
  .topbar{padding:12px 16px}
  .hero-inner,.section,.admin-main,.footer-main,.footer-bottom{padding-inline:16px}
  .verse-text{font-size:22px}
  .cta-row,.live-row{display:flex;flex-direction:column;align-items:stretch}
  .cta-row .btn{width:100%}
  .pill{width:100%;justify-content:center}
  .card{padding:22px;border-radius:22px}
  textarea{min-height:160px}
  .sacred-panel{min-height:460px}
  .eternal-candle{top:150px}
  .sacred-text{top:340px}
}

/* =============== REVEAL ON SCROLL =============== */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
}

/* =============== LIVE DASHBOARD =============== */
.hero-dash{
  position:relative;
  isolation:isolate;
  padding:26px;
  border-radius:var(--radius-lg);
  background:
    radial-gradient(520px 300px at 100% -10%, rgba(212,176,122,.35), transparent 60%),
    radial-gradient(420px 320px at 0% 100%, rgba(255,215,140,.18), transparent 60%),
    linear-gradient(160deg, #0A1D37 0%, #0E2547 48%, #0B1F3A 100%);
  border:1px solid rgba(212,176,122,.25);
  box-shadow:
    0 40px 90px rgba(11,31,58,.32),
    inset 0 1px 0 rgba(255,255,255,.08);
  color:#EBE1CB;
  overflow:hidden;
}
.hero-dash::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.02) 0 2px, transparent 2px 6px);
  mix-blend-mode:overlay;
  opacity:.5;
}
.hero-dash-halo{
  position:absolute; top:-120px; right:-120px; width:360px; height:360px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(255,215,140,.22), transparent 70%);
  filter:blur(4px); z-index:0;
  animation:breath 9s ease-in-out infinite;
}
.hero-dash-stars{position:absolute;inset:0;pointer-events:none;z-index:0}
.hero-dash-stars i{
  position:absolute; left:var(--x); top:var(--y); width:3px; height:3px; border-radius:50%;
  background:#fff; box-shadow:0 0 8px rgba(255,240,200,.9);
  animation:twinkle 3.2s ease-in-out infinite;
  animation-delay:var(--d);
}

.hero-dash-head{
  position:relative; z-index:1;
  display:flex; justify-content:space-between; align-items:center;
  gap:16px; flex-wrap:wrap; margin-bottom:22px;
}
.hero-dash-title{display:flex;align-items:center;gap:14px}
.hero-dash-flame{
  position:relative; width:42px; height:42px; border-radius:14px;
  background:
    radial-gradient(circle at 50% 50%, rgba(246,196,83,.3), transparent 70%),
    linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,0));
  border:1px solid rgba(212,176,122,.35);
  display:inline-flex; align-items:center; justify-content:center;
}
.hero-dash-flame .f-core{
  width:12px; height:18px; border-radius:50%;
  background:radial-gradient(circle at 50% 65%, #fff7d6 0%, #ffe196 40%, #f6c453 70%, #e39b2e 100%);
  box-shadow:0 0 20px rgba(246,196,83,.8);
  animation:flicker2 2.1s ease-in-out infinite;
  transform-origin:center bottom;
}
.hero-dash-flame .f-halo{
  position:absolute; inset:0; border-radius:inherit;
  box-shadow:inset 0 0 18px rgba(246,196,83,.2);
  pointer-events:none;
}
.hero-dash-kicker{
  font-family:var(--serif); font-size:15px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold-2); font-weight:700;
}
.hero-dash-sub{font-size:18px;color:#F3EAD2;margin-top:4px;font-weight:600}

.hero-dash-pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 16px; border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(212,176,122,.35);
  font-size:15px; font-weight:700; color:var(--gold-2);
  letter-spacing:.08em;
}
.hero-dash-pill .dot{
  width:8px; height:8px; border-radius:50%; background:#6fe08d;
  box-shadow:0 0 0 4px rgba(111,224,141,.2);
  animation:pulse 1.8s ease-in-out infinite;
}

.hero-dash-metrics{
  position:relative; z-index:1;
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px;
}
.dash-metric{
  position:relative;
  padding:16px 16px 14px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(212,176,122,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
  transition:transform .3s ease, border-color .3s ease;
}
.dash-metric::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(240px 90px at 100% 0%, rgba(212,176,122,.18), transparent 70%);
}
.dash-metric:hover{transform:translateY(-2px);border-color:rgba(212,176,122,.4)}
.dash-metric-head{
  display:flex; justify-content:space-between; align-items:center;
  position:relative; z-index:1; margin-bottom:8px;
}
.dash-metric-ico{
  width:32px; height:32px; border-radius:10px;
  display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(212,176,122,.25), rgba(212,176,122,.05));
  border:1px solid rgba(212,176,122,.35); color:var(--gold-2);
}
.dash-metric-trend{
  font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:5px 10px; border-radius:999px;
  background:rgba(111,224,141,.12); color:#6fe08d;
  border:1px solid rgba(111,224,141,.25);
  display:inline-flex; align-items:center; gap:6px;
}
.dash-metric-trend.live{background:rgba(246,196,83,.12);color:#ffd98a;border-color:rgba(246,196,83,.3)}
.dash-metric-trend .ping{
  width:6px; height:6px; border-radius:50%; background:#ffd98a;
  box-shadow:0 0 0 3px rgba(255,217,138,.28);
  animation:pulse 1.4s ease-in-out infinite;
}
.dash-metric-num{
  font-family:var(--serif); font-size:40px; font-weight:800;
  line-height:1; color:#fff; letter-spacing:-.01em;
  position:relative; z-index:1;
}
.dash-metric-label{
  font-size:15px; color:#DCD1B4; margin-top:6px;
  letter-spacing:.04em; position:relative; z-index:1; font-weight:600;
}
.dash-metric-bar{
  margin-top:10px; height:3px; border-radius:999px; overflow:hidden;
  background:rgba(255,255,255,.08);
  position:relative; z-index:1;
}
.dash-metric-bar span{
  display:block; height:100%; width:var(--w, 60%);
  background:linear-gradient(90deg, var(--gold-deep), var(--gold-2));
  border-radius:inherit;
  box-shadow:0 0 12px rgba(212,176,122,.4);
  animation:barBreath 3.4s ease-in-out infinite;
}
@keyframes barBreath{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.25)}
}

.hero-dash-ctas{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px;
}
.dash-cta{
  position:relative;
  display:flex; align-items:center; gap:14px;
  padding:16px 16px; border-radius:18px;
  color:#fff; overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  border:1px solid transparent;
}
.dash-cta::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg, transparent, rgba(255,255,255,.18), transparent);
  transform:translateX(-110%); transition:transform .6s ease;
}
.dash-cta:hover{transform:translateY(-2px)}
.dash-cta:hover::after{transform:translateX(110%)}
.dash-cta.primary{
  background:linear-gradient(135deg, var(--gold-deep), #a57930 60%, var(--gold));
  box-shadow:0 18px 36px rgba(138,106,58,.35), inset 0 1px 0 rgba(255,255,255,.2);
}
.dash-cta.secondary{
  background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:1px solid rgba(212,176,122,.35);
  color:#fff;
}
.dash-cta.secondary:hover{border-color:rgba(212,176,122,.7)}
.dash-cta-ico{
  flex:0 0 auto; width:46px; height:46px; border-radius:14px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18);
  display:inline-flex; align-items:center; justify-content:center;
}
.dash-cta-text{display:flex;flex-direction:column;flex:1;min-width:0}
.dash-cta-title{font-family:var(--serif);font-size:23px;font-weight:800;line-height:1.15}
.dash-cta-sub{font-size:15px;opacity:.92;margin-top:4px;font-weight:500}
.dash-cta-arrow{font-family:var(--serif);font-style:italic;font-size:24px;opacity:.95}

.cta-mini-candle{
  position:relative; width:22px; height:30px; display:inline-block;
}
.cta-mini-candle::before{
  content:""; position:absolute; bottom:0; right:50%; transform:translateX(50%);
  width:8px; height:16px; border-radius:2px;
  background:linear-gradient(to bottom, #e7cb90, #b58d49 70%, #8a6a37);
}
.cta-mini-candle::after{
  content:""; position:absolute; bottom:16px; right:50%; transform:translateX(50%);
  width:1.5px; height:4px; background:#3a2616; border-radius:2px;
}
.cta-mini-flame{
  position:absolute; bottom:18px; right:50%; transform:translateX(50%);
  width:10px; height:14px; border-radius:50%;
  background:radial-gradient(circle at 50% 65%, #fff7d6 0%, #ffe196 40%, #f6c453 70%, #e39b2e 100%);
  box-shadow:0 0 12px rgba(246,196,83,.7);
  animation:flicker2 2.1s ease-in-out infinite;
  transform-origin:center bottom;
}

.hero-dash-ticker{
  position:relative; z-index:1;
  padding:14px 16px; border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(212,176,122,.2);
}
.ticker-title{
  display:flex; align-items:center; gap:10px;
  font-family:var(--serif); font-size:15px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold-2); margin-bottom:12px;
}
.ticker-title .ping.gold{
  width:8px;height:8px;border-radius:50%;background:var(--gold-2);
  box-shadow:0 0 0 4px rgba(212,176,122,.22);
  animation:pulse 1.8s ease-in-out infinite;
}
.ticker-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.ticker-list li{
  display:grid; grid-template-columns:10px 1fr auto; gap:12px; align-items:center;
  font-size:15.5px; color:#E1D8BF; padding:8px 0; font-weight:500;
  border-bottom:1px dashed rgba(212,176,122,.14);
}
.ticker-list li:last-child{border-bottom:none}
.t-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--gold-2); box-shadow:0 0 0 3px rgba(212,176,122,.2);
}
.t-time{font-size:13px;color:var(--gold-2);letter-spacing:.08em;white-space:nowrap;font-weight:600}

/* =============== VALIDITY + ANON BADGES =============== */
.validity-note{
  display:flex; align-items:center; gap:10px; margin-top:14px;
  padding:10px 14px; border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.6), rgba(253,248,233,.45));
  border:1px dashed var(--border-strong);
  color:var(--ink-2); font-size:13px;
}
.validity-note svg{color:var(--gold-deep);flex:0 0 auto}
.anon-badge{
  display:inline-flex; align-items:center; gap:8px; margin-bottom:12px;
  padding:7px 12px; border-radius:999px;
  background:linear-gradient(135deg, var(--gold-soft), #fff);
  border:1px solid var(--border-strong);
  font-size:12.5px; color:var(--ink-2);
}
.anon-badge svg{color:var(--gold-deep)}
.anon-badge strong{color:var(--gold-deep);font-family:var(--serif)}

/* =============== FEED TABS =============== */
.feed-tabs{
  display:inline-flex; padding:4px; border-radius:14px;
  background:rgba(255,255,255,.7); border:1px solid var(--border-strong);
}
.feed-tab{
  font-family:inherit; font-size:14px; font-weight:600;
  padding:9px 16px; border-radius:10px;
  background:transparent; border:none; color:var(--ink-2);
  cursor:pointer; transition:all .22s ease;
}
.feed-tab:hover{color:var(--gold-deep)}
.feed-tab.active{
  background:linear-gradient(135deg, var(--ink), var(--ink-2));
  color:#fff;
}
.feed-empty{
  text-align:center; padding:40px 16px; color:var(--muted);
  font-family:var(--serif); font-style:italic; font-size:17px;
}
.feed-empty.hidden{display:none}

/* =============== PRAYER CARD ENHANCEMENTS =============== */
.expiry-badge{
  position:absolute; top:14px; inset-inline-start:14px;
  display:inline-flex; align-items:center; gap:6px;
  font-size:11px; color:var(--muted); letter-spacing:.06em;
  padding:4px 9px; border-radius:999px;
  background:rgba(253,248,233,.8);
  border:1px solid var(--border);
}
.expiry-badge.warn{color:var(--red);border-color:rgba(162,58,58,.25);background:rgba(255,240,238,.9)}
.status-badge{
  display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  padding:4px 10px; border-radius:999px; margin-top:6px;
}
.status-פעילה{color:var(--gold-deep);background:var(--gold-soft);border:1px solid var(--border-strong)}
.status-נענתה{color:#fff;background:linear-gradient(135deg,#2a7f52,#3ca271);border:1px solid #3ca271}
.status-השתפר,.status-המצב{color:#2a7f52;background:rgba(60,162,113,.12);border:1px solid rgba(60,162,113,.3)}
.status-תודה{color:var(--ink);background:linear-gradient(135deg, var(--gold-soft), #fff);border:1px solid var(--border-strong)}
.mutual-mark{
  display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700;
  color:#a05c2a; padding:4px 9px; border-radius:999px;
  background:linear-gradient(135deg, #fff0d0, #fdf6de);
  border:1px solid rgba(184,147,90,.35);
  margin-inline-start:6px;
}

/* =============== PERSONAL AREA =============== */
.me-guest{margin-top:8px}
.guest-cta h3{font-family:var(--serif);font-size:22px;margin:6px 0 8px}
.guest-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.mine-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.status-opt{
  padding:14px 18px; border-radius:14px;
  background:linear-gradient(180deg, #fff, #fbf7ec);
  border:1px solid var(--border-strong);
  font-family:var(--serif); font-size:17px; color:var(--ink);
  cursor:pointer; transition:all .22s ease;
  text-align:start;
}
.status-opt:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.status-options{display:grid;gap:10px;margin-top:14px}

.bonds-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bonds-wrap.hidden{display:none}
.bond-card{
  padding:20px; border-radius:var(--radius-sm);
  background:linear-gradient(180deg,#fff,#fbf7ec);
  border:1px solid var(--border); text-align:center;
  position:relative; overflow:hidden;
}
.bond-card::before{
  content:""; position:absolute; top:-40px; right:-40px; width:160px; height:160px;
  border-radius:50%;
  background:radial-gradient(closest-side, rgba(212,176,122,.24), transparent 70%);
}
.bond-card h4{font-family:var(--serif);font-size:18px;margin:0 0 4px;color:var(--ink)}
.bond-card .bond-count{color:var(--muted);font-size:13px;margin-bottom:12px}
.bond-card.mutual{border-color:var(--gold)}

/* =============== LIBRARY =============== */
.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lib-card{
  padding:24px; border-radius:var(--radius);
  background:linear-gradient(180deg, #fff, #faf4e2);
  border:1px solid var(--border); cursor:pointer;
  transition:all .3s ease; position:relative; overflow:hidden;
}
.lib-card::before{
  content:""; position:absolute; inset-inline:0; top:0; height:3px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity:0; transition:opacity .3s ease;
}
.lib-card:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow)}
.lib-card:hover::before{opacity:1}
.lib-card .lib-cat{
  display:inline-block; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold-deep); font-weight:700;
  margin-bottom:8px;
}
.lib-card h3{font-family:var(--serif);font-size:22px;margin:0 0 8px;color:var(--ink)}
.lib-card p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.lib-card .lib-open{
  display:inline-block; margin-top:14px; font-size:13px; font-weight:700;
  color:var(--gold-deep);
}

.lib-text{
  margin-top:14px;
  font-family:var(--serif); font-size:20px; line-height:1.9;
  color:var(--ink-2); white-space:pre-line;
  padding:18px 22px; border-radius:var(--radius-sm);
  background:linear-gradient(180deg, #fffdf3, #fbf5e2);
  border:1px solid var(--border-strong);
  border-inline-start:3px solid var(--gold);
}

/* =============== NOTIFICATIONS =============== */
.notif-panel{
  position:fixed; top:80px; inset-inline-start:24px; width:min(380px, calc(100vw - 32px));
  z-index:80;
  background:linear-gradient(180deg, #fff, #fbf7ec);
  border:1px solid var(--border-strong); border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  padding:20px;
  transform-origin:top;
  animation:dropIn .22s ease both;
}
@keyframes dropIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
.notif-head{
  display:flex; justify-content:space-between; align-items:end;
  gap:10px; flex-wrap:wrap; margin-bottom:12px;
}
.notif-head h3{font-family:var(--serif);font-size:20px;margin:4px 0 0}
.notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto}
.notif-item{
  display:grid; grid-template-columns:32px 1fr auto; gap:10px; align-items:start;
  padding:12px; border-radius:14px;
  background:#fffdf6; border:1px solid var(--border);
  cursor:pointer; transition:all .22s ease;
}
.notif-item:hover{border-color:var(--border-strong);transform:translateY(-1px)}
.notif-item.unread{background:linear-gradient(180deg, rgba(233,217,183,.45), #fff);border-color:var(--border-strong)}
.notif-icon{
  width:32px; height:32px; border-radius:10px;
  display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--gold-soft), #fff);
  border:1px solid var(--border-strong); color:var(--gold-deep);
  font-size:16px; flex:0 0 auto;
}
.notif-body{font-size:14px;color:var(--ink-2);line-height:1.5}
.notif-time{font-size:11px;color:var(--muted);letter-spacing:.06em;white-space:nowrap;margin-top:2px}

/* =============== MODAL =============== */
.modal{
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:center; justify-content:center;
  padding:16px;
}
.modal[hidden]{display:none}
.modal-back{
  position:absolute; inset:0;
  background:rgba(11,31,58,.5);
  backdrop-filter:blur(10px);
  animation:fadeIn .22s ease both;
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-card{
  position:relative; z-index:1;
  background:linear-gradient(180deg, #fff, #faf4e2);
  border:1px solid var(--border-strong); border-radius:var(--radius-lg);
  padding:30px; width:min(540px, 100%); max-height:88vh; overflow-y:auto;
  box-shadow:var(--shadow-lg);
  animation:popIn .28s ease both;
}
.library-modal{width:min(640px,100%)}
@keyframes popIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.modal-close{
  position:absolute; top:14px; inset-inline-start:14px;
  width:36px; height:36px; border-radius:50%;
  background:#fff; border:1px solid var(--border-strong);
  color:var(--ink); cursor:pointer; font-size:15px; font-family:inherit;
  transition:all .22s ease;
}
.modal-close:hover{background:var(--gold-soft)}

.auth-modes{
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
  margin:14px 0 18px; padding:4px; border-radius:14px;
  background:rgba(255,255,255,.7); border:1px solid var(--border-strong);
}
.auth-mode{
  padding:11px 14px; border-radius:10px; border:none; background:transparent;
  cursor:pointer; font-family:inherit; font-size:14px; font-weight:600; color:var(--ink-2);
  transition:all .22s ease;
}
.auth-mode.active{
  background:linear-gradient(135deg, var(--ink), var(--ink-2)); color:#fff;
  box-shadow:0 6px 16px rgba(11,31,58,.18);
}
.auth-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-form label em{color:var(--red);font-style:normal;margin-inline-start:2px}
.auth-divider{
  display:flex; align-items:center; gap:10px; margin:12px 0;
  color:var(--muted); font-size:12px;
}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--border)}
.auth-error{color:var(--red);font-size:13px;min-height:18px;margin-top:4px}
.auth-toggle{font-size:13px;color:var(--muted);text-align:center;margin-top:10px}
.link-btn{
  background:none;border:none;color:var(--gold-deep);font-family:inherit;font-size:inherit;
  font-weight:700;cursor:pointer;text-decoration:underline;padding:0 4px;
}
.auth-registered-only{margin-top:6px}
.auth-registered-only.hidden,.auth-fields.hidden{display:none}

/* =============== RESPONSIVE ADDITIONS =============== */
@media (max-width: 1020px){
  .hero-inner{grid-template-columns:1fr}
  .hero-dash{margin-top:16px}
  .hero-dash-metrics{grid-template-columns:repeat(3,1fr)}
  .hero-dash-ctas{grid-template-columns:1fr}
  .library-grid,.bonds-wrap{grid-template-columns:repeat(2,1fr)}
  .top-actions .user-label{display:none}
}
@media (max-width: 640px){
  .top-actions{gap:6px}
  .user-btn{padding:6px 8px}
  .user-label{display:none}
  .hero-dash{padding:20px}
  .hero-dash-metrics{grid-template-columns:1fr 1fr}
  .hero-dash-metrics .metric-c{grid-column:span 2}
  .dash-metric-num{font-size:34px}
  .library-grid,.bonds-wrap{grid-template-columns:1fr}
  .auth-form .field-row{grid-template-columns:1fr}
  .notif-panel{top:70px;inset-inline-start:12px;inset-inline-end:12px;width:auto}
  .feed-tabs{width:100%;overflow-x:auto}
  .prayed-by-table{font-size:14px}
  .prayed-by-table th, .prayed-by-table td{padding:10px 8px}
}

/* =============== GOOGLE AUTH — TOP BUTTON =============== */
.google-top-btn{
  display:inline-flex !important; align-items:center; justify-content:center; gap:10px;
  font-size:15px; font-weight:700; padding:14px 18px;
}
.auth-top-divider{margin:14px 0 14px}
.opt-mark{font-size:12px;color:var(--muted);font-weight:500;margin-inline-start:4px}

/* =============== NOTIFY PREFS =============== */
.notify-prefs{
  margin-top:14px; padding:14px 16px; border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.7), rgba(253,248,233,.55));
  border:1px dashed var(--border-strong);
}
.notify-prefs-title{
  display:flex; align-items:center; gap:8px;
  font-family:var(--serif); font-weight:700; font-size:15px;
  color:var(--ink); margin-bottom:10px;
}
.notify-prefs-title svg{color:var(--gold-deep)}
.notify-row{
  display:flex; align-items:center; gap:10px;
  padding:8px 2px; font-size:14px; color:var(--ink-2);
  cursor:pointer;
}
.notify-row input{width:18px;height:18px;accent-color:var(--gold-deep)}
.notify-row strong{color:var(--ink);font-weight:700}

/* =============== WHO-PRAYED TABLE =============== */
.prayed-by-modal{width:min(720px,100%)}
.prayed-by-wrap{
  margin-top:14px; max-height:50vh; overflow-y:auto;
  border:1px solid var(--border-strong); border-radius:var(--radius-sm);
  background:#fffdf6;
}
.prayed-by-table{
  width:100%; border-collapse:collapse; font-size:15px;
}
.prayed-by-table th{
  text-align:start; padding:12px 14px;
  font-family:var(--serif); font-weight:700; font-size:14px;
  color:var(--ink-2); letter-spacing:.02em;
  background:linear-gradient(180deg, #fbf3df, #fffdf6);
  border-bottom:1px solid var(--border-strong);
  position:sticky; top:0;
}
.prayed-by-table td{
  padding:12px 14px; border-bottom:1px solid var(--border);
  color:var(--ink-2); vertical-align:middle;
}
.prayed-by-table tr:last-child td{border-bottom:none}
.prayed-by-table tr:hover td{background:rgba(233,217,183,.22)}
.prayed-by-name{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:16px}
.prayed-by-count{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px; border-radius:999px;
  background:linear-gradient(135deg, var(--gold-soft), #fff);
  border:1px solid var(--border-strong); font-size:13px; font-weight:700; color:var(--gold-deep);
}
.prayed-by-last{font-size:13px;color:var(--muted);font-weight:500}
.prayed-by-last.replied{color:var(--green);font-weight:700}
.reply-row-btn{
  padding:8px 14px; border-radius:10px;
  background:linear-gradient(135deg, var(--ink), var(--ink-2));
  color:#fff; border:none; font-family:inherit; font-weight:700; font-size:13px;
  cursor:pointer; transition:all .22s ease;
}
.reply-row-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.reply-row-btn.done{background:linear-gradient(135deg,#f3ead0,#fff);color:var(--gold-deep);border:1px solid var(--border-strong)}

.reply-panel{
  margin-top:18px; padding:16px; border-radius:var(--radius-sm);
  background:linear-gradient(180deg, #fffdf6, #fbf5e2);
  border:1px solid var(--border-strong);
}
.reply-panel.hidden{display:none}
.reply-to{font-family:var(--serif);font-size:16px;margin-bottom:12px;color:var(--ink-2)}
.reply-to strong{color:var(--ink);font-weight:700}
.reply-options{display:grid;gap:8px}
.reply-opt{
  padding:12px 14px; border-radius:12px;
  background:linear-gradient(180deg, #fff, #fbf7ec);
  border:1px solid var(--border-strong);
  font-family:var(--serif); font-size:15.5px; color:var(--ink);
  cursor:pointer; text-align:start; transition:all .22s ease;
}
.reply-opt:hover{border-color:var(--gold);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.reply-cancel{margin-top:12px;display:inline-block}

/* owner-only inline button in mine cards */
.who-prayed-btn{
  padding:8px 12px; border-radius:10px;
  background:linear-gradient(135deg, var(--gold-soft), #fff);
  border:1px solid var(--border-strong);
  color:var(--gold-deep); font-family:inherit; font-weight:700; font-size:13px;
  cursor:pointer; transition:all .22s ease;
}
.who-prayed-btn:hover{border-color:var(--gold);transform:translateY(-1px)}

/* =============== HELP BUTTON (topbar) =============== */
.help-btn{color:var(--gold-deep)}
.help-btn .help-pulse{
  position:absolute; inset:-3px; border-radius:14px;
  border:1.5px solid rgba(184,147,90,.55); pointer-events:none;
  animation:helpPulse 2.6s ease-out infinite; opacity:0;
}
.help-btn:hover .help-pulse{animation-play-state:paused}
.help-btn.seen .help-pulse{display:none}
@keyframes helpPulse{
  0%{transform:scale(.9);opacity:.8}
  70%{transform:scale(1.25);opacity:0}
  100%{transform:scale(1.25);opacity:0}
}

/* =============== MIC INPUT =============== */
.mic-field{position:relative}
.mic-field textarea{padding-inline-end:58px}
.mic-btn{
  position:absolute; top:10px; inset-inline-end:10px;
  width:40px; height:40px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#fff,#f7efda);
  border:1px solid var(--border-strong);
  color:var(--gold-deep); cursor:pointer;
  transition:all .22s ease;
  z-index:2;
}
.mic-btn:hover{border-color:var(--gold);color:var(--ink);transform:translateY(-1px)}
.mic-btn .mic-ring{
  position:absolute; inset:-4px; border-radius:50%;
  border:2px solid rgba(184,147,90,.6); opacity:0; pointer-events:none;
}
.mic-btn.listening{
  background:linear-gradient(135deg,#b5332e,#d14b40);
  color:#fff; border-color:#b5332e;
  box-shadow:0 8px 24px rgba(181,51,46,.35);
}
.mic-btn.listening .mic-ring{
  opacity:1; animation:micPulse 1.4s ease-out infinite;
}
.mic-btn.unsupported{opacity:.45;cursor:not-allowed}
@keyframes micPulse{
  0%{transform:scale(.85);opacity:.9}
  100%{transform:scale(1.6);opacity:0}
}
.mic-status{
  font-size:12.5px; color:var(--muted); margin-top:6px; min-height:16px;
  display:flex; align-items:center; gap:8px;
}
.mic-status.active{color:var(--gold-deep);font-weight:600}
.mic-status.error{color:var(--red)}
.mic-status .dotwave{display:inline-flex;gap:3px}
.mic-status .dotwave span{
  width:5px;height:5px;border-radius:50%;background:currentColor;
  animation:dotwave .9s ease-in-out infinite;
}
.mic-status .dotwave span:nth-child(2){animation-delay:.15s}
.mic-status .dotwave span:nth-child(3){animation-delay:.3s}
@keyframes dotwave{
  0%,100%{transform:translateY(0);opacity:.4}
  50%{transform:translateY(-4px);opacity:1}
}

/* =============== ONBOARDING TOUR =============== */
.tour-overlay{
  position:fixed; inset:0; z-index:200;
  display:flex; align-items:center; justify-content:center;
  padding:16px;
}
.tour-overlay[hidden]{display:none}
.tour-back{
  position:absolute; inset:0;
  background:
    radial-gradient(800px 500px at 80% 10%, rgba(212,176,122,.35), transparent 60%),
    radial-gradient(700px 500px at 15% 90%, rgba(255,240,205,.28), transparent 60%),
    rgba(11,31,58,.62);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  animation:fadeIn .3s ease both;
}
.tour-card{
  position:relative; z-index:1;
  background:linear-gradient(180deg, #fffdf4, #fbf3de 85%, #f7ead0);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-lg);
  padding:38px 36px 26px;
  width:min(580px, 100%); max-height:90vh; overflow:hidden;
  box-shadow:var(--shadow-lg), inset 0 1px 0 #fff;
  animation:tourIn .5s cubic-bezier(.2,.8,.2,1.05) both;
  display:flex; flex-direction:column;
}
@keyframes tourIn{
  from{opacity:0;transform:translateY(24px) scale(.94);filter:blur(4px)}
  to{opacity:1;transform:none;filter:none}
}
.tour-close{
  position:absolute; top:14px; inset-inline-start:14px;
  width:34px; height:34px; border-radius:50%;
  background:#fff; border:1px solid var(--border-strong);
  color:var(--ink); cursor:pointer; font-size:14px; font-family:inherit;
  z-index:3;
  transition:all .22s ease;
}
.tour-close:hover{background:var(--gold-soft)}
.tour-progress{
  position:absolute; top:0; inset-inline:0; height:3px;
  background:linear-gradient(90deg, var(--gold), var(--gold-2));
  width:0%; transition:width .45s cubic-bezier(.2,.8,.2,1);
  border-radius:0 0 2px 2px;
  box-shadow:0 0 12px rgba(184,147,90,.5);
}
.tour-stage{
  position:relative; flex:1; min-height:320px;
  display:flex; align-items:stretch; justify-content:center;
  padding:4px 0 18px;
}
.tour-step{
  position:absolute; inset:0;
  text-align:center; padding:0 8px;
  opacity:0; transform:translateY(18px);
  pointer-events:none;
  transition:opacity .45s ease, transform .45s ease;
}
.tour-step.is-active{
  opacity:1; transform:none; pointer-events:auto;
  position:relative;
}
.tour-step .section-tag{display:inline-block;margin-bottom:10px}
.tour-step h2{font-size:30px;margin:4px 0 12px}
.tour-step p{
  color:var(--ink-2); font-size:16.5px; line-height:1.75;
  max-width:460px; margin:0 auto;
}
.tour-step p strong{color:var(--gold-deep);font-weight:700}

.tour-art{
  width:120px; height:120px; margin:4px auto 14px;
  display:flex; align-items:center; justify-content:center;
  position:relative;
  color:var(--gold-deep);
}

/* art: welcome star */
.tour-star{position:relative;animation:tourFloat 4s ease-in-out infinite}
.tour-star svg{filter:drop-shadow(0 8px 20px rgba(184,147,90,.35))}
.tour-halo{
  position:absolute; inset:-22px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,230,170,.8), transparent 60%);
  animation:tourHalo 3.2s ease-in-out infinite;
  z-index:-1;
}
.tour-spark{
  position:absolute; width:6px; height:6px; border-radius:50%;
  background:#fff; box-shadow:0 0 10px #fff, 0 0 18px var(--gold-2);
  animation:sparkle 2.4s ease-in-out infinite;
}
.tour-spark.s1{top:8%; inset-inline-end:-6%; animation-delay:.1s}
.tour-spark.s2{bottom:10%; inset-inline-start:-4%; animation-delay:.9s}
.tour-spark.s3{top:52%; inset-inline-end:-10%; animation-delay:1.6s}
@keyframes tourFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes tourHalo{
  0%,100%{opacity:.55;transform:scale(.95)}
  50%{opacity:1;transform:scale(1.08)}
}
@keyframes sparkle{
  0%,100%{opacity:0;transform:scale(.6)}
  40%,60%{opacity:1;transform:scale(1)}
}

/* art: quill */
.tour-quill{position:relative;animation:tourTilt 3.2s ease-in-out infinite}
.tour-quill svg{filter:drop-shadow(0 8px 18px rgba(184,147,90,.3))}
.tour-ink{
  position:absolute; bottom:8px; inset-inline-start:30%;
  width:8px; height:8px; border-radius:50%;
  background:var(--ink);
  animation:inkDrop 2.2s ease-in-out infinite;
}
@keyframes tourTilt{
  0%,100%{transform:rotate(-3deg)}
  50%{transform:rotate(3deg)}
}
@keyframes inkDrop{
  0%,70%{opacity:0;transform:translateY(-14px) scale(.6)}
  85%{opacity:1;transform:translateY(-2px) scale(1)}
  100%{opacity:0;transform:translateY(10px) scale(.4)}
}

/* art: mic */
.tour-mic{position:relative;animation:micBob 2.4s ease-in-out infinite}
.tour-mic svg{filter:drop-shadow(0 8px 18px rgba(184,147,90,.3))}
.tour-mic-ring{
  position:absolute; inset:-8px; border-radius:50%;
  border:2px solid rgba(184,147,90,.55);
  opacity:0;
  animation:tourMicRing 2.4s ease-out infinite;
}
.tour-mic-ring.r1{animation-delay:0s}
.tour-mic-ring.r2{animation-delay:.6s}
.tour-mic-ring.r3{animation-delay:1.2s}
@keyframes micBob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes tourMicRing{
  0%{transform:scale(.65);opacity:.9}
  100%{transform:scale(1.7);opacity:0}
}

/* art: heart */
.tour-heart{position:relative;animation:heartBeat 1.4s ease-in-out infinite}
.tour-heart svg{filter:drop-shadow(0 8px 18px rgba(184,147,90,.3))}
.tour-beat{
  position:absolute; inset:-14px; border-radius:50%;
  background:radial-gradient(circle, rgba(212,176,122,.45), transparent 60%);
  animation:heartGlow 1.4s ease-in-out infinite;
  z-index:-1;
}
@keyframes heartBeat{
  0%,100%{transform:scale(1)}
  20%{transform:scale(1.08)}
  40%{transform:scale(.98)}
  60%{transform:scale(1.04)}
}
@keyframes heartGlow{
  0%,100%{opacity:.5}
  50%{opacity:1}
}

/* art: bell */
.tour-bell{position:relative;animation:bellSwing 2.4s ease-in-out infinite;transform-origin:top center}
.tour-bell svg{filter:drop-shadow(0 8px 18px rgba(184,147,90,.3))}
.tour-bell-sparkle{
  position:absolute; top:-8px; inset-inline-end:-8px;
  width:12px; height:12px; border-radius:50%;
  background:radial-gradient(circle, #fff, var(--gold-2));
  box-shadow:0 0 12px var(--gold-2);
  animation:sparkle 2.4s ease-in-out infinite .4s;
}
@keyframes bellSwing{
  0%,100%{transform:rotate(-8deg)}
  50%{transform:rotate(8deg)}
}

/* art: candle */
.tour-candle{position:relative;width:60px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.tour-candle-body{
  width:34px; height:62px;
  background:linear-gradient(180deg,#fffaee,#f3e3bc);
  border:1px solid var(--border-strong);
  border-radius:6px 6px 4px 4px;
  box-shadow:inset 0 -8px 12px rgba(184,147,90,.25);
}
.tour-candle-flame{
  width:16px; height:24px; position:relative; margin-bottom:-4px;
}
.tour-candle-flame span{
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 70%, #fff 0%, #ffe39a 35%, #e3a245 70%, transparent 85%);
  border-radius:50% 50% 45% 45% / 60% 60% 40% 40%;
  animation:flameDance .9s ease-in-out infinite alternate;
  filter:blur(.3px);
}
.tour-candle-glow{
  position:absolute; top:-10px; inset-inline:50%; transform:translateX(-50%);
  width:80px; height:80px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,218,140,.8), transparent 60%);
  animation:flameGlow 1.6s ease-in-out infinite;
  z-index:-1;
}
@keyframes flameDance{
  0%{transform:scaleY(1) translateX(0)}
  100%{transform:scaleY(1.12) translateX(-1px)}
}
@keyframes flameGlow{
  0%,100%{opacity:.55;transform:translateX(-50%) scale(.92)}
  50%{opacity:1;transform:translateX(-50%) scale(1.1)}
}

/* footer */
.tour-foot{
  margin-top:6px; padding-top:16px;
  border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  flex-wrap:wrap;
}
.tour-dots{display:flex;gap:8px}
.tour-dot{
  width:9px; height:9px; border-radius:50%;
  background:var(--border-strong);
  transition:all .3s ease;
  cursor:pointer; border:none; padding:0;
}
.tour-dot.active{
  background:linear-gradient(135deg, var(--gold), var(--gold-deep));
  transform:scale(1.3);
  box-shadow:0 0 10px rgba(184,147,90,.4);
}
.tour-dot.done{background:var(--gold-2)}
.tour-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tour-skip{font-size:13px;color:var(--muted);text-decoration:none}
.tour-skip:hover{color:var(--gold-deep)}
.tour-buttons .btn{padding:10px 18px;font-size:14px}
.tour-buttons .btn[disabled]{opacity:.4;cursor:not-allowed}

@media (max-width:640px){
  .tour-card{padding:32px 22px 20px}
  .tour-step h2{font-size:24px}
  .tour-step p{font-size:15.5px}
  .tour-art{width:100px;height:100px}
  .tour-foot{justify-content:center}
  .tour-buttons{width:100%;justify-content:space-between}
}

@media (prefers-reduced-motion: reduce){
  .tour-star,.tour-quill,.tour-mic,.tour-heart,.tour-bell,
  .tour-halo,.tour-spark,.tour-ink,.tour-mic-ring,.tour-beat,
  .tour-bell-sparkle,.tour-candle-flame span,.tour-candle-glow,
  .help-pulse,.mic-btn .mic-ring{animation:none !important}
  .tour-step{transition:opacity .2s ease}
}

/* ============================================================
   ADDITIONS — language toggle, Tehillim, story modal, parsha,
   red mic, candle position fix, slightly bolder typography,
   spam-blocker toast
   ============================================================ */

/* --- slightly stronger typography --- */
body{font-weight:500}
.nav{font-weight:600}
.section-lead, .hero-copy, .prayer-card > p, p{font-weight:500}
.brand-main{font-weight:800}
h1{font-weight:800}
h2,h3{font-weight:800}
.btn{font-weight:700}
label{font-weight:700 !important}
.mini-title{font-weight:800}

/* --- microphone in red --- */
.mic-btn{
  background:linear-gradient(135deg,#d14b40,#b5332e) !important;
  color:#fff !important;
  border-color:#9a2a26 !important;
  box-shadow:0 8px 22px rgba(181,51,46,.35);
}
.mic-btn:hover{
  background:linear-gradient(135deg,#e85a4f,#c23c33) !important;
  color:#fff !important;
  border-color:#b5332e !important;
  transform:translateY(-1px);
}
.mic-btn .mic-ring{border-color:rgba(255,210,205,.85)}
.mic-btn.listening{
  background:linear-gradient(135deg,#ff6058,#d14b40) !important;
  border-color:#ff6058 !important;
}

/* --- move the candle to the LEFT side of the prayer card so
       it doesn't cover the requester's name --- */
.prayer-head{flex-direction:row-reverse}
.prayer-head > div:nth-child(2){flex:1; text-align:start}
.prayer-head .small-candle{margin-inline-start:6px; margin-inline-end:0}

/* --- LANGUAGE SWITCHER --- */
.lang-switch{
  display:inline-flex; align-items:center; gap:4px;
  padding:4px; border-radius:999px;
  background:rgba(255,255,255,.85);
  border:1px solid var(--border-strong);
  margin-inline-end:6px;
}
.lang-flag{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 10px; border-radius:999px;
  background:transparent; border:1px solid transparent;
  color:var(--ink-2); font-family:inherit; font-weight:700; font-size:12px;
  cursor:pointer; transition:all .2s ease;
}
.lang-flag svg{display:block; border-radius:2px; box-shadow:0 1px 2px rgba(0,0,0,.12)}
.lang-flag:hover{background:#fff; color:var(--gold-deep)}
.lang-flag.active{
  background:linear-gradient(135deg,#fff,#fbf3df);
  border-color:var(--border-strong);
  color:var(--gold-deep);
  box-shadow:inset 0 1px 0 #fff, 0 4px 10px rgba(184,147,90,.18);
}

/* English mode — switch UI direction and font (additive only) */
html[data-lang="en"]{direction:ltr}
html[data-lang="en"] body{direction:ltr; text-align:left}
html[data-lang="en"] .topbar,
html[data-lang="en"] .hero-inner,
html[data-lang="en"] .split,
html[data-lang="en"] .prayer-head,
html[data-lang="en"] .prayer-footer,
html[data-lang="en"] .footer-main,
html[data-lang="en"] .footer-bottom{direction:ltr}
html[data-lang="en"] .small-candle,
html[data-lang="en"] .small-candle::before,
html[data-lang="en"] .small-candle::after,
html[data-lang="en"] .small-flame{direction:ltr}
html[data-lang="en"] .lang-flag{font-family:"Heebo","Segoe UI",Arial,sans-serif}

/* --- TEHILLIM SECTION --- */
.tehillim-section{padding-top:0}
.tehillim-card{
  position:relative; overflow:hidden;
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(212,176,122,.28), transparent 60%),
    linear-gradient(180deg, #fffaec, #fbf2d6);
  border:1px solid var(--border-strong);
}
.tehillim-card::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(160px 120px at 18% 110%, rgba(255,235,180,.6), transparent 60%);
  pointer-events:none;
}
.tehillim-flame{
  position:absolute; top:18px; inset-inline-end:22px;
  width:48px; height:48px; pointer-events:none;
}
.tehillim-flame .t-core{
  position:absolute; inset:8px; border-radius:50% 50% 50% 50% / 65% 65% 35% 35%;
  background:radial-gradient(circle at 50% 70%, #fff7d6, #ffd277 55%, #d18a1f 100%);
  box-shadow:0 0 30px rgba(255,194,90,.6);
  animation:flicker 2.6s ease-in-out infinite;
  transform-origin:center bottom;
}
.tehillim-flame .t-halo{
  position:absolute; inset:-8px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,120,.45), transparent 65%);
  animation:glow 3.4s ease-in-out infinite;
}
.tehillim-meta{
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:18px 0 18px;
}
.tehillim-meta > div{
  background:#fffdf3; border:1px solid var(--border);
  border-radius:16px; padding:12px 14px;
}
.tehillim-meta span{display:block; color:var(--muted); font-size:12px; letter-spacing:.06em; margin-bottom:4px}
.tehillim-meta strong{font-family:var(--serif); font-size:20px; color:var(--ink); font-weight:800}
.tehillim-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:6px}
.tehillim-blurb{
  margin-top:18px; padding:14px 16px;
  border-inline-start:3px solid var(--gold);
  background:rgba(255,255,255,.6); border-radius:0 14px 14px 0;
  color:var(--ink-2); font-family:var(--serif); font-style:italic; font-size:15px;
  display:none;
}
.tehillim-blurb.show{display:block}
html[dir="ltr"] .tehillim-blurb{border-radius:14px 0 0 14px}

/* --- PARSHA on calendar card --- */
.parsha-strip{
  margin-top:14px; padding:14px 16px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:linear-gradient(135deg, #fffdf3, #f7eccb);
  border:1px solid var(--border-strong); border-radius:18px;
  position:relative; overflow:hidden;
}
.parsha-strip::before{
  content:""; position:absolute; inset-inline-start:-30%; top:-50%;
  width:60%; height:200%;
  background:linear-gradient(115deg, transparent, rgba(255,235,180,.5), transparent);
  transform:rotate(8deg);
  animation:parshaShine 6s ease-in-out infinite;
}
@keyframes parshaShine{
  0%,100%{transform:translateX(0) rotate(8deg); opacity:.5}
  50%{transform:translateX(220%) rotate(8deg); opacity:1}
}
.parsha-strip .p-label{font-size:12px; color:var(--gold-deep); font-weight:800; letter-spacing:.12em; text-transform:uppercase}
.parsha-strip .p-name{font-family:var(--serif); font-size:22px; color:var(--ink); font-weight:800; margin-top:2px}
.parsha-strip .p-link{
  color:var(--gold-deep); font-weight:700; font-size:13px;
  padding:8px 14px; border-radius:999px;
  background:#fff; border:1px solid var(--border-strong);
  text-decoration:none;
}
.parsha-strip .p-link:hover{background:var(--gold-soft); color:var(--ink)}

/* --- STORY MODAL --- */
.story-modal, .tehillim-modal{max-width:680px}
.story-modal-text, .tehillim-modal-text{
  margin-top:14px;
  font-family:var(--serif); font-size:18px; line-height:1.85; color:var(--ink-2);
  max-height:60vh; overflow:auto; padding-inline-end:6px;
  white-space:pre-line;
  font-weight:500;
}
.story-modal-foot, .tehillim-modal-foot{
  margin-top:18px; display:flex; justify-content:space-between; align-items:center; gap:12px;
}
.story-modal-source{color:var(--muted); font-size:13px; font-style:italic}

/* make story link feel clickable, no jump-to-top */
.story{cursor:pointer}
.story-link{cursor:pointer}

/* --- SPAM TOAST --- */
.spam-toast{
  position:fixed; bottom:80px; left:50%; transform:translateX(-50%) translateY(8px);
  background:linear-gradient(135deg, #b5332e, #d14b40);
  color:#fff; padding:14px 20px; border-radius:14px;
  display:flex; align-items:center; gap:14px; max-width:520px;
  box-shadow:0 22px 50px rgba(181,51,46,.4);
  z-index:80; opacity:0; transition:opacity .3s ease, transform .3s ease;
  pointer-events:none;
}
.spam-toast.show{opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto}
.spam-toast strong{display:block; font-size:14px; margin-bottom:2px}
.spam-toast span{font-size:13px; opacity:.92}
.spam-shield{font-size:24px; flex:0 0 auto}

/* --- LIVE CALENDAR polish (additive) --- */
.calendar-card .times > div{transition:transform .25s ease, background .25s ease}
.calendar-card .times > div.live-updated{
  background:rgba(201,163,90,.10);
  border-radius:10px;
  padding:4px 8px;
  transform:translateY(-1px);
}
.calendar-card .cal-live-tag{
  display:inline-flex; align-items:center; gap:6px;
  margin-top:8px; padding:4px 10px; border-radius:999px;
  background:rgba(16,122,88,.10); color:#107a58;
  font-size:11px; font-weight:800; letter-spacing:.1em;
}
.calendar-card .cal-live-tag::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background:#12a06f; box-shadow:0 0 0 0 rgba(18,160,111,.6);
  animation:calLivePulse 1.8s ease-out infinite;
}
@keyframes calLivePulse{
  0%{box-shadow:0 0 0 0 rgba(18,160,111,.55)}
  70%{box-shadow:0 0 0 8px rgba(18,160,111,0)}
  100%{box-shadow:0 0 0 0 rgba(18,160,111,0)}
}

/* --- SHARE RAIL (side sharing bar, additive) --- */
.share-rail{
  position:fixed;
  inset-inline-start:14px;  /* sits on the start side so RTL ⇒ right, LTR ⇒ left */
  top:50%;
  transform:translateY(-50%);
  z-index:70;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:12px 10px;
  background:rgba(255,253,245,.92);
  backdrop-filter:blur(10px);
  border:1px solid var(--border-strong, rgba(201,163,90,.55));
  border-radius:999px;
  box-shadow:0 18px 44px rgba(11,31,58,.16), 0 2px 6px rgba(11,31,58,.06);
  transition:opacity .3s ease, transform .3s ease;
}
.share-rail.collapsed{transform:translateY(-50%) translateX(calc((100% + 18px) * var(--rtl-dir, 1)))}
html[dir="rtl"] .share-rail{--rtl-dir:-1}
html[dir="ltr"] .share-rail{--rtl-dir:1}
.share-rail .share-rail-label{
  font-size:10px; font-weight:800; letter-spacing:.2em;
  color:var(--gold-deep, #8a6b2a); text-transform:uppercase;
  writing-mode:vertical-rl; transform:rotate(180deg);
  padding:2px 0;
}
html[dir="ltr"] .share-rail .share-rail-label{transform:none; writing-mode:vertical-lr}
.share-btn{
  width:38px; height:38px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(11,31,58,.08);
  background:#fff; color:#0B1F3A;
  cursor:pointer; text-decoration:none;
  box-shadow:0 4px 10px rgba(11,31,58,.06);
  transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.share-btn:hover{transform:translateY(-2px); box-shadow:0 8px 18px rgba(11,31,58,.18)}
.share-btn.share-fb:hover{background:#1877F2; color:#fff; border-color:#1877F2}
.share-btn.share-tw:hover{background:#111; color:#fff; border-color:#111}
.share-btn.share-wa:hover{background:#25D366; color:#fff; border-color:#25D366}
.share-btn.share-copy:hover{background:var(--gold-deep,#8a6b2a); color:#fff; border-color:var(--gold-deep,#8a6b2a)}
.share-btn.copied{background:#107a58; color:#fff; border-color:#107a58}
.share-toggle{
  position:absolute;
  top:-10px;
  inset-inline-end:-10px;
  width:22px; height:22px; border-radius:50%;
  border:1px solid var(--border-strong, rgba(201,163,90,.55));
  background:#fff; color:#0B1F3A;
  cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 4px 10px rgba(11,31,58,.12);
  transition:transform .3s ease;
}
.share-rail.collapsed .share-toggle{transform:rotate(180deg)}

@media (max-width:720px){
  .share-rail{
    flex-direction:row;
    top:auto; bottom:14px;
    inset-inline-start:50%;
    transform:translateX(-50%);
    border-radius:999px;
  }
  .share-rail.collapsed{transform:translateX(-50%) translateY(120%)}
  .share-rail .share-rail-label{writing-mode:horizontal-tb; transform:none}
  .share-toggle{top:-10px; inset-inline-end:50%; transform:translateX(50%)}
  .share-rail.collapsed .share-toggle{transform:translateX(50%) rotate(180deg)}
}

/* --- INLINE PROFANITY BOT BUBBLE (additive) --- */
.bot-field-wrap{position:relative}
.spam-bot-bubble{
  position:absolute;
  inset-inline-end:6px; bottom:calc(100% + 8px);
  display:flex; align-items:center; gap:8px;
  padding:9px 12px;
  background:linear-gradient(135deg, #fff7e7, #fff3d3);
  color:#6a4a10;
  border:1px solid rgba(201,163,90,.5);
  border-radius:14px 14px 14px 4px;
  font-size:13px; font-weight:600;
  box-shadow:0 10px 24px rgba(11,31,58,.12);
  max-width:min(320px, 90%);
  opacity:0; transform:translateY(4px) scale(.96);
  transition:opacity .22s ease, transform .22s ease;
  pointer-events:none;
  z-index:8;
}
.spam-bot-bubble.show{opacity:1; transform:translateY(0) scale(1)}
.spam-bot-bubble.level-warn{
  background:linear-gradient(135deg, #ffe8dc, #ffd0be);
  color:#7a2a1a; border-color:rgba(180,70,50,.45);
}
.spam-bot-bubble.level-block{
  background:linear-gradient(135deg, #f8c9c1, #f3a99d);
  color:#5e1a0f; border-color:rgba(160,50,35,.55);
}
.spam-bot-bubble .bot-ico{
  width:26px; height:26px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; font-size:15px; flex:0 0 auto;
  box-shadow:0 2px 6px rgba(11,31,58,.1);
  animation:botBounce 1.6s ease-in-out infinite;
}
@keyframes botBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}

/* keep it polite on small screens */
@media (max-width:720px){
  .lang-switch{margin-inline-end:0}
  .lang-flag span{display:none}
  .tehillim-meta{grid-template-columns:1fr}
  .tehillim-flame{display:none}
}

/* ---------- CITY ZMANIM TABLE (additive) ---------- */
.calendar-card .city-zmanim{
  /* nudged up by ~1cm per request (was margin-top:18px) */
  margin-top:calc(18px - 1cm);
  border-top:1px solid var(--gold-soft, rgba(198,160,84,.25));
  padding-top:14px;
}
.calendar-card .city-zmanim > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--serif);
  font-size:16px;
  color:var(--ink);
  font-weight:700;
  padding:10px 12px;
  border-radius:12px;
  background:linear-gradient(180deg, rgba(198,160,84,.10), rgba(198,160,84,.03));
  border:1px solid rgba(198,160,84,.22);
  transition:background .25s ease, transform .2s ease;
}
.calendar-card .city-zmanim > summary:hover{
  background:linear-gradient(180deg, rgba(198,160,84,.18), rgba(198,160,84,.06));
}
.calendar-card .city-zmanim > summary::-webkit-details-marker{display:none}
.calendar-card .city-zmanim .cz-icon{font-size:18px}
.calendar-card .city-zmanim .cz-chev{
  margin-inline-start:auto;
  color:var(--gold-deep, #7a5a23);
  transition:transform .25s ease;
  font-size:14px;
}
.calendar-card .city-zmanim[open] .cz-chev{transform:rotate(180deg)}
.calendar-card .city-zmanim .cz-body{padding:12px 4px 4px}
.calendar-card .city-zmanim .cz-status{
  font-size:13px; color:var(--muted); padding:10px 6px; text-align:center;
}
.calendar-card .city-zmanim .cz-tablewrap{
  max-height:360px;
  overflow:auto;
  border-radius:10px;
  border:1px solid rgba(198,160,84,.18);
  background:rgba(255,252,246,.6);
}
.calendar-card .city-zmanim .cz-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  direction:rtl;
}
.calendar-card .city-zmanim .cz-table th,
.calendar-card .city-zmanim .cz-table td{
  padding:9px 10px;
  text-align:right;
  border-bottom:1px solid rgba(198,160,84,.12);
}
.calendar-card .city-zmanim .cz-table thead th{
  position:sticky;
  top:0;
  background:linear-gradient(180deg, rgba(198,160,84,.18), rgba(198,160,84,.06));
  color:var(--gold-deep, #7a5a23);
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  z-index:1;
}
.calendar-card .city-zmanim .cz-table tbody tr:hover{background:rgba(198,160,84,.05)}
.calendar-card .city-zmanim .cz-city{font-weight:700; color:var(--ink)}
.calendar-card .city-zmanim .cz-in,
.calendar-card .city-zmanim .cz-out{
  font-family:var(--serif); font-size:16px; color:var(--ink); white-space:nowrap;
}
.calendar-card .city-zmanim .cz-par{color:var(--muted); font-size:13px}
.calendar-card .city-zmanim .cz-row-fail td{color:var(--muted); font-style:italic}
.calendar-card .city-zmanim .cz-foot{
  padding:8px 10px; font-size:11px; color:var(--muted); text-align:center;
}
@media (max-width:720px){
  .calendar-card .city-zmanim .cz-table{font-size:13px}
  .calendar-card .city-zmanim .cz-table th,
  .calendar-card .city-zmanim .cz-table td{padding:7px 6px}
  .calendar-card .city-zmanim .cz-par{display:none}
  .calendar-card .city-zmanim .cz-table thead th:last-child{display:none}
}

/* ================================================================
   ADDITIONS — About-page dedication, legal pages, PWA install hint,
   logo concept preview. Purely additive — does not override any
   existing rule.
   ================================================================ */

/* ---- Dedication block inside the About card ---- */
.about-card .dedication{
  margin-top: 18px;
  padding: 22px 22px 18px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(198,160,84,.10), rgba(198,160,84,.03)),
    radial-gradient(120% 120% at 100% 0%, rgba(255,255,255,.6), rgba(255,255,255,0) 60%);
  border: 1px solid rgba(198,160,84,.26);
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 8px 24px rgba(11,31,58,.06);
  position: relative;
  overflow: hidden;
}
.about-card .dedication::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(60% 80% at 0% 0%, rgba(255,222,160,.18), transparent 60%);
}
.about-card .dedication-verse{
  display:flex; flex-direction:column; gap:6px;
  text-align:center; padding:6px 8px 14px;
  border-bottom:1px dashed rgba(198,160,84,.35);
  margin-bottom:14px;
}
.about-card .dedication-verse em{
  font-family: var(--serif, 'Frank Ruhl Libre', serif);
  font-size: 18px;
  color: var(--ink, #0B1F3A);
  font-style: normal;
  line-height: 1.7;
}
.about-card .dedication-verse .dedication-orn{
  display:inline-block; color:#c6a054; font-size:18px; opacity:.85;
}
.about-card .dedication-verse .dedication-source{
  font-size: 12px; color: var(--muted, #6c6f7a);
  letter-spacing: .04em;
}
.about-card .dedication-tag{
  display:inline-block;
  font-size: 11px; letter-spacing:.14em; text-transform:uppercase;
  color:#7a5a23; background:rgba(198,160,84,.16);
  padding:3px 10px; border-radius:999px;
  margin-bottom: 8px;
}
.about-card .dedication-title{
  font-family: var(--serif, 'Frank Ruhl Libre', serif);
  font-size: 20px;
  line-height: 1.45;
  margin: 4px 0 12px;
  color: var(--ink, #0B1F3A);
}
.about-card .dedication p{
  font-size: 15.5px;
  line-height: 1.85;
  color: var(--ink, #1c2740);
  margin: 0 0 10px;
}
.about-card .dedication p:last-child{ margin-bottom: 0; }
@media (max-width: 720px){
  .about-card .dedication{ padding: 18px 16px 16px; }
  .about-card .dedication-verse em{ font-size: 16.5px; }
  .about-card .dedication-title{ font-size: 18px; }
  .about-card .dedication p{ font-size: 14.5px; }
}

/* ---- Legal pages (privacy / terms / accessibility) ---- */
.legal-doc{
  max-width: 920px;
  margin: 32px auto 80px;
  padding: 28px 30px 36px;
  background: #fffaf3;
  border: 1px solid rgba(198,160,84,.25);
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(11,31,58,.06);
  font-family: 'Heebo', system-ui, sans-serif;
  color: #1c2740;
  line-height: 1.85;
}
.legal-doc h1{
  font-family: 'Frank Ruhl Libre', serif;
  font-size: 30px; margin: 0 0 6px; color: #0B1F3A;
}
.legal-doc .legal-meta{
  font-size: 13px; color: #6c6f7a; margin-bottom: 18px;
  border-bottom: 1px dashed rgba(198,160,84,.35); padding-bottom: 14px;
}
.legal-doc h2{
  font-family: 'Frank Ruhl Libre', serif;
  font-size: 22px; color: #0B1F3A;
  margin: 26px 0 8px; border-right: 3px solid #c6a054; padding-right: 10px;
}
.legal-doc h3{ font-size: 17px; margin: 16px 0 4px; color: #1c2740; }
.legal-doc p, .legal-doc li{ font-size: 15px; }
.legal-doc ul{ padding-right: 22px; margin: 6px 0 14px; }
.legal-doc ul li{ margin-bottom: 4px; }
.legal-doc a{ color: #7a5a23; text-decoration: underline; }
.legal-doc .legal-back{
  display: inline-block; margin-bottom: 16px;
  font-size: 13px; color: #7a5a23; text-decoration: none;
  padding: 6px 12px; border-radius: 999px; background: rgba(198,160,84,.12);
}
.legal-doc .legal-back:hover{ background: rgba(198,160,84,.22); }
html[lang="en"] .legal-doc, .legal-doc[dir="ltr"]{ direction: ltr; text-align: left; }
.legal-doc[dir="ltr"] h2{ border-right: 0; border-left: 3px solid #c6a054; padding-right: 0; padding-left: 10px; }
.legal-doc[dir="ltr"] ul{ padding-right: 0; padding-left: 22px; }

/* ---- Cookie banner ---- */
.cookie-banner{
  position: fixed; left: 14px; right: 14px; bottom: 14px;
  z-index: 9000;
  background: rgba(11,31,58,.96);
  color: #fff8e8;
  border: 1px solid rgba(198,160,84,.4);
  border-radius: 16px;
  padding: 14px 18px;
  display: flex; flex-wrap: wrap; gap: 12px;
  align-items: center; justify-content: space-between;
  box-shadow: 0 16px 36px rgba(0,0,0,.28);
  font-family: 'Heebo', system-ui, sans-serif;
  font-size: 14px;
  transform: translateY(140%); transition: transform .35s ease;
}
.cookie-banner.show{ transform: translateY(0); }
.cookie-banner p{ margin: 0; flex: 1 1 280px; line-height: 1.55; }
.cookie-banner a{ color: #f1d597; text-decoration: underline; }
.cookie-banner .cookie-actions{ display: flex; gap: 8px; flex-shrink: 0; }
.cookie-banner button{
  font: inherit; cursor: pointer;
  padding: 8px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25);
  background: transparent; color: #fff8e8;
}
.cookie-banner button.primary{
  background: #c6a054; border-color: #c6a054; color: #0B1F3A; font-weight: 700;
}
.cookie-banner button:hover{ background: rgba(198,160,84,.18); }
.cookie-banner button.primary:hover{ background: #d4b06a; }

/* ---- PWA install nudge (small floating chip) ---- */
.pwa-install-chip{
  position: fixed; bottom: 86px; inset-inline-end: 16px;
  z-index: 8800;
  display: none;
  align-items: center; gap: 8px;
  padding: 9px 14px; border-radius: 999px;
  background: linear-gradient(135deg, #0B1F3A, #1a3358);
  color: #fff8e8; font-size: 13px;
  border: 1px solid rgba(198,160,84,.45);
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
  cursor: pointer;
}
.pwa-install-chip.show{ display: inline-flex; }
.pwa-install-chip .pwa-x{
  margin-inline-start: 6px; opacity: .7;
  border: 0; background: transparent; color: inherit; cursor: pointer;
  font-size: 14px; padding: 0 2px;
}

/* ---- Logo concept preview ---- */
.logo-concept-tray{
  margin-top: 18px;
  padding: 18px;
  border-radius: 16px;
  border: 1px dashed rgba(198,160,84,.45);
  background: linear-gradient(180deg, rgba(255,250,240,.85), rgba(255,250,240,.5));
}
.logo-concept-tray .lc-tag{
  display:inline-block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: #7a5a23; background: rgba(198,160,84,.16);
  padding: 3px 10px; border-radius: 999px; margin-bottom: 10px;
}
.logo-concept-tray h4{
  margin: 0 0 8px; font-family: 'Frank Ruhl Libre', serif;
  color: #0B1F3A; font-size: 19px;
}
.logo-concept-tray p{
  margin: 0 0 14px; font-size: 14px; color: #1c2740; line-height: 1.7;
}
.logo-concept-grid{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 14px;
}
.logo-concept-card{
  display: flex; flex-direction: column; align-items: center;
  gap: 8px; padding: 16px 12px;
  background: #fffdf7;
  border: 1px solid rgba(198,160,84,.25);
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(11,31,58,.06);
}
.logo-concept-card svg{ width: 84px; height: 84px; }
.logo-concept-card .lc-name{ font-weight: 700; color: #0B1F3A; font-size: 14px; }
.logo-concept-card .lc-note{ font-size: 12px; color: #6c6f7a; text-align: center; }
.logo-concept-card.dark{ background: #0B1F3A; }
.logo-concept-card.dark .lc-name{ color: #f5e9c8; }
.logo-concept-card.dark .lc-note{ color: #b9c4d8; }

/* =============== NAV DROPDOWNS (additive) =============== */
.nav .nav-item{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.nav .nav-item > a{padding:6px 2px;color:var(--ink-2)}
.nav .nav-caret{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; padding:0; margin-inline-start:2px;
  border:1px solid transparent; border-radius:999px;
  background:transparent; color:var(--gold-deep);
  cursor:pointer; transition:transform .25s ease, background .2s ease, border-color .2s ease;
}
.nav .nav-item:hover .nav-caret,
.nav .nav-item:focus-within .nav-caret,
.nav .nav-item.is-open .nav-caret{
  background:rgba(198,160,84,.14);
  border-color:rgba(198,160,84,.35);
  transform:rotate(-180deg);
}
.nav .nav-drop{
  position:absolute; top:calc(100% + 12px); inset-inline-end:-6px;
  min-width:220px; padding:10px;
  background:rgba(253,251,244,.98);
  border:1px solid var(--border-strong);
  border-radius:18px;
  box-shadow:0 22px 50px rgba(11,31,58,.16), 0 4px 14px rgba(11,31,58,.06);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .2s ease, transform .22s ease, visibility .22s;
  z-index:60;
}
.nav .nav-drop::before{
  content:""; position:absolute; top:-6px; inset-inline-end:24px;
  width:12px; height:12px; background:inherit;
  border-top:1px solid var(--border-strong);
  border-inline-start:1px solid var(--border-strong);
  transform:rotate(45deg);
  border-top-left-radius:3px;
}
.nav .nav-item:hover .nav-drop,
.nav .nav-item:focus-within .nav-drop,
.nav .nav-item.is-open .nav-drop{
  opacity:1; visibility:visible; transform:translateY(0);
}
.nav .nav-drop a{
  display:block; padding:10px 14px;
  color:var(--ink-2); font-size:14.5px; font-weight:500;
  border-radius:12px;
  transition:background .18s ease, color .18s ease, padding-inline-start .18s ease;
}
.nav .nav-drop a::after{display:none}
.nav .nav-drop a:hover,
.nav .nav-drop a:focus-visible{
  background:linear-gradient(135deg, rgba(233,217,183,.55), rgba(233,217,183,.2));
  color:var(--gold-deep);
  padding-inline-start:18px;
  outline:none;
}
/* bridge so dropdown doesn't close on small gap between trigger and menu */
.nav .nav-item::after{
  content:""; position:absolute; top:100%; inset-inline:-8px; height:14px;
  pointer-events:auto;
}
.nav .nav-item:not(:hover):not(:focus-within):not(.is-open)::after{pointer-events:none}

/* "עזרה" top-menu accent — makes the new help entry visually discoverable
   without overpowering the existing nav items. Additive only. */
.nav .nav-item.nav-item-help > a{
  color:var(--gold-deep,#c6a054);
  font-weight:700;
}
.nav .nav-item.nav-item-help > a::before{
  content:"✦"; font-size:11px; margin-inline-end:4px;
  color:var(--gold-deep,#c6a054);
}

/* mobile: nav opens as column — show dropdowns inline when is-open */
@media (max-width: 1020px){
  .nav.open .nav-item{display:flex; flex-direction:column; align-items:stretch; gap:4px}
  .nav.open .nav-item > a{flex:1}
  .nav.open .nav-caret{
    position:absolute; top:6px; inset-inline-end:0;
    width:32px; height:32px;
  }
  .nav.open .nav-drop{
    position:static; transform:none; opacity:0; visibility:hidden;
    max-height:0; overflow:hidden; padding:0; min-width:0;
    border:none; box-shadow:none; background:transparent; backdrop-filter:none;
    transition:max-height .3s ease, opacity .2s ease, padding .2s ease;
  }
  .nav.open .nav-drop::before{display:none}
  .nav.open .nav-item.is-open .nav-drop{
    opacity:1; visibility:visible; max-height:500px; padding:4px 0 6px;
    border-top:1px dashed rgba(198,160,84,.35);
    margin-top:4px;
  }
  .nav.open .nav-drop a{padding-inline-start:22px; font-size:14px}
}

/* =============== MEGA SEARCH (additive) =============== */
.mega-search{
  position:relative;
  padding:28px 28px 8px;
  background:
    radial-gradient(900px 300px at 80% 0%, rgba(255,231,178,.35), transparent 60%),
    radial-gradient(700px 260px at 10% 100%, rgba(233,217,183,.45), transparent 65%),
    linear-gradient(180deg, rgba(253,251,244,.6), transparent);
}
.mega-search-inner{
  max-width:1100px; margin:0 auto;
  text-align:center;
}
.mega-search-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 14px; border-radius:999px;
  background:rgba(255,255,255,.8);
  border:1px solid var(--border-strong);
  color:var(--gold-deep);
  font-size:12.5px; font-weight:600; letter-spacing:.06em;
}
.mega-search-dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--gold); box-shadow:0 0 0 4px rgba(184,147,90,.18);
  animation:breath 3s ease-in-out infinite;
}
.mega-search-title{
  font-family:var(--serif); font-weight:700;
  font-size:40px; line-height:1.1;
  margin:14px 0 6px;
  color:var(--ink);
  letter-spacing:-.01em;
}
.mega-search-lead{
  margin:0 auto 22px; max-width:720px;
  font-size:16px; color:var(--muted);
}
.mega-search-form{
  position:relative;
  display:flex; align-items:center; gap:8px;
  max-width:960px; margin:0 auto;
  padding:10px 14px 10px 10px;
  background:#fff;
  border:2px solid var(--border-strong);
  border-radius:26px;
  box-shadow:
    0 30px 60px -20px rgba(11,31,58,.18),
    0 10px 24px -12px rgba(184,147,90,.25),
    inset 0 1px 0 #fff;
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.mega-search-form:hover{border-color:var(--gold);}
.mega-search-form:focus-within{
  border-color:var(--gold);
  box-shadow:
    0 30px 70px -20px rgba(11,31,58,.22),
    0 12px 28px -10px rgba(184,147,90,.32),
    0 0 0 6px rgba(184,147,90,.14);
  transform:translateY(-1px);
}
.mega-search-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:54px; height:54px; flex:0 0 54px;
  color:var(--gold-deep);
}
.mega-search-input{
  flex:1; min-width:0;
  height:60px; padding:0 8px;
  background:transparent; border:none; outline:none;
  font-family:inherit; font-size:22px; color:var(--ink);
  line-height:1.2;
}
.mega-search-input::placeholder{color:var(--muted-2); opacity:.9; font-weight:400}
.mega-search-input::-webkit-search-cancel-button,
.mega-search-input::-webkit-search-decoration{-webkit-appearance:none; appearance:none}
.mega-search-clear{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; flex:0 0 40px;
  border:1px solid var(--border); background:#fff;
  border-radius:999px; color:var(--muted);
  cursor:pointer; transition:all .2s ease;
}
.mega-search-clear:hover{color:var(--red); border-color:var(--red)}
.mega-search-submit{
  display:inline-flex; align-items:center; gap:8px;
  height:54px; padding:0 26px;
  background:linear-gradient(135deg, var(--ink), var(--ink-2));
  color:#fff; border:none; border-radius:18px;
  font-family:inherit; font-size:16px; font-weight:700; letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 12px 24px -8px rgba(11,31,58,.4);
  transition:transform .2s ease, box-shadow .2s ease, background .3s ease;
}
.mega-search-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 32px -8px rgba(11,31,58,.5);
  background:linear-gradient(135deg, var(--gold-deep), var(--gold));
}
.mega-search-submit svg{transform:rotate(180deg)} /* RTL arrow */
html[dir="ltr"] .mega-search-submit svg{transform:none}

.mega-search-suggestions{
  position:relative;
  max-width:960px; margin:10px auto 0;
  background:#fff;
  border:1px solid var(--border-strong);
  border-radius:22px;
  box-shadow:0 24px 50px -16px rgba(11,31,58,.18);
  overflow:hidden;
  text-align:start;
}
.ms-sugg-group{padding:8px 6px}
.ms-sugg-group + .ms-sugg-group{border-top:1px dashed var(--border)}
.ms-sugg-head{
  padding:6px 14px; font-size:11.5px; font-weight:700;
  letter-spacing:.1em; color:var(--gold-deep); text-transform:uppercase;
}
.ms-sugg-item{
  display:flex; align-items:center; gap:12px;
  padding:10px 14px; border-radius:14px;
  color:var(--ink-2); font-size:15px;
  cursor:pointer; transition:background .18s ease, color .18s ease;
  text-decoration:none;
}
.ms-sugg-item:hover,
.ms-sugg-item.is-active{
  background:linear-gradient(135deg, rgba(233,217,183,.55), rgba(233,217,183,.15));
  color:var(--gold-deep);
}
.ms-sugg-ico{
  width:32px; height:32px; flex:0 0 32px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:10px;
  background:linear-gradient(135deg, #fff, var(--gold-soft));
  border:1px solid var(--border);
  color:var(--gold-deep);
}
.ms-sugg-text{flex:1; min-width:0}
.ms-sugg-title{display:block; font-weight:600; line-height:1.3}
.ms-sugg-title mark{
  background:linear-gradient(180deg, transparent 55%, rgba(184,147,90,.35) 55%);
  color:inherit; padding:0 1px;
}
.ms-sugg-sub{display:block; font-size:12.5px; color:var(--muted); margin-top:2px}
.ms-sugg-empty{
  padding:22px 18px; text-align:center; color:var(--muted);
  font-size:14.5px;
}

.mega-search-chips{
  display:flex; flex-wrap:wrap; justify-content:center;
  align-items:center; gap:8px;
  max-width:960px; margin:16px auto 0;
}
.mega-search-chips-label{
  font-size:12.5px; color:var(--muted); font-weight:600;
  letter-spacing:.04em; margin-inline-end:4px;
}
.ms-chip{
  padding:7px 14px;
  background:rgba(255,255,255,.75);
  border:1px solid var(--border-strong);
  border-radius:999px;
  color:var(--ink-2); font-family:inherit; font-size:13.5px; font-weight:500;
  cursor:pointer; transition:all .2s ease;
}
.ms-chip:hover{
  background:#fff; color:var(--gold-deep); border-color:var(--gold);
  transform:translateY(-1px);
}

@media (max-width: 720px){
  .mega-search{padding:20px 16px 4px}
  .mega-search-title{font-size:28px}
  .mega-search-lead{font-size:14.5px}
  .mega-search-form{padding:8px 8px 8px 6px; border-radius:20px}
  .mega-search-icon{width:44px; height:44px; flex-basis:44px}
  .mega-search-input{height:52px; font-size:17px}
  .mega-search-submit{height:46px; padding:0 16px; font-size:14.5px}
  .mega-search-submit span{display:none}
}

/* =========================================================
   HOMEPAGE SYMMETRY POLISH · additive override block
   Purpose: rebalance the hero so the two columns read as a
   deliberate, symmetric "יהודי מהודר" stage, and tidy the
   first section below it. Nothing earlier in this file has
   been removed or edited — this block simply layers on top.
   ========================================================= */

/* ---- The hero: two balanced columns that share a baseline ---- */
@media (min-width: 1021px){
  .hero-inner{
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
    align-items: stretch;
    padding-top: 56px;
    padding-bottom: 56px;
    max-width: 1280px;
  }

  .hero-left{
    display: flex;
    flex-direction: column;
    padding-top: 10px;
    height: 100%;
  }
  .hero-left > .eyebrow{ align-self: flex-start; }
  .hero-left > h1{ line-height: 1.08; margin-bottom: 14px; }
  .hero-left > .hero-copy{
    max-width: 560px;
    margin-bottom: 28px;
  }

  /* Left side cards fill their column evenly */
  .hero-left .daily-verse,
  .hero-left .daily-zmanim{
    max-width: none;
    width: 100%;
    margin-inline: 0;
  }
  .hero-left .daily-verse{ margin-bottom: 18px; margin-top: auto; }
  .hero-left .daily-zmanim{ margin-top: 0; margin-bottom: 0; }

  /* Right side dashboard stretches to the same height and
     pushes its ticker to the bottom so both columns land on
     the same baseline */
  .hero-dash{
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 30px;
  }
  .hero-dash-metrics{ margin-bottom: 16px; }
  .hero-dash-ctas{ margin-bottom: 18px; }
  .hero-dash-ticker{ margin-top: auto; }
}

/* ---- Verse + Zmanim: read as a matched, elegant pair ---- */
.hero-left .daily-verse,
.hero-left .daily-zmanim{
  border-radius: calc(var(--radius) + 4px);
  box-shadow:
    0 22px 44px -22px rgba(11,31,58,.26),
    inset 0 1px 0 rgba(255,255,255,.7);
}
.hero-left .daily-verse{ padding: 26px 30px; }
.hero-left .daily-zmanim{ padding: 26px 30px; }
.hero-left .verse-text{ font-size: 25px; line-height: 1.5; }

/* ---- Hero dashboard inner rhythm, so both columns feel like a pair ---- */
.hero-dash-head{ margin-bottom: 18px; }
.hero-dash-title .hero-dash-sub{ font-size: 17px; }
.hero-dash-metrics{ gap: 14px; }
.hero-dash-ctas{ gap: 14px; }

/* ---- Feed section head: cleaner, centered two-row split ----
   The tabs used to float to the right-bottom of the section head
   and read as "stuck to" the sub-title. Center-align them so they
   clearly belong to "בקשות פעילות" and breathe on their own line. */
#feed > .section-head,
#me  > .section-head{
  align-items: center;
  justify-content: space-between;
  row-gap: 14px;
}
#feed .feed-tabs,
#me   .feed-tabs{
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(253,248,233,.85));
  box-shadow: 0 10px 24px -14px rgba(11,31,58,.22);
}
#feed .feed-tab,
#me   .feed-tab{ padding: 10px 20px; font-size: 14.5px; }

/* ---- Small harmonizing tweaks so the first screen reads as one piece ---- */
.mega-search{ padding-bottom: 10px; }
.hero-backdrop{ opacity: .9; }

/* ---- Keep everything responsive: the stretch only kicks in on wide screens ---- */
@media (max-width: 1020px){
  .hero-left{ display: block; height: auto; }
  .hero-dash{ display: block; height: auto; }
  .hero-left .daily-verse,
  .hero-left .daily-zmanim{ max-width: 640px; }
}

/* =========================================================
   HERO REBALANCE · Zmanim on top, Verse beneath the network
   Purpose: the live prayer-times card now lives on the right
   column (beside the title+copy), and the daily verse slides
   under the live-network dashboard on the left column. This
   layout creates a mirrored bottom baseline: zmanim and verse
   sit on the same line, each tied to the card above it.
   All rules below are additive overrides — nothing earlier
   in this file is removed or rewritten.
   ========================================================= */
@media (min-width: 1021px){
  /* Zmanim now sits alone in the right column — push it down
     so its bottom edge aligns with the verse on the opposite side. */
  .hero-left .daily-zmanim{
    margin-top: auto;
    margin-bottom: 0;
  }

  /* Verse inside the live-network dashboard, at the very bottom. */
  .hero-dash{ gap: 0; }
  .hero-dash .hero-dash-verse{
    margin-top: 18px;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 22px 26px;
    border-radius: calc(var(--radius) + 4px);
    box-shadow:
      0 22px 44px -22px rgba(11,31,58,.26),
      inset 0 1px 0 rgba(255,255,255,.7);
  }
  .hero-dash .hero-dash-verse .verse-text{
    font-size: 22px;
    line-height: 1.5;
  }

  /* The ticker is no longer the last element, so cancel its
     pushed-to-bottom rule and let the verse be the floor. */
  .hero-dash-ticker{ margin-top: 16px; }
}

/* On tablets / phones the three cards stack naturally. The
   verse card still renders correctly because it inherits the
   existing .card + .daily-verse rules. */
@media (max-width: 1020px){
  .hero-dash .hero-dash-verse{
    margin-top: 16px;
    max-width: 640px;
  }
}

/* =========================================================
   ADMIN CMS · WordPress-style content manager (additive)
   Gives the admin page a real pages/posts manager with
   drag-and-drop ordering, inline edit, and live save state.
   Nothing earlier in this file is removed or rewritten.
   ========================================================= */
.admin-cms{
  max-width:1240px;
  margin:36px auto 0;
  padding:0 28px;
}
.admin-cms-head{
  display:flex; justify-content:space-between; align-items:end;
  flex-wrap:wrap; gap:16px; margin-bottom:18px;
}
.admin-cms-head h2{ font-size:28px; margin:6px 0 4px; }
.admin-cms-lead{
  color:var(--muted); font-size:14.5px; line-height:1.7;
  max-width:640px; margin:0;
}
.admin-cms-tabs{
  display:inline-flex; gap:4px; padding:4px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(253,248,233,.85));
  border:1px solid var(--border-strong);
  border-radius:999px;
  box-shadow:0 10px 24px -14px rgba(11,31,58,.22);
}
.admin-tab{
  appearance:none; background:transparent; border:none; cursor:pointer;
  padding:10px 22px; border-radius:999px; font:inherit; font-weight:600;
  color:var(--ink-2); transition:all .2s ease;
}
.admin-tab.active{
  background:linear-gradient(135deg, var(--ink), var(--ink-2));
  color:#fff;
  box-shadow:0 10px 20px -10px rgba(11,31,58,.4);
}

.admin-cms-status{
  margin:0 0 14px;
  padding:0 16px;
  height:0;
  overflow:hidden;
  border-radius:12px;
  display:flex; align-items:center;
  font-size:14px; font-weight:600;
  transition:all .3s ease;
  background:linear-gradient(180deg, #fffdf4, #faf3de);
  border:1px solid var(--border);
  color:var(--ink);
}
.admin-cms-status.show{
  height:auto; padding:12px 16px;
  margin-bottom:18px;
}
.admin-cms-status[data-tone="err"]{
  background:linear-gradient(180deg, #fff4f1, #ffe5de);
  border-color:#e9bfb4; color:#7a2e1e;
}

.admin-cms-grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap:20px;
  align-items:start;
}
@media (max-width: 1020px){
  .admin-cms-grid{ grid-template-columns:1fr; }
}

.admin-editor label{
  display:block; font-size:13px; font-weight:600; color:var(--ink-2);
  margin:14px 0 6px; letter-spacing:.04em;
}
.admin-editor input[type=text],
.admin-editor textarea{
  width:100%; box-sizing:border-box;
  padding:12px 14px; border-radius:12px;
  border:1px solid var(--border-strong);
  background:#fffdf7;
  font:inherit; color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.admin-editor textarea{ resize:vertical; min-height:140px; line-height:1.7; }
.admin-editor input[type=text]:focus,
.admin-editor textarea:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(212,176,122,.18);
}
.admin-editor-actions{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;
}
.admin-editor code{
  background:#fbf3dd; padding:2px 6px; border-radius:6px;
  font-size:12.5px; color:var(--gold-deep);
}

.btn-ghost{
  color:var(--ink);
  background:transparent;
  border:1px solid var(--border-strong);
  padding:10px 18px; font-size:14px; border-radius:12px;
}
.btn-ghost:hover{
  background:#fffdf4;
  border-color:var(--gold);
  color:var(--gold-deep);
}
.btn-ghost.danger{ color:#a84c3b; border-color:#e9bfb4; }
.btn-ghost.danger:hover{ background:#fff4f1; color:#7a2e1e; }

.admin-listing-head{
  display:flex; justify-content:space-between; align-items:center;
  gap:12px; margin-bottom:14px;
}
.admin-listing-head h3{ margin:4px 0 0; font-size:20px; }
.admin-list{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:10px;
  min-height:80px;
}
.admin-item{
  display:flex; align-items:center; gap:14px;
  padding:14px 16px;
  background:linear-gradient(180deg, #fffdf7, #faf2dd);
  border:1px solid var(--border-strong);
  border-radius:14px;
  box-shadow:0 8px 18px -14px rgba(11,31,58,.2);
  cursor:grab;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.admin-item:hover{ border-color:var(--gold); transform:translateY(-1px); }
.admin-item.dragging{ opacity:.5; cursor:grabbing; }
.admin-item.drop-hover{
  border-style:dashed;
  box-shadow:0 0 0 3px rgba(212,176,122,.25);
}
.admin-drag{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; color:var(--gold-deep); font-size:18px; user-select:none;
  letter-spacing:-1px;
}
.admin-item-body{ flex:1; min-width:0; }
.admin-item-title{
  font-family:var(--serif); font-size:17px; color:var(--ink);
  font-weight:600; line-height:1.3;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.admin-item-slug{
  display:block; font-size:12.5px; color:var(--muted);
  margin-top:3px; direction:ltr; text-align:start;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.admin-item-actions{ display:flex; gap:6px; flex-wrap:wrap; }
.admin-item-actions .btn{ padding:8px 12px; font-size:13px; }

.admin-empty{
  padding:20px; text-align:center;
  color:var(--muted); font-size:14px;
  border:1px dashed var(--border-strong); border-radius:14px;
  background:rgba(255,253,245,.6);
}
.admin-empty.admin-error{ color:#7a2e1e; border-color:#e9bfb4; background:#fff4f1; }

/* The "page viewer" public surface built from Blobs */
.public-page{
  max-width:780px; margin:0 auto; padding:56px 28px 80px;
  font-family:var(--sans);
}
.public-page h1{
  font-family:var(--serif); font-size:40px; line-height:1.15;
  color:var(--ink); margin:8px 0 20px;
}
.public-page .public-meta{
  color:var(--muted); font-size:13.5px;
  letter-spacing:.08em; text-transform:uppercase;
}
.public-page .public-body{
  font-size:18px; line-height:1.85; color:var(--ink-2);
  white-space:pre-wrap;
}
.public-page .public-loading{
  text-align:center; padding:80px 20px; color:var(--muted);
}
