:root,.inv{--bg:#0a1128}
:root[data-theme=dark],:root[data-theme=light] .inv{--bg:#0a1128;--bg2:#0d1736;--card:#0e1a3d;--line:rgba(255,255,255,.12);--tx:#eef2ff;--mut:#aab4d4;--y:#ffc933;--b:#22d3ee;--brand-y:#ffd84a;--ybtn-tx:#111;--glow:rgba(255,201,51,.35);--hero-g:rgba(255,201,51,.14);--shadow:0 0 40px rgba(255,201,51,.18)}
:root[data-theme=light],:root[data-theme=dark] .inv{--bg:#fff;--bg2:#f1f4fa;--card:#f5f7fb;--line:#dfe4f0;--tx:#0f1b3d;--mut:#4a5679;--y:#0e7490;--b:#0e7490;--brand-y:#0e7490;--ybtn-tx:#111;--glow:rgba(230,168,0,.3);--hero-g:rgba(255,201,51,.25);--shadow:0 10px 30px rgba(15,27,61,.1)}
.inv{background:var(--bg);color:var(--tx)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font:16px/1.55 Nunito,system-ui,sans-serif;overflow-x:hidden;}
h1,h2,h3,.brand,.num{font-family:Fredoka,system-ui,sans-serif}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--b);outline-offset:3px}
/* Marca de texto neón (cabecera/pie) */
.brand{display:flex;flex-direction:column;line-height:1;font-weight:700}
.n-y{font-size:1.4rem;color:var(--brand-y)}
.brand img{display:block;height:48px;width:auto;border-radius:10px}
.foot-logo{height:auto;width:110px;border-radius:14px}
.n-b{font-size:.6rem;letter-spacing:.34em;color:var(--b)}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--bg);border-bottom:1px solid var(--line)}
.menu{display:none;gap:24px;margin-left:auto;color:var(--mut);font-weight:600}
.menu a:hover{color:var(--y)}
.acciones{display:flex;gap:8px;align-items:center;margin-left:auto}
.ico-btn{background:none;border:1px solid var(--line);color:var(--tx);border-radius:10px;min-width:44px;min-height:44px;font:700 1rem Nunito,sans-serif;cursor:pointer}
.ico-btn:hover{border-color:var(--b)}
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:14px;font-weight:800;min-height:44px;padding:10px 18px;border:0;cursor:pointer;transition:transform .15s,box-shadow .2s}
.btn-y{background:#ffc933;color:var(--ybtn-tx);box-shadow:0 0 18px var(--glow)}
.btn-y:hover{transform:translateY(-2px);box-shadow:0 0 30px var(--glow)}
.btn-o{border:1.5px solid var(--line);color:var(--tx);background:none}
.btn-o:hover{border-color:var(--y)}
.btn.chico{font-size:.9rem;border-radius:99px}.btn.grande{padding:15px 22px;font-size:1.05rem;width:100%}
/* Hero */
.hero{text-align:center;padding:36px 16px 24px;max-width:1000px;margin:auto;background:radial-gradient(700px 320px at 50% 0,var(--hero-g),transparent 70%)}
.hero-logo{width:min(250px,64vw);height:auto;border-radius:22px;box-shadow:0 0 40px var(--glow)}
h1{font-size:clamp(2rem,7.5vw,3.4rem);line-height:1.08;margin:22px auto 12px;font-weight:600;max-width:820px}
h1 em{font-style:normal;color:var(--y)}
.lead{color:var(--mut);font-size:1.15rem;max-width:620px;margin:0 auto 24px}
.hero .pulso{margin:0 auto;min-height:44px;padding:10px 26px;border-radius:99px;animation:pulso 2.2s infinite}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(255,201,51,.6)}70%{box-shadow:0 0 0 16px rgba(255,201,51,0)}100%{box-shadow:0 0 0 0 rgba(255,201,51,0)}}
.fila-fina{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:760px;margin:16px auto 0}
.fino{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px 22px;border-radius:99px;border:2px solid var(--y);color:var(--tx);font-weight:800;font-size:.92rem;transition:transform .15s,background .2s}
.fino:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--y) 18%,transparent)}
.fino-y{background:#ffc933;border-color:#ffc933;color:#111;animation:pulso 2.2s infinite}
.fino-y:hover{background:#ffd75e}
.pantalla{margin:36px auto 0;max-width:760px;border:3px solid var(--y);border-radius:22px;overflow:hidden;background:var(--bg2);box-shadow:var(--shadow)}
.pantalla video{display:block;width:100%;aspect-ratio:760/400;background:var(--bg2)}
.elige{display:flex;flex-wrap:wrap;gap:6px;padding:10px;border-top:1px solid var(--line);justify-content:center}
.elige button{background:none;border:1px solid var(--line);color:var(--mut);border-radius:99px;padding:8px 14px;min-height:40px;cursor:pointer;font:700 .85rem Nunito,sans-serif}
.elige button.on{background:#ffc933;color:#111;border-color:#ffc933}
/* Secciones */
.sec{padding:48px max(16px,calc((100% - 1088px)/2))}
h2{font-size:clamp(1.6rem,5.5vw,2.3rem);margin-bottom:20px;font-weight:600}.centrado{text-align:center}
.sub{color:var(--mut);margin-bottom:20px}
.grid3{display:grid;gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;transition:border-color .25s,box-shadow .25s,transform .25s}
.card:hover{border-color:var(--y);box-shadow:var(--shadow);transform:translateY(-3px)}
.card h3{margin:10px 0 6px;font-size:1.3rem;font-weight:600}.card p{color:var(--mut)}
.centro{text-align:center}
.card svg{width:58px;height:58px;padding:11px;border-radius:16px;background:#0a1128;border:1.5px solid #22d3ee;fill:none;stroke:#22d3ee;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;box-shadow:0 0 10px rgba(34,211,238,.35)}
.num{display:block;font-size:2.4rem;font-weight:700;color:var(--y);line-height:1}
.ph{height:190px;border:1.5px dashed var(--b);border-radius:14px;display:grid;place-items:center;color:var(--mut);background:color-mix(in srgb,var(--b) 7%,transparent);font-size:.9rem}
.tag{display:inline-block;font:800 .65rem Nunito,sans-serif;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;margin-left:6px;border:1px solid var(--y);color:var(--y);border-radius:99px;padding:3px 10px}
.faq{display:grid;gap:10px;max-width:760px}
details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0 18px}
summary{cursor:pointer;min-height:52px;display:flex;align-items:center;font-weight:700;list-style:none}
summary::-webkit-details-marker{display:none}
details[open]{border-color:var(--y)}details p{color:var(--mut);padding:0 0 16px}
/* Formulario */
.form-wrap{max-width:560px;margin:auto;border:2px solid var(--y);border-radius:24px;padding:28px 20px;background:var(--card);box-shadow:var(--shadow)}
form{display:grid;gap:14px}label{display:grid;gap:6px;color:var(--mut);font-size:.9rem;font-weight:600}
input,select{background:var(--bg);border:1px solid var(--line);color:var(--tx);border-radius:12px;padding:12px 14px;min-height:48px;font:inherit}
input:focus,select:focus{border-color:var(--y);outline:none;box-shadow:0 0 14px var(--glow)}
.trampa{position:absolute;left:-9999px;height:0;opacity:0}
.mini{font-size:.85rem;color:var(--mut)}
#msg{min-height:1.4em;font-weight:700}#msg.ok{color:#22a869}#msg.err{color:#e5484d}
.ok-wa{display:inline-block;margin-top:8px;background:#25d366;color:#04210f;padding:12px 18px;border-radius:12px}
/* Contacto */
.contacto{display:grid;gap:16px}
.redes{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.red{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:99px;font-weight:700}
.red:hover{border-color:var(--y);color:var(--y)}
.red svg{width:20px;height:20px;fill:currentColor;stroke:none}
.mapa{min-height:300px;padding:0;overflow:hidden;display:grid;place-items:center;text-align:center}
.mapa p{padding:20px;color:var(--mut)}
.mapa iframe{width:100%;height:100%;min-height:300px;border:0;display:block}
.foot{background:#0a1128;color:#eef2ff;text-align:center;padding:32px 16px 96px;display:grid;gap:6px;justify-items:center;font-size:.92rem}
.wa-flot{position:fixed;right:14px;bottom:14px;z-index:30;background:#25d366;color:#04210f;font-weight:800;border-radius:99px;min-height:48px;padding:12px 20px;box-shadow:0 6px 24px rgba(0,0,0,.4)}
@media(min-width:800px){
 .top{padding:12px 32px}.menu{display:flex}.acciones{margin-left:0}
 .btn.grande{width:auto}
 .redes-big{grid-template-columns:repeat(5,1fr)}
 .grid3{grid-template-columns:repeat(3,1fr)}.sec{padding-top:72px;padding-bottom:72px}.form-wrap{padding:36px}
 .contacto{grid-template-columns:1fr 1.3fr}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

.redes-big{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:1000px;margin:auto}
.red-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:110px;padding:16px;border:2px solid var(--line);border-radius:20px;background:var(--card);font-weight:800;text-align:center;transition:transform .2s,border-color .2s,box-shadow .2s}
.red-b svg{width:34px;height:34px;fill:currentColor}
.red-b:hover{transform:translateY(-4px);border-color:var(--y);box-shadow:var(--shadow)}
.red-b.portal{background:#ffc933;border-color:#ffc933;color:#111;grid-column:1/-1}
.red-b.portal svg{fill:none;stroke:#111;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:800px){.redes-big{grid-template-columns:repeat(4,1fr)}.red-b.portal{grid-column:1/-1;flex-direction:row;min-height:72px;font-size:1.15rem}}

/* Catálogo */
.catalogo{display:grid;gap:16px;align-items:start;grid-template-columns:1fr}
.veh{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;position:relative;transition:border-color .25s,box-shadow .25s}
.veh:not(.agotado):hover,.veh.abierto{border-color:var(--y);box-shadow:var(--shadow)}
.veh-btn{display:block;width:100%;text-align:left;background:none;border:0;color:inherit;font:inherit;padding:14px;cursor:pointer}
.veh.agotado .veh-btn{cursor:default}
.veh .ph{height:170px;margin-bottom:12px}
.veh img{display:block;width:100%;height:170px;object-fit:contain;background:#fff;border-radius:14px;margin-bottom:12px}
.veh h3{font-size:1.15rem;font-weight:600;margin:0 0 4px}
.veh p{color:var(--mut);font-size:.92rem}
.veh .mas{display:inline-block;margin-top:8px;font-weight:800;font-size:.85rem;color:var(--y)}
.veh.abierto .mas{opacity:.7}
.det{padding:0 14px 16px}
.det ul{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}
.det li{display:flex;gap:8px;align-items:flex-start;color:var(--tx);font-size:.95rem}
.det li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--y);margin-top:.5em}
.det .inicial{font-family:Fredoka,sans-serif;font-size:1.25rem;font-weight:600}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:99px;background:#25d366;color:#04210f;font-weight:800;padding:8px 16px}
.wa-btn:hover{filter:brightness(1.05)}
.cinta{position:absolute;top:26px;left:-44px;width:170px;transform:rotate(-35deg);background:#e5484d;color:#fff;text-align:center;font:800 .85rem Nunito,sans-serif;letter-spacing:.12em;padding:5px 0;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.veh.agotado .ph,.veh.agotado img{opacity:.55;filter:grayscale(.6)}
@media(min-width:600px){.catalogo{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.catalogo{grid-template-columns:repeat(4,1fr)}}
.det li.fuente{color:var(--mut);font-size:.78rem}.det li.fuente::before{display:none}
.veh img.cover{object-fit:cover}
.veh.agotado img{filter:grayscale(.7) brightness(.8)}
button,select,input{font-family:inherit}

/* Menú móvil */
.burger{display:inline-flex;align-items:center;justify-content:center}
.top{position:sticky}
.top.abierto .menu{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;margin:0;padding:6px 16px 14px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.25)}
.top.abierto .menu a{padding:14px 4px;border-bottom:1px solid var(--line);color:var(--tx);font-size:1.05rem}
.top.abierto .menu a:last-child{border-bottom:0}
@media(max-width:520px){.acciones .btn.chico{display:none}}
@media(min-width:800px){.burger{display:none}}

/* Portal de Socios destacado en el menú */
.menu .portal-link{display:inline-flex;align-items:center;min-height:42px;padding:6px 18px;border:2px solid var(--b);border-radius:99px;color:var(--tx);font-weight:800;animation:pulso-b 2.2s infinite}
.menu .portal-link:hover{background:color-mix(in srgb,var(--b) 15%,transparent);color:var(--tx)}
@keyframes pulso-b{0%{box-shadow:0 0 0 0 rgba(34,211,238,.6)}70%{box-shadow:0 0 0 14px rgba(34,211,238,0)}100%{box-shadow:0 0 0 0 rgba(34,211,238,0)}}
.top.abierto .menu a.portal-link{justify-content:center;margin-top:10px;border-bottom:2px solid var(--b);background:#0e7490;color:#fff;animation:none}
@media(min-width:800px){.menu{align-items:center}}
.fino-c{border-color:var(--b);color:var(--tx)}
.centrado.mini,.mini.centrado{text-align:center;margin-top:18px}
.foot-l1{font-weight:700}.foot-l2{color:#aab4d4}

.grid4{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
.grid4 .card{padding:18px 14px}.grid4 .card h3{font-size:1.02rem}.grid4 .card p{font-size:.88rem}
@media(min-width:800px){.grid4{grid-template-columns:repeat(4,1fr)}}
.req{max-width:760px;margin:0 auto}
.checks{list-style:none;padding:0;display:grid;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.checks li::before{content:"✓";flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#0a1128;color:#22d3ee;border:1.5px solid #22d3ee;font-size:.85rem;font-weight:800}
.listo{max-width:760px;margin:28px auto 0;text-align:center}
.listo h3{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:6px}
.listo p{color:var(--mut);margin-bottom:16px}
@media(min-width:800px) and (max-width:1150px){.menu{gap:14px;font-size:.86rem}.menu .portal-link{padding:6px 12px}.top{gap:10px}.acciones{gap:6px}}
.foot-l3 a{color:#aab4d4;text-decoration:underline}.foot-l3 a:hover{color:#ffc933}
.legal{max-width:760px;margin:auto;padding:28px 16px 64px}.legal h1{font-size:clamp(1.8rem,6vw,2.4rem);margin:14px 0 4px}.legal h2{font-size:1.2rem;margin:26px 0 8px}
.legal p,.legal li{color:var(--mut)}.legal ul{padding-left:20px;display:grid;gap:8px;margin:8px 0}.legal a{color:var(--b);text-decoration:underline}.legal b{color:var(--tx)}
