/* דפי הלקוחה: דף עסק, הזמנת תור, ניהול תור, התורים שלי, שאלון (Landrick Landing). נטען ב-_PublicLayout. */
/* ---------- Public business page ---------- */
.biz-hero { background: linear-gradient(180deg, #f8f9fa, #fff); padding-block: 2rem 1.5rem; }
.biz-id { display: flex; gap: 1rem; align-items: center; }
.biz-logo { width: 76px; height: 76px; border-radius: 22px; background: var(--bs-primary); color: #fff; display: grid; place-items: center; font-size: 1.8rem; font-weight: 800; flex: none; }
.biz-id h1 { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.2rem); margin: 0; }
.biz-id p { margin: .15rem 0 0; color: var(--bk-muted); }
.biz-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1.25rem; }
.biz-section { padding-block: 1.5rem; }
.svc-list { list-style: none; padding: 0; margin: 0; }
.svc-item { display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; padding: 1rem 0; border-bottom: 1px solid var(--bk-border); align-items: center; }
.svc-item:last-child { border-bottom: 0; }
.svc-item h3 { font-size: 1.05rem; margin: 0; }
.svc-item .meta { color: var(--bk-muted); font-size: .92rem; }
.svc-item .price { font-weight: 800; white-space: nowrap; }
.hours-table { width: 100%; border-collapse: collapse; }
.hours-table td { padding: .45rem 0; border-bottom: 1px dashed var(--bk-border); }
.hours-table tr.today td { font-weight: 800; color: var(--bs-primary); }
.hours-table td:last-child { text-align: end; font-variant-numeric: tabular-nums; }
.my-next { border: 2px solid var(--bs-primary); }
.public-top { position: sticky; top: 0; z-index: 100; padding-block: .6rem; }
.public-foot { border-top: 1px solid var(--bk-border); padding-block: 1.5rem 2rem; margin-top: 2rem; font-size: .88rem; color: var(--bk-muted); background: #fff; }
.public-foot a { color: var(--bk-muted); }

/* booking flow */
.book-shell { max-width: 680px; margin-inline: auto; padding: 1rem 1rem 7rem; }
.book-top { display: flex; align-items: center; gap: .5rem; padding-block: .75rem; }
.book-step h2 { font-size: 1.35rem; margin-bottom: 1rem; }
.pick { display: grid; gap: .6rem; }
.pick button, .pick a { display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; text-align: start; padding: 1rem 1.1rem; border: 1.5px solid var(--bk-border); border-radius: var(--bk-radius); background: #fff; font: inherit; color: var(--bk-dark); cursor: pointer; min-height: 64px; align-items: center; text-decoration: none; }
.pick button:hover, .pick a:hover { border-color: var(--bs-primary); }
.pick button[aria-pressed=true] { border-color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .08); box-shadow: inset 0 0 0 1px var(--bs-primary); }
.pick .t { font-weight: 700; font-size: 1.05rem; }
.pick .m { color: var(--bk-muted); font-size: .92rem; }
.pick .p { font-weight: 800; grid-row: 1 / span 2; grid-column: 2; }
.period-h { font-size: .92rem; font-weight: 800; color: var(--bk-muted); margin: 1rem 0 .5rem; display: flex; gap: .4rem; align-items: center; }
.summary { background: #f8f9fa; border-radius: var(--bk-radius); padding: 1rem 1.1rem; }
.summary dl { margin: 0; }
.timer { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--c-warning); font-variant-numeric: tabular-nums; }
.book-foot { position: fixed; bottom: 0; inset-inline: 0; background: #fff; border-top: 1px solid var(--bk-border); padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom)); z-index: 30; }
.book-foot .in { max-width: 680px; margin-inline: auto; display: flex; gap: .75rem; align-items: center; }
.otp-input { font-size: 1.6rem !important; letter-spacing: .5em; text-align: center !important; font-variant-numeric: tabular-nums; direction: ltr; }
.success-mark { width: 84px; height: 84px; border-radius: 50%; background: var(--c-success-soft); color: var(--c-success); display: grid; place-items: center; margin: 1rem auto; }
.success-mark .ic { width: 44px; height: 44px; }
.qr svg { width: 180px; height: 180px; background: #fff; padding: 8px; border-radius: 12px; }

/* ---------- דפי לקוחה והזדהות (Landrick Landing) ----------
   קובץ זמני: הרכזת ממזגת אותו ל-app.css. מחליף את בלוק "דפי עסק"/"הזמנה" הישן
   (.biz-hero, .biz-actions, .biz-section, .svc-list, .svc-item, .card.soft) שכבר לא בשימוש בדפים. */

/* מעטפת משותפת לדפים צרים (תור, התורים שלי, שאלון) */
.pub-page { padding-block: 1.75rem 3rem; }
.pub-col { max-width: 720px; margin-inline: auto; }
.pub-h1 { font-size: clamp(1.5rem, 1.25rem + 1vw, 1.9rem); font-weight: 700; }
.pub-actions .btn { flex: 1 1 auto; }
@media (min-width: 576px) { .pub-actions .btn { flex: 0 0 auto; } }
.pub-attention { border-inline-start: 4px solid var(--bs-warning) !important; }
.success-mark.is-pending { background: rgba(var(--bs-warning-rgb), .12); color: #a8500f; }
.list-item-btn { width: 100%; border: 0; font: inherit; cursor: pointer; text-align: start; }
.list-item-btn:hover { background: var(--bk-soft); }

/* ---------- דף העסק: כרטיס ביקור פרימיום, מובייל קודם ---------- */
.biz-cover { height: 132px; background:
    radial-gradient(circle at 15% 20%, rgba(255, 255, 255, .18) 0 18%, transparent 19%),
    radial-gradient(circle at 85% 90%, rgba(255, 255, 255, .12) 0 22%, transparent 23%),
    linear-gradient(135deg, var(--bs-primary), rgba(var(--bs-primary-rgb), .65)); }
@media (min-width: 768px) { .biz-cover { height: 190px; } }
.biz-page { max-width: 1080px; padding-bottom: 2rem; }
.biz-card { margin-top: -72px; position: relative; }
.biz-id { display: flex; gap: 1rem; align-items: center; }
.biz-logo { width: 84px; height: 84px; border-radius: 24px; background: var(--bs-primary); color: #fff; display: grid; place-items: center; font-size: 2rem; font-weight: 800; flex: none; border: 4px solid #fff; box-shadow: 0 6px 18px rgba(var(--bs-primary-rgb), .3); margin-top: -2.75rem; align-self: flex-start; }
.biz-id h1 { font-size: clamp(1.45rem, 1.15rem + 1.4vw, 2.1rem); font-weight: 700; margin: 0; line-height: 1.25; }
.biz-tagline { color: var(--bk-muted); margin: .25rem 0 0; font-size: 1.02rem; }
.biz-meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin-top: .5rem; color: var(--bk-muted); font-size: .92rem; }
.biz-meta li { display: inline-flex; align-items: center; gap: .3rem; }
.biz-meta a { color: inherit; }
@media (max-width: 575.98px) {
  .biz-id { flex-direction: column; align-items: center; text-align: center; }
  .biz-logo { align-self: center; }
  .biz-meta { justify-content: center; }
}
/* פעולות מהירות: אריחים עגולים כמו features של הטמפלט */
.biz-quick { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: .5rem; border-top: 1px solid var(--bk-border); padding-top: 1.25rem; }
.biz-quick a, .biz-quick button { display: flex; flex-direction: column; align-items: center; gap: .4rem; width: 100%; min-height: 84px; padding: .5rem .25rem; border: 0; background: none; border-radius: var(--bk-radius); color: var(--bk-dark); font: inherit; font-size: .82rem; font-weight: 600; text-align: center; line-height: 1.25; text-decoration: none; cursor: pointer; transition: background .15s; }
.biz-quick a:hover, .biz-quick button:hover { background: var(--bk-soft); color: var(--bs-primary); }
.biz-quick .icon-soft { transition: all .2s; }
.biz-quick a:hover .icon-soft, .biz-quick button:hover .icon-soft { background: var(--bs-primary); color: #fff; }
.biz-h2 { font-size: 1.3rem; font-weight: 700; margin: .25rem 0 1rem; }
.biz-cat { font-size: .95rem; font-weight: 700; color: var(--bk-muted); margin: 0 0 .6rem; }
.biz-about { white-space: pre-line; }
@media (min-width: 992px) { .biz-aside { position: sticky; top: 76px; } }
.biz-next { border-inline-start: 4px solid var(--bs-primary) !important; }
/* טיפולים ומחירים */
.svc-card { overflow: hidden; }
.svc-row { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid var(--bk-border); transition: background .15s; }
.svc-row:last-child { border-bottom: 0; }
.svc-row:hover { background: rgba(var(--bs-primary-rgb), .03); }
.svc-name { font-size: 1.05rem; font-weight: 700; margin: 0 0 .2rem; }
.svc-name a { color: var(--bk-dark); text-decoration: none; }
.svc-name a:hover { color: var(--bs-primary); }
.svc-meta { display: inline-flex; align-items: center; gap: .3rem; color: var(--bk-muted); font-size: .88rem; }
.svc-desc { color: var(--bk-muted); font-size: .9rem; margin: .3rem 0 0; }
.svc-side { display: flex; flex-direction: column; align-items: flex-end; gap: .4rem; flex: none; }
.svc-price { font-weight: 800; color: var(--bs-primary); white-space: nowrap; }
.hours-table th { font-weight: 400; padding: .45rem 0; border-bottom: 1px dashed var(--bk-border); text-align: start; }
.hours-table tr:last-child th, .hours-table tr:last-child td { border-bottom: 0; }
.hours-table tr.today th { font-weight: 800; color: var(--bs-primary); }
.biz-access li { display: flex; align-items: center; gap: .4rem; padding-block: .2rem; }
.biz-access li.yes .ic { color: var(--bs-success); }
.biz-access li.no .ic { color: var(--bk-muted); }
.qr img { width: 180px; height: 180px; background: #fff; padding: 8px; border-radius: 12px; box-shadow: 0 0 3px rgba(60, 72, 88, .15); }
.sticky-cta .btn { box-shadow: 0 6px 16px rgba(var(--bs-primary-rgb), .3); }

/* ---------- מסע ההזמנה: שלב אחד במסך, סרגל תחתון קבוע ---------- */
.book-shell { padding-top: 0; }
.book-top { position: sticky; top: 0; z-index: 20; background: #f8f9fa; margin-inline: -1rem; padding: .75rem 1rem; }
.book-top .timer { background: rgba(var(--bs-warning-rgb), .14); color: #8a440e; padding: .35rem .8rem; border-radius: 50rem; font-size: .92rem; white-space: nowrap; }
.book-step h2 { font-size: clamp(1.35rem, 1.2rem + .6vw, 1.6rem); font-weight: 700; margin-bottom: .35rem; }
.book-sub { margin-bottom: 1.1rem; }
.book-step > h2 + .pick, .book-step > h2 + .summary { margin-top: 1rem; }
/* התקדמות: נגזרת מהשלב הגלוי (בלי JS נוסף). הכותרת הממוקדת של כל שלב היא המידע הנגיש. */
.book-progress { display: flex; gap: .5rem; list-style: none; padding: 0; margin: .25rem 0 1.5rem; counter-reset: none; }
.book-progress li { flex: 1 1 0; display: flex; flex-direction: column; gap: .4rem; font-size: .82rem; color: var(--bk-muted); }
.book-progress li::before { content: ""; height: 5px; border-radius: 3px; background: var(--bk-border); transition: background .25s; }
.book-progress .n { display: none; }
#book:has(#step-service:not([hidden])) .book-progress li:nth-child(1),
#book:has(#step-staff:not([hidden])) .book-progress li:nth-child(1),
#book:has(#step-time:not([hidden])) .book-progress li:nth-child(2),
#book:has(#step-details:not([hidden])) .book-progress li:nth-child(3) { color: var(--bk-dark); font-weight: 700; }
#book:has(#step-service:not([hidden])) .book-progress li:nth-child(1)::before,
#book:has(#step-staff:not([hidden])) .book-progress li:nth-child(1)::before,
#book:has(#step-time:not([hidden])) .book-progress li:nth-child(-n+2)::before,
#book:has(#step-details:not([hidden])) .book-progress li:nth-child(-n+3)::before,
#book:has(#step-done:not([hidden])) .book-progress li::before { background: var(--bs-primary); }
/* בחירות גדולות ונוחות למגע */
.pick { gap: .75rem; }
.pick button, .pick a { border: 1px solid var(--bk-border); border-radius: 12px; min-height: 72px; padding: 1rem 1.15rem; box-shadow: 0 3px 8px rgba(60, 72, 88, .06); transition: border-color .15s, box-shadow .15s, transform .15s; }
.pick button:hover, .pick a:hover { border-color: rgba(var(--bs-primary-rgb), .45); box-shadow: 0 6px 16px rgba(60, 72, 88, .1); transform: translateY(-1px); }
.pick button[aria-pressed=true] { border-color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .07); box-shadow: inset 0 0 0 1px var(--bs-primary), 0 6px 16px rgba(var(--bs-primary-rgb), .15); }
.pick .p { color: var(--bs-primary); font-size: 1.02rem; }
.summary { background: #fff; box-shadow: 0 0 3px rgba(60, 72, 88, .15); border-inline-start: 4px solid var(--bs-primary); }
.book-policy { background: #f8f9fa; border: 1px solid var(--bk-border); }
.book-foot { box-shadow: 0 -4px 16px rgba(32, 41, 66, .08); border-top: 0; }
.book-foot .btn-lg { border-radius: 50rem; }
.otp-input { min-height: 56px; }
#demo-code .ltr { letter-spacing: .15em; }

