/**
 * 全站布局规范化（不改变业务 DOM；别名已有壳层类）
 * 加载顺序：dp-tokens → bootstrap → dp-layout → kq_dpfe / wx_dpfe / dpfe_bbs
 *
 * 标准壳层：
 *   后台：.main > .container-fluid > .panel > .panel-heading.dp
 *   社区/商城：.bbs-bg > .bbs-main.container|container-index
 *   微信：.wx-container.has-header.has-footer
 *   医生子页：.doc-pc-subpage / .doc-pc-subpage-root
 */
/* ========== 字号统一（覆盖 Bootstrap 默认，业务主题可再细化） ========== */
html,
body {
  font-family: var(--dp-font-family);
  font-size: var(--dp-font-size-base);
  line-height: var(--dp-line-height);
}

h1, .h1 { font-size: var(--dp-font-size-title); }
h2, .h2 { font-size: var(--dp-font-size-3xl); }
h3, .h3 { font-size: var(--dp-font-size-2xl); }
h4, .h4 { font-size: var(--dp-font-size-xl); }
h5, .h5 { font-size: var(--dp-font-size-lg); }
h6, .h6 { font-size: var(--dp-font-size-md); }

.btn,
.form-control,
.input-group-addon,
.input-group-btn > .btn,
select.form-control,
.label,
.badge,
.dropdown-menu,
.table,
.nav > li > a,
.navbar-nav > li > a,
.breadcrumb,
.pagination,
.list-group-item,
.panel-body,
.modal-body,
.alert {
  font-size: var(--dp-font-size-base);
}

.btn-lg,
.form-control-lg,
.lead {
  font-size: var(--dp-font-size-md);
}

.btn-sm,
.btn-xs,
.form-control-sm,
.input-sm,
small,
.small,
.help-block,
.text-muted,
.navbar-text,
.pager {
  font-size: var(--dp-font-size-xs);
}

.panel-title,
.modal-title,
.bbs-related-header,
.wx-header {
  font-size: var(--dp-font-size-md);
}

:root {
  --dp-shell-gutter: 20px;
  --dp-header-offset-admin: 20px;
  --dp-header-offset-bbs: 75px;
  --dp-header-offset-wx: 50px;
  --dp-footer-offset-wx: 55px;
  --dp-content-narrow: 970px;
  --dp-content-default: 1170px;
  --dp-content-wide: 1180px;
  --dp-content-doctor: 920px;
  --dp-panel-radius: 12px;
  --dp-filter-padding: 14px 24px;
  --dp-panel-shadow: 0 4px 28px rgba(12, 56, 48, 0.08);
}

/* ========== 后台壳 ========== */
.main {
  padding-top: var(--dp-header-offset-admin);
}

.dp_chaxunkuang,
.dp_chaxunkuang_pane,
.dp_chaxunkuang_header {
  padding: var(--dp-filter-padding);
  background: #fff;
  margin-bottom: 10px;
}

.panel {
  margin-bottom: 10px;
}

.panel-default .panel-heading.dp h5 {
  margin: 0;
  line-height: 2rem;
  border-left: 4px solid var(--dp-primary);
  padding-left: 8px;
  font-size: var(--dp-font-size-md);
}

.panel-default .panel-heading.dp h4 {
  color: var(--dp-primary);
  margin: 0;
  line-height: 2rem;
  font-size: var(--dp-font-size-lg);
  font-weight: bold;
}

/* ========== 社区 / 商城壳 ========== */
.bbs-bg {
  background: #f5f5f5;
  min-height: 500px;
}

.bbs-main {
  padding-top: var(--dp-header-offset-bbs);
  margin-bottom: var(--dp-shell-gutter);
}

.bbs-main.container {
  width: var(--dp-content-default);
  max-width: 100%;
}

.bbs-main.container-index,
.container-index {
  width: var(--dp-content-narrow);
  max-width: 100%;
}

.bbs-related-pannel {
  background: #fff;
  margin-bottom: var(--dp-shell-gutter);
}

.bbs-related-header {
  padding: 10px 16px;
  background: #f5f5f5;
  border-bottom: 1px solid #ebebeb;
}

.bbs-related-body {
  padding: 16px;
  background: #fff;
}

/* 商城/约康卡片标题（原仅在 huikanya CSS，商城消费端需可用） */
.hz-panel-title {
  border-left: 3px solid var(--dp-primary);
  padding: 6px 14px;
  background: #efefef;
}

.hz-panel-title .hpt-title,
.hpt-title {
  font-size: var(--dp-font-size-lg);
  float: left;
  color: var(--dp-primary);
  font-weight: bold;
}

.hpt-title-seach {
  float: right;
  font-size: var(--dp-font-size-md);
  color: var(--dp-primary);
  cursor: pointer;
}

.hz-panel-shadow-base {
  box-shadow: 0 0 18px 0 #d4d4d4;
}

/* ========== 医生 PC 子页壳（与 doctor-person-center 协同，统一宽度/圆角） ========== */
.doc-pc-subpage {
  max-width: var(--dp-content-doctor);
  margin: 0 auto;
  padding: 18px 14px 36px;
}

.doc-pc-subpage--wide {
  max-width: var(--dp-content-wide);
}

.doc-pc-subpage > .panel.panel-default,
.doc-pc-subpage > .panel.panel-info,
.doc-pc-subpage-root .panel.panel-default {
  border: none;
  border-radius: var(--dp-panel-radius);
  box-shadow: var(--dp-panel-shadow);
  overflow: hidden;
}

.doc-pc-subpage-root {
  min-height: calc(100vh - 48px);
  padding-bottom: 32px;
}

/* ========== 微信壳 ========== */
.wx-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  overflow: auto;
}

.wx-container.has-header {
  top: var(--dp-header-offset-wx);
}

.wx-container.has-footer {
  bottom: var(--dp-footer-offset-wx);
}

.wx-container.has-padding {
  padding: 10px;
}

.wx-header {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 100;
  height: var(--dp-header-offset-wx);
  background: #f5f5f5;
  border-bottom: 1px solid #ebebeb;
  overflow: hidden;
}

/* 微信页复用后台筛选/面板类时的最小布局兜底 */
.wx-container .dp_chaxunkuang,
.wx-container .dp_chaxunkuang_pane,
.wx-container .dp_chaxunkuang_header {
  padding: 10px 12px;
  margin-bottom: 8px;
}

.wx-container .panel {
  margin-bottom: 8px;
}

/* ========== 商城页常见 min-height 统一 ========== */
.bbs-main.container-index[style*="min-height"],
.bbs-main.container[style*="min-height"] {
  min-height: 768px;
}

@media (max-width: 991px) {
  .bbs-main.container,
  .bbs-main.container-index,
  .container-index {
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  .doc-pc-subpage,
  .doc-pc-subpage--wide {
    max-width: 100%;
  }
}
