.animal-program-hero { background:#18251f; color:#fff; padding:clamp(3rem,8vw,6rem) 0; }
.animal-program-hero .lead { max-width:760px; color:#edf0e8; }
.animal-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) repeat(3,minmax(150px,.45fr)); gap:12px; align-items:end; margin:28px 0; }
.animal-toolbar label { display:grid; gap:6px; font-weight:700; }
.animal-toolbar input,.animal-toolbar select,.animal-admin-form input,.animal-admin-form select,.animal-admin-form textarea { width:100%; border:1px solid #a8b1a5; background:#fff; color:#111812; padding:12px; font:inherit; }
.animal-results-head { display:flex; justify-content:space-between; gap:16px; align-items:center; margin:20px 0; }
.animal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.animal-card { border:1px solid #ccd1c7; background:#fff; color:#111812; display:flex; flex-direction:column; min-height:100%; }
.animal-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.representative-image { position:relative; overflow:hidden; margin:0; }
.representative-image img { display:block; width:100%; object-fit:cover; }
.representative-image span,.representative-image figcaption { position:absolute; left:10px; bottom:10px; z-index:1; margin:0; max-width:calc(100% - 20px); padding:7px 9px; background:rgba(17,24,18,.9); color:#fff; font-size:.72rem; font-weight:900; line-height:1.25; text-transform:uppercase; }
.animal-card-body { padding:20px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; flex:1; }
.animal-card p,.animal-card small { color:#354037; }
.animal-card h2 { font-size:1.45rem; margin:0; }
.animal-meta { color:#4d5b50; font-size:.92rem; }
.animal-status { display:inline-flex; border:1px solid #9b7b43; color:#5b431c; background:#f4ead4; padding:5px 9px; font-weight:800; font-size:.78rem; text-transform:uppercase; }
.animal-card-badges,.animal-profile-badges { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.animal-followers { display:inline-flex; width:max-content; align-items:center; border:1px solid #9eb0a1; color:#254536; background:#e8efe9; padding:5px 9px; font-weight:850; font-size:.78rem; text-transform:uppercase; }
.animal-empty { border:1px solid #b6c0b5; background:#eef1ea; padding:clamp(28px,6vw,64px); text-align:center; }
.animal-empty p { max-width:680px; margin:12px auto 24px; }
.animal-profile-hero { background:#eef1ea; color:#111812; padding:clamp(3rem,7vw,6rem) 0; }
.animal-profile-hero .lead,.animal-profile-hero p:not(.kicker) { color:#354037; }
.animal-profile-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; }
.animal-profile-photo img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.animal-reading { max-width:860px; }
.animal-detail { padding:22px 0; border-bottom:1px solid #d6d8d1; }
.program-notice { background:#f4ead4; color:#111812; border-left:5px solid #9b7b43; padding:20px; margin:28px 0; }
.tier-table { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.tier-card { border:1px solid #c8cfc4; padding:20px; background:#fff; color:#111812; }
.tier-card strong { display:block; font-size:1.8rem; margin:8px 0 14px; }
.sponsorship-step { border:0; padding:0; margin:8px 0 18px; }
.sponsorship-step legend,.step-heading { font-size:1.15rem; font-weight:900; margin:0 0 12px; }
.sponsorship-step legend span,.step-heading span { display:inline-grid; place-items:center; width:30px; height:30px; margin-right:8px; border-radius:50%; background:#18251f; color:#fff; }
.sponsorship-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.sponsorship-options[hidden] { display:none; }
.tier-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sponsorship-option { position:relative; display:block!important; cursor:pointer; }
.sponsorship-option input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.sponsorship-option span { display:flex; min-height:100%; flex-direction:column; gap:5px; border:2px solid #bcc5ba; background:#fff; color:#111812; padding:16px; transition:border-color .15s,background .15s,box-shadow .15s; }
.sponsorship-option strong { color:#111812; }
.sponsorship-option input:checked+span { border-color:#9b7b43; background:#f7efdf; box-shadow:0 0 0 2px rgba(155,123,67,.2); }
.sponsorship-option input:focus-visible+span { outline:3px solid #315c48; outline-offset:2px; }
.sponsorship-option small { color:#4d5b50; font-weight:500; }
.sponsorship-summary { border:1px solid #9b7b43; background:#f4ead4; padding:18px; }
.sponsorship-summary p { margin:4px 0; }
.sponsorship-summary strong { font-size:1.25rem; }
.selected-animal { display:flex; align-items:center; justify-content:space-between; gap:12px; border:2px solid #9b7b43; background:#f7efdf; color:#111812; padding:16px; }
.selected-animal[hidden] { display:none; }
.one-time-support { max-width:860px; }
.support-amounts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.support-amounts label { cursor:pointer; }
.support-amounts input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.support-amounts span { display:grid; place-items:center; min-height:52px; border:2px solid #bcc5ba; background:#fff; color:#111812; font-weight:900; }
.support-amounts input:checked+span { border-color:#9b7b43; background:#f7efdf; box-shadow:0 0 0 2px rgba(155,123,67,.2); }
.support-amounts input:focus-visible+span { outline:3px solid #315c48; outline-offset:2px; }
.animal-admin-shell { max-width:1240px; margin:0 auto; padding:24px; }
.animal-admin-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:20px; }
.animal-admin-card { background:#fff; color:#111812; border:1px solid #d4d4ca; padding:20px; }
.animal-admin-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.animal-admin-form label,.animal-toolbar label { display:grid; gap:6px; color:#111812; font-weight:700; }
.animal-admin-form small { color:#4d5b50; }
.animal-admin-form .wide { grid-column:1/-1; }
.animal-admin-form textarea { min-height:110px; resize:vertical; }
.password-entry { display:grid; align-content:start; gap:6px; color:#111812; font-weight:700; }
.password-control { position:relative; }
.animal-admin-form .password-control input { padding-right:72px; }
.password-control button { position:absolute; top:50%; right:7px; transform:translateY(-50%); min-width:54px; min-height:34px; border:1px solid #8f9a90; border-radius:4px; background:#edf1eb; color:#1f3025; font-weight:850; cursor:pointer; }
.password-control button:hover,.password-control button:focus { background:#dfe6dc; border-color:#315c48; }
.password-entry.is-mismatch input { border-color:#a13f32; box-shadow:0 0 0 2px rgba(161,63,50,.12); }
.animal-admin-list { display:grid; gap:10px; }
.animal-admin-row { border:1px solid #d4d4ca; padding:14px; display:flex; justify-content:space-between; gap:12px; align-items:center; }
.animal-admin-actions { display:flex; gap:8px; flex-wrap:wrap; }

/* Sponsor account */
.sponsor-account-page [hidden] { display:none!important; }
.sponsor-account-hero { padding:clamp(3.25rem,7vw,5.5rem) 0; border-bottom:4px solid #b78b43; }
.sponsor-account-hero h1 { max-width:820px; margin-bottom:14px; }
.sponsor-account-section { background:#f3f1ea; }
.sponsor-account-shell { max-width:1180px; }
.sponsor-account-shell>.animal-admin-card { max-width:700px; margin:0 auto; padding:clamp(22px,4vw,38px); border:1px solid #cfd3c9; box-shadow:0 16px 38px rgba(20,32,26,.09); }
.sponsor-dashboard { display:grid; gap:30px; }
.sponsor-dashboard-top,.sponsor-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.sponsor-dashboard-top { padding-bottom:24px; border-bottom:1px solid #cfd3c9; }
.sponsor-dashboard-top h2 { font-size:clamp(2rem,4vw,3rem); margin:3px 0 8px; }
.sponsor-dashboard-intro { max-width:680px; margin:0; color:#4d5b50; }
.sponsor-demo-notice { margin:0; display:grid; grid-template-columns:auto 1fr; gap:6px 18px; align-items:center; border:1px solid #d2bd91; border-left:5px solid #9b7b43; box-shadow:none; }
.sponsor-demo-notice strong { grid-row:1/3; align-self:stretch; display:grid; place-items:center; padding-right:18px; border-right:1px solid #d2bd91; text-transform:uppercase; font-size:.78rem; letter-spacing:.08em; }
.sponsor-demo-notice p { margin:0; }
.sponsor-dashboard-section { padding:clamp(22px,4vw,36px); background:#fff; border:1px solid #d1d5cc; box-shadow:0 12px 30px rgba(20,32,26,.06); }
.sponsor-section-head { margin-bottom:22px; }
.sponsor-section-head h2,.sponsor-panel h2 { margin:3px 0 0; }
.sponsor-animal-grid { gap:16px; }
.sponsor-animal-grid .animal-card { position:relative; overflow:hidden; border:1px solid #c5cbc1; border-top:5px solid #315c48; box-shadow:0 8px 20px rgba(20,32,26,.07); }
.sponsor-animal-grid .animal-card.is-ending { border-top-color:#9b7b43; }
.sponsor-animal-grid .animal-card:not(:has(img))::before { content:"IR"; display:grid; place-items:center; min-height:110px; background:#e5ebe4; color:#315c48; font-weight:900; font-size:2rem; }
.sponsor-animal-grid .animal-card-body { padding:20px; gap:10px; }
.sponsor-animal-grid .animal-card h3 { margin:0; font-size:1.35rem; }
.sponsor-animal-grid .animal-card p { margin:0; }
.sponsor-tier { display:inline-flex; color:#315c48; font-weight:900; font-size:.82rem; text-transform:uppercase; }
.sponsor-animal-grid .btn { width:100%; margin-top:auto; text-align:center; }
.sponsor-update-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sponsor-update-card { padding:22px; background:#f6f5ef; border:1px solid #d4d7cf; border-left:4px solid #b78b43; }
.sponsor-update-card h3 { margin:6px 0 10px; font-size:1.15rem; }
.sponsor-update-card p:last-child { margin-bottom:0; color:#445047; }
.sponsor-update-image { width:100%; max-height:320px; object-fit:cover; margin:0 0 16px; }
.sponsor-animal-view { display:grid; gap:22px; }
.sponsor-animal-view>[data-close-animal-view] { justify-self:start; }
.sponsor-animal-focus { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr); gap:clamp(24px,5vw,54px); align-items:center; padding:clamp(24px,5vw,48px); background:#fff; color:#111812; border:1px solid #d1d5cc; border-top:5px solid #315c48; box-shadow:0 12px 30px rgba(20,32,26,.07); }
.sponsor-animal-focus .representative-image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.sponsor-animal-focus h2 { margin:4px 0 6px; font-size:clamp(2rem,5vw,3.4rem); }
.sponsor-animal-focus h3 { margin:24px 0 10px; }
.sponsor-benefit-list { display:grid; gap:8px; margin:0 0 24px; padding-left:22px; color:#354037; }
.sponsor-account-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:20px; }
.sponsor-panel { padding:clamp(22px,4vw,32px); background:#fff; border:1px solid #d1d5cc; box-shadow:0 12px 30px rgba(20,32,26,.06); }
.sponsor-billing-panel { background:#1d3027; color:#fff; }
.sponsor-account-page .sponsor-billing-panel .kicker,.sponsor-account-page .sponsor-billing-panel p { color:#e4e9e3; }
.sponsor-billing-panel [data-billing-notice] { margin-top:18px; }
.sponsor-billing-panel [data-billing-notice] strong { color:#dfbd78; font-size:1.05rem; }
.sponsor-preferences { margin-top:18px; }
.sponsor-check { grid-template-columns:22px 1fr!important; align-items:start; gap:10px!important; padding:12px; background:#f3f5f0; border:1px solid #d5dad1; }
.sponsor-check input { width:18px; height:18px; margin:2px 0 0; accent-color:#315c48; }
.sponsor-check span { color:#263229; }
@media (max-width:900px){.sponsor-account-grid{grid-template-columns:1fr}.sponsor-update-grid{grid-template-columns:1fr}.sponsor-animal-focus{grid-template-columns:1fr}}
@media (max-width:900px){.animal-toolbar,.animal-grid,.tier-table,.animal-admin-grid,.animal-profile-grid{grid-template-columns:1fr 1fr}.animal-toolbar label:first-child,.animal-admin-grid>*,.animal-profile-grid>*{grid-column:1/-1}}
@media (max-width:620px){.animal-toolbar,.animal-grid,.tier-table,.animal-admin-form,.sponsorship-options,.tier-options{grid-template-columns:1fr}.support-amounts{grid-template-columns:1fr 1fr}.animal-admin-form .wide{grid-column:auto}.animal-results-head,.animal-admin-row{align-items:flex-start;flex-direction:column}.selected-animal{align-items:flex-start;flex-direction:column}.animal-admin-card{padding:16px}.sponsor-dashboard-top,.sponsor-section-head{align-items:flex-start;flex-direction:column}.sponsor-dashboard-top .btn,.sponsor-section-head .btn{width:100%;text-align:center}.sponsor-dashboard-section,.sponsor-panel{padding:20px}.sponsor-demo-notice{display:block}.sponsor-demo-notice strong{display:block;border-right:0;border-bottom:1px solid #d2bd91;padding:0 0 10px;margin-bottom:10px}.sponsor-animal-grid .animal-card:not(:has(img))::before{min-height:82px}}

