/* Ensure all body copy renders in black across the theme */
body.hardsoft-shop,
body.hardsoft-shop p,
body.hardsoft-shop li,
body.hardsoft-shop label,
body.hardsoft-shop td,
body.hardsoft-shop th {
	color: #000;
}

/* Benefits box on get-started checkout — white text on pink */
body.hardsoft-shop .hs-get-started__benefits,
body.hardsoft-shop .hs-get-started__benefits li,
body.hardsoft-shop .hs-get-started__benefits li::before {
	color: #fff !important;
}

/* Make site links black by default but preserve explicit brand-red utility classes.
	Scope to .site so the WP admin bar is unaffected. */
body.hardsoft-shop .site a:not([class*="text-hs-red"]):not([class*="\\!text-hs-red"]) {
	color: #000 !important;
	opacity: 1 !important;
}

body.hardsoft-shop .site a[class*="text-hs-red"],
body.hardsoft-shop .site a[class*="\\!text-hs-red"] {
	color: var(--hs-color-hs-red) !important;
}

/* Do not interfere with the WordPress admin bar styling */

/* WooCommerce and cart/checkout text that previously inherited grey */
body.hardsoft-shop .wc-block-cart,
body.hardsoft-shop .wc-block-checkout,
body.hardsoft-shop .woocommerce {
	color: #000;
}

body.hardsoft-shop .wc-block-components-product-name,
body.hardsoft-shop .wc-block-components-product-name a,
body.hardsoft-shop .wc-block-cart-item__product-name,
body.hardsoft-shop .wc-block-cart-item__product-name a,
body.hardsoft-shop .wc-block-components-totals-item__label,
body.hardsoft-shop .wc-block-components-totals-item__value,
body.hardsoft-shop .wc-block-components-order-summary-item__description,
body.hardsoft-shop .wc-block-components-order-summary-item__name,
body.hardsoft-shop .cart-item-variations,
body.hardsoft-shop .cart-addon-item,
body.hardsoft-shop .cart-addon-item .addon-price,
body.hardsoft-shop .cart-addon-item .addon-name,
body.hardsoft-shop .cart-fee,
body.hardsoft-shop .fee-name,
body.hardsoft-shop .price-suffix {
	color: #000 !important;
}

/* Force any grey Tailwind text utility classes to render black */
body.hardsoft-shop .hs\:text-gray-500,
body.hardsoft-shop .hs\:text-gray-600,
body.hardsoft-shop .hs\:text-gray-700,
body.hardsoft-shop .hs\:text-gray-800,
body.hardsoft-shop .hs\:text-gray-900,
body.hardsoft-shop .hs\:\!text-gray-500,
body.hardsoft-shop .hs\:\!text-gray-600,
body.hardsoft-shop .hs\:\!text-gray-700,
body.hardsoft-shop .hs\:\!text-gray-800,
body.hardsoft-shop .hs\:\!text-gray-900 {
	color: #000 !important;
}

/* Catch any remaining prefixed Tailwind gray text utilities, even if new ones are added */
body.hardsoft-shop [class*="hs:text-gray"],
body.hardsoft-shop [class*="hs:\\!text-gray"] {
	color: #000 !important;
}

/* =====================================================================
   Smart Coupons display fixes
   ===================================================================== */

/* The plugin inlines max-height: 9rem — too small. Override it. */
#coupons_list .sc-accordion-content.open {
	max-height: 20rem !important;
	overflow-y: auto;
}

/* Coupon list container */
#sc-cc {
	padding: 0.75rem;
}

#sc-cc .sc-coupons-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: flex-start;
}

/* Individual coupon card */
#sc-cc .sc-coupon {
	position: relative;
	overflow: hidden;
	padding: 0.625rem;
	border-width: 1px;
	border-style: solid;
	border-radius: 0.375rem;
	cursor: pointer;
	min-width: 160px;
	max-width: 280px;
	transition: transform 0.1s ease-in-out;
}

#sc-cc .sc-coupon:hover {
	transform: scale(1.04);
}

/* Inner flex row: icon + text */
#sc-cc .sc-coupon .flex {
	display: flex;
	align-items: center;
}

/* Ticket SVG icon */
#sc-cc .sc-coupon svg {
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
}

/* Text block next to icon */
#sc-cc .sc-coupon .mx-2 {
	margin-left: 0.5rem;
	margin-right: 0.5rem;
}

/* Discount amount + label row */
#sc-cc .sc-coupon .inline-flex {
	display: inline-flex;
	align-items: center;
}

#sc-cc .sc-coupon .space-x-1 > * + * {
	margin-left: 0.25rem;
}

#sc-cc .sc-coupon .text-sm {
	font-size: 0.875rem;
}

#sc-cc .sc-coupon .font-bold {
	font-weight: 700;
}

#sc-cc .sc-coupon .uppercase {
	text-transform: uppercase;
}

#sc-cc .sc-coupon .leading-none {
	line-height: 1;
}

/* Coupon code + expiry block */
#sc-cc .sc-coupon .space-y-1 > * + * {
	margin-top: 0.25rem;
}

#sc-cc .sc-coupon .text-xs {
	font-size: 0.75rem;
	line-height: 1;
}

#sc-cc .sc-coupon .font-mono {
	font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
	letter-spacing: 0.05em;
}

/* Constrain images if a non-basic coupon design is used */
#sc-cc img {
	max-width: 100%;
	height: auto;
}

/* Hide breadcrumb on homepage */
.home .storefront-breadcrumb {
	display: none;
}
