/* Zibaline Booking – matches Zibaline Design (navy/cream/gold), RTL, mobile-first */
.zb-app{--zb-navy:var(--navy,#1e2235);--zb-gold:var(--gold,#c99a5b);--zb-cream:var(--cream,#f6f2ee);--zb-line:var(--line,#ebe7e2);--zb-muted:var(--muted,#7b7f8f);direction:rtl;font-family:inherit;max-width:880px;margin:0 auto;color:var(--zb-navy)}
.zb-app *{box-sizing:border-box}
.zb-app.is-busy{opacity:.6;pointer-events:none}
.zb-page .zd-entry>h1{display:none}.zb-page .zd-entry{background:transparent;box-shadow:none;padding:0}
.zb-card,.zb-box{background:#fff;border-radius:18px;box-shadow:0 6px 24px rgba(30,34,53,.07);padding:18px}
.zb-steps{list-style:none;display:flex;gap:6px;margin:0 0 16px;padding:0;overflow-x:auto}
.zb-steps li{flex:1;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11.5px;color:var(--zb-muted);position:relative}
.zb-steps li span{width:28px;height:28px;border-radius:50%;background:var(--zb-cream);display:flex;align-items:center;justify-content:center;font-weight:700}
.zb-steps li.is-cur{color:var(--zb-navy);font-weight:700}.zb-steps li.is-cur span{background:var(--zb-navy);color:#fff}
.zb-steps li.is-done span{background:var(--zb-gold);color:#fff}
.zb-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.zb-head h2{font-size:18px;margin:0}
.zb-back{border:1px solid var(--zb-line);background:#fff;border-radius:50%;width:36px;height:36px;cursor:pointer;font-size:18px;flex:none}
.zb-msg{background:#fdecec;color:#a12626;border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:13.5px}.zb-msg.is-ok{background:#eaf6ee;color:#1a6b34}
.zb-loading,.zb-empty,.zb-hint{color:var(--zb-muted);font-size:13px;text-align:center;padding:10px}
.zb-hint{text-align:right;padding:6px 0 0}
.zb-flow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.zb-flow button{border:2px solid var(--zb-line);background:#fff;border-radius:14px;padding:12px;text-align:right;cursor:pointer;font-family:inherit;color:inherit}
.zb-flow button b{display:block;font-size:14.5px}.zb-flow button small{color:var(--zb-muted);font-size:12px}
.zb-flow button.is-on{border-color:var(--zb-gold);background:#fffaf3}
.zb-search input,.zb-form input,.zb-form textarea{width:100%;border:1px solid var(--zb-line);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:15px;background:#fbf9f7}
.zb-search{margin-bottom:10px}
.zb-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:12px}
.zb-chips button{flex:none;border:1px solid var(--zb-line);background:#fff;border-radius:30px;padding:7px 16px;font-family:inherit;cursor:pointer;color:inherit}
.zb-chips button.is-on{background:var(--zb-navy);color:#fff;border-color:var(--zb-navy)}
.zb-svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.zb-svc{display:flex;flex-direction:column;border:1px solid var(--zb-line);border-radius:14px;overflow:hidden;background:#fff;cursor:pointer;padding:0;font-family:inherit;text-align:right;color:inherit;transition:.15s}
.zb-svc:hover{border-color:var(--zb-gold);transform:translateY(-2px)}
.zb-svc img{width:100%;aspect-ratio:1.6;object-fit:cover}
.zb-svc span{padding:8px 10px}.zb-svc b{display:block;font-size:14px}.zb-svc small{color:var(--zb-gold);font-size:12px}
.zb-summary{list-style:none;margin:0 0 14px;padding:10px 14px;background:var(--zb-cream);border-radius:12px;display:grid;gap:4px}
.zb-summary li{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}.zb-summary span{color:var(--zb-muted)}
.zb-docs{display:grid;gap:10px}
.zb-doc{display:flex;align-items:center;gap:12px;border:1px solid var(--zb-line);border-radius:14px;background:#fff;padding:10px;cursor:pointer;font-family:inherit;text-align:right;color:inherit;width:100%}
.zb-doc:hover{border-color:var(--zb-gold)}.zb-doc.is-static{cursor:default;border:0;padding:0 0 8px}
.zb-doc img,.zb-avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:top;flex:none;background:var(--zb-cream);display:flex;align-items:center;justify-content:center;color:var(--zb-gold);font-weight:700;font-size:20px}
.zb-doc b{display:block}.zb-doc small{color:var(--zb-muted);font-size:12.5px}
.zb-doc-any{background:#fffaf3;border-style:dashed}
.zb-doc-slots{border:1px solid var(--zb-line);border-radius:14px;padding:12px;margin-bottom:10px}
.zb-cal{border:1px solid var(--zb-line);border-radius:16px;padding:12px;position:relative}
.zb-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.zb-cal-head b{font-size:16px}
.zb-cal-head button{width:36px;height:36px;border-radius:50%;border:1px solid var(--zb-line);background:#fff;cursor:pointer;font-size:20px;line-height:1}
.zb-cal-head button:disabled{opacity:.3;cursor:default}
.zb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.zb-wd{font-size:12px;color:var(--zb-muted);padding:4px 0}
.zb-day{aspect-ratio:1;border:0;border-radius:10px;background:transparent;font-family:inherit;font-size:14px;color:#c4c6cf;cursor:default}
.zb-day.is-ok{background:var(--zb-cream);color:var(--zb-navy);font-weight:700;cursor:pointer}
.zb-day.is-ok:hover{background:var(--zb-gold);color:#fff}
.zb-day.is-fri{color:#e2a3a3}
.zb-day.is-today{box-shadow:inset 0 0 0 2px var(--zb-gold)}
.zb-day.is-sel{background:var(--zb-navy)!important;color:#fff!important}
.zb-cal-loading{position:absolute;inset:0;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-size:24px;border-radius:16px}
.zb-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.zb-slot{border:1px solid var(--zb-line);background:#fff;border-radius:10px;padding:10px 0;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;color:inherit}
.zb-slot:hover{background:var(--zb-navy);color:#fff;border-color:var(--zb-navy)}
.zb-form{display:grid;gap:12px}
.zb-form label{display:grid;gap:6px;font-weight:600;font-size:13.5px}
.zb-code{letter-spacing:8px;text-align:center;font-size:22px!important;font-weight:700}
.zb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--zb-navy);color:#fff!important;border:0;border-radius:12px;padding:13px 22px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none}
.zb-btn:hover{opacity:.92}.zb-btn-ghost{background:#fff;color:var(--zb-navy)!important;border:1px solid var(--zb-line)}
.zb-link{background:none;border:0;color:var(--zb-gold);cursor:pointer;font-family:inherit;padding:0;text-decoration:underline}.zb-link:disabled{color:var(--zb-muted);text-decoration:none;cursor:default}
.zb-danger{color:#b32d2e}
.zb-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.zb-done{text-align:center}.zb-done .zb-summary{text-align:right}.zb-done .zb-actions{justify-content:center}
.zb-check{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:#eaf6ee;color:#1a7f37;font-size:34px;display:flex;align-items:center;justify-content:center}
.zb-my-top{justify-content:space-between;margin-bottom:14px}
.zb-my{display:grid;gap:10px}
.zb-appt{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;border:1px solid var(--zb-line);border-radius:14px;padding:12px 14px}
.zb-appt>div{flex:1;min-width:200px}.zb-appt small{display:block;color:var(--zb-muted);margin-top:3px}
.zb-badge{background:var(--zb-cream);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700}
.zb-appt.is-confirmed .zb-badge{background:#eaf6ee;color:#1a7f37}.zb-appt.is-cancelled{opacity:.6}.zb-appt.is-cancelled .zb-badge{background:#fdecec;color:#a12626}
@media(min-width:640px){.zb-card{padding:26px 30px}.zb-svc-grid{grid-template-columns:repeat(3,1fr)}.zb-slots{grid-template-columns:repeat(6,1fr)}.zb-head h2{font-size:21px}.zb-docs{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.zb-svc-grid{grid-template-columns:repeat(4,1fr)}}

.zb-clinic{display:flex;align-items:center;gap:14px;background:var(--zb-navy,#1e2a4a);color:#fff;border-radius:18px;padding:14px 16px;margin-bottom:14px;box-shadow:0 8px 24px rgba(30,42,74,.18)}
.zb-clinic img,.zb-clinic-ico{width:56px;height:56px;border-radius:14px;object-fit:cover;background:#fff;flex:none;display:grid;place-items:center;color:var(--zb-gold,#c9a35b);font-size:26px}
.zb-clinic div{display:grid;gap:2px;min-width:0}.zb-clinic small{color:var(--zb-gold,#c9a35b);font-size:12px}.zb-clinic b{font-size:17px}.zb-clinic a{color:#fff;text-decoration:none}.zb-clinic span{font-size:12.5px;opacity:.85}
.zb-demo{display:grid;gap:4px;background:#fff7e0;border:1.5px dashed var(--zb-gold,#c9a35b);border-radius:12px;padding:10px 14px;margin-bottom:12px;text-align:center}
.zb-demo b{font-size:16px;color:#7a5200}.zb-demo b span{letter-spacing:3px;font-size:20px}.zb-demo small{color:#7a6a40;font-size:12px}.zb-demo .zb-link{justify-self:center}

.zb-flow{display:none!important}
.zb-svc em{display:block;color:var(--zb-muted);font-size:11.5px;font-style:normal;margin-top:2px}
.zb-empty-state{text-align:center;padding:28px 16px;background:var(--zb-cream);border-radius:16px}
.zb-empty-state b{display:block;font-size:16px;margin-bottom:6px}.zb-empty-state p{color:var(--zb-muted);margin:0 0 14px;font-size:13.5px}
.zb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}
.zb-slot{display:flex;flex-direction:column;align-items:center;gap:2px;border:1.5px solid var(--zb-line);background:#fff;border-radius:14px;padding:12px 6px;cursor:pointer;font-family:inherit;color:inherit;transition:.15s}
.zb-slot:hover{border-color:var(--zb-gold);background:#fffaf3}.zb-slot b{font-size:18px;font-weight:700}.zb-slot small{font-size:11px;color:var(--zb-muted)}
