/* CraftersVibe desktop single-product owner 2.8.1 — decision-first compact layout. */
/* BEGIN CV231B_PRODUCT_PAGE_OUTER_WIDTH */
html:not(.cv-device-mobile-root) body.single-product .site-content .col-full,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .site-content .col-full{
 box-sizing:border-box!important;
 width:min(1440px,calc(100% - 32px))!important;
 max-width:1440px!important;
 margin-left:auto!important;
 margin-right:auto!important;
 padding-left:0!important;
 padding-right:0!important
}
html:not(.cv-device-mobile-root) body.single-product .content-area,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .content-area,
html:not(.cv-device-mobile-root) body.single-product .site-main,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .site-main{
 float:none!important;
 box-sizing:border-box!important;
 width:100%!important;
 max-width:none!important;
 margin-left:0!important;
 margin-right:0!important
}
html:not(.cv-device-mobile-root) body.single-product .widget-area,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .widget-area{
 display:none!important
}
/* END CV231B_PRODUCT_PAGE_OUTER_WIDTH */
html:not(.cv-device-mobile-root) body.single-product div.product,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product{
 box-sizing:border-box!important;
 display:grid!important;
 grid-template-columns:minmax(360px,.94fr) minmax(430px,1.06fr)!important;
 grid-template-rows:auto auto!important;
 column-gap:clamp(28px,3.2vw,48px)!important;
 row-gap:14px!important;
 width:min(1320px,calc(100% - 48px))!important;
 max-width:1320px!important;
 min-height:0!important;
 margin:24px auto 44px!important;
 padding:0!important;
 align-items:start!important;
 overflow:visible!important
}
html:not(.cv-device-mobile-root) body.single-product div.product::before,
html:not(.cv-device-mobile-root) body.single-product div.product::after,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product::before,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product::after{content:none!important;display:none!important}

html:not(.cv-device-mobile-root) body.single-product div.product>.summary,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product>.summary{
 grid-column:2!important;
 grid-row:1!important;
 float:none!important;
 box-sizing:border-box!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 margin:0!important;
 padding:4px 0 0!important;
 align-self:start!important
}
html:not(.cv-device-mobile-root) body.single-product div.product>.woocommerce-product-gallery,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product>.woocommerce-product-gallery{
 grid-column:1!important;
 grid-row:1 / span 2!important;
 float:none!important;
 box-sizing:border-box!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 margin:0!important;
 justify-self:stretch!important;
 align-self:start!important
}
html:not(.cv-device-mobile-root) body.single-product div.product .woocommerce-product-gallery__wrapper,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product .woocommerce-product-gallery__wrapper{margin:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
html:not(.cv-device-mobile-root) body.single-product div.product .woocommerce-product-gallery__image,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product .woocommerce-product-gallery__image,
html:not(.cv-device-mobile-root) body.single-product div.product .woocommerce-product-gallery__image--placeholder,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product .woocommerce-product-gallery__image--placeholder{
  display:grid!important;place-items:center!important;min-height:0!important;aspect-ratio:1/1!important;
  background:#f7f4ec!important;border:1px solid #d9e1dc!important;border-radius:16px!important;overflow:hidden!important
}
html:not(.cv-device-mobile-root) body.single-product div.product .woocommerce-product-gallery__image img,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product .woocommerce-product-gallery__image img,
html:not(.cv-device-mobile-root) body.single-product div.product .woocommerce-product-gallery__image--placeholder img,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product .woocommerce-product-gallery__image--placeholder img{
  display:block!important;width:100%!important;height:100%!important;max-height:410px!important;object-fit:contain!important;margin:0 auto!important
}
html:not(.cv-device-mobile-root) body.single-product .flex-control-thumbs,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .flex-control-thumbs{
  display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:8px 0 0!important;padding:0!important
}
html:not(.cv-device-mobile-root) body.single-product .flex-control-thumbs li,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .flex-control-thumbs li{float:none!important;width:62px!important;margin:0!important}

.cv-product-image-count{
  position:absolute;right:12px;bottom:12px;z-index:25;display:inline-flex;align-items:center;justify-content:center;
  min-width:48px;height:30px;padding:0 10px;border:1px solid rgba(23,79,64,.22);border-radius:999px;
  background:rgba(251,248,240,.95);color:#174f40;font-size:.84rem;font-weight:850;box-shadow:0 3px 10px rgba(0,0,0,.08)
}

html:not(.cv-device-mobile-root) body.single-product div.product .summary .product_title,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product .summary .product_title{
  margin:3px 0 8px!important;font-size:clamp(1.65rem,1.85vw,2.08rem)!important;line-height:1.08!important;letter-spacing:-.02em!important
}
html:not(.cv-device-mobile-root) body.single-product div.product .summary .price,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product .summary .price{
  margin:8px 0 8px!important;font-size:1.72rem!important;line-height:1.15!important
}
html:not(.cv-device-mobile-root) body.single-product div.product .summary .stock,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product .summary .stock{margin:5px 0 10px!important;font-size:1rem!important}

.cv-product-trust-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 7px;color:#173f34}
.cv-product-item-rating,.cv-product-shop-rating{display:inline-flex;align-items:baseline;gap:6px;color:#174f40!important;text-decoration:none!important}
.cv-product-item-rating strong,.cv-product-shop-rating strong{font-weight:900}
.cv-product-item-rating span,.cv-product-shop-rating span{font-size:.84rem;opacity:.82}
.cv-product-trust-dot{opacity:.42}
.cv-product-fit{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:1px 0 9px;padding:0;border:0;background:transparent;color:#173f34}
.cv-product-fit>strong{display:inline;font-size:.8rem;font-weight:900;color:#48685e}
.cv-product-fit>div{display:flex;flex-wrap:wrap;gap:5px}
.cv-product-fit span{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border-radius:999px;background:#eef5f1;color:#285746;font-size:.78rem;font-weight:750}

html:not(.cv-device-mobile-root) body.single-product div.product form.cart,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product form.cart{
  position:static!important;inset:auto!important;transform:none!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;
  align-items:center!important;margin:10px 0 9px!important;padding:0!important;background:transparent!important;box-shadow:none!important
}
html:not(.cv-device-mobile-root) body.single-product div.product form.cart .quantity,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product form.cart .quantity{float:none!important;margin:0!important}
html:not(.cv-device-mobile-root) body.single-product div.product form.cart .quantity input,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product form.cart .quantity input{
  box-sizing:border-box!important;width:54px!important;min-width:54px!important;height:44px!important;min-height:44px!important;padding:6px!important;font-size:1rem!important;text-align:center!important
}
html:not(.cv-device-mobile-root) body.single-product div.product form.cart .button,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product form.cart .button,
html:not(.cv-device-mobile-root) .cv-product-buy-now,
.cv-owner-cart-preview{
  position:static!important;inset:auto!important;transform:none!important;min-height:44px!important;height:44px!important;
  padding:0 17px!important;border-radius:9px!important;font-size:.98rem!important;font-weight:850!important;line-height:42px!important;white-space:nowrap!important
}
html:not(.cv-device-mobile-root) .cv-product-buy-now,
.cv-owner-cart-preview{background:#174f40!important;color:#fff!important;border:1px solid #174f40!important}

html:not(.cv-device-mobile-root) .cv-product-primary-actions{
  position:static!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;margin:9px 0 7px!important
}
html:not(.cv-device-mobile-root) .cv-product-save,
html:not(.cv-device-mobile-root) .cv-product-visit-shop{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:38px!important;
  padding:6px 12px!important;border:1px solid #b8cac2!important;border-radius:999px!important;background:#fff!important;
  color:#174f40!important;font-size:.9rem!important;font-weight:800!important;text-decoration:none!important
}
html:not(.cv-device-mobile-root) .cv-product-save.is-saved{background:#eef7f2!important}

html:not(.cv-device-mobile-root) body.single-product .cv-buyer-contact-entry,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .cv-buyer-contact-entry{grid-template-columns:1fr!important;gap:7px!important;margin:8px 0!important}
html:not(.cv-device-mobile-root) body.single-product .cv-buyer-contact-cta,
html:not(.cv-device-mobile-root) body.single-product .cv-custom-request-cta,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .cv-buyer-contact-cta,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .cv-custom-request-cta{padding:9px 11px!important;border-radius:10px!important}

html:not(.cv-device-mobile-root) .cv-product-details{
 grid-column:2!important;
 grid-row:2!important;
 display:grid!important;
 gap:8px!important;
 box-sizing:border-box!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 margin:0!important;
 align-self:start!important
}
html:not(.cv-device-mobile-root) .cv-product-details details{margin:0!important;border:1px solid #d5dfda!important;border-radius:11px!important;background:#fff!important;overflow:hidden!important}
html:not(.cv-device-mobile-root) .cv-product-details summary{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:11px 13px!important;cursor:pointer!important;
  color:#173f34!important;font-size:.96rem!important;font-weight:850!important;line-height:1.2!important;list-style:none!important
}
html:not(.cv-device-mobile-root) .cv-product-details summary::-webkit-details-marker{display:none!important}
html:not(.cv-device-mobile-root) .cv-product-details summary>span{
  display:grid!important;place-items:center!important;flex:0 0 22px!important;width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;
  margin:0!important;padding:0!important;font-size:17px!important;line-height:1!important;overflow:hidden!important;transform:none!important;transition:transform .12s ease!important
}
html:not(.cv-device-mobile-root) .cv-product-details details[open] summary>span{transform:rotate(45deg)!important}
html:not(.cv-device-mobile-root) .cv-product-detail-body{padding:0 13px 12px!important;color:#31483f!important;font-size:.95rem!important;line-height:1.48!important}
html:not(.cv-device-mobile-root) .cv-product-detail-body p{margin:.4rem 0!important}
html:not(.cv-device-mobile-root) .cv-product-detail-body p:last-child{margin-bottom:0!important}

.cv-product-description-preview{position:relative;max-height:10.2em;overflow:hidden}
.cv-product-description-preview:not(.is-expanded)::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3.7em;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 82%)
}
.cv-product-description-preview.is-expanded{max-height:none}
.cv-product-description-preview.is-expanded::after{display:none}
.cv-product-read-more{
  display:inline-flex;align-items:center;margin:0 13px 12px;padding:6px 10px;border:1px solid #b9cbc3;border-radius:8px;background:#fff;
  color:#174f40;font:inherit;font-size:.88rem;font-weight:850;cursor:pointer
}

.cv-product-reviews{
  grid-column:1 / -1!important;grid-row:3!important;width:100%!important;margin:7px 0 0!important;padding:17px!important;
  border:1px solid #d5dfda!important;border-radius:15px!important;background:#fff!important;color:#173f34!important
}
.cv-product-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #e1e8e4}
.cv-product-review-head>div>span,.cv-product-shop-review-card>span{display:block;margin-bottom:3px;color:#6c7d76;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.cv-product-review-head h2{margin:0;font-size:1.35rem}
.cv-product-review-head h2 small{font-size:.82rem;font-weight:700;color:#63746d}
.cv-product-shop-review-card{
  display:grid;min-width:210px;padding:9px 11px;border:1px solid #d5dfda;border-radius:11px;background:#f7faf8;color:#174f40!important;text-decoration:none!important
}
.cv-product-shop-review-card small{margin-top:2px;color:#557067}
.cv-product-review-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.cv-product-review-list article{padding:11px;border:1px solid #dce5e0;border-radius:11px;background:#fbfcfb}
.cv-product-review-list article>div{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.cv-product-review-list article p{margin:7px 0;line-height:1.42}
.cv-product-verified{padding:3px 6px;border-radius:999px;background:#eaf4ef;color:#2c654f;font-size:.7rem;font-weight:850}
.cv-product-no-reviews{margin:12px 0 0;color:#61736c}

.cv-owner-product-modal[hidden]{display:none!important}
.cv-owner-product-modal{
  position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px;background:rgba(12,29,24,.43)
}
.cv-owner-product-card{
  width:min(440px,calc(100vw - 32px));padding:21px;border:1px solid #cfdad4;border-radius:17px;background:#fbf8f0;color:#173f34;box-shadow:0 18px 60px rgba(0,0,0,.24)
}
.cv-owner-product-card h3{margin:0 0 8px;font-size:1.25rem}
.cv-owner-product-card p{margin:0 0 15px;line-height:1.48}
.cv-owner-product-actions{display:flex;flex-wrap:wrap;gap:8px}
.cv-owner-product-actions a,.cv-owner-product-actions button{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 12px;border-radius:9px;border:1px solid #aac1b7;
  background:#fff;color:#174f40;font:inherit;font-weight:850;text-decoration:none;cursor:pointer
}
.cv-owner-product-actions .is-primary{background:#174f40;color:#fff;border-color:#174f40}

html:not(.cv-device-mobile-root) body.single-product .storefront-sticky-add-to-cart,
html:not(.cv-device-mobile-root) body.single-product .storefront-product-pagination,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .storefront-sticky-add-to-cart,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page .storefront-product-pagination{display:none!important}

@media(max-width:1120px) and (min-width:761px){
 html:not(.cv-device-mobile-root) body.single-product div.product,
 html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product{
  grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr)!important;
  width:min(1040px,calc(100% - 30px))!important;
  column-gap:24px!important
 }
 html:not(.cv-device-mobile-root) body.single-product div.product .summary .product_title,
 html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product .summary .product_title{
  font-size:2.15rem!important
 }
}

/* 2.7.1 hierarchy refinement */
html:not(.cv-device-mobile-root) body.single-product .cv-product-id-strip{opacity:.68!important;transform:scale(.9)!important;transform-origin:left top!important;margin:2px 0 4px!important}
@media(min-width:1121px){html:not(.cv-device-mobile-root) body.single-product div.product>.woocommerce-product-gallery,html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product>.woocommerce-product-gallery{width:100%!important;max-width:100%!important}}


/* ============================================================
   CraftersVibe Product Page 2.8.0 — focused product media
   ============================================================ */

/* Default Woo gallery remains in DOM as the source/fallback, but the CV media stage owns presentation. */
html:not(.cv-device-mobile-root) body.single-product .woocommerce-product-gallery.cv-media-source-hidden{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

html:not(.cv-device-mobile-root) body.single-product .cv-product-media{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:100%!important;
  max-width:410px!important;
  margin:0!important;
  align-self:start!important;
}

.cv-media-stage{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border:1px solid #d9e1dc;
  border-radius:16px;
  background:#f7f4ec;
}

.cv-media-slide{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease;
  background:#f7f4ec;
}
.cv-media-slide.is-active{opacity:1;visibility:visible}

.cv-media-slide img,
.cv-media-slide video{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#f7f4ec;
}

.cv-media-slide.is-video video{
  object-fit:contain;
}

.cv-media-video-overlay{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border:2px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:rgba(23,79,64,.88);
  color:#fff;
  font-size:25px;
  box-shadow:0 6px 24px rgba(0,0,0,.22);
  pointer-events:none;
}

.cv-media-counter{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:4;
  min-width:50px;
  padding:6px 10px;
  border:1px solid rgba(23,79,64,.2);
  border-radius:999px;
  background:rgba(251,248,240,.95);
  color:#174f40;
  font-size:.84rem;
  font-weight:900;
  text-align:center;
}

.cv-media-nav{
  position:absolute;
  top:50%;
  z-index:5;
  width:42px;
  height:42px;
  transform:translateY(-50%);
  border:1px solid rgba(23,79,64,.18);
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#174f40;
  font-size:25px;
  line-height:1;
  box-shadow:0 4px 16px rgba(0,0,0,.12);
  cursor:pointer;
}
.cv-media-nav.prev{left:10px}
.cv-media-nav.next{right:10px}

.cv-media-thumbs{
  display:flex;
  gap:8px;
  margin-top:9px;
  overflow-x:auto;
  padding:1px 1px 5px;
  scrollbar-width:thin;
}
.cv-media-thumb{
  position:relative;
  flex:0 0 62px;
  width:62px;
  height:62px;
  padding:0;
  overflow:hidden;
  border:2px solid transparent;
  border-radius:9px;
  background:#fff;
  cursor:pointer;
}
.cv-media-thumb.is-active{border-color:#174f40}
.cv-media-thumb img,
.cv-media-thumb video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.cv-media-thumb .cv-thumb-play{
  position:absolute;
  right:4px;
  bottom:4px;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:rgba(23,79,64,.9);
  color:#fff;
  font-size:9px;
}

.cv-media-more{
  margin:7px 0 0;
  color:#526960;
  font-size:.8rem;
  font-weight:700;
}

/* Keep the buyer's attention on this product, not generic marketplace content. */
html:not(.cv-device-mobile-root) body.single-product .related.products,
html:not(.cv-device-mobile-root) body.single-product .upsells.products,
html:not(.cv-device-mobile-root) body.single-product .woocommerce-tabs + .related,
html:not(.cv-device-mobile-root) body.single-product [class*="cross-sell"],
html:not(.cv-device-mobile-root) body.single-product [class*="recommended-products"]{
  display:none!important;
}

/* Seller-edit UI does not belong in the public shopping flow. */
html:not(.cv-device-mobile-root) body.single-product .cv-listing-owner-edit,
html:not(.cv-device-mobile-root) body.single-product .cv-owner-listing-edit,
html:not(.cv-device-mobile-root) body.single-product a[href*="edit-listing"],
html:not(.cv-device-mobile-root) body.single-product a.button[href*="edit"],
html:not(.cv-device-mobile-root) body.single-product .edit-link{
  display:none!important;
}

/* Report Abuse stays available but visually secondary. */
html:not(.cv-device-mobile-root) body.single-product .dokan-report-abuse-button,
html:not(.cv-device-mobile-root) body.single-product [class*="report-abuse"]{
  font-size:.78rem!important;
  opacity:.72!important;
}

/* Compact reviews: trust cue, not a giant empty destination. */
html:not(.cv-device-mobile-root) .cv-product-reviews{
  padding:12px 14px!important;
  margin-top:8px!important;
  border-radius:12px!important;
}
html:not(.cv-device-mobile-root) .cv-product-review-head{
  align-items:center!important;
  padding-bottom:8px!important;
}
html:not(.cv-device-mobile-root) .cv-product-review-head h2{
  font-size:1.05rem!important;
  line-height:1.2!important;
}
html:not(.cv-device-mobile-root) .cv-product-shop-review-card{
  min-width:185px!important;
  padding:7px 9px!important;
}
html:not(.cv-device-mobile-root) .cv-product-review-list{
  grid-template-columns:1fr!important;
  margin-top:8px!important;
}
html:not(.cv-device-mobile-root) .cv-product-review-list article{
  padding:9px!important;
}
html:not(.cv-device-mobile-root) .cv-product-no-reviews{
  margin:8px 0 0!important;
  font-size:.88rem!important;
}

/* Purchase action remains visually dominant. */
html:not(.cv-device-mobile-root) body.single-product form.cart .single_add_to_cart_button,
html:not(.cv-device-mobile-root) body.single-product .cv-owner-cart-preview{
  min-width:210px!important;
  height:50px!important;
  line-height:48px!important;
  padding:0 24px!important;
  font-size:1.05rem!important;
  font-weight:900!important;
  box-shadow:0 5px 14px rgba(23,79,64,.12)!important;
}

/* Media modal: video only plays after explicit buyer click. */
.cv-media-modal[hidden]{display:none!important}
.cv-media-modal{
  position:fixed;
  inset:0;
  z-index:2147483200;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(10,22,18,.72);
}
.cv-media-modal-card{
  position:relative;
  width:min(900px,calc(100vw - 40px));
  max-height:calc(100vh - 40px);
  padding:12px;
  border-radius:16px;
  background:#111;
}
.cv-media-modal-card video,
.cv-media-modal-card img{
  display:block;
  width:100%;
  max-height:calc(100vh - 80px);
  object-fit:contain;
}
.cv-media-modal-close{
  position:absolute;
  right:16px;
  top:16px;
  z-index:3;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#173f34;
  font-size:22px;
  cursor:pointer;
}

/* ============================================================
   CraftersVibe Product Page 2.8.3 — clarity + conversion
   ============================================================ */
html:not(.cv-device-mobile-root) body.single-product .cv-desktop-site-shell{
  position:sticky!important;top:0!important;z-index:10050!important;
  box-shadow:0 2px 10px rgba(17,61,50,.08)!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-media{max-width:390px!important}
html:not(.cv-device-mobile-root) body.single-product .cv-media-stage{
  aspect-ratio:auto!important;height:430px!important;min-height:430px!important;
  overflow:hidden!important;padding:10px!important;box-sizing:border-box!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-media-slide{inset:10px!important}
html:not(.cv-device-mobile-root) body.single-product .cv-media-slide img,
html:not(.cv-device-mobile-root) body.single-product .cv-media-slide video{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-media-more{
  margin:5px 0 0!important;font-size:.74rem!important;font-weight:700!important;color:#5c6e67!important;
}
html:not(.cv-device-mobile-root) body.single-product div.product>.summary{
  color:#183d33!important;font-family:Arial,Helvetica,sans-serif!important;
}
html:not(.cv-device-mobile-root) body.single-product div.product .summary .product_title{
  color:#173f34!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;
  font-size:clamp(1.72rem,1.85vw,2.08rem)!important;line-height:1.16!important;letter-spacing:-.015em!important;
}
html:not(.cv-device-mobile-root) body.single-product div.product .summary .price{
  color:#172d27!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important;
}
.cv-product-type-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.cv-product-type-badge{
  display:inline-flex;align-items:center;min-height:36px;padding:6px 13px;border:1px solid #a8cdbd;border-radius:999px;
  background:#dff3e9;color:#174f40;font-size:.95rem;font-weight:900;letter-spacing:.01em;
}
.cv-product-pickup-badge{
  display:inline-flex;align-items:center;min-height:34px;padding:5px 11px;border-radius:999px;background:#fffdf8;
  border:1px solid #cfdad4;color:#285746;font-size:.9rem;font-weight:850;
}
html:not(.cv-device-mobile-root) body.single-product .summary>.cv-listing-badge{display:none!important}
html:not(.cv-device-mobile-root) body.single-product .cv-product-fit{gap:9px!important;margin:5px 0 13px!important}
html:not(.cv-device-mobile-root) body.single-product .cv-product-fit>strong{font-size:.96rem!important;color:#284f43!important}
html:not(.cv-device-mobile-root) body.single-product .cv-product-fit span{
  min-height:32px!important;padding:5px 10px!important;font-size:.9rem!important;background:#eaf3ee!important;color:#234f40!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-id-strip{
  opacity:.58!important;transform:scale(.86)!important;transform-origin:left top!important;margin-top:8px!important;
}
html:not(.cv-device-mobile-root) body.single-product form.cart{gap:14px!important;align-items:center!important}
html:not(.cv-device-mobile-root) body.single-product form.cart .single_add_to_cart_button,
html:not(.cv-device-mobile-root) body.single-product .cv-owner-cart-preview{
  min-width:230px!important;height:52px!important;line-height:50px!important;border-radius:10px!important;
  font-size:1.06rem!important;font-weight:900!important;background:#175a47!important;border-color:#175a47!important;color:#fff!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-buy-now,
html:not(.cv-device-mobile-root) body.single-product .cv-owner-buy-now-preview{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:180px!important;height:52px!important;
  margin-left:10px!important;padding:0 22px!important;border:2px solid #9a5537!important;border-radius:10px!important;
  background:#fffaf5!important;color:#8d482e!important;font-size:1.02rem!important;font-weight:900!important;line-height:48px!important;box-shadow:none!important;
}
html:not(.cv-device-mobile-root) body.single-product a[href*="edit"],
html:not(.cv-device-mobile-root) body.single-product .edit-link,
html:not(.cv-device-mobile-root) body.single-product .cv-owner-listing-edit,
html:not(.cv-device-mobile-root) body.single-product .cv-listing-owner-edit,
html:not(.cv-device-mobile-root) body.single-product .dokan-edit-product,
html:not(.cv-device-mobile-root) body.single-product [class*="edit-product"]{display:none!important}
html:not(.cv-device-mobile-root) body.single-product .cv-product-reviews{display:none!important}
html:not(.cv-device-mobile-root) body.single-product .cv-product-details details{
  background:#fffdf9!important;border-color:#ccd8d2!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-detail-body{
  color:#243d35!important;font-size:1rem!important;line-height:1.55!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-details summary{color:#173f34!important;font-size:1rem!important}


/* ============================================================
   CraftersVibe Product Page 2.8.3 — restrained conversion layout
   Familiar buying flow without oversized / shouty UI.
   ============================================================ */

/* Use the existing CV typeface rhythm; undo the heavy Arial override from 2.8.1. */
html:not(.cv-device-mobile-root) body.single-product div.product>.summary{
  font-family:inherit!important;
  color:#1d3f35!important;
}
html:not(.cv-device-mobile-root) body.single-product div.product .summary .product_title{
  font-family:inherit!important;
  font-size:clamp(1.55rem,1.65vw,1.9rem)!important;
  line-height:1.2!important;
  font-weight:500!important;
  letter-spacing:-.01em!important;
  color:#173f34!important;
  margin:2px 0 8px!important;
}
html:not(.cv-device-mobile-root) body.single-product div.product .summary .price{
  font-family:inherit!important;
  font-size:1.55rem!important;
  font-weight:600!important;
  margin:9px 0 10px!important;
}

/* Main desktop proportions: media is important, but should not dominate. */
html:not(.cv-device-mobile-root) body.single-product div.product,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product{
  grid-template-columns:minmax(0,400px) minmax(0,1fr)!important;
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  column-gap:clamp(30px,3.5vw,52px)!important;
  margin-top:18px!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-media{
  width:100%!important;
  max-width:400px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  justify-self:center!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-media-stage{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  height:455px!important;
  min-height:455px!important;
  aspect-ratio:auto!important;
  padding:16px!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:#fbf8f0!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-media-slide{
  inset:16px!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-media-slide img,
html:not(.cv-device-mobile-root) body.single-product .cv-media-slide video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-media-counter{
  right:12px!important;
  bottom:12px!important;
  font-size:.78rem!important;
  padding:5px 9px!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-media-more{
  display:none!important;
}

/* Product-type badge: noticeable, not loud. */
.cv-product-type-row{
  gap:7px!important;
  margin:2px 0 8px!important;
}
.cv-product-type-badge{
  min-height:30px!important;
  padding:4px 10px!important;
  font-size:.82rem!important;
  font-weight:750!important;
  border-radius:999px!important;
  background:#e6f3ec!important;
  color:#1e5947!important;
}

/* Local pickup moves under the gallery, not in the buy-column identity row. */
html:not(.cv-device-mobile-root) body.single-product .summary .cv-product-pickup-badge{
  display:none!important;
}
.cv-media-pickup{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:8px 0 0 4px;
  padding:0;
  border:0;
  background:transparent;
  color:#41645a;
  font-size:.82rem;
  font-weight:650;
}

/* Trust should read like supporting information, not another heading. */
html:not(.cv-device-mobile-root) body.single-product .cv-product-trust-row{
  margin:5px 0 9px!important;
  gap:6px!important;
  font-size:.9rem!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-item-rating strong,
html:not(.cv-device-mobile-root) body.single-product .cv-product-shop-rating strong{
  font-weight:700!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-item-rating span,
html:not(.cv-device-mobile-root) body.single-product .cv-product-shop-rating span{
  font-size:.8rem!important;
}

/* Why-it-may-fit: clearly readable, still secondary. */
html:not(.cv-device-mobile-root) body.single-product .cv-product-fit{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:4px 0 13px!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-fit>strong{
  font-size:.86rem!important;
  font-weight:700!important;
  color:#3a5d52!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-fit span{
  min-height:27px!important;
  padding:3px 8px!important;
  font-size:.8rem!important;
  font-weight:650!important;
  background:#edf4f0!important;
  color:#31584b!important;
}

/* IDs remain available but do not compete with purchase information. */
html:not(.cv-device-mobile-root) body.single-product .cv-product-id-strip{
  opacity:.46!important;
  transform:scale(.80)!important;
  transform-origin:left top!important;
  margin:9px 0 0!important;
}

/* Purchase controls: obvious, but not giant. */
html:not(.cv-device-mobile-root) body.single-product form.cart{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:10px 0 9px!important;
}
html:not(.cv-device-mobile-root) body.single-product form.cart .single_add_to_cart_button,
html:not(.cv-device-mobile-root) body.single-product .cv-owner-cart-preview{
  min-width:190px!important;
  width:auto!important;
  height:46px!important;
  min-height:46px!important;
  line-height:44px!important;
  padding:0 20px!important;
  font-size:.96rem!important;
  font-weight:750!important;
  border-radius:9px!important;
  box-shadow:none!important;
  background:#175a47!important;
  border-color:#175a47!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-buy-now,
html:not(.cv-device-mobile-root) body.single-product .cv-owner-buy-now-preview{
  min-width:150px!important;
  width:auto!important;
  height:46px!important;
  min-height:46px!important;
  margin-left:0!important;
  padding:0 18px!important;
  border:1px solid #9a5537!important;
  border-radius:9px!important;
  background:#fffaf5!important;
  color:#8d482e!important;
  font-size:.94rem!important;
  font-weight:750!important;
  line-height:44px!important;
}

/* Remove all owner editing controls from the shopping view. */
html:not(.cv-device-mobile-root) body.single-product .cv-product-owner-edit,
html:not(.cv-device-mobile-root) body.single-product .cv-owner-edit,
html:not(.cv-device-mobile-root) body.single-product .edit-link,
html:not(.cv-device-mobile-root) body.single-product .dokan-edit-product,
html:not(.cv-device-mobile-root) body.single-product [class*="edit-product"],
html:not(.cv-device-mobile-root) body.single-product [class*="owner-edit"],
html:not(.cv-device-mobile-root) body.single-product a[href*="/edit"],
html:not(.cv-device-mobile-root) body.single-product a[href*="edit-listing"],
html:not(.cv-device-mobile-root) body.single-product a[href*="product-edit"]{
  display:none!important;
}

/* Description/detail cards: quieter and easier on the eyes. */
html:not(.cv-device-mobile-root) body.single-product .cv-product-details details{
  background:#fffdf9!important;
  border:1px solid #d5dfda!important;
  border-radius:10px!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-details summary{
  padding:10px 12px!important;
  font-size:.91rem!important;
  font-weight:700!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-detail-body{
  padding:0 12px 11px!important;
  font-size:.92rem!important;
  line-height:1.5!important;
  color:#31483f!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-product-read-more{
  margin:0 12px 11px!important;
  padding:6px 9px!important;
  font-size:.82rem!important;
  font-weight:700!important;
}

/* The redundant lower review/shop block stays gone. */
html:not(.cv-device-mobile-root) body.single-product .cv-product-reviews{
  display:none!important;
}

/* Keep Report Abuse as a small secondary safety action. */
html:not(.cv-device-mobile-root) body.single-product .dokan-report-abuse-button,
html:not(.cv-device-mobile-root) body.single-product [class*="report-abuse"]{
  font-size:.74rem!important;
  opacity:.62!important;
}

/* Sticky shell: target common desktop header/nav owners too. */
html:not(.cv-device-mobile-root) body.single-product header.site-header,
html:not(.cv-device-mobile-root) body.single-product .site-header,
html:not(.cv-device-mobile-root) body.single-product #masthead,
html:not(.cv-device-mobile-root) body.single-product .cv-desktop-site-shell{
  position:sticky!important;
  top:0!important;
  z-index:10050!important;
}

/* Mid-size desktop: keep the full image and preserve the buying hierarchy. */
@media(max-width:1180px) and (min-width:821px){
  html:not(.cv-device-mobile-root) body.single-product div.product,
  html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product{
    grid-template-columns:minmax(290px,330px) minmax(0,1fr)!important;
    width:min(980px,calc(100% - 30px))!important;
    column-gap:28px!important;
  }
  html:not(.cv-device-mobile-root) body.single-product .cv-product-media{
    width:100%!important;max-width:330px!important;
  }
  html:not(.cv-device-mobile-root) body.single-product .cv-media-stage{
    width:100%!important;height:430px!important;min-height:430px!important;
  }
}


/* ============================================================
   CraftersVibe Product Page 2.8.3 — fixed desktop shell
   ============================================================ */

/* The canonical shell contains BOTH the green primary row and cream secondary row.
   Fix the whole shell to the viewport on product pages. */
html:not(.cv-device-mobile-root) body.single-product .cv-desktop-site-shell{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:2147480000!important;
  margin:0!important;
  transform:none!important;
  will-change:auto!important;
}

/* WordPress admin bar, when visible, remains above the shell. */
html:not(.cv-device-mobile-root) body.single-product.admin-bar .cv-desktop-site-shell{
  top:32px!important;
}

/* JS sets --cv-product-fixed-shell-height to the real two-row shell height.
   This keeps page content from sliding underneath the fixed shell. */
html:not(.cv-device-mobile-root) body.single-product{
  padding-top:var(--cv-product-fixed-shell-height,0px)!important;
}

/* Slightly tighten the primary row and lift the brand visually. */
html:not(.cv-device-mobile-root) body.single-product .cv-site-shell-primary{
  min-height:60px!important;
  padding-top:6px!important;
  padding-bottom:6px!important;
  align-items:center!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-site-shell-brand{
  align-items:center!important;
  transform:translateY(-3px)!important;
}
html:not(.cv-device-mobile-root) body.single-product .cv-site-shell-brand-mark,
html:not(.cv-device-mobile-root) body.single-product .cv-site-shell-brand-word{
  transform:none!important;
}

/* Keep secondary nav attached directly under the green row. */
html:not(.cv-device-mobile-root) body.single-product .cv-site-shell-secondary{
  margin-top:0!important;
  top:auto!important;
}

/* Do not allow legacy theme header rules to create a second sticky/fixed header. */
html:not(.cv-device-mobile-root) body.single-product #masthead,
html:not(.cv-device-mobile-root) body.single-product header.site-header:not(.cv-desktop-site-shell),
html:not(.cv-device-mobile-root) body.single-product .site-header:not(.cv-desktop-site-shell){
  position:static!important;
}

/* BEGIN CV231B_PRODUCT_PAGE_SAFETY */
html:not(.cv-device-mobile-root) body.single-product div.product>.summary *,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product>.summary *{max-width:100%}
html:not(.cv-device-mobile-root) body.single-product div.product>.summary .product_title,
html:not(.cv-device-mobile-root) body.cv-marketplace-product-page div.product>.summary .product_title{
 overflow-wrap:anywhere!important
}
/* END CV231B_PRODUCT_PAGE_SAFETY */
