@import url("https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap");

.dap-booking{font-family:Vazirmatn,Tahoma,sans-serif;max-width:900px;margin:20px auto;padding:28px;background:#fff;color:#172033;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 10px 35px rgba(15,23,42,.08);overflow:visible}.dap-booking *{box-sizing:border-box}.dap-progress{display:flex;gap:8px;margin-bottom:20px}.dap-progress span{flex:1;padding:12px;text-align:center;background:#f0f2f5;border-radius:10px;color:#667085;font-size:14px}.dap-progress span.active{background:#0f766e;color:#fff}.dap-progress span.done{background:#d9f4ef;color:#0f766e}.dap-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px}.dap-grid .dap-dynamic-field{flex:0 0 calc(50% - 7px);max-width:calc(50% - 7px)}.dap-grid .dap-dynamic-field[style*="width: 100%"]{flex-basis:100%;max-width:100%}.dap-grid .dap-dynamic-field[style*="width:75%"]{flex-basis:calc(75% - 4px);max-width:calc(75% - 4px)}.dap-grid .dap-dynamic-field[style*="width:66.666%"]{flex-basis:calc(66.666% - 5px);max-width:calc(66.666% - 5px)}.dap-grid .dap-dynamic-field[style*="width:33.333%"]{flex-basis:calc(33.333% - 10px);max-width:calc(33.333% - 10px)}.dap-grid .dap-dynamic-field[style*="width:"][style*="px"]{flex:0 0 auto}.dap-booking label{display:flex;flex-direction:column;gap:7px;font-weight:600}.dap-booking input,.dap-booking select,.dap-booking textarea{width:100%;padding:13px;border:1px solid #d6dbe4;border-radius:10px;background:#fff;font:inherit}.dap-booking .dap-dynamic-field textarea{min-height:110px;resize:vertical}.dap-primary{background:#0f766e!important;color:#fff!important;border:0!important;padding:13px 24px;border-radius:10px;cursor:pointer;margin-top:18px}.dap-primary:disabled{opacity:.55;cursor:not-allowed}.dap-booking-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dap-step-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.dap-step-actions button:not(.dap-primary){border:1px solid #d6dbe4;background:#fff;border-radius:10px;padding:12px 20px;cursor:pointer}.dap-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px;background:#f8fafc;border:1px solid #e6e9ee;border-radius:14px}.dap-summary div{padding:10px;background:#fff;border-radius:10px}.dap-summary b,.dap-summary span{display:block}.dap-summary span{margin-top:5px;color:#475467}.dap-captcha{max-width:320px;margin-top:18px}.dap-booking #dap-msg{margin-top:15px;font-weight:600}.dap-booking #dap-msg.success{color:#087443}.dap-booking #dap-msg.error{color:#b42318}.dap-calendar-panel{padding:18px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:14px}.dap-calendar-title{font-size:18px;font-weight:700;margin-bottom:10px}.dap-calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px;font-size:13px;color:#475467}.dap-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.dap-calendar-legend i{display:inline-block;width:13px;height:13px;border-radius:50%}.dap-calendar-legend i.available{background:#dcfce7;border:1px solid #22c55e}.dap-calendar-legend i.unavailable{background:#f8fafc;border:1px solid #d1d5db}.dap-calendar-panel label{max-width:420px}.dap-calendar-panel #dap-date-help{margin-top:9px;font-size:13px;color:#667085}.dap-calendar-panel #dap-date{cursor:pointer}.dap-captcha-box{margin-top:18px;max-width:360px;padding:16px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;display:grid;gap:9px;align-items:start}.dap-captcha-box strong{font-size:14px}.dap-captcha-box span{font-size:22px;font-weight:700;letter-spacing:2px}.dap-captcha-box input{background:#fff}.dap-captcha-box #dap-captcha-code{display:inline-flex;align-items:center;justify-content:center;min-width:150px;min-height:48px;padding:8px 18px;border:1px dashed #0f766e;border-radius:10px;background:#ecfdf5;color:#0f766e;font-size:24px;letter-spacing:6px;font-weight:800;direction:ltr;user-select:none}.dap-captcha-refresh{border:1px solid #d6dbe4;background:#fff;border-radius:9px;padding:9px 12px;cursor:pointer;font:inherit;color:#344054}.dap-captcha-refresh:hover{background:#f8fafc}.dap-booking .dap-invalid{border-color:#dc2626!important;box-shadow:0 0 0 2px rgba(220,38,38,.10)!important;background:#fff7f7!important}.dap-booking .dap-invalid:focus{border-color:#b91c1c!important;box-shadow:0 0 0 3px rgba(220,38,38,.14)!important}


/* Output booking calendar — independent Jalali 7-column grid. */
.dap-calendar-panel{position:relative}
.dap-calendar-panel #dap-date{cursor:pointer!important;background:#fff}
.dap-output-calendar{position:relative;z-index:10050;width:100%;max-width:520px;box-sizing:border-box;margin:10px 0 0;background:#fff;border:1px solid #dfe5ed;border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.16);padding:12px;font-family:Vazirmatn,Tahoma,sans-serif;direction:rtl;overflow:hidden}
.dap-output-calendar[hidden]{display:none!important}
.dap-output-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:10px}
.dap-output-calendar-head .dap-cal-title{text-align:center;font-size:17px;font-weight:800;color:#172033}
.dap-cal-nav{width:42px;height:40px;border:1px solid #d6dbe4;background:#fff;border-radius:10px;cursor:pointer!important;font:800 24px/1 Vazirmatn,Tahoma,sans-serif;color:#344054;display:flex;align-items:center;justify-content:center}
.dap-cal-nav:hover{background:#f1f5f9;border-color:#94a3b8}
.dap-cal-weekdays,.dap-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.dap-cal-weekdays{margin-bottom:6px}
.dap-cal-weekdays span{text-align:center;padding:7px 2px;font-size:12px;font-weight:800;color:#667085;background:#f8fafc;border-radius:8px}
.dap-cal-grid{grid-auto-rows:minmax(44px,1fr)}
.dap-cal-empty{min-height:44px}
.dap-cal-day{width:100%;min-width:0;min-height:44px;padding:0;border:1px solid transparent;border-radius:10px;background:#fff;color:#475467;font:600 14px/1 Vazirmatn,Tahoma,sans-serif;cursor:not-allowed!important;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,transform .15s;position:relative}
.dap-cal-day.is-off,.dap-cal-day.is-closed,.dap-cal-day.is-full,.dap-cal-day.is-past{background:#f8fafc;color:#b6bec9;opacity:.72}
.dap-cal-day.is-available{background:#ecfdf3;color:#15803d;border-color:#86efac;font-weight:900;cursor:pointer!important;pointer-events:auto!important}
.dap-cal-day.is-available:hover{background:#bbf7d0;border-color:#22c55e;transform:translateY(-1px);cursor:pointer!important}
.dap-cal-day.is-booked{background:#86efac;color:#14532d;border:2px solid #16a34a;font-weight:900;cursor:pointer!important;pointer-events:auto!important}
.dap-cal-day.is-booked:hover{background:#4ade80;border-color:#15803d;transform:translateY(-1px);cursor:pointer!important}
.dap-cal-day.is-selected{box-shadow:0 0 0 3px rgba(15,118,110,.22);outline:2px solid #0f766e;outline-offset:-2px}
.dap-cal-day:disabled{cursor:not-allowed!important;pointer-events:none!important}
.dap-cal-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #eef1f5;color:#667085;font-size:12px}
.dap-cal-legend span{display:inline-flex;align-items:center;gap:6px}
.dap-cal-legend i{width:11px;height:11px;border-radius:4px;display:inline-block}
.dap-cal-legend i.work{background:#86efac;border:1px solid #16a34a}.dap-cal-legend i.off{background:#f1f5f9;border:1px solid #d1d5db}
.dap-cal-loading{grid-column:1/-1;text-align:center;padding:35px 10px;color:#667085;font-size:13px}
@media(max-width:650px){.dap-output-calendar{position:relative;width:100%;margin-top:10px;padding:10px}.dap-cal-weekdays,.dap-cal-grid{gap:4px}.dap-cal-day{min-height:40px;font-size:13px}.dap-cal-weekdays span{font-size:11px;padding:6px 1px}.dap-cal-nav{height:38px;width:38px}}
