/* رزرو نوبت — استایل فرم */
.pb-app{
  --pb-ink:#1b1b1b; --pb-muted:#8b8b8b; --pb-line:#e6e6e6; --pb-bg:#fff;
  --pb-soft:#f7f7f7; --pb-open:#d9f7c6; --pb-open-ink:#2f6d1c; --pb-mark:#e8543f;
  --pb-radius:10px;
  display:grid; grid-template-columns:1fr 320px; gap:0;
  border:1px solid var(--pb-line); border-radius:var(--pb-radius);
  background:var(--pb-bg); color:var(--pb-ink); overflow:hidden;
  font-size:15px; line-height:1.9;
}
.pb-app *{box-sizing:border-box}
.pb-main{border-left:1px solid var(--pb-line); min-height:420px; display:flex; flex-direction:column}
.pb-summary{background:var(--pb-bg); display:flex; flex-direction:column}

.pb-head{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 20px; border-bottom:1px solid var(--pb-line)}
.pb-head h2{margin:0; font-size:17px; font-weight:700}
.pb-body{flex:1; padding:20px; overflow:auto; max-height:520px}
.pb-foot{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 20px}
.pb-foot:empty{padding:0}

.pb-back{background:none; border:0; color:var(--pb-ink); cursor:pointer; font:inherit; padding:4px}
.pb-checkout{background:var(--pb-ink); color:#fff; border:0; border-radius:6px; padding:8px 16px; cursor:pointer; font:inherit}
.pb-checkout:disabled{background:transparent; color:var(--pb-muted); border-bottom:1px solid var(--pb-muted); border-radius:0; cursor:default}

/* کارت‌های انتخاب */
.pb-list{display:flex; flex-direction:column; gap:12px}
.pb-card{display:flex; align-items:center; gap:14px; width:100%; text-align:right;
  background:#fff; border:1px solid var(--pb-line); border-radius:8px; padding:14px 16px; cursor:pointer;
  font:inherit; color:inherit; transition:border-color .15s, box-shadow .15s}
.pb-card:hover{border-color:var(--pb-ink); box-shadow:0 1px 0 rgba(0,0,0,.04)}
.pb-card img{width:56px; height:44px; object-fit:cover; border-radius:6px; flex:none}
.pb-thumb,.pb-paw{width:56px; height:44px; border-radius:6px; background:var(--pb-soft); flex:none}
.pb-card-text{flex:1; display:flex; flex-direction:column}
.pb-card-text strong{font-weight:700}
.pb-card-text small{color:var(--pb-muted); font-size:13px; line-height:1.7}
.pb-price{text-align:left; white-space:nowrap; font-weight:600}
.pb-price small{display:block; color:var(--pb-muted); font-weight:400; font-size:12px}
.pb-addon input{accent-color:var(--pb-ink); width:18px; height:18px}
.pb-addon.is-on{border-color:var(--pb-ink)}

/* تقویم */
.pb-cal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px}
.pb-cal-head h3{margin:0; font-size:22px; font-weight:700}
.pb-cal-nav button{background:none; border:0; font-size:20px; cursor:pointer; padding:2px 8px; color:var(--pb-ink)}
.pb-week,.pb-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:6px; text-align:center}
.pb-week span{color:var(--pb-muted); font-size:13px; padding:6px 0; border-bottom:1px solid var(--pb-line)}
.pb-day{border:0; background:none; font:inherit; padding:10px 0 12px; cursor:default; color:var(--pb-muted);
  border-radius:4px; position:relative}
.pb-day.is-open{color:var(--pb-ink); cursor:pointer}
.pb-day.is-open::after{content:""; position:absolute; inset:auto 12% 4px; height:4px; border-radius:2px; background:var(--pb-open)}
.pb-day.is-today{background:#fdf6dd}
.pb-day.is-sel{background:var(--pb-ink); color:#fff}
.pb-day.is-sel::after{background:#fff}
.pb-day.is-empty{visibility:hidden}

.pb-slots{margin-top:22px}
.pb-slots h4{text-align:center; font-size:15px; margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid var(--pb-line)}
.pb-times{display:grid; grid-template-columns:repeat(5,1fr); gap:10px}
.pb-time{background:var(--pb-open); color:var(--pb-open-ink); border:1px solid transparent; border-radius:4px;
  padding:8px 0; cursor:pointer; font:inherit}
.pb-time:hover{border-color:var(--pb-open-ink)}
.pb-time.is-sel{background:var(--pb-ink); color:#fff}

/* فرم مشتری */
.pb-form{display:flex; flex-direction:column; gap:14px; max-width:520px}
.pb-row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.pb-form input,.pb-form textarea{border:1px solid var(--pb-line); border-radius:6px; padding:12px 14px; font:inherit; width:100%; background:#fff}
.pb-form input:focus,.pb-form textarea:focus{outline:2px solid var(--pb-ink); outline-offset:-1px; border-color:var(--pb-ink)}

/* دکمه‌ها */
.pb-btn{background:var(--pb-ink); color:#fff; border:0; border-radius:6px; padding:10px 20px; cursor:pointer; font:inherit}
.pb-btn.pb-ghost{background:none; color:var(--pb-ink); border:1px dashed var(--pb-line); width:100%; margin:14px 0}
.pb-link{background:none; border:0; color:var(--pb-muted); cursor:pointer; font:inherit; text-decoration:underline; padding:0}

/* خلاصه و سبد */
.pb-cart{padding:16px 20px; flex:1; overflow:auto}
.pb-item{position:relative; padding:0 0 16px; margin-bottom:16px; border-bottom:1px solid var(--pb-line)}
.pb-item:last-child{border-bottom:0}
.pb-item strong{display:block; font-size:15px}
.pb-item small{display:block; color:var(--pb-muted); font-size:13px}
.pb-item.is-draft{opacity:.75}
.pb-remove{position:absolute; left:0; top:0; width:22px; height:22px; border:1px solid var(--pb-line);
  background:#fff; border-radius:4px; cursor:pointer; line-height:1}
.pb-place{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:8px; font-size:13px}
.pb-place span{color:var(--pb-muted); flex:1; border-bottom:1px dotted var(--pb-line)}

.pb-totals{padding:16px 20px; border-top:1px solid var(--pb-line)}
.pb-breakdown h4{margin:0 0 10px; font-size:13px; color:var(--pb-muted); font-weight:400}
.pb-line{display:flex; justify-content:space-between; gap:10px; font-size:14px; padding:3px 0}
.pb-line.is-sub{color:var(--pb-muted); font-size:13px; padding-right:14px}
.pb-line.is-disc b{color:var(--pb-open-ink)}
.pb-line.pb-grand{border-top:1px solid var(--pb-ink); margin-top:10px; padding-top:10px; font-size:16px; font-weight:700}

/* تأیید نهایی */
.pb-confirm .pb-item{border:0; border-right:4px solid var(--pb-mark); background:var(--pb-soft);
  border-radius:6px; padding:12px 14px; margin-bottom:12px}
.pb-meta{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:18px 0}
.pb-meta h4{margin:0 0 6px; font-size:13px; color:var(--pb-muted); font-weight:400}
.pb-coupon-box{display:flex; gap:8px; margin-top:8px}
.pb-coupon-box input{flex:1; border:1px solid var(--pb-line); border-radius:6px; padding:9px 12px; font:inherit}

.pb-loading,.pb-empty{color:var(--pb-muted); text-align:center; padding:30px 0}
.pb-error{background:#fdecea; color:#8c2318; border-radius:6px; padding:10px 14px; margin-bottom:14px}
.pb-msg{color:#8c2318; font-size:13px; margin:4px 0 0}
.pb-msg.is-ok{color:var(--pb-open-ink)}
.pb-done{text-align:center; padding:40px 10px}
.pb-done h3{margin:0 0 10px}

@media (max-width:820px){
  .pb-app{grid-template-columns:1fr}
  .pb-main{border-left:0; border-bottom:1px solid var(--pb-line)}
  .pb-times{grid-template-columns:repeat(3,1fr)}
  .pb-row,.pb-meta{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .pb-app *{transition:none !important}
}

/* جزئیات خدمت و برچسب نوع پت */
.pb-card-wrap{display:flex;flex-direction:column}
.pb-toggle-det{align-self:flex-start;margin:6px 4px 0;font-size:13px}
.pb-details{margin:6px 4px 0;padding:10px 14px;background:var(--pb-soft);border-radius:6px}
.pb-details ul{margin:0;padding-right:18px}
.pb-details li{font-size:13px;color:#555;line-height:2}
.pb-hint{margin:0 0 14px;color:var(--pb-muted);font-size:14px}
.pb-tag{display:inline-block;font-size:12px;font-weight:400;color:var(--pb-muted);
  border:1px solid var(--pb-line);border-radius:20px;padding:0 8px;margin-right:4px;vertical-align:middle}
