/**
 * WooCommerce Custom Styles
 * Additional styling for WooCommerce elements
 */

/* ============================================
   CRITICAL: Fix responsive breakpoint issues on product pages
   Product images wider than viewport can break media queries
   ============================================ */

/* Prevent horizontal overflow at every level */
html {
	overflow-x: hidden !important;
	max-width: 100vw !important;
}

body {
	overflow-x: hidden !important;
	max-width: 100% !important;
	width: 100% !important;
}

/* Product page specific - prevent any element from expanding beyond viewport */
.single-product,
.single-product .site-main,
.single-product-wrapper,
.single-product .container {
	overflow-x: hidden !important;
	max-width: 100% !important;
}

/* Force all product images to respect container bounds */
.single-product img,
.single-product-wrapper img,
#main-product-image {
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
}

/* ============================================
   FORCE HEADER ELEMENTS VISIBLE ON DESKTOP
   Using !important to override any conflicting styles
   ============================================ */

/* Force desktop navigation visible (lg: >= 1024px) */
@media (min-width: 1024px) {
	#site-navigation.main-navigation {
		display: block !important;
	}
	
	/* Force desktop search bar visible */
	.header-search {
		display: block !important;
	}
	
	/* Hide mobile search on desktop */
	.mobile-search {
		display: none !important;
	}
	
	/* Hide mobile menu toggle on desktop */
	#mobile-menu-toggle {
		display: none !important;
	}
}

/* Force account link visible on medium screens (md: >= 768px) */
@media (min-width: 768px) {
	.account-link {
		display: flex !important;
	}
}

/* Force promo bar text visible on small screens and above (sm: >= 640px) */
@media (min-width: 640px) {
	/* Target spans with Tailwind's hidden sm:inline classes */
	.promo-item span.hidden.sm\:inline {
		display: inline !important;
	}
	
	/* Hide the mobile-only short text on larger screens */
	.promo-item span.sm\:hidden {
		display: none !important;
	}
	
	/* Fallback: show all promo item text by targeting the structure */
	.promo-bar .promo-item span:first-of-type {
		display: inline !important;
	}
}

/* Ensure sticky header has proper stacking context */
#sticky-header-wrapper {
	position: sticky;
	top: 0;
	z-index: 9999;
	isolation: isolate;
}

/* Product Grid Wrapper */
.products {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Product Item */
.products .product {
	position: relative;
	display: flex;
	flex-direction: column;
}

/* Result Count */
.woocommerce-result-count {
	font-size: 0.875rem;
	color: #6B7280;
}

/* Ordering Dropdown */
.woocommerce-ordering select {
	padding: 0.5rem 2.5rem 0.5rem 1rem;
	border: 1px solid #E5E7EB;
	border-radius: 0.75rem;
	background-color: white;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.5rem center;
	background-size: 1.25rem;
	appearance: none;
	font-size: 0.875rem;
	font-weight: 500;
	color: #2B2B2B;
	cursor: pointer;
	transition: all 0.2s;
}

.woocommerce-ordering select:hover {
	border-color: #E67A2E;
}

.woocommerce-ordering select:focus {
	outline: none;
	border-color: #E67A2E;
	box-shadow: 0 0 0 3px rgba(230, 122, 46, 0.1);
}

/* Pagination */
.woocommerce-pagination {
	margin-top: 2rem;
}

.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-pagination ul li {
	margin: 0;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0.5rem;
	border: 1px solid #E5E7EB;
	border-radius: 0.75rem;
	background-color: white;
	color: #6B7280;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s;
}

.woocommerce-pagination ul li a:hover {
	border-color: #E67A2E;
	background-color: #E67A2E;
	color: white;
	transform: translateY(-2px);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.woocommerce-pagination ul li span.current {
	border-color: #E67A2E;
	background-color: #E67A2E;
	color: white;
	box-shadow: 0 4px 6px -1px rgba(230, 122, 46, 0.3);
}

.woocommerce-pagination ul li .prev,
.woocommerce-pagination ul li .next {
	padding: 0.5rem 0.75rem;
}

/* View Toggle Buttons */
.view-toggle {
	color: #6B7280;
	transition: all 0.2s;
}

.view-toggle.active {
	color: #E67A2E;
	background-color: white;
}

/* Filter Sidebar - Always visible on desktop, overlay on mobile */
#filters-sidebar {
	transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

/* Desktop: Always show sidebar */
@media (min-width: 1024px) {
	#filters-sidebar {
		display: block !important;
		position: relative !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Mobile: Overlay sidebar */
@media (max-width: 1023px) {
	#filters-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: white;
		z-index: 1000;
		overflow-y: auto;
		transform: translateX(-100%);
		opacity: 0;
		box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
	}

	#filters-sidebar.hidden {
		display: none !important;
		transform: translateX(-100%);
		opacity: 0;
	}

	#filters-sidebar.block {
		display: block !important;
		transform: translateX(0);
		opacity: 1;
	}
}

/* Mobile Filter Toggle Button */
#mobile-filter-toggle {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

#mobile-filter-toggle:active {
	transform: scale(0.98);
}

/* Filter Toggle Icon Animation */
#filter-toggle-icon {
	transition: transform 0.3s ease;
}

/* Price Display */
.price {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
}

.price del {
	font-size: 1rem;
	color: #9CA3AF;
	text-decoration: line-through;
}

.price ins {
	text-decoration: none;
	font-weight: 900;
	color: #E67A2E;
}

/* Add to Cart Button Loading State */
.added_to_cart {
	display: none !important;
}

.ajax_add_to_cart.loading {
	opacity: 0.6;
	pointer-events: none;
}

/* Star Rating */
.star-rating {
	display: inline-flex;
	align-items: center;
	gap: 0.125rem;
	color: #FCD34D;
}

/* WooCommerce Messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: 1rem 1.5rem;
	border-radius: 0.75rem;
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.woocommerce-message {
	background-color: #D1FAE5;
	border-left: 4px solid #10B981;
	color: #065F46;
}

.woocommerce-info {
	background-color: #DBEAFE;
	border-left: 4px solid #3B82F6;
	color: #1E40AF;
}

.woocommerce-error {
	background-color: #FEE2E2;
	border-left: 4px solid #EF4444;
	color: #991B1B;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: none;
}

/* Product Card Hover Effects */
.product:hover {
	z-index: 10;
}

/* Ensure line clamp works */
.line-clamp-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Category Description Typography */
.term-description p {
	margin-bottom: 1rem;
	line-height: 1.6;
}

.term-description p:last-child {
	margin-bottom: 0;
}

/* Subcategory Cards Animation */
@keyframes slideInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.woocommerce-archive .products .product {
	animation: slideInUp 0.4s ease-out;
	animation-fill-mode: both;
}

.woocommerce-archive .products .product:nth-child(1) { animation-delay: 0.05s; }
.woocommerce-archive .products .product:nth-child(2) { animation-delay: 0.1s; }
.woocommerce-archive .products .product:nth-child(3) { animation-delay: 0.15s; }
.woocommerce-archive .products .product:nth-child(4) { animation-delay: 0.2s; }
.woocommerce-archive .products .product:nth-child(5) { animation-delay: 0.25s; }
.woocommerce-archive .products .product:nth-child(6) { animation-delay: 0.3s; }

/* Responsive Adjustments */
@media (max-width: 640px) {
	.products {
		gap: 1rem !important;
	}
}

/* Loading Spinner for AJAX Add to Cart */
.ajax_add_to_cart.loading::after {
	content: "";
	position: absolute;
	width: 1rem;
	height: 1rem;
	border: 2px solid white;
	border-top-color: transparent;
	border-radius: 50%;
	animation: spin 0.6s linear infinite;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* ==========================================================================
   Cart Page Styles
   ========================================================================== */

/* Cart quantity input styling */
.bedsie-cart-page input[type="number"] {
	-moz-appearance: textfield;
}

.bedsie-cart-page input[type="number"]::-webkit-outer-spin-button,
.bedsie-cart-page input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Checkout button gradient */
.bedsie-checkout-btn {
	background: linear-gradient(135deg, #059669 0%, #047857 100%);
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(5, 150, 105, 0.3);
}

.bedsie-checkout-btn:hover {
	background: linear-gradient(135deg, #047857 0%, #065f46 100%);
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(5, 150, 105, 0.4);
}

/* Express payment buttons */
.bedsie-express-btn {
	transition: all 0.2s ease;
}

.bedsie-express-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Free shipping progress bar animation */
.bedsie-shipping-progress {
	transition: width 0.5s ease-out;
}

/* Cart item hover effect */
.bedsie-cart-item {
	transition: background-color 0.2s ease;
}

.bedsie-cart-item:hover {
	background-color: rgba(249, 250, 251, 0.5);
}

/* Remove item button */
.bedsie-remove-item {
	transition: all 0.2s ease;
}

.bedsie-remove-item:hover {
	color: #dc2626;
	transform: scale(1.1);
}

/* Quantity buttons */
.bedsie-qty-btn {
	transition: all 0.15s ease;
}

.bedsie-qty-btn:hover {
	background-color: #e5e7eb;
}

.bedsie-qty-btn:active {
	transform: scale(0.95);
}

/* Cross-sell products */
.bedsie-cross-sell-item {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bedsie-cross-sell-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* Coupon toggle animation */
.bedsie-coupon-form {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
}

.bedsie-coupon-form.open {
	max-height: 100px;
}

/* Trust badges */
.bedsie-trust-badge {
	transition: transform 0.2s ease;
}

.bedsie-trust-badge:hover {
	transform: scale(1.05);
}

/* Order summary sticky on desktop */
@media (min-width: 1024px) {
	.bedsie-order-summary {
		position: sticky;
		top: 100px;
	}
}

/* Mobile cart adjustments */
@media (max-width: 768px) {
	.bedsie-cart-item {
		flex-direction: column;
		align-items: flex-start;
	}
	
	.bedsie-cart-item-details {
		width: 100%;
		margin-top: 1rem;
	}
}

/* WooCommerce Proceed to Checkout Button */
.wc-proceed-to-checkout .checkout-button,
.wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	padding: 1rem 1.5rem;
	background: linear-gradient(135deg, #059669 0%, #047857 100%);
	color: white !important;
	font-weight: 700;
	font-size: 1.125rem;
	text-align: center;
	border-radius: 0.75rem;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(5, 150, 105, 0.3);
}

.wc-proceed-to-checkout .checkout-button:hover,
.wc-proceed-to-checkout a.checkout-button:hover {
	background: linear-gradient(135deg, #047857 0%, #065f46 100%);
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(5, 150, 105, 0.4);
	color: white !important;
}

/* Cart quantity input - custom styling */
.bedsie-cart-page .quantity {
	display: flex;
	align-items: center;
	justify-content: center;
}

.bedsie-cart-page .quantity input[type="number"] {
	width: 4rem;
	text-align: center;
	padding: 0.5rem;
	border: 1px solid #d1d5db;
	border-radius: 0.5rem;
	font-weight: 600;
	font-size: 1rem;
	-moz-appearance: textfield;
}

.bedsie-cart-page .quantity input[type="number"]::-webkit-outer-spin-button,
.bedsie-cart-page .quantity input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.bedsie-cart-page .quantity input[type="number"]:focus {
	outline: none;
	border-color: #E67A2E;
	box-shadow: 0 0 0 3px rgba(230, 122, 46, 0.2);
}

/* Shipping method selection */
.bedsie-cart-page .woocommerce-shipping-methods {
	list-style: none;
	padding: 0;
	margin: 0;
}

.bedsie-cart-page .woocommerce-shipping-methods li {
	padding: 0.5rem 0;
}

.bedsie-cart-page .woocommerce-shipping-methods li label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
}

.bedsie-cart-page .woocommerce-shipping-methods input[type="radio"] {
	accent-color: #E67A2E;
}

/* Remove item link styling */
.bedsie-cart-page .remove {
	transition: all 0.2s ease;
}

.bedsie-cart-page .remove:hover {
	color: #dc2626 !important;
}

/* WooCommerce notices styling */
.bedsie-cart-page .woocommerce-message {
	background-color: #ecfdf5;
	border-left: 4px solid #10b981;
	padding: 1rem 1.5rem;
	border-radius: 0.5rem;
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.bedsie-cart-page .woocommerce-error {
	background-color: #fef2f2;
	border-left: 4px solid #ef4444;
	padding: 1rem 1.5rem;
	border-radius: 0.5rem;
	margin-bottom: 1.5rem;
}

.bedsie-cart-page .woocommerce-info {
	background-color: #eff6ff;
	border-left: 4px solid #3b82f6;
	padding: 1rem 1.5rem;
	border-radius: 0.5rem;
	margin-bottom: 1.5rem;
}

/* ==========================================================================
   Checkout Page Styles (WooCommerce Blocks)
   ========================================================================== */

/* Checkout page container */
.wc-block-checkout {
	padding: 2rem 0;
}

/* Checkout page title */
.wp-block-woocommerce-checkout h1,
.wc-block-checkout h1 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	color: #2B2B2B;
	font-size: 2rem;
	margin-bottom: 2rem;
}

/* Order summary sidebar - add top margin so it's not stuck to top */
.wc-block-components-sidebar {
	margin-top: 3rem;
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar {
	position: sticky;
	top: 120px;
}

/* Order summary box styling */
.wc-block-components-order-summary {
	background: #f9fafb;
	border-radius: 1rem;
	padding: 1.5rem;
	border: 1px solid #e5e7eb;
}

.wc-block-components-order-summary .wc-block-components-order-summary__button {
	font-weight: 600;
	color: #2B2B2B;
}

/* Product items in order summary */
.wc-block-components-order-summary-item {
	padding: 1rem 0;
	border-bottom: 1px solid #e5e7eb;
}

.wc-block-components-order-summary-item:last-child {
	border-bottom: none;
}

.wc-block-components-order-summary-item__image {
	border-radius: 0.5rem;
	overflow: hidden;
}

.wc-block-components-order-summary-item__description {
	font-weight: 500;
	color: #2B2B2B;
}

/* Totals styling */
.wc-block-components-totals-wrapper {
	padding: 1rem 0;
}

.wc-block-components-totals-item {
	padding: 0.75rem 0;
}

.wc-block-components-totals-item__label {
	color: #6b7280;
	font-weight: 500;
}

.wc-block-components-totals-item__value {
	font-weight: 600;
	color: #2B2B2B;
}

/* Order total - make it stand out */
.wc-block-components-totals-footer-item {
	border-top: 2px solid #2B2B2B;
	padding-top: 1rem;
	margin-top: 1rem;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 1.125rem;
	font-weight: 700;
	color: #2B2B2B;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.5rem;
	font-weight: 800;
	color: #E67A2E;
}

/* Express checkout buttons */
.wc-block-components-express-payment {
	margin-bottom: 2rem;
}

.wc-block-components-express-payment__title {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6b7280;
	font-weight: 600;
}

/* Form inputs styling */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select-input select {
	border: 1px solid #d1d5db;
	border-radius: 0.5rem;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	transition: all 0.2s ease;
}

.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-components-select-input select:focus {
	border-color: #E67A2E;
	box-shadow: 0 0 0 3px rgba(230, 122, 46, 0.2);
	outline: none;
}

/* Section headings */
.wc-block-components-checkout-step__heading {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 1.25rem;
	color: #2B2B2B;
	margin-bottom: 1rem;
}

.wc-block-components-checkout-step__description {
	color: #6b7280;
	font-size: 0.875rem;
}

/* Payment options styling */
.wc-block-components-radio-control__option {
	padding: 1rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.75rem;
	margin-bottom: 0.5rem;
	transition: all 0.2s ease;
}

.wc-block-components-radio-control__option:hover {
	border-color: #E67A2E;
	background-color: #fff7ed;
}

.wc-block-components-radio-control__option--checked {
	border-color: #E67A2E;
	background-color: #fff7ed;
}

/* Place Order Button - Make it PROMINENT */
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions button[type="submit"],
.wp-block-woocommerce-checkout-actions-block button {
	display: block;
	width: 100%;
	padding: 1.25rem 2rem !important;
	background: linear-gradient(135deg, #E67A2E 0%, #cf6a1e 100%) !important;
	color: white !important;
	font-weight: 800 !important;
	font-size: 1.25rem !important;
	text-align: center;
	border: none !important;
	border-radius: 1rem !important;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 6px 20px rgba(230, 122, 46, 0.4);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout__actions button[type="submit"]:hover,
.wp-block-woocommerce-checkout-actions-block button:hover {
	background: linear-gradient(135deg, #cf6a1e 0%, #b85a14 100%) !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(230, 122, 46, 0.5);
}

.wc-block-components-checkout-place-order-button:active,
.wc-block-checkout__actions button[type="submit"]:active,
.wp-block-woocommerce-checkout-actions-block button:active {
	transform: translateY(0);
}

/* Return to cart link */
.wc-block-components-checkout-return-to-cart-button,
.wc-block-checkout__actions a {
	color: #6b7280;
	font-weight: 500;
	text-decoration: none;
	transition: color 0.2s ease;
}

.wc-block-components-checkout-return-to-cart-button:hover,
.wc-block-checkout__actions a:hover {
	color: #E67A2E;
}

/* Coupons section */
.wc-block-components-totals-coupon {
	background: #fffbeb;
	border-radius: 0.75rem;
	padding: 1rem;
	margin: 1rem 0;
}

.wc-block-components-totals-coupon__button {
	color: #E67A2E;
	font-weight: 600;
}

.wc-block-components-totals-coupon__button:hover {
	color: #cf6a1e;
}

/* Notices */
.wc-block-components-notices {
	margin-bottom: 1.5rem;
}

.wc-block-components-notices__notice {
	padding: 1rem 1.5rem;
	border-radius: 0.75rem;
	font-weight: 500;
}

/* Terms and conditions */
.wc-block-checkout__terms {
	font-size: 0.875rem;
	color: #6b7280;
}

.wc-block-checkout__terms a {
	color: #E67A2E;
	font-weight: 500;
}

.wc-block-checkout__terms a:hover {
	text-decoration: underline;
}

/* Add padding to checkout main content area */
.wc-block-checkout__main {
	padding-right: 2rem;
}

@media (max-width: 768px) {
	.wc-block-checkout__main {
		padding-right: 0;
	}
	
	.wc-block-components-sidebar {
		margin-top: 2rem;
	}
	
	/* Make place order button even bigger on mobile */
	.wc-block-components-checkout-place-order-button,
	.wc-block-checkout__actions button[type="submit"],
	.wp-block-woocommerce-checkout-actions-block button {
		padding: 1.5rem 2rem !important;
		font-size: 1.125rem !important;
	}
}

/* ==========================================================================
   MY ACCOUNT SECTION STYLES
   ========================================================================== */

/* My Account Page Container */
.woocommerce-account .bedsie-my-account {
	padding: 2rem 1rem;
}

@media (min-width: 1024px) {
	.woocommerce-account .bedsie-my-account {
		padding: 3rem 2rem;
	}
}

/* WooCommerce Notices in My Account */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
	padding: 1rem 1.5rem;
	border-radius: 0.75rem;
	margin-bottom: 1.5rem;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.woocommerce-account .woocommerce-message {
	background-color: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #065f46;
}

.woocommerce-account .woocommerce-message::before {
	content: "✓";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	background-color: #10b981;
	color: white;
	border-radius: 50%;
	font-size: 0.75rem;
	font-weight: bold;
}

.woocommerce-account .woocommerce-info {
	background-color: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1e40af;
}

.woocommerce-account .woocommerce-info::before {
	content: "i";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	background-color: #3b82f6;
	color: white;
	border-radius: 50%;
	font-size: 0.75rem;
	font-weight: bold;
}

.woocommerce-account .woocommerce-error {
	background-color: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

.woocommerce-account .woocommerce-error li {
	list-style: none;
}

/* Hide default WooCommerce MyAccount navigation styles */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Order Details Table Styling */
.woocommerce-account .woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	border-radius: 1rem;
	overflow: hidden;
	background: white;
	border: 1px solid #e5e7eb;
}

.woocommerce-account .woocommerce-table--order-details thead {
	background: linear-gradient(to right, #2b2b2b, #3d3d3d);
}

.woocommerce-account .woocommerce-table--order-details thead th {
	color: white;
	font-weight: 600;
	padding: 1rem 1.5rem;
	text-align: left;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.woocommerce-account .woocommerce-table--order-details tbody td {
	padding: 1rem 1.5rem;
	border-bottom: 1px solid #e5e7eb;
	vertical-align: top;
}

.woocommerce-account .woocommerce-table--order-details tbody tr:last-child td {
	border-bottom: none;
}

.woocommerce-account .woocommerce-table--order-details tfoot {
	background: #f9fafb;
}

.woocommerce-account .woocommerce-table--order-details tfoot th,
.woocommerce-account .woocommerce-table--order-details tfoot td {
	padding: 0.75rem 1.5rem;
	border-top: 1px solid #e5e7eb;
}

.woocommerce-account .woocommerce-table--order-details tfoot th {
	text-align: left;
	font-weight: 600;
	color: #374151;
}

.woocommerce-account .woocommerce-table--order-details tfoot td {
	text-align: right;
	font-weight: 600;
}

/* Product links in order details */
.woocommerce-account .woocommerce-table--order-details .product-name a {
	color: #2b2b2b;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.2s;
}

.woocommerce-account .woocommerce-table--order-details .product-name a:hover {
	color: #E67A2E;
}

/* Product meta */
.woocommerce-account .woocommerce-table--order-details .wc-item-meta {
	margin-top: 0.5rem;
	padding: 0;
	list-style: none;
}

.woocommerce-account .woocommerce-table--order-details .wc-item-meta li {
	font-size: 0.875rem;
	color: #6b7280;
	margin-bottom: 0.25rem;
}

.woocommerce-account .woocommerce-table--order-details .wc-item-meta li strong {
	font-weight: 500;
	color: #374151;
}

/* Order totals in view-order */
.woocommerce-account .woocommerce-order-details__title,
.woocommerce-account .woocommerce-column__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #1f2937;
	margin-bottom: 1rem;
	font-family: 'Montserrat', sans-serif;
}

/* Address columns */
.woocommerce-account .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	margin-top: 2rem;
}

@media (max-width: 768px) {
	.woocommerce-account .woocommerce-columns--addresses {
		grid-template-columns: 1fr;
	}
}

.woocommerce-account .woocommerce-column--billing-address,
.woocommerce-account .woocommerce-column--shipping-address {
	background: #f9fafb;
	border-radius: 1rem;
	padding: 1.5rem;
	border: 1px solid #e5e7eb;
}

.woocommerce-account .woocommerce-column--billing-address address,
.woocommerce-account .woocommerce-column--shipping-address address {
	font-style: normal;
	line-height: 1.8;
	color: #4b5563;
}

/* Downloads Page Styling */
.woocommerce-account .woocommerce-table--order-downloads {
	width: 100%;
	border-collapse: collapse;
	border-radius: 1rem;
	overflow: hidden;
	background: white;
	border: 1px solid #e5e7eb;
}

.woocommerce-account .woocommerce-table--order-downloads thead {
	background: linear-gradient(to right, #2b2b2b, #3d3d3d);
}

.woocommerce-account .woocommerce-table--order-downloads thead th {
	color: white;
	font-weight: 600;
	padding: 1rem 1.5rem;
	text-align: left;
	font-size: 0.875rem;
}

.woocommerce-account .woocommerce-table--order-downloads tbody td {
	padding: 1rem 1.5rem;
	border-bottom: 1px solid #e5e7eb;
}

.woocommerce-account .woocommerce-table--order-downloads .button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #E67A2E;
	color: white;
	padding: 0.5rem 1rem;
	border-radius: 0.5rem;
	font-weight: 600;
	font-size: 0.875rem;
	text-decoration: none;
	transition: background-color 0.2s;
}

.woocommerce-account .woocommerce-table--order-downloads .button:hover {
	background: #d16a1e;
}

/* Login/Register Forms */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	background: white;
	border-radius: 1.5rem;
	padding: 2rem;
	border: 1px solid #e5e7eb;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.woocommerce-account .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 1rem 0;
}

.woocommerce-account .woocommerce-form-login .button,
.woocommerce-account .woocommerce-form-register .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: #E67A2E;
	color: white;
	padding: 0.875rem 2rem;
	border-radius: 0.75rem;
	font-weight: 600;
	font-size: 1rem;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s;
	width: 100%;
	margin-top: 1rem;
}

.woocommerce-account .woocommerce-form-login .button:hover,
.woocommerce-account .woocommerce-form-register .button:hover {
	background: #d16a1e;
}

/* Form input styling for My Account */
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account select,
.woocommerce-account textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #d1d5db;
	border-radius: 0.75rem;
	font-size: 1rem;
	transition: all 0.2s;
}

.woocommerce-account input[type="text"]:focus,
.woocommerce-account input[type="email"]:focus,
.woocommerce-account input[type="password"]:focus,
.woocommerce-account input[type="tel"]:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus {
	border-color: #E67A2E;
	box-shadow: 0 0 0 3px rgba(230, 122, 46, 0.1);
	outline: none;
}

.woocommerce-account label {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	color: #374151;
	margin-bottom: 0.5rem;
}

.woocommerce-account .required {
	color: #E67A2E;
}

/* Lost password link */
.woocommerce-account .woocommerce-LostPassword a {
	color: #E67A2E;
	font-weight: 500;
	text-decoration: none;
	transition: color 0.2s;
}

.woocommerce-account .woocommerce-LostPassword a:hover {
	color: #d16a1e;
	text-decoration: underline;
}

/* ==========================================================================
   Product Specifications & Brand Info
   ========================================================================== */

/* Brand info below title */
.bedsie-brand-info {
	margin: 0.5rem 0 1rem;
	font-size: 0.9rem;
	color: #6B7280;
}

.bedsie-brand-info .brand-label {
	color: #9CA3AF;
}

.bedsie-brand-info .brand-name {
	color: #374151;
	font-weight: 500;
}

/* Key specs on product summary */
.bedsie-key-specs {
	margin: 1rem 0;
	padding: 1rem;
	background: #F9FAFB;
	border-radius: 0.5rem;
	border: 1px solid #E5E7EB;
}

.bedsie-key-specs .key-specs-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
}

.bedsie-key-specs .key-specs-list li {
	font-size: 0.875rem;
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.bedsie-key-specs .spec-label {
	color: #6B7280;
}

.bedsie-key-specs .spec-value {
	color: #111827;
	font-weight: 500;
}

/* Specifications tab content */
.bedsie-specifications {
	display: grid;
	gap: 1.5rem;
}

.bedsie-specifications .spec-group h4 {
	margin: 0 0 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #E67A2E;
	font-size: 1rem;
	font-weight: 600;
	color: #111827;
}

.bedsie-specifications .specs-table {
	width: 100%;
	border-collapse: collapse;
}

.bedsie-specifications .specs-table tr:nth-child(even) {
	background-color: #F9FAFB;
}

.bedsie-specifications .specs-table th,
.bedsie-specifications .specs-table td {
	padding: 0.75rem 1rem;
	text-align: left;
	border-bottom: 1px solid #E5E7EB;
}

.bedsie-specifications .specs-table th {
	width: 40%;
	font-weight: 500;
	color: #6B7280;
}

.bedsie-specifications .specs-table td {
	color: #111827;
}

.bedsie-specifications .spec-disclaimer {
	margin-top: 1rem;
	padding: 1rem;
	background: #FEF3C7;
	border-radius: 0.375rem;
	border-left: 4px solid #F59E0B;
}

.bedsie-specifications .spec-disclaimer p {
	margin: 0;
	color: #92400E;
}

/* Product videos section */
.bedsie-product-videos {
	margin: 2rem 0;
}

.bedsie-product-videos h4 {
	margin: 0 0 1rem;
	font-size: 1rem;
	font-weight: 600;
}

.bedsie-product-videos .video-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
}

.bedsie-product-videos .video-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 0.5rem;
}

.bedsie-product-videos .video-embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.bedsie-key-specs .key-specs-list {
		flex-direction: column;
		gap: 0.5rem;
	}
	
	.bedsie-specifications .specs-table th {
		width: 50%;
	}
}

/* ==========================================================================
   WooCommerce Variable Product Variations Form
   ========================================================================== */

/* Variations form container */
.variations_form {
	margin-top: 1rem;
}

/* Variations table */
.variations_form .variations {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1rem;
}

.variations_form .variations tr {
	display: flex;
	flex-direction: column;
	margin-bottom: 1rem;
}

.variations_form .variations td.label {
	padding: 0 0 0.5rem 0;
}

.variations_form .variations td.label label {
	font-weight: 600;
	font-size: 0.9375rem;
	color: #2B2B2B;
}

.variations_form .variations td.value {
	padding: 0;
}

/* Dropdown select styling */
.variations_form .variations select {
	width: 100%;
	padding: 0.875rem 2.5rem 0.875rem 1rem;
	border: 2px solid #e5e7eb;
	border-radius: 0.75rem;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23E67A2E'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 1.25rem;
	appearance: none;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #374151;
	cursor: pointer;
	transition: all 0.2s ease;
}

.variations_form .variations select:hover {
	border-color: #E67A2E;
}

.variations_form .variations select:focus {
	outline: none;
	border-color: #E67A2E;
	box-shadow: 0 0 0 3px rgba(230, 122, 46, 0.15);
}

/* Reset variation link */
.variations_form .reset_variations {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.8125rem;
	color: #E67A2E;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.2s;
}

.variations_form .reset_variations:hover {
	color: #d16a1e;
	text-decoration: underline;
}

/* Single variation display */
.variations_form .single_variation_wrap {
	margin-top: 1rem;
}

.variations_form .woocommerce-variation {
	margin-bottom: 1rem;
}

/* Variation price */
.variations_form .woocommerce-variation-price {
	margin-bottom: 1rem;
}

.variations_form .woocommerce-variation-price .price {
	font-size: 1.5rem;
	font-weight: 700;
	color: #2B2B2B;
}

.variations_form .woocommerce-variation-price .price del {
	font-size: 1rem;
	color: #9CA3AF;
	margin-right: 0.5rem;
}

.variations_form .woocommerce-variation-price .price ins {
	text-decoration: none;
	color: #E67A2E;
}

/* Variation availability */
.variations_form .woocommerce-variation-availability {
	margin-bottom: 0.75rem;
}

.variations_form .woocommerce-variation-availability .stock {
	font-size: 0.875rem;
	font-weight: 500;
}

.variations_form .woocommerce-variation-availability .stock.in-stock {
	color: #059669;
}

.variations_form .woocommerce-variation-availability .stock.out-of-stock {
	color: #DC2626;
}

/* Variation description */
.variations_form .woocommerce-variation-description {
	margin-bottom: 1rem;
	padding: 0.75rem;
	background: #f9fafb;
	border-radius: 0.5rem;
	font-size: 0.875rem;
	color: #4B5563;
}

/* Quantity and add to cart wrapper */
.variations_form .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
}

/* Quantity input */
.variations_form .quantity {
	display: flex;
	align-items: center;
	border: 2px solid #e5e7eb;
	border-radius: 0.75rem;
	overflow: hidden;
	background: #fff;
}

.variations_form .quantity input.qty {
	width: 4rem;
	padding: 0.75rem;
	border: none;
	text-align: center;
	font-size: 1rem;
	font-weight: 600;
	color: #2B2B2B;
	-moz-appearance: textfield;
}

.variations_form .quantity input.qty::-webkit-inner-spin-button,
.variations_form .quantity input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Add to cart button */
.variations_form .single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	padding: 1rem 2rem;
	background: linear-gradient(135deg, #E67A2E 0%, #d16a1e 100%);
	color: #fff;
	border: none;
	border-radius: 0.75rem;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}

.variations_form .single_add_to_cart_button:hover {
	background: linear-gradient(135deg, #d16a1e 0%, #b55a14 100%);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(230, 122, 46, 0.35);
}

.variations_form .single_add_to_cart_button:disabled,
.variations_form .single_add_to_cart_button.disabled {
	background: #d1d5db;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* Swatch/button style variations (for plugins like Variation Swatches) */
.variations_form .tawcvs-swatches,
.variations_form .variation-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.5rem;
}

.variations_form .swatch,
.variations_form .variation-swatch {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 3rem;
	min-height: 2.5rem;
	padding: 0.5rem 1rem;
	border: 2px solid #e5e7eb;
	border-radius: 0.5rem;
	background: #fff;
	cursor: pointer;
	font-size: 0.875rem;
	font-weight: 500;
	color: #374151;
	transition: all 0.2s ease;
}

.variations_form .swatch:hover,
.variations_form .variation-swatch:hover {
	border-color: #E67A2E;
	background: #fff9f5;
}

.variations_form .swatch.selected,
.variations_form .variation-swatch.selected {
	border-color: #E67A2E;
	background: #E67A2E;
	color: #fff;
}

/* WooCommerce Product Add-ons plugin styling */
.wc-pao-addon-container,
.product-addon {
	margin-bottom: 1.25rem;
}

.wc-pao-addon-name,
.product-addon-label {
	display: block;
	font-weight: 600;
	font-size: 0.9375rem;
	color: #2B2B2B;
	margin-bottom: 0.75rem;
}

.wc-pao-addon-name .required,
.product-addon-label .required {
	color: #E67A2E;
	margin-left: 0.25rem;
}

/* Add-ons select dropdown */
.wc-pao-addon-select,
.product-addon select {
	width: 100%;
	padding: 0.875rem 2.5rem 0.875rem 1rem;
	border: 2px solid #e5e7eb;
	border-radius: 0.75rem;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23E67A2E'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 1.25rem;
	appearance: none;
	font-size: 0.9375rem;
	color: #374151;
	cursor: pointer;
	transition: all 0.2s ease;
}

.wc-pao-addon-select:hover,
.product-addon select:hover {
	border-color: #E67A2E;
}

.wc-pao-addon-select:focus,
.product-addon select:focus {
	outline: none;
	border-color: #E67A2E;
	box-shadow: 0 0 0 3px rgba(230, 122, 46, 0.15);
}

/* Add-ons radio/checkbox options */
.wc-pao-addon-radio-group,
.wc-pao-addon-checkbox-group,
.product-addon-options {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.wc-pao-addon-radio-group label,
.wc-pao-addon-checkbox-group label,
.product-addon-options label {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.875rem 1rem;
	background: #fff;
	border: 2px solid #e5e7eb;
	border-radius: 0.75rem;
	cursor: pointer;
	transition: all 0.2s ease;
}

.wc-pao-addon-radio-group label:hover,
.wc-pao-addon-checkbox-group label:hover,
.product-addon-options label:hover {
	border-color: #E67A2E;
	background: #fff9f5;
}

.wc-pao-addon-radio-group label:has(input:checked),
.wc-pao-addon-checkbox-group label:has(input:checked),
.product-addon-options label:has(input:checked) {
	border-color: #E67A2E;
	background: #fff9f5;
	box-shadow: 0 0 0 1px #E67A2E;
}

.wc-pao-addon-radio-group input[type="radio"],
.wc-pao-addon-checkbox-group input[type="checkbox"],
.product-addon-options input[type="radio"],
.product-addon-options input[type="checkbox"] {
	width: 1.25rem;
	height: 1.25rem;
	accent-color: #E67A2E;
	cursor: pointer;
}

/* Add-ons price display */
.wc-pao-addon-price,
.addon-price {
	margin-left: auto;
	font-weight: 600;
	color: #E67A2E;
}

/* Responsive */
@media (max-width: 640px) {
	.variations_form .woocommerce-variation-add-to-cart {
		flex-direction: column;
	}
	
	.variations_form .quantity {
		width: 100%;
		justify-content: center;
	}
	
	.variations_form .single_add_to_cart_button {
		width: 100%;
	}
}
/* ==========================================================================
   Product Attributes Display - Additional Information Tab
   ========================================================================== */

/* Additional information table */
.woocommerce-product-attributes,
.shop_attributes {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
}

.woocommerce-product-attributes th,
.shop_attributes th {
	text-align: left;
	padding: 0.875rem 1rem;
	background: #f9fafb;
	font-weight: 600;
	font-size: 0.875rem;
	color: #374151;
	border-bottom: 1px solid #e5e7eb;
	width: 35%;
	vertical-align: top;
}

.woocommerce-product-attributes td,
.shop_attributes td {
	padding: 0.875rem 1rem;
	font-size: 0.875rem;
	color: #4B5563;
	border-bottom: 1px solid #e5e7eb;
	vertical-align: top;
}

.woocommerce-product-attributes td p,
.shop_attributes td p {
	margin: 0;
}

/* Attribute values that contain comma-separated lists */
.woocommerce-product-attributes td,
.shop_attributes td {
	word-break: break-word;
}

/* Product options container - overflow handling */
.product-options {
	max-height: none;
	overflow: visible;
}

/* Ensure long attribute text wraps properly */
.variations_form .variations td.value,
.variations_form .variations td.label {
	word-break: break-word;
	overflow-wrap: break-word;
}

/* Multi-value attribute styling (comma-separated) */
.woocommerce-product-attributes td span.attribute-value,
.shop_attributes td span.attribute-value {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	margin: 0.125rem;
	background: #f3f4f6;
	border-radius: 0.25rem;
	font-size: 0.8125rem;
}

/* ==========================================================================
   Collapse/Expand for Long Option Lists (CSS Only)
   ========================================================================== */

/* Hide excess options by default when there are many */
.bedsie-option-choices.has-many-options .bedsie-option-choice:nth-child(n+6) {
	display: none;
}

.bedsie-option-choices.has-many-options.expanded .bedsie-option-choice:nth-child(n+6) {
	display: flex;
}

/* Show more/less toggle button */
.bedsie-options-toggle {
	display: none;
	width: 100%;
	padding: 0.75rem;
	margin-top: 0.5rem;
	background: transparent;
	border: 2px dashed #e5e7eb;
	border-radius: 0.5rem;
	color: #6B7280;
	font-size: 0.875rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s;
}

.bedsie-options-toggle:hover {
	border-color: #E67A2E;
	color: #E67A2E;
}

.has-many-options + .bedsie-options-toggle {
	display: block;
}

.has-many-options.expanded + .bedsie-options-toggle .toggle-more {
	display: none;
}

.has-many-options + .bedsie-options-toggle .toggle-less {
	display: none;
}

.has-many-options.expanded + .bedsie-options-toggle .toggle-less {
	display: inline;
}

/* ==========================================================================
   Product Add to Cart Form General Styling
   ========================================================================== */

/* Simple product add to cart */
.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
}

.cart .quantity {
	display: flex;
	align-items: center;
	border: 2px solid #e5e7eb;
	border-radius: 0.75rem;
	overflow: hidden;
	background: #fff;
}

.cart .quantity input.qty {
	width: 4rem;
	padding: 0.75rem;
	border: none;
	text-align: center;
	font-size: 1rem;
	font-weight: 600;
	color: #2B2B2B;
	-moz-appearance: textfield;
}

.cart .quantity input.qty::-webkit-inner-spin-button,
.cart .quantity input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.cart .single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	padding: 1rem 2rem;
	background: linear-gradient(135deg, #E67A2E 0%, #d16a1e 100%);
	color: #fff;
	border: none;
	border-radius: 0.75rem;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}

.cart .single_add_to_cart_button:hover {
	background: linear-gradient(135deg, #d16a1e 0%, #b55a14 100%);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(230, 122, 46, 0.35);
}

/* ==========================================================================
   WooCommerce Notices
   ========================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: 1rem 1.25rem;
	margin: 1rem 0;
	border-radius: 0.75rem;
	font-size: 0.9375rem;
}

.woocommerce-message {
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #065f46;
}

.woocommerce-info {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1e40af;
}

.woocommerce-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

.woocommerce-error li {
	list-style: none;
}

/* ==========================================================================
   Out of Stock and Unavailable Variations
   ========================================================================== */

.variations_form .variations select option:disabled,
.variations_form .variations select option[disabled] {
	color: #9CA3AF;
	font-style: italic;
}

/* Stock status badges */
.stock {
	display: inline-flex;
	align-items: center;
	padding: 0.375rem 0.75rem;
	border-radius: 9999px;
	font-size: 0.8125rem;
	font-weight: 600;
}

.stock.in-stock {
	background: #ecfdf5;
	color: #059669;
}

.stock.out-of-stock {
	background: #fef2f2;
	color: #dc2626;
}

.stock.available-on-backorder {
	background: #fef3c7;
	color: #d97706;
}

/* ==========================================================================
   Product Sidebar Add-to-Cart Styling
   ========================================================================== */

/* Container inside sidebar */
.woocommerce-add-to-cart .variations_form {
	margin: 0;
}

/* Clean up table display in sidebar */
.woocommerce-add-to-cart .variations_form .variations {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.woocommerce-add-to-cart .variations_form .variations tbody {
	display: contents;
}

.woocommerce-add-to-cart .variations_form .variations tr {
	display: flex;
	flex-direction: column;
	margin: 0;
}

.woocommerce-add-to-cart .variations_form .variations th,
.woocommerce-add-to-cart .variations_form .variations td {
	padding: 0;
	border: none;
	background: none;
}

.woocommerce-add-to-cart .variations_form .variations td.label {
	margin-bottom: 0.5rem;
}

.woocommerce-add-to-cart .variations_form .variations td.label label {
	font-weight: 600;
	font-size: 0.875rem;
	color: #2B2B2B;
}

/* Select dropdowns in sidebar */
.woocommerce-add-to-cart .variations_form .variations select {
	width: 100%;
	padding: 0.75rem 2.5rem 0.75rem 1rem;
	border: 2px solid #e5e7eb;
	border-radius: 0.75rem;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23E67A2E'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 1.25rem;
	appearance: none;
	font-size: 0.875rem;
	color: #374151;
	cursor: pointer;
	transition: border-color 0.2s;
}

.woocommerce-add-to-cart .variations_form .variations select:hover,
.woocommerce-add-to-cart .variations_form .variations select:focus {
	border-color: #E67A2E;
	outline: none;
}

/* Reset link styling */
.woocommerce-add-to-cart .variations_form .reset_variations {
	display: inline-block;
	margin-top: 0.75rem;
	font-size: 0.75rem;
	color: #E67A2E;
	text-decoration: none;
	font-weight: 500;
}

.woocommerce-add-to-cart .variations_form .reset_variations:hover {
	text-decoration: underline;
}

/* Variation price display */
.woocommerce-add-to-cart .woocommerce-variation-price {
	padding: 0.75rem;
	background: #f9fafb;
	border-radius: 0.5rem;
	margin-bottom: 0.75rem;
}

.woocommerce-add-to-cart .woocommerce-variation-price .price {
	font-size: 1.25rem;
	font-weight: 700;
	color: #2B2B2B;
}

.woocommerce-add-to-cart .woocommerce-variation-price .price del {
	font-size: 0.875rem;
	color: #9CA3AF;
	margin-right: 0.5rem;
}

.woocommerce-add-to-cart .woocommerce-variation-price .price ins {
	text-decoration: none;
	color: #E67A2E;
}

/* Hide quantity in sidebar (as per existing inline styles) */
.woocommerce-add-to-cart .quantity {
	display: none;
}

/* Variation availability */
.woocommerce-add-to-cart .woocommerce-variation-availability {
	margin-bottom: 0.5rem;
}

/* Add to cart button in sidebar - already styled with inline CSS */

/* ==========================================================================
   Variation Swatches Plugin Compatibility
   ========================================================================== */

/* Common swatch container styles */
.woocommerce-add-to-cart .tawcvs-swatches,
.woocommerce-add-to-cart .thwvsf-wrapper,
.woocommerce-add-to-cart .swatches-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

/* Color swatches */
.woocommerce-add-to-cart .swatch-color,
.woocommerce-add-to-cart .thwvsf-color {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	border: 2px solid #e5e7eb;
	cursor: pointer;
	transition: all 0.2s;
}

.woocommerce-add-to-cart .swatch-color:hover,
.woocommerce-add-to-cart .thwvsf-color:hover,
.woocommerce-add-to-cart .swatch-color.selected,
.woocommerce-add-to-cart .thwvsf-color.selected {
	border-color: #E67A2E;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #E67A2E;
}

/* Label/text swatches */
.woocommerce-add-to-cart .swatch-label,
.woocommerce-add-to-cart .thwvsf-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 3rem;
	padding: 0.5rem 0.75rem;
	border: 2px solid #e5e7eb;
	border-radius: 0.5rem;
	background: #fff;
	cursor: pointer;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #374151;
	transition: all 0.2s;
}

.woocommerce-add-to-cart .swatch-label:hover,
.woocommerce-add-to-cart .thwvsf-label:hover {
	border-color: #E67A2E;
	background: #fff9f5;
}

.woocommerce-add-to-cart .swatch-label.selected,
.woocommerce-add-to-cart .thwvsf-label.selected {
	border-color: #E67A2E;
	background: #E67A2E;
	color: #fff;
}

/* Disabled/out of stock swatches */
.woocommerce-add-to-cart .swatch-color.disabled,
.woocommerce-add-to-cart .swatch-label.disabled,
.woocommerce-add-to-cart .thwvsf-color.disabled,
.woocommerce-add-to-cart .thwvsf-label.disabled {
	opacity: 0.4;
	cursor: not-allowed;
	position: relative;
}

.woocommerce-add-to-cart .swatch-label.disabled::after,
.woocommerce-add-to-cart .thwvsf-label.disabled::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 2px;
	background: #dc2626;
	transform: rotate(-45deg);
}