/* Diseño Total — custom animations & polish */

@keyframes blob {
  0% { transform: translate(0px, 0px) scale(1); }
  33% { transform: translate(30px, -50px) scale(1.1); }
  66% { transform: translate(-20px, 20px) scale(0.9); }
  100% { transform: translate(0px, 0px) scale(1); }
}

.animate-blob {
  animation: blob 7s infinite;
}

.animation-delay-2000 {
  animation-delay: 2s;
}

.animation-delay-4000 {
  animation-delay: 4s;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
  animation: fadeIn 0.4s ease-out;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Line clamp utility */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Scrollbar for mobile menu */
.mobile-menu-scroll {
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
}

/* WhatsApp pulse */
@keyframes wa-pulse {
  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5); }
  70% { box-shadow: 0 0 0 14px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

.wa-float {
  animation: wa-pulse 2.5s infinite;
}

/* Domain results transition */
.domain-result {
  transition: border-color 0.3s, box-shadow 0.3s;
}

/* Testimonial slide */
.testimonial-slide {
  transition: opacity 0.35s ease;
}

/* Hide scrollbar but keep functionality for chips */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Offset for fixed header */
html { scroll-padding-top: 5rem; }

/* ===== Páginas legales ===== */
.legal-content { color:#374151; line-height:1.75; font-size:1rem; }
.legal-content section { scroll-margin-top:6rem; }
.legal-content h2 { font-size:1.5rem; line-height:1.3; font-weight:700; color:#111827; margin:2.5rem 0 1rem; padding-bottom:.5rem; border-bottom:1px solid #e5e7eb; }
.legal-content h2 .legal-num { color:#2563eb; }
.legal-content h3 { font-size:1.1rem; font-weight:600; color:#1f2937; margin:1.5rem 0 .5rem; }
.legal-content p { margin:0 0 1rem; }
.legal-content ul { list-style:disc; margin:0 0 1rem 1.25rem; }
.legal-content ol { list-style:decimal; margin:0 0 1rem 1.25rem; }
.legal-content ul.list-none { list-style:none; margin-left:0; }
.legal-content li { margin-bottom:.4rem; }
.legal-content a { color:#2563eb; text-decoration:underline; text-underline-offset:2px; }
.legal-content a:hover { color:#1d4ed8; }
.legal-content ul.list-none a { text-decoration:none; }
.legal-content ul.list-none a:hover { color:#fff; }
.legal-content table { width:100%; border-collapse:collapse; margin:0 0 1.25rem; font-size:.9rem; }
.legal-content th, .legal-content td { border:1px solid #e5e7eb; padding:.6rem .75rem; text-align:left; vertical-align:top; }
.legal-content th { background:#eff6ff; color:#1e3a8a; font-weight:600; }
.legal-content code { background:#f3f4f6; padding:.1rem .35rem; border-radius:.25rem; font-size:.85em; }
.legal-content blockquote { border-left:4px solid #2563eb; background:#f8fafc; padding:1rem 1.25rem; margin:0 0 1rem; border-radius:0 .75rem .75rem 0; color:#1f2937; }
.legal-content mark, mark.legal-ph { background:#fef08a; color:#713f12; font-weight:600; padding:0 .25rem; border-radius:.25rem; }
