:root{--ddp-green:#a7c5a5;--ddp-green-dark:#586953;--ddp-border:#a8c7a6;--ddp-text:#7c7c7c;--ddp-bg:#f3f8fb;--ddp-white:#fff}
.ddp-directory,.ddp-profile-page{font-family:Arial,Helvetica,sans-serif;color:#666}.ddp-directory *,.ddp-profile-page *{box-sizing:border-box}
.ddp-search-form{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:14px;align-items:end;padding:22px;margin:0 0 26px;background:#fff;border:1px solid #d9e5d8;border-radius:14px;box-shadow:0 8px 24px rgba(76,99,73,.08)}
.ddp-search-field label{display:block;font-size:13px;font-weight:700;color:#667063;margin-bottom:7px}.ddp-search-field input,.ddp-search-field select{width:100%;height:48px;border:1px solid #c9d9c7;border-radius:10px;padding:0 14px;background:#fff;color:#555;outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.ddp-search-field input:focus,.ddp-search-field select:focus{border-color:#91b18f;box-shadow:0 0 0 4px rgba(145,177,143,.14);transform:translateY(-1px)}
.ddp-search-submit-wrap{display:flex;gap:9px}.ddp-search-submit,.ddp-search-reset{height:48px;border-radius:10px;padding:0 19px;cursor:pointer;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.ddp-search-submit{background:linear-gradient(135deg,#a8c7a6,#8eaf8b);border:1px solid #8eaf8b;color:white;box-shadow:0 6px 14px rgba(111,143,107,.2)}.ddp-search-submit:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(111,143,107,.27)}.ddp-search-reset{background:white;border:1px solid #c9d9c7;color:#748073}.ddp-search-reset:hover{background:#f5f9f5;color:#586953;transform:translateY(-1px)}
.ddp-results{display:grid;gap:24px;transition:opacity .18s ease}.ddp-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ddp-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ddp-card{display:grid;grid-template-columns:210px 1fr;min-height:230px;background:#fff;border:1px solid var(--ddp-border);border-radius:10px;padding:25px;box-shadow:0 2px 5px rgba(0,0,0,.14);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.ddp-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(70,95,68,.13);border-color:#91b18f}
.ddp-photo-wrap{display:flex;align-items:center;justify-content:center}.ddp-photo{width:180px;height:180px;border-radius:50%;object-fit:cover;border:1px solid var(--ddp-border);background:#f6faf6}.ddp-card-content{display:flex;flex-direction:column;justify-content:center;padding-left:28px}.ddp-name{margin:0 0 10px;color:var(--ddp-green);font-size:26px;line-height:1.15;font-weight:700}.ddp-qualification{font-size:17px;font-weight:700;line-height:1.45;color:#808080;margin-bottom:9px}.ddp-speciality,.ddp-experience{font-size:15px;line-height:1.45;color:#808080;margin-bottom:8px}.ddp-speciality strong,.ddp-experience strong{color:#696969}.ddp-experience{margin-bottom:17px}.ddp-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ddp-btn{position:relative;display:flex;align-items:center;justify-content:center;min-height:45px;padding:10px 15px;border-radius:8px;text-decoration:none!important;font-size:15px;font-weight:600;letter-spacing:.1px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.ddp-btn-primary{background:linear-gradient(135deg,#a9c8a7,#91b18f);border:1px solid #91b18f;color:#fff!important;box-shadow:0 5px 12px rgba(100,132,97,.16)}.ddp-btn-outline{background:#fff;border:1px solid #9fbe9c;color:#86a884!important}.ddp-btn-primary:hover{background:linear-gradient(135deg,#9cbd99,#82a87f);box-shadow:0 8px 18px rgba(100,132,97,.24);transform:translateY(-2px)}.ddp-btn-outline:hover{background:#f3f8f3;color:#657f63!important;box-shadow:0 7px 16px rgba(100,132,97,.12);transform:translateY(-2px)}.ddp-btn:focus-visible{outline:3px solid rgba(145,177,143,.28);outline-offset:2px}
.ddp-loading{display:none;text-align:center;padding:25px;color:#667063}.ddp-loading span{display:inline-block;width:18px;height:18px;border:2px solid #d4e2d3;border-top-color:#8daf8a;border-radius:50%;vertical-align:-4px;margin-right:8px;animation:ddpspin .7s linear infinite}.ddp-directory.ddp-is-loading .ddp-loading{display:block}.ddp-directory.ddp-is-loading .ddp-results{opacity:.45;pointer-events:none}@keyframes ddpspin{to{transform:rotate(360deg)}}.ddp-no-results{grid-column:1/-1;padding:35px;text-align:center;background:#fff;border:1px solid #dce6dc;border-radius:7px}
.ddp-container{width:min(100% - 40px,1150px);margin:auto}.ddp-profile-section{background:#f2f7fb;padding:66px 0 90px}.ddp-profile-grid{display:grid!important;grid-template-columns:300px minmax(0,1fr)!important;grid-template-areas:"sidebar content";gap:26px;align-items:start}.ddp-profile-sidebar,.ddp-profile-content{background:#fff}.ddp-profile-sidebar{grid-area:sidebar;padding:34px 34px 42px;min-height:870px}.ddp-profile-content{grid-area:content}.ddp-profile-image{width:150px;height:150px;border-radius:50%;object-fit:cover;border:1px solid #b8d4b7;display:block;margin:0 auto 14px}.ddp-profile-sidebar h2{font-size:21px;color:#111;margin:0 0 8px;font-weight:500}.ddp-designation{font-size:14px;line-height:1.6;color:#687160;margin-bottom:16px}.ddp-profile-block{margin:0 0 20px}.ddp-profile-block h4{font-size:14px;color:#111;margin:0 0 8px;font-weight:500}.ddp-profile-block p{margin:0;color:#838383;font-size:14px;line-height:1.6;white-space:pre-line}.ddp-sidebar-list{list-style:none!important;margin:0!important;padding:0!important}.ddp-sidebar-list li{position:relative;margin:0!important;padding:3px 0 3px 14px!important;color:#838383;font-size:14px;line-height:1.55}.ddp-sidebar-list li:before{content:"•";position:absolute;left:0;top:2px;color:#596a54}.ddp-degrees-block{padding-bottom:2px;border-bottom:1px solid #edf1ec}.ddp-small-label{display:block;font-size:12px;color:#707e68;margin-bottom:4px;letter-spacing:.2px}.ddp-timings h3{font-size:17px;color:#1d2530;font-weight:500;margin:0 0 12px}.ddp-timing-list{display:grid;gap:10px}.ddp-timing-row{display:grid;grid-template-columns:minmax(110px,1fr) auto;align-items:center;gap:16px;padding:0;font-size:16px;line-height:1.35}.ddp-timing-day{display:block;color:#526887;font-size:16px;font-weight:500;letter-spacing:.1px}.ddp-timing-time{display:block;color:#526887;font-size:16px;font-weight:500;text-align:right;white-space:nowrap}.ddp-timing-row.is-accent .ddp-timing-time,.ddp-timing-row.is-closed .ddp-timing-time{color:#ff0f64;font-weight:700}.ddp-profile-appointment{display:block;text-align:center;background:#596a54;color:#fff!important;text-decoration:none!important;padding:14px 12px;margin-top:24px}.ddp-profile-content{padding:42px 40px;min-height:870px}.ddp-detail-section{margin-bottom:24px}.ddp-detail-section h3{display:flex;align-items:center;gap:25px;color:#54624f;font-size:18px;font-weight:500;margin:0 0 14px}.ddp-detail-section h3:after{content:"";height:1px;width:210px;background:#768071;display:block}.ddp-copy{color:#7f7f7f;font-size:14px;line-height:1.85}.ddp-arrow-list{list-style:none;margin:0;padding:0}.ddp-arrow-list li{position:relative;padding:3px 0 3px 18px;color:#7f7f7f;font-size:14px;line-height:1.65}.ddp-arrow-list li:before{content:"›";position:absolute;left:0;top:1px;color:#596a54;font-size:22px;line-height:1}
@media(max-width:1050px){.ddp-search-form{grid-template-columns:1fr 1fr}.ddp-search-submit-wrap{grid-column:1/-1}.ddp-card{grid-template-columns:155px 1fr;padding:20px}.ddp-photo{width:140px;height:140px}.ddp-name{font-size:22px}.ddp-profile-grid{grid-template-columns:270px 1fr}.ddp-profile-sidebar{padding:28px 24px}.ddp-profile-content{padding:34px 28px}}
@media(max-width:800px){.ddp-columns-2,.ddp-columns-3{grid-template-columns:1fr}.ddp-profile-grid{grid-template-columns:1fr!important;grid-template-areas:"sidebar" "content"}.ddp-profile-sidebar,.ddp-profile-content{min-height:0}.ddp-profile-section{padding:35px 0 55px}.ddp-profile-sidebar{text-align:left}.ddp-profile-image{margin-left:auto;margin-right:auto}}
@media(max-width:560px){.ddp-search-form{grid-template-columns:1fr;padding:15px}.ddp-search-submit-wrap{grid-column:auto;flex-direction:column}.ddp-card{grid-template-columns:1fr;text-align:center;padding:20px 16px}.ddp-card-content{padding:18px 0 0}.ddp-card-actions{grid-template-columns:1fr}.ddp-photo{width:150px;height:150px}.ddp-name{font-size:22px}.ddp-qualification{font-size:15px}.ddp-container{width:min(100% - 24px,1150px)}.ddp-profile-content{padding:28px 20px}.ddp-detail-section h3{gap:14px}.ddp-detail-section h3:after{width:80px}}

/* Appointment popup / form */
body.ddp-modal-open{overflow:hidden}
.ddp-appointment-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.ddp-appointment-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.ddp-appointment-backdrop{position:absolute;inset:0;background:rgba(20,30,32,.72);backdrop-filter:blur(3px)}
.ddp-appointment-dialog{position:relative;z-index:2;width:min(1240px,96vw);max-height:94vh;overflow:auto;background:#f4f6f9;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.28);transform:translateY(18px) scale(.985);transition:transform .28s ease}
.ddp-appointment-modal.is-open .ddp-appointment-dialog{transform:translateY(0) scale(1)}
.ddp-appointment-close{position:absolute;right:14px;top:12px;z-index:5;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#50604d;font-size:30px;line-height:38px;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.12)}
.ddp-appointment-close:hover{transform:rotate(5deg);background:#fff}
.ddp-appointment-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;padding:28px 30px 34px;background:#f3f6f9;min-height:690px;box-sizing:border-box}
.ddp-appointment-form-side{align-self:center;padding:4px 0}
.ddp-appointment-form-side h2{margin:0 0 36px;font-size:30px;line-height:1.15;font-weight:500;color:#4c5b50;letter-spacing:.1px}
.ddp-selected-doctor{min-height:22px;margin:-24px 0 14px;color:#70806c;font-size:14px;font-weight:600}
.ddp-appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 36px}
.ddp-form-field{position:relative}
.ddp-form-full{grid-column:1/-1}
.ddp-form-half{grid-column:auto}
.ddp-form-field input,.ddp-form-field select{width:100%;height:68px;border:0!important;outline:0!important;border-radius:38px!important;background:#fff!important;color:#5f666c!important;padding:0 30px!important;font-size:16px!important;font-weight:600!important;box-shadow:none!important;box-sizing:border-box;transition:box-shadow .2s ease,transform .2s ease}
.ddp-form-field select{appearance:auto;cursor:pointer}
.ddp-form-field input::placeholder{color:#5f666c;opacity:1}
.ddp-form-field input:focus,.ddp-form-field select:focus{box-shadow:0 0 0 2px rgba(91,110,87,.18)!important;transform:translateY(-1px)}
.ddp-form-field input[type="date"]{color:#5f666c!important}
.ddp-appointment-submit{grid-column:1/-1;width:calc(100% - 36px);margin:0 auto;height:68px;border:0;border-radius:38px;background:#5c6d58;color:#fff;font-family:inherit;font-size:20px;font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.ddp-appointment-submit:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(65,82,62,.2)}
.ddp-appointment-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}
.ddp-appointment-submit span{margin-left:4px;font-size:24px;font-weight:300}
.ddp-form-message{grid-column:1/-1;min-height:0;text-align:center;font-size:14px;font-weight:600;margin:-4px 0 -2px}
.ddp-form-message.is-success{color:#477b46}
.ddp-form-message.is-error{color:#b53939}
.ddp-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.ddp-appointment-image-side{min-height:640px;border-radius:26px;overflow:hidden;background:#e9ecef}
.ddp-appointment-image-side img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ddp-inline-appointment{max-width:1240px;margin:30px auto}
.ddp-appointment-panel-inline{border-radius:18px;overflow:hidden}

@media(max-width:960px){
  .ddp-appointment-panel{grid-template-columns:1fr;min-height:0;padding:26px;gap:24px}
  .ddp-appointment-image-side{min-height:380px;order:-1}
  .ddp-appointment-form-side h2{margin-bottom:28px}
}
@media(max-width:620px){
  .ddp-appointment-modal{padding:10px}
  .ddp-appointment-dialog{width:100%;max-height:96vh;border-radius:14px}
  .ddp-appointment-panel{padding:22px 16px 24px;gap:18px}
  .ddp-appointment-image-side{min-height:260px;border-radius:18px}
  .ddp-appointment-form{grid-template-columns:1fr;gap:14px}
  .ddp-form-full,.ddp-form-half{grid-column:1/-1}
  .ddp-form-field input,.ddp-form-field select{height:58px;padding:0 22px!important;font-size:15px!important}
  .ddp-appointment-submit{width:100%;height:60px;font-size:18px}
  .ddp-appointment-form-side h2{font-size:24px;margin:0 0 24px}
  .ddp-selected-doctor{margin:-14px 0 10px}
  .ddp-appointment-close{width:38px;height:38px;right:8px;top:8px;font-size:28px;line-height:34px}
}

/* v1.1.4: doctor-name autocomplete, specialist visibility, compact buttons and stronger responsive rules */
.ddp-search-name{position:relative;z-index:20}
.ddp-name-autocomplete{position:relative}
.ddp-doctor-suggestions{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:9999;display:none;max-height:300px;overflow-y:auto;background:#fff;border:1px solid #d3e0d2;border-radius:10px;box-shadow:0 14px 34px rgba(65,85,63,.16);padding:6px}
.ddp-doctor-suggestions.is-open{display:block}
.ddp-doctor-suggestion{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:3px;border:0;background:#fff;border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer;color:#5e675c;transition:background .16s ease,color .16s ease}
.ddp-doctor-suggestion:hover,.ddp-doctor-suggestion.is-active{background:#f1f7f0;color:#51654f}
.ddp-suggestion-name{display:block;font-size:14px;font-weight:700;line-height:1.3}
.ddp-suggestion-meta{display:block;font-size:11px;font-weight:500;line-height:1.35;color:#8a9388}
.ddp-suggestion-empty{padding:12px 14px;font-size:13px;color:#848c82}
.ddp-speciality{display:block!important;visibility:visible!important;opacity:1!important;min-height:21px;color:#7c7c7c!important}
.ddp-speciality strong{display:inline!important;color:#696969!important;font-weight:700!important}
.ddp-btn{min-height:42px;padding:9px 13px;font-size:13px!important;line-height:1.2}
.ddp-search-submit,.ddp-search-reset{font-size:13px!important}
.ddp-profile-appointment{font-size:13px!important;border-radius:5px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.ddp-profile-appointment:hover{background:#4f614b;transform:translateY(-1px);box-shadow:0 7px 18px rgba(73,91,69,.18)}

@media(max-width:1180px){
  .ddp-card{grid-template-columns:165px minmax(0,1fr);padding:20px}
  .ddp-photo{width:145px;height:145px}
  .ddp-card-content{padding-left:20px}
  .ddp-name{font-size:22px}
  .ddp-qualification{font-size:15px}
  .ddp-speciality,.ddp-experience{font-size:14px}
  .ddp-btn{font-size:12.5px!important;padding:9px 10px}
}
@media(max-width:920px){
  .ddp-columns-2,.ddp-columns-3{grid-template-columns:1fr}
  .ddp-search-form{grid-template-columns:1fr 1fr}
  .ddp-search-name{grid-column:1/-1}
  .ddp-search-submit-wrap{grid-column:1/-1}
  .ddp-card{grid-template-columns:175px minmax(0,1fr)}
  .ddp-photo{width:155px;height:155px}
}
@media(max-width:700px){
  .ddp-search-form{grid-template-columns:1fr;padding:16px;gap:12px}
  .ddp-search-name,.ddp-search-submit-wrap{grid-column:auto}
  .ddp-search-submit-wrap{display:grid;grid-template-columns:1fr 1fr}
  .ddp-card{grid-template-columns:135px minmax(0,1fr);min-height:0;padding:17px}
  .ddp-photo{width:120px;height:120px}
  .ddp-card-content{padding-left:16px}
  .ddp-name{font-size:20px;margin-bottom:7px}
  .ddp-qualification{font-size:14px;margin-bottom:6px}
  .ddp-speciality,.ddp-experience{font-size:13px;margin-bottom:6px}
  .ddp-experience{margin-bottom:12px}
  .ddp-card-actions{gap:8px}
  .ddp-btn{min-height:39px;font-size:12px!important;padding:8px}
  .ddp-doctor-suggestions{max-height:245px}
}
@media(max-width:480px){
  .ddp-results{gap:16px}
  .ddp-card{grid-template-columns:1fr;text-align:center;padding:18px 14px}
  .ddp-photo{width:132px;height:132px}
  .ddp-card-content{padding:14px 0 0}
  .ddp-card-actions{grid-template-columns:1fr 1fr;gap:8px}
  .ddp-btn{min-height:38px;font-size:11.5px!important;padding:8px 6px}
  .ddp-search-submit-wrap{grid-template-columns:1fr}
  .ddp-search-submit,.ddp-search-reset{width:100%;font-size:12px!important}
  .ddp-search-field label{font-size:12px}
  .ddp-search-field input,.ddp-search-field select{height:44px;font-size:14px}
  .ddp-name{font-size:19px}
  .ddp-qualification{font-size:13px}
  .ddp-speciality,.ddp-experience{font-size:12.5px}
}
@media(max-width:360px){
  .ddp-card-actions{grid-template-columns:1fr}
  .ddp-btn{font-size:12px!important}
}

/* v1.1.6 timing rows responsive refinement */
@media(max-width:800px){.ddp-timing-row{grid-template-columns:minmax(88px,1fr) auto;font-size:14px}.ddp-timing-day,.ddp-timing-time{font-size:14px}}
@media(max-width:420px){.ddp-timing-row{grid-template-columns:1fr;gap:4px}.ddp-timing-time{text-align:left;white-space:normal}}

/* v1.1.7 Elementor content compatibility */
.ddp-elementor-content{margin-top:24px}.ddp-elementor-content:empty{display:none}.ddp-elementor-content>*:first-child{margin-top:0}.ddp-elementor-content>*:last-child{margin-bottom:0}
