/* Correções globais de acessibilidade e contraste — etapa 5 */
@view-transition { navigation: auto; }

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: .4s;
  animation-timing-function: cubic-bezier(.4,0,.2,1);
}

:root { --muted: #5f6b75; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(209,173,99,.58);
  outline-offset: 3px;
}

.hero__lead,
.internal-hero__content > p:last-child { color: rgba(255,255,255,.88); }
.rhythm__aside > p:last-child,
.message__copy > p,
.visit-next p { color: rgba(255,255,255,.84); }
.visit-card p { color: var(--muted); }
.visit-card--primary p,
.location__card address,
.contact-location__card p { color: rgba(255,255,255,.84); }
.footer__top a { color: #4d5c68; }
.footer__top > div:first-child p,
.footer__bottom { color: var(--muted); }
.footer__top img { height: auto; }
.location__photo { background-image: linear-gradient(0deg,rgba(6,26,43,.7),rgba(6,26,43,.02)),url("banner-obpc-real.webp"); }
html:not(.js) .reveal { opacity: 1; transform: none; }

.whatsapp-float { display: none; }

@media (max-width:700px) {
  .whatsapp-float {
    position: fixed;
    z-index: 90;
    right: 16px;
    bottom: max(16px,env(safe-area-inset-bottom));
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    gap: 10px;
    padding: 10px 16px 10px 10px;
    border: 1px solid rgba(239,214,159,.48);
    border-radius: 999px;
    background: var(--navy);
    color: #fff;
    box-shadow: 0 16px 38px rgba(7,29,48,.3);
    font-size: .76rem;
    font-weight: 800;
    transition: transform .22s ease,opacity .22s ease;
  }
  .whatsapp-float__icon {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy-2);
  }
  .whatsapp-float__icon .site-icon { width: 18px; height: 18px; }
  .whatsapp-float:hover { transform: translateY(-3px); }
  body.gallery-open .whatsapp-float { opacity: 0; pointer-events: none; transform: translateY(12px); }
}

@media (prefers-reduced-motion:reduce) {
  ::view-transition-old(root),::view-transition-new(root) { animation-duration: .01ms; }
  .hero__media,.hero__media-img { transform: none !important; animation: none !important; }
  .arrow-link span,.welcome-card a span,.ministry i,.whatsapp-float { transition: none; }
}
