.w3dpg{height:var(--w3dpg-height,100vh);min-height:620px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.11),rgba(0,0,0,0) 34%),var(--w3dpg-stage-bg,#050506);color:var(--w3dpg-text,#fff);font-family:Inter,Arial,sans-serif}.w3dpg *{box-sizing:border-box}.w3dpg-stage{position:absolute;inset:0;overflow:hidden;perspective:1280px;touch-action:none;cursor:grab}.w3dpg-stage:active{cursor:grabbing}.w3dpg-space{position:absolute;inset:0;transform-style:preserve-3d}.w3dpg-loading{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.72);font-weight:600}.w3dpg-loading[hidden]{display:none!important}.w3dpg-card{position:absolute;left:0;top:0;width:380px;height:260px;border:0;padding:0;background:transparent;border-radius:var(--w3dpg-radius,16px);overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.36);transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,opacity;cursor:pointer;pointer-events:auto;contain:layout style paint}.w3dpg-card img{width:100%;height:100%;object-fit:contain;image-rendering:auto;border-radius:inherit;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none}.w3dpg-bottom{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:12px;max-width:min(88vw,860px);padding:10px 16px;border-radius:999px;background:var(--w3dpg-menu-bg,rgba(255,255,255,.92));overflow:visible;box-shadow:0 14px 40px rgba(0,0,0,.25);backdrop-filter:blur(14px)}.w3dpg-plus{display:none!important}.w3dpg-menu-toggle{display:none;border:0;border-radius:999px;background:var(--w3dpg-active-bg,#000);color:var(--w3dpg-active-text,#fff);width:42px;height:34px;font-size:22px;font-weight:900;line-height:1;cursor:pointer}.w3dpg-menu-scroll{overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none}.w3dpg-menu-scroll::-webkit-scrollbar{display:none}.w3dpg-menu{display:flex;gap:12px;align-items:center;list-style:none;margin:0;padding:0}.w3dpg-menu a{display:block;padding:8px 12px;border-radius:999px;color:var(--w3dpg-menu-text,#111);font-weight:700;text-decoration:underline;font-size:14px}.w3dpg-menu a.is-active{background:var(--w3dpg-active-bg,#000);color:var(--w3dpg-active-text,#fff);text-decoration:none}.w3dpg-zoom{position:absolute;z-index:80;left:50%;top:50%;transform:translate(-50%,-50%) scale(.94);width:min(560px,88vw);min-height:440px;border-radius:26px;background:rgba(12,12,12,.78);border:1px solid rgba(255,255,255,.28);box-shadow:0 30px 90px rgba(0,0,0,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:34px;opacity:0;transition:.18s ease;backdrop-filter:blur(18px)}.w3dpg-zoom.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.w3dpg-zoom[hidden],.w3dpg-modal[hidden]{display:none!important}.w3dpg-zoom img{max-width:86%;max-height:330px;border-radius:var(--w3dpg-radius,16px);object-fit:contain}.w3dpg-buy,.w3dpg-checkout{border:0;border-radius:999px;background:var(--w3dpg-button-bg,#050505);color:var(--w3dpg-button-text,#fff);padding:15px 34px;font-weight:800;cursor:pointer}.w3dpg-checkout{width:100%;border-radius:14px}.w3dpg-checkout:disabled{opacity:.45;cursor:not-allowed}.w3dpg-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:inherit;font-size:28px;line-height:1;cursor:pointer}.w3dpg-modal{position:absolute;inset:0;z-index:90;display:grid;place-items:center;background:rgba(0,0,0,.55);padding:20px}.w3dpg-modal-box{width:min(460px,92vw);max-height:82vh;overflow:auto;border-radius:22px;background:var(--w3dpg-modal-bg,#fff);color:var(--w3dpg-modal-text,#111);padding:30px;position:relative;box-shadow:0 26px 80px rgba(0,0,0,.45)}.w3dpg-modal-box h3{margin:0 36px 22px 0;font-size:22px}.w3dpg-product-line{display:flex;gap:16px;align-items:center;margin-bottom:18px}.w3dpg-product-line img{width:74px;height:74px;object-fit:cover;border-radius:14px}.w3dpg-product-line strong,.w3dpg-simple strong{display:block}.w3dpg-product-line em,.w3dpg-simple em,.w3dpg-var em{display:block;font-style:normal;opacity:.7;margin-top:6px}.w3dpg-var{display:flex;gap:12px;align-items:center;border:1px solid rgba(0,0,0,.12);padding:13px;border-radius:14px;margin:10px 0;cursor:pointer}.w3dpg-var input{width:18px;height:18px}.w3dpg-simple{border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:14px;margin:12px 0}.w3dpg-msg{min-height:22px;margin:12px 0 0;opacity:.75}@media(max-width:700px){.w3dpg{min-height:560px}.w3dpg-card{width:280px;height:194px}.w3dpg-bottom{bottom:14px;left:auto;right:14px;transform:none;max-width:calc(100vw - 28px);padding:8px;border-radius:24px}.w3dpg-menu-toggle{display:block}.w3dpg-menu-scroll{display:none;position:absolute;right:0;bottom:54px;width:min(82vw,320px);max-height:58vh;overflow:auto;background:var(--w3dpg-menu-bg,rgba(255,255,255,.96));border-radius:22px;padding:12px;box-shadow:0 18px 50px rgba(0,0,0,.38)}.w3dpg.w3dpg-menu-open .w3dpg-menu-scroll{display:block}.w3dpg-menu{display:block}.w3dpg-menu li{margin:4px 0}.w3dpg-menu a{padding:12px 14px;font-size:15px}.w3dpg-zoom{min-height:360px}}

/* v1.7.4 mobile pinch/menu fixes */
@media(min-width:701px){.w3dpg-bottom{bottom:42px!important}}
@media(max-width:700px){
 .w3dpg-bottom{bottom:22px!important;right:18px!important;padding:7px!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;z-index:120!important}
 .w3dpg-menu-toggle{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:4px!important;width:52px!important;height:44px!important;background:#fff!important;color:#111!important;border:1px solid rgba(255,255,255,.55)!important;box-shadow:0 10px 28px rgba(0,0,0,.45)!important;z-index:125!important;position:relative!important}
 .w3dpg-menu-toggle span{display:block!important;width:22px!important;height:2px!important;border-radius:999px!important;background:#111!important}
 .w3dpg-menu-scroll{bottom:58px!important;right:0!important;z-index:124!important}
 .w3dpg.w3dpg-menu-open .w3dpg-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
 .w3dpg.w3dpg-menu-open .w3dpg-menu-toggle span:nth-child(2){opacity:0}
 .w3dpg.w3dpg-menu-open .w3dpg-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}


/* v1.7.5 final menu position/size fixes */
.w3dpg .w3dpg-bottom{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:72px!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  max-width:min(78vw,760px)!important;
  min-height:0!important;
  height:46px!important;
  padding:6px 14px!important;
  gap:8px!important;
  border-radius:999px!important;
  overflow:visible!important;
  z-index:200!important;
}
.w3dpg .w3dpg-menu-scroll{max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;height:34px!important;display:block!important;scrollbar-width:none!important;}
.w3dpg .w3dpg-menu-scroll::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
.w3dpg .w3dpg-menu{gap:8px!important;height:34px!important;align-items:center!important;}
.w3dpg .w3dpg-menu a{font-size:12px!important;line-height:1!important;padding:8px 10px!important;white-space:nowrap!important;}
.w3dpg .w3dpg-plus{display:none!important;width:0!important;height:0!important;padding:0!important;margin:0!important;}

@media(max-width:700px){
  .w3dpg .w3dpg-bottom{
    position:fixed!important;
    left:auto!important;
    right:16px!important;
    bottom:24px!important;
    transform:none!important;
    width:52px!important;
    height:52px!important;
    max-width:52px!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    z-index:999999!important;
    pointer-events:auto!important;
    display:block!important;
    overflow:visible!important;
  }
  .w3dpg .w3dpg-menu-toggle{
    display:flex!important;
    position:absolute!important;
    inset:0!important;
    width:52px!important;
    height:52px!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    border:1px solid rgba(255,255,255,.45)!important;
    border-radius:999px!important;
    background:#ffffff!important;
    color:#111!important;
    box-shadow:0 12px 34px rgba(0,0,0,.55)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .w3dpg .w3dpg-menu-toggle span{display:block!important;width:23px!important;height:2px!important;background:#111!important;border-radius:999px!important;transition:.18s ease!important;}
  .w3dpg .w3dpg-menu-scroll{
    display:none!important;
    position:absolute!important;
    right:0!important;
    bottom:64px!important;
    width:min(84vw,310px)!important;
    height:auto!important;
    max-height:62vh!important;
    overflow:auto!important;
    background:var(--w3dpg-menu-bg,rgba(255,255,255,.96))!important;
    border-radius:20px!important;
    padding:10px!important;
    box-shadow:0 20px 55px rgba(0,0,0,.55)!important;
    z-index:999998!important;
  }
  .w3dpg.w3dpg-menu-open .w3dpg-menu-scroll{display:block!important;}
  .w3dpg .w3dpg-menu{display:block!important;height:auto!important;}
  .w3dpg .w3dpg-menu li{display:block!important;margin:2px 0!important;}
  .w3dpg .w3dpg-menu a{display:block!important;font-size:14px!important;padding:12px 14px!important;text-align:left!important;text-decoration:none!important;}
  .w3dpg.w3dpg-menu-open .w3dpg-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)!important;}
  .w3dpg.w3dpg-menu-open .w3dpg-menu-toggle span:nth-child(2){opacity:0!important;}
  .w3dpg.w3dpg-menu-open .w3dpg-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important;}
}

/* v1.7.7 strict menu text + real mobile hamburger fixes */
@media (min-width:701px){
  .w3dpg .w3dpg-bottom{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    bottom:78px!important;
    transform:translateX(-50%)!important;
    height:auto!important;
    min-height:42px!important;
    max-height:46px!important;
    width:auto!important;
    max-width:min(78vw,760px)!important;
    padding:5px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    border-radius:999px!important;
    z-index:9999!important;
  }
  .w3dpg .w3dpg-menu-toggle,
  .w3dpg .w3dpg-plus{display:none!important;}
  .w3dpg .w3dpg-menu-scroll{
    display:block!important;
    height:auto!important;
    min-height:32px!important;
    max-height:none!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    white-space:nowrap!important;
    scrollbar-width:none!important;
  }
  .w3dpg .w3dpg-menu-scroll::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
  .w3dpg .w3dpg-menu{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
    height:auto!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
    list-style:none!important;
  }
  .w3dpg .w3dpg-menu li{display:block!important;margin:0!important;padding:0!important;line-height:1!important;}
  .w3dpg .w3dpg-menu a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:30px!important;
    min-height:30px!important;
    padding:0 10px!important;
    margin:0!important;
    color:var(--w3dpg-menu-text,#111)!important;
    background:transparent!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    transform:none!important;
  }
  .w3dpg .w3dpg-menu a.is-active{
    color:var(--w3dpg-active-text,#fff)!important;
    background:var(--w3dpg-active-bg,#000)!important;
    border-radius:999px!important;
    padding:0 12px!important;
  }
}

@media (max-width:700px){
  .w3dpg .w3dpg-bottom{
    position:fixed!important;
    left:auto!important;
    right:18px!important;
    bottom:26px!important;
    transform:none!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    padding:0!important;
    margin:0!important;
    display:block!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
    z-index:2147483000!important;
    pointer-events:none!important;
  }
  .w3dpg .w3dpg-menu-toggle{
    display:flex!important;
    position:absolute!important;
    inset:0!important;
    width:54px!important;
    height:54px!important;
    padding:0!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    border:1px solid rgba(0,0,0,.12)!important;
    border-radius:999px!important;
    background:#ffffff!important;
    color:#111!important;
    box-shadow:0 14px 34px rgba(0,0,0,.55)!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:2147483002!important;
    pointer-events:auto!important;
    cursor:pointer!important;
  }
  .w3dpg .w3dpg-menu-toggle span{
    display:block!important;
    width:24px!important;
    height:2px!important;
    padding:0!important;
    margin:0!important;
    border-radius:999px!important;
    background:#111!important;
    transition:transform .18s ease, opacity .18s ease!important;
  }
  .w3dpg.w3dpg-menu-open .w3dpg-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)!important;}
  .w3dpg.w3dpg-menu-open .w3dpg-menu-toggle span:nth-child(2){opacity:0!important;}
  .w3dpg.w3dpg-menu-open .w3dpg-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important;}
  .w3dpg .w3dpg-plus{display:none!important;}

  .w3dpg .w3dpg-menu-scroll{
    display:none!important;
    position:fixed!important;
    right:18px!important;
    bottom:92px!important;
    left:auto!important;
    top:auto!important;
    width:min(82vw,330px)!important;
    min-width:240px!important;
    max-width:min(82vw,330px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:64dvh!important;
    padding:12px!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    white-space:normal!important;
    border-radius:22px!important;
    background:var(--w3dpg-menu-bg,rgba(255,255,255,.96))!important;
    box-shadow:0 20px 60px rgba(0,0,0,.55)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    z-index:2147483001!important;
    pointer-events:auto!important;
    scrollbar-width:thin!important;
  }
  .w3dpg.w3dpg-menu-open .w3dpg-menu-scroll{display:block!important;}
  .w3dpg .w3dpg-menu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    list-style:none!important;
  }
  .w3dpg .w3dpg-menu li{display:block!important;width:100%!important;margin:0!important;padding:0!important;}
  .w3dpg .w3dpg-menu a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:auto!important;
    min-height:42px!important;
    padding:11px 14px!important;
    margin:0!important;
    border-radius:14px!important;
    color:var(--w3dpg-menu-text,#111)!important;
    background:transparent!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.2!important;
    text-decoration:none!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .w3dpg .w3dpg-menu a.is-active{
    color:var(--w3dpg-active-text,#fff)!important;
    background:var(--w3dpg-active-bg,#000)!important;
  }
}


/* v1.7.8 image/order/scroll fixes */
.w3dpg .w3dpg-card{background:transparent!important;}
.w3dpg .w3dpg-card img{object-fit:contain!important;object-position:center center!important;width:100%!important;height:100%!important;}

/* v1.7.9 performance: lower paint cost while moving in depth */
.w3dpg .w3dpg-card{will-change:transform,opacity!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;}
.w3dpg .w3dpg-stage{overscroll-behavior:none!important;}


/* v1.8.4 close button visual fix */
.w3dpg .w3dpg-close,
.w3dpg .w3dpg-zoom .w3dpg-close,
.w3dpg .w3dpg-modal-box .w3dpg-close{
  background:transparent !important;
  background-image:none !important;
  color:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
  border-radius:0 !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:32px !important;
  font-weight:400 !important;
  line-height:1 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.w3dpg .w3dpg-modal-box .w3dpg-close{color:var(--w3dpg-modal-text,#111) !important;}
.w3dpg .w3dpg-close:hover,
.w3dpg .w3dpg-close:focus,
.w3dpg .w3dpg-close:active{
  background:transparent !important;
  background-image:none !important;
  color:inherit !important;
  box-shadow:none !important;
}


/* v1.8.5 Astra + Elementor full-bleed wrapper fix */
body .w3dpg{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

/* Remove theme/Elementor padding only around this gallery widget */
.elementor-widget-shortcode:has(.w3dpg),
.elementor-widget-container:has(.w3dpg),
.elementor-shortcode:has(.w3dpg),
.entry-content:has(.w3dpg),
.ast-container:has(.w3dpg),
.site-content:has(.w3dpg),
.content-area:has(.w3dpg),
.ast-article-single:has(.w3dpg){
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  max-width:100vw !important;
  box-shadow:none !important;
  background:#000 !important;
}

.elementor-widget-shortcode:has(.w3dpg) > .elementor-widget-container,
.elementor-shortcode:has(.w3dpg){
  overflow:visible !important;
}

/* Elementor editor pink/white selection outline stays only in editor UI,
   but the live page should not show theme borders. */
body:not(.elementor-editor-active) .w3dpg,
body:not(.elementor-editor-active) .w3dpg-stage{
  border:none !important;
}
