/* =================================================================
   Adom Union — horizontal profile card (Search, dashboard variants)
   Markup comes from assets/profile-card.js.
   ================================================================= */
:root { --solid:#FFFFFF; }
body[data-theme="dark"] { --solid:#150A0F; }
.pcard .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.pcard { display:grid; grid-template-columns:290px minmax(0,1fr); overflow:hidden; border-radius:20px; transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .25s; animation:fadeUp .4s ease both; }
.pcard:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); border-color:rgba(251,60,127,.35); }
.pc-ph { display:block; position:relative; min-height:300px; height:100%; }
.pc-ph.ph.img { background-position:center 20%; }
.pc-ph.ph::after { font-size:3.2rem; }
.pc-on { position:absolute; left:10px; bottom:10px; z-index:3; display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border-radius:999px; background:rgba(10,2,6,.6); color:#fff; font-size:.7rem; font-weight:600; backdrop-filter:blur(6px); }
.pc-on i { width:7px; height:7px; border-radius:50%; background:#34D399; box-shadow:0 0 0 2px rgba(52,211,153,.35); }
.pc-body { padding:18px 20px 16px; display:flex; flex-direction:column; gap:12px; min-width:0; }
.pc-top { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.pc-name { margin:0; font-size:1.2rem; font-weight:700; letter-spacing:-.01em; line-height:1.25; }
.pc-name a:hover { color:var(--pink); }
.pc-name .vt { display:inline-block; width:18px; height:18px; margin-left:6px; vertical-align:-3px; color:var(--green); }
.pc-meta { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin-top:4px; font-size:.78rem; color:var(--muted); }
.pc-meta .act { color:var(--green-2); font-weight:600; }
body[data-theme="dark"] .pc-meta .act { color:#34D399; }
.pc-match { display:flex; align-items:center; gap:9px; flex:none; }
.ring { --p:0; position:relative; width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(#FB3C7F 0, #FF6B4A calc(var(--p) * 1%), var(--ring-track) 0); }
.ring::before { content:""; position:absolute; inset:5px; border-radius:50%; background:var(--solid); }
.ring b { position:relative; font-size:.88rem; font-weight:800; color:var(--ink); }
.pc-match small { font-size:.7rem; line-height:1.2; font-weight:600; color:var(--muted); }
.pc-tags { display:flex; flex-wrap:wrap; gap:6px; }
.tag { display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:999px; font-size:.7rem; font-weight:700; border:1px solid transparent; }
.tag svg { width:12px; height:12px; }
.tag-ver { background:var(--verify-soft); color:#047857; border-color:rgba(16,185,129,.35); }
.tag-new { background:var(--violet-soft); color:#6D28D9; border-color:rgba(139,92,246,.35); }
.tag-rec { background:var(--accent-soft); color:var(--accent-deep); border-color:rgba(251,60,127,.35); }
.tag-ref { background:var(--info-soft); color:#2F6AAE; border-color:rgba(59,123,196,.32); }
.tag-pre { background:var(--gold-soft); color:#A8650A; border-color:rgba(245,165,36,.4); }
body[data-theme="dark"] .tag-ver { color:#34D399; }
body[data-theme="dark"] .tag-new { color:#C4B5FD; }
body[data-theme="dark"] .tag-ref { color:#93C5FD; }
body[data-theme="dark"] .tag-pre { color:#FFD06A; }
.pc-facts { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:9px 18px; }
.pc-facts li { display:flex; align-items:center; gap:9px; min-width:0; font-size:.86rem; color:var(--ink-2); }
.pc-facts li > span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pc-facts .fi { flex:none; width:28px; height:28px; border-radius:9px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-deep); }
body[data-theme="dark"] .pc-facts .fi { color:#FF8FB5; }
.pc-facts .fi svg { width:15px; height:15px; }
.pc-facts .dim { color:var(--muted); }
.pc-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:auto; padding-top:12px; border-top:1px dashed var(--line-2); }
.pc-hl { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:.76rem; font-weight:600; color:#047857; }
body[data-theme="dark"] .pc-hl { color:#34D399; }
.pc-hl span { display:inline-flex; align-items:center; gap:4px; }
.pc-hl svg { width:13px; height:13px; }
.pc-act { display:flex; gap:8px; margin-left:auto; }
.btn-fav { gap:7px; background:var(--surface); color:var(--ink-2); border-color:var(--line-2); }
.btn-fav svg { width:17px; height:17px; color:var(--pink); transition:transform .2s; }
.btn-fav:hover { border-color:var(--pink); color:var(--ink); transform:translateY(-1px); }
.btn-fav[aria-pressed="true"] { background:var(--accent-soft); border-color:var(--pink); color:var(--accent-deep); }
.btn-fav[aria-pressed="true"] svg { fill:currentColor; color:var(--pink); }
.btn-fav.is-bookmark svg { width:16px; height:16px; }
.btn-fav.pop svg { animation:heartPop .35s ease; }
.btn-fav[aria-busy="true"] { opacity:.7; pointer-events:none; }
@keyframes heartPop { 0%{ transform:scale(1); } 45%{ transform:scale(1.35); } 100%{ transform:scale(1); } }
.btn-int.is-sent { background:var(--verify-soft); color:#047857; border-color:rgba(16,185,129,.35); box-shadow:none; cursor:default; transform:none; }
body[data-theme="dark"] .btn-int.is-sent { color:#34D399; }
@media (max-width:1180px){ .pcard{ grid-template-columns:250px minmax(0,1fr); } }
@media (max-width:640px){
  .pcard { grid-template-columns:136px minmax(0,1fr); }
  .pc-act .btn-int { padding-left:10px; padding-right:10px; }
  .pc-ph { min-height:100%; }
  .pc-ph.ph::after { font-size:2.2rem; }
  .pc-body { padding:14px 14px 14px; gap:10px; }
  .pc-name { font-size:1.06rem; }
  .ring { width:46px; height:46px; } .ring b { font-size:.78rem; }
  .pc-match small { display:none; }
  .pc-facts { grid-template-columns:1fr; gap:7px; }
  .pc-facts .fi { width:24px; height:24px; border-radius:8px; }
  .pc-facts li { font-size:.82rem; }
  .pc-act { width:100%; }
  .pc-act .btn-int { flex:1; justify-content:center; }
  .btn-fav { width:36px; padding:0; justify-content:center; flex:none; }
  .btn-fav span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
}
@media (max-width:380px){ .pcard{ grid-template-columns:112px minmax(0,1fr); } .pc-act .btn{ padding-left:8px; padding-right:8px; } }
