/* JAMIZIA — estilos compartidos */
:root { color-scheme: dark light; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { font-family: Inter, system-ui, sans-serif; }
h1, h2, h3, .font-display { font-family: "Space Grotesk", system-ui, sans-serif; }

/* Marca */
.brand-gradient { background-image: linear-gradient(120deg, #6D5EF6 0%, #8B5CF6 45%, #EC4899 100%); }
.brand-text { background-image: linear-gradient(120deg, #8B5CF6, #EC4899); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Efectos */
.glow { position: absolute; border-radius: 9999px; filter: blur(90px); opacity: .55; pointer-events: none; z-index: 0; }
.glass { background: rgba(22, 27, 46, .55); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, .08); }
.card-hover { transition: transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s, border-color .35s; }
.card-hover:hover { transform: translateY(-6px); box-shadow: 0 24px 60px -20px rgba(109, 94, 246, .45); border-color: rgba(109, 94, 246, .5); }

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1); }
.reveal.in { opacity: 1; transform: none; }

/* Chat / teléfono */
.chat-scroll::-webkit-scrollbar { display: none; }
@keyframes pop { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
.bubble { animation: pop .5s both; }
@keyframes blink { 0%, 80%, 100% { opacity: .3; } 40% { opacity: 1; } }
.dot { width: 6px; height: 6px; border-radius: 9999px; background: #5B6478; display: inline-block; animation: blink 1.2s infinite; }
.dot:nth-child(2) { animation-delay: .2s; }
.dot:nth-child(3) { animation-delay: .4s; }
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.floaty { animation: floaty 6s ease-in-out infinite; }

/* FAQ */
details[open] .faq-icon { transform: rotate(45deg); }
.faq-icon { transition: transform .25s ease; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }

/* Accesibilidad — foco visible AA */
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid #8B5CF6;
  outline-offset: 3px;
  border-radius: 6px;
}

/* Prosa (páginas legales) */
.prose-legal { max-width: 46rem; }
.prose-legal h2 { font-size: 1.5rem; font-weight: 700; margin-top: 2.5rem; margin-bottom: .75rem; }
.prose-legal h3 { font-size: 1.15rem; font-weight: 600; margin-top: 1.75rem; margin-bottom: .5rem; }
.prose-legal p, .prose-legal li { color: #9AA3B7; line-height: 1.75; }
.prose-legal p { margin-bottom: 1rem; }
.prose-legal ul { list-style: disc; padding-left: 1.25rem; margin-bottom: 1rem; }
.prose-legal li { margin-bottom: .4rem; }
.prose-legal a { color: #8B5CF6; text-decoration: underline; }
.prose-legal strong { color: #E9EDF6; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .floaty, .bubble, .dot { animation: none; }
}
