.pithg-wrap{width:100%;max-width:100%;position:relative;min-width:0;overflow:visible;--pithg-carousel-gap:28px;--pithg-per-view:4}
.pithg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%}
.pithg-equal-height .pithg-card{height:100%}
.pithg-card{position:relative;display:flex;flex-direction:column;text-decoration:none;overflow:hidden;min-width:0;max-width:100%;margin:0;box-shadow:none;transition:none}
.pithg-image-link,.pithg-product-link{color:inherit;text-decoration:none;display:block;min-width:0}
.pithg-image{position:relative;width:100%;height:320px;overflow:hidden;line-height:0;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.pithg-image:after{content:"";position:absolute;inset:0;opacity:1;pointer-events:none;transition:opacity .25s ease}
.pithg-img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;transition:opacity .35s ease,transform .35s ease;backface-visibility:hidden;-webkit-user-drag:none}
.pithg-primary{opacity:1}.pithg-secondary{opacity:0}
.pithg-wrap[data-hover-effect="fade"] .pithg-card:hover .pithg-primary,.pithg-wrap[data-mobile-preview="yes"] .pithg-card.is-toggled .pithg-primary{opacity:0}
.pithg-wrap[data-hover-effect="fade"] .pithg-card:hover .pithg-secondary,.pithg-wrap[data-mobile-preview="yes"] .pithg-card.is-toggled .pithg-secondary{opacity:1}
.pithg-wrap[data-hover-effect="zoom"] .pithg-card:hover .pithg-primary,.pithg-wrap[data-mobile-preview="yes"] .pithg-card.is-toggled .pithg-primary{opacity:0;transform:scale(1)}
.pithg-wrap[data-hover-effect="zoom"] .pithg-card:hover .pithg-secondary,.pithg-wrap[data-mobile-preview="yes"] .pithg-card.is-toggled .pithg-secondary{opacity:1;transform:scale(1)}
.pithg-wrap[data-hover-effect="none"] .pithg-secondary{display:none}
.pithg-title{margin:14px 0 0;line-height:1.35;font-size:18px;word-break:normal;overflow-wrap:anywhere;min-width:0}
.pithg-title a,.pithg-title span{color:inherit;text-decoration:none}.pithg-empty{padding:12px 0}

/* Carousel: CSS-first sizing so it stays correct even before/without JS. */
.pithg-carousel-shell{position:relative;width:100%;max-width:100%;min-width:0;overflow:hidden}
.pithg-carousel{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;position:relative;cursor:grab;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-y;user-select:none;overscroll-behavior-x:contain}
.pithg-carousel::-webkit-scrollbar{display:none}.pithg-carousel.is-dragging{cursor:grabbing}
.pithg-track{display:flex;align-items:stretch;width:100%;min-width:100%;max-width:none;gap:28px!important;column-gap:28px!important;row-gap:0!important;will-change:auto}
.pithg-wrap .pithg-carousel-shell .pithg-carousel .pithg-track{gap:28px!important;column-gap:28px!important}
/* 4-up fallback at 28px gap: each item = 25% - 21px. JS replaces this precisely for custom gaps. */
.pithg-carousel .pithg-card,.pithg-carousel .pithg-card-clone{flex:0 0 calc(25% - 21px)!important;width:calc(25% - 21px)!important;max-width:calc(25% - 21px)!important;min-width:0;align-self:stretch;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important}
.pithg-carousel .pithg-card:hover,.pithg-carousel .pithg-card:focus-within,.pithg-carousel .pithg-card:active,.pithg-carousel .pithg-image,.pithg-carousel .pithg-img{box-shadow:none!important}
.pithg-carousel .pithg-image{display:block;width:100%!important;max-width:100%!important;margin:0!important}
.pithg-carousel .pithg-title{width:100%;max-width:100%;margin-left:0;margin-right:0}

/* Bottom navigation: long divider + two circular controls at right. */
.pithg-carousel-footer{display:flex;align-items:center;width:100%;min-width:0;margin-top:34px;gap:28px}
.pithg-carousel-rule{display:block;flex:1 1 auto;min-width:0;height:1px;background:#2d2d2d}
.pithg-carousel-controls{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:12px}
.pithg-carousel-nav{position:static!important;inset:auto!important;transform:none!important;z-index:6;display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0;padding:0;border:1px solid #e6e6e6;border-radius:50%;background:#fff;color:#666;cursor:pointer;appearance:none;-webkit-appearance:none;line-height:1;touch-action:manipulation;box-shadow:none!important;transition:none!important}
.pithg-carousel-nav:hover,.pithg-carousel-nav:focus,.pithg-carousel-nav:focus-visible,.pithg-carousel-nav:active{background:#fff;color:#666;border-color:#e6e6e6;box-shadow:none!important;transform:none!important}
.pithg-carousel-nav:focus-visible{outline:1px solid #cfcfcf;outline-offset:2px}
.pithg-carousel-nav svg{display:block;width:20px;height:20px;pointer-events:none}.pithg-arrow-line{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pithg-arrow-triangle{fill:currentColor;stroke:none}

/* Disable carousel edge overlays; target reference is clean/open. */
.pithg-edge-fade .pithg-carousel:before,.pithg-edge-fade .pithg-carousel:after{display:none!important}

@media (max-width:1024px){
  .pithg-wrap{--pithg-carousel-gap:20px;--pithg-per-view:2}
  .pithg-wrap .pithg-carousel-shell .pithg-carousel .pithg-track{gap:20px!important;column-gap:20px!important}
  .pithg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pithg-image{height:260px}
  .pithg-carousel .pithg-card,.pithg-carousel .pithg-card-clone{flex-basis:calc(50% - 10px)!important;width:calc(50% - 10px)!important;max-width:calc(50% - 10px)!important}
  .pithg-carousel-footer{margin-top:28px;gap:22px}.pithg-carousel-nav{width:42px;height:42px}.pithg-carousel-controls{gap:10px}
}
@media (max-width:767px){
  .pithg-wrap{--pithg-carousel-gap:14px;--pithg-per-view:1;max-width:100%}
  .pithg-wrap .pithg-carousel-shell .pithg-carousel .pithg-track{gap:14px!important;column-gap:14px!important}
  .pithg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .pithg-image{height:220px}.pithg-title{margin-top:10px;font-size:15px;line-height:1.3}
  .pithg-carousel .pithg-card,.pithg-carousel .pithg-card-clone{flex-basis:100%!important;width:100%!important;max-width:100%!important}
  .pithg-carousel-footer{margin-top:22px;gap:14px}.pithg-carousel-rule{background:#d7d7d7}.pithg-carousel-controls{gap:8px}.pithg-carousel-nav{width:38px;height:38px}.pithg-carousel-nav svg{width:17px;height:17px}
}
@media (max-width:479px){.pithg-grid{grid-template-columns:minmax(0,1fr);gap:16px}.pithg-image{height:210px}.pithg-carousel-footer{margin-top:18px;gap:12px}.pithg-carousel-nav{width:36px;height:36px}.pithg-carousel-nav svg{width:16px;height:16px}}
@media (hover:none){.pithg-wrap[data-mobile-preview="yes"] .pithg-card:active .pithg-primary{opacity:0}.pithg-wrap[data-mobile-preview="yes"] .pithg-card:active .pithg-secondary{opacity:1}}
@media (prefers-reduced-motion:reduce){.pithg-img{transition:none}}

/* Elementor editor/container hardening. */
.elementor-widget-pithg-product-image-title-hover-grid,.elementor-widget-pithg-product-image-title-hover-grid .elementor-widget-container,.elementor-editor-active .pithg-wrap{width:100%;max-width:100%;min-width:0}


/* =========================================================
   v1.4.3 — FULL IMAGE / NO CROP GUARANTEE
   ---------------------------------------------------------
   Overrides older Elementor widget data that may have saved
   Object Fit = Cover. Product and hover images stay fully visible.
========================================================= */
.pithg-wrap .pithg-image > img.pithg-img,
.elementor-widget-pithg-product-image-title-hover-grid .pithg-image > img.pithg-img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
