/* Muestra Torre Lumen v2 (8 nov 2026): sin esquinas, ventana de tipología, niveles agrupados, corte del edificio y mejoras. */
.m-raiz :where(.m-tipo,.m-tipo-f,.m-vit,.m-panel,.m-plano,.m-icono,.m-icono img,.m-mapa,.m-mapa-c,.m-gal,.m-gal figure,.m-gal img,.m-amen-f figure,.m-amen-f img,.m-amen-l li,.m-pub li,.m-can li,.m-ruta li,.m-pasos li,.m-uni,.m-u,.m-det,.m-disp,.m-seg,.w-bt,.w-comp,.m-guia-bt,.m-guia-c,.w-cajon-in,.m-extras li,.m-td-f,.m-td-f img,.m-tipo-vs,.m-vit-f,.m-vit iframe,.m-vit-f img){border-radius:var(--r,14px)}
.m-raiz .m-tipo-f img,.m-raiz .m-amen-f img{border-radius:inherit}
.m-raiz .m-tipo{border-radius:18px}
.m-raiz .m-tipo-f{border-radius:18px 18px 0 0}
.m-raiz .m-vit,.m-raiz .m-panel{border-radius:20px;overflow:hidden}
.m-raiz .m-piso,.m-raiz .m-u,.m-raiz .w-bt,.m-raiz .w-comp,.m-raiz .m-guia-bt,.m-raiz .m-tipo-vs{border-radius:999px}
.m-raiz .m-u{border-radius:12px}
.m-raiz .m-seg{overflow:hidden;border-radius:999px}
.m-raiz .m-seg i:first-child{border-radius:999px 0 0 999px}

/* tarjetas de tipología que se tocan */
.m-tipo.clic{cursor:pointer}
.m-tipo.clic:hover{transform:translateY(-6px);box-shadow:0 22px 50px -24px rgba(10,10,10,.35)}
.m-tipo-bts{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.m-tipo-bts .w-bt{min-height:42px;padding:0 18px;font-size:13.5px}
.m-tipo-3d{gap:6px}
.m-tipo-3d .m-ic{width:18px;height:18px}

/* lista de niveles: más clara, agrupada y con desplazamiento suave */
.m-raiz .m-pisos{display:flex;flex-direction:column;gap:4px;max-height:420px;padding-right:6px;scroll-behavior:smooth;mask-image:linear-gradient(#000 92%,transparent)}
.m-gp{margin:12px 2px 4px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:600}
.m-gp:first-child{margin-top:2px}
.m-raiz .m-piso{grid-template-columns:44px minmax(0,1fr) auto;padding:10px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);transition:background .25s,transform .25s,border-color .25s}
.m-raiz .m-piso:hover{background:rgba(255,255,255,.14);transform:translateX(-3px);border-color:rgba(255,255,255,.2)}
.m-raiz .m-piso b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.1);font-size:13px}
.m-raiz .m-piso b .m-ic{width:16px;height:16px}
.m-raiz .m-piso.on,.m-raiz .m-piso[aria-pressed=true]{background:var(--naranja);border-color:var(--naranja)}
.m-raiz .m-piso.on b{background:rgba(255,255,255,.22)}
.m-raiz .m-piso.uso{grid-template-columns:44px minmax(0,1fr);border-style:solid;border-color:rgba(255,255,255,.08);opacity:.85}
.m-raiz .m-piso.sot{opacity:.65}
.m-raiz .m-piso.sot b{background:rgba(201,185,154,.18);color:#C9B99A;font-size:11px}

/* corte del edificio */
.m-corte{display:grid;gap:0;max-width:760px;margin-top:28px}
.m-corte ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.m-corte li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center}
.m-corte ol{gap:3px}
.m-c-b{display:block;height:calc(var(--h)*13px + 14px);width:72%;margin:0 auto;border-radius:6px;background:#d8d0c2;transform-origin:left;transition:transform .9s var(--e,cubic-bezier(.2,.7,.2,1)) calc(var(--d)*70ms)}
.m-corte li.rv:not(.ver) .m-c-b{transform:scaleX(.15)}
.m-corte b{display:block;font-size:14.5px}
.m-corte small{display:block;font-size:12.5px;color:#707070;margin-top:2px}
.m-c-az .m-c-b{background:linear-gradient(90deg,#C9B99A,#e6dccb);height:20px;width:46%;border-radius:12px 12px 4px 4px}
.m-c-ph .m-c-b{background:#0A0A0A}
.m-c-re .m-c-b{background:repeating-linear-gradient(0deg,#a8b6bf 0 6px,#8fa0ab 6px 7px)}
.m-c-am .m-c-b{background:var(--naranja,#DB4A2B)}
.m-c-co .m-c-b{background:#3D3D3D;width:100%}
.m-c-pa .m-c-b,.m-c-bo .m-c-b,.m-c-bu .m-c-b{width:100%}
.m-c-suelo{margin:10px 0;padding:8px 0;border-top:2px solid #0A0A0A;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#707070}
.m-c-abajo{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;align-items:start}
.m-c-pa .m-c-b{background:#ABABAB;height:22px}
.m-c-bo .m-c-b{background:repeating-linear-gradient(90deg,#ABABAB 0 10px,#C9B99A 10px 20px);height:22px}
.m-c-bu .m-c-b{background:#3D3D3D;height:22px}
.m-c-abajo aside{padding:16px;border-radius:14px;background:#fff;border:1px solid rgba(10,10,10,.08)}
.m-c-abajo aside small{color:#707070;font-size:12.5px;display:block;margin-top:4px}
@media(max-width:700px){.m-corte li{grid-template-columns:84px minmax(0,1fr);gap:14px}.m-c-abajo{grid-template-columns:minmax(0,1fr)}}

/* mejoras opcionales */
.m-extras{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.m-extras li{display:grid;gap:6px;padding:18px;background:#F2F2F2;border-radius:16px;transition:transform .4s,background .4s}
.m-extras li:hover{transform:translateY(-4px);background:#fff;box-shadow:0 18px 40px -26px rgba(10,10,10,.4)}
.m-extras small{color:#707070;font-size:13px;line-height:1.45}

/* ventana de tipología */
.m-tcaja .w-cajon-in{width:min(1040px,calc(100vw - 32px));max-width:none;padding:0;overflow:auto;max-height:calc(100vh - 40px);border-radius:22px}
.m-td{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.m-td-f{position:relative;min-height:420px;background:#F2F2F2;border-radius:22px 0 0 22px;overflow:hidden}
.m-td-f>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.m-td-in{padding:34px clamp(20px,3vw,40px);display:grid;gap:12px;align-content:start}
.m-td-in h2{margin:0;font-size:clamp(28px,3.4vw,40px)}
.m-td-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0}
.m-td-dl div{padding:12px;border-radius:12px;background:#F2F2F2}
.m-td-dl dt{font-size:11px;color:#707070;letter-spacing:.06em;text-transform:uppercase}
.m-td-dl dd{margin:2px 0 0;font-weight:600;font-size:15px}
.m-td-p{margin:0;display:grid;gap:2px}
.m-td-p span{font-size:11px;color:#707070;letter-spacing:.06em;text-transform:uppercase}
.m-td-p>b{font-size:28px}
.m-td-p small{color:#707070;font-size:13px}
.m-td-esp{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.m-td-esp li{padding:6px 12px;border-radius:999px;background:#F2F2F2;font-size:12.5px}
.m-td-bts{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.m-tcaja .w-cajon-x{z-index:3}
@media(max-width:820px){.m-td{grid-template-columns:minmax(0,1fr)}.m-td-f{min-height:260px;border-radius:22px 22px 0 0}.m-td-dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.m-raiz .m-amen-l{border-radius:var(--rr)}
