/* Covere Body: product page functions. Brand: pink #E15378, rose #D03860, ink #1F1F1F. */

/* rating line */
.cb-rate { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; font: 400 14px/1.3 Poppins, sans-serif; color: #1F1F1F; }
.cb-rate a { color: inherit; text-decoration: none; }
.cb-rate__avg { font-weight: 500; }
.cb-rate__count { color: #6B6266; }
.cb-rate a:hover { color: #D03860; text-decoration: underline; }
.cb-rate__stars { display: inline-block; line-height: 1; }
.cb-rate__stars::before { content: "\2605\2605\2605\2605\2605"; font-size: 17px; letter-spacing: 2px; background: linear-gradient(90deg, #E15378 var(--p, 0%), #EBDDE1 var(--p, 0%)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

/* price line */
.cb-pl { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-family: Poppins, sans-serif; }
.cb-pl__reg { color: #8C8387; font-size: 16px; font-weight: 400; }
.cb-pl__cur { font-size: 22px; font-weight: 600; color: #1F1F1F; }
.cb-pl__cur.is-sale { color: #D03860; }
.cb-pl__off { background: #E15378; color: #fff; font: 600 12px/1 Poppins, sans-serif; padding: 6px 11px; border-radius: 999px; letter-spacing: .02em; }
.cb-pl [hidden] { display: none !important; }

/* gallery badges */
.cb-gbadges-w { position: absolute !important; top: 16px; left: 114px; right: 16px; width: auto !important; margin: 0 !important; z-index: 6; pointer-events: none; }
.cb-gbadges { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.cb-gbadge { display: inline-block; padding: 8px 14px; border-radius: 999px; font: 600 12px/1 Poppins, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.cb-gbadge--sale { background: #E15378; color: #fff; }
.cb-gbadge--best { background: rgba(255, 255, 255, .92); color: #D03860; box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }

/* quantity note: "Quantity (2 in cart)" */
.single-product form.cart .quantity::before { content: "Quantity" attr(data-incart) !important; white-space: nowrap; }

/* sticky gallery while the long info column scrolls (desktop) */
@media (min-width: 1025px) {
	.single-product .cb-summary .cb-gallery-col { position: sticky; top: 24px; align-self: flex-start; }
}

/* "Pairs well with" */
.cb-pairs { width: 100%; margin: 6px 0 4px; }
.cb-pairs__title { margin: 0 0 12px; font: 600 16px/1.3 Poppins, sans-serif; color: #D03860; }
.cb-pair { display: grid; grid-template-columns: 88px 1fr; gap: 14px; align-items: center; padding: 12px; margin-bottom: 12px; border: 1px solid #EDE6E8; border-radius: 12px; background: #fff; transition: box-shadow .3s, border-color .3s; }
.cb-pair:hover { border-color: #F2C6D1; box-shadow: 0 10px 24px rgba(208, 56, 96, .1); }
.cb-pair__img { display: block; width: 88px; height: 88px; border-radius: 8px; overflow: hidden; background: #F4E6E8; }
.cb-pair__img img { width: 100%; height: 100%; object-fit: cover; display: block; box-shadow: none !important; }
.cb-pair__body { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.cb-pair__name { font: 600 14px/1.3 Poppins, sans-serif; color: #1F1F1F; text-decoration: none; }
.cb-pair__name:hover { color: #D03860; }
.cb-pair__price { font: 400 13px/1.2 Poppins, sans-serif; color: #5E5659; }
.cb-pair__sel { width: 100%; height: 38px; padding: 0 28px 0 12px !important; border: 1px solid #D9D0D3 !important; border-radius: 999px !important; background-color: #fff !important; font: 400 12.5px Poppins, sans-serif !important; color: #1F1F1F; }
.cb-pair__add { height: 40px; border: 0 !important; border-radius: 999px !important; background: #E15378 !important; color: #fff !important; font: 600 14px/1 Poppins, sans-serif; cursor: pointer; transition: background .2s, transform .3s cubic-bezier(.22, 1, .36, 1); }
.cb-pair__add:hover { background: #D03860 !important; transform: translateY(-2px); }
.cb-pair__add:disabled { opacity: .65; cursor: default; transform: none; }
@media (max-width: 480px) { .cb-pair { grid-template-columns: 72px 1fr; gap: 12px; } .cb-pair__img { width: 72px; height: 72px; } }

/* gallery zoom: WooCommerce's built-in PhotoSwipe viewer opens on click */
.single-product .woocommerce-product-gallery__image { cursor: zoom-in; }
.pswp__bg { background: rgba(24, 12, 17, .94) !important; }

/* cb-fig-gallery: thumbnails 92px, 27px apart; main photo 534 x 611 */
@media (min-width: 1025px) {
	.single-product .woocommerce-product-gallery { gap: 20px; }
	.single-product .cb-thumbs { flex-basis: 92px; }
	.single-product .woocommerce-product-gallery .flex-control-thumbs { width: 92px; gap: 27px; max-height: 590px; }
	.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: 92px !important; }
	.single-product .woocommerce-product-gallery .flex-control-thumbs img { width: 92px; height: 92px; border-radius: 12px; }
	.single-product .woocommerce-product-gallery .flex-viewport,
	.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { flex: 0 0 534px; width: 534px; max-width: 534px; border-radius: 12px; }
	.single-product .woocommerce-product-gallery .flex-viewport img { width: 534px; height: 611px; object-fit: cover; }
}

/* cb-fig-gallery-2: FlexSlider writes the viewport height inline, so force the design's 611px */
@media (min-width: 1025px) {
	.single-product .woocommerce-product-gallery .flex-viewport { height: 611px !important; }
	.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
	.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a { height: 611px; display: block; }
	.single-product .woocommerce-product-gallery .flex-viewport img { height: 611px !important; width: 534px !important; object-fit: cover; }
}

/* cb-fig-swatch: colour boxes 79 x 83, left aligned, 14px apart */
@media (min-width: 1025px) {
	.single-product form.variations_form table.variations tr:last-child td.value:has(.cb-swatches--color) { justify-content: flex-start; }
	.single-product .cb-swatches--color { gap: 14px; }
	.single-product .cb-swatches--color .cb-swatch { width: 79px; font-size: 14px; }
	.single-product .cb-swatches--color .cb-swatch__chip { height: 49px; }
}

/* cb-fig-buttons: Add To Cart / Buy It Now are 291 x 50, quantity pill 41px tall */
@media (min-width: 1025px) {
	.single-product form.cart .single_add_to_cart_button { width: 291px !important; height: 50px !important; min-height: 0 !important; }
	.single-product form.cart .quantity { height: 41px; }
	.single-product form.cart .quantity .qty, .single-product form.cart .quantity .cb-qty-btn { height: 41px; }
}

/* cb-fig-badges-m: on phones the three badges wrap, so drop the divider lines and indents */
@media (max-width: 767px) {
	.single-product .cb-badges { gap: 10px 20px; }
	.single-product .cb-badges > .elementor-widget { padding-left: 0 !important; margin-left: 0 !important; border-left: 0 !important; width: auto !important; }
}
