/* Globalize Pizzeria v1.3 — only the promotional dialogs; never changes pizza-card layouts. */
.fo-popup-overlay.gpx-popup-overlay{
    box-sizing:border-box;
    padding:clamp(14px,3vh,32px);
    background:rgba(12,17,20,.78);
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
    overflow-y:auto;overscroll-behavior:contain;
    align-items:center;justify-content:center;
}
.fo-popup-overlay.gpx-popup-overlay.fo-visible{display:flex}
.gpx-popup-overlay .fo-popup.gpx-popup{
    display:flex;flex-direction:column;max-width:520px;width:100%;
    max-height:min(800px,calc(100dvh - 44px));overflow-y:auto;overscroll-behavior:contain;
    border-radius:22px!important;
    box-shadow:0 32px 90px rgba(0,0,0,.42),0 3px 9px rgba(0,0,0,.15);
    border:1px solid rgba(255,255,255,.12);
    position:relative;
}
.gpx-popup-overlay .fo-popup.gpx-popup:before,.gpx-popup-overlay .fo-popup.gpx-popup:after{display:none}
.gpx-popup-overlay .fo-popup.gpx-popup .fo-popup-inner{
    min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;
    padding:clamp(25px,4vw,43px) clamp(23px,4vw,42px)!important;
    text-align:left;overflow-wrap:anywhere;
}
.gpx-popup-overlay .fo-popup.gpx-popup .fo-popup-badge{
    display:inline-block;align-self:flex-start;margin:0 0 18px;
    border:1px solid currentColor!important;border-radius:100px;
    font-size:10px;line-height:1.3;letter-spacing:.12em;
    font-weight:750;padding:7px 12px;text-transform:uppercase;
    max-width:100%;
}
.gpx-popup-overlay .fo-popup.gpx-popup h3{
    font-size:clamp(24px,3vw,36px);font-weight:800;letter-spacing:-.045em;
    line-height:1.13;margin:0 0 15px;overflow-wrap:anywhere;
}
.gpx-popup-overlay .fo-popup.gpx-popup .fo-content{
    font-size:clamp(14px,1.1vw,16px);line-height:1.6;opacity:1;
    margin:0 0 18px;max-width:52ch;overflow-wrap:anywhere;
}
.gpx-popup-overlay .fo-popup.gpx-popup .fo-content p:last-child{margin-bottom:0}
.gpx-popup-overlay .fo-popup.gpx-popup .fo-pm-desc{
    font-size:clamp(14px,1.15vw,16px);line-height:1.62;
    margin:0 0 16px;opacity:1;
}
.gpx-popup-overlay .fo-popup.gpx-popup .fo-pm-price{
    font-size:clamp(29px,3vw,41px);font-weight:850;line-height:1.15;letter-spacing:-.04em;margin:5px 0 0;
}
.gpx-popup-overlay .fo-popup.gpx-popup .fo-btn{
    margin-top:12px;border:0;border-radius:11px;min-height:47px;
    display:inline-flex;align-items:center;justify-content:center;
    letter-spacing:.03em;text-transform:none;font-size:14px;font-weight:750;
    padding:12px 18px;line-height:1.3;transition:transform .15s ease,filter .15s ease;
}
.gpx-popup-overlay .fo-popup.gpx-popup .fo-btn:hover{
    transform:translateY(-2px);filter:brightness(1.06);
}
.gpx-popup-overlay .fo-popup.gpx-popup>.fo-close{
    top:14px;right:14px;z-index:20;opacity:1;border:1px solid #ffffff66;
    border-radius:50%;width:39px;height:39px;font-size:15px;
    display:grid;place-items:center;background:rgba(18,23,27,.75);
    -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
    box-shadow:0 3px 11px #0002;color:#fff!important;
}
.gpx-popup-overlay .fo-popup.gpx-popup>.fo-close:hover{background:#10171d}
.gpx-popup-overlay .fo-popup.gpx-popup>.fo-close:focus-visible{outline:3px solid #ffcaa8;outline-offset:2px}
.gpx-popup-overlay .fo-popup.gpx-popup .fo-timer-bar{height:3px;position:sticky;bottom:0;margin:0;opacity:.9;flex:none}
/* Full-size image treatment: sharp, fully visible image + softly blurred fill behind it. */
.gpx-popup-overlay .fo-popup.gpx-popup.gpx-has-media{
    display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);
    max-width:min(790px,calc(100vw - 48px));
    overflow:hidden;min-height:350px;
}
.gpx-popup-overlay .gpx-popup-media{
    min-width:0;min-height:330px;height:100%;display:flex;align-items:center;justify-content:center;
    overflow:hidden;position:relative;background:#272c2f;
}
.gpx-popup-overlay .gpx-popup-media:before{
    content:"";inset:-30px;position:absolute;z-index:0;
    background-image:var(--gpx-image);background-position:center;background-size:cover;
    filter:blur(22px) brightness(.65);opacity:.9;transform:scale(1.04);
}
.gpx-popup-overlay .gpx-popup-media:after{
    content:"";inset:0;position:absolute;background:linear-gradient(125deg,#1114,#1112);pointer-events:none;
}
.gpx-popup-overlay .gpx-popup-photo{
    position:relative;z-index:1;width:100%;height:100%;max-width:100%;max-height:490px;
    min-width:0;object-fit:var(--gpx-photo-fit,contain);object-position:var(--gpx-photo-position,center);
    display:block;margin:0;box-shadow:none;border-radius:0;
}
.gpx-popup-overlay .fo-popup.gpx-popup.gpx-has-media .fo-popup-inner{padding-right:clamp(25px,4vw,45px)!important}
.gpx-popup-overlay .fo-popup.gpx-popup.gpx-has-media .fo-timer-bar{grid-column:1/-1}
/* Two simultaneous promotions: one scrollable presentation, without broken wrappers. */
.fo-popup-overlay.gpx-popup-overlay.fo-dual-overlay{padding:14px}
.gpx-popup-overlay .fo-dual-wrap{
    width:min(790px,100%);max-width:790px;max-height:calc(100dvh - 28px);
    border-radius:22px;overflow-y:auto;overflow-x:hidden;
    overscroll-behavior:contain;gap:0;box-shadow:0 26px 80px #0006;
}
.gpx-popup-overlay .fo-dual-wrap .fo-popup.gpx-popup{
    max-width:100%;width:100%;max-height:none;min-height:0;
    box-shadow:none;border:0;border-radius:0!important;overflow:visible;
}
.gpx-popup-overlay .fo-dual-wrap .fo-popup.gpx-popup.gpx-has-media{min-height:300px}
.gpx-popup-overlay .fo-dual-wrap .gpx-popup-media{min-height:250px}
.gpx-popup-overlay .fo-dual-wrap .fo-popup.gpx-popup .fo-popup-inner{padding:26px 34px!important}
.gpx-popup-overlay .fo-dual-divider{height:3px;background:linear-gradient(90deg,transparent,#e4a87a 15%,#e4a87a 85%,transparent)}
/* Small screens: controlled media height, no cover crop and no off-screen close button. */
@media(max-width:700px){
    .fo-popup-overlay.gpx-popup-overlay,.fo-popup-overlay.gpx-popup-overlay.fo-dual-overlay{
        padding:12px;align-items:center;justify-content:center;
    }
    .gpx-popup-overlay .fo-popup.gpx-popup{
        width:100%;max-width:min(470px,calc(100vw - 24px));
        max-height:calc(100dvh - 24px);border-radius:18px!important;
    }
    .gpx-popup-overlay .fo-popup.gpx-popup.gpx-has-media{
        display:flex;flex-direction:column;width:100%;
        min-height:0;overflow-y:auto;
    }
    .gpx-popup-overlay .gpx-popup-media{
        min-height:0;height:clamp(128px,30svh,235px);flex:0 0 auto;
    }
    .gpx-popup-overlay .gpx-popup-photo{
        width:100%;height:100%;max-height:none;object-fit:contain;
    }
    .gpx-popup-overlay .fo-popup.gpx-popup .fo-popup-inner,
    .gpx-popup-overlay .fo-popup.gpx-popup.gpx-has-media .fo-popup-inner{
        padding:23px 22px 25px!important;
    }
    .gpx-popup-overlay .fo-popup.gpx-popup .fo-popup-badge{margin-bottom:13px;font-size:9px}
    .gpx-popup-overlay .fo-popup.gpx-popup h3{font-size:clamp(23px,6vw,30px);margin-bottom:11px}
    .gpx-popup-overlay .fo-popup.gpx-popup .fo-content{font-size:14px;margin-bottom:14px}
    .gpx-popup-overlay .fo-popup.gpx-popup>.fo-close{top:10px;right:10px;width:38px;height:38px}
    .gpx-popup-overlay .fo-dual-wrap{
        width:100%;max-width:470px;max-height:calc(100dvh - 24px);border-radius:17px;
    }
    .gpx-popup-overlay .fo-dual-wrap .fo-popup.gpx-popup.gpx-has-media{display:flex;min-height:0}
    .gpx-popup-overlay .fo-dual-wrap .gpx-popup-media{height:clamp(110px,22svh,195px);min-height:0}
    .gpx-popup-overlay .fo-dual-wrap .fo-popup.gpx-popup .fo-popup-inner{padding:22px!important}
}
@media(max-width:360px){
    .gpx-popup-overlay .gpx-popup-media{height:clamp(95px,24svh,155px)}
    .gpx-popup-overlay .fo-popup.gpx-popup .fo-popup-inner{padding:17px!important}
}
@media(max-height:570px) and (max-width:700px){
    .gpx-popup-overlay .gpx-popup-media{height:115px}
    .gpx-popup-overlay .fo-popup.gpx-popup .fo-popup-inner{padding:16px 20px!important}
    .gpx-popup-overlay .fo-popup.gpx-popup .fo-popup-badge{margin-bottom:9px}
}
@media(prefers-reduced-motion:reduce){
    .gpx-popup-overlay,.gpx-popup-overlay *{animation:none!important;transition:none!important}
}
/* Images embedded in rich-text flash offers must stay inside the dialog too. */
.gpx-popup-overlay .fo-popup.gpx-popup .fo-content img,
.gpx-popup-overlay .fo-popup.gpx-popup .fo-content video{
    display:block;max-width:100%;height:auto;object-fit:contain;border-radius:10px;margin:12px auto;
}
.gpx-popup-overlay .fo-popup.gpx-popup .fo-content iframe{max-width:100%;border:0}
.gpx-popup-overlay .fo-popup.gpx-popup.gpx-has-media .fo-popup-inner{
    max-height:min(800px,calc(100dvh - 44px));overflow-y:auto;overscroll-behavior:contain;
}
@media(max-width:700px){.gpx-popup-overlay .fo-popup.gpx-popup.gpx-has-media .fo-popup-inner{max-height:none;overflow-y:visible}}
body.gpx-popup-open{overflow:hidden}
