/* =============================================================
   SINGLE PRODUCT PAGE — FULL REDESIGN
   Loads at priority 9999. Brand: #E41F21 | #01773D | #FFC947
   ============================================================= */

/* ── Breadcrumb ─────────────────────────────────────────────── */
body.single-product .ct-breadcrumbs {
	font-size: 0.78rem !important;
	font-weight: 500 !important;
	color: #999 !important;
	margin-bottom: 24px !important;
}

body.single-product .ct-breadcrumbs a {
	color: #01773D !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

body.single-product .ct-breadcrumbs a:hover {
	color: #E41F21 !important;
}

/* ── Product entry wrapper — card treatment ─────────────────── */
body.single-product .product-entry-wrapper {
	background: #ffffff !important;
	border-radius: 24px !important;
	padding: 36px !important;
	box-shadow: 0 8px 60px rgba(34, 34, 34, 0.1) !important;
	overflow: visible !important;
}

/* ── Product image gallery ──────────────────────────────────── */
/* NOTE: NO overflow:hidden here — that clips the thumbnail strip */
body.single-product .woocommerce-product-gallery {
	border-radius: 0 !important;
	overflow: visible !important;
	background: transparent !important;
}

/* Main image wrapper (first flexy item) */
body.single-product .woocommerce-product-gallery .flexy-item:first-child,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
	border-radius: 16px !important;
	overflow: hidden !important;
	background: #FFF3E0 !important;
	box-shadow: 0 6px 32px rgba(34, 34, 34, 0.12) !important;
}

body.single-product .woocommerce-product-gallery .flexy-item:first-child img {
	border-radius: 14px !important;
	width: 100% !important;
	display: block !important;
}

/* ── Thumbnail pills strip (Blocksy uses .flexy-pills) ───────── */
body.single-product .ct-product-gallery-container {
	overflow: visible !important;
}

body.single-product .woocommerce-product-gallery__wrapper {
	overflow: visible !important;
}

/* .flexy-pills = the thumbnail strip Blocksy renders below the main image */
body.single-product .flexy-pills {
	margin-top: 12px !important;
	gap: 8px !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: flex-start !important;
}

/* Each thumbnail pill item */
body.single-product .flexy-pills .flexy-pill {
	border-radius: 8px !important;
	overflow: hidden !important;
	border: 2px solid transparent !important;
	cursor: pointer !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	box-shadow: 0 1px 6px rgba(34, 34, 34, 0.08) !important;
}

body.single-product .flexy-pills .flexy-pill:hover {
	border-color: #E41F21 !important;
	box-shadow: 0 2px 10px rgba(228, 31, 33, 0.25) !important;
}

body.single-product .flexy-pills .flexy-pill.active,
body.single-product .flexy-pills .flexy-pill[aria-selected="true"],
body.single-product .flexy-pills .flexy-pill.is-selected {
	border-color: #E41F21 !important;
	box-shadow: 0 2px 14px rgba(228, 31, 33, 0.35) !important;
}

body.single-product .flexy-pills img {
	display: block !important;
	object-fit: cover !important;
	width: 70px !important;
	height: 70px !important;
}

/* Thumbnail left layout */
body.single-product .thumbs-left .flexy-pills {
	flex-direction: column !important;
	margin-top: 0 !important;
	margin-right: 12px !important;
}

/* Flexy navigation arrows */
body.single-product .flexy-arrow-prev,
body.single-product .flexy-arrow-next {
	background: #ffffff !important;
	color: #E41F21 !important;
	border-radius: 50% !important;
	width: 40px !important;
	height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 2px 14px rgba(34, 34, 34, 0.15) !important;
	transition: all 0.2s ease !important;
	cursor: pointer !important;
	border: none !important;
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 2 !important;
}

body.single-product .flexy-arrow-prev {
	left: 12px !important;
}

body.single-product .flexy-arrow-next {
	right: 12px !important;
}

body.single-product .flexy-arrow-prev:hover,
body.single-product .flexy-arrow-next:hover {
	background: #E41F21 !important;
	color: #ffffff !important;
	box-shadow: 0 4px 18px rgba(228, 31, 33, 0.4) !important;
}

/* Zoom icon (appears on image hover) */
body.single-product .woocommerce-product-gallery__trigger {
	background: rgba(255, 255, 255, 0.95) !important;
	border-radius: 50% !important;
	width: 44px !important;
	height: 44px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 2px 12px rgba(34, 34, 34, 0.15) !important;
	transition: all 0.2s ease !important;
	top: 14px !important;
	right: 14px !important;
}

body.single-product .woocommerce-product-gallery__trigger:hover {
	background: #E41F21 !important;
	color: #fff !important;
}

body.single-product .woocommerce-product-gallery__trigger svg,
body.single-product .woocommerce-product-gallery__trigger img {
	filter: none !important;
}

body.single-product .woocommerce-product-gallery__trigger:hover svg {
	color: #fff !important;
}

/* ── Entry summary wrapper ──────────────────────────────────── */
body.single-product .entry-summary {
	padding-left: 8px !important;
}

/* ── Product title ──────────────────────────────────────────── */
body.single-product .entry-summary .entry-title {
	font-size: 1.9rem !important;
	font-weight: 800 !important;
	color: #1a1a1a !important;
	line-height: 1.2 !important;
	margin-bottom: 16px !important;
	letter-spacing: -0.02em !important;
}

/* ── Price — before variation selected ─────────────────────── */
body.single-product .entry-summary .price {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: #E41F21 !important;
	margin-bottom: 0 !important;
	line-height: 1.3 !important;
}

body.single-product .entry-summary .price del,
body.single-product .entry-summary .price del .amount,
body.single-product .entry-summary .price del bdi {
	color: #aaa !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	opacity: 1 !important;
}

body.single-product .entry-summary .price ins,
body.single-product .entry-summary .price ins .amount,
body.single-product .entry-summary .price ins bdi {
	color: #E41F21 !important;
	text-decoration: none !important;
}

body.single-product .entry-summary .price .amount,
body.single-product .entry-summary .price bdi {
	color: #E41F21 !important;
}

/* Selected variation price (shows below variation form) */
body.single-product .woocommerce-variation-price .price,
body.single-product .woocommerce-variation-price .price .amount,
body.single-product .woocommerce-variation-price .price bdi {
	font-size: 2rem !important;
	font-weight: 800 !important;
	color: #E41F21 !important;
}

/* ── Short description ──────────────────────────────────────── */
body.single-product .woocommerce-product-details__short-description {
	color: #555 !important;
	font-size: 0.93rem !important;
	line-height: 1.7 !important;
	border-left: 3px solid #FFC947 !important;
	padding-left: 14px !important;
	margin-bottom: 8px !important;
}

/* ── Dividers ───────────────────────────────────────────────── */
body.single-product .entry-summary .ct-product-divider {
	border-color: #f0f0f0 !important;
	margin: 12px 0 !important;
}

/* ── Variation label (PKG:) ─────────────────────────────────── */
body.single-product .variations .label label {
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #222 !important;
}

/* ── Variation swatch buttons (size buttons) ─────────────────  */
body.single-product .variations_form [data-swatches-type="button"] .ct-swatch {
	border: 2px solid #e0e0e0 !important;
	border-radius: 8px !important;
	padding: 6px 16px !important;
	font-weight: 700 !important;
	font-size: 0.85rem !important;
	color: #444 !important;
	background: #fff !important;
	transition: all 0.2s ease !important;
	min-height: 36px !important;
}

body.single-product .variations_form [data-swatches-type="button"] li:not(.ct-out-of-stock):hover .ct-swatch {
	border-color: #E41F21 !important;
	color: #E41F21 !important;
	background: #fff8f8 !important;
}

body.single-product .variations_form [data-swatches-type="button"] .active .ct-swatch {
	background: #E41F21 !important;
	color: #ffffff !important;
	border-color: #E41F21 !important;
	box-shadow: 0 3px 10px rgba(228, 31, 33, 0.3) !important;
}

body.single-product .variations_form [data-swatches-type="button"] .ct-out-of-stock .ct-swatch {
	opacity: 0.4 !important;
	cursor: not-allowed !important;
}

/* Reset/Clear link */
body.single-product .reset_variations {
	color: #687279 !important;
	font-size: 0.82rem !important;
	text-decoration: underline !important;
	transition: color 0.2s ease !important;
}

body.single-product .reset_variations:hover {
	color: #E41F21 !important;
}

/* ── Quantity input ─────────────────────────────────────────── */
body.single-product .entry-summary .quantity input.qty {
	border: 2px solid #e0e0e0 !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	color: #222 !important;
	background: #fff !important;
	text-align: center !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease !important;
}

body.single-product .entry-summary .quantity input.qty:focus {
	border-color: #E41F21 !important;
	outline: none !important;
	box-shadow: 0 0 0 4px rgba(228, 31, 33, 0.12) !important;
}

/* Quantity +/- arrows (Blocksy type-2) */
body.single-product .quantity[data-type="type-2"] .ct-decrease-value,
body.single-product .quantity[data-type="type-2"] .ct-increase-value {
	color: #E41F21 !important;
	border-color: #e0e0e0 !important;
}

body.single-product .quantity[data-type="type-2"] .ct-decrease-value:hover,
body.single-product .quantity[data-type="type-2"] .ct-increase-value:hover {
	background: #E41F21 !important;
	color: #fff !important;
	border-color: #E41F21 !important;
}

/* ── Add to Cart button ─────────────────────────────────────── */
body.single-product .entry-summary-items > .ct-product-add-to-cart > .cart {
	--theme-button-max-width: none !important;
	gap: 12px !important;
	align-items: center !important;
}

body.single-product .single_add_to_cart_button,
body.single-product .cart .single_add_to_cart_button {
	background: #E41F21 !important;
	border-radius: 100px !important;
	padding: 15px 44px !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
	color: #ffffff !important;
	border: none !important;
	min-height: 56px !important;
	box-shadow: 0 6px 24px rgba(228, 31, 33, 0.35) !important;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	flex: 1 !important;
	max-width: none !important;
	width: auto !important;
}

body.single-product .single_add_to_cart_button:hover {
	background: #B81819 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 32px rgba(228, 31, 33, 0.45) !important;
	color: #fff !important;
}

body.single-product .single_add_to_cart_button.loading {
	opacity: 0.7 !important;
}

/* ── Product meta (SKU, Category) ───────────────────────────── */
body.single-product .mm-product-meta {
	padding-top: 14px !important;
	border-top: 1px solid #f0f0f0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px 20px !important;
}

body.single-product .mm-product-meta .sku_wrapper,
body.single-product .mm-product-meta .posted_in,
body.single-product .mm-product-meta .tagged_as {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 0.82rem !important;
	color: #888 !important;
}

body.single-product .mm-meta-label {
	font-weight: 700 !important;
	color: #555 !important;
	font-size: 0.78rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
}

body.single-product .mm-product-meta .sku {
	font-weight: 600 !important;
	color: #444 !important;
}

body.single-product .mm-product-meta .posted_in a,
body.single-product .mm-product-meta .tagged_as a {
	display: inline-flex !important;
	align-items: center !important;
	background: #e8f5ee !important;
	color: #01773D !important;
	border-radius: 100px !important;
	padding: 3px 12px !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	border: 1px solid rgba(1, 119, 61, 0.15) !important;
}

body.single-product .mm-product-meta .posted_in a:hover,
body.single-product .mm-product-meta .tagged_as a:hover {
	background: #01773D !important;
	color: #fff !important;
}

/* ── Product highlight badges ───────────────────────────────── */
body.single-product .mm-product-highlights {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 16px !important;
	padding: 18px !important;
	background: linear-gradient(135deg, #FFF8EE 0%, #FFFDF9 100%) !important;
	border-radius: 14px !important;
	border: 1px solid rgba(255, 201, 71, 0.3) !important;
}

body.single-product .mm-highlight {
	display: flex !important;
	align-items: center !important;
	gap: 7px !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	color: #444 !important;
	background: #fff !important;
	border-radius: 100px !important;
	padding: 6px 14px !important;
	border: 1px solid #f0e8d8 !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05) !important;
}

body.single-product .mm-highlight svg {
	color: #E41F21 !important;
	flex-shrink: 0 !important;
}

/* ── Shipping progress bar (Blocksy Companion) ──────────────── */
body.single-product [class*="ct-shipping-progress"] {
	background: #fff !important;
	border-radius: 14px !important;
	border: 1px solid rgba(1, 119, 61, 0.2) !important;
	padding: 14px 18px !important;
	box-shadow: 0 2px 12px rgba(1, 119, 61, 0.08) !important;
}

body.single-product .ct-shipping-progress-bar-message,
body.single-product [class*="ct-shipping-progress"] p {
	font-weight: 600 !important;
	font-size: 0.87rem !important;
	color: #01773D !important;
	margin-bottom: 8px !important;
}

body.single-product [class*="ct-shipping-progress"] [class*="progress-bar-track"],
body.single-product [class*="ct-shipping-progress"] .ct-progress-bar {
	background: #e8f5ee !important;
	border-radius: 99px !important;
	height: 8px !important;
	overflow: hidden !important;
}

body.single-product [class*="ct-shipping-progress"] [class*="progress-bar-active"],
body.single-product [class*="ct-shipping-progress"] [class*="progress-filled"] {
	background: linear-gradient(90deg, #005A2E, #01773D, #32A86C) !important;
	border-radius: 99px !important;
	height: 100% !important;
}

/* ── Social share icons ─────────────────────────────────────── */
body.single-product .ct-share-box .ct-share-links a {
	border-radius: 50% !important;
	transition: transform 0.2s ease !important;
}

body.single-product .ct-share-box .ct-share-links a:hover {
	transform: scale(1.12) !important;
}

/* ============================================================
   PRODUCT TABS
   ============================================================ */

body.single-product .woocommerce-tabs {
	margin-top: 48px !important;
}

/* Tab nav */
body.single-product .woocommerce-tabs .tabs,
body.single-product .woocommerce-tabs[data-type] .tabs {
	border-bottom: 2px solid #f0f0f0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	display: flex !important;
	gap: 0 !important;
	background: transparent !important;
	list-style: none !important;
}

body.single-product .woocommerce-tabs .tabs li,
body.single-product .woocommerce-tabs[data-type] .tabs li {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product .woocommerce-tabs .tabs li a,
body.single-product .woocommerce-tabs[data-type] .tabs li a {
	display: block !important;
	padding: 16px 28px !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.09em !important;
	color: #888 !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 3px solid transparent !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	margin-bottom: -2px !important;
}

body.single-product .woocommerce-tabs .tabs li a:hover,
body.single-product .woocommerce-tabs[data-type] .tabs li a:hover {
	color: #E41F21 !important;
	background: transparent !important;
	border-bottom-color: rgba(228, 31, 33, 0.3) !important;
}

body.single-product .woocommerce-tabs .tabs li.active a,
body.single-product .woocommerce-tabs[data-type] .tabs li.active a,
body.single-product .woocommerce-tabs .tabs li[aria-selected="true"] a {
	color: #E41F21 !important;
	border-bottom-color: #E41F21 !important;
	background: transparent !important;
}

/* Tab panels */
body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs [role="tabpanel"] {
	background: #ffffff !important;
	border-radius: 0 0 20px 20px !important;
	padding: 36px !important;
	box-shadow: 0 4px 30px rgba(34, 34, 34, 0.07) !important;
	border: none !important;
	margin-top: 0 !important;
}

/* Tab content typography */
body.single-product .woocommerce-tabs .panel h2,
body.single-product .woocommerce-tabs .panel h3 {
	font-size: 1rem !important;
	font-weight: 800 !important;
	color: #222 !important;
	margin: 20px 0 8px !important;
	padding-top: 12px !important;
}

body.single-product .woocommerce-tabs .panel h2:first-child,
body.single-product .woocommerce-tabs .panel h3:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.single-product .woocommerce-tabs .panel p {
	color: #555 !important;
	font-size: 0.93rem !important;
	line-height: 1.75 !important;
}

/* Additional information table */
body.single-product .woocommerce-tabs .panel .woocommerce-product-attributes th,
body.single-product .woocommerce-tabs .panel .shop_attributes th {
	font-weight: 700 !important;
	color: #333 !important;
	background: #f8f7f4 !important;
	padding: 10px 16px !important;
	border-color: #f0f0f0 !important;
	width: 30% !important;
}

body.single-product .woocommerce-tabs .panel .woocommerce-product-attributes td,
body.single-product .woocommerce-tabs .panel .shop_attributes td {
	padding: 10px 16px !important;
	border-color: #f0f0f0 !important;
	color: #555 !important;
}

/* ============================================================
   RELATED PRODUCTS
   ============================================================ */

body.single-product .related,
body.single-product .up-sells {
	margin-top: 64px !important;
}

body.single-product .related .ct-module-title,
body.single-product .up-sells .ct-module-title {
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	color: #222 !important;
	margin-bottom: 28px !important;
	position: relative !important;
	padding-bottom: 14px !important;
	display: block !important;
}

body.single-product .related .ct-module-title::after,
body.single-product .up-sells .ct-module-title::after {
	content: '' !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 50px !important;
	height: 3px !important;
	background: #E41F21 !important;
	border-radius: 2px !important;
}

/* Related product cards */
body.single-product .related [data-products] .product,
body.single-product .up-sells [data-products] .product {
	background: #ffffff !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 2px 20px rgba(34, 34, 34, 0.06) !important;
	border: 1px solid rgba(0, 0, 0, 0.04) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

body.single-product .related [data-products] .product:hover,
body.single-product .up-sells [data-products] .product:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 16px 48px rgba(34, 34, 34, 0.13) !important;
}

body.single-product .related [data-products] .woocommerce-loop-product__title,
body.single-product .up-sells [data-products] .woocommerce-loop-product__title {
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	color: #222 !important;
	line-height: 1.35 !important;
}

/* Related product price */
body.single-product .related [data-products] .price,
body.single-product .up-sells [data-products] .price {
	color: #01773D !important;
}

body.single-product .related [data-products] .price .amount,
body.single-product .up-sells [data-products] .price .amount,
body.single-product .related [data-products] .price bdi,
body.single-product .up-sells [data-products] .price bdi {
	color: #01773D !important;
	font-weight: 800 !important;
}

/* Related product "Add to Cart" button */
body.single-product .related [data-products] .button,
body.single-product .up-sells [data-products] .button,
body.single-product .related .ct-woo-card-actions .button,
body.single-product .up-sells .ct-woo-card-actions .button {
	background: #E41F21 !important;
	color: #ffffff !important;
	border-radius: 100px !important;
	font-weight: 700 !important;
	font-size: 0.82rem !important;
	padding: 10px 20px !important;
	border: none !important;
	transition: background 0.2s ease, transform 0.2s ease !important;
	box-shadow: 0 3px 10px rgba(228, 31, 33, 0.25) !important;
}

body.single-product .related [data-products] .button:hover,
body.single-product .up-sells [data-products] .button:hover {
	background: #B81819 !important;
	color: #fff !important;
	transform: translateY(-1px) !important;
}

/* Variation swatches on related product cards */
body.single-product .related [data-products] .ct-card-variation-swatches .active .ct-swatch,
body.single-product .up-sells [data-products] .ct-card-variation-swatches .active .ct-swatch {
	border-color: #E41F21 !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 999px) {
	body.single-product .product-entry-wrapper {
		padding: 24px !important;
	}

	body.single-product .entry-summary .entry-title {
		font-size: 1.5rem !important;
	}
}

@media (max-width: 768px) {
	body.single-product .product-entry-wrapper {
		padding: 16px !important;
		border-radius: 16px !important;
	}

	body.single-product .woocommerce-tabs .panel {
		padding: 24px !important;
	}

	body.single-product .single_add_to_cart_button {
		padding: 13px 24px !important;
		font-size: 0.92rem !important;
		min-height: 48px !important;
	}

	body.single-product .mm-product-highlights {
		gap: 8px !important;
	}
}

@media (max-width: 480px) {
	body.single-product .product-entry-wrapper {
		padding: 12px !important;
		border-radius: 12px !important;
	}

	/* Stack quantity + Add to cart vertically on very small screens */
	body.single-product .entry-summary-items > .ct-product-add-to-cart > .cart {
		flex-direction: column !important;
		gap: 10px !important;
		align-items: stretch !important;
	}

	body.single-product .single_add_to_cart_button,
	body.single-product .cart .single_add_to_cart_button {
		width: 100% !important;
		padding: 13px 20px !important;
		font-size: 0.9rem !important;
		min-height: 44px !important;
		border-radius: 12px !important;
		letter-spacing: 0.02em !important;
	}

	/* Quantity bar takes full width too */
	body.single-product .quantity {
		width: 100% !important;
		display: flex !important;
		justify-content: center !important;
	}

	body.single-product .woocommerce-variation-price .price,
	body.single-product .woocommerce-variation-price .price .amount,
	body.single-product .woocommerce-variation-price .price bdi {
		font-size: 1.5rem !important;
	}

	body.single-product .entry-summary .entry-title {
		font-size: 1.2rem !important;
	}

	body.single-product .woocommerce-tabs .tabs li a,
	body.single-product .woocommerce-tabs[data-type] .tabs li a {
		padding: 12px 16px !important;
		font-size: 0.72rem !important;
	}
}
