/* PFL-QUALITY-SYSTEM-R323
 * Canonical final-polish layer. Keep page-specific layout in its owning
 * component; use this file for shared quality and interaction corrections.
 */

:root{
  --pfl-quality-teal:#2ED9C6;
  --pfl-quality-teal-hover:#5EEAD4;
  --pfl-quality-ink:#06231F;
  --pfl-quality-navy:#0B1524;
  --pfl-quality-panel:#16283C;
  --pfl-quality-line:rgba(143,166,188,.30);
  --pfl-quality-muted:#A8B8CB;
  --pfl-quality-body:'Lexend',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pfl-quality-display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;
  --pfl-quality-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Consolas,monospace;
  --pfl-quality-fast:160ms;
  --pfl-quality-standard:200ms;
  --pfl-quality-radius:11px;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body.pfl-quality-r323{
  font-family:var(--pfl-quality-body);
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

body.pfl-quality-r323 :where(p,li,label,input,select,textarea,button,a){
  font-kerning:normal;
}

/* Navigation labels should have comfortable pointer and keyboard targets. */
body.pfl-quality-r323 .pfl-sh .pfl-nav a.nl{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding-block:10px;
  transition:color var(--pfl-quality-standard) ease,
             border-color var(--pfl-quality-standard) ease,
             background-color var(--pfl-quality-standard) ease;
}

body.pfl-quality-r323 .pfl-sh .pfl-nav a.nl[aria-current='page']{
  color:var(--pfl-quality-teal);
}

/* One dependable inline-link treatment across editorial and support pages. */
body.pfl-quality-r323 :where(#pfl-faq,#pfl-contact,#pfl-coa,#pfl-about,#pfl-res,#pfl-cc) main a:not([class]),
body.pfl-quality-r323 .single-product .woocommerce-product-details__short-description a{
  color:var(--pfl-quality-teal);
  text-decoration-color:rgba(46,217,198,.52);
  text-decoration-thickness:1px;
  text-underline-offset:.22em;
  transition:color var(--pfl-quality-fast) ease,
             text-decoration-color var(--pfl-quality-fast) ease;
}

@media (hover:hover) and (pointer:fine){
  body.pfl-quality-r323 :where(#pfl-faq,#pfl-contact,#pfl-coa,#pfl-about,#pfl-res,#pfl-cc) main a:not([class]):hover,
  body.pfl-quality-r323 .single-product .woocommerce-product-details__short-description a:hover{
    color:var(--pfl-quality-teal-hover);
    text-decoration-color:currentColor;
  }
}

/* Bring the two legacy outlier titles into the current display system. */
body.pfl-quality-r323.single-product .product_title,
body.pfl-quality-r323 #pfl-cc .pfl-phead h1{
  font-family:var(--pfl-quality-display)!important;
  font-weight:700!important;
  font-size:clamp(46px,5.4vw,68px)!important;
  line-height:.98!important;
  letter-spacing:-.02em!important;
  text-transform:uppercase;
  text-wrap:balance;
}

/* Keep high-resolution vial renders crisp and centered at rest. */
body.pfl-quality-r323 :where(.pfl-shop-card-media,.woocommerce-product-gallery__image) img{
  image-rendering:auto;
  object-position:50% 50%;
  backface-visibility:hidden;
}

@media (hover:hover) and (pointer:fine){
  body.pfl-quality-r323 :where(
    #pfl-home-r256.pfl-home-r256 .pfl-r266-product-grid,
    #pfl-shop-v2,
    .pfl-related-v2
  ) .pfl-shop-card:hover .pfl-shop-card-media img{
    transform:scale(1.02)!important;
    filter:brightness(1.045) contrast(1.02)!important;
  }

  /* The current Home catalog has a later, high-specificity action surface.
   * Keep its hover state byte-for-byte aligned with Shop and PDP cards. */
  html body.pfl-quality-r323.home #inner-wrap#inner-wrap #pfl-home-r256 .pfl-r266-product-grid .pfl-shop-card:hover .pfl-shop-card-action{
    border-color:rgba(94,234,212,.45)!important;
    background:rgba(94,234,212,.06)!important;
  }

  html body.pfl-quality-r323.home #inner-wrap#inner-wrap #pfl-home-r256 .pfl-r266-product-grid .pfl-shop-card:hover .pfl-shop-card-arrow{
    transform:translateX(4px)!important;
  }
}

/* Contact form: explicit dropdown affordance and a single control language. */
body.pfl-quality-r323 #pfl-contact form[aria-label='Contact support form']{
  position:relative;
}

body.pfl-quality-r323 #pfl-contact .pfl-field{
  position:relative;
}

body.pfl-quality-r323 #pfl-contact .pfl-field :where(input,select,textarea){
  border:1px solid rgba(143,166,188,.30)!important;
  background-color:rgba(255,255,255,.045)!important;
  color:#EDF3F8!important;
  caret-color:var(--pfl-quality-teal);
  transition:border-color var(--pfl-quality-fast) ease,
             box-shadow var(--pfl-quality-fast) ease,
             background-color var(--pfl-quality-fast) ease!important;
}

body.pfl-quality-r323 #pfl-contact .pfl-field :where(input,select,textarea):hover{
  border-color:rgba(94,234,212,.48)!important;
  background-color:rgba(255,255,255,.06)!important;
}

body.pfl-quality-r323 #pfl-contact .pfl-field :where(input,select,textarea):focus-visible{
  border-color:var(--pfl-quality-teal)!important;
  box-shadow:0 0 0 3px rgba(46,217,198,.16)!important;
}

body.pfl-quality-r323 #pfl-contact .pfl-field select{
  min-height:52px;
  padding-right:54px!important;
  background-image:none!important;
  color-scheme:dark;
}

body.pfl-quality-r323 #pfl-contact .pfl-field select:invalid{
  color:#91A3B8!important;
}

body.pfl-quality-r323 #pfl-contact .pfl-field select option{
  background:#132337;
  color:#EDF3F8;
}

body.pfl-quality-r323 #pfl-contact .pfl-select-indicator{
  position:absolute;
  right:18px;
  bottom:46px;
  width:10px;
  height:10px;
  border-right:2px solid var(--pfl-quality-teal);
  border-bottom:2px solid var(--pfl-quality-teal);
  transform:rotate(45deg) translateY(-2px);
  transform-origin:center;
  pointer-events:none;
  transition:transform var(--pfl-quality-fast) ease;
}

body.pfl-quality-r323 #pfl-contact .pfl-field:focus-within .pfl-select-indicator{
  border-color:var(--pfl-quality-teal-hover);
  transform:rotate(45deg) translateY(-2px) scale(1.08);
}

body.pfl-quality-r323 #pfl-contact .pfl-field-note{
  display:block;
  margin-top:7px;
  color:#93A5B9;
  font-size:12px;
  line-height:1.5;
}

body.pfl-quality-r323 #pfl-contact .pfl-submit{
  gap:10px;
  min-height:54px;
}

body.pfl-quality-r323 #pfl-contact .pfl-submit::after{
  content:'\2192';
  font-family:var(--pfl-quality-mono);
  line-height:1;
  transition:transform var(--pfl-quality-fast) ease;
}

@media (hover:hover) and (pointer:fine){
  body.pfl-quality-r323 #pfl-contact .pfl-submit:hover::after{
    transform:translateX(4px);
  }
}

body.pfl-quality-r323 #pfl-contact .pfl-form-error{
  margin:0 0 22px;
  padding:15px 17px;
  border:1px solid rgba(248,113,113,.48);
  border-radius:var(--pfl-quality-radius);
  background:rgba(127,29,29,.22);
  color:#FECACA;
  font-size:14px;
  line-height:1.55;
}

/* R325: dropdown, menu, and disclosure polish.
 * Contact remains the visual reference; this closes the quieter Catalog,
 * WooCommerce, navigation, and accordion interaction gaps without changing
 * any option values, labels, or business behavior. */
html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sortwrap{
  position:relative;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:0 12px 28px -22px rgba(0,0,0,.82);
  transition:box-shadow var(--pfl-quality-fast) ease!important;
}

html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sort{
  width:100%;
  min-height:54px;
  padding:0 50px 0 18px!important;
  border:1px solid rgba(143,166,188,.30)!important;
  border-radius:999px!important;
  background-color:#18212D!important;
  color:#EDF3F8!important;
  color-scheme:dark;
  font-family:var(--pfl-quality-body)!important;
  font-size:14px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.01em;
  cursor:pointer;
  transition:border-color var(--pfl-quality-fast) ease,
             background-color var(--pfl-quality-fast) ease,
             box-shadow var(--pfl-quality-fast) ease!important;
}

html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sortwrap::after{
  right:20px!important;
  top:50%!important;
  width:9px!important;
  height:9px!important;
  border-right:2px solid var(--pfl-quality-teal)!important;
  border-bottom:2px solid var(--pfl-quality-teal)!important;
  transform:translateY(-68%) rotate(45deg)!important;
  transform-origin:center;
  transition:transform var(--pfl-quality-fast) ease,
             border-color var(--pfl-quality-fast) ease!important;
}

html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sortwrap:focus-within{
  box-shadow:0 0 0 3px rgba(46,217,198,.16),
             0 16px 34px -24px rgba(0,0,0,.88)!important;
}

html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sort:focus,
html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sort:focus-visible{
  border-color:var(--pfl-quality-teal)!important;
  outline:none!important;
}

html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sortwrap:focus-within::after{
  border-color:var(--pfl-quality-teal-hover)!important;
  transform:translateY(-68%) rotate(45deg) scale(1.08)!important;
}

html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sort :where(option,optgroup){
  background:#132337!important;
  color:#EDF3F8!important;
  font-family:var(--pfl-quality-body);
}

@media (hover:hover) and (pointer:fine){
  html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sort:hover{
    border-color:rgba(94,234,212,.52)!important;
    background-color:#1B2735!important;
  }

  body.pfl-quality-r323 #pfl-faq .pfl-qa:hover{
    border-color:rgba(94,234,212,.30)!important;
    background:#162536!important;
  }

  body.pfl-quality-r323.single-product .pfl-pfaq-item:hover{
    border-color:rgba(14,133,120,.34);
    box-shadow:0 18px 38px -30px rgba(15,23,42,.62);
  }
}

/* FAQ and PDP disclosures retain their current visual families while gaining
 * consistent keyboard focus and clearer open-state feedback. */
body.pfl-quality-r323 #pfl-faq .pfl-qa,
body.pfl-quality-r323.single-product .pfl-pfaq-item{
  transition:border-color var(--pfl-quality-standard) ease,
             background-color var(--pfl-quality-standard) ease,
             box-shadow var(--pfl-quality-standard) ease!important;
}

body.pfl-quality-r323 #pfl-faq summary.pfl-q,
body.pfl-quality-r323.single-product summary.pfl-pfaq-q{
  transition:color var(--pfl-quality-fast) ease,
             background-color var(--pfl-quality-fast) ease,
             box-shadow var(--pfl-quality-fast) ease!important;
}

body.pfl-quality-r323 #pfl-faq summary.pfl-q:focus-visible{
  outline:none!important;
  box-shadow:inset 0 0 0 2px var(--pfl-quality-teal)!important;
  background:rgba(46,217,198,.055)!important;
}

body.pfl-quality-r323 #pfl-faq .pfl-qa[open] summary.pfl-q{
  color:#F4FBFA!important;
  background:rgba(46,217,198,.035)!important;
}

body.pfl-quality-r323.single-product summary.pfl-pfaq-q:focus-visible{
  outline:none!important;
  box-shadow:inset 0 0 0 2px rgba(14,133,120,.78)!important;
  background:#F5FBFA!important;
}

body.pfl-quality-r323.single-product .pfl-pfaq-item[open]{
  border-color:rgba(14,133,120,.30)!important;
}

/* Checkout/account dropdowns are future-ready for WooCommerce's native
 * selects and Select2 menus, using the site's light transactional surfaces. */
body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) select{
  min-height:52px!important;
  padding:0 48px 0 14px!important;
  border:1px solid #CBD5E1!important;
  border-radius:10px!important;
  background-color:#FFF!important;
  background-image:linear-gradient(45deg,transparent 50%,#0E8578 50%),
                   linear-gradient(135deg,#0E8578 50%,transparent 50%)!important;
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
  color:#0F172A!important;
  font-family:var(--pfl-quality-body)!important;
  font-size:16px!important;
  font-weight:500;
  appearance:none;
  -webkit-appearance:none;
  transition:border-color var(--pfl-quality-fast) ease,
             box-shadow var(--pfl-quality-fast) ease!important;
}

body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) select:focus-visible,
body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) .select2-container--focus .select2-selection--single,
body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) .select2-container--open .select2-selection--single{
  border-color:#0E9F90!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(14,159,144,.15)!important;
}

body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) .select2-selection--single{
  min-height:52px!important;
  border:1px solid #CBD5E1!important;
  border-radius:10px!important;
  background:#FFF!important;
  transition:border-color var(--pfl-quality-fast) ease,
             box-shadow var(--pfl-quality-fast) ease!important;
}

body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) .select2-selection--single .select2-selection__rendered{
  padding:13px 46px 13px 14px!important;
  color:#0F172A!important;
  font-family:var(--pfl-quality-body)!important;
  font-size:16px!important;
  line-height:24px!important;
}

body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) .select2-selection--single .select2-selection__arrow{
  top:3px!important;
  right:10px!important;
  width:30px!important;
  height:46px!important;
}

body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) .select2-selection--single .select2-selection__arrow b{
  border-color:#0E8578 transparent transparent!important;
}

body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) .select2-container--open .select2-selection__arrow b{
  border-color:transparent transparent #0E8578!important;
}

body.pfl-quality-r323 .select2-dropdown{
  overflow:hidden;
  border:1px solid #CBD5E1!important;
  border-radius:10px!important;
  background:#FFF!important;
  box-shadow:0 20px 44px -24px rgba(15,23,42,.45)!important;
}

body.pfl-quality-r323 .select2-search--dropdown .select2-search__field{
  min-height:44px;
  border:1px solid #CBD5E1!important;
  border-radius:8px;
  font-family:var(--pfl-quality-body);
}

body.pfl-quality-r323 .select2-results__option{
  min-height:44px;
  padding:11px 14px!important;
  color:#334155!important;
  font-family:var(--pfl-quality-body);
  font-size:15px;
  line-height:1.45;
}

body.pfl-quality-r323 .select2-results__option--highlighted[aria-selected],
body.pfl-quality-r323 .select2-results__option--highlighted[data-selected]{
  background:#E8FAF7!important;
  color:#075E55!important;
}

body.pfl-quality-r323 .select2-results__option[aria-selected='true'],
body.pfl-quality-r323 .select2-results__option[data-selected='true']{
  background:#D9F7F2!important;
  color:#064E46!important;
  font-weight:600;
}

/* The mobile navigation is already structurally sound. Add only restrained
 * row feedback so it belongs to the same interaction system. */
@media (max-width:880px){
  body.pfl-quality-r323 .pfl-sh .pfl-nav a:not(.cta){
    transition:color var(--pfl-quality-fast) ease,
               background-color var(--pfl-quality-fast) ease,
               box-shadow var(--pfl-quality-fast) ease!important;
  }

  body.pfl-quality-r323 .pfl-sh .pfl-nav a:not(.cta):focus-visible{
    outline:none!important;
    color:var(--pfl-quality-teal-hover)!important;
    background:rgba(46,217,198,.065)!important;
    box-shadow:inset 3px 0 0 var(--pfl-quality-teal)!important;
  }

  body.pfl-quality-r323 .pfl-sh .pfl-nav a.nl[aria-current='page'],
  body.pfl-quality-r323 .pfl-sh .pfl-nav a.nl.active{
    background:rgba(46,217,198,.055)!important;
    box-shadow:inset 3px 0 0 rgba(46,217,198,.72)!important;
  }
}

@media (hover:hover) and (pointer:fine) and (max-width:880px){
  body.pfl-quality-r323 .pfl-sh .pfl-nav a:not(.cta):hover{
    color:var(--pfl-quality-teal-hover)!important;
    background:rgba(46,217,198,.05)!important;
  }
}

/* Shared active feedback: immediate, restrained, and never sticky on touch. */
body.pfl-quality-r323 :where(
  .pfl-r266-button-primary,
  .pfl-r266-button-secondary,
  .pfl-submit,
  .pfl-btn,
  .pfl-fchip,
  .pfl-doc-link,
  .pfl-pl-form button,
  .pfl-lb-form button,
  .woocommerce .button
):active{
  transform:translateY(0) scale(.985)!important;
}

/* Footer interaction and compact-screen tap comfort. */
body.pfl-quality-r323 .pfl-sf a{
  text-underline-offset:.22em;
  transition:color var(--pfl-quality-fast) ease;
}

body.pfl-quality-r323 .pfl-sf .news :where(input,button){
  min-height:46px;
}

@media (hover:hover) and (pointer:fine){
  body.pfl-quality-r323 .pfl-sf a:hover{
    color:var(--pfl-quality-teal-hover);
  }
}

@media (max-width:767px){
  body.pfl-quality-r323 :where(input,select,textarea){
    font-size:16px!important;
  }

  body.pfl-quality-r323.single-product .product_title,
  body.pfl-quality-r323 #pfl-cc .pfl-phead h1{
    font-size:clamp(42px,13vw,54px)!important;
  }

  html body.single-product.postid-503 #inner-wrap #main h1.product_title.entry-title{
    font-size:clamp(40px,calc(12.8px + 8vw),54px)!important;
  }

  body.pfl-quality-r323 .pfl-sf li a{
    min-height:40px;
    display:inline-flex;
    align-items:center;
  }

  body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-hero-actions{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:100%;
  }

  html body.pfl-quality-r323.home #inner-wrap#inner-wrap#inner-wrap#inner-wrap #pfl-home-r256.pfl-home-r256 .pfl-r266-hero-actions > a{
    flex:1 1 0!important;
    min-width:0!important;
    height:48px!important;
    padding-inline:2px!important;
    font-size:clamp(11.5px,3vw,13px)!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
  }
}

@media (prefers-contrast:more){
  body.pfl-quality-r323 #pfl-contact .pfl-field :where(input,select,textarea){
    border-color:#B8C6D7!important;
  }

  html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sort,
  body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) :where(select,.select2-selection--single){
    border-width:2px!important;
  }

  body.pfl-quality-r323 :where(a,button,input,select,textarea,summary):focus-visible{
    outline-width:3px!important;
  }
}

@media (forced-colors:active){
  html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sort,
  body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) select{
    appearance:auto;
    -webkit-appearance:auto;
    background-image:none!important;
  }

  html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sortwrap::after{
    display:none;
  }
}

/* R326 Home catalog completion
 * Bring the full-catalog action into the decision path, give the section a
 * finished visual boundary, and keep product metadata aligned without
 * changing product content or imagery. */
body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-catalog{
  position:relative;
  isolation:isolate;
  padding-bottom:clamp(94px,8vw,112px)!important;
  border-block:1px solid rgba(148,163,184,.075);
  background:
    radial-gradient(78% 46% at 50% 0%,rgba(46,217,198,.045),transparent 70%),
    linear-gradient(180deg,rgba(255,255,255,.012),transparent 24%,rgba(4,15,30,.16));
}

body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-catalog > .pfl-r266-shell{
  display:flex;
  flex-direction:column;
}

body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-catalog-head{
  order:1;
}

body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-catalog .pfl-r266-text-link{
  order:2;
  align-self:center;
  justify-content:center;
  min-height:46px;
  margin-top:24px!important;
  padding:0 21px;
  border:1px solid rgba(94,234,212,.32);
  border-radius:999px;
  background:rgba(10,34,52,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  color:#6EE7D8!important;
  transition:color var(--pfl-quality-fast) ease,
             border-color var(--pfl-quality-fast) ease,
             background-color var(--pfl-quality-fast) ease,
             box-shadow var(--pfl-quality-fast) ease,
             transform var(--pfl-quality-fast) ease!important;
}

body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-catalog .pfl-r266-text-link:focus-visible{
  outline:2px solid #7DEFE1!important;
  outline-offset:4px!important;
  border-color:rgba(125,239,225,.72);
}

body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-product-grid{
  order:3;
  margin-top:32px!important;
}

body.pfl-quality-r323.home #pfl-home-r256 .pfl-shop-card-head{
  min-block-size:46.8px;
  align-items:flex-start;
}

body.pfl-quality-r323.home #pfl-home-r256 .pfl-shop-card-status{
  min-block-size:37.5px;
}

@media (hover:hover) and (pointer:fine){
  body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-catalog .pfl-r266-text-link:hover{
    border-color:rgba(110,231,216,.64);
    background:rgba(19,61,75,.84);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 10px 28px -20px rgba(46,217,198,.8);
    color:#A7F3E9!important;
    transform:translateY(-1px);
  }
}

@media (max-width:767px){
  body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-catalog{
    padding-bottom:82px!important;
  }

  body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-catalog .pfl-r266-text-link{
    margin-top:21px!important;
  }

  body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-product-grid{
    display:flex!important;
    width:calc(100% + 20px)!important;
    max-width:none!important;
    margin-top:28px!important;
    padding:0 20px 15px 0;
    gap:14px!important;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:0 20px;
    scroll-snap-type:x mandatory;
    scrollbar-color:rgba(94,234,212,.62) rgba(148,163,184,.13);
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }

  body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-product-grid::-webkit-scrollbar{
    height:4px;
  }

  body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-product-grid::-webkit-scrollbar-track{
    border-radius:999px;
    background:rgba(148,163,184,.13);
  }

  body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-product-grid::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(94,234,212,.62);
  }

  body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-product-grid > .pfl-shop-card{
    flex:0 0 calc(100% - 34px)!important;
    width:auto!important;
    scroll-snap-align:start;
    scroll-snap-stop:normal;
  }

  body.pfl-quality-r323.home #pfl-home-r256 .pfl-shop-card-head{
    min-block-size:52.4px;
  }
}

@media (max-width:375px){
  body.pfl-quality-r323.home #pfl-home-r256 .pfl-shop-card-head{
    min-block-size:74.4px;
  }
}

/* R326 product-detail completion
 * Turn the legacy flat specification list into a deliberate data sheet,
 * strengthen the main product image and primary utilities, and compact the
 * related-product journey on phones. No product facts or commerce state are
 * changed by this layer. */
body.pfl-quality-r323.single-product .product > .woocommerce-product-gallery{
  width:100%!important;
  max-width:500px!important;
  border-color:rgba(94,234,212,.11)!important;
  box-shadow:0 30px 70px -50px rgba(0,0,0,.9),
             inset 0 1px 0 rgba(255,255,255,.025)!important;
}

body.pfl-quality-r323.single-product .woocommerce-product-gallery__image img.wp-post-image{
  filter:brightness(1.025) contrast(1.015);
}

body.pfl-quality-r323.single-product .woocommerce-product-gallery__trigger{
  top:12px!important;
  right:12px!important;
  width:44px!important;
  height:44px!important;
  display:block!important;
  border:1px solid rgba(94,234,212,.38)!important;
  border-radius:50%!important;
  background:rgba(6,15,28,.86)!important;
  box-shadow:0 12px 24px -16px rgba(0,0,0,.95)!important;
  color:#7DEFE1!important;
  transition:border-color var(--pfl-quality-fast) ease,
             background-color var(--pfl-quality-fast) ease,
             box-shadow var(--pfl-quality-fast) ease,
             transform var(--pfl-quality-fast) ease!important;
}

body.pfl-quality-r323.single-product .woocommerce-product-gallery__trigger > span{
  font-size:0!important;
}

body.pfl-quality-r323.single-product .woocommerce-product-gallery__trigger::before{
  content:''!important;
  position:absolute;
  left:12px;
  top:10px;
  width:13px;
  height:13px;
  border:2px solid currentColor!important;
  border-radius:50%;
  background:none!important;
}

body.pfl-quality-r323.single-product .woocommerce-product-gallery__trigger::after{
  content:''!important;
  position:absolute;
  left:25px;
  top:26px;
  width:8px;
  height:2px;
  border-radius:2px;
  background:currentColor!important;
  transform:rotate(45deg);
  transform-origin:left center;
}

body.pfl-quality-r323.single-product .woocommerce-product-gallery__trigger:focus-visible{
  outline:2px solid #7DEFE1!important;
  outline-offset:4px!important;
}

body.pfl-quality-r323.single-product .pfl-coabtn{
  min-height:50px;
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(143,166,188,.28)!important;
  transition:color var(--pfl-quality-fast) ease,
             border-color var(--pfl-quality-fast) ease,
             background-color var(--pfl-quality-fast) ease,
             box-shadow var(--pfl-quality-fast) ease,
             transform var(--pfl-quality-fast) ease!important;
}

body.pfl-quality-r323.single-product .pfl-coabtn::after{
  content:'\2192';
  margin-left:2px;
  color:var(--pfl-quality-teal);
  font-family:var(--pfl-quality-mono);
  line-height:1;
  transition:transform var(--pfl-quality-fast) ease;
}

body.pfl-quality-r323.single-product .pfl-coabtn:focus-visible{
  outline:2px solid var(--pfl-quality-teal-hover)!important;
  outline-offset:4px!important;
}

body.pfl-quality-r323.single-product .pfl-prelaunch{
  background:linear-gradient(145deg,rgba(20,31,42,.98),rgba(16,24,35,.98))!important;
  box-shadow:0 24px 48px -38px rgba(0,0,0,.9),
             inset 0 1px 0 rgba(255,255,255,.025)!important;
}

body.pfl-quality-r323.single-product .pfl-pl-form :where(input[type='email'],button){
  min-height:50px;
}

body.pfl-quality-r323.single-product .pfl-pl-form button{
  box-shadow:none!important;
}

body.pfl-quality-r323.single-product .pfl-pl-form button:focus-visible{
  outline:2px solid #7DEFE1!important;
  outline-offset:3px!important;
}

body.pfl-quality-r323.single-product .product_meta{
  font-size:12px!important;
  line-height:1.65!important;
}

body.pfl-quality-r323.single-product .product > .pfl-evidence{
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin:40px auto 12px!important;
  padding:26px 28px!important;
  border-color:rgba(148,163,184,.18)!important;
  background:linear-gradient(155deg,rgba(255,255,255,.038),rgba(255,255,255,.018))!important;
  box-shadow:0 26px 56px -44px rgba(0,0,0,.88)!important;
}

body.pfl-quality-r323.single-product .pfl-ev-h{
  margin-bottom:18px!important;
}

body.pfl-quality-r323.single-product .pfl-ev-grid{
  display:grid!important;
  grid-template-columns:minmax(150px,190px) minmax(0,1fr)!important;
  column-gap:24px;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

body.pfl-quality-r323.single-product .pfl-ev-grid > .pfl-ev-group{
  grid-column:1 / -1;
  margin:24px 0 0!important;
  padding:20px 0 9px!important;
  border-top:1px solid rgba(148,163,184,.12);
  color:#8CA0B4!important;
}

body.pfl-quality-r323.single-product .pfl-ev-grid > .pfl-ev-group[data-first]{
  margin-top:0!important;
  padding-top:0!important;
  border-top:0;
}

body.pfl-quality-r323.single-product .pfl-ev-grid > .pfl-ev-group-desc{
  display:none!important;
}

body.pfl-quality-r323.single-product .pfl-ev-grid > dt:not(.pfl-ev-group),
body.pfl-quality-r323.single-product .pfl-ev-grid > dd:not(.pfl-ev-group-desc){
  min-width:0;
  margin:0!important;
  padding:13px 4px;
  border-bottom:1px solid rgba(148,163,184,.105);
  overflow-wrap:anywhere;
}

body.pfl-quality-r323.single-product .pfl-ev-grid > dt:not(.pfl-ev-group){
  color:#91A3B7!important;
  font-family:var(--pfl-quality-mono);
  font-size:11.5px;
  font-weight:600;
  line-height:1.55;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body.pfl-quality-r323.single-product .pfl-ev-grid > dd:not(.pfl-ev-group-desc){
  color:#E2EAF2!important;
  font-size:15px;
  line-height:1.55;
}

body.pfl-quality-r323.single-product .pfl-ev-foot{
  margin-top:20px;
  padding-top:17px;
}

body.pfl-quality-r323.single-product .product > .pfl-rapps{
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin:12px auto 38px!important;
  padding:24px 0 8px!important;
}

body.pfl-quality-r323.single-product .product > .pfl-pfaq{
  margin-top:24px!important;
}

body.pfl-quality-r323.single-product .product > :where(
  .woocommerce-product-gallery,
  .summary,
  .pfl-assure,
  .pfl-evidence,
  .pfl-rapps,
  .pfl-pfaq,
  .pfl-related-v2
){
  min-width:0;
}

body.pfl-quality-r323.single-product .product > .pfl-related-v2{
  width:100%;
  max-width:100%;
}

body.pfl-quality-r323.single-product .pfl-related-head{
  align-items:center;
}

body.pfl-quality-r323.single-product .pfl-browse-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border:1px solid rgba(94,234,212,.28);
  border-radius:999px;
  background:rgba(10,34,52,.58);
  color:#66E3D3!important;
  text-decoration:none!important;
  transition:color var(--pfl-quality-fast) ease,
             border-color var(--pfl-quality-fast) ease,
             background-color var(--pfl-quality-fast) ease,
             transform var(--pfl-quality-fast) ease!important;
}

body.pfl-quality-r323.single-product .pfl-browse-all:focus-visible{
  outline:2px solid var(--pfl-quality-teal-hover)!important;
  outline-offset:4px!important;
}

body.pfl-quality-r323.single-product .pfl-related-grid .pfl-shop-card-action{
  min-height:46px;
}

@media (hover:hover) and (pointer:fine){
  body.pfl-quality-r323.single-product .woocommerce-product-gallery__trigger:hover{
    border-color:rgba(125,239,225,.72)!important;
    background:rgba(13,38,52,.94)!important;
    box-shadow:0 14px 30px -18px rgba(46,217,198,.72)!important;
    transform:translateY(-1px);
  }

  body.pfl-quality-r323.single-product .pfl-coabtn:hover{
    border-color:rgba(94,234,212,.48)!important;
    background:rgba(46,217,198,.055)!important;
    color:#A7F3E9!important;
  }

  body.pfl-quality-r323.single-product .pfl-coabtn:hover::after{
    transform:translateX(4px);
  }

  body.pfl-quality-r323.single-product .pfl-browse-all:hover{
    border-color:rgba(110,231,216,.58);
    background:rgba(19,61,75,.76);
    color:#A7F3E9!important;
    transform:translateY(-1px);
  }
}

@media (max-width:1024px){
  body.pfl-quality-r323.single-product .product > .woocommerce-product-gallery{
    justify-self:center;
  }
}

@media (max-width:767px){
  body.pfl-quality-r323.single-product .product > .pfl-evidence{
    padding:22px 18px!important;
  }

  body.pfl-quality-r323.single-product .pfl-ev-grid{
    grid-template-columns:minmax(0,1fr)!important;
    column-gap:0;
  }

  body.pfl-quality-r323.single-product .pfl-ev-grid > .pfl-ev-group{
    grid-column:1;
    margin-top:20px!important;
    padding-top:18px!important;
  }

  body.pfl-quality-r323.single-product .pfl-ev-grid > .pfl-ev-group[data-first]{
    margin-top:0!important;
    padding-top:0!important;
  }

  body.pfl-quality-r323.single-product .pfl-ev-grid > dt:not(.pfl-ev-group){
    padding:13px 0 3px;
    border-bottom:0;
  }

  body.pfl-quality-r323.single-product .pfl-ev-grid > dd:not(.pfl-ev-group-desc){
    padding:0 0 14px;
  }

  body.pfl-quality-r323.single-product .product > .pfl-rapps{
    margin-bottom:30px!important;
  }

  body.pfl-quality-r323.single-product .pfl-related-head{
    align-items:flex-start;
    margin-bottom:18px!important;
  }

  html body.pfl-quality-r323.single-product #inner-wrap .product.type-product > .pfl-related-v2 .pfl-related-grid{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    gap:14px!important;
    padding:0 0 14px;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:0 18px;
    scroll-snap-type:x mandatory;
    scrollbar-color:rgba(94,234,212,.62) rgba(148,163,184,.13);
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }

  html body.pfl-quality-r323.single-product #inner-wrap .product.type-product > .pfl-related-v2 .pfl-related-grid::-webkit-scrollbar{
    height:4px;
  }

  html body.pfl-quality-r323.single-product #inner-wrap .product.type-product > .pfl-related-v2 .pfl-related-grid::-webkit-scrollbar-track{
    border-radius:999px;
    background:rgba(148,163,184,.13);
  }

  html body.pfl-quality-r323.single-product #inner-wrap .product.type-product > .pfl-related-v2 .pfl-related-grid::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(94,234,212,.62);
  }

  html body.pfl-quality-r323.single-product #inner-wrap .product.type-product > .pfl-related-v2 .pfl-related-grid > .pfl-shop-card{
    flex:0 0 calc(100% - 34px)!important;
    width:auto!important;
    scroll-snap-align:start;
    scroll-snap-stop:normal;
  }
}

@media (max-width:480px){
  body.pfl-quality-r323.single-product .content-container.site-container{
    padding-inline:16px!important;
  }

  body.pfl-quality-r323.single-product .product.type-product{
    padding-inline:12px!important;
  }
}

@media (max-width:375px){
  body.pfl-quality-r323.single-product .pfl-coabtn{
    width:100%;
    padding-inline:12px!important;
    gap:7px;
    font-size:12.5px!important;
  }

  body.pfl-quality-r323.single-product .pfl-coabtn::after{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce){
  body.pfl-quality-r323 *,
  body.pfl-quality-r323 *::before,
  body.pfl-quality-r323 *::after{
    scroll-behavior:auto!important;
  }

  body.pfl-quality-r323 #pfl-contact .pfl-select-indicator,
  body.pfl-quality-r323 #pfl-contact .pfl-submit::after,
  body.pfl-quality-r323 #pfl-contact .pfl-field :where(input,select,textarea),
  html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sortwrap,
  html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sortwrap::after,
  html body.pfl-quality-r323 #inner-wrap #pfl-home .pfl-sort,
  body.pfl-quality-r323 #pfl-faq .pfl-qa,
  body.pfl-quality-r323 #pfl-faq summary.pfl-q,
  body.pfl-quality-r323.single-product .pfl-pfaq-item,
  body.pfl-quality-r323.single-product summary.pfl-pfaq-q,
  body.pfl-quality-r323 :where(.woocommerce-checkout,.woocommerce-account) :where(select,.select2-selection--single),
  body.pfl-quality-r323 .pfl-sh .pfl-nav a:not(.cta),
  body.pfl-quality-r323 .pfl-sh .pfl-nav a.cta,
  body.pfl-quality-r323 .pfl-sf a,
  body.pfl-quality-r323.home #pfl-home-r256 .pfl-r266-catalog .pfl-r266-text-link,
  body.pfl-quality-r323.single-product .woocommerce-product-gallery__trigger,
  body.pfl-quality-r323.single-product .pfl-coabtn,
  body.pfl-quality-r323.single-product .pfl-coabtn::after,
  body.pfl-quality-r323.single-product .pfl-browse-all{
    transition:none!important;
  }

  body.pfl-quality-r323.single-product .pfl-pl-dot{
    animation:none!important;
  }

  body.pfl-quality-r323 :where(
    .pfl-r266-button-primary,
    .pfl-r266-button-secondary,
    .pfl-submit,
    .pfl-btn,
    .pfl-fchip,
    .pfl-doc-link,
    .pfl-pl-form button,
    .pfl-lb-form button,
    .woocommerce .button
  ):active{
    transform:none!important;
  }
}

/* PFL-R327: use the reviewed Home ambient background on every route.
   The legacy canvas script is already site-wide and motion-aware; R322 only
   prevented it from measuring outside Home. This later layer restores the
   same canvas and gradient without changing page-specific content panels. */
body.pfl-quality-r327{
  background:transparent!important;
}

body.pfl-quality-r327 .pfl-site-ambient{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  background:radial-gradient(1700px 1120px at 50% -10%,#20384f 0%,#16273d 47%,#101e30 100%)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
}

html body.pfl-quality-r327 #pfl-stars{
  display:block!important;
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  visibility:visible!important;
}

/* PFL-R328: mobile navigation and responsive storefront refinement.
   This isolated layer removes the redundant drawer separators, strengthens
   touch targets, masks ambient particles behind form controls, and shortens
   the wider-phone catalog without changing content or commerce behavior. */
@media (max-width:880px){
  html body.pfl-quality-r328 .pfl-sh:has(.pfl-navtoggle:checked) .pfl-nav,
  html body.pfl-quality-r328 .pfl-sh:has(.pfl-navtoggle:checked) .pfl-nav > a:first-child{
    border-top-color:transparent!important;
  }

  html body.pfl-quality-r328 .pfl-sh .pfl-nav > a.cta{
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-height:48px!important;
    box-sizing:border-box;
  }

  body.pfl-quality-r328 :where(input,select,textarea){
    font-size:16px!important;
  }

  body.pfl-quality-r328 .pfl-sf li a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }

  body.pfl-quality-r328.single-product .pfl-pfaq-a > a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    margin-block:-6px;
    padding-block:6px;
  }
}

html body.page-id-488.pfl-quality-r328 #post-488 #pfl-contact .pfl-field :is(#pfl_name,#pfl_email,#pfl_subject,#pfl_message){
  background-color:#101E30!important;
}

@media (max-width:480px){
  body.pfl-quality-r328 #pfl-contact .pfl-card{
    padding:26px 22px!important;
  }
}

@media (max-width:340px){
  body.pfl-quality-r328.page-id-701 main .pfl-wrap > div:last-child > p:last-child > a[href='/coas/'],
  body.pfl-quality-r328.page-id-701 main .pfl-wrap > div:last-child > p:last-child > a[href='/shop/']{
    width:100%;
    min-height:48px;
    padding-inline:12px!important;
    box-sizing:border-box;
    text-align:center;
    white-space:nowrap;
  }
}

@media (min-width:390px) and (max-width:640px){
  html body.pfl-quality-r328.page-id-520 #inner-wrap #pfl-home .pfl-shop-sec .pfl-wrap{
    width:calc(100% - 28px)!important;
  }

  html body.pfl-quality-r328.page-id-520 #inner-wrap #pfl-home .pfl-shop-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  html body.pfl-quality-r328.page-id-520 #inner-wrap #pfl-home .pfl-shop-card-meta{
    gap:8px!important;
    padding:14px!important;
  }

  html body.pfl-quality-r328.page-id-520 #inner-wrap #pfl-home .pfl-shop-card-head{
    flex-direction:column;
    gap:5px!important;
    min-block-size:72px;
  }

  html body.pfl-quality-r328.page-id-520 #inner-wrap #pfl-home .pfl-shop-card-name{
    font-size:clamp(14px,3.65vw,16px)!important;
    line-height:1.25!important;
    overflow-wrap:anywhere;
  }

  html body.pfl-quality-r328.page-id-520 #inner-wrap #pfl-home .pfl-shop-card-price{
    font-size:15px!important;
  }

  html body.pfl-quality-r328.page-id-520 #inner-wrap #pfl-home .pfl-shop-card-status{
    min-block-size:52px;
    font-size:11.5px!important;
    line-height:1.5!important;
  }

  html body.pfl-quality-r328.page-id-520 #inner-wrap #pfl-home .pfl-shop-card-action{
    min-height:44px!important;
    padding-inline:8px!important;
    font-size:12.5px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body.pfl-quality-r328 #inner-wrap#inner-wrap#inner-wrap#inner-wrap *,
  html body.pfl-quality-r328 #inner-wrap#inner-wrap#inner-wrap#inner-wrap *::before,
  html body.pfl-quality-r328 #inner-wrap#inner-wrap#inner-wrap#inner-wrap *::after{
    transition-duration:.001ms!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
  }

  html body.pfl-quality-r328 #inner-wrap#inner-wrap#inner-wrap#inner-wrap :where(
    .woocommerce-product-gallery__trigger,
    form button[type='submit'],
    .pfl-btn,
    .pfl-submit
  ):is(:hover,:focus-visible,:active){
    transform:none!important;
  }

  html body.pfl-quality-r328.page-id-701 #inner-wrap#inner-wrap#inner-wrap#inner-wrap #main#main .pfl-wrap > div:last-child > p:last-child > a:is([href='/coas/'],[href='/shop/']){
    transform:none!important;
  }
}

/* R402: prevent mid-word How We Test card headings through the 360px transition. */
@media (max-width:360px){
  body.page-id-701.pfl-quality-r328 #main.site-main #post-701 #pfl-faq .pfl-ghead{
    gap:8px!important;
  }

  body.page-id-701.pfl-quality-r328 #main.site-main #post-701 #pfl-faq .pfl-gnum{
    width:34px!important;
    height:34px!important;
    font-size:13px!important;
    letter-spacing:.04em!important;
  }

  body.page-id-701.pfl-quality-r328 #main.site-main #post-701 #pfl-faq .pfl-ghead h2{
    font-size:20px!important;
    letter-spacing:-.01em!important;
  }
}
