*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#eef8f7;color:#14233b}.hero{padding:24px;background:linear-gradient(135deg,#007b72,#00a86b)}.heroCard{max-width:1100px;margin:auto;background:#ffffffee;border-radius:24px;padding:22px;display:flex;gap:18px;align-items:center;box-shadow:0 12px 35px #003b3525}.logo{width:105px;height:105px;object-fit:contain;background:white;border-radius:18px;padding:8px}.tag{color:#007b72;font-weight:800;text-transform:uppercase;font-size:13px;margin:0 0 5px}.hero h1{font-size:34px;margin:0;color:#00564f}.subtitle{font-size:17px;color:#526179;margin:8px 0 0}.container{max-width:1100px;margin:24px auto;padding:0 16px}.filters{background:white;border:1px solid #d9eeee;border-radius:18px;padding:14px;display:grid;grid-template-columns:1fr 220px 220px;gap:12px;margin-bottom:18px}input,select{width:100%;border:1px solid #cfe2e4;border-radius:12px;padding:12px;background:#fbffff;font:inherit}.status{text-align:center;color:#526179;margin:28px 0;font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.petCard{background:white;border:1px solid #d9eeee;border-radius:22px;overflow:hidden;box-shadow:0 8px 28px #00564f12;display:flex;flex-direction:column}.petPhoto{height:250px;background:#dff7ec;display:flex;align-items:center;justify-content:center;font-size:70px;overflow:hidden}.petPhoto img{width:100%;height:100%;object-fit:cover}.petInfo{padding:16px}.petInfo h2{margin:0 0 8px;color:#007b72;font-size:25px}.badges{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.badge{background:#e8f6f4;color:#006d65;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.detail{background:#f8ffff;border:1px solid #e2eeee;border-radius:12px;padding:9px;font-size:13px}.detail b{display:block;color:#006d65;font-size:11px;text-transform:uppercase;margin-bottom:3px}.cta{margin-top:14px;border:0;border-radius:12px;background:#00a86b;color:white;padding:12px;font-weight:900;cursor:pointer;width:100%}.cta:hover{background:#007b72}footer{text-align:center;color:#526179;padding:35px 16px}@media(max-width:900px){.heroCard{flex-direction:column;text-align:center}.filters{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.hero h1{font-size:28px}.petPhoto{height:220px}}@media(min-width:901px) and (max-width:1150px){.grid{grid-template-columns:repeat(2,1fr)}}
body.modalOpen{overflow:hidden}.modal{position:fixed;inset:0;background:rgba(0,40,36,.72);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:22px;overflow:auto}.modal.hidden{display:none}.modalCard{width:min(900px,100%);background:white;border-radius:24px;box-shadow:0 20px 70px rgba(0,0,0,.35);padding:22px;position:relative}.fechar{position:absolute;right:16px;top:12px;border:0;background:#ffe9e9;color:#b21c1c;width:38px;height:38px;border-radius:50%;font-size:26px;font-weight:900;cursor:pointer}.modalHeader{display:flex;gap:14px;align-items:center;border-bottom:1px solid #d9eeee;padding-bottom:14px;margin-bottom:14px}.modalHeader img{width:75px;height:75px;object-fit:contain}.modalHeader h2{margin:0;color:#007b72;font-size:28px}.modalHeader p{margin:4px 0;color:#526179}.formAnimalResumo{display:flex;gap:12px;align-items:center;background:#f2fbf9;border:1px solid #d9eeee;border-radius:16px;padding:12px;margin-bottom:16px}.formAnimalResumoFoto{width:72px;height:72px;border-radius:16px;overflow:hidden;background:#dff7ec;display:flex;align-items:center;justify-content:center;font-size:34px}.formAnimalResumoFoto img{width:100%;height:100%;object-fit:cover}.formAdocao h3{margin:20px 0 10px;color:#006d65;border-bottom:1px solid #d9eeee;padding-bottom:7px}.formGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.formAdocao label{display:block;font-weight:800;font-size:13px;color:#14233b;margin:9px 0}.formAdocao input,.formAdocao textarea{width:100%;border:1px solid #cfe2e4;border-radius:12px;padding:11px;background:#fbffff;font:inherit;margin-top:4px}.formAdocao textarea{min-height:72px;resize:vertical}.questions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.q{border:1px solid #e2eeee;border-radius:14px;background:#fbffff;padding:11px}.q b{display:block;color:#006d65;font-size:13px;margin-bottom:5px}.q label{display:inline-flex;align-items:center;gap:5px;margin:4px 10px 4px 0;font-weight:600}.q input[type="radio"],.check input{width:auto;margin:0}.termo{background:#fffdf3;border:1px solid #f0dfaa;border-radius:14px;padding:12px;color:#504622}.termo p{margin:6px 0;color:#504622}.check{display:flex!important;gap:9px;align-items:flex-start;background:#f8ffff;border:1px solid #e2eeee;border-radius:12px;padding:10px;font-weight:700!important}.formMsg{font-weight:900;text-align:center}.formMsg.erro{color:#c42626}.formMsg.sucesso{color:#007b72}@media(max-width:750px){.modal{padding:8px}.modalCard{border-radius:16px;padding:16px}.modalHeader{padding-right:42px}.formGrid,.questions{grid-template-columns:1fr}.modalHeader h2{font-size:23px}}


/* Página individual do animal para adoção */
.petCard{cursor:pointer;transition:transform .18s ease, box-shadow .18s ease}
.petCard:hover{transform:translateY(-4px);box-shadow:0 12px 34px #00564f24}
.petPhotoClickable{position:relative}
.petPhotoClickable::after{content:"Clique para conhecer minha história";position:absolute;left:12px;right:12px;bottom:12px;background:rgba(0,123,114,.9);color:white;border-radius:999px;padding:8px 10px;font-size:13px;font-weight:900;text-align:center;opacity:0;transition:.2s}
.petCard:hover .petPhotoClickable::after{opacity:1}
.secondaryCta{background:#ffffff;color:#007b72;border:2px solid #00a86b;margin-top:8px}
.secondaryCta:hover{background:#e8f6f4;color:#00564f}

.animalPage{background:#eef8f7;color:#14233b}
.animalHero{background:linear-gradient(135deg,#007b72,#00a86b);padding:24px 0 54px}
.animalWrap{max-width:1060px;margin:0 auto;padding:0 16px}
.animalTopBar{display:flex;align-items:center;justify-content:space-between;gap:14px}
.animalLogo{width:76px;height:76px;object-fit:contain;background:#fff;border-radius:18px;padding:8px;box-shadow:0 8px 22px #003b3520}
.backBtn{display:inline-block;background:#fff;color:#007b72;text-decoration:none;font-weight:900;border-radius:999px;padding:11px 18px;box-shadow:0 8px 18px #003b3522}
.animalDetailCard{background:white;border-radius:28px;margin:-34px auto 28px;box-shadow:0 16px 45px #00564f20;overflow:hidden;border:1px solid #d9eeee}
.animalDetailPhoto{height:560px;background:#dff7ec;display:flex;align-items:center;justify-content:center;font-size:100px;overflow:hidden}
.animalDetailPhoto img{width:100%;height:100%;object-fit:cover}
.animalDetailBody{padding:26px}
.waitingTag{display:inline-block;background:#fff4df;color:#8a5b00;border:1px solid #ffd889;border-radius:999px;padding:8px 12px;font-weight:900;margin-bottom:14px}
.introBox{background:linear-gradient(135deg,#f8ffff,#e8f6f4);border:1px solid #d9eeee;border-radius:22px;padding:20px;margin-bottom:16px}
.introBox h1{font-size:42px;color:#007b72;margin:0 0 8px}
.introBox p{font-size:18px;line-height:1.55;color:#526179;margin:0}
.infoBadges{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}
.storyBadge{background:#e8f6f4;color:#006d65;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900}
.storyBox{background:#fffdf3;border:1px solid #f0dfaa;border-radius:20px;padding:20px;margin:20px 0}
.storyBox h2,.promiseBox h2,.fichaBox h2,.shareMessage h2{color:#007b72;margin:0 0 10px}
.storyText{font-size:18px;line-height:1.7;white-space:pre-wrap;color:#3a3a2a}
.promiseBox{background:#f2fbf9;border:1px solid #d9eeee;border-radius:20px;padding:18px;margin:20px 0}
.promiseBox p,.shareMessage p{font-size:16px;line-height:1.55;color:#526179;margin:0}
.fichaBox{margin:22px 0}
.infoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.infoBox{background:#f8ffff;border:1px solid #e2eeee;border-radius:16px;padding:13px}
.infoBox span{display:block;font-size:22px;margin-bottom:4px}
.infoBox b{display:block;color:#006d65;font-size:12px;text-transform:uppercase;margin-bottom:5px}
.actionRow{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-top:22px}
.bigAction{border:0;border-radius:16px;padding:16px;font-weight:900;font-size:16px;cursor:pointer;text-align:center;text-decoration:none}
.adoptAction{background:#00a86b;color:white}
.shareAction{background:#25d366;color:#fff}
.backAction{background:#e8f6f4;color:#007b72}
.adoptAction:hover{background:#007b72}.shareAction:hover{background:#1fb457}.backAction:hover{background:#d6eeeb}
.shareMessage{text-align:center;background:#fff;border:1px dashed #00a86b;border-radius:20px;padding:18px;margin-top:22px}
.animalStatusMsg{text-align:center;font-weight:800;color:#526179;padding:40px 16px}
.animalFooter{text-align:center;color:#526179;padding:35px 16px}
@media(max-width:850px){
  .animalDetailPhoto{height:360px}
  .introBox h1{font-size:32px}
  .infoGrid{grid-template-columns:1fr 1fr}
  .actionRow{grid-template-columns:1fr}
}
@media(max-width:520px){
  .animalHero{padding-bottom:44px}
  .animalLogo{width:58px;height:58px}
  .animalDetailPhoto{height:290px}
  .animalDetailBody{padding:18px}
  .introBox h1{font-size:28px}
  .infoGrid{grid-template-columns:1fr}
}


/* Página individual do animal para adoção - experiência emocional */
.petCard{cursor:pointer;transition:transform .18s ease, box-shadow .18s ease}
.petCard:hover{transform:translateY(-4px);box-shadow:0 12px 34px #00564f24}
.petPhotoClickable{position:relative}
.petPhotoClickable::after{content:"Clique para conhecer minha história";position:absolute;left:12px;right:12px;bottom:12px;background:rgba(0,123,114,.9);color:white;border-radius:999px;padding:8px 10px;font-size:13px;font-weight:900;text-align:center;opacity:0;transition:.2s}
.petCard:hover .petPhotoClickable::after{opacity:1}
.secondaryCta{background:#ffffff;color:#007b72;border:2px solid #00a86b;margin-top:8px}
.secondaryCta:hover{background:#e8f6f4;color:#00564f}

.animalPage{background:#eef8f7;color:#14233b}
.animalHero{background:linear-gradient(135deg,#007b72,#00a86b);padding:24px 0 54px}
.animalWrap{max-width:1060px;margin:0 auto;padding:0 16px}
.animalTopBar{display:flex;align-items:center;justify-content:space-between;gap:14px}
.animalLogo{width:76px;height:76px;object-fit:contain;background:#fff;border-radius:18px;padding:8px;box-shadow:0 8px 22px #003b3520}
.backBtn{display:inline-block;background:#fff;color:#007b72;text-decoration:none;font-weight:900;border-radius:999px;padding:11px 18px;box-shadow:0 8px 18px #003b3522}
.animalDetailCard{background:white;border-radius:28px;margin:-34px auto 28px;box-shadow:0 16px 45px #00564f20;overflow:hidden;border:1px solid #d9eeee}
.animalDetailPhoto{height:560px;background:#dff7ec;display:flex;align-items:center;justify-content:center;font-size:100px;overflow:hidden}
.animalDetailPhoto img{width:100%;height:100%;object-fit:cover}
.animalDetailBody{padding:26px}
.waitingTag{display:inline-block;background:#fff4df;color:#8a5b00;border:1px solid #ffd889;border-radius:999px;padding:8px 12px;font-weight:900;margin-bottom:14px}
.introBox{background:linear-gradient(135deg,#f8ffff,#e8f6f4);border:1px solid #d9eeee;border-radius:22px;padding:20px;margin-bottom:16px}
.introBox h1{font-size:42px;color:#007b72;margin:0 0 8px;min-height:52px}
.introBox p{font-size:18px;line-height:1.55;color:#526179;margin:0}
.infoBadges{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}
.storyBadge{background:#e8f6f4;color:#006d65;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900}
.personalityBox,.needBox{background:#f8ffff;border:1px solid #d9eeee;border-radius:20px;padding:18px;margin:20px 0}
.personalityBox h2,.storyBox h2,.promiseBox h2,.fichaBox h2,.shareMessage h2,.needBox h2{color:#007b72;margin:0 0 10px}
.personChips{display:flex;gap:9px;flex-wrap:wrap}
.personChip{background:#fff4df;border:1px solid #ffd889;color:#6c4b08;border-radius:999px;padding:9px 12px;font-weight:900;font-size:14px}
.storyBox{background:#fffdf3;border:1px solid #f0dfaa;border-radius:20px;padding:20px;margin:20px 0}
.storyText{font-size:18px;line-height:1.7;white-space:pre-wrap;color:#3a3a2a}
.needGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.needGrid div{background:#e8f6f4;color:#006d65;border-radius:14px;padding:12px;font-weight:900;text-align:center}
.promiseBox{background:#f2fbf9;border:1px solid #d9eeee;border-radius:20px;padding:18px;margin:20px 0}
.promiseBox p,.shareMessage p{font-size:16px;line-height:1.55;color:#526179;margin:0}
.fichaBox{margin:22px 0}
.infoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.infoBox{background:#f8ffff;border:1px solid #e2eeee;border-radius:16px;padding:13px}
.infoBox span{display:block;font-size:22px;margin-bottom:4px}
.infoBox b{display:block;color:#006d65;font-size:12px;text-transform:uppercase;margin-bottom:5px}
.actionRow{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:12px;margin-top:22px}
.bigAction{border:0;border-radius:16px;padding:16px;font-weight:900;font-size:15px;cursor:pointer;text-align:center;text-decoration:none}
.adoptAction{background:#00a86b;color:white}
.shareAction{background:#25d366;color:#fff}
.qrAction{background:#fff4df;color:#8a5b00}
.copyAction{background:#f2fbf9;color:#007b72}
.backAction{background:#e8f6f4;color:#007b72}
.adoptAction:hover{background:#007b72}.shareAction:hover{background:#1fb457}.backAction:hover,.copyAction:hover{background:#d6eeeb}.qrAction:hover{background:#ffe6af}
.copyMsg{text-align:center;color:#007b72;font-weight:900}
.shareMessage{text-align:center;background:#fff;border:1px dashed #00a86b;border-radius:20px;padding:18px;margin-top:22px}
.animalStatusMsg{text-align:center;font-weight:800;color:#526179;padding:40px 16px}
.animalFooter{text-align:center;color:#526179;padding:35px 16px}
.revealBlock{opacity:0;transform:translateY(12px);transition:opacity .55s ease, transform .55s ease}
.revealBlock.show{opacity:1;transform:translateY(0)}
@media(max-width:980px){.actionRow{grid-template-columns:1fr 1fr}.adoptAction{grid-column:1/-1}}
@media(max-width:850px){
  .animalDetailPhoto{height:360px}
  .introBox h1{font-size:32px;min-height:42px}
  .infoGrid,.needGrid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .animalHero{padding-bottom:44px}
  .animalLogo{width:58px;height:58px}
  .animalDetailPhoto{height:290px}
  .animalDetailBody{padding:18px}
  .introBox h1{font-size:28px}
  .infoGrid,.needGrid,.actionRow{grid-template-columns:1fr}
}

.publicNav{margin-top:12px}
.publicNav a{display:inline-block;background:#007b72;color:#fff;padding:10px 16px;border-radius:999px;font-weight:800;text-decoration:none}
.publicNav a:hover{background:#005f58}
