
/* Professional homepage + compact scheduler polish */
.hero-grid-professional{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:26px;align-items:start}
.doctor-profile{overflow:hidden;padding:0;display:flex;flex-direction:column;align-self:start}
.doctor-photo-wrap{padding:22px 22px 0}
.doctor-profile .portrait{display:block;width:100%;height:400px;object-fit:cover;object-position:center top;border-radius:24px}
.doctor-profile-content{padding:22px 24px 26px}
.doctor-profile-content h1{margin:0 0 12px;font-size:46px;line-height:1.1;color:var(--p2)}
.doctor-profile-content .doctorname{margin-bottom:10px}
.doctor-profile-content p{margin:12px 0 0}
.appointment-panel{align-self:start}

/* Override old 3-column hero on homepage */
.hero-grid-professional > .appointment-panel{grid-column:auto}

/* Scheduler compact, cleaner, more professional */
.pro-scheduler{border:1px solid #eadff1;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fcfbfe 100%);box-shadow:0 12px 28px rgba(67,18,105,.06);margin-top:14px}
.pro-schedule-head{padding:14px 14px 12px}
.pro-schedule-title{font-size:15px;letter-spacing:.1px}
.pro-schedule-sub{font-size:11px}
.pro-date-button{min-width:146px;height:40px;border-radius:11px;font-size:14px}
.pro-day-tab{padding:10px 5px 8px}
.pro-day-tab b{font-size:12px}
.pro-day-tab small{font-size:10px}
.pro-slot-card{padding:12px}
.pro-slot-top{margin-bottom:8px}
.pro-slot-top b{font-size:15px}
.pro-slot-top span{font-size:11px;padding:4px 8px}
.pro-period{margin-top:10px}
.pro-period-name{font-size:12px;margin-bottom:7px}
.pro-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.pro-slot{min-height:34px;padding:5px 2px;font-size:11px;border-radius:8px;line-height:1.1}
.pro-empty{padding:10px;font-size:12px}
.alert{margin-top:12px;font-size:13px;line-height:1.6}

@media (min-width: 1181px){
  .hero-grid-professional{grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr)}
  .doctor-profile .portrait{height:430px}
}

@media (max-width: 1180px){
  .hero-grid-professional{grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr)}
  .doctor-profile .portrait{height:360px}
  .doctor-profile-content h1{font-size:40px}
}

@media (max-width: 1024px){
  .hero-grid-professional{grid-template-columns:1fr !important;gap:18px !important}
  .hero-grid-professional > .appointment-panel{grid-column:auto !important}
  .doctor-profile .portrait{height:340px}
}

@media (max-width: 640px){
  .doctor-photo-wrap{padding:16px 16px 0}
  .doctor-profile-content{padding:18px 16px 20px}
  .doctor-profile .portrait{height:auto;aspect-ratio:4/5;border-radius:18px}
  .doctor-profile-content h1{font-size:31px !important;text-align:center}
  .pro-date-button{min-width:0;width:100%}
  .pro-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pro-slot{min-height:36px;font-size:11px}
}

/* Public live queue navigation */
.menu a.queue-cta{background:#1fa85b !important;color:#fff !important;border-color:#1fa85b !important}.menu a.queue-cta:hover{background:#16864b !important;color:#fff !important}
