.pdbpro-shell{
  --pdb-accent:#D4AF37;
  --pdb-button:#D4AF37;
  --pdb-button-hover:#111111;
  --pdb-button-text:#F2F1EE;
  --pdb-text:#111111;
  --pdb-muted:#5f5f5f;
  --pdb-border:#dedbd3;
  --pdb-bg:#F8F7F4;
  max-width:820px;
  margin:28px auto;
  font-family:inherit;
  font-size:16px;
  line-height:1.75;
  color:var(--pdb-text)
}
.pdbpro-shell *{box-sizing:border-box}
.pdbpro-card{
  background:var(--pdb-bg);
  border:1px solid #e8e4da;
  border-radius:24px;
  padding:28px;
  box-shadow:0 16px 44px rgba(17,17,17,.07)
}
.pdbpro-head{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.pdbpro-head h3{margin:0 0 4px;font-size:1.45rem;line-height:1.5;color:#111111}
.pdbpro-head p{margin:0;color:var(--pdb-muted);font-size:1rem}
.pdbpro-cross{
  width:52px;height:52px;flex:0 0 52px;border-radius:16px;display:grid;place-items:center;
  background:var(--pdb-button);color:var(--pdb-button-text);font-size:28px;font-weight:600;
  box-shadow:0 8px 24px rgba(212,175,55,.22)
}
.pdbpro-form{display:grid;gap:18px}
/* Customer request: all fields are one below another on desktop and mobile. */
.pdbpro-grid{display:grid;grid-template-columns:1fr;gap:18px}
.pdbpro-form label{display:grid;gap:8px}
.pdbpro-form label>span,.pdbpro-label{font-weight:700;font-size:1rem;line-height:1.6;color:#111111}
.pdbpro-form input,.pdbpro-form select,.pdbpro-form textarea{
  width:100%;border:1px solid var(--pdb-border);border-radius:13px;padding:13px 14px;
  background:#ffffff;color:#111111;font:inherit;font-size:16px;line-height:1.6;outline:0;transition:.2s
}
.pdbpro-form textarea{min-height:118px;resize:vertical}
.pdbpro-form input::placeholder,.pdbpro-form textarea::placeholder{color:#8c8c8c;opacity:1}
.pdbpro-form input:focus,.pdbpro-form select:focus,.pdbpro-form textarea:focus{
  border-color:var(--pdb-accent);box-shadow:0 0 0 4px rgba(212,175,55,.15)
}
.pdbpro-block{display:grid;gap:9px}
.pdbpro-slots{display:flex;gap:10px;flex-wrap:wrap;min-height:46px}
.pdbpro-slot{
  border:1px solid #D4AF37;background:#fff;color:#5a4700;border-radius:12px;padding:10px 16px;
  font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:.18s
}
.pdbpro-slot:hover,.pdbpro-slot.is-selected{
  background:var(--pdb-button);border-color:var(--pdb-button);color:var(--pdb-button-text);transform:translateY(-1px)
}
.pdbpro-consent{
  display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;
  color:#4e4e4e;font-size:.95rem;line-height:1.8
}
.pdbpro-consent input{width:auto!important;margin-top:6px;accent-color:#D4AF37}
.pdbpro-submit{
  width:100%;border:0;border-radius:14px;background:var(--pdb-button);color:var(--pdb-button-text);
  padding:14px 20px;font:inherit;font-size:17px;font-weight:800;cursor:pointer;
  box-shadow:0 8px 22px rgba(212,175,55,.22);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease
}
.pdbpro-submit:hover,.pdbpro-submit:focus-visible{
  background:var(--pdb-button-hover);color:var(--pdb-button-text);transform:translateY(-1px);
  box-shadow:0 10px 25px rgba(17,17,17,.18)
}
.pdbpro-submit:disabled{opacity:.55;cursor:wait;transform:none}
.pdbpro-result{border-radius:14px;line-height:1.9;font-size:1rem}
.pdbpro-result.is-success{padding:14px;background:#f5f8ef;color:#30451f;border:1px solid #ceddbf}
.pdbpro-result.is-error,.pdbpro-error{padding:12px;background:#fff1f2;color:#9f1239;border:1px solid #fecdd3;border-radius:12px}
.pdbpro-muted{color:var(--pdb-muted);padding:8px 0;font-size:1rem}
.pdbpro-code{display:inline-block;margin-top:4px;font-size:1.05rem}
.pdbpro-clinic-meta{margin-top:22px;padding-top:18px;border-top:1px solid var(--pdb-border);display:grid;gap:6px;color:var(--pdb-muted);font-size:.96rem}
.pdbpro-ticket{display:grid;gap:8px}
.pdbpro-cancel{margin-top:10px;border:1px solid #c7b46c;background:#fff;color:#4c3a00;border-radius:10px;padding:10px 13px;font:inherit;cursor:pointer;width:max-content}
.pdbpro-cancel:hover{background:#111111;color:#F2F1EE;border-color:#111111}
@media(max-width:640px){
  .pdbpro-shell{margin:18px auto;font-size:17px;line-height:1.8}
  .pdbpro-card{padding:20px 16px;border-radius:19px}
  .pdbpro-form{gap:18px}
  .pdbpro-grid{grid-template-columns:1fr;gap:18px}
  .pdbpro-head{align-items:flex-start;margin-bottom:22px}
  .pdbpro-head h3{font-size:1.3rem}
  .pdbpro-head p{font-size:1rem}
  .pdbpro-cross{width:46px;height:46px;flex-basis:46px}
  .pdbpro-form label>span,.pdbpro-label{font-size:17px}
  .pdbpro-form input,.pdbpro-form select,.pdbpro-form textarea{font-size:17px;padding:13px 14px;min-height:50px}
  .pdbpro-form textarea{min-height:120px}
  .pdbpro-muted{font-size:16px}
  .pdbpro-slot{font-size:16px;padding:10px 13px}
  .pdbpro-consent{font-size:16px}
  .pdbpro-submit{font-size:18px;padding:14px 18px}
  .pdbpro-result{font-size:16px}
}


/* Persian Jalali popup calendar */
.pdbpro-date-field{display:grid;gap:7px;position:relative}
.pdbpro-date-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--pdb-border);border-radius:13px;padding:13px 14px;background:#fff;color:var(--pdb-text);font:inherit;font-size:16px;cursor:pointer;text-align:right}
.pdbpro-date-trigger:hover,.pdbpro-date-trigger[aria-expanded="true"]{border-color:var(--pdb-accent);box-shadow:0 0 0 4px rgba(212,175,55,.15)}
.pdbpro-calendar-icon{font-size:1.35rem;color:var(--pdb-accent)}
.pdbpro-calendar{position:absolute;z-index:999;top:76px;right:0;width:min(100%,390px);background:#fff;border:1px solid var(--pdb-border);border-radius:18px;padding:14px;box-shadow:0 20px 55px rgba(15,23,42,.18)}
.pdbpro-calendar[hidden]{display:none!important}
.pdbpro-cal-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:12px}
.pdbpro-cal-head strong{text-align:center;font-size:16px}
.pdbpro-cal-nav{height:38px;border:1px solid var(--pdb-border);border-radius:10px;background:#fff;color:var(--pdb-text);font-size:25px;line-height:1;cursor:pointer}
.pdbpro-cal-nav:disabled{opacity:.3;cursor:default}
.pdbpro-weekdays,.pdbpro-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.pdbpro-weekdays{margin-bottom:6px;color:var(--pdb-muted);font-size:14px;font-weight:700}
.pdbpro-weekdays span{padding:4px 0}
.pdbpro-cal-day,.pdbpro-cal-blank{aspect-ratio:1/1;min-height:37px}
.pdbpro-cal-day{display:grid;place-items:center;border:1px solid transparent;border-radius:10px;background:#fffaf0;color:#6b5200;font:inherit;font-size:15px;cursor:pointer;transition:.15s}
.pdbpro-cal-day:hover:not(:disabled){background:var(--pdb-accent);color:#fff;transform:translateY(-1px)}
.pdbpro-cal-day.is-selected{background:var(--pdb-accent);color:#fff;border-color:var(--pdb-accent);box-shadow:0 5px 15px rgba(212,175,55,.24)}
.pdbpro-cal-day.is-disabled{background:#efede8;color:#aaa69d;cursor:not-allowed;text-decoration:none}
.pdbpro-cal-help{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--pdb-border);font-size:13px;color:var(--pdb-muted)}
.pdbpro-cal-help span{display:flex;align-items:center;gap:5px}
.pdbpro-cal-help i{width:10px;height:10px;border-radius:3px;display:inline-block}
.pdbpro-cal-help i.is-open{background:#fff4cc;border:1px solid #D4AF37}
.pdbpro-cal-help i.is-off{background:#eee;border:1px solid #ddd}
@media(max-width:640px){.pdbpro-calendar{position:fixed;top:auto;right:12px;left:12px;bottom:12px;width:auto;max-height:70vh;overflow:auto;border-radius:20px}.pdbpro-cal-day,.pdbpro-cal-blank{min-height:40px}}


/* v2.2 server-rendered Jalali calendar: opens without JavaScript */
.pdbpro-calendar-details{position:relative}
.pdbpro-calendar-details>summary{list-style:none}
.pdbpro-calendar-details>summary::-webkit-details-marker{display:none}
.pdbpro-calendar-details[open]>.pdbpro-date-trigger{border-color:var(--pdb-accent);box-shadow:0 0 0 4px rgba(212,175,55,.15)}
.pdbpro-calendar-details>.pdbpro-calendar{display:none}
.pdbpro-calendar-details[open]>.pdbpro-calendar{display:block!important}
.pdbpro-calendar-server{position:absolute;z-index:9999;top:58px;right:0;width:min(100%,410px);max-height:470px;overflow:auto;background:#fff;border:1px solid var(--pdb-border);border-radius:18px;padding:14px;box-shadow:0 22px 60px rgba(15,23,42,.2)}
.pdbpro-server-month+.pdbpro-server-month{margin-top:18px;padding-top:15px;border-top:1px solid var(--pdb-border)}
.pdbpro-cal-head-static{display:block;text-align:center;margin-bottom:10px}
.pdbpro-cal-head-static strong{display:block;font-size:16px}
@media(max-width:640px){.pdbpro-calendar-server{position:fixed;top:auto;right:12px;left:12px;bottom:12px;width:auto;max-height:72vh;overflow:auto;border-radius:20px}}

@media(max-width:640px){
  .pdbpro-date-trigger{font-size:17px;min-height:50px}
  .pdbpro-cal-head-static strong,.pdbpro-cal-head strong{font-size:17px}
  .pdbpro-weekdays{font-size:14px}
  .pdbpro-cal-day,.pdbpro-server-day{font-size:16px}
  .pdbpro-cal-help{font-size:14px}
}


/* v3 multi-specialist */
.pdbpro-form > label,
.pdbpro-date-field,
.pdbpro-block{width:100%}
#pdbpro-specialist,#pdbpro-service{background-color:#fff}
#pdbpro-specialist:disabled,#pdbpro-service:disabled{background:#f1efea;color:#8b877d;cursor:not-allowed}
.pdbpro-date-trigger{background:#fff}
.pdbpro-server-day:not(.is-disabled){background:#fffdf7!important;color:#5d4b12!important;border-color:#e3cd78!important}
.pdbpro-server-day:not(.is-disabled):hover,
.pdbpro-server-day.is-selected{background:#D4AF37!important;color:#F2F1EE!important;border-color:#D4AF37!important}
.pdbpro-server-day.is-disabled{background:#efede8!important;color:#b7b2a8!important}
@media(max-width:640px){
  .pdbpro-shell{font-size:17px}
  .pdbpro-form label>span,.pdbpro-label{font-size:17px}
  .pdbpro-form input,.pdbpro-form select,.pdbpro-form textarea{font-size:17px;min-height:50px}
  .pdbpro-submit{font-size:18px;min-height:52px}
  .pdbpro-slot{font-size:17px}
  .pdbpro-date-trigger{font-size:17px}
  .pdbpro-calendar-server{font-size:16px}
}


/* v3.0.2 - compact Jalali calendar */
.pdbpro-calendar-details{
  width:100%;
}
.pdbpro-calendar-server{
  width:min(100%, 360px);
  max-width:360px;
  margin-right:auto;
  margin-left:0;
  padding:12px;
  border-radius:16px;
}
.pdbpro-month{
  margin-bottom:14px;
}
.pdbpro-month h4{
  font-size:14px;
  line-height:1.5;
  margin:4px 0 10px;
}
.pdbpro-weekdays{
  font-size:12px;
  gap:4px;
  margin-bottom:5px;
}
.pdbpro-cal-grid{
  gap:5px;
}
.pdbpro-server-day,
.pdbpro-cal-blank{
  min-height:34px;
  aspect-ratio:1/1;
}
.pdbpro-server-day{
  font-size:13px;
  line-height:1;
  border-radius:9px;
  padding:0;
}
.pdbpro-cal-help{
  font-size:11px;
  gap:10px;
  margin-top:10px;
  padding-top:8px;
}

@media(max-width:640px){
  .pdbpro-calendar-server{
    width:min(100%, 320px);
    max-width:320px;
    padding:10px;
    margin-right:auto;
    margin-left:auto;
    font-size:14px;
  }
  .pdbpro-month{
    margin-bottom:12px;
  }
  .pdbpro-month h4{
    font-size:13px;
    margin:2px 0 8px;
  }
  .pdbpro-weekdays{
    font-size:11px;
    gap:3px;
  }
  .pdbpro-cal-grid{
    gap:4px;
  }
  .pdbpro-server-day,
  .pdbpro-cal-blank{
    min-height:32px;
  }
  .pdbpro-server-day{
    font-size:12.5px;
    border-radius:8px;
  }
  .pdbpro-cal-help{
    font-size:10.5px;
  }
}

@media(max-width:380px){
  .pdbpro-calendar-server{
    width:min(100%, 300px);
    max-width:300px;
    padding:9px;
  }
  .pdbpro-server-day,
  .pdbpro-cal-blank{
    min-height:30px;
  }
  .pdbpro-server-day{
    font-size:12px;
  }
}
