/* Keep photo and privacy dialogs within the mobile viewport. */
#photo-dialog,#privacy-dialog{
 position:fixed;inset:0;margin:auto;box-sizing:border-box;
 width:calc(100% - 24px);max-height:calc(100vh - 32px);
 max-height:calc(100dvh - 32px);border-radius:18px;
 overscroll-behavior:contain;animation:none;
}
#photo-dialog{max-width:960px;padding:12px;overflow:hidden}
#photo-dialog[open]{display:flex;flex-direction:column}
#photo-dialog header{position:relative;top:0;flex:0 0 auto;gap:12px;padding:0 0 12px}
#photo-dialog h2{margin:0;min-width:0;font-size:18px;line-height:1.35;overflow-wrap:anywhere}
#photo-dialog #photo-full{min-height:0;flex:0 1 auto;width:100%;height:auto;max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);object-fit:contain;border-radius:10px}
#privacy-dialog{max-width:560px;padding:20px 24px 28px;overflow-y:auto}
#privacy-dialog .dialog-close{position:sticky;top:0;margin:0 0 12px auto;z-index:2;font-size:28px}
#privacy-dialog h2{font:400 26px/1.2 Georgia,serif;margin:0 0 20px;overflow-wrap:anywhere}
#privacy-dialog p{font:400 15px/1.7 Arial,sans-serif;margin:0 0 18px}
#privacy-dialog p:last-child{margin-bottom:0}

/* Explicit positioning also covers dialogs opened after scrolling. */
dialog{position:fixed;inset:0}
@media(min-width:701px){#checkout-dialog,#cart-dialog,#product-dialog,#service-dialog,#presentation-dialog{margin:auto}}
#checkout-dialog>.cart-heading{position:sticky;top:-28px;z-index:3;background:#fffdf9;padding-top:12px;padding-bottom:12px}
#checkout-whatsapp{display:flex;justify-content:center;align-items:center;text-align:center;text-decoration:none;box-sizing:border-box;width:100%;cursor:pointer}
#checkout-whatsapp[aria-disabled="true"]{opacity:.6;cursor:not-allowed}
#checkout-send-status{font-size:14px}
@media(max-width:700px){#checkout-dialog>.cart-heading{top:-20px}.checkout-line>div{min-width:0;overflow-wrap:anywhere}.checkout-subtotal{flex-wrap:wrap}}
