/* Customer order previews only; the configurator is deliberately unaffected. */
.de-live-preview { position:relative; display:inline-block; width:80px; max-width:100%; height:96px; vertical-align:middle; border-radius:3px; overflow:hidden; background:#f4efe8; }
.de-live-preview .de-live-preview-fallback { display:block; width:100%; height:100%; }
.de-live-preview .de-live-preview-fallback img { display:block; width:100%!important; height:100%!important; object-fit:contain; margin:0!important; }
.de-live-preview .de-live-preview-canvas { position:absolute; inset:0; }
.de-live-preview .de-live-preview-canvas canvas { display:block; width:100%; height:100%; pointer-events:none; }
.de-live-preview [hidden] { display:none!important; }
.de-live-preview.is-ready .de-live-preview-fallback { display:none!important; }
.de-configured-item:has(.de-live-preview.is-ready) .de-example-caption { display:none; }
.product-name > .de-live-preview { display:block; margin-bottom:10px; }
.de-order-preview-link { display:inline-block; vertical-align:middle; }
.de-commerce-page #main .woocommerce-orders-table.shop_table tbody tr > :is(th,td) { vertical-align:middle; }
.de-order-preview-link .de-live-preview-fallback { display:flex; align-items:center; justify-content:center; }
@media(max-width:600px) {
    .product-thumbnail .de-live-preview { width:52px; height:66px; }
}

/* Blocksy hides row-header cells on phones; retain configured order previews. */
@media(max-width:689.98px) {
    .woocommerce-orders-table.shop_table_responsive tbody th:has(.de-order-preview-link) { display:block; text-align:left; }
}

/* The whole thumbnail is a button; the corner cue remains visible on touch screens. */
.de-live-preview .de-preview-open {
    position:absolute; inset:0; z-index:2; display:block; width:100%; height:100%;
    min-height:0; padding:0; border:0; border-radius:3px; background:transparent;
    box-shadow:none; cursor:zoom-in; color:#171717;
}
.de-live-preview .de-preview-open:hover { background:rgba(255,255,255,.08); }
.de-live-preview .de-preview-open:focus-visible { outline:2px solid #70552e; outline-offset:-2px; }
.de-preview-expand { position:absolute; right:2px; bottom:2px; display:grid; place-items:center; width:21px; height:21px; border:1px solid #d4ccc1; border-radius:3px; background:#fcfaf7; }
.de-preview-expand svg { display:block; }
html.de-preview-modal-open { overflow:hidden; }
.de-preview-dialog {
    box-sizing:border-box; width:min(720px,calc(100% - 32px)); max-width:none;
    max-height:calc(100dvh - 32px); margin:auto; padding:22px; border:1px solid #ddd7cf;
    border-radius:8px; background:#fcfaf7; color:#171717; box-shadow:0 16px 64px #0003;
    overflow:auto; overscroll-behavior:contain; font:14px/1.5 Arial,sans-serif;
}
.de-preview-dialog::backdrop { background:rgba(23,23,23,.58); }
.de-preview-dialog header { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.de-preview-dialog h2 { margin:0; font:normal 26px/1.2 Georgia,serif; color:#171717; }
.de-preview-dialog .de-preview-close { flex:none; min-height:44px; padding:8px 12px; border:1px solid #d4ccc1; border-radius:3px; color:#171717; background:#f4efe8; font:14px Arial,sans-serif; cursor:pointer; }
.de-preview-dialog button:focus-visible, .de-expanded-model .de-live-preview-canvas:focus-visible { outline:2px solid #70552e; outline-offset:-3px; }
.de-preview-dialog p { margin:12px 0; color:#625d57; font-size:13px; }
.de-preview-dialog .de-expanded-model { display:block; width:100%; height:min(58dvh,560px); max-width:none; margin:0; }
.de-expanded-model .de-live-preview-canvas { touch-action:none; cursor:grab; }
.de-expanded-model .de-live-preview-canvas:active { cursor:grabbing; }
.de-preview-dialog .de-preview-status:empty { display:none; }
@media(max-width:600px) {
    .de-preview-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); padding:14px; }
    .de-preview-dialog h2 { font-size:22px; }
    .de-preview-dialog .de-expanded-model { height:55dvh; }
}
