:root { --ga-ink:#101a37; --ga-blue:#315cf5; --ga-mint:#23c99b; --ga-surface:#f4f7fb; }
body { background:var(--ga-surface); }
header.sticky { padding-inline:max(1rem,calc((100vw - 1440px)/2)); }
main.content-bottom-clearance { max-width:1240px; padding-top:clamp(1.25rem,3vw,2.5rem); }
#homeContent { display:flex; flex-direction:column; }
#homeContent > * { order:3; }
#communityIntro { display:none !important; }
#sponsorSection { order:1; }
#searchBar { order:2; }
#carruselSponsorContainer { box-shadow:0 16px 38px rgba(16,34,78,.16); }
#listaComerciosFeed { gap:1rem; }
.pwa-install-button,.pwa-login-button { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; min-height:38px; padding:.5rem .8rem; border-radius:999px; font-size:.72rem; font-weight:750; white-space:nowrap; transition:transform .18s,background .18s; }
.pwa-install-button { color:#fff; background:linear-gradient(110deg,#315cf5,#6549e8); box-shadow:0 6px 16px #315cf533; }
.pwa-login-button { color:#26365a; background:#eef2fa; }
.pwa-install-button:hover,.pwa-login-button:hover { transform:translateY(-1px); }
.pwa-install-button .material-symbols-outlined,.pwa-login-button .material-symbols-outlined { font-size:17px; }
.pwa-modal { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:1rem; background:rgba(7,15,37,.63); backdrop-filter:blur(12px); }
.pwa-modal.is-open { display:flex; animation:gaFade .18s ease-out; }
.pwa-modal-card { position:relative; width:min(100%,430px); padding:2rem; border:1px solid #ffffffba; border-radius:28px; background:#fff; color:#192344; box-shadow:0 28px 90px #06143c55; }
.pwa-modal-close { position:absolute; top:1rem; right:1rem; width:36px; height:36px; border:0; border-radius:50%; background:#f0f3f8; color:#52607c; font-size:1.5rem; cursor:pointer; }
.pwa-modal-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:1rem; border-radius:16px; color:#fff; background:linear-gradient(145deg,#315cf5,#7450eb); font-size:1.4rem; }
.pwa-eyebrow { margin:0 0 .4rem; color:#596da9; font-size:.65rem; font-weight:850; letter-spacing:.14em; }
.pwa-modal-card h2 { margin:0; color:#111b3b; font-size:1.55rem; font-weight:850; letter-spacing:-.04em; }
.pwa-modal-copy { margin:.6rem 0 1.3rem; color:#68738d; font-size:.88rem; line-height:1.6; }
.install-steps { display:grid; gap:.75rem; margin:1.25rem 0; }
.install-steps>div { display:flex; align-items:center; gap:.8rem; min-height:58px; padding:.75rem; border:1px solid #e8edf6; border-radius:16px; background:#f8faff; font-size:.83rem; color:#36415f; }
.install-steps b { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:50%; color:white; background:#315cf5; }
.pwa-install-help { display:none; padding:.8rem; border-radius:14px; background:#f1f5ff; color:#51618b; font-size:.8rem; line-height:1.5; }
.pwa-primary-button { width:100%; min-height:48px; margin-top:.3rem; border:0; border-radius:15px; color:white; background:linear-gradient(110deg,#315cf5,#624ce9); font-size:.88rem; font-weight:800; cursor:pointer; }
.pwa-login-card label { display:block; margin:.8rem 0; color:#394562; font-size:.76rem; font-weight:750; }
.pwa-login-card input { display:block; width:100%; min-height:46px; margin-top:.4rem; padding:.7rem .85rem; border:1px solid #dfe5f0; border-radius:13px; background:#f9faff; color:#14203e; outline:none; }
.pwa-login-error.success { color:#047857; }
.pwa-login-card input:focus { border-color:#6480f8; box-shadow:0 0 0 3px #315cf51b; }
.pwa-login-error { min-height:1rem; margin:.4rem 0; color:#c33750; font-size:.76rem; }
.pwa-admin-link { display:block; padding:1rem 0 .1rem; text-align:center; color:#315cf5; font-size:.85rem; font-weight:800; }
@keyframes gaFade { from {opacity:0} to {opacity:1} }
@media(min-width:760px) {
  body { padding-bottom:0!important; }
  main.content-bottom-clearance { padding-inline:2rem; }
  main.content-bottom-clearance>section:nth-of-type(2) #contenedorRubrosPills { flex-wrap:wrap; }
  #carruselSponsorContainer { min-height:190px!important; max-height:270px!important; border-radius:30px; aspect-ratio:4 / 1!important; }
  nav.fixed.bottom-0 { left:50%; right:auto; bottom:1rem; width:min(680px,calc(100% - 3rem)); transform:translateX(-50%); border:1px solid #e2e8f0; border-radius:24px; box-shadow:0 16px 55px #10265324; }
  #listaComerciosFeed { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
  #listaComerciosFeed > div { margin:0!important; }
}
@media(min-width:1120px) { #listaComerciosFeed { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { #carruselSponsorContainer { aspect-ratio:4 / 1!important; min-height:185px!important; max-height:270px!important; border-radius:24px!important; } }
@media(max-width:520px) { .pwa-login-button,.pwa-install-button { width:37px; height:37px; min-height:37px; padding:0; } .pwa-login-button span:last-child,.pwa-install-button span:last-child { display:none; } .pwa-modal-card { padding:1.6rem; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }
