/* cards — breeder, breed, cat, advantage, news */
.ba-card{position:relative;background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}
.ba-breeder{container-type:inline-size}
.ba-breeder__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.ba-breeder__media{position:relative;min-height:420px}
.ba-breeder__media .ba-photo{position:absolute;inset:0;border-radius:0}
.ba-breeder__body{display:grid;align-content:center;gap:16px;padding:clamp(28px,4.5vw,64px)}
.ba-breeder__name{font:var(--type-h2);color:var(--text-primary)}
.ba-breeder__text{font:var(--type-body);font-size:var(--fs-body-lg);color:var(--text-primary);max-width:52ch}
.ba-breeder__text+.ba-breeder__text{margin-top:-4px}
.ba-breeder__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
@container (max-width:720px){.ba-breeder__grid{grid-template-columns:1fr}.ba-breeder__media{min-height:0;aspect-ratio:4/3.6}.ba-breeder__body{padding:24px 20px 28px}.ba-breeder__actions .ba-btn{flex:1 1 auto}}
.ba-breed{container-type:inline-size;display:flex;flex-direction:column;height:100%}
.ba-breed__media{padding:12px 12px 0}
.ba-breed__body{display:flex;flex-direction:column;gap:12px;padding:20px var(--card-pad) var(--card-pad);flex:1}
.ba-breed__name{font:var(--type-h2);font-size:clamp(2rem,1.6rem + 1.2vw,2.5rem);color:var(--text-primary)}
.ba-breed__text{font:var(--type-body);color:var(--text-secondary);max-width:58ch}
.ba-breed__traits{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none}
.ba-breed__traits li{font:var(--type-label);font-weight:var(--fw-medium);color:var(--text-primary);background:var(--bg-subtle);border-radius:var(--radius-pill);padding:6px 12px}
.ba-breed__action{margin-top:auto;padding-top:8px}
.ba-catcard{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit;position:relative;border-radius:var(--radius-card)}
.ba-catcard__media{position:relative}
.ba-catcard__media .ba-photo{transition:box-shadow var(--dur-base) var(--ease-standard)}
.ba-catcard__badge{position:absolute;left:12px;top:12px;z-index:1}
.ba-catcard__body{display:grid;gap:4px;padding:0 2px}
.ba-catcard__name{font:var(--type-h3);color:var(--text-primary);display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ba-catcard__arrow{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:var(--border-w) solid var(--border-default);color:var(--text-primary);transition:background-color var(--dur-base),border-color var(--dur-base),transform var(--dur-base) var(--ease-standard);align-self:center}
.ba-catcard__meta{font:var(--type-small);color:var(--text-secondary)}
.ba-catcard__caption{font:var(--type-small);color:var(--text-primary);margin-top:4px}
.ba-catcard:hover .ba-photo{box-shadow:var(--shadow-raised)}
.ba-catcard:hover .ba-catcard__arrow{background:var(--action-primary);border-color:var(--action-primary);transform:translateX(2px)}
.ba-catcard:hover .ba-catcard__name{color:var(--text-link)}
.ba-catcard:focus-visible{outline:var(--focus-outline);outline-offset:6px}
.ba-adv{display:grid;justify-items:center;text-align:center;gap:14px;padding:8px 12px}
.ba-adv__art{height:var(--adv-h,168px);width:100%;display:flex;align-items:flex-end;justify-content:center}
.ba-adv__art img{max-height:100%;max-width:100%;width:auto;object-fit:contain}
.ba-adv__title{font:var(--type-h3);color:var(--text-primary);margin-top:8px}
.ba-adv__text{font:var(--type-body);color:var(--text-secondary);max-width:30ch}
.ba-news{display:grid;grid-template-rows:auto 1fr;height:100%}
.ba-news__media{padding:12px 12px 0}
.ba-news__body{display:flex;flex-direction:column;gap:10px;padding:18px var(--card-pad) var(--card-pad)}
.ba-news__date{font:var(--type-label);font-weight:var(--fw-medium);letter-spacing:.04em;color:var(--text-accent);display:inline-flex;gap:8px;align-items:center}
.ba-news__title{font:var(--type-h3);font-size:1.5rem;color:var(--text-primary)}
.ba-news__title a{color:inherit;text-decoration:none}
.ba-news__title a::after{content:"";position:absolute;inset:0;border-radius:var(--radius-card)}
.ba-news__title a:focus-visible{outline:none}
.ba-news:has(a:focus-visible){outline:var(--focus-outline);outline-offset:4px}
.ba-news__excerpt{font:var(--type-small);color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ba-news__more{margin-top:auto;padding-top:6px;font:var(--type-button);font-size:var(--fs-small);color:var(--text-link);display:inline-flex;gap:6px;align-items:center}
.ba-news:hover{box-shadow:var(--shadow-raised)}
.ba-news:hover .ba-news__title{color:var(--text-link)}
.ba-news{transition:box-shadow var(--dur-base) var(--ease-standard)}
