/* 广和（茂名）律师事务所 - 自定义样式 */

/* 全局重置 */
*, *::before, *::after { box-sizing: border-box; }
html, body {
    margin: 0;
    padding: 0;
}

/* 原站主色 #00468E, 浅蓝背景 #f3f7fb */

/* 清除浮动 - 模板中大量使用 class="clearfix" */
.clearfix::after { content: ''; display: table; clear: both; }

/* 轮播图分页器样式（匹配原站） */
.index-banner .swiper-pagination-bullet {
    width: 55px;
    border-radius: 0;
    height: 4px;
    background-color: #ffffff;
    opacity: 0.5;
}
.index-banner .swiper-pagination-bullet-active {
    background-color: #007AFF;
    opacity: 1;
}
.index-banner .swiper-pagination {
    text-align: center;
    bottom: 2em;
}

/* 业务领域卡片 hover 放大（匹配原站） */
.ly-swiper .swiper-slide:hover {
    transform: scale(1.05);
    transition: 0.4s;
}

/* 业务领域卡片图片区域溢出隐藏 */
.ly-swiper .swiper-slide .overflow-hidden {
    overflow: hidden;
}

/* Tab 按钮样式 */
.tab-btn.active {
    color: #035297;
    border-bottom-color: #00468E;
}

/* 页脚链接 hover */
footer dd a:hover {
    opacity: 1 !important;
}

/* 通用标题样式（用于内页） */
.page-title-bar {
    background: #00468E;
    color: #ffffff;
    padding: 5rem 0 4rem;
    text-align: center;
}
.page-title-bar h1 {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
}
.page-title-bar p {
    color: rgba(255,255,255,0.7);
    font-size: 1.1rem;
}

/* 内容区域文字样式 */
.prose h2 { color: #00468E; font-weight: 700; margin-top: 1.5em; }
.prose h3 { color: #035297; font-weight: 600; margin-top: 1.2em; }
.prose p { margin-bottom: 0.8em; line-height: 1.8; color: #666; }

/* ========== 回到顶部按钮 ========== */

/* 导航栏透明/白底模式 */
#header { transition: background 0.3s, box-shadow 0.3s; }
#header .nav-link { transition: color 0.3s; }
#header .nav-text { transition: color 0.3s; }
#header .nav-icon { transition: stroke 0.3s; }
#header .nav-bar { transition: background 0.3s; }

/* 透明模式（默认）- 白色文字 */
#header .nav-link { color: rgba(255,255,255,0.9); }
#header .nav-link:hover { color: #fff; }
#header .nav-link.active { color: #fff; font-weight: 500; }
#header .nav-text { color: #fff; }
#header .nav-icon { stroke: #fff; }
#header .nav-bar { background: #fff; }

/* 白底模式 - 深色文字 */
#header.header-scrolled .nav-link { color: rgba(0,70,142,0.8); }
#header.header-scrolled .nav-link:hover { color: #00468E; }
#header.header-scrolled .nav-link.active { color: #00468E; font-weight: 500; }
#header.header-scrolled .nav-text { color: #00468E; }
#header.header-scrolled .nav-icon { stroke: #00468E; }
#header.header-scrolled .nav-bar { background: #00468E; }

/* Logo 切换过渡 */
.logo-light, .logo-dark {
    transition: opacity 0.3s;
    vertical-align: middle;
}

/* ========== 回到顶部按钮 ========== */
#back-to-top {
    display: none;
    position: fixed;
    right: 20px;
    bottom: 32px;
    z-index: 1000;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #00468E;
    color: #fff;
    border: none;
    cursor: pointer;
    box-shadow: 0 2px 12px rgba(0,70,142,0.4);
    align-items: center;
    justify-content: center;
    transition: background 0.3s, transform 0.3s;
}
#back-to-top:hover {
    background: #003a73;
    transform: translateY(-2px);
}
#back-to-top svg {
    width: 20px;
    height: 20px;
}

/* ========== 轮播文字动画 ========== */
@keyframes heroFadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.hero-text-group .hero-fade-item {
    animation: heroFadeUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* ========== 内页通用 ========== */
.inner-banner { margin-top: 0; }
.gh-wrap { max-width: 1440px; margin: 0 auto; padding: 0 3%; }
.gh-wrap2 { max-width: 1200px; margin: 0 auto; padding: 0 3%; }
.gh-inner-section { padding: 60px 0 90px; }
.gh-section-title .gh-title-line {
    display: block; width: 35px; height: 4px; background: #00468E; margin: 12px auto 0;
}

/* 内页栏目导航 */
.nei-nav { background: #f7f8fa; }
.nei-nav-box { background: #f7f8fa; }
.nei-nav a {
    display: inline-block; font-size: 14px; color: #666; padding: 13px 25px;
    transition: 0.3s;
}
.nei-nav a.active, .nei-nav a:hover { background: #00468E; color: #fff; }

/* 律师页 - 查询框 */
.index-caxun { background: #f3f7fb; padding: 15px; }
.index-caxun .caxun-left { float: left; width: 165px; }
.index-caxun .caxun-left h3 { font-size: 18px; color: #035297; font-weight: bold; line-height: 35px; }
.index-caxun .caxun-right { float: right; width: calc(100% - 165px); }
.index-caxun .caxun-right p { float: left; width: 18.4%; margin-right: 2%; height: 35px; }
.index-caxun .caxun-right p.caxun-btn-wrap { margin-right: 0; background: #035297; text-align: center; }
.index-caxun .caxun-right p input,
.index-caxun .caxun-right p select {
    width: 100%; border: 1px solid #e5e5e5; box-sizing: border-box; padding: 0 10px;
    background: #fff; height: 100%; color: #999; outline: none;
}
.index-caxun .caxun-right p button {
    border: none; color: #fff; background: none; height: 100%; font-size: 12px;
    cursor: pointer; display: block; width: 100%;
}

/* 拼音字母 */
.name-letter { font-size: 18px; color: #333; padding: 2px 6px; }
.name-letter:hover, .name-letter.active { color: #00468E; font-weight: bold; }

/* 律师卡片列表 */
.team-list ul { margin-bottom: 40px; }
.team-list ul li { width: 48%; float: left; margin-right: 4%; margin-bottom: 3%; }
.team-list ul li:nth-of-type(2n) { margin-right: 0; }
.team-list-img { width: 235px; float: left; max-height: 235px; overflow: hidden; line-height: 235px; }
.team-list-text { padding: 15px 20px 15px 260px; min-height: 235px; box-sizing: border-box; }
.team-list-text h2 b { font-size: 18px; color: #333; font-weight: normal; margin-right: 25px; }
.team-list-text h2 span { font-size: 14px; color: #333; padding-left: 18px; border-left: 2px solid #ccc; }
.team-list-text > h3 { font-size: 16px; color: #666; margin-top: 10px; }
.team-text-div h4 { font-size: 16px; font-weight: bold; color: #333; border-bottom: 1px solid #dae5f0; padding-bottom: 3px; margin: 8px 0 3px; }
.team-text-div p { font-size: 14px; color: #999; line-height: 24px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 新闻年份条 */
.year-link { display: inline-block; padding: 8px 20px; color: #666; font-size: 16px; white-space: nowrap; }
.year-link.active, .year-link:hover { color: #00468E; font-weight: bold; }
.news-year-bar .swiper-slide { width: auto; }
.news-featured-swiper .swiper-pagination-bullet { width: 10px; height: 10px; border-radius: 50%; }

/* 分页 */
.gh-pagination { text-align: center; padding: 20px 0; }
.gh-pagination a {
    display: inline-block; padding: 6px 12px; margin: 0 3px; color: #666;
    border: 1px solid #e5e5e5; font-size: 14px;
}
.gh-pagination a.active, .gh-pagination a:hover { background: #00468E; color: #fff; border-color: #00468E; }

/* 律师详情 */
.team-detail-wrap { padding: 75px 0; }
.team-detail-left { width: 360px; float: left; }
.team-detail-right {
    width: calc(100% - 360px); float: left; background: #f7f9fb;
    padding: 50px 60px; box-sizing: border-box;
}
.team-detail-right h2 b { font-size: 30px; color: #000; font-weight: normal; }
.team-detail-right .position-tag {
    display: inline-block; font-size: 14px; color: #00468E;
    border: 1px solid #00468E; padding: 6px 15px; margin: 8px 8px 0 0;
}

@media (max-width: 992px) {
    .team-list ul li { width: 100%; margin-right: 0; }
    .team-list-img { width: 150px; max-height: 200px; line-height: 200px; }
    .team-list-text { padding-left: 165px; min-height: 200px; }
    .index-caxun .caxun-right { float: none; padding-left: 0; width: 100%; }
    .index-caxun .caxun-left { float: none; width: 100%; margin-bottom: 10px; }
    .index-caxun .caxun-right p { width: 49%; margin-bottom: 10px; }
    .team-detail-left, .team-detail-right { width: 100%; float: none; }
    .team-detail-right { padding: 30px 20px; }
    .busin-list ul li { width: 48.5%; }
    .busin-list ul li:nth-of-type(2n) { margin-right: 0; }
    .busin-list ul li a { padding: 30px 20px; }
    .develop-thumbs { width: 80px !important; margin-right: 20px !important; }
    .develop-main { margin-left: 0 !important; }
    .honor-card-grid li { width: 48%; margin-right: 4%; }
    .about-wh-list ul li { width: 48%; margin-bottom: 20px; margin-right: 4%; }
    .about-wh-list ul li:nth-child(2n) { margin-right: 0; }
}

/* ========== 关于广和 ========== */
.about-section { padding: 60px 0; }
.about-jj-text { padding: 25px 50px; box-sizing: border-box; }
.about-jj-text p { font-size: 16px; color: #666; line-height: 24px; margin-top: 15px; }

.about-history {
    background: linear-gradient(135deg, #00468E 0%, #035297 100%);
    padding: 60px 0 80px;
}
.about-title-white h3 { color: #fff; }

.develop-swiper { margin: 40px 0; }
.develop-thumbs {
    float: left; width: 120px; margin-right: 80px; height: 340px;
}
.develop-thumbs .swiper-slide {
    color: #fff; font-size: 18px; text-align: right; padding-right: 40px;
    height: 34px; line-height: 34px; cursor: pointer; opacity: 0.7;
}
.develop-thumbs .swiper-slide-thumb-active {
    font-size: 28px; font-weight: bold; opacity: 1;
}
.develop-main { margin-left: 200px; overflow: hidden; }
.develop-slide-left { width: 45%; float: left; margin-top: 3%; }
.develop-slide-left h3 { font-size: 30px; color: #fff; font-weight: bold; margin-bottom: 20px; }
.develop-slide-right { float: right; width: 48%; padding: 15px; position: relative; }
.develop-slide-right img { width: 100%; }

.about-hrono {
    background: #f6f7fa url('') no-repeat bottom;
    padding: 60px 0 100px;
}
.honor-year-thumbs .swiper-slide {
    text-align: center; border-right: 1px solid #7f7f7f;
    font-size: 16px; color: #666; padding: 8px 20px; width: auto; cursor: pointer;
}
.honor-year-thumbs .swiper-slide-thumb-active,
.honor-year-thumbs .swiper-slide:hover {
    color: #00468E; font-weight: bold; font-size: 18px;
}
.honor-card-grid li {
    width: 31.33%; float: left; margin-right: 3%; margin-bottom: 20px;
    text-align: center; background: #fff;
}
.honor-card-grid li:nth-of-type(3n) { margin-right: 0; }
.honor-card-grid .hron-img { margin: 30px 0 20px; height: 180px; display: flex; align-items: center; justify-content: center; }
.honor-card-grid .hron-img img { max-height: 180px; object-fit: contain; }
.honor-card-grid p {
    background: #00468E; color: #fff; font-size: 14px; padding: 12px 15px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.about-swiper .swiper-button-prev,
.about-swiper .swiper-button-next,
.about-swiper-img .swiper-button-prev,
.about-swiper-img .swiper-button-next {
    background-color: #9f9f9f; width: 27px; height: 27px; border-radius: 50%;
    background-size: 12px; opacity: 1;
}
.about-swiper .swiper-button-prev:hover,
.about-swiper .swiper-button-next:hover { background-color: #00468E; }

.about-kehu { background: #f6f7fa; padding: 60px 0; }
.about-kehu .swiper-pagination-bullet { border-radius: 0; width: 12px; height: 12px; transform: rotate(45deg); }

.about-wh { background: #f6f7fa; margin-top: 0; padding-top: 60px; padding-bottom: 60px; }
.about-wh-list ul li {
    width: 22.75%; float: left; margin-right: 3%; text-align: center;
}
.about-wh-list ul li:last-of-type { margin-right: 0; }

/* 折叠屏适配 (840px) */
@media (max-width: 1024px) {
    .about-wh-list ul li { width: 48%; margin-bottom: 20px; margin-right: 4%; }
    .about-wh-list ul li:nth-child(2n) { margin-right: 0; }
}
/* 手机端适配 */
@media (max-width: 639px) {
    .about-wh-list ul li { width: 48%; margin-bottom: 20px; margin-right: 4%; float: left; }
    .about-wh-list ul li:nth-child(2n) { margin-right: 0; }
    .about-wh-img { width: 90px; height: 90px; }
    .busin-list ul li { width: 100%; margin-right: 0; }
    .busin-list ul li:nth-of-type(4n) { margin-right: 0; }
    .busin-list ul li a { padding: 25px 20px; flex-direction: row; text-align: left; gap: 15px; }
    .busin-list ul li a i:not([class]) { display: none; }
    .busin-list ul li a h3 { margin-top: 0; min-height: auto; }
    .busin-icon { width: 45px; height: 45px; flex-shrink: 0; }

    /* === 借鉴 ghlawyer.net 移动端策略：padding 减半、字号降一档 === */
    /* 内页 section padding 大幅缩减 */
    .gh-inner-section { padding: 30px 0 40px; }
    .busin-section { padding: 30px 0 40px; }
    .about-section { padding: 30px 0; }
    .about-history { padding: 30px 0 40px; }
    .about-hrono { padding: 30px 0 50px; }
    .about-kehu { padding: 30px 0; }
    .about-wh { padding-top: 30px; padding-bottom: 30px; }
    .team-detail-wrap { padding: 30px 0; }

    /* 标题字号降一档 */
    .gh-section-title h3 { font-size: 20px; }
    .page-title-bar { padding: 2.5rem 0 2rem; }
    .page-title-bar h1 { font-size: 1.75rem; }
    .page-title-bar p { font-size: 0.95rem; }

    /* 容器左右 padding 收紧 */
    .gh-wrap, .gh-wrap2 { padding: 0 4%; }

    /* 栏目导航 padding 缩小，避免溢出 */
    .nei-nav a { padding: 10px 14px; font-size: 13px; }

    /* 关于广和 - 概况文本 padding 缩小 */
    .about-jj-text { padding: 15px 10px; }
    .about-jj-text p { font-size: 14px; line-height: 22px; margin-top: 10px; }

    /* 大事记 - 移动端纵向布局 */
    .develop-thumbs { width: 100%; margin-right: 0; height: auto; }
    .develop-thumbs .swiper-slide { text-align: center; padding-right: 0; height: 30px; line-height: 30px; font-size: 14px; }
    .develop-thumbs .swiper-slide-thumb-active { font-size: 18px; }
    .develop-main { margin-left: 0; margin-top: 15px; }
    .develop-slide-left { width: 100%; float: none; margin-top: 0; }
    .develop-slide-left h3 { font-size: 22px; margin-bottom: 12px; }
    .develop-slide-right { width: 100%; float: none; margin-top: 15px; }

    /* 荣誉卡片 - 移动端 1 列 */
    .honor-card-grid li { width: 100%; margin-right: 0; }
    .honor-card-grid .hron-img { margin: 20px 0 15px; height: 140px; }
    .honor-card-grid .hron-img img { max-height: 140px; }

    /* 律师详情 - 移动端 padding 缩小 */
    .team-detail-right { padding: 25px 15px; }
    .team-detail-right h2 b { font-size: 22px; }

    /* 律师列表 - 小屏进一步缩小图片 */
    .team-list-img { width: 110px; max-height: 150px; line-height: 150px; }
    .team-list-text { padding: 12px 12px 12px 125px; min-height: 150px; }
    .team-list-text h2 b { font-size: 15px; margin-right: 10px; }
    .team-list-text h2 span { font-size: 12px; padding-left: 10px; }
    .team-list-text > h3 { font-size: 13px; margin-top: 6px; }
    .team-text-div h4 { font-size: 13px; margin: 6px 0 2px; }
    .team-text-div p { font-size: 12px; line-height: 18px; -webkit-line-clamp: 2; }

    /* 年份条 padding 缩小 */
    .year-link { padding: 6px 12px; font-size: 14px; }

    /* 分页字号缩小 */
    .gh-pagination a { padding: 5px 10px; font-size: 13px; margin: 0 2px; }

    /* 容器最大宽度内边距 */
    .about-jj-img img { width: 100% !important; }
}

/* 超小屏幕适配 (≤480px) */
@media (max-width: 480px) {
    .team-list-img { width: 90px; max-height: 120px; line-height: 120px; }
    .team-list-text { padding: 10px 10px 10px 100px; min-height: 120px; }
    .team-list-text h2 b { font-size: 14px; margin-right: 8px; }
    .team-list-text h2 span { display: block; border-left: none; padding-left: 0; padding-top: 2px; font-size: 11px; }
    .team-text-div p { -webkit-line-clamp: 1; }
    .nei-nav a { padding: 8px 10px; font-size: 12px; }
    .gh-section-title h3 { font-size: 18px; }
}
.about-wh-img {
    width: 120px; height: 120px; border-radius: 50%; margin: 0 auto;
}
.about-wh-list ul li > a > span {
    width: 1px; height: 25px; background: #c4d4e5; display: block; margin: 10px auto;
}
.about-wh-list ul li h3 { font-size: 18px; color: #00468E; font-weight: bold; margin-top: 8px; }
.about-wh-list ul li p { font-size: 14px; color: #666; line-height: 22px; margin-top: 6px; }

/* ========== 专业领域 ========== */
.busin-section { padding: 60px 0 90px; }
.busin-list ul {
    display: flex; flex-wrap: wrap;
}
.busin-list ul li {
    width: 48.5%; margin-bottom: 2%; margin-right: 3%;
    text-align: center; background: #f3f7fb; box-sizing: border-box;
    transition: 0.3s; display: flex;
}
.busin-list ul li:nth-of-type(2n) { margin-right: 0; }
.busin-list ul li:hover { box-shadow: 0 0 8px #ccc; }
.busin-list ul li a {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; width: 100%; padding: 40px 35px;
}
.busin-icon {
    width: 60px; height: 60px; display: flex;
    align-items: center; justify-content: center;
    background-position: center; background-size: contain; background-repeat: no-repeat;
}
.busin-icon-font {
    background: none;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 28px; color: #00468E;
}
.busin-icon-default {
    background: #00468E; opacity: 0.15; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 28px; color: #00468E; opacity: 1;
}
.busin-icon-default i { opacity: 0.3; }
.busin-list ul li a > i:not([class]) {
    width: 35px; height: 4px; background: #00a0e9; display: block; margin: 10px auto 0;
}
.busin-list ul li a h3 {
    font-size: 16px; color: #000; margin-top: 25px; min-height: 44px; line-height: 22px;
}
.busin-list ul li a:hover h3 { color: #00468E; }
