/* ==========================================================================
   ESTILOS PERSONALIZADOS & REFINAMENTO VISUAL
   Estética Corporal, Facial & Pós-Operatório - Cidade Exemplo
   Paleta: Off-White Clean, Rosa Elegante / Blush Vibrante, Grafite Sofisticado
   ========================================================================== */

/* Custom Scrollbar Elegante */
::-webkit-scrollbar {
  width: 9px;
}
::-webkit-scrollbar-track {
  background: #FCFBF9;
}
::-webkit-scrollbar-thumb {
  background: #EFE9E8;
  border-radius: 9999px;
  border: 2px solid #FCFBF9;
}
::-webkit-scrollbar-thumb:hover {
  background: #D84A75;
}

/* Tipografia & Seleção */
::selection {
  background-color: #FCE7EB;
  color: #992248;
}

/* Efeito de Vidro Suave (Glassmorphism) */
.glass-nav {
  background: rgba(252, 251, 249, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Gradientes Customizados */
.bg-grad-hero {
  background: radial-gradient(circle at 85% 15%, rgba(254, 235, 239, 0.85) 0%, rgba(252, 251, 249, 0.5) 60%), #FCFBF9;
}

.bg-grad-rose {
  background: linear-gradient(135deg, #D84A75 0%, #B3345A 100%);
}

.bg-grad-rose-soft {
  background: linear-gradient(135deg, #FFF0F3 0%, #FCE7EB 100%);
}

/* Badges e Selos Flutuantes */
@keyframes floatSoft {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-7px); }
  100% { transform: translateY(0px); }
}

.animate-float-slow {
  animation: floatSoft 5s ease-in-out infinite;
}

.animate-float-delayed {
  animation: floatSoft 5s ease-in-out infinite;
  animation-delay: -2.5s;
}

/* Pulso Suave para o WhatsApp */
@keyframes pulseGlow {
  0% { transform: scale(0.95); opacity: 0.7; }
  70% { transform: scale(1.35); opacity: 0; }
  100% { transform: scale(1.35); opacity: 0; }
}

.whatsapp-pulse {
  position: absolute;
  inset: -6px;
  border-radius: 9999px;
  background-color: #25D366;
  opacity: 0.5;
  animation: pulseGlow 2.4s infinite;
  z-index: -1;
}

/* Accordion Smooth Transition */
.faq-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s cubic-bezier(0.16, 1, 0.3, 1), padding 0.3s ease;
  overflow: hidden;
}

.faq-content.open {
  grid-template-rows: 1fr;
  padding-bottom: 1.25rem;
}

.faq-content-inner {
  overflow: hidden;
}

/* Cards Hover Efeitos */
.card-hover-effect {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;
}

.card-hover-effect:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px -8px rgba(216, 74, 117, 0.12);
  border-color: rgba(216, 74, 117, 0.5);
}

/* Imagens com Zoom Sutil no Hover */
.img-zoom-parent {
  overflow: hidden;
}

.img-zoom-child {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.img-zoom-parent:hover .img-zoom-child {
  transform: scale(1.05);
}

/* Acessibilidade de foco para navegação por teclado */
a:focus-visible, button:focus-visible {
  outline: 2px solid #D84A75;
  outline-offset: 3px;
}
