/* ========== Single product — Vento PDP ========== */
body.vento-woo.single-product .woocommerce div.product.vento-pdp{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(24px,4vw,48px);
  align-items:start;
  margin-bottom:clamp(40px,6vw,72px);
}
/* FPD studio products: never use PDP grid (canvas needs full width) */
body.vento-studio-product.vento-woo.single-product .woocommerce div.product.vento-pdp,
body.vento-studio-product .woocommerce div.product.vento-pdp{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
}

/* Gallery shell — hug the photo; no grey letterbox sides */
.vento-pdp .vento-pdp-gallery{
  position:static;
  top:auto;
  align-self:start;
  background:transparent;
  border:0;
  border-radius:18px;
  padding:0;
  overflow:hidden;
  box-shadow:none;
}
/* Optional sticky — only when customizer enables it */
body.pdp-gallery-sticky .vento-pdp .vento-pdp-gallery{
  position:sticky;
  top:calc(var(--vh-h, 74px) + 16px);
  z-index:2;
  max-height:calc(100vh - var(--vh-h, 74px) - 32px);
}
.vento-pdp .woocommerce-product-gallery{
  position:relative !important;
  top:auto !important;
  float:none !important;
  width:100% !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  border-radius:0 !important;
}
.vento-pdp .woocommerce-product-gallery__wrapper{
  display:block;
}
.vento-pdp .woocommerce-product-gallery__image,
.vento-pdp .flex-viewport{
  border-radius:16px;
  overflow:hidden;
  background:transparent;
  line-height:0;
}
.vento-pdp .woocommerce-product-gallery__image img,
.vento-pdp .flex-viewport .woocommerce-product-gallery__image img{
  width:100%;
  height:auto;
  max-height:none;
  display:block;
  object-fit:contain;
  object-position:center;
  background:transparent;
  border-radius:16px;
  margin:0 auto;
}
.vento-pdp .woocommerce-product-gallery__trigger{
  inset-inline-end:14px !important;
  inset-inline-start:auto !important;
  top:auto !important;
  bottom:14px !important;
  width:44px !important;
  height:44px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 8px 20px rgba(8,20,38,.14) !important;
  border:1px solid rgba(8,20,38,.08) !important;
  z-index:6 !important;
}

/* Thumbnails — clean grid (fallback modes) */
.vento-pdp .flex-control-thumbs,
.vento-pdp ol.flex-control-thumbs{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  margin:12px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
  width:100% !important;
  overflow:visible !important;
}
.vento-pdp .flex-control-thumbs.vento-thumbs-collapsed li.is-extra{
  display:none !important;
}
.vento-pdp .flex-control-thumbs.is-expanded{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
.vento-pdp-gallery-more{
  display:block;
  width:100%;
  margin-top:10px;
  min-height:42px;
  border:1px dashed rgba(25,111,147,.35);
  border-radius:12px;
  background:rgba(25,111,147,.06);
  color:var(--cyan,#196f93);
  font-weight:800;
  font-size:13px;
  cursor:pointer;
}
.vento-pdp-gallery-more:hover{
  background:rgba(25,111,147,.12);
}
/* Color swatches match studio FPD circles */
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatch,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-color-pill,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-pill{
  width:48px!important;height:48px!important;min-height:48px!important;
  border:3px solid #fff!important;
  box-shadow:0 0 0 1px rgba(8,20,38,.2)!important;
  transition:transform .15s, box-shadow .15s;
}
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatch.is-active,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-color-pill.is-active,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-pill.is-active{
  transform:scale(1.1);
  box-shadow:0 0 0 2px var(--cyan,#196f93)!important;
}
.vento-pdp .flex-control-thumbs li{
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.vento-pdp .flex-control-thumbs li img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:12px;
  border:2px solid transparent;
  opacity:.78;
  cursor:pointer;
  transition:border-color .2s, opacity .2s, transform .2s, box-shadow .2s;
  box-shadow:0 4px 12px rgba(8,20,38,.06);
  background:#fff;
}
.vento-pdp .flex-control-thumbs li img.flex-active,
.vento-pdp .flex-control-thumbs li img:hover{
  opacity:1;
  border-color:var(--cyan,#00a8c1);
  transform:scale(1.02);
  box-shadow:0 8px 18px rgba(0,168,193,.18);
}

/* Gallery layout modes */
body.pdp-gallery-stacked .vento-pdp .flex-control-thumbs{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
body.pdp-gallery-slider .vento-pdp .flex-control-thumbs{
  display:flex !important;
  flex-wrap:nowrap;
  overflow-x:auto;
  gap:8px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding-bottom:4px !important;
}
body.pdp-gallery-slider .vento-pdp .flex-control-thumbs li{
  flex:0 0 72px;
  scroll-snap-align:start;
}

/* ★ Desktop side thumbs — lay out INSIDE .woocommerce-product-gallery
   (Woo keeps ol.flex-control-thumbs as a sibling of .flex-viewport).
   Do not depend on JS moving thumbs into a rail. */
@media (min-width:981px){
  body.pdp-gallery-vertical .vento-pdp .vento-pdp-gallery,
  body.pdp-gallery-thumbs .vento-pdp .vento-pdp-gallery{
    display:block;
    overflow:visible;
  }
  body.pdp-gallery-vertical .vento-pdp .woocommerce-product-gallery,
  body.pdp-gallery-thumbs .vento-pdp .woocommerce-product-gallery{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 88px;
    gap:14px;
    align-items:start;
    min-width:0;
  }
  html[dir="rtl"] body.pdp-gallery-vertical .vento-pdp .woocommerce-product-gallery,
  html[dir="rtl"] body.pdp-gallery-thumbs .vento-pdp .woocommerce-product-gallery{
    grid-template-columns:88px minmax(0,1fr);
  }
  body.pdp-gallery-vertical .vento-pdp .flex-viewport,
  body.pdp-gallery-thumbs .vento-pdp .flex-viewport,
  body.pdp-gallery-vertical .vento-pdp .woocommerce-product-gallery__wrapper,
  body.pdp-gallery-thumbs .vento-pdp .woocommerce-product-gallery__wrapper{
    grid-column:1;
    grid-row:1;
    min-width:0;
  }
  html[dir="rtl"] body.pdp-gallery-vertical .vento-pdp .flex-viewport,
  html[dir="rtl"] body.pdp-gallery-thumbs .vento-pdp .flex-viewport,
  html[dir="rtl"] body.pdp-gallery-vertical .vento-pdp .woocommerce-product-gallery__wrapper,
  html[dir="rtl"] body.pdp-gallery-thumbs .vento-pdp .woocommerce-product-gallery__wrapper{
    grid-column:2;
  }
  body.pdp-gallery-vertical .vento-pdp .woocommerce-product-gallery__trigger,
  body.pdp-gallery-thumbs .vento-pdp .woocommerce-product-gallery__trigger{
    grid-column:1;
    z-index:6;
  }
  html[dir="rtl"] body.pdp-gallery-vertical .vento-pdp .woocommerce-product-gallery__trigger,
  html[dir="rtl"] body.pdp-gallery-thumbs .vento-pdp .woocommerce-product-gallery__trigger{
    grid-column:2;
  }
  /* Optional JS rail (legacy) */
  body.pdp-gallery-vertical .vento-pdp .vento-pdp-thumbs-rail,
  body.pdp-gallery-thumbs .vento-pdp .vento-pdp-thumbs-rail{
    grid-column:2;
    grid-row:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    min-height:0;
    max-height:min(620px, 72vh);
  }
  html[dir="rtl"] body.pdp-gallery-vertical .vento-pdp .vento-pdp-thumbs-rail,
  html[dir="rtl"] body.pdp-gallery-thumbs .vento-pdp .vento-pdp-thumbs-rail{
    grid-column:1;
  }
  body.pdp-gallery-vertical .vento-pdp .flex-control-thumbs,
  body.pdp-gallery-thumbs .vento-pdp .flex-control-thumbs,
  body.pdp-gallery-vertical .vento-pdp ol.flex-control-thumbs,
  body.pdp-gallery-thumbs .vento-pdp ol.flex-control-thumbs{
    display:flex !important;
    flex-direction:column;
    grid-column:2;
    grid-row:1;
    align-self:start;
    grid-template-columns:none !important;
    gap:10px;
    margin:0 !important;
    width:88px !important;
    max-width:88px !important;
    max-height:min(620px, 72vh);
    overflow-x:hidden !important;
    overflow-y:auto !important;
    scrollbar-width:thin;
    padding:2px !important;
  }
  html[dir="rtl"] body.pdp-gallery-vertical .vento-pdp .flex-control-thumbs,
  html[dir="rtl"] body.pdp-gallery-thumbs .vento-pdp .flex-control-thumbs,
  html[dir="rtl"] body.pdp-gallery-vertical .vento-pdp ol.flex-control-thumbs,
  html[dir="rtl"] body.pdp-gallery-thumbs .vento-pdp ol.flex-control-thumbs{
    grid-column:1;
  }
  body.pdp-gallery-vertical .vento-pdp .vento-pdp-thumbs-rail .flex-control-thumbs,
  body.pdp-gallery-thumbs .vento-pdp .vento-pdp-thumbs-rail .flex-control-thumbs{
    grid-column:auto;
    grid-row:auto;
    max-height:min(560px, 68vh);
  }
  body.pdp-gallery-vertical .vento-pdp .flex-control-thumbs li,
  body.pdp-gallery-thumbs .vento-pdp .flex-control-thumbs li{
    flex:0 0 auto;
    width:100% !important;
  }
  body.pdp-gallery-vertical .vento-pdp .flex-control-thumbs li img,
  body.pdp-gallery-thumbs .vento-pdp .flex-control-thumbs li img{
    width:72px !important;
    height:72px !important;
    max-width:100%;
    margin-inline:auto;
    display:block;
    object-fit:cover;
    border-radius:14px;
    box-shadow:0 6px 16px rgba(8,20,38,.1);
  }
  body.pdp-gallery-vertical .vento-pdp .woocommerce-product-gallery__image,
  body.pdp-gallery-thumbs .vento-pdp .woocommerce-product-gallery__image,
  body.pdp-gallery-vertical .vento-pdp .flex-viewport,
  body.pdp-gallery-thumbs .vento-pdp .flex-viewport{
    min-height:min(520px, 68vh);
    background:#f0f3f6;
  }
  body.pdp-gallery-vertical .vento-pdp .woocommerce-product-gallery__image img,
  body.pdp-gallery-thumbs .vento-pdp .woocommerce-product-gallery__image img,
  body.pdp-gallery-vertical .vento-pdp .flex-viewport .woocommerce-product-gallery__image img,
  body.pdp-gallery-thumbs .vento-pdp .flex-viewport .woocommerce-product-gallery__image img{
    width:100%;
    height:auto;
    max-height:min(620px, 72vh);
    min-height:0;
    object-fit:contain;
    object-position:center;
    background:#f0f3f6;
  }
  .vento-pdp-thumb-nav{
    width:36px;
    height:36px;
    border-radius:50%;
    border:1px solid rgba(8,20,38,.1);
    background:#fff;
    color:var(--midnight,#0b1526);
    display:grid;
    place-items:center;
    cursor:pointer;
    flex:0 0 auto;
    box-shadow:0 6px 14px rgba(8,20,38,.08);
    padding:0;
    transition:background .2s, color .2s, transform .2s;
  }
  .vento-pdp-thumb-nav:hover{
    background:var(--cyan,#00a8c1);
    color:#041018;
    border-color:transparent;
  }
  .vento-pdp-thumb-nav[disabled]{
    opacity:.35;
    pointer-events:none;
  }
  .vento-pdp-thumb-nav svg{width:16px;height:16px;display:block}
}

/* Summary — clean reference layout */
.vento-pdp .vento-pdp-summary{
  background:transparent;
  border:0;
  border-radius:0;
  padding:4px 0 0;
  box-shadow:none;
}
body:not(.pdp-summary-flat) .vento-pdp .vento-pdp-summary{
  background:#fff;
  border:1px solid rgba(8,20,38,.07);
  border-radius:22px;
  padding:clamp(20px,3vw,28px);
  box-shadow:0 10px 28px rgba(8,20,38,.05);
}
.vento-pdp div.summary{
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.vento-pdp .product_title{
  font-size:clamp(24px,3.2vw,34px) !important;
  line-height:1.2 !important;
  letter-spacing:-.03em;
  margin:0 0 10px !important;
  font-weight:900 !important;
  color:#1a1f2a !important;
}
.vento-pdp p.price,
.vento-pdp span.price{
  font-size:clamp(22px,2.6vw,28px) !important;
  font-weight:800 !important;
  color:#4eb6d0 !important;
  margin:0 0 14px !important;
}
.vento-pdp p.price del{
  color:#9aa3b2;
  font-size:.72em;
  font-weight:700;
}
.vento-pdp .woocommerce-product-details__short-description{
  font-size:13.5px;
  line-height:1.85;
  color:#8a94a3;
  margin:0 0 22px;
  padding:0 0 18px;
  border-bottom:1px solid rgba(8,20,38,.08);
}
.vento-pdp .woocommerce-product-details__short-description p{
  margin:0 0 6px;
  position:relative;
  padding-inline-start:1.1em;
}
.vento-pdp .woocommerce-product-details__short-description p:last-child{margin-bottom:0}
.vento-pdp .woocommerce-product-details__short-description p::before{
  content:"›";
  position:absolute;
  inset-inline-start:0;
  color:#b0b8c4;
  font-weight:700;
}

/* Variations */
.vento-pdp table.variations{
  width:100%;
  border:0 !important;
  margin:0 0 8px !important;
}
.vento-pdp table.variations tbody,
.vento-pdp table.variations tr{
  display:block;
  border:0 !important;
}
.vento-pdp table.variations tr{
  margin-bottom:10px;
}
.vento-pdp table.variations th.label,
.vento-pdp table.variations td.label,
.vento-pdp table.variations td.value{
  display:block;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  width:100% !important;
  text-align:inherit !important;
}
.vento-pdp table.variations th.label,
.vento-pdp table.variations td.label{
  margin-bottom:6px;
}
.vento-pdp table.variations th.label label,
.vento-pdp table.variations td.label label{
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:#2a3140 !important;
}
.vento-pdp table.variations th.label .vento-pdp-selected,
.vento-pdp table.variations td.label .vento-pdp-selected{
  color:#6b7585;
  font-weight:600;
}
.vento-pdp table.variations select{
  width:100%;
  min-height:48px;
  border:1px solid rgba(8,20,38,.12);
  border-radius:12px;
  padding:0 14px;
  background:#fff;
  font-size:14px;
  font-weight:600;
  color:#2a3140;
}
.vento-pdp table.variations .reset_variations{
  display:inline-block;
  margin-top:8px;
  font-size:12px;
  font-weight:700;
  color:#8a94a3;
}
body.pdp-swatches-on .vento-pdp .vento-variation-select-hidden,
.vento-pdp .vento-variation-select-hidden,
.vento-pdp table.variations select.vento-variation-select-hidden,
.vento-pdp td.value select.vento-variation-select-hidden{
  position:absolute !important;
  left:-9999px !important;
  right:auto !important;
  top:0 !important;
  width:1px !important;
  max-width:1px !important;
  min-width:0 !important;
  height:1px !important;
  max-height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
  display:block !important;
  opacity:0 !important;
  pointer-events:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  visibility:hidden !important;
  z-index:-1 !important;
}

/* Color text pills — hover tint + gallery preview */
.vento-pdp-color-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
}
.vento-pdp-color-pill{
  --swatch-color:#c8ced6;
  appearance:none;
  border:1.5px solid rgba(8,20,38,.12);
  background:#fff;
  color:#1a1f2a;
  min-height:42px;
  padding:0 16px;
  border-radius:12px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:background .22s, color .22s, border-color .22s, box-shadow .22s, transform .22s;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.vento-pdp-color-pill:hover,
.vento-pdp-color-pill:focus-visible{
  background:var(--swatch-color);
  border-color:transparent;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 10px 22px color-mix(in srgb, var(--swatch-color) 35%, transparent);
  outline:none;
}
.vento-pdp-color-pill.is-active{
  background:#2a3140;
  border-color:#2a3140;
  color:#fff;
  box-shadow:0 10px 22px rgba(20,30,45,.18);
}
.vento-pdp-color-pill.is-active:hover{
  background:var(--swatch-color);
  border-color:transparent;
}
.vento-pdp-color-pill.is-disabled{
  opacity:.4;
  cursor:not-allowed;
  transform:none !important;
}

/* Color swatches — studio-style circles */
.vento-pdp-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0;
  padding:4px 0 2px;
}
.vento-pdp-swatches.is-color-dots .vento-pdp-swatch,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  width:48px;
  height:48px;
  min-height:48px;
  padding:0;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--swatch, #ccc);
  box-shadow:0 0 0 1px rgba(8,20,38,.2);
  cursor:pointer;
  transition:transform .15s, box-shadow .15s;
}
.vento-pdp-swatches.is-color-dots .vento-pdp-swatch:hover,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatch:hover{
  transform:scale(1.08);
}
.vento-pdp-swatches.is-color-dots .vento-pdp-swatch.is-active,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatch.is-active{
  box-shadow:0 0 0 2px var(--cyan,#196f93);
  transform:scale(1.12);
}
.vento-pdp-swatches.is-color-dots .vento-pdp-swatch-dot{
  display:none;
}
.vento-pdp-swatch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  width:44px;
  height:44px;
  min-height:44px;
  padding:3px;
  border:2px solid transparent;
  border-radius:10px;
  background:transparent;
  cursor:pointer;
  transition:border-color .2s, box-shadow .2s, transform .2s;
}
.vento-pdp-swatch:hover{
  transform:translateY(-1px);
}
.vento-pdp-swatch.is-active{
  border-color:#2a3140;
  box-shadow:0 0 0 2px #fff inset;
}
.vento-pdp-swatch-dot{
  width:100%;
  height:100%;
  border-radius:7px;
  flex-shrink:0;
  border:1px solid rgba(0,0,0,.08);
  background:var(--swatch, #ccc);
  overflow:hidden;
  display:block;
}
.vento-pdp-swatch-dot img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
body.pdp-swatch-style-tile .vento-pdp-swatch .vento-pdp-swatch-label,
body.pdp-swatch-style-dot .vento-pdp-swatch .vento-pdp-swatch-label{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}
/* Legacy pill swatches */
body.pdp-swatch-style-pill .vento-pdp-swatch{
  width:auto;
  height:auto;
  min-height:44px;
  padding:6px 14px 6px 6px;
  border-radius:999px;
  border:2px solid rgba(8,20,38,.12);
  background:#fff;
  gap:8px;
}
body.pdp-swatch-style-pill .vento-pdp-swatch.is-active{
  border-color:var(--cyan,#00a8c1);
  box-shadow:0 0 0 3px rgba(0,168,193,.18);
}
body.pdp-swatch-style-pill .vento-pdp-swatch-dot{
  width:28px;
  height:28px;
  border-radius:50%;
}
body.pdp-swatch-style-pill .vento-pdp-swatch .vento-pdp-swatch-label{
  position:static;
  width:auto;
  height:auto;
  clip:auto;
  overflow:visible;
  font-size:12px;
  font-weight:700;
}
body.pdp-swatch-style-dot .vento-pdp-swatch,
.vento-pdp-swatches.is-color-dots .vento-pdp-swatch{
  width:46px;
  height:46px;
  border-radius:50%;
  padding:3px;
  position:relative;
}
body.pdp-swatch-style-dot .vento-pdp-swatch-dot,
.vento-pdp-swatches.is-color-dots .vento-pdp-swatch-dot{
  border-radius:50%;
  background:var(--swatch, #ccc);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.vento-pdp-swatches.is-color-dots .vento-pdp-swatch.is-active{
  border-color:var(--cyan,#00a8c1);
  box-shadow:0 0 0 2px rgba(0,168,193,.25);
}
.vento-pdp-swatches.is-color-dots .vento-pdp-swatch-label{
  position:absolute;
  width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);
}

/* Open attrs: tip rows / locks unused (kept hidden for legacy markup) */
.vento-pdp form.variations_form.vento-attrs-open tr.is-locked{
  opacity:1;
  pointer-events:auto;
  filter:none;
}
.vento-pdp-material-tip,
.vento-pdp tr.vento-pdp-material-tip-row,
.vento-pdp tr.vento-pdp-color-tip-row{
  display:none!important;
}
/* Price lives under attributes */
.vento-pdp .vento-price-after-attrs,
.vento-pdp p.price.vento-pdp-base-price.vento-price-after-attrs,
.vento-pdp .woocommerce-variation-price.vento-price-after-attrs{
  display:block;
  margin:14px 0 10px;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg,#f7fafc,#eef3f6);
  font-size:clamp(1.15rem,3.6vw,1.45rem)!important;
  font-weight:950!important;
  color:var(--midnight,#0A1220)!important;
  line-height:1.3;
  transition:background .2s ease, transform .15s ease;
}
.vento-pdp .vento-price-after-attrs.is-live-preview{
  background:linear-gradient(180deg,#e8f7fa,#dff1f5);
}
.vento-pdp-summary.is-attrs-complete .vento-pdp-base-price{
  display:none!important;
}
.vento-pdp-summary.is-attrs-pending .woocommerce-variation-price,
.vento-pdp form.variations_form:not(.is-attrs-complete) .woocommerce-variation-price{
  display:none!important;
}
/* Hide original top-of-summary price once relocated */
.vento-pdp-summary > p.price:not(.vento-price-after-attrs){
  display:none!important;
}
.vento-pdp form.cart .single_add_to_cart_button.is-vento-locked,
.vento-pdp form.variations_form:not(.is-attrs-complete) .single_add_to_cart_button{
  opacity:.45;
  pointer-events:none;
  filter:grayscale(.2);
  cursor:not-allowed;
}
.vento-pdp p.price .from,
.vento-pdp span.price .from{
  display:none!important;
}
.vento-pdp-color-sep{color:#8a93a3;font-weight:700}
.vento-pdp-selected{color:#546074;font-weight:700}
.vento-pdp-oos{
  margin:0 0 12px;
  padding:10px 14px;
  border-radius:12px;
  background:rgba(198,40,40,.08);
  color:#c62828;
  font-size:14px;
  font-weight:900;
  border:1px solid rgba(198,40,40,.18);
}
.vento-pdp-summary.is-oos .woocommerce-variation-price,
.vento-pdp-summary.is-oos .price .amount{display:none!important}
.vento-pdp .vento-pdp-swatch.is-disabled,
.vento-pdp .vento-pdp-pill.is-disabled,
.vento-pdp .vento-pdp-color-pill.is-disabled{
  opacity:.42;
  cursor:not-allowed;
  filter:grayscale(.55);
  pointer-events:none;
  position:relative;
}
.vento-pdp tr[data-vento-attr="size"] .vento-pdp-pill.is-disabled,
.vento-pdp tr[data-vento-attr="other"] .vento-pdp-pill.is-disabled,
.vento-pdp .vento-pdp-attr-pills .vento-pdp-pill.is-disabled{
  text-decoration:line-through;
  color:rgba(8,20,38,.45)!important;
}
.vento-pdp tr[data-vento-attr="size"] .vento-pdp-pill.is-disabled::after,
.vento-pdp tr[data-vento-attr="other"] .vento-pdp-pill.is-disabled::after{
  content:"✕";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:14px;
  font-weight:900;
  color:rgba(179,45,46,.85);
  text-decoration:none;
  background:rgba(255,255,255,.35);
  border-radius:inherit;
}
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatch.is-disabled,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-pill.is-disabled{
  text-decoration:none;
}
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatch.is-disabled::after,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-pill.is-disabled::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:50%;
  height:2px;
  background:rgba(179,45,46,.75);
  transform:rotate(-32deg);
  z-index:2;
  border-radius:2px;
}
.vento-pdp form.variations_form.is-stock-scanning tr[data-vento-attr="color"] .vento-pdp-swatches,
.vento-pdp form.variations_form.is-stock-scanning tr[data-vento-attr="size"] .vento-pdp-attr-pills{
  opacity:.72;
}
/* Colors = solid filled circles (studio-style) */
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatches,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-color-pills,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-attr-pills{
  display:flex; flex-wrap:wrap; gap:12px; align-items:center;
}
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatch,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-color-pill,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-pill{
  width:48px!important; height:48px!important; min-width:48px!important; min-height:48px!important;
  padding:0!important; border-radius:50%!important;
  font-size:0!important; color:transparent!important; line-height:0!important;
  background:var(--swatch-color, var(--swatch, #c8ced6))!important;
  border:3px solid #fff!important;
  box-shadow:0 0 0 1px rgba(8,20,38,.22)!important;
  display:inline-grid!important; place-items:center!important;
  overflow:hidden;
}
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatch-dot{
  position:absolute; inset:0; border-radius:50%;
  background:var(--swatch-color, var(--swatch, #c8ced6))!important;
  border:0!important; box-shadow:none!important;
}
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-swatch.is-active,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-color-pill.is-active,
.vento-pdp tr[data-vento-attr="color"] .vento-pdp-pill.is-active{
  transform:scale(1.1);
  box-shadow:0 0 0 2px var(--cyan,#196f93)!important;
}
.vento-line{display:flex;align-items:center;gap:10px}
.vento-line-thumb{width:64px;height:64px;object-fit:contain;border-radius:10px;background:#f4f6f8;flex:0 0 auto}
@media(min-width:901px){
  body.woocommerce-cart td.product-thumbnail{display:table-cell!important}
  body.woocommerce-cart td.product-thumbnail img{width:88px;height:88px;object-fit:contain;background:#f4f6f8;border-radius:12px}
}
.vento-pdp-attr-pills.is-material .vento-pdp-pill{
  min-width:108px;
  justify-content:center;
}

/* Size — circles; other attrs — soft pills */
.vento-pdp-attr-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.vento-pdp-pill{
  position:relative;
  min-height:46px;
  min-width:46px;
  padding:0 14px;
  border:1.5px solid rgba(8,20,38,.16);
  border-radius:12px;
  background:#fff;
  font-size:13px;
  font-weight:700;
  color:#2a3140;
  cursor:pointer;
  transition:border-color .2s, background .2s, color .2s, box-shadow .2s;
}
.vento-pdp-attr-pills.is-size .vento-pdp-pill{
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px;
  padding:0;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
}
.vento-pdp-pill:hover{
  border-color:#2a3140;
}
.vento-pdp-pill.is-active{
  background:#2a3140;
  border-color:#2a3140;
  color:#fff;
  box-shadow:0 8px 18px rgba(20,30,45,.16);
}
.vento-pdp-pill.is-disabled{
  opacity:.45;
  cursor:not-allowed;
  color:#9aa3b2;
}
.vento-pdp-attr-pills.is-size .vento-pdp-pill.is-disabled::after{
  content:"";
  position:absolute;
  inset:50% auto auto 8%;
  right:8%;
  height:1.5px;
  background:rgba(120,130,145,.75);
  transform:rotate(-38deg);
  transform-origin:center;
}

/* Cart row — qty box + gold ATC */
.vento-pdp form.cart,
.vento-pdp form.variations_form .woocommerce-variation-add-to-cart{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:12px;
  margin:8px 0 0 !important;
  padding-top:18px;
  border-top:0;
}
.vento-pdp .quantity{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:0;
  border:1px solid rgba(8,20,38,.1);
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#f7f9fb 100%);
  min-height:52px;
  box-shadow:0 6px 18px rgba(8,20,38,.06);
}
.vento-pdp .quantity label,
.vento-pdp .quantity .screen-reader-text{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.vento-pdp .quantity .qty{
  min-height:52px !important;
  min-width:56px !important;
  width:56px !important;
  text-align:center;
  font-size:17px;
  font-weight:900;
  color:#0b1526;
  border:0 !important;
  border-radius:0 !important;
  border-inline:1px solid rgba(8,20,38,.08) !important;
  background:transparent !important;
  margin:0 !important;
  box-shadow:none !important;
  -moz-appearance:textfield;
}
.vento-pdp .quantity .qty::-webkit-outer-spin-button,
.vento-pdp .quantity .qty::-webkit-inner-spin-button{
  -webkit-appearance:none; margin:0;
}
.vento-pdp-qty-btn{
  width:48px;
  height:52px;
  border:0;
  background:transparent;
  color:#1a2436;
  font-size:22px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition:background .2s, color .2s;
}
.vento-pdp-qty-btn:hover{
  background:rgba(25,111,147,.08);
  color:var(--cyan,#196f93);
}
.vento-pdp-qty-btn:active{
  background:rgba(25,111,147,.14);
}
.vento-pdp form.cart .single_add_to_cart_button,
.vento-pdp form.cart .button{
  flex:1 1 200px;
  min-height:50px !important;
  border-radius:10px !important;
  font-size:15px !important;
  font-weight:800 !important;
  letter-spacing:.01em;
  background:#c4a574 !important;
  border:0 !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(180,140,80,.22);
}
.vento-pdp form.cart .button:hover{
  background:#b8945f !important;
  color:#fff !important;
}
.vento-pdp .product_meta{
  font-size:13px;
  color:#8a94a3;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid rgba(8,20,38,.08);
  line-height:1.85;
}
.vento-pdp .product_meta > span{
  display:block;
}
.vento-pdp .product_meta a{
  color:#6b7585;
  text-decoration:none;
}
.vento-pdp .product_meta a:hover{
  color:var(--cyan,#00a8c1);
}

/* Size guide trigger */
.vento-pdp table.variations th.label,
.vento-pdp table.variations td.label{
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.vento-size-guide-row{margin:0 0 14px}
.vento-size-guide-html{overflow:auto}
.vento-size-table{
  width:100%;border-collapse:collapse;font-size:13px;margin:0 0 12px
}
.vento-size-table th,.vento-size-table td{
  padding:10px 12px;border-bottom:1px solid rgba(8,20,38,.08);text-align:center
}
.vento-size-table th{background:rgba(8,20,38,.04);font-weight:900;color:var(--midnight)}
.vento-size-note{margin:0;font-size:12px;color:var(--muted);line-height:1.55}
.vento-size-guide-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:0;
  background:transparent;
  color:var(--cyan,#00a8c1);
  font-size:12.5px;
  font-weight:800;
  cursor:pointer;
  padding:4px 0;
  margin-inline-start:auto;
}
.vento-size-guide-btn:hover{color:#0b1526}
.vento-size-guide-btn svg{flex:0 0 auto}

/* Design CTA */
.vento-pdp-design-cta{
  display:flex;
  align-items:center;
  gap:12px;
  margin:18px 0 0;
  padding:14px 16px;
  border-radius:14px;
  text-decoration:none;
  color:#0b1526;
  background:linear-gradient(135deg, rgba(0,168,193,.12), rgba(196,165,116,.14));
  border:1px solid rgba(0,168,193,.2);
  box-shadow:0 10px 24px rgba(8,40,60,.06);
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.vento-pdp-design-cta:hover{
  transform:translateY(-2px);
  border-color:rgba(0,168,193,.35);
  box-shadow:0 16px 32px rgba(0,140,170,.12);
  color:#0b1526;
}
.vento-pdp-design-cta__icon{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  background:#fff;color:var(--cyan,#00a8c1);
  font-size:16px;flex:0 0 auto;
  box-shadow:0 6px 14px rgba(0,168,193,.16);
}
.vento-pdp-design-cta__text{
  flex:1 1 auto;
  font-size:13.5px;
  font-weight:850;
  line-height:1.45;
}
.vento-pdp-design-cta__go{font-size:16px;opacity:.7}

/* Modal */
body.vento-modal-open{overflow:hidden}
.vento-modal{
  position:fixed;inset:0;z-index:9999;
  display:grid;place-items:center;
  padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s, visibility .25s;
}
.vento-modal.is-open{
  opacity:1;visibility:visible;pointer-events:auto;
}
.vento-modal__backdrop{
  position:absolute;inset:0;
  background:rgba(6,16,31,.55);
  backdrop-filter:blur(6px);
}
.vento-modal__panel{
  position:relative;z-index:1;
  width:min(720px, 100%);
  max-height:min(88vh, 860px);
  display:flex;flex-direction:column;
  background:#fff;
  border-radius:20px;
  box-shadow:0 30px 80px rgba(6,16,31,.28);
  overflow:hidden;
}
.vento-modal__head{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:14px 16px;
  border-bottom:1px solid rgba(8,20,38,.08);
}
.vento-modal__head h3{
  margin:0;font-size:16px;font-weight:900;color:#0b1526;
}
.vento-modal__close{
  width:40px;height:40px;border:0;border-radius:50%;
  background:#f1f4f7;color:#0b1526;font-size:22px;cursor:pointer;
}
.vento-modal__body{
  overflow:auto;-webkit-overflow-scrolling:touch;
  padding:14px;
}
.vento-size-guide-layout{
  display:grid;
  gap:16px;
}
@media (min-width:640px){
  .vento-size-guide-layout{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    align-items:start;
  }
}
.vento-size-guide-media{display:grid;gap:12px}
.vento-size-guide-fig{
  margin:0;border-radius:16px;overflow:hidden;
  background:
    repeating-conic-gradient(#eef1f4 0% 25%, #f8fafb 0% 50%) 50% / 14px 14px;
  box-shadow:0 8px 22px rgba(8,20,38,.06);
  padding:12px;
}
.vento-size-guide-fig img{
  display:block;width:100%;height:auto;margin:0 auto;max-width:280px;
}

/* Tabs — stay below gallery, never overlapped */
.vento-pdp .woocommerce-tabs{
  grid-column:1 / -1;
  position:relative;
  z-index:1;
  margin-top:8px;
  clear:both;
  background:var(--soft-white);
  border:1px solid rgba(8,20,38,.08);
  border-radius:22px;
  padding:8px 24px 28px;
}
.vento-pdp .woocommerce-tabs ul.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  border-bottom:1px solid rgba(8,20,38,.1);
  margin-bottom:20px !important;
}
.vento-pdp .woocommerce-tabs ul.tabs li a{
  padding:12px 16px;
  font-weight:800;
  font-size:13px;
}

/* Description collapse + show more */
.vento-pdp .woocommerce-tabs.is-tabs-collapsed .vento-tabs-collapse-inner{
  max-height:200px;
  overflow:hidden;
  position:relative;
}
.vento-pdp .woocommerce-tabs.is-tabs-collapsed .vento-tabs-collapse-inner::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:88px;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--soft-white,#fff) 78%);
  z-index:1;
}
.vento-pdp .woocommerce-tabs.is-tabs-expanded .vento-tabs-collapse-inner{
  max-height:none;
  overflow:visible;
}
.vento-pdp .woocommerce-tabs.is-tabs-expanded .vento-tabs-collapse-inner::after{
  display:none;
}
.vento-tabs-more-btn{
  appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:16px auto 4px;
  padding:11px 22px;
  border:1px solid rgba(8,20,38,.12);
  border-radius:999px;
  background:#fff;
  color:#1a2330;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  position:relative;
  z-index:2;
  transition:background .2s, border-color .2s, transform .2s, box-shadow .2s;
  box-shadow:0 4px 14px rgba(8,20,38,.05);
}
.vento-tabs-more-btn:hover,
.vento-tabs-more-btn:focus-visible{
  border-color:rgba(0,168,193,.45);
  color:#0b5160;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,168,193,.12);
}
.vento-tabs-more-btn svg{
  transition:transform .25s ease;
}
.vento-tabs-more-btn.is-open svg{
  transform:rotate(180deg);
}
.vento-pdp .woocommerce-tabs:not(.is-tabs-collapsible) .vento-tabs-more-btn{
  display:none;
}

/* Related — use theme cards */
.vento-pdp .related.products,
.vento-pdp .upsells.products{
  grid-column:1 / -1;
}
.vento-pdp .related.products > h2,
.vento-pdp .upsells.products > h2{
  font-size:clamp(24px,4vw,36px);
  font-weight:950;
  letter-spacing:-.03em;
  margin-bottom:20px;
}

/* Breadcrumb spacing */
.vento-pdp-wrap{
  width:min(var(--vento-max,var(--max)),calc(100% - (var(--pad-d,20px) * 2)));
  margin-inline:auto;
}
@media(max-width:980px){
  .vento-pdp-wrap{
    width:min(var(--vento-max,var(--max)),calc(100% - (var(--pad-m,16px) * 2)));
  }
}

@media (max-width:980px){
  body.vento-woo.single-product .woocommerce div.product.vento-pdp{
    grid-template-columns:1fr;
    gap:14px;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .vento-pdp-wrap{
    width:100%!important;
    max-width:100%!important;
    padding-inline:0!important;
    margin:0!important;
    box-sizing:border-box;
  }
  .vento-pdp .vento-pdp-gallery{
    position:static;
    padding:0;
    border-radius:14px;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    overflow:hidden;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .vento-pdp .woocommerce-product-gallery,
  .vento-pdp .woocommerce-product-gallery__wrapper,
  .vento-pdp .flex-viewport{
    width:100%!important;
    max-width:100%!important;
    background:transparent!important;
  }
  .vento-pdp .woocommerce-product-gallery__image,
  .vento-pdp .flex-viewport{
    background:transparent!important;
  }
  .vento-pdp .woocommerce-product-gallery__image img,
  .vento-pdp .flex-viewport .woocommerce-product-gallery__image img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    background:transparent!important;
    margin-inline:auto;
  }
  .vento-pdp .flex-control-thumbs{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:6px;
  }
  body.pdp-gallery-vertical .vento-pdp .vento-pdp-gallery,
  body.pdp-gallery-thumbs .vento-pdp .vento-pdp-gallery{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:1fr !important;
  }
  body.pdp-gallery-vertical .vento-pdp .vento-pdp-thumbs-rail,
  body.pdp-gallery-thumbs .vento-pdp .vento-pdp-thumbs-rail{
    display:block!important;
    width:100%;
    order:2;
  }
  body.pdp-gallery-vertical .vento-pdp .vento-pdp-thumb-nav,
  body.pdp-gallery-thumbs .vento-pdp .vento-pdp-thumb-nav{
    display:none !important;
  }
  body.pdp-gallery-vertical .vento-pdp .flex-control-thumbs,
  body.pdp-gallery-thumbs .vento-pdp .flex-control-thumbs{
    display:flex !important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    max-height:none;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    margin-top:10px !important;
    padding-bottom:4px!important;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
  }
  body.pdp-gallery-vertical .vento-pdp .flex-control-thumbs li,
  body.pdp-gallery-thumbs .vento-pdp .flex-control-thumbs li{
    flex:0 0 68px!important;
    width:68px!important;
    scroll-snap-align:start;
  }
  body.pdp-gallery-vertical .vento-pdp .flex-control-thumbs li img,
  body.pdp-gallery-thumbs .vento-pdp .flex-control-thumbs li img{
    width:68px!important;
    height:68px!important;
    object-fit:contain!important;
    background:#f0f3f6;
  }
  body.pdp-gallery-vertical .vento-pdp .woocommerce-product-gallery__image,
  body.pdp-gallery-thumbs .vento-pdp .woocommerce-product-gallery__image,
  body.pdp-gallery-vertical .vento-pdp .flex-viewport,
  body.pdp-gallery-thumbs .vento-pdp .flex-viewport{
    min-height:0 !important;
    order:1;
  }
  body.pdp-gallery-vertical .vento-pdp .woocommerce-product-gallery__image img,
  body.pdp-gallery-thumbs .vento-pdp .woocommerce-product-gallery__image img{
    min-height:0 !important;
  }
  .vento-pdp .product_title{
    font-size:clamp(1.25rem,5.5vw,1.6rem)!important;
  }
  .vento-pdp p.price,
  .vento-pdp span.price{
    font-size:1.15rem!important;
    margin-bottom:10px!important;
  }
  .vento-pdp .vento-pdp-summary{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  body:not(.pdp-summary-flat) .vento-pdp .vento-pdp-summary{
    padding:18px 16px;
    border-radius:18px;
  }
  body.pdp-summary-flat .vento-pdp .vento-pdp-summary{
    padding:0;
  }
  .vento-pdp form.cart{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:stretch;
  }
  .vento-pdp form.cart .button{
    flex:1 1 160px;
    width:auto;
  }
  .vento-pdp .woocommerce-tabs{
    position:relative;
    z-index:1;
  }
  .vento-pdp-color-pills{
    gap:7px;
  }
  .vento-pdp-color-pill{
    min-height:40px;
    padding:0 12px;
    font-size:12.5px;
    border-radius:11px;
  }
  .vento-pdp-attr-pills.is-size{
    gap:8px;
  }
  .vento-pdp-attr-pills.is-size .vento-pdp-pill{
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    font-size:12px;
  }
  .vento-pdp table.variations tr{
    margin-bottom:8px;
  }
  .vento-pdp table.variations th.label,
  .vento-pdp table.variations td.label{
    gap:6px;
    margin-bottom:4px;
  }
  .vento-pdp .woocommerce-tabs{
    padding:6px 14px 18px;
  }
  .vento-tabs-more-btn{
    width:100%;
    max-width:280px;
  }
  .vento-pdp .quantity{
    min-height:48px;
    border-radius:12px;
  }
  .vento-pdp .quantity .qty{
    min-height:48px!important;
    min-width:48px!important;
    width:48px!important;
    font-size:16px;
  }
  .vento-pdp-qty-btn{
    width:44px;
    height:48px;
    font-size:20px;
  }
  .vento-size-guide-btn{
    width:100%;
    justify-content:flex-start;
    margin-inline-start:0;
    margin-top:2px;
  }
  .vento-pdp-design-cta{
    padding:12px 14px;
  }
  .vento-pdp-design-cta__text{font-size:12.5px}
  .vento-modal__panel{
    width:100%;
    max-height:92vh;
    border-radius:18px 18px 0 0;
    align-self:end;
  }
  .vento-modal{
    place-items:end center;
    padding:0;
  }
}

@media (max-width:480px){
  .vento-pdp .flex-control-thumbs{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}
