/* ShadowHero Crafts reversible storefront preview layer. */

/* Homepage sections: keep each product row compact and readable. */
.shc-products-section .products,
.shc-home-ranked-section .products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Product titles remain a single clean line. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.25;
}

/* Warm terracotta search treatment with a soft peach focus ring. */
.shc-search {
	border: 2px solid #bd6755 !important;
	border-radius: 999px !important;
	overflow: hidden !important;
	background: linear-gradient(90deg, #fff2ec, #fffaf7) !important;
	box-shadow: 0 0 0 4px rgba(246, 221, 213, .55), 0 5px 16px rgba(75, 54, 49, .08) !important;
}

.shc-search input {
	font-size: 15px;
}

.shc-search input::placeholder {
	color: #765f5a;
}

.shc-search:focus-within {
	border-color: #8f4338 !important;
	box-shadow: 0 0 0 4px rgba(240, 207, 198, .6), 0 5px 16px rgba(75, 54, 49, .12) !important;
}

.shc-search button {
	background: #bd6755 !important;
}

.shc-search button:hover {
	background: #8f4338 !important;
}

/* Neutral text and terracotta accents are easier to scan than green highlights. */
.shc-site-header,
.shc-site-header a,
.shc-primary-nav a {
	color: #2d292b;
}

.shc-primary-nav .shc-menu-item-has-mega > a::after {
	color: #8f4338;
}

/* Prevent every mega-menu panel from escaping the viewport. */
.shc-mega-menu {
	position: fixed !important;
	top: 190px !important;
	left: 16px !important;
	right: 16px !important;
	width: auto !important;
	max-width: none !important;
	transform: none !important;
	max-height: min(70vh, 520px) !important;
	overflow: hidden;
	z-index: 1000 !important;
}

.shc-mega-products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-height: 350px;
	overflow-y: auto;
	overflow-x: hidden;
}

.shc-mega-products a {
	white-space: normal;
	overflow-wrap: anywhere;
	text-overflow: clip;
}

/* All three hero slides share one frame height. */
.shc-hero-slider,
.shc-hero-slide,
.shc-hero-inner {
	box-sizing: border-box;
}

.shc-hero-slide {
	height: 600px !important;
	min-height: 600px !important;
	overflow: hidden;
}

.shc-products-section .products li.product,
.shc-home-ranked-section .products li.product {
	align-self: start;
}

.woocommerce ul.products li.product .price {
	display: inline-flex;
	align-items: center;
	margin-top: 0;
	padding: 5px 10px;
	border-radius: 999px;
	background: #fae6df;
	color: #8f4338;
	font-size: 15px;
	font-weight: 900;
	width: max-content !important;
	max-width: 100% !important;
	white-space: nowrap !important;
	float: none !important;
}

.shc-preview-action {
	color: #2d292b;
}

.shc-preview-action svg {
	width: 28px;
	height: 28px;
	padding: 4px;
	border: 1px solid #e5b5a9;
	border-radius: 50%;
	background: #fae6df;
	stroke: #8f4338;
}

/* Preview action icons added by preview.js. */
.shc-preview-action {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.shc-preview-action svg {
	width: 28px;
	height: 28px;
	stroke: currentColor;
	stroke-width: 1.8;
	fill: none;
}

@media (max-width: 700px) {
	.shc-mega-menu {
		top: 150px !important;
		left: 14px !important;
		right: 14px !important;
		max-height: 60vh !important;
	}

	.shc-mega-products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-height: none;
	}

	.shc-hero-slide {
		height: 560px !important;
		min-height: 560px !important;
	}
}

/* Broad fallbacks for the parent theme's alternate header/product markup. */
.search,
.shc-search,
.site-header form[role="search"] {
	border: 2px solid #bd6755 !important;
	border-radius: 999px !important;
	overflow: hidden !important;
	background: linear-gradient(90deg, #fff2ec, #fffaf7) !important;
	box-shadow: 0 0 0 4px rgba(246, 221, 213, .55), 0 5px 16px rgba(75, 54, 49, .08) !important;
}

.search button,
.shc-search button,
.site-header form[role="search"] button {
	background: #bd6755 !important;
	color: #fff !important;
}

.actions .action,
.actions a,
.shc-account-actions a {
	color: #2d292b;
}

.actions .action svg,
.actions a > svg,
.shc-account-actions a > svg,
.shc-preview-action svg,
.shc-membership-link > svg,
a[href*="membership"] > svg {
	display: block !important;
	width: 28px !important;
	height: 28px !important;
	padding: 5px !important;
	border: 1px solid #e5b5a9 !important;
	border-radius: 50% !important;
	background: #fae6df !important;
	stroke: #8f4338 !important;
	fill: none !important;
}

.woocommerce ul.products li.product .price,
.products li.product .price,
.product .price {
	display: inline-flex !important;
	align-items: center;
	margin-top: 0 !important;
	padding: 5px 10px !important;
	border-radius: 999px !important;
	background: #fae6df !important;
	color: #8f4338 !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	width: max-content !important;
	max-width: 100% !important;
	white-space: nowrap !important;
	float: none !important;
}

/* Etsy-inspired WooCommerce single-product presentation. */
.single-product div.product .summary,
.single-product div.product .summary * {
	font-family: Arial, Helvetica, sans-serif;
}

.single-product div.product .summary .price,
.single-product div.product p.price,
.single-product div.product span.price {
	display: inline-flex !important;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 9px;
	width: max-content !important;
	max-width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
	color: #2d292b !important;
	font-size: 32px !important;
	font-weight: 800 !important;
}

.single-product div.product .summary .price del {
	color: #6f6664 !important;
	font-size: 18px !important;
	font-weight: 500 !important;
}

.single-product div.product .summary .price ins {
	color: #2d292b !important;
	text-decoration: none !important;
}

.single-product div.product .summary .onsale {
	position: static !important;
	order: 3;
	margin: 0 !important;
	padding: 5px 9px !important;
	border-radius: 5px !important;
	background: #fbe5dd !important;
	color: #6f2b20 !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

.single-product div.product .summary h1.product_title {
	margin: 12px 0 14px !important;
	color: #2d292b !important;
	font-size: clamp(25px, 3vw, 38px) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: -.025em;
}

.single-product div.product .summary .woocommerce-product-details__short-description {
	color: #4d4543 !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
}

.single-product div.product .summary form.cart {
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px !important;
}

.single-product div.product .summary form.cart .quantity input,
.single-product div.product .summary form.cart .single_add_to_cart_button,
.single-product div.product .summary form.cart button.single_add_to_cart_button {
	min-height: 54px !important;
	border-radius: 999px !important;
}

.single-product div.product .summary form.cart .single_add_to_cart_button,
.single-product div.product .summary form.cart button.single_add_to_cart_button {
	padding: 0 28px !important;
	background: #2d292b !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 800 !important;
}

.single-product div.product .summary .product_meta {
	margin-top: 18px !important;
	color: #6f6664 !important;
	font-size: 13px !important;
}

.single-product div.product .woocommerce-product-gallery__image,
.single-product div.product .woocommerce-product-gallery__wrapper {
	border: 1px solid #eadfd8;
	background: #fffaf6;
}

.shc-receive-note {
	margin: 20px 0 0;
	color: #4d4543;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1.7;
}

.shc-receive-note h3 {
	margin: 0 0 8px;
	color: #2d292b;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .05em;
}

.shc-receive-note ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.shc-receive-note li::before {
	content: '✓';
	margin-right: 8px;
	color: #8f4338;
	font-weight: 900;
}

.shc-shop-proof {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	margin: 7px 0 18px;
	color: #2d292b;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
}

.shc-shop-proof strong {
	font-size: 16px;
}

.shc-shop-stars {
	color: #8f4338;
	letter-spacing: .08em;
}

.shc-shop-rating {
	color: #6f6664;
}
