/* Diseños: patio (blanco y amarillo, por defecto), chapa, noche, obra. Todo sale de variables. */
*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{font-family:Inter,system-ui,"Segoe UI","DejaVu Sans",sans-serif;font-size:15px;line-height:1.35;background:var(--bg);color:var(--ink)}
body[data-tema=patio]{--bg:#FFFFFF;--card:#F6F6F2;--ink:#1B1B1B;--mut:#6C6C64;--pri:#FFB800;--pri2:#B8860B;--on:#1B1B1B;--top:#FFFFFF;--topink:#1B1B1B;--line:#E8E8E0;--r:22px;--ok:#17803A;--bar:#FFFFFF;--bad:#C0392B}
body[data-tema=chapa]{--bg:#F2F2EE;--card:#FFFFFF;--ink:#141414;--mut:#66665F;--pri:#FFC400;--pri2:#B8860B;--on:#141414;--top:#141414;--topink:#FFC400;--line:#E2E2DA;--r:14px;--ok:#17803A;--bar:#FFFFFF;--bad:#C0392B}
body[data-tema=noche]{--bg:#121212;--card:#1E1E1E;--ink:#F5F5F0;--mut:#A3A398;--pri:#FFC400;--pri2:#FFC400;--on:#141414;--top:#0A0A0A;--topink:#FFC400;--line:#2E2E2A;--r:14px;--ok:#7DDB8F;--bar:#0A0A0A;--bad:#FF8A7A}
body[data-tema=obra]{--bg:#DADAD4;--card:#F4F4EF;--ink:#1A1A1A;--mut:#55554F;--pri:#F5B800;--pri2:#8A6500;--on:#1A1A1A;--top:#F5B800;--topink:#1A1A1A;--line:#B8B8B0;--r:3px;--ok:#17803A;--bar:#F4F4EF;--bad:#B3261E}
body[data-tema=obra] #top{border-bottom:10px solid transparent;border-image:repeating-linear-gradient(-45deg,#141414 0 10px,#F5B800 10px 20px) 10}
#app{max-width:560px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;background:var(--bg);position:relative}
@media(min-width:600px){body{background:#0002}#app{box-shadow:0 0 30px #0003}}
#top{flex:none;display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:var(--top);color:var(--topink);min-height:56px}
#top:empty{display:none}
#top .tt{flex:1;text-align:center;font-weight:800;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#top button,#top a{color:inherit;background:none;border:0;font:inherit;text-decoration:none;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer}
#top .back{font-size:30px;line-height:1}
.logo{display:flex;align-items:center;gap:8px;font-weight:900;font-size:21px;letter-spacing:.5px;flex:1}
.logo b{background:#141414;color:#FFC400;padding:3px 11px 4px;border-radius:8px;white-space:nowrap}
.pin{font-size:13px;white-space:nowrap;padding:7px 12px;border-radius:99px;background:#80808030;color:inherit;border:0;cursor:pointer;min-height:36px;font-weight:600}
#cuerpo{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 14px 20px;-webkit-overflow-scrolling:touch}
#acc{flex:none}
#acc:not(:empty){display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1.5px solid var(--line);background:var(--bar)}
#nav{flex:none;display:flex;border-top:1.5px solid var(--line);background:var(--bar);padding:4px 0 calc(6px + env(safe-area-inset-bottom))}
#nav:empty{display:none}
#nav a{flex:1;text-align:center;font-size:11.5px;color:var(--mut);text-decoration:none;padding:6px 0;min-height:48px;position:relative}
#nav a svg{display:block;margin:0 auto 2px;width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#nav a.on{color:var(--ink);font-weight:800}
#nav a.on svg{stroke:var(--pri2)}
#nav .ins{position:absolute;top:2px;left:calc(50% + 6px);background:var(--bad);color:#fff;font-size:10.5px;font-weight:800;border-radius:99px;min-width:18px;height:18px;line-height:18px;padding:0 5px}
h2.sec{font-weight:800;font-size:16px;margin:16px 0 8px;display:flex;justify-content:space-between;align-items:baseline}
h2.sec em{font:600 12.5px Inter,sans-serif;color:var(--mut);font-style:normal}
.busca{display:flex;gap:8px}
.busca input{flex:1}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:11px 14px;width:100%;min-height:46px}
textarea{min-height:90px;resize:vertical;border-radius:calc(var(--r) * .6)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--pri);outline-offset:0}
label.c{display:block;margin-bottom:10px}
label.c>span{display:block;font-size:12.5px;font-weight:700;color:var(--mut);margin-bottom:3px}
label.c small{display:block;font-size:12px;color:var(--mut);margin-top:3px}
.fr{display:flex;gap:10px}.fr>*{flex:1;min-width:0}
.chips{display:flex;gap:6px;margin:10px 0;overflow-x:auto;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;font:inherit;font-size:13.5px;padding:8px 13px;border:1.5px solid var(--line);background:var(--card);border-radius:var(--r);color:var(--ink);cursor:pointer;min-height:38px}
.chip.on{background:var(--pri);color:var(--on);border-color:var(--pri);font-weight:700}
.cats{display:flex;gap:6px}
.cat{flex:1;text-align:center;font:inherit;font-size:11.5px;padding:8px 0 6px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);color:var(--ink);cursor:pointer;min-width:0;min-height:56px}
@media(max-width:340px){.cats{gap:3px}.cat{font-size:9.5px;letter-spacing:-.3px}}
.cat svg{display:block;width:34px;height:20px;margin:0 auto 3px}
.cat.on{border-color:var(--pri);box-shadow:inset 0 -4px 0 var(--pri);font-weight:800}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vc{display:block;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;color:inherit;text-decoration:none;position:relative}
.vc .foto{height:96px}
.vcb{padding:8px 10px 10px}
.vcb b{font-size:17px;display:block}
.vcb small{display:block;font-size:12px;color:var(--mut);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vcb u{text-decoration:none;font-size:11.5px;font-weight:700;color:var(--ok)}
.corazon{position:absolute;top:6px;right:6px;width:36px;height:36px;border-radius:50%;border:0;background:#fffc;display:flex;align-items:center;justify-content:center;cursor:pointer}
.corazon svg{width:20px;height:20px;stroke:#1B1B1B;fill:none;stroke-width:2}
.corazon.on svg{fill:#E0245E;stroke:#E0245E}
.foto{overflow:hidden;background:#d6d6ce}
.foto svg,.foto img{width:100%;height:100%;display:block;object-fit:cover}
.galeria{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:-12px -14px 0;scrollbar-width:none}
.galeria::-webkit-scrollbar{display:none}
.galeria .foto{flex:none;width:100%;height:240px;scroll-snap-align:center}
.cuenta{float:right;margin:-34px 10px 0 0;position:relative;background:#000a;color:#fff;font-size:12px;padding:3px 9px;border-radius:99px}
.precio{font-size:30px;font-weight:900;margin-top:12px}
.precio small{font:500 13px Inter,sans-serif;color:var(--mut)}
.datos{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0}
.datos div{background:var(--card);border:1.5px solid var(--line);border-radius:calc(var(--r) * .7);padding:8px 2px;text-align:center;font-size:11.5px;color:var(--mut)}
.datos b{display:block;font-size:15px;color:var(--ink)}
.sdoc{display:flex;gap:10px;align-items:center;background:var(--pri);color:var(--on);padding:10px 14px;border-radius:var(--r);margin:8px 0}
.sdoc svg{width:30px;height:35px;flex:none}.sdoc b{display:block;font-size:14.5px}.sdoc small{font-size:12px}
.vend{display:flex;gap:10px;align-items:center;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:10px 12px;margin-top:10px;color:inherit;text-decoration:none}
.vend b{display:block;font-size:15px}.vend small{font-size:12px;color:var(--ok);font-weight:700;display:block}.vend em{margin-left:auto;font-style:normal;font-size:24px;color:var(--mut)}
.av{width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--pri);font:800 15px/42px Inter,sans-serif;text-align:center;flex:none;overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}
.av.big{width:64px;height:64px;font-size:22px;line-height:64px;border:3px solid var(--pri);margin-top:-34px;background:var(--ink)}
.aviso{display:block;font-size:12.5px;color:var(--mut);margin:10px 0;line-height:1.4}
.btn{flex:1;padding:13px 10px;text-align:center;font:inherit;font-weight:800;font-size:15px;border-radius:var(--r);border:1.5px solid transparent;cursor:pointer;min-height:48px;text-decoration:none;display:block;background:var(--card);color:var(--ink)}
.btn.p{background:var(--pri);color:var(--on)}
.btn.w{background:#1FA855;color:#fff}
.btn.o{border-color:var(--line);background:var(--card);color:var(--ink)}
.btn.r{background:none;border-color:var(--bad);color:var(--bad)}
.btn.s{flex:none;padding:8px 14px;font-size:13.5px;min-height:38px;display:inline-block}
.btn[disabled]{opacity:.5;cursor:default}
.btn.g{flex:1.5}
.portada{height:100px;overflow:hidden;border-radius:var(--r);margin-top:2px}
.portada .foto{height:100%}
.ph{display:flex;gap:12px;align-items:flex-start;padding:0 4px}.ph .av{margin-left:6px}
.nom{font-size:19px;display:block;font-weight:800}.ph small{font-size:12.5px;color:var(--mut)}
.sellos2{display:flex;gap:6px;margin:10px 0;flex-wrap:wrap}
.sellos2 span{font-size:12px;font-weight:700;padding:5px 10px;background:var(--card);border:1.5px solid var(--ok);color:var(--ok);border-radius:99px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.stats div{background:var(--card);border:1.5px solid var(--line);border-radius:calc(var(--r) * .7);padding:8px 3px;text-align:center;font-size:11.5px;color:var(--mut)}.stats b{display:block;font-size:14.5px;color:var(--ink)}
.fotos{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}
.fotos>*{height:74px;border-radius:calc(var(--r) * .7);overflow:hidden;position:relative}
.fotos .add{border:2px dashed var(--pri2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:22px;color:var(--pri2);cursor:pointer;background:none;font-family:inherit}
.fotos .add small{font-size:11px}
.fotos .ft img{width:100%;height:100%;object-fit:cover}
.fotos .ft .x{position:absolute;top:2px;right:2px;width:26px;height:26px;border-radius:50%;border:0;background:#000b;color:#fff;font-size:15px;line-height:26px;cursor:pointer}
.fotos .ft .star{position:absolute;bottom:2px;left:2px;background:var(--pri);color:var(--on);font-size:10px;font-weight:800;padding:1px 6px;border-radius:99px;border:0}
.paso{display:flex;gap:6px;margin:2px 0 8px}.paso i{flex:1;height:5px;border-radius:9px;background:var(--line)}.paso i.on{background:var(--pri)}
.cons{display:flex;gap:12px;align-items:center;background:var(--card);border:1.5px solid var(--pri);border-radius:var(--r);padding:10px 12px;margin:4px 0 10px;cursor:pointer}
.cons b{font-size:14px;display:block}.cons small{font-size:12px;color:var(--mut)}
.cons input{width:22px;height:22px;min-height:0;flex:none;accent-color:var(--pri2)}
.tarjeta{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:10px}
.tarjeta h3{font-size:16px;margin-bottom:4px}
.tarjeta .fila{display:flex;gap:10px;align-items:center;justify-content:space-between}
.est{display:inline-block;font-size:12px;font-weight:800;padding:3px 10px;border-radius:99px;background:var(--line);color:var(--ink)}
.est.ok{background:var(--ok);color:#fff}.est.mal{background:var(--bad);color:#fff}.est.esp{background:var(--pri);color:var(--on)}
body[data-tema=noche] .est.ok{color:#141414}
.tema{display:flex;gap:10px;align-items:center;border:2px solid var(--line);border-radius:var(--r);padding:10px;margin-bottom:8px;cursor:pointer;background:var(--card);width:100%;font:inherit;color:inherit;text-align:left}
.tema.on{border-color:var(--pri);box-shadow:inset 0 0 0 1px var(--pri)}
.tema .sw{display:flex;flex:none}.tema .sw i{width:20px;height:34px;display:block}.tema b{display:block;font-size:14.5px}.tema small{font-size:12px;color:var(--mut)}
.msgs{display:flex;flex-direction:column;gap:6px}
.m{max-width:80%;padding:8px 12px;border-radius:16px;background:var(--card);border:1px solid var(--line);align-self:flex-start;word-wrap:break-word;overflow-wrap:anywhere}
.m.mio{align-self:flex-end;background:var(--pri);color:var(--on);border-color:var(--pri)}
.chat{display:flex;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.chat .foto{width:56px;height:46px;border-radius:calc(var(--r) * .5);flex:none}
.chat b{display:block;font-size:14.5px}.chat small{display:block;font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat>div{min-width:0;flex:1}.chat em{font-style:normal;font-size:11px;color:var(--mut);flex:none}
.chat .ins2{background:var(--bad);color:#fff;border-radius:99px;font-size:11px;font-weight:800;padding:1px 7px;margin-left:4px}
.vacio{text-align:center;color:var(--mut);padding:36px 10px}.vacio svg{width:90px;height:45px;opacity:.6}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kpi{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:12px;color:inherit;text-decoration:none;display:block}
.kpi b{font-size:28px;display:block}.kpi span{font-size:12.5px;color:var(--mut)}
.kpi.al{border-color:var(--pri);box-shadow:inset 0 -4px 0 var(--pri)}
.docs{display:flex;gap:6px;margin:6px 0;flex-wrap:wrap}.docs img{height:70px;border-radius:8px;border:1px solid var(--line)}
.acciones{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
#hoja{position:fixed;inset:0;background:#0008;z-index:40;display:flex;align-items:flex-end;justify-content:center}
#hoja .h{background:var(--bg);color:var(--ink);width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;border-radius:24px 24px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
#hoja h3{font-size:18px;margin-bottom:10px}
#hoja .barra{display:flex;gap:8px;margin-top:10px}
#avisos{position:fixed;left:0;right:0;bottom:90px;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:60;pointer-events:none;padding:0 14px}
.aviso-t{background:#141414;color:#fff;padding:10px 16px;border-radius:99px;font-size:14px;max-width:520px;box-shadow:0 4px 14px #0005}
.aviso-t.mal{background:#B3261E}
.err{color:var(--bad);font-size:13.5px;margin:6px 0;min-height:18px}
.cargando{text-align:center;color:var(--mut);padding:30px}
.link{color:var(--pri2);font-weight:700;background:none;border:0;font:inherit;cursor:pointer;text-decoration:underline}
.hz{height:12px;margin:12px 0;background:repeating-linear-gradient(-45deg,var(--pri) 0 14px,#141414 14px 28px);border-radius:3px}
.nota{background:var(--card);border-left:5px solid var(--pri);padding:10px 12px;border-radius:calc(var(--r) * .5);font-size:13.5px;margin:8px 0}

/* chat estilo WhatsApp */
#top .chead{flex:1;min-width:0;justify-content:flex-start;gap:10px;text-align:left;min-height:44px}
#top .chead .ct{min-width:0}#top .chead b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#top .chead small{display:block;font-size:12px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm{width:44px;height:44px;border-radius:50%;overflow:hidden;flex:none;background:var(--card)}
.cm img,.cm svg{width:100%;height:100%;object-fit:cover;display:block}
.msgs{padding-bottom:6px}
.m{position:relative;padding:7px 10px 5px;border-radius:14px 14px 14px 4px;max-width:82%;-webkit-touch-callout:none}
.m.mio{border-radius:14px 14px 4px 14px}
.m.cambia{-webkit-user-select:none;user-select:none;touch-action:pan-y}
.m .tx{white-space:pre-wrap}
.m .el{opacity:.7}
.m .meta{display:flex;justify-content:flex-end;align-items:center;gap:5px;font-size:10.5px;opacity:.8;margin-top:2px}
.tk{letter-spacing:-3px;font-weight:800;margin-right:3px;opacity:.65}.tk.az{color:#0B57D0;opacity:1}
body[data-tema=noche] .m.mio .tk.az{color:#0B3D91}
.m.sinpad{padding:4px 4px 4px;overflow:hidden}.m.sinpad .meta{padding:0 6px 2px}
.mf{display:block;width:100%;max-width:230px;max-height:300px;border-radius:11px;object-fit:cover;cursor:pointer}
.mv{display:block;width:230px;max-width:100%;color:var(--ink);text-decoration:none;background:var(--bg);border-radius:11px;overflow:hidden}
.mv .foto{height:120px;border-radius:0}.mv .mvt{padding:7px 9px}.mv .mvt b{display:block;font-size:14px}.mv .mvt span{font-weight:900;font-size:16px}.mv .mvt small{color:var(--mut)}
.mv.off{padding:2px}
.dia{align-self:center;background:var(--card);border:1px solid var(--line);font-size:11.5px;color:var(--mut);padding:2px 10px;border-radius:99px;margin:6px 0 2px}
.sis{align-self:center;text-align:center;font-size:12px;color:var(--mut);background:var(--card);border:1px solid var(--line);border-left:5px solid var(--pri);padding:8px 12px;border-radius:12px;line-height:1.4;margin-bottom:6px}
.comp{display:flex;flex-direction:column;width:100%;gap:6px}
.comp .fila{display:flex;gap:6px;align-items:center}.comp .fila input[name=texto]{flex:1;min-width:0}
.ic{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#edi:empty{display:none}.edi{display:flex;justify-content:space-between;align-items:center;background:var(--card);border-left:4px solid var(--pri);padding:4px 6px 4px 10px;border-radius:8px;font-size:13px}
.edi button{background:none;border:0;font:inherit;font-size:16px;width:36px;height:36px;color:inherit;cursor:pointer}
#popf{position:fixed;inset:0;z-index:50}
.pop{position:fixed;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 22px #0004;min-width:150px;max-width:230px;overflow:hidden}
.pop button{display:block;width:100%;text-align:left;font:inherit;font-size:15px;padding:11px 16px;background:none;border:0;border-bottom:1px solid var(--line);color:inherit;cursor:pointer;min-height:44px}
.pop button:last-child{border-bottom:0}.pop .rojo{color:var(--bad);font-weight:700}.pop p{padding:10px 14px 4px;font-size:13.5px}
#visor{position:fixed;inset:0;background:#000e;z-index:55;display:flex;align-items:center;justify-content:center}
#visor img{max-width:100%;max-height:100%;object-fit:contain}#visor .x{position:absolute;top:calc(10px + env(safe-area-inset-top));right:12px;width:44px;height:44px;border-radius:50%;border:0;background:#fff3;color:#fff;font-size:20px}
.grp{margin-bottom:14px}.grp .gh{display:flex;gap:10px;align-items:center;padding:6px 4px;color:inherit;text-decoration:none;border-bottom:2px solid var(--pri)}
.grp .gh .av{width:34px;height:34px;line-height:34px;font-size:13px}.grp .gh b{flex:1;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat .cm{width:48px;height:48px}.chat .der{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.chat .der .ins2{margin:0}
.chat>.cm,.chat>.av{flex:none}
.tk{font-size:12px}

#top .pin{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}@keyframes giro{to{transform:rotate(360deg)}}#top .logo[data-a]{cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}@keyframes giroy{from{transform:perspective(300px) rotateY(0)}to{transform:perspective(300px) rotateY(360deg)}}.logo.gira img.emb{animation:giroy .6s ease-in-out 1}#cuerpo{transition:transform .15s}
#top .pin{justify-content:flex-start;min-height:40px}
@media(max-width:340px){#top .logo{font-size:18px;gap:6px}#top .logo svg{width:22px;height:26px}#top .pin{font-size:12px;padding:7px 8px}#top{gap:4px}}

/* Inicio v3 (Nerio 22/10): ventana de AlVolante en negro y dorado, concesionarios en tarjetas que se despliegan */
.casa{background:#141414;color:#F5F5F0;border:1.5px solid #B8860B;border-radius:var(--r);padding:12px;margin:14px 0}
.casa-cab{display:flex;gap:10px;align-items:center;margin-bottom:10px}.casa-cab svg{width:30px;height:35px;flex:none}
.casa-cab b{display:block;color:#FFC400;font-size:20px;font-weight:900;letter-spacing:.4px}.casa-cab small{display:block;color:#C9C9BF;font-size:12.5px}
.cw{position:relative;display:block;overflow:hidden;border-radius:calc(var(--r) * .7);background:#1F1F1C;color:#F5F5F0;text-decoration:none}
.cw .cv{display:block;color:inherit;text-decoration:none}
.cw .foto{background:#2A2A26}
.cw.grande .foto{height:178px}
.cw.peq .foto{height:78px}
.casa-peq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.sellocasa{display:flex;align-items:center;gap:4px;color:#FFC400;font-size:9.5px;font-weight:800;line-height:1.15;padding:4px 5px 0}
.sellocasa svg{width:13px;height:15px;flex:none}.sellocasa i{font-style:normal}
.cw.grande .sellocasa{position:absolute;top:8px;left:8px;background:#141414DD;border:1px solid #FFC400;border-radius:99px;padding:4px 10px 4px 6px;font-size:12px}
.cw.grande .sellocasa svg{width:16px;height:18px}
.cvt{display:block;padding:3px 5px 6px}.cvt b{display:block;font-size:13px;color:#FFC400}.cvt small{display:block;font-size:10.5px;color:#D8D8CE;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cw.grande .cvt{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;background:linear-gradient(transparent,#000C)}
.cw.grande .cvt b{font-size:24px}.cw.grande .cvt small{font-size:13.5px;color:#F0F0E8}
.cw .ed{position:absolute;top:6px;right:6px;background:#FFC400;color:#141414;font-size:11px;font-weight:800;padding:5px 9px;border-radius:99px;text-decoration:none;min-height:28px;display:flex;align-items:center}
.cw.grande .ed{top:auto;bottom:10px;right:10px;font-size:13px;padding:7px 14px;min-height:36px}
.cw.muestra{border:2px dashed #B8860B}.cw.muestra .cvt b{color:#C9C9BF}
.cw.muestra.grande .cvt b{font-size:17px}
.casa-adm{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.cc{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);margin-bottom:10px;overflow:hidden}
.cch{display:flex;gap:10px;align-items:center;width:100%;padding:8px;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:76px}
.cf{width:92px;height:66px;flex:none;border-radius:calc(var(--r) * .6)}
.cct{flex:1;min-width:0;display:block}.cct b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cct small{display:block;font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ccm em{font-style:normal;color:var(--pri2);font-weight:700}
.flecha{flex:none;font-size:20px;color:var(--mut);transition:transform .2s;padding-right:4px}.cc.abierto .flecha{transform:rotate(180deg)}
.cc.abierto{border-color:var(--pri)}
.ccl{padding:10px 10px 12px;border-top:1.5px solid var(--line)}.ccl[hidden]{display:none}
.cc.muestra{border-style:dashed;border-color:var(--pri2);opacity:.9}
.sdoc.casa{background:#141414;color:#FFC400;border:1.5px solid #B8860B}.sdoc.casa small{color:#DDD}
#concs h2.sec{flex-wrap:wrap;gap:0 10px}#concs h2.sec em{font-size:12px}

/* mosaico bento de AlVolante */
.casa-med{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.casa-med.uno{grid-template-columns:1fr}
.cw.med .foto{height:108px}.casa-med.uno .cw.med .foto{height:128px}
.cw.med .sellocasa{position:absolute;top:6px;left:6px;background:#141414DD;border:1px solid #FFC400;border-radius:99px;padding:3px 8px 3px 5px;font-size:10px}
.cw.med .cvt{position:absolute;left:0;right:0;bottom:0;padding:22px 9px 7px;background:linear-gradient(transparent,#000C)}
.cw.med .cvt b{font-size:17px}.cw.med .cvt small{font-size:11.5px;color:#F0F0E8}
.cw.med .ed{top:auto;bottom:6px;right:6px}
.casa-car{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;margin:8px -4px 0;padding:0 4px 4px;scrollbar-width:none}.casa-car::-webkit-scrollbar{display:none}
.casa-car .cw{flex:0 0 112px;scroll-snap-align:start}
.cw{transition:transform .12s}.cw:active{transform:scale(.97)}
.cc.muestra.cch{border:2px dashed var(--pri2);background:var(--card);border-radius:var(--r);padding:8px}

/* visor de fotos a pantalla completa de la ficha */
.galeria .foto[data-a]{cursor:zoom-in}
#visorg{position:fixed;inset:0;z-index:60;background:#000;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}
#visorg .vg-tira{display:flex;height:100%;width:max-content;will-change:transform}
#visorg .vg-s{width:100vw;width:100dvw;height:100%;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
#visorg img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;will-change:transform;-webkit-user-drag:none;pointer-events:none}
#visorg .vg-n{position:absolute;top:calc(14px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);background:#000a;color:#fff;font-size:14px;font-weight:700;padding:5px 12px;border-radius:99px;pointer-events:none}
#visorg .vg-x{position:absolute;top:calc(8px + env(safe-area-inset-top));right:10px;width:48px;height:48px;border-radius:50%;border:0;background:#fff3;color:#fff;font-size:22px;cursor:pointer}

.vender{display:flex;flex-direction:column;align-items:center;gap:2px;margin:10px 0 0;padding:10px 12px;text-align:center;line-height:1.25;text-decoration:none}.vender small{font-size:12px;font-weight:500;color:var(--mut)}
/* cobros: destino de pago copiable y tarjetas de opción apagadas */
.pagobox{background:var(--card);border:1.5px dashed var(--pri);border-radius:calc(var(--r) * .6);padding:12px;margin:6px 0;font-weight:800;font-size:15px;word-break:break-all;user-select:all}
.cons.off{opacity:.5;cursor:default}
.cons input[type=radio]{width:20px;height:20px;flex:none}
.regalo{background:var(--card);border:2px solid var(--pri);border-radius:var(--r);padding:12px;margin:8px 0}
.regalo b{display:block;font-size:15px}.regalo small{display:block;color:var(--mut);margin:2px 0 8px}
.chips.dias .chip{text-align:center;line-height:1.3;min-width:92px}.chips.dias .chip.off{opacity:.5}.chips.dias .chip s{color:var(--mut);font-size:12px}
.chips.dias{overflow:visible}.chips.dias .chip{flex:1;min-width:0;padding:8px 4px}.regalo .err:empty{display:none}
/* Carrusel de la ventana grande: desliza, puntitos y avance automático (app.js armarCarrusel) */
.casa-gr{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:calc(var(--r) * .7)}.casa-gr::-webkit-scrollbar{display:none}
.gr-s{flex:0 0 100%;scroll-snap-align:start;min-width:0}
.gr-pts{display:flex;justify-content:center;gap:2px;margin-top:2px}
.gr-pts button{position:relative;width:24px;height:24px;border:0;background:none;padding:0}
.gr-pts button::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#6a6a60;transition:background .2s,width .2s,margin .2s}
.gr-pts button.on::after{background:#FFC400;width:18px;margin-left:-9px;border-radius:99px}
.nota.motivo{border-left-width:6px;font-size:15px;margin:2px 0 12px}
.chips.opciones{flex-wrap:wrap;overflow:visible}.chips.opciones .chip{flex:1 1 100%;text-align:left}

/* Emblema A de AlVolante (imagen) */
img.emb{display:block;flex:none;width:32px;height:32px;border-radius:8px;object-fit:cover;background:#000}
.logo img.emb{width:34px;height:34px}
.sdoc img.emb,.casa-cab img.emb{width:40px;height:40px;border-radius:10px}
.sellocasa img.emb{width:15px;height:15px;border-radius:4px}
.cw.grande .sellocasa img.emb{width:20px;height:20px;border-radius:5px}
.cw.med .sellocasa img.emb{width:16px;height:16px}
@media(max-width:340px){#top .logo img.emb{width:26px;height:26px}}
img.emb.claro{background:#fff;object-fit:contain;padding:2px;border:1px solid #E2E2DA}
.logo img.emb.claro{width:48px;height:48px;border-radius:12px}
@media(max-width:340px){#top .logo img.emb.claro{width:40px;height:40px}}
.emb-cab{display:flex;justify-content:center;margin:2px 0 12px}.emb-cab img.emb{width:96px;height:96px;border-radius:18px}

.logo img.emb.cam{width:auto;height:63px;border:0;background:none;padding:0;border-radius:0;object-fit:contain}
body[data-tema=chapa] .logo img.cam-neg,body[data-tema=noche] .logo img.cam-neg{display:none}
body:not([data-tema=chapa]):not([data-tema=noche]) .logo img.cam-oro{display:none}
#top .logo[data-a]{min-height:44px}
@media(max-width:340px){#top .logo img.emb.cam{width:auto;height:63px}}

#top{flex-wrap:wrap;row-gap:2px}
#top .pin[data-a="lugar"],#top .pin[data-a="zona"]{flex:0 0 auto;overflow:visible;max-width:100%}

/* Zona: botón pequeño y desplegable (Nerio 22/10/2026) */
#top .zona-btn{font-size:13px;padding:5px 10px;min-height:34px;min-width:0;border-radius:99px;font-weight:700;gap:2px}
#zveil{position:fixed;inset:0;z-index:60;background:transparent}
#zmenu{position:fixed;z-index:61;min-width:190px;max-width:calc(100vw - 16px);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px #0004;padding:6px;display:flex;flex-direction:column}
#zmenu button{background:none;border:0;color:inherit;font:inherit;font-size:15px;text-align:left;padding:11px 12px;min-height:44px;border-radius:9px;cursor:pointer}
#zmenu button.on{background:#ffb80030;font-weight:800}
#zmenu button:focus-visible{outline:2px solid var(--pri2);outline-offset:-2px}
#zmenu hr{border:0;border-top:1px solid var(--line);margin:4px 6px}

/* Destacados (Nerio 23/10 00:24): fila que se desliza; unidad = recuadro vertical 113×170 + dos chicos apilados 113×81 */
.dv{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -4px;padding:0 4px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.dv::-webkit-scrollbar{display:none}
.dvu{flex:none;display:flex;gap:8px;scroll-snap-align:start}
.dvp{display:flex;flex-direction:column;gap:8px}
.cw.dvt{width:113px;height:170px}.cw.dvs{width:113px;height:81px}
.dvt .cv,.dvs .cv{position:absolute;inset:0}.dvt .foto,.dvs .foto{position:absolute;inset:0;height:100%;border-radius:0}.dvt .foto img,.dvs .foto img{width:100%;height:100%;object-fit:cover}
.dvt .cvt,.dvs .cvt,.cw.mas .cvt{position:absolute;left:0;right:0;bottom:0;display:block;padding:20px 7px 6px;background:linear-gradient(transparent,#000D);color:#fff}
.dvt .cvt b{display:block;font-size:17px;line-height:1.1;color:#FFC400}.dvt .cvt small{display:block;font-size:10.5px;line-height:1.2;color:#F0F0E8;margin-top:2px;max-height:2.4em;overflow:hidden}
.dvs .cvt{padding:14px 6px 4px}.dvs .cvt b{display:block;font-size:13.5px;line-height:1.1;color:#FFC400}.dvs .cvt small{display:block;font-size:9.5px;line-height:1.2;color:#F0F0E8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cw.dvt .sellocasa,.cw.dvs .sellocasa{position:absolute;top:5px;left:5px;padding:0;background:none;border:0}.dvt .sellocasa img.emb,.dvs .sellocasa img.emb{width:18px;height:18px}
.cw.dvt .ed,.cw.dvs .ed{top:5px;right:5px;bottom:auto;min-width:30px;min-height:30px;justify-content:center;padding:0;font-size:14px}
.cw.mas{border:0;padding:0;font:inherit;cursor:pointer;text-align:left}.mas .mosa{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1px;background:#000}.mas .mosa img{width:100%;height:100%;object-fit:cover;display:block}
.mas .cvt b{display:block;font-size:11.5px;color:#FFC400;line-height:1.1;white-space:nowrap}.mas .cvt small{display:block;font-size:9.5px;color:#F0F0E8}.mas .cvt{padding:14px 6px 4px}
.cw.muestra.dvt,.cw.muestra.dvs{border:2px dashed #B8860B}.cw.muestra.dvt .foto,.cw.muestra.dvs .foto{position:absolute;inset:0}
/* concesionarios: nombre arriba y 4 vehículos en recuadros debajo (2×2) */
.ccv{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 8px 8px}
.vt{position:relative;overflow:hidden;border-radius:calc(var(--r) * .6);background:var(--card);border:1.5px solid var(--line)}
.vt .cv{display:block;color:inherit;text-decoration:none;position:relative}.vt .foto{height:96px;border-radius:0}.vt .foto img{width:100%;height:100%;object-fit:cover}
.vtt{display:block;padding:5px 7px 6px}.vtt b{display:block;font-size:15px;line-height:1.15}.vtt small{display:block;font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vt .ed{position:absolute;top:5px;right:5px;z-index:3;background:#FFC400;color:#141414;font-size:13px;font-weight:800;min-width:30px;min-height:30px;display:flex;align-items:center;justify-content:center;border-radius:99px;text-decoration:none}
.ccadm{padding:0 8px 8px}
.cc.ej{border-style:solid}

/* Permisos (app nativa) */
.perm{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.perm:last-of-type{border-bottom:0}
.perm>div{flex:1;min-width:0}.perm b{display:block;font-size:15px}.perm small{display:block;font-size:12px;color:var(--mut);line-height:1.35}.perm small.pe{font-weight:700;margin-top:2px}.perm small.pe.ok{color:var(--ok)}
.tg{flex:none;width:52px;height:32px;border-radius:16px;border:1.5px solid var(--line);background:var(--line);position:relative;cursor:pointer;padding:0;min-height:32px}
.tg i{position:absolute;top:2px;left:2px;width:25px;height:25px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:left .15s}
.tg.on{background:var(--ok);border-color:var(--ok)}.tg.on i{left:22px}
details.inv{margin-bottom:12px}details.inv summary{list-style:none;text-align:center;cursor:pointer}details.inv summary::-webkit-details-marker{display:none}details.inv form{margin-top:10px}
