/* Purity Forge Labs canonical interaction and motion system — PFL-R322 */
:root{
  --pfl-action:#2ED9C6;
  --pfl-action-hover:#5EEAD4;
  --pfl-action-ink:#06231F;
  --pfl-focus:#5EEAD4;
  --pfl-steel:rgba(143,166,188,.45);
  --pfl-motion-fast:160ms;
  --pfl-motion-standard:200ms;
  --pfl-motion-page:260ms;
  --pfl-ease:cubic-bezier(.2,.7,.2,1);
}

/* Page families: Home remains expressive; browse/editorial routes enter quietly;
   functional routes never receive decorative page-entry motion. */
html.pfl-motion-capable body.pfl-motion-browse #inner-wrap,
html.pfl-motion-capable body.pfl-motion-editorial #inner-wrap{
  opacity:0;
  transform:translateY(8px);
  transition:opacity var(--pfl-motion-page) ease,transform var(--pfl-motion-page) var(--pfl-ease) !important;
}
html.pfl-motion-capable.pfl-motion-ready body.pfl-motion-browse #inner-wrap,
html.pfl-motion-capable.pfl-motion-ready body.pfl-motion-editorial #inner-wrap{
  opacity:1;
  transform:none;
}
html.pfl-motion-capable body.pfl-motion-editorial #inner-wrap{
  transition-duration:240ms !important;
}
body.pfl-motion-functional #inner-wrap,
body.pfl-motion-quiet #inner-wrap{
  opacity:1;
  transform:none;
}

/* Decorative stars are Home-only. Hiding the canvas before its bootstrap keeps
   the existing animation loop from starting on browse, editorial, and forms. */
body:not(.pfl-motion-rich) #pfl-stars{
  display:none !important;
  width:0 !important;
  height:0 !important;
  opacity:0 !important;
}

/* Internal navigation feedback. */
#pfl-nav-progress{
  position:fixed;
  inset:0 0 auto;
  z-index:2147483000;
  height:2px;
  pointer-events:none;
  opacity:0;
  overflow:hidden;
}
#pfl-nav-progress span{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,#2ED9C6,#5EEAD4);
  box-shadow:0 0 12px rgba(94,234,212,.55);
  transform:scaleX(0);
  transform-origin:left center;
}
#pfl-nav-progress.is-started{opacity:1}
#pfl-nav-progress.is-started span{transform:scaleX(.12);transition:transform 90ms ease}
#pfl-nav-progress.is-advanced span{transform:scaleX(.74);transition:transform 650ms var(--pfl-ease)}
#pfl-nav-progress.is-complete{opacity:0;transition:opacity 180ms ease 90ms}
#pfl-nav-progress.is-complete span{transform:scaleX(1);transition:transform 120ms ease}

/* Readiness is opacity-only: no blur, zoom, grain, layout shift, or delayed failure. */
img.pfl-img-pending{
  opacity:.01;
  transition:opacity 190ms ease !important;
}
img.pfl-img-pending.pfl-img-ready{opacity:1}

/* One focus language everywhere. */
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--pfl-focus) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 4px rgba(94,234,212,.14);
}

/* One primary-action color and response across custom and WooCommerce surfaces. */
:is(
  body.home .pfl-r266-button-primary,
  #pfl-home .pfl-hx-primary,
  #pfl-faq .pfl-btn,
  #pfl-contact .pfl-submit,
  .pfl-launchband button,
  .pfl-prelaunch button,
  .woocommerce a.button.alt,
  .woocommerce button.button.alt,
  .woocommerce button.single_add_to_cart_button,
  .woocommerce .checkout-button,
  .woocommerce #place_order
){
  background:var(--pfl-action) !important;
  border-color:var(--pfl-action) !important;
  color:var(--pfl-action-ink) !important;
  transition:background-color var(--pfl-motion-standard) ease,border-color var(--pfl-motion-standard) ease,color var(--pfl-motion-standard) ease,box-shadow var(--pfl-motion-standard) ease,transform 180ms var(--pfl-ease) !important;
}
html body.home #inner-wrap#inner-wrap .pfl-r266-button-primary{
  background:var(--pfl-action) !important;
  border-color:var(--pfl-action) !important;
  color:var(--pfl-action-ink) !important;
  transition:background-color var(--pfl-motion-standard) ease,border-color var(--pfl-motion-standard) ease,color var(--pfl-motion-standard) ease,box-shadow var(--pfl-motion-standard) ease,transform 180ms var(--pfl-ease) !important;
}

/* One quiet secondary-action response on Home. */
:is(body.home .pfl-r266-button-secondary,#pfl-home .pfl-hx-ghost){
  background:rgba(255,255,255,.04) !important;
  border-color:var(--pfl-steel) !important;
  color:#EDF1F6 !important;
  transition:background-color var(--pfl-motion-standard) ease,border-color var(--pfl-motion-standard) ease,color var(--pfl-motion-standard) ease,box-shadow var(--pfl-motion-standard) ease,transform 180ms var(--pfl-ease) !important;
}

@media(hover:hover){
  :is(
    body.home .pfl-r266-button-primary,
    #pfl-home .pfl-hx-primary,
    #pfl-faq .pfl-btn,
    #pfl-contact .pfl-submit,
    .pfl-launchband button,
    .pfl-prelaunch button,
    .woocommerce a.button.alt,
    .woocommerce button.button.alt,
    .woocommerce button.single_add_to_cart_button,
    .woocommerce .checkout-button,
    .woocommerce #place_order
  ):hover{
    background:var(--pfl-action-hover) !important;
    border-color:var(--pfl-action-hover) !important;
    color:var(--pfl-action-ink) !important;
    transform:translateY(-1px);
    box-shadow:0 8px 24px rgba(45,217,198,.22);
  }
  html body.home #inner-wrap#inner-wrap .pfl-r266-button-primary:hover{
    background:var(--pfl-action-hover) !important;
    border-color:var(--pfl-action-hover) !important;
    color:var(--pfl-action-ink) !important;
    transform:translateY(-1px);
    box-shadow:0 8px 24px rgba(45,217,198,.22);
  }
  :is(body.home .pfl-r266-button-secondary,#pfl-home .pfl-hx-ghost):hover{
    background:rgba(94,234,212,.09) !important;
    border-color:rgba(94,234,212,.66) !important;
    color:#FFFFFF !important;
    transform:translateY(-1px);
  }
  body.pfl-motion-functional :is(#pfl-contact .pfl-submit,.woocommerce .checkout-button,.woocommerce #place_order):hover{
    transform:none;
  }
}

/* Product cards are a single component on Home, Shop, and PDP related surfaces. */
.pfl-shop-card{
  transition:transform var(--pfl-motion-standard) ease,border-color var(--pfl-motion-standard) ease !important;
}
.pfl-shop-card .pfl-shop-card-media img{
  transform-origin:50% 62%;
  transition:transform var(--pfl-motion-standard) ease,filter var(--pfl-motion-standard) ease,opacity 190ms ease !important;
}
.pfl-shop-card .pfl-shop-card-arrow{
  color:var(--pfl-action-hover) !important;
  transition:transform var(--pfl-motion-standard) ease !important;
}
.pfl-shop-card .pfl-shop-card-action{
  background:rgba(11,20,34,.6) !important;
  border-color:rgba(143,166,188,.30) !important;
  color:#EDF1F6 !important;
  transition:border-color var(--pfl-motion-fast) ease,background-color var(--pfl-motion-fast) ease !important;
}
@media(hover:hover){
  html body.pfl-motion-browse.page-id-520 #inner-wrap #pfl-home .pfl-shop-card:hover,
  html body.home #inner-wrap #featured-items .pfl-fgrid .pfl-shop-card:hover,
  html body.pfl-motion-browse.single-product #inner-wrap#inner-wrap .pfl-related-v2 .pfl-shop-card:hover{
    transform:translateY(-2px) !important;
    border-color:rgba(94,234,212,.42) !important;
  }
  .pfl-shop-card:hover .pfl-shop-card-media img{
    transform:scale(1.035);
    filter:brightness(1.04);
  }
  .pfl-shop-card:hover .pfl-shop-card-arrow{transform:translateX(4px)}
  .pfl-shop-card:hover .pfl-shop-card-action{
    border-color:rgba(94,234,212,.45) !important;
    background:rgba(94,234,212,.06) !important;
  }
}

/* Old non-Home reveal classes are visually retired; the page-family entrance is
   now the sole non-Home reveal. Home keeps its reviewed hero/reveal choreography. */
body:not(.home) .pfl-reveal,
html.pfl-aon body:not(.home) .pfl-av{
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
  transition:none !important;
}

@media(prefers-reduced-motion:reduce){
  html,html.pfl-motion-capable,html.pfl-motion-ready{scroll-behavior:auto !important}
  #pfl-nav-progress{display:none !important}
  img.pfl-img-pending,img.pfl-img-pending.pfl-img-ready{opacity:1 !important;transition:none !important}
  html body.pfl-motion #inner-wrap#inner-wrap{opacity:1 !important;transform:none !important;animation:none !important;transition:none !important}
  html body.pfl-motion #inner-wrap#inner-wrap .pfl-shop-card,
  html body.pfl-motion #inner-wrap#inner-wrap .pfl-shop-card .pfl-shop-card-link,
  html body.pfl-motion #inner-wrap#inner-wrap .pfl-shop-card .pfl-shop-card-media img,
  html body.pfl-motion #inner-wrap#inner-wrap .pfl-shop-card .pfl-shop-card-arrow,
  html body.pfl-motion #inner-wrap#inner-wrap .pfl-shop-card .pfl-shop-card-action,
  :is(
    body.home .pfl-r266-button-primary,
    body.home .pfl-r266-button-secondary,
    #pfl-home .pfl-hx-primary,
    #pfl-home .pfl-hx-ghost,
    #pfl-faq .pfl-btn,
    #pfl-contact .pfl-submit,
    .pfl-launchband button,
    .pfl-prelaunch button,
    .woocommerce a.button.alt,
    .woocommerce button.button.alt,
    .woocommerce button.single_add_to_cart_button,
    .woocommerce .checkout-button,
    .woocommerce #place_order
  ){
    animation:none !important;
    transition:none !important;
  }
  html body.pfl-motion #inner-wrap#inner-wrap .pfl-shop-card:hover,
  html body.pfl-motion #inner-wrap#inner-wrap .pfl-shop-card:hover .pfl-shop-card-media img,
  html body.pfl-motion #inner-wrap#inner-wrap .pfl-shop-card:hover .pfl-shop-card-arrow{
    transform:none !important;
    filter:none !important;
  }
  html body.home #inner-wrap#inner-wrap .pfl-r266-button-primary{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
}
