.pupvibes-product-cta{clear:both;width:100%;margin:2.75rem 0 1rem;padding:1.5rem 0 0;border-top:1px solid #ebe4d8;text-align:center}.pupvibes-customize-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.5rem;border-radius:12px;background:#FC8501!important;border-color:#FC8501!important;color:#fff!important;font-weight:700;box-shadow:none!important}.pupvibes-customize-btn:hover,.pupvibes-customize-btn:focus{background:#e97800!important;border-color:#e97800!important;color:#fff!important}.pupvibes-cart-box,.pupvibes-order-box{margin:1.5rem 0;padding:1rem;border:1px solid #ddd;border-radius:12px}.pupvibes-cart-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-top:1px solid #eee}.pupvibes-cart-item:first-of-type{border-top:0}.pupvibes-cart-item img{width:120px;height:120px;object-fit:contain;background:#fff;border-radius:8px}
.pupvibes-composite-preview{position:relative;width:180px;max-width:35vw;overflow:hidden;border-radius:10px;background:#f5f5f5;flex:0 0 auto}.pupvibes-composite-mockup{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;background:transparent!important;border-radius:0!important}.pupvibes-composite-design{position:absolute!important;height:auto!important;object-fit:contain!important;background:transparent!important;border-radius:0!important;max-width:none!important;transform-origin:center center}.pupvibes-plain-preview{width:120px!important;height:120px!important;object-fit:contain}.pupvibes-production-note{font-size:11px;color:#777;margin:4px 0 8px}@media(max-width:600px){.pupvibes-cart-item{flex-direction:column}.pupvibes-composite-preview{width:100%;max-width:260px}}

/* v0.4.1 — compact cart-line personalization + same-design product previews */
.pvs-cart-line-details{margin-top:.55rem;display:grid;gap:.5rem}
.pvs-cart-line-customization{display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem;background:#fffaf0;border:1px solid rgba(18,18,18,.08);border-radius:10px;max-width:100%}
.pvs-cart-line-preview{flex:0 0 58px}.pvs-cart-mini-composite{position:relative;width:58px;height:58px;overflow:hidden;border-radius:8px;background:#f4f4f4}.pvs-cart-mini-mockup{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}.pvs-cart-mini-design{position:absolute!important;height:auto!important;max-width:none!important;transform-origin:center center}.pvs-cart-mini-plain{display:block;width:58px;height:58px;object-fit:contain;border-radius:8px;background:#f4f4f4}
.pvs-cart-line-info{min-width:0;flex:1}.pvs-cart-line-title{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#121212;margin-bottom:.25rem}.pvs-cart-line-title span{font-size:.68rem;padding:.08rem .35rem;border-radius:99px;background:#121212;color:#fff}.pvs-cart-line-summary{display:flex;flex-wrap:wrap;gap:.28rem}.pvs-summary-chip{display:inline-flex;align-items:center;gap:.2rem;max-width:100%;font-size:.7rem;line-height:1.2;padding:.2rem .4rem;border-radius:99px;background:#fff;border:1px solid rgba(18,18,18,.1);color:#444}.pvs-summary-chip b{font-weight:600;color:#121212}.pvs-summary-price{font-weight:700;color:#121212}.pvs-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--pvs-dot);border:1px solid rgba(18,18,18,.2);flex:0 0 auto}.pvs-cart-edit{display:inline-block;margin-top:.28rem;font-size:.72rem;font-weight:700;color:#fc8501;text-decoration:none}
.pvs-related-designs{margin:1.4rem 0 1rem;padding:1rem;border-radius:14px;background:#fffaf0;border:1px solid rgba(18,18,18,.08)}.pvs-related-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:.8rem}.pvs-related-head h3{font-size:1rem;margin:.15rem 0 0;color:#121212}.pvs-related-head p{font-size:.78rem;max-width:320px;margin:0;color:#666}.pvs-related-kicker{font-size:.64rem;letter-spacing:.12em;font-weight:800;color:#fc8501}.pvs-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem}.pvs-related-card{overflow:hidden;border-radius:12px;background:#fff;border:1px solid rgba(18,18,18,.09)}.pvs-related-preview{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#f5f5f5}.pvs-related-mockup{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}.pvs-related-svg{position:absolute;transform-origin:center center;pointer-events:none}.pvs-related-svg svg{display:block;width:100%;height:auto;overflow:visible}.pvs-related-body{padding:.6rem}.pvs-related-body>strong{display:block;font-size:.8rem;color:#121212;margin-bottom:.45rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvs-related-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pvs-related-actions form{margin:0}.pvs-related-actions .btn{font-size:.7rem;padding:.42rem .6rem}.pvs-related-customize{font-size:.7rem;font-weight:700;color:#121212;text-decoration:underline}
@media(max-width:700px){.pvs-related-head{display:block}.pvs-related-head p{margin-top:.35rem}.pvs-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pvs-cart-line-customization{align-items:flex-start}.pvs-cart-line-preview{flex-basis:50px}.pvs-cart-mini-composite,.pvs-cart-mini-plain{width:50px;height:50px}}

/* v0.4.7 — CTA product-page fallback moved to the end of the actual product page. */
body#product .pupvibes-product-cta{display:none;clear:both;width:100%;margin:2.5rem 0 1rem;padding:1.5rem 0;border-top:1px solid #ebe4d8;text-align:center}
body#product .pupvibes-product-cta.pvs-cta-ready{display:block}


/* v0.4.8 — customizable product: CTA replaces the native Add to cart button. */
body#product .pupvibes-product-cta{display:block;width:auto;margin:0;padding:0;border:0;text-align:initial}
body#product .product-add-to-cart .pupvibes-customize-btn,
body#product .product-actions .pupvibes-customize-btn{display:inline-flex!important;min-height:44px;margin:0;padding:.75rem 1.35rem;border-radius:999px;background:#FC8501!important;border:1px solid #FC8501!important;color:#121212!important;font-weight:700;text-transform:uppercase;letter-spacing:.01em;text-decoration:none!important;box-shadow:none!important}
body#product .product-add-to-cart .pupvibes-customize-btn:hover,
body#product .product-actions .pupvibes-customize-btn:hover{background:#e97800!important;border-color:#e97800!important;color:#121212!important}
body#product [data-pvs-native-cart="1"]{display:none!important}
@media(max-width:575px){body#product .product-add-to-cart .pupvibes-customize-btn,body#product .product-actions .pupvibes-customize-btn{width:100%;justify-content:center}}

.pvs-cart-variant{margin:.12rem 0 .32rem;font-size:.7rem;color:#555}.pvs-cart-variant b{color:#121212}.pvs-summary-font{font-style:normal;color:#777;font-size:.64rem;margin-left:.15rem}.pvs-summary-font:before{content:'· ';}

/* v0.5.3 - cart personalization: full-width, compact and responsive */
.pvs-cart-line-details{
  width:100%;
  max-width:none;
  margin:.45rem 0 0;
  display:grid;
  gap:.35rem;
}
.pvs-cart-line-customization{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  column-gap:.65rem;
  row-gap:.2rem;
  padding:.45rem .55rem;
}
.pvs-cart-line-preview{flex:initial; width:52px; min-width:52px}
.pvs-cart-mini-composite,.pvs-cart-mini-plain{width:52px;height:52px}
.pvs-cart-line-info{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.28rem .45rem;
  min-width:0;
}
.pvs-cart-line-title{margin:0;white-space:nowrap}
.pvs-cart-variant{margin:0;white-space:nowrap}
.pvs-cart-line-summary{
  flex:1 1 320px;
  display:flex;
  flex-wrap:wrap;
  gap:.22rem;
  min-width:0;
}
.pvs-summary-chip{font-size:.68rem;padding:.16rem .36rem}
.pvs-cart-edit{margin:0;white-space:nowrap;align-self:center}
@media (max-width:760px){
  .pvs-cart-line-customization{grid-template-columns:46px minmax(0,1fr);align-items:flex-start}
  .pvs-cart-line-preview{width:46px;min-width:46px}
  .pvs-cart-mini-composite,.pvs-cart-mini-plain{width:46px;height:46px}
  .pvs-cart-line-info{align-items:flex-start}
  .pvs-cart-line-summary{flex-basis:100%}
  .pvs-cart-edit{grid-column:2}
}

/* v0.5.6 — cart personalization card uses the full useful width of the cart row */
.pvs-cart-line-details{
  width:min(560px, calc(100vw - 64px));
  max-width:560px;
}
.pvs-cart-line-customization{
  width:100%;
  min-width:0;
  max-width:none;
}
@media (min-width:761px){
  .pvs-cart-line-details{
    min-width:420px;
  }
}
@media (max-width:760px){
  .pvs-cart-line-details{
    width:100%;
    min-width:0;
    max-width:100%;
  }
}


/* v0.5.7 — personalized product image replaces catalog thumbnail in cart */
body#cart .pvs-cart-original-product-image{
  display:none!important;
}
body#cart .pvs-cart-native-designed-image{
  position:relative;
  display:block;
  width:100%;
  max-width:140px;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:4px;
  background:#f5f5f5;
}
body#cart .pvs-cart-native-designed-image .pvs-cart-mini-composite,
body#cart .pvs-cart-native-designed-image .pvs-cart-mini-plain{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  border-radius:0!important;
}
body#cart .pvs-cart-native-designed-image .pvs-cart-mini-mockup{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body#cart .pvs-cart-native-designed-image .pvs-cart-mini-design{
  max-width:none!important;
  height:auto!important;
}
@media(max-width:575px){
  body#cart .pvs-cart-native-designed-image{max-width:110px}
}


/* v0.6.95 — exact Studio composite used as the cart's native-looking product photo. */
.pvs-cart-mini-photo{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain!important;border-radius:8px;background:#f4f4f4}
body#cart .pvs-cart-native-designed-image .pvs-cart-mini-photo{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;background:#fff}


/* v0.6.113 — isolated quantity control for exact PupVibes customized cart lines. */
body#cart .pvs-native-qty-hidden{display:none!important}
body#cart .pvs-cart-qty-control{
  display:inline-flex;
  align-items:center;
  justify-self:end;
  border:1px solid rgba(18,18,18,.14);
  border-radius:999px;
  overflow:hidden;
  background:#fff;
  min-height:36px;
}
body#cart .pvs-cart-qty-control button{
  width:34px;
  height:34px;
  padding:0;
  border:0;
  background:#fff;
  color:#121212;
  font-size:18px;
  line-height:1;
  font-weight:600;
  cursor:pointer;
}
body#cart .pvs-cart-qty-control button:hover{background:#f7f4ee}
body#cart .pvs-cart-qty-control button:disabled{opacity:.45;cursor:wait}
body#cart .pvs-cart-qty-input{
  width:38px!important;
  min-width:38px!important;
  height:34px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-left:1px solid rgba(18,18,18,.09)!important;
  border-right:1px solid rgba(18,18,18,.09)!important;
  border-radius:0!important;
  background:#fff!important;
  color:#121212!important;
  box-shadow:none!important;
  text-align:center!important;
  font-size:13px!important;
  font-weight:700!important;
  pointer-events:none;
}
@media(max-width:760px){
  body#cart .pvs-cart-qty-control{grid-column:2;justify-self:start;margin-top:.25rem}
}

/* v0.6.117 — native theme quantity widget is replaced only on a managed PupVibes cart line. */

/* v0.6.121 — personalized visual replaces native product thumbnail in cart/checkout. */
.pvs-native-designed-photo{
  object-fit:contain!important;
  object-position:center!important;
}


/* v20261010 — make customize CTA visually match native add-to-cart button */
body#product .product-add-to-cart .pupvibes-customize-btn,
body#product .product__add-to-cart .pupvibes-customize-btn,
body#product .product-actions .pupvibes-customize-btn{
  display:inline-flex!important;
  width:100%!important;
  min-height:48px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:.95rem 1.5rem!important;
  border-radius:18px!important;
  border:1px solid #FC8501!important;
  background:#FC8501!important;
  color:#121212!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-family:inherit!important;
  font-style:normal!important;
  font-weight:500!important;
  font-size:1rem!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-align:center!important;
  white-space:normal!important;
}
body#product .product-add-to-cart .pupvibes-customize-btn:hover,
body#product .product-add-to-cart .pupvibes-customize-btn:focus,
body#product .product__add-to-cart .pupvibes-customize-btn:hover,
body#product .product__add-to-cart .pupvibes-customize-btn:focus,
body#product .product-actions .pupvibes-customize-btn:hover,
body#product .product-actions .pupvibes-customize-btn:focus{
  background:#FC8501!important;
  border-color:#FC8501!important;
  color:#121212!important;
}
body#product .pupvibes-customize-btn .pvs-cta-icon{
  width:20px!important;
  height:20px!important;
  flex:0 0 auto!important;
  display:inline-block!important;
  vertical-align:middle!important;
}
body#product .pupvibes-customize-btn .pvs-cta-label{
  display:inline-block!important;
  font:inherit!important;
  color:inherit!important;
  font-style:normal!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
  text-transform:none!important;
}
