/* ReparaYa – estilos globales complementarios a Tailwind CDN */
* { font-family: 'Inter', system-ui, -apple-system, sans-serif; }
html { scroll-behavior: smooth; }

.gradient-hero { background: linear-gradient(135deg, #0b1f4d 0%, #0f3d8a 45%, #1d6fe0 100%); }
.gradient-dark { background: linear-gradient(180deg, #0b1220 0%, #111827 100%); }
.gradient-cta  { background: linear-gradient(135deg, #ea580c 0%, #f97316 55%, #fb923c 100%); }
.text-gradient { background: linear-gradient(135deg, #fb923c, #fbbf24); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

.btn-cta { background: linear-gradient(135deg, #ea580c 0%, #f97316 100%); transition: all .25s ease; position: relative; overflow: hidden; }
.btn-cta::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent); transition: left .5s ease; }
.btn-cta:hover::before { left: 100%; }
.btn-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(249,115,22,.4); }
.btn-cta:disabled { opacity: .7; transform: none; cursor: not-allowed; }

.card-hover { transition: all .3s cubic-bezier(.4,0,.2,1); }
.card-hover:hover { transform: translateY(-6px); box-shadow: 0 25px 50px -12px rgba(15,61,138,.18); }

.service-card img { transition: transform .5s ease; }
.service-card:hover img { transform: scale(1.06); }

.form-input { transition: all .2s ease; border: 2px solid #e5e7eb; }
.form-input:focus { border-color: #3a63f5; box-shadow: 0 0 0 3px rgba(58,99,245,.15); outline: none; }
.form-input.border-red-400 { border-color: #f87171; }

.sticky-cta { position: fixed; bottom: 0; left: 0; right: 0; z-index: 40; transform: translateY(100%); transition: transform .3s ease; }
.sticky-cta.visible { transform: translateY(0); }

.cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999; transform: translateY(100%); transition: transform .4s ease; }
.cookie-banner.visible { transform: translateY(0); }

.reveal { opacity: 0; transform: translateY(24px); transition: all .6s cubic-bezier(.4,0,.2,1); }
.reveal.active { opacity: 1; transform: translateY(0); }

/* FAQ */
.faq-item .faq-answer { max-height: 0; overflow: hidden; transition: max-height .35s ease, padding .35s ease; padding-bottom: 0; }
.faq-item.open .faq-answer { max-height: 600px; padding-bottom: 1.25rem; }
.faq-item.open button i { transform: rotate(180deg); }

/* Funnel */
.option-card { border: 2px solid #e5e7eb; border-radius: 1rem; padding: 1rem .75rem; text-align: center; cursor: pointer; transition: all .2s ease; background: #fff; }
.option-card:hover { border-color: #93b4fd; background: #eef4ff; }
.option-card.selected { border-color: #2446e8; background: #eef4ff; box-shadow: 0 0 0 3px rgba(58,99,245,.15); }
.option-card i { font-size: 1.5rem; color: #2446e8; display: block; margin-bottom: .5rem; }
.funnel-step { display: none; animation: fadeIn .35s ease; }
.funnel-step.active { display: block; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.progress-bar { transition: width .4s ease; }

/* Marquee de provincias */
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.animate-marquee { animation: marquee 45s linear infinite; }
.animate-marquee:hover { animation-play-state: paused; }

.stat-number { font-variant-numeric: tabular-nums; }

@media (max-width: 768px) { .hero-title { font-size: 2rem !important; line-height: 1.15 !important; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } .reveal { opacity: 1; transform: none; } }
