.resource-detail-header{border-bottom:1px solid var(--line);background:#fff;color:var(--ink)}
.resource-detail-header-inner{padding-top:24px;padding-bottom:26px}
.resource-detail-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;color:var(--green);font-size:.86rem;font-weight:750}
.resource-detail-back:hover{text-decoration:underline}
.resource-detail-header .hospital-detail-badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.resource-detail-header .badge{background:#edf3f0;color:var(--green);letter-spacing:0}
.resource-detail-header-inner>.badge{display:table;margin-bottom:8px}
.resource-detail-header .eyebrow{margin:0 0 7px;letter-spacing:0}
.resource-detail-header h1{max-width:900px;margin:5px 0 8px;font-family:Georgia,"Noto Serif",serif;font-size:2.15rem;line-height:1.2;letter-spacing:0}
/* 英文/蒙文下医院名称常较长，强制单行显示，超出以省略号收尾，避免换行撑乱头部布局 */
html[data-language="en"] .hospital-detail-heading h1,html[data-language="mn"] .hospital-detail-heading h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.resource-detail-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.resource-detail-title-row h1{flex:0 1 auto;margin:5px 0 8px}.resource-detail-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.resource-detail-actions .favorite-control{margin:0}.resource-detail-header .resource-detail-title-row .favorite-button{min-width:94px;min-height:40px;padding:6px 12px;font-size:.86rem}.resource-detail-header.doctor-detail-header .favorite-button{min-width:104px;min-height:42px;padding:8px 15px;font-size:.9rem}.resource-detail-header .resource-detail-title-row .favorite-button span{font-size:1rem}.resource-detail-header.doctor-detail-header .favorite-button span{font-size:1.05rem}.resource-detail-header .appointment-button{min-height:40px;padding:8px 15px}
.resource-detail-header p{max-width:850px;margin:0;color:var(--muted);font-size:.95rem}
.hospital-detail-identity{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:18px}
.hospital-detail-logo{display:grid;width:86px;height:86px;place-items:center;overflow:hidden;border:1px solid #d6e2de;border-radius:13px;background:#fff;box-shadow:0 7px 20px rgba(20,65,53,.09)}
.hospital-detail-logo img{display:block;width:100%;height:100%;box-sizing:border-box;padding:8px;object-fit:contain}
.hospital-detail-logo span{color:var(--primary);font-family:Georgia,"Noto Serif",serif;font-size:2.25rem;line-height:1}
.hospital-detail-heading{min-width:0}
.resource-detail-header .favorite-control{margin-top:16px}
.resource-detail-header .hospital-detail-actions .favorite-control{margin-top:0}
.resource-detail-header.doctor-detail-header .resource-detail-actions{gap:12px}
.resource-detail-header.doctor-detail-header .resource-detail-actions .favorite-control{margin-top:0}
.resource-detail-header.doctor-detail-header .resource-detail-actions .button,
.resource-detail-header.doctor-detail-header .resource-detail-actions .favorite-control a,
.resource-detail-header.doctor-detail-header .resource-detail-actions .favorite-control button{
  min-height:44px !important;
  padding:0 18px !important;
  font-size:1rem !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  border-radius:999px !important;
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease !important
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .appointment-button,
.resource-detail-header.doctor-detail-header .resource-detail-actions .favorite-button{min-width:120px !important}
.resource-detail-header.doctor-detail-header .resource-detail-actions .appointment-button{
  border-color:var(--portal-navy, #003087) !important;
  background:var(--portal-navy, #003087) !important;
  color:#fff !important;
  text-decoration:none !important;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .appointment-button:hover{
  border-color:var(--official-red-dark, #001f5f) !important;
  background:var(--official-red-dark, #001f5f) !important;
  color:#fff !important;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .favorite-button{
  border-color:var(--portal-navy, #003087) !important;
  background:var(--portal-sky, #f2f6fb) !important;
  color:var(--portal-navy, #003087) !important;
  text-decoration:none !important;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .favorite-button span{color:var(--portal-navy, #003087)}
.resource-detail-header.doctor-detail-header .resource-detail-actions .favorite-button:hover,
.resource-detail-header.doctor-detail-header .resource-detail-actions .favorite-button.saved{
  border-color:var(--official-red-dark, #001f5f) !important;
  background:var(--portal-sky, #edf5ff) !important;
  color:var(--official-red-dark, #001f5f) !important;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .button:hover{
  transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,48,135,.12)
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .doctor-detail-actions{
  align-items:stretch;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .doctor-favorite-button,
.resource-detail-header.doctor-detail-header .resource-detail-actions .doctor-appointment-button,
.resource-detail-header.doctor-detail-header .resource-detail-actions .favorite-control{
  display:inline-flex !important;
  align-items:center !important;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .doctor-favorite-button,
.resource-detail-header.doctor-detail-header .resource-detail-actions .doctor-appointment-button{
  min-width:128px !important;
  min-height:44px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  font-size:1rem !important;
  line-height:1.05 !important;
  letter-spacing:.01em !important;
  font-weight:800 !important;
  text-decoration:none !important;
  white-space:nowrap;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .doctor-favorite-button{
  border:1px solid var(--portal-navy, #003087) !important;
  background:var(--portal-sky, #f4f8ff) !important;
  color:var(--portal-navy, #003087) !important;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .doctor-favorite-button:hover,
.resource-detail-header.doctor-detail-header .resource-detail-actions .doctor-favorite-button.saved{
  border-color:var(--official-red-dark, #001f5f) !important;
  background:#edf5ff !important;
  color:var(--official-red-dark, #001f5f) !important;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .doctor-appointment-button{
  border-color:var(--portal-navy, #003087) !important;
  background:var(--portal-navy, #003087) !important;
  color:#fff !important;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .doctor-appointment-button:hover{
  border-color:var(--official-red-dark, #001f5f) !important;
  background:var(--official-red-dark, #001f5f) !important;
  color:#fff !important;
}
.resource-detail-header.doctor-detail-header .resource-detail-actions .favorite-control{
  margin:0 !important;
}
.resource-detail-header .favorite-button{min-height:48px;border-color:#9eb5ac;background:#fff;color:var(--green);padding:11px 20px}
.resource-detail-header .favorite-button:hover,.resource-detail-header .favorite-button.saved{border-color:var(--green);background:#edf3f0;color:var(--green)}
.hospital-featured-departments{border-top:1px solid #dce8e3;border-bottom:1px solid #dce8e3;background:#f3f8f6}
.hospital-featured-inner{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,2fr);gap:34px;align-items:center;padding-top:26px;padding-bottom:26px}
.hospital-featured-heading{display:flex;gap:14px;align-items:flex-start}
.hospital-featured-mark{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--gold);color:#fff;font-size:1rem;box-shadow:0 0 0 5px rgba(184,139,48,.12)}
.hospital-featured-kicker{margin:1px 0 4px;color:#88651f;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hospital-featured-heading h2{margin:0;color:var(--green);font-family:Georgia,"Noto Serif",serif;font-size:1.55rem;line-height:1.25}
.hospital-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hospital-featured-card{position:relative;display:flex;min-width:0;min-height:118px;flex-direction:column;border:1px solid #cbded6;border-left:4px solid var(--green);border-radius:8px;background:#fff;padding:16px 17px;color:var(--ink);box-shadow:0 4px 14px rgba(23,70,52,.05);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.hospital-featured-card:hover{border-color:#8db2a3;box-shadow:0 8px 20px rgba(23,70,52,.1);transform:translateY(-2px)}
.hospital-featured-parent{overflow:hidden;margin-bottom:7px;color:var(--muted);font-size:.76rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.hospital-featured-card strong{overflow-wrap:anywhere;color:var(--green);font-size:1.04rem;line-height:1.4}
.hospital-featured-name{display:block;color:inherit;text-decoration:none}.hospital-featured-name:hover strong,.hospital-featured-name:focus-visible strong{text-decoration:underline}.hospital-featured-name:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.hospital-featured-introduction{margin-top:8px}.hospital-featured-introduction .department-introduction-preview{-webkit-line-clamp:2;font-size:.8rem;line-height:1.55}.hospital-featured-introduction .department-introduction-action{margin-top:5px;font-size:.76rem}
.hospital-featured-link{display:flex;gap:6px;align-items:center;margin-top:auto;padding-top:12px;color:#88651f;font-size:.78rem;font-weight:750}
body[data-path^="/hospitals/"][data-path*="/departments/"] .resource-detail-header .resource-detail-actions{align-items:stretch}
body[data-path^="/hospitals/"][data-path*="/departments/"] .resource-detail-header .resource-detail-actions .favorite-control{display:flex;align-items:stretch;margin:0}
body[data-path^="/hospitals/"][data-path*="/departments/"] .resource-detail-header .resource-detail-actions .favorite-button,
body[data-path^="/hospitals/"][data-path*="/departments/"] .resource-detail-header .resource-detail-actions .appointment-button{height:44px;min-height:44px;padding-top:0;padding-bottom:0}
.resource-detail-shell{margin-top:0;margin-bottom:56px;padding:28px 0 0;background:transparent;box-shadow:none}
.resource-detail-tabs{gap:0;border-bottom:1px solid var(--line);background:transparent}
.resource-detail-tabs button{min-height:44px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:10px 15px;font-size:.9rem;font-weight:750;letter-spacing:0}
.resource-detail-tabs button:hover{color:var(--green);background:#edf3f0}
.resource-detail-tabs button.active{border-bottom-color:var(--green);background:transparent;color:var(--green)}
.resource-detail-shell>.tab-panel{padding:28px 0}
.resource-detail-shell>.tab-panel>p,.resource-detail-shell .formatted-content{max-width:78ch;font-size:1rem;line-height:1.78}
.resource-detail-shell>.tab-panel>p{margin:0;white-space:pre-line}
.resource-detail-shell .formatted-content:first-line{font-weight:inherit}
.resource-detail-shell .relation-sections h2{margin:28px 0 12px;font-family:inherit;font-size:1.15rem;letter-spacing:0}
.resource-detail-shell .relation-sections h2:first-child{margin-top:0}
.resource-detail-shell .medical-warning{max-width:78ch;margin-top:28px;border-left:3px solid var(--gold);background:#f7f5ef;padding:10px 14px;color:var(--muted);font-size:.82rem}
.resource-detail-shell .department-groups,.resource-detail-shell .department-group,.resource-detail-shell .department-children,.resource-detail-shell .department-card{min-width:0}
.resource-detail-shell .department-detail-introduction{max-width:none}
.resource-detail-shell .department-detail-introduction .formatted-content{border-left:0;padding:0}
.resource-detail-shell .doctor-profile{max-width:78ch}
.resource-detail-shell .doctor-profile p{font-size:.95rem;line-height:1.78}
.resource-detail-shell .doctor-profile h2{margin:0 0 12px;font-family:inherit;font-size:1.1rem;line-height:1.55;letter-spacing:0}
.doctor-detail-identity{display:grid;grid-template-columns:112px minmax(0,1fr);gap:24px;align-items:center}.doctor-detail-identity>img{display:block;width:112px;height:132px;object-fit:cover;border:1px solid #c9d8e5;border-radius:10px;background:#eef4f8}.doctor-profile-empty{padding:28px;border:1px dashed #b9c9d7;border-radius:8px;background:#f8fbfd}.doctor-profile-empty>p{margin:8px 0 18px!important}.doctor-profile-empty .button{display:inline-flex}
@media(max-width:600px){.resource-detail-header-inner{padding-top:18px;padding-bottom:20px}.resource-detail-back{margin-bottom:14px}.resource-detail-header h1{font-size:1.7rem}.hospital-detail-identity{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:12px}.hospital-detail-logo{width:58px;height:58px;border-radius:10px}.hospital-detail-logo img{padding:5px}.hospital-detail-logo span{font-size:1.65rem}.hospital-detail-heading .resource-detail-title-row{align-items:flex-start}.resource-detail-shell{padding-top:18px;margin-bottom:40px}.resource-detail-tabs button{padding:9px 12px;font-size:.85rem}.resource-detail-shell>.tab-panel{padding:22px 0}.resource-detail-shell>.tab-panel>p,.resource-detail-shell .formatted-content{font-size:.95rem;line-height:1.72}.resource-detail-shell .department-group{width:100%;overflow:hidden;padding:16px}.resource-detail-shell .department-children{display:block;width:100%}.resource-detail-shell .department-card{width:100%;max-width:100%;overflow:hidden}.resource-detail-shell .department-card+.department-card{margin-top:12px}.resource-detail-shell .department-name-link span:first-child,.resource-detail-shell .department-introduction-preview{min-width:0;max-width:100%}}
@media(max-width:900px){.hospital-featured-inner{grid-template-columns:1fr;gap:18px}.hospital-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hospital-featured-inner{padding-top:22px;padding-bottom:22px}.hospital-featured-grid{grid-template-columns:1fr}.hospital-featured-card{min-height:102px}.hospital-featured-heading h2{font-size:1.35rem}}
@media(max-width:600px){.doctor-detail-identity{grid-template-columns:72px minmax(0,1fr);gap:13px}.doctor-detail-identity>img{width:72px;height:88px}.doctor-detail-identity .resource-detail-title-row{align-items:flex-start}.doctor-detail-identity .resource-detail-actions{grid-column:1/-1}}
