:root{
  --rx-blue:#0b5ed7;
  --rx-blue-dark:#073b88;
  --rx-green:#059669;
  --rx-green-dark:#047857;
  --rx-ink:#0b1f44;
  --rx-muted:#5b708b;
  --rx-line:#dbeafe;
  --rx-soft:#f5f9ff;
  --rx-card:#ffffff;
  --rx-shadow:0 18px 46px rgba(11,94,215,.10);
  --rx-radius:20px;
  --rx-font:Calibri,Candara,"Segoe UI",Arial,sans-serif;
}
html,body{font-family:var(--rx-font)!important;background:#f5f9ff!important;color:var(--rx-ink)!important;font-size:15px;line-height:1.42;}
body.rx-standard-shell{min-height:100vh;overflow-x:hidden;background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%)!important;}
body.rx-standard-shell *{box-sizing:border-box;}
body.rx-standard-shell a{text-decoration:none;}

/* Public before-login header: one clean header everywhere */
body.rx-standard-shell .rx-topbar{
  width:min(1180px,calc(100% - 24px))!important;
  margin:10px auto 0!important;
  min-height:66px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:10px 14px!important;
  border:1px solid var(--rx-line)!important;
  border-radius:0 0 22px 22px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 12px 30px rgba(11,94,215,.08)!important;
  position:relative!important;
  z-index:60!important;
}
body.rx-standard-shell .rx-brand,
body.rx-standard-shell .rx-logo-brand{
  display:inline-flex!important;align-items:center!important;min-width:0!important;flex:0 0 auto!important;
}
body.rx-standard-shell .rx-brand img,
body.rx-standard-shell .rx-logo-brand img{
  width:auto!important;height:44px!important;max-width:190px!important;object-fit:contain!important;display:block!important;
}
body.rx-standard-shell .rx-topnav{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  position:static!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
}
body.rx-standard-shell .rx-topnav a,
body.rx-standard-shell .rx-inline-form button,
body.rx-standard-shell .rx-topnav button{
  height:40px!important;min-height:40px!important;
  padding:0 18px!important;border-radius:10px!important;
  border:1px solid rgba(5,150,105,.25)!important;
  background:linear-gradient(135deg,var(--rx-green),#08b889)!important;
  color:#fff!important;font-weight:800!important;font-size:.88rem!important;
  letter-spacing:.01em!important;box-shadow:0 12px 24px rgba(5,150,105,.14)!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  white-space:nowrap!important;
}
body.rx-standard-shell .rx-topnav a.active,
body.rx-standard-shell .rx-inline-form button.active{background:linear-gradient(135deg,var(--rx-blue),#0a78ee)!important;border-color:rgba(11,94,215,.35)!important;box-shadow:0 12px 24px rgba(11,94,215,.16)!important;}
body.rx-standard-shell .rx-public-menu-button{
  display:none!important;width:44px!important;height:44px!important;border:0!important;border-radius:13px!important;
  background:linear-gradient(135deg,var(--rx-blue),#0a78ee)!important;color:#fff!important;font-weight:900!important;font-size:1.2rem!important;
  box-shadow:0 14px 28px rgba(11,94,215,.20)!important;align-items:center!important;justify-content:center!important;position:static!important;transform:none!important;
}
body.rx-standard-shell .rx-public-drawer{position:fixed;top:0;right:0;width:min(320px,86vw);height:100vh;background:#fff;box-shadow:-24px 0 56px rgba(11,31,68,.22);z-index:120;transform:translateX(105%);transition:transform .22s ease;border-left:1px solid var(--rx-line);padding:18px;}
body.rx-standard-shell.rx-public-menu-open .rx-public-drawer{transform:translateX(0);}
body.rx-standard-shell .rx-public-menu-backdrop{position:fixed;inset:0;background:rgba(8,20,48,.42);z-index:110;display:none;}
body.rx-standard-shell.rx-public-menu-open .rx-public-menu-backdrop{display:block;}
body.rx-standard-shell .rx-public-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
body.rx-standard-shell .rx-public-drawer-head button{width:40px;height:40px;border-radius:12px;border:1px solid var(--rx-line);background:#f8fbff;color:var(--rx-ink);font-size:1.3rem;font-weight:900;}
body.rx-standard-shell .rx-public-drawer-nav{display:grid;gap:10px;}
body.rx-standard-shell .rx-public-drawer-nav a,
body.rx-standard-shell .rx-public-drawer-form button{width:100%;min-height:46px;padding:0 16px;border-radius:13px;border:1px solid rgba(5,150,105,.25);background:linear-gradient(135deg,var(--rx-green),#08b889);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;}
body.rx-standard-shell .rx-public-drawer-nav a.active{background:linear-gradient(135deg,var(--rx-blue),#0a78ee);}
body.rx-standard-shell .rx-page{width:100%;padding:0!important;margin:0!important;}

/* shared public pages: force index design language */
.rxpub-page{width:min(1180px,calc(100% - 24px))!important;margin:0 auto!important;padding:18px 0 54px!important;font-family:var(--rx-font)!important;}
.rxpub-page h1{font-size:clamp(2rem,4.3vw,3.7rem)!important;line-height:1.03!important;letter-spacing:-.06em!important;color:var(--rx-ink)!important;margin:0 0 10px!important;}
.rxpub-page h2{font-size:clamp(1.1rem,2vw,1.34rem)!important;line-height:1.12!important;letter-spacing:-.035em!important;color:var(--rx-ink)!important;margin:0!important;}
.rxpub-page h3{font-size:1rem!important;line-height:1.18!important;color:var(--rx-ink)!important;margin:0 0 5px!important;}
.rxpub-page p{font-size:.96rem!important;color:var(--rx-muted)!important;line-height:1.45!important;margin:0 0 12px!important;}
.rxpub-hero,.rxpub-panel,.rxpub-doctor-card,.rxpub-location-card,.rxpub-slot-card{border:1px solid var(--rx-line)!important;background:rgba(255,255,255,.96)!important;border-radius:22px!important;box-shadow:0 16px 38px rgba(11,94,215,.08)!important;}
.rxpub-hero{background:linear-gradient(135deg,#fff 0%,#f8fbff 48%,#edf7ff 100%)!important;}
.rxpub-kicker{background:#eef7ff!important;color:var(--rx-blue)!important;border:1px solid #d7eaff!important;font-weight:900!important;font-size:.72rem!important;letter-spacing:.08em!important;}
.rxpub-btn,.rxpub-search-form button{border-radius:12px!important;font-weight:900!important;min-height:42px!important;}
.rxpub-btn-primary,.rxpub-search-form button{background:linear-gradient(135deg,var(--rx-green),#08b889)!important;color:#fff!important;border:0!important;box-shadow:0 14px 26px rgba(5,150,105,.18)!important;}
.rxpub-btn-secondary{background:#fff!important;color:var(--rx-blue)!important;border:1px solid #cfe4ff!important;box-shadow:0 10px 20px rgba(11,94,215,.07)!important;}
.rxpub-search-form{display:grid!important;grid-template-columns:minmax(0,1fr) 210px 140px!important;gap:10px!important;align-items:center!important;}
.rxpub-booking-form{grid-template-columns:minmax(0,1fr) 190px 150px!important;}
.rxpub-search-form label{min-width:0!important;}
.rxpub-search-form input,.rxpub-search-form select{width:100%!important;min-width:0!important;}
.rxpub-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.rxpub-action-grid a{min-height:108px!important;border-radius:18px!important;transition:transform .18s ease, box-shadow .18s ease!important;}
.rxpub-action-grid a:hover,.rxpub-slot-card:hover,.rxpub-doctor-card:hover,.rxpub-location-card:hover{transform:translateY(-2px);box-shadow:0 22px 44px rgba(11,94,215,.12)!important;}
.rxpub-steps-line{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.rxpub-steps-line article span{display:block;color:var(--rx-muted);font-size:.72rem;font-weight:700;margin-top:2px;}

/* Booking appointment page */
.rxpub-booking-page .rxpub-hero{grid-template-columns:minmax(0,1fr) 320px!important;}
.rxpub-booking-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.rxpub-slot-card{padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0;}
.rxpub-slot-card .rxpub-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center;}
.rxpub-slot-card .rxpub-card-top span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rx-blue);font-weight:900;background:#eef7ff;border-radius:999px;padding:5px 9px;}
.rxpub-slot-card .rxpub-card-top b{font-size:.72rem;color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;padding:5px 9px;}
.rxpub-slot-meta{display:grid;gap:6px;}
.rxpub-slot-meta span,.rxpub-slot-address{font-size:.8rem;color:var(--rx-muted);line-height:1.35;}
.rxpub-slot-address{font-style:normal;display:block;}
.rxpub-booking-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.rxpub-mini-list{display:grid;gap:8px;}
.rxpub-mini-list a{padding:10px 12px;border:1px solid #e0edfc;border-radius:14px;background:#f9fcff;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.rxpub-mini-list b{font-size:.9rem;color:var(--rx-ink);}
.rxpub-mini-list span{font-size:.76rem;color:var(--rx-muted);text-align:right;}
.rxpub-empty{display:grid;gap:8px;align-items:start;}
.rxpub-empty strong{font-size:1rem;color:var(--rx-ink);}
.rxpub-empty span{font-size:.9rem;color:var(--rx-muted);}

/* Discovery page fit */
.rxpub-doctor-grid,.rxpub-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.rxpub-doctor-card,.rxpub-location-card{min-width:0!important;overflow:hidden!important;}
.rxpub-session-strip,.rxpub-session-list{min-width:0!important;}
.rxpub-session-strip a,.rxpub-session-list a{min-width:0!important;}

@media (max-width: 920px){
  body.rx-standard-shell .rx-topbar{width:100%!important;margin:0!important;border-radius:0!important;min-height:62px!important;padding:8px 12px!important;}
  body.rx-standard-shell .rx-brand img,body.rx-standard-shell .rx-logo-brand img{height:40px!important;max-width:170px!important;}
  body.rx-standard-shell .rx-topnav{display:none!important;}
  body.rx-standard-shell .rx-public-menu-button{display:inline-flex!important;margin-left:auto!important;}
  .rxpub-page{width:min(430px,calc(100% - 18px))!important;padding:12px 0 34px!important;}
  .rxpub-page h1{font-size:1.72rem!important;line-height:1.08!important;letter-spacing:-.04em!important;}
  .rxpub-page p{font-size:.9rem!important;}
  .rxpub-hero{grid-template-columns:1fr!important;padding:14px!important;border-radius:20px!important;gap:12px!important;}
  .rxpub-hero-card{min-height:auto!important;padding:14px!important;border-radius:18px!important;}
  .rxpub-search-form,.rxpub-booking-form{grid-template-columns:1fr!important;gap:8px!important;}
  .rxpub-search-form button{width:100%!important;}
  .rxpub-panel{margin-top:12px!important;padding:12px!important;border-radius:18px!important;}
  .rxpub-panel-head{margin-bottom:10px!important;}
  .rxpub-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
  .rxpub-action-grid a{min-height:92px!important;padding:10px!important;}
  .rxpub-steps-line{display:flex!important;overflow-x:auto!important;gap:8px!important;padding-bottom:4px!important;scroll-snap-type:x mandatory!important;}
  .rxpub-steps-line article{min-width:142px!important;scroll-snap-align:start!important;}
  .rxpub-map-preview{grid-template-columns:1fr!important;}
  .rxpub-map-preview img{height:150px!important;}
  .rxpub-booking-slot-grid{display:flex!important;overflow-x:auto!important;gap:10px!important;padding-bottom:6px!important;scroll-snap-type:x mandatory!important;}
  .rxpub-slot-card{min-width:86%!important;scroll-snap-align:start!important;}
  .rxpub-booking-support-grid{grid-template-columns:1fr!important;}
  .rxpub-doctor-grid,.rxpub-location-grid{display:flex!important;overflow-x:auto!important;gap:10px!important;padding-bottom:6px!important;scroll-snap-type:x mandatory!important;}
  .rxpub-doctor-card,.rxpub-location-card{min-width:86%!important;scroll-snap-align:start!important;}
  .rxpub-doctor-card{grid-template-columns:50px minmax(0,1fr)!important;}
  .rxpub-session-strip{grid-template-columns:1fr!important;}
  .rxpub-mini-list a{display:grid!important;gap:3px!important;}
  .rxpub-mini-list span{text-align:left!important;}
}
@media (max-width: 380px){
  body.rx-standard-shell .rx-brand img,body.rx-standard-shell .rx-logo-brand img{height:36px!important;max-width:150px!important;}
  .rxpub-page{width:calc(100% - 14px)!important;}
  .rxpub-page h1{font-size:1.55rem!important;}
  .rxpub-action-grid a{min-height:86px!important;}
}

/* RXOPD Booking Appointment mobile fit correction
   Keeps index design language while preventing Booking Summary and step cards from covering mobile screens. */
.rxpub-booking-page .rxpub-summary-card{min-width:0!important;overflow:hidden!important;}
.rxpub-booking-page .rxpub-summary-card .rxpub-mini-stats{min-width:0!important;}
.rxpub-booking-page .rxpub-summary-card .rxpub-mini-stats b{min-width:0!important;text-align:center!important;}
.rxpub-booking-page .rxpub-steps-line article{min-width:0!important;}

@media (max-width: 920px){
  .rxpub-booking-page .rxpub-booking-hero{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:stretch!important;}
  .rxpub-booking-page .rxpub-summary-card{width:100%!important;max-width:100%!important;min-height:0!important;padding:10px!important;border-radius:16px!important;box-shadow:0 10px 22px rgba(11,94,215,.07)!important;}
  .rxpub-booking-page .rxpub-summary-card>strong{display:block!important;font-size:.94rem!important;line-height:1.12!important;margin:0 0 3px!important;}
  .rxpub-booking-page .rxpub-summary-card>span{display:block!important;font-size:.76rem!important;line-height:1.25!important;margin:0 0 8px!important;color:var(--rx-muted)!important;}
  .rxpub-booking-page .rxpub-summary-card .rxpub-mini-stats.grid2{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;margin:0!important;}
  .rxpub-booking-page .rxpub-summary-card .rxpub-mini-stats b{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;min-height:44px!important;padding:5px 3px!important;border-radius:11px!important;font-size:.92rem!important;line-height:1!important;background:#f6fbff!important;border:1px solid #e0edfc!important;color:var(--rx-blue)!important;box-shadow:none!important;}
  .rxpub-booking-page .rxpub-summary-card .rxpub-mini-stats b em{display:block!important;font-size:.58rem!important;line-height:1.05!important;font-style:normal!important;font-weight:800!important;color:var(--rx-muted)!important;white-space:nowrap!important;}

  .rxpub-booking-page .rxpub-booking-flow-panel{padding:8px!important;border-radius:16px!important;margin-top:10px!important;}
  .rxpub-booking-page .rxpub-steps-line{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;overflow:visible!important;padding:0!important;}
  .rxpub-booking-page .rxpub-steps-line article{min-width:0!important;min-height:58px!important;padding:7px 3px!important;border-radius:12px!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;}
  .rxpub-booking-page .rxpub-steps-line article i{width:22px!important;height:22px!important;min-width:22px!important;border-radius:50%!important;font-size:.72rem!important;line-height:22px!important;margin:0!important;}
  .rxpub-booking-page .rxpub-steps-line article strong{font-size:.74rem!important;line-height:1.05!important;white-space:nowrap!important;}
  .rxpub-booking-page .rxpub-steps-line article span{font-size:.56rem!important;line-height:1.05!important;margin:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
}

@media (max-width: 380px){
  .rxpub-booking-page .rxpub-summary-card .rxpub-mini-stats.grid2{gap:4px!important;}
  .rxpub-booking-page .rxpub-summary-card .rxpub-mini-stats b{min-height:40px!important;padding:4px 2px!important;font-size:.84rem!important;}
  .rxpub-booking-page .rxpub-summary-card .rxpub-mini-stats b em{font-size:.53rem!important;}
  .rxpub-booking-page .rxpub-steps-line{gap:4px!important;}
  .rxpub-booking-page .rxpub-steps-line article{min-height:54px!important;padding:6px 2px!important;}
  .rxpub-booking-page .rxpub-steps-line article i{width:20px!important;height:20px!important;min-width:20px!important;font-size:.68rem!important;line-height:20px!important;}
  .rxpub-booking-page .rxpub-steps-line article strong{font-size:.68rem!important;}
  .rxpub-booking-page .rxpub-steps-line article span{display:none!important;}
}
