.drap-booking-shell{direction:rtl;max-width:760px;margin:28px auto;padding:8px;font-family:Tahoma,Arial,sans-serif;color:#123d62}
.drap-booking-shell *{box-sizing:border-box}
.drap-card{background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%);border-radius:34px;padding:22px 18px 30px;box-shadow:0 18px 55px rgba(11,79,130,.10);border:1px solid rgba(11,111,184,.12)}
.drap-hero{text-align:center;margin-bottom:18px}.drap-badge{display:inline-block;background:#e8f4ff;color:#0b6fb8;border-radius:999px;padding:6px 13px;font-size:12px;font-weight:800}.drap-hero h2{font-size:24px;line-height:1.7;color:#123d62;margin:10px 0 4px;font-weight:900}.drap-hero p{margin:0 auto;color:#79889b;font-size:13px;max-width:520px;line-height:1.9}
.drap-service-top{margin:0 auto 22px;max-width:690px}.drap-service-top label{display:block;text-align:center;color:#123d62;font-size:22px;font-weight:900;margin-bottom:10px}.drap-service-top select{width:100%;height:70px;border:0;background:#f2f8ff;color:#123d62;border-radius:24px;padding:0 22px;font-size:21px;font-weight:700;outline:none;box-shadow:inset 0 0 0 1px rgba(42,58,80,.02);appearance:auto}.drap-service-top select:focus{box-shadow:0 0 0 4px rgba(11,111,184,.12);background:#fff}
.drap-calendar-card{max-width:700px;margin:0 auto 20px;border:1px solid #dceeff;border-radius:34px;background:#fff;padding:28px 24px 30px;box-shadow:0 8px 35px rgba(30,54,85,.04)}.drap-calendar-card h3{text-align:center;color:#123d62;font-size:22px;line-height:1.8;margin:0 0 22px;font-weight:900}.drap-calendar-legend{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:-8px 0 18px;color:#6f8298;font-size:12px;font-weight:800}.drap-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.drap-calendar-legend i{width:12px;height:12px;border-radius:50%;display:inline-block}.drap-calendar-legend .is-open{background:#0b6fb8}.drap-calendar-legend .is-closed{background:#c9d3dd}.drap-calendar-legend .is-full{background:#eef4fa;border:2px solid #95a7b8}.drap-calendar-legend .is-selected-dot{background:#30343b}
.drap-calendar{width:100%;background:#fff}.drap-cal-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px;color:#123d62}.drap-cal-head strong{font-size:22px;font-weight:900}.drap-cal-head button{width:52px;height:52px;border:0;background:transparent;color:#0b4f82;font-size:52px;line-height:1;cursor:pointer;border-radius:18px;transition:.18s}.drap-cal-head button:hover{background:#f4f6f8;transform:translateY(-1px)}
.drap-cal-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:18px}.drap-cal-week span{color:#123d62;font-size:16px;font-weight:900;padding:4px 0}.drap-cal-row{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;text-align:center;min-height:62px}.drap-day{height:48px;width:48px;margin:0 auto;border:0;border-radius:18px;background:transparent;color:#123d62;font-size:20px;font-weight:900;cursor:pointer;transition:.18s;position:relative}.drap-day:not(:disabled):hover{background:#f1f7ff;color:#0b6fb8;transform:translateY(-1px)}.drap-day.is-selected{background:#30343b;color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px rgba(48,52,59,.22)}.drap-day.is-selected:after{content:"";position:absolute;right:15px;left:15px;bottom:4px;height:3px;border-radius:8px;background:#c8cdd4}.drap-day:disabled{color:#a9b3bf;text-decoration:line-through;cursor:not-allowed;opacity:.92}.drap-day.is-available:before{content:"";position:absolute;right:50%;bottom:1px;transform:translateX(50%);width:5px;height:5px;background:#0b6fb8;border-radius:50%}.drap-day.is-full{color:#95a7b8;background:#f0f4f8;text-decoration:line-through}.drap-day.is-full:before{content:"پر";position:absolute;top:-7px;left:-4px;background:#eef4fa;color:#6f8298;border:1px solid #cbd8e4;border-radius:999px;font-size:9px;font-weight:900;padding:0 4px;line-height:15px;text-decoration:none}.drap-day.is-closed{color:#b6c1cc;background:#fafbfc;text-decoration:line-through}.drap-day.is-past{color:#c3cad2;text-decoration:line-through}.drap-day.is-selected.is-available:before{background:#fff}.drap-day-empty:disabled{opacity:0;text-decoration:none}.drap-slot-panel{position:relative;margin:10px auto 18px;width:min(500px,100%);padding:8px 46px 8px 6px;animation:drapSlide .2s ease}.drap-slot-close{position:absolute;right:0;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#2d2e34;width:34px;height:34px;font-size:38px;font-weight:900;cursor:pointer;line-height:1}.drap-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:48px;align-items:center}.drap-slot{border:0;background:#f6f6f7;color:#0b6fb8;border-radius:16px;min-height:56px;padding:10px 12px;font-size:18px;font-weight:900;cursor:pointer;transition:.18s;box-shadow:0 4px 14px rgba(20,32,70,.03)}.drap-slot:hover{background:linear-gradient(135deg,#0b6fb8,#0a4f86);color:#fff;box-shadow:0 13px 26px rgba(11,111,184,.22);transform:translateY(-1px)}.drap-slot.is-selected{background:linear-gradient(135deg,#30343b,#68717b);color:#fff;box-shadow:0 13px 26px rgba(48,52,59,.25);transform:translateY(-1px)}
.drap-person-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:900px;margin:0 auto 18px}.drap-person-fields-top{margin-top:2px;margin-bottom:20px}.drap-field label{display:block;margin:0 0 8px;color:#123d62;font-weight:900;font-size:14px}.drap-field input{width:100%;height:58px;border:1px solid #eef0f3;background:#fafafa;color:#123d62;border-radius:20px;padding:0 18px;font-size:16px;outline:none;transition:.18s}.drap-field input:focus{border-color:#0b6fb8;background:#fff;box-shadow:0 0 0 4px rgba(11,111,184,.11)}
.drap-pay-btn{display:block;width:min(430px,100%);margin:16px auto 24px;border:0;border-radius:24px;background:linear-gradient(135deg,#0b6fb8,#0a4f86);color:#fff;min-height:70px;padding:15px 24px;font-size:23px;font-weight:900;cursor:pointer;transition:.2s;box-shadow:0 18px 36px rgba(11,111,184,.24)}.drap-pay-btn:hover{transform:translateY(-2px);box-shadow:0 24px 46px rgba(11,111,184,.30)}.drap-pay-btn:disabled{opacity:.72;cursor:wait;transform:none}.drap-pay-btn.is-loading{animation:drapPulse 1.1s ease-in-out infinite}.drap-price-foot{text-align:center;margin:0 0 12px;color:#123d62}.drap-price-foot strong{display:block;font-size:20px;font-weight:900;margin-bottom:8px}.drap-price-foot span{display:block;font-size:22px;color:#444;font-weight:800}.drap-summary-line{text-align:center;color:#7c8796;font-size:14px}.drap-summary-line strong{color:#123d62}.drap-result{max-width:700px;margin:14px auto 0}.drap-alert{background:#fff3f4;border:1px solid #ffd2d8;color:#b33445;border-radius:18px;padding:13px 15px;font-weight:800;line-height:1.8}.drap-ok{background:#effdf7;border:1px solid #bdf2dc;color:#0b8060;border-radius:18px;padding:13px 15px;font-weight:900}.drap-muted{color:#7a91a7}.drap-loading{width:22px;height:22px;border-radius:50%;border:3px solid #e5e8ef;border-top-color:#0b6fb8;display:inline-block;animation:drapSpin .7s linear infinite;margin-left:8px;vertical-align:middle}
@keyframes drapSpin{to{transform:rotate(360deg)}}@keyframes drapPulse{50%{filter:brightness(1.1)}}@keyframes drapSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:761px) and (max-width:1024px){.drap-booking-shell{max-width:820px}.drap-card{padding:20px 18px 30px}.drap-calendar-card,.drap-person-fields,.drap-service-top,.drap-result{max-width:740px}.drap-person-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.drap-booking-shell{margin:12px auto;padding:0}.drap-card{padding:12px 10px 24px;border-radius:28px;box-shadow:none}.drap-hero h2{font-size:20px}.drap-service-top label{font-size:20px}.drap-service-top select{height:64px;font-size:18px;border-radius:22px}.drap-calendar-card{padding:24px 14px;border-radius:28px}.drap-calendar-card h3{font-size:20px}.drap-cal-head strong{font-size:21px}.drap-cal-head button{width:44px;height:44px;font-size:48px}.drap-cal-week span{font-size:14px}.drap-cal-row{min-height:58px}.drap-day{width:42px;height:42px;font-size:19px}.drap-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.drap-slot{font-size:17px;min-height:54px}.drap-person-fields{grid-template-columns:1fr}.drap-pay-btn{font-size:22px}}
@media(max-width:420px){.drap-calendar-card{padding-left:10px;padding-right:10px}.drap-day{width:36px;height:40px;font-size:17px}.drap-cal-week span{font-size:13px}.drap-slot-panel{padding-right:34px}.drap-slot-close{font-size:34px;width:30px}.drap-slots{gap:8px}.drap-slot{font-size:15px;padding:8px 6px}.drap-pay-btn{min-height:64px;font-size:20px}}

/* v1.2.4 - mobile calendar hard reset and responsive fix */
.drap-booking-shell,
.drap-booking-shell *{
  max-width:100%;
}
.drap-calendar-card,
.drap-calendar,
.drap-cal-week,
.drap-cal-row{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.drap-cal-week,
.drap-cal-row{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:0 !important;
}
.drap-cal-week span{
  min-width:0;
  white-space:nowrap;
}
.drap-cal-row{
  min-height:56px;
}
.drap-calendar button.drap-day,
.drap-calendar button.drap-day:hover,
.drap-calendar button.drap-day:focus,
.drap-calendar button.drap-day:active{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  min-width:0 !important;
  max-width:calc(100% - 4px) !important;
  height:44px !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  outline:none;
  border-radius:16px !important;
  background:transparent !important;
  box-shadow:none !important;
  line-height:1 !important;
  text-align:center !important;
  text-decoration:none;
}
.drap-calendar button.drap-day:not(:disabled){
  color:#123d62 !important;
}
.drap-calendar button.drap-day:not(:disabled):hover{
  background:#f3f7fb !important;
  color:#0b6fb8 !important;
}
.drap-calendar button.drap-day:disabled{
  background:transparent !important;
  color:#a9b3bf !important;
  text-decoration:line-through !important;
  opacity:.95 !important;
}
.drap-calendar button.drap-day.is-closed,
.drap-calendar button.drap-day.is-past{
  background:transparent !important;
  color:#aeb9c4 !important;
}
.drap-calendar button.drap-day.is-full{
  background:#f2f5f8 !important;
  color:#95a7b8 !important;
}
.drap-calendar button.drap-day.is-selected,
.drap-calendar button.drap-day.is-selected:hover,
.drap-calendar button.drap-day.is-selected:focus,
.drap-calendar button.drap-day.is-selected:active{
  background:#30343b !important;
  color:#ffffff !important;
  box-shadow:0 9px 22px rgba(48,52,59,.22) !important;
  text-decoration:none !important;
}
.drap-calendar button.drap-day.is-selected:after{
  display:none !important;
}
.drap-calendar button.drap-day.is-available:before{
  bottom:3px;
  width:4px;
  height:4px;
}
.drap-calendar button.drap-day.is-selected.is-available:before{
  background:#ffffff !important;
}
.drap-slot.is-selected,
.drap-slot.is-selected:hover,
.drap-slot.is-selected:focus{
  background:#30343b !important;
  color:#ffffff !important;
  box-shadow:0 13px 26px rgba(48,52,59,.24) !important;
}

@media(max-width:760px){
  .drap-booking-shell{width:100% !important;max-width:100% !important;overflow:hidden !important;padding:0 6px !important;}
  .drap-card{width:100% !important;max-width:100% !important;overflow:hidden !important;padding:12px 8px 24px !important;}
  .drap-calendar-card{width:100% !important;max-width:100% !important;overflow:hidden !important;padding:22px 10px 24px !important;}
  .drap-calendar-legend{gap:8px;font-size:11px;}
  .drap-cal-head{margin-bottom:18px;}
  .drap-cal-head button{padding:0 !important;min-width:0 !important;background:transparent !important;box-shadow:none !important;}
  .drap-cal-week{margin-bottom:10px;}
  .drap-cal-week span{font-size:13px !important;padding:3px 0 !important;}
  .drap-cal-row{min-height:50px !important;}
  .drap-calendar button.drap-day,
  .drap-calendar button.drap-day:hover,
  .drap-calendar button.drap-day:focus,
  .drap-calendar button.drap-day:active{
    width:38px !important;
    height:38px !important;
    border-radius:14px !important;
    font-size:17px !important;
  }
}
@media(max-width:390px){
  .drap-calendar-card{padding-left:7px !important;padding-right:7px !important;}
  .drap-cal-week span{font-size:12px !important;}
  .drap-cal-row{min-height:46px !important;}
  .drap-calendar button.drap-day,
  .drap-calendar button.drap-day:hover,
  .drap-calendar button.drap-day:focus,
  .drap-calendar button.drap-day:active{
    width:34px !important;
    height:34px !important;
    border-radius:12px !important;
    font-size:16px !important;
  }
}


/* v1.2.5 - selected pay button and clean red close icon */
.drap-pay-btn.is-ready,
.drap-pay-btn.is-ready:hover,
.drap-pay-btn.is-ready:focus{
  background:#30343b !important;
  color:#ffffff !important;
  box-shadow:0 18px 36px rgba(48,52,59,.25) !important;
}
.drap-pay-btn.is-ready:hover{
  transform:translateY(-2px);
}
.drap-slot-close,
.drap-slot-close:hover,
.drap-slot-close:focus,
.drap-slot-close:active{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:#d71920 !important;
  padding:0 !important;
  margin:0 !important;
  font-size:40px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.drap-slot-close:hover,
.drap-slot-close:focus{
  color:#b80000 !important;
  transform:translateY(-50%) scale(1.05) !important;
}
@media(max-width:420px){
  .drap-slot-close,
  .drap-slot-close:hover,
  .drap-slot-close:focus,
  .drap-slot-close:active{
    font-size:36px !important;
  }
}
