:root{
    --ink:#3a2c1a; --ink-soft:#6b573c; --gold:#b08d3e; --gold-soft:#cdb079;
    --red:#9e2b25; --card:#fcf7ea; --line:#d8c79c;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{ -webkit-text-size-adjust:100%; }
  body{
    font-family:"Frank Ruhl Libre","Heebo",serif; color:var(--ink);
    background:#e9dcbd;
    background-image:radial-gradient(120% 80% at 50% -10%, #f6efdc 0%, #ece0c2 55%, #e3d4b0 100%);
    background-attachment:fixed; min-height:100vh; line-height:1.4;
    padding:18px 14px 40px;
  }
  .wrap{max-width:540px;margin:0 auto;}
  header{text-align:center;padding:6px 0 14px;}
  header img{width:172px;height:auto;display:block;margin:0 auto;
    filter:drop-shadow(0 2px 5px rgba(90,60,20,.22));}
  .orn{display:flex;align-items:center;justify-content:center;gap:10px;
    color:var(--gold);margin:4px 0 14px;}
  .orn::before,.orn::after{content:"";height:1px;width:46px;
    background:linear-gradient(90deg,transparent,var(--gold-soft),var(--gold));}
  .orn::after{background:linear-gradient(90deg,var(--gold),var(--gold-soft),transparent);}
  .orn span{font-size:13px;transform:rotate(45deg);}
  .card{background:var(--card);border-radius:14px;border:1px solid var(--line);
    box-shadow:0 0 0 4px #fcf7ea,0 0 0 5px var(--gold-soft),0 8px 22px rgba(90,60,20,.14);
    padding:20px 18px 22px;margin:0 0 24px;}
  .card h2{font-family:"Frank Ruhl Libre",serif;font-weight:900;font-size:1.62rem;
    text-align:center;color:var(--ink);letter-spacing:.5px;}
  .sub{font-family:"Frank Ruhl Libre",serif;font-weight:700;color:var(--gold);
    text-align:center;font-size:1.06rem;margin:18px 0 8px;}
  .sub:first-of-type{margin-top:14px;}
  .shulhdr{text-align:center;margin:16px 0 4px;}
  .sh-name{display:block;font-family:"Frank Ruhl Libre",serif;font-weight:700;font-size:1.06rem;color:var(--gold);}
  .sh-addr{display:block;font-size:.82rem;color:var(--ink-soft);margin-top:1px;font-variant-numeric:tabular-nums;}
  .shulhdr.closed-shul .sh-name{color:var(--ink-soft);opacity:.8;}
  .shulhdr.closed-shul .sh-addr{opacity:.8;}
  .closedtag{font-family:"Heebo",sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.5px;
    background:#e7ded0;color:#8a7a5c;padding:2px 9px;border-radius:999px;vertical-align:middle;margin-inline-start:6px;}
  /* A zman row is a name and a time. On a phone set to large text the name alone can be wider
     than the card — and with the בעוד countdown badge on it (חצות היום) it certainly is — so
     the row WRAPS: the name takes as many lines as it needs and the time drops to its own line,
     still on the far side. Without this the row could not shrink (the time is `nowrap`, the
     name would not break) and the time slid out past the edge of the card, outside its own
     highlight. `min-width:0` is what lets a flex child shrink below its longest word at all. */
  .row{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap;
    padding:7px 4px;border-bottom:1px dotted #e3d3ad;}
  .row:last-child{border-bottom:none;}
  .row .lbl{font-size:1.08rem;font-weight:700;color:var(--ink);
    flex:1 1 auto;min-width:0;overflow-wrap:anywhere;}
  .row .t{font-family:"Frank Ruhl Libre",serif;font-weight:700;font-size:1.1rem;
    color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;
    flex:0 0 auto;margin-inline-start:auto;}
  /* highlight keeps the SAME row size (same padding); only colour + weight change */
  .row.hl{background:#fbeceb;border-radius:8px;border-bottom-color:transparent;}
  .row.hl .lbl,.row.hl .t{color:var(--red);font-weight:900;}
  .tmr-note{text-align:center;color:var(--gold);font-weight:700;font-size:.9rem;margin:2px 0 10px;}
  .note{font-size:.92rem;color:var(--ink-soft);text-align:center;line-height:1.55;
    margin:10px 2px 2px;padding:9px 8px;background:#f6eed9;border-radius:8px;}
  .note b{color:var(--ink);font-weight:700;}
  .note.prominent{background:#fbe7c9;border:1.5px solid var(--gold);color:var(--ink);
    font-weight:800;font-size:1rem;box-shadow:0 2px 9px rgba(176,141,62,.28);}
  .rich{text-align:center;line-height:1.5;margin:6px 2px 2px;color:var(--ink);}
  .rich p{margin:3px 0;}
  .rich span{font-family:inherit !important;}
  .rich a{color:var(--gold);}
  .clock-card{text-align:center;padding-top:16px;}
  .clock-date{font-family:"Frank Ruhl Libre",serif;font-weight:700;font-size:1.14rem;color:var(--ink);}
  .clock-date small{display:block;font-family:"Heebo";font-weight:400;font-size:.85rem;color:var(--ink-soft);margin-top:2px;}
  #clock{font-family:"Frank Ruhl Libre",serif;font-weight:900;font-size:3.1rem;color:var(--gold);
    letter-spacing:2px;margin:6px 0 2px;font-variant-numeric:tabular-nums;}
  /* pinned date/time (user option): sticks to the top, compact, content scrolls under it */
  body.pin-date .clock-card{position:sticky;top:0;z-index:30;margin:0 0 16px;padding:8px 14px 10px;
    border-radius:0 0 14px 14px;box-shadow:0 5px 16px rgba(90,60,20,.22);}
  body.pin-date .clock-card .clock-date small{display:none;}
  body.pin-date #clock{font-size:1.85rem;margin:1px 0 0;}
  #countdown{margin:5px 0 0;font-family:"Heebo",sans-serif;font-size:.92rem;
    display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
  #countdown .cd-lbl{font-weight:700;color:var(--ink);}
  #countdown .cd-time{font-weight:800;color:var(--red);font-variant-numeric:tabular-nums;
    background:#fbeceb;padding:2px 11px;border-radius:999px;}
  body.pin-date #countdown{margin-top:3px;font-size:.86rem;}
  /* the בעוד badge rides on the name; inline-block so that when the name wraps it moves down
     with it in one piece instead of being broken across two lines */
  .zman-cd{display:inline-block;margin-inline-start:8px;font-family:"Heebo",sans-serif;
    font-size:.7rem;font-weight:700;
    color:var(--red);background:var(--card);border:1px solid #e7c7c3;padding:1px 8px;border-radius:999px;
    white-space:nowrap;vertical-align:middle;}
  /* זמני אמירת סליחות — seasonal 3-column card (CFG.selichos) */
  .sel-head,.sel-row{display:grid;grid-template-columns:72px 1fr 1.1fr;gap:6px;
    align-items:baseline;text-align:center;}
  .sel-head{font-family:"Heebo",sans-serif;font-size:.68rem;font-weight:700;color:var(--gold);
    line-height:1.3;padding:12px 4px 7px;border-bottom:1px solid var(--line);}
  .sel-row{padding:8px 4px;}
  .sel-row .sel-t{font-family:"Frank Ruhl Libre",serif;font-weight:700;font-size:1.12rem;
    color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
  .sel-row .sel-t.txt{font-family:"Heebo",sans-serif;font-size:.78rem;font-weight:700;
    white-space:normal;line-height:1.25;}
  .sel-row .sel-p{font-size:1.02rem;font-weight:700;color:var(--ink);}
  .sel-row .sel-a{font-size:.88rem;color:var(--ink-soft);}
  .sel-row.hl .sel-t,.sel-row.hl .sel-p,.sel-row.hl .sel-a{color:var(--red);font-weight:900;}
  .sel-skip{font-family:"Frank Ruhl Libre",serif;font-weight:700;font-size:1.08rem;
    color:var(--ink-soft);text-align:center;margin:12px 0 4px;}
  /* prominent notice card (a panel flagged `prominent`) — a poster shown right on the page */
  .notice-card{border-color:var(--gold);box-shadow:0 0 0 4px #fcf7ea,0 0 0 5px var(--gold),
    0 8px 22px rgba(90,60,20,.18);}
  .notice-card h2{color:var(--red);}
  .notice-card .pimg{margin-top:6px;}
  .teh-card{text-align:center;}
  .teh-range{font-family:"Frank Ruhl Libre",serif;font-weight:900;font-size:1.7rem;color:var(--red);
    margin:10px 0 2px;letter-spacing:.5px;}
  .teh-sub{font-family:"Heebo",sans-serif;font-size:.82rem;color:var(--ink-soft);}
  .teh-skip{font-family:"Frank Ruhl Libre",serif;font-weight:700;font-size:1.1rem;color:var(--ink-soft);margin:10px 0 4px;}
  footer{text-align:center;color:var(--ink-soft);font-size:.8rem;margin-top:6px;line-height:1.6;}
  footer .ft-name{display:block;font-family:"Frank Ruhl Libre",serif;font-weight:700;
    color:var(--ink);font-size:.98rem;letter-spacing:.2px;}
  footer .ft-addr{display:block;margin-top:2px;font-size:.82rem;}
  footer .ft-tel{display:block;margin-top:3px;}
  footer .ft-tel a{color:var(--gold);font-weight:700;text-decoration:none;white-space:nowrap;
    font-variant-numeric:tabular-nums;}
  .status{text-align:center;font-size:.74rem;color:var(--ink-soft);margin-top:10px;
    display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;}
  .status .dot{width:7px;height:7px;border-radius:50%;background:#7aa06a;display:inline-block;}
  .status.stale .dot{background:#c08a2e;}
  .status.off .dot{background:#b1483f;}
  #install{display:none;margin:2px auto 0;background:var(--gold);color:#fff;border:none;
    font-family:"Heebo";font-weight:700;font-size:.9rem;padding:9px 18px;border-radius:9px;
    box-shadow:0 3px 8px rgba(90,60,20,.2);cursor:pointer;}
  .fbtns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0 2px;}
  .fbtn{display:inline-flex;align-items:center;gap:6px;text-decoration:none;cursor:pointer;
    font-family:"Heebo",sans-serif;font-weight:700;font-size:.9rem;color:var(--ink);
    background:var(--card);border:1px solid var(--gold-soft);border-radius:999px;
    padding:9px 16px;box-shadow:0 2px 6px rgba(90,60,20,.12);}
  .fbtn:active{transform:translateY(1px);}
  .modal{position:fixed;inset:0;background:rgba(40,28,12,.55);display:none;align-items:center;
    justify-content:center;padding:20px;z-index:50;}
  .modal.open{display:flex;}
  .modal-box{background:var(--card);border:1px solid var(--gold-soft);border-radius:16px;
    max-width:420px;width:100%;padding:22px 20px;position:relative;
    box-shadow:0 0 0 4px #fcf7ea,0 0 0 5px var(--gold-soft),0 14px 44px rgba(40,28,12,.4);}
  .modal-x{position:absolute;top:8px;left:14px;background:none;border:none;font-size:1.7rem;
    line-height:1;color:var(--ink-soft);cursor:pointer;}
  .modal-title{text-align:center;font-family:"Frank Ruhl Libre",serif;font-weight:900;
    font-size:1.32rem;color:var(--ink);margin-bottom:12px;}
  .prow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
    padding:9px 8px;border-radius:8px;border-bottom:1px dotted #e3d3ad;}
  .prow:last-child{border-bottom:none;}
  .prow.men{background:#eef2f6;} .prow.ladies{background:#f7eef2;}
  .prow .pk{font-size:1.05rem;font-weight:700;color:var(--ink);}
  .prow .pv{font-family:"Frank Ruhl Libre",serif;font-weight:700;font-size:1.05rem;color:var(--red);
    white-space:nowrap;font-variant-numeric:tabular-nums;}
  .modal-body{max-height:72vh;overflow-y:auto;}
  .pimg{display:block;margin:12px 0 4px;text-decoration:none;}
  .pimg img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--gold-soft);
    box-shadow:0 3px 10px rgba(90,60,20,.16);}
  .pcap{display:block;text-align:center;font-weight:700;color:var(--ink);font-size:.9rem;margin-bottom:6px;}
  .pnote{margin-top:12px;font-size:.85rem;color:var(--ink-soft);text-align:center;line-height:1.5;}
  .rm-lab{font-weight:700;color:var(--ink);font-size:.9rem;margin:12px 0 5px;}
  .rm-sel{width:100%;font:inherit;padding:9px 10px;border:1px solid var(--gold-soft);border-radius:9px;background:#fff;color:var(--ink);}
  .rm-days{display:flex;gap:5px;justify-content:space-between;}
  .rm-day{flex:1;min-width:0;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;
    border:1px solid var(--gold-soft);background:#fff;color:var(--ink-soft);border-radius:8px;padding:8px 2px;}
  .rm-day.on{background:var(--gold);color:#fff;border-color:var(--gold);}
  .rm-offs{display:flex;gap:8px;align-items:center;}
  .rm-off{font:inherit;font-weight:700;cursor:pointer;border:1px solid var(--gold-soft);background:#fff;
    color:var(--ink);border-radius:999px;padding:8px 16px;}
  .rm-off.on{background:var(--gold);color:#fff;border-color:var(--gold);}
  .rm-custom{flex:1;min-width:60px;font:inherit;padding:8px 10px;border:1px solid var(--gold-soft);border-radius:9px;background:#fff;text-align:center;}
  .rm-add{width:100%;margin-top:16px;font:inherit;font-weight:700;cursor:pointer;border:none;
    background:var(--gold);color:#fff;border-radius:10px;padding:12px;box-shadow:0 3px 8px rgba(90,60,20,.2);}
  .rm-note{margin-top:12px;font-size:.78rem;color:var(--ink-soft);text-align:center;line-height:1.5;}
  .rm-msg{min-height:20px;text-align:center;font-weight:700;font-size:.85rem;margin-top:8px;}
  .rm-msg .ok{color:#2b7a2b;} .rm-msg .err{color:var(--red);}
  .skeleton{opacity:.45;}
  @media (max-width:360px){
    .card h2{font-size:1.42rem;} #clock{font-size:2.6rem;}
  }

/* ---- 🌤️ weather: one quiet line above the parking note, today and tomorrow ---- */
#weatherbar{display:none;}
/* Simon, 14 Oct 2026: *"Make the whether and the alternate side darker, as its a bit hard on
   the eyes"* — both lines were אינק-soft on a 45%-white wash, which is fine on a desk and thin
   on a phone outdoors. Full אינק on a more opaque card, a slightly larger face, and a deeper
   gold for the labels. The LINE is still quiet; the TEXT is now readable. */
#weatherbar.on{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;
  gap:4px 16px;max-width:560px;margin:14px auto 0;padding:11px 14px;
  border:1px solid var(--gold-soft);border-radius:12px;background:rgba(255,255,255,.78);
  font-size:.92rem;line-height:1.5;color:var(--ink);text-align:center;font-weight:600;}
/* a day's entry may now carry "גשם 11 בבוקר עד 8 בערב · מעיל", so it wraps — only the
   temperature pair and the hours are held together */
#weatherbar .wx-i{white-space:normal;}
#weatherbar .wx-i [dir="ltr"]{white-space:nowrap;}
#weatherbar .wx-i b{font-weight:800;color:#8a6a22;margin-inline-end:2px;}
#weatherbar .wx-note{font-weight:800;color:var(--red);}

/* ---- NYC street-parking note: deliberately quiet, under the cards (CFG.nycParking) ---- */
#parkbar{display:none;}
#parkbar.on{display:block;max-width:560px;margin:14px auto 0;padding:11px 14px;
  border:1px solid var(--gold-soft);border-radius:12px;background:rgba(255,255,255,.78);
  direction:ltr;text-align:left;font-size:.86rem;line-height:1.5;color:var(--ink);}
#parkbar .pk-row{margin:0 0 2px;}
#parkbar .pk-row b{font-weight:800;}
#parkbar .pk-when{font-weight:800;color:#8a6a22;margin-inline-end:4px;}
#parkbar .pk-row{overflow-wrap:anywhere;}

/* ---- 💐 שמחות: one block per simcha, centred like a printed card ---- */
.simcha-card .simcha{text-align:center;padding:10px 6px;}
.simcha-card .simcha + .simcha{border-top:1px solid var(--line);}
.simcha-card .sim-head{color:var(--gold);font-weight:800;font-size:1.05rem;letter-spacing:.02em;}
.simcha-card .sim-name{font-size:1.25rem;font-weight:800;margin:2px 0 1px;}
/* בן ר׳ … חתן ר׳ … rides along with the name but is NOT bold — only the name itself, and
   the מחותן's name, carry the weight (Simon, 14 Oct 2026). Not scoped to .simcha-card, so the
   💐 upcoming list follows the same rule. */
.sim-who{font-weight:500;}
.simcha-card .sim-what{font-size:1rem;}
.simcha-card .sim-date{font-size:.85rem;color:#6b573c;margin-top:3px;}

/* ---- 🔔 notifications sheet ---- */
.ntf-msg{min-height:20px;text-align:center;font-weight:700;font-size:.9rem;margin-top:8px;}
.ntf-msg.ok{color:#3f7a3f;} .ntf-msg.err{color:#a33;}
.ntf-step{font-size:.92rem;line-height:1.7;text-align:center;}
.ntf-lead{font-size:.92rem;color:var(--ink-soft);text-align:center;margin-bottom:10px;}
.btn-wide{display:block;width:100%;margin:8px 0 0;padding:12px;border-radius:12px;border:0;
  background:var(--gold);color:#fff;font-weight:800;font-size:1rem;}
.btn-wide.sec{background:#fff;color:var(--ink);border:1px solid var(--gold-soft);}

.simcha-card .sim-det{font-size:.92rem;color:#6b573c;margin-top:1px;}
/* 📅 לוח השמחות */
.up-row{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:10px 6px;
  border-bottom:1px dotted #e3d3ad;}
.up-row:last-child{border-bottom:none;}
.up-row.now{background:#fdf6e3;border-radius:8px;}
/* the date line now LEADS with Hebrew (יום ג׳ פרשת נח · October 13 · ב׳ חשון), so it reads
   right-to-left and lets the browser place the English run inside it */
.up-when{flex:0 1 auto;min-width:0;font-size:.82rem;color:#6b573c;direction:rtl;text-align:right;}
.up-what{flex:1 1 12em;min-width:0;font-size:.98rem;overflow-wrap:anywhere;}
.up-det{font-size:.85rem;color:#6b573c;}
.up-none{text-align:center;color:#6b573c;padding:10px;}

/* ---- public "send us your simcha" form, inside the 💐 שמחות sheet ---- */
.sf-open{display:block;width:100%;margin:14px 0 0;padding:12px;border-radius:12px;
  border:1px dashed var(--gold-soft);background:#fff;color:var(--gold);font-weight:800;font-size:.95rem;}
.sf{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;}
.sf-lead{font-size:.88rem;color:var(--ink-soft);text-align:center;margin-bottom:10px;}
.sf label{display:block;font-size:.78rem;font-weight:700;color:#6b573c;margin:8px 0 3px;}
.sf input,.sf select{width:100%;padding:10px;border:1px solid var(--gold-soft);border-radius:10px;
  font:inherit;font-size:1rem;background:#fff;color:var(--ink);box-sizing:border-box;}
.sf-row{display:flex;flex-wrap:wrap;gap:8px;} .sf-row>div{flex:1 1 10em;min-width:0;}
.sf-send{display:block;width:100%;margin-top:14px;padding:13px;border:0;border-radius:12px;
  background:var(--gold);color:#fff;font-weight:800;font-size:1rem;}
.sf-msg{min-height:20px;text-align:center;font-weight:700;font-size:.9rem;margin-top:8px;}
.sf-msg.err{color:var(--red);}
.sf-done{text-align:center;font-weight:800;color:#3f7a3f;padding:18px 10px;font-size:1rem;}

.sf-hint{font-size:.78rem;color:var(--ink-soft);margin-top:4px;line-height:1.5;}

/* the עב״ג line of an invitation — printed only when a second name was given */
.simcha-card .sim-link{font-size:.95rem;color:var(--ink-soft);margin:3px 0 0;}

/* ↪️ on a simcha: forward it to WhatsApp or a text, with the shul's link under it */
.simcha{position:relative;}
.simcha .sim-share{position:absolute;inset-inline-start:0;top:0;background:none;border:0;
  font-size:1rem;line-height:1;padding:4px 6px;opacity:.55;}
.simcha .sim-share:active{opacity:1;}

/* a שידוך / new-baby announcement: two families, a brocho, no hall */
.simcha-card .announce .sim-link{font-size:.95rem;color:var(--ink-soft);margin:2px 0;}
.simcha-card .announce .sim-name + .sim-link{margin-top:4px;}
.simcha-card .sim-close{font-size:1rem;color:var(--gold);font-weight:700;margin-top:6px;}

.fbtn.langbtn{font-weight:700;letter-spacing:.03em;}

/* reminder: for-how-long, and what this phone has already added */
.rm-span{background:#fff;border:1px solid var(--gold-soft);color:var(--ink);border-radius:999px;
  padding:7px 13px;font-size:.9rem;font-weight:700;}
.rm-span.on{background:var(--gold);color:#fff;border-color:var(--gold);}
.rm-until{display:block;width:100%;margin-top:8px;}
.rm-mine{margin-top:14px;}
.rm-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;
  padding:8px 2px;border-bottom:1px dotted #e3d3ad;font-size:.92rem;}
.rm-row small{color:var(--ink-soft);}
.rm-del{background:#fff;color:var(--red);border:1px solid #e0b3af;border-radius:8px;
  padding:5px 11px;font-size:.84rem;flex:none;}
.rm-hint{font-size:.8rem;color:var(--ink-soft);margin-top:9px;line-height:1.6;}
.rm-hint2{display:block;opacity:.85;}
.sf-name{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.sf-name input{flex:1 1 9em;min-width:0;}
.sf-name select{flex:0 0 auto;width:auto;min-width:5.5em;}
