.order-dialog{width:min(1020px,calc(100% - 28px));box-shadow:0 24px 80px #20171b40;border-color:var(--gold)}.order-modal-inner{padding:44px 36px 32px}.modal-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px}.modal-media{min-width:0}.modal-stage{position:relative;background:#f5f0e8;border:1px solid var(--line);overflow:hidden}.modal-stage .modal-photo{height:390px;border:0;background:transparent;object-fit:contain;transition:opacity .2s}.photo-zoom{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--paper);color:var(--wine);padding:9px 13px;font-size:13px;box-shadow:0 4px 12px #30292710;transition:border-color .2s,transform .2s}.photo-zoom:hover{border-color:var(--gold);transform:translateY(-2px)}.photo-counter{position:absolute;top:12px;left:12px;background:var(--paper);padding:4px 10px;color:var(--wine);font-size:11px;letter-spacing:1px}.modal-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.photo-thumb{padding:3px;border:1px solid var(--line);background:white;transition:border-color .25s,transform .25s;aspect-ratio:1}.photo-thumb img{width:100%;height:100%;object-fit:contain}.photo-thumb:hover{border-color:var(--gold);transform:translateY(-2px)}.photo-thumb[aria-pressed=true]{border:2px solid var(--gold);padding:2px;box-shadow:0 0 0 2px #b5905118}.photo-hint{font-size:10px;letter-spacing:.5px;color:#9a8773;margin-top:12px;text-align:center}.zoom-dialog{padding:0;width:min(1100px,calc(100% - 28px));max-height:94vh;border:1px solid var(--gold);background:var(--paper);color:var(--ink)}.zoom-dialog::backdrop{background:#20171bea;backdrop-filter:blur(6px)}.zoom-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.zoom-toolbar span{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px}.zoom-toolbar button,.zoom-navigation button{background:var(--paper);color:var(--wine);border:1px solid var(--line);padding:8px 14px;font-size:13px}.zoom-toolbar button:hover,.zoom-navigation button:hover{border-color:var(--gold)}.zoom-canvas{height:min(70vh,750px);overflow:auto;text-align:center;background:#f5f0e8}.zoom-canvas img{width:100%;height:100%;object-fit:contain;margin:auto;cursor:zoom-in;max-width:none}.zoom-canvas img.enlarged{width:200%;height:200%;object-fit:contain;cursor:zoom-out}.zoom-navigation{display:flex;justify-content:center;gap:20px;align-items:center;padding:12px;font-size:12px}.zoom-navigation button:disabled{opacity:.4;cursor:default}@media(max-width:700px){.order-modal-inner{padding:40px 18px 24px}.modal-layout{grid-template-columns:1fr;gap:24px}.modal-stage .modal-photo{height:300px}.modal-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.zoom-toolbar span{font-size:20px}.zoom-toolbar button{padding:7px 9px}.zoom-canvas{height:65vh}}@media(prefers-reduced-motion:reduce){.photo-thumb,.photo-zoom,.modal-photo{transition:none}}

/* Keep product and zoom dialogs inside the visible browser viewport. */
.order-dialog,.zoom-dialog{box-sizing:border-box;margin:auto;max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);overscroll-behavior:contain;scrollbar-gutter:stable}.order-modal-inner,.modal-layout,.modal-info{min-width:0}.modal-info{overflow-wrap:anywhere}.modal-close{z-index:3;background:var(--paper);border-radius:50%;width:42px;height:42px;line-height:1;padding:0;position:sticky;float:right;top:0;margin-top:-30px;margin-right:-20px}.modal-layout{clear:both}.modal-thumbnails img{display:block}.zoom-toolbar{flex-wrap:wrap}.zoom-toolbar span{min-width:0;overflow-wrap:anywhere}.zoom-canvas{height:min(65dvh,650px)}.zoom-navigation{gap:8px;flex-wrap:wrap}.load-more-wrap{text-align:center;margin:32px 0 18px}.load-more-wrap p{margin-bottom:14px}.load-more[hidden]{display:none}.load-more.is-loading{pointer-events:none;opacity:.8}.load-spinner{display:none;width:17px;height:17px;border:2px solid #ffffff60;border-top-color:#fff;border-radius:50%;animation:shop-spin .7s linear infinite}.is-loading .load-spinner{display:inline-block}@keyframes shop-spin{to{transform:rotate(360deg)}}html:has(dialog[open]){overflow:hidden}
@media(max-width:700px){.order-modal-inner{padding:40px 16px 22px}.modal-stage .modal-photo{height:clamp(180px,34dvh,300px)}.modal-close{margin-right:-4px}.modal-info h2{font-size:30px}.modal-info .whatsapp{white-space:normal;padding:14px 10px}.zoom-toolbar span{font-size:20px}.zoom-toolbar button,.zoom-navigation button{padding:9px;font-size:12px}}
