/* رزرو میز + نوار ساعت کاری + انتخاب زمان سفارش (بخش مشتری) */
.cmm-infobar{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; padding:8px 14px 2px; }
.cmm-infobar[hidden]{ display:none; }
.cmm-hchip{ display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:999px; font-size:12.5px; font-weight:700; background:#fff; border:1.5px solid #e5e7eb; color:#444; line-height:1.4; }
.cmm-hchip i{ width:8px; height:8px; border-radius:50%; background:#c4c7cc; flex:none; }
.cmm-hchip.open i{ background:#2fa860; box-shadow:0 0 0 3px rgba(47,168,96,.18); }
.cmm-hchip.closed i{ background:#e04b4b; }
.cmm-hchip small{ font-weight:600; color:#777; }
.cmm-hbtn{ display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:999px; font-size:12.5px; font-weight:800; background:var(--cmm-orange); color:#fff; border:0; font-family:inherit; cursor:pointer; }
.cmm-hbtn[hidden]{ display:none; }
.cmm-hours-table{ display:flex; flex-direction:column; border:1px solid #eceef1; border-radius:12px; overflow:hidden; margin:8px 0; font-size:13px; }
.cmm-hours-row{ display:grid; grid-template-columns:.8fr 1fr 1fr; gap:6px; padding:8px 10px; border-bottom:1px solid #f1f2f4; }
.cmm-hours-row:last-child{ border-bottom:0; }
.cmm-hours-head{ background:#fafbfc; font-weight:800; }
/* انتخاب زمان سفارش در سبد */
.cmm-sched{ background:#fff8ee; border:1.5px solid #f3d9b0; border-radius:14px; padding:12px; margin:10px 0; }
.cmm-sched.closed{ background:#fff3f1; border-color:#f2c3bd; }
.cmm-sched h5{ margin:0 0 4px; font-size:14px; }
.cmm-sched p{ margin:0 0 8px; font-size:12.5px; line-height:1.9; color:#555; }
.cmm-sched .cmm-sched-days,.cmm-sched .cmm-sched-times{ display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.cmm-sched button{ padding:8px 12px; border:1.5px solid #e5e7eb; border-radius:11px; background:#fff; font-weight:700; font-size:13px; font-family:inherit; cursor:pointer; }
.cmm-sched button.sel{ background:var(--cmm-orange); border-color:var(--cmm-orange); color:#fff; }
.cmm-sched button.link{ border:0; background:none; color:var(--cmm-orange-dark,#c66a0c); text-decoration:underline; padding:2px 0; }
.cmm-sched-note{ background:#eef7ff; border-radius:10px; padding:8px 10px; font-size:12.5px; margin:6px 0; }
/* رزرو میز */
.cmm-tbl-days{ display:flex; gap:8px; overflow-x:auto; padding:2px 2px 8px; scrollbar-width:none; }
.cmm-tbl-days::-webkit-scrollbar{ display:none; }
.cmm-tbl-day{ flex:none; width:58px; padding:8px 0; border:1.5px solid #e5e7eb; border-radius:14px; background:#fff; font-family:inherit; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:1px; }
.cmm-tbl-day small{ font-size:10.5px; color:#888; font-weight:600; } .cmm-tbl-day b{ font-size:17px; }
.cmm-tbl-day.sel{ background:var(--cmm-orange); border-color:var(--cmm-orange); color:#fff; } .cmm-tbl-day.sel small{ color:#fff; }
.cmm-vip-stepper{ display:flex; align-items:center; justify-content:center; gap:18px; margin:6px 0; }
.cmm-vip-stepper button{ width:40px; height:40px; border-radius:50%; border:1.5px solid #e5e7eb; background:#fff; font-size:22px; font-family:inherit; cursor:pointer; }
.cmm-vip-stepper span{ font-size:24px; font-weight:800; min-width:32px; text-align:center; }
.cmm-vip-times button:disabled{ opacity:.45; cursor:not-allowed; text-decoration:line-through; }
.cmm-vip-card{ border:1px solid #eceef1; border-radius:16px; padding:12px; margin-bottom:10px; background:#fff; }
.cmm-vip-card-top{ display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:4px; }
.cmm-vip-st{ font-size:11.5px; font-weight:800; padding:3px 10px; border-radius:999px; background:#eef0f3; white-space:nowrap; }
.cmm-vip-card.s-approved .cmm-vip-st{ background:#e3f6ea; color:#1d7a43; } .cmm-vip-card.s-pending .cmm-vip-st,.cmm-vip-card.s-awaiting_payment .cmm-vip-st{ background:#fff1d9; color:#a56a00; }
.cmm-vip-card.s-cancelled .cmm-vip-st,.cmm-vip-card.s-rejected .cmm-vip-st,.cmm-vip-card.s-expired .cmm-vip-st,.cmm-vip-card.s-no_show .cmm-vip-st{ background:#fde6e3; color:#b3342a; }
.cmm-tbl-pay{ margin:8px 0; }
.cmm-ord-sched{ display:inline-block; font-size:11.5px; font-weight:800; background:#fff1d9; color:#a56a00; padding:2px 9px; border-radius:999px; }
