/* Gallery integration: the dynamic image occupies the same square as product photos. */
.dcv-viewer{position:relative;display:block;width:100%;max-width:100%;aspect-ratio:1/1;margin:0;overflow:hidden;background: #FCFBF8; border-radius: 7px}
.dcv-viewer[hidden]{display:none!important}
.dcv-viewer *{box-sizing:border-box}
.dcv-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.dcv-composition{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:44px;width:max-content;align-items:center;justify-content:center;transform-origin:center}
.dcv-status{position:absolute;bottom:0;left:0;right:0;margin:0;padding:10px;font-size:13px;color:#544c40;background:#faf8f4}
.dcv-status:empty{display:none}
.product-cover.dcv-active>picture,.product-cover.dcv-active>.layer{display:none!important}
.images-container .product-images.dcv-gallery-thumbs{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:10px;list-style:none;padding:0;margin:0;white-space:nowrap}
.images-container .dcv-gallery-thumbs>.thumb-container{display:block!important;float:none!important;flex:0 0 auto;margin:0!important;vertical-align:top}
.dcv-thumb-container{width:98px!important;max-width:98px!important;flex:0 0 98px!important}
button.dcv-thumb-button
{box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;position:relative;
  width:98px!important;
  min-width:98px!important;
  max-width:98px!important;
  height:98px!important;
  margin-bottom: .625rem;
  margin-right: .8125rem;
  padding:8px!important;
  overflow:hidden;
  background:#f2ece2;
  border:1px solid #d8d0c1;
  border-radius:7px;
  cursor:pointer;
  font-family:inherit;
  font-size:12px;
  line-height:1.1;
  appearance:none}

button.dcv-thumb-button:focus-visible{outline:2px solid #43392e;outline-offset:2px}
.dcv-thumb-icon{display:block;box-sizing:border-box;flex:0 0 auto;width:28px;height:36px;border: 4px solid #c7a96d;box-shadow:2px 3px 4px #0002}
/* Renderer: all classes are scoped to the module. */
.dcv-frame-wrap{position:relative;flex-shrink:0}
.dcv-frame{position:relative;flex-shrink:0;box-shadow:0 1px 2px #140e0829,0 8px 14px -4px #140e083d,0 26px 44px -16px #140e085c}
.dcv-frame.finish-filete,.dcv-frame.finish-caixa,.dcv-frame.finish-flutuante{padding:var(--frame-thickness)}
.dcv-frame.finish-caixa{box-shadow:0 2px 3px #140e0838,0 10px 16px -4px #140e084d,0 30px 50px -18px #140e086b}
.dcv-frame.finish-infinita{padding:0;background:transparent;box-shadow:0 2px 4px #140e0829,0 18px 34px -10px #140e0852}
.dcv-frame-band{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.dcv-frame-inner{position:relative;width:100%;height:100%;overflow:hidden;background:#0e0702;box-shadow:inset 0 0 0 1px #00000014}
.dcv-frame-img{display:block;width:100%;height:100%}
.dcv-float-shadow{position:relative;width:100%;height:100%;background:var(--shadow-color,#000);padding:var(--shadow-width)}

/* Fixed room calibration in original 2000 x 2000 coordinates. */
.dcv-viewer[data-mode="environment"] .dcv-stage{
  inset:0 auto auto 0;width:2000px;height:2000px;display:block;
  transform-origin:top left;
}
.dcv-viewer[data-mode="environment"] .dcv-composition{
  position:absolute;left:1000px;align-items:flex-end;justify-content:flex-start;
}
.dcv-room-picker{
  position:absolute;top:12px;left:12px;z-index:3;display:flex;gap:6px;
  padding:4px;background:#fffffff2;border-radius:8px;box-shadow:0 1px 8px #0001;
}
.dcv-room-picker[hidden]{display:none!important}
.dcv-room-picker button{
  font:inherit;
  font-size:13px;
  padding:7px 12px;
  border: 1px solid #D8D0C1;
  border-radius:5px;
  background: #fcfbf8;
  cursor:pointer;
}
.dcv-room-picker button[aria-pressed="true"]{background: #c7a96d;border-color: #c7a96d;color: #fcfbf8;font-weight: 500;}
.dcv-room-picker button:focus-visible{outline:2px solid #43392e;outline-offset:2px}
.dcv-environment-icon{width:35px;height:26px;border: 3px solid #c7a96d;border-radius:5px;position:relative;box-shadow: 2px 3px 4px #0002;}
.dcv-environment-icon::before{content:"";position:absolute;left:3px;right:3px;bottom:4px;border-top: 3px solid #c7a96d;}

.dcv-background{
  display:block!important;position:absolute;inset:0;width:100%!important;height:100%!important;
  max-width:none!important;object-fit:cover;border:0!important;margin:0!important;padding:0!important;
  opacity:0;pointer-events:none;transition:opacity 320ms ease;
}
.dcv-viewer[data-room="sala"] .dcv-background-sala,
.dcv-viewer[data-room="quarto"] .dcv-background-quarto{opacity:1}
@media(prefers-reduced-motion:reduce){.dcv-background{transition:none}}





/* Filete glass and environment dimensions — 2.1.0 */
.dcv-frame.finish-filete .dcv-frame-inner::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background: linear-gradient(
  124deg,
  rgba(255,255,255,.35) 0%,
  rgba(255,255,255,.14) 17%,
  rgba(255,255,255,0) 33%,
  rgba(255,255,255,0) 69%,
  rgba(255,255,255,.08) 84%,
  rgba(255,255,255,.22) 100%
);
}
.dcv-measures{position:absolute;inset:0;z-index:2;pointer-events:none}
.dcv-measures[hidden],.dcv-measure-toggle[hidden]{display:none!important}
.dcv-measure-lines{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;stroke:#5b5146;stroke-width:1;fill:none}
.dcv-measure-label{
  position:absolute;transform:translate(-50%,-50%);display:block;padding:4px 9px;
  border-radius:20px;white-space:nowrap;background:#fcfbf8;color:#43392e;
  box-shadow:0 1px 5px #00000016;font-family:inherit;font-size:12px;font-weight:500;line-height:1.25;
}
button.dcv-measure-toggle{
  position:absolute;right:12px;bottom:12px;z-index:3;
  font:inherit;font-size:13px;padding:8px 12px;border:1px solid #d8d0c1;
  border-radius:8px;background:#fcfbf8;color:#54412b;box-shadow:0 1px 8px #0001;cursor:pointer;
}
button.dcv-measure-toggle[aria-pressed="true"]{background:#c7a96d;border-color:#c7a96d;color:#fcfbf8}
button.dcv-measure-toggle:focus-visible{outline:2px solid #43392e;outline-offset:2px}
@media(max-width:420px){.dcv-measure-label{font-size:11px;padding:3px 7px}}
