/* SEOUruguay: estilos compartidos (sistema visual heredado de upnoow) */

html { scroll-behavior: smooth; }
body { font-family: 'Inter Tight', sans-serif; }
.font-display { font-family: 'Bricolage Grotesque', sans-serif; }
.font-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }

/* Accesibilidad: primario (#FF6B35) como texto sobre fondos claros no cumple AA; se oscurece solo para texto */
.text-primario { color: #C2410C !important; }

a:focus, button:focus { outline: 2px solid #FF6B35; outline-offset: 2px; }

/* ===== Header dropdowns ===== */
.dropdown-menu { opacity: 0; visibility: hidden; transform: translateY(8px); transition: all 0.2s ease; }
.dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }

/* ===== WhatsApp float ===== */
.wa-float { position:fixed; bottom:1.5rem; right:1.5rem; z-index:999; width:60px; height:60px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,0.4); transition:transform .2s,box-shadow .2s; text-decoration:none; }
.wa-float:hover { transform:scale(1.1); box-shadow:0 6px 28px rgba(37,211,102,0.5); }
.wa-float svg { width:30px; height:30px; fill:#fff; }
.wa-pulse { position:absolute; inset:-4px; border-radius:50%; border:2px solid #25D366; animation:wa-ring 2s ease-out infinite; pointer-events:none; }
@keyframes wa-ring { 0%{transform:scale(1);opacity:.6} 100%{transform:scale(1.5);opacity:0} }
@media (max-width: 640px) {
  .wa-float { width:52px; height:52px; bottom:1rem; right:1rem; }
  .wa-float svg { width:26px; height:26px; }
}

/* ===== Reveal on scroll ===== */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-left { opacity: 0; transform: translateX(-32px); transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.reveal-left.visible { opacity: 1; transform: translateX(0); }
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-left { opacity: 1; transform: none; transition: none; }
}

/* ===== Hero ===== */
.hero-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(26,43,74,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26,43,74,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
}
@keyframes hero-pulse { 0%,100%{opacity:0.15; transform:scale(1)} 50%{opacity:0.25; transform:scale(1.05)} }
@keyframes hero-fade-up { 0%{opacity:0; transform:translateY(40px)} 100%{opacity:1; transform:translateY(0)} }
@keyframes gradient-shift { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
.hero-text-gradient {
  background: linear-gradient(135deg, #FF6B35, #FF8F65, #FF6B35);
  background-size: 200% 200%;
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  animation: gradient-shift 4s ease infinite;
}
.hero-fade-up { animation: hero-fade-up 0.8s cubic-bezier(0.16,1,0.3,1) both; }
.hero-fade-up-2 { animation: hero-fade-up 0.8s cubic-bezier(0.16,1,0.3,1) 0.2s both; }
.hero-swap-word { display: inline-block; transition: opacity 0.3s ease, transform 0.3s ease; }
.hero-swap-word.swap { opacity: 0; transform: translateY(8px); }
@media (prefers-reduced-motion: reduce) { .hero-swap-word { transition: none !important; } }
@media (max-width: 640px) {
  .hero-section-wrap { padding: 3.5rem 0.75rem 1.5rem !important; }
  .hero-title { font-size: clamp(1.5rem, 6vw, 2rem) !important; }
}

/* ===== Cards ===== */
.glass { transition: transform .2s, box-shadow .2s, border-color .2s; }
.glass:hover { transform: translateY(-3px); }

/* ===== Search mock (decorative, sin imágenes) ===== */
.serp-mock { background:#fff; border:1px solid #E5E7EB; border-radius: 1rem; box-shadow: 0 20px 50px rgba(26,43,74,0.12); }
.serp-bar { display:flex; align-items:center; gap:.5rem; border:1px solid #E5E7EB; border-radius:9999px; padding:.6rem 1rem; background:#F9FAFB; }
.serp-result { border-top: 1px solid #F1F1F1; padding: .9rem 0; }
.serp-result:first-child { border-top: none; }

/* ===== Comparativa SEO vs Ads ===== */
.vs-card { border-radius: 1.25rem; padding: 2rem; height: 100%; }

/* ===== FAQ ===== */
.faq-content { overflow: hidden; }
