/* WP Fix It Black Friday 2.1.11 — cinematic micro-detail layer.
   Decorations are noninteractive and never change document flow or card positioning. */
.wpfi-bf4 .bf219-ambient,.wpfi-bf4 .bf219-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1;contain:paint}
.wpfi-bf4 .bf219-ambient i{position:absolute;display:block;width:min(66vw,850px);aspect-ratio:1;border-radius:50%;opacity:.24;filter:blur(38px);transform:translate3d(0,0,0);will-change:transform,opacity}
.wpfi-bf4 .bf219-ambient i:first-child{top:1%;left:-28%;background:radial-gradient(circle,#04bafc55 0%,#04bafc18 36%,transparent 68%);animation:bf219-ambient-a 24s ease-in-out infinite alternate}
.wpfi-bf4 .bf219-ambient i:last-child{top:34%;right:-30%;background:radial-gradient(circle,#f441a355 0%,#f441a316 38%,transparent 70%);animation:bf219-ambient-b 29s ease-in-out infinite alternate}
@keyframes bf219-ambient-a{from{transform:translate3d(0,0,0) scale(.93);opacity:.17}to{transform:translate3d(8%,7%,0) scale(1.08);opacity:.33}}
@keyframes bf219-ambient-b{from{transform:translate3d(0,0,0) scale(1.04);opacity:.25}to{transform:translate3d(-7%,-8%,0) scale(.95);opacity:.15}}
/* Six static elements; compositor-only float and fading. */
.wpfi-bf4 .bf219-particles i{position:absolute;width:3px;height:3px;border-radius:50%;background:#67e9ff;box-shadow:0 0 10px 2px #13d9ff65;opacity:0;animation:bf219-particle 13s ease-in-out infinite alternate;will-change:opacity,transform}
.wpfi-bf4 .bf219-particles i:nth-child(1){top:9%;left:11%;animation-delay:-2s}
.wpfi-bf4 .bf219-particles i:nth-child(2){top:15%;right:13%;background:#ff81c5;animation-delay:-8s}
.wpfi-bf4 .bf219-particles i:nth-child(3){top:36%;left:7%;animation-delay:-5s}
.wpfi-bf4 .bf219-particles i:nth-child(4){top:54%;right:9%;background:#ff81c5;animation-delay:-11s}
.wpfi-bf4 .bf219-particles i:nth-child(5){top:75%;left:18%;animation-delay:-1s}
.wpfi-bf4 .bf219-particles i:nth-child(6){top:88%;right:24%;background:#ff81c5;animation-delay:-6s}
@keyframes bf219-particle{0%,16%{opacity:0;transform:translate3d(0,8px,0) scale(.6)}48%{opacity:.62}82%,100%{opacity:.06;transform:translate3d(7px,-13px,0) scale(1.1)}}
/* V2.1.11: Clearly visible perimeter lighting on five principal panels.
   The stable 2px rim is static; the moving streaks animate only transform/opacity
   on two narrow compositor-friendly layers. No animated gradients, blur filters,
   layout animation, or additional JS/scroll observers. */
.wpfi-bf4 .bf21-launch,.wpfi-bf4 .bf4-feature,.wpfi-bf4 .bf4-card{position:relative}
.wpfi-bf4 .bf219-edge{
  position:absolute;inset:0;display:block;z-index:2;pointer-events:none;
  overflow:hidden;border-radius:inherit;
  border:2px solid rgba(19,217,255,.76);
  box-shadow:inset 0 0 0 1px rgba(255,105,173,.19),0 0 13px rgba(19,217,255,.23),0 0 19px rgba(255,105,173,.12);
  background:none!important;mask:none!important;-webkit-mask:none!important;
  animation:none!important;opacity:1!important;
  contain:paint;
}
.wpfi-bf4 .bf219-edge::before,.wpfi-bf4 .bf219-edge::after{
  content:"";position:absolute;left:0;width:36%;height:3px;
  pointer-events:none;opacity:.97;
  background:linear-gradient(90deg,transparent 0%,#13d9ff 21%,#c9f9ff 51%,#ff69ad 79%,transparent 100%);
  box-shadow:0 0 7px rgba(19,217,255,.8),0 0 14px rgba(255,105,173,.5);
  transform:translate3d(-110%,0,0);
  animation:bf221-rim-travel 8.5s linear infinite;
}
.wpfi-bf4 .bf219-edge::before{top:0}
.wpfi-bf4 .bf219-edge::after{bottom:0;animation-direction:reverse;animation-delay:-4.25s}
@keyframes bf221-rim-travel{0%{transform:translate3d(-110%,0,0)}100%{transform:translate3d(295%,0,0)}}
/* Separate timings keep the light movement natural, rather than synchronized. */
.wpfi-bf4 .bf4-feature>.bf219-edge::before,.wpfi-bf4 .bf4-feature>.bf219-edge::after{animation-duration:9.6s;animation-delay:-2s}
.wpfi-bf4 .bf4-card>.bf219-edge{border-color:rgba(19,217,255,.7);box-shadow:inset 0 0 0 1px rgba(255,105,173,.12),0 0 9px rgba(19,217,255,.18)}
.wpfi-bf4 .bf4-card>.bf219-edge::before,.wpfi-bf4 .bf4-card>.bf219-edge::after{animation-duration:12s}
.wpfi-bf4 .bf4-card:nth-child(2)>.bf219-edge::before{animation-delay:-4s}
.wpfi-bf4 .bf4-card:nth-child(3)>.bf219-edge::before{animation-delay:-8s}
.wpfi-bf4 .bf4-card:nth-child(2)>.bf219-edge::after{animation-delay:-9s}
.wpfi-bf4 .bf4-card:nth-child(3)>.bf219-edge::after{animation-delay:-5s}
/* Subtle chrome sweep constrained to the text's existing box. */
.wpfi-bf4 .bf4-main-title{position:relative;isolation:isolate}
.wpfi-bf4 .bf219-title-sheen{position:absolute;inset:0;z-index:1;pointer-events:none;display:block;background:linear-gradient(102deg,transparent 37%,#ffffff00 44%,#ffffff61 49%,#ffffff00 54%,transparent 63%);background-size:300% 100%;background-position:175% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:bf219-title 16s ease-in-out infinite}
@keyframes bf219-title{0%,72%{background-position:175% 0;opacity:0}76%{opacity:.55}89%{background-position:-85% 0;opacity:.4}94%,100%{background-position:-85% 0;opacity:0}}
/* Button sheen is triggered by interaction only, not page scroll or entire-card hover. */
.wpfi-bf4 .bf4-cta,.wpfi-bf4 a.bf14-locked,.wpfi-bf4 .bf14-signup-submit,.wpfi-bf4 .bf215-admin-test{position:relative;overflow:hidden;isolation:isolate}
.wpfi-bf4 a.bf14-locked:after,.wpfi-bf4 .bf14-signup-submit:after,.wpfi-bf4 .bf215-admin-test:after{content:"";position:absolute;top:-50%;bottom:-50%;left:-46%;width:35%;background:linear-gradient(90deg,transparent,#fff7,transparent);transform:skewX(-22deg);pointer-events:none;opacity:0}
.wpfi-bf4 a.bf14-locked:hover:after,.wpfi-bf4 a.bf14-locked:focus-visible:after,.wpfi-bf4 .bf14-signup-submit:hover:not(:disabled):after,.wpfi-bf4 .bf14-signup-submit:focus-visible:after,.wpfi-bf4 .bf215-admin-test:hover:after{animation:bf219-button-flash .65s ease-out both}
.wpfi-bf4 .bf4-cta:before{transition:left .52s ease,opacity .25s ease!important}
@keyframes bf219-button-flash{from{left:-46%;opacity:0}15%{opacity:.8}to{left:125%;opacity:0}}
/* Tick transitions are triggered by changed numbers only; no layout changes. */
.wpfi-bf4 .bf21-clock .bf14-clock-unit strong{display:inline-block;transform-origin:center;backface-visibility:hidden;will-change:auto}
/* Savings glow is independent of hover and intentionally does not move badges. */
.wpfi-bf4 .bf12-save,.wpfi-bf4 .bf12-feature-save,.wpfi-bf4 .bf4-discount{transform:none!important}
.wpfi-bf4 .bf12-save:before,.wpfi-bf4 .bf12-feature-save:before,.wpfi-bf4 .bf4-discount:before{content:"";position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#ffb96e33,transparent 72%);opacity:0;animation:bf219-badge-pulse 9s ease-in-out infinite}
.wpfi-bf4 .bf4-discount:before{background:radial-gradient(ellipse,#ff9bcb44,transparent 72%)}
.wpfi-bf4 .bf4-card:nth-child(2) .bf12-save:before,.wpfi-bf4 .bf4-card:nth-child(2) .bf4-discount:before{animation-delay:-3s}
.wpfi-bf4 .bf4-card:nth-child(3) .bf12-save:before,.wpfi-bf4 .bf4-card:nth-child(3) .bf4-discount:before{animation-delay:-6s}
@keyframes bf219-badge-pulse{0%,65%,100%{opacity:0}76%{opacity:.65}86%{opacity:0}}
/* Explicitly preserve stationary cards and stationary badge contents on hover. */
.wpfi-bf4 .bf4-card:hover,.wpfi-bf4 .bf4-feature:hover{transform:none!important}
.wpfi-bf4 .bf4-card:hover .bf4-discount,.wpfi-bf4 .bf4-card:hover .bf4-icon,.wpfi-bf4 .bf4-card:hover .bf12-save{transform:none!important}
@media(max-width:740px){.wpfi-bf4 .bf219-ambient i{filter:blur(24px);opacity:.16}.wpfi-bf4 .bf219-particles i:nth-child(n+4){display:none}.wpfi-bf4 .bf219-edge{border-width:1.5px;box-shadow:none}.wpfi-bf4 .bf219-edge::before,.wpfi-bf4 .bf219-edge::after{height:2px;animation-duration:17s;box-shadow:none}.wpfi-bf4 .bf219-title-sheen{animation-duration:22s}}
@media(prefers-reduced-motion:reduce){.wpfi-bf4 .bf219-ambient i,.wpfi-bf4 .bf219-particles i,.wpfi-bf4 .bf219-edge,.wpfi-bf4 .bf219-title-sheen,.wpfi-bf4 .bf12-save:before,.wpfi-bf4 .bf12-feature-save:before,.wpfi-bf4 .bf4-discount:before,.wpfi-bf4 a.bf14-locked:after,.wpfi-bf4 .bf14-signup-submit:after,.wpfi-bf4 .bf215-admin-test:after{animation:none!important;transition:none!important;will-change:auto!important}.wpfi-bf4 .bf219-ambient i,.wpfi-bf4 .bf219-particles i,.wpfi-bf4 .bf219-title-sheen{display:none!important}}

.wpfi-bf4 .bf219-title-sheen{font:inherit;letter-spacing:inherit;line-height:inherit;white-space:inherit;text-transform:inherit;text-shadow:none!important}

/* The light rim is exclusively attached to panel perimeters. */
.wpfi-bf4 .bf21-left>.bf219-edge,.wpfi-bf4 .bf21-launch-title .bf219-edge{display:none!important}

/* V2.1.11: reduce compositing on constrained devices and respect motion preferences. */
@media(prefers-reduced-motion:reduce){
 .wpfi-bf4 .bf219-edge::before,.wpfi-bf4 .bf219-edge::after{animation:none!important;display:none!important}
 .wpfi-bf4 .bf219-edge{border-color:rgba(19,217,255,.55)!important;box-shadow:none!important}
}
@media(max-width:480px){.wpfi-bf4 .bf219-edge::after{display:none}}

/* V2.1.12: Single showcase-only animated neon perimeter. */
/* Remove all previous perimeter animations from the countdown and small cards. */
.wpfi-bf4 .bf21-launch > .bf219-edge,
.wpfi-bf4 .bf4-card > .bf219-edge { display:none !important; }
/* Keep the effect clipped to the featured card's rounded perimeter. */
.wpfi-bf4 .bf4-feature > .bf219-edge.bf212-feature-circuit {
 display:block!important;position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3;
 border:2px solid #27eaff!important;border-radius:inherit;
 box-shadow:0 0 14px rgba(19,217,255,.60),0 0 25px rgba(255,85,181,.35),inset 0 0 11px rgba(255,85,181,.35)!important;
 background:none!important;opacity:1!important;animation:none!important;
}
/* Long but narrow streaks animate transform & opacity only, never layout or gradients. */
.wpfi-bf4 .bf4-feature > .bf212-feature-circuit::before,
.wpfi-bf4 .bf4-feature > .bf212-feature-circuit::after {
 content:"";display:block;position:absolute;left:0;width:100%;height:5px;opacity:0;
 background:linear-gradient(90deg,transparent 33%,#0be9ff 44%,#fff 50%,#ff49aa 56%,transparent 67%);
 box-shadow:0 0 9px #13d9ff,0 0 19px #ff69ad;
 animation:bf212-horizontal 8s linear infinite!important;will-change:transform,opacity;
}
.wpfi-bf4 .bf4-feature > .bf212-feature-circuit::before {top:0;animation-delay:0s!important;}
.wpfi-bf4 .bf4-feature > .bf212-feature-circuit::after {bottom:0;animation-delay:-4s!important;animation-direction:reverse!important;}
.wpfi-bf4 .bf212-feature-circuit > span {
 display:block;position:absolute;top:0;height:100%;width:5px;opacity:0;
 background:linear-gradient(180deg,transparent 31%,#0be9ff 43%,white 50%,#ff49aa 57%,transparent 69%);
 box-shadow:0 0 9px #13d9ff,0 0 19px #ff69ad;
 animation:bf212-vertical 8s linear infinite;will-change:transform,opacity;
}
.wpfi-bf4 .bf212-feature-circuit > .bf212-left {left:0;animation-delay:-2s;}
.wpfi-bf4 .bf212-feature-circuit > .bf212-right {right:0;animation-delay:-6s;animation-direction:reverse;}
@keyframes bf212-horizontal {0%{transform:translate3d(-56%,0,0);opacity:0}12%,38%{opacity:1}50%{transform:translate3d(56%,0,0);opacity:0}100%{transform:translate3d(56%,0,0);opacity:0}}
@keyframes bf212-vertical {0%{transform:translate3d(0,-58%,0);opacity:0}12%,38%{opacity:1}50%{transform:translate3d(0,58%,0);opacity:0}100%{transform:translate3d(0,58%,0);opacity:0}}
@media(max-width:740px){
 .wpfi-bf4 .bf4-feature > .bf212-feature-circuit::before,.wpfi-bf4 .bf4-feature > .bf212-feature-circuit::after {height:3px;box-shadow:none;}
 .wpfi-bf4 .bf212-feature-circuit > span{width:3px;box-shadow:none;}
 .wpfi-bf4 .bf4-feature > .bf219-edge.bf212-feature-circuit{box-shadow:0 0 10px rgba(19,217,255,.35)!important;}
}
@media(prefers-reduced-motion:reduce){
 .wpfi-bf4 .bf4-feature > .bf212-feature-circuit::before,
 .wpfi-bf4 .bf4-feature > .bf212-feature-circuit::after,
 .wpfi-bf4 .bf212-feature-circuit > span{animation:none!important;display:none!important;}
}
