/* EligeBien · capa de resiliencia pública
 * Se carga después de app.css. No sustituye el Design System: protege la experiencia
 * pública frente a reglas antiguas, JS bloqueado o alturas que dejen la portada vacía.
 */
.reveal,.reveal-item{opacity:1!important;transform:none!important}

/* P0: la portada debe ser legible incluso si una regla histórica de hero falla.
 * La captura real de producción mostraba el fondo decorativo ocupando el viewport
 * mientras el contenido quedaba fuera/oculto. Estas reglas fuerzan el flujo normal.
 */
.hero-premium{position:relative!important;display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding-top:46px!important;padding-bottom:38px!important}
.hero-premium::before,.hero-premium::after{pointer-events:none!important;z-index:0!important}
.hero-premium .container,.hero-premium .hero-grid,.hero-premium .hero-copy,.hero-premium .hero-showcase,.hero-premium .hero-trust{height:auto!important;min-height:0!important;max-height:none!important;visibility:visible!important;opacity:1!important}
.hero-premium .hero-grid{position:relative!important;z-index:2!important;display:grid!important}
.hero-premium .hero-copy,.hero-premium .hero-showcase{position:relative!important;inset:auto!important;transform:none!important}
.hero-premium .hero-copy{display:block!important}
.hero-premium h1,.hero-premium p,.hero-premium .eyebrow,.hero-premium .smart-search,.hero-premium .hero-quick,.hero-premium .hero-showcase,.hero-premium .hero-trust{display:revert;visibility:visible!important;opacity:1!important}
.hero-premium .smart-search{display:flex!important}
.hero-premium .hero-quick,.hero-premium .hero-trust{display:flex!important}

.hero-empty{display:grid;gap:12px;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.055)}
.hero-empty>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.09)}
.hero-empty strong{font-size:1.08rem}.hero-empty p{margin:0;font-size:.92rem;line-height:1.55;opacity:.78}.hero-empty-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:2px}
.home-empty-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px 24px;border:1px solid var(--line,#dce5eb);border-radius:20px;background:linear-gradient(135deg,#fff,#f7fafc);box-shadow:0 12px 34px rgba(8,23,37,.06)}
.home-empty-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#eaf6f2;color:#087d68}.home-empty-state strong{display:block;font-size:1.04rem;color:var(--ink,#102838)}.home-empty-state p{margin:5px 0 0;color:var(--muted,#607582);line-height:1.55;max-width:760px}

@media(max-width:980px){
 .hero-premium{padding-top:34px!important;padding-bottom:30px!important}
 .hero-premium .hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
 .hero-premium .hero-copy{width:100%!important}
 .hero-premium h1{font-size:clamp(2.35rem,11vw,4rem)!important;line-height:.98!important}
 .hero-premium .smart-search{width:100%!important;max-width:none!important}
 .hero-premium .hero-quick{display:grid!important;grid-template-columns:1fr!important}
 .hero-showcase{width:100%!important;max-width:none!important}
 .hero-premium .hero-trust{position:relative!important;inset:auto!important;display:flex!important;overflow-x:auto!important}
}
@media(max-width:620px){
 .hero-premium{padding-top:26px!important;padding-bottom:26px!important}
 .hero-premium .hero-grid{gap:20px!important}
 .hero-premium .hero-copy{display:block!important}
 .hero-premium .eyebrow{display:block!important}
 .hero-premium h1{display:block!important;margin-top:10px!important;margin-bottom:14px!important;font-size:clamp(2.25rem,12vw,3.25rem)!important}
 .hero-premium p{display:block!important;font-size:1rem!important;line-height:1.55!important}
 .hero-premium .smart-search{display:grid!important;grid-template-columns:1fr!important;padding:8px!important}
 .hero-premium .smart-search .search-icon{display:none!important}
 .hero-premium .smart-search input{display:block!important;width:100%!important;min-width:0!important}
 .hero-premium .smart-search .btn{display:flex!important;width:100%!important}
 .hero-premium .hero-quick{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
 .hero-premium .hero-showcase{display:block!important}
 .hero-premium .hero-trust{display:flex!important;margin-top:20px!important}
 .hero-empty{padding:18px}.hero-empty-actions{display:grid}.hero-empty-actions .btn{width:100%}
 .home-empty-state{grid-template-columns:1fr;padding:19px}.home-empty-state .btn{width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){
 .reveal,.reveal-item{transition:none!important;animation:none!important}
}


/* Cierre responsive público: navegación táctil, tipografía y comparador */
@media(max-width:720px){
 body{font-size:16px;padding-bottom:72px}
 .mobile-app-nav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:repeat(5,1fr);padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:rgba(6,21,33,.97);border-top:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}
 .mobile-app-nav a{display:flex;min-width:0;min-height:52px;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#d9e5ec;font-size:.72rem;border-radius:10px}
 .mobile-app-nav small{font-size:.68rem;white-space:nowrap}
 .mobile-app-nav a:focus-visible{outline-color:#68e2b8}
 .compare-dock{bottom:calc(70px + env(safe-area-inset-bottom))!important}
 .footer-col a,.footer-col button{min-height:44px;display:flex;align-items:center}
 .footer-market select,select,input,textarea{min-height:44px}
 .compare-table-wrap{margin-inline:-3vw;border-radius:12px}
 .compare-table{font-size:.9rem}
 .compare-table th,.compare-table td{padding:12px 10px}
}
@media(min-width:721px){.mobile-app-nav{display:none}}
@media(max-width:430px){
 .compare-summary-grid{grid-template-columns:1fr!important}
 .compare-summary-card img{height:150px!important}
 .auth-card{padding:18px!important}
 .auth-story h1{font-size:clamp(2.15rem,11vw,2.8rem)!important}
 .footer-main{grid-template-columns:1fr!important}
 .footer-col{border-top:1px solid #173044;padding-top:12px}
}
