/* =============================================================================
   CARLO RINO — Single Product Page
   Figma: Product Detail Page (node 3531:14959)
   50/50 layout inside Astra .ast-container (backend padding/width).
   ============================================================================= */

/* ── Astra layout shell (do not override .ast-container padding / max-width) ─ */

/* Astra header widget safety — new block widgets receive changing #block-* IDs.
   Keep them compact instead of hiding one brittle widget ID. */
.single-product.cr-single-product-layout #masthead .widget,
.single-product.cr-single-product-layout #masthead .widget_block,
.single-product.cr-single-product-layout #masthead [id^="block-"],
.single-product.cr-single-product-layout .site-header .widget,
.single-product.cr-single-product-layout .site-header .widget_block,
.single-product.cr-single-product-layout .site-header [id^="block-"] {
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

.single-product.cr-single-product-layout #masthead .widget > *,
.single-product.cr-single-product-layout #masthead .widget_block > *,
.single-product.cr-single-product-layout #masthead [id^="block-"] > *,
.single-product.cr-single-product-layout .site-header .widget > *,
.single-product.cr-single-product-layout .site-header .widget_block > *,
.single-product.cr-single-product-layout .site-header [id^="block-"] > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Legacy `.single-product div.product` rules from core components must never
   resize a Woo/Product block when it is placed inside the Astra header. */
.single-product.cr-single-product-layout #masthead div.product,
.single-product.cr-single-product-layout .site-header div.product {
	display: block !important;
	flex: none !important;
	flex-wrap: nowrap !important;
	gap: normal !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	overflow: visible !important;
}

/* Content shell only — never retarget #page / .site / #masthead (header lives there) */
.cr-single-product-layout #content,
.cr-single-product-layout .site-content,
.cr-single-product-layout #primary,
.cr-single-product-layout .content-area,
.cr-single-product-layout .site-main,
.cr-single-product-layout .ast-woocommerce-container,
.single-product.cr-single-product-layout #content,
.single-product.cr-single-product-layout .site-content,
.single-product.cr-single-product-layout #primary,
.single-product.cr-single-product-layout .content-area,
.single-product.cr-single-product-layout .site-main,
.single-product.cr-single-product-layout .ast-woocommerce-container {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Content containers only — never touch #masthead / site header */
.cr-single-product-layout .site-content > .ast-container,
.cr-single-product-layout .site-content .ast-container,
.cr-single-product-layout .site-content .ast-container-fluid,
.single-product.cr-single-product-layout .site-content > .ast-container,
.single-product.cr-single-product-layout .site-content .ast-container,
.single-product.cr-single-product-layout .site-content .ast-container-fluid {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.cr-single-product-layout #content,
.cr-single-product-layout .site-content,
.cr-single-product-layout #primary,
.cr-single-product-layout .content-area,
.cr-single-product-layout .site-main,
.cr-single-product-layout .ast-woocommerce-container,
.single-product.cr-single-product-layout #content,
.single-product.cr-single-product-layout .site-content,
.single-product.cr-single-product-layout #primary,
.single-product.cr-single-product-layout .content-area,
.single-product.cr-single-product-layout .site-main,
.single-product.cr-single-product-layout .ast-woocommerce-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.cr-single-product-layout .site-content,
.cr-single-product-layout #content,
.single-product.cr-single-product-layout .site-content,
.single-product.cr-single-product-layout #content {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.cr-single-product-layout .site-main,
.cr-single-product-layout #primary,
.single-product.cr-single-product-layout .site-main,
.single-product.cr-single-product-layout #primary {
	padding: 0 !important;
	margin: 0 !important;
}

.cr-single-product-layout .entry-header,
.cr-single-product-layout .ast-single-entry-banner,
.single-product.cr-single-product-layout .entry-header,
.single-product.cr-single-product-layout .ast-single-entry-banner {
	display: none !important;
}

.cr-single-product-layout #secondary,
.single-product.cr-single-product-layout #secondary {
	display: none !important;
}

.cr-single-product-layout.ast-separate-container #content,
.cr-single-product-layout.ast-separate-container .site-content,
.cr-single-product-layout.ast-page-builder-template .site-content {
	background: transparent !important;
}

.cr-single-product-layout.ast-separate-container #primary,
.cr-single-product-layout.ast-separate-container .site-main,
.cr-single-product-layout.ast-separate-container article,
.cr-single-product-layout.ast-separate-container .ast-article-single {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

/* Content shell only — do not style body / #masthead / logo here.
   Astra already owns #page flex; leave the site header untouched. */
.cr-single-product-layout #content,
.cr-single-product-layout .site-content,
.cr-single-product-layout #primary,
.cr-single-product-layout .site-main,
.cr-single-product-layout .ast-woocommerce-container,
.cr-single-product-layout article,
.single-product.cr-single-product-layout #content,
.single-product.cr-single-product-layout .site-content,
.single-product.cr-single-product-layout #primary,
.single-product.cr-single-product-layout .site-main,
.single-product.cr-single-product-layout .ast-woocommerce-container,
.single-product.cr-single-product-layout article {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

.cr-single-product-layout .site-footer,
.single-product.cr-single-product-layout .site-footer {
	display: block !important;
}

/* Neutralize legacy core-components single product layout on our custom template.
   Height is the viewport left under the header, announcement, and admin bar —
   100vh alone starts below those bars and forces a scroll to see the info. */
.cr-single-product-layout.single-product div.product.cr-single-product,
.single-product.cr-single-product-layout div.product.cr-single-product {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	max-width: none !important;
	width: 100% !important;
	height: var(--cr-single-stage, calc(100dvh - var(--cr-single-product-offset, var(--cr-header-height, 3.5rem)))) !important;
	min-height: 0 !important;
	max-height: var(--cr-single-stage, calc(100dvh - var(--cr-single-product-offset, var(--cr-header-height, 3.5rem)))) !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	overflow: hidden !important;
	flex: 0 0 auto !important;
	position: relative !important;
}

.cr-single-product-layout.single-product .woocommerce-product-gallery,
.cr-single-product-layout.single-product .entry-summary,
.cr-single-product-layout.single-product .woocommerce-tabs,
.cr-single-product-layout.single-product .related.products,
.cr-single-product-layout.single-product .upsells.products {
	display: none !important;
}

/* ── Page shell — fills the viewport left under the site header ─────────── */

.cr-single-product {
	--cr-single-product-offset: var(--cr-header-height, 3.5rem);
	--cr-single-stage: calc(100dvh - var(--cr-single-product-offset));
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: none !important;
	height: var(--cr-single-stage) !important;
	min-height: 0 !important;
	max-height: var(--cr-single-stage) !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--cr-cream, #faf7f6) !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	position: relative !important;
}

.admin-bar .cr-single-product {
	--cr-single-product-offset: calc(var(--cr-header-height, 3.5rem) + 32px);
}

body:has(.cr-announcement-bar:not(.is-dismissed)) .cr-single-product {
	--cr-single-product-offset: calc(var(--cr-header-height, 3.5rem) + 2.5rem);
}

body.admin-bar:has(.cr-announcement-bar:not(.is-dismissed)) .cr-single-product {
	--cr-single-product-offset: calc(var(--cr-header-height, 3.5rem) + 2.5rem + 32px);
}

/* Sentinel marks the bottom of the stage. Keep it out of the 50/50 row. */
.cr-single-product > .cr-single-product-sticky-sentinel {
	position: absolute !important;
	left: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 0.062rem !important;
}

/* ── Product Photos (left 50%, full height) ─────────────────────────────── */

.cr-single-product__photos {
	position: relative !important;
	top: auto !important;
	flex: 0 0 50% !important;
	width: 50% !important;
	max-width: none !important;
	height: 100% !important;
	max-height: none !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	overflow: hidden !important;
}

/* Image stage. Pin it to the photo column. A percentage height here collapses
   to 0: the gallery is a size container, so its slides cannot give this box a height. */
.cr-single-product__photos-media {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

.cr-single-product__gallery {
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	flex: 1 1 auto !important;
	container-type: size !important;
	overflow: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	scrollbar-width: none !important;
}

.cr-single-product__gallery::-webkit-scrollbar {
	width: 0 !important;
	display: none !important;
}

/* Featured-only products: one image, no sticky multi-slide scroll */
.cr-single-product__gallery--single {
	overflow: hidden !important;
	overflow-y: hidden !important;
}

.cr-single-product__gallery-track {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	width: 100% !important;
	min-height: 100% !important;
}

.cr-single-product__gallery--single .cr-single-product__gallery-track {
	height: 100% !important;
	min-height: 100% !important;
}

.cr-single-product__gallery-slide {
	width: 100% !important;
	height: 100cqh !important;
	min-height: 100cqh !important;
	flex-shrink: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--cr-cream, #faf7f6) !important;
	box-shadow: none !important;
}

.cr-single-product__gallery--single .cr-single-product__gallery-slide {
	height: 100% !important;
	min-height: 100% !important;
	max-height: 100% !important;
}

.cr-single-product__gallery-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	pointer-events: none !important;
	user-select: none !important;
	box-shadow: none !important;
}

/* Fixed top bar over gallery — Figma node 3524:14642 */
.cr-single-product__photos-top {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 7 !important;
	display: flex !important;
	align-items: flex-start !important;
	padding: 1.25rem 2.5rem !important;
	pointer-events: none !important;
}

.cr-single-product__photos-top > * {
	pointer-events: auto !important;
}

/* Breadcrumbs — Figma: Quicksand 12px, grey links, black current */
.cr-single-product__breadcrumbs {
	display: flex !important;
	align-items: center !important;
	gap: 0.25rem !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	color: var(--cr-black, #333) !important;
}

.cr-single-product__breadcrumbs .woocommerce-breadcrumb {
	display: flex !important;
	align-items: center !important;
	gap: 0.25rem !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 0.75rem !important;
	line-height: 1.34 !important;
	color: var(--cr-black, #333) !important;
	background: none !important;
}

.cr-single-product__breadcrumbs a,
.cr-single-product__breadcrumbs .woocommerce-breadcrumb a {
	color: var(--cr-grey, #888) !important;
	text-decoration: none !important;
}

.cr-single-product__breadcrumbs a:link,
.cr-single-product__breadcrumbs a:visited,
.cr-single-product__breadcrumbs a:active,
.cr-single-product__breadcrumbs .woocommerce-breadcrumb a:link,
.cr-single-product__breadcrumbs .woocommerce-breadcrumb a:visited,
.cr-single-product__breadcrumbs .woocommerce-breadcrumb a:active {
	color: var(--cr-grey, #888) !important;
}

.cr-single-product__breadcrumbs a:hover,
.cr-single-product__breadcrumbs a:focus,
.cr-single-product__breadcrumbs .woocommerce-breadcrumb a:hover,
.cr-single-product__breadcrumbs .woocommerce-breadcrumb a:focus {
	color: var(--cr-grey, #888) !important;
}

.cr-single-product__breadcrumbs .cr-breadcrumb__sep {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	color: var(--cr-grey, #888) !important;
	margin: 0 !important;
	line-height: 0 !important;
}

.cr-single-product__breadcrumbs .cr-breadcrumb__sep svg {
	display: block !important;
	width: 0.75rem !important;
	height: 0.75rem !important;
}

/* Zoom button — Figma: bottom-right, fixed over scrolling gallery */
.cr-single-product__zoom-btn {
	position: absolute !important;
	bottom: 2.25rem !important;
	right: 3rem !important;
	z-index: 6 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2rem !important;
	height: 2rem !important;
	padding: 0.5rem !important;
	border: none !important;
	border-radius: 2rem !important;
	background: rgba(255, 255, 255, 0.6) !important;
	backdrop-filter: blur(0.312rem) !important;
	-webkit-backdrop-filter: blur(0.312rem) !important;
	cursor: pointer !important;
	color: var(--cr-black, #333) !important;
	transition: background 0.2s !important;
	box-shadow: none !important;
	pointer-events: auto !important;
}

.cr-single-product__zoom-btn:hover {
	background: rgba(255, 255, 255, 0.9) !important;
}

.cr-single-product__zoom-btn svg {
	display: block !important;
	width: 1rem !important;
	height: 1rem !important;
}

/* Zoomed state — toggle object-fit on the active gallery slide */
.cr-single-product--zoomed .cr-single-product__gallery {
	cursor: zoom-out !important;
}

.cr-single-product--zoomed .cr-single-product__gallery-slide.is-zoomed img {
	object-fit: cover !important;
	cursor: zoom-out !important;
}

/* Action icons — fixed 40px from top, breadcrumbs stay at 20px */
.cr-single-product__photos-top .cr-single-product__action-icons {
	position: absolute !important;
	top: 2.5rem !important;
	right: 2.5rem !important;
	z-index: auto !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0.5rem !important;
	flex-shrink: 0 !important;
}

.cr-single-product__action-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 1.5rem !important;
	height: 1.5rem !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	cursor: pointer !important;
	color: var(--cr-black, #333) !important;
	flex-shrink: 0 !important;
	line-height: 0 !important;
	box-shadow: none !important;
}

.cr-single-product__action-btn:hover {
	opacity: 0.7 !important;
}

.cr-single-product__action-btn svg {
	display: block !important;
	width: 1.5rem !important;
	height: 1.5rem !important;
}

.cr-single-product__wishlist .cr-icon--active {
	display: none !important;
}

.cr-single-product__wishlist.is-active .cr-icon--inactive {
	display: none !important;
}

.cr-single-product__wishlist.is-active .cr-icon--active {
	display: flex !important;
}

.cr-single-product__compare.is-active svg path[stroke] {
	stroke: var(--cr-pink, #e81f76) !important;
}

.cr-single-product__compare.is-active svg path[fill]:not([fill="none"]) {
	fill: var(--cr-pink, #e81f76) !important;
}

/* Thumbnail strip — Figma annotation: 2:3 ratio, absolute left center */
.cr-single-product__thumbs {
	position: absolute !important;
	left: 1.25rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 5 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.25rem !important;
	align-items: center !important;
	justify-content: center !important;
	pointer-events: auto !important;
	max-height: 100% !important;
	overflow-y: auto !important;
	scrollbar-width: none !important;
}

/* Hide the scrollbar but keep the strip scrollable */
.cr-single-product__thumbs::-webkit-scrollbar {
	width: 0 !important;
	display: none !important;
}

/* When the strip overflows, anchor it between the top bar and the bottom of
   the photos and switch to flex-start so every thumb is reachable. */
@media (min-width: 993px) {
	.cr-single-product__thumbs--scrollable {
		top: 5.5rem !important;
		bottom: 2.25rem !important;
		transform: none !important;
		justify-content: flex-start !important;
	}
}

.cr-single-product__thumb {
	position: relative !important;
	width: 3rem !important;
	height: 4.5rem !important;
	overflow: hidden !important;
	flex-shrink: 0 !important;
	background: var(--cr-cream, #faf7f6) !important;
	cursor: pointer !important;
	opacity: 0.5 !important;
	transition: opacity 0.2s !important;
}

.cr-single-product__thumb:hover,
.cr-single-product__thumb:focus-visible {
	opacity: 0.8 !important;
}

.cr-single-product__thumb.is-active {
	opacity: 1 !important;
}

.cr-single-product__thumb.is-active::after {
	content: '' !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 0.062rem !important;
	background: var(--cr-pink, #e81f76) !important;
}

.cr-single-product__thumb-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	pointer-events: none !important;
	box-shadow: none !important;
}

/* ── Product Info (right 50%). Fills the stage; scrolls only if it cannot fit. */

.cr-single-product__info {
	flex: 0 0 50% !important;
	width: 50% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 2.5rem !important;
	padding: 6rem 5rem 2.5rem !important;
	background: var(--cr-cream, #faf7f6) !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	align-self: stretch !important;
	scrollbar-width: thin !important;
}

/* Header */
.cr-single-product__header {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	width: 100% !important;
	flex-shrink: 0 !important;
}

.cr-single-product__title {
	margin: 0 !important;
	font-family: var(--cr-font-heading, 'Lora', Georgia, serif) !important;
	font-weight: 400 !important;
	font-size: 2rem !important;
	line-height: 1.24 !important;
	color: var(--cr-black, #333) !important;
	word-break: break-word !important;
}

.cr-single-product__sku {
	margin: 0 !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	word-break: break-word !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.cr-single-product__sku[hidden] {
	display: none !important;
}

.cr-single-product__pricing {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	flex-wrap: nowrap !important;
	white-space: nowrap !important;
}

.cr-single-product__stock {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	line-height: 1.34 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: var(--cr-grey, #888) !important;
	white-space: nowrap !important;
}

.cr-single-product__stock[hidden] {
	display: none !important;
}

.cr-single-product__price-old {
	font-family: var(--cr-font-heading, 'Lora', Georgia, serif) !important;
	font-weight: 400 !important;
	font-size: 1.25rem !important;
	line-height: 1.2 !important;
	color: var(--cr-grey, #888) !important;
	text-decoration: line-through !important;
	text-decoration-skip-ink: none !important;
}

.cr-single-product__price-old[hidden],
.cr-single-product__price-discount[hidden] {
	display: none !important;
}

.cr-single-product__price-old .woocommerce-Price-amount,
.cr-single-product__price-current .woocommerce-Price-amount {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
}

.cr-single-product__price-current {
	font-family: var(--cr-font-heading, 'Lora', Georgia, serif) !important;
	font-weight: 400 !important;
	font-size: 1.25rem !important;
	line-height: 1.2 !important;
	color: var(--cr-black, #333) !important;
}

.cr-single-product__price-discount {
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-pink, #e81f76) !important;
}

.cr-single-product__installment {
	display: flex !important;
	align-items: center !important;
	gap: 0.25rem !important;
	width: 100% !important;
}

.cr-single-product__installment-text {
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	white-space: nowrap !important;
}

.cr-single-product__installment-logo {
	display: block !important;
	flex-shrink: 0 !important;
	width: 5.375rem !important;
	height: 1.5rem !important;
	object-fit: cover !important;
	object-position: center !important;
	box-shadow: none !important;
	filter: none !important;
	-webkit-filter: none !important;
}

.cr-single-product__rating {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.562rem !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	cursor: pointer !important;
	color: inherit !important;
	font-family: inherit !important;
	box-shadow: none !important;
}

.cr-single-product__rating-num {
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
}

.cr-single-product__stars {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0 !important;
}

.cr-single-product__stars svg {
	display: block !important;
	width: 1rem !important;
	height: 1rem !important;
	color: var(--cr-black, #333) !important;
}

.cr-single-product__rating-count {
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-grey, #888) !important;
}

/* Options */
.cr-single-product__options {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	width: 100% !important;
	flex-shrink: 0 !important;
}

.cr-single-product__option-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding: 0.75rem 0 !important;
	border-bottom: 0.062rem solid var(--cr-border, #e7e7e7) !important;
	box-sizing: border-box !important;
}

.cr-single-product__option-row:first-child {
	padding-top: 0 !important;
	padding-bottom: 0.75rem !important;
}

.cr-single-product__option-label {
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
}

.cr-single-product__color-swatches {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.5rem !important;
}

.cr-single-product__color-swatch {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	width: 2rem !important;
	height: 2rem !important;
	padding: 0.312rem !important;
	border-radius: 50% !important;
	border: 0.062rem solid var(--cr-border, #e7e7e7) !important;
	background: transparent !important;
	cursor: pointer !important;
	transition: border-color 0.2s !important;
	flex-shrink: 0 !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}

.cr-single-product__color-swatch.is-selected,
.cr-single-product__color-swatch:hover {
	border-color: var(--cr-black, #333) !important;
}

.cr-single-product__color-swatch.is-out-of-stock::after {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	width: 140% !important;
	height: 0.062rem !important;
	background: var(--cr-grey, #888) !important;
	transform: translate(-50%, -50%) rotate(-45deg) !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

.cr-single-product__color-swatch-inner {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	border-radius: 0.625rem !important;
	background-color: var(--cr-swatch-color, #e7e7e7) !important;
	background-image: var(--cr-swatch-image, none) !important;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
}

.cr-single-product__size-select {
	position: relative !important;
	width: 9rem !important;
}

.cr-single-product__size-current {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 1rem !important;
	width: 100% !important;
	min-height: 3rem !important;
	padding: 0.75rem 0.5rem 0.75rem 2.75rem !important;
	border: 0.062rem solid var(--cr-border, #e7e7e7) !important;
	border-radius: 0.125rem !important;
	background: var(--cr-white, #fff) !important;
	cursor: pointer !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}

.cr-single-product__size-value,
.cr-single-product__size-current [data-cr-size-text] {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	text-align: center !important;
	line-height: 1.52 !important;
}

.cr-single-product__size-current:hover,
.cr-single-product__size-current:focus-visible {
	border-color: var(--cr-black, #333) !important;
}

.cr-single-product__size-current svg {
	flex-shrink: 0 !important;
	width: 1.5rem !important;
	height: 1.5rem !important;
	color: var(--cr-black, #333) !important;
}

.cr-single-product__size-chevron {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	line-height: 0 !important;
}

.cr-single-product__size-chevron--up {
	display: none !important;
}

.cr-single-product__size-current[aria-expanded="true"] .cr-single-product__size-chevron--down {
	display: none !important;
}

.cr-single-product__size-current[aria-expanded="true"] .cr-single-product__size-chevron--up {
	display: inline-flex !important;
}

.cr-single-product__size-dropdown {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 10 !important;
	margin: 0 !important;
	padding: 0.25rem 0 !important;
	list-style: none !important;
	background: var(--cr-white, #fff) !important;
	border: 0.062rem solid var(--cr-border, #e7e7e7) !important;
	border-top: none !important;
	border-radius: 0 0 0.125rem 0.125rem !important;
	max-height: 12.5rem !important;
	overflow-y: auto !important;
}

.cr-single-product__size-dropdown[hidden] {
	display: none !important;
}

.cr-single-product__size-option {
	padding: 0.5rem 0.75rem !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	cursor: pointer !important;
	text-align: center !important;
}

.cr-single-product__size-option:hover {
	background: var(--cr-cream, #faf7f6) !important;
}

.cr-single-product__size-option-stock {
	display: none !important;
	margin-left: 0.5rem !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: var(--cr-grey, #888) !important;
}

.cr-single-product__size-option.is-out-of-stock .cr-single-product__size-option-label {
	color: var(--cr-grey, #888) !important;
	text-decoration: line-through !important;
}

.cr-single-product__size-option.is-out-of-stock .cr-single-product__size-option-stock {
	display: inline !important;
}

.cr-single-product__size-option.is-selected {
	font-weight: 500 !important;
	background: var(--cr-pink-50, #fef1f8) !important;
}

.cr-single-product__qty {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	width: 9rem !important;
	height: 3rem !important;
	padding: 0.25rem !important;
	border: 0.062rem solid var(--cr-border, #e7e7e7) !important;
	border-radius: 0.125rem !important;
	background: var(--cr-white, #fff) !important;
	box-sizing: border-box !important;
}

.cr-single-product__qty-btn {
	display: flex !important;
	flex: 1 0 0 !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100% !important;
	min-width: 0 !important;
	padding: 0.5rem !important;
	border: none !important;
	border-radius: 0.125rem !important;
	background: none !important;
	cursor: pointer !important;
	color: var(--cr-black, #333) !important;
	box-shadow: none !important;
}

.cr-single-product__qty-btn:hover {
	background: var(--cr-border, #e7e7e7) !important;
}

.cr-single-product__qty-btn svg {
	display: block !important;
	width: 1.5rem !important;
	height: 1.5rem !important;
}

.cr-single-product__qty-value {
	flex: 1 !important;
	text-align: center !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	min-width: 2.5rem !important;
}

.cr-single-product__size-guide {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.25rem !important;
	padding: 0.25rem 0 0 !important;
	border: none !important;
	background: none !important;
	cursor: pointer !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	position: relative !important;
	box-shadow: none !important;
	margin-top: 0.75rem !important;
}

.cr-single-product__size-guide::after {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 0.062rem !important;
	background: var(--cr-black, #333) !important;
}

.cr-single-product__size-guide:hover {
	opacity: 0.8 !important;
}

/* Accordion */
.cr-single-product__accordion {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	flex-shrink: 0 !important;
}

.cr-single-product__accordion-item {
	border-bottom: 0.062rem solid var(--cr-border, #e7e7e7) !important;
}

.cr-single-product__accordion-trigger {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
	width: 100% !important;
	padding: 0.75rem 0 !important;
	border: none !important;
	border-bottom: 0.062rem solid var(--cr-border, #e7e7e7) !important;
	background: none !important;
	cursor: pointer !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	text-align: left !important;
	text-transform: uppercase !important;
	letter-spacing: normal !important;
	box-shadow: none !important;
}

.cr-single-product__accordion-trigger:last-child {
	border-bottom: none !important;
}

.cr-single-product__accordion-trigger:hover {
	color: var(--cr-pink, #e81f76) !important;
}

.cr-single-product__accordion-trigger svg {
	flex-shrink: 0 !important;
	width: 1.5rem !important;
	height: 1.5rem !important;
	color: var(--cr-black, #333) !important;
}

/* CTA */
.cr-single-product__cta {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
	align-items: center !important;
	width: 100% !important;
	flex-shrink: 0 !important;
	margin-top: auto !important;
}

.cr-single-product__add-to-cart {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.625rem !important;
	width: 100% !important;
	height: 3rem !important;
	padding: 0.75rem 1rem !important;
	border: none !important;
	border-radius: 0.125rem !important;
	background: var(--cr-pink, #e81f76) !important;
	color: var(--cr-white, #fff) !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	cursor: pointer !important;
	transition: background 0.2s !important;
	backdrop-filter: blur(0.312rem) !important;
	-webkit-backdrop-filter: blur(0.312rem) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

.cr-single-product__add-to-cart:hover {
	background: var(--cr-pink-700, #ca0c59) !important;
	color: var(--cr-white, #fff) !important;
}

.cr-single-product__add-to-cart:disabled,
.cr-single-product__add-to-cart.is-out-of-stock {
	background: #b0b0b0 !important;
	color: #fff !important;
	cursor: not-allowed !important;
}

.cr-single-product__add-to-cart:disabled:hover,
.cr-single-product__add-to-cart.is-out-of-stock:hover {
	background: #b0b0b0 !important;
}

.cr-single-product__add-to-cart svg {
	flex-shrink: 0 !important;
	width: 1.5rem !important;
	height: 1.5rem !important;
}

.cr-single-product__add-to-cart svg path {
	fill: currentColor !important;
}

.cr-single-product__payment-options {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.25rem !important;
	padding: 0.25rem 0 0 !important;
	border: none !important;
	background: none !important;
	cursor: pointer !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	position: relative !important;
	box-shadow: none !important;
}

.cr-single-product__payment-options::after {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 0.062rem !important;
	background: var(--cr-black, #333) !important;
}

.cr-single-product__payment-options:hover {
	opacity: 0.8 !important;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */

/* Shorter desktop windows: keep the full info inside the stage. */
@media (min-width: 993px) and (max-height: 960px) {
	.cr-single-product__info {
		padding-top: 3.5rem !important;
		padding-bottom: 1.5rem !important;
		gap: 1.5rem !important;
	}
}

@media (min-width: 993px) and (max-height: 820px) {
	.cr-single-product__info {
		padding-top: 2rem !important;
		padding-bottom: 1.25rem !important;
		gap: 1rem !important;
	}

	.cr-single-product__accordion-trigger,
	.cr-single-product__option-row {
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
	}
}

@media (max-width: 1200px) {
	.cr-single-product__info {
		padding-left: 3rem !important;
		padding-right: 3rem !important;
	}

	.cr-single-product__title {
		font-size: 1.75rem !important;
	}

	.cr-single-product__photos-top {
		padding: 1.25rem 1.5rem !important;
	}

	.cr-single-product__photos-top .cr-single-product__action-icons {
		right: 1.5rem !important;
	}
}

@media (max-width: 1200px) and (min-height: 961px) {
	.cr-single-product__info {
		padding-top: 5rem !important;
		padding-bottom: 2rem !important;
	}
}

@media (max-width: 992px) {
	.cr-single-product-layout.single-product div.product.cr-single-product,
	.single-product.cr-single-product-layout div.product.cr-single-product,
	.cr-single-product {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.cr-single-product-layout #content,
	.cr-single-product-layout .site-content,
	.cr-single-product-layout #primary,
	.cr-single-product-layout .site-main,
	.cr-single-product-layout .ast-woocommerce-container,
	.cr-single-product-layout article,
	.single-product.cr-single-product-layout #content,
	.single-product.cr-single-product-layout .site-content,
	.single-product.cr-single-product-layout #primary,
	.single-product.cr-single-product-layout .site-main,
	.single-product.cr-single-product-layout .ast-woocommerce-container,
	.single-product.cr-single-product-layout article {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	.cr-single-product-layout .site-footer,
	.single-product.cr-single-product-layout .site-footer {
		display: block !important;
	}

	.cr-single-product {
		flex-direction: column !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.cr-single-product__photos {
		position: relative !important;
		top: auto !important;
		flex: 0 0 auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
		align-self: stretch !important;
	}

	.cr-single-product__photos-media {
		position: relative !important;
		inset: auto !important;
		flex: 0 0 auto !important;
		height: 70vh !important;
		min-height: 26.25rem !important;
		max-height: 70vh !important;
	}

	.cr-single-product__gallery {
		flex: 1 1 auto !important;
		height: 100% !important;
		min-height: 0 !important;
	}

	.cr-single-product__gallery-slide {
		height: 100% !important;
		min-height: 100% !important;
	}

	.cr-single-product__gallery--single .cr-single-product__gallery-slide {
		height: 100% !important;
		min-height: 100% !important;
		max-height: 100% !important;
	}

	.cr-single-product__info {
		flex: none !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 3rem 2rem 2rem !important;
		gap: 2rem !important;
		overflow: visible !important;
	}

	.cr-single-product__title {
		font-size: 1.5rem !important;
	}

	.cr-single-product__photos-top {
		padding: 1rem !important;
	}

	.cr-single-product__photos-top .cr-single-product__action-icons {
		top: 2.5rem !important;
		right: 1rem !important;
	}

	.cr-single-product__zoom-btn {
		bottom: 1rem !important;
		right: 1rem !important;
	}

	.cr-single-product__thumbs {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		flex-direction: row !important;
		padding: 0.5rem 1rem !important;
		overflow-x: auto !important;
		gap: 0.5rem !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.cr-single-product__thumb {
		width: 3.5rem !important;
		height: 4rem !important;
		flex-shrink: 0 !important;
	}
}

@media (max-width: 576px) {
	/* Gallery — horizontal swipe. Figma 4639:54392 is a 360×560 photo,
	   object-contain on cream. Explicit height so the size container cannot collapse. */
	.cr-single-product__photos {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.cr-single-product__photos-media,
	.cr-single-product__gallery,
	.cr-single-product__gallery-track,
	.cr-single-product__gallery-slide {
		height: 35rem !important;
		min-height: 35rem !important;
		max-height: 35rem !important;
	}

	.cr-single-product__photos-media {
		flex: 0 0 35rem !important;
	}

	.cr-single-product__gallery {
		flex: 0 0 auto !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
	}

	.cr-single-product__gallery-track {
		flex-direction: row !important;
		width: 100% !important;
	}

	.cr-single-product__gallery-slide {
		flex: 0 0 100% !important;
		width: 100% !important;
		scroll-snap-align: start !important;
		background: var(--cr-cream, #faf7f6) !important;
	}

	.cr-single-product__gallery-img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
	}

	.cr-single-product__gallery--single .cr-single-product__gallery-slide {
		height: 35rem !important;
		min-height: 35rem !important;
		max-height: 35rem !important;
	}

	/* Breadcrumbs — Figma 1832:36008. Own row above the photo: 8px 16px,
	   12px Quicksand, 4px gap, one line. Icons stay on the image (4639:54392). */
	.cr-single-product__photos-top {
		position: relative !important;
		align-items: center !important;
		padding: 0 !important;
		z-index: 7 !important;
	}

	.cr-single-product__breadcrumbs {
		width: 100% !important;
		padding: 0.5rem 1rem !important;
		box-sizing: border-box !important;
	}

	.cr-single-product__breadcrumbs .woocommerce-breadcrumb {
		display: block !important;
		overflow: hidden !important;
		white-space: nowrap !important;
		text-overflow: ellipsis !important;
		min-width: 0 !important;
	}

	.cr-single-product__breadcrumbs .cr-breadcrumb__sep {
		margin: 0 0.25rem !important;
		vertical-align: middle !important;
	}

	.cr-single-product__photos-top .cr-single-product__action-icons {
		top: calc(100% + 1rem) !important;
		right: 1rem !important;
		gap: 0.5rem !important;
		z-index: 8 !important;
	}

	/* Zoom button */
	.cr-single-product__zoom-btn {
		bottom: 1rem !important;
		right: 1rem !important;
	}

	/* Thumbnails — bottom center with backdrop blur */
	.cr-single-product__thumbs {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		flex-direction: row !important;
		padding: 0.5rem 1rem !important;
		overflow-x: auto !important;
		gap: 0.25rem !important;
		width: 100% !important;
		box-sizing: border-box !important;
		background: rgba(255, 255, 255, 0.6) !important;
		backdrop-filter: blur(0.312rem) !important;
		-webkit-backdrop-filter: blur(0.312rem) !important;
		justify-content: center !important;
	}

	.cr-single-product__thumb {
		width: 3rem !important;
		height: 4rem !important;
		flex-shrink: 0 !important;
	}

	/* Product Info — Figma: 80px top, 16px sides, 40px gap */
	.cr-single-product__info {
		padding: 5rem 1rem !important;
		gap: 2.5rem !important;
	}

	/* Header */
	.cr-single-product__header {
		gap: 0.75rem !important;
	}

	.cr-single-product__title {
		font-size: 1.125rem !important;
	}

	.cr-single-product__sku {
		font-size: 0.75rem !important;
		line-height: 1.32 !important;
	}

	.cr-single-product__price-old {
		font-size: 1rem !important;
		line-height: 1.12 !important;
	}

	.cr-single-product__price-current {
		font-size: 1rem !important;
		line-height: 1.52 !important;
	}

	.cr-single-product__price-discount {
		font-size: 0.75rem !important;
		line-height: 1.34 !important;
	}

	.cr-single-product__installment {
		flex-wrap: wrap !important;
	}

	.cr-single-product__installment-text {
		white-space: normal !important;
	}

	/* Options — keep horizontal (label left, control right) */
	.cr-single-product__option-row {
		flex-direction: row !important;
		align-items: center !important;
		gap: 0 !important;
		padding: 0.75rem 0 !important;
	}

	.cr-single-product__option-row:first-child {
		padding-top: 0 !important;
		padding-bottom: 0.75rem !important;
	}

	.cr-single-product__size-select,
	.cr-single-product__qty {
		width: 9rem !important;
	}

	/* Accordion — Figma: 8px vertical padding */
	.cr-single-product__accordion-trigger {
		padding: 0.5rem 0 !important;
	}

	/* CTA — hide inline Add to Cart (moved to sticky bar), keep More Payment Options */
	/*.cr-single-product__add-to-cart {
		display: none !important;
	}*/

	.cr-single-product__cta {
		gap: 0 !important;
		margin-top: 0 !important;
	}

	.cr-single-product__payment-options {
		margin-top : 4.5rem !important;
	}
}

/* =============================================================================
   PRODUCT REVIEWS — Figma node 1578:27609
   ============================================================================= */

.cr-product-reviews {
	flex: 0 0 auto !important;
	width: 100% !important;
	background: var(--cr-white, #fff) !important;
}

.cr-product-reviews__inner {
	display: grid !important;
	grid-template-columns: 10.188rem minmax(0, 1fr) !important;
	align-items: start !important;
	gap: 7.5rem !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 5rem 2.5rem !important;
	box-sizing: border-box !important;
}

.cr-product-reviews__stats {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 1.25rem !important;
	width: 10.188rem !important;
	flex-shrink: 0 !important;
}

.cr-product-reviews__stat {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.25rem !important;
	align-items: center !important;
	width: 100% !important;
}

.cr-product-reviews__label {
	width: 100% !important;
	margin: 0 !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	letter-spacing: 0.05rem !important;
	text-transform: uppercase !important;
	color: var(--cr-black, #333) !important;
	text-align: center !important;
}

.cr-product-reviews__score {
	display: inline-grid !important;
	grid-template-columns: max-content !important;
	grid-template-rows: max-content !important;
	place-items: start !important;
	line-height: 0 !important;
	white-space: nowrap !important;
}

.cr-product-reviews__score-value {
	grid-column: 1 !important;
	grid-row: 1 !important;
	font-family: var(--cr-font-heading, 'Lora', Georgia, serif) !important;
	font-weight: 400 !important;
	font-size: 5rem !important;
	line-height: 1.2 !important;
	color: var(--cr-black, #333) !important;
}

.cr-product-reviews__score-max {
	grid-column: 1 !important;
	grid-row: 1 !important;
	margin: 3.625rem 0 0 3rem !important;
	font-family: var(--cr-font-heading, 'Lora', Georgia, serif) !important;
	font-weight: 400 !important;
	font-size: 1.25rem !important;
	line-height: 1.2 !important;
	color: var(--cr-grey, #888) !important;
}

.cr-product-reviews__rating-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.562rem !important;
	width: 100% !important;
}

.cr-product-reviews__stars,
.cr-product-reviews__item-stars {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0 !important;
}

.cr-product-reviews__stars .cr-review-star-svg,
.cr-product-reviews__item-stars .cr-review-star-svg {
	display: block !important;
	width: 1rem !important;
	height: 1rem !important;
	flex-shrink: 0 !important;
}

.cr-product-reviews__count {
	flex-shrink: 0 !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	white-space: nowrap !important;
}

.cr-product-reviews__write-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 3rem !important;
	padding: 0.75rem 1rem !important;
	border: none !important;
	border-radius: 0.125rem !important;
	background: var(--cr-pink, #e81f76) !important;
	color: var(--cr-white, #fff) !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	cursor: pointer !important;
	backdrop-filter: blur(0.312rem) !important;
	-webkit-backdrop-filter: blur(0.312rem) !important;
	box-shadow: none !important;
	transition: opacity 0.2s !important;
}

.cr-product-reviews__write-btn:hover {
	opacity: 0.9 !important;
}

.cr-product-reviews__frame {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 2.5rem !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

.cr-product-reviews__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.cr-product-reviews__item {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	padding: 1.25rem 0 !important;
	border-bottom: 0.062rem solid var(--cr-border, #e7e7e7) !important;
}

.cr-product-reviews__item:first-child {
	padding-top: 0 !important;
}

.cr-product-reviews__item.is-hidden {
	display: none !important;
}

.cr-product-reviews__item-top {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	width: 100% !important;
}

.cr-product-reviews__item-date {
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 0.75rem !important;
	line-height: 1.34 !important;
	letter-spacing: 0.037rem !important;
	text-transform: uppercase !important;
	color: var(--cr-black, #333) !important;
}

.cr-product-reviews__item-author {
	margin: 0 !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
}

.cr-product-reviews__item-title {
	margin: 0 !important;
	font-family: var(--cr-font-heading, 'Lora', Georgia, serif) !important;
	font-weight: 400 !important;
	font-size: 1.25rem !important;
	line-height: 1.2 !important;
	color: var(--cr-black, #333) !important;
}

.cr-product-reviews__item-photos {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
}

.cr-product-reviews__item-photo {
	width: 11.25rem !important;
	height: 7.5rem !important;
	border-radius: 0.125rem !important;
	overflow: hidden !important;
	background: var(--cr-cream, #faf7f6) !important;
}

.cr-product-reviews__item-photo-img,
.cr-product-reviews__item-photo img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.cr-product-reviews__item-content {
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
}

.cr-product-reviews__item-content p {
	margin: 0 !important;
}

.cr-product-reviews__empty,
.cr-product-reviews__verification {
	margin: 0 !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-grey, #888) !important;
}

.cr-product-reviews__more-btn {
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	align-self: flex-start !important;
	gap: 0.188rem !important;
	width: auto !important;
	margin: 0 auto 0 0 !important;
	padding: 0.25rem 0 0 !important;
	border: none !important;
	background: none !important;
	cursor: pointer !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	box-shadow: none !important;
}

.cr-product-reviews__more-btn span {
	position: relative !important;
}

.cr-product-reviews__more-btn span::after {
	content: '' !important;
	display: block !important;
	height: 0.062rem !important;
	margin-top: 0.188rem !important;
	background: var(--cr-black, #333) !important;
}

.cr-product-reviews__more-btn:hover {
	opacity: 0.8 !important;
}

.cr-product-reviews__form {
	border-top: 0.062rem solid var(--cr-border, #e7e7e7) !important;
	background: var(--cr-white, #fff) !important;
}

.cr-product-reviews__form-inner {
	max-width: 45rem !important;
	margin: 0 auto !important;
	padding: 2.5rem 2.5rem 5rem !important;
}

.cr-product-reviews__form-title {
	margin: 0 0 1.5rem !important;
	font-family: var(--cr-font-heading, 'Lora', Georgia, serif) !important;
	font-weight: 400 !important;
	font-size: 1.5rem !important;
	line-height: 1.32 !important;
	color: var(--cr-black, #333) !important;
}

.cr-product-reviews__comment-form p {
	margin: 0 0 1rem !important;
}

.cr-product-reviews__comment-form label {
	display: block !important;
	margin-bottom: 0.5rem !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
}

.cr-product-reviews__comment-form input[type="text"],
.cr-product-reviews__comment-form input[type="email"],
.cr-product-reviews__comment-form select,
.cr-product-reviews__comment-form textarea {
	width: 100% !important;
	padding: 0.75rem !important;
	border: 0.062rem solid var(--cr-border, #e7e7e7) !important;
	border-radius: 0.125rem !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-size: 1rem !important;
	line-height: 1.52 !important;
	color: var(--cr-black, #333) !important;
	box-sizing: border-box !important;
}

.cr-product-reviews__comment-form .form-submit .submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 3rem !important;
	padding: 0.75rem 1.5rem !important;
	border: none !important;
	border-radius: 0.125rem !important;
	background: var(--cr-pink, #e81f76) !important;
	color: var(--cr-white, #fff) !important;
	font-family: var(--cr-font-body, 'Quicksand', 'Segoe UI', sans-serif) !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	cursor: pointer !important;
	box-shadow: none !important;
}

@media (max-width: 992px) {
	.cr-product-reviews {
		background: var(--cr-cream, #faf7f6) !important;
	}

	.cr-product-reviews__inner {
		grid-template-columns: 1fr !important;
		padding: 3rem 2rem !important;
		gap: 2.5rem !important;
	}

	.cr-product-reviews__stats {
		width: 100% !important;
		max-width: 17.5rem !important;
		align-items: flex-start !important;
	}

	.cr-product-reviews__rating-row {
		justify-content: flex-start !important;
	}

	.cr-product-reviews__frame {
		max-width: none !important;
	}

	.cr-product-reviews__form-inner {
		padding: 2rem 2rem 3rem !important;
	}
}

@media (max-width: 576px) {
	.cr-product-reviews__inner {
		padding: 5rem 1rem !important;
	}

	.cr-product-reviews__stats {
		align-items: center !important;
		max-width: none !important;
	}

	.cr-product-reviews__label {
		text-align: center !important;
	}

	.cr-product-reviews__rating-row {
		justify-content: center !important;
	}

	.cr-product-reviews__score-value {
		font-size: 5rem !important;
	}

	.cr-product-reviews__score-max {
		margin: 3.625rem 0 0 3rem !important;
		font-size: 1.25rem !important;
	}

	.cr-product-reviews__write-btn {
		height: 3rem !important;
	}

	.cr-product-reviews__form-inner {
		padding: 1.5rem 1rem 2.5rem !important;
	}


}

/* Beat Astra's later `button { text-transform: uppercase }` (loads after this file). */
html body.single-product button.cr-single-product__add-to-cart,
html body.single-product button.cr-single-product__add-to-cart span,
html body.single-product button.cr-single-product-sticky__add-to-cart,
html body.single-product button.cr-single-product-sticky__add-to-cart span,
html body.single-product button.cr-single-product__size-guide,
html body.single-product button.cr-single-product__payment-options,
html body.single-product button.cr-product-reviews__write-btn,
html body.single-product button.cr-review-popup__submit,
html body.single-product .cr-review-popup__label,
html body.single-product button.cr-product-reviews__more-btn,
html body.single-product button.cr-product-reviews__more-btn span,
html body.single-product button.cr-product-recs__tab {
	text-transform: none !important;
	letter-spacing: normal !important;
}

html body.single-product .cr-product-reviews__frame {
	align-items: flex-start !important;
	justify-content: flex-start !important;
}

html body.single-product button.cr-product-reviews__more-btn {
	display: inline-flex !important;
	align-self: flex-start !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	width: auto !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	text-align: left !important;
	float: none !important;
}
