/* CLIMB EXPERIENCE V10.3 · Signature Edition */
:root{--signature-ink:#18344a;--signature-powder:#eff6f7;--signature-cyan:#36a0a5;--signature-gold:#c5aa7c}
.model-details .signature-cta,.btn.signature-cta{background:linear-gradient(110deg,#156e82,#188d91);color:#fff;box-shadow:0 9px 22px rgba(17,110,119,.22);border:1px solid rgba(255,255,255,.18)}
.model-details .signature-cta:hover{background:linear-gradient(120deg,#127b88,#26a29d);transform:translateY(-1px)}
.model-details:has(.signature-cta){background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(239,249,246,.94))}
.signature-dual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;flex:1;min-height:240px;max-height:100%}
.signature-dual .sim-viewport{min-width:0;min-height:250px}
.signature-visual{position:relative;min-height:0;min-width:0;display:flex;flex-direction:column;background:linear-gradient(165deg,#fafdfa,#dcebf0 68%,#c9dee8);border-radius:21px;overflow:hidden;border:1px solid rgba(173,214,223,.6);box-shadow:0 12px 32px rgba(2,27,44,.20)}
.signature-panel-top{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:11px 13px;background:rgba(255,255,255,.86);color:#0e374a}
.signature-panel-top span{font-size:9px;letter-spacing:.13em;font-weight:850;color:#4b7b83}.signature-panel-top strong{font-size:11px}
.signature-canvas-area{position:relative;flex:1;min-height:140px;background:radial-gradient(ellipse at 46% 22%,#fff 0,#ecf5f8 36%,#cbdfe7 100%)}
.signature-canvas-area:before,.signature-room-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.32) 32%,transparent 57%);pointer-events:none}
.signature-canvas-area canvas,.signature-room-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:grab;touch-action:none;outline:none}
.signature-canvas-area canvas:active,.signature-room-stage canvas:active{cursor:grabbing}
.signature-canvas-caption{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;font-weight:750;letter-spacing:.02em;color:#4a6b7f;background:rgba(255,255,255,.80);border-radius:20px;padding:6px 9px;pointer-events:none}
.signature-panel-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px;padding:12px;background:#fdfefd;color:#193849}.signature-panel-foot b{font-size:12px}.signature-panel-foot small{font-size:9px;color:#6e858e}
.signature-load{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;max-width:90%;width:max-content;background:#17394be8;color:#fff;padding:12px 18px;border-radius:15px;font-size:12px;text-align:center;box-shadow:0 12px 30px #1233}
.signature-load[hidden]{display:none!important}
.signature-mobile-switch{display:none}
.sim-visual-col:has(.signature-dual) .sim-viewport{flex:1}.sim-visual-col:has(.signature-dual) .sim-primary-controls{margin-top:2px}
.sim-visual-col:has(.signature-dual) .sim-viewport .sim-floating-top .sim-chip{font-size:8px}
.signature-overlay[hidden]{display:none!important}.signature-overlay{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;background:rgba(9,26,40,.73);backdrop-filter:blur(8px);padding:18px}
.signature-room{display:flex;flex-direction:column;overflow:hidden;min-height:0;width:min(1180px,100%);height:min(850px,100%);border-radius:28px;background:#f9fbfa;border:1px solid rgba(255,255,255,.82);box-shadow:0 28px 110px rgba(4,27,45,.3)}
.signature-room-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;border-bottom:1px solid #dae6e9;background:linear-gradient(110deg,#ffffff,#ecf4f2)}
.signature-overline{letter-spacing:.19em;font-size:10px;font-weight:850;color:#1e7d82}.signature-room-head h2{margin:4px 0;font-size:clamp(22px,2.5vw,34px);line-height:1.14;font-weight:800;color:#172f43}.signature-room-head p{margin:0;color:#607785;font-size:13px}.signature-room-head button{border:1px solid #b7d1d5;border-radius:50%;background:#fff;color:#1d3e53;width:43px;height:43px;font-size:18px;cursor:pointer}
.signature-room-content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.75fr);min-height:0;flex:1}.signature-room-stage{min-height:0;position:relative;background:radial-gradient(ellipse at 42% 20%,#fff,#ecf6f9 53%,#c9dfe7);overflow:hidden}
.signature-ribbon{position:absolute;top:20px;left:22px;background:#163f4cf0;color:#fff;padding:9px 14px;border-radius:50px;letter-spacing:.09em;font-size:10px;font-weight:850;pointer-events:none}.signature-bottom-note{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);text-align:center;color:#436270;background:#ffffffe3;padding:8px 13px;border-radius:40px;font-size:11px;max-width:95%;pointer-events:none}
.signature-room-aside{padding:28px 25px;background:#fff;display:flex;flex-direction:column;min-width:0;overflow:auto}.signature-room-aside h3{font-size:29px;line-height:1.12;margin:12px 0 14px;color:#1b3d4b}.signature-room-aside p{line-height:1.65;color:#536875;margin:0 0 20px;font-size:14px}
.signature-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.signature-controls button{min-height:46px;border:1px solid #cadde0;border-radius:14px;background:#eff6f6;font-weight:750;color:#1b4859;cursor:pointer}.signature-controls button:hover{background:#dcefeb}
.signature-room-meter{margin-top:25px;padding:14px;background:#f1f7f7;border-radius:16px;border:1px solid #d2e4e5}.signature-room-meter small{display:block;font-size:10px;letter-spacing:.11em;color:#66818b}.signature-room-meter b{display:block;font-size:21px;margin:8px 0;color:#204e5c}.signature-room-meter div{height:7px;overflow:hidden;border-radius:9px;background:#c2d7d9}.signature-room-meter i{display:block;width:12%;height:100%;background:linear-gradient(90deg,#26939c,#79c3b5);border-radius:9px;transition:width .1s linear}
.signature-room-warning{font-size:12px;color:#6d7881;background:#fff8e9;border:1px solid #f1dfb5;border-radius:14px;padding:14px 15px;margin-top:22px;line-height:1.55}
.signature-back{background:#174d64;color:#fff;border:0;border-radius:16px;padding:14px;font-weight:850;margin-top:auto;cursor:pointer}
body.signature-open{overflow:hidden}
/* Modern Studio: conserva comparador 2D como alternativa y renderiza GLB cuando se elige. */
.signature-modern-layer{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 45% 17%,#fff,#d8e8ea 70%,#b6d0d8);overflow:hidden}.signature-modern-layer[hidden]{display:none!important}.signature-modern-layer canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}
.modern-studio-canvas-top,.modern-studio-scene-label,.modern-studio-divider,.modern-studio-bottomhint{z-index:4}
.modern-studio-canvas-top,.modern-studio-scene-label,.modern-studio-divider,.modern-studio-bottomhint{pointer-events:none}
.signature-modern-toggle{background:#155f6a!important;color:white!important;border-color:#348e95!important}
.modern-scope-note{grid-column:1/-1;font-size:11px;color:#49646b;background:#f5f1e7;border:1px solid #e8d9b4;padding:10px;border-radius:12px;line-height:1.4}
.modern-studio-group:first-child{border-top:1px solid #cbdde1}
/* Typography and product CTA: visual prominence without crowded controls. */
.models-heading{max-width:870px}.models-heading .summary{line-height:1.55}.clean-facts-more summary{cursor:pointer}
@media(max-width:1180px){.signature-dual{gap:8px}.signature-visual{border-radius:14px}.signature-panel-top{padding:8px}.signature-panel-top strong{font-size:10px}}
@media(max-width:1000px){.sim-visual-col:has(.signature-dual) .signature-dual{grid-template-columns:1fr}.signature-mobile-switch{display:flex;gap:6px}.signature-mobile-switch button{border:1px solid #77bac4;border-radius:10px;padding:8px 12px;color:#eaf6f6;background:#184456;font-size:11px;font-weight:750}.signature-mobile-switch button.on{background:#3da7a8;color:white}.signature-dual .sim-viewport{display:none}.signature-dual.signature-show-tech .sim-viewport{display:block}.signature-dual.signature-show-tech .signature-visual{display:none}.signature-dual .signature-visual{height:100%;min-height:155px}.sim-visual-col:has(.signature-dual) .sim-visual-col{flex:1}}
@media(max-width:760px){.signature-overlay{padding:0}.signature-room{height:100dvh;border-radius:0}.signature-room-head{padding:12px 15px}.signature-room-head h2{font-size:21px}.signature-room-head p{font-size:11px}.signature-room-content{display:flex;flex-direction:column}.signature-room-stage{flex:1;min-height:0}.signature-room-aside{flex:0 0 auto;max-height:41dvh;padding:15px;overflow:auto}.signature-room-aside h3{font-size:21px;margin:8px 0}.signature-room-aside p{font-size:11px;margin-bottom:10px}.signature-controls button{min-height:37px;font-size:11px}.signature-room-meter{margin-top:10px;padding:9px}.signature-room-warning{font-size:10px;padding:9px;margin-top:10px}.signature-back{margin-top:10px;padding:11px}.signature-panel-foot{padding:8px}.signature-panel-foot small{font-size:8px}.signature-panel-top{padding:7px}.signature-panel-top span{font-size:8px}.signature-canvas-area{min-height:120px}.signature-canvas-caption{font-size:8px}.signature-dual{min-height:120px}.sim-visual-col:has(.signature-dual){flex:1 1 49%;min-height:0}}
@media(max-width:370px){.signature-room-aside{max-height:44dvh}.signature-room-head p{display:none}.signature-canvas-caption{display:none}}
@media(prefers-reduced-motion:reduce){.signature-controls button,.model-details .signature-cta{transition:none!important}}

/* V10.3.1: nunca dejar el visor vacío en dispositivos sin WebGL */
.signature-fallback-canvas{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;z-index:2;touch-action:none;cursor:grab}
.signature-fallback-canvas:active{cursor:grabbing}
.signature-compatible-badge{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);white-space:nowrap;max-width:95%;z-index:4;padding:7px 10px;border-radius:30px;background:#ffffffdf;border:1px solid #bdd7db;color:#345a69;font-size:10px;font-weight:700;pointer-events:none}
.signature-room-stage .signature-compatible-badge{bottom:64px}
.signature-room-stage .signature-ribbon,.signature-room-stage .signature-bottom-note{z-index:5}
.signature-dual .signature-canvas-area{overflow:hidden}
.model-exterior-note{padding:12px 16px;border-radius:14px;border:1px solid #e4d5af;background:#fcf8eb;color:#625435;font-size:12px;line-height:1.5;margin:8px 0 15px}
@media(max-width:720px){.signature-compatible-badge{font-size:9px;bottom:32px}.signature-room-stage .signature-compatible-badge{bottom:54px}}

/* Etiquetas de compatibilidad: no superponer indicaciones táctiles ni anunciar WebGL cuando no existe. */
.signature-room-stage.is-fallback .signature-bottom-note,.signature-canvas-area.is-fallback .signature-canvas-caption{display:none!important}
.signature-room-stage.is-fallback .signature-compatible-badge{bottom:13px}
.signature-canvas-area.is-fallback .signature-compatible-badge{bottom:12px}

/* V10.3.2 · Render GLB auténtico aun sin aceleración de hardware */
.signature-glb-software{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;z-index:3!important;touch-action:none;cursor:grab;background:transparent}
.signature-glb-software:active{cursor:grabbing}
.signature-glb-software-badge{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:5;max-width:calc(100% - 14px);padding:5px 10px;white-space:nowrap;border-radius:50px;background:#f5fbfae6;color:#1d5266;border:1px solid #a8cbcc;font-size:9px;font-weight:850;letter-spacing:.08em;pointer-events:none}
.signature-room-stage .signature-glb-software-badge{bottom:62px}
.signature-modern-layer .signature-glb-software-badge{bottom:45px}
.signature-room-stage .signature-ribbon,.signature-room-stage .signature-bottom-note{z-index:6}
@media(max-width:760px){.signature-room-stage .signature-glb-software-badge{bottom:48px}.signature-glb-software-badge{font-size:8px;padding:5px 7px}}

/* GLB compatible shows status in the existing label; avoid two overlapping captions. */
.signature-room-stage .signature-glb-software-badge{display:none!important}
@media(max-width:760px){.signature-room-stage .signature-bottom-note{display:none!important}}

/* V10.3.3 — vista anterior primero, mallas GLB bajo decisión del visitante */
.signature-dual:not(.signature-show-glb){display:block!important}
.signature-dual:not(.signature-show-glb) .signature-visual{display:none!important}
.signature-dual:not(.signature-show-glb) .sim-viewport{display:block!important;min-height:270px}
.signature-dual-toggle{display:block;align-self:flex-start;margin:0 0 9px;padding:9px 16px;border:1px solid rgba(89,179,187,.45);border-radius:999px;background:rgba(235,252,251,.15);color:#d8fbf8;font-weight:800;font-size:12px;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.signature-dual-toggle:hover,.signature-dual-toggle[aria-pressed="true"]{background:rgba(58,169,176,.35);border-color:#7cdae0}
.signature-view-tabs{position:absolute;z-index:10;left:16px;top:16px;display:flex;flex-wrap:wrap;gap:5px;padding:5px;border-radius:999px;background:rgba(255,255,255,.93);box-shadow:0 6px 30px rgba(8,45,68,.13)}
.signature-view-tabs button{border:0;border-radius:999px;padding:9px 13px;background:transparent;color:#385669;font-size:11px;font-weight:800;cursor:pointer}
.signature-view-tabs button.on{background:#164c60;color:#fff}
.signature-room-stage .signature-ribbon{top:77px!important}
.signature-modern-layer[hidden]{display:none!important}
@media(max-width:1000px){
 .signature-mobile-switch{display:flex!important;margin-bottom:8px}
 .signature-dual-toggle{display:none!important}
 .signature-dual:not(.signature-show-glb) .sim-viewport{display:block!important}
 .signature-dual:not(.signature-show-glb) .signature-visual{display:none!important}
 .signature-dual.signature-show-glb .sim-viewport{display:none!important}
 .signature-dual.signature-show-glb .signature-visual{display:flex!important}
 .signature-dual.signature-show-glb{display:block!important}
}
@media(max-width:480px){.signature-view-tabs{top:10px;left:10px;right:10px;justify-content:center}.signature-view-tabs button{font-size:10px;padding:9px 10px}.signature-room-stage .signature-ribbon{top:60px!important}}
/* Corregir colapso previo del lienzo principal en teléfonos: conserva comparación visible. */
@media(max-width:740px){
 .modern-studio-body{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) minmax(0,.8fr)!important}
 .modern-studio-viewcol{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain}
 .modern-studio-canvasbox{flex:0 0 clamp(165px,25dvh,220px);min-height:165px}
}
