/* BU1ST Technologies Sydney | Spain Elections 2026 | Party profiles V3.
   Authentic party identifiers with source attribution, bilingual summaries,
   leadership distinct from certified election candidacy, 2023-only seat counts. */
.parties-grid{gap:14px;align-items:stretch}
.party.party-v3{
  position:relative;min-width:0;min-height:354px;
  background:linear-gradient(155deg,#fff 0%,#fff 65%,#f9fbf8 100%);
  border:1px solid #dbe5e0;border-radius:16px;
  box-shadow:0 9px 25px rgba(24,52,57,.055);
  transition:transform .18s,border-color .18s,box-shadow .18s;
}
.party.party-v3:before{height:4px;background:var(--pcolor)}
.party.party-v3:hover{transform:translateY(-3px);border-color:#b9ceca;box-shadow:0 15px 34px rgba(24,52,57,.12)}
.party-v3 .party-inner{padding:17px 18px 16px;gap:0}
.party-v3 .party-profile-head{
  display:flex;align-items:center;justify-content:flex-start;gap:13px;
  min-width:0;min-height:72px;margin:0 0 15px;
}
.party-logo-tile{
  display:grid;place-items:center;position:relative;flex:0 0 72px;
  width:72px;height:72px;padding:8px;overflow:hidden;
  border-radius:13px;border:1px solid #e3ece8;
  background:linear-gradient(145deg,#fff,#f3f7f4);
  box-shadow:0 2px 9px rgba(12,42,53,.065);
}
.party-logo-tile img{
  display:block;position:relative;z-index:1;width:100%;height:100%;
  object-fit:contain;object-position:center;background:transparent;
}
.party-logo-fallback{
  position:absolute;inset:0;display:grid;place-items:center;text-align:center;
  padding:5px;color:var(--pcolor);font:800 clamp(13px,1.5vw,19px)/1.08 var(--font);
  letter-spacing:-.06em;overflow-wrap:anywhere;
}
.party-logo-tile.party-logo-missing img{display:none}
.party-profile-header-meta{display:flex;min-width:0;flex:1;flex-direction:column;gap:6px;align-items:flex-start}
.party-year-label{
  display:block;color:#8c9995;font:750 9px/1.3 var(--font-mono);
  letter-spacing:.06em;white-space:normal;
}
.party-identity-tag{
  color:#59716c;border:1px solid #e2eae5;background:#f4f8f6;
  border-radius:7px;padding:5px 7px;font:660 10px/1.3 var(--font);
}
.party-v3 h3.party-title{
  margin:0 0 4px;color:#102e3d;
  font:800 23px/1.1 var(--font);letter-spacing:-.055em;
}
.party-v3 p.party-full-name{
  min-height:32px;margin:0 0 10px;
  color:#6d8280;font:600 11px/1.45 var(--font);
}
.party-v3 p.party-description{
  margin:0 0 13px;color:#495f61;
  font:510 11.5px/1.67 var(--font);
  min-height:0;overflow-wrap:break-word;
}
.party-leader{
  display:flex;flex-direction:column;gap:5px;
  margin-top:auto;margin-bottom:13px;padding:11px 12px;
  background:#f2f7f4;border:1px solid #e0ebe5;border-radius:10px;
}
.party-leader-label{
  display:block;color:#6b8480;font:780 9px/1.35 var(--font);
  letter-spacing:.04em;
}
.party-leader-name{
  color:#1d424c;font:750 12px/1.42 var(--font);
  letter-spacing:-.018em;overflow-wrap:break-word;
}
.party-v3 .party-profile-bottom{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  border-top:1px solid #dfe8e2;padding-top:12px;min-height:52px;
}
.party-seat-total{display:flex;flex-direction:column;gap:3px;min-width:70px}
.party-v3 .party-seat-number{color:#173949;font:700 26px/1 var(--font);letter-spacing:-.06em}
.party-seat-caption{
  color:#788e8b;font:720 9px/1.3 var(--font-mono);
  letter-spacing:.025em;white-space:nowrap;
}
.party-links{display:flex;flex-direction:column;gap:5px;align-items:flex-end;text-align:right}
.party-links a{color:#376e75;font:730 10px/1.3 var(--font);text-decoration:none}
.party-links a:hover{color:#8d3145;text-decoration:underline;text-underline-offset:3px}
.party-links .party-logo-credit{font-weight:540;color:#83938e;font-size:9px}
@media(max-width:1140px){
  .parties-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  .parties-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .parties-grid{grid-template-columns:1fr;gap:12px}
  .party.party-v3{min-height:0;border-radius:13px}
  .party-v3 .party-inner{padding:15px 16px}
  .party-v3 .party-profile-head{margin-bottom:12px;min-height:65px}
  .party-logo-tile{width:65px;height:65px;flex-basis:65px}
  .party-v3 h3.party-title{font-size:22px}
  .party-v3 p.party-full-name{min-height:0}
  .party-v3 p.party-description{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .party.party-v3{transition:none;transform:none!important}
}
