/**
 * Custom Styles
 *
 * @package Makotehna
 */

body {
	font-family: 'Inter', sans-serif;
}

.material-symbols-outlined {
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.filled-icon {
	font-variation-settings: 'FILL' 1;
}

/* Store Notice Bar */
.bg-primary {
	background-color: #2d5a27 !important;
}

/* Hide scrollbar for horizontal scroll containers */
.scrollbar-hide {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.scrollbar-hide::-webkit-scrollbar {
	display: none;
}

/* Mobile Menu Transitions */
#mobile-menu-overlay.hidden {
	display: none;
}

#mobile-menu-sidebar {
	transition: transform 0.3s ease-in-out;
}

/* Primary color with opacity - Fallback utilities */
.bg-primary\/5 {
	background-color: rgba(45, 90, 39, 0.05) !important;
}

.bg-primary\/10 {
	background-color: rgba(45, 90, 39, 0.1) !important;
}

.bg-primary\/20 {
	background-color: rgba(45, 90, 39, 0.2) !important;
}

.hover\:bg-primary\/10:hover {
	background-color: rgba(45, 90, 39, 0.1) !important;
}

.hover\:bg-primary\/20:hover {
	background-color: rgba(45, 90, 39, 0.2) !important;
}

.hover\:bg-primary\/90:hover {
	background-color: rgba(45, 90, 39, 0.9) !important;
}

.border-primary\/20 {
	border-color: rgba(45, 90, 39, 0.2) !important;
}

/* Custom Logo Styling */
.custom-logo {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.custom-logo-link {
	display: flex;
	width: 100%;
	height: 100%;
}

/* Menu Item Styles */

/* Hide disabled variation add to cart button */
.woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-disabled {
	display: none !important;
}
.menu-item a {
	transition: color 0.2s ease;
}

.menu-item a:hover {
	color: #2d5a27;
}

/* Primary Color Styles - Fallback for Tailwind */
.bg-primary {
	background-color: #2d5a27 !important;
}

.text-primary {
	color: #2d5a27 !important;
}

.border-primary {
	border-color: #2d5a27 !important;
}

.hover\:text-primary:hover {
	color: #2d5a27 !important;
}

.hover\:border-primary:hover {
	border-color: #2d5a27 !important;
}

.ring-primary\/10 {
	--tw-ring-color: rgba(45, 90, 39, 0.1) !important;
}

.shadow-primary\/20 {
	--tw-shadow-color: rgba(45, 90, 39, 0.2) !important;
	--tw-shadow: var(--tw-shadow-colored);
}

/* Dropdown Menu Styles */
.group:hover .group-hover\:opacity-100 {
	opacity: 1 !important;
}

.group:hover .group-hover\:visible {
	visibility: visible !important;
}

/* Hide WooCommerce "View cart" link after AJAX add to cart */
.added_to_cart.wc-forward {
	display: none !important;
}

/* ===================================
   SINGLE PRODUCT PAGE STYLES
   =================================== */

/* Product Price Styling */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 2.25rem;
	font-weight: 700;
	color: #2d5a27;
	display: inline-block;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	font-size: 1.25rem;
	color: rgb(148 163 184);
	opacity: 1;
	margin-left: 1rem;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	text-decoration: none;
	background: none;
}

/* Sale Badge */
.woocommerce span.onsale {
	background-color: #ef4444;
	color: white;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.125rem 0.5rem;
	border-radius: 0.25rem;
	margin-left: 1rem;
	min-height: auto;
	line-height: 1.5;
}

/* Product Tabs */
.woocommerce-tabs .tab-content {
	display: none;
}

.woocommerce-tabs .tab-content.active {
	display: block;
}

/* Quantity Input Styling */
.woocommerce div.product form.cart div.quantity input.qty {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.woocommerce div.product form.cart div.quantity {
	margin: 0 !important;
}

/* Image Gallery Thumbnails */
.thumbnail-btn {
	cursor: pointer;
	transition: all 0.3s ease;
}

.thumbnail-btn.active {
	border-width: 2px;
	border-color: #2d5a27;
	box-shadow: 0 0 0 4px rgba(45, 90, 39, 0.1);
}

/* Product Image Zoom Overlay */
.woocommerce-product-gallery__wrapper {
	position: relative;
}

/* Related Products Grid */
.related.products .products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
}

@media (max-width: 1024px) {
	.related.products .products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.related.products .products {
		grid-template-columns: 1fr;
	}
}

/* Line Clamp Utilities */
.line-clamp-1 {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.line-clamp-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Variation Dropdowns */
.woocommerce div.product form.cart .variations select {
	width: 100%;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	border: 1px solid rgb(226 232 240);
	background-color: white;
	outline: none;
	transition: all 0.3s;
}

.woocommerce div.product form.cart .variations select:focus {
	border-color: #2d5a27;
	box-shadow: 0 0 0 3px rgba(45, 90, 39, 0.1);
}

/* Dark mode variations */
.dark .woocommerce div.product form.cart .variations select {
	background-color: rgb(30 41 59);
	border-color: rgb(51 65 85);
	color: rgb(226 232 240);
}

/* WooCommerce Notice Styling */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: 1rem 1.5rem;
	border-radius: 0.5rem;
	margin-bottom: 1.5rem;
}

.woocommerce-message {
	background-color: rgba(45, 90, 39, 0.1);
	border-left: 4px solid #2d5a27;
	color: #2d5a27;
}

/* ============================================
   WooCommerce Notices / Alerts
   ============================================ */

/* General notice styling */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	padding: 1rem 1.25rem !important;
	margin-bottom: 1.5rem !important;
	border-radius: 0.75rem !important;
	border: 1px solid !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	box-shadow: none !important;
}

/* Success messages (green) */
.woocommerce-message {
	background-color: #f0fdf4 !important;
	color: #15803d !important;
	border-color: #86efac !important;
}

.woocommerce-message::before {
	content: "✓";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	background-color: #22c55e;
	color: white;
	border-radius: 9999px;
	font-weight: 600;
	font-size: 0.75rem;
	flex-shrink: 0;
}

/* Info messages (blue) */
.woocommerce-info {
	background-color: #eff6ff !important;
	color: #1e40af !important;
	border-color: #93c5fd !important;
}

.woocommerce-info::before {
	content: "i";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	background-color: #3b82f6;
	color: white;
	border-radius: 9999px;
	font-weight: 600;
	font-size: 0.75rem;
	flex-shrink: 0;
}

/* Error messages (red) */
.woocommerce-error {
	background-color: #fef2f2 !important;
	color: #991b1b !important;
	border-color: #fca5a5 !important;
	list-style: none !important;
	padding-left: 1.25rem !important;
	position: relative !important;
}

.woocommerce-error::before {
	content: "✕";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	background-color: #ef4444;
	color: white;
	border-radius: 9999px;
	font-weight: 600;
	font-size: 0.75rem;
	flex-shrink: 0;
	position: absolute;
	left: 1rem;
	top: 1rem;
}

.woocommerce-error li {
	list-style: none !important;
	margin-left: 0 !important;
	margin-bottom: 0 !important;
}

/* Notice buttons */
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	color: inherit !important;
	text-decoration: underline !important;
	font-weight: 600 !important;
	transition: opacity 0.2s !important;
}

.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover {
	opacity: 0.8 !important;
}

/* Button inside notices */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	background-color: #1B3F17 !important;
	color: white !important;
	padding: 0.5rem 1.5rem !important;
	border-radius: 9999px !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	transition: all 0.2s !important;
	border: none !important;
	margin-left: auto !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
	background-color: #163319 !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 6px rgba(27, 63, 23, 0.2) !important;
}

/* Remove default WooCommerce icons */
.woocommerce-message::before,
.woocommerce-info::before {
	font-family: inherit !important;
}

/* Store notices */
.woocommerce-store-notice {
	background-color: #1B3F17 !important;
	color: white !important;
	padding: 1rem !important;
	text-align: center !important;
	font-size: 0.875rem !important;
}

.woocommerce-store-notice a {
	color: white !important;
	text-decoration: underline !important;
}

/* Form validation errors */
.woocommerce form .form-row.woocommerce-invalid label {
	color: #ef4444 !important;
}

.woocommerce form .form-row.woocommerce-invalid input,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea {
	border-color: #ef4444 !important;
	background-color: #fee2e2 !important;
}

.woocommerce form .form-row.woocommerce-invalid .select2-container--default .select2-selection--single {
	border-color: #ef4444 !important;
	background-color: #fee2e2 !important;
}

.woocommerce form .form-row.woocommerce-validated input,
.woocommerce form .form-row.woocommerce-validated select,
.woocommerce form .form-row.woocommerce-validated textarea {
	border-color: #22c55e !important;
}

/* Checkout error messages */
.woocommerce .woocommerce-NoticeGroup .woocommerce-error {
	margin-bottom: 1.5rem !important;
}

/* Cart notices */
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Cart page quantity input styling */
.woocommerce-cart-form .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid #e5e7eb;
	border-radius: 9999px;
	overflow: hidden;
	height: 2.25rem;
	background: #fff;
}

.woocommerce-cart-form .quantity input.qty {
	width: 2.5rem;
	text-align: center;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	font-size: 0.875rem;
	font-weight: 700;
	color: #111827;
	-moz-appearance: textfield;
	appearance: textfield;
}

.woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Hide empty cart notice - we have custom empty cart page */
.woocommerce-cart .woocommerce-info {
	display: none !important;
}

/* Hide "removed from cart" notice */
body.woocommerce-cart .woocommerce-message {
	display: none !important;
}

/* Breadcrumb Styling */
.woocommerce-breadcrumb {
	font-size: 0.875rem;
	color: rgb(100 116 139);
}

.woocommerce-breadcrumb a {
	color: rgb(100 116 139);
	transition: color 0.2s;
}

.woocommerce-breadcrumb a:hover {
	color: #2d5a27;
}

/* Product Specifications Table */
.woocommerce-product-attributes {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-product-attributes tr {
	border-bottom: 1px solid rgb(226 232 240);
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
	padding: 1rem 0;
	text-align: left;
}

.woocommerce-product-attributes th {
	color: rgb(100 116 139);
	font-weight: 500;
	padding-right: 2rem;
}

.dark .woocommerce-product-attributes tr {
	border-bottom-color: rgb(51 65 85);
}

.dark .woocommerce-product-attributes th {
	color: rgb(148 163 184);
}

/* Stock Status */
.stock {
	margin-bottom: 1rem;
}

.stock.in-stock {
	color: #2d5a27;
}

.stock.out-of-stock {
	color: #ef4444;
}

/* Mobile Filters Button - Ensure it's always visible */
#open-filters {
	display: flex !important;
}

@media (min-width: 1024px) {
	#open-filters {
		display: none !important;
	}
}

/* Mobile Submenu Toggle Icon Animation */
.mobile-submenu-toggle .material-symbols-outlined {
	transition: transform 0.3s ease;
}

/* Submenu Slide Animation */
.mobile-submenu-slide {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-in-out;
}

.mobile-submenu-slide.active {
	max-height: 500px;
}

/* Search Autocomplete Dropdown */
.search-suggestions {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: white;
	border: 1px solid #e5e7eb;
	border-top: none;
	border-radius: 0 0 9999px 9999px;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
	max-height: 400px;
	overflow-y: auto;
	z-index: 1000;
	animation: fadeIn 0.2s ease-in-out;
	margin-top: -1px;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.search-suggestions::-webkit-scrollbar {
	width: 6px;
}

.search-suggestions::-webkit-scrollbar-track {
	background: #f3f4f6;
}

.search-suggestions::-webkit-scrollbar-thumb {
	background: #d1d5db;
	border-radius: 3px;
}

.search-suggestions::-webkit-scrollbar-thumb:hover {
	background: #9ca3af;
}

.search-suggestion-item {
	transition: background-color 0.15s ease;
}

.search-suggestion-item:hover {
	background-color: #f9fafb;
}

.search-view-all {
	transition: background-color 0.15s ease;
}

.search-view-all:hover {
	background-color: #f9fafb;
}

/* Loading Spinner Animation */
@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.animate-spin {
	animation: spin 1s linear infinite;
}

/* Slide Down Animation for Messages */
@keyframes slideDown {
	from {
		opacity: 0;
		transform: translate(-50%, -20px);
	}
	to {
		opacity: 1;
		transform: translate(-50%, 0);
	}
}

.animate-slide-down {
	animation: slideDown 0.3s ease-out;
}

/* Bounce Animation */
@keyframes bounce {
	0%, 100% {
		transform: translateY(-25%);
		animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
	}
	50% {
		transform: translateY(0);
		animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
	}
}

.animate-bounce {
	animation: bounce 1s infinite;
}

/* Hero Slider Styles */
.hero-swiper {
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
}

.hero-swiper .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
}

.hero-swiper .swiper-slide > div,
.hero-swiper .swiper-slide > a {
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
	display: block;
}

/* Image fitting - images display at full width, maintaining their natural aspect ratio */
.hero-swiper .swiper-slide img {
	width: 100%;
	height: auto;
	max-width: 100%;
	display: block;
	object-fit: contain;
}

/* Hero Image Responsive Display */
/* Mobile image - shown only on mobile (hidden on desktop) */
.hero-image-mobile {
	display: block !important;
}

/* Desktop image - always hidden on mobile when mobile version exists */
.hero-image-desktop.has-mobile-version {
	display: none !important;
}

/* Desktop image - shown everywhere if no mobile version */
.hero-image-desktop:not(.has-mobile-version) {
	display: block !important;
}

/* On desktop (>= 768px) */
@media (min-width: 768px) {
	/* Hide mobile image on desktop */
	.hero-image-mobile {
		display: none !important;
	}
	
	/* Show ALL desktop images on desktop (even if mobile version exists) */
	.hero-image-desktop,
	.hero-image-desktop.has-mobile-version {
		display: block !important;
	}
}

/* Hero Pagination Dots */
.hero-pagination {
	position: absolute !important;
	bottom: 30px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	z-index: 20 !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 8px;
	width: auto !important;
	text-align: center;
}

.hero-pagination .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: white;
	opacity: 0.5;
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s ease;
	margin: 0 4px !important;
}

.hero-pagination .swiper-pagination-bullet:hover {
	opacity: 0.8;
	background: #2d5a27;
}

.hero-pagination .swiper-pagination-bullet-active {
	opacity: 1;
	background: #2d5a27;
	width: 32px;
	border-radius: 6px;
}

.hero-pagination .swiper-pagination-bullet-active:hover {
	opacity: 1;
	background: #2d5a27;
}

/* Hero Navigation Buttons */
.swiper-button-prev-hero,
.swiper-button-next-hero {
	transition: all 0.3s ease;
	display: none; /* Hidden by default (mobile-first) */
}

.swiper-button-prev-hero:hover,
.swiper-button-next-hero:hover {
	transform: translateY(-50%) scale(1.1);
}

/* Show hero navigation on desktop */
@media (min-width: 768px) {
	.swiper-button-prev-hero,
	.swiper-button-next-hero {
		display: flex !important;
	}
}

/* Products Slider Styles */
.products-swiper {
	padding: 10px 0;
}

.products-swiper .swiper-slide {
	height: auto;
}

.swiper-button-prev-custom,
.swiper-button-next-custom {
	transition: all 0.3s ease;
	display: none; /* Hidden by default (mobile-first) */
}

.swiper-button-prev-custom:hover:not(:disabled),
.swiper-button-next-custom:hover:not(:disabled) {
	transform: translateY(-50%) scale(1.1);
}

.swiper-button-prev-custom:hover:not(:disabled) {
	transform: translate(-4px, -50%) scale(1.1);
}

.swiper-button-next-custom:hover:not(:disabled) {
	transform: translate(4px, -50%) scale(1.1);
}

.swiper-button-prev-custom:disabled,
.swiper-button-next-custom:disabled {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
}

/* Hide navigation buttons on mobile */
@media (max-width: 767px) {
	.swiper-button-prev-custom,
	.swiper-button-next-custom {
		display: none !important;
	}
}

/* Show navigation buttons only on desktop */
@media (min-width: 768px) {
	.swiper-button-prev-custom,
	.swiper-button-next-custom {
		display: flex !important;
	}
}

/* Products Pagination Dots */
.swiper-pagination-products {
	position: relative !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 8px;
	margin-top: 32px !important;
}

.swiper-pagination-products .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #cbd5e1;
	opacity: 1;
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s ease;
	margin: 0 4px !important;
}

.swiper-pagination-products .swiper-pagination-bullet:hover {
	background: #2d5a27;
}

.swiper-pagination-products .swiper-pagination-bullet-active {
	background: #2d5a27;
	width: 10px;
	height: 10px;
}

.swiper-pagination-products .swiper-pagination-bullet-active:hover {
	background: #2d5a27;
}

/* Dynamic bullets for products pagination */
.swiper-pagination-products .swiper-pagination-bullet-active-main {
	background: #2d5a27;
}

.swiper-pagination-products .swiper-pagination-bullet-active-prev,
.swiper-pagination-products .swiper-pagination-bullet-active-next {
	background: #64748b;
	width: 8px;
	height: 8px;
}

.swiper-pagination-products .swiper-pagination-bullet-active-prev:hover,
.swiper-pagination-products .swiper-pagination-bullet-active-next:hover {
	background: #2d5a27;
}

.swiper-pagination-products .swiper-pagination-bullet-active-prev-prev,
.swiper-pagination-products .swiper-pagination-bullet-active-next-next {
	background: #94a3b8;
	width: 6px;
	height: 6px;
}

.swiper-pagination-products .swiper-pagination-bullet-active-prev-prev:hover,
.swiper-pagination-products .swiper-pagination-bullet-active-next-next:hover {
	background: #2d5a27;
}

/* WooCommerce Shop Pagination */
.woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	border: 1px solid #cbd5e1;
	background-color: white;
	transition: all 0.2s ease;
	font-size: 0.875rem;
}

.woocommerce-pagination .page-numbers:hover {
	background-color: #f1f5f9;
	border-color: #94a3b8;
}

.woocommerce-pagination .page-numbers.current {
	background-color: #2d5a27;
	color: white;
	font-weight: 700;
	border-color: #2d5a27;
}

.woocommerce-pagination .page-numbers.prev,
.woocommerce-pagination .page-numbers.next {
	border: 1px solid #cbd5e1;
}

.woocommerce-pagination .page-numbers.dots {
	border: none;
	background: transparent;
}

/* Dark mode pagination */
.dark .woocommerce-pagination .page-numbers {
	border-color: #475569;
	background-color: transparent;
	color: #94a3b8;
}

.dark .woocommerce-pagination .page-numbers:hover {
	background-color: #1e293b;
	border-color: #64748b;
}

.dark .woocommerce-pagination .page-numbers.current {
	background-color: #2d5a27;
	color: white;
	border-color: #2d5a27;
}

/* WooCommerce Breadcrumb */
.woocommerce-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: #64748b;
	margin-bottom: 1.5rem;
}

.woocommerce-breadcrumb a {
	transition: color 0.2s ease;
}

.woocommerce-breadcrumb a:hover {
	color: #2d5a27;
}

.dark .woocommerce-breadcrumb {
	color: #94a3b8;
}

/* Price Filter Inputs - Green Border on Focus */
input[type="number"][name="min_price"]:focus,
input[type="number"][name="max_price"]:focus {
	border-color: #2d5a27 !important;
	outline: none !important;
	box-shadow: none !important;
	--tw-ring-shadow: none !important;
}

/* Category Filter Hover - Light Green Background */
.woocommerce aside a[href*="product_cat"]:hover {
	background-color: rgba(45, 90, 39, 0.1) !important;
	color: #2d5a27 !important;
}

.woocommerce aside a[href*="product_cat"]:hover span {
	color: #2d5a27 !important;
}

/* Product Cards */
.woocommerce ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce ul.products li.product {
	margin: 0;
	padding: 0;
}

/* Remove default WooCommerce styles */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
	padding: 0;
}

.woocommerce ul.products li.product .price {
	display: inline;
}

/* Cart Success/Error Messages */
#cart-success-message,
#cart-error-message {
	z-index: 9999 !important;
	position: fixed !important;
	top: 5rem !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	min-width: 300px;
	max-width: 90%;
	text-align: center;
}

@media (min-width: 768px) {
	#cart-success-message,
	#cart-error-message {
		top: 6rem !important;
	}
}

/* Force Pill Design on Add to Cart Button */
.single_add_to_cart_button,
button.single_add_to_cart_button,
.woocommerce #content input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	border-radius: 9999px !important;
	text-align: center !important;
	justify-content: center !important;
	align-items: center !important;
	display: flex !important;
}

.single_add_to_cart_button span {
	display: inline-flex;
	align-items: center;
}

/* Remove any pseudo-elements that might be adding content */
.single_add_to_cart_button::before,
.single_add_to_cart_button::after {
	display: none !important;
}

/* ============================================
   Cart Page Styles
   ============================================ */

/* Remove number input spinners */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}

/* Cart Quantity Input Styling */
.woocommerce-cart-form .quantity {
	display: flex;
	align-items: center;
	border: 1px solid #e5e7eb;
	border-radius: 0.375rem;
	width: fit-content;
}

.dark .woocommerce-cart-form .quantity {
	border-color: #4b5563;
}

.woocommerce-cart-form .quantity input.qty {
	width: 2.5rem;
	text-align: center;
	border: none;
	background: transparent;
	font-size: 0.875rem;
	padding: 0.25rem;
}

.woocommerce-cart-form .quantity input.qty:focus {
	outline: none;
	box-shadow: none;
	border: none;
}

/* Cart product image links */
.woocommerce-cart-form__cart-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Shipping options styling */
.woocommerce-shipping-totals .woocommerce-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods li {
	margin-bottom: 0.5rem;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods label {
	display: flex;
	align-items: center;
	cursor: pointer;
	font-size: 0.875rem;
}

.woocommerce-shipping-totals .woocommerce-shipping-methods input[type="radio"] {
	width: 1rem;
	height: 1rem;
	margin-right: 0.75rem;
	accent-color: #1B3F17;
}

/* Cart totals table cells */
.cart_totals table td {
	padding: 0.5rem 0;
}

/* Remove default WooCommerce cart styles */
.woocommerce table.shop_table {
	border: none;
	border-collapse: collapse;
}

.woocommerce table.shop_table td {
	border-top: none;
}

/* Hide default WooCommerce checkout button on cart page */
.woocommerce-cart .woocommerce-proceed-to-checkout .button.checkout-button {
	display: none !important;
}

/* =============================================== */
/* CHECKOUT PAGE STYLES */
/* =============================================== */

/* Checkout form fields */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
	width: 100%;
	padding: 0.75rem 1rem;
	border-radius: 9999px;
	border: 1px solid #e2e8f0;
	background-color: #f8fafc;
	transition: all 0.2s;
}

/* Order comments textarea - specific styling */
.woocommerce-checkout .form-row textarea#order_comments {
	width: 100%;
	padding: 0.75rem 1rem;
	border-radius: 20px;
	border: 1px solid #e2e8f0;
	background-color: #f8fafc;
	transition: all 0.2s;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	outline: none;
	border-color: #1B3F17;
	box-shadow: 0 0 0 2px rgba(27, 63, 23, 0.2);
}

/* Checkout form labels */
.woocommerce-checkout .form-row label {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	margin-bottom: 0.5rem;
}

/* Checkout form row spacing */
.woocommerce-checkout .form-row {
	margin-bottom: 1.5rem;
}

/* Two column layout for fields */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

/* Mobile: ensure all fields are full width */
@media (max-width: 767px) {
	.woocommerce-checkout .form-row.form-row-first,
	.woocommerce-checkout .form-row.form-row-last,
	.woocommerce-checkout .form-row {
		width: 100% !important;
		float: none !important;
	}
}

@media (min-width: 768px) {
	.woocommerce-checkout .form-row.form-row-first,
	.woocommerce-checkout .form-row.form-row-last {
		width: 100%;
		float: none;
	}
	
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
	
	/* Full width fields */
	.woocommerce-checkout .form-row.address-field,
	.woocommerce-checkout .form-row#billing_address_1_field,
	.woocommerce-checkout .form-row#billing_address_2_field,
	.woocommerce-checkout .form-row#shipping_address_1_field,
	.woocommerce-checkout .form-row#shipping_address_2_field,
	.woocommerce-checkout .form-row#order_comments_field {
		grid-column: span 2;
	}
}

/* Order notes field */
.woocommerce-checkout #order_comments_field textarea {
	min-height: 80px;
}

/* Payment method radio buttons */
.woocommerce-checkout-payment .wc_payment_methods {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Style payment method labels - exact match to example */
.woocommerce-checkout-payment .wc_payment_methods li {
	margin-bottom: 1rem;
}

.woocommerce-checkout-payment .wc_payment_methods li label {
	display: flex;
	align-items: start;
	gap: 0.75rem;
	padding: 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.75rem;
	cursor: pointer;
	transition: all 0.2s;
	background-color: #ffffff;
	margin: 0;
}

.woocommerce-checkout-payment .wc_payment_methods li label:hover {
	border-color: #1B3F17;
}

/* Radio button styling - exact match */
.woocommerce-checkout-payment .wc_payment_methods input[type="radio"] {
	margin-top: 0.25rem;
	width: 1rem;
	height: 1rem;
	accent-color: #1B3F17;
	cursor: pointer;
	border-color: #cbd5e1;
}

/* Payment method content area */
.woocommerce-checkout-payment .wc_payment_methods li label > * {
	flex-shrink: 0;
}

.woocommerce-checkout-payment .wc_payment_methods li label > div {
	flex-grow: 1;
	flex-shrink: 1;
}

/* Payment method title */
.woocommerce-checkout-payment .wc_payment_methods li label .wc_payment_method_label {
	font-weight: 600;
	font-size: 0.875rem;
	display: block;
}

/* Payment method description - always visible inline */
.woocommerce-checkout-payment .wc_payment_methods li label > div > p {
	font-size: 0.75rem;
	color: #64748b;
	margin-top: 0.25rem;
	margin-bottom: 0;
}

/* Payment description inside label */
.woocommerce-checkout-payment .payment_box {
	background: transparent;
	border: none;
	padding: 0;
	margin-top: 0.5rem;
	font-size: 0.75rem;
	color: #64748b;
}

.woocommerce-checkout-payment .payment_box p {
	margin: 0;
	padding: 0;
	font-size: 0.75rem;
	color: #64748b;
}

.woocommerce-checkout-payment .payment_box p:last-child {
	margin-bottom: 0;
}

/* Privacy policy text styling */
.woocommerce-checkout .woocommerce-privacy-policy-text {
	font-size: 0.875rem;
	line-height: 1.5;
	color: #64748b;
	margin-top: 1rem;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
	color: #1B3F17;
	text-decoration: underline;
}

/* Terms checkbox styling */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 1.5rem;
}

.woocommerce-checkout .form-row.place-order {
	padding: 0;
}

/* Hide WooCommerce default payment icons */
.woocommerce-checkout-payment .payment_methods .payment_method_paypal img {
	max-height: 1rem;
	opacity: 0.7;
}

/* Checkout validation errors */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
	padding: 1rem;
	margin-bottom: 1.5rem;
	border-radius: 0.5rem;
	list-style: none;
}

/* Hide all notices on checkout */
.woocommerce-checkout .woocommerce-message {
	display: none !important;
}

.woocommerce-checkout .woocommerce-info {
	display: none !important;
}

.woocommerce-checkout .woocommerce-error {
	display: none !important;
}

/* Hide default WooCommerce order details on thank you page - we have custom design */
.woocommerce-order-details,
.woocommerce-customer-details {
	display: none !important;
}

/* Thank you page - equal height cards on desktop */
@media (min-width: 768px) {
	.thankyou-address-grid {
		align-items: stretch;
	}
	
	.thankyou-billing-card,
	.thankyou-right-column {
		display: flex;
		flex-direction: column;
		height: 100%;
	}
	
	.thankyou-right-column {
		gap: 1.5rem;
	}
	
	.thankyou-payment-card {
		flex: 1;
		display: flex;
		flex-direction: column;
	}
}

.woocommerce-checkout .woocommerce-message {
	background-color: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #166534;
}

.woocommerce-checkout .woocommerce-info {
	background-color: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1e40af;
}

/* Required field asterisk */
.woocommerce-checkout .required {
	color: #ef4444;
	text-decoration: none;
}

/* Checkout review order table */
.woocommerce-checkout-review-order-table {
	border: none;
	width: 100%;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	border: none;
	padding: 0.75rem 0;
}

/* Hide WooCommerce default shipping HTML in checkout review */
.woocommerce-checkout-review-order .shipping ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-checkout-review-order .shipping ul li {
	display: flex;
	align-items: center;
	font-size: 0.875rem;
}

.woocommerce-checkout-review-order .shipping ul li input[type="radio"] {
	width: 1rem;
	height: 1rem;
	margin-right: 0.75rem;
	accent-color: #1B3F17;
}

/* Place order button spacing */
#payment .place-order {
	padding: 0;
	margin: 0;
}

/* Hide country field (hardcoded to Macedonia) */
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #shipping_country_field {
	display: none !important;
}

/* WooCommerce My Account Login Page */
.woocommerce-account .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
}

.woocommerce-account .entry-title,
.woocommerce-account .page-title {
	display: none;
}

.woocommerce-account .woocommerce-notices-wrapper {
	display: none !important;
}

.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message {
	border-radius: 0.5rem;
	border-left-width: 4px;
	padding: 1rem;
	margin-bottom: 1rem;
}

.woocommerce-account .woocommerce-error {
	background-color: #fef2f2;
	border-left-color: #dc2626;
	color: #991b1b;
}

.woocommerce-account .woocommerce-message {
	background-color: #f0fdf4;
	border-left-color: #2d5a27;
	color: #15803d;
}

.woocommerce-account .woocommerce-info {
	background-color: #eff6ff;
	border-left-color: #3b82f6;
	color: #1e40af;
}

/* Remove default WooCommerce login form margins */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	border: none !important;
	padding: 0;
	margin: 0;
}

.woocommerce-form-login,
.woocommerce-form-register {
	border: none !important;
}

.woocommerce-account .woocommerce-form-row {
	margin: 0;
	padding: 0;
}

.woocommerce-account .required {
	color: #dc2626;
	text-decoration: none;
}

/* Edit Address Form Styling */
.woocommerce-address-fields .form-row {
	margin-bottom: 0;
}

.woocommerce-address-fields label {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	color: #374151;
	margin-bottom: 0.5rem;
}

.woocommerce-address-fields .required {
	color: #dc2626;
	margin-left: 2px;
}

.woocommerce-address-fields input[type="text"],
.woocommerce-address-fields input[type="email"],
.woocommerce-address-fields input[type="tel"],
.woocommerce-address-fields input[type="number"],
.woocommerce-address-fields select,
.woocommerce-address-fields textarea,
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="tel"],
.woocommerce-EditAccountForm input[type="password"],
.woocommerce-form-row input[type="text"],
.woocommerce-form-row input[type="email"],
.woocommerce-form-row input[type="tel"],
.woocommerce-form-row input[type="password"],
.woocommerce-Input[type="text"],
.woocommerce-Input[type="email"],
.woocommerce-Input[type="tel"],
.woocommerce-Input[type="password"] {
	width: 100% !important;
	padding: 0.75rem 1rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 9999px !important;
	font-size: 0.875rem !important;
	color: #1f2937 !important;
	transition: all 0.2s !important;
	background-color: white !important;
	box-shadow: none !important;
	line-height: 1.5 !important;
	height: auto !important;
}

.woocommerce-address-fields textarea {
	border-radius: 1rem !important;
	min-height: 100px !important;
	resize: vertical !important;
}

.woocommerce-address-fields input:focus,
.woocommerce-address-fields select:focus,
.woocommerce-address-fields textarea:focus,
.woocommerce-EditAccountForm input:focus,
.woocommerce-form-row input:focus,
.woocommerce-Input:focus {
	outline: none !important;
	border-color: #2d5a27 !important;
	box-shadow: 0 0 0 3px rgba(45, 90, 39, 0.1) !important;
}

.woocommerce-address-fields select,
.select2-container--default .select2-selection--single {
	appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E") !important;
	background-position: right 0.75rem center !important;
	background-repeat: no-repeat !important;
	background-size: 1.5em 1.5em !important;
	padding-right: 2.5rem !important;
}

/* Select2 Dropdown Styling */
.select2-container--default .select2-selection--single {
	border: 1px solid #d1d5db !important;
	border-radius: 9999px !important;
	height: auto !important;
	padding: 0.75rem 1rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #1f2937 !important;
	line-height: 1.5 !important;
	padding: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100% !important;
	right: 1rem !important;
}

.select2-container--open .select2-selection--single {
	border-color: #2d5a27 !important;
	box-shadow: 0 0 0 3px rgba(45, 90, 39, 0.1) !important;
}

.select2-dropdown {
	border: 1px solid #d1d5db !important;
	border-radius: 1rem !important;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
}

.select2-results__option {
	padding: 0.75rem 1rem !important;
}

.select2-results__option--highlighted {
	background-color: #f3f4f6 !important;
	color: #2d5a27 !important;
}

.select2-results__option--selected {
	background-color: #2d5a27 !important;
	color: white !important;
}

/* Address Display Styling */
.woocommerce-Address address {
	font-style: normal;
	line-height: 1.75;
}

/* Remove WooCommerce default styling */
.woocommerce-address-fields .form-row-first,
.woocommerce-address-fields .form-row-last,
.woocommerce-address-fields .form-row-wide {
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
}

.woocommerce-address-fields::after,
.woocommerce-address-fields::before {
	display: none !important;
}

/* Force pill-shaped styling on all edit address page inputs */
body.woocommerce-account .woocommerce-address-fields input[type="text"],
body.woocommerce-account .woocommerce-address-fields input[type="email"],
body.woocommerce-account .woocommerce-address-fields input[type="tel"],
body.woocommerce-account .woocommerce-address-fields input[type="number"],
body.woocommerce-account .woocommerce-address-fields select,
body.woocommerce-account .woocommerce-address-fields textarea,
body.woocommerce-account input.input-text,
body.woocommerce-account select,
body.woocommerce-account textarea.input-text {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0.75rem 1rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 9999px !important;
	font-size: 0.875rem !important;
	color: #1f2937 !important;
	transition: all 0.2s ease !important;
	background-color: white !important;
	box-shadow: none !important;
	line-height: 1.5 !important;
	height: auto !important;
	min-height: 44px !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	display: block !important;
	margin: 0 !important;
}

body.woocommerce-account .woocommerce-address-fields .form-row,
body.woocommerce-account .form-row {
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.woocommerce-account .woocommerce-address-fields label {
	display: block !important;
	margin-bottom: 0.5rem !important;
	width: 100% !important;
}

/* Edit Account Form Styling */
.woocommerce-EditAccountForm .form-row {
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-EditAccountForm label {
	display: block !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	margin-bottom: 0.5rem !important;
}

.woocommerce-EditAccountForm .required {
	color: #dc2626 !important;
	margin-left: 2px !important;
}

.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"] {
	width: 100% !important;
	padding: 0.75rem 1rem !important;
	padding-right: 3rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 9999px !important;
	font-size: 0.875rem !important;
	color: #1f2937 !important;
	transition: all 0.2s ease !important;
	background-color: white !important;
	box-shadow: none !important;
	line-height: 1.5 !important;
	height: auto !important;
	min-height: 44px !important;
}

.woocommerce-EditAccountForm input:focus {
	outline: none !important;
	border-color: #2d5a27 !important;
	box-shadow: 0 0 0 3px rgba(45, 90, 39, 0.1) !important;
}

/* Password visibility toggle */
.woocommerce-EditAccountForm .relative button {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	cursor: pointer !important;
}

.woocommerce-EditAccountForm .relative button:hover .material-symbols-outlined {
	color: #2d5a27 !important;
}

/* Hide default WooCommerce variation elements (we use custom design) */
.single-product .woocommerce-variation-price {
	display: none !important;
}

.single-product .woocommerce-variation-availability {
	display: none !important;
}

/* Show variation details but hide default styling */
.single-product .single_variation {
	display: block !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
}

.single-product .single_variation .woocommerce-variation-price,
.single-product .single_variation .price {
	display: none !important;
}

/* Ensure our custom add to cart button shows */
.single-product .variations_button {
	display: block !important;
}

body.woocommerce-account textarea.input-text {
	border-radius: 1rem !important;
	min-height: 100px !important;
}

body.woocommerce-account select,
body.woocommerce-account .woocommerce-address-fields select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E") !important;
	background-position: right 0.75rem center !important;
	background-repeat: no-repeat !important;
	background-size: 1.5em 1.5em !important;
	padding-right: 2.5rem !important;
}

body.woocommerce-account input:focus,
body.woocommerce-account select:focus,
body.woocommerce-account textarea:focus {
	outline: none !important;
	border-color: #2d5a27 !important;
	box-shadow: 0 0 0 3px rgba(45, 90, 39, 0.1) !important;
}

/* Edit address page buttons */
body.woocommerce-account .woocommerce-Button,
body.woocommerce-account button[type="submit"],
body.woocommerce-account input[type="submit"] {
	cursor: pointer !important;
}

/* Single product page images - object-fit contain for proper display */
.main-product-image-container img,
.main-product-image {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

/* Keep thumbnails with object-cover for proper cropping and full dimensions */
.thumbnail-btn img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* Override WooCommerce core image reset that breaks gallery/thumbnails */
.woocommerce img,
.woocommerce-page img {
	object-fit: contain !important;
	height: 100% !important;
	max-width: unset !important;
}
