:root{--paper:#f8f6f0;--ink:#252720;--muted:#66685f;--line:#d9d6cd;--accent:#815037;--scene:#bcb8b0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--scene);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:560px;height:100vh;height:100dvh;display:flex;flex-direction:column}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.35}[hidden]{display:none!important}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,#viewport:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent)}
.masthead{height:74px;flex:none;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--paper);border-bottom:1px solid var(--line)}.brand{font:25px Georgia,serif;letter-spacing:5px}.brand span{display:block;font:8px Arial,sans-serif;letter-spacing:2.4px;margin-top:5px}.masthead h1{font:400 12px Arial,sans-serif;letter-spacing:1px;margin:0;color:var(--muted)}
.configurator{display:flex;flex:1;flex-direction:column;min-height:0}.workspace{display:flex;flex:1;min-height:0;min-width:0}.scene-panel{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;min-height:210px;background:var(--scene)}.scene-heading{position:absolute;z-index:1;top:24px;left:30px;max-width:calc(100% - 225px);pointer-events:none}.scene-heading h2{font:400 34px Georgia,serif;margin:0;overflow-wrap:anywhere}.scene-heading p{font-size:11px;color:var(--muted);margin:8px 0 0;line-height:1.5}
#viewport{position:relative;flex:1;min-height:180px;touch-action:none;overflow:hidden}#viewport canvas{display:block;width:100%;height:100%}#fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:90%;padding:12px 18px;border-radius:10px;background:var(--paper);text-align:center;font-size:12px}#stone-warning{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);max-width:92%;width:max-content;padding:7px 12px;background:var(--paper);border-radius:6px;font-size:11px;text-align:center}
.view-controls{position:absolute;top:24px;right:25px;z-index:1;display:flex;gap:2px;padding:3px;background:#f8f6f0e8;border:1px solid #ffffffb3;border-radius:30px}.view-controls button{min-height:44px;min-width:44px;padding:8px 13px;border:0;background:none;border-radius:25px;font-size:11px}.view-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
/* La bandeja ocupa su propio espacio bajo el visor, sin tapar la mesa. */
.base-dock{position:relative;z-index:2;flex:none;width:calc(100% - 40px);max-width:900px;margin:-8px auto 20px;padding:10px 8px 6px;background:var(--paper);border:1px solid #fff;border-radius:20px;box-shadow:0 12px 28px -16px #302e2959;max-height:255px;overflow-y:auto}.base-dock-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 8px 2px}.base-dock-heading>div:first-child{min-width:0;flex:1}.eyebrow{font-size:9px;letter-spacing:1.5px;color:var(--accent);margin:0 0 4px}#rail-position{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--muted);line-height:1.4}.rail-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.rail-actions button{min-width:44px;min-height:44px;padding:8px;background:none;border:1px solid var(--line);border-radius:50%;font-size:18px;line-height:1}.rail-actions #model-list-toggle{border:0;border-radius:10px;font-size:11px;padding:8px 10px}.rail-actions button:disabled{opacity:.28}
.model-options.base-rail{position:relative;display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:8px;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:none;padding:8px;align-items:stretch}.base-rail::-webkit-scrollbar{display:none}.base-rail .model-option{position:relative;flex:0 0 120px;min-width:120px;border:2px solid transparent;border-radius:13px;background:#eeece5;padding:3px 3px 9px;text-align:center;scroll-snap-align:center}.base-rail .model-option img{display:block;width:100%;height:73px;object-fit:contain;mix-blend-mode:multiply}.base-rail .model-option strong{display:block;margin:3px 4px;font-size:12px;font-weight:500;line-height:1.25;white-space:nowrap}.base-rail .model-option small{display:block;color:var(--muted);font-size:9px;line-height:1.3}.base-rail .model-option[aria-pressed=true]{border-color:var(--accent);background:#e9e0d3}.base-rail .model-option[aria-pressed=true]::after{content:'✓';position:absolute;top:4px;right:5px;width:17px;height:17px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;line-height:17px}.base-rail .model-option:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#model-list-panel{padding:6px 8px 10px;border-bottom:1px solid var(--line);margin:4px 8px}.model-picker-row{display:flex;align-items:center;gap:12px}.model-picker-row label{font-size:12px}.model-picker-row label span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.model-picker-row select{flex:1;min-width:100px;max-width:100%}
.option-sheet{display:flex;flex-direction:column;flex:0 0 340px;min-width:0;background:var(--paper);border-left:1px solid var(--line)}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px 10px;border-bottom:1px solid var(--line);flex:none}.sheet-heading h2{margin:0;font:400 24px Georgia,serif}.sheet-heading button{width:44px;height:44px;border:0;background:none;border-radius:50%;font-size:24px}.sheet-body{padding:20px;overflow-y:auto;overscroll-behavior-y:contain;min-height:0;scrollbar-width:thin}.panel-label{font-size:12px;margin:0 0 15px}.note{font-size:11px;color:var(--muted);line-height:1.65;margin:10px 0 0}.note:empty{display:none}fieldset{border:0;border-top:1px solid var(--line);padding:15px 0 0;margin:22px 0 0;min-width:0}fieldset:first-child{margin:0;border:0;padding:0}legend{font-size:13px;padding:0 10px 0 0}.select-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px;margin-bottom:16px}select{min-height:44px;max-width:70%;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.range-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:18px 0 4px}output{font-variant-numeric:tabular-nums}input[type=range]{width:100%;min-height:44px;margin:0;accent-color:var(--accent);cursor:pointer}
.stone-tools{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px}.catalog-label{font-size:11px;min-width:0}.catalog-label input,.catalog-label select{display:block;width:100%;max-width:100%;min-width:0;min-height:44px;margin-top:6px;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:12px}.material-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.material-option{display:block;background:none;border:1px solid var(--line);border-radius:9px;padding:0;overflow:hidden;text-align:left;min-width:0;font-size:11px}.material-option img,.material-option .photo-pending{display:block;width:100%;height:78px;object-fit:cover;background:#e6e2d8}.material-option .photo-pending{display:flex;align-items:center;justify-content:center;color:var(--muted)}.material-option>span:last-child{display:block;padding:9px;line-height:1.4;overflow-wrap:anywhere}.material-option small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.material-option[aria-pressed=true]{border-color:var(--accent);background:#e9e0d3}.catalog-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;font-size:11px}.catalog-pages button{width:44px;height:44px;background:none;border:1px solid var(--line);border-radius:50%}.stone-selection{padding-top:14px;border-top:1px solid var(--line);overflow-wrap:anywhere}.stone-selection strong{font-size:13px}
.finish-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.finish-options button{display:flex;flex-direction:column;justify-content:flex-start;width:calc(33.333% - 6px);padding:0 0 8px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:none;font-size:11px;min-height:44px}.finish-options button img{display:block;width:100%;height:48px;object-fit:cover}.finish-options button span{padding:7px 3px}.finish-options button[aria-pressed=true]{border-color:var(--accent);background:#e9e0d3}#edge-profile{display:block;width:100%;height:90px;background:#eee9df;border-radius:8px;margin-top:10px}#edge{max-width:75%}.text-button{display:block;min-height:44px;padding:10px 0;border:0;background:none;color:var(--accent);font-size:12px;text-decoration:underline;text-underline-offset:4px}.primary-button{min-height:44px;width:100%;padding:13px 18px;border:0;border-radius:8px;background:var(--ink);color:var(--paper);font-size:12px}#summary{font-size:14px;line-height:1.85;margin:0 0 22px;overflow-wrap:anywhere}
.config-nav{display:flex;align-items:center;justify-content:center;gap:26px;flex:none;min-height:82px;padding:12px max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:var(--paper);border-top:1px solid var(--line)}.config-steps{display:flex;align-items:center;gap:6px}.config-nav button{min-height:48px;padding:12px 24px;border:0;background:none;border-radius:25px;font-size:12px}.config-steps button[aria-pressed=true]{background:#e9e0d3;color:var(--accent)}.config-nav .summary-toggle{border:1px solid var(--ink);border-radius:8px;padding:12px 22px}.summary-toggle span{margin-left:12px}.config-nav .summary-toggle[aria-pressed=true]{background:var(--ink);color:var(--paper)}
@media(hover:hover){.base-rail .model-option:hover,.material-option:hover,.finish-options button:hover{border-color:#bda68d}.config-nav button:hover{background:#e9e3d8}.sheet-heading button:hover{background:#e9e3d8}}
@media(max-width:760px){.masthead{height:64px;padding:12px 18px}.brand{font-size:22px}.brand span{font-size:7px}.masthead h1{font-size:10px}.workspace{flex-direction:column}.scene-heading{top:18px;left:18px;max-width:calc(100% - 185px)}.scene-heading h2{font-size:26px}.scene-heading p{font-size:10px;margin-top:5px}.view-controls{top:16px;right:12px}.view-controls button{padding:8px 10px;font-size:10px}.base-dock{width:calc(100% - 20px);margin:-8px auto 12px;padding:7px 4px 4px;border-radius:17px;max-height:235px}.base-dock-heading{padding-inline:8px;gap:6px}.model-options.base-rail{gap:8px}.base-rail .model-option{flex-basis:104px;min-width:104px}.base-rail .model-option img{height:60px}.rail-actions{gap:2px}.rail-actions #model-list-toggle{padding-inline:6px}.option-sheet{flex:0 1 43%;max-height:43dvh;min-height:180px;border-left:0;border-top:1px solid var(--line);border-radius:20px 20px 0 0;box-shadow:0 -12px 28px -25px #302e2959}.sheet-heading{padding:6px 18px 4px}.sheet-heading h2{font-size:22px}.sheet-body{padding:16px 18px}.material-option img,.material-option .photo-pending{height:85px}.config-nav{min-height:74px;gap:8px;padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.config-steps{flex:1;gap:0;justify-content:space-between}.config-nav button{padding:10px 9px;font-size:11px;min-height:44px}.config-nav .summary-toggle{padding:10px 12px;font-size:11px}.summary-toggle span{margin-left:4px}}
@media(max-width:360px){.config-nav button{padding-inline:6px;font-size:10px}.config-nav .summary-toggle{padding-inline:9px}.config-nav{gap:5px}.scene-heading{max-width:calc(100% - 175px)}.view-controls button{padding-inline:8px}.scene-heading h2{font-size:24px}}
@media(max-height:520px) and (min-width:600px){body{min-height:360px}.masthead{height:54px}.workspace{flex-direction:row}.option-sheet{flex:0 0 300px;max-height:none;min-height:0;border-radius:0;border-top:0;border-left:1px solid var(--line)}.scene-panel{min-height:190px}#viewport{min-height:160px}.scene-heading{top:12px}.view-controls{top:10px}.base-dock{max-height:135px;margin-bottom:8px}.base-rail .model-option img{height:34px}.base-dock-heading .eyebrow{display:none}.config-nav{min-height:58px;padding-block:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* R19: la misma bandeja flotante bajo el 3D en todas las secciones. */
.workspace{flex-direction:column}
.option-sheet.floating-dock{position:relative;flex:none;width:calc(100% - 40px);max-width:900px;min-height:0;max-height:min(340px,45dvh);margin:-8px auto 20px;background:var(--paper);border:1px solid #fff;border-radius:20px;box-shadow:0 12px 28px -16px #302e2959;overflow:hidden;z-index:2}
.floating-dock .sheet-heading{padding:6px 16px 4px}.floating-dock .sheet-heading h2{font:400 22px Georgia,serif}.floating-dock .sheet-body{padding:10px 16px 14px}
.floating-dock .material-options,.floating-dock .finish-options,.edge-options{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;padding:4px 3px 8px;align-items:stretch}
.floating-dock .material-option{flex:0 0 126px;scroll-snap-align:start}.floating-dock .material-option img,.floating-dock .material-option .photo-pending{height:60px}.floating-dock .material-option>span:last-child{padding:6px 8px}.floating-dock .material-options{margin-top:4px}
.floating-dock .sheet-heading h2{flex:1;min-width:0}.floating-dock .sheet-heading>button{flex:none}.floating-dock .catalog-pages{margin:0;gap:6px;flex:none}.floating-dock .catalog-pages button{border:0}.workspace:not([data-panel="piedra"]) .catalog-pages{display:none}
.floating-dock .stone-selection{padding-top:5px;border:0}.floating-dock .stone-selection strong{font-size:11px}.floating-dock .stone-selection .note{margin-top:3px}.floating-dock .stone-tools{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.floating-dock #material-results{margin-top:5px;font-size:10px}
.finishes-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px}.finishes-panel fieldset,.finishes-panel fieldset:first-child{margin:0;border:0;padding:0;min-width:0}.finishes-panel legend{font-size:11px;margin-bottom:5px}.floating-dock .finish-options{flex-wrap:nowrap;margin-top:0}.floating-dock .finish-options button{flex:0 0 80px;width:80px;scroll-snap-align:start}.floating-dock .finish-options button img{height:36px}.floating-dock .finish-options button span{padding:6px 3px}.finishes-panel .note{margin-top:4px}.finishes-panel .text-button{padding-block:6px;min-height:44px;font-size:11px}
.edge-option{flex:0 0 112px;min-height:80px;border:1px solid var(--line);border-radius:9px;background:none;padding:3px 5px 7px;scroll-snap-align:start;overflow-wrap:anywhere}.edge-option svg{display:block;width:100%;height:43px}.edge-option span{display:block;font-size:10px;line-height:1.3}.edge-option[aria-pressed=true]{border-color:var(--accent);background:#e9e0d3}
.measure-grid,.measure-ranges{display:grid;grid-template-columns:1fr 1fr;gap:18px}.measure-grid .select-label{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0}.measure-grid select{width:100%;max-width:100%}.measure-ranges .range-label{margin-top:12px}.measure-ranges>div{min-width:0}
@media(hover:hover){.edge-option:hover{border-color:#bda68d}}
@media(max-width:760px){.option-sheet.floating-dock{width:calc(100% - 20px);margin:-8px auto 12px;border-radius:17px;max-height:45dvh}.floating-dock .sheet-heading{padding-inline:12px}.floating-dock .sheet-body{padding:10px 12px 12px}.floating-dock .material-option{flex-basis:112px}.finishes-panel{grid-template-columns:1fr;gap:10px}.floating-dock .finish-options button{flex-basis:76px;width:76px}.floating-dock .finish-options button img{height:28px}.edge-option{flex-basis:106px}.floating-dock .stone-tools{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.measure-grid,.measure-ranges{gap:12px}}
@media(max-height:520px) and (min-width:600px){.workspace{flex-direction:column}.scene-panel{min-height:110px}#viewport{min-height:100px}.option-sheet.floating-dock{max-height:min(42dvh,calc(100dvh - 245px));margin-bottom:8px}.floating-dock .sheet-body{padding-block:8px}.floating-dock .sheet-heading{padding-block:0}.floating-dock .sheet-heading h2{font-size:18px}.finishes-panel{grid-template-columns:1fr 1fr}}
/* R20: contornos visibles y distinguibles en la bandeja de medidas. */
.shape-options{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;padding:4px 3px 8px;margin-top:8px}
.shape-option{flex:0 0 132px;min-height:100px;border:1px solid var(--line);border-radius:9px;background:none;padding:3px 5px 7px;scroll-snap-align:start}
.shape-option svg{display:block;width:100%;height:55px}.shape-option span{display:block;font-size:10px;line-height:1.3}.shape-option small{display:block;font-size:9px;line-height:1.3;color:var(--muted);margin-top:3px}
.shape-option[aria-pressed=true]{border-color:var(--accent);background:#e9e0d3}.measure-form-label{align-self:end;margin:0 0 12px;font-size:12px}
@media(hover:hover){.shape-option:hover{border-color:#bda68d}}
@media(max-width:760px){.shape-option{flex-basis:116px;min-height:96px}.shape-option svg{height:49px}}
/* R21: todas las piedras en una tira continua; imágenes cercanas bajo demanda. */
.floating-dock .material-options{position:relative;width:100%;min-width:0;max-width:100%;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;cursor:grab;user-select:none;scroll-padding-inline:3px}
.material-options .material-option{cursor:inherit}.material-options img{-webkit-user-drag:none;user-select:none}
.material-options.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
#material-page{font-variant-numeric:tabular-nums;font-size:10px;white-space:nowrap}

/* R24 · cristal, escena completa y un único tamaño de tarjeta. */
body.glass-ui{
  --option-width:128px;--option-height:116px;--option-preview-height:64px;
  --dock-bottom:16px;--muted:#343b30;--accent:#542b14;
  min-height:320px;overflow:hidden;
}
.glass-ui .masthead{height:58px;padding:10px 24px;background:#f8f6f0b8;border-color:#ffffff8c}
.glass-ui .brand{font-size:22px}.glass-ui .masthead h1{font-size:11px}
.glass-ui .workspace{position:relative;display:block;min-height:0;overflow:hidden}
.glass-ui .scene-panel{position:absolute;inset:0;min-height:0}
.glass-ui #viewport{height:100%;min-height:0}
.glass-ui .scene-heading{top:18px;left:24px}
.glass-ui .scene-heading h2{font-size:30px}
.glass-ui .scene-heading p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.glass-ui .base-dock,.glass-ui .option-sheet.floating-dock{
  position:absolute;left:50%;right:auto;bottom:var(--dock-bottom);top:auto;
  transform:translateX(-50%);display:flex;flex-direction:column;flex:none;
  width:min(900px,calc(100% - 32px));max-width:none;min-height:0;
  max-height:min(320px,calc(100% - 112px));margin:0;padding:0;
  background:linear-gradient(135deg,#ffffff24,#ffffff08),rgba(248,246,240,.68);
  -webkit-backdrop-filter:blur(14px) saturate(115%);backdrop-filter:blur(14px) saturate(115%);
  border:1px solid #ffffffb8;border-radius:23px;
  box-shadow:0 12px 34px -18px #25272061,inset 0 1px 0 #ffffffb3;
  overflow:hidden;z-index:2;
}
.glass-ui .base-dock-heading,.glass-ui .floating-dock .sheet-heading{
  flex:none;min-height:52px;padding:4px 10px 4px 16px;gap:6px;
  border:0;background:transparent;
}
.glass-ui .floating-dock .sheet-heading h2{font:400 20px Georgia,serif}
.glass-ui .eyebrow{font-size:10px;color:var(--accent);margin-bottom:2px}
.glass-ui #rail-position{font-size:11px;color:var(--ink)}
.glass-ui .dock-toggle{
  display:grid;place-items:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;
  border:0;border-radius:50%;padding:11px;background:#ffffff30;
}
.glass-ui .dock-toggle svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.glass-ui [data-collapsed="true"] .dock-toggle svg{transform:rotate(180deg)}
.glass-ui .base-dock[data-collapsed="true"],.glass-ui .option-sheet.floating-dock[data-collapsed="true"]{width:min(280px,calc(100% - 32px));max-height:none;border-radius:30px}
.glass-ui .base-dock[data-collapsed="true"] .rail-actions,
.glass-ui .floating-dock[data-collapsed="true"] .catalog-pages{display:none}
.glass-ui #base-options-body{min-height:0;overflow:auto;overscroll-behavior:contain}
.glass-ui .floating-dock .sheet-body{flex:1 1 auto;min-height:0;padding:4px 14px 12px;overflow-y:auto;overscroll-behavior-y:contain}
.glass-ui .rail-actions{gap:2px}
.glass-ui .rail-actions button,.glass-ui .catalog-pages button{width:44px;height:44px;min-width:44px;min-height:44px;border:0;background:#ffffff24}
.glass-ui .rail-actions #model-list-toggle{width:auto;min-width:44px;padding-inline:9px;font-size:11px}
.glass-ui .floating-dock .catalog-pages{gap:0}
.glass-ui #model-list-panel{margin:0 10px 5px;padding:0 4px 7px;border-color:#7a7a6d33}
.glass-ui .model-picker-row select{background:#ffffff75}
.glass-ui .base-rail,.glass-ui .floating-dock .material-options,
.glass-ui .floating-dock .finish-options,.glass-ui .edge-options,.glass-ui .shape-options{
  display:flex;align-items:stretch;flex-wrap:nowrap;gap:8px;
  overflow-x:auto;overflow-y:hidden;max-width:100%;min-width:0;
  padding:5px 4px 8px;margin:0;scrollbar-width:none;
  scroll-snap-type:x proximity;scroll-padding-inline:4px;
}
.glass-ui .base-rail{padding-inline:12px;padding-bottom:12px}
.glass-ui .base-rail::-webkit-scrollbar,.glass-ui .material-options::-webkit-scrollbar,
.glass-ui .finish-options::-webkit-scrollbar,.glass-ui .edge-options::-webkit-scrollbar,
.glass-ui .shape-options::-webkit-scrollbar{display:none}
.glass-ui .base-rail .model-option,.glass-ui .floating-dock .material-option,
.glass-ui .floating-dock .finish-options button,.glass-ui .edge-option,.glass-ui .shape-option{
  flex:0 0 var(--option-width);width:var(--option-width);min-width:var(--option-width);max-width:var(--option-width);
  height:var(--option-height);min-height:var(--option-height);max-height:var(--option-height);
  display:block;padding:0;overflow:hidden;border:1px solid #777a6f59;
  border-radius:13px;background:#ffffff5c;text-align:center;scroll-snap-align:start;
}
.glass-ui .base-rail .model-option img,.glass-ui .floating-dock .material-option img,
.glass-ui .floating-dock .material-option .photo-pending,.glass-ui .floating-dock .finish-options button img,
.glass-ui .floating-dock .finish-original-preview,.glass-ui .edge-option svg,.glass-ui .shape-option svg{
  display:block;width:100%;height:var(--option-preview-height);min-height:var(--option-preview-height);
  max-height:var(--option-preview-height);margin:0;padding:0;object-fit:cover;flex:none;
}
.glass-ui .base-rail .model-option img{object-fit:contain;mix-blend-mode:multiply}
.glass-ui .floating-dock .material-option .photo-pending{display:flex;align-items:center;justify-content:center;font-size:10px;background:#e6e2d885}
.glass-ui .floating-dock .finish-original-preview{
  display:grid;place-items:center;font-size:28px;color:#5e6659;
  background:linear-gradient(135deg,#d8d2c7,#faf8f2 48%,#beb6a6);
}
.glass-ui .edge-option svg,.glass-ui .shape-option svg{padding:4px 8px;background:#f8f6f055}
.glass-ui .base-rail .model-option strong{display:block;margin:4px 5px 0;font-size:12px;line-height:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.glass-ui .base-rail .model-option small{display:block;font-size:10px;line-height:14px;margin-top:2px;color:var(--muted)}
.glass-ui .floating-dock .material-option>span:last-child{
  display:flex;flex-direction:column;justify-content:center;
  height:calc(var(--option-height) - var(--option-preview-height) - 2px);
  padding:3px 5px;line-height:14px;overflow:hidden;
}
.glass-ui .material-option strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:13px;font-weight:500}
.glass-ui .material-option small{font-size:9px;line-height:12px;margin-top:2px;color:var(--muted)}
.glass-ui .floating-dock .finish-options button>span:last-child,.glass-ui .edge-option>span{
  display:flex;align-items:center;justify-content:center;
  height:calc(var(--option-height) - var(--option-preview-height) - 2px);
  margin:0;padding:3px 7px;overflow:hidden;font-size:11px;line-height:14px;
}
.glass-ui .shape-option>span{margin:3px 4px 0;font-size:10px;line-height:13px}
.glass-ui .shape-option small{margin-top:2px;font-size:9px;line-height:12px;color:var(--muted)}
.glass-ui .base-rail .model-option[aria-pressed="true"],.glass-ui .material-option[aria-pressed="true"],
.glass-ui .finish-options button[aria-pressed="true"],.glass-ui .edge-option[aria-pressed="true"],.glass-ui .shape-option[aria-pressed="true"]{
  border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#f0e6d8b8;
}
.glass-ui .base-rail .model-option:focus-visible,.glass-ui .material-option:focus-visible,
.glass-ui .finish-options button:focus-visible,.glass-ui .edge-option:focus-visible,.glass-ui .shape-option:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.glass-ui .finishes-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.glass-ui .finishes-panel fieldset{min-width:0}.glass-ui .finishes-panel legend{font-size:12px;margin-bottom:1px}
.glass-ui .finishes-panel .note{font-size:10px;line-height:1.45;margin-top:4px}
.glass-ui .finishes-panel .text-button{font-size:11px;min-height:44px}
.glass-ui .stone-tools{gap:8px}
.glass-ui .catalog-label input,.glass-ui .catalog-label select{background:#ffffff75;margin-top:3px}
.glass-ui .panel-label{font-size:11px;margin-bottom:7px}
.glass-ui .floating-dock #material-results{margin:5px 0 0;font-size:10px}
.glass-ui .stone-selection{padding-top:3px;border:0}
.glass-ui .stone-selection strong{font-size:12px}
.glass-ui .stone-selection .note{font-size:10px;line-height:1.45;margin-top:3px}
.glass-ui .measure-grid,.glass-ui .measure-ranges{gap:14px}
.glass-ui .measure-grid select{background:#ffffff75}
.glass-ui .measure-grid .select-label{gap:3px}
.glass-ui .measure-form-label{margin-bottom:12px}
.glass-ui .measure-ranges .range-label{margin-top:5px}
.glass-ui #panel-medidas>.note{margin-top:4px;font-size:10px;line-height:1.45}
.glass-ui #summary{font-size:13px;line-height:1.6;margin-bottom:12px}
.glass-ui .config-nav{
  min-height:64px;gap:14px;padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  background:#f8f6f0b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-color:#ffffff8c;
}
.glass-ui .config-nav button{min-height:44px;padding:10px 20px}
.glass-ui .config-nav .summary-toggle{border-radius:24px}
.glass-ui .view-controls{top:16px;background:#f8f6f0ad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.glass-ui #stone-warning{bottom:auto;top:100px;max-width:calc(100% - 24px);background:#f8f6f0e8;pointer-events:none}
@media(max-width:760px){
  body.glass-ui{--option-width:106px;--option-height:112px;--option-preview-height:60px;--dock-bottom:10px}
  .glass-ui .masthead{height:52px;padding:8px 14px}.glass-ui .brand{font-size:20px}.glass-ui .masthead h1{font-size:10px}
  .glass-ui .scene-heading{top:16px;left:14px;max-width:calc(100% - 175px)}.glass-ui .scene-heading h2{font-size:24px}
  .glass-ui .scene-heading p{margin-top:4px}
  .glass-ui .base-dock,.glass-ui .option-sheet.floating-dock{width:calc(100% - 20px);max-height:min(316px,calc(100% - 100px));border-radius:20px;-webkit-backdrop-filter:blur(10px) saturate(110%);backdrop-filter:blur(10px) saturate(110%)}
  .glass-ui .base-dock-heading,.glass-ui .floating-dock .sheet-heading{padding:3px 6px 3px 12px;min-height:50px;gap:3px}
  .glass-ui .floating-dock .sheet-heading h2{font-size:18px}
  .glass-ui .floating-dock .sheet-body{padding:3px 10px 10px}
  .glass-ui .rail-actions #model-list-toggle{padding-inline:5px;font-size:10px}
  .glass-ui .finishes-panel{gap:12px}.glass-ui .finishes-panel legend{font-size:11px}
  .glass-ui .floating-dock .stone-tools{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .glass-ui .catalog-label input,.glass-ui .catalog-label select,.glass-ui .measure-grid select{font-size:16px;min-height:44px;padding:7px}
  .glass-ui .config-nav{gap:6px;min-height:64px}
  .glass-ui .config-steps{gap:0;min-width:0;flex:1}
  .glass-ui .config-steps button{flex:1;min-width:0;padding:10px 5px;font-size:11px}
  .glass-ui .config-nav .summary-toggle{padding:10px 9px;font-size:11px}
  .glass-ui .summary-toggle span{margin-left:2px}
}
@media(max-height:520px){
  body.glass-ui{--option-width:104px;--option-height:100px;--option-preview-height:52px;--dock-bottom:8px}
  .glass-ui .masthead{height:44px}.glass-ui .config-nav{min-height:54px;padding-block:5px}
  .glass-ui .scene-heading,.glass-ui .view-controls{top:8px}
  .glass-ui .base-dock,.glass-ui .option-sheet.floating-dock{max-height:calc(100% - 54px)}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .glass-ui .base-dock,.glass-ui .option-sheet.floating-dock,.glass-ui .view-controls,.glass-ui .config-nav{background:#f2f0e9}
}
@media(prefers-reduced-transparency:reduce){
  .glass-ui .base-dock,.glass-ui .option-sheet.floating-dock,.glass-ui .view-controls,.glass-ui .config-nav{background:#f8f6f0;-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media(forced-colors:active){
  .glass-ui .base-dock,.glass-ui .option-sheet.floating-dock,.glass-ui .view-controls,.glass-ui .config-nav{background:Canvas;color:CanvasText;border:1px solid CanvasText;-webkit-backdrop-filter:none;backdrop-filter:none}
  .glass-ui button[aria-pressed="true"]{outline:2px solid Highlight;outline-offset:-3px}
}

/* R25 · navegación táctil, reflejos contenidos y densidad de móvil. */
.glass-ui .config-nav{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-self:center;
  width:min(620px,calc(100% - 24px));min-height:64px;gap:4px;
  margin:0 auto max(12px,env(safe-area-inset-bottom));padding:5px;
  background:linear-gradient(140deg,#ffffff47,#ffffff0a),rgba(248,246,240,.74);
  border:1px solid #ffffffc7;border-radius:30px;
  box-shadow:0 10px 28px -16px #352f285c,inset 0 1px 0 #ffffffd9;
  -webkit-backdrop-filter:blur(12px) saturate(110%);backdrop-filter:blur(12px) saturate(110%);
}
.glass-ui .config-steps{display:contents}
.glass-ui .config-nav button,.glass-ui .config-nav .summary-toggle{
  position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;
  gap:7px;width:100%;min-width:44px;min-height:52px;padding:7px 4px;
  border:1px solid #8c7d652e;border-radius:24px;background:#ffffff21;
  box-shadow:inset 0 1px 0 #ffffff80,0 1px 2px #4b42300a;
  color:var(--ink);font-size:11px;font-weight:400;line-height:14px;
  transition:background-color 140ms ease,box-shadow 140ms ease,transform 100ms ease;
}
.glass-ui .config-nav button svg{display:block;flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.glass-ui .config-nav button span{display:block;margin:0;letter-spacing:.015em;white-space:nowrap}
.glass-ui .config-nav button[aria-pressed="true"]{
  background:linear-gradient(145deg,#ffffffc7,#f4efe699);border-color:#8b745b66;
  box-shadow:0 3px 9px -4px #493b286b,inset 0 1px 0 #ffffff;
  color:var(--accent);font-weight:600;
}
.glass-ui .config-nav button[aria-pressed="true"]::after{content:"";position:absolute;bottom:4px;left:calc(50% - 7px);width:14px;height:2px;border-radius:2px;background:currentColor;opacity:.65}
.glass-ui .config-nav button:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #63513b1f}
.glass-ui .config-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.glass-ui .view-controls{
  padding:4px;gap:3px;border:1px solid #ffffffb8;
  box-shadow:0 5px 18px -13px #352f2859,inset 0 1px 0 #ffffffa6;
  background:linear-gradient(140deg,#ffffff24,#ffffff08),rgba(248,246,240,.72);
}
.glass-ui .view-controls button{border:1px solid #8c7d651f;background:#ffffff1a}
.glass-ui .view-controls button[aria-pressed="true"]{color:var(--accent);background:linear-gradient(145deg,#ffffffcc,#f0e9de99);border-color:#8b745b66;box-shadow:0 2px 5px -2px #493b284d,inset 0 1px 0 #ffffff}
.glass-ui .catalog-label input,.glass-ui .catalog-label select,.glass-ui .measure-grid select{
  border-color:#8c7d654d;background:#ffffff57;
  box-shadow:inset 0 1px 0 #ffffffb3,0 1px 2px #4b42300a;
}
.glass-ui input[type="range"]{-webkit-appearance:none;appearance:none;background:transparent;min-height:44px}
.glass-ui input[type="range"]::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:#998e7b70;box-shadow:0 1px 0 #ffffff80}
.glass-ui input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-6.5px;border-radius:50%;border:1px solid #8b796066;background:#f8f6f0;box-shadow:0 2px 5px #352f2833,inset 0 1px 0 #fff}
.glass-ui input[type="range"]::-moz-range-track{height:3px;border-radius:3px;background:#998e7b70}
.glass-ui input[type="range"]::-moz-range-progress{height:3px;border-radius:3px;background:#6b5843}
.glass-ui input[type="range"]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:1px solid #8b796066;background:#f8f6f0;box-shadow:0 2px 5px #352f2833}
@media(hover:hover){
  .glass-ui .config-nav button:hover{background-color:#ffffff73;box-shadow:0 2px 8px -4px #493b2859,inset 0 1px 0 #fff}
  .glass-ui .dock-toggle:hover,.glass-ui .rail-actions button:hover,.glass-ui .catalog-pages button:hover{background:#ffffff70}
}
@media(max-width:760px){
  body.glass-ui{--option-width:96px;--option-height:102px;--option-preview-height:50px}
  .glass-ui .config-nav{min-height:68px;width:calc(100% - 24px)}
  .glass-ui .config-nav button,.glass-ui .config-nav .summary-toggle{flex-direction:column;min-height:56px;gap:4px;padding:5px 2px;font-size:10.5px}
  .glass-ui .config-nav button[aria-pressed="true"]::after{bottom:3px}
}
@media(max-width:480px){
  body.glass-ui{--option-width:76px;--option-height:86px;--option-preview-height:42px}
  .glass-ui .base-rail,.glass-ui .floating-dock .material-options,.glass-ui .floating-dock .finish-options,.glass-ui .edge-options,.glass-ui .shape-options{gap:6px}
  .glass-ui .base-rail .model-option strong{font-size:11px;line-height:14px}
  .glass-ui .base-rail .model-option small{font-size:9px;line-height:12px}
  .glass-ui .material-option strong{font-size:10px;line-height:12px}
  .glass-ui .material-option small{font-size:9px;line-height:10px;margin-top:1px}
  .glass-ui .floating-dock .finish-options button>span:last-child,.glass-ui .edge-option>span{font-size:10px;line-height:12px;padding-inline:4px}
  .glass-ui .shape-option>span{font-size:10px;line-height:12px}.glass-ui .shape-option small{display:none}
  .glass-ui .floating-dock .sheet-body{padding-bottom:10px}
  .glass-ui .option-sheet.floating-dock{max-height:min(300px,calc(100% - 100px))}
}
@media(max-height:520px){
  body.glass-ui{--option-width:76px;--option-height:82px;--option-preview-height:38px}
  .glass-ui .config-nav{min-height:54px;margin-bottom:max(6px,env(safe-area-inset-bottom))}
  .glass-ui .config-nav button,.glass-ui .config-nav .summary-toggle{flex-direction:row;gap:5px;min-height:44px;padding:5px 3px}
}
@media(prefers-reduced-motion:reduce){.glass-ui .config-nav button{transition:none}.glass-ui .config-nav button:active{transform:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-ui .config-nav,.glass-ui .view-controls{background:#f2f0e9}}
@media(prefers-reduced-transparency:reduce){.glass-ui .config-nav,.glass-ui .view-controls{background:#f8f6f0;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(forced-colors:active){
  .glass-ui .config-nav,.glass-ui .view-controls{background:Canvas;color:CanvasText;border-color:CanvasText;-webkit-backdrop-filter:none;backdrop-filter:none}
  .glass-ui .config-nav button,.glass-ui .view-controls button{border-color:ButtonText;color:ButtonText;background:ButtonFace;box-shadow:none}
  .glass-ui .config-nav button[aria-pressed="true"]{outline:2px solid Highlight;outline-offset:-3px}
  .glass-ui input[type="range"]{-webkit-appearance:auto;appearance:auto}
}

/* R26: salida al sitio en una sola línea, sin quitar espacio al 3D. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.glass-ui .site-header{position:relative;z-index:10;display:grid;grid-template-columns:auto auto 1fr auto;gap:20px;height:58px;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));border-bottom:1px solid #ffffff8c}
.glass-ui .site-header .brand{color:var(--ink);text-decoration:none;line-height:1;text-align:center;white-space:nowrap}
.glass-ui .site-header .brand span{margin-top:5px}
.site-control{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #8c7d6533;border-radius:24px;background:linear-gradient(145deg,#ffffff45,#ffffff10);box-shadow:inset 0 1px 0 #ffffffb3;color:var(--ink);font-size:11px;text-decoration:none;white-space:nowrap;transition:background-color 140ms ease,transform 100ms ease}
.site-control svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.site-control:active{transform:translateY(1px)}
.site-breadcrumb ol{display:flex;align-items:center;justify-content:center;gap:12px;list-style:none;padding:0;margin:0;font-size:11px;color:var(--muted)}
.site-breadcrumb li{display:flex;align-items:center;gap:12px}
.site-breadcrumb li+li::before{content:'›';color:var(--muted)}
.site-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;text-underline-offset:4px}
.site-breadcrumb [aria-current]{color:var(--muted)}
.site-menu{position:relative;justify-self:end}
.site-menu-panel{position:absolute;top:calc(100% + 9px);right:0;width:min(280px,calc(100vw - 24px));max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid #ffffffdb;border-radius:20px;background:linear-gradient(145deg,#ffffff30,#ffffff08),rgba(248,246,240,.9);box-shadow:0 16px 36px -15px #352f285c,inset 0 1px 0 #ffffff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.site-menu-heading{margin:5px 10px 10px;color:var(--muted);font-size:10px;letter-spacing:.08em}
.site-menu-panel a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:11px 10px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:13px;line-height:1.4}
.site-menu-panel a span{font-size:15px;color:var(--accent)}
.site-menu-panel a+a{border-top:1px solid #8c7d651a}
.site-menu-panel a:focus-visible{outline-offset:-2px}
.site-control[aria-expanded="true"]{background:#ffffff8c;border-color:#8b745b66}
@media(hover:hover){.site-control:hover,.site-menu-panel a:hover{background-color:#ffffff8c}.site-breadcrumb a:hover{text-decoration:underline}}
@media(max-width:760px){
  .glass-ui .site-header{height:52px;grid-template-columns:1fr auto 1fr;gap:8px;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}
  .site-return{justify-self:start}
  .site-breadcrumb{display:none}
  .site-control{padding-inline:10px;gap:5px}
  .glass-ui .site-header .brand{font-size:20px;letter-spacing:4px}
  .glass-ui .site-header .brand span{font-size:6.5px;letter-spacing:1.6px}
}
@media(max-height:520px){.glass-ui .site-header{height:44px}.site-menu-panel{top:calc(100% + 5px);max-height:calc(100dvh - 60px)}}
@media(prefers-reduced-motion:reduce){.site-control{transition:none}.site-control:active{transform:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-menu-panel{background:#f8f6f0}}
@media(prefers-reduced-transparency:reduce){.site-menu-panel{background:#f8f6f0;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(forced-colors:active){.site-control,.site-menu-panel{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.site-menu-panel a,.site-breadcrumb a,.glass-ui .site-header .brand{color:LinkText}.site-control[aria-expanded="true"]{outline:2px solid Highlight;background:Canvas;border-color:CanvasText}}

/* R30: resumen legible y guía opcional, sin cambiar las bandejas aceptadas. */
.help-trigger{position:absolute;z-index:2;right:25px;top:78px;min-height:44px;background:rgba(248,246,240,.88);font-size:13px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.help-trigger[aria-expanded="true"]{border-color:var(--accent)}
.glass-ui #summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;font-size:15px;line-height:1.45;margin:0}
#summary>div{display:grid;grid-template-columns:minmax(90px,.85fr) minmax(0,1.4fr);gap:10px;border-bottom:1px solid #8c7d652e;padding:7px 0;align-content:start}
#summary dt{color:var(--muted);font-size:13px}#summary dd{margin:0;overflow-wrap:anywhere}
.summary-actions{margin:0 0 12px}
.whatsapp-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;width:100%;text-decoration:none;font-size:15px;border-radius:14px}
.whatsapp-button[aria-disabled="true"]{pointer-events:none;opacity:.5}
.summary-note{font-size:13px;line-height:1.55;color:var(--muted);margin:9px 0 0;overflow-wrap:anywhere}
.summary-note:empty{display:none}
.image-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border:1px solid #8c7d6570;border-radius:14px;background:#ffffff4d;color:var(--ink);font-size:14px;text-decoration:none}
.image-actions .secondary-button{flex:1}
.image-options{margin-top:12px;border-top:1px solid #8c7d6540}
.image-options summary{display:list-item;cursor:pointer;min-height:48px;padding:14px 2px;font-size:15px;color:var(--accent)}
.image-options summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.quick-guide{position:relative;flex:none;align-self:center;width:min(900px,calc(100% - 24px));margin:0 auto 8px;padding:0 12px 10px;border:1px solid #ffffffed;border-radius:20px;background:linear-gradient(145deg,#ffffff38,#ffffff08),rgba(248,246,240,.94);box-shadow:0 10px 28px -20px #352f2870,inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink)}
.guide-heading{display:flex;align-items:center;gap:7px;min-height:44px}
.guide-heading p{font-size:13px;margin:0;color:var(--muted)}
.guide-heading button{flex:none;width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--accent);font-size:23px}
.guide-pointer{color:var(--accent);font-size:20px}.quick-guide h2{flex:1;font:400 18px/1.25 Georgia,serif;margin:0}
.quick-guide h2:focus{outline:none}.quick-guide h2:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.guide-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.guide-body>p{font-size:14px;line-height:1.45;margin:0;max-width:65ch}
.guide-actions{display:flex;gap:5px}.guide-actions button{flex:none;min-width:44px;min-height:44px;padding:0 10px;border-radius:50%;font-size:20px}.guide-actions .primary-button{width:auto;font-size:17px;white-space:nowrap}.guide-actions .primary-button[aria-label="Ver guía"]{border-radius:22px;font-size:13px}
.glass-ui [data-guide-target="true"]{outline:2px solid #786349;outline-offset:2px}
@media(max-width:760px){
  .help-trigger{right:12px;top:76px}
  .quick-guide{width:calc(100% - 20px);margin-bottom:6px;padding-inline:10px}.guide-heading p{font-size:11px}.guide-body{gap:8px}
  .glass-ui #summary{grid-template-columns:1fr;gap:0}
  #summary>div{grid-template-columns:minmax(100px,.8fr) minmax(0,1.4fr)}
}
@media(max-height:520px){.help-trigger{top:65px}.quick-guide{padding-bottom:5px;margin-bottom:4px}.guide-heading{min-height:36px}.guide-body>p{font-size:13px}.guide-heading h2{font-size:16px}}
@media(hover:hover){.secondary-button:hover{background:#ffffffaa}.whatsapp-button:hover{background:#394033}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.quick-guide,.help-trigger{background:#f8f6f0}}
@media(prefers-reduced-transparency:reduce){.quick-guide,.help-trigger{background:#f8f6f0;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(forced-colors:active){.quick-guide,.help-trigger,.summary-actions{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.secondary-button,.whatsapp-button,.guide-actions .primary-button{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}}

/* R32: piedra aportada por el cliente, en la misma bandeja flotante. */
.material-source{display:flex;gap:4px;margin:0 0 12px;padding:4px;border-radius:18px;background:#ffffff45;border:1px solid #8c7d653b}
.material-source button{flex:1;min-height:44px;padding:9px 10px;border:1px solid transparent;border-radius:14px;background:transparent;font-size:13px}
.material-source button[aria-pressed="true"]{background:#ffffffb3;border-color:#8c7d6570;color:var(--accent);box-shadow:0 2px 6px #352f2812}
.own-stone-intro{font-size:15px;line-height:1.5;margin:0 0 12px}
.own-stone-panel #own-pick{width:100%;font-size:15px}
#own-preview{display:block;width:min(100%,420px);height:auto;aspect-ratio:16/9;margin:12px auto 0;border-radius:12px;border:1px solid #8c7d6570;background:#e8e4db;touch-action:none;cursor:grab}
#own-preview:active{cursor:grabbing}#own-preview:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.own-photo-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.own-photo-actions .secondary-button{flex:1}.own-photo-actions .text-button{min-height:48px;padding:10px 8px;font-size:14px}
.own-stone-fields{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;margin-top:14px}.own-stone-fields .catalog-label{font-size:13px}.own-stone-fields select{font-size:14px}
.own-scope-field{grid-column:1/-1}
.own-stone-panel .range-label{font-size:14px;margin-top:10px}
@media(max-width:480px){#own-preview{max-width:280px}.own-stone-fields{grid-template-columns:1fr}.own-stone-fields select{font-size:16px}.own-photo-actions .secondary-button{font-size:13px;padding-inline:10px}}

/* R34: ayuda de foto en su formulario; el encuadre y el zoom siguen visibles. */
.photo-guide{display:flex;align-items:flex-start;gap:4px;margin:4px 0 10px;padding:7px 5px 7px 10px;border:1px solid #8b745b55;border-radius:14px;background:#f8f6f0;color:var(--ink)}
.photo-guide p{flex:1;margin:0;font-size:14px;line-height:1.4}.photo-guide strong{font-weight:600}
.photo-guide button{flex:none;width:44px;min-height:44px;border:0;border-radius:50%;padding:0;background:transparent;color:var(--accent);font-size:22px}
.photo-guide-toggle{min-height:44px;padding:8px 0;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.viewer-help{position:absolute;top:calc(50% + 58px);left:50%;transform:translateX(-50%);background:#f8f6f0;white-space:nowrap}
.capacity-picker-row{margin-bottom:8px}.capacity-picker-row label{flex:1}
.own-stone-panel[data-photo-ready="true"] .own-stone-intro{display:none}
.glass-ui .workspace[data-panel="piedra"][data-own-stone="true"] .option-sheet{max-height:min(420px,calc(100% - 110px))}
.glass-ui .workspace[data-panel="piedra"][data-own-photo="true"] .option-sheet{max-height:min(470px,calc(100% - 110px))}
@media(max-height:650px){.workspace[data-own-photo="true"] #own-preview{max-width:180px;margin-top:8px}.photo-guide p{font-size:13px}.photo-guide{padding-block:5px}}
@media(forced-colors:active){.photo-guide{background:Canvas;color:CanvasText;border-color:CanvasText}.photo-guide button{color:ButtonText}.glass-ui [data-guide-target="true"]{outline-color:Highlight}}
@media(forced-colors:active){.material-source,.material-source button{border-color:ButtonText;background:Canvas;color:CanvasText}.material-source button[aria-pressed="true"]{outline:2px solid Highlight;background:Highlight;color:HighlightText}}

/* Exploración 360°: ayuda ligera y controles sobre la misma escena. */
.viewer-zoom{position:absolute;z-index:2;right:94px;top:78px;display:flex;gap:4px}
.viewer-zoom .site-control{width:44px;height:44px;padding:0;font-size:23px;font-weight:400;line-height:1;background:linear-gradient(145deg,#ffffff45,#ffffff10),rgba(248,246,240,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.viewer-hint{position:absolute;z-index:1;top:78px;left:24px;width:min(330px,calc(100% - 230px));margin:0;padding:8px 10px;border:1px solid #ffffffa6;border-radius:14px;background:linear-gradient(145deg,#ffffff38,#ffffff08),rgba(248,246,240,.72);box-shadow:inset 0 1px 0 #ffffff9c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font-size:12px;line-height:1.45;pointer-events:none}
.viewer-hint strong{display:block;font-weight:500;margin-bottom:3px}.viewer-hint span{display:block}.viewer-hint .viewer-hint-touch{display:none}
@media(max-width:760px){.viewer-zoom{right:80px;top:76px}.viewer-hint{top:76px;left:14px;width:calc(100% - 198px);padding:7px 8px;font-size:11px}.viewer-hint .viewer-hint-mouse{display:none}.viewer-hint .viewer-hint-touch{display:block}}
@media(pointer:coarse){.viewer-hint .viewer-hint-mouse{display:none}.viewer-hint .viewer-hint-touch{display:block}}
@media(max-height:520px){.viewer-zoom,.viewer-hint{top:65px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.viewer-hint,.viewer-zoom .site-control{background:#f8f6f0}}
@media(prefers-reduced-transparency:reduce){.viewer-hint,.viewer-zoom .site-control{background:#f8f6f0;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(forced-colors:active){.viewer-hint,.viewer-zoom .site-control{background:Canvas;color:CanvasText;border-color:ButtonText;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* Reserve a real canvas area; long forms scroll inside their own tray. */
@media(min-width:0px){
  body.glass-ui{min-height:0}
  .glass-ui .configurator{position:relative}
  .glass-ui .quick-guide{position:absolute;z-index:4;top:0;left:10px;width:calc(100% - 20px);max-height:142px;margin:0;overflow-y:auto;overscroll-behavior:contain}
  .glass-ui .scene-panel{min-height:0}
  .glass-ui #viewport{position:absolute;inset:142px 0 var(--dock-reserve,180px);height:auto;min-height:0}
  .glass-ui .workspace .base-dock,
  .glass-ui .workspace .option-sheet.floating-dock,
  .glass-ui .workspace[data-panel="piedra"][data-own-stone="true"] .option-sheet,
  .glass-ui .workspace[data-panel="piedra"][data-own-photo="true"] .option-sheet{max-height:min(300px,38%)}
  .glass-ui #stone-warning{top:0}
}
@media(max-height:520px){
  .glass-ui #viewport{top:112px}
}
@media(max-height:520px) and (min-width:600px){
  .glass-ui .workspace .base-dock,
  .glass-ui .workspace .option-sheet.floating-dock,
  .glass-ui .workspace[data-panel="piedra"][data-own-stone="true"] .option-sheet,
  .glass-ui .workspace[data-panel="piedra"][data-own-photo="true"] .option-sheet{
    left:auto;right:10px;top:10px;bottom:10px;transform:none;width:40%;max-height:calc(100% - 20px)
  }
  .glass-ui #viewport{right:calc(40% + 20px);bottom:10px}
  .glass-ui .view-controls{right:calc(40% + 30px)}
  .viewer-zoom{right:calc(40% + 90px)}
  .help-trigger{right:calc(40% + 20px)}
  .viewer-hint{width:calc(60% - 220px)}
  .glass-ui .quick-guide{width:calc(60% - 20px);max-height:112px}
}
/* H1 visible, línea de apoyo, botón de ayuda y texto rastreable (oct-2026) */
.scene-eyebrow{font:600 10.5px/1.4 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}
.scene-intro{font:12px/1.45 Arial,sans-serif;color:var(--muted);margin:0 0 6px;max-width:34em}
.info-pill{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;margin:0 0 8px;border:1px solid var(--line);border-radius:30px;background:#f8f6f0d9;color:var(--ink);font:600 11.5px/1 Arial,sans-serif;text-decoration:none;pointer-events:auto}
@media(max-width:760px){.scene-eyebrow{font-size:8.5px;letter-spacing:.1em;margin-bottom:3px}.scene-intro{font-size:10.5px;margin-bottom:4px}.scene-intro-extra{display:none}.info-pill{min-height:30px;padding:4px 10px;font-size:10.5px;margin-bottom:6px}}
.config-info{position:fixed;inset:0;z-index:90;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);visibility:hidden;opacity:0;transform:translateY(14px);transition:opacity .25s,transform .25s,visibility 0s .25s}
.config-info:target{visibility:visible;opacity:1;transform:none;transition:opacity .25s,transform .25s}
.config-info-inner{max-width:760px;margin:0 auto;padding:22px 22px 72px;color:var(--ink);font:15.5px/1.65 Arial,sans-serif}
.config-info-close{position:sticky;top:10px;float:right;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:30px;background:var(--paper);color:var(--ink);text-decoration:none;font-size:13px}
.config-info-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:12px 0 0}
.config-info h2{font:400 28px/1.15 Georgia,serif;margin:34px 0 12px;clear:both}
.config-info h3{font:600 16px/1.3 Arial,sans-serif;margin:22px 0 6px}
.config-info p{color:var(--muted);margin:0 0 10px}
.config-info details{border-top:1px solid var(--line);padding:4px 0}
.config-info summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.config-info-links{margin-top:30px!important;font-size:14px}
.config-info-links a{color:var(--accent)}
.glass-ui .scene-panel .viewer-hint{top:calc(var(--scene-heading-bottom,70px) + 8px)!important}
.glass-ui .scene-heading .scene-intro{display:block;-webkit-line-clamp:unset;overflow:visible;margin-top:0}
