
/* override common's table layout for the showcase overlay only (2 IDs + class
   beats common's 2-ID selectors without !important) */
#popity-overlay-outer.pp-showcase-overlay #popity-overlay-middle{background:transparent;display:block}
#popity-overlay-outer.pp-showcase-overlay #popity-overlay-inner{display:block;height:100%}
#popity-overlay-outer.pp-showcase-overlay #popity-media-outer{display:flex;align-items:stretch;justify-content:center;width:100%;height:100vh;height:100dvh;vertical-align:initial;background:transparent}
/* ===== shared shell ===== */
#popity.pp-showcase{position:relative;width:100%;max-width:none;height:100vh;height:100dvh;margin:0;background:#fff;display:flex;flex-direction:row;overflow:hidden;box-sizing:border-box;font-family:'Roboto',ui-sans-serif,system-ui,sans-serif;color:#000;border-radius:0}
#popity.pp-showcase *{box-sizing:border-box}
#popity.pp-showcase .pp-hero{position:relative;overflow:hidden;flex:0 0 50%;height:100%;background:#11131a}
#popity.pp-showcase .pp-panel{flex:1 1 auto;min-width:0;padding:48px clamp(40px,5vw,88px);display:flex;flex-direction:column;justify-content:center}
#popity.pp-showcase .step-first,#popity.pp-showcase .step-second{flex-direction:column}
#popity.pp-showcase .hide{display:none}
#popity.pp-showcase .show{display:block}
#popity.pp-showcase .pp-mb{display:none}
#popity.pp-showcase .pp-dt{display:block}
/* close */
#popity.pp-showcase .pp-close{position:absolute;top:18px;right:22px;z-index:40;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;box-shadow:0 1px 5px rgba(0,0,0,.28);padding:0;margin:0}
#popity.pp-showcase .pp-close:hover{background:#fff}
/* ===== panel copy ===== */
#popity.pp-showcase .pp-tagline{font-family:'Roboto',ui-sans-serif,sans-serif;font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.04em;margin:0 0 14px;line-height:1.2;color:#b90202}
#popity.pp-showcase .pp-headline{font-family:'Lato',ui-sans-serif,sans-serif;font-weight:900;font-size:38px;line-height:1.12;margin:0 0 14px;text-wrap:balance;color:#000}
#popity.pp-showcase .pp-body{font-family:'Roboto',ui-sans-serif,sans-serif;font-size:18px;line-height:1.55;margin:0 0 24px;color:#000;white-space:pre-line}
#popity.pp-showcase .pp-body.pp-list{white-space:normal}
#popity.pp-showcase .pp-body ul{list-style:none;margin:0;padding:0;text-align:left;display:inline-block}
#popity.pp-showcase .pp-body ul li{position:relative;padding-left:26px;margin-bottom:9px;font-size:14.5px;line-height:1.38;font-weight:400}
#popity.pp-showcase .pp-body ul li:last-child{margin-bottom:0}
#popity.pp-showcase .pp-body ul li.pp-tick::before{content:"✔";position:absolute;left:0;top:0;color:#89B733;font-weight:700}
#popity.pp-showcase .pp-body ul li.pp-lead{padding-left:0;font-weight:700;margin-bottom:11px}
#popity.pp-showcase .pp-cta{flex-direction:column;align-items:flex-start}
/* Decision/redirect CTA is auto-width + left-aligned on desktop (full-width is
   reserved for mobile tap targets). */
#popity.pp-showcase .pp-cta .btn-yes,#popity.pp-showcase .pp-cta .yes-button,#popity.pp-showcase .pp-cta .yes-link{width:auto;min-width:220px;max-width:100%}
/* The opt-in "No thanks" link is a direct child of the block-level step; align
   it left to match the left-aligned CTA (it was jumping center vs left). */
/* Opt-in "No thanks, maybe later": hidden on desktop (the X close covers it),
   shown + centered on mobile. */
#popity.pp-showcase .no-link{display:none;width:fit-content;margin-left:auto;margin-right:auto}
/* CTA stacks carry both .pp-cta and .pp-dt/.pp-mb. .pp-cta would set a display
   that ties with (and, being later, beats) the .pp-dt/.pp-mb toggle, so the
   hidden breakpoint's CTA leaked through. Drive the CTA display from the
   higher-specificity combined selector instead. */
#popity.pp-showcase .pp-cta.pp-dt{display:flex}
#popity.pp-showcase .pp-cta.pp-mb{display:none}
#popity.pp-showcase .btn-yes,#popity.pp-showcase .yes-button,#popity.pp-showcase .yes-link{appearance:none;border:none;cursor:pointer;font-family:'Roboto',ui-sans-serif,sans-serif;font-weight:700;font-size:18px;color:#fff;background:var(--pp-cta,#0063A8);padding:17px 22px;border-radius:4px;width:100%;text-align:center;transition:opacity .2s;box-shadow:0 8px 18px rgba(0,0,0,.16);text-decoration:none;display:block}
#popity.pp-showcase .btn-yes:hover,#popity.pp-showcase .yes-button:hover,#popity.pp-showcase .yes-link:hover{opacity:.85}
#popity.pp-showcase .btn-no{appearance:none;border:none;cursor:pointer;background:none;font-family:'Roboto',ui-sans-serif,sans-serif;font-size:13px;font-style:italic;color:#8a8a92;text-decoration:underline;text-underline-offset:2px;margin-top:15px;align-self:flex-start;transition:color .15s;width:auto;padding:6px}
#popity.pp-showcase .btn-no:hover{color:#555}
#popity.pp-showcase #pp-form{padding-top:4px}
#popity.pp-showcase #pp-form input[type=email]{width:100%;padding:14px 16px;font-size:15px;font-family:'Roboto',ui-sans-serif,sans-serif;border:1px solid #cfcfcf;border-radius:4px;margin:0 0 13px;outline:none}
#popity.pp-showcase #pp-form input[type=email]:focus{border-color:#0063A8}
#popity.pp-showcase .cf-turnstile{margin:0 0 12px}
/* Desktop opt-in: email + submit on one row (turnstile wraps below), submit
   auto-width to roughly match the decision button. Mobile reverts to stacked. */
#popity.pp-showcase #pp-form form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
#popity.pp-showcase #pp-form input[type=email]{flex:1 1 200px;width:auto;margin:0;order:1;padding:0 16px;min-height:52px}
#popity.pp-showcase #pp-form .infusion-submit{order:2;flex:0 0 auto;margin:0}
#popity.pp-showcase #pp-form .yes-link{width:auto;min-width:200px;padding:0 26px;min-height:52px;font-size:16px;display:flex;align-items:center;justify-content:center}
#popity.pp-showcase #pp-form .cf-turnstile{order:3;flex-basis:100%;margin:10px 0 0}
#popity.pp-showcase .pp-privacy{font-family:'Roboto',ui-sans-serif,sans-serif;font-size:12px;color:#666;margin:6px 0 0;text-align:center}
#popity.pp-showcase .pp-error{color:#c00;font-size:14px;text-align:center;margin:8px 0 0}
/* ===== DOWNLOAD hero ===== */
#popity.pp-showcase .pp-hero-download{background:radial-gradient(120% 90% at 50% 8%,#f3f7fb 0%,#dfe8f1 55%,#c7d5e3 100%)}
#popity.pp-showcase .pp-paper{position:absolute;left:50%;top:50%;width:52%;height:64%;background:#fff;border-radius:5px;box-shadow:0 10px 28px rgba(31,58,90,.22)}
#popity.pp-showcase .pp-paper-1{transform:translate(-50%,-50%) rotate(0deg)}
#popity.pp-showcase .pp-paper-2{transform:translate(-62%,-52%) rotate(-7deg);opacity:.9}
#popity.pp-showcase .pp-paper-3{transform:translate(-38%,-48%) rotate(7deg);opacity:.82}
#popity.pp-showcase .pp-mockup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:68%;max-height:76%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 14px 26px rgba(31,58,90,.28))}
#popity.pp-showcase .pp-callout{position:absolute;top:16px;left:16px;z-index:6;width:74px;height:74px;border-radius:50%;background:#FFCC32;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.22);text-align:center}
#popity.pp-showcase .pp-callout b{font-family:'Lato',ui-sans-serif,sans-serif;font-weight:900;font-size:30px}
#popity.pp-showcase .pp-callout span{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
#popity.pp-showcase .pp-caption{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:6;background:rgba(17,19,26,.78);color:#fff;white-space:nowrap;font-size:11.5px;font-weight:600;padding:5px 13px;border-radius:999px;max-width:86%;overflow:hidden;text-overflow:ellipsis}
/* ===== IMAGE hero (full-bleed background photo) ===== */
#popity.pp-showcase .pp-hero-download.has-bg{background:#11131a}
#popity.pp-showcase .pp-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
/* Product icon: bottom-left (before/after + video heroes use this size too). */
#popity.pp-showcase .pp-corner{position:absolute;left:16px;bottom:16px;z-index:8;width:112px;height:auto;max-height:128px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.5))}
/* On the image hero the product is the hook, so it's larger. */
#popity.pp-showcase .pp-hero-download.has-bg .pp-corner{width:clamp(200px,30%,340px);max-height:52%;left:22px;bottom:22px}
/* Caption pill: top-center on the image hero, separate from the bottom-left icon. */
#popity.pp-showcase .pp-hero-download.has-bg .pp-caption{top:16px;bottom:auto;max-width:70%}
/* ===== VIDEO hero ===== */
#popity.pp-showcase .pp-hero-video{background:radial-gradient(120% 80% at 70% 12%,rgba(255,255,255,.10),transparent 60%),linear-gradient(180deg,#0a0f25 0%,#182250 52%,#3b3358 100%)}
#popity.pp-showcase .pp-hero-video::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(1.4px 1.4px at 20% 28%,#fff,transparent),radial-gradient(1.2px 1.2px at 62% 18%,#fff,transparent),radial-gradient(1.6px 1.6px at 80% 40%,#fff,transparent),radial-gradient(1px 1px at 38% 52%,#fff,transparent),radial-gradient(1.3px 1.3px at 50% 70%,#fff,transparent),radial-gradient(1px 1px at 88% 64%,#fff,transparent);opacity:.7}
#popity.pp-showcase .pp-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
#popity.pp-showcase .pp-video-el{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
#popity.pp-showcase .pp-scrim{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,0) 24%,rgba(0,0,0,0) 60%,rgba(0,0,0,.55) 100%)}
#popity.pp-showcase .pp-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;width:74px;height:74px;border-radius:50%;border:none;cursor:pointer;padding-left:5px;background:rgba(255,255,255,.95);color:#111;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(0,0,0,.4)}
#popity.pp-showcase .pp-play::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,255,255,.5)}
#popity.pp-showcase .pp-hero-video.is-playing .pp-play,#popity.pp-showcase .pp-hero-video.is-playing .pp-poster{opacity:0;pointer-events:none}
#popity.pp-showcase .pp-dur{position:absolute;bottom:14px;right:14px;z-index:6;background:rgba(0,0,0,.78);color:#fff;font-weight:700;font-size:13px;letter-spacing:.02em;padding:5px 10px;border-radius:4px;font-variant-numeric:tabular-nums}
#popity.pp-showcase .pp-meta{position:absolute;top:14px;left:14px;z-index:6;display:flex;align-items:center;gap:7px;background:rgba(0,0,0,.5);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px 5px 9px;border-radius:999px;white-space:nowrap}
#popity.pp-showcase .pp-rec{width:7px;height:7px;border-radius:50%;background:#FFCC32;box-shadow:0 0 8px #FFCC32}
/* ===== BEFORE / AFTER hero ===== */
#popity.pp-showcase .pp-hero-ba{background:#51545b}
#popity.pp-showcase .ba-stage{position:absolute;inset:0;touch-action:none;cursor:ew-resize}
#popity.pp-showcase .ba-after,#popity.pp-showcase .ba-before{position:absolute;inset:0}
#popity.pp-showcase .ba-after{background:linear-gradient(180deg,#f6b25f 0%,#d76b46 42%,#6a3b6b 78%,#2b2347 100%)}
#popity.pp-showcase .ba-before{background:linear-gradient(180deg,#9aa3ad 0%,#7c828b 50%,#51545b 100%);clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
#popity.pp-showcase .ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#popity.pp-showcase .ba-label{position:absolute;top:12px;z-index:6;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:4px}
#popity.pp-showcase .ba-label-before{left:12px;background:rgba(0,0,0,.6);color:#fff}
#popity.pp-showcase .ba-label-after{right:12px;background:#FFCC32;color:#111}
#popity.pp-showcase .ba-badge{position:absolute;top:14px;left:12px;z-index:6;background:#FFCC32;color:#111;font-size:12px;font-weight:800;letter-spacing:.02em;padding:5px 11px;border-radius:4px}
#popity.pp-showcase .ba-divider{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:#fff;transform:translateX(-1px);z-index:7;box-shadow:0 0 0 1px rgba(0,0,0,.12);display:none}
#popity.pp-showcase .ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;color:#111;cursor:ew-resize;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,.45);outline:none;border:none;padding:0}
#popity.pp-showcase .ba-handle:focus-visible{box-shadow:0 0 0 3px #0063A8}
#popity.pp-showcase .ba-drag-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:6;background:rgba(0,0,0,.55);color:#fff;white-space:nowrap;pointer-events:none;font-size:11px;padding:4px 12px;border-radius:999px;transition:opacity .2s;display:none}
#popity.pp-showcase .ba-stage.ba-ready .ba-divider{display:block}
#popity.pp-showcase .ba-stage.ba-ready .ba-drag-hint{display:block}
#popity.pp-showcase .ba-stage.is-dragging .ba-drag-hint{opacity:0}
/* ===== mobile: dismissible 360px modal over a dimmed page ===== */
@media only screen and (max-width:899px){
  #popity-overlay-outer.pp-showcase-overlay #popity-media-outer{align-items:center;background:var(--pp-scrim,rgba(0,0,0,.15));height:100vh;height:100dvh;padding:24px 0}
  #popity.pp-showcase{width:calc(100vw - 32px);max-width:420px;margin-left:auto;margin-right:auto;height:624px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);flex-direction:column;border-radius:8px;box-shadow:0 34px 90px rgba(0,0,0,.55)}
  #popity.pp-showcase .pp-hero{flex:0 0 236px;width:100%;height:236px}
  #popity.pp-showcase .pp-panel{padding:20px 26px 24px;justify-content:flex-start;text-align:center;overflow-y:auto}
  #popity.pp-showcase .pp-panel>*{flex-shrink:0}
  #popity.pp-showcase .pp-close{width:44px;height:44px;top:8px;right:8px}
  /* On mobile the close sits over the hero's top-right corner; shift the
     Before/After "After" label clear of it (on desktop the close is over the
     copy panel, so this only matters at the mobile breakpoint). */
  #popity.pp-showcase .ba-label-after{right:58px}
  #popity.pp-showcase .pp-dt{display:none}
  #popity.pp-showcase .pp-mb{display:block}
  #popity.pp-showcase .pp-cta.pp-dt{display:none}
  #popity.pp-showcase .pp-cta.pp-mb{display:flex}
  #popity.pp-showcase .pp-tagline{font-size:11.5px}
  #popity.pp-showcase .pp-headline{font-size:20px;line-height:1.18;margin-bottom:12px;min-height:0}
  #popity.pp-showcase .pp-body{font-size:14px;margin-bottom:16px}
  #popity.pp-showcase .btn-yes,#popity.pp-showcase .yes-button,#popity.pp-showcase .yes-link{font-size:15.5px;padding:14px 16px;min-height:48px}
  #popity.pp-showcase .btn-no{min-height:30px}
  #popity.pp-showcase .pp-mb .cf-turnstile{display:flex;justify-content:center}
  #popity.pp-showcase .pp-play{width:60px;height:60px}
  #popity.pp-showcase .pp-callout{width:60px;height:60px}
  #popity.pp-showcase .pp-callout b{font-size:24px}
  #popity.pp-showcase .pp-mockup{max-width:58%;max-height:72%}
  #popity.pp-showcase .pp-corner{width:60px;height:auto;max-height:74px;left:12px;bottom:12px}
  #popity.pp-showcase .pp-hero-download.has-bg .pp-corner{width:96px;max-height:118px;left:12px;bottom:12px}
  #popity.pp-showcase .pp-hero-download.has-bg .pp-caption{top:12px;max-width:66%}
  /* Mobile: full-width CTA, centered controls, stacked opt-in form. */
  #popity.pp-showcase .pp-cta{align-items:center}
  #popity.pp-showcase .pp-cta .btn-yes,#popity.pp-showcase .pp-cta .yes-button,#popity.pp-showcase .pp-cta .yes-link{width:100%;min-width:0}
  #popity.pp-showcase .btn-no{align-self:center}
  #popity.pp-showcase .no-link{margin-left:auto;margin-right:auto}
  #popity.pp-showcase #pp-form form{display:flex;flex-direction:column;gap:13px;align-items:stretch}
  #popity.pp-showcase #pp-form input[type=email]{flex:0 0 auto;width:100%;height:52px;min-height:52px;margin:0;order:1;padding:0 16px}
  #popity.pp-showcase #pp-form .infusion-submit{order:2;margin:0;width:100%;flex:0 0 auto}
  #popity.pp-showcase #pp-form .yes-link{width:100%;min-width:0;order:2;min-height:52px}
  #popity.pp-showcase #pp-form .cf-turnstile{order:3;margin:2px 0 0}
  #popity.pp-showcase .pp-privacy{text-align:center}
  #popity.pp-showcase .no-link{display:block}
}
