/* TDNA Partners Page — scoped under .tdna-partners-page */
/* 字型由 wp_enqueue_style('mulish') 載入，此處不重複 @import */

.tdna-partners-page {
  --c1:#10B8D9; --c2:#068DA8; --c3:#6e6d76; --c4:#0e0c1b; --c5:#DFDFE2;
  --mou:#10B8D9; --adv:#004E9D; --sup:#1E1F1C; --com:#00993E;
  --font:'Mulish',sans-serif; --max:1290px;
  font-family: var(--font);
  color: var(--c3);
  line-height: 1.6;
  font-size: 15px;
}
.tdna-partners-page *, .tdna-partners-page *::before, .tdna-partners-page *::after {
  box-sizing: border-box;
}
.tdna-partners-page a { text-decoration: none; }
.tdna-partners-page .w { max-width: var(--max); margin: 0 auto; padding: 0 5%; }

/* ── Header ── */
.tdna-partners-page .ph { padding: 56px 0 32px; }
.tdna-partners-page .eyebrow { display:block; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--c1); margin-bottom:14px; }
.tdna-partners-page .ph h1 { font-size: clamp(30px,4vw,46px); font-weight:900; color:var(--c4); line-height:1.25; margin-bottom:12px; }
.tdna-partners-page .ph .lead { font-size:15px; color:var(--c3); max-width:460px; }

/* ── Stats ── */
.tdna-partners-page .stats { padding: 4px 0 40px; }
.tdna-partners-page .stats-g { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.tdna-partners-page .sbox { border:1.5px solid var(--c5); border-top:3px solid; border-radius:8px; padding:22px 20px; }
.tdna-partners-page .sbox.sm { border-top-color:var(--mou); }
.tdna-partners-page .sbox.sa { border-top-color:var(--adv); }
.tdna-partners-page .sbox.ss { border-top-color:var(--sup); }
.tdna-partners-page .sbox.sc { border-top-color:var(--com); }
.tdna-partners-page .snum { font-size:38px; font-weight:900; line-height:1; margin-bottom:4px; }
.tdna-partners-page .sm .snum { color:var(--mou); }
.tdna-partners-page .sa .snum { color:var(--adv); }
.tdna-partners-page .ss .snum { color:var(--sup); }
.tdna-partners-page .sc .snum { color:var(--com); }
.tdna-partners-page .slbl { font-size:13px; color:var(--c3); }

/* ── Tabs ── */
.tdna-partners-page .tabs { border-bottom:1px solid var(--c5); }
.tdna-partners-page .tabs-l { display:flex; gap:6px; padding:12px 5%; overflow-x:auto; max-width:var(--max); margin:0 auto; }
.tdna-partners-page .tp { display:flex; align-items:center; gap:7px; padding:8px 16px; border-radius:6px; border:1.5px solid var(--c5); background:#fff; font-family:var(--font); font-size:13px; font-weight:700; color:var(--c4); cursor:pointer; white-space:nowrap; flex-shrink:0; transition:all .15s; }
.tdna-partners-page .tp .n { font-size:11px; color:var(--c3); }
.tdna-partners-page .tp:hover { border-color:var(--c4); }
.tdna-partners-page .tp.on { background:var(--c4); color:#fff; border-color:var(--c4); }
.tdna-partners-page .tp.on.mou { background:var(--mou); border-color:var(--mou); }
.tdna-partners-page .tp.on.adv { background:var(--adv); border-color:var(--adv); }
.tdna-partners-page .tp.on.sup { background:var(--sup); border-color:var(--sup); }
.tdna-partners-page .tp.on.com { background:var(--com); border-color:var(--com); }
.tdna-partners-page .tp.on .n { color:rgba(255,255,255,.6); }

/* ── Tab sections ── */
.tdna-partners-page .ts { display:none; }
.tdna-partners-page .ts.on { display:block; }
.tdna-partners-page .pg { padding:40px 5% 56px; }
.tdna-partners-page .pg .g { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }

/* ── Cards ── */
.tdna-partners-page .pc { border:1.5px solid var(--c5); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s; }
.tdna-partners-page .pc:hover { box-shadow:0 6px 24px rgba(0,0,0,.10); }
.tdna-partners-page .pc-body { padding:18px 20px; display:flex; flex-direction:column; flex:1; }

/* Logo */
.tdna-partners-page .logo-img { display:block; width:100%; height:120px; object-fit:contain; object-position:center; background:#fff; }
.tdna-partners-page .logo-ph { width:100%; height:100px; background:#f0f0f3; display:flex; align-items:center; justify-content:center; color:#b0b0ba; }
.tdna-partners-page .logo-ph svg { width:32px; height:32px; }

/* Avatar (advisor) */
.tdna-partners-page .adv-top { background:#f5f6f8; padding:24px 20px 20px; display:flex; justify-content:center; }
.tdna-partners-page .avatar-img { width:110px; height:110px; border-radius:50%; object-fit:cover; object-position:center top; display:block; margin:0 auto; border:3px solid #fff; box-shadow:0 0 0 2px var(--c5); }
.tdna-partners-page .avatar-ph { width:100px; height:100px; border-radius:50%; background:#f0f0f3; display:flex; align-items:center; justify-content:center; margin:0 auto; color:#b0b0ba; }
.tdna-partners-page .avatar-ph svg { width:40px; height:40px; }

/* MOU */
.tdna-partners-page .pc-head { display:flex; align-items:center; gap:8px; margin-bottom:5px; margin-top:4px; }
.tdna-partners-page .flag { font-size:16px; flex-shrink:0; }
.tdna-partners-page .pc-name { font-size:14px; font-weight:800; color:var(--c4); line-height:1.3; }
.tdna-partners-page .pc-tag { font-size:11px; font-weight:700; color:var(--mou); margin-bottom:11px; }

/* Shared text */
.tdna-partners-page .pc-desc { font-size:13px; color:var(--c3); line-height:1.68; flex:1; margin-bottom:14px; }
.tdna-partners-page .pc-lnk { font-size:13px; font-weight:700; color:var(--c1); }
.tdna-partners-page .pc-lnk:hover { color:var(--c2); }

/* Advisor */
.tdna-partners-page .adv-name { font-size:15px; font-weight:900; color:var(--c4); margin-bottom:3px; text-align:center; }
.tdna-partners-page .adv-role { font-size:11px; font-weight:700; color:var(--adv); margin-bottom:10px; text-align:center; line-height:1.5; }

/* Support */
.tdna-partners-page .sup-name { font-size:14px; font-weight:800; color:var(--c4); margin-bottom:3px; }
.tdna-partners-page .sup-cat { font-size:11px; font-weight:600; color:var(--c3); margin-bottom:10px; }

/* Community */
.tdna-partners-page .com-name { font-size:14px; font-weight:800; color:var(--c4); margin-bottom:3px; }

/* ── CTA Bar ── */
.tdna-partners-page .cta { background:var(--c4); padding:52px 5%; }
.tdna-partners-page .cta-r { max-width:var(--max); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.tdna-partners-page .cta-ey { font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--c1); display:block; margin-bottom:10px; }
.tdna-partners-page .cta h2 { color:#fff; font-size:clamp(20px,2.5vw,28px); font-weight:900; line-height:1.25; margin-bottom:8px; }
.tdna-partners-page .cta p { color:rgba(255,255,255,.6); font-size:14px; }
.tdna-partners-page .btn-cta { display:inline-flex; align-items:center; gap:6px; background:var(--c1); color:#fff; font-family:var(--font); font-size:14px; font-weight:700; padding:13px 26px; border-radius:8px; white-space:nowrap; flex-shrink:0; transition:background .15s; }
.tdna-partners-page .btn-cta:hover { background:var(--c2); color:#fff; }

/* ── Newsletter（與 /blog 同款：#f7f7f7 + topo 圖 opacity .74）── */
.tdna-partners-page .nl {
  position:relative; background:#f7f7f7; border-radius:4px;
  overflow:hidden; padding:56px 5%; margin:0;
}
.tdna-partners-page .nl-bg {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; opacity:.74; pointer-events:none;
}
.tdna-partners-page .nl-inner {
  position:relative; z-index:1; max-width:var(--max); margin:0 auto;
}
.tdna-partners-page .nl-inner h3 {
  font-size:clamp(22px,2.5vw,30px); font-weight:900; color:#152a41;
  margin:0 0 10px; line-height:1.2;
}
.tdna-partners-page .nl-desc {
  font-size:14px; color:#4a5568; margin:0 0 24px; line-height:1.7;
}
.tdna-partners-page .nl-form {
  display:flex; gap:8px; flex-wrap:wrap; align-items:center;
}
.tdna-partners-page .nl-inp {
  height:50px; flex:0 0 240px; width:240px; max-width:240px;
  padding:11px 17px; font-size:14px; border:1px solid #ddd;
  border-radius:4px; font-family:var(--font); background:#fff;
  color:#333; box-sizing:border-box; outline:none; transition:border .15s;
}
.tdna-partners-page .nl-inp::placeholder { color:#aaa; }
.tdna-partners-page .nl-inp:focus { border-color:var(--c1); }
.tdna-partners-page .nl-lang-toggle { display:flex; gap:4px; }
.tdna-partners-page .nl-lang-btn {
  height:50px; padding:0 14px; border-radius:4px;
  border:1px solid #ddd; background:#fff; color:#152a41;
  font-family:var(--font); font-size:13px; font-weight:700;
  cursor:pointer; transition:all .15s;
}
.tdna-partners-page .nl-lang-btn.on {
  background:var(--c1); border-color:var(--c1); color:#fff;
}
.tdna-partners-page .nl-lang-btn:hover:not(.on) { background:#f5f5f5; }
.tdna-partners-page .nl-sub-btn {
  height:50px; padding:0 24px; background:var(--c1); color:#fff;
  border:none; border-radius:4px; font-family:var(--font);
  font-size:14px; font-weight:700; cursor:pointer;
  white-space:nowrap; transition:background .15s;
}
.tdna-partners-page .nl-sub-btn:hover { background:var(--c2); }
.tdna-partners-page .nl-sub-btn:disabled { opacity:.6; cursor:not-allowed; }
.tdna-partners-page .nl-msg {
  margin-top:12px; font-size:13px; font-weight:700; display:none;
}
.tdna-partners-page .nl-msg.success {
  display:block; color:#00993E;
}
.tdna-partners-page .nl-msg.error {
  display:block; color:#c00;
}

/* ── Responsive ── */
@media (max-width:960px) {
  .tdna-partners-page .stats-g,
  .tdna-partners-page .pg .g { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .tdna-partners-page .nl-inp { flex:0 0 100%; width:100%; max-width:100%; }
  .tdna-partners-page .nl-sub-btn { width:100%; }
}
@media (max-width:540px) {
  .tdna-partners-page .pg .g { grid-template-columns:1fr; }
  .tdna-partners-page .cta-r { flex-direction:column; }
}
