/* CLIMB EXPERIENCE V10.4 — Interior Experience */
:root{--int-ink:#122d3c;--int-green:#155c68;--int-soft:#e7f1f2}
.climb-int-overlay{position:fixed;inset:0;z-index:12000;background:rgba(12,28,39,.77);backdrop-filter:blur(17px);display:flex;align-items:center;justify-content:center;padding:clamp(9px,2vw,24px);overscroll-behavior:contain}
.climb-int-overlay[hidden]{display:none!important}
.climb-int-shell{width:min(1520px,100%);height:min(920px,96dvh);background:#f7f8f7;border-radius:30px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 38px 120px #05142266;border:1px solid rgba(255,255,255,.6);color:#1d3441}
.climb-int-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border-bottom:1px solid #e4e9ea;padding:17px 24px}
.climb-int-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:850;font-size:10px;color:#3b8289}
.climb-int-head h2{font-size:clamp(20px,2vw,32px);letter-spacing:-.04em;color:#142c3b;line-height:1.15;margin:6px 0 4px}
.climb-int-head p{color:#637580;font-size:13px;margin:0}
.climb-int-close{width:44px;height:44px;border-radius:50%;border:1px solid #dae4e5;background:#f3f6f6;font-size:25px;cursor:pointer;color:#1c5261;flex:none}
.climb-int-tabs{display:flex;align-items:center;gap:8px;background:#fff;padding:9px 23px 14px;border-bottom:1px solid #e4e9ea;flex:none;flex-wrap:wrap}
.climb-int-tabs button{border:1px solid transparent;background:transparent;color:#647c87;cursor:pointer;border-radius:30px;padding:11px 18px;font:inherit;font-size:12px;font-weight:800;white-space:nowrap}
.climb-int-tabs button[aria-selected="true"]{background:#15475b;color:#fff;box-shadow:0 8px 23px #12394a22}
.climb-int-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(288px,.67fr);flex:1;min-height:0;overflow:hidden}
.climb-int-stage{position:relative;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 0%,#edf4f5,#d2e1e5 83%,#bbcfd5)}
.climb-int-scene,.climb-int-technical,.climb-int-glb{position:absolute;inset:0;display:flex;flex-direction:column;min-height:0}
.climb-int-scene[hidden],.climb-int-technical[hidden],.climb-int-glb[hidden]{display:none!important}
.climb-int-scene-visual{position:absolute;inset:0;overflow:hidden}
.climb-interior-art{width:100%;height:100%;display:block;transition:transform .68s cubic-bezier(.16,.78,.26,1),opacity .27s ease;transform-origin:center}
.climb-int-scene-visual[data-focus="techo"] .climb-interior-art{transform:scale(1.65) translateY(23%)}
.climb-int-scene-visual[data-focus="botoneras"] .climb-interior-art{transform:scale(1.85) translate(-19%,0)}
.climb-int-scene-visual[data-focus="piso"] .climb-interior-art{transform:scale(1.7) translateY(-24%)}
.climb-int-scene-visual[data-focus="paredes"] .climb-interior-art{transform:scale(1.34) translateY(0)}
.climb-int-scene-visual[data-focus="puertas"] .climb-interior-art{transform:scale(1) translateY(0)}
.climb-int-door-leaf{position:absolute;top:0;bottom:0;width:50.1%;background:linear-gradient(100deg,#98aebd,#e9f1f4 13%,#a3bac4 30%,#f4fbfd 47%,#8da5b4 70%,#d5e4e8 84%,#718b9e);box-shadow:0 0 20px #0c273841;z-index:4;transition:transform .78s cubic-bezier(.3,.02,.18,1)}
.climb-int-door-leaf:after{content:'';position:absolute;inset:4% 8%;border:1px solid #e2edef77}
.climb-int-door-left{left:0;transform:translateX(-100%);border-right:3px solid #d8eff4}
.climb-int-door-right{right:0;transform:translateX(100%);border-left:3px solid #e8f4f7}
.climb-int-doors-closed .climb-int-door-left,.climb-int-doors-closed .climb-int-door-right{transform:translateX(0)}
.climb-int-watermark{position:absolute;left:25px;top:22px;padding:8px 12px;background:#f3faf8d9;color:#285a66;border:1px solid #c5dbdd;border-radius:30px;font-size:10px;font-weight:850;letter-spacing:.12em;backdrop-filter:blur(8px);z-index:7}
.climb-int-hotspots{position:absolute;inset:0;pointer-events:none;z-index:6;transition:opacity .2s}
.climb-int-doors-closed .climb-int-hotspots{opacity:0;visibility:hidden}
.climb-int-hotspot{position:absolute;pointer-events:auto;display:flex;align-items:center;gap:6px;background:#fffed8f2;color:#193b49;border:1px solid #fff;border-radius:999px;font-size:10px;font-weight:850;cursor:pointer;box-shadow:0 5px 18px #17364650;padding:4px 10px 4px 4px;transform:translate(-50%,-50%);white-space:nowrap;transition:transform .2s,background .2s}
.climb-int-hotspot:before{content:'+';background:#13566b;color:#fff;border-radius:50%;display:grid;place-items:center;width:23px;height:23px;font-size:16px;line-height:1}
.climb-int-hotspot:hover,.climb-int-hotspot.active{transform:translate(-50%,-50%) scale(1.07);background:#fff;color:#0b3647}
.climb-int-hotspot[data-int-hotspot="techo"]{left:50%;top:13%}.climb-int-hotspot[data-int-hotspot="paredes"]{left:35%;top:47%}.climb-int-hotspot[data-int-hotspot="botoneras"]{left:81%;top:50%}.climb-int-hotspot[data-int-hotspot="piso"]{left:52%;top:87%}
.climb-int-floating-controls{position:absolute;bottom:17px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:flex-end;gap:8px;z-index:8;pointer-events:none}
.climb-int-camera{display:flex;gap:5px;padding:5px;background:#ffffffed;backdrop-filter:blur(10px);border-radius:999px;max-width:80%;overflow-x:auto;pointer-events:auto;box-shadow:0 5px 20px #17364620;scrollbar-width:none}
.climb-int-camera button{font:inherit;cursor:pointer;font-size:10px;font-weight:800;padding:9px 12px;background:transparent;color:#3e6470;border:0;border-radius:30px;white-space:nowrap}
.climb-int-camera button.active{background:#15475b;color:#fff}
.climb-int-door-btn{font:inherit;font-size:11px;font-weight:850;white-space:nowrap;padding:12px 15px;color:#fff;background:#164e60;border:1px solid #9fc8c9;border-radius:999px;cursor:pointer;pointer-events:auto;box-shadow:0 4px 18px #17364630}
.climb-int-panel{padding:clamp(20px,2.1vw,34px);background:#fff;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:13px}
.climb-int-panel h3{font-size:clamp(23px,2.3vw,34px);line-height:1.11;letter-spacing:-.045em;margin:4px 0 2px;color:#173143}
.climb-int-panel p{font-size:13px;line-height:1.64;color:#657783;margin:0}
.climb-int-note{margin-top:6px;background:#f1f8f7;border:1px solid #d6ebe6;border-radius:18px;padding:15px}
.climb-int-note strong{font-size:12px;color:#24535b}.climb-int-note p{margin-top:6px;font-size:12px}
.climb-int-theme-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.climb-int-theme-row button{font:inherit;border:1px solid #d6e2e3;background:#f8fbfa;border-radius:14px;padding:13px 7px;cursor:pointer;color:#3e626b;font-size:11px;font-weight:800;text-align:center}
.climb-int-theme-row button.active{border-color:#1d6f78;background:#e9f6f2;color:#174e57}
.climb-int-theme-row button:before{content:'';display:block;margin:0 auto 7px;border-radius:50%;width:18px;height:18px;background:linear-gradient(135deg,#cfdadc,#667986)}
.climb-int-theme-row button[data-theme="natural"]:before{background:linear-gradient(135deg,#e2c7a3,#86664d)}
.climb-int-theme-row button[data-theme="executive"]:before{background:linear-gradient(135deg,#9b9589,#2d333d)}
.climb-int-divider{height:1px;background:#e7edee;margin:6px 0}
.climb-int-caution{font-size:11px!important;line-height:1.55!important;color:#70808a!important}
.climb-int-primary{margin-top:auto;border:0;background:#155469;color:#fff;padding:14px 15px;border-radius:14px;font-size:12px;font-weight:850;cursor:pointer;text-align:center}
.climb-int-glb canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.climb-int-glb-status{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);padding:12px 18px;background:#ffffffed;border:1px solid #c4dade;border-radius:16px;font-size:12px;font-weight:800;max-width:88%;text-align:center;color:#215669;z-index:3}
.climb-int-glb-status[hidden]{display:none!important}
.climb-int-technical{align-items:center;justify-content:center;padding:25px;background:linear-gradient(140deg,#123548,#21566c)}
.climb-int-technical svg{max-width:min(450px,100%);width:auto;height:min(74%,540px)}
.climb-int-technical-label{position:absolute;bottom:27px;color:#e8faff;font-weight:850;font-size:12px;letter-spacing:.15em}
.climb-int-technical .climb-int-tec-car{transition:transform 2.2s ease-in-out}.climb-int-technical[data-position="upper"] .climb-int-tec-car{transform:translateY(-235px)}
.climb-int-panel-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.climb-int-panel-controls button{border:1px solid #cfdddd;background:#f7fbfa;color:#205b67;border-radius:12px;padding:12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.climb-int-ghost{font-size:11px;border:0;background:transparent;color:#346c78;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:10px;align-self:flex-start}
body.climb-int-open{overflow:hidden}
/* Modernization integrated comparison — original controls remain functional. */
.climb-modern-interior{position:absolute;inset:0;z-index:3;background:radial-gradient(circle at 50% 10%,#fff,#d2e1e5 85%);overflow:hidden}
.climb-modern-interior[hidden]{display:none!important}
.climb-modern-interior .climb-modern-base,.climb-modern-interior .climb-modern-after{position:absolute;inset:0}
.climb-modern-interior .climb-modern-after{clip-path:inset(0 0 0 var(--climb-compare,50%));}
.climb-modern-interior .climb-modern-divider{position:absolute;top:0;bottom:0;left:var(--climb-compare,50%);width:2px;background:#fff;box-shadow:0 0 0 1px #2e697777;z-index:3}
.climb-modern-interior .climb-modern-divider:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#215a67;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 14px #1e435447;font-weight:850}
.climb-modern-interior .climb-interior-art{width:100%;height:100%}
.climb-modern-interior .climb-modern-before-label,.climb-modern-interior .climb-modern-after-label{position:absolute;top:14px;z-index:4;background:#ffffffdc;color:#285563;border-radius:20px;padding:7px 12px;font-weight:850;font-size:10px;letter-spacing:.12em}
.climb-modern-before-label{left:14px}.climb-modern-after-label{right:14px}
.climb-modern-view-toggle{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.climb-modern-view-toggle button{font:inherit;font-size:10px;font-weight:850;padding:9px 14px;border:1px solid #c5dede;border-radius:30px;background:#f2fafa;color:#225361;cursor:pointer}
.climb-modern-view-toggle button.active{background:#15566a;color:#fff}
@media(max-width:1000px){.climb-int-body{grid-template-columns:minmax(0,1.3fr) minmax(245px,.75fr)}.climb-int-head{padding:14px 18px}.climb-int-panel{padding:19px}.climb-int-hotspot{font-size:9px}}
@media(max-width:740px){.climb-int-overlay{padding:0}.climb-int-shell{width:100%;height:100dvh;border-radius:0}.climb-int-head{padding:12px 15px}.climb-int-head h2{font-size:20px}.climb-int-head p{font-size:11px}.climb-int-tabs{padding:6px 12px 10px}.climb-int-tabs button{padding:9px 12px;font-size:11px}.climb-int-body{display:flex;flex-direction:column;min-height:0}.climb-int-stage{height:49%;flex:1 1 49%;min-height:180px}.climb-int-panel{flex:0 0 auto;max-height:46%;padding:14px 17px;gap:8px;overflow:auto}.climb-int-panel h3{font-size:23px}.climb-int-panel p{font-size:12px;line-height:1.45}.climb-int-panel .climb-int-theme-row button{padding:9px 5px}.climb-int-camera{max-width:76%}.climb-int-camera button{padding:8px 10px;font-size:10px}.climb-int-door-btn{padding:10px;font-size:10px}.climb-int-floating-controls{bottom:9px;left:9px;right:9px}.climb-int-hotspot{padding:2px 7px 2px 2px;font-size:9px}.climb-int-hotspot:before{width:20px;height:20px}.climb-int-watermark{top:10px;left:10px;font-size:8px;padding:6px 9px}.climb-int-primary{margin-top:4px;padding:12px}.climb-int-note{padding:10px}.climb-int-panel h3{margin:0}.climb-int-tec-car{transition-duration:1.6s}}
@media(max-width:370px){.climb-int-stage{min-height:170px}.climb-int-panel{max-height:47%}.climb-int-camera button{padding:7px 8px}.climb-int-tabs button{font-size:10px;padding:8px}.climb-int-hotspot[data-int-hotspot="botoneras"]{left:75%}}
@media(prefers-reduced-motion:reduce){.climb-interior-art,.climb-int-door-leaf,.climb-int-technical .climb-int-tec-car{transition:none!important}}
/* Final clarity pass: labels and controls should match whichever visual mode is active. */
.climb-modern-interior-active .modern-studio-bottomhint,
.climb-modern-interior-active .modern-studio-scene-label,
.climb-modern-interior-active .modern-studio-divider{display:none!important}
.modern-studio-viewcol:has(.climb-modern-interior:not([hidden])) .modern-studio-tools [data-mod-action="left"],
.modern-studio-viewcol:has(.climb-modern-interior:not([hidden])) .modern-studio-tools [data-mod-action="right"],
.modern-studio-viewcol:has(.climb-modern-interior:not([hidden])) .modern-studio-tools [data-mod-action="spin"],
.modern-studio-viewcol:has(.climb-modern-interior:not([hidden])) .modern-studio-tools [data-mod-action="reset"],
.modern-studio-viewcol:has(.climb-modern-interior:not([hidden])) .modern-studio-tools [data-mod-action="zoom-in"],
.modern-studio-viewcol:has(.climb-modern-interior:not([hidden])) .modern-studio-tools [data-mod-action="zoom-out"]{display:none!important}
@media(max-width:740px){
 .climb-int-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:2px}
 .climb-int-tabs::-webkit-scrollbar{display:none}
 .climb-int-tabs button{flex:0 0 auto;white-space:nowrap}
 .climb-int-stage{flex-basis:53%;}
 .climb-int-panel{max-height:42%}
 .climb-int-hotspot[data-int-hotspot="piso"]{top:77%}
}
