/* ══════════════════════════════════════════════════════════════
   MP LABO — shared brand layer for /range and product pages
   Palette per style guide: Ink #16201B · Bone #F4F7F4 ·
   Hexagon Teal #56BCB4 → #4DA9A1 · Renal Violet #9560A4
   ══════════════════════════════════════════════════════════════ */
.mpl {
  --mpl-ink:       #16201B;
  --mpl-ink-soft:  #46554E;
  --mpl-muted:     #6C7B73;
  --mpl-bone:      #F4F7F4;
  --mpl-teal:      #56BCB4;
  --mpl-teal-d:    #4DA9A1;
  --mpl-teal-ink:  #35837C;
  --mpl-line:      #E4EAE6;
  --mpl-display:   'Fredoka', 'Noto Sans TC', sans-serif;
  --mpl-font:      'Outfit', 'Noto Sans TC', -apple-system, sans-serif;
  font-family: var(--mpl-font);
  color: var(--mpl-ink);
  background: #fff;
}
html[lang="zh-Hant"] .mpl { font-family: 'Noto Sans TC', 'Outfit', sans-serif; }

/* range accent tracks (small doses only: hexagon marks, tag tints) */
.mpl [data-range="dental"]    { --rc:#0E9F5C; --rc-ink:#0C6E42; --rc-soft:#EBF7F0; }
.mpl [data-range="eye"]       { --rc:#1B9CDB; --rc-ink:#0E5B85; --rc-soft:#EBF5FB; }
.mpl [data-range="digestive"] { --rc:#C8A21E; --rc-ink:#7A6212; --rc-soft:#FAF4DF; }
.mpl [data-range="renal"]     { --rc:#9560A4; --rc-ink:#6B4478; --rc-soft:#F3ECF6; }
.mpl [data-range="derm"]      { --rc:#D9808F; --rc-ink:#8A4854; --rc-soft:#FBEEF1; }
.mpl [data-range="organic"]   { --rc:#5E8C61; --rc-ink:#3E5F40; --rc-soft:#EDF4EC; }

/* hexagon mark (matches the MP Labo brandmark) */
.mpl-hex::before {
  content:""; display:inline-block; width:13px; height:15px; flex:0 0 auto;
  background:var(--rc, var(--mpl-teal));
  clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

/* ── hero (light, photo right) ── */
.mpl-hero { position:relative; overflow:hidden; background:#fff; padding:9.5rem 2rem 0; }
.mpl-hero-photo {
  position:absolute; top:0; right:0; bottom:0; width:60%;
  background:url('../images/ambassador-hero.jpg') no-repeat 65% 38% / cover;
}
.mpl-hero-photo::before {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, #fff 0%, rgba(255,255,255,.94) 14%, rgba(255,255,255,.55) 42%, rgba(255,255,255,0) 72%);
}
.mpl-hero-photo::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,0) 26%, rgba(255,255,255,0) 58%, #fff 96%);
}
.mpl-hero-inner { max-width:1200px; margin:0 auto; position:relative; z-index:2; }
.mpl-hero-logo { height:56px; width:auto; display:block; }
.mpl-eyebrow {
  margin-top:1.6rem; font-size:.8rem; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--mpl-teal-ink);
}
.mpl-hero h1 {
  font-family:var(--mpl-display); font-weight:600; color:var(--mpl-ink);
  font-size:clamp(2.1rem,4vw,3.15rem); line-height:1.16;
  margin:.9rem 0 1.1rem; max-width:19ch; text-wrap:balance;
}
.mpl-hero .mpl-sub { font-size:1.05rem; line-height:1.8; color:var(--mpl-ink-soft); max-width:50ch; font-weight:300; }
.mpl-provenance {
  display:inline-flex; align-items:center; gap:.55rem; margin-top:1.5rem;
  background:#fff; border:1px solid var(--mpl-line); box-shadow:0 2px 10px rgba(22,32,27,.05);
  border-radius:999px; padding:.5rem 1.15rem; font-size:.84rem; letter-spacing:.04em; font-weight:500; color:var(--mpl-ink-soft);
}
.mpl-provenance::before {
  content:""; width:12px; height:14px;
  background:linear-gradient(135deg,var(--mpl-teal),var(--mpl-teal-d));
  clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.mpl-hero-ctas { display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2.1rem; }
.mpl-stats {
  position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:1.2rem 3rem;
  border-top:1px solid var(--mpl-line);
  margin-top:3.6rem; padding:1.7rem 0 2.4rem;
}
.mpl-stat b { font-family:var(--mpl-display); font-weight:600; font-size:1.7rem; margin-right:.55rem; color:var(--mpl-ink); }
.mpl-stat span { font-size:.87rem; color:var(--mpl-muted); font-weight:300; }

/* ── buttons ── */
.mpl-btn {
  display:inline-flex; align-items:center; gap:.5rem; text-decoration:none;
  font-family:var(--mpl-font); font-weight:600; font-size:.93rem;
  border-radius:999px; padding:.78rem 1.65rem; transition:all .22s ease; border:1.5px solid transparent;
  cursor:pointer;
}
.mpl-btn-primary {
  background:linear-gradient(135deg,var(--mpl-teal) 0%,var(--mpl-teal-d) 100%);
  color:#fff; box-shadow:0 3px 14px rgba(77,169,161,.35);
}
.mpl-btn-primary:hover { background:linear-gradient(135deg,#4DB0A8 0%,#41968F 100%); transform:translateY(-1px); box-shadow:0 6px 20px rgba(77,169,161,.42); }
.mpl-btn-quiet { border-color:#CBD8D3; color:var(--mpl-ink); }
.mpl-btn-quiet:hover { border-color:var(--mpl-teal-d); background:var(--mpl-bone); }
.mpl-btn-white { background:#fff; color:var(--mpl-ink); }
.mpl-btn-white:hover { background:var(--mpl-bone); transform:translateY(-1px); box-shadow:0 8px 22px rgba(0,0,0,.22); }

/* ── category jump (sticky below the site nav) ── */
.mpl-jump {
  background:rgba(255,255,255,.97); backdrop-filter:blur(8px);
  border-top:1px solid var(--mpl-line); border-bottom:1px solid var(--mpl-line); padding:1rem 2rem;
  position:sticky; top:60px; z-index:49;
}
.mpl-jump-inner { max-width:1200px; margin:0 auto; display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
.mpl-jump-label { white-space:nowrap; }
.mpl-pill { white-space:nowrap; flex:0 0 auto; }
.mpl-jump-label { font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--mpl-muted); margin-right:.5rem; }
.mpl-pill {
  text-decoration:none; font-size:.86rem; font-weight:500; border-radius:999px;
  padding:.48rem 1.1rem; background:var(--mpl-bone); color:var(--mpl-ink);
  border:1px solid transparent; transition:all .2s ease; display:inline-flex; align-items:center; gap:.5rem;
}
.mpl-pill::before { width:10px; height:12px; }
.mpl-pill:hover { border-color:var(--rc); background:#fff; }

/* ── vet-channel band ── */
.mpl-vband { background:var(--mpl-bone); padding:1.5rem 2rem; }
.mpl-vband-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:1.3rem; flex-wrap:wrap; }
.mpl-vicon { display:block; width:auto; }
.mpl-vband .mpl-vicon { height:62px; }
.mpl-vband-text b { display:block; font-family:'Outfit','Noto Sans TC',sans-serif; font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:.85rem; color:var(--mpl-ink); }
.mpl-vband-text span { font-size:.92rem; color:var(--mpl-ink-soft); font-weight:300; }
.mpl-vband .mpl-btn { margin-left:auto; }

/* ── category sections ── */
.mpl-cat { padding:4.8rem 2rem 3.8rem; scroll-margin-top:130px; }
.mpl-cat.alt { background:var(--mpl-bone); }
.mpl-cat-inner { max-width:1200px; margin:0 auto; }
.mpl-cat-head { margin-bottom:2.4rem; max-width:70ch; }
.mpl-cat-label {
  display:flex; align-items:center; gap:.6rem;
  font-size:.76rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--mpl-muted);
}
.mpl-cat-head h2 {
  font-family:var(--mpl-display); font-weight:600; font-size:clamp(1.65rem,2.8vw,2.25rem);
  color:var(--mpl-ink); margin:.9rem 0 .55rem; line-height:1.2;
}
.mpl-cat-desc { color:var(--mpl-ink-soft); font-size:1rem; line-height:1.78; font-weight:300; }

/* ── featured (wide) card ── */
.mpl-feature {
  background:#fff; border-radius:18px; border:1px solid var(--mpl-line);
  box-shadow:0 14px 40px rgba(22,32,27,.05);
  display:grid; grid-template-columns:360px 1fr; overflow:hidden; margin-bottom:1.5rem;
  scroll-margin-top:140px;
}
.mpl-feature-img {
  background:#fff; display:flex; align-items:center; justify-content:center;
  padding:2.4rem; border-right:1px solid #EFF3F0;
}
.mpl-feature-img img { max-width:100%; max-height:330px; object-fit:contain; }
.mpl-feature-body { padding:2.1rem 2.3rem 1.9rem; }
.mpl-feature-noimg { grid-template-columns:1fr; }
.mpl-feature-noimg .mpl-feature-body { padding:2.2rem 2.4rem 2rem; }
@media (min-width: 901px) {
  .mpl-feature-noimg .mpl-benefits { display:grid; grid-template-columns:1fr 1fr; gap:0 2.4rem; }
}

/* ── card grid ── */
.mpl-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)); gap:1.4rem; }
.mpl-card {
  background:#fff; border-radius:16px; border:1px solid var(--mpl-line);
  box-shadow:0 8px 26px rgba(22,32,27,.04); overflow:hidden; display:flex; flex-direction:column;
  scroll-margin-top:140px;
}
.mpl-card-img {
  background:#fff; display:flex; align-items:center; justify-content:center;
  padding:1.6rem; height:210px; border-bottom:1px solid #EFF3F0;
}
.mpl-card-img img { max-height:100%; max-width:62%; object-fit:contain; }
.mpl-card-img-duo { gap:.8rem; }
.mpl-card-img-duo img { max-width:44%; }
.mpl-card-body { padding:1.5rem 1.6rem 1.45rem; display:flex; flex-direction:column; flex:1; }

/* shared card content */
.mpl-name { font-family:var(--mpl-display); font-weight:600; font-size:1.4rem; color:var(--mpl-ink); line-height:1.25; }
.mpl-feature .mpl-name { font-size:1.75rem; }
.mpl-tags { display:flex; flex-wrap:wrap; gap:.45rem; margin:.75rem 0 .85rem; align-items:center; }
.mpl-tag {
  font-size:.72rem; font-weight:600; letter-spacing:.04em; border-radius:999px;
  padding:.28rem .72rem; background:var(--rc-soft, var(--mpl-bone)); color:var(--rc-ink, var(--mpl-teal-ink));
}
.mpl-tag-neutral { background:var(--mpl-bone); color:var(--mpl-muted); }
.mpl-tag-img { display:inline-flex; align-items:center; gap:.4rem; }
.mpl-tag-img img { height:18px; width:auto; }
.mpl-species {
  display:inline-flex; align-items:center; gap:.42rem;
  font-size:.72rem; font-weight:600; letter-spacing:.04em; color:var(--mpl-muted);
  background:var(--mpl-bone); border-radius:999px; padding:.28rem .78rem;
}
.mpl-species img { height:19px; width:auto; opacity:.85; }
.mpl-pos { font-size:.98rem; color:var(--mpl-ink-soft); line-height:1.7; font-weight:400; }
.mpl-benefits { list-style:none; margin:1rem 0 0; padding:0; }
.mpl-benefits li {
  position:relative; padding-left:1.55rem; margin-bottom:.5rem;
  font-size:.92rem; line-height:1.62; color:var(--mpl-ink-soft); font-weight:300;
}
.mpl-benefits li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--mpl-teal-d); font-weight:700; }
.mpl-proof {
  margin-top:1.15rem; background:var(--mpl-bone);
  border:1px solid var(--mpl-line); border-radius:12px; padding:.95rem 1.1rem;
}
.mpl-proof b { display:block; font-size:.68rem; letter-spacing:.17em; text-transform:uppercase; color:var(--mpl-teal-ink); margin-bottom:.35rem; font-weight:700; }
.mpl-proof p { margin:0 0 .5rem; font-size:.86rem; line-height:1.68; color:var(--mpl-ink-soft); }
.mpl-proof p:last-child { margin-bottom:0; }
.mpl-cat.alt .mpl-proof, .mpl-pp .mpl-proof { background:#fff; }
.mpl-pp .mpl-proof { background:var(--mpl-bone); }
.mpl-format { margin-top:.95rem; font-size:.83rem; color:var(--mpl-muted); line-height:1.65; }
.mpl-format b { color:var(--mpl-ink-soft); font-weight:600; }
.mpl-ctas { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:auto; padding-top:1.35rem; }
.mpl-ctas .mpl-btn { padding:.62rem 1.35rem; font-size:.88rem; }

/* ── Sensiderm trio & routine ── */
.mpl-trio { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1.4rem; margin-top:1.5rem; }
.mpl-routine {
  margin-top:1.5rem; background:#fff; border:1px solid var(--mpl-line); border-radius:14px;
  padding:1.25rem 1.5rem; display:flex; gap:1rem; align-items:flex-start;
  box-shadow:0 8px 26px rgba(22,32,27,.04);
}
.mpl-routine-icon {
  flex:0 0 auto; width:40px; height:40px; border-radius:50%;
  background:linear-gradient(135deg,var(--mpl-teal),var(--mpl-teal-d)); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}
.mpl-routine p { margin:0; font-size:.92rem; line-height:1.75; color:var(--mpl-ink-soft); }
.mpl-routine p b { color:var(--mpl-ink); font-weight:600; }

/* ── closing conversion band ── */
.mpl-close {
  position:relative; overflow:hidden; color:#fff; padding:5.5rem 2rem;
  background:#131B17 url('../images/ambassador-close.jpg') no-repeat center 30% / cover;
}
.mpl-close::before {
  content:""; position:absolute; inset:0;
  background:linear-gradient(94deg, rgba(15,22,18,.94) 0%, rgba(17,26,22,.87) 38%, rgba(19,30,25,.52) 70%, rgba(19,30,25,.28) 100%);
}
.mpl-close-inner { max-width:1200px; margin:0 auto; position:relative; z-index:2; }
.mpl-close-content { max-width:560px; }
.mpl-close .mpl-vicon { height:88px; margin-bottom:1.3rem; }
.mpl-close h2 { font-family:var(--mpl-display); font-weight:600; color:#fff; font-size:clamp(1.9rem,3.4vw,2.7rem); margin:1rem 0 1rem; line-height:1.18; }
.mpl-close p { color:#D8E2DC; font-size:1.03rem; line-height:1.78; margin:0 0 2rem; font-weight:300; }
.mpl-close .mpl-note { font-size:.84rem; color:#A8B8B0; margin-top:1.5rem; line-height:1.68; }

/* ── sticky CTA bar ── */
.mpl-sticky {
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:rgba(22,32,27,.97); backdrop-filter:blur(8px); color:#fff; padding:.7rem 1.2rem;
  display:flex; align-items:center; justify-content:center; gap:1rem;
  transform:translateY(110%); transition:transform .35s ease;
  box-shadow:0 -6px 24px rgba(0,0,0,.16);
}
.mpl-sticky.show { transform:translateY(0); }
.mpl-sticky .mpl-vicon { height:42px; }
.mpl-sticky-text { font-size:.9rem; font-weight:400; color:#D8E2DC; }
.mpl-sticky .mpl-btn { padding:.52rem 1.3rem; font-size:.87rem; }

/* ══════════ product detail pages ══════════ */
.mpl-pp { padding:8.6rem 2rem 4.2rem; background:#fff; }
.mpl-pp-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:430px 1fr; gap:3.2rem; align-items:start; }
.mpl-crumbs { font-size:.85rem; color:var(--mpl-muted); margin-bottom:1.1rem; }
.mpl-crumbs a { color:var(--mpl-teal-ink); text-decoration:none; }
.mpl-crumbs a:hover { text-decoration:underline; }
.mpl-gallery { position:sticky; top:100px; }
.mpl-main-img {
  background:#fff; border:1px solid var(--mpl-line); border-radius:16px;
  display:flex; align-items:center; justify-content:center; padding:2.2rem; height:420px;
  box-shadow:0 10px 30px rgba(22,32,27,.04);
}
.mpl-main-img img { max-width:100%; max-height:100%; object-fit:contain; }
.mpl-thumbs { display:flex; gap:.8rem; margin-top:.9rem; flex-wrap:wrap; }
.mpl-thumb {
  width:82px; height:82px; border:1px solid var(--mpl-line); border-radius:10px;
  background:#fff; display:flex; align-items:center; justify-content:center; padding:.55rem;
  cursor:pointer; transition:border-color .2s ease;
}
.mpl-thumb:hover, .mpl-thumb.active { border-color:var(--mpl-teal-d); }
.mpl-thumb img { max-width:100%; max-height:100%; object-fit:contain; }
.mpl-pp-name { font-family:var(--mpl-display); font-weight:600; font-size:clamp(1.9rem,3.2vw,2.5rem); color:var(--mpl-ink); line-height:1.2; margin:.4rem 0 .2rem; }
.mpl-pp .mpl-pos { font-size:1.08rem; margin-top:.5rem; }
.mpl-block { margin-top:1.7rem; }
.mpl-block-label {
  display:block; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--mpl-teal-ink); font-weight:700; margin-bottom:.5rem;
}
.mpl-block p { margin:0 0 .7rem; font-size:.95rem; line-height:1.78; color:var(--mpl-ink-soft); font-weight:300; }
.mpl-block p:last-child { margin-bottom:0; }
.mpl-pp-note {
  margin-top:1.7rem; background:var(--mpl-bone); border-radius:12px; padding:1rem 1.2rem;
  font-size:.88rem; line-height:1.7; color:var(--mpl-ink-soft);
}
.mpl-related {
  margin-top:2.8rem; padding-top:2rem; border-top:1px solid var(--mpl-line);
}

@media (max-width: 900px) {
  .mpl-hero { padding:8.5rem 2rem 0; }
  .mpl-hero-photo {
    position:relative; width:calc(100% + 4rem); margin:2.2rem -2rem 0; height:300px; inset:auto;
    background-position:center 32%;
  }
  .mpl-hero-photo::before { background:linear-gradient(180deg, #fff 0%, rgba(255,255,255,0) 35%); }
  .mpl-hero-photo::after { background:linear-gradient(180deg, rgba(255,255,255,0) 70%, #fff 100%); }
  .mpl-hero-inner .mpl-stats { margin-top:2.4rem; padding-bottom:0; }
  .mpl-feature { grid-template-columns:1fr; }
  .mpl-feature-img { padding:1.8rem; border-right:none; border-bottom:1px solid #EFF3F0; }
  .mpl-feature-img img { max-height:240px; }
  .mpl-vband .mpl-btn { margin-left:0; }
  .mpl-pp-inner { grid-template-columns:1fr; gap:2rem; }
  .mpl-gallery { position:static; }
  .mpl-main-img { height:320px; }
}
@media (max-width: 640px) {
  .mpl-hero { padding:7.5rem 1.3rem 0; }
  .mpl-hero-photo { width:calc(100% + 2.6rem); margin:2rem -1.3rem 0; height:250px; }
  .mpl-hero-logo { height:44px; }
  .mpl-cat { padding:3.4rem 1.3rem 2.8rem; }
  .mpl-jump { padding:.9rem 1.3rem; }
  .mpl-vband { padding:1.3rem 1.3rem; }
  .mpl-vband .mpl-vicon { height:52px; }
  .mpl-close { padding:4rem 1.3rem; }
  .mpl-close .mpl-vicon { height:72px; }
  .mpl-pp { padding:7.5rem 1.3rem 3.2rem; }
  .mpl-sticky-text { display:none; }
}

/* ══════════ Find a Clinic ══════════ */
.mpl-fc-head {
  position:relative; overflow:hidden;
  background:#fff url('../images/fc-hero.jpg') no-repeat center 32% / cover;
  padding:9.6rem 2rem 3.4rem;
}
.mpl-fc-head::before {
  content:""; position:absolute; inset:0;
  background:linear-gradient(92deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.94) 26%, rgba(255,255,255,.66) 52%, rgba(255,255,255,.22) 78%, rgba(255,255,255,.06) 100%);
}
.mpl-fc-head::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:5rem;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.9) 100%);
}
.mpl-fc-head-inner { max-width:1200px; margin:0 auto; position:relative; z-index:2; }
.mpl-fc-logo { height:52px; width:auto; display:block; margin-bottom:1.3rem; }
.mpl-fc-head h1 {
  font-family:var(--mpl-display); font-weight:600; color:var(--mpl-ink);
  font-size:clamp(2rem,3.6vw,2.9rem); line-height:1.18; margin:.2rem 0 .7rem;
}
.mpl-fc-head .mpl-fc-sub { font-size:1.03rem; line-height:1.78; color:var(--mpl-ink-soft); max-width:60ch; font-weight:300; margin:0; }
.mpl .clinic-search { margin-top:1.6rem; max-width:540px; }
.mpl .clinic-search input {
  width:100%; padding:.9rem 1.35rem; border-radius:999px; border:1px solid var(--mpl-line);
  background:#fff; color:var(--mpl-ink); font-family:var(--mpl-font); font-size:1rem; /* ≥16px prevents iOS auto-zoom on focus */
  box-shadow:0 4px 16px rgba(22,32,27,.05); outline:none; transition:border-color .2s ease;
}
.mpl .clinic-search input:focus { border-color:var(--mpl-teal-d); }
.mpl-fc-filters {
  position:sticky; top:60px; z-index:49;
  background:rgba(255,255,255,.97); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--mpl-line); padding:.9rem 2rem;
}
.mpl-fc-filters-inner { max-width:1200px; margin:0 auto; display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
.mpl .region-pill {
  font-family:var(--mpl-font); font-size:.86rem; font-weight:500; cursor:pointer;
  border-radius:999px; padding:.5rem 1.15rem; background:var(--mpl-bone); color:var(--mpl-ink);
  border:1px solid transparent; transition:all .2s ease;
}
.mpl .region-pill:hover { border-color:var(--mpl-teal-d); background:#fff; }
.mpl .region-pill.active {
  background:linear-gradient(135deg,var(--mpl-teal),var(--mpl-teal-d)); color:#fff;
  box-shadow:0 3px 12px rgba(77,169,161,.32);
}
.mpl-fc-body { padding:2.6rem 2rem 3.8rem; background:#fff; }
.mpl-fc-body-inner { max-width:1200px; margin:0 auto; }
.mpl .region-block { margin-bottom:2.8rem; }
.mpl .region-block h2 {
  font-family:var(--mpl-display); font-weight:600; font-size:1.55rem; color:var(--mpl-ink);
  display:flex; align-items:center; gap:.6rem; margin:0 0 1.1rem;
}
.mpl .region-intro { color:var(--mpl-ink-soft); font-size:.95rem; font-weight:300; margin:-.4rem 0 1.2rem; }
.mpl .clinic-list {
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr)); gap:1.1rem;
}
.mpl .clinic-item {
  background:#fff; border:1px solid var(--mpl-line); border-radius:14px;
  padding:1.35rem 1.45rem; box-shadow:0 6px 20px rgba(22,32,27,.04);
  display:flex; flex-direction:column;
}
.mpl .clinic-item h3 { font-family:var(--mpl-display); font-weight:600; font-size:1.1rem; color:var(--mpl-ink); margin:0 0 .45rem; line-height:1.3; }
.mpl .clinic-item .meta {
  align-self:flex-start; font-size:.73rem; font-weight:600; letter-spacing:.03em;
  color:var(--mpl-teal-ink); background:var(--mpl-bone); border-radius:999px;
  padding:.24rem .72rem; margin-bottom:.7rem;
}
.mpl .clinic-item .contact-line { font-size:.88rem; line-height:1.68; color:var(--mpl-ink-soft); font-weight:300; }
.mpl .clinic-item .contact-line a { color:var(--mpl-teal-ink); text-decoration:underline; font-weight:500; }
.mpl .clinic-actions { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; padding-top:.2rem; }
.mpl .clinic-actions a {
  display:inline-flex; align-items:center; gap:.4rem; text-decoration:none;
  font-size:.84rem; font-weight:600; border-radius:999px; padding:.5rem 1.1rem; transition:all .2s ease;
}
.mpl .clinic-call { background:linear-gradient(135deg,var(--mpl-teal),var(--mpl-teal-d)); color:#fff; box-shadow:0 3px 10px rgba(77,169,161,.3); }
.mpl .clinic-call:hover { background:linear-gradient(135deg,#4DB0A8,#41968F); transform:translateY(-1px); }
.mpl .clinic-map { border:1.5px solid #CBD8D3; color:var(--mpl-ink); }
.mpl .clinic-map:hover { border-color:var(--mpl-teal-d); background:var(--mpl-bone); }
.mpl .empty-placeholder {
  background:var(--mpl-bone); border-radius:12px; padding:1.1rem 1.3rem;
  font-size:.9rem; line-height:1.7; color:var(--mpl-ink-soft);
}
.mpl .empty-placeholder a { color:var(--mpl-teal-ink); text-decoration:underline; }
.mpl-fc-partner {
  background:var(--mpl-bone); border-radius:18px; padding:2.2rem 2.4rem; margin-top:2.4rem;
  display:flex; gap:2rem; align-items:center; justify-content:space-between; flex-wrap:wrap;
}
.mpl-fc-partner h2 { font-family:var(--mpl-display); font-weight:600; font-size:1.65rem; color:var(--mpl-ink); margin:0 0 .6rem; }
.mpl-fc-partner p { font-size:.95rem; line-height:1.78; color:var(--mpl-ink-soft); font-weight:300; margin:0; max-width:62ch; }
/* ── mobile: horizontally swipeable pill bars ── */
@media (max-width: 900px) {
  .mpl-jump { padding:.85rem 1.3rem; }
  .mpl-jump-inner {
    flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; padding-bottom:2px;
  }
  .mpl-jump-inner::-webkit-scrollbar { display:none; }
  .mpl-jump-label { display:none; } /* keeps the bar clean; ZH label was wrapping vertically */
  .mpl-fc-filters { padding:.8rem 1.3rem; }
  .mpl-fc-filters-inner {
    flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; padding-bottom:2px;
  }
  .mpl-fc-filters-inner::-webkit-scrollbar { display:none; }
  .mpl .region-pill { white-space:nowrap; flex:0 0 auto; }
}
@media (max-width: 640px) {
  .mpl-fc-head { padding:7.6rem 1.3rem 2.4rem; background-position:right 30%; }
  .mpl-fc-head::before { background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 55%, rgba(255,255,255,.72) 100%); }
  .mpl-fc-logo { height:42px; }
  .mpl-fc-body { padding:2rem 1.3rem 3rem; }
  .mpl-fc-partner { padding:1.6rem 1.4rem; }
}
