/* Isolate the offer from the gallery's full-screen dialog rules. */
dialog#limino-offer{position:fixed;inset:0;box-sizing:border-box;width:min(720px,calc(100vw - 32px));height:fit-content!important;min-height:0!important;max-width:720px;max-height:min(640px,calc(100vh - 40px));max-height:min(640px,calc(100dvh - 40px));margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;border:0;border-radius:18px;background:#f6f5f0;color:#142d29}
dialog#limino-offer:not([open]){display:none}
dialog#limino-offer[open]{display:block}
dialog#limino-offer .offer-image{position:absolute;inset:0 auto 0 0;display:block;width:40%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:center;border-radius:0}
dialog#limino-offer .offer-actions{box-sizing:border-box;width:60%;margin:0 0 0 40%;padding:42px 26px 24px;text-align:center}
dialog#limino-offer .offer-close{position:absolute;inset:10px 10px auto auto;float:none;margin:0;z-index:30;width:36px;height:36px;min-height:36px;background:#142d29;color:#fff;border:1px solid #ffffff88;border-radius:50%;font:28px/1 Arial;display:flex;align-items:center;justify-content:center}
dialog#limino-offer h2{font-size:26px;line-height:1.12;margin:10px 0}
dialog#limino-offer .offer-text{font-size:13px;line-height:1.45;margin:10px 0}
dialog#limino-offer .offer-price{font-size:38px;line-height:1.1}
dialog#limino-offer .offer-note{font-size:12px;line-height:1.45;margin-top:8px}
dialog#limino-offer .offer-primary{margin-top:16px;padding:12px;font-size:14px}
@media(max-width:600px){
 dialog#limino-offer{width:min(400px,calc(100vw - 24px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
 dialog#limino-offer .offer-image{position:static;width:100%;height:140px;max-height:140px}
 dialog#limino-offer .offer-actions{width:100%;margin:0;padding:18px 20px 20px}
 dialog#limino-offer h2{font-size:23px}
 dialog#limino-offer .offer-price{font-size:34px}
}
@media(max-height:550px) and (max-width:600px){dialog#limino-offer .offer-image{height:90px;max-height:90px}}

/* A fixed dialog with inset:0 and height:auto stretches to the viewport.
   Explicit intrinsic height keeps the bottom directly below its content. */
@supports not (height:fit-content){dialog#limino-offer{inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;height:auto!important}}
dialog#limino-offer .offer-actions{height:auto!important;min-height:0!important}
dialog#limino-offer .offer-primary{white-space:normal;line-height:1.35;min-height:44px}
@media(max-width:600px){
 dialog#limino-offer{max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 dialog#limino-offer .offer-close{width:40px;height:40px;min-height:40px}
}
