/* ============================================================
   CENTRO DE RECUPERAÇÃO PET — Overrides globais
   Estilos compartilhados entre todas as páginas do site.
   Carregado após style.css em todas as páginas.
   ============================================================ */

/* Skip link de acessibilidade */
.skip-link { position:absolute; top:-100%; left:0; z-index:9999; padding:8px 16px; background:var(--gold); color:var(--white); font-weight:700; font-size:.9rem; }
.skip-link:focus { top:0; }

/* Animações fade-up — apenas opacidade, sem translateY */
.fade-up { transform: none; transition: opacity .6s ease; }
.fade-up.visible { transform: none; }

/* Cards de avaliação — sem hover interativo */
.review-card:hover { border-color: rgba(0,0,0,.07); box-shadow: none; transform: none; cursor: default; }

/* Rodapé — tipografia de li simples (sem link) */
.footer-col ul li { font-size: .85rem; color: rgba(255,255,255,.6); }

/* Rodapé — hierarquia de títulos h3 (substitui h4) */
.footer-col h3 { font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--white); margin-bottom: 16px; }

/* ============================================================
   ACESSIBILIDADE — Correções de contraste (WCAG AA)
   ============================================================ */

/* Section label: #C9A800 original falha 2.1:1 em fundo claro — escurecido para 4.6:1 */
.section-label { color: #836700; }

/* Section label em fundo escuro: #836700 falha 3.1:1 — volta ao dourado claro (11.8:1) */
.section-dark .section-label { color: var(--gold); }

/* Parágrafo de seção em fundo escuro: var(--mid) falha 3.1:1 — branco suave (15:1) */
.section-dark .section-header p { color: rgba(255,255,255,.82); }

/* Botão WhatsApp: #25D366 original falha 1.9:1 — escurecido para 5.0:1 */
.btn-whatsapp { background: #1a7540; box-shadow: 0 4px 20px rgba(26,117,64,.3); }
.btn-whatsapp:hover { background: #145e32; box-shadow: 0 8px 28px rgba(26,117,64,.4); }

/* Rodapé inferior: .35 opacity falha 3.5:1 — aumentado para 6.0:1 */
.footer-bottom { color: rgba(255,255,255,.55); }
.footer-crmv { color: rgba(255,255,255,.55); }

/* ============================================================
   ENDEREÇO — Botão copiar (home + páginas de castração)
   ============================================================ */

.location-address-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.copy-address-btn { flex-shrink:0; background:none; border:1px solid rgba(0,0,0,.18); border-radius:20px; padding:2px 8px; font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--slate); cursor:pointer; opacity:.7; transition:opacity .15s, border-color .15s, color .15s; white-space:nowrap; }
.copy-address-btn:hover { opacity:1; border-color:rgba(0,0,0,.35); }
.copy-address-btn .icon-check { display:none; color:#2a7a2a; }
.copy-address-btn.copied { opacity:1; border-color:#2a7a2a; color:#2a7a2a; }
.copy-address-btn.copied .icon-copy { display:none; }
.copy-address-btn.copied .icon-check { display:inline; }

/* ============================================================
   PÁGINAS DE CASTRAÇÃO — Componentes compartilhados
   ============================================================ */

/* Page hero */
.page-hero .btn-outline-white { border: 2px solid rgba(255,255,255,.85); }
.page-hero .btn-outline-white:hover { background: var(--white); color: var(--charcoal); border-color: var(--white); transform: translateY(-2px); }
.page-hero-inner { display: grid; grid-template-columns: 1fr 400px; gap: 48px; align-items: center; }
.page-hero-img img { width: 100%; height: auto; border-radius: var(--radius-lg); display: block; }
@media (max-width: 900px) {
  .page-hero-inner { grid-template-columns: 1fr; }
  .page-hero-img { display: none; }
}

/* Onde castrar — grid layout */
.onde-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: "img content"; column-gap: clamp(40px, 6vw, 80px); align-items: stretch; }
.onde-grid .about-img-wrap { grid-area: img; align-self: center; }
.onde-grid .about-content  { grid-area: content; display: flex; flex-direction: column; align-self: center; }
@media (max-width: 780px) {
  .onde-grid { display: flex; flex-direction: column; gap: 24px; }
  .onde-grid .about-img-wrap { order: 2; max-width: 360px; margin-inline: auto; }
  .onde-grid .about-content  { order: 1; }
  #onde-castrar .hours-inner { gap: 12px; }
}

/* Onde castrar — espaçamento interno */
#onde-castrar .about-content          { gap: 16px; }
#onde-castrar .about-content h2       { margin-bottom: 0; }
#onde-castrar .about-content > p      { margin-bottom: 0; line-height: 1.65; }
#onde-castrar .clinica-link           { display: block; font-size: .9rem; font-weight: 700; color: var(--gold-dark); }
#onde-castrar .pillars                { display: flex; flex-direction: column; gap: 6px; margin: 0; }
#onde-castrar .pillar                 { background: var(--white); cursor: default; padding: 10px 14px; }
#onde-castrar .pillar:hover           { background: var(--white); transform: none; box-shadow: none; }
#onde-castrar .pillar-body h3         { font-size: 1.05rem; font-weight: 400; color: var(--black); margin-bottom: 0; }
#onde-castrar .pillar-body h3 strong  { font-weight: 800; }
#onde-castrar .onde-cta .btn          { width: 100%; justify-content: center; }
#onde-castrar .hours-card h3,
#onde-castrar .location-card h3       { font-size: 1.05rem; margin-bottom: 14px; }
#onde-castrar .location-address       { margin-bottom: 6px; }
#onde-castrar .location-address-row   { margin-bottom: 14px; }

/* Onde castrar — botões de contato */
#onde-castrar .contact-link { background: var(--white); border: 1px solid rgba(0,0,0,.09); border-radius: var(--radius-md); padding: 13px 18px; transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .25s cubic-bezier(.4,0,.2,1), border-color .18s, background .18s, color .18s; }
#onde-castrar .contact-link:hover { color: var(--charcoal); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.11); }

/* Benefits */
.benefits-grid { display: flex; flex-direction: column; gap: 12px; max-width: 640px; margin-inline: auto; }
.benefit-card { background: var(--white); border-radius: var(--radius-lg); border-left: 4px solid var(--gold); padding: 24px 22px; display: flex; flex-direction: column; gap: 10px; }
.benefit-card-header { display: flex; align-items: center; gap: 10px; }
.benefit-card-header .icon { font-size: 1.5rem; line-height: 1; }
.benefit-card-header strong { font-size: .97rem; font-weight: 700; color: var(--black); }
.benefit-card p { font-size: .88rem; color: var(--slate); line-height: 1.65; margin: 0; }

/* Checklist */
.checklist { display: flex; flex-direction: column; }
.checklist-item { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid rgba(0,0,0,.06); font-size: .97rem; font-weight: 500; color: var(--black); }
.checklist-item:last-child { border-bottom: none; }
.checklist-item .ck { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: var(--gold); color: var(--white); font-size: .8rem; font-weight: 700; border-radius: 50%; flex-shrink: 0; }

/* Castration box — base */
.castration-box { background: var(--white); border: 1.5px solid rgba(0,0,0,.07); border-radius: var(--radius-lg); padding: 28px; border-top: 4px solid var(--gold); }
.castration-box h3 { font-size: 1.1rem; font-weight: 700; color: var(--black); margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.castration-box p { font-size: .9rem; color: var(--slate); line-height: 1.65; margin-bottom: 0; }

/* Castration split — macho/fêmea (gatos + cães) */
.castration-split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 700px) { .castration-split { grid-template-columns: 1fr; } }
