/* Shared styles for service pages (e.g. /service/pch.html). */

:root{
  --svc-ink: #0a101f;
  --svc-accent: var(--accent, #c6aa7f);
  --svc-accent-hover: #b08e5b;
  --svc-border: #d7c7a6;
  --svc-border-2: #cdb89a;
  --svc-card: #ffffff;
}

/* Pill "chip" tags used in service intros. */
.svc-chip{
  display:inline-block;
  border-radius:9999px;
  border:1px solid var(--svc-border);
  background: rgba(255,255,255,.85);
  padding: 0.375rem 1rem; /* py-1.5 px-4 */
  font-size:13px;
  line-height:1.25;
  color: rgba(10,16,31,.85);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
  cursor:default;
}

@media (min-width: 768px){
  .svc-chip{ font-size:0.875rem; } /* tailwind: text-sm */
}

.svc-chip:hover{
  border-color: rgba(198,170,127,.5);
  background: rgba(198,170,127,.1);
  color: var(--svc-accent-hover);
}

/* Outline pill button used for "show more". */
.svc-pill-outline-btn{
  display:inline-flex;
  align-items:center;
  gap: .5rem;
  border-radius:9999px;
  border: 1px solid rgba(198,170,127,.7);
  padding: 0.625rem 1.25rem; /* py-2.5 px-5 */
  font-size: .875rem; /* text-sm */
  font-weight: 500;
  color: var(--svc-accent);
  background: rgba(255,255,255,.9);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
  cursor:pointer;
}

.svc-pill-outline-btn:hover{
  background: rgba(198,170,127,.1);
  color: var(--svc-accent-hover);
}

.svc-pill-outline-btn:focus-visible{
  outline:2px solid rgba(198,170,127,.8);
  outline-offset:2px;
}

/* "Flow module" buttons (the 3+2 grid). */
.svc-flow-btn{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  border-radius: 6px;
  border:1px solid var(--svc-border);
  background: var(--svc-card);
  padding: 0.625rem 1rem; /* py-2.5 px-4 */
  text-align:left;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
  cursor:pointer;
}

.svc-flow-btn:hover{
  border-color: rgba(198,170,127,.6);
  background: rgba(198,170,127,.1);
  color: var(--svc-accent-hover);
}

.svc-flow-bullet{
  color: var(--svc-accent);
}

/* Advantage cards (collapsible) */
.svc-adv-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: start;
}

@media (min-width: 768px){
  .svc-adv-grid{
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
}

/* Three columns on large screens (e.g. 服务范围 8 项：一行 3 个) */
@media (min-width: 768px){
  .svc-adv-grid.svc-adv-grid--cols-3{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px){
  .svc-adv-grid.svc-adv-grid--cols-3{
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
}

.svc-adv-card{
  border:1px solid var(--svc-border-2);
  border-radius:14px;
  background: rgba(255,255,255,.92);
  padding: 14px 16px;
  align-self: start;
}

.svc-adv-details{
  width:100%;
}

.svc-adv-details > summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  display:flex;
  gap:10px;
  align-items:center;
}

.svc-adv-details > summary::-webkit-details-marker{
  display:none;
}

.svc-adv-num{
  flex:0 0 auto;
  width:22px;
  height:22px;
  border-radius:999px;
  background: rgba(198,170,127,.20);
  color: var(--svc-accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:600;
  margin-top:0;
}

.svc-adv-title{
  color: var(--svc-ink);
  font-size: 14px;
  line-height: 1.25;
  font-weight: 600;
}

.svc-adv-chevron{
  margin-left:auto;
  color: rgba(10,16,31,.45);
  font-size: 12px;
  line-height: 22px;
}

.svc-adv-details[open] .svc-adv-chevron{
  transform: rotate(180deg);
}

.svc-adv-body{
  margin-top:10px;
  color: rgba(10,16,31,.84);
  font-size: 13px;
  line-height: 1.7;
}

/* Service products (details body) — keep consistent expanded height.
   If content is longer than ~5 lines, allow scrolling inside. */
.svc-product-body{
  /* Height tuned to show all 6-item bullet lists without internal scrolling. */
  height: 230px;
  overflow-y: hidden;
}

/* 服务范围等：正文为段落，长短不一时可滚动 */
.svc-adv-body.svc-scope-body{
  height: auto;
  max-height: 300px;
  overflow-y: auto;
}

.svc-adv-details:focus-within{
  outline:2px solid rgba(198,170,127,.35);
  outline-offset:3px;
  border-radius:16px;
}

/* Horizontal tabs for case categories */
.svc-tablist{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.svc-tab{
  border-radius:9999px;
  border:1px solid rgba(198,170,127,.65);
  background: rgba(255,255,255,.78);
  padding: 0.5rem 0.9rem;
  font-size:13px;
  line-height:1.2;
  color: rgba(10,16,31,.88);
  cursor:pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.svc-tab:hover{
  background: rgba(198,170,127,.10);
  border-color: rgba(198,170,127,.85);
  color: rgba(10,16,31,.98);
}

.svc-tab.is-active{
  background: rgba(198,170,127,.14);
  border-color: rgba(198,170,127,1);
  color: rgba(10,16,31,.98);
}

.svc-tab:focus-visible{
  outline:2px solid rgba(198,170,127,.65);
  outline-offset:2px;
}

/* Service scope: client list of keywords only — multiple pills per row, wraps naturally */
.svc-scope-kw-cloud{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:0.5rem 0.625rem;
}
@media (min-width:768px){
  .svc-scope-kw-cloud{
    gap:0.5rem 0.75rem;
  }
}
/* Optional: more columns on wide screens (fixed min width per cell) */
.svc-scope-kw-cloud.svc-scope-kw-cloud--grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(10.5rem, 1fr));
  gap:0.5rem 0.75rem;
}

/* Case section */
.svc-case-group{
  margin-top: 18px;
}

.svc-case-h3{
  font-size: 16px;
  font-weight: 600;
  color: var(--svc-ink);
  margin: 0 0 10px 0;
}

.svc-case-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.svc-case-card{
  border:1px solid var(--svc-border-2);
  border-radius:14px;
  background: rgba(255,255,255,.92);
  padding: 14px 16px;
}

.svc-case-details > summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.svc-case-details > summary::-webkit-details-marker{ display:none; }

.svc-case-title{
  font-size: 14px;
  line-height: 1.25;
  font-weight: 600;
  color: var(--svc-ink);
}

.svc-case-meta{
  margin-left:auto;
  color: rgba(10,16,31,.45);
  font-size: 12px;
  line-height: 20px;
}

.svc-case-details[open] .svc-case-meta{
  transform: rotate(180deg);
}

.svc-case-body{
  margin-top:10px;
  color: rgba(10,16,31,.84);
  font-size: 13px;
  line-height: 1.7;
}

.svc-case-ul{
  margin: 8px 0 0 0;
  padding-left: 18px;
}

.svc-case-ul li{
  margin: 6px 0;
}

.svc-case-sub{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed rgba(224,211,191,.9);
}

.svc-case-sub:first-child{
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

/* Service detail cards (业务详解) hover effect */
.svc-detail-card{
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
  border-radius: 14px !important;
  background: rgba(255,255,255,.92) !important;
  border-color: var(--svc-border-2) !important;
}

.svc-detail-card:hover{
  transform: translateY(-2px);
  border-color: rgba(198,170,127,.95) !important;
  background: rgba(198,170,127,.12) !important;
  box-shadow: 0 8px 18px rgba(10,16,31,.10);
}

.svc-detail-card h3,
.svc-detail-card li{
  transition: color .2s ease;
}

.svc-detail-card h3{
  color: rgba(10,16,31,.95) !important;
}

.svc-detail-card li{
  color: rgba(10,16,31,.86) !important;
}

.svc-detail-card:hover h3{
  color: #a97c42 !important;
}

.svc-detail-card:hover li{
  color: rgba(10,16,31,.92) !important;
}

/* Team configuration cards hover effect */
.svc-team-card{
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
  border-radius: 14px !important;
  background: rgba(255,255,255,.92) !important;
  border-color: var(--svc-border-2) !important;
}

.svc-team-card:hover{
  transform: translateY(-2px);
  border-color: rgba(198,170,127,.95) !important;
  background: rgba(198,170,127,.12) !important;
  box-shadow: 0 8px 18px rgba(10,16,31,.10);
}

.svc-team-card h3,
.svc-team-card li,
.svc-team-card p{
  transition: color .2s ease;
}

.svc-team-card h3{
  color: rgba(10,16,31,.95) !important;
}

.svc-team-card li{
  color: rgba(10,16,31,.86) !important;
}

.svc-team-card p{
  color: rgba(10,16,31,.86) !important;
}

.svc-team-card:hover h3{
  color: #a97c42 !important;
}

.svc-team-card:hover li,
.svc-team-card:hover p{
  color: rgba(10,16,31,.92) !important;
}

/* Swiper: remove built-in shadows/overlays for honor swiper. */
#honorSwiper::before,
#honorSwiper::after,
#honorSwiper .swiper-wrapper::before,
#honorSwiper .swiper-wrapper::after{
  display:none !important;
  background:none !important;
}

#honorSwiper .swiper-slide{
  background:transparent !important;
}

#honorSwiper{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* 服务范围：单面板条款式列表（国际业务部等） */
.svc-scope-panel{
  border-radius:14px;
  border:1px solid rgba(205,184,154,.88);
  background:#fff;
  box-shadow:0 1px 3px rgba(10,16,31,.05);
  overflow:hidden;
}

.svc-scope-panel-list{
  list-style:none;
  margin:0;
  padding:0;
}

.svc-scope-panel-item{
  margin:0;
  padding:1.15rem 1.25rem 1.2rem;
  border-bottom:1px solid rgba(232,223,208,.95);
}

@media (min-width:768px){
  .svc-scope-panel-item{
    padding:1.25rem 1.5rem 1.35rem;
  }
}

.svc-scope-panel-item:last-child{
  border-bottom:0;
}

.svc-scope-panel-row{
  display:flex;
  align-items:flex-start;
  gap:0.85rem;
}

@media (min-width:768px){
  .svc-scope-panel-row{ gap:1rem; }
}

.svc-scope-panel-idx{
  flex:0 0 auto;
  min-width:1.75rem;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.08em;
  font-variant-numeric:tabular-nums;
  color:#9a7b45;
  line-height:1.45;
  padding-top:0.2em;
}

.svc-scope-panel-copy{
  min-width:0;
  flex:1;
}

.svc-scope-panel-title{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  color:var(--svc-ink);
}

@media (min-width:768px){
  .svc-scope-panel-title{ font-size:16px; }
}

.svc-scope-panel-desc{
  margin:0.55rem 0 0;
  font-size:15px;
  line-height:1.72;
  color:rgba(10,16,31,.72);
}

/* 私人律师部：服务产品概览卡片 */
.svc-product-overview-wrap{
  margin:0 auto;
  max-width:920px;
  padding:1.25rem 1rem;
  border-radius:1rem;
  background:linear-gradient(180deg,#fbf8f3 0%,#f7f3ec 100%);
  border:1px solid rgba(224,211,191,.75);
}

.svc-product-overview{
  list-style:none;
  margin:0 auto;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0.875rem 0.75rem;
}

.svc-product-overview-card{
  position:relative;
  display:block;
  padding:0.75rem 0.625rem 0.875rem;
  border-radius:0.875rem;
  border:1px solid rgba(224,211,191,.55);
  background:#fff;
  text-align:center;
  text-decoration:none;
  color:inherit;
  box-shadow:0 4px 14px rgba(10,16,31,.04);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.svc-product-overview-card:hover{
  transform:translateY(-3px);
  border-color:rgba(198,170,127,.55);
  box-shadow:0 10px 24px rgba(10,16,31,.08);
}

.svc-product-overview-card:focus-visible{
  outline:2px solid rgba(198,170,127,.85);
  outline-offset:3px;
}

.svc-product-overview-num{
  position:absolute;
  top:0.5rem;
  left:0.5rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.5rem;
  height:1.5rem;
  padding:0 0.35rem;
  border-radius:9999px;
  background:rgba(198,170,127,.14);
  font-size:0.6875rem;
  font-weight:700;
  letter-spacing:0.04em;
  color:var(--svc-accent);
}

.svc-product-overview-media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:118px;
}

.svc-product-overview-card img{
  display:block;
  width:100%;
  max-width:168px;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}

.svc-product-overview-hint{
  margin:1rem 0 0;
  text-align:center;
  font-size:0.75rem;
  color:rgba(10,16,31,.48);
}

.svc-product-overview-title{
  margin:0.75rem 0 0;
  font-size:0.9375rem;
  font-weight:600;
  line-height:1.45;
  color:var(--svc-ink);
}

.svc-product-overview-desc{
  margin:0.35rem 0 0;
  font-size:0.8125rem;
  line-height:1.5;
  color:rgba(10,16,31,.62);
}

@media (min-width:768px){
  .svc-product-overview-wrap{
    padding:1.5rem 1.75rem;
  }

  .svc-product-overview{
    gap:1rem 0.875rem;
  }

  .svc-product-overview-media{
    min-height:132px;
  }

  .svc-product-overview-card img{
    max-width:180px;
  }
}

@media (max-width:767px){
  .svc-product-overview-wrap{
    padding:1.25rem 0.75rem 1rem;
  }

  .svc-product-overview{
    gap:0.625rem 0.5rem;
  }

  .svc-product-overview-card{
    padding:0.625rem 0.375rem 0.75rem;
  }

  .svc-product-overview-media{
    min-height:96px;
  }

  .svc-product-overview-card img{
    max-width:100%;
  }

  .svc-product-overview-title{
    font-size:0.8125rem;
  }

  .svc-product-overview-desc{
    font-size:0.75rem;
  }
}
