/* V63 — public doctors directory */
.doctor-directory{
  position:relative;
  width:100%;
  padding:34px 3vw 76px;
  background:
    radial-gradient(circle at 16% 14%,rgba(143,109,217,.16),transparent 30%),
    radial-gradient(circle at 84% 72%,rgba(75,193,219,.10),transparent 32%),
    linear-gradient(180deg,#110928 0%,#0b071d 100%);
  isolation:isolate;
}
.doctor-directory::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 100%);
}
.doctor-directory-shell{
  width:min(94vw,1820px);
  margin:0 auto;
}
.doctor-directory-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:14px;
  padding:22px 24px;
  border:1px solid rgba(218,194,255,.25);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(82,51,145,.11));
  box-shadow:0 18px 42px rgba(5,2,22,.20),inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
}
.doctor-directory-heading{min-width:0}
.doctor-directory-kicker{
  display:block;
  margin-bottom:7px;
  color:#e6d7ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.doctor-directory-heading h2{
  margin:0;
  color:#fff;
  font-size:clamp(25px,2.1vw,38px);
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.025em;
}
.doctor-search{
  position:relative;
  flex:0 1 410px;
  width:min(410px,100%);
  height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.33);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(149,111,219,.08));
  box-shadow:0 12px 28px rgba(6,2,25,.18),inset 0 1px 0 rgba(255,255,255,.25);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.doctor-search:focus-within{
  border-color:rgba(255,223,139,.78);
  background:linear-gradient(145deg,rgba(255,255,255,.20),rgba(149,111,219,.11));
  box-shadow:0 14px 30px rgba(6,2,25,.22),0 0 0 3px rgba(255,220,120,.08),inset 0 1px 0 rgba(255,255,255,.32);
}
.doctor-search-icon{
  width:20px;
  height:20px;
  flex:none;
  fill:none;
  stroke:#eadfff;
  stroke-width:1.9;
  stroke-linecap:round;
}
.doctor-search input{
  min-width:0;
  flex:1;
  height:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:600 13px/1.4 Inter,"Segoe UI",Tahoma,Arial,sans-serif;
}
.doctor-search input::placeholder{color:rgba(239,231,255,.64)}
.doctor-search input::-webkit-search-cancel-button{display:none}
.doctor-search-clear{
  flex:none;
  width:27px;
  height:27px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.doctor-search-clear:hover{background:rgba(255,255,255,.16)}
.doctor-results-status{
  min-height:25px;
  margin:0 4px 12px;
  color:rgba(239,231,255,.72);
  font-size:12px;
  font-weight:700;
}
.doctor-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.doctor-card{
  --doctor-accent:#9a7aeb;
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(221,199,255,.33);
  border-radius:28px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.15),rgba(82,54,139,.10) 45%,rgba(29,44,79,.10)),
    rgba(31,20,69,.72);
  box-shadow:0 20px 48px rgba(4,2,20,.26),inset 0 1px 0 rgba(255,255,255,.30);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s ease,box-shadow .28s ease;
}
.doctor-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  background:linear-gradient(90deg,transparent,var(--doctor-accent),transparent);
  box-shadow:0 0 24px var(--doctor-accent);
  opacity:.86;
}
.doctor-card::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-92px;
  top:-82px;
  border-radius:50%;
  background:var(--doctor-accent);
  filter:blur(48px);
  opacity:.14;
  pointer-events:none;
}
.doctor-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,231,168,.55);
  box-shadow:0 28px 58px rgba(4,2,20,.34),0 0 32px color-mix(in srgb,var(--doctor-accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.36);
}
.doctor-card-photo-wrap{
  position:relative;
  width:100%;
  aspect-ratio:1.32/1;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(103,69,165,.08));
}
.doctor-card-photo-wrap::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(to top,rgba(23,11,53,.78),transparent);
  pointer-events:none;
}
.doctor-card-photo{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
  filter:saturate(.96) contrast(1.02);
  transition:transform .42s ease,filter .42s ease;
}
.doctor-card:hover .doctor-card-photo{transform:scale(1.035);filter:saturate(1.06) contrast(1.03)}
.doctor-card-body{
  position:relative;
  z-index:2;
  padding:18px 18px 20px;
}
.doctor-card-name{
  margin:0 0 8px;
  color:#fff;
  font-size:18px;
  line-height:1.45;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.doctor-card-specialty{
  display:inline-flex;
  max-width:100%;
  min-height:30px;
  align-items:center;
  padding:5px 11px;
  margin-bottom:16px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:color-mix(in srgb,var(--doctor-accent) 25%,rgba(255,255,255,.08));
  color:#fff5d4;
  font-size:11.5px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.doctor-card-meta{
  display:grid;
  gap:9px;
  margin:0;
}
.doctor-card-meta-row{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(255,255,255,.055);
}
.doctor-card-meta-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.10);
  color:#ffe391;
  font-size:14px;
}
.doctor-card-meta-copy{min-width:0}
.doctor-card-meta-label{
  display:block;
  margin-bottom:2px;
  color:rgba(239,231,255,.56);
  font-size:10px;
  font-weight:700;
}
.doctor-card-meta-value{
  display:block;
  color:rgba(255,255,255,.91);
  font-size:12px;
  line-height:1.5;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.doctor-empty-state{
  min-height:260px;
  margin-top:4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px dashed rgba(255,255,255,.24);
  border-radius:28px;
  color:rgba(244,238,255,.82);
  background:rgba(255,255,255,.045);
}
.doctor-empty-state[hidden]{display:none}
.doctor-empty-icon{font-size:42px;color:#ffe08a;margin-bottom:10px}
.doctor-empty-state strong{font-size:18px;color:#fff}
.doctor-empty-state p{margin:8px 0 0;font-size:13px;color:rgba(239,231,255,.64)}
.doctor-directory.is-fa,
.doctor-directory.is-fa input{font-family:Tahoma,"Segoe UI",Arial,sans-serif}
.doctor-directory.is-fa{direction:rtl;text-align:right}
.doctor-directory.is-fa .doctor-directory-kicker{letter-spacing:0;text-transform:none}
.doctor-directory.is-fa .doctor-directory-heading h2{letter-spacing:0}
.doctor-directory.is-fa .doctor-card-meta-row{grid-template-columns:30px minmax(0,1fr)}
.doctor-directory.is-fa .doctor-search input{direction:rtl;text-align:right}

@media(max-width:1240px){
  .doctor-grid{gap:14px}
  .doctor-card-name{font-size:16px}
  .doctor-card-body{padding:16px}
}
@media(max-width:1020px){
  .doctor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doctor-directory-header{align-items:stretch;flex-direction:column}
  .doctor-search{flex-basis:auto;width:min(410px,100%)}
}
@media(max-width:620px){
  .doctor-directory{padding:22px 3vw 54px}
  .doctor-directory-header{padding:18px;border-radius:22px;gap:18px}
  .doctor-search{height:44px;max-width:none}
  .doctor-grid{grid-template-columns:1fr;gap:14px}
  .doctor-card{border-radius:23px}
  .doctor-card-photo-wrap{aspect-ratio:1.55/1}
  .doctor-results-status{margin-top:2px}
}

/* V64 — compact feedback controls; card outer dimensions remain unchanged */
.doctor-card-intro{
  position:relative;
  height:80px;
  min-height:80px;
  overflow:visible;
}
.doctor-card-identity{
  min-width:0;
  padding-left:132px;
}
.doctor-card-intro .doctor-card-name{margin:0 0 8px}
.doctor-card-intro .doctor-card-specialty{margin-bottom:0}
.doctor-feedback-panel{
  position:absolute;
  left:0;
  top:0;
  width:124px;
  z-index:4;
}
.doctor-feedback-row{
  width:124px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:2px;
  direction:ltr;
}
.doctor-feedback-icon{
  width:19px;
  height:22px;
  flex:0 0 19px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.16);
  border-radius:7px;
  background:rgba(255,255,255,.065);
  color:#fff;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.doctor-feedback-icon:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:rgba(255,226,146,.62);
  background:rgba(255,255,255,.13);
}
.doctor-feedback-icon.is-selected{
  border-color:rgba(255,226,139,.88);
  background:linear-gradient(145deg,rgba(255,213,101,.30),rgba(171,110,235,.22));
  box-shadow:0 0 12px rgba(255,214,108,.21),inset 0 1px 0 rgba(255,255,255,.28);
}
.doctor-feedback-icon:disabled{opacity:.55;cursor:wait}
.doctor-review-button{
  width:124px;
  height:27px;
  margin-top:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 7px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:9px;
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(141,96,218,.10));
  color:#f9f3ff;
  cursor:pointer;
  font:700 9.5px/1 Tahoma,"Segoe UI",Arial,sans-serif;
  white-space:nowrap;
}
.doctor-review-button:hover{border-color:rgba(255,229,159,.62);background:rgba(255,255,255,.15)}
.doctor-review-button span{color:#ffe18a;font-size:12px}
.doctor-review-button b{font:inherit;overflow:hidden;text-overflow:ellipsis}
.doctor-review-button em{
  min-width:18px;
  height:17px;
  display:grid;
  place-items:center;
  padding:0 4px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#fff4cf;
  font:800 9px/1 Inter,"Segoe UI",Arial,sans-serif;
  font-style:normal;
}
.doctor-review-dialog{
  width:min(500px,92vw);
  padding:0;
  border:1px solid rgba(225,205,255,.38);
  border-radius:25px;
  color:#fff;
  background:linear-gradient(145deg,rgba(38,22,77,.98),rgba(12,8,32,.98));
  box-shadow:0 36px 100px rgba(0,0,0,.64),inset 0 1px 0 rgba(255,255,255,.24);
  backdrop-filter:blur(22px);
}
.doctor-review-dialog::backdrop{background:rgba(3,1,13,.72);backdrop-filter:blur(6px)}
.doctor-review-dialog-shell{margin:0;padding:0}
.doctor-review-dialog header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 21px 15px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.doctor-review-dialog header span{display:block;color:#d9c5ff;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.doctor-review-dialog header h3{margin:5px 0 0;font-size:19px;color:#fff}
.doctor-review-dialog header button{width:32px;height:32px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.07);color:#fff;font-size:21px;cursor:pointer}
#doctorReviewMemberArea{padding:20px 21px}
.doctor-membership-message{padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.055)}
.doctor-membership-message strong{display:block;margin-bottom:7px;color:#ffe29a;font-size:14px}
.doctor-membership-message p{margin:0;color:rgba(255,255,255,.70);font-size:12px;line-height:1.9}
.doctor-review-field{display:grid;gap:8px}
.doctor-review-field>span{color:#eadfff;font-size:12px;font-weight:800}
.doctor-review-field textarea{width:100%;min-height:125px;resize:vertical;padding:12px;border:1px solid rgba(255,255,255,.20);border-radius:14px;outline:none;background:rgba(5,2,17,.46);color:#fff;font:500 13px/1.8 Tahoma,"Segoe UI",Arial,sans-serif}
.doctor-review-field textarea:focus{border-color:rgba(216,175,255,.75);box-shadow:0 0 0 3px rgba(171,115,231,.14)}
.doctor-review-field small{justify-self:end;color:rgba(255,255,255,.48);font-size:10px}
.doctor-review-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 21px 20px}
.doctor-dialog-primary,.doctor-dialog-secondary{min-width:112px;height:39px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:11px;text-decoration:none;font:800 11px/1 Tahoma,"Segoe UI",Arial,sans-serif;cursor:pointer}
.doctor-dialog-primary{border:0;background:linear-gradient(135deg,#9b70e7,#48c7df);color:#fff;box-shadow:0 11px 25px rgba(70,43,155,.30)}
.doctor-dialog-secondary{border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.07);color:#f2eaff}
.doctor-dialog-primary:disabled{opacity:.55;cursor:wait}
.doctor-feedback-toast{position:fixed;left:50%;bottom:26px;z-index:3000;max-width:min(420px,88vw);padding:11px 15px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(24,13,52,.96);color:#fff;font:700 12px/1.7 Tahoma,"Segoe UI",Arial,sans-serif;box-shadow:0 18px 45px rgba(0,0,0,.40);transform:translate(-50%,22px);opacity:0;pointer-events:none;transition:.22s ease}
.doctor-feedback-toast.is-visible{transform:translate(-50%,0);opacity:1}.doctor-feedback-toast[data-type="success"]{border-color:rgba(108,233,184,.48)}.doctor-feedback-toast[data-type="error"]{border-color:rgba(255,128,166,.52)}
.doctor-directory.is-fa .doctor-card-identity{text-align:right}
.doctor-directory.is-fa .doctor-feedback-panel{direction:rtl}
@media(max-width:1240px){.doctor-card-identity{padding-left:126px}.doctor-feedback-panel,.doctor-feedback-row,.doctor-review-button{width:118px}.doctor-feedback-row{gap:1px}.doctor-feedback-icon{width:18px;flex-basis:18px}}
@media(max-width:360px){.doctor-card-identity{padding-left:120px}.doctor-feedback-panel,.doctor-feedback-row,.doctor-review-button{width:112px}.doctor-feedback-icon{width:17px;flex-basis:17px;font-size:11px}}

/* V65 — visible reaction counters without changing doctor-card dimensions */
.doctor-feedback-icon{
  grid-template-rows:13px 7px;
  align-content:center;
  justify-items:center;
  row-gap:0;
  overflow:visible;
}
.doctor-feedback-symbol{
  display:block;
  height:13px;
  font-size:11px;
  line-height:13px;
}
.doctor-feedback-count{
  display:block;
  min-width:100%;
  height:7px;
  margin:0;
  color:rgba(255,255,255,.78);
  font:800 7px/7px Inter,"Segoe UI",Tahoma,Arial,sans-serif;
  text-align:center;
  letter-spacing:-.02em;
}
.doctor-feedback-icon.is-selected .doctor-feedback-count{color:#fff1b5}

/* V66 — one exclusive vote and one exclusive emoji per browser/doctor. */
.doctor-feedback-icon[role="radio"][aria-checked="true"]{
  border-color:rgba(255,226,139,.94);
}
