:root{
  --bg:#faf5ee; --card:#ffffff; --ink:#2b1d22; --muted:#6f5d63;
  --plum:#5b2a3a; --plum-2:#7a3a4f; --gold:#b8893b; --gold-soft:#f3e7cf;
  --free:#2f7d5b; --free-bg:#e6f3ec; --partial:#b8893b; --partial-bg:#fbf1dd;
  --full:#a9a1a3; --line:#eadfd3; --err:#b3261e;
  --r:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI","Noto Sans Hebrew","Arial Hebrew",Arial,sans-serif;
  font-size:17px;line-height:1.5}
[hidden]{display:none!important}
button,input{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

.demo-bar{background:var(--gold-soft);color:#6b4d16;text-align:center;font-size:13px;padding:6px 12px}

.hero{background:radial-gradient(120% 140% at 50% 0%,var(--plum-2) 0%,var(--plum) 60%,#3e1b27 100%);
  color:#fff;text-align:center;padding:34px 20px 54px}
.hero-inner{max-width:560px;margin:0 auto}
.eyebrow{margin:0 0 4px;color:#e9cf9c;letter-spacing:.04em;font-size:14px}
.hero h1{margin:0;font-size:clamp(32px,9vw,46px);line-height:1.15;font-weight:800;letter-spacing:-.01em}
.hero h1::after{content:"";display:block;width:56px;height:3px;border-radius:2px;background:var(--gold);margin:14px auto 0}
.sub{margin:12px 0 0;font-size:19px;color:#f6ead8}

main{max-width:560px;margin:-30px auto 0;padding:0 14px 24px;position:relative}
.card{background:var(--card);border-radius:var(--r);padding:18px 16px 20px;margin-bottom:14px;
  box-shadow:0 1px 2px rgba(60,30,40,.06),0 8px 24px rgba(60,30,40,.07);border:1px solid var(--line)}
h2{margin:0 0 14px;font-size:20px;display:flex;align-items:center;gap:10px}
.num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:var(--plum);color:#fff;font-size:15px;font-weight:700;flex:none}

.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.month{font-weight:700;font-size:18px}
.nav{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--plum);display:grid;place-items:center;padding:0}
.nav:disabled{opacity:.3;cursor:default}
.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.weekdays span{text-align:center;font-size:13px;color:var(--muted);padding:4px 0}
.day{min-height:50px;border-radius:10px;border:1px solid transparent;background:none;
  font-size:16px;font-weight:600;cursor:pointer;position:relative;padding:4px 1px 5px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1px;line-height:1.1;min-width:0}
/* תאריך עברי ופרשה בתוך כל יום */
.day .g{font-size:16px;line-height:1.15}
.day .h{display:flex;flex-direction:column;align-items:center;font-size:10.5px;font-weight:500;opacity:.85;white-space:nowrap;max-width:100%;overflow:hidden;line-height:1.1}
.day .hm{font-size:9px;letter-spacing:-.2px}
.day .par{font-size:9.5px;font-weight:700;color:var(--plum-2);line-height:1.1;text-align:center;max-width:100%;overflow-wrap:anywhere}
.day.full .g{text-decoration:line-through}
.day.past .par{color:inherit}
.day.selected .par{color:#f3dcae}
.month{display:flex;flex-direction:column;align-items:center;line-height:1.25}
.m-heb{font-size:14px;font-weight:600;color:var(--gold);margin-top:2px}
.day.empty{visibility:hidden}
.day.free{background:var(--free-bg);color:#1f5a40}
.day.partial{background:var(--partial-bg);color:#7a5714}
.day.partial::after{content:"";position:absolute;top:4px;inset-inline-start:3px;width:4px;height:4px;border-radius:50%;background:var(--partial)}
.day.full{background:#f2eeee;color:var(--full);cursor:not-allowed}
.day.past{color:#cfc6c8;cursor:default}
.day.today{border-color:var(--plum)}
.day.selected{background:var(--plum)!important;color:#fff!important;border-color:var(--plum)}
.day.selected::after{background:#fff}
.legend{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:12px;font-size:13px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.dot{display:inline-block;width:12px;height:12px;border-radius:4px}
.dot.free{background:var(--free-bg);border:1px solid #9fd0b8}
.dot.partial{background:var(--partial-bg);border:1px solid #e3c487}
.dot.full{background:#f2eeee;border:1px solid #d9d2d3}

.chosen-date{margin:-6px 0 12px;color:var(--muted)}
.slots{display:grid;gap:10px}
.slot{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name price" "state price";
  text-align:start;padding:14px 16px;border-radius:14px;border:1.5px solid var(--line);background:#fff;cursor:pointer;min-height:64px}
.slot-name{grid-area:name;font-weight:700;font-size:18px}
.slot-state{grid-area:state;font-size:14px;color:var(--free)}
.slot-price{grid-area:price;align-self:center;font-weight:800;font-size:20px;color:var(--plum)}
.slot:hover:not(:disabled){border-color:var(--gold)}
.slot.selected{border-color:var(--plum);background:#fbf4f6;box-shadow:0 0 0 2px var(--plum) inset}
.slot.off{background:#f7f4f4;cursor:not-allowed;border-style:dashed}
.slot.off .slot-name,.slot.off .slot-price{color:#a59c9e}
.slot.off .slot-price{text-decoration:line-through}
.slot.off .slot-state{color:#8a7f82}

.summary{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--gold-soft);
  border-radius:12px;padding:10px 14px;margin-bottom:16px;font-size:15px}
.summary strong{font-size:18px;color:var(--plum);white-space:nowrap}
.field{display:block;margin-bottom:14px}
.field>span{display:block;font-weight:600;margin-bottom:6px;font-size:15px}
.field input{width:100%;height:50px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;font-size:17px}
.field input[dir="ltr"]{text-align:right}
.field input:focus{border-color:var(--plum);outline:none;box-shadow:0 0 0 3px rgba(91,42,58,.15)}
.field input[aria-invalid="true"]{border-color:var(--err)}
.err{display:block;color:var(--err);font-size:14px;min-height:0;margin-top:4px}
.err:empty{display:none}
.primary{width:100%;height:54px;border:0;border-radius:14px;background:var(--plum);color:#fff;font-weight:700;font-size:18px;cursor:pointer;margin-top:4px}
.primary:disabled{opacity:.7}
.fine{margin:10px 0 0;text-align:center;font-size:14px;color:var(--muted)}
.form-err{text-align:center}

.done{text-align:center;padding:32px 20px}
.done h2{justify-content:center;font-size:24px}
.check{width:64px;height:64px;border-radius:50%;background:var(--free-bg);color:var(--free);font-size:34px;font-weight:800;display:grid;place-items:center;margin:0 auto 12px}
.done p{margin:6px 0}
.done-meta strong{display:block;font-size:20px}
.done-meta{display:inline-block;background:var(--gold-soft);border-radius:10px;padding:8px 14px;font-weight:600;color:var(--plum)}
.ghost{margin-top:18px;height:46px;padding:0 20px;border-radius:12px;border:1.5px solid var(--plum);background:#fff;color:var(--plum);font-weight:700;cursor:pointer}

.cal-tip{margin:10px 0 0;text-align:center;font-size:13px;color:var(--plum);font-weight:600}
.shabbat{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);scroll-margin-top:12px}
.shabbat-head{margin:0 0 10px;font-size:18px;color:var(--plum);display:flex;align-items:center;gap:6px}
.notice{background:#fbf6ea;border:1px solid #ecd9b0;border-inline-start:4px solid var(--gold);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:15px;color:#5a4320}
.notice strong{display:block;margin-bottom:2px;color:#6b4d16}
.notice ul{margin:0;padding-inline-start:18px}
.notice li{margin:2px 0}
.slot-note{font-weight:500;font-size:14px;color:var(--muted)}
.shabbat-fine{margin:10px 0 0;font-size:13px;color:var(--muted);text-align:center}
.foot{text-align:center;color:var(--muted);font-size:13px;padding:6px 0 28px}
.foot p{margin:0}

@media (min-width:700px){
  .hero{padding:48px 20px 70px}
  main{margin-top:-40px}
  .card{padding:22px 24px 24px}
}

.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;border:0;padding:0;margin:0}
.opt{font-weight:400;opacity:.7;font-size:.85em}
.cash-note{background:#fff7e6;border:1px solid #e9cf95;border-radius:12px;padding:10px 12px;margin:14px 0 4px;font-size:.95rem;line-height:1.5}
.status-msg{margin:10px 0 0;color:#8a5a00;font-size:.9rem}

/* ביטול הזמנה */
.hero-cancel{display:inline-block;margin-top:14px;color:#f3dcae;font-size:15px;text-decoration:underline;text-underline-offset:3px;padding:6px 10px}
.hero-cancel:hover{color:#fff}
.hero-sm{padding:26px 20px 48px}
.hero-sm h1{font-size:clamp(28px,8vw,38px)}
.lead{margin:-6px 0 14px;color:var(--muted);font-size:15px}
.field input[type="date"]{text-align:right;-webkit-appearance:none;appearance:none;min-height:50px}
.primary.danger{background:var(--err);margin-top:14px}
#pick-card .ghost{width:100%;margin-top:10px}
#pick-card .slot{grid-template-columns:1fr;grid-template-areas:"name" "state"}
.btn-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.back-home{margin-top:6px}
.back-home a{color:var(--plum)}

/* פרשה ותאריך עברי בכרטיס המועד */
#shabbat-title .sh-par{display:block;font-size:15px;font-weight:600;color:var(--gold);margin-top:2px}
.heb-date{white-space:nowrap}
