.kp-animal-profile { max-width: 1200px; margin: 0 auto; padding: var(--kp-page-top-space) 24px 64px; }
.kp-animal-profile__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; margin-top: 28px; }
.kp-animal-profile__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-content: start; }
.kp-animal-profile__photo:first-child, .kp-animal-profile__photo-hint, .kp-animal-profile__placeholder { grid-column: 1 / -1; }
.kp-animal-profile__photo { display: block; border-radius: 14px; overflow: hidden; background: #fff7ef; }
.kp-animal-profile__photo img { display: block; width: 100%; height: auto; }
.kp-animal-profile__placeholder { display: grid; place-items: center; aspect-ratio: 1; border-radius: 14px; background: #f4ece3; color: #64554a; }
.kp-animal-profile__photo-hint { margin: 0; color: #555; font-size: .9rem; }
.kp-animal-profile__details { min-width: 0; overflow-wrap: anywhere; }
.kp-animal-profile h1 { font-size: clamp(1.8rem, 4vw, 2.35rem); line-height: 1.15; margin: 12px 0 24px; }
.kp-animal-profile h2 { font-size: 1.5rem; margin-top: 28px; }
.kp-animal-profile__status { color: #93430a; font-weight: 600; margin: 0; }
.kp-animal-profile dl { display: grid; grid-template-columns: auto 1fr; gap: 12px 24px; padding: 20px; border-radius: 14px; background: #fff7ef; }
.kp-animal-profile dt { font-weight: 600; }
.kp-animal-profile dd { margin: 0; }
.kp-animal-profile dl.kp-animal-profile__facts { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.kp-animal-profile__story p { line-height: 1.7; }
.kp-animal-profile a:focus-visible { outline: 3px solid #93430a; outline-offset: 4px; }
@media (max-width: 768px) { .kp-animal-profile { padding: var(--kp-page-top-space) 18px 42px; } .kp-animal-profile__layout { grid-template-columns: 1fr; gap: 28px; } }

/* Group adoption actions and keep secondary contact links quiet. */
.kp-profile-adoption { margin-top:24px; padding:28px; background:#fff7ef; border-radius:16px; }
.kp-profile-adoption h2 { margin:0 0 12px; font-size:28px; line-height:1.2; font-weight:500; letter-spacing:-.5px; }
.kp-profile-adoption > p { margin:0 0 22px; color:#635d57; font-size:17px; line-height:1.6; }
.kp-profile-adoption__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.kp-profile-adoption__button { display:inline-flex; justify-content:center; align-items:center; gap:8px; padding:14px 20px; min-height:48px; border-radius:8px; background:#df6209; color:#fff; font-size:16px; font-weight:600; line-height:1.4; text-decoration:none; }
.kp-profile-adoption__petfinder { background:#6504b5; }
.kp-profile-adoption__button:hover,.kp-profile-adoption__button:focus { color:#fff; filter:brightness(.9); }
.kp-profile-adoption .kp-profile-adoption__question { margin:20px 0 0; font-size:15px; }
.kp-profile-adoption__question a { color:#38312c; text-underline-offset:3px; }
@media(max-width:560px) { .kp-profile-adoption { padding:24px 20px; } .kp-profile-adoption__actions { grid-template-columns:1fr; } .kp-profile-adoption__button { width:100%; box-sizing:border-box; } }
