body.preview-open{overflow:hidden}
dialog.catalog-preview{border:0;padding:0;margin:auto;max-width:min(1180px,calc(100vw - 28px));width:100%;max-height:calc(100vh - 28px);overflow:auto;background:#111814;color:#fff;box-shadow:0 35px 100px rgba(0,0,0,.55)}
dialog.catalog-preview::backdrop{background:rgba(5,8,6,.88);backdrop-filter:blur(8px)}
.catalog-preview .dp-close{position:absolute;z-index:20;top:14px;right:16px;width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;padding:0;background:rgba(12,18,14,.76);color:#fff;font-size:29px;line-height:1;cursor:pointer;transition:.2s}
.catalog-preview .dp-close:hover,.catalog-preview .dp-close:focus-visible{background:#b8d63f;color:#172017;border-color:#b8d63f;outline:0}
.door-room-preview{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr)}
.dp-room-stage{position:relative;isolation:isolate;aspect-ratio:3/2;min-height:460px;overflow:hidden;background:#d8d5cd;perspective:1550px}
.dp-room-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dp-opening{position:absolute;z-index:1;left:37.25%;top:5.6%;width:25.9%;height:76.4%;background:linear-gradient(105deg,#080b09 0%,#18201b 52%,#3b433c 100%);box-shadow:inset 0 0 30px rgba(0,0,0,.82)}
.dp-installed-door{position:absolute;z-index:3;left:37.25%;top:5.6%;width:25.9%;height:76.4%;object-fit:fill;transform-origin:0 50%;backface-visibility:hidden;filter:drop-shadow(10px 10px 10px rgba(0,0,0,.3));animation:dp-door-swing 7s cubic-bezier(.63,.01,.36,1) infinite}
.dp-floor-shadow{position:absolute;z-index:2;left:37%;top:78%;width:27%;height:5%;border-radius:50%;background:rgba(14,18,15,.3);filter:blur(10px);animation:dp-shadow 7s cubic-bezier(.63,.01,.36,1) infinite}
.dp-preview-badge{position:absolute;z-index:8;left:20px;bottom:20px;padding:10px 13px;background:rgba(17,24,20,.82);border-left:3px solid #b8d63f;color:#fff;font-size:10px;font-weight:800;letter-spacing:.14em}
.dp-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,5vw,64px);background:linear-gradient(155deg,#18211b,#0c110e)}
.dp-kicker{margin:0 0 14px!important;color:#b8d63f!important;font-size:10px!important;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.dp-code{font-size:11px;color:#9caa9f;letter-spacing:.13em}
.dp-copy h2{margin:8px 0 20px;font-size:clamp(38px,4vw,58px);line-height:.92;letter-spacing:-.055em}
.dp-copy>p:not(.dp-kicker){margin:0;color:#c6cec8;font-size:15px;line-height:1.7}
.dp-copy ul{margin:24px 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.12)}
.dp-copy li{padding:11px 0 11px 22px;border-bottom:1px solid rgba(255,255,255,.12);position:relative;font-size:12px;color:#e1e7e2}
.dp-copy li::before{content:'✓';position:absolute;left:0;color:#b8d63f;font-weight:900}
.dp-whatsapp{display:inline-flex;align-self:flex-start;margin-top:2px;padding:15px 19px;background:#b8d63f;color:#152015;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.dp-copy small{display:block;margin-top:17px;color:#879188;font-size:10px;line-height:1.5}
.product-image-preview{width:min(900px,calc(100vw - 28px))!important;background:#f5f6f2!important;color:#202723!important}
.dp-product-figure{margin:0;padding:34px;display:grid;place-items:center;min-height:70vh}
.dp-product-figure img{max-height:72vh;width:auto;object-fit:contain}
.dp-product-figure figcaption{display:flex;gap:14px;align-items:center;margin-top:15px}
.dp-product-figure figcaption span{font-size:10px;color:#718a22;font-weight:800;letter-spacing:.1em}
.dp-product-figure figcaption strong{font-size:22px}
.product-grid button.has-live-preview{position:relative;cursor:pointer}
.product-grid button.has-live-preview::after{content:'VIEW IN YOUR SPACE  ↗';position:absolute;left:15px;right:15px;bottom:15px;padding:13px;background:rgba(20,28,23,.9);color:#fff;border-left:4px solid #b8d63f;font-size:10px;font-weight:900;letter-spacing:.11em;text-align:left;transform:translateY(8px);opacity:0;transition:.25s}
.product-grid button.has-live-preview:hover::after,.product-grid button.has-live-preview:focus-visible::after{transform:none;opacity:1}
@keyframes dp-door-swing{0%,17%,100%{transform:rotateY(0deg)}43%,68%{transform:rotateY(-62deg)}}
@keyframes dp-shadow{0%,17%,100%{transform:scaleX(.85);opacity:.35}43%,68%{transform:translateX(-19%) scaleX(1.25);opacity:.55}}
@media(max-width:860px){.door-room-preview{grid-template-columns:1fr}.dp-room-stage{min-height:0}.dp-copy{padding:32px 25px}.dp-copy h2{font-size:42px}.catalog-preview .dp-close{top:10px;right:10px}.product-grid button.has-live-preview::after{opacity:1;transform:none}}
@media(max-width:520px){dialog.catalog-preview{max-width:100vw;max-height:100vh;height:100%;margin:0}.dp-room-stage{aspect-ratio:3/2}.dp-preview-badge{left:10px;bottom:10px;font-size:8px;padding:8px 10px}.dp-copy{min-height:340px}.dp-product-figure{padding:55px 18px 24px}}
@media(prefers-reduced-motion:reduce){.dp-installed-door,.dp-floor-shadow{animation:none}.product-grid button.has-live-preview::after{transition:none}}


.catalog-preview:not([open]) { display: none !important; pointer-events: none !important; }

.dp-door-leaf{position:absolute;z-index:3;left:37.25%;top:5.6%;width:25.9%;height:76.4%;transform-origin:0 50%;backface-visibility:hidden;filter:drop-shadow(10px 10px 10px rgba(0,0,0,.3));animation:dp-door-swing 7s cubic-bezier(.63,.01,.36,1) infinite}
.dp-door-leaf .dp-installed-door{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;transform:none;animation:none;filter:none;clip-path:none}
.dp-door-leaf.generic-door{top:-.5%;height:88%}
.dp-door-leaf.generic-door .dp-installed-door{object-fit:cover;object-position:center;clip-path:inset(7% 0 7% 0)}
.dp-door-handle{position:absolute;z-index:6;right:8.5%;top:48%;width:3.2%;min-width:5px;height:10%;min-height:28px;border-radius:5px;background:linear-gradient(90deg,#5d431c 0%,#e8c36d 35%,#fff0aa 52%,#a8792e 78%,#513814 100%);box-shadow:0 1px 2px rgba(0,0,0,.65),inset 0 0 1px rgba(255,255,255,.8)}
.dp-door-handle::before{content:'';position:absolute;left:50%;top:50%;width:240%;height:13%;border-radius:4px;background:linear-gradient(180deg,#f4d47c,#80591f);transform:translate(-18%,-50%);box-shadow:0 1px 2px rgba(0,0,0,.55)}
.dp-door-leaf:not(.generic-door) .dp-door-handle{right:10%;top:49%}

.dp-door-leaf.generic-door{overflow:hidden}
.dp-door-leaf.generic-door .dp-installed-door{inset:auto;left:50%;top:50%;width:130%;height:130%;object-fit:cover;object-position:center;clip-path:none;transform:translate(-50%,-50%)}

.dp-door-leaf.generic-door .dp-installed-door{width:140%;height:140%}

.dp-door-leaf.generic-door .dp-installed-door{width:150%;height:150%}

.dp-door-leaf.generic-door .dp-installed-door{mix-blend-mode:multiply}

.dp-door-leaf.generic-door{mix-blend-mode:multiply}
.dp-door-leaf.generic-door .dp-door-handle{mix-blend-mode:normal}

.dp-door-leaf.generic-door{mix-blend-mode:normal!important}
.dp-door-leaf.generic-door .dp-installed-door{width:165%;height:165%;mix-blend-mode:normal!important}

.dp-door-leaf.generic-door .dp-installed-door{max-width:none!important;width:165%!important;height:165%!important;transform:translate(-50%,-50%)!important}

.dp-door-leaf.generic-door .dp-installed-door{max-width:none!important;width:210%!important;height:165%!important;transform:translate(-50%,-50%)!important}

.dp-door-leaf.generic-door{clip-path:inset(0 5% 0 5%)}

.dp-door-leaf.generic-door{top:5.6%!important;height:76.4%!important;overflow:hidden!important;clip-path:inset(0 5% 0 5%)}

.dp-door-leaf.generic-door{clip-path:none!important;box-sizing:border-box!important}
.dp-door-leaf.generic-door::after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;box-sizing:border-box;border:7px solid #251b16;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}

.dp-door-leaf.generic-door{left:39.2%!important;width:22%!important}
.dp-door-leaf.generic-door .dp-installed-door{width:165%!important;height:165%!important}
.dp-door-leaf.generic-door::after{border-width:6px!important}

.dp-door-leaf.generic-door::after{display:none!important}
.dp-static-frame.generic-door{position:absolute;z-index:4;left:39.2%;top:5.6%;width:22%;height:76.4%;box-sizing:border-box;border:4px solid #251b16;pointer-events:none;box-shadow:0 2px 6px rgba(0,0,0,.32)}

.dp-static-frame.generic-door{display:none!important}
.dp-door-leaf.generic-door{left:38.1%!important;top:5.8%!important;width:24.2%!important;height:75.8%!important;clip-path:none!important}
.dp-door-leaf.generic-door .dp-installed-door{width:165%!important;height:165%!important}

.dp-door-leaf.generic-door{left:35.5%!important;width:29%!important}
.dp-static-frame.generic-door{display:block!important;left:35.5%!important;top:5.8%!important;width:29%!important;height:75.8%!important;border:0!important;background:transparent!important;box-shadow:inset 15px 0 #201a16,inset -15px 0 #201a16,inset 0 5px #201a16,inset 0 -5px #201a16!important}

.dp-static-frame.generic-door{box-shadow:inset 28px 0 #201a16,inset -28px 0 #201a16,inset 0 5px #201a16,inset 0 -5px #201a16!important}

.dp-static-frame.generic-door{box-shadow:inset 35px 0 #201a16,inset -35px 0 #201a16,inset 0 5px #201a16,inset 0 -5px #201a16!important}

.dp-door-leaf.generic-door .dp-door-handle{right:18%!important}

.dp-door-leaf{left:70.3%!important;top:10.8%!important;width:20.5%!important;height:78%!important}
.dp-static-frame.generic-door{display:block!important;left:70.3%!important;top:10.8%!important;width:20.5%!important;height:78%!important;border:0!important;background:transparent!important;box-shadow:inset 24px 0 #2d211b,inset -24px 0 #2d211b,inset 0 5px #2d211b,inset 0 -5px #2d211b!important}
.dp-door-leaf.generic-door .dp-installed-door{width:180%!important;height:165%!important}
.dp-door-leaf.generic-door .dp-door-handle{right:20%!important}

.dp-door-leaf{left:70%!important;top:13.5%!important;width:17.5%!important;height:75%!important;animation:none!important;

/* Clean doorway revealed behind the animated leaf */
.dp-opening{
  display:block!important;
  left:37.25%!important;top:5.6%!important;
  width:25.9%!important;height:76.4%!important;
  position:absolute!important;z-index:5!important;
  background:linear-gradient(100deg,#120f0e 0%,#241b18 58%,#352723 100%)!important;
  box-shadow:inset 0 0 0 8px #33251e,inset 18px 0 34px rgba(0,0,0,.72)!important;
}
.dp-door-leaf.generic-door{overflow:hidden!important;background:#33251e!important;backface-visibility:hidden!important}
.dp-door-leaf.generic-door .dp-installed-door{backface-visibility:hidden!important}
.dp-door-leaf.generic-door::after{border-width:10px!important}

.dp-door-leaf.generic-door .dp-installed-door{clip-path:inset(1% 3% 2% 1%)!important}
p-shadow(5px 6px 8px rgba(0,0,0,.3))!important}
.dp-static-frame.generic-door{left:70%!important;top:13.5%!important;width:17.5%!important;height:75%!important;box-shadow:inset 20px 0 #33261f,inset -20px 0 #33261f,inset 0 4px #33261f,inset 0 -4px #33261f!important}
.dp-door-leaf.generic-door .dp-installed-door{width:170%!important;height:160%!important}
.dp-door-leaf.generic-door .dp-door-handle{right:22%!important}

.dp-door-leaf.generic-door{left:70%!important;top:13.5%!important;width:17.5%!important;height:75%!important;animation:none!important;transform:none}

.dp-opening{display:none!important}

.dp-static-frame.generic-door{display:none!important}
.dp-door-leaf.generic-door .dp-installed-door{inset:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:fill!important;object-position:center!important;transform:none;clip-path:none!important}
.dp-door-leaf.generic-door .dp-door-handle{right:8.5%!important}

.dp-door-leaf.generic-door{z-index:8!important;background:#2b201b!important}
.dp-door-leaf.generic-door .dp-installed-door{display:block!important;position:absolute!important;z-index:10!important;opacity:1!important;visibility:visible!important}
.dp-door-leaf.generic-door .dp-door-handle{z-index:12!important}

.dp-door-leaf.generic-door::after{display:block!important;content:''!important;position:absolute!important;inset:0!important;z-index:11!important;pointer-events:none!important;box-sizing:border-box!important;border:10px solid #33251e!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)!important}

/* Static professional preview: no door motion */
.dp-door-leaf,.dp-door-leaf.generic-door{transition:none!important}.dp-installed-door{animation:none!important;transition:none!important;transform:none}


/* Centered luxury foyer — full clean door fitted inside the frame */
.dp-door-leaf,
.dp-door-leaf.generic-door{
  left:37.25%!important;
  top:5.6%!important;
  width:25.9%!important;
  height:76.4%!important;
  animation:none!important;
  transition:none!important;
  transform:none;
  transform-origin:center!important;
}
.dp-door-leaf.generic-door .dp-installed-door{
  inset:0!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  transform:none;
}
.dp-door-leaf.generic-door::after{border-width:8px!important}
.dp-door-leaf.generic-door .dp-door-handle{right:8.5%!important}


/* Professional automatic open-and-close door motion */
.dp-room-stage{perspective:1400px!important}
.dp-door-leaf.generic-door{
  transform-origin:4% 50%!important;
  animation:dpDoorOpenClose 7s cubic-bezier(.55,.08,.35,.95) infinite!important;
  will-change:transform;
}
@keyframes dpDoorOpenClose{
  0%,18%,100%{transform:perspective(1400px) rotateY(0deg)}
  42%,66%{transform:perspective(1400px) rotateY(-38deg)}
}
@media (prefers-reduced-motion:reduce){
  .dp-door-leaf.generic-door{animation:none!important;transform:none}
}


/* Definitive v36 door preview behavior */
.dp-opening{display:block!important;position:absolute!important;left:37.25%!important;top:5.6%!important;width:25.9%!important;height:76.4%!important;z-index:5!important;background:linear-gradient(100deg,#120f0e 0%,#241b18 58%,#352723 100%)!important;box-shadow:inset 0 0 0 8px #33251e,inset 18px 0 34px rgba(0,0,0,.72)!important}
.dp-door-leaf.generic-door{position:absolute!important;left:37.25%!important;top:5.6%!important;width:25.9%!important;height:76.4%!important;z-index:8!important;overflow:hidden!important;background:#33251e!important;transform-origin:4% 50%!important;animation:dpDoorOpenCloseV36 7s cubic-bezier(.55,.08,.35,.95) infinite!important;will-change:transform!important}
.dp-door-leaf.generic-door .dp-installed-door{display:block!important;position:absolute!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:fill!important;object-position:center!important;transform:none!important;clip-path:none!important;z-index:10!important}
.dp-door-leaf.generic-door .dp-door-handle{right:8.5%!important;z-index:12!important}
.dp-door-leaf.generic-door::after{content:''!important;display:block!important;position:absolute!important;inset:0!important;border:8px solid #33251e!important;z-index:11!important;pointer-events:none!important}
@keyframes dpDoorOpenCloseV36{0%,18%,100%{transform:perspective(1400px) rotateY(0deg)}42%,66%{transform:perspective(1400px) rotateY(-38deg)}}
@media (prefers-reduced-motion:reduce){.dp-door-leaf.generic-door{animation:none!important;transform:none!important}}
