/* SimchasTonight v2 — calm, editorial, readable */
@font-face{font-family:"Cormorant";src:url(/fonts/cormorant-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/fonts/cormorant-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/fonts/cormorant-500i.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Frank";src:url(/fonts/frank-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Frank";src:url(/fonts/frank-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --paper:#FAF7F2; --paper-2:#F4EFE6; --card:#FFFFFF;
  --ink:#1E2433; --ink-2:#555B69; --ink-3:#8A8E98;
  --line:#E9E3D8; --line-2:#DDD5C7;
  --gold:#9C7A43; --gold-2:#B8975F; --gold-soft:#F5EEE1;
  --navy:#1B3B30; --navy-2:#2C3B5C;
  --sage:#5F7A6A; --sage-soft:#EAF0EC;
  --rose:#A4574F;
  --r:18px; --r-sm:12px;
  --shadow:0 1px 2px rgba(27,59,48,.04),0 6px 24px -12px rgba(27,59,48,.12);
  --shadow-lift:0 2px 4px rgba(27,59,48,.05),0 18px 40px -18px rgba(27,59,48,.22);
  --serif:"Cormorant","Frank",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Frank",sans-serif;
  --heb:"Frank","Cormorant",serif;
  --tabbar:68px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-variant-numeric:lining-nums;background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}
html[dir=rtl] body{font-family:"Frank",var(--sans);font-size:18px}
img,svg{display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:12px;top:8px;transform:translateY(-300%);background:var(--ink);color:#fff;padding:8px 14px;border-radius:10px;z-index:99}
.skip:focus{transform:none}
.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.heb{font-family:var(--heb)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:30;background:rgba(27,59,48,.97);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
.top.scrolled{border-bottom-color:var(--line)}
.top-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:calc(10px + env(safe-area-inset-top)) 20px 10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-inline-end:auto}
.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--navy);color:#C7AB6A;display:grid;place-items:center}
.brand-mark .ico{width:20px;height:20px;stroke-width:1.5}
.brand-word{font:600 25px/1 var(--serif);letter-spacing:.005em;color:var(--ink);direction:ltr}
.brand-word em{font-style:italic;font-weight:500;color:var(--gold)}
.topnav{display:none}
.top-actions{display:flex;align-items:center;gap:8px}
.lang-btn{border:1px solid var(--line-2);background:transparent;border-radius:999px;padding:6px 12px;font-size:14px;font-family:var(--heb);color:var(--ink-2)}
html[dir=rtl] .lang-btn{font-family:var(--sans)}
.lang-btn:hover{border-color:var(--gold-2);color:var(--ink)}
.acct-btn{text-decoration:none;font-size:15px;font-weight:500;padding:7px 14px;border-radius:999px;background:var(--navy);color:#fff;white-space:nowrap}
.acct-btn.me{background:var(--gold-soft);color:var(--ink);display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px}
html[dir=rtl] .acct-btn.me{padding:5px 5px 5px 12px}
.avatar{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#C7AB6A;display:grid;place-items:center;font:600 13px/1 var(--sans)}

/* ---------- layout ---------- */
.view{max-width:1180px;margin:0 auto;padding:8px 20px calc(var(--tabbar) + 40px + env(safe-area-inset-bottom));outline:none}
.view.enter>*{animation:rise .5s var(--ease) both}
.view.enter>*:nth-child(2){animation-delay:.04s}.view.enter>*:nth-child(3){animation-delay:.08s}.view.enter>*:nth-child(4){animation-delay:.12s}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cols{display:grid;gap:28px}
.cols>*,.detail-wrap>*{min-width:0}
.narrow{max-width:640px;margin-inline:auto}
.eyebrow{font:600 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
html[dir=rtl] .eyebrow{letter-spacing:0;font-size:14px}
h1,h2,h3{margin:0;font-weight:600}
.h1{font:600 clamp(34px,7vw,48px)/1.05 var(--serif);letter-spacing:-.005em}
.h2{font:600 28px/1.15 var(--serif)}
.h3{font:600 22px/1.2 var(--serif)}
html[dir=rtl] .h1,html[dir=rtl] .h2,html[dir=rtl] .h3{font-family:var(--heb);font-weight:700}
.lead{font-size:18px;color:var(--ink-2);margin:10px 0 0}
.muted{color:var(--ink-2)}
.small{font-size:14px;color:var(--ink-3)}
.page-head{padding:22px 0 18px}
.section{margin-top:40px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.section-head a{font-size:15px;color:var(--gold);text-decoration:none;font-weight:500}
.rule{height:1px;background:var(--line);border:0;margin:28px 0}
.orn{display:flex;align-items:center;gap:14px;color:var(--gold-2);margin:6px 0}
.orn::before,.orn::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--line-2))}
.orn::after{background:linear-gradient(90deg,var(--line-2),transparent)}
.orn .ico{width:22px;height:22px}

/* ---------- buttons & forms ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:500;font-size:16px;text-decoration:none;transition:transform .15s var(--ease),background .2s,box-shadow .2s;white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 8px 20px -12px rgba(27,59,48,.7)}
.btn-primary:hover{background:var(--navy-2)}
.btn-gold{background:var(--gold);color:#fff}
.btn-ghost{background:transparent;border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--gold-2);background:#fff}
.btn-soft{background:var(--gold-soft);color:var(--ink)}
.btn-block{width:100%}
.btn-sm{min-height:38px;padding:0 14px;font-size:14px}
.btn[disabled]{opacity:.55;pointer-events:none}
.btn-row{display:flex;gap:10px;flex-wrap:wrap}
.field{display:block;margin-bottom:16px}
.field>span{display:block;font-size:14px;font-weight:500;color:var(--ink-2);margin-bottom:6px}
.input,select.input,textarea.input{width:100%;min-height:52px;padding:12px 16px;border-radius:14px;border:1px solid var(--line-2);background:#fff;font-size:17px;transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
textarea.input{min-height:96px;resize:vertical}
select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%238A8E98' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-inline-end:40px}
html[dir=rtl] select.input{background-position:left 16px center}
.input:focus{outline:none;border-color:var(--gold-2);box-shadow:0 0 0 4px rgba(184,151,95,.16)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-err{background:#FBEDEB;color:var(--rose);border-radius:12px;padding:10px 14px;font-size:15px;margin-bottom:14px;display:none}
.form-err.show{display:block}
.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink-2)}

/* ---------- Tonight ---------- */
.hook{position:relative;padding:30px 0 6px;text-align:center}
.hook-h{font:500 italic clamp(30px,6.4vw,46px)/1.12 var(--serif);color:var(--ink);max-width:17em;margin:0 auto;text-wrap:balance}
.hook-h b{font-style:normal;font-weight:600;display:block}
html[dir=rtl] .hook-h{font:700 clamp(28px,6vw,40px)/1.25 var(--heb)}
.hook-s{margin:14px auto 0;max-width:30em;color:var(--ink-2);font-size:18px}
.hook .btn-row{justify-content:center;margin-top:22px}
.masthead{text-align:center;padding:26px 0 6px}
.masthead .greg{font:600 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
html[dir=rtl] .masthead .greg{letter-spacing:0;font-size:15px}
.masthead .hdate{font:700 clamp(36px,9vw,52px)/1.1 var(--heb);margin:12px 0 6px;color:var(--ink)}
.masthead .hsub{font-size:15px;color:var(--ink-3)}
.masthead .hparsha{color:var(--gold)}
.masthead .hsep{color:var(--ink-3);font-weight:400}
.days{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:18px 2px 6px;margin:0 -20px;padding-inline:20px;scroll-snap-type:x proximity}
.days::-webkit-scrollbar{display:none}
.day{flex:none;scroll-snap-align:start;width:64px;padding:9px 0 8px;display:flex;flex-direction:column;align-items:center;border-radius:16px;border:1px solid var(--line);background:#fff;text-align:center;text-decoration:none;transition:all .2s var(--ease);position:relative}
.day .wd{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
html[dir=rtl] .day .wd{text-transform:none;letter-spacing:0;font-size:13px}
.day .dn{font:600 24px/1.1 var(--serif);margin:2px 0}
.day .hd{font:500 13px/1 var(--heb);color:var(--gold)}
.day .dot{position:absolute;top:5px;inset-inline-end:5px;width:5px;height:5px;border-radius:50%;background:var(--gold-2)}
.day .hdn{font:700 25px/1.05 var(--heb);color:var(--navy);margin:3px 0 1px;font-variant-numeric:lining-nums}
.day .hm{font:500 12px/1.2 var(--heb);color:var(--gold);white-space:nowrap;max-width:60px;overflow:hidden;text-overflow:ellipsis}
.day .hm.new{font-weight:700}
.day .hm.par{font-size:11px;font-weight:600;color:var(--ink-2)}
.day .gd{font-size:10.5px;line-height:1.2;color:var(--ink-3);margin-top:3px;letter-spacing:.02em;white-space:nowrap;font-variant-numeric:lining-nums}
.day .wd[lang=he]{text-transform:none;letter-spacing:0;font:600 13px/1.15 var(--heb);color:var(--navy)}
.day.on .hdn{color:#fff}
.day.on .hm{color:#C7AB6A}
.day.on .hm.par,.day.on .gd{color:#F1ECD8}
.day.on .wd[lang=he]{color:#C7AB6A}
.day.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 10px 24px -14px rgba(27,59,48,.8)}
.day.on .wd{color:#F1ECD8}.day.on .hd{color:#C7AB6A}.day.on .dot{background:#C7AB6A}
.day.shab{background:var(--gold-soft)}
.day.shab.on{background:var(--navy)}
.tools{display:flex;flex-direction:column;gap:12px;margin:18px 0 8px}
.search{position:relative}
.search .ico{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:16px;color:var(--ink-3)}
.search .input{padding-inline-start:46px;border-radius:999px;background:#fff}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--line-2);background:transparent;border-radius:999px;padding:8px 15px;font-size:15px;color:var(--ink-2);transition:all .2s}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.count{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 12px;color:var(--ink-2);font-size:15px}
.count b{font:600 22px/1 var(--serif);color:var(--ink)}
html[dir=rtl] .count b{font-family:var(--heb)}
.list{display:grid;gap:14px}
.card{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 20px 18px;box-shadow:var(--shadow);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--line-2)}
.card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.tbadge{width:36px;height:36px;border-radius:50%;background:var(--gold-soft);color:var(--gold);display:grid;place-items:center;flex:none}
.tbadge .ico{width:19px;height:19px}
.tname{font:600 12.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
html[dir=rtl] .tname{letter-spacing:0;font-size:15px;font-family:var(--heb)}
.tag{margin-inline-start:auto;font-size:11.5px;font-weight:500;letter-spacing:.04em;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:3px 9px;white-space:nowrap}
.tag.pending{color:#8A6419;border-color:#EBD9B4;background:#FBF4E6}
.tag.hidden{color:var(--rose);border-color:#EED2CE;background:#FBEDEB}
.fam{font:600 28px/1.12 var(--serif);color:var(--ink);letter-spacing:-.003em}
.fam .amp{font-style:italic;font-weight:500;color:var(--gold);padding:0 .12em}
.sub{margin:4px 0 0;color:var(--ink-2);font-size:16px}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.meta span{display:inline-flex;align-items:center;gap:7px}
.meta .ico{width:17px;height:17px;color:var(--gold-2)}
.meta .time{color:var(--ink);font-weight:500}
.meta .lockline{margin-inline-start:auto;color:var(--ink-3);font-size:13.5px}
.empty{text-align:center;padding:40px 20px;border:1px dashed var(--line-2);border-radius:var(--r);color:var(--ink-2)}
.empty .h3{margin-bottom:6px;color:var(--ink)}

/* side panels */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.panel+.panel{margin-top:16px}
.panel.navy{background:var(--navy);border-color:var(--navy);color:#EEF0F5}
.panel.navy .eyebrow{color:#C7AB6A}
.panel.navy .muted{color:#BFC6D6}
.panel.tint{background:var(--gold-soft);border-color:#D9CFB2}
.access-list{display:grid;gap:4px;margin-top:14px}
.access-item{display:flex;align-items:center;gap:14px;padding:12px 0;text-decoration:none;border-top:1px solid rgba(255,255,255,.12)}
.access-item:first-child{border-top:0}
.access-item .ai{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#C7AB6A;flex:none}
.access-item b{display:block;font-weight:500;color:#fff}
.access-item small{display:block;color:#AEB6C8;font-size:14px}
.access-item .chev{margin-inline-start:auto;color:#7E88A0}
html[dir=rtl] .chev,html[dir=rtl] .flip{transform:scaleX(-1)}
.vendors{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.vendor{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:16px;border:1px solid var(--line);background:#fff;text-decoration:none;transition:border-color .2s,transform .2s var(--ease)}
.vendor:hover{border-color:var(--gold-2);transform:translateY(-1px)}
.vendor .vi{width:38px;height:38px;border-radius:12px;background:var(--paper-2);color:var(--gold);display:grid;place-items:center;margin-bottom:4px}
.vendor b{font:600 19px/1.15 var(--serif)}
html[dir=rtl] .vendor b{font-family:var(--heb)}
.vendor small{color:var(--ink-3);font-size:13.5px}
.vendor.cta{border-style:dashed;background:transparent}
.founding{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--gold);background:var(--gold-soft);border-radius:999px;padding:5px 10px;align-self:flex-start}
.founding .ico{width:14px;height:14px}
.sponsored{font-size:12px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}

/* ---------- detail ---------- */
.back{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--ink-2);font-size:15px;padding:14px 0 4px;background:none;border:0}
.detail-head{padding:14px 0 22px;text-align:center}
.detail-head .tbadge{margin:0 auto 12px;width:56px;height:56px}
.detail-head .tbadge .ico{width:28px;height:28px}
.detail-head .fam{font-size:clamp(38px,9vw,54px)}
.detail-head .sub{font-size:18px;margin-top:8px}
.detail-head .when{margin-top:16px;font-size:16px;color:var(--ink)}
.detail-head .when .heb{color:var(--gold);display:inline-block;margin-top:4px;font-size:18px}
.facts{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.fact{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;border-top:1px solid var(--line)}
.fact:first-child{border-top:0}
.fact .ico{color:var(--gold-2);margin-top:3px}
.fact .k{font-size:13px;color:var(--ink-3);letter-spacing:.04em}
.fact .v{font-size:17px;color:var(--ink)}
.fact .v a{color:var(--gold);font-weight:500}
.sched{list-style:none;margin:6px 0 0;padding:0}
.sched li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dotted var(--line-2)}
.sched li:last-child{border-bottom:0}
.sched li b{font-weight:500}
.locked{position:relative;overflow:hidden}
.locked .ghost{filter:blur(6px);opacity:.55;user-select:none;pointer-events:none}
.ghost .bar{height:14px;border-radius:7px;background:var(--line);margin:10px 0}
.gate{position:relative;text-align:center;padding:28px 22px;background:linear-gradient(180deg,#fff,var(--gold-soft));border:1px solid #D9CFB2;border-radius:var(--r)}
.gate .lockic{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#fff;border:1px solid #D9CFB2;color:var(--gold);display:grid;place-items:center}
.gate .h3{margin-bottom:6px}
.gate p{margin:0 auto 18px;color:var(--ink-2);max-width:26em}
.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}
.act{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:78px;border-radius:16px;border:1px solid var(--line);background:#fff;font-size:15px;font-weight:500;text-decoration:none;color:var(--ink);transition:all .2s var(--ease);padding:10px}
.act .ico{width:22px;height:22px;color:var(--gold)}
.act:hover{border-color:var(--gold-2)}
.act.mt{background:var(--navy);border-color:var(--navy);color:#fff;grid-column:1/-1;flex-direction:row;min-height:58px;font-size:17px}
.act.mt .ico{color:#C7AB6A}
.act.mt.done{background:var(--gold-soft);color:var(--ink);border-color:#D9CFB2}
.act.mt.done .ico{color:var(--gold);fill:var(--gold)}
.act.mt .n{font:500 15px/1 var(--sans);margin-inline-start:6px;opacity:.85;background:rgba(255,255,255,.12);padding:4px 9px;border-radius:999px}
.pop{animation:pop .5s var(--ease)}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.06)}100%{transform:scale(1)}}
.sparks{position:fixed;pointer-events:none;z-index:80}
.sparks i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--gold-2);animation:spark .8s var(--ease) forwards}
@keyframes spark{to{transform:translate(var(--x),var(--y)) scale(.3);opacity:0}}
.sample-note{margin-top:22px;text-align:center;font-size:14px;color:var(--ink-3)}

/* ---------- auth ---------- */
.auth{max-width:460px;margin:12px auto 0}
.auth .panel{padding:28px 24px}
.auth .h1{font-size:40px;text-align:center}
.auth .lead{text-align:center;margin-bottom:24px}
.auth .alt{text-align:center;margin-top:18px;font-size:15px;color:var(--ink-2)}
.auth .alt a{color:var(--gold);font-weight:500}
.perks{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px}
.perks li{display:flex;gap:10px;align-items:center;font-size:15px;color:var(--ink-2)}
.perks .ico{color:var(--sage);width:18px;height:18px}

/* ---------- calendar ---------- */
.seg{display:inline-flex;background:var(--paper-2);border-radius:999px;padding:4px}
.seg button{border:0;background:transparent;border-radius:999px;padding:8px 16px;font-size:15px;color:var(--ink-2)}
.seg button.on{background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px}
.cal-head .h2 small{display:block;font:500 15px/1.2 var(--heb);color:var(--gold);margin-top:4px}
.iconbtn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);background:#fff;display:grid;place-items:center}
.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.month .wh{font-size:12px;text-align:center;color:var(--ink-3);padding:4px 0;font-weight:500}
.mday{aspect-ratio:1/1.05;border-radius:14px;border:1px solid var(--line);background:#fff;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-decoration:none;transition:all .15s}
.mday .n{font:600 18px/1 var(--serif)}
.mday .h{font:500 11px/1 var(--heb);color:var(--gold)}
.mday .c{font-size:11px;font-weight:600;color:#fff;background:var(--gold-2);border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px}
.mday.out{opacity:.35}
.mday.today{border-color:var(--gold-2)}
.mday.sel{background:var(--navy);border-color:var(--navy);color:#fff}
.mday.sel .h{color:#C7AB6A}
.mday.sel .c{background:#C7AB6A;color:var(--navy)}
.week-day{margin-top:22px}
.week-day h3{font:600 20px/1.2 var(--serif);display:flex;gap:10px;align-items:baseline;margin-bottom:10px}
.week-day h3 .heb{font-size:15px;color:var(--gold)}
.mini{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);text-decoration:none;margin-bottom:8px}
.mini b{font:600 19px/1.15 var(--serif);display:block}
.mini small{color:var(--ink-3);font-size:14px}
.mini .tm{margin-inline-start:auto;font-size:14px;color:var(--ink);font-weight:500;white-space:nowrap}

/* ---------- post ---------- */
.ways{display:grid;gap:12px;margin:6px 0 26px}
.way{display:flex;gap:14px;align-items:center;padding:18px;border-radius:var(--r);border:1px solid var(--line);background:#fff;text-decoration:none;transition:border-color .2s}
.way:hover,.way.on{border-color:var(--gold-2)}
.way .wi{width:46px;height:46px;border-radius:14px;background:var(--gold-soft);color:var(--gold);display:grid;place-items:center;flex:none}
.way b{display:block;font-weight:600}
.way small{color:var(--ink-2);font-size:14.5px}
.times-row{display:grid;grid-template-columns:1fr 130px 40px;gap:8px;margin-bottom:8px}
.xbtn{border:1px solid var(--line-2);background:#fff;border-radius:12px;color:var(--ink-3)}
.linkbtn{background:none;border:0;color:var(--gold);font-weight:500;padding:6px 0;font-size:15px}
.success{text-align:center;padding:40px 10px}
.success .ring{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;background:var(--sage-soft);color:var(--sage);display:grid;place-items:center;animation:pop .6s var(--ease)}
.success .ring .ico{width:36px;height:36px;stroke-width:1.8}

/* WhatsApp demo */
.wa{max-width:400px;margin:0 auto;border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lift);background:#EFE9E0}
.wa-top{background:#24453A;color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px;font-weight:500}
.wa-top .brand-mark{width:32px;height:32px}
.wa-top small{display:block;opacity:.75;font-weight:400;font-size:12.5px}
.wa-body{padding:16px 12px;min-height:420px;display:flex;flex-direction:column;gap:8px}
.bub{max-width:82%;padding:8px 11px;border-radius:12px;font-size:15px;line-height:1.4;box-shadow:0 1px 1px rgba(0,0,0,.06);opacity:0;transform:translateY(6px);transition:all .4s var(--ease)}
.bub.show{opacity:1;transform:none}
.bub.me{align-self:flex-end;background:#DCF3D0;border-top-right-radius:4px}
.bub.them{align-self:flex-start;background:#fff;border-top-left-radius:4px}
.invite-art{width:210px;aspect-ratio:3/4;background:#FFFDF8;border:1px solid #E8DCC4;border-radius:6px;padding:16px 12px;text-align:center;font-family:var(--serif);color:#5A4A2E;display:flex;flex-direction:column;justify-content:center;gap:4px}
.invite-art .flr{color:var(--gold-2);margin:0 auto}
.invite-art .flr .ico{width:44px;height:44px}
.invite-art .bs{font:500 11px/1 var(--heb)}
.invite-art .nm{font:600 20px/1.1 var(--serif);color:#2E2618}
.invite-art .sm{font-size:11px;font-family:var(--sans);color:#7A6A4E}
.parsed{background:#fff;border-radius:10px;padding:10px;margin-top:6px;border:1px solid #E7E2D8;font-size:14px}
.parsed div{display:flex;justify-content:space-between;gap:10px;padding:3px 0}
.parsed span{color:var(--ink-3)}
.typing{display:inline-flex;gap:4px}
.typing i{width:6px;height:6px;border-radius:50%;background:#9AA0A6;animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.3}40%{opacity:1}}

/* ---------- people / more / generic ---------- */
.follow-add{display:flex;gap:8px}
.follow-add .input{flex:1}
.fchips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.fchip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:7px 8px 7px 14px;font:600 17px/1 var(--serif)}
html[dir=rtl] .fchip{padding:7px 14px 7px 8px}
.fchip button{width:24px;height:24px;border-radius:50%;border:0;background:var(--paper-2);display:grid;place-items:center;color:var(--ink-3)}
.fchip button .ico{width:14px;height:14px}
.menu{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.mi{display:flex;align-items:center;gap:14px;padding:16px 18px;border-top:1px solid var(--line);text-decoration:none;background:none;border-inline:0;border-bottom:0;width:100%;text-align:start}
.mi:first-child{border-top:0}
.mi:hover{background:var(--paper)}
.mi .mic{width:40px;height:40px;border-radius:12px;background:var(--paper-2);color:var(--gold);display:grid;place-items:center;flex:none}
.mi b{display:block;font-weight:500}
.mi small{display:block;color:var(--ink-3);font-size:14px}
.mi .chev{margin-inline-start:auto;color:var(--ink-3)}
.menu-label{margin:28px 4px 10px}
.prose p{color:var(--ink-2);font-size:17px;margin:0 0 14px}
.prose h2{margin:26px 0 8px}
.steps{list-style:none;padding:0;margin:14px 0;display:grid;gap:12px;counter-reset:s}
.steps li{counter-increment:s;display:flex;gap:14px;align-items:flex-start;color:var(--ink-2)}
.steps li::before{content:counter(s);flex:none;width:30px;height:30px;border-radius:50%;background:var(--gold-soft);color:var(--gold);font:600 16px/30px var(--serif);text-align:center}
.big-number{font:600 34px/1.1 var(--serif);color:#fff;direction:ltr;display:inline-block;margin:6px 0}
.notice{font-size:14px;color:var(--ink-3);background:var(--paper-2);border-radius:12px;padding:10px 14px}
.coming{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sage);background:var(--sage-soft);border-radius:999px;padding:4px 10px}

/* ---------- admin ---------- */
.admin-tabs{display:flex;gap:6px;overflow-x:auto;margin:6px -20px 18px;padding:0 20px;scrollbar-width:none}
.admin-tabs button{flex:none;border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:9px 16px;font-size:15px}
.admin-tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.stat b{display:block;font:600 30px/1.1 var(--sans);letter-spacing:-.02em}
.stat span{font-size:14px;color:var(--ink-3)}
.bars{display:flex;align-items:flex-end;gap:4px;height:80px;margin-top:12px}
.bars i{flex:1;background:var(--gold-2);border-radius:4px 4px 0 0;min-height:3px;opacity:.85}
.tbl-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:16px}
table.tbl{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px}
.tbl th{text-align:start;font-weight:600;color:var(--ink-3);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--paper)}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.post-row{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:10px}
.post-row .top-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.post-row .fam{font-size:22px}
.post-row .btn-row{margin-top:12px}
.toggle{display:flex;align-items:center;justify-content:space-between;gap:16px}
.switch{position:relative;width:52px;height:30px;flex:none}
.switch input{opacity:0;width:0;height:0}
.switch span{position:absolute;inset:0;background:var(--line-2);border-radius:999px;transition:.2s}
.switch span::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.switch input:checked+span{background:var(--sage)}
.switch input:checked+span::after{transform:translateX(22px)}

/* ---------- tab bar ---------- */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:var(--ink-3);font-size:11.5px;font-weight:500;padding:6px 0}
html[dir=rtl] .tabbar a{font-size:12.5px}
.tabbar a .ico{width:24px;height:24px}
.tabbar a.on{color:var(--ink)}
.tabbar a.on .ico{color:var(--gold)}
.tabbar .postdot{width:44px;height:44px;margin-top:-18px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;box-shadow:0 10px 20px -10px rgba(27,59,48,.8)}
.tabbar .postdot .ico{color:#C7AB6A!important}

/* ---------- sheet & toast ---------- */
.sheet-root .scrim{position:fixed;inset:0;background:rgba(20,24,34,.35);z-index:60;animation:fade .25s both}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;background:var(--paper);border-radius:24px 24px 0 0;padding:10px 22px calc(26px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto;animation:up .35s var(--ease) both;max-width:560px;margin:0 auto}
.sheet .grab{width:40px;height:5px;border-radius:3px;background:var(--line-2);margin:0 auto 16px}
@keyframes up{from{transform:translateY(100%)}to{transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.toast{position:fixed;left:50%;bottom:calc(var(--tabbar) + 22px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:15px;opacity:0;pointer-events:none;transition:all .3s var(--ease);z-index:90;max-width:calc(100vw - 40px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.install-card{display:flex;gap:14px;align-items:center}
.install-card .app-ic{width:56px;height:56px;border-radius:14px;flex:none;box-shadow:0 6px 16px -8px rgba(27,59,48,.6)}
.install-banner{position:fixed;left:12px;right:12px;bottom:calc(var(--tabbar) + 12px + env(safe-area-inset-bottom));z-index:45;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lift);padding:12px 12px 12px 14px;display:flex;gap:12px;align-items:center;animation:rise .5s var(--ease) both;max-width:520px;margin:0 auto}
.install-banner img{width:44px;height:44px;border-radius:11px}
.install-banner b{display:block;font-size:15px}
.install-banner small{display:block;font-size:13px;color:var(--ink-3)}
.install-banner .x{margin-inline-start:auto;display:flex;gap:6px;align-items:center}
.install-banner .close{border:0;background:none;color:var(--ink-3);padding:6px}
.footer{margin-top:56px;padding:26px 0 0;border-top:1px solid var(--line);color:var(--ink-3);font-size:14px;display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between}
.footer a{color:var(--ink-2);text-decoration:none}
.offline{background:#FBF4E6;color:#7A5A1A;border-radius:12px;padding:10px 14px;font-size:14px;margin:12px 0}
.noscript{padding:40px;text-align:center}

/* ---------- print ---------- */
.print-sheet{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.print-sheet h1{font:600 34px/1.1 var(--serif);text-align:center}
.print-sheet .ps-sub{text-align:center;color:var(--ink-3);margin:6px 0 18px}
.print-day{margin-top:20px}
.print-day h2{font:600 20px/1.2 var(--serif);border-bottom:1px solid var(--ink);padding-bottom:4px;display:flex;justify-content:space-between}
.print-day h2 .heb{font-weight:700}
.print-row{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:8px 0;border-bottom:1px dotted var(--line-2);font-size:15px}
.print-row b{font-weight:600}
@media print{
  .top,.tabbar,.no-print,.footer,.install-banner{display:none!important}
  body{background:#fff}
  .view{padding:0;max-width:none}
  .print-sheet{border:0;padding:0}
}

/* ---------- desktop ---------- */
@media (min-width:720px){
  .actions{grid-template-columns:repeat(4,1fr)}
  .act.mt{grid-column:1/-1}
  .stats{grid-template-columns:repeat(4,1fr)}
  .ways{grid-template-columns:repeat(3,1fr)}
  .way{flex-direction:column;align-items:flex-start}
}
@media (min-width:960px){
  :root{--tabbar:0px}
  .tabbar{display:none}
  .topnav{display:flex;gap:4px;margin-inline-end:8px}
  .topnav a{text-decoration:none;font-size:15.5px;color:var(--ink-2);padding:8px 14px;border-radius:999px;font-weight:500}
  .topnav a:hover{color:var(--ink);background:var(--paper-2)}
  .topnav a.on{color:var(--ink);background:var(--gold-soft)}
  .top-in{padding:16px 32px}
  .view{padding:8px 32px 60px}
  .cols{grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:start}
  .cols>aside{position:sticky;top:96px}
  .hook{padding:56px 0 20px}
  .masthead{text-align:start;padding:10px 0 0}
  .masthead .hdate{text-align:left}
  html[dir=rtl] .masthead .hdate{text-align:right}
  .days,.chips{margin:0;padding-inline:0}
  .tools{flex-direction:row;align-items:center}
  .tools .search{flex:0 0 300px}
  .list{grid-template-columns:1fr 1fr;gap:16px}
  .detail-wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start}
  .detail-head{text-align:start;padding-top:24px}
  .detail-head .tbadge{margin:0 0 14px}
  .install-banner{bottom:20px;left:auto;right:24px;width:420px}
  .toast{bottom:28px}
}
@media (min-width:960px) and (max-width:1120px){.list{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.vrows{display:grid;gap:2px}
.vrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);text-decoration:none}
.vrow:first-child{border-top:0}
.vrow .vi{width:38px;height:38px;border-radius:12px;background:var(--paper-2);color:var(--gold);display:grid;place-items:center;flex:none}
.vrow b{display:block;font:600 19px/1.15 var(--serif)}
html[dir=rtl] .vrow b{font-family:var(--heb)}
.vrow small{display:block;color:var(--ink-3);font-size:13.5px}
.mday{min-width:0}
@media (max-width:380px){.mday .h{font-size:10px}.mday .n{font-size:16px}}

.fam,.h1,.h2,.h3,.day .dn,.mday .n,.count b{font-variant-numeric:lining-nums}
.tbl td.small{white-space:nowrap}

@media (max-width:440px){.top-in{gap:10px;padding-inline:16px}.brand{gap:8px}.brand-mark{width:30px;height:30px;border-radius:10px}.brand-word{font-size:22px}.acct-btn{padding:7px 12px;font-size:14px}.acct-btn.me span:last-child{max-width:70px;overflow:hidden;text-overflow:ellipsis}.lang-btn{padding:6px 10px;font-size:13px}}
html,body{max-width:100%}
.tbl td[dir=ltr]{white-space:nowrap}
.count b{font-family:var(--sans);font-size:19px;font-weight:600}

/* ---------- v3: families, notifications, maps, poster ---------- */
.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);text-decoration:none;background:#fff}
.bell[hidden]{display:none}
.bell .ico{width:19px;height:19px}
.bell .badge{position:absolute;top:-4px;inset-inline-end:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--rose);color:#fff;font:600 11px/19px var(--sans);text-align:center;box-shadow:0 0 0 2px var(--paper)}
.ico.inl{display:inline-block;width:15px;height:15px;vertical-align:-2px}
.famset{border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 6px;margin:6px 0 18px;background:var(--paper)}
.famset legend{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:21px;font-weight:600;padding:0 6px;color:var(--ink)}
.famset legend .ico{color:var(--gold)}
.fp-hint{font-size:13.5px;color:var(--ink-3);margin:-2px 0 6px}
.fp-box{position:relative}
.fp-box>.ico{position:absolute;inset-inline-start:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--ink-3);pointer-events:none}
.fp-box .input{padding-inline-start:40px}
.fp-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow-lift);padding:6px;max-height:320px;overflow:auto}
.fp-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:start;background:none;border:0;border-radius:10px;padding:9px 10px}
.fp-opt:hover,.fp-opt.on{background:var(--gold-soft)}
.fp-add{border-top:1px solid var(--line);border-radius:0 0 10px 10px;margin-top:4px;color:var(--gold)}
.fp-av{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);font:600 18px/1 var(--serif)}
.fp-av .ico{width:17px;height:17px}
.fp-txt{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.fp-txt b{font-weight:600;font-size:16px}
.fp-txt small{font-size:13.5px;color:var(--ink-3)}
.fp-txt small.role{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:2px}
.fp-chip{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:10px 12px}
.fp-chip .fp-txt{flex:1}
.fp-new{margin-top:10px}
.fp-newhead{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--sage);margin-bottom:8px}
.fp-newhead .ico{width:16px;height:16px}
.famrow{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.famrow:first-of-type{border-top:0}
.famrow-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-decoration:none}
.famrow .fbtn{flex:none}
.famlist{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:4px 16px}
.famhit{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-2);font-size:14px;color:var(--gold);font-weight:500}
.famhit .ico{width:17px;height:17px}
.fam-hero{text-align:center;padding:18px 0 8px}
.fam-mono{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);font:600 40px/1 var(--serif);border:1px solid #EADFC9}
.fam-stats{display:flex;justify-content:center;gap:22px;margin-top:14px;color:var(--ink-2);font-size:15px}
.fam-stats b{font:600 20px var(--sans);color:var(--ink);margin-inline-end:4px}
.list.past .card{opacity:.78}
.nlist{display:flex;flex-direction:column;gap:10px}
.nitem{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;text-decoration:none;transition:border-color .2s}
.nitem.unread{border-color:#E3D3B4;background:#FFFCF6}
.ntext{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.35}
.ntext b{font-weight:500;font-size:16px}
.ntext small{color:var(--ink-3);font-size:13.5px;margin-top:3px}
.ndot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--rose)}
.prefrow{padding:12px 0;border-top:1px solid var(--line)}
.prefrow .coming{font-size:10px;padding:3px 8px;margin-inline-start:6px;vertical-align:2px}
.mapbtns{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.mapbtns .linkbtn{margin-inline-start:4px}
.mapbox{margin-top:12px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.mapbox iframe{display:block;width:100%;height:240px;border:0}
/* poster */
.pst-wrap{display:grid;gap:22px}
@media (min-width:960px){.pst-wrap{grid-template-columns:minmax(0,1fr) 340px;align-items:start}}
.pst-stage{background:var(--paper-2);border-radius:var(--r);padding:18px;display:flex;justify-content:center}
.pst-stage img{width:100%;max-width:560px;height:auto;box-shadow:0 18px 50px -20px rgba(27,59,48,.35);border-radius:4px;background:#fff}
.pst-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pst-pick{border:2px solid var(--line);border-radius:14px;padding:6px;background:#fff;text-align:center;font-size:13px;color:var(--ink-2)}
.pst-pick img{width:100%;height:auto;border-radius:6px;display:block;margin-bottom:6px}
.pst-pick.on{border-color:var(--gold);color:var(--ink)}
.pst-acts{display:grid;gap:10px;margin-top:16px}
.pst-acts .btn[disabled]{opacity:.55;cursor:not-allowed}
#posterPrint{display:none}
@media print{
  body.printing-poster>*:not(#posterPrint){display:none!important}
  body.printing-poster #posterPrint{display:block!important;width:100%;margin:0}
  body.printing-poster #posterPrint img{width:100%;height:auto;display:block}
  @page{size:letter;margin:0}
}
html[dir=rtl] .fp-box>.ico{transform:translateY(-50%)}
@media (max-width:440px){.bell{width:34px;height:34px}.famrow{flex-wrap:wrap}.famrow .fbtn{margin-inline-start:48px}}
.famset{min-width:0;max-width:100%}
.fp,.fp-entry,.fp-box{min-width:0}
@media (max-width:560px){.fp-new .grid2{grid-template-columns:1fr}}
.famset .btn{white-space:normal;max-width:100%;text-align:start;height:auto;min-height:40px}
.fp-chip .linkbtn{flex:none}
.mapbtns a.btn{text-decoration:none}
.mapbtns a.btn-primary,.fact .v .mapbtns a.btn-primary{color:#fff}
.mapbtns a.btn-ghost{color:var(--ink)}


/* fonts used by the posters */
@font-face{font-family:"Franklin";src:url(/fonts/franklin-400-latin.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Franklin";src:url(/fonts/franklin-500-latin.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Franklin";src:url(/fonts/franklin-600-latin.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Franklin";src:url(/fonts/franklin-700-latin.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"FRL";src:url(/fonts/frankruhl-400-hebrew.woff2) format("woff2");font-weight:400;unicode-range:U+0590-05FF,U+FB1D-FB4F,U+2010-2015,U+20AA,U+25CC;font-display:swap}
@font-face{font-family:"FRL";src:url(/fonts/frankruhl-900-hebrew.woff2) format("woff2");font-weight:900;unicode-range:U+0590-05FF,U+FB1D-FB4F,U+2010-2015,U+20AA,U+25CC;font-display:swap}
@font-face{font-family:"FRL";src:url(/fonts/frankruhl-400-latin.woff2) format("woff2");font-weight:400;unicode-range:U+0000-00FF,U+2018-201F;font-display:swap}
@font-face{font-family:"FRL";src:url(/fonts/frankruhl-900-latin.woff2) format("woff2");font-weight:900;unicode-range:U+0000-00FF,U+2018-201F;font-display:swap}
@font-face{font-family:"CormSC";src:url(/fonts/cormsc-500-latin.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"CormSC";src:url(/fonts/cormsc-600-latin.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Pinyon";src:url(/fonts/st-script-400-latin.woff2) format("woff2");font-weight:400;font-display:swap}

/* ================= v5: original look restored, new parts styled to match ================= */
/* hook: short version so tonight's simchas show above the fold */
.hook.hook-sm{padding:16px 0 0}
.hook-sm .hook-h{font:500 italic clamp(21px,5.4vw,30px)/1.18 var(--serif);max-width:20em}
.hook-sm .hook-h b{display:inline}
html[dir=rtl] .hook-sm .hook-h{font:700 clamp(19px,5vw,26px)/1.3 var(--heb)}
.hook-sm .btn-row{margin-top:10px;gap:8px}
.hook-sm + .cols .masthead{padding-top:20px}
.masthead .hdate{font-size:clamp(28px,7.4vw,44px);margin:8px 0 4px}
.masthead .hdate.wpar{white-space:nowrap;font-size:clamp(19px,6.7vw,40px)}
.days{padding-top:12px}
.tools{margin:12px 0 4px;gap:10px}
.srow{display:flex;gap:8px;align-items:stretch}
.srow .search{flex:1;min-width:0}
.townsel{flex:none;width:34%;max-width:180px}
.townsel select{border-radius:999px;background-color:#fff;padding-inline:14px 30px;width:100%}
.chip i{font-style:normal;font-size:12px;opacity:.65;margin-inline-start:3px}
.chip.on i{opacity:.8}
.count{margin:14px 0 10px}
.meta .xst{color:var(--ink)}
.rows{display:grid;gap:14px}
.rows.past .card{opacity:.85}
.rday{font:600 12px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:8px 2px -4px}
html[dir=rtl] .rday{letter-spacing:0;font-size:14px}
.list .rday:first-child,.rows .rday:first-child{margin-top:0}
.lfoot{margin:22px auto 0;max-width:34em;text-align:center;font-size:15px;color:var(--ink-2)}
.lfoot a{color:var(--gold);font-weight:500}
.tlink{background:none;border:0;padding:0;color:var(--gold);font-weight:500;text-decoration:none}
.tlink:hover{text-decoration:underline}
.loadline{padding:80px 0}
/* simcha page */
.heb-names{margin:8px 0 0;font-size:20px;color:var(--ink-2)}
.detail-head .eyebrow .heb{letter-spacing:0;text-transform:none;font-size:14px}
.gate.gate-v2{margin-top:16px}
.gate.gate-v2 p{margin:6px auto 0;max-width:30em;color:var(--ink-2)}
.gate.gate-v2 p b{color:var(--ink);font-weight:600}
.gate.gate-v2 .btn-row{margin-top:16px}
.m-addr{font-weight:500;color:var(--ink)}
.mapbtns .btn .ico{width:17px;height:17px}
.mapbtns button.btn{border:0}
.relsec{margin-top:26px}
/* family page */
.fam-addr{margin:10px 0 0;font-size:15.5px;color:var(--ink)}
.fam-addr small{display:block;font:600 11.5px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.g-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.sq{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:#fff;color:var(--ink);font-weight:500;font-size:15px;text-decoration:none}
.sq-ink{background:var(--navy);border-color:var(--navy);color:#fff}
@media (max-width:440px){.hook-sm .btn-sm{min-height:36px;padding:0 13px}}

@media (min-width:900px){.tools{flex-direction:column;align-items:stretch}.srow{max-width:560px}.tools .chips{margin:0;padding-inline:0;flex-wrap:wrap;overflow:visible}}
.famrow-main{flex:1 1 210px}
.fp-txt b{font:600 19px/1.2 var(--serif)}
.m-cross{font-size:14.5px;color:var(--ink-2);margin-top:2px}
.fact .k .coming{vertical-align:1px}
.fact .k .coming{display:inline-flex;align-items:center;gap:4px;font-size:10px!important;padding:2px 8px;vertical-align:1px;line-height:1.3}
.fact .k .coming .ico{width:11px;height:11px;margin:0;color:var(--sage)}
@media (max-width:600px){.detail-head{padding:4px 0 16px}.detail-head .tbadge{width:46px;height:46px;margin-bottom:8px}.detail-head .tbadge .ico{width:23px;height:23px}.detail-head .when{margin-top:10px}}

/* ---------- v6: digital invitation, guest list, reminder ---------- */
.ivc{--bg:#FBF6EC;--ink:#2B2A33;--soft:#6B6558;--acc:#A8823F;--acc2:#C9AB72;position:relative;background:var(--bg);color:var(--ink);border-radius:20px;padding:14px;box-shadow:0 2px 6px rgba(27,59,48,.06),0 24px 50px -24px rgba(27,59,48,.35);text-align:center;max-width:460px;margin-inline:auto;overflow:hidden}
.ivc-frame{position:relative;border:2px solid var(--acc);border-radius:12px;padding:34px 22px 22px;outline:1px solid var(--acc2);outline-offset:-9px}
.ivc .heb{font-family:"FRL","Frank",serif}
.ivc-bh{position:absolute;top:14px;inset-inline-end:18px;font-size:13px;color:var(--soft)}
.ivc-orn{width:190px;height:32px;margin:4px auto 2px;fill:none;stroke:var(--acc);stroke-width:1.6}
.ivc-orn .f,.ivc-c .f{fill:var(--acc);stroke:none}
.ivc-c{position:absolute;width:46px;height:46px;pointer-events:none}
.ivc-c svg{width:100%;height:100%;fill:none;stroke:var(--acc);stroke-width:2}
.ivc-c.tl{top:6px;left:6px}.ivc-c.tr{top:6px;right:6px;transform:scaleX(-1)}.ivc-c.bl{bottom:6px;left:6px;transform:scaleY(-1)}.ivc-c.br{bottom:6px;right:6px;transform:scale(-1,-1)}
.ivc-he-type{font:900 54px/1.05 "FRL","Frank",serif;color:var(--acc);margin-top:4px}
.ivc-en-type{font:600 13px/1.3 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--soft);margin-top:6px}
.ivc-he-mz{font:400 22px/1.3 "FRL","Frank",serif;margin-top:12px}
.ivc-lead{font:italic 500 18px/1.35 "Cormorant",serif;color:var(--soft);margin:14px 6px 2px}
.ivc-fam{font:700 clamp(34px,10vw,46px)/1.02 "Cormorant",serif;margin:6px 0 0;letter-spacing:-.005em}
.ivc-fam .amp{font:italic 500 .78em "Cormorant",serif;color:var(--acc);padding:0 .06em}
.ivc-sub{font:400 27px/1.2 "Pinyon",cursive;color:var(--ink);margin:10px 0 0}
.ivc-he-names{font:700 21px/1.35 "FRL","Frank",serif;margin:8px 0 0}
.ivc-msg{font:italic 500 18.5px/1.45 "Cormorant",serif;color:var(--ink);margin:16px 4px 0;padding:12px 14px;border-top:1px solid var(--acc2);border-bottom:1px solid var(--acc2)}
.ivc-rule{width:70px;height:2px;background:var(--acc);margin:18px auto}
.ivc-date{font:600 22px/1.25 "Cormorant",serif}
.ivc-hdate{font:400 19px/1.4 "FRL","Frank",serif;color:var(--soft);margin-top:2px}
.ivc-times{margin:14px auto 0;max-width:300px}
.ivc-t{display:flex;justify-content:space-between;gap:10px;padding:6px 2px;border-bottom:1px dotted var(--acc2);font:500 14.5px/1.35 var(--sans)}
.ivc-t:last-child{border-bottom:0}
.ivc-t span{color:var(--soft);text-align:start}
.ivc-t b{font-weight:600;white-space:nowrap}
.ivc-hall{font:700 25px/1.15 "Cormorant",serif;margin-top:18px}
.ivc-he-hall{font:700 19px/1.3 "FRL","Frank",serif;color:var(--soft)}
.ivc-area{display:flex;align-items:center;justify-content:center;gap:5px;font:500 14px/1.35 var(--sans);color:var(--soft);margin-top:6px}
.ivc-area .ico{width:15px;height:15px;color:var(--acc);flex:none}
.ivc-addr{font:600 14.5px/1.35 var(--sans);margin-top:4px}
.ivc-lock{display:inline-flex;align-items:center;gap:5px;font:500 12px/1.3 var(--sans);color:var(--soft);margin-top:8px;padding:4px 10px;border:1px solid var(--acc2);border-radius:999px}
.ivc-lock .ico{width:13px;height:13px}
.ivc-foot{font:600 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--acc);margin-top:22px}
.ivc-sample{position:absolute;z-index:2;top:5px;left:50%;transform:translateX(-50%);font:600 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;background:var(--acc);color:var(--bg);padding:5px 9px;border-radius:999px}
.ivc-leaf{display:flex;justify-content:center;margin-top:6px}.ivc-leaf .ico{width:30px;height:30px;color:var(--acc)}
/* evening navy */
.ivc-navy{--bg:#1B2540;--ink:#F6EFE2;--soft:#C9C3B6;--acc:#D6B57A;--acc2:#8E7A55}
.ivc-navy .ivc-frame{border-radius:200px 200px 12px 12px/150px 150px 12px 12px;padding-top:52px;border-width:1.5px}
.ivc-navy .ivc-bh{top:36px;inset-inline-end:50%;transform:translateX(50%)}
.ivc-navy .ivc-he-type{color:var(--acc)}
/* english & hebrew (black on white) */
.ivc.ivc-invite{--bg:#FFFFFF;--ink:#111;--soft:#4A4A4A;--acc:#111;--acc2:#9A9A9A}
.ivc.ivc-invite .ivc-frame{border-radius:4px;border-width:2px;outline-offset:-7px}
.ivc.ivc-invite .ivc-bh{position:static;font-size:15px;margin-bottom:6px}
.ivc.ivc-invite .ivc-he-mz{font-size:19px;color:var(--soft);margin-top:0}
.ivc.ivc-invite .ivc-he-type{color:var(--ink);font-size:58px}
.ivc.ivc-invite .ivc-kicker{font:600 13px/1 "CormSC",serif;letter-spacing:.3em;color:var(--soft);text-transform:uppercase}
.ivc.ivc-invite .ivc-en-type{font:600 24px/1.2 "CormSC",serif;letter-spacing:.16em;color:var(--ink);margin-top:6px}
.ivc.ivc-invite .ivc-fam{font:600 clamp(30px,9vw,40px)/1.05 "CormSC",serif;text-transform:uppercase;letter-spacing:.06em}
.ivc.ivc-invite .ivc-fam .amp{text-transform:none;color:var(--soft)}
.ivc.ivc-invite .ivc-lead{color:var(--soft)}
.ivc.ivc-invite .ivc-hall{font:600 22px/1.2 "CormSC",serif;text-transform:uppercase;letter-spacing:.06em}
.ivc.ivc-invite .ivc-rule{height:1px}
.ivc.ivc-invite .ivc-sample{background:#111;color:#fff}
/* thumbnails */
.ivc.mini{width:460px;max-width:none;transform:scale(.235);transform-origin:top left;pointer-events:none}
.inv-thumb{display:block;width:108px;height:170px;overflow:hidden;border-radius:10px;margin:0 auto 8px;position:relative}
.inv-thumb .ivc.mini{position:absolute;top:0;left:0}
.inv-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.inv-pick{border:2px solid var(--line);background:#fff;border-radius:16px;padding:10px 6px 10px;font-size:13.5px;line-height:1.25;color:var(--ink-2)}
.inv-pick.on{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,151,95,.18);color:var(--ink)}
.inv-pick b{font-weight:500}
.inv-edit{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
.inv-edit>div,.inv-page>div{min-width:0}
.inv-tabs{margin:2px 0 6px;display:flex;width:100%}
.inv-tabs button{flex:1;padding:9px 6px}
.inv-tabs button[disabled]{opacity:.45;cursor:default}
.inv-tabs i{font-style:normal;font-size:12px;opacity:.7;margin-inline-start:2px}
.inv-link{background:#fff;border:1px dashed var(--line-2);border-radius:12px;padding:10px 12px;font-size:14px;margin:10px 0 12px;word-break:break-all;color:var(--ink-2)}
.inv-share{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.inv-share .btn{min-height:46px;padding:0 12px;font-size:15px}
.btn-wa{background:#1F8F55;color:#fff}
.inv-page{display:grid;gap:20px;padding-top:16px;grid-template-columns:minmax(0,1fr)}
.inv-card-wrap{padding:4px 0}
.inv-rsvp .stepper{display:flex;gap:8px;align-items:center}
.stepper button{flex:none;width:52px;height:52px;border-radius:14px;border:1px solid var(--line-2);background:#fff;font-size:24px;line-height:1}
.stepper .input{text-align:center;max-width:110px}
.hp{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);pointer-events:none;border:0;padding:0;margin:0}
.inv-thanks{text-align:center;padding:10px 0}
.inv-thanks .ring{width:64px;height:64px;border-radius:50%;background:var(--sage-soft);color:var(--sage);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.inv-thanks .ring .ico{width:30px;height:30px}
.inv-thanks .btn{margin-top:10px}
.inv-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.inv-stats .stat{padding:12px 8px;text-align:center}
.inv-stats .stat b{font-size:24px}
.inv-stats .stat span{font-size:12px;line-height:1.2;display:block}
.inv-private{margin:10px 0 12px;display:flex;align-items:center;gap:6px}
.inv-tools{display:grid;gap:10px;margin-bottom:14px}
.inv-addrow{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.inv-addrow .btn{min-height:46px;padding:0 10px;font-size:14.5px}
.pill{display:inline-block;min-width:22px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.22);font-size:13px;line-height:1.3}
.act .pill{background:var(--gold-soft);color:var(--ink)}
.inv-nofol{display:flex;gap:6px;align-items:flex-start;background:var(--gold-soft);border-radius:12px;padding:10px 12px;margin:0}
.glist{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.grow{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-top:1px solid var(--line)}
.grow:first-child{border-top:0}
.gmain{flex:1;min-width:0}
.gmain .small{word-break:break-all}
.gparty{font-size:13px;color:var(--ink-3)}
.gsrc{margin-inline-start:6px;font-size:10.5px;padding:2px 7px}
.gsrc-rsvp{color:var(--sage);border-color:#CFE0D5;background:var(--sage-soft)}
.gsrc-follower{color:var(--gold);border-color:#D9CFB2;background:var(--gold-soft)}
.gnote{font:italic 500 16px/1.35 var(--serif);color:var(--ink-2);margin-top:4px}
.folpick{max-height:46vh;overflow:auto;margin-top:12px;border:1px solid var(--line);border-radius:14px}
.folrow{display:flex;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid var(--line)}
.folrow:first-child{border-top:0}
.folrow input{width:20px;height:20px;accent-color:var(--navy)}
.folrow small{display:block;color:var(--ink-3);font-size:13px}
.rplan{display:flex;gap:10px;align-items:flex-start;background:var(--gold-soft);border-radius:12px;padding:12px 14px;font-size:15px}
.rplan .ico{color:var(--gold);flex:none;margin-top:2px}
.rchan{margin-top:12px}
.rchan .coming{font-size:10px;padding:3px 8px;margin-inline-start:4px;vertical-align:2px;white-space:normal}
.oblist{display:grid;gap:0}
.obrow{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line);font-size:14px}
.obrow:first-child{border-top:0}
.obrow>span:nth-child(2){flex:1;min-width:0;word-break:break-all}
.obrow .tag{margin:0}
.ob-email{color:var(--navy)}.ob-sms{color:var(--sage)}
details.obd{display:block}
details.obd summary{display:flex;gap:8px;align-items:center;list-style:none;cursor:pointer}
details.obd summary::-webkit-details-marker{display:none}
details.obd summary>span:nth-child(2){flex:1;min-width:0;word-break:break-all}
.obbody{background:var(--paper-2);border-radius:10px;padding:10px 12px;margin-top:8px}
.obbody pre{white-space:pre-wrap;font:400 13.5px/1.45 var(--sans);margin:6px 0 0}
.btn.dim{opacity:.6}
@media (min-width:900px){
  .inv-page{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:32px}
  .inv-edit{grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:32px;align-items:start}
  .inv-remind{max-width:640px}
}
.obrow2{display:block;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px;overflow-wrap:anywhere}
.obrow2:first-child{border-top:0}
.obtop{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
.obtop .tag{margin:0}
.obst{font-size:12px;color:#8A6419;background:#FBF4E6;border:1px solid #EBD9B4;border-radius:999px;padding:2px 9px}
details.obd summary{display:block;list-style:none;cursor:pointer}
.ivc-classic .ivc-bh{position:static;margin-bottom:2px}
.top-actions{position:relative}
.lang-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0!important;border-radius:50%}
.lang-btn .ico{width:20px;height:20px}
.lang-menu{position:fixed;z-index:80;min-width:160px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lift);padding:6px;display:grid;gap:2px}
.lang-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;border-radius:10px;padding:10px 12px;font-size:16px;color:var(--ink);text-align:start}
.lang-menu button[lang=yi]{font-family:"Frank",serif;font-size:17px}
.lang-menu button:hover,.lang-menu button:focus-visible{background:var(--gold-soft)}
.lang-menu button .ico{width:18px;height:18px;color:var(--gold)}

/* ---------- v10: dried-flowers invitation ---------- */
.ivc.ivc-flowers{--bg:#D9D4CA;--ink:#3B3732;--soft:#7A7167;--acc:#A9817C;--acc2:#C9B7A6;--sage:#7E8C76;background:radial-gradient(120% 90% at 20% 10%,#E6E1D8 0%,#D7D1C6 55%,#CBC4B8 100%);padding:22px 16px;border-radius:20px}
.ivc-flowers .ivc-frame{border:0;outline:0;border-radius:0;padding:0;position:relative;isolation:isolate}
.fl-paper{position:absolute;inset:0;z-index:0;display:block;filter:drop-shadow(0 10px 14px rgba(60,50,40,.22)) drop-shadow(0 1px 1px rgba(60,50,40,.12))}
.fl-paper i{position:absolute;inset:0;display:block}
.fl-edge{background:#FFFDF8}
.fl-sheet{background:#F7F0E3;background-image:radial-gradient(120% 70% at 50% 0%,rgba(255,255,255,.55),rgba(255,255,255,0) 60%),radial-gradient(90% 60% at 80% 100%,rgba(214,196,170,.28),rgba(214,196,170,0) 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .3 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.fl-art{position:absolute;z-index:1;width:190px;pointer-events:none;line-height:0}
.fl-art svg{width:100%;height:auto;display:block}
.fl-art.tl{top:-6px;left:-8px}
.fl-art.br{bottom:-6px;right:-8px;width:130px;transform:rotate(180deg)}
.fl-body{position:relative;z-index:2;padding:78px 26px 64px}
.ivc-flowers .heb{font-family:"FRL","Frank",serif}
.fl-bh{position:absolute;top:18px;right:24px;font-size:12.5px;color:var(--soft)}
.fl-he-head{font:500 52px/1.05 "Frank","FRL",serif;color:var(--ink);margin-top:22px;letter-spacing:.01em}
.fl-he-names{font:700 21px/1.35 "Frank","FRL",serif;color:var(--ink);margin-top:10px}
.fl-he-par{font:400 15.5px/1.5 "FRL","Frank",serif;color:var(--soft);margin-top:4px}
.fl-rule{display:flex;align-items:center;justify-content:center;gap:9px;margin:16px auto 12px}
.fl-rule i{display:block;width:46px;height:1px;background:var(--acc2)}
.fl-rule b{display:block;width:7px;height:7px;border-radius:50%;background:var(--acc);opacity:.75}
.fl-en-type{font:600 13px/1.2 "CormSC","Cormorant",serif;letter-spacing:.34em;text-transform:uppercase;color:var(--acc)}
.fl-fam{font:600 clamp(32px,9.5vw,42px)/1.04 "Cormorant",serif;margin:6px 0 0;color:var(--ink);overflow-wrap:anywhere}
.fl-fam .amp{font:italic 500 .8em "Cormorant",serif;color:var(--acc);padding:0 .08em}
.fl-sub{font:italic 500 18px/1.35 "Cormorant",serif;color:var(--soft);margin:6px 0 0}
.fl-sides{font:500 13.5px/1.5 var(--sans);color:var(--soft);margin-top:10px;display:flex;flex-wrap:wrap;justify-content:center;gap:2px 8px}
.fl-sides i{font:italic 500 15px/1.3 "Cormorant",serif;color:var(--acc)}
.fl-lead{font:italic 500 17px/1.4 "Cormorant",serif;color:var(--soft);margin:14px 8px 0}
.fl-msg{font:italic 500 18px/1.45 "Cormorant",serif;color:var(--ink);margin:12px 6px 0}
.fl-when{margin:16px auto 0;padding:12px 0;border-top:1px solid rgba(169,129,124,.35);border-bottom:1px solid rgba(169,129,124,.35);max-width:310px}
.fl-hdate{font:700 21px/1.35 "Frank","FRL",serif;color:var(--ink)}
.fl-date{font:600 19px/1.3 "Cormorant",serif;color:var(--ink);margin-top:2px}
.fl-time{font:600 24px/1.2 "Cormorant",serif;color:var(--ink);margin-top:6px}
.fl-time span{font:500 15px/1 var(--sans);color:var(--soft)}
.fl-times{margin-top:8px}
.fl-hall{font:600 25px/1.15 "Cormorant",serif;margin-top:16px;color:var(--ink)}
.fl-he-hall{font:700 18px/1.3 "Frank","FRL",serif;color:var(--soft)}
.fl-area{display:flex;align-items:flex-start;justify-content:center;gap:5px;font:500 14px/1.4 var(--sans);color:var(--soft);margin-top:6px}
.fl-area span{text-align:center}
.fl-area .ico{width:15px;height:15px;color:var(--sage);flex:none;margin-top:2px}
.fl-addr{font:600 14.5px/1.35 var(--sans);margin-top:4px;color:var(--ink)}
.ivc-flowers .ivc-lock{border-color:var(--acc2)}
.fl-foot{font:600 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--sage);margin-top:22px}
.ivc-flowers .ivc-sample{background:var(--sage);color:#fff}
.inv-picks{grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.inv-picks{grid-template-columns:repeat(4,1fr)}}
.pst-picks{grid-template-columns:repeat(2,1fr)}

.ivc :is(.ivc-date,.ivc-t b,.ivc-hall,.ivc-area span,.ivc-addr,.ivc-fam,.ivc-sub,.fl-date,.fl-time,.fl-hall,.fl-area span,.fl-addr,.fl-fam,.fl-sub,.fl-sides span,.fl-en-type){unicode-bidi:plaintext}

/* v11: Calendar › List */
.calview{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--paper-2,#F1ECE2);border:1px solid var(--line-2,#E3DACB);border-radius:999px;padding:4px;margin:14px 0 12px}
.calview button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;border-radius:999px;padding:10px 12px;font:600 15px/1 var(--sans);color:var(--ink-2);cursor:pointer;min-width:0}
html[dir=rtl] .calview button{font-family:var(--heb);font-size:16px}
.calview button .ico{width:18px;height:18px;flex:none}
.calview button.on{background:var(--navy);color:#fff;box-shadow:0 8px 18px -12px rgba(27,59,48,.8)}
.calview button.on .ico{color:#C7AB6A}
.ltools{display:flex;margin:4px 0 10px}
.ltools .townsel{flex:1;min-width:0}
.ltools .townsel select{width:100%}
.lcount{margin:16px 0 8px;align-items:center;gap:10px}
.lpast{border:0;background:none;color:var(--gold);font:500 14px/1.2 var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 0;white-space:nowrap}
html[dir=rtl] .lpast{font-family:var(--heb);font-size:15px}
.llist{display:flex;flex-direction:column;gap:14px;margin-bottom:8px}
.lday{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 2px;margin:0 0 6px;padding:0 2px 6px;border-bottom:1px solid var(--line,#EAE3D6);font:600 14px/1.35 var(--sans);color:var(--ink-2)}
.lday .lwd{color:var(--navy);text-transform:uppercase;letter-spacing:.08em;font-size:12.5px}
.lday .lwd[lang=he]{text-transform:none;letter-spacing:0;font:700 15px/1.2 var(--heb)}
html[dir=rtl] .lday .lwd{text-transform:none;letter-spacing:0;font:700 15px/1.2 var(--heb)}
.lday .lheb{font:700 16px/1.2 var(--heb);color:var(--navy)}
.lday .lpar{font:600 15px/1.2 var(--heb);color:var(--gold)}
.lday .lsec{font-weight:500;color:var(--ink-3,#7A7468);font-size:13.5px}
.lday .ldot{color:var(--gold-2);padding:0 2px}
.lday .ltoday{margin-inline-start:auto;font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;background:var(--navy);color:#fff;border-radius:999px;padding:4px 8px;align-self:center}
html[dir=rtl] .lday .ltoday{font:600 13px/1 var(--heb);letter-spacing:0}
.lday.shab{background:var(--gold-soft);border-radius:10px 10px 0 0;padding:6px 8px;border-bottom-color:#D9CFB2}
.lrows{display:flex;flex-direction:column;gap:8px}
.lrow{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line,#EAE3D6);border-radius:14px;padding:11px 14px;min-width:0;transition:border-color .2s}
.lrow:hover,.lrow:active{border-color:var(--gold-2)}
.lr1{display:flex;align-items:center;gap:8px;min-width:0}
.lchip{flex:0 1 auto;min-width:0;font:600 11.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);background:var(--gold-soft);border-radius:999px;padding:5px 9px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[dir=rtl] .lchip{letter-spacing:0;font:600 14px/1 var(--heb);text-transform:none}
.lr1 .tag{flex:none;margin:0}
.ltm{direction:ltr;unicode-bidi:isolate;margin-inline-start:auto;display:inline-flex;align-items:center;gap:4px;font:600 14px/1 var(--sans);color:var(--navy);white-space:nowrap;flex:none}
.ltm .ico{width:15px;height:15px;color:var(--gold-2)}
.lfam{font:600 19px/1.25 var(--serif);color:var(--ink);margin:7px 0 3px;overflow-wrap:anywhere}
html[dir=rtl] .lfam{font-family:var(--heb)}
.lfam .amp{font-style:italic;font-weight:500;color:var(--gold);padding:0 .12em}
.lwhere{font-size:14px;color:var(--ink-2);line-height:1.35;overflow-wrap:anywhere}
.lwhere .lhall{font-weight:500;color:var(--ink)}
.lwhere .ldot{color:var(--gold-2)}

.ltools .townsel{width:auto;max-width:none}
.lday>span{unicode-bidi:isolate}
.lday .ldot{unicode-bidi:normal}

/* ---------- v12: near you + zman Shabbos ---------- */
.masthead .zman{display:flex;flex-wrap:nowrap;justify-content:center;align-items:baseline;margin:10px auto 0;white-space:nowrap;font:500 min(14px,3.6vw)/1.5 var(--sans);color:var(--ink-2);letter-spacing:.01em}
.masthead .zman[hidden]{display:none}
.masthead .zman .zc{white-space:nowrap}
.masthead .zman b{font-weight:600;color:var(--gold);font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.masthead .zman .zi{margin-inline-end:5px;font-size:13px}
.masthead .zman .zs{color:var(--gold-2);padding:0 7px}
.masthead .zman .zt{color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;min-width:0}
html[dir=rtl] .masthead .zman{font-family:"Frank",var(--sans);font-size:min(15.5px,4vw)}
.nearban{position:relative;display:flex;gap:12px;align-items:flex-start;margin:14px 0 2px;padding:14px 40px 14px 14px;background:linear-gradient(180deg,#fff,var(--gold-soft));border:1px solid #D9CFB2;border-radius:18px}
html[dir=rtl] .nearban{padding:14px 14px 14px 40px}
.nearban .nbi{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #D9CFB2;color:var(--gold);display:grid;place-items:center;flex:none}
.nearban .nbi .ico{width:18px;height:18px}
.nearban .nbt{min-width:0;flex:1}
.nearban b{display:block;font:600 19px/1.2 var(--serif);color:var(--ink)}
html[dir=rtl] .nearban b{font-family:var(--heb);font-weight:700}
.nearban small{display:block;margin-top:3px;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.nearban .nbb{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.nearban .nbb .btn{min-height:36px}
.nbpick{position:relative;display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:14px;color:var(--ink);font-weight:500}
.nbpick select,.nearchip select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.nearban .nbx{position:absolute;top:6px;inset-inline-end:6px;width:32px;height:32px;border:0;background:transparent;border-radius:50%;font-size:22px;line-height:1;color:var(--ink-3)}
.nearban .nbx:hover{background:rgba(0,0,0,.04);color:var(--ink)}
.ncount{align-items:center;gap:10px}
.ncount>span:first-child{min-width:0}
.ncount .ntowns{font-size:13.5px;color:var(--ink-3)}
.nearchip{position:relative;flex:none;display:inline-flex;align-items:center;gap:5px;max-width:58%;min-height:34px;padding:0 12px 0 10px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font:500 13.5px/1 var(--sans);color:var(--ink-2)}
html[dir=rtl] .nearchip{font-family:"Frank",var(--sans);font-size:15px}
.nearchip.on{border-color:#E4D3B1;background:var(--gold-soft);color:var(--ink)}
.nearchip .ico{width:15px;height:15px;color:var(--gold);flex:none}
.nearchip .nct{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.nearchip .ncv{font-size:10px;color:var(--gold);flex:none}
.nearchip:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.ltools{gap:8px;align-items:center}
.ltools .nearchip{max-width:50%}
.rtown{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 2px 6px;font:600 12px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.list .rtown:first-child,.lrows .rtown:first-child{margin-top:2px}
html[dir=rtl] .rtown{letter-spacing:0;font:700 14px/1.2 "Frank",var(--sans)}
.rtown .rtn{display:inline-flex;align-items:center;gap:5px;min-width:0}
.rtown .ico{width:13px;height:13px}
.rtown .rtd{font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--ink-3);white-space:nowrap}
.lrows .rtown{margin:6px 2px 0}
.zfoot{flex-basis:100%;font-size:12.5px;color:var(--ink-3)}
.zfoot[hidden]{display:none}

/* ---------- v13: Erev Shabbos / Erev Yom Tov section ---------- */
.erev{margin:22px 0 6px;border:1px solid #E6D6B6;border-radius:18px;background:#FFFDF8;overflow:hidden;min-width:0}
.erev-head{background:linear-gradient(180deg,#F5EEE1,#F1E6D1);border-bottom:1px solid #E6D6B6;padding:12px 16px 12px;text-align:center}
.erev-k{display:flex;align-items:center;justify-content:center;gap:7px;font:600 12px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
html[lang=yi] .erev-k,[dir=rtl] .erev-k{letter-spacing:0;text-transform:none;font:700 14px/1.2 "Frank",var(--sans)}
.erev-k .ico{width:15px;height:15px;flex:none}
.erev-n{font:600 11px/1 var(--sans);letter-spacing:0;background:var(--gold);color:#fff;border-radius:999px;min-width:20px;height:20px;display:inline-grid;place-items:center;padding:0 6px;font-variant-numeric:lining-nums}
.erev-t{margin:6px 0 0;font:700 min(22px,5.6vw)/1.25 var(--heb);color:var(--navy);overflow-wrap:anywhere}
.erev-en{margin-top:2px;font:500 14px/1.3 var(--serif,var(--sans));font-style:italic;color:var(--gold)}
.erev .erev-z{margin-top:8px;flex-wrap:wrap;row-gap:0;white-space:normal}
.erev-body{padding:12px;display:flex;flex-direction:column;gap:12px;min-width:0}
.erev-body>.rtown{margin:4px 2px -4px}
.erev-day{font:700 14px/1.3 "Frank",var(--sans);color:var(--navy);padding:2px 2px 0;display:flex;flex-wrap:wrap;gap:0 2px}
.erev-day>span{unicode-bidi:isolate}
.erev-day .ldot{color:var(--gold-2);padding:0 2px}
.erev-none{margin:0;text-align:center;color:var(--ink-3)}
.hchip{flex:none;display:inline-flex;align-items:center;font:600 11.5px/1 var(--sans);letter-spacing:.02em;color:#fff;background:var(--gold);border-radius:999px;padding:4px 9px;white-space:nowrap}
.hchip.yt{background:#7E6334}
.hchip.motz{background:var(--navy)}
[dir=rtl] .hchip,html[lang=yi] .hchip{font:600 12.5px/1 "Frank",var(--sans);letter-spacing:0}
.erev .card-top{flex-wrap:wrap;row-gap:6px}
.erev .lr1 .hchip{margin-inline-start:6px}
.erev-list{margin:10px 0 2px;border-radius:14px}
.erev-list .erev-head{padding:9px 12px}
.erev-list .erev-t{font-size:18px;margin-top:4px}
.erev-list .erev-body{padding:10px;gap:8px}
.erev-mini{margin:12px 0 4px;border-radius:14px}
.erev-mini .erev-head{padding:9px 12px}
.erev-mini .erev-t{font-size:17px;margin-top:3px}
.erev-mini .erev-body{padding:10px 10px 2px;gap:0}
.erev-mini .mini small .hchip{margin-inline-end:6px;padding:3px 7px;font-size:10.5px;vertical-align:1px}
.erev-mini .erev-day{margin:0 0 6px}
.lnone{margin:0 2px;color:var(--ink-3)}
.xcount{color:var(--gold);font-weight:600;white-space:nowrap}
.xcount b{color:var(--gold)}
.xempty{padding:16px 18px}
/* day strip: second small gold count on the Erev day */
.day .xb{margin-top:4px;font:600 10.5px/1 "Frank",var(--sans);color:#fff;background:var(--gold);border-radius:999px;padding:3px 6px;white-space:nowrap;max-width:58px;overflow:hidden}
.day .xb b{font:700 10.5px/1 var(--sans);font-variant-numeric:lining-nums}
.day.on .xb{background:#C7AB6A;color:var(--navy)}
/* month grid: "2+6" in one pill */
.mday .c.cx{background:var(--navy);color:#fff;padding:0 5px;gap:1px;display:inline-flex;align-items:center;justify-content:center;max-width:100%;overflow:hidden}
.mday .c.cx em{font-style:normal;color:#C7AB6A;font-weight:700}
.mday.sel .c.cx{background:#C7AB6A;color:var(--navy)}
.mday.sel .c.cx em{color:var(--navy)}

.erev .card{position:relative;overflow:visible}
.erev .card>.card-top>.hchip{position:absolute;top:-10px;inset-inline-start:16px;box-shadow:0 0 0 3px #FFFDF8}
.erev-cards .erev-body{gap:18px;padding-top:20px}
.erev-cards .erev-body>.rtown{margin:2px 2px -8px}
.erev-cards .erev-body>.erev-day+.rtown,.erev-cards .erev-body>.rtown:first-child{margin-top:-6px}
.erev .erev-z .zc{white-space:nowrap!important}
.erev .erev-z{justify-content:center;column-gap:0}
.erev-cards .erev-body>.rtown{margin-bottom:-2px}
.erev .lrow{position:relative;overflow:visible}
.erev .lrow .lr1>.hchip{position:absolute;top:-9px;inset-inline-start:12px;margin:0;box-shadow:0 0 0 3px #FFFDF8;padding:3px 8px;font-size:11px}
.erev-list .erev-body{gap:14px;padding-top:16px}
.erev-list .erev-body>.rtown{margin:0 2px -4px}
.rtown .rtd{direction:ltr;unicode-bidi:isolate}

/* v13: zman Shabbos on the Hebrew date line (Erev Shabbos / Erev Yom Tov only) */
.masthead .hdate.wz{white-space:normal}
.masthead .hdate .hdm{white-space:nowrap}
.masthead .hz{display:inline;font:600 .62em/1.3 "Frank",var(--sans);color:var(--gold);vertical-align:.12em}
.masthead .hz[hidden]{display:none}
.masthead .hz .hzu{display:inline-block;white-space:nowrap;unicode-bidi:isolate}
.masthead .hz .hsep,.masthead .hz .zs{color:var(--gold-2);font-weight:400;padding:0 .18em}
.masthead .hz b{font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.masthead .hz .zt{color:var(--ink-3);font-weight:500}
.masthead .hz.wrapped .hzs{display:none}
.masthead .hz.wrapped .hzu{display:block;margin-top:4px;font-size:1em}
.erev .erev-z .erev-zt{flex-basis:100%;text-align:center;font-size:12.5px;color:var(--ink-3);margin-top:1px}
.erev .erev-z{font-size:min(14.5px,3.75vw)}
.erev .erev-z{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;color:var(--ink-2);font-family:"Frank",var(--sans)}
.erev .erev-z[hidden]{display:none}
.erev .erev-z b{color:var(--gold);font-weight:700;font-variant-numeric:tabular-nums}
.erev .erev-z .zs{color:var(--gold-2);padding:0 6px}
.erev .erev-z .zi{margin-inline-end:4px}

/* v14 slogan tagline under the wordmark */
.brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.brand-tag{font:italic 500 13px/1.1 var(--serif);color:var(--gold);letter-spacing:.02em;white-space:nowrap;direction:ltr}
html[dir=rtl] .brand-text{align-items:flex-start}
.brand-tag[dir=rtl]{direction:rtl;font:500 12.5px/1.15 var(--heb);letter-spacing:0}
@media (max-width:440px){.brand-tag{font-size:11.5px}.brand-tag[dir=rtl]{font-size:11px}}
@media (max-width:360px){.brand-tag{font-size:10.5px}}

/* v14 retention: past days (up to RETENTION_DAYS back) are muted; older days are gone */
.day.pastd{opacity:.55;background:#F4F0E8}
.day.pastd.on{opacity:1;background:var(--navy);border-color:var(--navy)}
.pastnote{margin:8px 0 0;font-size:13px;color:var(--ink-3);text-align:center}
.list.is-past,.week-day.is-past .mini,.lgroup.lpastg{opacity:.62}
.mday.past{opacity:.6}
.mday.gone{opacity:.28;pointer-events:none;cursor:default}
.iconbtn[disabled]{opacity:.3;cursor:default;pointer-events:none}
.days{scroll-padding-inline:20px}

/* v15: SimchasTonight.com — the .com smaller, in gold */
.brand-com{font:500 .56em/1 var(--serif);color:var(--gold);letter-spacing:.01em;margin-inline-start:1px;vertical-align:baseline}
.brand-word{white-space:nowrap}
@media (max-width:400px){.brand-word{font-size:20px}}
.masthead .hz .zc,.masthead .hz .zt{white-space:nowrap}
.masthead .hz.wrapped .hzu{white-space:normal;max-width:100%;font-size:.9em}
@media (max-width:400px){.masthead .hz.wrapped .hzu{font-size:.84em}}

/* v16: Hebrew-script zmanim labels in both views, isolated from the LTR times */
.zh{unicode-bidi:isolate;font-family:"Frank",var(--sans);font-weight:600}
.zman bdi,.hz bdi,.erev-z bdi{unicode-bidi:isolate}

/* TEMPORARY admin preview pill (remove with PREVIEW_ENABLED) */
.pv-pill{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:34px;min-width:46px;padding:0 7px;border-radius:999px;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);font-family:var(--sans);cursor:pointer;line-height:1;flex:none}
.pv-pill b{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.pv-pill span{font-size:9.5px;font-weight:500;opacity:.85}
.pv-pill.on{background:#1B3B30;border-color:#1B3B30;color:#fff}
@media (max-width:440px){.top-actions{gap:6px}.pv-pill{min-width:42px;padding:0 6px;height:32px}}
@media (max-width:400px){.top-in{gap:8px}}

/* v18: Today pill */
.today-pill{letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;justify-content:center;margin-inline-start:10px;padding:4px 12px;border-radius:999px;border:1px solid #C7AB6A;background:#C7AB6A;color:#1B3B30;font:600 12.5px/1.2 var(--sans);cursor:pointer;vertical-align:middle;white-space:nowrap}
html[dir=rtl] .today-pill{font-family:var(--heb);font-size:13.5px}
.today-pill:hover{filter:brightness(1.05)}
.today-row{display:flex;justify-content:flex-end;margin:-4px 0 10px}
.today-row .today-pill{margin:0}

/* v19: town chip after the zmanim (Joel 5:20 PM) */
.zchip{position:relative;display:inline-flex;align-items:center;gap:3px;padding:1px 8px 1px 6px;margin:0 1px;border:1px solid #E4D3B1;border-radius:999px;background:var(--gold-soft);color:var(--ink-2);font-weight:600;white-space:nowrap;cursor:pointer;line-height:1.35;vertical-align:baseline;unicode-bidi:isolate}
.zchip .zpin{font-size:.85em;line-height:1}
.zchip .zcv{font-size:.7em;color:var(--gold)}
.zchip bdi{unicode-bidi:isolate}
.zchip select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;border:0}
.zchip:focus-within{outline:2px solid var(--gold);outline-offset:1px}
.masthead .hz .zchip{font-size:.92em;color:var(--ink-2)}
.erev .erev-z .zchip{font-size:.95em}

/* v20: zmanim town chip is a real button; town list opens as a bottom sheet (iPhone fix) */
button.zchip{-webkit-appearance:none;appearance:none;font:inherit;font-weight:600;color:var(--ink-2);margin:0 1px;-webkit-tap-highlight-color:rgba(207,178,122,.25);touch-action:manipulation}
.masthead .hz button.zchip{font-size:.92em}
button.zchip:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.tpick-h{margin:0 0 10px}
.tpick{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.tpick-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:50px;padding:0 6px;border:0;border-bottom:1px solid var(--line);background:transparent;font:500 16px/1.2 var(--sans);color:var(--ink);text-align:start;cursor:pointer;-webkit-tap-highlight-color:rgba(207,178,122,.25);touch-action:manipulation}
html[dir=rtl] .tpick-row{font-family:"Frank",var(--sans);font-size:17px}
.tpick-row.on{font-weight:700;color:var(--ink)}
.tpick-row .ico{width:20px;height:20px;color:var(--gold);flex:none}
.tpick-l{display:inline-flex;align-items:center;gap:8px;min-width:0}
.tpick-pin{font-size:15px}
.tpick-x{width:100%;margin-top:14px}
/* v20: Back end link beside the Admin pill (preview device only): a small gear button; on that device "Sign in" shrinks to an icon so the header still fits */
.pv-be{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid #1B3B30;background:#fff;color:#1B3B30;text-decoration:none;flex:none}
.pv-be .ico{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.pv-be.on{background:#1B3B30;color:#fff}
.acct-btn.acct-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0!important;border-radius:50%}
.acct-btn.acct-ico .ico{width:19px;height:19px;color:#fff}
@media (max-width:440px){.pv-be,.acct-btn.acct-ico{width:32px;height:32px}}

/* v21: Motzei Shabbos — the evening counterpart of the gold שבת קודש section (navy night head, gold title) */
.erev-motz{border-color:#24493C;background:#FBFAF6}
.erev-motz .erev-head{background:linear-gradient(180deg,#1B3B30,#24493C);border-bottom-color:#24493C}
.erev-motz .erev-k{color:#C7AB6A}
.erev-motz .erev-n{background:#C7AB6A;color:#1B3B30}
.erev-motz .erev-t{color:#C7AB6A}
.erev-motz .erev-en{color:#D8BF8A}
.erev-motz .erev-z{color:#E9E4D8}
.erev-motz .erev-z b{color:#F3E0B0}
.erev-motz .erev-z .zs{color:#B8975F}
.erev-motz .zchip{background:rgba(255,255,255,.08);border-color:rgba(226,201,143,.45);color:#F5EEE1}
.erev-motz .zchip .zcv{color:#C7AB6A}
.erev-motz .card>.card-top>.hchip,.erev-motz .lrow .lr1>.hchip{box-shadow:0 0 0 3px #FBFAF6}
.hchip.motz{background:#1B3B30;color:#C7AB6A;border-color:#1B3B30}
.erev-z[hidden],.zmotz[hidden]{display:none!important}

/* v21: jump-to-date button (native date picker under a transparent input) */
.jump-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-inline-start:8px;border-radius:50%;border:1px solid #C7AB6A;background:#fff;color:var(--gold);vertical-align:middle;flex:none;overflow:hidden;cursor:pointer;letter-spacing:0}
.jump-btn .ico{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.jump-btn .ico .f{fill:currentColor;stroke:none}
.jump-btn input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;border:0;margin:0;padding:0;-webkit-appearance:none;appearance:none;cursor:pointer}
.today-row{align-items:center;gap:8px}
.today-row .jump-btn{margin:0}

/* ---------- v22: search bar at the top of the home page ---------- */
.qtop{max-width:1180px;margin:0 auto;padding:12px 20px 0}
.qtop[hidden]{display:none}
.qbar{display:flex;gap:8px;align-items:center;margin:0}
.qlab{position:relative;flex:1;min-width:0;display:block}
.qlab .ico{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:16px;color:var(--ink-3);pointer-events:none}
.qlab .input{padding-inline-start:46px;border-radius:999px;background:#fff;min-height:50px;font-size:16px;text-overflow:ellipsis}
.qlab .input::placeholder{color:var(--ink-3);opacity:1}
.qlab .input::-webkit-search-cancel-button,.qlab .input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.qclr{flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);font:500 14px var(--sans);cursor:pointer}
.qclr:hover{border-color:var(--gold-2);color:var(--ink)}
.qclr[hidden]{display:none}
@media (min-width:900px){.qtop{padding:16px 32px 0}.qbar{max-width:640px}}
/* ---------- v22: sponsored strip ---------- */
.adslot{display:block;margin:2px 0;align-self:center}
.adlbl{display:block;font:500 10.5px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 5px;padding-inline-start:4px}
html[lang=yi] .adlbl{letter-spacing:0;text-transform:none;font-size:11.5px}
.adlink{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--paper-2);line-height:0;box-shadow:var(--shadow);-webkit-tap-highlight-color:transparent}
.adlink img{display:block;width:100%;height:auto;aspect-ratio:3/1}
a.adlink:active{opacity:.85}
.lrows .adslot{margin:10px 0}
.llist>.adslot{margin:12px 0}
.qhead{margin:6px 0 10px}.qhead .townsel{display:block}
.adrow img{display:block;width:100%;max-width:420px;height:auto;aspect-ratio:3/1;border-radius:12px;margin:0 0 10px}
/* ---------- v22: add your own town ---------- */
.at-form{display:flex;gap:8px}
.at-form .input{flex:1;min-width:0;font-size:16px}
.tpick-add{color:var(--gold)}
.tpick-add .tpick-l .ico{width:18px;height:18px}
.nearban .nbx{width:auto;height:auto;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:500}
.stepper button{font-size:16px}

/* v23: live status */
.liveline{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:10px;font-size:14.5px;font-weight:600;color:#17703a;line-height:1.35}
.liveline .lvdot{width:9px;height:9px;border-radius:50%;background:#1fa04f;flex:none;box-shadow:0 0 0 3px rgba(31,160,79,.18);animation:lvpulse 2s ease-in-out infinite}
.liveline .lvnote{font-weight:400;color:var(--ink-2);flex-basis:100%;padding-inline-start:17px;font-size:14px}
.liveline.ended{color:var(--ink-2)}
.liveline.ended .lvdot,.liveline.off .lvdot{background:#A9ADB6;box-shadow:none;animation:none}
.liveline.off{color:var(--ink-3);font-weight:500}
.liveline.big{font-size:17px;margin-top:14px}
.liveline.big .lvdot{width:11px;height:11px}
.lrow .liveline{margin-top:6px;font-size:13.5px}
@keyframes lvpulse{50%{box-shadow:0 0 0 6px rgba(31,160,79,.06)}}
@media (prefers-reduced-motion:reduce){.liveline .lvdot{animation:none}}
.lvpage .k{font-size:13px;color:var(--ink-3);letter-spacing:.04em}
.lvnow{margin:18px 0 6px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.lvnow .liveline{margin-top:6px}
.lvhint{font-size:14px;color:var(--ink-3);margin:8px 2px 0}
.lvlbl{display:block;margin:20px 2px 8px}
.lvgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lvbtn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:68px;padding:12px;border-radius:16px;border:1px solid var(--line-2,#ddd);background:#fff;color:var(--ink);font-size:18px;font-weight:600;font-family:inherit;transition:all .2s var(--ease);-webkit-tap-highlight-color:transparent}
.lvbtn:active{transform:scale(.98)}
.lvbtn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.lvbtn.on{background:#EAF6EE;border-color:#1fa04f;color:#145f31;box-shadow:0 0 0 1px #1fa04f inset}
.lvbtn .lvdot{width:10px;height:10px;border-radius:50%;background:#1fa04f;flex:none}
.lvbtn.done{color:var(--ink-2)}
.lvbtn.done.on{background:#F1F1F3;border-color:#A9ADB6;color:var(--ink);box-shadow:none}
.lvbtn.done.on .lvdot{background:#A9ADB6}
.lvbtn[disabled]{opacity:.6}
.lvpage #lvClear{margin-top:10px}
.lvlink{margin-top:24px}
.lvurl{margin-top:12px;font-size:14px;min-height:44px}
.lvlink .linkbtn{display:block;margin:10px 0 0;font-size:14px;text-align:start}
.lvpage .page-head{padding-bottom:6px}
.lvnoterow{display:flex;gap:8px;align-items:center}
.lvnoterow .input{flex:1;min-width:0}
.lvnoterow .btn{flex:none;min-height:52px}
.lvpage .lvgrid+.lvlbl{margin-top:16px}

/* ---------- v24: send a picture of the invitation ---------- */
.vh{position:absolute!important;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
.ip-box{background:linear-gradient(180deg,var(--gold-soft),#fff 70%);border:1.5px solid var(--gold);border-radius:var(--r);padding:18px;margin:0 0 18px;box-shadow:var(--shadow)}
.ip-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.ip-head .h3{margin:0 0 4px;line-height:1.25}
.ip-head .small{margin:0}
.ip-cam{flex:none;width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--line-2);display:grid;place-items:center;font-size:24px;line-height:1}
.ip-pick{cursor:pointer;position:relative;gap:8px}
.ip-prev{margin:14px 0 6px;text-align:center}
.ip-prev img{max-width:100%;max-height:320px;border-radius:12px;border:1px solid var(--line);box-shadow:var(--shadow);display:block;margin:0 auto 6px;background:#fff}
#ipmore{margin-top:10px}
.ip-chk{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin:4px 0 14px;cursor:pointer}
.ip-chk input{width:22px;height:22px;flex:none;margin:1px 0 0;accent-color:var(--navy)}
.ip-chk b{display:block;font-weight:600;font-size:15px}
.ip-chk small{display:block;color:var(--ink-3);font-size:13px;margin-top:2px}
.ip-ok{text-align:center;padding:8px 4px}
.ip-ok .ring{width:60px;height:60px;margin:0 auto 12px;border-radius:50%;background:var(--sage-soft);color:var(--sage);display:grid;place-items:center}
.ip-ok p{margin:0 0 8px}
.ip-or{text-align:center;margin:4px 0 16px;color:var(--ink-3);font-size:14px;display:flex;align-items:center;gap:10px}
.ip-or::before,.ip-or::after{content:"";flex:1;height:1px;background:var(--line)}
.ip-list{display:flex;flex-direction:column;gap:10px}
.ip-item{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;align-items:flex-start}
.ip-th{flex:none;width:64px;height:84px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper-2);cursor:zoom-in}
.ip-th img{width:100%;height:100%;object-fit:cover;display:block}
.ip-body{flex:1;min-width:0}
.ip-top{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-bottom:4px}
.ip-st{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;border-radius:999px;padding:3px 10px;background:var(--paper-2);color:var(--ink-2)}
.ip-st.ip-pending{background:#FFF6E2;color:#8A6417}
.ip-st.ip-needinfo{background:#FBEDEB;color:var(--rose)}
.ip-st.ip-review{background:var(--gold-soft);color:var(--navy)}
.ip-st.ip-added{background:var(--sage-soft);color:var(--sage)}
.ip-st .ico{width:14px;height:14px}
.ip-note{margin:2px 0 6px;font-size:14px;color:var(--ink-2);overflow-wrap:anywhere}
.ip-msg{margin:4px 0 6px;font-size:14px;background:#FBEDEB;color:var(--rose);border-radius:10px;padding:8px 10px;overflow-wrap:anywhere}
.ip-who{margin:0 0 4px;font-size:14px;overflow-wrap:anywhere}
.ip-review{margin-top:8px;border-top:1px solid var(--line);padding-top:10px}
.ip-rt{margin:0 0 8px;font-weight:600;font-size:14px;color:var(--navy)}
.ip-fields{margin:0 0 10px;display:grid;gap:6px}
.ip-fields div{display:grid;grid-template-columns:96px 1fr;gap:8px;font-size:14px}
.ip-fields dt{color:var(--ink-3)}
.ip-fields dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.ip-rimg{margin:0 0 10px}
.ip-rimg .ip-imgbtn,.inv-thumb{display:block;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;max-width:160px;margin-top:4px;cursor:zoom-in}
.ip-rimg img,.inv-thumb img{display:block;width:100%;height:auto}
.ip-review .btn-row,.ip-adm .btn-row,.ip-draft .btn-row{gap:8px;flex-wrap:wrap;margin-top:6px}
.ip-draft{margin-top:12px}
.ip-draft .small{margin:6px 0 4px}
.ip-adm{display:flex;gap:12px;align-items:flex-start}
.ip-badge{background:var(--gold-soft)!important;color:var(--navy);font-size:12px;vertical-align:middle;font-family:var(--sans)}
.ip-lb{position:fixed;inset:0;z-index:200;background:rgba(10,20,25,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:14px}
.ip-lb img{max-width:100%;max-height:82vh;border-radius:8px;background:#fff}
.ip-lb .ip-lbx{background:#fff}
[dir=rtl] .ip-fields div{grid-template-columns:110px 1fr}

.ip-badge[hidden]{display:none!important}
/* v24: Motzei Shabbos chip in the day strip */
.day.mzd{background:linear-gradient(180deg,#fff,var(--gold-soft))}
.day.mzd .wd[lang=he]{color:var(--navy)}
.day.mzd .hm.mzl{white-space:normal;line-height:1.05;font-size:10.5px;font-weight:600;color:var(--ink-2);max-width:58px;text-align:center}
.day.mzd.on{background:var(--navy);border-color:var(--navy)}
.day.mzd.on .hm.mzl{color:#C7AB6A}

/* v25: approved logo in the header */
.brand-logo{display:block;width:62px;height:43px;flex:none}
@media (max-width:440px){.brand-logo{width:54px;height:38px}}
/* v25: Erev / Shabbos / Yom Tov / Motzei — gold section headers and a jump row */
.dayhead{display:flex;align-items:center;gap:10px;margin:6px 0 10px;color:var(--gold);font:600 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.dayhead::before,.dayhead::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent)}
html[dir=rtl] .dayhead{letter-spacing:0;font:600 14px/1 var(--heb);text-transform:none}
.secnav{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 14px}
.secnav button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gold);background:var(--gold-soft);color:var(--navy);border-radius:999px;padding:7px 12px;font:600 13.5px/1 var(--sans);cursor:pointer}
.secnav button b{background:var(--gold);color:#fff;border-radius:999px;padding:2px 7px;font-size:12px}
.secnav button .ar{font-size:14px;line-height:1}
html[dir=rtl] .secnav button{font-family:var(--heb);font-size:14.5px}
.sec-more{display:flex;justify-content:center;margin:14px 0 4px}
.sec-more button{border:0;background:none;color:var(--gold);font:600 13px/1.2 var(--sans);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
html[dir=rtl] .sec-more button{font-family:var(--heb);font-size:14px}
#sec-holy,#sec-motz{scroll-margin-top:84px}

/* ---------- v26: language picker — a pill with the current language, opening a short list (no globe) ---------- */
.lang-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:auto;height:34px;min-width:0;padding:0 9px 0 11px!important;border-radius:999px;border:1px solid var(--line-2);background:#fff;color:var(--navy);font:500 13px/1 var(--sans);letter-spacing:.01em;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s var(--ease),background .15s var(--ease)}
html[dir=rtl] .lang-btn{padding:0 11px 0 9px!important}
.lang-btn:hover,.lang-btn[aria-expanded=true]{border-color:var(--gold-2);background:var(--gold-soft)}
.lang-btn .lang-cur{display:block;line-height:1}
.lang-btn .lang-cur[lang=yi],.lang-btn .lang-cur[lang=he]{font:600 15px/1 "Frank",var(--heb);letter-spacing:0;padding-top:1px}
.lang-btn .lang-car{width:10px;height:10px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}
.lang-btn[aria-expanded=true] .lang-car{transform:rotate(180deg)}
.lang-menu{position:fixed;z-index:90;min-width:196px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 6px rgba(27,59,48,.06),0 22px 48px -18px rgba(27,59,48,.30);padding:6px;display:grid;gap:2px;animation:langIn .16s var(--ease)}
@keyframes langIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.lang-menu .lang-head{padding:8px 12px 6px;font:600 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--line);margin:0 4px 4px}
html[dir=rtl] .lang-menu .lang-head{letter-spacing:0;font:600 13px/1 "Frank",var(--sans)}
.lang-menu button{display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;background:transparent;border-radius:11px;padding:11px 12px;min-height:44px;font:500 16px/1.1 var(--sans);color:var(--ink);text-align:start;cursor:pointer}
.lang-menu button .lang-nm[lang=yi],.lang-menu button .lang-nm[lang=he]{font:600 18px/1 "Frank",var(--heb)}
.lang-menu button.on{background:var(--gold-soft);color:var(--navy)}
.lang-menu button .lang-ck{display:inline-flex;width:18px;height:18px;flex:none}
.lang-menu button .lang-ck .ico{width:18px;height:18px;color:var(--gold)}
.lang-menu button:hover,.lang-menu button:focus-visible{background:var(--gold-soft);outline:none}
:is(html[lang=he]) .erev-k,:is(html[lang=he]) .hchip{letter-spacing:0;text-transform:none}
html[lang=he] .adlbl{letter-spacing:0;text-transform:none;font-size:11.5px}

/* v26: the envelope logo a little larger and bolder (Joel 10:18 PM) */
.brand-logo{width:63px;height:44px}
.brand{gap:7px}
.top-in{gap:6px}
.acct-btn{padding:7px 11px}
.top-in.tight{gap:5px}
.top-in.tight .brand{gap:6px}
.top-in.tight .top-actions{gap:5px}
.top-in.tight .lang-btn{padding:0 7px 0 9px!important;gap:3px;font-size:12.5px}
html[dir=rtl] .top-in.tight .lang-btn{padding:0 9px 0 7px!important}
.top-in.tight .acct-btn{padding:7px 9px;font-size:13px}
html[lang=fr] .nearban .nbt>b{display:block;padding-inline-end:76px}

/* ---------- v27: one searchable list of every language, as an iPhone bottom sheet ---------- */
html.ls-open,html.ls-open body{overflow:hidden}
.lang-sheet{position:fixed;inset:0;z-index:95}
.lang-sheet .ls-scrim{position:absolute;inset:0;background:rgba(20,24,34,.42);animation:fade .22s both}
.lang-sheet .ls-panel{position:absolute;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;height:min(86vh,760px);height:min(86dvh,760px);background:var(--paper);border-radius:22px 22px 0 0;display:flex;flex-direction:column;box-shadow:0 -10px 40px -12px rgba(20,24,34,.35);animation:up .32s var(--ease) both;transition:transform .25s var(--ease);overflow:hidden}
.lang-sheet .ls-top{padding:8px 16px 10px;border-bottom:1px solid var(--line);flex:none;touch-action:none}
.lang-sheet .ls-grab{width:38px;height:5px;border-radius:3px;background:var(--line-2);margin:0 auto 10px}
.lang-sheet .ls-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 10px}
.lang-sheet .ls-title{margin:0;font:600 22px/1.1 var(--serif,Georgia),serif;color:var(--navy);letter-spacing:.005em}
html[dir=rtl] .lang-sheet .ls-title{font:700 21px/1.1 "Frank",var(--heb)}
.lang-sheet .ls-done{border:0;background:transparent;color:var(--gold);font:600 17px/1 var(--sans);padding:10px 4px;min-height:44px;cursor:pointer}
.lang-sheet .ls-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 12px;height:44px}
.lang-sheet .ls-search .ico{width:18px;height:18px;color:var(--ink-3);flex:none}
.lang-sheet .ls-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:400 16px/1.2 var(--sans);color:var(--ink);height:42px;padding:0;-webkit-appearance:none;appearance:none}
.lang-sheet .ls-search input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.lang-sheet .ls-search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.lang-sheet .ls-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:6px 10px 8px}
.lang-sheet .ls-list button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;border:0;background:transparent;border-radius:12px;padding:0 12px;min-height:48px;font:500 17px/1.15 var(--sans);color:var(--ink);text-align:start;cursor:pointer}
.lang-sheet .ls-list button[hidden]{display:none}
.lang-sheet .ls-list button .lang-nm[lang=yi],.lang-sheet .ls-list button .lang-nm[lang=he]{font:600 19px/1 "Frank",var(--heb)}
.lang-sheet .ls-list button.on{background:var(--gold-soft);color:var(--navy);font-weight:600}
.lang-sheet .ls-list button .lang-ck{display:inline-flex;width:20px;height:20px;flex:none}
.lang-sheet .ls-list button .lang-ck .ico{width:20px;height:20px;color:var(--gold);stroke-width:2.2}
.lang-sheet .ls-list button:active{background:var(--gold-soft)}
.lang-sheet .ls-list button+button{box-shadow:inset 0 1px 0 var(--line)}
.lang-sheet .ls-list button.on,.lang-sheet .ls-list button.on+button,.lang-sheet .ls-sec+button{box-shadow:none}
.lang-sheet .ls-sec{padding:16px 12px 6px;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
html[dir=rtl] .lang-sheet .ls-sec{letter-spacing:0;text-transform:none;font:600 13px/1 "Frank",var(--sans)}
.lang-sheet .ls-sec[hidden],.lang-sheet .ls-none[hidden]{display:none}
.lang-sheet .ls-none{padding:22px 12px;text-align:center;color:var(--ink-3);font-size:15px}
.lang-sheet .ls-note{flex:none;margin:0;padding:10px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);text-align:center;font:400 12.5px/1.35 var(--sans);color:var(--ink-3);background:var(--paper)}
.lang-btn .lang-cur{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Google's translator: keep its bar, tooltips and highlights out of the design */
#gtEl{position:absolute!important;left:-9999px!important;top:0;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
body{top:0!important}
html.translated-ltr body,html.translated-rtl body{position:static!important}
.goog-te-banner-frame,iframe.goog-te-banner-frame,body>.skiptranslate,body>.skiptranslate>iframe,#goog-gt-tt,.goog-te-balloon-frame,.goog-tooltip,.goog-te-spinner-pos,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,.VIpgJd-ZVi9od-aZ2wEe-OiiCO,.VIpgJd-yAWNEb-L7lbkb,.VIpgJd-ZVi9od-l4eHX-hSRGPd{display:none!important;visibility:hidden!important}
.goog-text-highlight,.VIpgJd-yAWNEb-VIpgJd-fmcmS-sn54Q{background:none!important;box-shadow:none!important}
html.xl .top-in .brand{min-width:0}
html.xl .top-in .brand-text{min-width:0}
html.xl .top-in .brand-word{white-space:nowrap}
html.xl .top-in .brand-tag{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.xl .top-in .top-actions{flex:none}
html.xl .nearban .nbt>b{display:block;padding-inline-end:76px}

/* v29: Send mazel tov by email */
.mtrow{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-2)}
.mtchip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:var(--gold-soft);border:1px solid #EADDC4;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mtchip:active{transform:scale(.97)}
.mtpanel{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 4px;padding:14px 16px;border-radius:var(--r-sm);background:var(--gold-soft);border:1px solid #EADDC4}
.mtpanel .mttxt{display:flex;flex-direction:column;gap:3px;min-width:0}
.mtpanel .mttxt b{font-size:15px;color:var(--ink)}
.mtpanel .mttxt .small{color:var(--ink-2);line-height:1.35}
.mtpanel .btn{flex:none;white-space:nowrap}
.mtpanel.mine.off{background:#fff;border-color:var(--line)}
.mthp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.mtsheet .field textarea{min-height:84px}
.mtsent{text-align:center;padding:14px 4px 6px}
.mtsent-ic{font-size:46px;line-height:1;margin-bottom:10px}
.mtlist{list-style:none;margin:0;padding:0;max-height:52vh;overflow:auto}
.mtlist li{padding:12px 0;border-top:1px solid var(--line)}
.mtlist li:first-child{border-top:0}
.mtlist .mtfrom{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.mtlist p{margin:4px 0 4px;color:var(--ink-2);white-space:normal}
.mtopt{margin-top:14px;padding:14px 16px;border-radius:var(--r-sm);background:var(--gold-soft);border:1px solid #EADDC4}
.mtopt .toggle b{font-size:15px}
.mtopt .small{color:var(--ink-2);margin-top:3px;line-height:1.35}

/* v29b: who can post live updates */
.lmopts{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.lmopt{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;cursor:pointer}
.lmopt input{margin-top:3px;accent-color:var(--navy);width:18px;height:18px;flex:none}
.lmopt span{display:flex;flex-direction:column;gap:2px}
.lmopt b{font-size:15px;font-weight:600;color:var(--ink)}
.lmopt small{font-size:13px;color:var(--ink-2);line-height:1.35}
.lmopt:has(input:checked){border-color:var(--gold-2);background:var(--gold-soft)}
.lvmode{margin:4px 0 14px;font-size:14px;color:var(--ink-2)}
.lvmode a{color:var(--gold);font-weight:600}
@media (max-width:480px){.mtpanel{flex-wrap:wrap}.mtpanel .mttxt{flex:1 1 100%}.mtpanel .btn{width:100%;justify-content:center}}

/* ===== v30 redesign D: Emerald, Champagne & Ivory (Joel's blend) ===== */
@font-face{font-family:"Marcellus";src:url(/fonts/marcellus-400.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Pinyon Script";src:url(/fonts/st-script-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(/fonts/playfair-display-600.woff2) format("woff2");font-weight:500 800;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(/fonts/playfair-display-400i.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}
:root{
  --paper:#FBF8EF; --paper-2:#F1ECD8; --card:#FFFDF8;
  --ink:#14261F; --ink-2:#44554D; --ink-3:#6F726B;
  --line:#E9E2CE; --line-2:#D9CFB2;
  --gold:#82672C; --gold-2:#C7AB6A; --gold-soft:#F1ECD8;
  --navy:#1B3B30; --navy-2:#24493C;
  --sage:#4E7262; --rose:#9A4B43;
  --hdr:#1B3B30; --hdr-2:#24493C; --hdr-text:#F1ECD8; --pop:#C7AB6A;
  --serif:"Playfair Display","Frank",Georgia,serif;
}
body{background:var(--paper)}
.top{background:var(--hdr);border-bottom:1px solid rgba(199,171,106,.22)}
.top.scrolled{border-bottom-color:rgba(199,171,106,.32);box-shadow:0 8px 24px -16px rgba(27,59,48,.6)}
.top-in{padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:12px}
.brand{gap:11px!important;align-items:center}
.brand-logo{width:42px!important;height:42px!important}
.brand-text{gap:0}
.brand-tag,.brand-com{display:none!important}
.brand-word{display:inline-flex;flex-direction:column;align-items:flex-end;font-size:25px;line-height:1;color:var(--hdr-text);white-space:nowrap}
.bw-main{font:400 1.04em/1 "Marcellus",Georgia,serif;letter-spacing:.16em;margin-right:-.16em;color:var(--hdr-text);text-transform:uppercase}
.bw-sub{font:400 .9em/1 "Pinyon Script",cursive;letter-spacing:0;color:var(--pop);margin-top:.02em;margin-right:-.02em}
@media (max-width:400px){.brand-word{font-size:23px}}
.lang-btn{border-color:rgba(241,236,216,.28);color:rgba(241,236,216,.9);background:transparent}
.lang-btn:hover{border-color:var(--pop);color:var(--hdr-text)}
.lang-car{stroke:currentColor}
.acct-btn{background:var(--pop);color:var(--hdr)}
.acct-btn.me{background:rgba(241,236,216,.1);color:var(--hdr-text)}
.bell{color:var(--hdr-text)}
.tabbar{background:rgba(27,59,48,.98);border-top:1px solid rgba(199,171,106,.22)}
.tabbar a{color:rgba(241,236,216,.62)}
.tabbar a.on{color:var(--hdr-text)}
.tabbar a.on .ico{color:var(--pop)}
.tabbar .postdot{background:var(--pop);color:var(--hdr);box-shadow:0 10px 22px -10px rgba(199,171,106,.75)}
.tabbar .postdot .ico{color:var(--hdr)!important}
.card{background:var(--card);border-color:var(--line)}
.btn-primary{background:var(--navy);color:var(--hdr-text)}
.day.on{box-shadow:0 10px 24px -14px rgba(27,59,48,.8)}
.lvgeo{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;padding:14px 16px;border-radius:14px;background:var(--gold-soft);border:1px solid var(--line-2);color:var(--ink);font-weight:500;line-height:1.4}
.lvgeo[hidden]{display:none}
.lvgeo-ic{color:var(--gold);flex:none;margin-top:1px}
.nearban .nbt b{padding-inline-end:70px}

/* v31: instant search results */
.qres{margin:4px 0 8px}
.qcount{font:500 13px/1.3 var(--sans);color:var(--ink-3);margin:2px 4px 10px}
.qcount b{color:var(--ink);font-weight:700}
.qlist{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.qitem{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;color:var(--ink);text-decoration:none;border-top:1px solid var(--line)}
.qitem:first-child{border-top:0}
.qitem:active,.qitem:hover{background:var(--paper,#FBF8EF)}
.qitem,.qitem *{text-decoration:none}
.qdate{flex:none;width:74px;display:flex;flex-direction:column;gap:2px;font:600 12px/1.2 var(--sans);color:var(--ink-2);padding-top:2px}
.qdate b{font-weight:700;color:var(--ink)}
.qdate span{font-weight:500;color:var(--ink-3)}
.qdate.tn b{color:var(--gold)}
.qbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.qname{font:600 17px/1.25 var(--serif,Georgia,serif);color:var(--ink)}
.qname .amp{color:var(--ink-3);font-weight:400}
.qsub{font:400 13px/1.35 var(--sans);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qhe{font:400 14px/1.35 var(--sans);color:var(--ink-2)}
.qwhere{display:flex;align-items:center;gap:4px;font:500 12.5px/1.3 var(--sans);color:var(--ink-2);margin-top:2px;min-width:0}
.qwhere span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qwhere .ico{width:14px;height:14px;flex:none;color:var(--gold)}
.qarea{font:400 12px/1.3 var(--sans);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qgo{flex:none;align-self:center;font:400 22px/1 var(--sans);color:var(--ink-3)}
html[dir=rtl] .qgo{transform:scaleX(-1)}
.qhit{font-weight:800;color:var(--hdr,#1B3B30);background:rgba(199,171,106,.22);border-radius:2px;padding:0;text-decoration:none;box-shadow:none}
.qlive{display:inline-block;vertical-align:middle;font:700 10px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#C0573F;border-radius:999px;padding:4px 7px}
.qnone{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 18px;text-align:center}
.qnone-h{font:600 16px/1.35 var(--sans);color:var(--ink);margin:0 0 4px}
.qnone .small{margin:0;color:var(--ink-3)}

/* options: SimchasTonight.com — ".com" rides the Tonight line */
.bw-row{display:inline-flex;align-items:baseline;gap:.08em;margin-top:.02em}
.bw-row .bw-sub{margin-top:0}
.brand-word .brand-com{display:inline!important;font:400 .4em/1 "Marcellus",Georgia,serif!important;letter-spacing:.14em;color:var(--hdr-text);opacity:.82;margin:0 -.14em 0 0!important;text-transform:lowercase}

/* v32 page background: Light sage #EEF3EF (emerald header, gold accents unchanged; beige surfaces neutralized) */
:root{--paper:#EEF3EF;--paper-2:#E1E9E3;--card:#FFFFFF;--line:#D9E3DB;--line-2:#C4D3C8;--gold-soft:#E2ECE5;--ink-3:#62665F}
body{background:var(--paper)}
.qitem:active,.qitem:hover{background:var(--paper-2)}
.day.pastd{background:var(--paper-2)}
.panel.tint,.gate,.gate .lockic,.act.mt.done,.gsrc-follower,.lday.shab,.nearban,.nearban .nbi{border-color:var(--line-2)}
.mtchip,.mtpanel,.mtopt{border-color:var(--line)}
.erev{background:#FFFFFF;border-color:var(--line-2)}
.erev-head{background:linear-gradient(180deg,var(--paper-2),var(--gold-soft))}
.erev .card>.card-top>.hchip,.erev .lrow .lr1>.hchip{box-shadow:0 0 0 3px #FFFFFF}
.erev-motz{background:#FFFFFF}
.erev-motz .card>.card-top>.hchip,.erev-motz .lrow .lr1>.hchip{box-shadow:0 0 0 3px #FFFFFF}
.calview{background:var(--paper-2);border-color:var(--line-2)}
.card{box-shadow:0 1px 2px rgba(20,38,31,.04),0 6px 18px -12px rgba(20,38,31,.12)}

/* v33: simcha detail head (Joel 1:40 AM) — no icon badge, bigger type label, parents, one chosson/kallah line */
.detail-head.d33 .dtype{font:600 30px/1.1 var(--serif);color:var(--gold);letter-spacing:.01em;display:flex;align-items:baseline;justify-content:center;gap:10px;flex-wrap:wrap}
.detail-head.d33 .dtype .heb{font-size:24px;color:var(--ink-2);font-weight:500}
.detail-head.d33 .dpar{margin:10px auto 0;font:500 18px/1.35 var(--serif);color:var(--ink)}
.detail-head.d33 .dpr{margin-top:2px}
.detail-head.d33 .dpk{display:block;font:600 11px/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}
.detail-head.d33 .dpr .dpk{margin-top:6px}
.detail-head.d33 .dcouple{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px auto 0;max-width:420px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.detail-head.d33 .dcc{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.detail-head.d33 .dcc+.dcc{border-inline-start:1px solid var(--line)}
.detail-head.d33 .dck{font:600 11px/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.detail-head.d33 .dcn{font:600 22px/1.2 var(--serif);color:var(--ink)}
.detail-head.d33 .dch{font-size:16px;color:var(--ink-2)}
html[lang=yi] .detail-head.d33 .dck,html[lang=yi] .detail-head.d33 .dpk,html[lang=he] .detail-head.d33 .dck,html[lang=he] .detail-head.d33 .dpk{letter-spacing:0;text-transform:none;font-size:12.5px}
@media (min-width:601px){.detail-head.d33 .dtype{justify-content:flex-start}.detail-head.d33 .dcouple{margin-inline:0}.detail-head.d33 .dcc{align-items:flex-start}.detail-head.d33 .dcc+.dcc{padding-inline-start:12px}}

/* ===================================================================
   v34 — "Porcelain & Emerald" full restyle (Joel said Yes 7:34 AM).
   Visual layer only: every rule below overrides earlier styling; no markup or data changes.
   Instrument Serif (upright) display + Instrument Sans body; porcelain #F2EEE7, emerald #0A4A35, gold #C99A48.
   =================================================================== */
@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif-400-normal.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/fonts/instrument-sans-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/fonts/instrument-sans-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/fonts/instrument-sans-600-normal.woff2) format("woff2");font-weight:600 800;font-display:swap}
:root{
  --paper:#F2EEE7; --paper-2:#E9E3D8; --card:#FFFDF9;
  --ink:#14130F; --ink-2:#5E5A52; --ink-3:#6E695F;
  --line:#E6DFD2; --line-2:#D8CFBF;
  --gold:#8A6420; --gold-2:#C99A48; --gold-soft:#F4ECDD; --gold-lux:#9A7130;
  --em:#0A4A35; --em-2:#0E6448; --em-hi:#13684B; --em-lo:#062F22; --em-soft:#E3EEE8;
  --navy:#0A4A35; --navy-2:#0E6448; --sage:#0E6448; --rose:#9A4B43;
  --hdr:#0A4A35; --hdr-2:#0E6448; --hdr-text:#F6F1E6; --pop:#E7C27D;
  --serif:"Instrument Serif","Frank",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Frank",sans-serif;
  --r:24px; --r-sm:16px;
  --shadow:0 1px 0 #fff inset,0 1px 2px rgba(40,30,10,.06),0 8px 16px -8px rgba(40,30,10,.12),0 22px 40px -22px rgba(40,30,10,.18);
  --shadow-lift:0 1px 0 #fff inset,0 2px 4px rgba(40,30,10,.07),0 14px 26px -10px rgba(40,30,10,.18),0 30px 52px -24px rgba(40,30,10,.24);
  --gloss-em:linear-gradient(160deg,var(--em-hi),var(--em) 58%,var(--em-lo));
  --gloss-gold:linear-gradient(#EBC985,#C99A48);
}
html{background:var(--paper)}
body{background:radial-gradient(120% 50% at 90% 0%,#FBF8F2 0%,var(--paper) 60%) var(--paper) no-repeat;background-attachment:scroll;color:var(--ink);font-family:var(--sans)}
::selection{background:rgba(10,74,53,.18)}
.display,.h1,.h2,.h3,.fam,.hook-h,.qname,.mini b,.week-day h3,.count b,.day .dn,.mday .n,.detail-head.d33 .dcn,.detail-head.d33 .dtype,.detail-head.d33 .dpar{font-family:var(--serif)!important;font-weight:400!important;font-style:normal!important}
.h1{font-size:clamp(44px,12vw,60px);line-height:.95;letter-spacing:-.025em;-webkit-text-stroke:.6px currentColor}
.h2{font-size:32px;line-height:1.05;letter-spacing:-.015em}
.h3{font-size:26px;line-height:1.08;letter-spacing:-.01em}
.eyebrow{font:600 11.5px/1.2 var(--sans);letter-spacing:.16em;color:var(--em-2)}
.lead{color:var(--ink-2)}
.muted{color:var(--ink-2)}
.small{color:var(--ink-2)}
a{color:inherit}

/* ---------- header: porcelain glass, typographic mark + 3D ring ---------- */
.top,.top.scrolled{background:rgba(242,238,231,.82);backdrop-filter:saturate(1.5) blur(18px);-webkit-backdrop-filter:saturate(1.5) blur(18px);border-bottom:1px solid transparent;box-shadow:none}
.top.scrolled{border-bottom-color:rgba(20,19,15,.07);box-shadow:0 10px 26px -20px rgba(40,30,10,.45)}
.top-in{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:10px}
.brand{gap:8px!important;align-items:center;text-decoration:none}
.brand-logo{width:34px!important;height:42px!important;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(80,58,20,.28)) drop-shadow(0 2px 2px rgba(80,58,20,.18));transform:rotate(-8deg)}
.brand-word{align-items:flex-start!important;font-size:26px!important;color:var(--ink)!important}
.bw-main{font:400 1em/.86 var(--serif)!important;letter-spacing:-.02em!important;margin:0!important;text-transform:none!important;color:var(--ink)!important;-webkit-text-stroke:.5px currentColor}
.bw-row{margin-top:0!important;gap:.1em!important}
.bw-sub{font:400 1em/.86 var(--serif)!important;letter-spacing:-.02em!important;color:var(--em)!important;margin:0!important;-webkit-text-stroke:.5px currentColor}
.brand-word .brand-com{font:600 .42em/1 var(--sans)!important;letter-spacing:.04em!important;color:var(--gold)!important;opacity:1!important;margin:0!important;align-self:flex-start;position:relative;top:.25em;text-transform:lowercase}
.lang-btn{border:1px solid rgba(20,19,15,.12)!important;color:var(--ink-2)!important;background:rgba(255,255,255,.6)!important;border-radius:999px;font-family:var(--sans);font-weight:500}
.lang-btn:hover{border-color:var(--em)!important;color:var(--ink)!important}
.acct-btn{background:var(--gloss-em)!important;color:#F6F1E6!important;border-radius:999px;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 16px -8px rgba(10,74,53,.6)}
.acct-btn.me{background:#fff!important;color:var(--em)!important;box-shadow:inset 0 0 0 1px rgba(20,19,15,.1),0 4px 10px -6px rgba(40,30,10,.25)}
.bell{color:var(--ink)!important}

/* ---------- search ---------- */
.qtop{padding-top:6px}
.qbar{position:relative;display:flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:0 6px 0 0;box-shadow:0 1px 1px rgba(20,19,15,.04),0 8px 22px -10px rgba(40,30,10,.22),inset 0 0 0 1px rgba(20,19,15,.06)}
.qbar .qlab{flex:1;display:flex;align-items:center;gap:10px;padding-inline-start:18px;min-width:0}
.qbar .qlab .ico{width:20px;height:20px;color:var(--em);flex:none}
.qbar .input{border:0!important;background:transparent!important;box-shadow:none!important;min-height:52px;padding:0;font:500 16.5px/1.2 var(--sans);color:var(--ink)}
.qbar .input::placeholder{color:var(--ink-3)}
.qclr{border:0;border-radius:999px;background:var(--em-soft);color:var(--em);font:600 14px/1 var(--sans);padding:10px 14px;cursor:pointer}
.qcount{color:var(--ink-2)}
.qcount b{font:400 22px/1 var(--serif);color:var(--ink);margin-inline-end:2px}
.qlist{background:var(--card);border:0;border-radius:24px;box-shadow:var(--shadow)}
.qitem{border-top:1px solid var(--line);padding:14px 16px}
.qname{font-size:22px!important;line-height:1.05;letter-spacing:-.01em}
.qname .amp{color:var(--gold-lux)!important}
.qdate b{color:var(--ink)}
.qdate.tn b{color:var(--em)}
.qwhere .ico{color:var(--em-2)}
.qhit{color:var(--em)!important;background:rgba(201,154,72,.26)!important;font-weight:700}
.qgo{color:var(--em)}
.qnone{background:var(--card);border:0;border-radius:24px;box-shadow:var(--shadow)}

/* ---------- home: hook + masthead hero with the 3D ring ---------- */
.hook,.hook.hook-sm{text-align:start;padding:14px 0 0}
.hook-sm .hook-h{font-size:clamp(25px,7vw,34px)!important;line-height:1.02!important;letter-spacing:-.015em;margin:0;max-width:none;color:var(--ink)}
.hook-sm .hook-h b{display:block;color:var(--em)}
.hook .btn-row{justify-content:flex-start}
.masthead{position:relative;text-align:center!important;padding:18px 0 6px 0!important;isolation:isolate}
html[dir=rtl] .masthead{padding:18px 0 6px 0!important}
.masthead::after{content:none;display:none}
.masthead::before{content:none;display:none}
.masthead .greg{font:600 12px/1.2 var(--sans);letter-spacing:.16em;color:var(--em-2)}
.masthead .hdate,.masthead .hdate.wpar{font:400 clamp(30px,9vw,44px)/1 var(--serif)!important;white-space:normal!important;letter-spacing:-.01em;margin:10px 0 6px;color:var(--ink)}
.masthead .hdate .heb,.masthead .hdate [lang=he],.masthead .hdate [lang=yi]{font-family:var(--heb)}
.masthead .hparsha{color:var(--gold)}
.masthead .hsub{color:var(--ink-2);font-size:14px}
.masthead .zman{justify-content:flex-start;color:var(--ink-2)}
.masthead .zman b,.masthead .hz b{color:var(--gold)}

/* near-me banner */
.nearban{background:var(--card)!important;border:0!important;border-radius:22px!important;box-shadow:var(--shadow)}
.nearban .nbi{background:var(--em-soft)!important;color:var(--em)!important;border:0!important}
.nearban .nbt b{font:400 22px/1.05 var(--serif);letter-spacing:-.01em}
.nearban .nbx{color:var(--ink-2)}

/* ---------- date strip: glass chips, glossy emerald pill ---------- */
.days{gap:8px;padding-top:14px;padding-bottom:14px}
.day{border:0!important;border-radius:20px!important;background:rgba(255,255,255,.72)!important;box-shadow:inset 0 0 0 1px rgba(20,19,15,.07),0 4px 10px -8px rgba(40,30,10,.2);width:62px}
.day .wd{color:var(--ink-2);font:600 10.5px/1.2 var(--sans);letter-spacing:.08em}
.day .hdn{color:var(--ink);font-weight:700}
.day .hm{color:var(--gold)}
.day .hm.par{color:var(--ink-2)}
.day .gd{color:var(--ink-2)}
.day.shab{background:rgba(244,236,221,.9)!important}
.day.pastd{opacity:.5;background:rgba(255,255,255,.4)!important}
.day.on,.day.shab.on,.day.pastd.on{opacity:1;background:var(--gloss-em)!important;color:#F6F1E6;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 22px -8px rgba(10,74,53,.6),0 3px 6px rgba(10,74,53,.25)!important}
.day.on .wd,.day.on .hm.par,.day.on .gd{color:#CFE3D9!important}
.day.on .hdn{color:#fff!important}
.day.on .hm,.day.on .wd[lang=he]{color:#E7C27D!important}
.day .dot{background:var(--gold-2)}
.day.on .dot{background:#E7C27D}
.day .xb{background:var(--em);color:#fff}
.day.on .xb{background:#E7C27D;color:var(--em-lo)}

/* tools / chips / count */
.townsel select,.townsel .input{background-color:#fff!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(20,19,15,.08),0 4px 12px -8px rgba(40,30,10,.25)}
.chip{border:0!important;background:rgba(255,255,255,.7)!important;box-shadow:inset 0 0 0 1px rgba(20,19,15,.08);color:var(--ink-2);font-weight:500}
.chip.on,.cchip.on{background:var(--ink)!important;color:#F6F1E6!important;box-shadow:0 8px 16px -10px rgba(20,19,15,.6)}
.chip.on i{opacity:.8}
.count{color:var(--ink-2)}
.count b{font:400 26px/1 var(--serif)!important;color:var(--ink)}
.nearchip{background:#fff;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(20,19,15,.08)}

/* ---------- simcha cards ---------- */
.list{gap:14px}
.card{background:var(--card)!important;border:0!important;border-radius:24px!important;padding:18px 18px 16px;box-shadow:var(--shadow)!important}
.card:hover{box-shadow:var(--shadow-lift)!important}
.card:active{transform:scale(.99)}
.card-top{gap:8px}
.tbadge{width:30px;height:30px;background:var(--em-soft)!important;color:var(--em)!important;box-shadow:inset 0 0 0 1px rgba(10,74,53,.08)}
.tbadge .ico{width:16px;height:16px}
.tname{font:600 11px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--em)}
html[lang=yi] .tname,html[lang=he] .tname{letter-spacing:0;font-size:13px;text-transform:none}
.tag{background:var(--gold-soft)!important;color:var(--gold)!important;border:0!important;border-radius:999px}
.card .fam{font-size:34px!important;line-height:1!important;letter-spacing:-.02em;margin:4px 0 6px;-webkit-text-stroke:.35px currentColor}
.fam .amp{font-style:normal!important;color:var(--gold-lux)!important;font-weight:400!important}
.card .sub{color:var(--ink-2);font-size:15px}
.meta{border-top:1px solid var(--line);color:var(--ink-2);gap:6px 16px}
.meta .ico{color:var(--em-2)!important}
.meta .time{color:var(--ink);font-weight:600}
.meta .xst{color:var(--ink-2)}
.meta .lockline{color:var(--ink-3)}

/* sponsored strips keep their artwork; framed like the cards */
.adslot{border-radius:22px;overflow:hidden;box-shadow:0 14px 28px -16px rgba(6,36,25,.45),0 2px 4px rgba(40,30,10,.06);background:#fff}
.adslot .adlbl{font:600 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.adlink img{display:block}

/* panels */
.panel{background:var(--card)!important;border:0!important;border-radius:24px!important;box-shadow:var(--shadow)}
.panel.navy{background:linear-gradient(140deg,#0E4F3A,#062419)!important;color:#F3EBDA;box-shadow:0 18px 34px -18px rgba(6,36,25,.7),inset 0 1px 0 rgba(255,255,255,.12)}
.panel.navy .eyebrow{color:#E7C27D}
.panel.navy .h3,.panel.navy h2{color:#F6F1E6}
.panel.navy .muted,.panel.navy small{color:#C6D6CD}
.panel.navy .access-item{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#F3EBDA}
.panel.navy .ai{background:var(--gloss-gold)!important;color:#1F1708!important}
.panel.tint{background:linear-gradient(180deg,#FFFDF9,#F4ECDD)!important}
.section-head a,.lfoot a,.small a,.fact .v a,.lvmode a{color:var(--em)}
.vrow{border-color:var(--line)}
.vi{background:var(--em-soft)!important;color:var(--em)!important}
.founding{background:var(--gloss-gold)!important;color:#1F1708!important;border:0!important}

/* ---------- buttons & form fields ---------- */
.btn{font-family:var(--sans);font-weight:600;letter-spacing:.005em}
.btn-primary,.btn-primary:hover{background:var(--gloss-em)!important;color:#F6F1E6!important;border:0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -2px 4px rgba(0,0,0,.18),0 10px 20px -10px rgba(10,74,53,.65)!important}
.btn-gold,.btn-gold:hover{background:var(--gloss-gold)!important;color:#1F1708!important;border:0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 18px -10px rgba(120,84,20,.6)}
.btn-ghost{background:rgba(255,255,255,.75)!important;border:0!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px rgba(20,19,15,.12),0 4px 10px -8px rgba(40,30,10,.3)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--em),0 4px 10px -8px rgba(40,30,10,.3)}
.btn-soft{background:var(--em-soft)!important;color:var(--em)!important;border:0!important}
.linkbtn{color:var(--em)}
.input,select.input,textarea.input{background:#fff;border:0!important;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(20,19,15,.12),0 1px 2px rgba(40,30,10,.04);font-family:var(--sans);color:var(--ink)}
.input:focus{box-shadow:inset 0 0 0 2px var(--em),0 0 0 4px rgba(10,74,53,.12)!important}
.field>span,.field label,legend{color:var(--ink-2);font-weight:600}
.switch input:checked+span{background:var(--em)!important}
.form-err{color:#9A2F23}
.notice{background:var(--gold-soft);border-color:var(--line-2)}

/* page heads */
.page-head{padding:20px 0 16px}
.page-head .eyebrow{margin-bottom:8px}
.page-head .lead{font-size:16.5px;margin-top:10px}

/* gates (sign-in prompts) */
.gate,.gate.gate-v2{background:var(--card)!important;border:0!important;border-radius:26px;box-shadow:var(--shadow)}
.gate .lockic{background:var(--gloss-em)!important;color:#E7C27D!important;border:0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 18px -8px rgba(10,74,53,.55)}

/* ways (post options) + menu (More) */
.way{background:var(--card)!important;border:0!important;border-radius:22px;box-shadow:var(--shadow)}
.way.on{box-shadow:inset 0 0 0 2px var(--em),var(--shadow)}
.way .wi{background:var(--em-soft)!important;color:var(--em)!important;border-radius:16px}
.ip-box{background:var(--card)!important;border:0!important;border-radius:24px!important;box-shadow:var(--shadow)}
.ip-or span{background:var(--paper)!important;color:var(--ink-2)}
.famset{border-color:var(--line)!important;border-radius:20px}
.fp-av{background:var(--em-soft)!important;color:var(--em)!important;font-family:var(--serif)!important;font-weight:400!important;font-size:20px!important}
.menu{background:var(--card)!important;border:0!important;border-radius:24px!important;box-shadow:var(--shadow)}
.mi{border-top-color:var(--line)!important}
.mi .mic{background:var(--em-soft)!important;color:var(--em)!important;border-radius:14px}
.mi b{font-weight:600}
.menu-label{color:var(--em-2)}

/* ---------- simcha detail ---------- */
.back{color:var(--em);font-weight:600}
.detail-head.d33{padding-top:6px}
.detail-head.d33 .dtype{font-size:44px!important;line-height:1!important;color:var(--gold-lux)!important;letter-spacing:-.01em;-webkit-text-stroke:.4px currentColor}
.detail-head.d33 .dtype .heb{font-family:var(--heb)!important;font-size:24px!important;color:var(--ink-2)!important;-webkit-text-stroke:0}
.detail-head .fam{font-size:clamp(44px,12vw,58px)!important;line-height:.95!important;letter-spacing:-.025em;-webkit-text-stroke:.6px currentColor;margin-top:8px}
.detail-head.d33 .dpar{font-size:22px!important;line-height:1.15}
.detail-head.d33 .dpk,.detail-head.d33 .dck{color:var(--em-2)!important;font-family:var(--sans)!important}
.detail-head.d33 .dcouple{border:0!important;padding:0!important;gap:10px!important}
.detail-head.d33 .dcc{background:var(--card);border-radius:20px;padding:12px 10px;box-shadow:var(--shadow);border:0!important}
.detail-head.d33 .dcc+.dcc{border:0!important}
.detail-head.d33 .dcn{font-size:28px!important;line-height:1.05}
.detail-head .when{color:var(--ink)}
.detail-head .when .heb{color:var(--gold)}
.facts{background:var(--card)!important;border:0!important;border-radius:24px!important;box-shadow:var(--shadow)}
.fact{border-top-color:var(--line)!important}
.fact .ico{color:var(--em-2)!important}
.fact .k{color:var(--ink-3);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:11px}
html[lang=yi] .fact .k,html[lang=he] .fact .k{letter-spacing:0;text-transform:none;font-size:13px}
.act{background:var(--card)!important;border:0!important;border-radius:20px!important;box-shadow:var(--shadow);color:var(--ink)}
.act .ico{color:var(--em)!important}
.act.mt{background:var(--gloss-em)!important;color:#F6F1E6!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 14px 26px -12px rgba(10,74,53,.7)!important}
.act.mt .ico{color:#E7C27D!important}
.act.mt.done{background:var(--gold-soft)!important;color:var(--ink)!important}
.act.mt.done .ico{color:var(--gold)!important;fill:var(--gold)!important}
.famrow{border-top-color:var(--line)}

/* ---------- calendar ---------- */
.calview{background:rgba(255,255,255,.6)!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(20,19,15,.08)}
.calview button{color:var(--ink-2)}
.calview button.on{background:var(--gloss-em)!important;color:#F6F1E6!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 16px -8px rgba(10,74,53,.6)!important}
.calview button.on .ico{color:#E7C27D!important}
.seg{background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(20,19,15,.07)}
.seg button.on{background:var(--ink);color:#F6F1E6;box-shadow:0 6px 14px -8px rgba(20,19,15,.6)}
.cal-head .h2{font-size:30px!important}
.iconbtn{background:#fff!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(20,19,15,.08),0 4px 10px -6px rgba(40,30,10,.25);color:var(--em)}
.month{gap:6px}
.month .wh{color:var(--ink-2);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.mday{border:0!important;border-radius:16px!important;background:#fff;box-shadow:inset 0 0 0 1px rgba(20,19,15,.05),0 3px 8px -6px rgba(40,30,10,.22)}
.mday .n{font-size:21px!important}
.mday .h{color:var(--gold)}
.mday .c{background:var(--em);color:#fff}
.mday.gone{background:transparent;box-shadow:none}
.mday.today{box-shadow:inset 0 0 0 2px var(--gold-2),0 3px 8px -6px rgba(40,30,10,.22)}
.mday.sel{background:var(--gloss-em)!important;color:#F6F1E6!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 18px -8px rgba(10,74,53,.6)!important}
.mday.sel .h{color:#E7C27D!important}
.mday.sel .c{background:#E7C27D!important;color:var(--em-lo)!important}
.week-day h3{font-size:28px!important}
.week-day h3 .heb{color:var(--gold);font-family:var(--heb)}
.mini{background:var(--card)!important;border:0!important;border-radius:20px!important;box-shadow:var(--shadow)}
.mini b{font-size:23px!important;line-height:1.02;letter-spacing:-.01em}
.mini .tm{color:var(--em);font-weight:600}
.lrow{border-color:var(--line)}
.lday{border-color:var(--line)}
.erev{background:var(--card)!important;border:0!important;border-radius:24px;box-shadow:var(--shadow)}
.erev-head{background:linear-gradient(180deg,#FFFDF9,#F4ECDD)!important}

/* ---------- floating frosted tab bar + domed Post ---------- */
@media (max-width:959px){
  :root{--tabbar:84px}
  .tabbar{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));border-radius:34px;border:0!important;padding:6px 4px;min-height:66px;align-items:center;background:rgba(255,253,249,.88)!important;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 18px 40px -12px rgba(40,30,10,.38),inset 0 0 0 1px rgba(255,255,255,.85),0 0 0 1px rgba(20,19,15,.06)}
  .view{padding-bottom:calc(var(--tabbar) + 48px + env(safe-area-inset-bottom))}
}
.tabbar a{color:var(--ink-3)!important;font:600 10.5px/1.1 var(--sans);letter-spacing:.01em}
html[dir=rtl] .tabbar a{font-size:12px}
.tabbar a .ico{width:23px;height:23px}
.tabbar a.on{color:var(--em)!important}
.tabbar a.on .ico{color:var(--em)!important}
.tabbar .postdot{width:56px;height:56px;margin-top:-30px;margin-bottom:1px;background:radial-gradient(circle at 35% 28%,#1C7A5A,var(--em) 55%,#052A1E)!important;box-shadow:0 12px 20px -6px rgba(10,74,53,.6),inset 0 2px 1px rgba(255,255,255,.3),inset 0 -3px 6px rgba(0,0,0,.25),0 0 0 4px rgba(255,253,249,.95)!important}
.tabbar .postdot .ico{color:#F6F1E6!important;width:24px;height:24px}

/* sheets, toast, footer */
.sheet{background:var(--paper)}
.toast{background:var(--ink);color:#F6F1E6;border-radius:999px}
.footer{border-top-color:var(--line);color:var(--ink-3)}
.footer a{color:var(--ink-2)}
.auth .panel{padding:24px}
.empty{background:var(--card);border:0;border-radius:22px;box-shadow:var(--shadow);color:var(--ink-2)}
.fam-mono{background:var(--gloss-em)!important;color:#E7C27D!important;border:0!important;font-family:var(--serif)!important;font-weight:400!important;box-shadow:0 14px 24px -10px rgba(10,74,53,.6)}
.vcard-ad .adlink{border-radius:18px;overflow:hidden}

/* v34 fixes round 1 */
.qbar .qlab .ico{position:static!important;transform:none!important}
.qbar .qlab .input{padding-inline-start:0!important;padding-inline-end:8px}
.qbar .input:focus{box-shadow:none!important}
.qbar:focus-within{box-shadow:0 0 0 2px var(--em),0 10px 24px -10px rgba(10,74,53,.35)}
.masthead{padding:16px 0 4px!important;min-height:0}
html[dir=rtl] .masthead{padding:16px 0 4px!important}
.masthead .greg{padding-inline-end:0}
.masthead .hdate,.masthead .hsub,.masthead .zman{padding-inline-end:118px}
html[dir=rtl] .masthead .hdate{padding-inline-end:0;padding-inline-start:118px}
.masthead .hdate,.masthead .hdate.wpar{font-size:30px!important;line-height:1.08!important;text-align:start!important;margin:12px 0 6px}
html:not([dir=rtl]) .masthead .hdate{text-align:left!important;padding-right:118px;padding-left:0}
.masthead .hdate .hdm{white-space:normal!important}
.masthead .hdate .hsep{color:var(--gold-2)}
.masthead::after{top:40px;inset-inline-end:-6px;width:118px;height:142px}
.masthead::before{top:30px;inset-inline-end:-12px;width:150px;height:170px;
  background:url(/img/pearl.webp) 0 104px/20px 20px no-repeat,url(/img/golddot.webp) 10px 6px/12px 12px no-repeat,url(/img/emdot.webp) 132px 118px/15px 15px no-repeat,url(/img/golddot.webp) 118px 152px/8px 8px no-repeat,radial-gradient(closest-side,rgba(60,45,20,.24),transparent) 26px 150px/104px 16px no-repeat}
.masthead .jump-btn{background:#fff;border:0;box-shadow:inset 0 0 0 1px rgba(20,19,15,.1),0 4px 10px -6px rgba(40,30,10,.25);color:var(--em)}

.masthead{min-height:178px}
.masthead::after{top:50px;width:112px;height:128px}
.masthead::before{top:40px;
  background:url(/img/pearl.webp) 10px 120px/18px 18px no-repeat,url(/img/golddot.webp) 6px 4px/11px 11px no-repeat,url(/img/emdot.webp) 134px 104px/14px 14px no-repeat,url(/img/golddot.webp) 120px 146px/8px 8px no-repeat,radial-gradient(closest-side,rgba(60,45,20,.22),transparent) 30px 132px/96px 14px no-repeat}

html[dir=rtl] .masthead .hdate{padding-left:118px!important;padding-right:0!important;text-align:right!important}

.qhit{background:linear-gradient(transparent 58%,rgba(201,154,72,.38) 58%)!important;border-radius:0!important;padding:0 1px!important}
.topnav a{color:var(--ink-2)!important;font-weight:500}
.topnav a.on,.topnav a:hover{color:var(--em)!important;background:var(--em-soft)!important}

.adslot{border-radius:0;overflow:visible;box-shadow:none;background:transparent;width:100%}
.adslot .adlbl{padding-inline-start:6px;margin-bottom:7px}
.adlink{border:0!important;border-radius:22px!important;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 16px 30px -16px rgba(6,36,25,.5),0 2px 5px rgba(40,30,10,.08)!important}

.top,.top.scrolled{background:rgba(242,238,231,.95)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.top,.top.scrolled{background:rgba(242,238,231,.9)}}

html[dir=rtl] .tabbar a{font-size:10.5px!important;letter-spacing:0}
.tabbar a{min-width:0;white-space:nowrap}
.fact .v{unicode-bidi:plaintext}
.famrow{flex-wrap:wrap;row-gap:10px}
.famrow-main{min-width:200px;flex:1 1 200px}

html[dir=rtl] .fact .v{text-align:right}
.tabbar{grid-template-columns:1fr 1fr 1.3fr 1fr 1fr!important}

@media (max-width:959px){.tabbar{background:rgba(255,253,249,.95)!important}}
:root{--heb:"Frank","Instrument Serif",serif}

/* ---------- v35 (Joel 8:02 AM): Calendar month = the home date-strip day cards ---------- */
.month.mcards{gap:4px;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:6px}
.mcards .mday.dcard{aspect-ratio:auto;min-width:0;position:relative;padding:8px 1px 7px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;text-decoration:none;color:var(--ink);border:0!important;border-radius:16px!important;background:rgba(255,255,255,.72)!important;box-shadow:inset 0 0 0 1px rgba(20,19,15,.07),0 4px 10px -8px rgba(40,30,10,.2)!important;transition:transform .15s var(--ease,ease),box-shadow .2s}
.mcards .dcard .wd{font:600 9.5px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.mcards .dcard .wd[lang=he]{text-transform:none;letter-spacing:0;font:600 11.5px/1.15 var(--heb);color:var(--em)}
html[dir=rtl] .mcards .dcard .wd{text-transform:none;letter-spacing:0;font-size:11px}
.mcards .dcard .hdn{font:700 20px/1.05 var(--heb);color:var(--ink);margin:3px 0 1px;font-variant-numeric:lining-nums;white-space:nowrap}
.mcards .dcard .hm{font:500 10.5px/1.2 var(--heb);color:var(--gold);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:0 2px}
.mcards .dcard .hm.par{font-size:10px;font-weight:600;color:var(--ink-2)}
.mcards .dcard .gd{font:500 9.5px/1.2 var(--sans);color:var(--ink-2);margin-top:2px;white-space:nowrap;font-variant-numeric:lining-nums;letter-spacing:.01em}
.mcards .dcard .dot{position:absolute;top:5px;inset-inline-end:5px;width:5px;height:5px;border-radius:50%;background:var(--gold-2)}
.mcards .dcard .bdg{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:5px;max-width:100%}
.mcards .dcard .mb,.mcards .dcard .xb{font:600 10px/1 var(--heb);color:#fff;background:var(--em);border-radius:999px;padding:3px 6px;white-space:nowrap;max-width:44px;overflow:hidden;text-overflow:clip}
.mcards .dcard .mb b,.mcards .dcard .xb b{font:700 10px/1 var(--sans);font-variant-numeric:lining-nums}
.mcards .dcard .xb{background:var(--gold);color:#fff}
.mcards .dcard.shab{background:rgba(244,236,221,.9)!important}
.mcards .dcard.out{opacity:.38}
.mcards .dcard.past{opacity:.55}
.mcards .dcard.past.out{opacity:.32}
.mcards .dcard.gone{opacity:.22;background:transparent!important;box-shadow:inset 0 0 0 1px rgba(20,19,15,.05)!important;pointer-events:none}
.mcards .dcard.today{box-shadow:inset 0 0 0 2px var(--gold-2),0 4px 10px -8px rgba(40,30,10,.2)!important}
.mcards .dcard.sel,.mcards .dcard.sel.shab,.mcards .dcard.sel.past,.mcards .dcard.sel.out{opacity:1;background:var(--gloss-em)!important;color:#F6F1E6!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 22px -8px rgba(10,74,53,.6),0 3px 6px rgba(10,74,53,.25)!important;transform:translateY(-1px)}
.mcards .dcard.sel .wd,.mcards .dcard.sel .hm.par,.mcards .dcard.sel .gd{color:#CFE3D9!important}
.mcards .dcard.sel .hdn{color:#fff!important}
.mcards .dcard.sel .hm,.mcards .dcard.sel .wd[lang=he]{color:#E7C27D!important}
.mcards .dcard.sel .dot{background:#E7C27D}
.mcards .dcard.sel .mb{background:#fff;color:var(--em-lo)}
.mcards .dcard.sel .xb{background:#E7C27D;color:var(--em-lo)}
.mcards .dcard:active{transform:scale(.97)}
@media (max-width:370px){.mcards .dcard .hdn{font-size:18px}.mcards .dcard .wd{font-size:8.5px;letter-spacing:.03em}.mcards .dcard .gd{font-size:8.5px}.mcards .dcard .hm{font-size:9.5px}}

.masthead .hdate,html[dir=rtl] .masthead .hdate{text-align:center!important}
.masthead .zman{justify-content:center!important}

html body .masthead .hdate,html body .masthead .hdate.wpar,html[dir=rtl] body .masthead .hdate,html body .masthead .hsub,html body .masthead .greg{text-align:center!important;margin-inline:auto!important}
html body .masthead .greg{justify-content:center!important}

html body .masthead .hdate,html[dir=rtl] body .masthead .hdate,html body .masthead .hsub,html body .masthead .zman{padding-left:0!important;padding-right:0!important;max-width:none!important}

html body .masthead{min-height:0!important}

/* ===== v38 (Joel 10:55–10:56 AM): calendar day list — one drop thicker, sections by type, "Tomorrow’s simchas" ===== */
.week-day{scroll-margin-top:84px}
.mini b{-webkit-text-stroke:.38px currentColor;color:var(--ink)}
html[dir=rtl] .mini b{-webkit-text-stroke:.2px currentColor}
.mini small{color:#3F3C35!important;font-weight:500}
.mini .tm{font-weight:700!important}
.week-day h3{-webkit-text-stroke:.3px currentColor}
.mcards .dcard .wd{font-weight:700;color:#3F3C35}
.mcards .dcard .wd[lang=he]{font-weight:700}
.mcards .dcard .hdn{font-weight:700;-webkit-text-stroke:.25px currentColor}
.mcards .dcard .hm{font-weight:700}
.mcards .dcard .hm.par{font-weight:700;color:#3F3C35}
.mcards .dcard .gd{font-weight:600;color:#3F3C35}
.tgrp{margin-top:4px}
.tgrp+.tgrp{margin-top:18px}
.tgrp-h{display:flex;align-items:center;gap:8px;margin:0 4px 8px;font:700 12.5px/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--em)}
.tgrp-h i{font-style:normal;font:700 11.5px/1 var(--sans);letter-spacing:0;color:var(--em);background:var(--em-soft);border-radius:999px;padding:3px 8px;font-variant-numeric:lining-nums}
html[dir=rtl] .tgrp-h{font:700 16px/1.2 var(--heb);letter-spacing:0;text-transform:none}
.erev-mini .tgrp-h{margin-top:4px}
.nextday{display:flex;align-items:center;gap:12px;width:100%;margin:20px 0 6px;padding:15px 18px;border:0;border-radius:20px;background:var(--gloss-em,var(--em));color:#F6F1E6;text-align:start;font:inherit;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 12px 22px -10px rgba(10,74,53,.55)}
.nextday .nd-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.nextday b{font:600 17px/1.2 var(--sans);color:#fff}
.nextday small{font:500 13.5px/1.25 var(--sans);color:#CFE3D9}
html[dir=rtl] .nextday b{font:700 19px/1.2 var(--heb)}
html[dir=rtl] .nextday small{font-family:var(--heb);font-size:14.5px}
.nextday .nd-a{margin-inline-start:auto;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;flex:none;color:#E7C27D}
.nextday .nd-a .ico{width:18px;height:18px}
.nextday:active{transform:scale(.985)}
.nextday{margin-bottom:14px}

/* v39: country flag beside the brand (worked out in the browser only) */
.brand-flag{display:inline-flex;align-items:center;align-self:center;margin-inline-start:.4em;line-height:0;flex:0 0 auto}
.brand-flag[hidden]{display:none!important}
.brand-flag svg{display:block;border-radius:2px;box-shadow:0 0 0 .6px rgba(0,0,0,.22)}
.brand-flag .bf-emoji{font:14px/1 "Apple Color Emoji","Noto Color Emoji","Segoe UI Emoji",sans-serif}
/* v39 (Joel 11:24 AM): section headers in English AND Yiddish together */
.tgrp-h .tg-names{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:0 7px}
.tgrp-h .tg-en{font:700 12.5px/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase}
.tgrp-h .tg-yi{font:700 15.5px/1.2 var(--heb);letter-spacing:0;text-transform:none}
.tgrp-h .tg-sep{opacity:.5;letter-spacing:0;font-weight:700}
html[dir=rtl] .tgrp-h .tg-en{font:700 12px/1.2 var(--sans);letter-spacing:.07em}
html[dir=rtl] .tgrp-h .tg-yi{font:700 16px/1.2 var(--heb)}
/* v39: with location on, the town headers ("Boro Park · nearby") span the whole row of the card grid on iPad / computer instead of taking a card's place */
.rtown{grid-column:1/-1}
@media (max-width:600px){.brand-flag svg{height:9px;width:auto}.brand-flag{margin-inline-start:.3em}}
.top-in.noflag .brand-flag{display:none!important}
/* v39: the flag sits in the empty corner above ".com", beside "Simchas", so it takes no width from the header */
.brand-word{position:relative}
.brand-flag{position:absolute;right:0;top:.3em;margin:0!important}
.brand-flag svg{height:9px;width:auto}

/* v39: admin list Live status button */
.post-row .liveline{margin-top:8px;font-size:14px}
.btn.live-adm{color:#17703a;border-color:rgba(23,112,58,.35);background:rgba(31,160,79,.07);gap:6px}
.btn.live-adm .la-dot{opacity:.6}

/* v40 (Joel 12:29 PM video): the sponsored cards are <aside> elements, so the wide layout's sticky sidebar rule also caught them and they slid down after the reader. Ads now scroll with the page like everything else. */
.adslot,.cols .adslot{position:static!important;top:auto!important;transform:none!important;animation:none!important}

/* v40 (Joel 12:39 / 12:4x PM): a simcha that is live right now stands out, like a news app's LIVE light: green, a softly blinking round dot. Round dot only. */
:root{--live:#0E9F4F;--live-d:#0A7F3E;--live-s:rgba(14,159,79,.16)}
.livebadge{display:inline-flex;align-items:center;gap:5px;flex:none;padding:4px 9px 4px 8px;border-radius:999px;background:var(--live);color:#fff;font:700 11px/1 var(--sans);letter-spacing:.09em;text-transform:none;white-space:nowrap;margin-inline-start:8px;vertical-align:middle;animation:lbglow 1.5s ease-in-out infinite}
.livebadge [lang=he]{font:700 12.5px/1 var(--heb);letter-spacing:0}
.livebadge .lbsep{opacity:.75;letter-spacing:0}
.lbdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#fff;flex:none;animation:lbpulse 1.5s ease-in-out infinite}
.livebadge.big{font-size:13px;padding:6px 13px 6px 11px}
.livebadge.big [lang=he]{font-size:15px}
.livebadge.big .lbdot{width:9px;height:9px}
@keyframes lbpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.6)}}
@keyframes lbglow{0%,100%{box-shadow:0 0 0 0 rgba(14,159,79,.5)}50%{box-shadow:0 0 0 6px rgba(14,159,79,0)}}
.card.is-live{box-shadow:0 0 0 2px var(--live),0 14px 30px -16px rgba(14,159,79,.5)!important}
.lrow.is-live{box-shadow:0 0 0 2px var(--live)!important;background:rgba(14,159,79,.045)}
.lrow .lr0{margin:0 0 7px}
.lrow .livebadge{margin-inline-start:0}
.detail-head .dlive{margin:0 0 10px}
.detail-head .dlive .livebadge{margin-inline-start:0}
.is-live .liveline{color:var(--live-d)}
.is-live .liveline .lvdot{background:var(--live);box-shadow:0 0 0 3px var(--live-s);animation:lbpulse 1.5s ease-in-out infinite}
/* the Live Simcha Updates button: name, a one-line explainer, and when live a blinking LIVE light with the step */
.live-act{grid-column:1/-1;order:-1;min-height:0!important;padding:14px 16px!important;gap:3px!important;text-align:center}
.live-act .ico,.live-adm .ico{color:var(--live)!important}
.live-act .lb-t{font-weight:700;font-size:16px;color:var(--live-d)}
.live-act .lb-x,.live-adm .lb-x{font-size:12.5px;color:var(--ink-3);font-weight:400;line-height:1.3}
.live-adm{flex-wrap:wrap;justify-content:center;text-align:center;row-gap:2px}
.live-adm .lb-x{flex-basis:100%}
.lb-on{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:5px 12px 5px 10px;border-radius:999px;background:#fff;color:var(--live-d);font:800 13px/1 var(--sans);letter-spacing:.06em}
.lb-on bdi{letter-spacing:0;font-weight:700}
.lb-on .lbdot{background:var(--live);width:9px;height:9px}
.live-act.on-air,.live-adm.on-air{background:var(--live)!important;border-color:var(--live)!important;color:#fff!important;animation:lbglow 1.5s ease-in-out infinite}
.live-act.on-air .ico,.live-adm.on-air .ico,.live-act.on-air .lb-t,.live-act.on-air .lb-x,.live-adm.on-air .lb-x{color:#fff!important}
.live-act.on-air .lb-x,.live-adm.on-air .lb-x{opacity:.9}
.live-adm .lb-on{flex-basis:auto}
@media (prefers-reduced-motion:reduce){.livebadge,.lbdot,.live-act.on-air,.live-adm.on-air,.is-live .liveline .lvdot{animation:none!important}}

/* v41 (Joel 1:23 PM): the LIVE badge says the step and the time it was posted: "● LIVE · Kabbalas Panim · 12:36 PM". One line; a long step name gives way with "…", the time always shows. */
.livebadge{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;letter-spacing:.02em}
.livebadge .lb-l{letter-spacing:.09em;flex:none}
.livebadge .lb-l[lang=yi]{font:700 12.5px/1 var(--heb);letter-spacing:0}
.livebadge .lb-s{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;font-weight:700}
html[dir=rtl] .livebadge .lb-s{font:700 12.5px/1.1 var(--heb)}
.livebadge .lb-tm{flex:none;letter-spacing:0;font-weight:700;font-variant-numeric:tabular-nums}
.livebadge.big .lb-l[lang=yi],html[dir=rtl] .livebadge.big .lb-s{font-size:15px}
.card-top:has(.livebadge){flex-wrap:wrap;row-gap:8px}
.card-top .livebadge{order:10;margin-inline-start:0}
.card.is-live,.card.is-live .card-top{min-width:0;max-width:100%}
.lb-on{max-width:100%;min-width:0;overflow:hidden}
.lb-on .lb-l,.lb-on .lb-tm{flex:none}
.lb-on .lb-s{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-on .lb-tm{letter-spacing:0;font-variant-numeric:tabular-nums}
.liveline.noteonly{color:var(--ink-2)}
.liveline.noteonly .lvnote{padding-inline-start:0;font-size:14px}

/* v42 (Joel 2:29 PM): chosson/kallah (and solo bar mitzvah / aufruf) name cards centered as a pair under the parents, equal widths, on every width */
.detail-head.d33 .dcouple{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;max-width:520px;margin:16px auto 0!important;justify-content:center}
.detail-head.d33 .dcouple.solo{grid-template-columns:minmax(0,1fr)!important;max-width:300px}
.detail-head.d33 .dcc{align-items:center!important;text-align:center;padding:12px 10px!important;min-width:0}
.detail-head.d33 .dcn{overflow-wrap:anywhere;word-break:normal;hyphens:none}
.detail-head.d33 .dcouple+.heb-names,.detail-head.d33 .dcouple+.sub{text-align:center}
@media (max-width:600px){.detail-head.d33 .dcn{font-size:24px!important;line-height:1.1}}

/* v42: one centered column for the simcha heading on wide screens too (type, family, parents, name cards, date) — matches the phone */
@media (min-width:601px){
.detail-head.d33{text-align:center}
.detail-head.d33 .dtype{justify-content:center!important}
.detail-head.d33 .dlive{display:flex;justify-content:center}
.detail-head.d33 .fam,.detail-head.d33 .dpar,.detail-head.d33 .when,.detail-head.d33 .sub,.detail-head.d33 .heb-names{text-align:center!important;margin-inline:auto}
.detail-head.d33 .dpar{display:block}
}

/* ---------- v43 (Joel 3:34 PM): language = a small icon button; the country flag moves to the far side of "Sign in" ---------- */
.top-actions .lang-btn{width:36px;height:34px;min-width:36px;padding:0!important;gap:0;justify-content:center;border-radius:999px}
.top-actions .lang-btn.lang-globe{width:34px;min-width:34px;border-radius:50%}
.lang-btn .lang-ico{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}
.lang-btn .lang-glyph{display:inline-flex;align-items:baseline;gap:1px;line-height:1;direction:ltr}
.lang-btn .lg-a{font:600 14px/1 var(--sans);letter-spacing:0}
.lang-btn .lg-y{font:700 15px/1 "Frank",var(--heb);letter-spacing:0;position:relative;top:.5px}
.top-in.tight .lang-btn{padding:0!important}
.hdr-flag{display:inline-flex;align-items:center;line-height:0;flex:0 0 auto;margin-inline-start:2px}
.hdr-flag[hidden]{display:none!important}
.hdr-flag svg{display:block;height:13px;width:auto;border-radius:2px;box-shadow:0 0 0 .6px rgba(0,0,0,.22)}
.hdr-flag .bf-emoji{font:16px/1 "Apple Color Emoji","Noto Color Emoji","Segoe UI Emoji",sans-serif}
@media (max-width:600px){.hdr-flag svg{height:12px}.hdr-flag{margin-inline-start:0}}
.top-in.noflag .hdr-flag{display:none!important}
html .top-actions .lang-btn,html[dir=rtl] .top-actions .lang-btn,html .top-in.tight .top-actions .lang-btn,html[dir=rtl] .top-in.tight .top-actions .lang-btn{padding:0!important}
.lang-btn .lang-ico{flex:none}

/* ---------- v44: sponsor banner in the home hero (replaces "Invite everyone…") ---------- */
.hook.hook-ad{padding-top:12px}
.adban{display:block;margin:0 auto;max-width:880px}
.adban .adlbl{margin:0 0 5px}
.adb-frame{position:relative;width:100%;aspect-ratio:3/1;border-radius:16px;overflow:hidden;background:var(--paper-2);border:1px solid var(--line);box-shadow:0 10px 24px -16px rgba(6,36,25,.4),0 1px 3px rgba(40,30,10,.06);isolation:isolate}
.adb-s{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s;line-height:0;-webkit-tap-highlight-color:transparent;color:inherit;text-decoration:none}
.adb-s.on{opacity:1;visibility:visible;transition:opacity .7s ease,visibility 0s;z-index:1}
.adb-s img{display:block;width:100%;height:100%;object-fit:cover}
a.adb-s:active{opacity:.88}
.adb-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:0 7%;line-height:1.2;text-align:start}
.adb-ewf{background:radial-gradient(120% 140% at 85% 20%,#13684B 0%,#0A4A35 55%,#062F22 100%);color:#fff}
.adb-ewf::after{content:"";position:absolute;inset:10px;border:1px solid rgba(214,190,140,.45);border-radius:10px;pointer-events:none}
.adb-cat{font:600 clamp(10px,2.6vw,13px)/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#D9C08E}
.adb-name{font:500 clamp(22px,6.4vw,40px)/1.05 var(--serif);letter-spacing:-.005em}
.adb-line{font:400 clamp(12.5px,3.4vw,17px)/1.3 var(--sans);opacity:.92}
.adb-cta{background:linear-gradient(135deg,#FBF6EC 0%,#F2E7D2 100%);color:var(--ink)}
.adb-cta::after{content:"";position:absolute;inset:10px;border:1.5px dashed rgba(156,122,67,.55);border-radius:10px;pointer-events:none}
.adb-cta .adb-name{color:var(--navy,#1B3B30)}
.adb-cta .adb-line{color:var(--ink-2)}
.adb-go{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:5px 13px;border-radius:999px;background:var(--gold);color:#fff;font:600 clamp(12px,3.2vw,14px)/1.2 var(--sans)}
html[dir=rtl] .adb-go span{display:inline-block;transform:scaleX(-1)}
html[dir=rtl] .adb-name{font-family:var(--heb);font-weight:700}
html[dir=rtl] .adb-ewf .adb-name{font-family:var(--serif);font-weight:500}
html[lang=yi] .adb-cat,html[lang=he] .adb-cat{letter-spacing:0;text-transform:none}
.adb-dots{display:flex;justify-content:center;gap:2px;margin:4px 0 0}
.adb-dot{width:22px;height:22px;padding:0;border:0;background:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.adb-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--line-2);transition:background .3s,transform .3s}
.adb-dot.on::before{background:var(--gold);transform:scale(1.15)}
.hook-ad .btn-row{margin-top:6px}
@media (prefers-reduced-motion:reduce){.adb-s,.adb-s.on{transition:none}}
@media (min-width:900px){.adban{max-width:640px;margin:0}.hook-ad .adb-dots{justify-content:flex-start;padding-inline-start:4px}.adb-name{font-size:34px}.adb-line{font-size:16px}.adb-cat{font-size:12px}}

/* ---------- v44: "whose simcha" boxes ---------- */
.wbox{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 14px 4px;margin:0 0 14px;box-shadow:0 1px 2px rgba(27,59,48,.04)}
.wbox .wb-head{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;margin:0 0 6px;font-size:16px;color:var(--ink)}
.wbox .wb-head b{font-weight:650}
.wbox .fp-hint{margin:-2px 0 10px}
.wbox .grid2{gap:10px}
.wbox .field{margin-bottom:12px}
.wbox .field>span{font-size:14px}
.wb-cs{grid-template-columns:minmax(0,1fr) 92px!important}
.wb-match{margin:-2px 0 12px}
.wb-ask{font-size:13.5px;color:var(--ink-2);margin:0 0 6px}
.wb-opt{width:100%;text-align:start;border:1px solid var(--line);border-radius:12px;background:var(--paper);margin:0 0 6px}
.wb-linked{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:var(--sage-soft,#EAF0EC);border:1px solid rgba(95,122,106,.25)}
.wb-linked>.ico{width:18px;height:18px;flex:none;color:var(--em,#0A4A35)}
.wb-linked>span{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.wb-linked small{color:var(--ink-2);font-size:13px}
@media (max-width:440px){.wbox .grid2{grid-template-columns:1fr 1fr}}
.cols .hook-sm ~ .masthead{padding-top:20px}
@media (min-width:900px){.cols>div>.hook-ad{padding-top:2px}.cols .adban{max-width:none}}
.wbox .grid2{align-items:end}
html[dir=rtl] .wbox input[dir=auto]{text-align:start}

/* v46: live button sits right above the schedule */
.live-slot{margin-top:16px}
.live-slot .live-act{display:flex;width:100%;min-height:0!important;box-sizing:border-box}
.live-slot+.facts.mem{margin-top:12px!important}

/* v47 (Joel 8:54 PM): the Live button stands out from the other cards — a light highlight and a round indicator light.
   Not live yet: soft warm highlight, red light blinking (~1s). Live: light green highlight, green light glowing. Reduced motion: solid light, no blink. */
.live-slot .live-act{position:relative;padding-inline:44px!important;background:#FFF7E4!important;border:1.5px solid #E7B85A!important;box-shadow:0 8px 22px -14px rgba(176,120,20,.55)!important;animation:none}
.live-slot .live-act .lb-t{color:var(--ink)}
.live-slot .live-act .ico{color:#B07814!important}
.live-slot .lsig{position:absolute;inset-inline-start:18px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FF8A80 0,#E3262E 55%,#B5161D 100%);box-shadow:0 0 0 3px rgba(227,38,46,.16),0 0 8px 1px rgba(227,38,46,.55);animation:lsblink 1s ease-in-out infinite alternate;pointer-events:none}
@keyframes lsblink{0%,30%{opacity:1}100%{opacity:.18;box-shadow:0 0 0 3px rgba(227,38,46,0),0 0 0 0 rgba(227,38,46,0)}}
.live-slot.is-on .live-act,.live-slot .live-act.on-air{background:#E9F8EF!important;border-color:var(--live)!important;color:var(--ink)!important;box-shadow:0 8px 22px -14px rgba(14,159,79,.6)!important;animation:none!important}
.live-slot .live-act.on-air .lb-t{color:var(--live-d)!important}
.live-slot .live-act.on-air .ico{color:var(--live)!important}
.live-slot .live-act.on-air .lb-x{color:var(--ink-3)!important;opacity:1}
.live-slot .live-act.on-air .lb-on{background:var(--live);color:#fff}
.live-slot .live-act.on-air .lb-on .lbdot{background:#fff}
.live-slot .live-act.on-air .lsig{background:radial-gradient(circle at 35% 35%,#8BF0B4 0,#16B85C 55%,#0A7F3E 100%);box-shadow:0 0 0 3px rgba(14,159,79,.18),0 0 10px 2px rgba(14,159,79,.6);animation:lsglow 1.6s ease-in-out infinite}
@keyframes lsglow{0%,100%{box-shadow:0 0 0 3px rgba(14,159,79,.18),0 0 10px 2px rgba(14,159,79,.6)}50%{box-shadow:0 0 0 7px rgba(14,159,79,.05),0 0 16px 4px rgba(14,159,79,.35)}}
@media (prefers-reduced-motion:reduce){.live-slot .lsig,.live-slot .live-act.on-air .lsig{animation:none!important;opacity:1!important}}

/* v48 (Joel 9:29 PM): "Chosson & Kallah came in" is a long step name. On the simcha page's Live button the step may wrap to a
   second line inside the LIVE pill instead of being cut off with "…"; list cards and other badges are unchanged. */
.live-slot .lb-on{flex-wrap:nowrap;border-radius:14px;line-height:1.2}
.live-slot .lb-on .lb-s{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}

/* v49 (Joel, Oct 25): 10-second videos — a strip of short clips right under the Live button. No plus/cross shapes, no people icons. */
.vid-sec{margin-top:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 14px 12px;box-shadow:var(--shadow)}
.vid-sec+.facts.mem{margin-top:12px!important}
.vid-head{display:flex;align-items:center;gap:10px}
.vid-ic{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--gold-soft);color:var(--gold);display:grid;place-items:center}
.vid-ic .ico{width:19px;height:19px}
.vid-t{margin:0;font:600 16.5px/1.25 var(--sans);color:var(--ink)}
html[dir=rtl] .vid-t{font-family:"Frank",var(--sans);font-size:18px}
.vid-sub{margin:1px 0 0;font-size:13px;line-height:1.35;color:var(--ink-3)}
.vid-strip{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;margin:12px -14px 0;padding:0 14px 4px;scrollbar-width:none}
.vid-strip::-webkit-scrollbar{display:none}
.vid-card{position:relative;flex:0 0 104px;scroll-snap-align:start}
.vid-th{position:relative;display:block;width:104px;height:150px;padding:0;border:0;border-radius:12px;overflow:hidden;background:#2B2620;box-shadow:0 6px 16px -10px rgba(0,0,0,.5)}
.vid-th img{width:100%;height:100%;object-fit:cover}
.vid-noimg{display:grid;place-items:center;width:100%;height:100%;color:rgba(255,255,255,.7)}
.vid-noimg .ico{width:30px;height:30px}
.vid-play{position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 2px 10px rgba(0,0,0,.25);display:grid;place-items:center}
.vid-play svg{width:22px;height:22px;fill:var(--ink)}
.vid-dur{position:absolute;bottom:6px;inset-inline-end:6px;padding:1px 6px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font:600 11px/1.5 var(--sans)}
.vid-rm{position:absolute;top:6px;inset-inline-start:6px;z-index:2;padding:3px 9px;border:0;border-radius:999px;background:rgba(255,255,255,.93);color:var(--rose);font:600 11.5px/1.4 var(--sans);box-shadow:0 1px 4px rgba(0,0,0,.2)}
html[dir=rtl] .vid-rm{font-family:"Frank",var(--sans);font-size:12.5px}
.vid-meta{margin-top:5px;text-align:center;font-size:12.5px;line-height:1.3;color:var(--ink-2)}
.vid-wait{display:block;color:var(--gold);font-size:11px;font-weight:600}
.vadm .vid-wait{display:inline}
.vid-card.is-pending .vid-th img{opacity:.6}
.vid-player{margin-top:12px}
.vid-player video{display:block;width:100%;max-height:62vh;background:#000;border-radius:14px}
.vid-pbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;font-size:13px;color:var(--ink-2)}
.vid-empty{margin:10px 0 0;font-size:14.5px;color:var(--ink-2)}
.vid-add-row{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-top:14px}
.vid-add{width:100%;justify-content:center;gap:8px}
.vid-add .ico{width:19px;height:19px}
.vid-add[disabled]{opacity:.6}
.vid-pick{align-self:center;font-size:14.5px}
.vid-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;left:0;top:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:0} /* RTL fix, build 57b: in Yiddish the hidden file input's own button stuck out 82px to the left and the admin detail page scrolled sideways */
.vid-status{margin-top:4px;padding:8px 12px;border-radius:10px;background:var(--paper-2);font-size:14px;color:var(--ink-2)}
.vid-status.bad{background:#FBEDEB;color:var(--rose)}
.vid-hint{margin:4px 0 0;font-size:13px;line-height:1.4;color:var(--ink-3)}
.vadm-list{display:flex;flex-direction:column}
.vadm{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.vadm-th{position:relative;flex:0 0 72px;width:72px;height:104px;padding:0;border:0;border-radius:10px;overflow:hidden;background:#2B2620}
.vadm-th img{width:100%;height:100%;object-fit:cover}
.vadm-th .vid-play{width:30px;height:30px;margin:-15px 0 0 -15px}
.vadm-th .vid-play svg{width:18px;height:18px}
.vadm-v{flex:0 0 160px;width:160px;max-height:260px;border-radius:10px;background:#000}
.vadm-b{min-width:0;flex:1}
.vid-th .vid-pv{width:100%;height:100%;object-fit:cover;pointer-events:none}
/* ---------- v48b (Joel 9:53 PM): the sponsor banner moves from the top to right under the day strip, as TWO boxes side by side,
   each half the old width and half the old height (same 3:1 shape, so the ad images are not cut). Both rotate, offset; no dots. ---------- */
.adpair{display:block;margin:10px 0 4px;max-width:640px}
.adpair .adlbl{margin:0 0 4px}
.adp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.adpair .adban{max-width:none;margin:0}
.adpair .adb-frame{border-radius:11px;box-shadow:0 6px 14px -12px rgba(6,36,25,.45),0 1px 2px rgba(40,30,10,.06)}
.adpair .adb-in{padding:0 8%;gap:1px}
.adpair .adb-ewf::after,.adpair .adb-cta::after{inset:5px;border-radius:7px}
.adpair .adb-cat{font-size:clamp(8px,2.2vw,11px);letter-spacing:.08em}
.adpair .adb-name{font-size:clamp(13.5px,4vw,22px);line-height:1.08}
.adpair .adb-line{display:none;font-size:clamp(10px,2.6vw,13px)}
.adpair .adb-go{margin-top:3px;padding:2px 9px;font-size:clamp(10.5px,2.8vw,12.5px)}
.adpair .adb-cta .adb-name{font-size:clamp(12.5px,3.7vw,20px)}
html[dir=rtl] .adpair .adb-cta .adb-name{font-size:clamp(13.5px,4vw,21px)}
@media (min-width:600px){.adpair .adb-line{display:block}.adpair .adb-cta .adb-line{display:none}}
@media (min-width:900px){.cols .adpair{max-width:640px}.adpair .adb-name{font-size:20px}.adpair .adb-cta .adb-name{font-size:19px}.adpair .adb-line{font-size:12.5px}.adpair .adb-cat{font-size:10.5px}}
.hook.hook-noad{padding-top:12px}
.hook-noad .btn-row{margin-top:0}
@media (min-width:900px){.cols>div>.hook-noad{padding-top:2px}}

/* v48b (Joel 9:57 PM): in-list sponsored strip — two ads side by side across the whole row on the 2-column list; one ad on one column */
.adtwo{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.adtwo .ad-b{display:none}
@media (min-width:1121px){
  .list>.adslot{grid-column:1/-1;align-self:start}
  .list>.adslot .adtwo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .list>.adslot .ad-b{display:block}
  .list.adgrid{grid-auto-flow:row dense}
}

/* v48b (Joel 9:58 PM): live step picker — smaller buttons, 3 per row, numbered 1…n, read left→right (right→left in Yiddish);
   a last odd button stretches across the row (span set inline), all buttons in a row the same height */
.lvgrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:stretch}
.lvbtn{flex-direction:column;gap:3px;min-height:58px;padding:7px 6px 8px;border-radius:13px;font-size:14.5px;line-height:1.15;text-align:center;overflow-wrap:anywhere;hyphens:auto}
.lvbtn .lvname{display:block;max-width:100%}
html[lang=yi] .lvbtn{font-size:15px}
@media (max-width:380px){.lvbtn{font-size:13px}}
@media (min-width:720px){.lvgrid{gap:10px}.lvbtn{min-height:64px;font-size:16px;padding:9px 10px 10px}}

/* v52 (Joel Oct 26 12:28 AM): parents' names in small under the family names on the cards — one line, ellipsis when long */
.card .fpar{margin:-2px 0 6px;font:500 13.5px/1.3 var(--sans);color:var(--ink-2);letter-spacing:.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0}
.qpar{display:block;font:500 12.5px/1.3 var(--sans);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 0 1px;min-width:0}

/* v53: live details are for members — the signed-out teaser */
.liveline.lvlock{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;color:#17703a;font-weight:600;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(23,112,58,.35);text-underline-offset:3px;-webkit-tap-highlight-color:transparent;max-width:100%}
.liveline.lvlock svg{width:15px;height:15px;flex:none;opacity:.85}
.liveline.lvlock .lvtxt{min-width:0}
.liveline.lvlock:focus-visible{outline:2px solid var(--live,#1fa04f);outline-offset:3px;border-radius:6px}
.liveline.lvlock.big svg{width:17px;height:17px}
.lvlockrow{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.lvlockrow .livebadge{margin-inline-start:0}
.vid-empty .liveline.lvlock{margin-top:0}

.lvlockpair{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:100%;vertical-align:middle}
.lvlockpair .livebadge{margin-inline-start:0}
.card-top .lvlockpair{order:10}
.lvlockpair .liveline.lvlock{margin:0;font-size:13.5px}
.lvlockpair .liveline.lvlock.big{font-size:15px}
.card-top .lvlockpair .livebadge,.lvlockpair .livebadge{order:0}
.lvlockpair .liveline.lvlock{order:1}

/* ---------- v54: the admin's "Add invitation" strip (admin only; camera outline, no plus sign) ---------- */
.admadd{max-width:1180px;margin:0 auto;padding:0 16px 10px}
.admadd-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;border:0;border-radius:14px;background:var(--gold-2);color:#14261F;font:600 16.5px/1.1 var(--sans);letter-spacing:.005em;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 6px 16px -10px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}
html[dir=rtl] .admadd-btn{font-family:var(--heb);font-size:17.5px}
.admadd-btn .ico{width:22px;height:22px;stroke-width:1.8}
.admadd-btn:active{transform:translateY(1px);filter:brightness(.96)}
@media (min-width:720px){.admadd{display:flex;justify-content:flex-end;padding-top:0}.admadd-btn{width:auto;padding:0 22px}}
.admsheet-t{text-align:center;margin:0 0 14px}
.admsheet-pick{min-height:64px;font-size:18px}
.admsheet-pick .ico{width:24px;height:24px}
.admsheet .ip-prev{margin:12px 0 4px}
.admsheet .ip-prev img{max-height:min(230px,30vh);margin-bottom:0}
.admsheet-note{margin:12px 0 10px}
.admsheet-send{min-height:56px;font-size:18px}
.admsheet-send:disabled{opacity:.5}
.admsheet-x{margin-top:8px}
.admsheet-ok{font-size:20px}
.admsheet-row{display:flex;gap:10px;justify-content:center;margin-top:12px}

/* ---------- v55: whose-simcha choice, duplicate box, posted-by, claims, points & round medals ---------- */
.medal{display:inline-block;position:relative;overflow:hidden;width:1.08em;height:1.08em;border-radius:50%;vertical-align:-.16em;margin-inline-start:.38em;flex:none;
  background:radial-gradient(circle at 34% 30%,var(--m1) 0,var(--m2) 72%);box-shadow:0 0 0 1.5px #fff,0 0 0 2.6px var(--mr),0 1px 3px rgba(27,59,48,.22)}
/* v55c (Joel, Oct 26 8:03 PM: "the ring was our logo"): OUR ring (gold ring, emerald stone — the header logo) sits on a light
   inner disc inside every round medal, so it reads on all eight colors (Gold too).
   Each medal's colors come inline from the level table (--m1 light, --m2 the color, --mr the rim).
   v55e (Joel, Oct 26 8:36 PM: "I don't like this flash… something emerald, like blinks, like the diamond shines… and the gold blinks"):
   the white sweep and the whole-medal glow are gone; the disc stays still. Instead the ring itself lives: a round soft glint on the
   emerald stone (::after, no rays, no star) and, a moment later, a warm pulse on the gold band only (::before, the ring as a mask minus
   the stone). 2.6 s cycle; nothing moves under reduce-motion or on levels not earned yet. Stone centre in .mdr: 43% / 21%. */
.medal .mdr{position:absolute;inset:12%;border-radius:50%;display:block;
  background:url(/img/ring-sm.webp?v=89) 50% 54%/auto 76% no-repeat,radial-gradient(circle at 42% 34%,#FFFEFA 0,#FBF5EA 55%,#EEE3CF 100%);
  box-shadow:0 0 0 .6px var(--mr),inset 0 .08em .14em rgba(27,59,48,.18)}
.medal.md-big .mdr,.medal.md-xl .mdr,.lvl .medal .mdr{inset:15%}
.medal.md-big .mdr,.medal.md-xl .mdr{background-image:url(/img/ring.webp?v=89),radial-gradient(circle at 42% 34%,#FFFEFA 0,#FBF5EA 55%,#EEE3CF 100%)}
.medal.md-big .mdr::before,.medal.md-xl .mdr::before{-webkit-mask-image:url(/img/ring.webp?v=89),radial-gradient(ellipse 15.5% 9% at 43.3% 21%,#000 92%,transparent 100%);mask-image:url(/img/ring.webp?v=89),radial-gradient(ellipse 15.5% 9% at 43.3% 21%,#000 92%,transparent 100%)}
.medal .mdr::before,.medal .mdr::after{content:"";position:absolute;pointer-events:none;opacity:0}
.medal .mdr::before{inset:0;border-radius:50%;mix-blend-mode:overlay;
  background:radial-gradient(circle at 40% 60%,#FFEAB0 0,#F7C553 55%,#E3A835 100%);
  -webkit-mask-image:url(/img/ring-sm.webp?v=89),radial-gradient(ellipse 15.5% 9% at 43.3% 21%,#000 92%,transparent 100%);
  -webkit-mask-size:auto 76%,100% 100%;-webkit-mask-position:50% 54%,0 0;-webkit-mask-repeat:no-repeat;-webkit-mask-composite:source-out;
  mask-image:url(/img/ring-sm.webp?v=89),radial-gradient(ellipse 15.5% 9% at 43.3% 21%,#000 92%,transparent 100%);
  mask-size:auto 76%,100% 100%;mask-position:50% 54%,0 0;mask-repeat:no-repeat;mask-composite:subtract;
  animation:mdgold 2.6s ease-in-out infinite}
.medal .mdr::after{left:23.3%;top:9%;width:40%;height:24%;mix-blend-mode:screen;transform-origin:50% 50%;
  background:radial-gradient(circle at 42% 42%,#fff 0,rgba(240,255,247,.98) 6%,rgba(170,255,215,.75) 11%,rgba(120,245,185,0) 19%),
    radial-gradient(ellipse 39% 38% at 50% 50%,rgba(120,250,180,.95) 0,rgba(50,215,135,.6) 50%,rgba(30,190,110,.18) 80%,rgba(20,180,100,0) 100%),
    radial-gradient(ellipse 50% 50% at 50% 50%,rgba(90,230,160,.28) 0,rgba(60,210,140,0) 100%);
  animation:mdgem 2.6s ease-in-out infinite}
@keyframes mdgem{0%,8%{opacity:0;transform:scale(.55)}17%{opacity:1;transform:scale(1)}23%{opacity:.85;transform:scale(1.04)}36%,100%{opacity:0;transform:scale(1.1)}}
@keyframes mdgold{0%,26%{opacity:0}46%{opacity:.55}70%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.medal,.medal .mdr::before,.medal .mdr::after{animation:none!important}.medal .mdr::before,.medal .mdr::after{display:none}}
/* fallbacks only (the inline style from the level table wins) */
.md-bronze,.md-silver{--m1:#E3B88E;--m2:#CD7F32;--mr:#9C6026}
.md-gold{--m1:#FBE9B0;--m2:#C79A32;--mr:#A9822C}
.md-emerald{--m1:#8EE3B9;--m2:#13845A;--mr:#0E6B48}
.md-none{--m1:#F4EFE6;--m2:#E9E3D8;--mr:#DDD5C7;box-shadow:0 0 0 1.5px #fff,0 0 0 2.6px var(--mr)}
.medal.md-big{width:52px;height:52px;margin:0;box-shadow:0 0 0 3px #fff,0 0 0 4.5px var(--mr),0 4px 12px -4px rgba(27,59,48,.35)}
.namepick{border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 12px 10px;margin:16px 0 0;background:var(--paper)}
.namepick legend{font-weight:600;font-size:14.5px;padding:0 6px;color:var(--ink)}.namepick>p.small{margin:0 0 8px;color:var(--ink-3)}
.nsopts{display:flex;flex-direction:column;gap:6px}
.nsopt{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:14.5px}
.nsopt input{position:absolute;opacity:0;pointer-events:none}.nsopt small{color:var(--ink-3);font-size:13px}
.nsopt.on{border-color:var(--navy);box-shadow:0 0 0 3px var(--sage-soft)}
.nsopt .kdot{margin-top:0}.nsopt.on .kdot{border-color:var(--navy);background:radial-gradient(circle,var(--navy) 0 4.5px,#fff 5.5px)}
.kindpick{border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 12px 6px;margin:0 0 16px;background:var(--paper)}
.kindpick legend{font-weight:600;padding:0 6px;color:var(--ink)}
.kopt{display:flex;align-items:flex-start;gap:10px;padding:11px 10px;border:1.5px solid var(--line);border-radius:12px;background:#fff;margin:0 0 8px;cursor:pointer}
.kopt.on{border-color:var(--navy);box-shadow:0 0 0 3px var(--sage-soft)}
.kopt input{position:absolute;opacity:0;pointer-events:none}
.kdot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-2);flex:none;margin-top:2px;background:#fff}
.kopt.on .kdot{border-color:var(--navy);background:radial-gradient(circle,var(--navy) 0 4.5px,#fff 5.5px)}
.ktx{flex:1;min-width:0}.ktx b{display:block;font-weight:600}.ktx small{display:block;color:var(--ink-2);font-size:13px;line-height:1.35;margin-top:2px}
.kpts{flex:none;font-size:12px;font-weight:600;color:var(--gold);background:var(--gold-soft);border-radius:999px;padding:3px 9px;margin-top:1px;white-space:nowrap}
.knote{margin:2px 2px 8px;color:var(--ink-2)}
#pf.k-other .ownonly{display:none!important}
.dupbox{border:1.5px solid var(--gold-2);background:var(--gold-soft);border-radius:var(--r-sm);padding:14px;margin:0 0 16px}
.dupbox .eyebrow{color:var(--gold)}
.dupcard{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:8px;text-decoration:none;color:var(--ink)}
.dupcard .dtyp{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.dupcard .fam{display:block;font-size:22px;margin-top:2px}.dupcard .dpar{display:block;font-size:13px;color:var(--ink-2)}
.dupcard .dsub{display:block;font-size:14px;color:var(--ink-2);margin-top:4px}
.dupbox .btn-row{margin-top:10px}
.ptsearned{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:9px 14px;border-radius:999px;background:var(--gold-soft);color:var(--ink)}
.ptsearned .medal{margin:0}
.pbywrap{margin:14px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.pby{margin:0;font-size:15px;color:var(--ink-2);display:flex;align-items:center;flex-wrap:wrap;gap:0 4px}.pby b{color:var(--ink)}
.pbasic{margin:6px 0 0;color:var(--ink-3)}
.claimrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.claimrow .small{flex:1;min-width:160px;color:var(--ink-2)}
.claimed{margin:10px 0 0;color:var(--sage);font-weight:500}
.ptsp{margin-bottom:16px}
.ptstop{display:flex;align-items:center;gap:16px}
.ptsn{font-size:15px;color:var(--ink-2)}.ptsn b{font-family:var(--serif);font-size:34px;color:var(--ink);line-height:1}
.ptsbar{height:9px;border-radius:999px;background:var(--paper-2);margin:16px 0 6px;overflow:hidden}
.ptsbar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold-2),var(--gold))}
.ptsnext{margin:0;display:flex;align-items:center;gap:2px}
.lvls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:14px 0 6px}
.lvl{border:1px solid var(--line);border-radius:12px;padding:9px 4px 8px;min-width:0;text-align:center;background:var(--paper);display:flex;flex-direction:column;align-items:center;gap:2px}
.lvl .medal{margin:2px 0 4px;width:30px;height:30px}.lvl b{font-size:13px;line-height:1.15}.lvl .small{font-size:11.5px}.lvl .gift{color:var(--ink-3);font-size:10.5px;line-height:1.25;overflow-wrap:anywhere}
.lvl:not(.got) .medal{filter:saturate(.55) opacity(.75)}.lvl:not(.got) .medal .mdr::before,.lvl:not(.got) .medal .mdr::after{animation:none;display:none}
.lvl.got{background:#fff;border-color:var(--gold-2)}
.ptsrule{margin:10px 0 0;color:var(--ink-2)}
.ptsh{list-style:none;margin:6px 0 0;padding:0}
.ptsh li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.ptsh li span{min-width:0}.ptsh li a{color:var(--ink);text-decoration:none;font-weight:500}
.ptsh li small{display:block;color:var(--ink-3);font-size:12px}
.ptsh li b{font-size:16px;color:var(--gold);flex:none}
.ptsh li.off{opacity:.55}.ptsh li.off b{opacity:.5}
.lboard{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.lboard li{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}
.lboard li:last-child{border-bottom:0}
.lboard li.me{background:var(--gold-soft)}
.lrk{width:26px;height:26px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;font-weight:600;font-size:13px;flex:none;color:var(--ink-2)}
.lboard li:nth-child(1) .lrk{background:var(--navy);color:#fff}
.lnm{flex:1;min-width:0;font-weight:500;display:flex;align-items:center;flex-wrap:wrap}.lnm small{flex-basis:100%;color:var(--ink-3);font-weight:400;font-size:12px}
.lpt{font-size:18px;color:var(--gold);flex:none}.lpt small{font-size:11px;color:var(--ink-3);margin-inline-start:3px;font-weight:500}
.lboard.adm{margin-top:10px}.lboard.adm li{padding:10px 12px}
.lvlkey{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0;font-size:13px;color:var(--ink-2)}
.h1 .medal{width:.52em;height:.52em;vertical-align:.12em;margin-inline-start:.28em}
.pbywrap{margin-bottom:14px}

/* v55c admin: points + gift per level */
.lvadm{border-top:1px solid var(--line);padding:10px 0 2px}.lvadm-h{display:flex;align-items:center;gap:2px;font-size:15px}
.lvadm-f{display:grid;grid-template-columns:84px 1fr;gap:10px;margin-top:6px}.lvadm-f .field{margin:0}
.lvlkey{gap:8px 14px}
.pby .medal,.lnm .medal{width:1.32em;height:1.32em;vertical-align:-.3em}
.lvadm-h .medal{margin-inline-end:.3em}

/* v55d refer a friend */
.refp{margin-bottom:16px}
.refwhy{margin:6px 0 10px;color:var(--ink-2)}
.reflink{direction:ltr;text-align:left;background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:11px 14px;font-size:15px;line-height:1.35;word-break:break-all;color:var(--ink);user-select:all;-webkit-user-select:all;cursor:text}
.refbtns{margin-top:10px;flex-wrap:wrap}.refbtns .btn{flex:1 1 140px;justify-content:center}
.refn{margin:12px 0 0;font-size:15px}.refn b{font-size:18px;color:var(--em,var(--navy))}.refn small{color:var(--ink-2)}

/* v56: admin "Add invitation" beside "Post a simcha" — same button style, equal widths, one row; wraps on very narrow screens */
.btn-row.adm2{flex-wrap:nowrap}
.btn-row.adm2>.btn{flex:1 1 0;min-width:0}
.btn-row.adm2>.btn{white-space:normal;line-height:1.15;text-align:center;padding-top:5px;padding-bottom:5px}
.btn-row.adm2>.btn .ico{flex:none}
.admadd-cta{cursor:pointer;font-family:inherit}
@media (min-width:720px){.btn-row.adm2>.btn{flex:0 0 auto;min-width:0}}
@media (max-width:340px){.btn-row.adm2{flex-wrap:wrap}.btn-row.adm2>.btn{flex:1 1 100%}}

/* v56: desktop header — "Post a simcha" (+ admin "Add invitation") beside the menu; phones keep the bottom bar */
.top-cta{display:none}
@media (min-width:960px){
  .top-cta{display:flex;align-items:center;gap:8px;flex:none;margin-inline-start:auto}
  .top-cta .btn{min-height:38px;padding:0 15px;font-size:14px;white-space:nowrap}
  .top-cta .btn .ico{width:17px;height:17px}
  html.has-topcta .topnav a[href="#/post"]{display:none}
  html.has-topcta .topnav{margin-inline-start:auto}
  html.has-topcta .topnav + .top-cta{margin-inline-start:0}
}
@media (min-width:960px){.topnav a{white-space:nowrap}}
@media (min-width:960px) and (max-width:1120px){
  .top-in{gap:10px!important}
  .top-in .brand-tag{display:none}
  .topnav{gap:0!important;margin-inline-end:0!important}
  .topnav a{padding:8px 9px!important;font-size:14.5px!important}
  .top-cta{gap:6px}
  .top-cta .btn{padding:0 11px;font-size:13.5px;gap:6px}
  html.has-topcta .hdr-flag{display:none!important}
}


/* v56b (Joel 9:26 PM video): lists with town / date headers (area chosen, search, "Coming up") — each card sits in one cell with its own header,
   so on a computer the cards run two across with no empty half. One column (phone, 960–1120): the cells dissolve and the repeated headers hide,
   so it reads exactly as before. */
.hcell{display:contents}
.list>.hcell>.rday:first-child{margin-top:8px}
.list>.hcell>.rtown:first-child{margin-top:14px}
.list>.hcell:first-child>.rday{margin-top:0}
.list>.hcell:first-child>.rtown{margin-top:2px}
@media (max-width:1120px){.hcell.hrep>.rday,.hcell.hrep>.rtown{display:none}}
@media (min-width:1121px){
  .list.hlist{grid-auto-flow:row dense;row-gap:22px}
  .list>.hcell{display:flex;flex-direction:column;min-width:0}
  .list>.hcell>.rday:first-child,.list>.hcell>.rtown:first-child{margin:0 2px 10px}
  .list>.hcell>.card{flex:1 1 auto}
}

/* v56c's sweeping gold streak on the green buttons is removed in v57b (Joel 11:58 PM: "I'm not loving these lines running through"). */

/* v57 (Joel, Oct 26 11:29 PM): separate men's and women's places, like the invitation. Text labels only. */
.mw{display:flex;flex-direction:column;gap:14px}
.mw-line+.mw-line{padding-top:12px;border-top:1px solid var(--line)}
.mw-h{line-height:1.4}
.mw-k{font-weight:700;color:var(--ink);margin-inline-end:2px}
.mw-line .mapbtns{margin-top:8px}
.mw-line .m-cross{margin-top:4px}
.mw-line .lockline{display:inline-flex;align-items:center;gap:4px}
.mw-line .lockline .ico{width:14px;height:14px}
.meta .mwc{flex-basis:100%;display:flex;align-items:flex-start;gap:6px;line-height:1.35;min-width:0}
.meta .mwc b{font-weight:700;color:var(--ink);flex:none}
.meta .mwc .ico{flex:none;margin-top:2px}
.mw-chip{display:inline-flex;align-items:center;min-height:40px;margin:2px 0 14px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mw-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.mw-chip:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.mw-fields{margin:-4px 0 14px;padding:12px 12px 2px;border-inline-start:3px solid var(--line);border-radius:4px}
#pother[hidden]{display:none!important} /* v57: the "Town name" box shows only for "Other" */

/* v57: reward strip on the "sent" / "posted" screens — a round medal, what was earned, points to the next level, a slim bar. Round only. */
.rwstrip{display:flex;align-items:center;gap:14px;max-width:360px;margin:16px auto 4px;padding:12px 16px;border-radius:16px;background:var(--gold-soft);color:var(--ink);text-align:start}
.rwstrip .medal.rw-medal{flex:none;width:44px;height:44px;margin:0}
.rwstrip .medal.md-none{border-radius:50%;background:radial-gradient(circle at 42% 34%,#FFFEFA 0,#F1E9D8 70%,#E4D8BF 100%);box-shadow:inset 0 0 0 2px rgba(0,0,0,.08)}
.rw-txt{flex:1;min-width:0}
.rw-l1{font-size:15px;line-height:1.3}
.rw-l2{font-size:13px;color:var(--ink-2);margin-top:2px}
.rwstrip .ptsbar.rw-bar{height:7px;margin:8px 0 0;background:rgba(255,255,255,.75)}
.rwstrip .rw-bar i{transform-origin:left center}
[dir=rtl] .rwstrip .rw-bar i{transform-origin:right center}
@media (prefers-reduced-motion:no-preference){
  .rwstrip .rw-medal{animation:rwpulse 1.3s ease-out .25s 1 both;border-radius:50%}
  @keyframes rwpulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(212,175,55,.55)}45%{transform:scale(1.1);box-shadow:0 0 0 10px rgba(212,175,55,.18)}100%{transform:scale(1);box-shadow:0 0 0 16px rgba(212,175,55,0)}}
  .rwstrip .rw-bar i{animation:rwfill .9s ease-out .35s 1 both}
  @keyframes rwfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

/* v57b (Joel 11:58 PM: "the logo on top — can you make it shine?"): a soft warm gold glow that slowly breathes around the ring.
   Only a round glow (drop-shadow) — nothing sweeps across it, no sparkle points. Reduced motion: a still, soft glow. */
.brand-logo{-webkit-animation:stlogo 4.2s ease-in-out infinite;animation:stlogo 4.2s ease-in-out infinite;will-change:filter}
@-webkit-keyframes stlogo{
  0%,100%{-webkit-filter:brightness(1) drop-shadow(0 6px 6px rgba(80,58,20,.28)) drop-shadow(0 0 1px rgba(255,214,120,0)) drop-shadow(0 0 2px rgba(236,184,64,0));filter:brightness(1) drop-shadow(0 6px 6px rgba(80,58,20,.28)) drop-shadow(0 0 1px rgba(255,214,120,0)) drop-shadow(0 0 2px rgba(236,184,64,0))}
  50%{-webkit-filter:brightness(1.1) drop-shadow(0 4px 5px rgba(80,58,20,.18)) drop-shadow(0 0 4px rgba(255,214,120,.95)) drop-shadow(0 0 12px rgba(236,184,64,.9));filter:brightness(1.1) drop-shadow(0 4px 5px rgba(80,58,20,.18)) drop-shadow(0 0 4px rgba(255,214,120,.95)) drop-shadow(0 0 12px rgba(236,184,64,.9))}}
@keyframes stlogo{
  0%,100%{-webkit-filter:brightness(1) drop-shadow(0 6px 6px rgba(80,58,20,.28)) drop-shadow(0 0 1px rgba(255,214,120,0)) drop-shadow(0 0 2px rgba(236,184,64,0));filter:brightness(1) drop-shadow(0 6px 6px rgba(80,58,20,.28)) drop-shadow(0 0 1px rgba(255,214,120,0)) drop-shadow(0 0 2px rgba(236,184,64,0))}
  50%{-webkit-filter:brightness(1.1) drop-shadow(0 4px 5px rgba(80,58,20,.18)) drop-shadow(0 0 4px rgba(255,214,120,.95)) drop-shadow(0 0 12px rgba(236,184,64,.9));filter:brightness(1.1) drop-shadow(0 4px 5px rgba(80,58,20,.18)) drop-shadow(0 0 4px rgba(255,214,120,.95)) drop-shadow(0 0 12px rgba(236,184,64,.9))}}
@media (prefers-reduced-motion:reduce){.brand-logo{-webkit-animation:none!important;animation:none!important;filter:drop-shadow(0 6px 6px rgba(80,58,20,.24)) drop-shadow(0 0 6px rgba(236,184,64,.65))!important}}

/* v57b (Joel 11:58 PM: "we have two over here the same… maybe a different color"): on wide screens the green pair lives in the top bar;
   the pair under the search becomes ivory pills with a thin gold edge and dark-green words, so the two never look like copies.
   Phones (no top-bar pair) keep the green buttons. */
@media (min-width:960px){
  html.has-topcta .hook .btn-row>.btn,html.has-topcta .hook .btn-row>.btn:hover{background:#FFFCF4!important;color:var(--navy)!important;border:1.5px solid #C9A227!important;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 6px 14px -10px rgba(120,90,20,.55)!important;text-shadow:none}
  html.has-topcta .hook .btn-row>.btn .ico{color:#A9851F}
  html.has-topcta .hook .btn-row>.btn:hover{background:#F8EFD8!important;border-color:#B8901F!important}
  html.has-topcta .hook .btn-row>.btn:active{background:#F3E6C6!important}
  html.has-topcta .hook .btn-row>.btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
}

/* v57b: ad page (#/ad/<id>), rewards page (#/rewards), My invitations words and the in-site picture viewer */
.adpage .adp-img{display:block;margin-top:10px;border-radius:18px;overflow:hidden;line-height:0;box-shadow:0 16px 30px -16px rgba(6,36,25,.5)}
.adpage .adp-img img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover}
.adpage .adp-cat{margin-top:4px}
.adp-btns{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.adp-btns .btn{justify-content:center;gap:8px;min-width:0;white-space:normal;text-align:center}
.adp-btns .btn span[dir=ltr]{unicode-bidi:isolate}
.rwp-h{margin:24px 0 10px}
.rwp-earn,.rwp-lv{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rwp-earn li{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:14px;background:var(--gold-soft)}
.rwp-earn .rwp-n{flex:none;min-width:86px;font-size:15px;color:var(--navy)}
.rwp-earn li>span,.rwp-lv li>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.rwp-earn small,.rwp-lv small{color:var(--ink-2);font-size:13.5px;line-height:1.35}
.rwp-lv li{display:flex;align-items:center;gap:14px;padding:6px 2px}
.rwp-lv .medal{flex:none}
.rwp-gift{color:var(--gold)!important}
.rwp-me{display:flex;align-items:center;gap:14px;margin:0 0 6px}
.rwp-tot{font-size:22px;color:var(--navy)}
.rwp-link{margin-top:12px}
.rw-how{display:inline-block;margin-top:6px;font-size:13px;color:var(--navy);text-decoration:underline;text-underline-offset:2px}
.ip-say{margin:4px 0 0}
.ip-view{margin-top:6px}
.ip-admrow{margin-top:8px}
.ip-imgbtn img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.ip-lb{position:fixed;inset:0;z-index:300;background:rgba(10,20,25,.94);display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));gap:10px}
.ip-lbbar{display:flex;justify-content:flex-start;flex:none}
.ip-lb .ip-lbx{background:#fff;color:var(--navy);display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px}
.ip-lbsc{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:center;justify-content:center}
.ip-lbsc img{max-width:100%;max-height:100%;border-radius:8px;background:#fff;touch-action:pinch-zoom;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
html.lb-open,html.lb-open body{overflow:hidden}

/* v58: admin Visitors tab (CSS bars only) */
.vis-stats{grid-template-columns:repeat(2,1fr)}
.vis-stat .vis-lbl{display:block;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.vis-stat .vis-pv{font-size:13px;color:var(--ink-3);margin-top:4px}
.vis-bars{display:flex;align-items:flex-end;gap:3px;height:140px;margin-top:14px;padding-bottom:1px;border-bottom:1px solid var(--line)}
.vis-col{flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end}
.vis-col i{display:block;width:100%;background:var(--gold-2);border-radius:3px 3px 0 0;opacity:.8}
.vis-col.today i{background:var(--ink);opacity:1}
.vis-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3);margin-top:6px}
.vis-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}
.vis-grid .panel{margin:0;min-width:0}
.vis-row{padding:9px 0;border-bottom:1px solid var(--line)}
.vis-row:last-child{border-bottom:0}
.vis-row-t{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.vis-row-t span{min-width:0;overflow-wrap:anywhere}
.vis-meter{height:6px;background:var(--line);border-radius:3px;margin-top:6px;overflow:hidden}
.vis-meter i{display:block;height:100%;background:var(--gold-2);border-radius:3px}
[dir=rtl] .vis-meter i{margin-inline-start:0}
.vis-sub{margin-top:3px}
.vis-note{margin:16px 0 0;line-height:1.5}
@media (min-width:760px){.vis-stats{grid-template-columns:repeat(4,1fr)}.vis-grid{grid-template-columns:1fr 1fr}.vis-bars{height:180px;gap:5px}}

/* v59: Show / Hide password button inside the field (right edge; left edge in RTL - logical properties flip it) */
.pwwrap{position:relative;display:block}
.pwwrap>.input.pwin{padding-inline-end:100px}
.pweye{position:absolute;inset-inline-end:4px;top:50%;transform:translateY(-50%);min-width:44px;min-height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:12px;background:transparent;color:var(--ink-2);font:600 14px/1 var(--sans);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.pweye:hover{color:var(--ink);background:rgba(20,19,15,.05)}
.pweye:focus-visible{outline:2px solid var(--em,#0a4a35);outline-offset:1px}
.pweye[aria-pressed=true]{color:var(--em,#0a4a35)}
.pweye .pweye-ic{width:20px;height:20px;flex:none}
html[dir=rtl] .pweye{font-family:var(--sans);font-size:15px}
.field>span.pwwrap{display:block;margin:0;font-size:inherit;font-weight:inherit;color:inherit}

/* v59: one-time "Your invitation was posted" card */
.postedbar{position:fixed;left:12px;right:12px;bottom:84px;z-index:60;max-width:520px;margin:0 auto;background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(20,19,15,.16),inset 0 0 0 1px rgba(20,19,15,.06);padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px;animation:pbIn .3s ease}
.postedbar .pb-txt{display:flex;flex-direction:column;gap:2px}.postedbar .pb-txt b{font-size:16px;color:var(--ink)}
.postedbar .pb-btns{display:flex;gap:8px;flex-wrap:wrap}.postedbar .pb-btns .btn{min-height:42px}
.postedbar.pb-out{opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s}
@keyframes pbIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.mbwel{margin:4px 0 0;color:var(--em,#0a4a35);font-weight:600}

/* v59: Member celebration (circles only) */
.mbcel{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,40,30,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:mbcFade .3s ease both}
.mbc-card{position:relative;width:100%;max-width:360px;background:#fffdf8;border-radius:28px;padding:26px 22px 22px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);animation:mbcCard .45s cubic-bezier(.2,.9,.3,1.2) both}
.mbc-stage{position:relative;height:190px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.mbc-medal{position:relative;z-index:2;display:inline-flex;animation:mbcPop .8s cubic-bezier(.18,1.6,.4,1) .15s both}
.medal.md-xl{width:116px;height:116px}
.mbc-ring{position:absolute;left:50%;top:50%;width:118px;height:118px;margin:-59px 0 0 -59px;border-radius:50%;box-shadow:0 0 0 3px rgba(226,193,120,.75),0 0 30px 6px rgba(199,154,50,.35);opacity:0;animation:mbcRing 1.5s ease-out .35s 1 both}
.mbc-ring.r2{animation-delay:.85s}.mbc-ring.r3{animation-delay:1.35s}
.mbc-dot{position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);margin:calc(var(--s)/-2) 0 0 calc(var(--s)/-2);border-radius:50%;background:var(--c);opacity:0;animation:mbcDot 1.4s cubic-bezier(.15,.7,.3,1) calc(.3s + var(--d)) both}
.mbc-t{font:700 24px/1.25 var(--serif,Georgia,serif);color:var(--ink);margin:4px 0 6px}
.mbc-s{color:var(--ink-2);margin:0 0 18px;font-size:15px}
.mbc-close{min-width:140px;min-height:48px}
.mbcel.mbc-out{animation:mbcFadeOut .55s ease both}.mbcel.mbc-out .mbc-medal{animation:mbcSettle .55s ease both}
@keyframes mbcFade{from{opacity:0}to{opacity:1}}@keyframes mbcFadeOut{to{opacity:0}}
@keyframes mbcCard{from{transform:scale(.9);opacity:0}to{transform:none;opacity:1}}
@keyframes mbcPop{0%{transform:scale(.2);opacity:0}55%{transform:scale(1.18);opacity:1}75%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes mbcRing{0%{transform:scale(.8);opacity:0}20%{opacity:.95}100%{transform:scale(1.9);opacity:0}}
@keyframes mbcDot{0%{transform:translate(0,0) scale(.3);opacity:0}15%{opacity:1}80%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(1);opacity:0}}
@keyframes mbcSettle{to{transform:translateY(-160px) scale(.3);opacity:0}}
.medal.md-glow{animation:mdGlow 2.4s ease-in-out infinite}
@keyframes mdGlow{0%,100%{box-shadow:0 0 0 0 rgba(199,154,50,0)}50%{box-shadow:0 0 0 5px rgba(226,193,120,.35),0 0 16px 4px rgba(199,154,50,.35)}}
@media (prefers-reduced-motion:reduce){.mbcel,.mbc-card,.mbc-medal,.mbc-ring,.mbc-dot,.medal.md-glow,.mbcel.mbc-out,.mbcel.mbc-out .mbc-medal{animation:none!important}
  .mbc-ring{opacity:.5;transform:scale(1.25)}.mbc-ring.r2,.mbc-ring.r3{display:none}.mbc-dot{opacity:.9;transform:translate(var(--dx),var(--dy))}}
.medal.md-xl{margin:0;vertical-align:middle}

/* ---------- v59b (Joel, Oct 27 10:40 AM: "all the badges should have the blinking ring") ----------
   Every medal (Member + all eight levels, wherever it shows) gets a soft ROUND glowing ring in its own colour that gently
   blinks on a 2 s cycle. One ::after per medal, animating only opacity + transform (cheap, no JS). Round only: no rays,
   stars, plus signs or lines. Reduce-motion: a still soft ring. Not-yet-earned medals keep their faded look (parent filter). */
.medal{overflow:visible;--mgc:199,154,50;--mgo:3.4px;--mgw:1.6px}
.medal::after{content:"";position:absolute;inset:calc(var(--mgo)*-1);border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 var(--mgw) rgba(var(--mgc),.5),0 0 calc(var(--mgw)*3.5) calc(var(--mgw)*.9) rgba(var(--mgc),.55);
  opacity:.2;transform:scale(.94);animation:mdRing 2s ease-in-out infinite}
@keyframes mdRing{0%,100%{opacity:.2;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}
.lvl .medal{--mgo:4px;--mgw:2.2px}
.medal.md-big{--mgo:6px;--mgw:3px}
.medal.md-xl{--mgo:7px;--mgw:4.5px}
.medal.md-none::after{content:none}
.lvl:not(.got) .medal::after{animation-duration:2.6s}
.medal.md-glow{animation:none}
.medal.md-glow::after{box-shadow:0 0 0 calc(var(--mgw)*1.3) rgba(var(--mgc),.6),0 0 calc(var(--mgw)*6) calc(var(--mgw)*1.6) rgba(var(--mgc),.6);animation-duration:1.6s}
@media (prefers-reduced-motion:reduce){.medal::after,.medal.md-glow::after{animation:none!important;opacity:.6;transform:none}}

/* ===== v60: Hebrew date + parsha, map + directions, Remind me, the family's own invitation page ===== */
.hebline{display:block;font-family:"Frank Ruhl Libre","Frank",serif;font-size:15px;color:var(--gold);margin-top:4px;letter-spacing:.01em}
.mapblock{margin-top:12px}
.mapprev{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line-2);box-shadow:var(--shadow);background:#EEE9DF;height:180px}
.mp-link{position:absolute;inset:0;display:block;overflow:hidden}
.mp-tiles{position:absolute;left:50%;top:0;width:768px;height:180px;margin-left:-384px}
.mp-tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none}
.mp-dot{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#F3DDA4,#B8975F 55%,#82672C);box-shadow:0 0 0 4px rgba(255,253,248,.95),0 4px 12px rgba(27,59,48,.35)}
.mp-dot i{position:absolute;inset:-14px;border-radius:50%;border:2px solid rgba(184,151,95,.6);animation:mpRing 2.4s ease-out infinite}
@keyframes mpRing{0%{transform:scale(.55);opacity:1}100%{transform:scale(1.35);opacity:0}}
@media (prefers-reduced-motion:reduce){.mp-dot i{animation:none;opacity:.6}}
.mp-tag{position:absolute;left:50%;top:calc(50% + 20px);transform:translateX(-50%);background:rgba(27,59,48,.92);color:#F1ECD8;font:600 12px/1 var(--sans);padding:6px 10px;border-radius:999px;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
.mp-attr{position:absolute;right:6px;bottom:5px;font:11px/1.3 var(--sans);color:#333;background:rgba(255,255,255,.85);padding:1px 6px;border-radius:6px;text-decoration:none;z-index:2}
.dir-k{font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 8px}
.dirbtns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.dirbtns .btn{justify-content:center;height:48px;border-radius:14px;font-weight:600;min-width:0;width:100%;padding:0 10px;gap:8px;border:0}
.dirbtns .btn-gm,.dirbtns .btn-gm:visited{color:#F1ECD8!important;background:var(--navy)!important}
.dirbtns .btn-gm .ico{color:#C7AB6A;stroke:#C7AB6A}
.dirbtns .btn-wz,.dirbtns .btn-wz:visited{color:#0B2733!important;background:#33CCFF!important}
.btn-wz .ico{fill:currentColor}
/* Remind me sheet */
.rm-ov{position:fixed;inset:0;z-index:90;background:rgba(20,38,31,.45);display:flex;align-items:flex-end;justify-content:center}
.rm-sheet{width:100%;max-width:520px;max-height:92vh;overflow:auto;background:var(--card);border-radius:24px 24px 0 0;padding:10px 20px calc(18px + env(safe-area-inset-bottom));text-align:center;box-shadow:0 -20px 50px -20px rgba(0,0,0,.35);animation:rise .3s var(--ease) both}
.rm-grab{width:44px;height:5px;border-radius:9px;background:var(--line-2);margin:0 auto 14px}
.rm-medal{width:64px;height:64px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;background:radial-gradient(circle at 35% 35%,#F3DDA4,#C7AB6A 60%,#9C7F43);box-shadow:0 0 0 5px rgba(199,171,106,.22)}
.rm-medal .ico{width:30px;height:30px;color:#1B3B30;stroke:#1B3B30}
.rm-sub{color:var(--ink-2);margin:4px 0 2px}.rm-when{font:600 17px var(--serif);color:var(--navy);margin-bottom:16px;min-height:1em}
.rm-opts{display:grid;gap:10px;margin-bottom:12px;text-align:start}
.rm-opt{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:14px;border:1.5px solid var(--line-2);border-radius:16px;background:#fff;font:inherit;color:inherit;cursor:pointer;width:100%;text-align:start}
.rm-opt>*{flex:none}.rm-opt .rm-t{flex:1;display:flex;flex-direction:column;align-items:flex-start;text-align:start}
.rm-opt.on{border-color:var(--gold-2);background:var(--gold-soft);box-shadow:0 0 0 3px rgba(199,171,106,.22)}
.rm-opt.off{opacity:.55;cursor:default}
.rm-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-2);position:relative;background:#fff}
.rm-opt.on .rm-dot{border-color:var(--gold)}.rm-opt.on .rm-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold)}
.rm-ic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#F1ECD8}
.rm-ic.rm-wa{background:#25D366;color:#fff}
.rm-ic .ico{width:20px;height:20px}
.rm-t small{color:var(--ink-3);font-size:13px;margin-top:2px}
.rm-phone{text-align:start;margin:0 0 12px}
.rm-sheet .form-err{text-align:start}
.rm-close{margin-top:8px}
.act.rm-act.done{border-color:var(--gold-2);background:var(--gold-soft)}
/* the family's own invitation page */
.inv-photo{margin:0;background:#fff;padding:10px;border-radius:8px;box-shadow:0 2px 6px rgba(80,60,20,.08),0 24px 50px -20px rgba(80,60,20,.35)}
.inv-photo img{display:block;width:100%;height:auto;border-radius:3px}
.inv-lockp{display:block;text-align:center;margin-top:12px}
.inv-lockp .ico{display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-inline-end:5px}
.inv-place .lockline{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:14px;color:var(--ink-2)}
.inv-place .lockline .ico{width:16px;height:16px;flex:none}
.inv-head{text-align:center;margin:4px 0 4px}
.inv-fam{font:600 30px/1.15 var(--serif);color:var(--navy);margin:8px 0 6px}
.inv-date{font-weight:600;color:var(--ink)}
.inv-head .hebline{font-size:16px}
.btn-coming{width:100%;margin-top:16px;height:56px;border-radius:999px;border:0;font:600 17px var(--sans);display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#D9BF83,#C7AB6A);color:#1B3B30;box-shadow:0 12px 24px -14px rgba(130,103,44,.8);cursor:pointer}
.btn-coming .ico{width:22px;height:22px}
.btn-coming.on{background:var(--navy);color:#F1ECD8}
.inv-chg{display:block;margin:10px auto 0;font-size:14px}
.inv-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.inv-acts .act{justify-content:center;margin:0}
.inv-place{margin-top:16px}
.ip-hall{display:flex;gap:10px;align-items:flex-start}
.ip-hall>.ico{width:22px;height:22px;flex:none;color:var(--gold);margin-top:2px}
.inv-stats{background:var(--navy);color:#F1ECD8;border-radius:18px;padding:14px 16px;margin:6px 0 16px;box-shadow:0 14px 30px -18px rgba(27,59,48,.8)}
.ist-k{display:flex;align-items:center;gap:8px;font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#C7AB6A}
.ist-k .ico{width:16px;height:16px}
.ist-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;text-align:center}
.ist-g b{display:block;font:600 28px/1 var(--serif);color:#fff}.ist-g span{font-size:12px;opacity:.88}
.ipp{margin-top:18px}
.ipp-thumb{max-width:220px;margin:0 0 12px}.ipp-thumb img{display:block;width:100%;border-radius:8px;border:1px solid var(--line)}
.ipp-btns{display:flex;flex-wrap:wrap;gap:8px}
.ipp-pick{position:relative;cursor:pointer}
.ipp-note{display:flex;gap:6px;align-items:flex-start;margin-top:12px}.ipp-note .ico{width:16px;height:16px;flex:none;margin-top:2px}
@media (min-width:900px){.inv-page>.inv-stats{grid-column:1/-1}}
.inv-rsvp,.inv-place,#ipp{scroll-margin-top:96px}

/* ---------- v61: contact card (Questions & comments? Email us) + Continue with Google ---------- */
.contact-cta{display:flex;align-items:center;gap:14px;margin:44px auto 0;max-width:560px;padding:14px 16px;background:var(--card,#fff);border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(20,19,15,.04)}
.contact-cta:hover{border-color:var(--gold-2)}
.contact-cta .cc-ic{width:42px;height:42px;border-radius:50%;background:var(--gold-soft);color:var(--gold);display:grid;place-items:center;flex:none}
.contact-cta .cc-ic .ico{width:21px;height:21px}
.contact-cta .cc-tx{min-width:0;flex:1}
.contact-cta .cc-tx b{display:block;font-weight:600;font-size:16px;line-height:1.25}
.contact-cta .cc-tx small{display:block;color:var(--ink-3);font-size:14px;margin-top:2px}
.contact-cta .cc-go{flex:none;padding:9px 15px;border-radius:999px;background:var(--navy);color:#fff;font-size:14px;font-weight:600;white-space:nowrap}
.contact-cta + .footer{margin-top:22px}
@media (max-width:360px){.contact-cta .cc-go{padding:8px 11px;font-size:13px}}
.gsi-block{margin:2px 0 18px}
.gsi-btn{display:flex;justify-content:center;min-height:44px}
.or-div{display:flex;align-items:center;gap:12px;margin:18px 0 0;color:var(--ink-3);font-size:14px}
.or-div::before,.or-div::after{content:"";flex:1;height:1px;background:var(--line-2)}

/* v61b: legal links */
.gsi-legal{margin:10px 0 0;text-align:center;color:var(--ink-3);font-size:12.5px;line-height:1.45}
.gsi-legal a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}
.footer .legal-links{font-size:13px}
.footer .legal-links a{color:var(--ink-3)}

/* v62: two-sided claims (round dots only) */
.kopt.dis{opacity:.55;cursor:not-allowed}
.clsides{margin:4px 0 10px}
.cltog{display:flex;align-items:center;gap:10px;flex-direction:row;font-weight:500}
.cltog input{width:18px;height:18px;accent-color:var(--navy)}
.mtto>span{display:block;font-weight:600;margin-bottom:8px}
.mttag{display:inline-block;margin-inline-start:8px;font-size:12px;font-weight:600;color:var(--gold);background:var(--gold-soft);border-radius:999px;padding:2px 9px}
.mtside{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--gold-soft)}
.mtside .btn-row{margin-top:8px}
.clmpanel{margin:12px 0 4px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.clmlist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.clm{display:flex;align-items:flex-start;gap:10px}
.clm-dot{width:12px;height:12px;border-radius:50%;background:var(--gold);flex:none;margin-top:5px;box-shadow:0 0 0 3px var(--gold-soft)}
.clm-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.clm-tx span{color:var(--ink-2);font-size:14px}
.clm-tx .btn{align-self:flex-start;margin-top:6px}
.pbywrap .clmpanel{border:0;padding:0;margin:4px 0 0;background:none}
.clm-tx bdi{overflow-wrap:anywhere}

/* v63: sign-ups editor */
.su-card{padding:14px 16px}
.su-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.su-row{display:flex;gap:10px;padding:4px 0;border-top:1px solid var(--line,rgba(0,0,0,.06));font-size:15px}
.su-row span{min-width:90px;color:var(--muted,#6b6b6b)}
.su-row b{font-weight:600;word-break:break-word}
.su-card [data-suedit]{margin-top:10px}
.su-ed .su-edit{margin-top:10px}
.su-edrow td{background:var(--sage-soft,#f3f6f2)}
.su-edrow .su-edit{width:min(520px,calc(100vw - 76px));padding:8px 0;position:sticky;left:12px}
.su-card.editing .su-row{display:none}

/* v64: verify your email (My sign-ups) */
.ev-panel{margin:0 0 14px;padding:14px 16px;background:var(--gold-soft);border:1px solid var(--line-2)}
.ev-panel[hidden]{display:none}
.ev-head{display:flex;gap:10px;align-items:flex-start}
.ev-head .ico{flex:0 0 22px;width:22px;height:22px;margin-top:2px;color:var(--gold)}
.ev-head b{color:var(--ink);font-size:16px;line-height:1.35}
.ev-head p{margin:4px 0 10px}
.ev-form{display:flex;gap:8px;margin:2px 0 8px}
.ev-form input{flex:1;min-width:0;font-size:22px;letter-spacing:4px;text-align:center;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font-variant-numeric:tabular-nums}
.ev-panel .form-err{margin:6px 0 8px}
.ev-ok{text-align:center}
.ev-ok .ico{width:34px;height:34px;color:var(--sage)}
.ev-fail{color:var(--rose);margin:4px 0 0}
.ev-ok .ico{display:block;margin:0 auto 8px}

/* v65: two photo buttons — "Take a photo" (camera) and "Choose from phone" — side by side, stacked on very narrow screens */
.pick2{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.pick2>.btn{position:relative;cursor:pointer;min-width:0;padding:8px 12px;white-space:normal;line-height:1.2;text-align:center;width:100%}
.pick2>.btn>span{min-width:0}
.pick2-adm>.btn{flex-direction:column;gap:6px;min-height:86px;font-size:17px}
.ipp-btns .pick2{flex:1 1 100%}
@media (max-width:340px){.pick2{grid-template-columns:1fr}.pick2-adm>.btn{flex-direction:row;min-height:60px}}

/* v66: the Motzei Shabbos / Motzei Yom Tov header is cream now (see .erev-head !important above), so its zmanim use the same dark-on-cream colours as the שבת קודש header */
.erev-motz .erev-z{color:var(--ink-2)}
.erev-motz .erev-z b{color:var(--gold)}
.erev-motz .erev-z .zs{color:var(--gold-2)}
.erev-motz .zchip{background:var(--gold-soft);border-color:#E4D3B1;color:var(--ink-2)}
.erev-motz .zchip .zcv{color:var(--gold)}
