/* Shared clinic directory and editorial detail presentation. */
.clinic-index,
.clinic-page {
  width:var(--page-width);
  margin-inline:auto;
}
.clinic-kicker {
  margin:0 0 .75rem;
  color:var(--jade);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.clinic-index-hero {
  max-width:820px;
  padding:0 0 var(--page-intro-gap);
}
.clinic-index-hero h1,
.clinic-hero h1 {
  margin:.1rem 0 1rem;
  font:500 var(--type-page-title)/1.12 Georgia,serif;
  letter-spacing:-.05em;
}
.clinic-index-hero>p:not(.clinic-kicker) {
  max-width:700px;
  margin:0 0 1.8rem;
  color:#3d514c;
  font-size:clamp(1.1rem,2vw,1.4rem);
}
.clinic-directory {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,2.5vw,2rem);
  padding-bottom:clamp(4rem,8vw,7rem);
}
.clinic-card {
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:1.4rem;
  box-shadow:0 18px 50px rgba(23,53,47,.07);
}
.clinic-card--text {
  min-height:100%;
  background:linear-gradient(145deg,#f8f5ed 0%,#fffdf8 58%,#e8eee9 100%);
  border-top:5px solid var(--jade);
}
.clinic-card--text .clinic-card-body { padding-top:clamp(2rem,5vw,3.4rem); }
.clinic-card-media {
  display:block;
  overflow:hidden;
  background:#e8eee9;
  aspect-ratio:16/10;
}
.clinic-card-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.clinic-card-media:focus-visible img,
.clinic-card-media:hover img { transform:scale(1.025); }
.clinic-card-body {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:clamp(1.4rem,3vw,2.2rem);
}
.clinic-card-meta {
  margin:0 0 .5rem;
  color:var(--muted);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.clinic-card h2 {
  margin:0 0 .8rem;
  font:500 var(--type-card)/1.2 Georgia,serif;
  overflow-wrap:anywhere;
}
.clinic-card h2 a { color:var(--ink); text-decoration:none; }
.clinic-card h2 a:hover { color:var(--jade); }
.clinic-card-body>p:not(.clinic-card-meta) { margin:0 0 1.4rem; color:#455a55; }
.clinic-card-action { margin-top:auto; font-weight:780; }
.clinic-index-next h2 { margin:.1rem 0 .75rem; font:500 var(--type-section)/1.16 Georgia,serif; }

.clinic-hero {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr);
  gap:clamp(2rem,6vw,6rem);
  align-items:center;
  padding:0 0 var(--page-intro-gap);
}
.clinic-hero--text { grid-template-columns:minmax(0,800px); }
.clinic-local-name { margin:-.35rem 0 1.2rem; color:var(--muted); font-size:1.05rem; }
.clinic-hero-lead { max-width:670px; color:#3d514c; font-size:clamp(1.08rem,1.7vw,1.32rem); }
.clinic-hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.8rem; }
.clinic-hero-media { width:100%; max-width:520px; margin:0; justify-self:end; }
.clinic-hero-media img,
.clinic-entry img,
.clinic-doctor img {
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
}
.clinic-hero-media figcaption,
.clinic-entry figcaption,
.clinic-doctor figcaption {
  margin-top:.55rem;
  color:var(--muted);
  font-size:.82rem;
}
.clinic-hero-facts {
  display:flex;
  flex-wrap:wrap;
  gap:1rem 1.8rem;
  margin:1.8rem 0 0;
}
.clinic-hero-facts div { max-width:150px; }
.clinic-hero-facts dt { color:var(--ink); font:600 1.35rem Georgia,serif; }
.clinic-hero-facts dd { margin:.2rem 0 0; color:var(--muted); font-size:.88rem; }

.clinic-section {
  padding:clamp(3.5rem,7vw,6rem) 0;
  border-top:1px solid var(--line);
  overflow-wrap:anywhere;
}
.clinic-section-heading { max-width:820px; margin-bottom:clamp(1.8rem,4vw,3rem); }
.clinic-section-heading h2,
.clinic-next h2 {
  margin:.1rem 0;
  font:500 var(--type-section)/1.16 Georgia,serif;
  letter-spacing:-.035em;
}
.clinic-section-intro,
.clinic-prose {
  max-width:780px;
  color:#3d514c;
  font-size:1.05rem;
}
.clinic-section-intro { margin:1rem 0 0; }
.clinic-prose p { margin:0 0 1rem; }
.clinic-section-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.85fr); gap:clamp(2rem,5vw,4rem); align-items:start; }
.clinic-section-split .clinic-prose { max-width:650px; }
.clinic-section-media { width:100%; max-width:520px; margin:0; }
.clinic-section-media img { display:block; width:100%; height:auto; }
#clinic-chengquan-equipment-1 .clinic-section-media img { aspect-ratio:1098/800; object-fit:cover; object-position:center top; }
.clinic-section-media figcaption { margin-top:.55rem; color:var(--muted); font-size:.82rem; }
.clinic-facts { max-width:720px; margin:2rem 0 0; }
.clinic-facts div { display:grid; grid-template-columns:minmax(110px,.35fr) 1fr; gap:1rem; padding:.9rem 0; border-top:1px solid var(--line); }
.clinic-facts dt { color:var(--muted); font-size:.78rem; font-weight:780; letter-spacing:.08em; text-transform:uppercase; }
.clinic-facts dd { margin:0; }
.clinic-disclosure { max-width:780px; margin:1.5rem 0 0; padding:1rem 0; background:transparent; border:0; border-block:1px solid var(--line); border-radius:0; }
.clinic-disclosure summary { min-height:44px; display:flex; align-items:center; color:var(--jade); font-weight:750; cursor:pointer; }
.clinic-disclosure p { margin:.75rem 0 0; }
.clinic-topic-list,
.clinic-group-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 clamp(2rem,6vw,5rem);
  max-width:960px;
  margin:2rem 0 0;
}
.clinic-topic-list div,
.clinic-group-list section { padding:1.2rem 0; border-top:1px solid var(--line); }
.clinic-topic-list dt,
.clinic-group-list h3 { margin:0 0 .5rem; font:600 1.25rem Georgia,serif; }
.clinic-topic-list dd { margin:0; color:var(--muted); }
.clinic-group-list ul { margin:.6rem 0 0; padding-left:1.2rem; color:#455a55; }
.clinic-step-list { max-width:850px; margin:2rem 0 0; padding:0; list-style:none; counter-reset:steps; }
.clinic-step-list li { counter-increment:steps; display:grid; grid-template-columns:2.5rem minmax(110px,.35fr) 1fr; gap:.8rem; padding:1rem 0; border-top:1px solid var(--line); }
.clinic-step-list li::before { content:"0" counter(steps); color:var(--sun); font-weight:800; }
.clinic-step-list span { color:var(--muted); }

.clinic-entry-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),560px));
  gap:clamp(2rem,5vw,4rem);
  margin-top:2rem;
}
.clinic-page--haxi .clinic-entry-list { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:960px; gap:1.5rem 3rem; }
.clinic-page--yunke .clinic-entry-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 3rem; }
.clinic-entry { min-width:0; padding-top:1rem; border-top:1px solid var(--line); }
.clinic-entry figure { max-width:720px; margin:0; }
.clinic-entry figcaption { color:var(--ink); font:600 1.2rem Georgia,serif; }
.clinic-entry>div { max-width:650px; }
.clinic-entry h3 { margin:0 0 .65rem; font:600 1.35rem Georgia,serif; }
.clinic-entry p { margin:.8rem 0 0; color:#455a55; }

.clinic-doctor-list { max-width:960px; }
.clinic-doctor {
  display:grid;
  grid-template-columns:minmax(150px,220px) minmax(0,1fr);
  gap:clamp(1.25rem,4vw,3rem);
  align-items:start;
  padding:clamp(1.5rem,3vw,2.5rem) 0;
  border-top:1px solid var(--line);
}
.clinic-doctor--featured { max-width:960px; }
.clinic-doctor--text { grid-template-columns:1fr; }
.clinic-doctor figure { width:100%; margin:0; }
.clinic-doctor figcaption,
.clinic-doctor h3 { color:var(--ink); font:600 1.35rem Georgia,serif; }
.clinic-doctor-copy { max-width:700px; }
.clinic-page--haxi .clinic-doctor-copy h3 { margin:0 0 .65rem; }
.clinic-doctor-copy>p,
.clinic-doctor-copy>div { color:#455a55; }
.doctor-role { margin-top:0; color:var(--jade)!important; font-weight:750; }
.clinic-support-list { max-width:850px; margin:0; padding-left:1.5rem; }
.clinic-support-list li { padding:.9rem 0 1rem .5rem; border-bottom:1px solid var(--line); }
.clinic-support-list span { display:block; margin-top:.35rem; color:var(--muted); }

.price-table-wrap { max-width:100%; overflow-x:auto; }
.price-table { width:100%; min-width:560px; border-collapse:collapse; background:var(--card); }
.price-table th,
.price-table td { padding:.85rem 1rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.price-table thead th { color:var(--ink); background:#ebe8df; }
.clinic-document-list { margin:0; padding:0; list-style:none; }
.clinic-document-list li { display:flex; flex-wrap:wrap; gap:.5rem 1rem; padding:1rem 0; border-top:1px solid var(--line); }
.clinic-document-list span { color:var(--muted); font-size:.88rem; }
.clinic-next {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);
  gap:clamp(1.5rem,5vw,5rem);
  align-items:end;
  margin-top:clamp(1rem,3vw,2rem);
  padding:clamp(2rem,5vw,4rem);
  color:#fff;
  background:var(--jade-dark);
  border-radius:1.4rem 1.4rem 1.4rem .25rem;
}
.clinic-next .clinic-kicker { color:#efc77c; }
.clinic-next>p { margin:0; color:#d7e7e1; font-size:1.05rem; }
.clinic-source { margin:1.2rem 0 0; color:var(--muted); font-size:.85rem; }
@media(max-width:620px) { body:has(.clinic-page--haxi) .contact-dock { display:none; } }
@media(max-width:760px) { .clinic-page--haxi .clinic-entry-list { grid-template-columns:1fr; } }
@media(max-width:760px) { .clinic-page--yunke .clinic-entry-list { grid-template-columns:1fr; } }
.clinic-index>.capture,
.clinic-page>.capture { margin-block:clamp(3rem,6vw,5rem); }

@media(max-width:900px) {
  .clinic-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .clinic-hero { grid-template-columns:1fr; }
  .clinic-hero-media { max-width:620px; justify-self:start; }
  .clinic-section-split { grid-template-columns:1fr; }
}
@media(max-width:680px) {
  .clinic-directory,
  .clinic-next,
  .clinic-topic-list,
  .clinic-group-list { grid-template-columns:1fr; }
  .clinic-card-media { aspect-ratio:4/3; }
  .clinic-doctor { grid-template-columns:1fr; }
  .clinic-doctor figure { width:min(46vw,11rem); }
  .clinic-step-list li { grid-template-columns:2rem minmax(0,1fr); }
  .clinic-step-list strong,
  .clinic-step-list span { grid-column:2; }
  .clinic-facts div { grid-template-columns:1fr; gap:.25rem; }
}
@media(prefers-reduced-motion:reduce) { .clinic-card-media img { transition:none; } }
