/* Stable lightning marketplace stage — Build 20260720.185                    */
/* ========================================================================== */
/* Match the proven Editorial Zone outer-boundary model directly on the visible
 * shell. Do not depend on Elementor widget padding, which themes can override. */
body .elementor-widget-avpsb-lightning-deal-stream.elementor-element{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-block:0!important;
  margin-inline:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body .elementor-widget-avpsb-lightning-deal-stream.elementor-element>.elementor-widget-container{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
body .elementor-widget-avpsb-lightning-deal-stream .avpsb-lightning-stream-shell{
  width:min(calc(100% - 64px),1360px)!important;
  max-width:calc(100% - 64px)!important;
  margin:0 auto 8px!important;
  padding:12px!important;
}

/* Server-rendered slide counts equal the eventual JavaScript geometry, so the
 * cards never paint as one huge item and then snap into five columns. */
.avpsb-lightning-stream--rail{
  --avpsb-visible:var(--avpsb-lightning-visible-desktop,5);
  --avpsb-slider-gap:var(--avpsb-lightning-gap-desktop,14px);
}
.avpsb-lightning-stream--rail .avpsb-lightning-stream__track{
  gap:var(--avpsb-slider-gap,var(--avpsb-lightning-gap-desktop,14px))!important;
}

/* Premium artwork header. */
body .avpsb-lightning-stream-shell .avpsb-lightning-stream__header{
  position:relative!important;
  isolation:isolate!important;
  min-height:188px!important;
  overflow:hidden!important;
  padding:24px 28px!important;
  border:1px solid color-mix(in srgb,var(--avpsb-lightning-head,#0b5fa5) 56%,#fff)!important;
  background:linear-gradient(135deg,var(--avpsb-lightning-head,#0b5fa5),color-mix(in srgb,var(--avpsb-lightning-head,#0b5fa5) 72%,#38bdf8))!important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--avpsb-lightning-head,#0b5fa5) 22%,transparent)!important;
}
.avpsb-lightning-stream__header:before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--avpsb-lightning-overlay,#073b6c) var(--avpsb-lightning-overlay-opacity,48%),transparent),transparent 42%,color-mix(in srgb,var(--avpsb-lightning-overlay,#073b6c) var(--avpsb-lightning-overlay-opacity,48%),transparent)),
    linear-gradient(180deg,rgba(2,20,48,.06),rgba(2,20,48,.22));
}
.avpsb-lightning-stream__art{
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.avpsb-lightning-stream__art img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:var(--avpsb-lightning-art-position,center center)!important;
  filter:saturate(1.04) contrast(1.02);
}
.avpsb-lightning-stream__heading,
.avpsb-lightning-timer,
.avpsb-lightning-stream__coupon,
.avpsb-lightning-stream__more{position:relative;z-index:3}
.avpsb-lightning-stream__heading>span{color:var(--avpsb-lightning-eyebrow,#fdb4c0)!important;text-shadow:0 1px 12px rgba(2,20,48,.22)}
.avpsb-lightning-stream__title-row{display:flex;align-items:center;gap:10px;min-width:0}
.avpsb-lightning-stream__title-row>i{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(255,255,255,.4);border-radius:14px;background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 24px rgba(2,20,48,.17);backdrop-filter:blur(10px)}
.avpsb-lightning-stream__title-row>i svg{width:24px;height:24px;fill:currentColor;filter:drop-shadow(0 3px 7px rgba(2,20,48,.25))}
.avpsb-lightning-stream__title{color:var(--avpsb-lightning-title,#fff)!important;text-shadow:0 2px 18px rgba(2,20,48,.25)}
.avpsb-lightning-stream__heading p{color:var(--avpsb-lightning-subtitle,#dbeafe)!important;text-shadow:0 1px 12px rgba(2,20,48,.2)}
.avpsb-lightning-timer>span{border:1px solid rgba(255,255,255,.62);background:var(--avpsb-lightning-timer-bg,#fff)!important;box-shadow:0 10px 24px rgba(2,20,48,.16);backdrop-filter:blur(8px)}
.avpsb-lightning-timer strong{color:var(--avpsb-lightning-timer-number,#12345a)!important}
.avpsb-lightning-timer em{color:var(--avpsb-lightning-timer-label,#64748b)!important}
.avpsb-lightning-stream__decor{position:absolute;z-index:2;inset:0;pointer-events:none}
.avpsb-lightning-stream__decor-icon{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.36);border-radius:16px;background:rgba(255,255,255,.13);color:#fff;box-shadow:0 14px 30px rgba(2,20,48,.16);backdrop-filter:blur(9px)}
.avpsb-lightning-stream__decor-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.avpsb-lightning-stream__decor-icon--tag{inset-inline-start:43%;top:18px;transform:rotate(-8deg)}
.avpsb-lightning-stream__decor-icon--gift{inset-inline-start:52%;bottom:17px;transform:rotate(7deg)}

/* Hover gallery: every frame occupies the exact same image stage, so cycling
 * can never change card dimensions or disturb the product rail. */
.avpsb-lightning-card__gallery{position:absolute;inset:0;display:block;overflow:hidden}
.avpsb-lightning-card__gallery-frame{
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:scale(.985)!important;
  transition:opacity .28s ease,transform .42s ease!important;
}
.avpsb-lightning-card__gallery-frame.is-active{
  opacity:1!important;
  visibility:visible!important;
  transform:scale(1)!important;
}
.avpsb-lightning-card__image[data-avpsb-hover-gallery="1"]:after{
  content:"";
  position:absolute;
  z-index:2;
  inset-inline-end:9px;
  bottom:9px;
  width:22px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--avpsb-lightning-accent,#e11d48) 0 32%,rgba(100,116,139,.26) 33% 100%);
  box-shadow:0 3px 10px rgba(15,23,42,.12);
  pointer-events:none;
}

/* Keep the campaign dock close to the preceding campaign surface. */
body .elementor-widget-avpsb-marketplace-campaign-dock.elementor-element{
  margin-block-start:0!important;
  padding-block-start:0!important;
}
body .elementor-widget-avpsb-marketplace-campaign-dock .avpsb-campaign-dock-shell{margin-block-start:0!important;padding-block-start:0!important}
.elementor-widget-avpsb-lightning-deal-stream + .elementor-widget-avpsb-marketplace-campaign-dock{margin-block-start:-10px!important}

@media(max-width:1024px){
  body .elementor-widget-avpsb-lightning-deal-stream .avpsb-lightning-stream-shell{
    width:calc(100% - 40px)!important;
    max-width:calc(100% - 40px)!important;
    margin:0 auto 8px!important;
  }
  .avpsb-lightning-stream--rail{--avpsb-visible:var(--avpsb-lightning-visible-tablet,3);--avpsb-slider-gap:var(--avpsb-lightning-gap-tablet,12px)}
  .avpsb-lightning-stream__decor-icon--tag{inset-inline-start:40%}
  .avpsb-lightning-stream__decor-icon--gift{inset-inline-start:50%}
}

@media(max-width:767px){
  body .elementor-widget-avpsb-lightning-deal-stream .avpsb-lightning-stream-shell{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    margin:0 auto 6px!important;
    padding:8px!important;
  }
  .avpsb-lightning-stream--rail{--avpsb-visible:var(--avpsb-lightning-visible-mobile,2);--avpsb-slider-gap:var(--avpsb-lightning-gap-mobile,10px);--avpsb-lightning-gap:var(--avpsb-lightning-gap-mobile,10px)}
  body .avpsb-lightning-stream-shell .avpsb-lightning-stream__header{min-height:214px!important;padding:18px 16px!important}
  .avpsb-lightning-stream__header:before{background:linear-gradient(180deg,color-mix(in srgb,var(--avpsb-lightning-overlay,#073b6c) 64%,transparent),color-mix(in srgb,var(--avpsb-lightning-overlay,#073b6c) 44%,transparent))}
  .avpsb-lightning-stream__title-row>i{flex-basis:36px;width:36px;height:36px;border-radius:12px}
  .avpsb-lightning-stream__title-row>i svg{width:21px;height:21px}
  .avpsb-lightning-stream__decor-icon{width:38px;height:38px;border-radius:13px;opacity:.72}
  .avpsb-lightning-stream__decor-icon--tag{inset-inline-start:8px;top:10px}
  .avpsb-lightning-stream__decor-icon--gift{display:none}
  .elementor-widget-avpsb-lightning-deal-stream + .elementor-widget-avpsb-marketplace-campaign-dock{margin-block-start:-6px!important}
}

@media(prefers-reduced-motion:reduce){
  .avpsb-lightning-card__gallery-frame{transition:none!important}
}

/* ========================================================================
 * Unified device independence and full-width sizing — build 20260706.8
 * Desktop is the source of truth. Tablet/mobile only diverge when their
 * explicit override switch is enabled in Elementor.
 * ====================================================================== */
.avpsb-slider-arrow[hidden],.avpsb-slider-dots[hidden]{display:none!important}
.elementor-widget-avpsb-category-showcase .elementor-widget-container,
.elementor-widget-avpsb-commercial-campaign-slider .elementor-widget-container,
.elementor-widget-avpsb-product-carousel .elementor-widget-container,
.elementor-widget-avpsb-brand-showcase .elementor-widget-container,
.elementor-widget-avpsb-linked-media-slider .elementor-widget-container,
.elementor-widget-avpsb-promotional-offers .elementor-widget-container,
.avpsb-category-showcase,.avpsb-commercial-campaigns,.avpsb-slider{width:100%;max-width:none;min-width:0;box-sizing:border-box}

.avpsb-category-showcase{
  --avpsb-category-size:var(--avpsb-category-size-desktop,180px);
  --avpsb-category-item-padding:var(--avpsb-category-item-padding-desktop,10px);
  --avpsb-category-link-padding:var(--avpsb-category-link-padding-desktop,6px);
  --avpsb-category-content-gap:var(--avpsb-category-content-gap-desktop,10px);
}
.avpsb-category-showcase .avpsb-category-item{padding:var(--avpsb-category-item-padding,10px) calc(var(--avpsb-category-item-padding,10px)*.6)}
.avpsb-category-showcase .avpsb-category-link{padding:var(--avpsb-category-link-padding,6px);gap:var(--avpsb-category-content-gap,10px)}
.avpsb-category-showcase.avpsb-category-auto-size-to-slot .avpsb-category-image-wrap{
  width:min(var(--avpsb-category-size,180px),max(0px,calc(100% - (var(--avpsb-category-link-padding,6px)*2))));
  max-width:100%;
}
.avpsb-category-showcase.avpsb-category-auto-size-to-slot .avpsb-category-link{min-width:0}
.avpsb-category-showcase.avpsb-category-auto-size-to-slot .avpsb-category-name{font-size:clamp(11px,calc(10px + .32vw),17px)}

@media(min-width:768px) and (max-width:1024px){
  .avpsb-category-showcase.avpsb-device-tablet.avpsb-device-override-enabled{
    --avpsb-category-size:var(--avpsb-category-size-tablet,var(--avpsb-category-size-desktop,180px));
    --avpsb-category-item-padding:var(--avpsb-category-item-padding-tablet,var(--avpsb-category-item-padding-desktop,10px));
    --avpsb-category-link-padding:var(--avpsb-category-link-padding-tablet,var(--avpsb-category-link-padding-desktop,6px));
    --avpsb-category-content-gap:var(--avpsb-category-content-gap-tablet,var(--avpsb-category-content-gap-desktop,10px));
  }
}
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-device-mobile.avpsb-device-override-enabled{
    --avpsb-category-size:calc(var(--avpsb-category-size-mobile,var(--avpsb-category-size-desktop,180px))*var(--avpsb-category-mobile-scale,1));
    --avpsb-category-item-padding:calc(var(--avpsb-category-item-padding-mobile,var(--avpsb-category-item-padding-desktop,10px))*var(--avpsb-category-mobile-scale,1));
    --avpsb-category-link-padding:calc(var(--avpsb-category-link-padding-mobile,var(--avpsb-category-link-padding-desktop,6px))*var(--avpsb-category-mobile-scale,1));
    --avpsb-category-content-gap:calc(var(--avpsb-category-content-gap-mobile,var(--avpsb-category-content-gap-desktop,10px))*var(--avpsb-category-mobile-scale,1));
  }
  .avpsb-category-showcase:not(.avpsb-device-override-enabled){
    --avpsb-category-size:var(--avpsb-category-size-desktop,180px);
    --avpsb-category-item-padding:var(--avpsb-category-item-padding-desktop,10px);
    --avpsb-category-link-padding:var(--avpsb-category-link-padding-desktop,6px);
    --avpsb-category-content-gap:var(--avpsb-category-content-gap-desktop,10px);
  }
}

/* Commercial campaign per-device size inheritance — build 20260706.8 */
.avpsb-commercial-campaigns{
  --avpsb-commercial-scale:var(--avpsb-commercial-scale-desktop,100%)!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-height-custom{
  --avpsb-commercial-height:var(--avpsb-commercial-height-desktop,520px)!important;
}
@media(min-width:768px) and (max-width:1024px){
  .avpsb-commercial-campaigns.avpsb-device-tablet.avpsb-device-override-enabled{
    --avpsb-commercial-scale:var(--avpsb-commercial-scale-tablet,var(--avpsb-commercial-scale-desktop,100%))!important;
  }
  .avpsb-commercial-campaigns.avpsb-device-tablet.avpsb-device-override-enabled.avpsb-commercial-height-custom{
    --avpsb-commercial-height:var(--avpsb-commercial-height-tablet,var(--avpsb-commercial-height-desktop,520px))!important;
  }
}
@media(max-width:767px){
  .avpsb-commercial-campaigns.avpsb-device-mobile.avpsb-device-override-enabled{
    --avpsb-commercial-scale:var(--avpsb-commercial-scale-mobile,var(--avpsb-commercial-scale-desktop,100%))!important;
  }
  .avpsb-commercial-campaigns.avpsb-device-mobile.avpsb-device-override-enabled.avpsb-commercial-height-custom{
    --avpsb-commercial-height:var(--avpsb-commercial-height-mobile,var(--avpsb-commercial-height-desktop,520px))!important;
  }
  .avpsb-commercial-campaigns:not(.avpsb-device-override-enabled){
    --avpsb-commercial-scale:var(--avpsb-commercial-scale-desktop,100%)!important;
  }
  .avpsb-commercial-campaigns:not(.avpsb-device-override-enabled).avpsb-commercial-height-custom{
    --avpsb-commercial-height:var(--avpsb-commercial-height-desktop,520px)!important;
  }
}

/* Full-width defaults for the complete storefront widget family — build 20260706.8 */
[class*="elementor-widget-avpsb-"]>.elementor-widget-container,
[class*="elementor-widget-avpsb-"] .elementor-widget-container{
  width:100%;max-width:none;min-width:0;box-sizing:border-box;
}
.avpsb-linked-media,
.avpsb-promotional-offers,
.avpsb-benefits-rail,
.avpsb-adaptive-promo,
.avpsb-products-block,
.avpsb-product-stories,
.avpsb-banner-collection,
.avpsb-brand-showcase,
.avpsb-marketplace-category-rail,
.avpsb-promo-slider,
.avpsb-hero-slider{
  width:100%;max-width:none;min-width:0;box-sizing:border-box;
}

/* Override the legacy 110px phone rule so device inheritance remains exact. */
.avpsb-category-showcase .avpsb-category-image-wrap{
  width:var(--avpsb-category-size,180px);
  height:auto!important;
}
.avpsb-category-showcase.avpsb-category-auto-size-to-slot .avpsb-category-image-wrap{
  width:min(var(--avpsb-category-size,180px),max(0px,calc(100% - (var(--avpsb-category-link-padding,6px)*2))));
}


/* ========================================================================
 * Category sizing, compact spacing and held-touch loop repair — build 20260706.9
 * ====================================================================== */
.avpsb-category-showcase{
  --avpsb-category-preset-max:132px;
  --avpsb-category-preset-fill:74%;
  --avpsb-category-preset-scale:.94;
}
.avpsb-category-showcase.avpsb-category-size-default{--avpsb-category-preset-max:132px;--avpsb-category-preset-fill:74%;--avpsb-category-preset-scale:.94}
.avpsb-category-showcase.avpsb-category-size-tiny{--avpsb-category-preset-max:86px;--avpsb-category-preset-fill:55%;--avpsb-category-preset-scale:.72}
.avpsb-category-showcase.avpsb-category-size-small{--avpsb-category-preset-max:108px;--avpsb-category-preset-fill:65%;--avpsb-category-preset-scale:.84}
.avpsb-category-showcase.avpsb-category-size-medium{--avpsb-category-preset-max:154px;--avpsb-category-preset-fill:84%;--avpsb-category-preset-scale:1}
.avpsb-category-showcase.avpsb-category-size-large{--avpsb-category-preset-max:182px;--avpsb-category-preset-fill:94%;--avpsb-category-preset-scale:1.12}
.avpsb-category-showcase.avpsb-category-size-xlarge{--avpsb-category-preset-max:220px;--avpsb-category-preset-fill:100%;--avpsb-category-preset-scale:1.25}
.avpsb-category-showcase.avpsb-category-size-custom{--avpsb-category-preset-max:var(--avpsb-category-size,180px);--avpsb-category-preset-fill:100%;--avpsb-category-preset-scale:1}

/* Track gap is the only horizontal separation. Item padding no longer doubles
   the selected gap and creates the large empty bands visible between cards. */
.avpsb-category-showcase .avpsb-category-item{
  padding-block:clamp(2px,calc(var(--avpsb-category-item-padding,10px)*var(--avpsb-category-preset-scale,1)),12px)!important;
  padding-inline:0!important;
  min-width:0;
}
.avpsb-category-showcase .avpsb-category-link{width:100%;min-width:0;box-sizing:border-box}

/* Presets use a real target size but always shrink to the selected Items per
   view slot. Custom keeps the exact Elementor image-size control. */
.avpsb-category-showcase.avpsb-layout-carousel .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-layout-carousel-center .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-layout-peek .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-layout-drag .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-layout-coverflow .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-layout-stacked-carousel .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-layout-grid .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-layout-wrap .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-layout-two-row .avpsb-category-image-wrap{
  width:min(var(--avpsb-category-preset-max,132px),var(--avpsb-category-preset-fill,74%),calc(100% - (var(--avpsb-category-link-padding,6px)*2)))!important;
  max-width:100%;
  height:auto!important;
}
.avpsb-category-showcase.avpsb-category-auto-size-to-slot .avpsb-category-image-wrap{
  max-width:calc(100% - (var(--avpsb-category-link-padding,6px)*2));
}
.avpsb-category-showcase .avpsb-slider-track{will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}
.avpsb-category-showcase .avpsb-slider-viewport,
.avpsb-commercial-campaigns .avpsb-slider-viewport{overscroll-behavior-inline:contain}
.avpsb-category-showcase.is-dragging .avpsb-slider-track,
.avpsb-commercial-campaigns.is-dragging .avpsb-slider-track{transition:none!important;will-change:transform}

@media(max-width:767px){
  .avpsb-category-showcase.avpsb-category-size-default{--avpsb-category-preset-max:92px;--avpsb-category-preset-fill:90%;--avpsb-category-preset-scale:.94}
  .avpsb-category-showcase.avpsb-category-size-tiny{--avpsb-category-preset-max:68px;--avpsb-category-preset-fill:78%;--avpsb-category-preset-scale:.82}
  .avpsb-category-showcase.avpsb-category-size-small{--avpsb-category-preset-max:82px;--avpsb-category-preset-fill:86%;--avpsb-category-preset-scale:.90}
  .avpsb-category-showcase.avpsb-category-size-medium{--avpsb-category-preset-max:104px;--avpsb-category-preset-fill:94%;--avpsb-category-preset-scale:1}
  .avpsb-category-showcase.avpsb-category-size-large{--avpsb-category-preset-max:120px;--avpsb-category-preset-fill:100%;--avpsb-category-preset-scale:1.08}
  .avpsb-category-showcase.avpsb-category-size-xlarge{--avpsb-category-preset-max:145px;--avpsb-category-preset-fill:100%;--avpsb-category-preset-scale:1.16}
  .avpsb-category-showcase .avpsb-category-item{padding-block:3px!important;padding-inline:0!important}
  .avpsb-category-showcase .avpsb-category-link{
    padding:min(var(--avpsb-category-link-padding,6px),4px)!important;
    gap:min(var(--avpsb-category-content-gap,10px),6px)!important;
  }
  .avpsb-category-showcase .avpsb-category-name{font-size:clamp(10px,3.15vw,14px)!important;line-height:1.25}
  .avpsb-category-showcase.avpsb-category-mobile-auto-fit .avpsb-category-item{min-width:0!important}
  .avpsb-category-showcase.avpsb-category-mobile-auto-fit .avpsb-category-link{width:100%;min-width:0}
}

/* ========================================================================
 * Professional category density and responsive sizing — build 20260706.10
 * Preset sizes now define the complete visual unit. Automatic density uses
 * a compact target width instead of stretching a handful of categories over
 * the entire viewport. Mobile keeps a readable 3–4 item rhythm by default.
 * ====================================================================== */
.avpsb-category-showcase{
  --avpsb-category-preset-max:138px;
  --avpsb-category-preset-fill:96%;
  --avpsb-category-preset-scale:1;
  --avpsb-category-unit-target:158px;
}
.avpsb-category-showcase.avpsb-category-size-tiny{--avpsb-category-preset-max:92px;--avpsb-category-preset-fill:96%;--avpsb-category-preset-scale:.78;--avpsb-category-unit-target:112px}
.avpsb-category-showcase.avpsb-category-size-small{--avpsb-category-preset-max:112px;--avpsb-category-preset-fill:96%;--avpsb-category-preset-scale:.88;--avpsb-category-unit-target:132px}
.avpsb-category-showcase.avpsb-category-size-default{--avpsb-category-preset-max:138px;--avpsb-category-preset-fill:96%;--avpsb-category-preset-scale:1;--avpsb-category-unit-target:158px}
.avpsb-category-showcase.avpsb-category-size-medium{--avpsb-category-preset-max:160px;--avpsb-category-preset-fill:96%;--avpsb-category-preset-scale:1.06;--avpsb-category-unit-target:182px}
.avpsb-category-showcase.avpsb-category-size-large{--avpsb-category-preset-max:188px;--avpsb-category-preset-fill:97%;--avpsb-category-preset-scale:1.14;--avpsb-category-unit-target:210px}
.avpsb-category-showcase.avpsb-category-size-xlarge{--avpsb-category-preset-max:220px;--avpsb-category-preset-fill:98%;--avpsb-category-preset-scale:1.24;--avpsb-category-unit-target:244px}

.avpsb-category-showcase.avpsb-category-density-auto .avpsb-category-track{
  align-items:flex-start;
}

.avpsb-category-showcase.avpsb-category-density-auto.avpsb-layout-grid .avpsb-category-track,
.avpsb-category-showcase.avpsb-category-density-auto.avpsb-layout-compact .avpsb-category-track{
  grid-template-columns:repeat(auto-fit,var(--avpsb-category-unit-target,158px))!important;
  justify-content:center;
}
.avpsb-category-showcase.avpsb-category-density-auto.avpsb-layout-wrap .avpsb-category-item{
  flex:0 0 var(--avpsb-category-unit-target,158px)!important;
  max-width:var(--avpsb-category-unit-target,158px);
}
.avpsb-category-showcase.avpsb-category-density-auto:not(.avpsb-loop-active) .avpsb-category-track{
  justify-content:center;
}
.avpsb-category-showcase.avpsb-category-density-auto .avpsb-category-link{
  margin-inline:auto;
  max-width:calc(var(--avpsb-category-preset-max,138px) + (var(--avpsb-category-link-padding,6px) * 2) + 12px);
}
.avpsb-category-showcase.avpsb-category-density-auto .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-category-density-exact .avpsb-category-image-wrap{
  width:min(var(--avpsb-category-preset-max,138px),var(--avpsb-category-preset-fill,96%),calc(100% - (var(--avpsb-category-link-padding,6px) * 2)))!important;
}
.avpsb-category-showcase .avpsb-category-item{
  padding-inline:0!important;
  padding-block:clamp(3px,calc(7px * var(--avpsb-category-preset-scale,1)),10px)!important;
}
.avpsb-category-showcase .avpsb-category-link{
  gap:clamp(5px,calc(9px * var(--avpsb-category-preset-scale,1)),12px)!important;
}
.avpsb-category-showcase.avpsb-category-size-tiny .avpsb-category-name{font-size:12px}
.avpsb-category-showcase.avpsb-category-size-small .avpsb-category-name{font-size:13px}
.avpsb-category-showcase.avpsb-category-size-default .avpsb-category-name{font-size:14px}
.avpsb-category-showcase.avpsb-category-size-medium .avpsb-category-name{font-size:15px}
.avpsb-category-showcase.avpsb-category-size-large .avpsb-category-name{font-size:16px}
.avpsb-category-showcase.avpsb-category-size-xlarge .avpsb-category-name{font-size:17px}
.avpsb-category-showcase.avpsb-slider .avpsb-slider-viewport{padding-inline:3px}
.avpsb-category-showcase.avpsb-loop-active .avpsb-category-track{justify-content:flex-start}
.avpsb-category-showcase.is-dragging .avpsb-slider-viewport,
.avpsb-commercial-campaigns.is-dragging .avpsb-slider-viewport{cursor:grabbing;touch-action:pan-y}

@media(max-width:1024px){
  .avpsb-category-showcase.avpsb-category-size-tiny{--avpsb-category-preset-max:82px;--avpsb-category-unit-target:102px}
  .avpsb-category-showcase.avpsb-category-size-small{--avpsb-category-preset-max:98px;--avpsb-category-unit-target:118px}
  .avpsb-category-showcase.avpsb-category-size-default{--avpsb-category-preset-max:120px;--avpsb-category-unit-target:140px}
  .avpsb-category-showcase.avpsb-category-size-medium{--avpsb-category-preset-max:140px;--avpsb-category-unit-target:160px}
  .avpsb-category-showcase.avpsb-category-size-large{--avpsb-category-preset-max:164px;--avpsb-category-unit-target:184px}
  .avpsb-category-showcase.avpsb-category-size-xlarge{--avpsb-category-preset-max:190px;--avpsb-category-unit-target:212px}
}
@media(max-width:767px){
  .avpsb-category-showcase{
    --avpsb-category-item-padding:3px;
    --avpsb-category-link-padding:3px;
    --avpsb-category-content-gap:6px;
  }
  .avpsb-category-showcase.avpsb-category-size-tiny{--avpsb-category-preset-max:70px;--avpsb-category-preset-fill:97%;--avpsb-category-preset-scale:.84;--avpsb-category-unit-target:82px}
  .avpsb-category-showcase.avpsb-category-size-small{--avpsb-category-preset-max:78px;--avpsb-category-preset-fill:97%;--avpsb-category-preset-scale:.91;--avpsb-category-unit-target:90px}
  .avpsb-category-showcase.avpsb-category-size-default{--avpsb-category-preset-max:90px;--avpsb-category-preset-fill:97%;--avpsb-category-preset-scale:1;--avpsb-category-unit-target:102px}
  .avpsb-category-showcase.avpsb-category-size-medium{--avpsb-category-preset-max:104px;--avpsb-category-preset-fill:98%;--avpsb-category-preset-scale:1.05;--avpsb-category-unit-target:116px}
  .avpsb-category-showcase.avpsb-category-size-large{--avpsb-category-preset-max:118px;--avpsb-category-preset-fill:98%;--avpsb-category-preset-scale:1.1;--avpsb-category-unit-target:132px}
  .avpsb-category-showcase.avpsb-category-size-xlarge{--avpsb-category-preset-max:136px;--avpsb-category-preset-fill:99%;--avpsb-category-preset-scale:1.16;--avpsb-category-unit-target:150px}
  .avpsb-category-showcase .avpsb-category-link{padding:3px!important;gap:5px!important}
  .avpsb-category-showcase .avpsb-category-name{font-size:clamp(12px,3.65vw,15px)!important;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
  .avpsb-category-showcase .avpsb-category-count,.avpsb-category-showcase .avpsb-category-description{font-size:11px}
  .avpsb-category-showcase.avpsb-slider .avpsb-slider-viewport{padding-inline:4px}
}
.avpsb-category-showcase.avpsb-category-size-wide{--avpsb-category-preset-max:205px;--avpsb-category-preset-fill:98%;--avpsb-category-unit-target:230px}
.avpsb-category-showcase.avpsb-category-size-tall{--avpsb-category-preset-max:170px;--avpsb-category-preset-fill:97%;--avpsb-category-unit-target:190px}
.avpsb-category-showcase.avpsb-category-size-banner{--avpsb-category-preset-max:235px;--avpsb-category-preset-fill:98%;--avpsb-category-unit-target:260px}
.avpsb-category-showcase.avpsb-category-size-hero{--avpsb-category-preset-max:250px;--avpsb-category-preset-fill:99%;--avpsb-category-unit-target:280px}
.avpsb-category-showcase.avpsb-category-size-custom{--avpsb-category-preset-max:var(--avpsb-category-size,180px);--avpsb-category-preset-fill:100%;--avpsb-category-unit-target:calc(var(--avpsb-category-size,180px) + 20px)}
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-category-size-wide{--avpsb-category-preset-max:128px;--avpsb-category-unit-target:142px}
  .avpsb-category-showcase.avpsb-category-size-tall{--avpsb-category-preset-max:106px;--avpsb-category-unit-target:118px}
  .avpsb-category-showcase.avpsb-category-size-banner{--avpsb-category-preset-max:145px;--avpsb-category-unit-target:160px}
  .avpsb-category-showcase.avpsb-category-size-hero{--avpsb-category-preset-max:156px;--avpsb-category-unit-target:172px}
}


/* ========================================================================
 * First-paint slider stabilizer — build 20260706.11
 * Prevents the category rail from briefly using desktop/exact slide counts
 * before the responsive slider engine has measured the mobile viewport.
 * The real content fades in only after its final widths, device variants,
 * clones and direction have been applied. A safe CSS fallback is revealed
 * automatically if JavaScript is delayed or unavailable.
 * ====================================================================== */
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready){
  --avpsb-visible:8!important;
  --avpsb-slider-gap:8px!important;
  position:relative;
  min-height:calc(var(--avpsb-category-preset-max,138px) + 58px);
  overflow:hidden;
  contain:layout paint;
}
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready) .avpsb-slider-viewport,
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready) .avpsb-slider-arrow,
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready) .avpsb-slider-dots{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready) .avpsb-slider-viewport{
  animation:avpsb-category-safe-reveal 0s linear 1.8s forwards;
}
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready)::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:4px 0 auto;
  height:calc(var(--avpsb-category-preset-max,138px) + 44px);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 40%,rgba(148,163,184,.30) 0 38px,transparent 39px) 0 0/170px 130px repeat-x,
    linear-gradient(100deg,rgba(241,245,249,.48) 20%,rgba(226,232,240,.82) 42%,rgba(241,245,249,.48) 64%) 0 0/220% 100%;
  animation:avpsb-category-skeleton 1.15s linear infinite, avpsb-category-skeleton-hide 0s linear 1.8s forwards;
}
.avpsb-category-showcase.avpsb-slider-ready .avpsb-slider-viewport{
  opacity:1;
  visibility:visible;
  transition:opacity .16s ease-out;
}
@keyframes avpsb-category-safe-reveal{
  to{opacity:1;visibility:visible;pointer-events:auto}
}
@keyframes avpsb-category-skeleton{
  to{background-position:170px 0,-220% 0}
}
@keyframes avpsb-category-skeleton-hide{
  to{opacity:0;visibility:hidden}
}
@media(max-width:1024px){
  .avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready){
    --avpsb-visible:6!important;
    --avpsb-slider-gap:7px!important;
  }
}
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready){
    --avpsb-visible:3.35!important;
    --avpsb-slider-gap:6px!important;
    min-height:calc(var(--avpsb-category-preset-max,90px) + 54px);
  }
  .avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready)::before{
    height:calc(var(--avpsb-category-preset-max,90px) + 42px);
    background:
      radial-gradient(circle at 50% 38%,rgba(148,163,184,.30) 0 30px,transparent 31px) 0 0/105px 105px repeat-x,
      linear-gradient(100deg,rgba(241,245,249,.48) 20%,rgba(226,232,240,.82) 42%,rgba(241,245,249,.48) 64%) 0 0/220% 100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready)::before{animation:avpsb-category-skeleton-hide 0s linear 1.8s forwards}
  .avpsb-category-showcase.avpsb-slider-ready .avpsb-slider-viewport{transition:none}
}


/* ========================================================================
 * Commercial full-bleed demo media repair — build 20260706.14
 * Demo artwork must fill the complete slide instead of being letterboxed.
 * Full-width single-slide modes are pinned to one complete slide per view.
 * ====================================================================== */
.avpsb-commercial-background{
  width:100%;
  height:100%;
  max-width:none!important;
}
.avpsb-commercial-background img{
  max-width:none!important;
}
.avpsb-commercial-background.is-avpsb-demo-media,
.avpsb-commercial-background.is-avpsb-demo-media img,
.avpsb-commercial-demo-image{
  width:100%!important;
  height:100%!important;
}
.avpsb-commercial-background.is-avpsb-demo-media img,
.avpsb-commercial-demo-image{
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}
.avpsb-commercial-layout-full-slider,
.avpsb-commercial-layout-boxed-slider,
.avpsb-commercial-layout-split-slider,
.avpsb-commercial-layout-panorama-slider,
.avpsb-commercial-layout-image-slider,
.avpsb-commercial-layout-thumbnail-stage{
  --avpsb-visible:1!important;
}
.avpsb-commercial-layout-full-slider .avpsb-commercial-slide,
.avpsb-commercial-layout-boxed-slider .avpsb-commercial-slide,
.avpsb-commercial-layout-split-slider .avpsb-commercial-slide,
.avpsb-commercial-layout-panorama-slider .avpsb-commercial-slide,
.avpsb-commercial-layout-image-slider .avpsb-commercial-slide,
.avpsb-commercial-layout-thumbnail-stage .avpsb-commercial-slide{
  flex:0 0 100%!important;
  width:100%!important;
  max-width:none!important;
}
.avpsb-commercial-layout-full-slider .avpsb-commercial-slide-shell,
.avpsb-commercial-layout-image-slider .avpsb-commercial-slide-shell,
.avpsb-commercial-layout-panorama-slider .avpsb-commercial-slide-shell{
  width:100%!important;
  max-width:none!important;
}
.avpsb-promo-offer-image.is-avpsb-demo-media{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:767px){
  .avpsb-commercial-background.is-avpsb-demo-media img,
  .avpsb-commercial-demo-image{
    object-fit:cover!important;
    object-position:center center!important;
  }
}


/* ========================================================================
 * Full-bleed slider media — build 20260706.19
 * Applies to both Commercial Campaign Slider and Linked Media Slider.
 * The earlier repair only targeted the campaign widget; linked demo media
 * could still inherit "contain" and render as a small centered rectangle.
 * ====================================================================== */
.avpsb-commercial-campaigns.avpsb-commercial-layout-full-slider,
.avpsb-commercial-campaigns.avpsb-commercial-layout-image-slider,
.avpsb-commercial-campaigns.avpsb-commercial-layout-panorama-slider,
.avpsb-linked-media.avpsb-linked-media-layout-full-slider.avpsb-slider{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  --avpsb-visible:1!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-layout-full-slider .avpsb-commercial-viewport,
.avpsb-commercial-campaigns.avpsb-commercial-layout-full-slider .avpsb-commercial-track,
.avpsb-commercial-campaigns.avpsb-commercial-layout-image-slider .avpsb-commercial-viewport,
.avpsb-commercial-campaigns.avpsb-commercial-layout-image-slider .avpsb-commercial-track,
.avpsb-commercial-campaigns.avpsb-commercial-layout-panorama-slider .avpsb-commercial-viewport,
.avpsb-commercial-campaigns.avpsb-commercial-layout-panorama-slider .avpsb-commercial-track,
.avpsb-linked-media.avpsb-linked-media-layout-full-slider .avpsb-linked-media-viewport,
.avpsb-linked-media.avpsb-linked-media-layout-full-slider .avpsb-linked-media-track{
  width:100%!important;
  max-width:none!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-layout-full-slider .avpsb-commercial-slide,
.avpsb-commercial-campaigns.avpsb-commercial-layout-image-slider .avpsb-commercial-slide,
.avpsb-commercial-campaigns.avpsb-commercial-layout-panorama-slider .avpsb-commercial-slide,
.avpsb-linked-media.avpsb-linked-media-layout-full-slider .avpsb-linked-media-item{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  align-self:stretch!important;
}
.avpsb-commercial-campaigns .avpsb-commercial-background.is-avpsb-demo-media,
.avpsb-commercial-campaigns .avpsb-commercial-background.is-avpsb-demo-media img,
.avpsb-commercial-campaigns img.avpsb-commercial-demo-image,
.avpsb-linked-media .avpsb-linked-media-card picture.is-avpsb-demo-media,
.avpsb-linked-media .avpsb-linked-media-card picture.is-avpsb-demo-media img,
.avpsb-linked-media img.avpsb-linked-media-demo-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}
.avpsb-linked-media.avpsb-linked-media-layout-full-slider .avpsb-linked-media-card,
.avpsb-commercial-campaigns.avpsb-commercial-layout-full-slider .avpsb-commercial-slide-shell,
.avpsb-commercial-campaigns.avpsb-commercial-layout-image-slider .avpsb-commercial-slide-shell,
.avpsb-commercial-campaigns.avpsb-commercial-layout-panorama-slider .avpsb-commercial-slide-shell{
  width:100%!important;
  max-width:none!important;
}
/* Remove the unused empty mock-device decoration from packaged demo artwork. */
.avpsb-commercial-campaigns .is-avpsb-demo-media + .avpsb-commercial-background-overlay{
  pointer-events:none;
}
@media(max-width:767px){
  .avpsb-linked-media.avpsb-linked-media-layout-full-slider,
  .avpsb-commercial-campaigns.avpsb-commercial-layout-full-slider,
  .avpsb-commercial-campaigns.avpsb-commercial-layout-image-slider,
  .avpsb-commercial-campaigns.avpsb-commercial-layout-panorama-slider{
    width:100%!important;
    max-width:none!important;
    --avpsb-visible:1!important;
  }
}


/* ========================================================================
 * Mobile category touch smoothness and guaranteed peek — build 20260706.16
 * Keeps the rail lighter on first drag, reserves a little end-space for the
 * next item preview, and improves touch feel on handheld devices.
 * ====================================================================== */
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-slider .avpsb-slider-viewport{
    padding-inline-start:4px!important;
    padding-inline-end:14px!important;
    touch-action:pan-y pinch-zoom;
    -webkit-overflow-scrolling:touch;
  }
  .avpsb-category-showcase .avpsb-slider-track{
    will-change:transform;
  }
}


/* Build 20260706.19: use contained packaged demo art with matching backgrounds */
.avpsb-linked-media .avpsb-linked-media-card picture.is-avpsb-demo-media,
.avpsb-commercial-campaigns .avpsb-commercial-background.is-avpsb-demo-media{background:linear-gradient(135deg,#1e40af 0%,#06b6d4 100%)!important;}
.avpsb-linked-media .avpsb-linked-media-card picture.is-avpsb-demo-media img,
.avpsb-linked-media img.avpsb-linked-media-demo-image,
.avpsb-commercial-campaigns .avpsb-commercial-background.is-avpsb-demo-media img,
.avpsb-commercial-campaigns img.avpsb-commercial-demo-image{object-fit:contain!important;object-position:center center!important;background:transparent!important;}


/* ========================================================================
 * Build 20260707.1 — stable demo banners + smooth category touch
 * Demo artwork is intentionally text-free and stretches only for packaged
 * placeholders. User-uploaded images continue to obey the selected fit mode.
 * ====================================================================== */
.avpsb-linked-media .avpsb-linked-media-card,
.avpsb-commercial-campaigns .avpsb-commercial-slide-shell,
.avpsb-commercial-campaigns .avpsb-commercial-slide{
  overflow:hidden!important;
}
.avpsb-linked-media .avpsb-linked-media-card picture.is-avpsb-demo-media,
.avpsb-commercial-campaigns .avpsb-commercial-background.is-avpsb-demo-media{
  inset:0!important;
  overflow:hidden!important;
  border-radius:inherit!important;
}
.avpsb-linked-media .avpsb-linked-media-card picture.is-avpsb-demo-media img,
.avpsb-linked-media img.avpsb-linked-media-demo-image,
.avpsb-commercial-campaigns .avpsb-commercial-background.is-avpsb-demo-media img,
.avpsb-commercial-campaigns img.avpsb-commercial-demo-image{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:fill!important;
  object-position:center center!important;
  transform:none!important;
  border-radius:inherit!important;
}
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-slider .avpsb-slider-viewport{
    padding-inline-start:4px!important;
    padding-inline-end:18px!important;
    touch-action:pan-y pinch-zoom!important;
    overscroll-behavior-inline:contain;
  }
  .avpsb-category-showcase .avpsb-slider-track{
    transition-timing-function:cubic-bezier(.2,.7,.25,1)!important;
    backface-visibility:hidden;
    transform-style:flat;
  }
  .avpsb-category-showcase.is-dragging .avpsb-slider-track{
    transition:none!important;
  }
}

/* ========================================================================
 * Native inertial category rail on mobile — build 20260707.2
 * The browser now owns touch momentum instead of a JS transform drag. This
 * removes the heavy/sticky feel while preserving the cloned endless rail.
 * ====================================================================== */
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-native-category-rail .avpsb-slider-viewport{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y pinch-zoom!important;
    scroll-snap-type:x proximity;
    scroll-padding-inline:4px;
    scrollbar-width:none;
    padding-inline:4px!important;
  }
  .avpsb-category-showcase.avpsb-native-category-rail .avpsb-slider-viewport::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
  }
  .avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-track{
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
    backface-visibility:visible!important;
  }
  .avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-item{
    scroll-snap-align:start;
    scroll-snap-stop:normal;
  }
  .avpsb-category-showcase.avpsb-native-category-rail.is-dragging .avpsb-slider-viewport{
    cursor:grabbing;
  }
}


/* ========================================================================
 * Native loop polish + stable mobile first frame — build 20260707.3
 * ====================================================================== */
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-native-category-rail .avpsb-slider-viewport{
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  .avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-item{
    scroll-snap-align:none!important;
    scroll-snap-stop:normal!important;
  }

  .avpsb-linked-media.avpsb-mobile-slider-initializing .avpsb-linked-media-track,
  .avpsb-commercial-campaigns.avpsb-mobile-slider-initializing .avpsb-commercial-track,
  .avpsb-promotional-offers.avpsb-mobile-slider-initializing .avpsb-promo-offers-track{
    opacity:0!important;
    visibility:hidden!important;
  }
  .avpsb-linked-media.avpsb-mobile-slider-stable .avpsb-linked-media-track,
  .avpsb-commercial-campaigns.avpsb-mobile-slider-stable .avpsb-commercial-track,
  .avpsb-promotional-offers.avpsb-mobile-slider-stable .avpsb-promo-offers-track{
    opacity:1!important;
    visibility:visible!important;
    transition:opacity .16s ease!important;
  }
  .avpsb-linked-media.avpsb-mobile-slider-initializing .avpsb-linked-media-viewport,
  .avpsb-commercial-campaigns.avpsb-mobile-slider-initializing .avpsb-commercial-viewport{
    overflow:hidden!important;
    background:linear-gradient(110deg,#eef2f7 8%,#f8fafc 18%,#eef2f7 33%)!important;
    background-size:200% 100%!important;
    animation:avpsbMobileSliderSkeleton 1.1s linear infinite;
  }
  .avpsb-linked-media.avpsb-linked-media-layout-full-slider .avpsb-linked-media-viewport,
  .avpsb-commercial-campaigns.avpsb-commercial-layout-full-slider .avpsb-commercial-viewport,
  .avpsb-commercial-campaigns.avpsb-commercial-layout-image-slider .avpsb-commercial-viewport,
  .avpsb-commercial-campaigns.avpsb-commercial-layout-panorama-slider .avpsb-commercial-viewport{
    overflow:hidden!important;
    width:100%!important;
  }
  .avpsb-linked-media.avpsb-linked-media-layout-full-slider .avpsb-linked-media-item,
  .avpsb-commercial-campaigns.avpsb-commercial-layout-full-slider .avpsb-commercial-slide,
  .avpsb-commercial-campaigns.avpsb-commercial-layout-image-slider .avpsb-commercial-slide,
  .avpsb-commercial-campaigns.avpsb-commercial-layout-panorama-slider .avpsb-commercial-slide{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
  }
}
@keyframes avpsbMobileSliderSkeleton{to{background-position-x:-200%}}

/* ========================================================================
 * Desktop banner height presets — build 20260707.4
 * Reduces only the desktop container height. Images retain their original
 * quality and selected object-fit mode; mobile keeps its established sizes.
 * ====================================================================== */
@media(min-width:1025px){
  .avpsb-linked-media.avpsb-linked-media-size-mini{--avpsb-media-height:240px!important}
  .avpsb-linked-media.avpsb-linked-media-size-compact{--avpsb-media-height:300px!important}
  .avpsb-linked-media.avpsb-linked-media-size-standard{--avpsb-media-height:360px!important}
  .avpsb-linked-media.avpsb-linked-media-size-large{--avpsb-media-height:420px!important}
  .avpsb-linked-media.avpsb-linked-media-size-tall{--avpsb-media-height:480px!important}
  .avpsb-linked-media.avpsb-linked-media-size-ultrawide{--avpsb-media-height:320px!important}

  .avpsb-commercial-campaigns.avpsb-commercial-height-mini{--avpsb-commercial-height:240px!important}
  .avpsb-commercial-campaigns.avpsb-commercial-height-compact{--avpsb-commercial-height:300px!important}
  .avpsb-commercial-campaigns.avpsb-commercial-height-standard{--avpsb-commercial-height:360px!important}
  .avpsb-commercial-campaigns.avpsb-commercial-height-large{--avpsb-commercial-height:420px!important}
  .avpsb-commercial-campaigns.avpsb-commercial-height-tall{--avpsb-commercial-height:480px!important}
  .avpsb-commercial-campaigns.avpsb-commercial-height-cinematic{--avpsb-commercial-height:520px!important}
  .avpsb-commercial-campaigns.avpsb-commercial-height-ultrawide{--avpsb-commercial-height:320px!important}

  .avpsb-linked-media-card picture img,
  .avpsb-commercial-background img{
    image-rendering:auto;
    -ms-interpolation-mode:bicubic;
  }
}


/* ========================================================================
 * Category Surface Studio + adaptive palette + universal responsive guard
 * Build 20260707.5
 * ====================================================================== */
.avpsb-category-showcase{
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  background-color:transparent;
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
  --avpsb-category-section-bg-1:#fff;
  --avpsb-category-section-bg-2:#f8fafc;
  --avpsb-category-section-accent:#dbeafe;
  --avpsb-category-section-angle:135deg;
  --avpsb-category-pattern-size:24px;
  --avpsb-category-pattern-opacity:28%;
  --avpsb-category-section-overlay:rgba(15,23,42,0);
  --avpsb-category-section-overlay-opacity:0%;
  --avpsb-category-section-blur:14px;
  --avpsb-category-palette-1:#eff6ff;
  --avpsb-category-palette-2:#fef3c7;
  --avpsb-category-palette-3:#fce7f3;
  --avpsb-category-palette-4:#dcfce7;
  --avpsb-category-palette-text:#0f172a;
  --avpsb-category-palette-hover:96%;
  --avpsb-category-name-lines:2;
  --avpsb-category-description-lines:2;
}
.avpsb-category-showcase::before,
.avpsb-category-showcase::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
}
.avpsb-category-showcase::before{z-index:0;opacity:var(--avpsb-category-pattern-opacity,28%)}
.avpsb-category-showcase::after{z-index:0;background:var(--avpsb-category-section-overlay,transparent);opacity:var(--avpsb-category-section-overlay-opacity,0%)}
.avpsb-category-showcase>.avpsb-slider-viewport{position:relative;z-index:1}
.avpsb-category-showcase>.avpsb-slider-dots{z-index:2}
.avpsb-category-showcase>.avpsb-slider-arrow{z-index:5}
.avpsb-category-surface-transparent{background:transparent}
.avpsb-category-surface-solid{background:var(--avpsb-category-section-bg-1,#fff)}
.avpsb-category-surface-gradient{background:linear-gradient(var(--avpsb-category-section-angle,135deg),var(--avpsb-category-section-bg-1,#fff),var(--avpsb-category-section-bg-2,#f8fafc))}
.avpsb-category-surface-radial{background:radial-gradient(circle at 50% 20%,var(--avpsb-category-section-accent,#dbeafe),var(--avpsb-category-section-bg-1,#fff) 46%,var(--avpsb-category-section-bg-2,#f8fafc) 100%)}
.avpsb-category-surface-mesh{background:linear-gradient(var(--avpsb-category-section-angle,135deg),var(--avpsb-category-section-bg-1,#fff),var(--avpsb-category-section-bg-2,#f8fafc));background:
  radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--avpsb-category-section-accent,#dbeafe) 68%,transparent),transparent 38%),
  radial-gradient(circle at 85% 28%,color-mix(in srgb,var(--avpsb-category-section-bg-2,#f8fafc) 75%,transparent),transparent 42%),
  linear-gradient(var(--avpsb-category-section-angle,135deg),var(--avpsb-category-section-bg-1,#fff),var(--avpsb-category-section-bg-2,#f8fafc));
}
.avpsb-category-surface-dots{background:var(--avpsb-category-section-bg-1,#fff)}
.avpsb-category-surface-dots::before{background-image:radial-gradient(circle,var(--avpsb-category-section-accent,#dbeafe) 1.6px,transparent 1.8px);background-size:var(--avpsb-category-pattern-size,24px) var(--avpsb-category-pattern-size,24px)}
.avpsb-category-surface-grid{background:var(--avpsb-category-section-bg-1,#fff)}
.avpsb-category-surface-grid::before{background-image:linear-gradient(var(--avpsb-category-section-accent,#dbeafe) 1px,transparent 1px),linear-gradient(90deg,var(--avpsb-category-section-accent,#dbeafe) 1px,transparent 1px);background-size:var(--avpsb-category-pattern-size,24px) var(--avpsb-category-pattern-size,24px)}
.avpsb-category-surface-stripes{background:var(--avpsb-category-section-bg-1,#fff)}
.avpsb-category-surface-stripes::before{background-image:repeating-linear-gradient(var(--avpsb-category-section-angle,135deg),var(--avpsb-category-section-accent,#dbeafe) 0,var(--avpsb-category-section-accent,#dbeafe) 8px,transparent 8px,transparent var(--avpsb-category-pattern-size,24px))}
.avpsb-category-surface-image{background-image:var(--avpsb-category-section-image,none);background-size:var(--avpsb-category-section-image-size,cover);background-position:var(--avpsb-category-section-image-position,center center);background-repeat:var(--avpsb-category-section-image-repeat,no-repeat)}
.avpsb-category-surface-glass{background:rgba(255,255,255,.72);background:color-mix(in srgb,var(--avpsb-category-section-bg-1,#fff) 72%,transparent);-webkit-backdrop-filter:blur(var(--avpsb-category-section-blur,14px));backdrop-filter:blur(var(--avpsb-category-section-blur,14px));border-color:color-mix(in srgb,var(--avpsb-category-section-accent,#dbeafe) 48%,transparent)}

.avpsb-category-palette-alternating .avpsb-category-item:nth-child(odd) .avpsb-category-link{background:var(--avpsb-category-palette-1)}
.avpsb-category-palette-alternating .avpsb-category-item:nth-child(even) .avpsb-category-link{background:var(--avpsb-category-palette-2)}
.avpsb-category-palette-spectrum .avpsb-category-item:nth-child(4n+1) .avpsb-category-link,
.avpsb-category-palette-soft .avpsb-category-item:nth-child(4n+1) .avpsb-category-link{background:var(--avpsb-category-palette-1)}
.avpsb-category-palette-spectrum .avpsb-category-item:nth-child(4n+2) .avpsb-category-link,
.avpsb-category-palette-soft .avpsb-category-item:nth-child(4n+2) .avpsb-category-link{background:var(--avpsb-category-palette-2)}
.avpsb-category-palette-spectrum .avpsb-category-item:nth-child(4n+3) .avpsb-category-link,
.avpsb-category-palette-soft .avpsb-category-item:nth-child(4n+3) .avpsb-category-link{background:var(--avpsb-category-palette-3)}
.avpsb-category-palette-spectrum .avpsb-category-item:nth-child(4n+4) .avpsb-category-link,
.avpsb-category-palette-soft .avpsb-category-item:nth-child(4n+4) .avpsb-category-link{background:var(--avpsb-category-palette-4)}
.avpsb-category-palette-soft .avpsb-category-link{box-shadow:0 8px 24px rgba(15,23,42,.07)}
.avpsb-category-showcase[class*="avpsb-category-palette-"]:not(.avpsb-category-palette-none) .avpsb-category-name,
.avpsb-category-showcase[class*="avpsb-category-palette-"]:not(.avpsb-category-palette-none) .avpsb-category-count,
.avpsb-category-showcase[class*="avpsb-category-palette-"]:not(.avpsb-category-palette-none) .avpsb-category-description{color:var(--avpsb-category-palette-text,#0f172a)}
.avpsb-category-showcase[class*="avpsb-category-palette-"]:not(.avpsb-category-palette-none) .avpsb-category-link:hover{filter:brightness(var(--avpsb-category-palette-hover,96%))}
.avpsb-category-palette-images.avpsb-category-palette-alternating .avpsb-category-item:nth-child(odd) .avpsb-category-image-wrap{background:var(--avpsb-category-palette-1)}
.avpsb-category-palette-images.avpsb-category-palette-alternating .avpsb-category-item:nth-child(even) .avpsb-category-image-wrap{background:var(--avpsb-category-palette-2)}
.avpsb-category-palette-images.avpsb-category-palette-spectrum .avpsb-category-item:nth-child(4n+1) .avpsb-category-image-wrap,
.avpsb-category-palette-images.avpsb-category-palette-soft .avpsb-category-item:nth-child(4n+1) .avpsb-category-image-wrap{background:var(--avpsb-category-palette-1)}
.avpsb-category-palette-images.avpsb-category-palette-spectrum .avpsb-category-item:nth-child(4n+2) .avpsb-category-image-wrap,
.avpsb-category-palette-images.avpsb-category-palette-soft .avpsb-category-item:nth-child(4n+2) .avpsb-category-image-wrap{background:var(--avpsb-category-palette-2)}
.avpsb-category-palette-images.avpsb-category-palette-spectrum .avpsb-category-item:nth-child(4n+3) .avpsb-category-image-wrap,
.avpsb-category-palette-images.avpsb-category-palette-soft .avpsb-category-item:nth-child(4n+3) .avpsb-category-image-wrap{background:var(--avpsb-category-palette-3)}
.avpsb-category-palette-images.avpsb-category-palette-spectrum .avpsb-category-item:nth-child(4n+4) .avpsb-category-image-wrap,
.avpsb-category-palette-images.avpsb-category-palette-soft .avpsb-category-item:nth-child(4n+4) .avpsb-category-image-wrap{background:var(--avpsb-category-palette-4)}
.avpsb-category-palette-captions .avpsb-category-caption{background:inherit;border-radius:var(--avpsb-category-caption-radius,12px);padding:6px 10px}

.avpsb-category-name,.avpsb-category-description{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.avpsb-category-name{-webkit-line-clamp:var(--avpsb-category-name-lines,2);line-clamp:var(--avpsb-category-name-lines,2)}
.avpsb-category-description{-webkit-line-clamp:var(--avpsb-category-description-lines,2);line-clamp:var(--avpsb-category-description-lines,2)}
.avpsb-category-text-wrap-balance .avpsb-category-name{text-wrap:balance}
.avpsb-category-text-wrap-nowrap .avpsb-category-name{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}

/* Universal AVPSB responsive guard: widgets stay inside their Elementor box. */
[class*="elementor-widget-avpsb-"]{min-width:0;max-width:100%}
[class*="elementor-widget-avpsb-"]>.elementor-widget-container,
[class*="elementor-widget-avpsb-"] .elementor-widget-container{min-width:0;max-width:100%;box-sizing:border-box}
[class*="avpsb-"] img{max-width:100%}
@media(max-width:767px){
  .avpsb-category-mobile-reduced-effects .avpsb-category-link,
  .avpsb-category-mobile-reduced-effects .avpsb-category-image,
  .avpsb-category-mobile-reduced-effects .avpsb-category-image-wrap{transition-duration:180ms!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .avpsb-category-mobile-reduced-effects .avpsb-category-link:hover,
  .avpsb-category-mobile-reduced-effects .avpsb-category-image:hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .avpsb-category-respect-reduced-motion *,
  .avpsb-category-respect-reduced-motion *::before,
  .avpsb-category-respect-reduced-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ========================================================================
 * Stable endless category rail + first-frame promotional guard
 * Build 20260707.10
 * ====================================================================== */
.avpsb-category-showcase .avpsb-category-image.avpsb-eager-hydrated{
  opacity:1!important;
  visibility:visible!important;
}
.avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-item,
.avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-image{
  content-visibility:visible!important;
}

/* Keep exactly one server-rendered slide on the first paint. The pending
   track is block-based rather than an RTL flex rail, so an adjacent campaign
   can never leak into view while CSS or JavaScript is still loading. */
.avpsb-first-paint-guard.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport,
.avpsb-promo-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport,
.avpsb-hero-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport,
.avpsb-market-hero-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport,
.avpsb-commercial-campaigns.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport,
.avpsb-linked-media.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport,
.avpsb-promotional-offers.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport,
.avpsb-banner-collection.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport,
.avpsb-adaptive-promo.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport{
  overflow:hidden!important;
  min-width:0!important;
  max-width:100%!important;
}
.avpsb-first-paint-guard.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track,
.avpsb-promo-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track,
.avpsb-hero-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track,
.avpsb-market-hero-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track,
.avpsb-commercial-campaigns.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track,
.avpsb-linked-media.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track,
.avpsb-promotional-offers.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track,
.avpsb-banner-collection.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track,
.avpsb-adaptive-promo.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track{
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition:none!important;
}
.avpsb-first-paint-guard.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*,
.avpsb-promo-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*,
.avpsb-hero-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*,
.avpsb-market-hero-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*,
.avpsb-commercial-campaigns.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*,
.avpsb-linked-media.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*,
.avpsb-promotional-offers.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*,
.avpsb-banner-collection.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*,
.avpsb-adaptive-promo.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
.avpsb-first-paint-guard.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*:not(:first-child),
.avpsb-promo-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*:not(:first-child),
.avpsb-hero-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*:not(:first-child),
.avpsb-market-hero-slider.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*:not(:first-child),
.avpsb-commercial-campaigns.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*:not(:first-child),
.avpsb-linked-media.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*:not(:first-child),
.avpsb-promotional-offers.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*:not(:first-child),
.avpsb-banner-collection.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*:not(:first-child),
.avpsb-adaptive-promo.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-slider-track>*:not(:first-child){
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.avpsb-slider.avpsb-slider-activating>.avpsb-slider-viewport>.avpsb-slider-track{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* ========================================================================
 * Atomic first paint + lightweight native category rail
 * Build 20260707.13
 * ====================================================================== */
[data-avpsb-first-paint-hidden][hidden]{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Categories use one native horizontal scrolling engine on every device.
   There is no translate loop, snap-back animation or device-specific branch. */
.avpsb-category-showcase.avpsb-native-category-rail>.avpsb-slider-viewport{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  min-width:0!important;
  max-width:100%!important;
  overscroll-behavior-x:none!important;
  overscroll-behavior-inline:none!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y pinch-zoom!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  cursor:grab;
}
.avpsb-category-showcase.avpsb-native-category-rail>.avpsb-slider-viewport::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}
.avpsb-category-showcase.avpsb-native-category-rail>.avpsb-slider-viewport>.avpsb-category-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-start;
  width:auto!important;
  min-width:100%!important;
  max-width:none!important;
  transform:none!important;
  translate:none!important;
  transition:none!important;
  animation:none!important;
  will-change:auto!important;
  backface-visibility:visible!important;
  contain:none!important;
}
.avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-item{
  flex:0 0 calc((100% - (var(--avpsb-visible,1) - 1)*var(--avpsb-slider-gap,18px))/var(--avpsb-visible,1))!important;
  min-width:0!important;
  max-width:none!important;
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
  content-visibility:visible!important;
  contain:none!important;
}
.avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-image{
  content-visibility:visible!important;
}
.avpsb-category-showcase.avpsb-native-category-rail.is-dragging>.avpsb-slider-viewport{
  cursor:grabbing;
  user-select:none;
}
.avpsb-category-showcase.avpsb-native-category-rail.is-dragging .avpsb-category-link{
  pointer-events:none;
}

/* ========================================================================
 * Exact seamless category rebase + smart media loading
 * Build 20260707.14
 * ====================================================================== */
.avpsb-category-showcase.avpsb-native-category-rail>.avpsb-slider-viewport{
  scroll-behavior:auto!important;
  overflow-anchor:none!important;
}
.avpsb-category-showcase.avpsb-native-category-rail>.avpsb-slider-viewport>.avpsb-category-track{
  overflow-anchor:none!important;
}
.avpsb-category-showcase.avpsb-category-rebasing .avpsb-category-item,
.avpsb-category-showcase.avpsb-category-rebasing .avpsb-category-link,
.avpsb-category-showcase.avpsb-category-rebasing .avpsb-category-image-wrap,
.avpsb-category-showcase.avpsb-category-rebasing .avpsb-category-image,
.avpsb-category-showcase.avpsb-category-rebasing .avpsb-category-caption{
  transition:none!important;
  animation:none!important;
}
.avpsb-category-showcase .avpsb-category-image{
  background:var(--avpsb-category-image-bg,#f1f5f9);
}
.avpsb-first-paint-guard img[fetchpriority="high"],
.avpsb-promo-slider img[fetchpriority="high"],
.avpsb-hero-slider img[fetchpriority="high"],
.avpsb-market-hero-slider img[fetchpriority="high"],
.avpsb-commercial-campaigns img[fetchpriority="high"],
.avpsb-linked-media img[fetchpriority="high"]{
  content-visibility:visible!important;
}


/* ========================================================================
 * Controlled category momentum — build 20260707.17
 * Slows only very fast horizontal gestures. Vertical page scrolling remains
 * native, normal category drags remain direct, and the promotional slider is
 * untouched.
 * ====================================================================== */
.avpsb-category-showcase.avpsb-native-category-rail.avpsb-category-damped-scroll>.avpsb-slider-viewport{
  touch-action:pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:auto!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
}

/* ========================================================================
 * Compositor-native category scrolling — build 20260707.21
 * Touch and trackpads stay on the browser's native scrolling path. Mouse drag
 * writes are frame-batched by JS. No promotional slider rules are changed.
 * ====================================================================== */
.avpsb-category-showcase.avpsb-native-category-rail.avpsb-category-damped-scroll>.avpsb-slider-viewport{
  touch-action:pan-x pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-inline:contain!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
}
.avpsb-category-showcase.is-native-scrolling .avpsb-category-link,
.avpsb-category-showcase.is-native-scrolling .avpsb-category-image-wrap,
.avpsb-category-showcase.is-native-scrolling .avpsb-category-image,
.avpsb-category-showcase.is-dragging .avpsb-category-link,
.avpsb-category-showcase.is-dragging .avpsb-category-image-wrap,
.avpsb-category-showcase.is-dragging .avpsb-category-image{
  transition:none!important;
  animation:none!important;
}


/* ========================================================================
 * Settled-pixel endless categories + flashless promotional wrap
 * Build 20260707.22
 * ====================================================================== */
.avpsb-category-showcase.avpsb-category-rebasing,
.avpsb-category-showcase.avpsb-category-rebasing *{
  scroll-behavior:auto!important;
  transition:none!important;
  animation:none!important;
}
.avpsb-slider.avpsb-loop-normalizing,
.avpsb-slider.avpsb-loop-normalizing *{
  transition:none!important;
  animation:none!important;
}


/* ========================================================================
 * Finite category rail + flashless commercial return — Build 20260707.23
 * ====================================================================== */
/* Categories intentionally have a real first and last item. The browser owns
   touch/trackpad momentum; no cloned cards or invisible loop repositioning are
   used on any device. */
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport{
  overscroll-behavior-inline:contain!important;
  scroll-behavior:auto!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track{
  transform:none!important;
  transition:none!important;
}

/* When the commercial slider moves back from campaign two to campaign one,
   paint the target campaign in its final visual state before the track moves.
   This removes the one-frame opacity/transform replay without changing the
   slider direction, timing, loop, arrows or normal campaign animations. */
.avpsb-commercial-campaigns .avpsb-commercial-slide.avpsb-commercial-return-no-flash,
.avpsb-commercial-campaigns .avpsb-commercial-slide.avpsb-commercial-return-no-flash *{
  animation:none!important;
}
.avpsb-commercial-campaigns .avpsb-commercial-slide.avpsb-commercial-return-no-flash .avpsb-commercial-content{
  opacity:1!important;
  translate:0 0!important;
  scale:1!important;
  clip-path:none!important;
  transition:none!important;
  visibility:visible!important;
}
.avpsb-commercial-campaigns .avpsb-commercial-slide.avpsb-commercial-return-no-flash .avpsb-commercial-background img,
.avpsb-commercial-campaigns .avpsb-commercial-slide.avpsb-commercial-return-no-flash .avpsb-commercial-foreground-image,
.avpsb-commercial-campaigns .avpsb-commercial-slide.avpsb-commercial-return-no-flash .avpsb-commercial-slide-shell{
  transition:none!important;
  animation:none!important;
  backface-visibility:hidden!important;
}

/* ========================================================================
 * RTL finite category start + authoritative category count — Build 20260707.24
 * ====================================================================== */
/* A finite rail must align to its logical start, never to the centre. Centering
   an overflowing flex track makes the first RTL card begin outside the
   scrollport, which is why the right-most category appeared cut in half. */
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track{
  justify-content:flex-start!important;
  margin:0!important;
  padding-inline:0!important;
}
/* Keep a small safe inset at both real ends. In RTL the inline start is the
   right edge; in LTR it is the left edge. This prevents frames/shadows from
   being visually cropped on phones and inside the Elementor preview iframe. */
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport{
  padding-inline:4px!important;
  scroll-padding-inline:4px!important;
}
/* Resolve the actual scroll container direction from the slider's responsive
   direction setting. This is important inside Elementor's preview iframe,
   where the surrounding editor document can have a different direction. */
.avpsb-category-showcase.avpsb-native-category-rail.avpsb-is-rtl>.avpsb-slider-viewport{
  direction:rtl!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-is-rtl)>.avpsb-slider-viewport{
  direction:ltr!important;
}
.avpsb-category-showcase.avpsb-native-category-rail>.avpsb-slider-viewport>.avpsb-category-track{
  direction:inherit!important;
}


/* ========================================================================
 * Exact category pages + clone-free commercial ring — Build 20260707.25
 * ====================================================================== */
/* The visible-count control now defines one complete viewport. Every category
   remains in the finite rail; changing the count only recalculates each card's
   width, image and spacing. */
.avpsb-category-showcase.avpsb-native-category-rail{
  --avpsb-visible:var(--avpsb-cols-desktop,4);
}
.avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-item{
  flex-basis:calc((100% - (var(--avpsb-visible,1) - 1)*var(--avpsb-slider-gap,18px))/var(--avpsb-visible,1))!important;
  width:calc((100% - (var(--avpsb-visible,1) - 1)*var(--avpsb-slider-gap,18px))/var(--avpsb-visible,1))!important;
}
.avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-link,
.avpsb-category-showcase.avpsb-native-category-rail .avpsb-category-image-wrap{
  min-width:0!important;
  max-width:100%!important;
}
.avpsb-category-showcase.avpsb-native-category-rail.avpsb-category-density-exact .avpsb-category-image-wrap{
  width:min(calc(var(--avpsb-category-preset-max,138px) * 1.35),78%,calc(100% - (var(--avpsb-category-link-padding,6px) * 2)))!important;
}

/* Commercial campaigns rotate their real DOM slides instead of crossing a
   cloned seam. Keep every composited layer stable during both directions. */
.avpsb-commercial-campaigns.avpsb-loop-ring .avpsb-commercial-track,
.avpsb-commercial-campaigns.avpsb-loop-ring .avpsb-commercial-slide,
.avpsb-commercial-campaigns.avpsb-loop-ring .avpsb-commercial-slide-shell,
.avpsb-commercial-campaigns.avpsb-loop-ring .avpsb-commercial-background,
.avpsb-commercial-campaigns.avpsb-loop-ring .avpsb-commercial-background img,
.avpsb-commercial-campaigns.avpsb-loop-ring .avpsb-commercial-content{
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  transform-style:preserve-3d;
}
.avpsb-commercial-campaigns.avpsb-loop-ring .avpsb-commercial-track{
  will-change:transform;
}
.avpsb-commercial-campaigns.avpsb-loop-ring.is-circular-moving .avpsb-commercial-slide{
  isolation:isolate;
}
.avpsb-commercial-campaigns.avpsb-loop-ring.is-circular-moving .avpsb-commercial-slide.avpsb-commercial-return-no-flash,
.avpsb-commercial-campaigns.avpsb-loop-ring.is-circular-moving .avpsb-commercial-slide.avpsb-commercial-return-no-flash *{
  visibility:visible!important;
  opacity:1!important;
}


/* ========================================================================
 * Full-width finite categories + composited commercial back-transition
 * Build 20260707.26
 * ====================================================================== */
/* JavaScript and the server both cap --avpsb-visible to the number of real
   terms. This fallback also ensures a short rail uses its complete width. */
.avpsb-category-showcase.avpsb-native-category-rail>.avpsb-slider-viewport>.avpsb-category-track{
  box-sizing:border-box!important;
}

/* The backward commercial transition is painted in a temporary compositor
   layer. The real target is switched underneath it and given two complete
   frames to paint before the overlay is removed, so no DOM-reorder flash can
   leak through on desktop or mobile. */
.avpsb-commercial-campaigns .avpsb-commercial-viewport{
  position:relative;
  isolation:isolate;
}
.avpsb-commercial-campaigns .avpsb-commercial-transition-ghost{
  position:absolute!important;
  inset:0!important;
  z-index:20!important;
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  height:100%!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  will-change:transform;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  transition-property:transform!important;
  transition-timing-function:cubic-bezier(.22,.61,.36,1)!important;
  contain:paint;
}
.avpsb-commercial-campaigns .avpsb-commercial-transition-ghost .avpsb-commercial-slide-shell,
.avpsb-commercial-campaigns .avpsb-commercial-transition-ghost .avpsb-commercial-background,
.avpsb-commercial-campaigns .avpsb-commercial-transition-ghost .avpsb-commercial-background img,
.avpsb-commercial-campaigns .avpsb-commercial-transition-ghost .avpsb-commercial-content{
  opacity:1!important;
  visibility:visible!important;
  animation:none!important;
  transition:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-ghost-moving .avpsb-commercial-track,
.avpsb-commercial-campaigns.avpsb-commercial-ghost-settling .avpsb-commercial-track{
  will-change:transform;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-ghost-settling .avpsb-commercial-transition-ghost{
  transform:translate3d(0,0,0)!important;
}

/* ========================================================================
 * Permanent commercial slide stack — Build 20260707.27
 * Single-view commercial campaigns never clone or reorder slides. The real
 * slides occupy one grid cell and Web Animations moves two already-painted
 * surfaces, so either direction remains continuous with no white/repaint frame.
 * ====================================================================== */
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-viewport{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
  background:var(--avpsb-slide-bg,#fff);
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-track{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  gap:0!important;
  transform:none!important;
  transition:none!important;
  will-change:auto!important;
  contain:layout paint;
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-slide{
  grid-area:1/1!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:0;
  transform:translate3d(0,0,0);
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  contain:paint;
  transition:none!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-slide.is-avpsb-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:2;
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-slide.avpsb-commercial-motion-layer{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-slide.avpsb-commercial-motion-in{
  z-index:3!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-slide.avpsb-commercial-motion-out{
  z-index:2!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode.avpsb-commercial-stable-moving .avpsb-commercial-slide-shell,
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode.avpsb-commercial-stable-moving .avpsb-commercial-background,
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode.avpsb-commercial-stable-moving .avpsb-commercial-background img,
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode.avpsb-commercial-stable-moving .avpsb-commercial-content{
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

/* ========================================================================
 * Atomic commercial surface hand-off — Build 20260707.28
 * The complete campaign surface moves as one already-painted layer. Internal
 * active-state effects are disabled in single-view stable mode so the reverse
 * 2 -> 1 hand-off cannot trigger a second opacity/zoom paint after movement.
 * ====================================================================== */
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-slide-shell,
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-background,
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-background img,
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-foreground-image,
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-content{
  transition:none!important;
  animation:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-background img{
  transform:none!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-content{
  opacity:1!important;
  translate:0 0!important;
  scale:1!important;
  clip-path:none!important;
  visibility:visible!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-slide.avpsb-commercial-motion-layer{
  contain:layout paint style!important;
}

/* ========================================================================
 * Direction-safe commercial cover transition — Build 20260707.29
 * The destination campaign is the only moving surface. The current campaign
 * remains fully painted underneath it, so RTL transitions in either physical
 * swipe direction can never expose the viewport or a clone/hand-off frame.
 * ====================================================================== */
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode.avpsb-commercial-stable-moving .avpsb-commercial-slide.avpsb-commercial-motion-out{
  transform:translate3d(0,0,0)!important;
  opacity:1!important;
  visibility:visible!important;
}
.avpsb-commercial-campaigns.avpsb-commercial-stable-mode .avpsb-commercial-slide.avpsb-commercial-motion-in{
  overflow:hidden!important;
  isolation:isolate!important;
  contain:layout paint style!important;
}

/* ========================================================================
 * Linked Media Slider permanent image stack — Build 20260707.30
 * The homepage promotional banner is the Linked Media Slider, not the
 * Commercial Campaign Slider. Single-image-per-view linked sliders therefore
 * use the already-tested clone-free permanent stack as well. Both real slides
 * stay mounted and painted, which is especially important when slide one is an
 * animated GIF. No DOM clone, reordering, source reset, or seam hand-off occurs.
 * ====================================================================== */
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-viewport{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#e2e8f0;
  transform:translateZ(0);
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-track{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  gap:0!important;
  transform:none!important;
  transition:none!important;
  will-change:auto!important;
  contain:layout paint!important;
}
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-item{
  grid-area:1/1!important;
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:0;
  transform:translate3d(0,0,0);
  transition:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  contain:layout paint!important;
}
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-item.is-avpsb-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:2;
}
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-item.avpsb-commercial-motion-layer{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-item.avpsb-commercial-motion-in{
  z-index:3!important;
  overflow:hidden!important;
  isolation:isolate!important;
  contain:layout paint style!important;
}
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-item.avpsb-commercial-motion-out{
  z-index:2!important;
}
.avpsb-linked-media.avpsb-commercial-stable-mode.avpsb-commercial-stable-moving .avpsb-linked-media-item.avpsb-commercial-motion-out{
  transform:translate3d(0,0,0)!important;
  opacity:1!important;
  visibility:visible!important;
}
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-card,
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-card picture,
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-card picture img,
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-overlay,
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-copy{
  animation:none!important;
  transition:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-card picture img,
.avpsb-linked-media.avpsb-commercial-stable-mode .avpsb-linked-media-card:hover picture img{
  transform:translate3d(0,0,0)!important;
  opacity:1!important;
  visibility:visible!important;
}


/* ========================================================================
 * Mobile finite-category edge breathing room — Build 20260707.33
 * ====================================================================== */
@media (max-width:767px){
  .avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport{
    box-sizing:border-box!important;
    padding-inline:clamp(11px,3.5vw,16px)!important;
    scroll-padding-inline:clamp(11px,3.5vw,16px)!important;
  }
}


/* ========================================================================
 * Finite category rail physical edge space — Build 20260707.34
 * The scrollport itself is inset from both physical screen edges. This is
 * reliable at the real first and last card in RTL/LTR and does not depend on
 * browser-specific RTL scrollLeft or overflowing flex-track padding.
 * ====================================================================== */
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active){
  --avpsb-category-edge-space:5px;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport{
  box-sizing:border-box!important;
  width:calc(100% - (var(--avpsb-category-edge-space) * 2))!important;
  max-width:calc(100% - (var(--avpsb-category-edge-space) * 2))!important;
  margin-inline:var(--avpsb-category-edge-space)!important;
  padding-inline:0!important;
  scroll-padding-inline:0!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track{
  box-sizing:border-box!important;
  padding-inline:0!important;
}
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active){
    --avpsb-category-edge-space:clamp(12px,3.8vw,17px);
  }
}

/* ========================================================================
 * Category rail inner-edge correction — Build 20260707.35
 * Keep the category section and scroll viewport full width. Edge breathing
 * room belongs to the real first/last cards only, never to the outer box.
 * Card widths include that tiny inner inset so the configured visible count
 * still fits the viewport exactly without clipping or side gutters.
 * ====================================================================== */
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active){
  --avpsb-category-inner-edge:4px;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
  padding-inline:0!important;
  scroll-padding-inline:var(--avpsb-category-inner-edge)!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track{
  box-sizing:border-box!important;
  padding-inline:0!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active) .avpsb-category-item{
  flex-basis:calc((100% - ((var(--avpsb-visible,1) - 1) * var(--avpsb-slider-gap,18px)) - (2 * var(--avpsb-category-inner-edge))) / var(--avpsb-visible,1))!important;
  width:calc((100% - ((var(--avpsb-visible,1) - 1) * var(--avpsb-slider-gap,18px)) - (2 * var(--avpsb-category-inner-edge))) / var(--avpsb-visible,1))!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active) .avpsb-category-item:first-child{
  margin-inline-start:var(--avpsb-category-inner-edge)!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active) .avpsb-category-item:last-child{
  margin-inline-end:var(--avpsb-category-inner-edge)!important;
}
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active){
    --avpsb-category-inner-edge:8px;
  }
}

/* ========================================================================
 * Category rail true inner edge inset — Build 20260707.37
 * Keep the mobile inset exactly as approved. On desktop, add only two extra
 * pixels of internal breathing room at the real start/end of the category
 * track without changing the outer section, card count, or card layout.
 * ====================================================================== */
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active){
  --avpsb-category-inner-edge:6px;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport{
  width:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
  padding-inline:0!important;
  scroll-padding-inline:var(--avpsb-category-inner-edge)!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track{
  box-sizing:border-box!important;
  padding-inline:0!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track::before,
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track::after{
  content:"";
  display:block;
  flex:0 0 var(--avpsb-category-inner-edge);
  width:var(--avpsb-category-inner-edge);
  min-width:var(--avpsb-category-inner-edge);
  height:1px;
  pointer-events:none;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track::before{
  margin-inline-end:calc(-1 * var(--avpsb-slider-gap,18px));
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track::after{
  margin-inline-start:calc(-1 * var(--avpsb-slider-gap,18px));
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active) .avpsb-category-item{
  flex-basis:calc((100% - ((var(--avpsb-visible,1) - 1) * var(--avpsb-slider-gap,18px)) - (2 * var(--avpsb-category-inner-edge))) / var(--avpsb-visible,1))!important;
  width:calc((100% - ((var(--avpsb-visible,1) - 1) * var(--avpsb-slider-gap,18px)) - (2 * var(--avpsb-category-inner-edge))) / var(--avpsb-visible,1))!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active) .avpsb-category-item:first-child,
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active) .avpsb-category-item:last-child{
  margin-inline:0!important;
}
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active){
    --avpsb-category-inner-edge:6px;
  }
}


/* ========================================================================
 * Real content first paint — Build 20260707.38
 * The category skeleton was the visible one-to-two second distortion. The
 * server-rendered rail already knows its responsive item count and spacing,
 * so show the actual cards immediately and let JavaScript enhance scrolling
 * without replacing the first frame. Existing edge spacing and slider motion
 * remain unchanged after initialization.
 * ====================================================================== */
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready){
  --avpsb-visible:var(--avpsb-cols-desktop,8)!important;
  --avpsb-slider-gap:var(--avpsb-category-gap-desktop,8px)!important;
  min-height:0!important;
  overflow:visible!important;
  contain:none!important;
}
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready)::before{
  content:none!important;
  display:none!important;
  animation:none!important;
}
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  animation:none!important;
  width:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
  padding-inline:0!important;
  overflow:hidden!important;
}
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-category-track{
  justify-content:flex-start!important;
  margin:0!important;
  padding-inline:0!important;
  direction:inherit!important;
}
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-category-track::before,
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-category-track::after{
  content:""!important;
  display:block!important;
  flex:0 0 6px!important;
  width:6px!important;
  min-width:6px!important;
  height:1px!important;
  pointer-events:none!important;
}
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-category-track::before{
  margin-inline-end:calc(-1 * var(--avpsb-slider-gap,18px))!important;
}
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready)>.avpsb-slider-viewport>.avpsb-category-track::after{
  margin-inline-start:calc(-1 * var(--avpsb-slider-gap,18px))!important;
}
.avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready) .avpsb-category-item{
  flex-basis:calc((100% - ((var(--avpsb-visible,1) - 1) * var(--avpsb-slider-gap,18px)) - 12px) / var(--avpsb-visible,1))!important;
  width:calc((100% - ((var(--avpsb-visible,1) - 1) * var(--avpsb-slider-gap,18px)) - 12px) / var(--avpsb-visible,1))!important;
}
@media(max-width:1024px){
  .avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready){
    --avpsb-visible:var(--avpsb-cols-tablet,6)!important;
    --avpsb-slider-gap:var(--avpsb-category-gap-tablet,7px)!important;
  }
}
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-slider:not(.avpsb-slider-ready){
    --avpsb-visible:var(--avpsb-cols-mobile,4)!important;
    --avpsb-slider-gap:var(--avpsb-category-gap-mobile,6px)!important;
  }
}
.avpsb-category-showcase img.skip-lazy,
.avpsb-linked-media img.skip-lazy{
  content-visibility:visible!important;
  opacity:1!important;
  visibility:visible!important;
}

/* ========================================================================
 * Linked media viewport geometry parity — Build 20260707.43
 * The first protected frame and the initialized slider now use one identical
 * full-page width. This rule is intentionally persistent after JS readiness.
 * ====================================================================== */
.elementor-widget-avpsb-linked-media-slider{
  --container-widget-width:100%!important;
  --container-widget-flex-grow:1!important;
  display:block!important;
  flex:1 1 100%!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.elementor-widget-avpsb-linked-media-slider>.elementor-widget-container{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.avpsb-linked-media.avpsb-linked-media-layout-full-slider.avpsb-slider{
  position:relative!important;
  display:block!important;
  width:var(--avpsb-page-inline-size,100vw)!important;
  min-width:var(--avpsb-page-inline-size,100vw)!important;
  max-width:var(--avpsb-page-inline-size,100vw)!important;
  margin-left:calc((100% - var(--avpsb-page-inline-size,100vw))/2)!important;
  margin-right:calc((100% - var(--avpsb-page-inline-size,100vw))/2)!important;
  box-sizing:border-box!important;
}
.avpsb-linked-media.avpsb-slider.avpsb-slider-activating>.avpsb-slider-viewport>.avpsb-slider-track{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* ========================================================================
 * CSS-native category geometry — Build 20260707.46
 * The first and final category frames now use the same CSS equation. No card
 * width is taken from JavaScript during HTML parsing, because mobile engines
 * may temporarily expose a desktop-sized layout viewport before first paint.
 * ====================================================================== */
.avpsb-category-showcase.avpsb-native-category-rail{
  --avpsb-visible:var(--avpsb-cols-desktop,4)!important;
  --avpsb-slider-gap:var(--avpsb-category-gap-desktop,8px)!important;
}
@media(min-width:768px) and (max-width:1024px){
  .avpsb-category-showcase.avpsb-native-category-rail{
    --avpsb-visible:var(--avpsb-cols-tablet-first,var(--avpsb-cols-desktop,4))!important;
    --avpsb-slider-gap:var(--avpsb-category-gap-tablet-first,var(--avpsb-category-gap-desktop,8px))!important;
  }
}
@media(max-width:767px){
  .avpsb-category-showcase.avpsb-native-category-rail{
    --avpsb-visible:var(--avpsb-cols-mobile-first,var(--avpsb-cols-mobile,4))!important;
    --avpsb-slider-gap:var(--avpsb-category-gap-mobile-first,var(--avpsb-category-gap-desktop,8px))!important;
  }

  /* Mirrors visibleSlides() exactly for the default mobile-safe mode:
     visible = clamp((viewport + gap)/(target + gap), 1.35, 5.5).
     Rewriting that equation as a card width keeps the first paint and the
     hydrated native rail pixel-identical, even when all inline scripts are
     delayed, combined or moved by a cache/optimisation plugin. */
  .avpsb-category-showcase.avpsb-native-category-rail.avpsb-category-mobile-safe-first-paint .avpsb-category-item,
  .avpsb-category-showcase.avpsb-native-category-rail.avpsb-category-target-density-first-paint .avpsb-category-item{
    --avpsb-category-safe-min-width:calc(74.074074% - var(--avpsb-category-safe-mobile-min-offset,2px));
    --avpsb-category-safe-max-width:calc(18.181818% - var(--avpsb-category-safe-mobile-max-offset,7px));
    --avpsb-category-stable-card-width:max(
      var(--avpsb-category-safe-max-width),
      min(var(--avpsb-category-unit-target,102px),var(--avpsb-category-safe-min-width))
    );
    flex:0 0 var(--avpsb-category-stable-card-width)!important;
    flex-basis:var(--avpsb-category-stable-card-width)!important;
    width:var(--avpsb-category-stable-card-width)!important;
    min-width:var(--avpsb-category-stable-card-width)!important;
    max-width:var(--avpsb-category-stable-card-width)!important;
  }
}
@media(min-width:768px) and (max-width:1024px){
  .avpsb-category-showcase.avpsb-native-category-rail.avpsb-category-target-density-first-paint .avpsb-category-item{
    --avpsb-category-safe-min-width:100%;
    --avpsb-category-safe-max-width:calc(8.333333% - var(--avpsb-category-safe-tablet-max-offset,7px));
    --avpsb-category-stable-card-width:max(
      var(--avpsb-category-safe-max-width),
      min(var(--avpsb-category-unit-target,140px),var(--avpsb-category-safe-min-width))
    );
    flex:0 0 var(--avpsb-category-stable-card-width)!important;
    flex-basis:var(--avpsb-category-stable-card-width)!important;
    width:var(--avpsb-category-stable-card-width)!important;
    min-width:var(--avpsb-category-stable-card-width)!important;
    max-width:var(--avpsb-category-stable-card-width)!important;
  }
}
@media(min-width:1025px){
  .avpsb-category-showcase.avpsb-native-category-rail.avpsb-category-target-density-first-paint .avpsb-category-item{
    --avpsb-category-safe-min-width:100%;
    --avpsb-category-safe-max-width:calc(5.555556% - var(--avpsb-category-safe-desktop-max-offset,8px));
    --avpsb-category-stable-card-width:max(
      var(--avpsb-category-safe-max-width),
      min(var(--avpsb-category-unit-target,158px),var(--avpsb-category-safe-min-width))
    );
    flex:0 0 var(--avpsb-category-stable-card-width)!important;
    flex-basis:var(--avpsb-category-stable-card-width)!important;
    width:var(--avpsb-category-stable-card-width)!important;
    min-width:var(--avpsb-category-stable-card-width)!important;
    max-width:var(--avpsb-category-stable-card-width)!important;
  }
}


/* ========================================================================
 * Category viewport geometry parity — Build 20260707.48
 * Give the category rail the same persistent full-page geometry used by the
 * linked-media slider. The rail no longer waits for Elementor/container CSS
 * before expanding from a temporarily narrow parent. Existing 6px internal
 * category edge spacing and card sizing remain unchanged.
 * ====================================================================== */
.elementor-widget-avpsb-category-showcase{
  --container-widget-width:100%!important;
  --container-widget-flex-grow:1!important;
  display:block!important;
  flex:1 1 100%!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.elementor-widget-avpsb-category-showcase>.elementor-widget-container{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.avpsb-category-showcase.avpsb-native-category-rail{
  position:relative!important;
  display:block!important;
  width:var(--avpsb-page-inline-size,100vw)!important;
  min-width:var(--avpsb-page-inline-size,100vw)!important;
  max-width:var(--avpsb-page-inline-size,100vw)!important;
  margin-left:calc((100% - var(--avpsb-page-inline-size,100vw))/2)!important;
  margin-right:calc((100% - var(--avpsb-page-inline-size,100vw))/2)!important;
  box-sizing:border-box!important;
}


/* ========================================================================
 * Desktop category inner edge — Build 20260707.49
 * Keep the full-page category geometry from Build 48, while adding a tiny
 * guaranteed internal inset on desktop only. The same rule is active before
 * and after slider initialization, so no width jump or compressed first frame
 * can return. Mobile and tablet geometry remain exactly unchanged.
 * ====================================================================== */
@media(min-width:1025px){
  .avpsb-category-showcase.avpsb-native-category-rail.avpsb-slider>.avpsb-slider-viewport{
    box-sizing:border-box!important;
    padding-inline:8px!important;
    scroll-padding-inline:8px!important;
  }
}

/* ========================================================================
 * Category preview, edge and navigation polish — Build 20260707.50
 * - Keeps a real inner edge on desktop without shrinking the full-width rail.
 * - Makes arrows proper side controls instead of clipped edge glyphs.
 * - Gives page dots their own breathing room so they never touch the content
 *   below the widget.
 * ====================================================================== */
@media(min-width:1025px){
  .avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active){
    --avpsb-category-inner-edge:10px;
    --avpsb-category-arrow-offset:12px;
  }
  .avpsb-category-showcase.avpsb-native-category-rail.avpsb-slider>.avpsb-slider-viewport{
    box-sizing:border-box!important;
    padding-inline:var(--avpsb-category-inner-edge,10px)!important;
    scroll-padding-inline:var(--avpsb-category-inner-edge,10px)!important;
  }
}

.avpsb-category-showcase>.avpsb-slider-arrow{
  width:40px;
  height:40px;
  border:1px solid rgba(59,130,246,.22);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--avpsb-primary,#3569df);
  box-shadow:0 8px 24px rgba(15,23,42,.18);
  font-size:27px;
  line-height:1;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.avpsb-category-showcase>.avpsb-slider-arrow>span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  line-height:1;
  transform:translateY(-1px);
}
.avpsb-category-showcase>.avpsb-slider-arrow:hover,
.avpsb-category-showcase>.avpsb-slider-arrow:focus-visible{
  background:var(--avpsb-primary,#3569df);
  color:#fff;
  border-color:var(--avpsb-primary,#3569df);
  box-shadow:0 10px 28px color-mix(in srgb,var(--avpsb-primary,#3569df) 30%,transparent);
  outline:none;
}
.avpsb-category-showcase>.avpsb-slider-arrow[disabled]{
  opacity:.32;
  box-shadow:none;
}
.avpsb-category-arrow-position-center>.avpsb-slider-prev,
.avpsb-category-arrow-position-inside>.avpsb-slider-prev,
.avpsb-category-arrow-position-top>.avpsb-slider-prev,
.avpsb-category-arrow-position-bottom>.avpsb-slider-prev,
.avpsb-category-arrow-position-lower-sides>.avpsb-slider-prev,
.avpsb-category-arrow-position-upper-sides>.avpsb-slider-prev{
  inset-inline-start:12px!important;
}
.avpsb-category-arrow-position-center>.avpsb-slider-next,
.avpsb-category-arrow-position-inside>.avpsb-slider-next,
.avpsb-category-arrow-position-top>.avpsb-slider-next,
.avpsb-category-arrow-position-bottom>.avpsb-slider-next,
.avpsb-category-arrow-position-lower-sides>.avpsb-slider-next,
.avpsb-category-arrow-position-upper-sides>.avpsb-slider-next{
  inset-inline-end:12px!important;
}
.avpsb-category-arrow-position-outside>.avpsb-slider-prev{inset-inline-start:4px!important}
.avpsb-category-arrow-position-outside>.avpsb-slider-next{inset-inline-end:4px!important}

.avpsb-category-showcase.avpsb-category-dots-position-below>.avpsb-slider-dots,
.avpsb-category-showcase.avpsb-category-dots-position-bottom-start>.avpsb-slider-dots,
.avpsb-category-showcase.avpsb-category-dots-position-bottom-end>.avpsb-slider-dots{
  width:max-content;
  max-width:calc(100% - 24px);
  min-height:28px;
  margin-top:16px;
  margin-bottom:10px;
  padding:6px 10px;
  gap:7px;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  box-shadow:0 5px 18px rgba(15,23,42,.08);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.avpsb-category-showcase.avpsb-category-dots-position-below>.avpsb-slider-dots{
  margin-inline:auto;
}
.avpsb-category-showcase.avpsb-category-dots-position-bottom-start>.avpsb-slider-dots{
  margin-inline-start:12px;
  margin-inline-end:auto;
}
.avpsb-category-showcase.avpsb-category-dots-position-bottom-end>.avpsb-slider-dots{
  margin-inline-start:auto;
  margin-inline-end:12px;
}
.avpsb-category-showcase.avpsb-category-dots-position-below>.avpsb-slider-dots::-webkit-scrollbar,
.avpsb-category-showcase.avpsb-category-dots-position-bottom-start>.avpsb-slider-dots::-webkit-scrollbar,
.avpsb-category-showcase.avpsb-category-dots-position-bottom-end>.avpsb-slider-dots::-webkit-scrollbar{
  display:none;
  width:0;
  height:0;
}
.avpsb-category-showcase>.avpsb-slider-dots .avpsb-slider-dot{
  flex:0 0 auto;
  width:7px;
  height:7px;
  min-width:7px;
  min-height:7px;
  margin:0;
  border-radius:999px;
}
.avpsb-category-showcase>.avpsb-slider-dots .avpsb-slider-dot.is-active{
  width:22px;
  min-width:22px;
  height:7px;
  min-height:7px;
}

@media(max-width:767px){
  .avpsb-category-showcase>.avpsb-slider-arrow{
    width:34px;
    height:34px;
    font-size:23px;
  }
  .avpsb-category-arrow-position-center>.avpsb-slider-prev,
  .avpsb-category-arrow-position-inside>.avpsb-slider-prev,
  .avpsb-category-arrow-position-top>.avpsb-slider-prev,
  .avpsb-category-arrow-position-bottom>.avpsb-slider-prev,
  .avpsb-category-arrow-position-lower-sides>.avpsb-slider-prev,
  .avpsb-category-arrow-position-upper-sides>.avpsb-slider-prev{inset-inline-start:8px!important}
  .avpsb-category-arrow-position-center>.avpsb-slider-next,
  .avpsb-category-arrow-position-inside>.avpsb-slider-next,
  .avpsb-category-arrow-position-top>.avpsb-slider-next,
  .avpsb-category-arrow-position-bottom>.avpsb-slider-next,
  .avpsb-category-arrow-position-lower-sides>.avpsb-slider-next,
  .avpsb-category-arrow-position-upper-sides>.avpsb-slider-next{inset-inline-end:8px!important}
  .avpsb-category-showcase.avpsb-category-dots-position-below>.avpsb-slider-dots,
  .avpsb-category-showcase.avpsb-category-dots-position-bottom-start>.avpsb-slider-dots,
  .avpsb-category-showcase.avpsb-category-dots-position-bottom-end>.avpsb-slider-dots{
    min-height:26px;
    margin-top:13px;
    margin-bottom:9px;
    padding:5px 9px;
  }
}

/* ========================================================================
 * Desktop category outer breathing edge — Build 20260707.51
 * Keep the stable first-paint/full-width geometry from Builds 48–50, but
 * inset the complete desktop rail by 8px from each physical viewport edge.
 * This guarantees that the final full card and the optional next-card peek
 * never touch or get eaten by the browser edge. Tablet/mobile stay unchanged.
 * ====================================================================== */
@media(min-width:1025px){
  .avpsb-category-showcase.avpsb-native-category-rail{
    --avpsb-category-desktop-outer-edge:8px;
    width:calc(var(--avpsb-page-inline-size,100vw) - (var(--avpsb-category-desktop-outer-edge) * 2))!important;
    min-width:calc(var(--avpsb-page-inline-size,100vw) - (var(--avpsb-category-desktop-outer-edge) * 2))!important;
    max-width:calc(var(--avpsb-page-inline-size,100vw) - (var(--avpsb-category-desktop-outer-edge) * 2))!important;
    margin-left:calc(((100% - var(--avpsb-page-inline-size,100vw))/2) + var(--avpsb-category-desktop-outer-edge))!important;
    margin-right:calc(((100% - var(--avpsb-page-inline-size,100vw))/2) + var(--avpsb-category-desktop-outer-edge))!important;
  }
}


/* ========================================================================
 * Desktop category small scroll-end inset increase — Build 20260707.53
 * Keep the same inner-track-only fix, but make the finite desktop scroll end
 * slightly roomier. Only the real track end spacer is increased a little.
 * ====================================================================== */
@media(min-width:1025px){
  .avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track::after{
    flex-basis:calc(var(--avpsb-category-inner-edge,10px) + 6px)!important;
    width:calc(var(--avpsb-category-inner-edge,10px) + 6px)!important;
    min-width:calc(var(--avpsb-category-inner-edge,10px) + 6px)!important;
  }
}

/* ========================================================================
 * Desktop category start-edge trim — Build 20260707.54
 * Reduce only the internal beginning spacer on the finite desktop category
 * rail. The outer category box and the enlarged ending spacer stay intact.
 * ====================================================================== */
@media(min-width:1025px){
  .avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track::before{
    flex-basis:4px!important;
    width:4px!important;
    min-width:4px!important;
  }
}

/* ========================================================================
 * Category rail visual-safe controls — Build 20260707.55
 * Exposes the already approved start, end and outer spacing as Elementor
 * controls. Defaults exactly reproduce Build 20260707.54; no existing page is
 * changed unless the new controls are edited.
 * ====================================================================== */
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track::before{
  flex-basis:var(--avpsb-category-rail-start,4px)!important;
  width:var(--avpsb-category-rail-start,4px)!important;
  min-width:var(--avpsb-category-rail-start,4px)!important;
}
.avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track::after{
  flex-basis:var(--avpsb-category-rail-end,12px)!important;
  width:var(--avpsb-category-rail-end,12px)!important;
  min-width:var(--avpsb-category-rail-end,12px)!important;
}
@media(min-width:1025px){
  .avpsb-category-showcase.avpsb-native-category-rail{
    --avpsb-category-desktop-outer-edge:var(--avpsb-category-outer-control,8px);
  }
}
@media(max-width:1024px){
  .avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track::before{
    flex-basis:var(--avpsb-category-rail-start,6px)!important;width:var(--avpsb-category-rail-start,6px)!important;min-width:var(--avpsb-category-rail-start,6px)!important;
  }
  .avpsb-category-showcase.avpsb-native-category-rail:not(.avpsb-loop-active)>.avpsb-slider-viewport>.avpsb-category-track::after{
    flex-basis:var(--avpsb-category-rail-end,6px)!important;width:var(--avpsb-category-rail-end,6px)!important;min-width:var(--avpsb-category-rail-end,6px)!important;
  }
}


/* ========================================================================
 * Homepage fluid first-paint canvas — Build 20260707.56
 * Give every Storefront Builder Elementor widget on the public front page
 * its final viewport width from the first CSS paint. This is intentionally
 * limited to this plugin's widgets and excludes the linked-media slider and
 * category showcase, whose approved geometry/edge corrections stay exactly
 * as implemented in Builds 43–54.
 *
 * No card, track, image, spacing, border, direction or responsive setting is
 * changed here. Only the outer widget/root geometry is stabilised.
 * ====================================================================== */
body.avpsb-homepage-fluid-canvas:not(.elementor-editor-active)
[class*="elementor-widget-avpsb-"]:not(.elementor-widget-avpsb-category-showcase):not(.elementor-widget-avpsb-linked-media-slider){
  --container-widget-width:100%!important;
  --container-widget-flex-grow:1!important;
  display:block!important;
  flex:1 1 100%!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.avpsb-homepage-fluid-canvas:not(.elementor-editor-active)
[class*="elementor-widget-avpsb-"]:not(.elementor-widget-avpsb-category-showcase):not(.elementor-widget-avpsb-linked-media-slider)>.elementor-widget-container{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.avpsb-homepage-fluid-canvas:not(.elementor-editor-active)
[class*="elementor-widget-avpsb-"]:not(.elementor-widget-avpsb-category-showcase):not(.elementor-widget-avpsb-linked-media-slider)>.elementor-widget-container>[class*="avpsb-"]{
  width:var(--avpsb-page-inline-size,100vw)!important;
  min-width:var(--avpsb-page-inline-size,100vw)!important;
  max-width:var(--avpsb-page-inline-size,100vw)!important;
  margin-left:calc((100% - var(--avpsb-page-inline-size,100vw))/2)!important;
  margin-right:calc((100% - var(--avpsb-page-inline-size,100vw))/2)!important;
  box-sizing:border-box!important;
}

/* Preserve native full-width geometry even before Elementor's generated
   container stylesheet arrives. Tracks and cards keep their own layout rules. */
body.avpsb-homepage-fluid-canvas:not(.elementor-editor-active)
[class*="elementor-widget-avpsb-"]>.elementor-widget-container{
  contain:layout style;
}

/* ========================================================================
 * Universal homepage first-paint canvas — Build 20260707.57
 * Extend the approved full-width first-paint behaviour to the theme and to
 * common third-party builders/plugins. Only page-content layout wrappers are
 * normalised; headers, footers, popups, cards, buttons and component internals
 * retain their own design rules. Existing AVPSB slider/category geometry stays
 * authoritative and is not overridden here.
 * ====================================================================== */
body.avpsb-homepage-universal-canvas:not(.elementor-editor-active):not(.fl-builder-edit){
  --avpsb-universal-home-canvas:var(--avpsb-page-inline-size,100vw);
  overflow-x:clip;
}

/* Make one real page-content canvas full viewport width. The selectors are
   deliberately limited to likely outer content roots to avoid repeated nested
   full-bleed calculations. */
body.avpsb-homepage-universal-canvas:not(.elementor-editor-active):not(.fl-builder-edit)
:where(
  main#main>article>.entry-content,
  main.site-main>article>.entry-content,
  .site-main>article>.entry-content,
  #primary>article>.entry-content,
  .content-area>article>.entry-content,
  .site-main>.entry-content,
  #primary>.entry-content,
  .content-area>.entry-content,
  .site-main>.page-content,
  #primary>.page-content,
  .content-area>.page-content,
  .site-main>.post-content,
  #primary>.post-content,
  .content-area>.post-content,
  .site-main>.elementor,
  #primary>.elementor,
  .content-area>.elementor,
  .site-main>.fl-builder-content,
  #primary>.fl-builder-content,
  .content-area>.fl-builder-content,
  .site-main>.et-boc,
  #primary>.et-boc,
  .content-area>.et-boc,
  .site-main>#brx-content,
  #primary>#brx-content,
  .content-area>#brx-content,
  .site-main>.breakdance,
  #primary>.breakdance,
  .content-area>.breakdance,
  .site-main>.wpb-content-wrapper,
  #primary>.wpb-content-wrapper,
  .content-area>.wpb-content-wrapper,
  .wp-site-blocks>main
){
  width:var(--avpsb-universal-home-canvas)!important;
  min-width:var(--avpsb-universal-home-canvas)!important;
  max-width:var(--avpsb-universal-home-canvas)!important;
  margin-left:calc((100% - var(--avpsb-universal-home-canvas))/2)!important;
  margin-right:calc((100% - var(--avpsb-universal-home-canvas))/2)!important;
  box-sizing:border-box!important;
}

/* Establish reliable shrink/stretch maths for theme and builder wrappers before
   their delayed generated styles arrive. This does not prescribe card widths,
   grid column counts, spacing, borders or typography. */
body.avpsb-homepage-universal-canvas:not(.elementor-editor-active):not(.fl-builder-edit)
:where(
  .site-content,.content-area,#primary,#main,main,.site-main,
  .entry-content,.page-content,.post-content,.wp-site-blocks,.wp-block-post-content,
  .elementor,.elementor-section-wrap,.elementor-section,.elementor-container,
  .elementor-element.e-con,.e-con-inner,.elementor-widget,.elementor-widget-container,
  .wp-block-group,.wp-block-group__inner-container,.wp-block-cover,.wp-block-columns,
  .wp-block-column,.wp-block-query,.wp-block-post-template,
  .vc_row,.wpb_row,.vc_column_container,.vc_column-inner,.wpb_wrapper,
  .et-boc,.et_builder_inner_content,.et_pb_section,.et_pb_row,.et_pb_column,.et_pb_module,
  .fl-builder-content,.fl-row,.fl-row-content-wrap,.fl-row-content,.fl-col-group,
  .fl-col,.fl-module,.fl-module-content,
  #brx-content,.brxe-section,.brxe-container,.brxe-block,.brxe-div,
  .ct-section,.ct-section-inner-wrap,.ct-div-block,.ct-new-columns,
  .breakdance,.bde-section,.section-container,.bde-columns,.bde-column,
  .gb-container,.gb-grid-wrapper,.gb-grid-column,
  .kt-row-layout-inner,.kt-row-column-wrap,.wp-block-kadence-column,.kt-inside-inner-col,
  .stk-block,.stk-inner-blocks,.uagb-section__wrap,.uagb-columns__wrap,.uagb-column__inner-wrap,
  .swiper,.slick-slider,.owl-carousel,.splide,.rev_slider_wrapper,.n2-section-smartslider
){
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Top-level sections/widgets fill the established canvas immediately. Inner
   rows and cards still follow their own max-width and responsive settings. */
body.avpsb-homepage-universal-canvas:not(.elementor-editor-active):not(.fl-builder-edit)
:where(.entry-content,.page-content,.post-content,.wp-block-post-content)>
:where(
  .elementor,.elementor-section,.elementor-element.e-con,
  .wp-block-group,.wp-block-cover,.wp-block-columns,.wp-block-query,
  .vc_row,.wpb_row,.et-boc,.et_pb_section,.fl-builder-content,.fl-row,
  #brx-content,.brxe-section,.ct-section,.breakdance,.bde-section,
  .gb-container,.kt-row-layout-inner,.stk-block,.uagb-section__wrap,
  .swiper,.slick-slider,.owl-carousel,.splide,.rev_slider_wrapper,.n2-section-smartslider,
  [class*="widget"],[class*="module"],[class*="block"]
){
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Common third-party slider shells must own the available width before their
   JavaScript measures slides. Tracks/lists are intentionally left untouched. */
body.avpsb-homepage-universal-canvas:not(.elementor-editor-active):not(.fl-builder-edit)
:where(.entry-content,.page-content,.post-content,.wp-block-post-content)
:where(.swiper,.slick-slider,.owl-carousel,.splide,.rev_slider_wrapper,.n2-section-smartslider){
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Media can never paint wider than its final containing block during the
   initial frame. Intrinsic dimensions and object-fit remain unchanged. */
body.avpsb-homepage-universal-canvas:not(.elementor-editor-active):not(.fl-builder-edit)
:where(.entry-content,.page-content,.post-content,.wp-block-post-content)
:where(img,picture,video,iframe,canvas,svg){
  max-width:100%;
  box-sizing:border-box;
}


/* ========================================================================
 * Marketplace Editorial Zone — Build 20260707.58
 * Isolated CSS-first marketplace composition. No existing slider/category
 * selectors are changed. Geometry is final on first paint on every device.
 * ====================================================================== */
.avpsb-editorial-zone,
.avpsb-editorial-zone *{
  box-sizing:border-box;
}
.avpsb-editorial-zone{
  --avpsb-editorial-accent:#7c3aed;
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  position:relative;
  color:#111827;
  contain:layout;
}
.avpsb-editorial-zone__grid{
  display:grid;
  width:100%;
  max-width:100%;
  min-width:0;
  grid-template-columns:minmax(0,var(--avpsb-editorial-promos,31fr)) minmax(0,var(--avpsb-editorial-deals,36fr)) minmax(0,var(--avpsb-editorial-lifestyle,33fr));
  grid-template-areas:"promos deals lifestyle";
  align-items:start;
  gap:18px;
  direction:ltr;
}
.avpsb-editorial-zone__column{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
}
.avpsb-editorial-zone__promos{grid-area:promos}
.avpsb-editorial-zone__deals{grid-area:deals}
.avpsb-editorial-zone__lifestyle{grid-area:lifestyle}
html[dir="rtl"] .avpsb-editorial-zone__column{direction:rtl}
html[dir="ltr"] .avpsb-editorial-zone__column{direction:ltr}
.avpsb-editorial-zone__heading{
  display:block;
  margin:0 0 14px;
  padding:0;
  color:#111827;
  font-size:clamp(22px,2vw,34px);
  line-height:1.18;
  font-weight:900;
  letter-spacing:-.025em;
  text-align:start;
}
.avpsb-editorial-zone__deals>.avpsb-editorial-zone__heading{text-align:center}
.avpsb-editorial-zone__stack,
.avpsb-editorial-zone__deal-grid,
.avpsb-editorial-zone__lifestyle-grid{
  display:grid;
  width:100%;
  min-width:0;
  gap:14px;
}
.avpsb-editorial-zone__stack{grid-template-columns:minmax(0,1fr)}
.avpsb-editorial-zone__deal-grid,
.avpsb-editorial-zone__lifestyle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.avpsb-editorial-zone__deals{
  padding:16px;
  border-radius:22px;
  background:#f1eeff;
  min-width:0;
}
.avpsb-editorial-zone a{
  color:inherit;
  text-decoration:none;
}
.avpsb-editorial-zone a:focus-visible{
  outline:3px solid color-mix(in srgb,var(--avpsb-editorial-accent) 72%,#fff);
  outline-offset:3px;
}
.avpsb-editorial-promo,
.avpsb-editorial-deal,
.avpsb-editorial-lifestyle{
  display:flex;
  position:relative;
  width:100%;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(226,232,240,.9);
  border-radius:18px;
  background:var(--avpsb-editorial-card-bg,#fff);
  box-shadow:0 8px 24px rgba(15,23,42,.06);
  isolation:isolate;
  transform:translateZ(0);
}
.avpsb-editorial-promo{
  min-height:215px;
  align-items:flex-end;
  color:var(--avpsb-editorial-card-color,#fff);
}
.avpsb-editorial-promo__media,
.avpsb-editorial-promo__shade{
  position:absolute;
  inset:0;
  display:block;
}
.avpsb-editorial-promo__media{z-index:-2;background:var(--avpsb-editorial-card-bg,#f8fafc)}
.avpsb-editorial-promo__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:var(--avpsb-editorial-image-fit,cover);
  object-position:center;
}
.avpsb-editorial-promo__shade{
  z-index:-1;
  background:linear-gradient(180deg,rgba(2,6,23,.04) 5%,rgba(2,6,23,var(--avpsb-editorial-overlay,.45)) 100%);
}
.avpsb-editorial-promo__content{
  display:flex;
  width:100%;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  padding:18px;
  text-align:start;
}
.avpsb-editorial-promo--top-start,
.avpsb-editorial-promo--top-end{align-items:flex-start}
.avpsb-editorial-promo--top-end .avpsb-editorial-promo__content,
.avpsb-editorial-promo--bottom-end .avpsb-editorial-promo__content{align-items:flex-end;text-align:end}
.avpsb-editorial-promo--top-start .avpsb-editorial-promo__shade,
.avpsb-editorial-promo--top-end .avpsb-editorial-promo__shade{
  background:linear-gradient(0deg,rgba(2,6,23,.04) 5%,rgba(2,6,23,var(--avpsb-editorial-overlay,.45)) 100%);
}
.avpsb-editorial-promo__badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#111827;
  font-size:11px;
  font-weight:900;
  line-height:1;
  box-shadow:0 3px 12px rgba(15,23,42,.12);
}
.avpsb-editorial-promo__content strong{
  display:block;
  max-width:18ch;
  font-size:clamp(21px,2vw,34px);
  line-height:1.05;
  font-weight:950;
  text-wrap:balance;
}
.avpsb-editorial-promo__subtitle{
  display:block;
  max-width:36ch;
  font-size:13px;
  line-height:1.45;
  opacity:.94;
}
.avpsb-editorial-deal{
  min-height:225px;
  flex-direction:column;
  color:#111827;
  background:var(--avpsb-editorial-card-bg,#fff);
}
.avpsb-editorial-deal__badge{
  position:absolute;
  z-index:3;
  inset-block-start:0;
  inset-inline-start:0;
  display:block;
  max-width:calc(100% - 12px);
  padding:6px 10px;
  border-radius:0 0 10px 0;
  background:var(--avpsb-editorial-badge-bg,var(--avpsb-editorial-accent));
  color:#fff;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
html[dir="rtl"] .avpsb-editorial-deal__badge{border-radius:0 0 0 10px}
.avpsb-editorial-deal__media{
  display:flex;
  width:100%;
  min-height:118px;
  flex:1 1 118px;
  align-items:center;
  justify-content:center;
  padding:26px 12px 8px;
  overflow:hidden;
}
.avpsb-editorial-deal__media img{
  display:block;
  width:100%;
  height:100%;
  max-height:128px;
  object-fit:contain;
  object-position:center;
}
.avpsb-editorial-deal__copy{
  display:flex;
  min-width:0;
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  padding:8px 12px 12px;
  text-align:start;
}
.avpsb-editorial-deal__support{
  display:block;
  width:100%;
  color:#64748b;
  font-size:10px;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.avpsb-editorial-deal__copy strong{
  display:-webkit-box;
  width:100%;
  min-height:2.5em;
  overflow:hidden;
  color:inherit;
  font-size:12px;
  line-height:1.25;
  font-weight:700;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.avpsb-editorial-deal__offer{
  display:block;
  width:100%;
  color:#050505;
  font-size:clamp(14px,1.3vw,20px);
  line-height:1.12;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.avpsb-editorial-deal__price{
  display:flex;
  width:100%;
  min-width:0;
  align-items:baseline;
  gap:5px;
  color:#111827;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
}
.avpsb-editorial-deal__price del{color:#94a3b8;font-size:10px;font-weight:600}
.avpsb-editorial-deal__price ins{color:#e11d48;text-decoration:none}
.avpsb-editorial-lifestyle{
  min-height:205px;
  flex-direction:column;
  color:#1f2937;
  background:var(--avpsb-editorial-card-bg,#fff7cc);
}
.avpsb-editorial-lifestyle__media{
  display:flex;
  width:100%;
  min-height:122px;
  flex:1 1 122px;
  align-items:center;
  justify-content:center;
  padding:12px;
  overflow:hidden;
  background:var(--avpsb-editorial-media-bg,#fef3c7);
}
.avpsb-editorial-lifestyle__media img{
  display:block;
  width:100%;
  height:100%;
  max-height:142px;
  object-fit:contain;
  object-position:center;
}
.avpsb-editorial-lifestyle__copy{
  display:flex;
  min-width:0;
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  padding:9px 11px 11px;
  text-align:start;
}
.avpsb-editorial-lifestyle__eyebrow{
  display:block;
  width:100%;
  color:#334155;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.avpsb-editorial-lifestyle__copy strong{
  display:-webkit-box;
  width:100%;
  overflow:hidden;
  color:inherit;
  font-size:14px;
  line-height:1.25;
  font-weight:900;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.avpsb-editorial-lifestyle__copy>span:last-child:not(.avpsb-editorial-lifestyle__eyebrow){
  display:-webkit-box;
  width:100%;
  overflow:hidden;
  color:#64748b;
  font-size:10px;
  line-height:1.3;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
@media(hover:hover) and (pointer:fine){
  .avpsb-editorial-zone--hover .avpsb-editorial-promo,
  .avpsb-editorial-zone--hover .avpsb-editorial-deal,
  .avpsb-editorial-zone--hover .avpsb-editorial-lifestyle{
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
  }
  .avpsb-editorial-zone--hover a.avpsb-editorial-promo:hover,
  .avpsb-editorial-zone--hover a.avpsb-editorial-deal:hover,
  .avpsb-editorial-zone--hover a.avpsb-editorial-lifestyle:hover{
    z-index:2;
    transform:translateY(-4px);
    border-color:color-mix(in srgb,var(--avpsb-editorial-accent) 28%,#e2e8f0);
    box-shadow:0 16px 36px rgba(15,23,42,.12);
  }
  .avpsb-editorial-zone--hover a.avpsb-editorial-promo:hover img,
  .avpsb-editorial-zone--hover a.avpsb-editorial-deal:hover img,
  .avpsb-editorial-zone--hover a.avpsb-editorial-lifestyle:hover img{transform:scale(1.025)}
  .avpsb-editorial-zone--hover img{transition:transform .28s ease}
}
@media(max-width:1024px){
  .avpsb-editorial-zone__grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:"promos deals" "lifestyle lifestyle";
  }
  .avpsb-editorial-zone__lifestyle-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:767px){
  .avpsb-editorial-zone{contain:layout}
  .avpsb-editorial-zone__grid{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  .avpsb-editorial-zone--mobile-deals-lifestyle-promos .avpsb-editorial-zone__grid{grid-template-areas:"deals" "lifestyle" "promos"}
  .avpsb-editorial-zone--mobile-promos-deals-lifestyle .avpsb-editorial-zone__grid{grid-template-areas:"promos" "deals" "lifestyle"}
  .avpsb-editorial-zone--mobile-lifestyle-deals-promos .avpsb-editorial-zone__grid{grid-template-areas:"lifestyle" "deals" "promos"}
  .avpsb-editorial-zone__heading{
    margin-bottom:12px;
    font-size:clamp(20px,6vw,28px);
  }
  .avpsb-editorial-zone__deals{padding:12px}
  .avpsb-editorial-zone__deal-grid,
  .avpsb-editorial-zone__lifestyle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .avpsb-editorial-promo__content{padding:15px}
  .avpsb-editorial-promo__content strong{font-size:clamp(20px,7vw,30px)}
  .avpsb-editorial-deal__media{min-height:108px;padding:24px 8px 6px}
  .avpsb-editorial-deal__copy{padding:7px 9px 10px}
  .avpsb-editorial-deal__offer{font-size:15px}
  .avpsb-editorial-lifestyle__media{min-height:112px;padding:9px}
  .avpsb-editorial-lifestyle__copy{padding:8px 9px 10px}
}
@media(max-width:390px){
  .avpsb-editorial-zone__deals{padding:9px}
  .avpsb-editorial-zone__deal-grid,
  .avpsb-editorial-zone__lifestyle-grid{gap:8px}
  .avpsb-editorial-deal__badge{font-size:9px;padding:5px 7px}
  .avpsb-editorial-deal__copy strong{font-size:11px}
  .avpsb-editorial-deal__offer{font-size:13px}
  .avpsb-editorial-lifestyle__copy strong{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .avpsb-editorial-zone--hover .avpsb-editorial-promo,
  .avpsb-editorial-zone--hover .avpsb-editorial-deal,
  .avpsb-editorial-zone--hover .avpsb-editorial-lifestyle,
  .avpsb-editorial-zone--hover img{transition:none!important;transform:none!important}
}

/* ========================================================================
 * Product Data & Specifications Studio — Build 20260708.63
 * Responsive visual system for native WooCommerce product data.
 * ====================================================================== */
.avpsb-variation-swatches{gap:var(--avpsb-swatch-gap,var(--avpsb-pd-swatch-gap,8px))}.avpsb-variation-swatch{background-color:var(--avpsb-pd-swatch-bg,#fff);color:var(--avpsb-pd-swatch-text,#111827);border-color:var(--avpsb-pd-swatch-border,#dbe2ea);border-radius:var(--avpsb-pd-swatch-radius,10px);font-size:var(--avpsb-pd-swatch-font,13px);transition:transform var(--avpsb-pd-swatch-motion,.16s),box-shadow var(--avpsb-pd-swatch-motion,.16s),border-color var(--avpsb-pd-swatch-motion,.16s),background-color var(--avpsb-pd-swatch-motion,.16s),color var(--avpsb-pd-swatch-motion,.16s)}.avpsb-variation-swatch:not(:disabled):hover{background-color:var(--avpsb-pd-swatch-hover-bg,#f8fafc);color:var(--avpsb-pd-swatch-hover-text,#111827);border-color:var(--avpsb-pd-swatch-hover-border,#94a3b8);transform:translateY(-1px)}.avpsb-variation-swatch.is-active{background-color:var(--avpsb-pd-swatch-selected-bg,#fff);color:var(--avpsb-pd-swatch-selected-text,#111827);border-color:var(--avpsb-pd-swatch-selected-border,var(--avpsb-primary,#6c63ff))}.avpsb-swatch-icon{display:inline-flex;align-items:center;justify-content:center;margin-inline-end:4px}.avpsb-swatch-semantic-size .avpsb-variation-swatch,.avpsb-swatch-semantic-technical .avpsb-variation-swatch{width:auto;min-width:var(--avpsb-swatch-size,var(--avpsb-pd-swatch-size,44px));padding-inline:12px}.avpsb-swatch-semantic-color .avpsb-variation-swatch{overflow:hidden}.avpsb-swatch-selected-check .avpsb-variation-swatch.is-active:after{background:var(--avpsb-pd-swatch-selected-border,var(--avpsb-primary,#6c63ff))}.avpsb-swatch-selected-fill .avpsb-variation-swatch.is-active{background:var(--avpsb-pd-swatch-selected-border,var(--avpsb-primary,#6c63ff));color:#fff}.avpsb-swatch-selected-ring .avpsb-variation-swatch.is-active{box-shadow:0 0 0 3px var(--avpsb-pd-swatch-bg,#fff),0 0 0 6px var(--avpsb-pd-swatch-selected-border,var(--avpsb-primary,#6c63ff))}
.avpsb-specifications{grid-template-columns:repeat(var(--avpsb-pd-spec-cols,1),minmax(0,1fr))}.avpsb-spec-group{border-color:var(--avpsb-pd-spec-border,#e5e7eb);border-radius:var(--avpsb-pd-spec-radius,18px)}.avpsb-spec-group h3,.avpsb-specifications--accordion summary{background:var(--avpsb-pd-spec-group-bg,#f1f5f9);color:var(--avpsb-pd-spec-group-text,#111827)}.avpsb-spec-group dl>div{padding:var(--avpsb-pd-spec-pad,13px) 18px;background:var(--avpsb-pd-spec-row-bg,#fff);border-color:var(--avpsb-pd-spec-border,#e5e7eb)}.avpsb-spec-group dl>div:nth-child(even){background:var(--avpsb-pd-spec-row-alt-bg,#f8fafc)}.avpsb-spec-group dt{color:var(--avpsb-pd-spec-label,#334155)}.avpsb-spec-group dd{color:var(--avpsb-pd-spec-value,#111827)}.avpsb-specifications--technical{grid-template-columns:repeat(var(--avpsb-pd-spec-cols,2),minmax(0,1fr));gap:14px}.avpsb-specifications--technical .avpsb-spec-group{box-shadow:0 10px 28px rgba(15,23,42,.06)}.avpsb-specifications--technical .avpsb-spec-group h3{border-inline-start:4px solid var(--avpsb-pd-spec-accent,var(--avpsb-primary,#6c63ff))}.avpsb-specifications--technical .avpsb-spec-group dl>div{grid-template-columns:minmax(120px,.45fr) minmax(0,.55fr)}
.avpsb-brand-card{background:var(--avpsb-pd-brand-bg,var(--avpsb-brand-card-bg,#f8fafc));color:var(--avpsb-pd-brand-text,var(--avpsb-brand-text,#111827));border-color:var(--avpsb-pd-brand-border,#e5e7eb);border-radius:var(--avpsb-pd-brand-radius,var(--avpsb-brand-radius,24px));box-shadow:var(--avpsb-pd-brand-shadow,none)}.avpsb-brand-logo-wrap{width:var(--avpsb-pd-brand-logo,var(--avpsb-brand-logo-size,110px));height:var(--avpsb-pd-brand-logo,var(--avpsb-brand-logo-size,110px))}
.avpsb-size-guide-trigger{display:inline-flex;align-items:center;gap:7px;margin:0 0 14px;padding:9px 14px;border:1px solid color-mix(in srgb,var(--avpsb-pd-guide-accent,#6c63ff) 35%,#dbe2ea);border-radius:999px;background:color-mix(in srgb,var(--avpsb-pd-guide-accent,#6c63ff) 7%,#fff);color:var(--avpsb-pd-guide-accent,#6c63ff);font-weight:800;cursor:pointer}.avpsb-size-guide-overlay{position:fixed;z-index:999999;inset:0;display:flex;align-items:stretch;justify-content:flex-end}.avpsb-size-guide-overlay[hidden]{display:none!important}.avpsb-size-guide-backdrop{position:absolute;inset:0;border:0;background:rgba(2,6,23,.58);cursor:pointer}.avpsb-size-guide-panel{position:relative;z-index:2;width:min(var(--avpsb-pd-guide-width,620px),calc(100vw - 24px));height:100%;overflow:auto;padding:28px;background:var(--avpsb-pd-guide-bg,#fff);color:var(--avpsb-pd-guide-text,#111827);box-shadow:-18px 0 60px rgba(2,6,23,.22);transform:translateX(0)}[dir=rtl] .avpsb-size-guide-overlay,.rtl .avpsb-size-guide-overlay{justify-content:flex-start}.rtl .avpsb-size-guide-panel,[dir=rtl] .avpsb-size-guide-panel{box-shadow:18px 0 60px rgba(2,6,23,.22)}.avpsb-size-guide-overlay--modal{align-items:center;justify-content:center;padding:18px}.avpsb-size-guide-overlay--modal .avpsb-size-guide-panel{height:auto;max-height:min(86vh,900px);border-radius:var(--avpsb-pd-guide-radius,24px);box-shadow:0 24px 80px rgba(2,6,23,.3)}.avpsb-size-guide-close{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:center;margin-inline-start:auto;width:40px;height:40px;border:0;border-radius:50%;background:#f1f5f9;color:#0f172a;cursor:pointer}.avpsb-size-guide{color:var(--avpsb-pd-guide-text,#111827)}.avpsb-size-guide>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.avpsb-size-guide h3{margin:0 0 5px;font-size:clamp(22px,3vw,32px)}.avpsb-size-guide header p{margin:0;color:#64748b}.avpsb-size-guide-unit{display:inline-flex;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--avpsb-pd-guide-accent,#6c63ff) 10%,#fff);color:var(--avpsb-pd-guide-accent,#6c63ff);font-weight:900}.avpsb-size-guide-scroll{overflow:auto;border:1px solid #e2e8f0;border-radius:var(--avpsb-pd-guide-radius,18px)}.avpsb-size-guide table{width:100%;min-width:580px;border-collapse:collapse}.avpsb-size-guide th,.avpsb-size-guide td{padding:12px 14px;border-bottom:1px solid #e2e8f0;text-align:center}.avpsb-size-guide thead th{background:color-mix(in srgb,var(--avpsb-pd-guide-accent,#6c63ff) 9%,#fff);color:#334155}.avpsb-size-guide tbody th{color:var(--avpsb-pd-guide-accent,#6c63ff);font-weight:900}.avpsb-size-guide tbody tr:last-child>*{border-bottom:0}.avpsb-size-guide-note{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:14px;border-radius:14px;background:#f8fafc}.avpsb-size-guide-note .dashicons{color:var(--avpsb-pd-guide-accent,#6c63ff);flex:0 0 auto}.avpsb-size-guide-note p{margin:0}
@media(max-width:1024px){.avpsb-variation-swatch{--avpsb-swatch-size:var(--avpsb-pd-swatch-size-tablet,42px)}}
@media(max-width:782px){.avpsb-variation-swatch{--avpsb-swatch-size:var(--avpsb-swatch-size-mobile,var(--avpsb-pd-swatch-size-mobile,38px))}.avpsb-specifications{grid-template-columns:repeat(var(--avpsb-pd-spec-cols-mobile,1),minmax(0,1fr))}.avpsb-specifications--technical{grid-template-columns:repeat(var(--avpsb-pd-spec-cols-mobile,1),minmax(0,1fr))}.avpsb-spec-mobile-stack .avpsb-spec-group dl>div{display:block}.avpsb-spec-mobile-stack .avpsb-spec-group dt{margin-bottom:5px}.avpsb-size-guide-panel{width:100%;padding:20px}.avpsb-size-guide-overlay--drawer{justify-content:stretch}.avpsb-size-guide-overlay--drawer .avpsb-size-guide-panel{width:100%}}
.avpsb-brand-content strong{display:flex;align-items:center;gap:6px}.avpsb-brand-official{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#2563eb;color:#fff;flex:0 0 auto}.avpsb-brand-official .dashicons{width:13px;height:13px;font-size:13px;line-height:13px}
.avpsb-size-guide-inline{clear:both;margin:28px 0;padding:20px;border:1px solid var(--avpsb-pd-spec-border,#e5e7eb);border-radius:var(--avpsb-pd-guide-radius,24px);background:var(--avpsb-pd-guide-bg,#fff)}

/* Product Data Studio presentation refinements — Build 20260709.71 */
.avpsb-size-guide-system{display:inline-flex;margin-top:8px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--avpsb-pd-guide-accent,#6c63ff) 25%,#e2e8f0);border-radius:999px;background:color-mix(in srgb,var(--avpsb-pd-guide-accent,#6c63ff) 5%,#fff);color:var(--avpsb-pd-guide-accent,#6c63ff);font-size:12px;font-weight:800}
.avpsb-size-guide-scroll{max-width:100%;box-shadow:0 8px 24px rgba(15,23,42,.045)}
.avpsb-size-guide table{table-layout:auto}.avpsb-size-guide thead th{position:sticky;top:0;z-index:2;font-weight:900;white-space:nowrap}.avpsb-size-guide tbody th{position:sticky;inset-inline-start:0;z-index:1;background:var(--avpsb-pd-guide-bg,#fff);box-shadow:1px 0 0 #e2e8f0}.rtl .avpsb-size-guide tbody th,[dir=rtl] .avpsb-size-guide tbody th{box-shadow:-1px 0 0 #e2e8f0}.avpsb-size-guide tbody tr:nth-child(even) td,.avpsb-size-guide tbody tr:nth-child(even) th{background:color-mix(in srgb,var(--avpsb-pd-guide-accent,#6c63ff) 3%,var(--avpsb-pd-guide-bg,#fff))}.avpsb-size-guide tbody tr:hover td,.avpsb-size-guide tbody tr:hover th{background:color-mix(in srgb,var(--avpsb-pd-guide-accent,#6c63ff) 7%,var(--avpsb-pd-guide-bg,#fff))}
.avpsb-specifications{clear:both;max-width:100%;min-width:0}.avpsb-spec-group{min-width:0;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.045)}.avpsb-spec-group dt,.avpsb-spec-group dd{min-width:0;overflow-wrap:anywhere}.avpsb-spec-group dl>div{align-items:center}
@media(max-width:640px){.avpsb-size-guide>header{align-items:flex-start}.avpsb-size-guide h3{font-size:22px}.avpsb-size-guide th,.avpsb-size-guide td{padding:10px 11px;font-size:13px}.avpsb-size-guide table{min-width:520px}.avpsb-spec-group dl>div{display:block!important}.avpsb-spec-group dt{margin-bottom:5px}}


/* Storefront Builder buying-confidence cards — centered native add-on data. */
.avpsb-premium-summary .avpsb-buying-trust{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,240px));
  justify-content:center;
  align-items:stretch;
  width:100%;
  max-width:820px;
  margin-inline:auto;
}
.avpsb-premium-summary .avpsb-buying-trust>article{
  width:100%;
  min-width:0;
  margin:0;
}
@media(max-width:520px){
  .avpsb-premium-summary .avpsb-buying-trust{grid-template-columns:1fr;max-width:360px}
}

/* Buying confidence cards — concise live shipping/returns summary. */
.avpsb-premium-summary .avpsb-buying-trust{
  grid-template-columns:repeat(auto-fit,minmax(245px,300px));
  max-width:680px;
  gap:12px;
}
.avpsb-premium-summary .avpsb-buying-trust>article.avpsb-buying-trust__card{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:132px;
  padding:16px;
  overflow:hidden;
  border:1px solid #dfe6f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.07);
}
.avpsb-premium-summary .avpsb-buying-trust>article.avpsb-buying-trust__card:before{
  content:"";
  position:absolute;
  inset-block:0;
  inset-inline-start:0;
  width:4px;
  background:var(--avpsb-trust-accent,#5b5ce2);
}
.avpsb-premium-summary .avpsb-buying-trust__card--delivery{
  --avpsb-trust-accent:#4f46e5;
  --avpsb-trust-soft:#eef2ff;
  background:linear-gradient(145deg,#fff 0%,#f7f8ff 100%)!important;
}
.avpsb-premium-summary .avpsb-buying-trust__card--returns{
  --avpsb-trust-accent:#0f9f6e;
  --avpsb-trust-soft:#ecfdf5;
  background:linear-gradient(145deg,#fff 0%,#f2fff9 100%)!important;
}
.avpsb-premium-summary .avpsb-buying-trust__card--warranty{
  --avpsb-trust-accent:#d97706;
  --avpsb-trust-soft:#fff7ed;
  background:linear-gradient(145deg,#fff 0%,#fffaf2 100%)!important;
}
.avpsb-premium-summary .avpsb-buying-trust__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:14px;
  background:var(--avpsb-trust-soft,#eef2ff);
  color:var(--avpsb-trust-accent,#4f46e5)!important;
  font-size:22px;
  line-height:1;
}
.avpsb-premium-summary .avpsb-buying-trust__copy{
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  gap:4px;
}
.avpsb-premium-summary .avpsb-buying-trust__copy small{
  color:var(--avpsb-trust-accent,#4f46e5);
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.avpsb-premium-summary .avpsb-buying-trust__copy strong{
  margin:0;
  color:#172033;
  font-size:14px;
  font-weight:900;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.avpsb-premium-summary .avpsb-buying-trust__note{
  display:block;
  margin-top:2px;
  color:#64748b;
  font-size:11px;
  font-weight:600;
  line-height:1.5;
}
@media(max-width:520px){
  .avpsb-premium-summary .avpsb-buying-trust{grid-template-columns:1fr;max-width:380px}
  .avpsb-premium-summary .avpsb-buying-trust>article.avpsb-buying-trust__card{min-height:0}
}


/* Buying-confidence card links — preserve the approved side-by-side size and style. */
.avpsb-premium-summary .avpsb-buying-trust__card{
  position:relative;
}
.avpsb-premium-summary .avpsb-buying-trust__card-link{
  position:absolute;
  z-index:4;
  inset:0;
  display:block;
  border-radius:inherit;
  cursor:pointer;
}
.avpsb-premium-summary .avpsb-buying-trust__card-link:focus-visible{
  outline:3px solid color-mix(in srgb,var(--avpsb-trust-accent,#4f46e5) 45%,transparent);
  outline-offset:3px;
}
@media(min-width:621px){
  .avpsb-premium-summary .avpsb-buying-trust{
    grid-template-columns:repeat(2,minmax(245px,300px))!important;
    justify-content:center!important;
    max-width:680px!important;
  }
}

/* Buying-confidence cards — restore the approved compact footprint and direct links. */
.avpsb-premium-summary .avpsb-buying-trust{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:min(100%,600px)!important;
  max-width:600px!important;
  margin-inline:auto!important;
  align-items:stretch!important;
}
.avpsb-premium-summary .avpsb-buying-trust--count-1{
  grid-template-columns:minmax(0,290px)!important;
  width:min(100%,290px)!important;
}
.avpsb-premium-summary .avpsb-buying-trust--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:min(100%,820px)!important;
  max-width:820px!important;
}
.avpsb-premium-summary .avpsb-buying-trust>.avpsb-buying-trust__card{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  min-height:108px!important;
  margin:0!important;
  padding:12px!important;
  overflow:hidden!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  box-shadow:0 5px 16px rgba(15,23,42,.055)!important;
  color:inherit!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
}
.avpsb-premium-summary a.avpsb-buying-trust__card{
  cursor:pointer!important;
}
.avpsb-premium-summary a.avpsb-buying-trust__card:hover{
  border-color:color-mix(in srgb,var(--avpsb-trust-accent,#4f46e5) 38%,#e2e8f0)!important;
  box-shadow:0 7px 19px rgba(15,23,42,.075)!important;
}
.avpsb-premium-summary a.avpsb-buying-trust__card:focus-visible{
  outline:3px solid color-mix(in srgb,var(--avpsb-trust-accent,#4f46e5) 40%,transparent)!important;
  outline-offset:3px!important;
}
.avpsb-premium-summary .avpsb-buying-trust__icon{
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  border-radius:11px!important;
  font-size:19px!important;
}
.avpsb-premium-summary .avpsb-buying-trust__copy{
  gap:2px!important;
}
.avpsb-premium-summary .avpsb-buying-trust__copy small{
  font-size:10px!important;
  line-height:1.3!important;
}
.avpsb-premium-summary .avpsb-buying-trust__copy strong{
  font-size:12px!important;
  line-height:1.45!important;
}
.avpsb-premium-summary .avpsb-buying-trust__note{
  margin-top:1px!important;
  font-size:10px!important;
  line-height:1.4!important;
}
@media(max-width:620px){
  .avpsb-premium-summary .avpsb-buying-trust,
  .avpsb-premium-summary .avpsb-buying-trust--count-3{
    grid-template-columns:1fr!important;
    width:min(100%,360px)!important;
    max-width:360px!important;
  }
  .avpsb-premium-summary .avpsb-buying-trust>.avpsb-buying-trust__card{
    min-height:0!important;
  }
}


