/* STELLA web v2: Residencias, visor de planos y maqueta 3D. */
html.res-bloqueo,html.res-bloqueo body{overflow:hidden}

.residencias{background:var(--paper)}
.res-cab{display:grid;gap:8px 64px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.res-cab .titulo{margin-bottom:0}
@media (min-width:1100px){.res-cab{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.res-cab .lead{padding-bottom:10px}}

/* Los cuatro modelos: maqueta, datos y acceso directo al tour y a la maqueta 3D */
.res-modelos{list-style:none;margin:0 0 clamp(56px,7vw,96px);padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.res-mod{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;background:var(--mist)}
.res-mod-img{background:#ecebe8;aspect-ratio:4/3;overflow:hidden}
.res-mod-img img{display:block;width:100%;height:100%;object-fit:contain}
.res-mod-txt{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.res-mod-n{margin:0;font:600 20px/1.2 var(--sans);color:var(--ink)}
.res-mod-d{display:flex;align-items:center;gap:10px;margin:6px 0 18px;font-size:14px;color:var(--mute)}
.res-mod-d i{width:3px;height:3px;border-radius:50%;background:var(--gold)}
.res-mod-acc{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.res-mod-acc .btn{flex:1 1 auto;justify-content:center;min-height:44px;padding:0 16px;font-size:14px;white-space:nowrap}
.res-mod-ver{align-self:flex-start;margin-top:14px}
.res-det-tit{margin:0 0 6px;font:600 13px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-t);scroll-margin-top:calc(var(--nav-h) + 16px)}
@media (max-width:1099px){.res-modelos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .res-modelos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-left:calc(-1 * var(--gut));margin-right:calc(-1 * var(--gut));padding:0 var(--gut) 6px;scroll-padding:0 var(--gut);scrollbar-width:none}
  .res-modelos::-webkit-scrollbar{display:none}
  .res-mod{flex:0 0 82%;scroll-snap-align:start}
}

/* Selector de modelos: cuatro columnas con filete superior, como cifras */
.res-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-bottom:clamp(24px,3vw,40px)}
.res-tab{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:16px 2px 14px;color:var(--mute);transition:color .5s var(--ease)}
.res-tab::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.res-tab:hover{color:var(--ink2)}
.res-tab[aria-selected="true"]{color:var(--ink)}
.res-tab[aria-selected="true"]::before{transform:none}
.res-tab-n{font:300 clamp(24px,3vw,34px)/1 var(--sans);letter-spacing:-.02em}
.res-tab-d{font:500 12.5px/1.3 var(--sans);letter-spacing:.02em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.res-tab-d i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}
.res-tab[aria-selected="true"] .res-tab-d{color:var(--gold-t)}
@media (min-width:768px){.res-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px}}

/* Panel: escenario de imágenes + ficha */
.res-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;outline:none}
@media (min-width:1100px){.res-panel{grid-template-columns:minmax(0,1.62fr) minmax(320px,1fr);gap:56px;align-items:start}}

.res-stage{position:relative;border-radius:var(--r);overflow:hidden;background:var(--mist);aspect-ratio:4/3;box-shadow:var(--sh)}
@media (min-width:768px){.res-stage{aspect-ratio:16/10}}
.res-stage-btn{all:unset;position:absolute;inset:0;cursor:zoom-in;display:block}
.res-stage-btn:focus-visible{outline:2px solid var(--gold);outline-offset:-4px;border-radius:var(--r)}
.res-capa{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity .9s var(--ease),transform 1.6s var(--ease)}
.res-capa.on{opacity:1;transform:none}
.res-stage-pie{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:48px 18px 16px;background:linear-gradient(to top,rgba(20,23,27,.55),rgba(20,23,27,0));color:#fff;pointer-events:none}
.res-stage-cap{margin:0;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.35}
.res-stage-cap b{font-weight:500;font-size:15px}
.res-stage-cap span{opacity:.75;font-size:12.5px;letter-spacing:.04em}
.res-stage-nav{display:flex;gap:8px;pointer-events:auto}
.res-stage-nav[hidden]{display:none}

.res-redondo{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);background:rgba(20,23,27,.28);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .4s,transform .5s var(--ease);flex:none}
.res-redondo:hover{background:rgba(20,23,27,.5)}
.res-redondo svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.res-miniaturas{display:flex;gap:10px;margin-top:14px;overflow-x:auto;scrollbar-width:none;padding:2px}
.res-miniaturas::-webkit-scrollbar{display:none}
.res-mini{flex:none;width:84px;height:54px;padding:0;border:0;border-radius:10px;overflow:hidden;background:var(--mist);opacity:.55;outline-offset:2px;transition:opacity .5s var(--ease),box-shadow .5s var(--ease)}
.res-mini img{width:100%;height:100%;object-fit:cover}
.res-mini:hover{opacity:.85}
.res-mini[aria-current="true"]{opacity:1;box-shadow:0 0 0 1.5px var(--gold)}
@media (min-width:768px){.res-mini{width:96px;height:60px}}
.res-aviso{margin:12px 0 0;max-width:70ch}

/* Ficha */
.res-ficha{padding-top:4px}
.res-ficha.entra>*{animation:res-entra .8s var(--ease) both}
.res-ficha.entra>*:nth-child(2){animation-delay:.05s}.res-ficha.entra>*:nth-child(n+3){animation-delay:.1s}
@keyframes res-entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.res-ficha-tipo{font:600 11.5px/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t);margin:0 0 10px}
.res-area{margin:0;display:flex;align-items:flex-start;gap:6px;color:var(--ink)}
.res-area-n{font:600 clamp(64px,8vw,104px)/.9 var(--brand);letter-spacing:-.035em}
.res-area-u{font:300 clamp(20px,2vw,26px)/1 var(--sans);margin-top:.35em;color:var(--ink2)}
.res-area-nota{font-size:12.5px;line-height:1.45;color:var(--mute);margin:10px 0 22px}
.res-ficha-txt{font-size:17px;line-height:1.6;color:var(--ink2);margin:0 0 22px;max-width:42ch}
.res-datos{margin:0;border-top:1px solid var(--line)}
.res-datos div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.res-datos dt{font-size:15px;color:var(--ink2)}
.res-datos dd{margin:0;font:300 22px/1 var(--sans);color:var(--ink)}
.res-fuente{margin:10px 0 0}
.res-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.res-cta .btn{min-height:52px;line-height:1.25;text-align:left}
.res-btn-linea{border-color:var(--ink);color:var(--ink);background:transparent}
.res-btn-linea:hover{background:var(--ink);color:#fff}
@media (max-width:767px){.res-cta .btn{width:100%;justify-content:center;text-align:center}}

/* Planta amueblada + lado (3D o plano acotado) */
.res-planos{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:clamp(48px,7vw,96px)}
@media (min-width:1100px){.res-planos{grid-template-columns:minmax(0,1.62fr) minmax(320px,1fr);gap:56px;align-items:stretch}}
.res-planta{margin:0}
.res-planta-btn{position:relative;display:block;width:100%;padding:clamp(16px,3vw,40px);border:1px solid var(--line);border-radius:var(--r);background:#fff;cursor:zoom-in;transition:border-color .5s var(--ease)}
.res-planta-btn:hover{border-color:#cfd5db}
.res-planta-btn img{width:100%;height:auto;max-height:min(68vh,640px);object-fit:contain;margin:auto;mix-blend-mode:multiply}
.res-lupa{position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff}
.res-lupa svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.res-planta figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin-top:12px;font-size:13.5px;color:var(--mute)}
.res-link{background:none;border:0;padding:6px 0;font:500 14px/1.2 var(--sans);color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px;text-decoration-thickness:1px}
.res-link:hover{color:var(--gold-d)}

.res-h3{font:300 clamp(24px,2.4vw,30px)/1.15 var(--sans);letter-spacing:-.02em;margin:0 0 10px}
.res-lado p{color:var(--ink2);font-size:16px;line-height:1.6;margin:0 0 18px}
.res-lado .nota{font-size:12.5px;color:var(--mute);margin:14px 0 0}

.res-3dcard{height:100%;display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;background:var(--mist)}
.res-3dcard-img{position:relative;display:block;padding:0;border:0;background:#ecebe8;cursor:pointer;overflow:hidden}
.res-3dcard-img img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s var(--ease)}
.res-3dcard-img:hover img{transform:scale(1.04)}
.res-3d-chip{position:absolute;left:16px;top:16px;font:600 11.5px/1 var(--sans);letter-spacing:.18em;padding:9px 12px;border-radius:999px;background:#fff;color:var(--ink);box-shadow:0 6px 20px -8px rgba(20,23,27,.35)}
.res-3dcard-txt{padding:24px clamp(20px,2.4vw,32px) 28px}

.res-acotado{height:100%;display:flex;flex-direction:column;gap:20px}
.res-acotado-img{display:block;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:#fff;cursor:zoom-in}
.res-acotado-img img{width:100%;height:auto;max-height:340px;mix-blend-mode:multiply;object-fit:contain;margin:auto}

/* Lightbox */
.res-lb{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;background:rgba(20,23,27,.94);color:#fff;opacity:0;transition:opacity .35s var(--ease)}
.res-lb.abierto{opacity:1}
.res-lb[hidden]{display:none}
.res-lb.plano{background:var(--mist);color:var(--ink)}
.res-lb-barra{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) var(--gut) 12px}
.res-lb-tit{margin:0;font-size:14px;line-height:1.35;opacity:.85;min-width:0}
.res-lb-acc{display:flex;gap:8px;flex:none}
.res-lb.plano .res-redondo{background:#fff;border-color:var(--line);color:var(--ink)}
.res-lb.plano .res-redondo:hover{background:var(--mist)}
.res-lb-vista{position:relative;flex:1;min-height:0;overflow:hidden;display:grid;place-items:center;touch-action:none;cursor:zoom-in;outline:none}
.res-lb-vista:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}
.res-lb-vista.ampliada{cursor:grab}
.res-lb-vista.ampliada:active{cursor:grabbing}
.res-lb-vista img{max-width:calc(100% - 2*var(--gut));max-height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;transform-origin:center;will-change:transform}
.res-lb.plano .res-lb-vista img{background:#fff;border-radius:12px;padding:12px;box-shadow:var(--sh)}
.res-lb-ayuda{margin:0;padding:12px var(--gut) max(14px,env(safe-area-inset-bottom));font-size:12.5px;text-align:center;opacity:.6}

/* Maqueta 3D */
.res-3d{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;background:#eef2f5;color:var(--ink);opacity:0;transform:scale(.985);transition:opacity .45s var(--ease),transform .6s var(--ease)}
.res-3d.abierto{opacity:1;transform:none}
.res-3d[hidden]{display:none}
.res-3d-barra{position:absolute;z-index:3;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(14px,env(safe-area-inset-top)) var(--gut) 14px;pointer-events:none}
.res-3d-barra>*{pointer-events:auto}
.res-3d-tit{display:flex;flex-direction:column;gap:2px}
.res-3d-tit b{font:300 clamp(24px,3vw,32px)/1 var(--sans);letter-spacing:-.02em}
.res-3d-tit span{font-size:13px;color:var(--ink2)}
.res-3d .res-redondo{background:#fff;border-color:var(--line);color:var(--ink);box-shadow:0 8px 24px -12px rgba(20,23,27,.35)}
.res-3d .res-redondo:hover{background:var(--mist)}
.res-3d-lienzo{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none}
.res-3d-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;cursor:grab;outline:none}
.res-3d-canvas:active{cursor:grabbing}
.res-3d-ayuda{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);margin:0;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:12.5px;color:var(--ink2);white-space:nowrap;pointer-events:none}
.res-3d-ayuda[hidden]{display:none}
.res-3d-carga{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#eef2f5;transition:opacity .6s var(--ease)}
.res-3d-carga.fuera{opacity:0;pointer-events:none}
.res-3d-carga[hidden]{display:none}
.res-3d-carga-in{width:min(420px,80vw);text-align:center}
.res-3d-poster{width:100%;opacity:.5;filter:saturate(.6);mix-blend-mode:multiply;margin-bottom:18px}
.res-3d-etapa{margin:0 0 12px;font-size:13.5px;color:var(--ink2);font-variant-numeric:tabular-nums}
.res-3d-prog{height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.res-3d-prog i{display:block;height:100%;background:var(--gold);transform:scaleX(.04);transform-origin:left;transition:transform .35s var(--ease)}
.res-3d-respaldo{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px var(--gut) 24px}
.res-3d-respaldo[hidden]{display:none}
.res-3d-respaldo img{max-width:min(960px,100%);max-height:70%;object-fit:contain}
.res-3d-respaldo p{margin:0;max-width:52ch;text-align:center;font-size:14px;color:var(--ink2)}
.res-3d-pie{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px var(--gut) max(14px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
.res-3d-vistas{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.res-3d-vistas[hidden]{display:none}
.res-3d-vistas button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:#fff;font:500 14px/1 var(--sans);color:var(--ink2);display:inline-flex;align-items:center;gap:8px;transition:background .4s,color .4s,border-color .4s}
.res-3d-vistas button:hover{border-color:var(--ink2);color:var(--ink)}
.res-3d-vistas button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.res-3d-vistas .res-3d-ir360{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:600}
.res-3d-vistas .res-3d-ir360:hover{background:#b3964f;border-color:#b3964f;color:#fff}
.res-3d-vistas svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.res-3d-rotulo{margin:0;font-size:12px;line-height:1.4;color:var(--mute);text-align:center}
@media (max-width:520px){.res-3d-vistas button{padding:0 14px;font-size:13.5px}.res-3d-reset span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

@media (prefers-reduced-motion:reduce){
  .res-capa,.res-tab::before,.res-3d,.res-lb,.res-3dcard-img img{transition:none}
  .res-ficha.entra>*{animation:none}
}

/* Botones nuevos hacia el recorrido */
.res-3dcard-acc{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px}
.res-3d-entrar{position:absolute;z-index:2;left:50%;bottom:54px;transform:translateX(-50%);box-shadow:0 14px 34px -14px rgba(20,23,27,.45);white-space:nowrap}
.res-3d-entrar:hover{transform:translateX(-50%) translateY(-2px)}
.res-3d-entrar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Pestañas de modo (Recorrido, Maqueta, Plano): filete superior como las de Residencias ---------- */
.res-modos{display:flex;gap:0 22px;padding:2px 18px 0;border-radius:14px;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.3) blur(14px);-webkit-backdrop-filter:saturate(1.3) blur(14px);box-shadow:0 12px 30px -20px rgba(20,23,27,.55)}
.res-modos button{position:relative;min-height:44px;padding:12px 1px 10px;border:0;border-top:1px solid var(--line);background:none;font:500 13.5px/1 var(--sans);letter-spacing:.02em;color:var(--mute);transition:color .5s var(--ease)}
.res-modos button::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.res-modos button:hover{color:var(--ink2)}
.res-modos button[aria-selected="true"]{color:var(--ink)}
.res-modos button[aria-selected="true"]::before{transform:none}
.res-modos button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.res-3d-der{display:flex;align-items:center;gap:12px}
@media (max-width:767px){.res-3d .res-modos{position:absolute;left:var(--gut);right:var(--gut);top:calc(max(14px,env(safe-area-inset-top)) + 66px);justify-content:space-between}}

/* ---------- Recorrido interior ---------- */
.rc{position:fixed;inset:0;z-index:91;background:#f4f2ee;color:var(--ink);opacity:0;transition:opacity .5s var(--ease);overflow:hidden}
.rc.abierto{opacity:1}
.rc[hidden]{display:none}
.rc-lienzo{position:absolute;inset:0;touch-action:none;transition:opacity .7s var(--ease)}
/* viñeta suave: da profundidad a la luz horneada */
.rc-lienzo::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 95% at 55% 48%,rgba(0,0,0,0) 58%,rgba(40,30,20,.16) 100%)}
.rc-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;cursor:grab;outline:none}
.rc-canvas:active{cursor:grabbing}
.rc-canvas:focus-visible{outline:2px solid var(--gold);outline-offset:-4px;border-radius:0}
.rc-veladura{position:absolute;inset:0;background:#f7f6f3;opacity:0;pointer-events:none;z-index:1}
.rc-tip{position:absolute;left:0;top:0;z-index:2;padding:7px 12px;border-radius:999px;background:var(--ink);color:#fff;font:500 13px/1 var(--sans);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .25s}
.rc-tip.ver{opacity:1}
.rc-carga{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:#eef2f5;transition:opacity .7s var(--ease)}
.rc-carga.fuera{opacity:0;pointer-events:none}
.rc-carga[hidden]{display:none}
.rc-carga-in{width:min(420px,80vw);text-align:center}
.rc-carga-t{margin:0 0 6px;font:300 clamp(24px,4vw,32px)/1.1 var(--sans);letter-spacing:-.02em}
.rc-etapa{margin:0 0 14px;font-size:13.5px;color:var(--ink2);font-variant-numeric:tabular-nums}

/* velo claro detrás del bloque de título, para leerlo sobre el interior */
.rc-velo{position:absolute;z-index:2;left:0;top:0;width:min(640px,100%);height:min(420px,60%);pointer-events:none;background:radial-gradient(110% 100% at 0 0,rgba(247,245,241,.92) 0,rgba(247,245,241,.7) 38%,rgba(247,245,241,0) 72%);transition:opacity .7s var(--ease)}

/* bloque de título a la izquierda */
.rc-cab{position:absolute;z-index:4;left:12px;top:max(12px,env(safe-area-inset-top));max-width:calc(100% - 80px);padding:4px 4px 0;pointer-events:none}
.rc-cab>*{pointer-events:auto}
.rc-ref{margin:0 0 6px;font:500 11px/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t)}
.rc-lugar{margin:0;font:300 30px/1.02 var(--sans);letter-spacing:-.025em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-linea{display:none;margin:14px 0 0;max-width:34ch;font-size:15px;line-height:1.5;color:var(--ink2)}
.rc-ficha{margin-top:10px;width:max-content;max-width:100%;border-radius:12px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px -14px rgba(20,23,27,.45)}
.rc-ficha summary{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;font:500 13px/1 var(--sans);color:var(--ink);cursor:pointer;list-style:none}
.rc-ficha summary::-webkit-details-marker{display:none}
.rc-ficha summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease)}
.rc-ficha[open] summary::after{transform:translateY(1px) rotate(-135deg)}
.rc-ficha summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:12px}
.rc-ficha dl{display:flex;gap:18px;margin:0;padding:2px 14px 4px}
.rc-ficha dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.rc-ficha dd{margin:2px 0 0;font:500 18px/1.2 var(--sans);color:var(--ink)}
.rc-ficha p{margin:0;padding:4px 14px 12px;font-size:12px;color:var(--mute)}
/* teléfono: la barra Recorrido / Maqueta / Plano va debajo del título; la ficha baja para no chocar con ella */
@media (max-width:767px){.rc-ficha{margin-top:76px}}
.rc-cta{display:none;margin-top:22px}
.rc-cta .btn{min-height:48px}

/* derecha: modos y cerrar */
.rc-der{position:absolute;z-index:5;right:12px;top:max(12px,env(safe-area-inset-top));display:flex;align-items:center;gap:10px}
.rc .res-redondo{background:#fff;border-color:var(--line);color:var(--ink);box-shadow:0 8px 24px -12px rgba(20,23,27,.35)}
.rc .res-redondo:hover{background:var(--mist)}
.rc-der .res-modos{position:fixed;left:12px;right:12px;top:calc(max(12px,env(safe-area-inset-top)) + 76px);justify-content:space-between}

/* plano: minimapa en recorrido, plano grande en el modo Plano (el mismo elemento crece) */
.rc-mapa{position:absolute;z-index:4;left:calc(100% - 12px - 136px);top:calc(max(12px,env(safe-area-inset-top)) + 136px);width:136px;border:6px solid rgba(255,255,255,.92);border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 12px 30px -18px rgba(20,23,27,.55);transition:left .75s var(--ease),top .75s var(--ease),width .75s var(--ease),transform .75s var(--ease),border-width .75s var(--ease),box-shadow .75s var(--ease),opacity .5s var(--ease)}
.rc-mapa img{display:block;width:100%;height:auto;border-radius:6px}
.rc-mapa svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.rc-marca circle{fill:var(--gold);stroke:#fff;stroke-width:12}
.rc-cono{fill:rgba(197,169,97,.38);stroke:none}
.rc-punto{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;padding:0;border:0;background:none;display:grid;place-items:center;border-radius:50%}
.rc-punto i{width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2.5px #fff;transition:transform .4s var(--ease)}
.rc-punto:hover i{transform:scale(1.35)}
.rc-punto.aqui i{opacity:0}
.rc-punto span{position:absolute;left:50%;top:calc(100% + 2px);transform:translateX(-50%) translate(var(--dx,0px),var(--dy,0px));white-space:nowrap;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 6px 16px -10px rgba(20,23,27,.6);font:500 12.5px/1 var(--sans);color:var(--ink);opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.rc-punto:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* herramientas: zoom y luz */
.rc-herr{display:none}
.rc-zoom{display:flex;align-items:center}
.rc-zoom button{width:44px;height:40px;display:grid;place-items:center;border:0;background:none;color:var(--ink);border-radius:10px;transition:background .3s}
.rc-zoom button+button{border-left:1px solid var(--line);border-radius:0 10px 10px 0}
.rc-zoom button:hover{background:var(--mist)}
.rc-zoom svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.rc-luz{display:flex;align-items:center;gap:12px;padding:0 4px 0 2px;font:500 12.5px/1 var(--sans);letter-spacing:.02em;color:var(--ink2)}
.rc-luz input{-webkit-appearance:none;appearance:none;width:110px;height:24px;background:none;cursor:pointer}
.rc-luz input::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,#d9c79a,var(--line));border-radius:2px}
.rc-luz input::-moz-range-track{height:2px;background:linear-gradient(90deg,#d9c79a,var(--line));border-radius:2px}
.rc-luz input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-6px;border-radius:50%;background:var(--gold);border:2px solid #fff;box-shadow:0 2px 8px rgba(20,23,27,.3)}
.rc-luz input::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--gold);border:2px solid #fff}
.rc-luz input:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}

.rc-ayuda{position:absolute;z-index:3;left:50%;bottom:calc(132px + env(safe-area-inset-bottom));transform:translate(-50%,8px);margin:0;padding:9px 16px;border-radius:999px;background:rgba(20,23,27,.72);color:#fff;font-size:13px;line-height:1.3;text-align:center;width:max-content;max-width:calc(100% - 32px);pointer-events:none;opacity:0;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rc-ayuda.ver{opacity:1;transform:translate(-50%,0)}

/* ambientes abajo al centro: pestañas con filete */
.rc-pie{position:absolute;z-index:4;left:10px;right:10px;bottom:calc(max(8px,env(safe-area-inset-bottom)) + var(--rc-rot,30px) + 8px);display:flex;justify-content:center}
.rc-chips{display:flex;gap:0 22px;max-width:100%;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 20px 0;border-radius:14px;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.3) blur(16px);-webkit-backdrop-filter:saturate(1.3) blur(16px);box-shadow:0 18px 44px -24px rgba(20,23,27,.55)}
.rc-chips::-webkit-scrollbar{display:none}
.rc-chips button{position:relative;flex:none;scroll-snap-align:center;min-height:46px;padding:14px 1px 12px;border:0;border-top:1px solid var(--line);background:none;font:500 14px/1 var(--sans);color:var(--mute);white-space:nowrap;transition:color .5s var(--ease)}
.rc-chips button::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.rc-chips button:hover{color:var(--ink2)}
.rc-chips button[aria-pressed="true"]{color:var(--ink)}
.rc-chips button[aria-pressed="true"]::before{transform:none}
.rc-chips button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
.rc-rotulo{position:absolute;z-index:4;left:16px;right:16px;bottom:max(8px,env(safe-area-inset-bottom));margin:0;font-size:11px;line-height:1.35;color:var(--ink2);text-align:center;text-shadow:0 0 12px rgba(255,255,255,.9),0 0 3px rgba(255,255,255,.9)}

/* modo Plano */
.rc-modo-plano{background:#f4f2ee}
.rc-modo-plano .rc-lienzo{opacity:0;pointer-events:none}
.rc-modo-plano .rc-velo,.rc-modo-plano .rc-ayuda,.rc-modo-plano .rc-herr{opacity:0;pointer-events:none}
.rc-modo-plano .rc-mapa{left:50%;top:50%;width:min(94vw,calc((100vh - 300px) * var(--rc-asp,1.48)),1040px);transform:translate(-50%,-44%);border-width:0;background:none;box-shadow:none;opacity:1;pointer-events:auto}
.rc-modo-plano .rc-mapa img{border-radius:0}
.rc-modo-plano .rc-punto{width:40px;height:40px;margin:-20px 0 0 -20px}
.rc-modo-plano .rc-punto i{width:12px;height:12px;background:var(--gold-d)}
.rc-modo-plano .rc-punto span{opacity:1;pointer-events:auto}
.rc-modo-plano .rc-punto.aqui span{background:var(--ink);color:#fff}
.rc-modo-plano .rc-chips button[aria-pressed="true"]{color:var(--mute)}
.rc-modo-plano .rc-chips button[aria-pressed="true"]::before{transform:scaleX(0)}

/* sin WebGL: galería de renders */
.rc-respaldo{position:absolute;inset:0;overflow-y:auto;padding:calc(max(12px,env(safe-area-inset-top)) + 130px) 16px 120px;touch-action:pan-y}
.rc-respaldo[hidden]{display:none}
.rc-respaldo-msg{max-width:52ch;margin:0 auto 18px;font-size:14px;color:var(--ink2);text-align:center}
.rc-galeria{display:grid;gap:12px;max-width:1100px;margin:0 auto}
.rc-galeria figure{margin:0}
.rc-galeria img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-s)}
.rc-galeria figcaption{font-size:13px;color:var(--ink2);padding:6px 2px 0}
.rc-sin3d .rc-mapa,.rc-sin3d .rc-ayuda,.rc-sin3d .rc-pie,.rc-sin3d .res-modos,.rc-sin3d .rc-herr,.rc-sin3d .rc-velo{display:none}
.rc-sin3d .rc-lugar{display:none}
.rc-pie,.rc-herr,.rc-der .res-modos{transition:opacity .6s var(--ease)}
.rc:not(.rc-listo):not(.rc-modo-plano) .rc-mapa,.rc:not(.rc-listo) .rc-pie,.rc:not(.rc-listo) .rc-herr{opacity:0;pointer-events:none}

/* teléfono: sin minimapa en el recorrido (para eso está Plano) */
@media (max-width:767px){
  .rc:not(.rc-modo-plano) .rc-mapa{opacity:0;pointer-events:none;transform:scale(.6);transform-origin:top right}
  .rc-modo-plano .rc-mapa{width:min(94vw,calc((100vh - 330px) * var(--rc-asp,1.48)));transform:translate(-50%,-40%)}
  /* teléfono vertical: el plano se gira para usar el alto; los nombres quedan derechos */
  @media (orientation:portrait){
    /* el ancho de la caja es el alto que se ve; su alto (ancho / proporción) es lo que ocupa a lo ancho y debe caber completo */
    .rc-modo-plano .rc-mapa{width:min(calc((100vw - 40px) * var(--rc-asp,1.48)),calc(100vh - 330px));top:calc(50% + 10px);transform:translate(-50%,-50%) rotate(90deg)}
    .rc-modo-plano .rc-punto span{left:50%;top:50%;transform:translate(var(--dy,0px),calc(-1 * var(--dx,0px))) translate(-50%,-50%) rotate(-90deg) translateY(23px)}
  }
  .rc-velo{height:200px}
}
@media (min-width:768px){
  .rc-cab{left:var(--gut);top:max(28px,env(safe-area-inset-top));max-width:min(440px,40vw)}
  .rc-ref{margin-bottom:12px}
  .rc-lugar{font-size:clamp(40px,4.4vw,62px);white-space:normal}
  .rc-linea{display:block}
  .rc-cta{display:block}
  .rc-der{right:var(--gut);top:max(24px,env(safe-area-inset-top))}
  .rc-der .res-modos{position:static}
  .rc-mapa{left:calc(100% - var(--gut) - 236px);top:calc(max(24px,env(safe-area-inset-top)) + 70px);width:236px;border-width:8px}
  .rc-herr{position:absolute;z-index:4;right:var(--gut);bottom:calc(max(18px,env(safe-area-inset-bottom)) + 40px);display:flex;align-items:center;gap:14px;padding:4px 14px 4px 4px;border-radius:14px;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.3) blur(16px);-webkit-backdrop-filter:saturate(1.3) blur(16px);box-shadow:0 18px 44px -24px rgba(20,23,27,.55);transition:opacity .6s var(--ease)}
  .rc-pie{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 40px);left:50%;right:auto;transform:translateX(-50%);max-width:calc(100% - 2*var(--gut) - 560px)}
  .rc-rotulo{left:var(--gut);right:auto;bottom:max(16px,env(safe-area-inset-bottom));max-width:min(560px,46vw);text-align:left}
  .rc-ayuda{bottom:calc(150px + env(safe-area-inset-bottom))}
  .rc-galeria{grid-template-columns:1fr 1fr}
  .rc-modo-plano .rc-mapa{transform:translate(-50%,-46%);width:min(calc(100vw - 2*var(--gut) - 520px),calc((100vh - 240px) * var(--rc-asp,1.48)),1040px);left:calc(50% + 190px)}
  .rc-modo-plano .rc-velo{opacity:0}
}
@media (min-width:768px) and (max-width:1099px){
  .rc-pie{max-width:calc(100% - 2*var(--gut));bottom:calc(max(18px,env(safe-area-inset-bottom)) + 104px)}
  .rc-herr{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 40px)}
  .rc-ayuda{bottom:calc(178px + env(safe-area-inset-bottom))}
  /* el plano termina siempre por encima de la barra de ambientes (antes el pasillo quedaba detrás) */
  .rc-modo-plano .rc-mapa{left:50%;top:auto;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 170px);width:min(calc(100vw - 2*var(--gut)),calc((100vh - 420px) * var(--rc-asp,1.48)));transform:translateX(-50%)}
  .rc-mapa{top:calc(max(24px,env(safe-area-inset-top)) + 70px)}
}
@media (max-width:420px){
  .res-modos{gap:0 16px;padding:2px 14px 0}
  .rc-chips{gap:0 18px;padding:2px 16px 0}
  .rc-chips button{font-size:13.5px}
  .res-3d-entrar{bottom:50px}
}
@media (prefers-reduced-motion:reduce){
  .rc,.rc-ayuda,.rc-carga,.rc-tip,.rc-mapa,.rc-lienzo,.res-modos button::before,.rc-chips button::before{transition:none}
}
/* pasillo ilustrativo: punto gris en el plano y rótulo propio */
.rc-punto-pasillo i{background:var(--mute)}
.rc-modo-plano .rc-punto-pasillo i{background:var(--mute)}
/* video de entrada del recorrido: a pantalla completa sobre el visor, se funde al terminar */
.rc-intro{position:absolute;inset:0;z-index:30;background:#0b0c0e;display:grid;place-items:center;transition:opacity .6s var(--ease);cursor:pointer} /* cursor: en iPhone, sin él el toque sobre el video no genera clic */
.rc-intro video{width:100%;height:100%;object-fit:cover}
.rc-intro.fuera{opacity:0;pointer-events:none}
.rc-intro-saltar{position:absolute;z-index:2;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));display:inline-flex;align-items:center;min-height:44px;padding:0 22px;font-size:15px!important;cursor:pointer;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(20,23,27,.35);color:#fff;font:500 13px/1 var(--sans);letter-spacing:.06em;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer}
.rc-intro-saltar:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.rc-intro{transition:none}}
/* maqueta en volumen como imagen principal de la planta */
.res-planta--3d .res-planta-btn{padding:0;overflow:hidden;background:var(--mist)}
.res-planta--3d .res-planta-btn img{max-height:none;aspect-ratio:4/3;object-fit:cover;mix-blend-mode:normal}
.res-planta-links{display:flex;flex-wrap:wrap;gap:6px 18px}
/* maqueta 3D en línea (Residencias): póster mientras carga, giro lento hasta que se toca */
.res-maq{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:#f3f6f9;border:1px solid var(--line)}
.res-maq-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s var(--ease)}
.res-maq-lienzo{position:absolute;inset:0}
.res-maq-canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .8s var(--ease);cursor:grab}
.res-maq-canvas:active{cursor:grabbing}
.res-maq.lista .res-maq-canvas{opacity:1}
.res-maq.lista .res-maq-poster{opacity:0}
.res-maq-ampliar{position:absolute;top:12px;right:12px;z-index:2}
.res-maq-ayuda{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);margin:0;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.86);font:500 12px/1 var(--sans);color:var(--ink2);pointer-events:none;opacity:0;transition:opacity .6s var(--ease)}
.res-maq.lista .res-maq-ayuda{opacity:1}
@media (prefers-reduced-motion:reduce){.res-maq-poster,.res-maq-canvas,.res-maq-ayuda{transition:none}}
.res-planta-btn[hidden],.res-maq[hidden]{display:none}

/* 31 oct: en el teléfono la maqueta, el plano y el recorrido respiran más */
@media (max-width:767px){
  /* maqueta: botón y ayudas más compactos, vistas en una sola fila */
  .res-3d-entrar{min-height:44px;padding:0 20px;font-size:14px;bottom:44px}
  .res-3d-ayuda{font-size:11.5px;padding:6px 12px}
  .res-3d-vistas{flex-wrap:nowrap;gap:6px}
  .res-3d-vistas button{min-height:38px;padding:0 12px;font-size:13px}
  .res-3d-rotulo{font-size:11px}
  /* recorrido y plano: cabecera más baja, nombres del plano más chicos */
  .rc-ref{font-size:10px;letter-spacing:.18em;margin-bottom:4px}
  .rc-lugar{font-size:24px}
  .rc-der .res-modos{top:calc(max(12px,env(safe-area-inset-top)) + 66px)}
  .rc-ficha{margin-top:76px}
  .rc-modo-plano .rc-punto{width:32px;height:32px;margin:-16px 0 0 -16px}
  .rc-modo-plano .rc-punto i{width:10px;height:10px}
  .rc-punto span{padding:4px 8px;font-size:11px}
  /* texto legal: legible sobre cualquier fondo, en una franja clara */
  .rc-rotulo{left:12px;right:12px;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);font-size:10.5px;text-shadow:none}
}
/* 31 oct, segunda pasada: menos cosas encima del 3D en el teléfono */
@media (max-width:767px){
  .res-3d-ayuda{display:none}
  .rc-ref{display:none}
  .rc-ficha{margin-top:90px}
  /* plano: solo se nombra el ambiente donde estás; los demás puntos se nombran en la barra de abajo */
  .rc-modo-plano .rc-punto:not(.aqui) span{opacity:0;pointer-events:none}
}
/* 31 oct: en el plano del teléfono se quitan la ficha y la mitad del texto legal para que el plano crezca */
@media (max-width:767px){
  .rc-modo-plano .rc-ficha{display:none}
  .rc-modo-plano .rc-rotulo{font-size:10px;padding:5px 8px}
  @media (orientation:portrait){
    .rc-modo-plano .rc-mapa{width:min(calc((100vw - 32px) * var(--rc-asp,1.48)),calc(100vh - 250px));top:calc(50% + 6px)}
  }
}
.res-modos--solo{display:none!important}

/* ---------- Recorrido 360 por ambientes (js/pano360.js) ---------- */
.p360{position:fixed;inset:0;z-index:92;display:flex;flex-direction:column;background:#14171b;color:var(--ink);opacity:0;transform:scale(.985);transition:opacity .45s var(--ease),transform .6s var(--ease)}
.p360.abierto{opacity:1;transform:none}
.p360[hidden]{display:none}
.p360 .res-3d-tit b,.p360 .res-3d-tit span{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.p360 .res-redondo{background:rgba(255,255,255,.92);border-color:transparent;color:var(--ink);box-shadow:0 8px 24px -12px rgba(0,0,0,.6)}
.p360-lienzo{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;background:#14171b}
.p360-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;cursor:grab;outline:none}
.p360-canvas:active{cursor:grabbing}
.p360-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}
.p360-lienzo::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;z-index:1;pointer-events:none;background:linear-gradient(rgba(20,23,27,.55),transparent)}
.p360-fade{position:absolute;inset:0;z-index:2;background:#14171b;opacity:0;pointer-events:none;transition:opacity .32s ease}
.p360-fade.ver{opacity:1}
.p360-carga{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 18px;border-radius:999px;background:rgba(20,23,27,.72);color:#fff;font-size:13.5px;opacity:0;pointer-events:none;transition:opacity .3s;white-space:nowrap}
.p360-carga.ver{opacity:1}
.p360 .res-3d-ayuda{bottom:16px;background:rgba(20,23,27,.62);color:#fff;transition:opacity .6s var(--ease)}
.p360 .res-3d-ayuda.fuera{opacity:0}
.p360-puntos{position:absolute;inset:0;z-index:4;pointer-events:none}
.p360-hs{position:absolute;width:48px;height:48px;margin:-24px 0 0 -24px;padding:0;border:0;background:none;display:grid;place-items:center;pointer-events:auto;cursor:pointer}
.p360-hs i{width:20px;height:20px;border-radius:50%;border:2px solid #fff;background:rgba(255,255,255,.22);box-shadow:0 0 0 6px rgba(255,255,255,.14),0 0 0 1px rgba(0,0,0,.35) inset,0 4px 14px rgba(0,0,0,.35);backdrop-filter:blur(3px);transition:transform .4s var(--ease),background .4s}
.p360-hs i::after{content:"";position:absolute;inset:50%;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:#fff}
.p360-hs--capa i{border-color:var(--gold);background:rgba(197,169,97,.28)}
.p360-hs--capa i::after{background:var(--gold)}
.p360-hs:hover i{transform:scale(1.15);background:rgba(255,255,255,.4)}
.p360-hs span{position:absolute;top:calc(100% - 2px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:6px 11px;border-radius:999px;background:rgba(20,23,27,.72);color:#fff;font:500 12.5px/1 var(--sans);backdrop-filter:blur(6px)}
.p360-hs--izq span{left:auto;right:0;transform:none}
.p360-hs--der span{left:0;transform:none}
.p360-hs:focus-visible{outline:none}
.p360-hs:focus-visible i{box-shadow:0 0 0 3px var(--gold),0 4px 14px rgba(0,0,0,.35)}
.p360-mapa{position:absolute;z-index:3;right:12px;top:calc(max(14px,env(safe-area-inset-top)) + 64px);width:128px;border:5px solid rgba(255,255,255,.94);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px -16px rgba(0,0,0,.7);pointer-events:none}
.p360-mapa img{display:block;width:100%;height:auto;border-radius:6px}
.p360-mapa svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.p360-marca circle{fill:var(--gold);stroke:#fff;stroke-width:12}
.p360-cono{fill:rgba(197,169,97,.4);stroke:none;transition:transform .08s linear}
.p360-zoom{position:absolute;z-index:3;right:12px;bottom:16px;display:flex;flex-direction:column;gap:6px}
.p360-zoom button{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;box-shadow:0 8px 20px -10px rgba(0,0,0,.6)}
.p360-zoom button:disabled{opacity:.45;cursor:default}
.p360-zoom svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.p360 .res-3d-pie{background:#fff}
.p360-chips{flex-wrap:nowrap;justify-content:flex-start;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:2px 2px;-webkit-overflow-scrolling:touch}
.p360-chips::-webkit-scrollbar{display:none}
.p360-chips button{flex:none;white-space:nowrap}
.p360-chips{mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
@media (max-width:767px){
  .p360-mapa{width:96px;top:calc(max(14px,env(safe-area-inset-top)) + 60px)}
  .p360 .res-3d-ayuda{display:block;bottom:12px;font-size:12px;max-width:calc(100% - 24px);white-space:normal;text-align:center}
  .p360-chips button{min-height:44px;padding:0 14px}
  .p360-zoom{display:none}
  .p360 .res-3d-rotulo{font-size:11px}
}
@media (max-width:900px) and (orientation:landscape) and (max-height:500px){
  .p360-mapa{width:64px;top:calc(max(10px,env(safe-area-inset-top)) + 54px)}
  .p360 .res-3d-pie{flex-direction:row;align-items:center;gap:12px;padding:8px var(--gut) max(8px,env(safe-area-inset-bottom))}
  .p360 .res-3d-rotulo{text-align:left;font-size:10.5px;line-height:1.3}
}
@media (prefers-reduced-motion:reduce){.p360,.p360-fade{transition:none}}

/* 9 nov, revisión UX: enlaces con área de toque de 44 px */
.res-link{min-height:44px;display:inline-flex;align-items:center}
.res-capa--plano{object-fit:contain;background:#fff;padding:3%}

/* 11 nov (auditoría móvil de residencias y 360) */
.p360-hs--fuera{opacity:.95}
.p360-hs--fuera::after{content:"";position:absolute;top:50%;width:0;height:0;border:7px solid transparent;transform:translateY(-50%)}
.p360-hs--fuera.p360-hs--der::after{left:-10px;border-right-color:#fff}
.p360-hs--fuera.p360-hs--izq::after{right:-10px;border-left-color:#fff}
.p360-chips{padding-inline:16px;scroll-padding-inline:16px}
@media (max-width:767px){
  .p360 .res-3d-ayuda{max-width:280px;border-radius:14px;text-align:center}
  .res-tabs{row-gap:10px}
  .res-tab::before{top:auto;bottom:0}
}
@media (max-width:380px){.res-tab-d{flex-wrap:nowrap;white-space:nowrap;font-size:11.5px;gap:6px}}
