/* Isolated Black Friday popup: does not modify the JTL template. */
.pz-bf, .pz-bf *, .pz-bf *::before, .pz-bf *::after { box-sizing:border-box; }
.pz-bf { font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; color:#fff; }
.pz-bf [hidden] { display:none !important; }
.pz-bf__bubble { position:fixed; z-index:2147482998; width:60px; height:60px; padding:0; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:linear-gradient(135deg,#ff6333,#be1737 65%,#7a1533); box-shadow:0 8px 28px rgba(146,15,41,.43),0 0 0 5px rgba(255,63,67,.12); color:#fff; font-size:20px; font-weight:950; letter-spacing:-.08em; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease; }
.pz-bf__bubble:hover { transform:scale(1.08); box-shadow:0 12px 34px rgba(146,15,41,.55),0 0 0 7px rgba(255,63,67,.15); }
.pz-bf__bubble:focus-visible,.pz-bf__copy:focus-visible,.pz-bf__close:focus-visible,.pz-bf__cta:focus-visible {outline:3px solid #ff9a7b;outline-offset:4px;}
.pz-bf__bubble-dot { position:absolute; top:3px; right:3px; width:11px; height:11px; border-radius:50%; border:2px solid #1e090b; background:#fff; }
.pz-bf__bubble-text { font-style:italic; padding-right:3px; }
.pz-bf__bubble--right_bottom { right:var(--pz-bf-offset,24px); bottom:85px; }
.pz-bf__bubble--left_bottom { left:var(--pz-bf-offset,24px); bottom:85px; }
.pz-bf__bubble--right_middle { right:var(--pz-bf-offset,24px); top:50%; transform:translateY(-50%); }
.pz-bf__bubble--left_middle { left:var(--pz-bf-offset,24px); top:50%; transform:translateY(-50%); }
.pz-bf__bubble--right_middle:hover,.pz-bf__bubble--left_middle:hover { transform:translateY(-50%) scale(1.08); }
.pz-bf__overlay { position:fixed; inset:0; z-index:2147482999; display:flex; align-items:center; justify-content:center; background:rgba(4,5,9,.82); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:24px; overflow:auto; }
.pz-bf__dialog { position:relative; width:min(100%,620px); max-height:calc(100dvh - 48px); overflow-y:auto; background:#131316; border:1px solid #353035; border-radius:18px; color:#fff; box-shadow:0 32px 110px rgba(0,0,0,.65); animation:pz-bf-appear .26s ease-out both; scrollbar-width:thin; }
@keyframes pz-bf-appear { from {opacity:0; transform:translateY(20px) scale(.97)} to {opacity:1; transform:translateY(0) scale(1)} }
.pz-bf__close { position:absolute; z-index:2; right:17px; top:16px; border:1px solid rgba(255,255,255,.18); border-radius:50%; width:34px; height:34px; display:flex; justify-content:center; align-items:center; padding:0; background:rgba(0,0,0,.25); color:#e9e9ed; cursor:pointer; transition:background .2s ease; }
.pz-bf__close:hover {background:rgba(255,255,255,.16);}
.pz-bf__hero { text-align:center; position:relative; min-height:320px; padding:36px 44px 20px; background:radial-gradient(ellipse at 50% 92%,rgba(222,29,53,.33),transparent 63%),linear-gradient(160deg,#191416 0%,#0d0e11 68%,#291015 100%); overflow:hidden; }
.pz-bf__hero::before {content:"";position:absolute;left:-20%;right:-20%;top:-55%;height:120%;pointer-events:none;background:repeating-linear-gradient(119deg, transparent 0,transparent 31px,rgba(255,255,255,.018) 32px,transparent 33px);}
.pz-bf__hero::after {content:"";position:absolute;inset:0;pointer-events:none;border-bottom:1px solid rgba(246,71,76,.22);}
.pz-bf__logo { position:relative; display:block; margin-bottom:31px; font-size:12px; font-weight:850; letter-spacing:.2em; }
.pz-bf__logo-icon { font-size:17px; color:#fc6a56; vertical-align:middle; }
.pz-bf__eyebrow { position:relative; display:block; color:#ff7962; font-size:12px; font-weight:850; letter-spacing:.32em; text-transform:uppercase; }
.pz-bf__title { position:relative; margin:10px 0 12px; font-size:clamp(48px,9vw,76px); line-height:.95; letter-spacing:-.07em; font-weight:950; color:#fff; text-transform:uppercase; text-shadow:0 6px 35px rgba(0,0,0,.5); word-wrap:break-word; overflow-wrap:anywhere; }
.pz-bf__line { display:block; width:84px; height:3px; margin:20px auto 17px; background:linear-gradient(90deg,#ff7d3a,#e51a47); border-radius:3px; }
.pz-bf__desc { position:relative; margin:0 auto; max-width:430px; font-size:15px; line-height:1.65; color:#c6c2c6; white-space:pre-line; }
.pz-bf__corner { position:absolute; width:95px; height:95px; pointer-events:none; border:1px solid rgba(255,87,81,.2); transform:rotate(45deg); }
.pz-bf__corner--left { top:-61px; left:-40px; }
.pz-bf__corner--right { bottom:-68px; right:-25px; }
.pz-bf__content { padding:27px 46px 31px; text-align:center; }
.pz-bf__coupon-label { font-size:11px; font-weight:800; letter-spacing:.18em; color:#a8a6ad; margin-bottom:11px; }
.pz-bf__coupon-group { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 8px 8px 20px; min-height:65px; background:#1e1d22; border:1px dashed #7f626e; border-radius:10px; }
.pz-bf__coupon { display:block; min-width:0; color:#fff; text-align:left; font-family:ui-monospace,"SFMono-Regular",Consolas,monospace; font-size:clamp(16px,4vw,26px); letter-spacing:.055em; font-weight:800; overflow-wrap:anywhere; }
.pz-bf__copy {flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:0;border-radius:7px;background:#e83c47;color:#fff;padding:0 14px;font-size:11px;letter-spacing:.07em;font-weight:900;cursor:pointer;transition:background .2s ease;}
.pz-bf__copy:hover { background:#ff545d; }
.pz-bf__feedback { font-size:12px; color:#ff9e91; min-height:20px; margin-top:6px; }
.pz-bf__cta { width:100%; min-height:54px; display:flex; gap:12px; align-items:center; justify-content:center; text-decoration:none !important; background:linear-gradient(110deg,#fe5e39,#df244a); color:#fff !important; border-radius:8px; box-shadow:0 7px 22px rgba(194,35,60,.21); font-size:14px; font-weight:900; letter-spacing:.12em; transition:filter .2s ease,transform .2s ease; }
.pz-bf__cta:hover {filter:brightness(1.13);transform:translateY(-1px);color:#fff !important;}
.pz-bf__cta span {font-size:20px;line-height:1;}
.pz-bf__deadline { margin:19px 0 10px; color:#e8d4d6; font-size:12px; }
.pz-bf__deadline-dot {display:inline-block;width:8px;height:8px;background:#f94f52;border-radius:50%;margin-right:7px;box-shadow:0 0 0 3px rgba(249,79,82,.13);}
.pz-bf__notice {margin:0;font-size:11px;line-height:1.5;color:#87848c;}
@media(max-width:540px){.pz-bf__overlay{padding:12px;align-items:center}.pz-bf__dialog{max-height:calc(100dvh - 24px);border-radius:13px}.pz-bf__hero{min-height:270px;padding:31px 21px 22px}.pz-bf__logo{margin-bottom:26px}.pz-bf__eyebrow{font-size:10px}.pz-bf__title{font-size:clamp(42px,12vw,62px)}.pz-bf__desc{font-size:13px}.pz-bf__content{padding:23px 20px 25px}.pz-bf__coupon-group{padding-left:13px;gap:4px}.pz-bf__copy{padding:0 10px;font-size:10px}.pz-bf__copy svg{width:15px;height:15px}.pz-bf__bubble{width:52px;height:52px;font-size:18px}.pz-bf__bubble--right_bottom,.pz-bf__bubble--left_bottom{bottom:80px}}
@media(prefers-reduced-motion:reduce){.pz-bf__dialog{animation:none}.pz-bf__bubble,.pz-bf__cta,.pz-bf__close,.pz-bf__copy{transition:none}}
