/*
 * 学校主题覆盖层。
 * 公共组件仍由 site.css 提供；学校专属差异放在此文件中，避免继续向 site.css 追加补丁。
 */

:root {
  --brand-mark-end: #19a39c;
  --brand-focus: rgba(0, 124, 122, 0.22);
}

.brand-mark {
  background: linear-gradient(135deg, var(--teal), var(--brand-mark-end));
}

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--brand-focus);
  outline-offset: 3px;
}

body.dialog-open {
  overflow: hidden;
}

.accessible-field {
  display: grid;
  min-width: 0;
  gap: 6px;
  align-content: start;
}

.form-field-label {
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.accessible-field > :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
}

.privacy-consent { display: flex; grid-column: 1 / -1; align-items: flex-start; justify-content: center; justify-self: center; gap: 9px; width: 100%; color: #52606d; font-size: 13px; font-weight: 500; line-height: 1.65; }
.privacy-consent input[type="checkbox"] { flex: 0 0 auto; width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--teal); }
.privacy-consent a { color: var(--teal); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.lead-capture-form > button, form.lead-detail-form > button { grid-column: 1 / -1 !important; justify-self: center !important; width: min(100%, 220px) !important; min-height: 46px; }
.callback-card .privacy-consent { margin-top: 14px; }
.callback-card .callback-submit { display: block; width: min(100%, 220px); margin-right: auto; margin-left: auto; }
.lead-capture { display: grid !important; grid-template-columns: minmax(260px, 330px) minmax(0, 1fr) !important; align-items: center !important; gap: 28px !important; padding: 44px 46px !important; background: linear-gradient(135deg, #07314e, #00666a) !important; color: #ffffff; }
.lead-capture-form { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; min-width: 0; }
.lead-capture .form-field-label, .lead-capture .privacy-consent { color: rgba(255, 255, 255, 0.92); }
.lead-capture .privacy-consent a { color: #ffffff; text-decoration-color: rgba(255, 255, 255, 0.72); }
.lead-capture .privacy-consent input[type="checkbox"] { outline: 1px solid rgba(255, 255, 255, 0.55); outline-offset: 1px; }
@media (max-width: 900px) { .lead-capture, .lead-capture-form { grid-template-columns: 1fr !important; } .lead-capture { padding: 30px 22px !important; } }
.privacy-page { max-width: 920px; }
.privacy-page .content-block { padding: clamp(24px, 4vw, 48px); }
.privacy-page h2 { margin-top: 32px; color: var(--navy); }
.privacy-page h2:first-child { margin-top: 0; }
.privacy-page :is(p, li) { color: #52606d; line-height: 1.9; }
.privacy-page .privacy-notice { padding: 14px 18px; border-left: 4px solid var(--teal); background: #f1fbfa; }

@media (max-width: 900px) {
  .page-hero h1,
  .section-title h2,
  .article-header h1,
  .card h3,
  .case-mini h3 {
    overflow-wrap: anywhere;
    word-break: normal;
  }
}

/*
 * 其他学校可在这里添加少量覆盖，例如：
 * html[data-site="psb"] .page-hero { ... }
 * 大量共用布局修改应回到公共组件，而不是写成学校专属覆盖。
 */
