/* ========================================
   海之莲心理咨询中心 - 统一设计样式
   中国风 + 国际化 + 心理咨询权威定位
   品牌色：松绿/青瓷 + 墨色 + 米白 + 赭石 + 金色
   ======================================== */

/* --- Reset & Base --- */
* { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; scroll-behavior:smooth; }
body {
  font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;
  background: #f5f0e8; color: #2c2c2c; line-height:1.8;
}
a { color:#3a7d6e; text-decoration:none; transition:color .2s; }
a:hover { color:#c4956a; }
img { max-width:100%; height:auto; }

/* --- Layout --- */
#layout { max-width:1200px; margin:0 auto; }
.main-content { display:flex; gap:36px; padding:24px 15px; }
.content-wrap { flex:1; min-width:0; }
.right-wrap { width:280px; flex-shrink:0; }

/* --- Header / head.htm --- */
.site-header {
  background: linear-gradient(135deg, #3a7d6e 0%, #2d6b5f 100%);
  color: #fff; padding:0; position:relative;
}
.header-top {
  display:flex; align-items:center; justify-content:space-between;
  padding:15px 20px; max-width:1200px; margin:0 auto;
}
.brand-logo {
  display:flex; align-items:center; gap:12px;
  color:inherit; text-decoration:none;
}
.brand-logo:hover { color:inherit; text-decoration:none; }
.brand-logo .logo-icon {
  width:50px; height:50px; border-radius:50%;
  background:#c4956a; display:flex; align-items:center; justify-content:center;
  font-size:24px; color:#fff; font-weight:bold;
  border:2px solid rgba(255,255,255,.3);
  flex:none;
}
.brand-logo .logo-text h1,
.brand-logo .logo-text .logo-title {
  font-size:22px; font-weight:700; letter-spacing:2px;
  margin:0; line-height:1.3;
}
.brand-logo .logo-text .sub-title {
  font-size:11px; color:rgba(255,255,255,.7); letter-spacing:1px;
}
.hotline {
  font-size:16px; font-weight:600; letter-spacing:1px;
  display:flex; align-items:center; gap:6px;
}
.hotline::before { content:"\260E"; font-size:20px; }

/* Navigation */
.main-nav {
  background:#2d6b5f; border-top:1px solid rgba(255,255,255,.15);
}
.nav-list {
  display:flex; justify-content:center; gap:0;
  max-width:1200px; margin:0 auto; list-style:none;
}
.nav-list li { position:relative; }
.nav-list li a {
  display:block; padding:12px 22px; color:#fff;
  font-size:15px; letter-spacing:1px; transition:background .2s;
  white-space:nowrap;
}
.nav-list li a:hover,
.nav-list li.active a {
  background:#c4956a; color:#fff;
}
.nav-list li .dropdown {
  display:none; position:absolute; top:100%; left:0;
  background:#2d6b5f; min-width:160px; z-index:100;
  border-radius:0 0 4px 4px;
}
.nav-list li:hover .dropdown { display:block; }
.nav-list li .dropdown a {
  padding:10px 16px; font-size:14px;
}

/* --- Breadcrumb --- */
.breadcrumb {
  background:#fff; padding:12px 20px; margin-bottom:20px;
  border-radius:4px; font-size:14px; color:#666;
  border-left:3px solid #3a7d6e;
}

/* --- Section Title --- */
.section-title {
  text-align:center; padding:20px 0 15px;
  position:relative; margin-bottom:20px;
}
.section-title h1,
.section-title h2 {
  font-size:24px; color:#2d6b5f; font-weight:700;
  letter-spacing:3px;
}
.section-title h1::before,
.section-title h1::after,
.section-title h2::before,
.section-title h2::after {
  content:""; display:inline-block; width:36px; height:1px;
  background:linear-gradient(90deg,transparent,#c4956a,transparent);
  vertical-align:middle; margin:0 18px; opacity:.7;
}
.section-title{position:relative}
.section-title::after{
  content:""; display:block; width:60px; height:2px;
  background:linear-gradient(90deg,#3a7d6e,#c4956a);
  margin:10px auto 0; border-radius:1px;
}
/* AI 自测标题：隐藏两侧装饰，保持简洁 */
.section-title.ai-title::after{display:none}
.section-title .subtitle {
  font-size:13px; color:#999; margin-top:5px;
}
/* AI 自测标题：去掉两侧装饰，保持简洁 */
.section-title.ai-title h2::before,
.section-title.ai-title h2::after { display:none; }
.section-more {
  position:absolute; right:0; top:26px;
  font-size:13px; color:#3a7d6e; letter-spacing:1px;
  font-weight:500;
}
.section-more:hover { color:#c4956a; }

/* --- Article List (列表页) --- */
.article-list { list-style:none; }
.article-list li {
  background:#fff; padding:18px 20px; margin-bottom:12px;
  border-radius:4px; display:flex; gap:15px;
  transition:box-shadow .2s;
  border:1px solid #e8e0d0;
}
.article-list li:hover {
  box-shadow:0 2px 12px rgba(58,125,110,.12);
  border-color:#3a7d6e;
}
.article-list li .thumb {
  width:160px; height:100px; flex-shrink:0;
  border-radius:4px; overflow:hidden; background:#f0ebe3;
}
.article-list li .thumb img { width:100%; height:100%; object-fit:cover; }
.article-list li .info { flex:1; min-width:0; }
.article-list li .info h3 {
  font-size:17px; color:#2c2c2c; margin-bottom:6px;
  line-height:1.5; font-weight:600;
}
.article-list li .info h3 a { color:#2c2c2c; }
.article-list li .info h3 a:hover { color:#3a7d6e; }
.article-list li .info .desc {
  font-size:14px; color:#888; line-height:1.6;
  overflow:hidden; text-overflow:ellipsis;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.article-list li .info .meta {
  font-size:13px; color:#aaa; margin-top:8px;
}

/* 专家列表特殊样式 */
.article-list.expert-list li {
  text-align:center; padding:20px;
}
.article-list.expert-list li .thumb {
  width:100px; height:100px; border-radius:50%;
  margin:0 auto 10px;
}
.article-list.expert-list li .info h3 {
  text-align:center;
}

/* --- Article Detail (文章详情页) --- */
.article-detail {
  background:#fff; padding:30px 25px; border-radius:4px;
  border:1px solid #e8e0d0;
}
.detail-title {
  font-size:24px; color:#2c2c2c; font-weight:700;
  line-height:1.5; margin-bottom:10px;
  text-align:center;
}
.detail-meta {
  text-align:center; font-size:14px; color:#999;
  margin-bottom:25px; padding-bottom:15px;
  border-bottom:1px dashed #e8e0d0;
}
.detail-body {
  font-size:16px; line-height:1.9; color:#444;
}
.detail-body p { margin-bottom:15px; }
.detail-body img { border-radius:4px; margin:10px 0; }

/* Prev-Next */
.prev-next {
  display:flex; justify-content:space-between;
  margin-top:20px; padding:15px 0;
  border-top:1px dashed #e8e0d0;
  font-size:14px;
}
.prev-next .prev,
.prev-next .next { max-width:48%; }

/* --- Pagination --- */
.pagination {
  text-align:center; padding:20px 0;
  font-size:14px;
}
.pagination a,
.pagination span {
  display:inline-block; padding:6px 12px;
  margin:0 3px; border-radius:3px;
  border:1px solid #e8e0d0; color:#666;
}
.pagination a:hover { background:#3a7d6e; color:#fff; border-color:#3a7d6e; }
.pagination .pageinfo { color:#999; }

/* --- Right Sidebar / right.htm --- */
.right-wrap .sidebar-box {
  background:#fff; border-radius:4px;
  border:1px solid #e8e0d0; margin-bottom:20px;
  overflow:hidden;
}
.sidebar-box .sb-title {
  background:linear-gradient(135deg,#3a7d6e,#2d6b5f);
  color:#fff; padding:12px 15px;
  font-size:16px; font-weight:600; letter-spacing:2px;
}
.sidebar-box .sb-content { padding:15px; }
.sidebar-box .sb-content ul { list-style:none; }
.sidebar-box .sb-content ul li {
  padding:8px 0; border-bottom:1px dashed #f0ebe3;
  font-size:14px;
}
.sidebar-box .sb-content ul li:last-child { border-bottom:none; }
.sidebar-box .sb-content ul li a { color:#555; }
.sidebar-box .sb-content ul li a:hover { color:#3a7d6e; }

/* 专家卡片 */
.sidebar-box .expert-card {
  text-align:center; padding:10px;
}
.sidebar-box .expert-card img {
  width:80px; height:80px; border-radius:50%;
  margin-bottom:8px;
}
.sidebar-box .expert-card h4 {
  font-size:15px; color:#2d6b5f; font-weight:600;
}
.sidebar-box .expert-card p {
  font-size:13px; color:#888;
}

/* 预约卡片 */
.sidebar-box .booking-card {
  background:linear-gradient(135deg,#3a7d6e,#2d6b5f);
  color:#fff; border-radius:4px;
  padding:20px; text-align:center;
}
.booking-card h3 { font-size:18px; letter-spacing:2px; }
.booking-card .phone {
  font-size:24px; font-weight:700; margin:10px 0;
  letter-spacing:2px;
}
.booking-card .wechat {
  font-size:14px; opacity:.9; margin-top:8px;
}

/* --- Footer / footer.htm --- */
.site-footer {
  background:#2c3e2d; color:rgba(255,255,255,.8);
  padding:30px 20px; margin-top:30px;
}
.footer-inner {
  max-width:1200px; margin:0 auto;
  display:flex; justify-content:space-between; gap:30px;
}
.footer-col { flex:1; }
.footer-col h4 {
  color:#c4956a; font-size:16px; letter-spacing:2px;
  margin-bottom:15px; font-weight:600;
}
.footer-col p, .footer-col a {
  font-size:14px; line-height:1.8; color:rgba(255,255,255,.7);
}
.footer-col a:hover { color:#c4956a; }
.footer-bottom {
  text-align:center; padding:15px 0;
  border-top:1px solid rgba(255,255,255,.15);
  font-size:13px; color:rgba(255,255,255,.5);
  max-width:1200px; margin:0 auto;
}

/* --- Homepage Sections --- */
.home-banner {
  background:linear-gradient(135deg,#3a7d6e 0%,#2d6b5f 50%,#1e5244 100%);
  color:#fff; padding:60px 20px; text-align:center;
  position:relative; overflow:hidden;
}
.home-banner::before {
  content:""; position:absolute; top:0; left:0; right:0; bottom:0;
  background:url('/skin/css/banner-pattern.svg') center/cover no-repeat;
  opacity:.15;
}
.home-banner h1,
.home-banner h2 {
  font-size:36px; letter-spacing:6px; font-weight:700;
  margin-bottom:10px; position:relative;
}
.home-banner .banner-sub {
  font-size:18px; color:rgba(255,255,255,.8);
  letter-spacing:3px; margin-bottom:15px;
}
.home-banner .banner-desc {
  font-size:15px; color:rgba(255,255,255,.6);
  max-width:600px; margin:0 auto;
}
.home-banner .booking-btn {
  display:inline-block; margin-top:25px;
  padding:12px 40px; background:#c4956a;
  color:#fff; font-size:16px; letter-spacing:3px;
  border-radius:30px; transition:background .2s;
}
.home-banner .booking-btn:hover { background:#d4a87a; }

.home-section {
  padding:40px 15px; max-width:1200px; margin:0 auto;
}
.home-section:last-of-type {
  padding-bottom:55px;
}
/* 心理文章与 AI 自测紧邻：消除中间空白 */
.article-section { padding-bottom:0; margin-bottom:0; }
.ai-test-section {
  padding-top:0;
  padding-bottom:55px;
  margin-top:-6px;
}
.ai-test-section::before { display:none; }
.ai-test-section .section-title {
  padding-top:24px;
  padding-bottom:12px;
  margin-bottom:0;
  background:
    radial-gradient(circle at 50% 0, rgba(58,125,110,.06) 0%, transparent 60%);
}

/* 服务项目网格 */
.service-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:15px; margin-top:20px;
}
.service-grid .svc-item {
  background:#fff; padding:22px 15px; border-radius:12px;
  text-align:center; border:1px solid #e8e0d0;
  transition:all .3s ease; display:block; color:inherit;
  position:relative; overflow:hidden;
}
.service-grid .svc-item::before {
  content:"";
  position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,#3a7d6e,#c4956a);
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s ease;
}
.service-grid .svc-item:hover {
  border-color:#3a7d6e; box-shadow:0 10px 28px rgba(58,125,110,.12);
  transform:translateY(-4px);
  color:inherit; text-decoration:none;
}
.service-grid .svc-item:hover::before { transform:scaleX(1); }
.service-grid .svc-item .svc-icon {
  width:64px; height:64px; border-radius:50%;
  background:linear-gradient(135deg,#3a7d6e,#5aaa97);
  margin:0 auto 12px; display:flex;
  align-items:center; justify-content:center;
  color:#fff; font-size:30px;
  transition:transform .3s ease;
}
.service-grid .svc-item:hover .svc-icon { transform:scale(1.08); }
.service-grid .svc-item h4 {
  font-size:15px; color:#2d6b5f; font-weight:600;
  letter-spacing:1px; margin-bottom:6px;
}
.service-grid .svc-item p { font-size:13px; color:#888; line-height:1.6; }

/* 专家展示 */
.expert-showcase {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:20px; margin-top:20px;
}
.expert-showcase .expert-item {
  background:#fff; padding:25px 20px; border-radius:4px;
  text-align:center; border:1px solid #e8e0d0;
  transition:all .2s;
}
.expert-showcase .expert-item:hover {
  border-color:#c4956a;
}
.expert-showcase .expert-item img {
  width:100px; height:100px; border-radius:50%;
  margin-bottom:10px; border:3px solid #f0ebe3;
}
.expert-showcase .expert-item h4 {
  font-size:17px; color:#2d6b5f; font-weight:600;
}
.expert-showcase .expert-item .title {
  font-size:13px; color:#c4956a; margin-bottom:8px;
}
.expert-showcase .expert-item .desc {
  font-size:14px; color:#888; line-height:1.6;
}

/* 专家图文滚动栏 */
.expert-carousel {
  overflow-x:auto; overflow-y:hidden; position:relative;
  scroll-behavior:smooth;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%);
  mask-image:linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%);
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  cursor:grab;
}
.expert-carousel:active { cursor:grabbing; }
.expert-carousel::-webkit-scrollbar { display:none; }
.carousel-track {
  display:flex; gap:18px; padding:8px 2px; width:max-content;
}
.carousel-card {
  flex:0 0 auto; width:184px; display:block;
  background:#fff; border-radius:12px; border:1px solid #ede5d5;
  text-align:center; padding:20px 14px; transition:all .3s ease;
  user-select:none; color:inherit; text-decoration:none;
}
.carousel-card:hover {
  border-color:#c4956a; box-shadow:0 8px 24px rgba(58,125,110,.12);
  transform:translateY(-4px);
}
.carousel-card-avatar {
  width:84px; height:84px; border-radius:50%;
  margin:0 auto 12px; overflow:hidden;
  border:3px solid #f0ebe3; transition:border-color .3s ease;
}
.carousel-card:hover .carousel-card-avatar { border-color:#c4956a; }
.carousel-card-avatar img { width:100%; height:100%; object-fit:cover; pointer-events:none; }
.carousel-card-info h5 {
  font-size:15px; color:#2c2c2c; font-weight:600; margin-bottom:6px;
}
.carousel-card-info h5 a { color:#2c2c2c; }
.carousel-card-info h5 a:hover { color:#3a7d6e; }
.carousel-card-tag {
  display:inline-block; font-size:11px; color:#c4956a;
  background:rgba(196,149,106,.1); padding:3px 10px; border-radius:12px;
}

/* 文章推荐 */
.article-recommend {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:15px; margin-top:20px;
}
.article-recommend .art-item {
  background:#fff; padding:15px; border-radius:4px;
  border:1px solid #e8e0d0; transition:all .2s;
}
.article-recommend .art-item:hover {
  border-color:#3a7d6e;
}
.article-recommend .art-item h4 {
  font-size:16px; color:#2c2c2c; font-weight:600;
  margin-bottom:8px;
}
.article-recommend .art-item h4 a { color:#2c2c2c; }
.article-recommend .art-item h4 a:hover { color:#3a7d6e; }
.article-recommend .art-item p {
  font-size:14px; color:#888; line-height:1.6;
  overflow:hidden; text-overflow:ellipsis;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}

/* --- 预约页面 --- */
.booking-page { padding:20px; }
.booking-hero {
  background:linear-gradient(135deg,#3a7d6e,#2d6b5f);
  color:#fff; padding:40px 20px; text-align:center;
  border-radius:4px;
}
.booking-hero h2 { font-size:28px; letter-spacing:4px; }
.booking-hero .booking-phone { font-size:32px; font-weight:700; margin:15px 0; }
.booking-options {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:20px; margin:25px 0;
}
.booking-options .opt-card {
  background:#fff; padding:25px; border-radius:4px;
  border:1px solid #e8e0d0; text-align:center;
}
.booking-options .opt-card h3 {
  font-size:18px; color:#2d6b5f; font-weight:600;
}
.booking-options .opt-card .opt-icon {
  font-size:36px; color:#3a7d6e; margin-bottom:10px;
}
.booking-options .opt-card p { font-size:14px; color:#888; }
.booking-trust {
  background:#fff; padding:20px; border-radius:4px;
  border:1px solid #e8e0d0; margin-top:20px;
}
.booking-trust h3 { font-size:18px; color:#2d6b5f; text-align:center; }
.booking-trust ul { list-style:none; padding:10px 0; }
.booking-trust ul li {
  padding:8px 0; font-size:14px; color:#666;
  text-align:center;
}

/* --- AI 心理自测 --- */
.ai-test-section {
  position:relative;
  padding-top:0;
  padding-bottom:55px;
  background:
    radial-gradient(circle at 12% 18%, rgba(58,125,110,.07) 0%, transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(196,149,106,.07) 0%, transparent 28%),
    #f5f0e8;
}
.ai-test-section::before {
  content:"";
  position:absolute;
  top:0;
  left:8%;
  right:8%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(58,125,110,.18), transparent);
}
.ai-test-section .section-title {
  margin-bottom:0;
  padding-top:24px;
  padding-bottom:12px;
  background:
    radial-gradient(circle at 50% 0, rgba(58,125,110,.06) 0%, transparent 60%);
}

.test-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  max-width:980px;
  margin:8px auto 0;
}
.test-card {
  background:#fff;
  border-radius:14px;
  padding:26px 20px 24px;
  text-align:center;
  border:1px solid #ede5d5;
  transition:all .35s ease;
  position:relative;
  overflow:hidden;
  box-shadow:0 4px 18px rgba(58,125,110,.05);
}
.test-card::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,#3a7d6e,#c4956a);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
}
.test-card:hover {
  border-color:#c4956a;
  box-shadow:0 14px 38px rgba(58,125,110,.12);
  transform:translateY(-5px);
}
.test-card:hover::before {
  transform:scaleX(1);
}
.test-card-icon {
  font-size:34px;
  line-height:1;
  margin-bottom:14px;
  filter:grayscale(12%);
  transition:transform .3s ease;
}
.test-card:hover .test-card-icon {
  transform:scale(1.08);
  filter:grayscale(0);
}
.test-card-badge {
  display:inline-block;
  font-size:11px;
  color:#3a7d6e;
  background:rgba(58,125,110,.08);
  padding:3px 12px;
  border-radius:12px;
  margin-bottom:12px;
  letter-spacing:1px;
  font-weight:500;
}
.test-card h4 {
  font-size:17px;
  color:#2d6b5f;
  font-weight:600;
  letter-spacing:2px;
  margin-bottom:8px;
}
.test-card p {
  font-size:13px;
  color:#888;
  line-height:1.7;
  margin-bottom:18px;
  min-height:44px;
}
.test-start-btn {
  display:block;
  width:100%;
  padding:11px 0;
  border:none;
  border-radius:25px;
  background:linear-gradient(135deg,#3a7d6e,#2d6b5f);
  color:#fff;
  font-size:14px;
  letter-spacing:2px;
  cursor:pointer;
  transition:all .3s ease;
  font-family:inherit;
}
.test-start-btn:hover {
  background:linear-gradient(135deg,#4a9d8e,#3d8b7f);
  box-shadow:0 4px 15px rgba(58,125,110,.3);
}

/* --- Responsive (768px breakpoint) --- */
@media screen and (max-width:768px) {
  .main-content { flex-direction:column; gap:0; }
  .right-wrap { width:100%; order:0; }
  .content-wrap { order:1; }

  /* Header responsive */
  .header-top { flex-direction:column; text-align:center; gap:10px; }
  .nav-list { flex-wrap:wrap; justify-content:center; }
  .nav-list li a { padding:10px 14px; font-size:14px; }
  .nav-list li .dropdown { position:static; display:none; }
  .nav-list li:hover .dropdown {
    display:flex; flex-wrap:wrap; background:#3a7d6e;
  }

  /* Article list responsive */
  .article-list li { flex-direction:column; }
  .article-list li .thumb {
    width:100%; height:140px;
  }

  /* Service grid responsive */
  .service-grid { grid-template-columns:repeat(2,1fr); }

  /* Expert showcase responsive */
  .expert-showcase { grid-template-columns:1fr; }

  /* Article recommend responsive */
  .article-recommend { grid-template-columns:1fr; }

  /* Detail responsive */
  .detail-title { font-size:20px; }
  .detail-body { font-size:15px; }

  /* Footer responsive */
  .footer-inner { flex-direction:column; gap:20px; }

  /* Home banner responsive */
  .home-banner h1,
  .home-banner h2 { font-size:26px; letter-spacing:3px; }
  .home-banner .banner-sub { font-size:14px; }

  /* Booking responsive */
  .booking-options { grid-template-columns:1fr; }
  .booking-hero .booking-phone { font-size:26px; }

  /* Pagination responsive */
  .pagination a, .pagination span { padding:5px 8px; font-size:13px; }

  /* Sidebar */
  .sidebar-box .sb-content ul li { font-size:13px; }

  /* AI 心理自测 responsive */
  .ai-test-section { padding-top:0; padding-bottom:40px; }
  .ai-test-section .section-title { padding-top:22px; }
  .test-grid { grid-template-columns:1fr; gap:16px; }
  .test-card { padding:24px 18px 22px; }
  .test-card-icon { font-size:30px; }
  .test-card h4 { font-size:16px; }
  .test-modal { width:95%; max-height:90vh; }
}
