/*
Theme Name: BRS Lawyer (柏芮思律师主题)
Theme URI: https://brslawyer.com/
Description: 上海柏芮思律师事务所官网定制子主题,基于 OceanWP。风格复刻原 Nuxt 站:白底黑字、BRS 蓝标识、全屏黑白建筑 Banner、深蓝页脚,简洁庄重。
Author: BRS Design
Template: oceanwp
Version: 1.0
Text Domain: brs-lawyer
*/

/* =========================================================================
   目录
   1. 设计令牌
   2. 基础与全局排版
   3. 顶部导航
   4. 页脚
   5. 首页 Hero 轮播
   6. 首页各分区(关于/业务/团队/联系)
   7. 内页 Banner 与正文
   8. 律师团队页
   9. 业务领域页
   10. 联系我们页
   11. 新闻列表与文章
   12. 响应式
   ========================================================================= */

/* ===== 1. 设计令牌 ===== */
:root {
  --brs-navy: #111a2e;          /* 深蓝(页脚/主按钮) */
  --brs-navy-soft: #203864;     /* 次级深蓝 */
  --brs-blue: #2a5caa;          /* BRS 标识蓝(链接/hover) */
  --brs-text: #212529;          /* 主文字 */
  --brs-text-soft: #6f737b;     /* 次要文字 */
  --brs-line: #e9ecef;          /* 边框 */
  --brs-bg: #ffffff;            /* 页面背景 */
  --brs-bg-alt: #f8f9fa;        /* 浅灰分区 */
  --brs-font: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB",
              "Microsoft YaHei", "Noto Sans SC", SimSun, sans-serif;
}

/* ===== 2. 基础与全局 ===== */
html { scroll-behavior: smooth; }
body.brs-site, body.brs-site .brs-page-wrap {
  margin: 0; padding: 0;
  background: var(--brs-bg);
  color: var(--brs-text);
  font-family: var(--brs-font);
  font-size: 16px; line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}
body.brs-site #wrap, body.brs-site #main, body.brs-site #primary,
body.brs-site .site-content, body.brs-site #content-wrap {
  all: unset; display: block;
}
body.brs-site { background: var(--brs-bg) !important; }
.brs-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.brs-section { padding: 72px 0; }
.brs-section--alt { background: var(--brs-bg-alt); }
.brs-sec-head { text-align: center; margin-bottom: 48px; }
.brs-sec-head h2 { font-size: 32px; font-weight: 600; margin: 0 0 10px; letter-spacing: 2px; }
.brs-sec-head .brs-sec-sub { color: var(--brs-text-soft); font-size: 15px; }
.brs-sec-head .brs-sec-line { display: block; width: 48px; height: 3px; background: var(--brs-navy); margin: 16px auto 0; }
a { color: var(--brs-blue); text-decoration: none; }
a:hover { color: var(--brs-navy); }

/* ===== 3. 顶部导航 ===== */
.brs-header { position: sticky; top: 0; z-index: 999; background: #fff; box-shadow: 0 1px 0 var(--brs-line); }
.brs-header__inner { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.brs-logo { display: flex; align-items: center; }
.brs-logo img { height: 52px; width: auto; display: block; }
.brs-nav ul { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0; }
.brs-nav a { display: block; padding: 10px 18px; color: var(--brs-text); font-size: 16px; letter-spacing: 1px; }
.brs-nav a:hover, .brs-nav .current a { color: var(--brs-blue); }
.brs-burger { display: none; background: none; border: 0; width: 40px; height: 40px; cursor: pointer; }
.brs-burger span { display: block; width: 22px; height: 2px; background: var(--brs-text); margin: 5px auto; transition: .25s; }

/* ===== 4. 页脚 ===== */
.brs-footer { background: var(--brs-navy); color: rgba(255,255,255,.85); margin-top: 0; }
.brs-footer__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 18px 0; font-size: 13px; }
.brs-footer a { color: rgba(255,255,255,.85); }
.brs-footer a:hover { color: #fff; }
.brs-footer__beian { display: flex; gap: 20px; align-items: center; }

/* ===== 5. 首页 Hero 轮播 ===== */
.brs-hero { position: relative; height: calc(100vh - 72px); min-height: 520px; overflow: hidden; background: #111; }
.brs-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease; background-size: cover; background-position: center; }
.brs-hero__slide.is-active { opacity: 1; }
.brs-hero__slide::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.28); }
.brs-hero__caption { position: absolute; z-index: 2; left: 8%; top: 50%; transform: translateY(-50%); color: #fff; max-width: 720px; }
.brs-hero__caption h1 { font-size: 44px; font-weight: 600; letter-spacing: 6px; margin: 0 0 18px; text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.brs-hero__caption p { font-size: 20px; margin: 0 0 6px; letter-spacing: 3px; opacity: .95; text-shadow: 0 2px 10px rgba(0,0,0,.45); }
.brs-hero__dots { position: absolute; z-index: 3; bottom: 22px; left: 0; right: 0; text-align: center; }
.brs-hero__dots button { width: 34px; height: 3px; border: 0; background: rgba(255,255,255,.45); margin: 0 4px; cursor: pointer; }
.brs-hero__dots button.is-active { background: #fff; }

/* ===== 6. 首页分区 ===== */
.brs-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.brs-about-grid__text p { margin: 0 0 14px; color: var(--brs-text); text-align: justify; }
.brs-about-grid__img img { width: 100%; height: 320px; object-fit: cover; display: block; }

.brs-biz-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.brs-biz-card { background: #fff; border: 1px solid var(--brs-line); padding: 28px 20px; text-align: center; transition: box-shadow .25s, transform .25s; }
.brs-biz-card:hover { box-shadow: 0 10px 30px rgba(17,26,46,.12); transform: translateY(-4px); border-color: transparent; }
.brs-biz-card h3 { font-size: 17px; margin: 12px 0 8px; font-weight: 600; }
.brs-biz-card p { font-size: 13px; color: var(--brs-text-soft); margin: 0; line-height: 1.7; }
.brs-biz-card__no { font-size: 12px; color: var(--brs-blue); letter-spacing: 2px; }

.brs-team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.brs-team-card { background: #fff; border: 1px solid var(--brs-line); overflow: hidden; text-align: center; transition: box-shadow .25s, transform .25s; }
.brs-team-card:hover { box-shadow: 0 10px 30px rgba(17,26,46,.14); transform: translateY(-4px); }
.brs-team-card img { width: 100%; aspect-ratio: 3/3.4; object-fit: cover; display: block; }
.brs-team-card h3 { font-size: 17px; margin: 14px 0 2px; font-weight: 600; }
.brs-team-card p { font-size: 13px; color: var(--brs-text-soft); margin: 0 0 16px; }

.brs-cta { background: var(--brs-navy); color: #fff; padding: 56px 0; text-align: center; }
.brs-cta h2 { font-size: 26px; margin: 0 0 10px; letter-spacing: 2px; }
.brs-cta p { margin: 0 0 22px; opacity: .85; }
.brs-btn { display: inline-block; background: #fff; color: var(--brs-navy); padding: 12px 38px; font-size: 15px; letter-spacing: 2px; border: 1px solid #fff; transition: .25s; }
.brs-btn:hover { background: transparent; color: #fff; }

/* ===== 7. 内页 Banner 与正文 ===== */
.brs-banner { position: relative; height: 340px; background-size: cover; background-position: center; }
.brs-banner::after { content: ""; position: absolute; inset: 0; background: rgba(17,26,46,.25); }
.brs-banner__crumb { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; background: rgba(248,249,250,.96); }
.brs-banner__crumb .brs-container { padding-top: 14px; padding-bottom: 14px; font-size: 14px; color: var(--brs-text-soft); }
.brs-banner__crumb a { color: var(--brs-text-soft); }
.brs-main { padding: 56px 0 72px; }
.brs-prose { max-width: 900px; margin: 0 auto; }
.brs-prose p { margin: 0 0 16px; text-align: justify; }
.brs-prose h2, .brs-prose h3 { margin: 28px 0 12px; }

/* ===== 8. 律师团队页 ===== */
.brs-lawyers { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.brs-lawyer { display: grid; grid-template-columns: 200px 1fr; gap: 24px; background: #fff; border: 1px solid var(--brs-line); padding: 24px; }
.brs-lawyer img { width: 200px; height: 240px; object-fit: cover; display: block; }
.brs-lawyer h3 { margin: 0 0 2px; font-size: 20px; }
.brs-lawyer .brs-lawyer__role { color: var(--brs-blue); font-size: 13px; margin: 0 0 6px; }
.brs-lawyer .brs-lawyer__edu { color: var(--brs-text-soft); font-size: 14px; margin: 0 0 10px; }
.brs-lawyer .brs-lawyer__bio { font-size: 14px; color: var(--brs-text); text-align: justify; margin: 0 0 10px; }
.brs-lawyer .brs-lawyer__field { font-size: 13px; color: var(--brs-text-soft); margin: 0; }
.brs-lawyer .brs-lawyer__field strong { color: var(--brs-navy); }

/* ===== 9. 业务领域页 ===== */
.brs-biz-item { background: #fff; border: 1px solid var(--brs-line); padding: 28px 32px; margin-bottom: 20px; }
.brs-biz-item h3 { margin: 0 0 10px; font-size: 19px; border-left: 4px solid var(--brs-navy); padding-left: 12px; }
.brs-biz-item p { margin: 0; text-align: justify; color: var(--brs-text); }

/* ===== 10. 联系我们页 ===== */
.brs-contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 36px; }
.brs-contact-card { border: 1px solid var(--brs-line); background: #fff; padding: 28px 20px; text-align: center; }
.brs-contact-card .brs-contact-card__label { font-size: 13px; color: var(--brs-text-soft); margin-bottom: 6px; }
.brs-contact-card h3 { font-size: 16px; margin: 0; font-weight: 600; word-break: break-all; }
.brs-contact-map img { width: 100%; display: block; }

/* ===== 11. 新闻列表与文章 ===== */
.brs-news-list { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.brs-news-item { background: #fff; border: 1px solid var(--brs-line); padding: 24px; transition: box-shadow .25s; }
.brs-news-item:hover { box-shadow: 0 10px 26px rgba(17,26,46,.1); }
.brs-news-item h2 { font-size: 18px; margin: 0 0 8px; }
.brs-news-item h2 a { color: var(--brs-text); }
.brs-news-item h2 a:hover { color: var(--brs-blue); }
.brs-news-item .brs-news-meta { font-size: 13px; color: var(--brs-text-soft); margin-bottom: 8px; }
.brs-news-item p { font-size: 14px; color: var(--brs-text-soft); margin: 0; }
.brs-article { max-width: 860px; margin: 0 auto; }
.brs-article h1 { font-size: 26px; margin: 0 0 8px; }
.brs-article .brs-news-meta { color: var(--brs-text-soft); font-size: 13px; margin-bottom: 24px; }

/* ===== 12. 响应式 ===== */
@media (max-width: 960px) {
  .brs-biz-grid, .brs-team-grid { grid-template-columns: repeat(2, 1fr); }
  .brs-about-grid { grid-template-columns: 1fr; }
  .brs-lawyers { grid-template-columns: 1fr; }
  .brs-contact-grid { grid-template-columns: 1fr; }
  .brs-news-list { grid-template-columns: 1fr; }
  .brs-hero__caption h1 { font-size: 30px; }
}
@media (max-width: 640px) {
  .brs-burger { display: block; }
  .brs-nav { position: absolute; top: 72px; left: 0; right: 0; background: #fff; display: none; box-shadow: 0 12px 20px rgba(0,0,0,.08); }
  .brs-nav.is-open { display: block; }
  .brs-nav ul { flex-direction: column; padding: 8px 0; }
  .brs-biz-grid, .brs-team-grid { grid-template-columns: 1fr; }
  .brs-lawyer { grid-template-columns: 1fr; }
  .brs-hero { min-height: 420px; }
  .brs-section { padding: 48px 0; }
}

/* ===== 13. 联系我们页(重设计) ===== */
.brs-contact-hero { display: grid; grid-template-columns: 1fr 1fr; }
.brs-contact-hero__photo img { width: 100%; height: 100%; min-height: 460px; object-fit: cover; display: block; }
.brs-contact-hero__panel { background: var(--brs-navy); color: #fff; padding: 64px 56px; display: flex; flex-direction: column; justify-content: center; }
.brs-contact-hero__panel h2 { font-size: 26px; margin: 0 0 6px; letter-spacing: 3px; }
.brs-contact-hero__panel .sub { color: rgba(255,255,255,.5); font-size: 13px; letter-spacing: 4px; margin: 0 0 30px; }
.brs-c-row { display: flex; align-items: flex-start; gap: 18px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.brs-c-row:last-child { border-bottom: 0; padding-bottom: 0; }
.brs-c-row svg { width: 22px; height: 22px; flex: 0 0 22px; margin-top: 6px; opacity: .9; }
.brs-c-row .label { font-size: 12px; letter-spacing: 3px; color: rgba(255,255,255,.55); margin-bottom: 4px; }
.brs-c-row .value { font-size: 17px; font-weight: 500; }
.brs-c-row .value a { color: #fff; }
.brs-contact-map { position: relative; }
.brs-contact-map img { width: 100%; display: block; }
.brs-contact-map__chip { position: absolute; left: 50%; top: 36px; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; background: #fff; color: var(--brs-text); padding: 14px 26px; font-size: 15px; box-shadow: 0 10px 30px rgba(0,0,0,.2); white-space: nowrap; }
.brs-contact-map__chip svg { width: 18px; height: 18px; color: var(--brs-blue); flex: 0 0 18px; }
.brs-form { background: var(--brs-bg-alt); padding: 64px 0 72px; }
.brs-form .brs-sec-head { margin-bottom: 36px; }
.brs-form-grid { max-width: 720px; margin: 0 auto; }
.brs-form-grid p { margin: 0 0 18px; font-size: 14px; color: var(--brs-text-soft); }
.brs-form-grid .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.brs-form-grid input[type="text"], .brs-form-grid input[type="tel"], .brs-form-grid input[type="email"],
.brs-form-grid input[type="url"], .brs-form-grid textarea, .brs-form-grid select {
  display: block; width: 100%; padding: 13px 16px; border: 1px solid var(--brs-line);
  background: #fff; font-size: 15px; font-family: var(--brs-font); color: var(--brs-text);
  border-radius: 0; transition: border-color .2s; box-shadow: none;
}
.brs-form-grid textarea { min-height: 150px; resize: vertical; }
.brs-form-grid input:focus, .brs-form-grid textarea:focus { outline: none; border-color: var(--brs-navy); }
.brs-form-grid input[type="submit"], .brs-form-grid .wpcf7-submit {
  display: inline-block; width: auto; background: var(--brs-navy); color: #fff; border: 0;
  padding: 14px 52px; font-size: 15px; letter-spacing: 4px; cursor: pointer; transition: background .25s;
}
.brs-form-grid input[type="submit"]:hover { background: var(--brs-blue); }
.brs-form-grid .wpcf7-not-valid-tip { color: #dc3545; font-size: 13px; margin-top: 6px; }
.brs-form-grid .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border: 1px solid var(--brs-line); background: #fff; font-size: 14px; }
@media (max-width: 960px) {
  .brs-contact-hero { grid-template-columns: 1fr; }
  .brs-contact-hero__panel { padding: 40px 28px; }
  .brs-contact-map__chip { white-space: normal; width: max-content; max-width: 88%; font-size: 13px; }
}

/* 业务卡片(图片版,首页) */
.brs-biz-card { display: block; padding: 0; overflow: hidden; color: var(--brs-text); }
.brs-biz-card:hover { color: var(--brs-text); border-color: var(--brs-navy); }
.brs-biz-card__img { display: block; width: 100%; height: 150px; object-fit: cover; transition: transform .35s ease; }
.brs-biz-card:hover .brs-biz-card__img { transform: scale(1.06); }
.brs-biz-card__body { padding: 16px 14px 22px; text-align: center; }
.brs-biz-card__body .brs-biz-card__no { display: block; font-size: 12px; color: var(--brs-blue); letter-spacing: 2px; margin-bottom: 4px; }
.brs-biz-card h3 { margin: 0; font-size: 17px; }
/* 锚点定位避开吸顶导航 */
.brs-biz-item { scroll-margin-top: 90px; }

/* 律师卡片链接化(首页) */
a.brs-team-card { color: var(--brs-text); display: block; }
a.brs-team-card:hover h3 { color: var(--brs-blue); }
/* 锚点定位避开吸顶导航 */
.brs-lawyer { scroll-margin-top: 90px; }

/* 联系页收进居中容器(两侧留白) */
.brs-contact-wrap { padding-top: 48px; padding-bottom: 64px; }
.brs-contact-wrap .brs-contact-hero { box-shadow: 0 10px 30px rgba(17,26,46,.08); }
.brs-contact-wrap .brs-contact-map { margin-top: 24px; }
.brs-contact-wrap .brs-contact-map__chip { top: 24px; }
@media (max-width: 640px) { .brs-contact-wrap { padding-top: 28px; padding-bottom: 40px; } }
