/*
 * Product-card route safety.
 *
 * These rules deliberately live in a permanent document stylesheet. Home and
 * Shop also emit their configurable card CSS, but that CSS belongs to the SPA
 * fragment and can briefly be absent while returning from another route or a
 * bfcache restore. Keeping the structural rules here prevents the global
 * .text-super (2.2rem) style from enlarging prices and keeps stock visible.
 */
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"],[data-page="shop"],[data-page="buy"]) #app :is(.home-native-products,.shop-products-grid) .pz-card-price.text-super {
  display:inline-block;
  max-width:100%;
  padding-bottom:0;
  font-size:18px!important;
  font-weight:700;
  letter-spacing:-.3px;
  line-height:1.2;
  white-space:normal;
  transform:none;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"],[data-page="shop"],[data-page="buy"]) #app :is(.home-native-products,.shop-products-grid) .pz-card-commerce-row {
  display:flex!important;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"],[data-page="shop"],[data-page="buy"]) #app :is(.home-native-products,.shop-products-grid) .pz-card-price-block {
  min-width:0;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"],[data-page="shop"],[data-page="buy"]) #app :is(.home-native-products,.shop-products-grid) .pz-card-stock {
  display:block;
  flex:0 0 auto;
  color:var(--font_sub);
  font-size:10px;
  line-height:1.2;
  text-align:right;
  white-space:nowrap;
  transform:none;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"],[data-page="shop"],[data-page="buy"]) #app :is(.home-native-products,.shop-products-grid) .pz-card-stock>span {
  display:block;
  margin-bottom:2px;
  color:var(--font_sub);
  font-size:10px;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"],[data-page="shop"],[data-page="buy"]) #app :is(.home-native-products,.shop-products-grid) .pz-card-stock>strong {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  color:var(--font_main);
  font-size:12px;
  font-weight:700;
}

/* Keep shop card actions and sold-count labels stable when SPA swaps route markup. */
body:not([data-admin-page="1"]) #app .shop-products-grid .shop-card-action,
body:not([data-admin-page="1"]) #app .shop-products-grid .shop-card-action>center {
  text-align:center!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .shop-card-action .btn {
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .box-light {
  border:1px solid color-mix(in srgb,var(--main) 24%,var(--bg_border))!important;
  border-radius:16px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .box-light:hover {
  border-color:color-mix(in srgb,var(--main) 72%,var(--bg_border))!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .pz-product-sold-meta {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  width:100%;
  color:var(--font_sub)!important;
  font-size:9px!important;
  font-weight:400!important;
  line-height:1.25!important;
  text-align:center!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .pz-product-sold-meta :is(i,b) {
  font-size:inherit!important;
  line-height:inherit!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .pz-product-sold-meta i {
  color:#22c55e!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .pz-product-sold-meta b {
  color:var(--font_main)!important;
  font-weight:700!important;
}

/* Home recommendations are loaded after the SPA route has completed. Keep
   their spacing, action alignment, sold metadata, and base frame available in
   the permanent stylesheet instead of depending on fragment-only CSS. */
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products [data-home-product]>.box-light {
  height:calc(100% - 1.5rem)!important;
  border:1px solid color-mix(in srgb,var(--main) 24%,var(--bg_border))!important;
  border-radius:16px!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products [data-home-product]>.box-light:hover {
  border-color:color-mix(in srgb,var(--main) 72%,var(--bg_border))!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products [data-home-product]>.box-light>.card-body,
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products [data-home-product]>.box-light>.card-body>.p-2.pt-2.pb-1 {
  display:flex!important;
  min-width:0;
  flex-direction:column!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products [data-home-product]>.box-light>.card-body {
  height:100%!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products [data-home-product]>.box-light>.card-body>.p-2.pt-2.pb-1 {
  flex:1 1 auto!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products .home-shop-card-action {
  width:100%!important;
  margin-top:auto!important;
  text-align:center!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products.home-product-style-1 .home-product-buy-link {
  display:block!important;
  width:100%!important;
  margin-top:0!important;
  text-decoration:none!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products.home-product-style-1 .home-recommendation-action {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  margin:0 0 8px!important;
  padding:12px 10px!important;
  border-radius:12px!important;
  font-size:16px!important;
  line-height:1.5!important;
  text-align:center!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products.home-product-style-1 .pz-product-sold-meta {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  width:100%!important;
  margin:2px 0 3px!important;
  color:var(--font_sub)!important;
  font-size:9px!important;
  font-weight:400!important;
  line-height:1.25!important;
  text-align:center!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products.home-product-style-1 .pz-product-sold-meta :is(i,b) {
  font-size:inherit!important;
  line-height:inherit!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products.home-product-style-1 .pz-product-sold-meta i { color:#22c55e!important; }
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products.home-product-style-1 .pz-product-sold-meta b { color:var(--font_main)!important;font-weight:700!important; }

/* Marketplace card base metrics normally come from product_frame_runtime.php.
   That runtime is emitted outside #app and therefore is not part of an SPA
   fragment. Keep the same metrics permanently available so clicking into Shop
   has the exact spacing/typography of a direct F5 load. */
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .pz-card-commerce-row {
  margin-bottom:9px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .pz-card-price-block>.font-sub {
  font-size:10px!important;
  line-height:1.5!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .pz-card-price-line {
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:4px 7px!important;
  min-width:0!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .pz-card-stock i {
  color:var(--main)!important;
  font-size:11px!important;
  line-height:1!important;
}

/* Permanent card layout shared by Shop and the related-product slider on Buy.
   It also gives SPA navigation the same geometry as a direct page load. */
body:not([data-admin-page="1"]) #app .shop-products-grid {
  align-items:stretch!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid>.product-item {
  display:flex!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item>.view,
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .box-light,
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .box-light>div,
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .bg-mainn,
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .bg-mainn>.p-2 {
  width:100%!important;
  height:100%!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .bg-mainn>.p-2,
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .bg-mainn>.p-2>.p-2 {
  display:flex!important;
  min-width:0;
  flex-direction:column!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .bg-mainn>.p-2>.p-2 {
  flex:1 1 auto!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .img-anim,
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .image-wrapper .img-anim {
  width:100%!important;
  aspect-ratio:1/1;
  overflow:hidden!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .img-anim>img,
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item .image-wrapper .img-anim>img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item center {
  margin-top:auto!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .product-item .bg-mainn {
  border-radius:18px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .product-item .bg-mainn>.p-2 {
  padding:8px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .product-item .shop-card-body {
  padding:9px 7px 5px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .product-item .pz-card-commerce-row {
  min-height:54px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .shop-card-action {
  width:100%!important;
  margin-top:auto!important;
  text-align:center!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .shop-card-action>a {
  display:block!important;
  width:100%!important;
  text-decoration:none!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .shop-card-action .btn {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  margin:0 0 8px!important;
  padding:12px 10px!important;
  border-radius:12px!important;
  font-size:16px!important;
  line-height:1.5!important;
  text-align:center!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .pz-product-sold-meta {
  margin:2px 0 3px!important;
}

/* Home style 1 uses the identical spacing and button dimensions. */
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products.home-product-style-1 [data-home-product]>.box-light>.card-body {
  padding:8px!important;
  border-radius:18px!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products.home-product-style-1 .home-shop-card-body {
  padding:9px 7px 5px!important;
}
body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products.home-product-style-1 .pz-card-commerce-row {
  min-height:54px!important;
  margin-bottom:9px!important;
}

/* Product image ratio remains consistent outside Shop, including Buy. */
body:not([data-admin-page="1"]) #app .shop-products-grid.product-image-ratio-2 .product-item .img-anim {
  aspect-ratio:16/9!important;
  background:var(--bg_sub)!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.product-image-ratio-2 .product-item .img-anim>img {
  object-fit:contain!important;
  object-position:center!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.product-image-ratio-3 .product-item .img-anim {
  height:auto!important;
  aspect-ratio:auto!important;
  background:var(--bg_sub)!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.product-image-ratio-3 .product-item .img-anim>img {
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}

/* Compact Store: permanent counterpart of the Shop route CSS, needed by the
   related-products slider because Buy intentionally reuses Shop card markup. */
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .product-item {
  margin-bottom:14px!important;
  padding-inline:6px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .product-item .bg-mainn {
  overflow:hidden!important;
  border-radius:17px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .product-item .bg-mainn>.p-2 {
  padding:0!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .product-item .shop-card-body {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto auto auto;
  column-gap:8px;
  align-items:center;
  padding:11px 12px 9px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .shop-card-title {
  grid-column:1/-1;
  grid-row:1;
  margin:0 0 5px!important;
  font-size:14px!important;
  font-weight:700!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .shop-card-description {
  display:none!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .shop-compact-status {
  display:flex!important;
  grid-column:1/-1;
  grid-row:2;
  align-items:center;
  gap:6px;
  min-width:0;
  margin-bottom:11px;
  overflow:hidden;
  color:var(--main);
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .shop-compact-status i {
  flex:0 0 7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 8px currentColor;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .shop-compact-status.is-muted {
  color:var(--font_sub);
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .pz-card-commerce-row {
  display:block!important;
  grid-column:1;
  grid-row:3;
  min-width:0;
  margin:0!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .pz-card-price-line {
  display:flex!important;
  flex-direction:column;
  align-items:flex-start!important;
  gap:0!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .pz-card-price {
  font-size:20px!important;
  line-height:1.1!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .pz-card-price-old {
  order:-1;
  color:var(--font_sub)!important;
  font-size:10px!important;
  line-height:1.1!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .shop-card-action {
  grid-column:2;
  grid-row:3;
  align-self:center;
  margin:0!important;
  text-align:right!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .shop-card-action .btn {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:78px;
  max-width:100px;
  min-height:40px;
  margin:0!important;
  padding:8px 10px!important;
  border:1px solid color-mix(in srgb,var(--font_sub) 30%,transparent)!important;
  border-radius:10px!important;
  font-size:10px!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:normal;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .pz-product-sold-meta {
  grid-column:1/-1;
  grid-row:4;
  margin:10px 0 0!important;
  padding-top:8px;
  border-top:1px solid color-mix(in srgb,var(--bg_border) 55%,transparent);
}

/* Gaming Catalog: keep all six-card typography and actions identical on
   Shop, Home and the Buy related-products section. */
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .product-item {
  margin-bottom:12px!important;
  padding-inline:4px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .product-item .bg-mainn {
  overflow:hidden!important;
  border-radius:13px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .product-item .bg-mainn>.p-2 {
  padding:5px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .product-item .shop-card-body {
  padding:8px 5px 4px!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .shop-card-title {
  margin:0 0 3px!important;
  font-size:11px!important;
  font-weight:700!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .shop-card-description {
  display:none!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .shop-gaming-category {
  display:flex!important;
  align-items:center;
  min-width:0;
  margin-bottom:8px;
  overflow:hidden;
  color:var(--main);
  font-size:9px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .shop-card-action {
  display:block!important;
  width:100%!important;
  margin-top:auto!important;
  text-align:center!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .shop-card-action>a {
  display:block!important;
  width:100%!important;
  text-decoration:none!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .shop-card-action .btn {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:34px!important;
  margin-bottom:0!important;
  padding:6px 5px!important;
  border-radius:8px!important;
  font-size:9px!important;
  line-height:1.2!important;
  text-align:center!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-3 .pz-product-sold-meta {
  min-height:23px;
  margin:7px 0 0!important;
  padding-top:6px;
  border-top:1px solid color-mix(in srgb,var(--bg_border) 50%,transparent);
  font-size:8px!important;
}

@media (max-width:575.98px) {
  body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"]) #app .home-native-products.home-product-style-1 .home-recommendation-action {
    min-height:36px!important;
    padding:7px 5px!important;
    font-size:10px!important;
  }
  body:not([data-admin-page="1"]) #app .shop-products-grid>.product-item {
    margin-bottom:10px!important;
    padding-inline:4px!important;
  }
  body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-1 .shop-card-action .btn {
    min-height:36px!important;
    padding:7px 5px!important;
    font-size:10px!important;
  }
  body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .product-item .shop-card-body {
    column-gap:5px;
    padding:8px 8px 7px!important;
  }
  body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .shop-compact-status {
    margin-bottom:8px;
    font-size:8px;
  }
  body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-style-2 .shop-card-action .btn {
    min-width:60px;
    max-width:72px;
    min-height:35px;
    padding:6px!important;
    font-size:9px!important;
  }
}

/* Critical product-frame paint also lives in this route stylesheet. The full
   product-frame runtime enhances it, but SPA cards no longer wait for that
   runtime before their configured border becomes visible. */
@property --shop-frame-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
body:not([data-admin-page="1"]) #app :is(.shop-products-grid,.home-native-products) .pz-product-frame-shell.box-light {
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:17px!important;
  padding:0!important;
  background:var(--bg_main)!important;
}
body:not([data-admin-page="1"]) #app :is(.shop-products-grid,.home-native-products) .pz-product-frame-shell.box-light::before,
body:not([data-admin-page="1"]) #app :is(.shop-products-grid,.home-native-products) .pz-product-frame-shell.box-light::after {
  content:""!important;
  position:absolute!important;
  z-index:4!important;
  inset:0!important;
  display:block!important;
  box-sizing:border-box!important;
  padding:2px!important;
  pointer-events:none!important;
  border-radius:inherit!important;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  mask-composite:exclude!important;
}
body:not([data-admin-page="1"]) #app :is(.shop-products-grid,.home-native-products) .pz-product-frame-shell.box-light::after {
  z-index:3!important;
  padding:6px!important;
  filter:blur(3px)!important;
  opacity:.68!important;
}
body:not([data-admin-page="1"]) #app :is(.shop-products-grid,.home-native-products) .pz-product-frame-shell.pz-frame-neon::before,
body:not([data-admin-page="1"]) #app :is(.shop-products-grid,.home-native-products) .pz-product-frame-shell.pz-frame-neon::after {
  background:linear-gradient(130deg,var(--main),var(--sub),var(--main),var(--sub),var(--main))!important;
  background-size:300% 100%!important;
  animation:shopCriticalNeon 4s ease-in-out infinite!important;
}
body:not([data-admin-page="1"]) #app :is(.shop-products-grid,.home-native-products) .pz-product-frame-shell.pz-frame-featured::before,
body:not([data-admin-page="1"]) #app :is(.shop-products-grid,.home-native-products) .pz-product-frame-shell.pz-frame-featured::after {
  background:conic-gradient(from var(--shop-frame-angle),transparent 0 16%,var(--main) 21% 35%,#fff 38%,transparent 42% 66%,var(--sub) 72% 85%,#fff 88%,transparent 92%)!important;
  animation:shopCriticalOrbit 2.8s linear infinite!important;
}
@keyframes shopCriticalNeon{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes shopCriticalOrbit{to{--shop-frame-angle:360deg}}

/* The circular-energy hover logo is real markup so it survives SPA swaps and
   does not depend on an inline background-image rule being re-parsed. */
body:not([data-admin-page="1"]) #app .shop-products-grid .shop-hover-logo>img {
  display:block!important;
  position:absolute!important;
  z-index:1!important;
  inset:16%!important;
  width:68%!important;
  height:68%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .product-item:hover .shop-hover-logo>img {
  transform:none!important;
}

/* Product hover effects are shared by Shop and Buy related products. Keeping
   them in the permanent stylesheet prevents a direct Buy load from depending
   on Shop's route-only inline CSS. */
body:not([data-admin-page="1"]) #app .shop-products-grid[class*="shop-product-hover-"] .img-anim {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--bg_sub);
}
body:not([data-admin-page="1"]) #app .shop-products-grid[class*="shop-product-hover-"] .img-anim>img:not(.sticker) {
  position:relative;
  z-index:1;
  transition:transform .42s cubic-bezier(.2,.75,.25,1),filter .42s ease,opacity .42s ease;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .shop-hover-fx,
body:not([data-admin-page="1"]) #app .shop-products-grid .shop-hover-logo {
  position:absolute;
  pointer-events:none;
  opacity:0;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .shop-hover-fx {
  z-index:5;
}
body:not([data-admin-page="1"]) #app .shop-products-grid .shop-hover-logo {
  z-index:6;
  top:50%;
  left:50%;
  width:60px;
  height:60px;
  border:1px solid color-mix(in srgb,#fff 45%,var(--main));
  border-radius:50%;
  background:color-mix(in srgb,var(--bg_main) 82%,transparent);
  box-shadow:0 0 0 7px color-mix(in srgb,var(--bg_main) 48%,transparent),0 0 28px color-mix(in srgb,var(--main) 58%,transparent),inset 0 0 15px color-mix(in srgb,var(--sub) 34%,transparent);
  transform:translate(-50%,-50%) scale(.45);
  transition:opacity .28s ease,transform .4s cubic-bezier(.18,.8,.25,1);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-1 .product-item:hover .shop-hover-zone .shop-hover-target>img:not(.sticker) {
  transform:scale(1.1)!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid:is(.shop-product-hover-2,.shop-product-hover-4) .product-item:hover .shop-hover-zone .shop-hover-logo {
  opacity:1!important;
  transform:translate(-50%,-50%) scale(1)!important;
}

/* Circular neon energy with the website logo in its centre. */
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-2 .shop-hover-fx {
  top:50%;
  left:50%;
  width:148px;
  height:148px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--main) 24%,transparent) 0 14%,transparent 42%),radial-gradient(circle,transparent 48%,color-mix(in srgb,var(--sub) 22%,transparent) 58%,transparent 72%);
  filter:drop-shadow(0 0 18px color-mix(in srgb,var(--main) 72%,transparent));
  transform:translate(-50%,-50%) scale(.55);
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-2 .shop-hover-logo::before,
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-2 .shop-hover-logo::after {
  content:"";
  position:absolute;
  inset:-26px;
  border-radius:50%;
  pointer-events:none;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-2 .shop-hover-logo::before {
  background:conic-gradient(from 0deg,transparent 0 8%,var(--main) 11% 27%,#fff 30% 32%,transparent 35% 52%,var(--sub) 56% 73%,#fff 76% 78%,transparent 82%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 0);
  mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 0);
  filter:drop-shadow(0 0 5px var(--main)) drop-shadow(0 0 12px var(--sub));
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-2 .shop-hover-logo::after {
  inset:-15px;
  border:1px solid color-mix(in srgb,var(--main) 75%,#fff);
  box-shadow:0 0 9px var(--main),inset 0 0 9px color-mix(in srgb,var(--sub) 72%,transparent);
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-2 .product-item:hover .shop-hover-zone .shop-hover-target>img:not(.sticker) {
  filter:blur(3px) brightness(.48) saturate(.9)!important;
  transform:scale(1.065)!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-2 .product-item:hover .shop-hover-zone .shop-hover-fx {
  opacity:1!important;
  animation:productCardNeonBreathe 1.8s ease-in-out infinite!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-2 .product-item:hover .shop-hover-zone .shop-hover-logo::before {
  animation:productCardHoverOrbit 1.55s linear infinite!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-2 .product-item:hover .shop-hover-zone .shop-hover-logo::after {
  animation:productCardHoverOrbitReverse 2.35s linear infinite!important;
}

/* Glass light sweep. This style intentionally has no centre logo. */
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-3 .shop-hover-fx {
  z-index:5;
  inset:-55% 73% -55% -50%;
  background:linear-gradient(108deg,transparent 20%,rgba(255,255,255,.08) 34%,rgba(255,255,255,.72) 47%,rgba(255,255,255,.98) 50%,rgba(255,255,255,.35) 56%,transparent 72%);
  filter:blur(2px) drop-shadow(0 0 14px rgba(255,255,255,.72));
  transform:translateX(-165%) skewX(-12deg);
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-3 .shop-hover-logo {
  display:none!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-3 .product-item:hover .shop-hover-zone .shop-hover-fx {
  opacity:.95!important;
  animation:productCardGlassSpotlight 1.65s cubic-bezier(.22,.61,.36,1) infinite!important;
}

/* Aurora logo effect. */
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-4 .shop-hover-fx {
  inset:-26%;
  border-radius:42% 58% 55% 45%;
  background:radial-gradient(ellipse at 18% 45%,color-mix(in srgb,var(--main) 72%,transparent) 0 8%,transparent 40%),radial-gradient(ellipse at 52% 28%,color-mix(in srgb,#fff 38%,var(--main)) 0 5%,transparent 35%),radial-gradient(ellipse at 84% 58%,color-mix(in srgb,var(--sub) 72%,transparent) 0 9%,transparent 42%);
  background-size:75% 100%,62% 88%,78% 100%;
  filter:blur(16px) saturate(1.45);
  mix-blend-mode:screen;
  transform:translate3d(-5%,2%,0) rotate(-5deg);
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-4 .product-item:hover .shop-hover-zone .shop-hover-fx {
  opacity:.9!important;
  animation:productCardAuroraDrift 4.8s ease-in-out infinite alternate!important;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-4 .product-item:hover .shop-hover-zone .shop-hover-target>img:not(.sticker) {
  filter:saturate(1.12) brightness(.88)!important;
  transform:scale(1.025)!important;
}

/* Inner theme-colour aura. */
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-5 .shop-hover-fx {
  z-index:5;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--main) 72%,transparent),inset 0 0 22px color-mix(in srgb,var(--main) 48%,transparent),inset 0 0 58px color-mix(in srgb,var(--sub) 26%,transparent);
  transition:opacity .32s ease;
}
body:not([data-admin-page="1"]) #app .shop-products-grid.shop-product-hover-5 .product-item:hover .shop-hover-zone .shop-hover-fx {
  opacity:1!important;
  animation:productCardInnerAura 2.2s ease-in-out infinite!important;
}

@keyframes productCardHoverOrbit{to{transform:rotate(360deg)}}
@keyframes productCardHoverOrbitReverse{to{transform:rotate(-360deg)}}
@keyframes productCardNeonBreathe{0%,100%{filter:drop-shadow(0 0 12px color-mix(in srgb,var(--main) 52%,transparent));transform:translate(-50%,-50%) scale(.52)}50%{filter:drop-shadow(0 0 28px color-mix(in srgb,var(--sub) 88%,transparent));transform:translate(-50%,-50%) scale(.72)}}
@keyframes productCardGlassSpotlight{0%{transform:translateX(-165%) skewX(-12deg)}100%{transform:translateX(475%) skewX(-12deg)}}
@keyframes productCardAuroraDrift{0%{transform:translate3d(-7%,3%,0) rotate(-7deg) scale(.96)}100%{transform:translate3d(8%,-3%,0) rotate(8deg) scale(1.08)}}
@keyframes productCardInnerAura{0%,100%{filter:brightness(.82)}50%{filter:brightness(1.25)}}

/* Compact Store intentionally does not show a separate stock column. */
body:not([data-admin-page="1"]) #app :is(.home-product-style-2,.shop-product-style-2) .pz-card-stock {
  display:none!important;
}

/* Gaming Catalog must remain compact and retain its stock badge. */
body:not([data-admin-page="1"]) #app :is(.home-product-style-3,.shop-product-style-3) .pz-card-commerce-row {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:6px;
  min-height:39px;
  margin:0 0 7px!important;
}
body:not([data-admin-page="1"]) #app :is(.home-product-style-3,.shop-product-style-3) .pz-card-price.text-super {
  overflow:hidden;
  font-size:17px!important;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body:not([data-admin-page="1"]) #app :is(.home-product-style-3,.shop-product-style-3) .pz-card-stock {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  align-self:end;
  margin:0 0 1px!important;
  padding:4px 6px;
  border:1px solid color-mix(in srgb,var(--main) 48%,transparent);
  border-radius:7px;
  background:color-mix(in srgb,var(--main) 7%,transparent);
  color:var(--font_sub)!important;
}
body:not([data-admin-page="1"]) #app :is(.home-product-style-3,.shop-product-style-3) .pz-card-stock>span {
  display:none!important;
}
body:not([data-admin-page="1"]) #app :is(.home-product-style-3,.shop-product-style-3) .pz-card-stock>strong {
  font-size:8px!important;
  font-weight:600;
}

@media (max-width:767.98px) {
  body:not([data-admin-page="1"]):is([data-page="home"],[data-page="home2"],[data-page="shop"],[data-page="buy"]) #app :is(.home-native-products,.shop-products-grid) .pz-card-price.text-super {
    font-size:16px!important;
  }
  body:not([data-admin-page="1"]) #app :is(.home-product-style-3,.shop-product-style-3) .pz-card-price.text-super {
    font-size:15px!important;
  }
}
