/* 
Theme Name: Savionit Premium
Description: Custom styles for the new homepage and header
*/
:root {
	--primary-color: #6fb32c;
	--primary-dark: #4b7a1d;
	--text-color: #333333;
	--light-bg: #f8f8f8;
	--border-color: #d1d1d1;
	--white: #ffffff;
	--transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
body {
	font-family: 'Assistant', sans-serif;
	color: var(--text-color);
	background-color: var(--light-bg);
	margin: 0;
	padding: 0;
	direction: rtl;
	text-align: right;
	overflow-x: clip;
}
/* Reset & Utilities */
a {
	text-decoration: none;
	color: inherit;
	transition: var(--transition);
}
.container {
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 15px;
}
.container-fluid {
	max-width: 1800px; /* Breathtaking wide layout */
	margin: 0 auto;
	padding: 0 40px;
}
.btn {
	display: inline-block;
	padding: 12px 28px;
	border-radius: 5px;
	font-weight: 700;
	cursor: pointer;
	transition: var(--transition);
	border: none;
}
.btn-primary {
	background-color: var(--primary-color);
	color: var(--white);
}
.btn-primary:hover {
	background-color: var(--primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(97, 154, 39, 0.3);
}
.btn-dark {
	background-color: #444;
	color: var(--white);
}
.btn-dark:hover {
	background-color: #222;
}
/* ---------------- ANIMATIONS ---------------- */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(40px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.fade-in-up {
	opacity: 0; /* JS will trigger this or we just run it on load */
	animation: fadeInUp 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.6s; }
/* ---------------- HEADER ---------------- */
.savionit-header {
	width: 100%;
	position: relative;
}
@media (max-width: 991px) {
	.desktop-only { display: none !important; }
	.mobile-only { display: block !important; }
	.header-middle { padding: 10px 0 !important; }
	.header-logo img { max-width: 140px !important; }
	.mobile-menu-toggle { display: block !important; }
}
/* -------------------------------------
   NEW MEGA DRAWER STYLES
------------------------------------- */
.mega-drawer-overlay {
	position: fixed;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 9999;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.4s ease, visibility 0.4s ease;
	display: flex;
	align-items: flex-start;
}
.mega-drawer-overlay.active {
	visibility: visible;
	opacity: 1;
}
.mega-drawer-glass {
	position: absolute;
	top: 0; left: 0; width: 100%; height: 100%;
	background: rgba(0,0,0,0.5);
	backdrop-filter: blur(5px);
}
.mega-drawer-content {
	position: relative;
	background: #fff;
	width: 100%;
	max-height: 85vh;
	padding: 40px 0;
	border-bottom: 5px solid var(--primary-color);
	box-shadow: 0 20px 40px rgba(0,0,0,0.2);
	transform: translateY(-100%);
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.mega-drawer-overlay.active .mega-drawer-content {
	transform: translateY(0);
}
.mega-drawer-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
	padding-bottom: 15px;
	border-bottom: 1px solid #eee;
}
.close-mega-drawer-btn {
	background: none; border: none; font-size: 40px; line-height: 1; color: #999; cursor: pointer; transition: 0.3s;
}
.close-mega-drawer-btn:hover {
	color: var(--primary-color);
	transform: rotate(90deg);
}
.mega-drawer-body {
	display: flex;
	gap: 50px;
	overflow-y: auto;
	flex-grow: 1;
}
.mega-drawer-nav {
	flex: 2;
}
.mega-drawer-nav .mega-main-menu {
	list-style: none;
	padding: 0; margin: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}
.mega-drawer-nav .mega-main-menu > li > a {
	font-size: 18px;
	font-weight: 800;
	color: #111;
	text-decoration: none;
	display: block;
	margin-bottom: 10px;
	border-bottom: 2px solid var(--primary-color);
	padding-bottom: 5px;
	display: inline-block;
}
.mega-drawer-nav .mega-main-menu > li > ul.sub-menu {
	list-style: none;
	padding: 0; margin: 0;
}
.mega-drawer-nav .mega-main-menu > li > ul.sub-menu > li > a {
	font-size: 15px;
	color: #555;
	text-decoration: none;
	display: block;
	padding: 5px 0;
	transition: color 0.3s, transform 0.3s;
}
.mega-drawer-nav .mega-main-menu > li > ul.sub-menu > li > a:hover {
	color: var(--primary-color);
	transform: translateX(-5px); /* RTL */
}
/* Featured Cards in Drawer */
.mega-drawer-featured {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.featured-cat-card {
	display: block;
	position: relative;
	border-radius: 15px;
	overflow: hidden;
	height: 200px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	transition: transform 0.3s;
}
.featured-cat-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}
.featured-cat-text {
	position: absolute;
	bottom: 0; left: 0; width: 100%;
	background: linear-gradient(transparent, rgba(0,0,0,0.8));
	padding: 30px 20px 15px;
}
.featured-cat-text h4 {
	color: #fff; margin: 0; font-size: 22px; font-weight: 700;
}
/* Hamburger Hover Effect */
.open-mega-drawer-btn:hover .hamburger-icon span:nth-child(2) {
	width: 100% !important;
}
/* Header Main Menu (Split Header) */
.desktop-nav .main-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap; /* keep it single line if possible */
}
.desktop-nav .main-menu > li {
	transition: margin 0.3s ease; /* smooth splitting gap */
}
.desktop-nav .main-menu > li > a {
	display: inline-block;
	padding: 10px 5px;
	color: #111;
	font-family: 'Assistant', sans-serif;
	font-weight: 300;
	font-size: 16px; /* slightly increased for light weight legibility */
	letter-spacing: 0.5px;
	text-decoration: none;
	position: relative;
	transition: color 0.3s;
}
.desktop-nav .main-menu > li > a::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 2px;
	background-color: var(--primary-color);
	transition: width 0.3s ease;
}
.desktop-nav .main-menu > li:hover > a {
	color: var(--primary-color);
}
.desktop-nav .main-menu > li:hover > a::after {
	width: 100%;
}
/* Dropdown Menu (Sub-menu) for the Split Header */
.desktop-nav .main-menu .sub-menu {
	position: absolute;
	top: 100%;
	right: 0;
	background: #fff;
	min-width: 220px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.1);
	border-radius: 8px;
	padding: 10px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(15px);
	transition: all 0.3s ease;
	z-index: 100;
	list-style: none;
	margin: 0;
}
.desktop-nav .main-menu > li {
	position: relative;
}
.desktop-nav .main-menu li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.desktop-nav .main-menu .sub-menu li {
	position: relative;
}
.desktop-nav .main-menu .sub-menu li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 20px;
	color: #444;
	text-decoration: none;
	font-family: 'Assistant', sans-serif;
	font-size: 15px;
	font-weight: 400; /* slightly heavier than top level for readability in small dropdown */
	letter-spacing: 0.5px;
	transition: 0.2s;
	border-bottom: 1px solid #f5f5f5;
}
.desktop-nav .main-menu .sub-menu li:last-child > a {
	border-bottom: none;
}
.desktop-nav .main-menu .sub-menu li a:hover {
	color: var(--primary-color);
	background: #f9f9f9;
	padding-right: 25px; /* Slight indent effect in RTL */
}
/* Second level (nested) sub-menus */
.desktop-nav .main-menu .sub-menu .sub-menu {
	top: 0;
	right: 100%; /* Fly out to the left in RTL */
	margin-right: 2px;
	transform: translateX(15px);
}
.desktop-nav .main-menu .sub-menu li:hover > .sub-menu {
	transform: translateX(0);
}
/* Arrows for nested items (assuming they have children, WP adds .menu-item-has-children) */
.desktop-nav .main-menu .sub-menu li.menu-item-has-children > a::before {
	content: '\f104'; /* FontAwesome angle-left for RTL */
	font-family: 'FontAwesome';
	font-size: 12px;
	color: #aaa;
	transition: 0.3s;
}
.desktop-nav .main-menu .sub-menu li.menu-item-has-children:hover > a::before {
	color: var(--primary-color);
}
/* Cleanup old nav */
.header-top-bar {
	background-color: var(--primary-color);
	color: var(--white);
	padding: 10px 0;
	font-size: 14px;
	font-weight: 600;
}
.top-bar-inner {
	display: flex;
	justify-content: center;
	gap: 50px;
}
.top-bar-item {
	display: flex;
	align-items: center;
	gap: 10px;
}
.top-bar-item i { font-size: 18px; }
/* Main Header */
.header-middle {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header-logo img {
	max-height: 65px;
	width: auto;
	transition: var(--transition);
}
.header-logo img:hover {
	transform: scale(1.05);
}
/* Cleanup old nav */
/* Dropdown */
.desktop-nav .main-menu > li {
	position: relative;
}
.desktop-nav .main-menu ul.sub-menu {
	position: absolute;
	top: 100%; right: 0;
	background: #fdfdfd;
	backdrop-filter: blur(10px);
	min-width: 240px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.08);
	list-style: none; padding: 10px 0; margin: 0;
	opacity: 0; visibility: hidden;
	transform: translateY(15px);
	transition: var(--transition);
	z-index: 100;
	border-radius: 0 0 8px 8px;
	border-top: 3px solid var(--primary-color);
}
.desktop-nav .main-menu li:hover > ul.sub-menu {
	opacity: 1; visibility: visible; transform: translateY(0);
}
/* Nested Dropdowns (Level 3+) */
.desktop-nav .main-menu ul.sub-menu ul.sub-menu {
	top: 0;
	right: 100%;
	margin-right: 2px;
	border-radius: 8px;
	border-top: none;
	border-right: 3px solid var(--primary-color);
}
.desktop-nav .main-menu ul.sub-menu li {
	padding: 0; /* Override the top-level padding */
}
.desktop-nav .main-menu ul.sub-menu li a {
	display: block;
	padding: 12px 25px;
	font-weight: 600;
	border-bottom: 1px solid rgba(0,0,0,0.05);
}
.desktop-nav .main-menu ul.sub-menu li a::after { display: none; }
.desktop-nav .main-menu ul.sub-menu li a:hover {
	background: rgba(97, 154, 39, 0.05);
	color: var(--primary-color);
	padding-right: 30px;
}
/* Actions (Search, Cart, User) */
.header-actions {
	display: flex;
	align-items: center;
	gap: 30px;
}
/* Floating Search Trigger */
.header-search-trigger button {
	background: none; border: none; font-size: 24px; color: var(--text-color); cursor: pointer; transition: var(--transition);
}
.header-search-trigger button:hover { color: var(--primary-color); transform: scale(1.1); }
/* Search Modal Overlay - POPUP EDITION */
.search-overlay-glass {
	position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
	z-index: 9999;
	display: flex; align-items: center; justify-content: center;
	opacity: 0; visibility: hidden;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.search-overlay-glass.active { opacity: 1; visibility: visible; }
.close-search-btn {
	position: absolute; top: 15px; right: 20px; font-size: 40px; background: transparent !important; border: none !important;
	color: #999; cursor: pointer; transition: all 0.3s ease; line-height: 1; z-index: 10;
	width: 50px; height: 50px; display: flex; align-items: center; justify-content: center;
	border-radius: 50% !important; padding: 0 !important;
}
.close-search-btn:hover { 
	color: #fff !important; 
	background-color: #333 !important; 
	transform: rotate(90deg); 
}
.search-overlay-content { 
	text-align: center; width: 90%; max-width: 800px; padding: 60px 40px;
	background: #fff; border-radius: 20px; box-shadow: 0 20px 60px rgba(0,0,0,0.15);
	transform: translateY(-50px) scale(0.95); transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	position: relative;
}
.search-overlay-glass.active .search-overlay-content { transform: translateY(0) scale(1); }
.search-overlay-title { font-size: 38px; font-weight: 800; margin-bottom: 40px; color: #111; }
.search-overlay-title span { color: var(--primary-color); }
.search-form-huge { position: relative; width: 100%; margin-bottom: 30px; max-width: 700px; margin-left: auto; margin-right: auto; }
.search-field-huge {
	width: 100%; height: 60px; border: 2px solid #e0e0e0 !important; border-radius: 50px !important;
	background: #fff !important; font-size: 20px; padding: 0 25px 0 70px; 
	outline: none; font-family: inherit; transition: var(--transition); color: #333;
	box-shadow: 0 5px 15px rgba(0,0,0,0.03);
	-webkit-appearance: none; appearance: none;
}
.search-field-huge::placeholder { color: #aaa; }
.search-field-huge:focus { border-color: var(--primary-color) !important; box-shadow: 0 10px 30px rgba(111,179,44,0.15); }
.search-submit-huge {
	position: absolute; left: 6px; right: auto; top: 6px; 
	background: var(--primary-color); border: none; width: 48px; height: 48px; border-radius: 50%;
	font-size: 20px; color: #fff; cursor: pointer; transition: var(--transition);
	display: flex; align-items: center; justify-content: center; box-shadow: 0 5px 15px rgba(111,179,44,0.3);
}
.search-submit-huge:hover { background: var(--primary-dark); transform: scale(1.05); }
.search-popular-terms { font-size: 15px; color: #555; display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap;}
.search-popular-terms span { margin-left: 10px; font-weight: 700;}
.search-popular-terms a { 
	background: #f5f5f5; border: 1px solid #eaeaea; 
	padding: 8px 18px; border-radius: 30px; color: #444; font-weight: 600;
	transition: all 0.3s ease;
}
.search-popular-terms a:hover { background: var(--primary-color); border-color: var(--primary-color); color: #fff; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(111,179,44,0.2);}
.header-cart-user { display: flex; align-items: center; gap: 20px; }
.cart-link { position: relative; font-size: 26px; color: var(--text-color); transition: var(--transition); }
.cart-link:hover { color: var(--primary-color); transform: scale(1.1); }
.cart-count {
	position: absolute; top: -5px; right: -8px; background: var(--primary-color);
	color: white; font-size: 12px; border-radius: 50%; width: 20px; height: 20px;
	display: flex; align-items: center; justify-content: center; font-weight: bold;
}
/* ---------------- CART VARIATIONS DETAILS (ACCORDION) ---------------- */
/* Full styling for .premium-cart-variations-details.svc-spec lives in the
   "SIDE CART — configuration spec accordion" block at the end of this file. */
/* ---------------- FLOATING CART FIX ---------------- */
.xoo-wsc-basket, .elementor-menu-cart__toggle, .floating-cart-btn { color: #fff !important; }
.xoo-wsc-bki { color: #fff !important; }
.xoo-wsc-items-count { color: var(--primary-color) !important; background: #fff !important; }
button.btn-green-pill, button.btn-green-pill span { color: #fff !important; font-weight: 700 !important; }
button.btn-green-pill .cart-count { color: var(--primary-color) !important; background: #fff !important; font-weight: 800 !important; }
/* ---------------- MOBILE MENU & TOGGLES ---------------- */
.mobile-menu-toggle { display: none; }
.mobile-menu-overlay {
	position: fixed; top: 0; right: 0; width: 100%; height: 100vh;
	background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(10px);
	z-index: 9999; transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	display: block; overflow-y: auto; padding: 80px 20px 40px;
}
.mobile-menu-overlay.active { transform: translateX(0); }
.close-mobile-menu {
	position: absolute; top: 20px; left: 20px; background: none; border: none;
	font-size: 40px; color: #333; cursor: pointer; transition: var(--transition); line-height: 1; z-index: 10;
}
.close-mobile-menu:hover { color: var(--primary-color); transform: rotate(90deg); }
.mobile-nav { width: 100%; max-width: 500px; margin: 0 auto; text-align: right; }
.mobile-nav ul { list-style: none; padding: 0; margin: 0; }
.mobile-nav > ul > li { border-bottom: 1px solid #eee; }
.mobile-nav ul li a { display: flex; justify-content: space-between; align-items: center; font-size: 20px; font-weight: 700; padding: 18px 0; color: #111; }
.mobile-nav ul li a:hover { color: var(--primary-color); }
.mobile-nav ul li { position: relative; }
.mobile-nav ul li.menu-item-has-children > a { padding-left: 60px; } /* Room for toggle */
.mobile-nav ul li.menu-item-has-children > a::after { display: none !important; }
.mobile-nav ul li .submenu-toggle {
    position: absolute;
    top: 10px;
    transform: none;
    left: 10px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #444;
    cursor: pointer;
    border-radius: 50%;
    background: #f2f2f2;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: 0.3s;
}
.mobile-nav ul li .submenu-toggle i {
    transition: transform 0.3s;
}
.mobile-nav ul li.open > .submenu-toggle { background: var(--primary-color); color: #fff; box-shadow: 0 4px 12px rgba(111,179,44,0.3); }
.mobile-nav ul li.open > .submenu-toggle i { transform: rotate(180deg); }
.mobile-nav ul li.menu-item-has-children > a.open-submenu-override { color: var(--primary-color); }
.mobile-nav ul ul.sub-menu { display: none; padding-right: 20px; padding-bottom: 15px; }
.mobile-nav ul ul.sub-menu li { border-bottom: none; }
.mobile-nav ul ul.sub-menu li a { font-size: 16px; font-weight: 600; color: #555; padding: 10px 0; }
.mobile-nav ul ul.sub-menu li a:hover { color: var(--primary-color); }
/* ---------------- HERO SECTION (NEW MOCKUP STYLE) ---------------- */
.hero-section {
	/* Most styles are inline in front-page.php */
}
/* ---------------- OVERLAPPING FEATURES ---------------- */
.features-section { position: relative; z-index: 10; margin-top: -60px; }
.features-inner.glass-morphism {
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255,255,255,0.5);
	padding: 15px 40px; /* Reduced vertical padding */
	border-radius: 20px;
	box-shadow: 0 15px 35px rgba(0,0,0,0.06);
	display: flex; justify-content: space-between; align-items: center;
}
.feature-item {
	display: flex; align-items: center; gap: 18px; flex: 1; justify-content: center; position: relative;
}
.feature-item:not(:last-child)::after {
	content: ''; position: absolute; left: 0; top: 15%; height: 70%; width: 1px; background: rgba(0,0,0,0.08);
}
.feature-icon {
	color: var(--primary-color); font-size: 32px;
	background: rgba(97, 154, 39, 0.1); width: 60px; height: 60px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
}
.feature-text strong { display: block; font-size: 18px; color: #111; margin-bottom: 3px;}
.feature-text span { font-size: 14px; color: #666; font-weight: 600;}
/* ---------------- CATEGORIES CIRCLES ---------------- */
.categories-circles-section { padding: 80px 0 50px; background-color: var(--white); }
.categories-grid { display: flex; justify-content: center; gap: 45px; flex-wrap: wrap; }
.cat-circle-item { text-align: center; width: 140px; }
.cat-img {
	width: 140px; height: 140px; border-radius: 50%; overflow: hidden; margin-bottom: 15px;
	border: 3px solid transparent; transition: var(--transition);
	box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.cat-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.cat-circle-item:hover .cat-img {
	border-color: var(--primary-color); transform: translateY(-8px);
	box-shadow: 0 15px 30px rgba(97,154,39,0.2);
}
.cat-circle-item:hover .cat-img img { transform: scale(1.1); }
.cat-title { font-weight: 700; font-size: 17px; color: #222; }
/* ---------------- PROMOTIONAL BENTO GRID ---------------- */
.bento-grid-section { padding: 0 0 60px; }
.bento-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 300px;
	gap: 25px;
}
.bento-item {
	position: relative; border-radius: 20px; overflow: hidden; background-size: cover; background-position: center;
	display: flex; align-items: flex-end; padding: 30px; text-decoration: none !important;
	box-shadow: 0 10px 30px rgba(0,0,0,0.08); transition: var(--transition);
}
.bento-item:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0,0,0,0.15); }
.bento-item::before {
	content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	background: linear-gradient(to top, rgba(0,0,0,0.7), transparent 60%); transition: var(--transition);
	z-index: 1;
}
.bento-item:hover::before { background: linear-gradient(to top, rgba(0,0,0,0.8), transparent 40%); }
.bento-tall { grid-column: 1 / 2; grid-row: 1 / 2; }
.bento-wide { grid-column: span 1; }
.bento-content { position: relative; z-index: 2; color: #fff; transform: translateY(10px); transition: var(--transition); }
.bento-item:hover .bento-content { transform: translateY(0); }
.bento-tag { display: inline-block; background: rgba(255,255,255,0.2); padding: 5px 15px; border-radius: 30px; font-size: 13px; font-weight: 600; margin-bottom: 10px; backdrop-filter: blur(5px);}
.bento-title { font-size: 28px; font-weight: 800; margin: 0 0 15px; text-shadow: 0 2px 10px rgba(0,0,0,0.3); }
.bento-content p { font-size: 16px; margin: 0 0 20px; opacity: 0.9; }
.btn-sm { padding: 8px 20px; font-size: 14px; }
/* ---------------- PRODUCTS CAROUSEL ---------------- */
.products-section { padding: 60px 0 100px; }
.section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px; }
.section-title { font-size: 36px; font-weight: 800; color: #111;}
.view-all-link { font-weight: 700; color: #555; font-size: 18px;}
.view-all-link:hover { color: var(--primary-color); }
.products-carousel { display: flex; gap: 30px; overflow-x: auto; padding-bottom: 30px; scrollbar-width: none; }
.products-carousel::-webkit-scrollbar { display: none; }
.product-card {
	min-width: 300px; background: var(--white); border-radius: 15px; padding: 20px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.03); transition: var(--transition);
	border: 1px solid rgba(0,0,0,0.03);
}
.product-card:hover { box-shadow: 0 20px 40px rgba(0,0,0,0.08); transform: translateY(-5px); }
.product-img-wrap { position: relative; border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
.product-img-wrap img { width: 100%; height: 300px; object-fit: cover; transition: var(--transition); }
.product-card:hover .product-img-wrap img { transform: scale(1.05); }
.wishlist-btn {
	position: absolute; top: 15px; left: 15px; background: #fff; border: none; width: 40px; height: 40px;
	border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer;
	box-shadow: 0 5px 15px rgba(0,0,0,0.1); color: #999; font-size: 18px; transition: var(--transition); z-index: 2;
}
.wishlist-btn:hover { color: #ff3b3b; transform: scale(1.1); }
.product-actions-overlay {
	position: absolute; bottom: 0; left: 0; width: 100%; padding: 20px;
	background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
	opacity: 0; transform: translateY(20px); transition: var(--transition);
	display: flex; justify-content: center;
}
.product-card:hover .product-actions-overlay { opacity: 1; transform: translateY(0); }
.add-to-cart-quick { width: 100%; padding: 12px; font-size: 16px; border-radius: 30px; }
.product-name { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.product-name a { color: #222; }
.product-name a:hover { color: var(--primary-color); }
.product-price { font-weight: 800; color: var(--primary-color); font-size: 22px; }
/* ---------------- REVIEWS CAROUSEL ---------------- */
.reviews-section { padding: 60px 0 100px; background-color: var(--light-bg); }
.reviews-header { text-align: center; margin-bottom: 40px; }
.reviews-header h2 { font-size: 36px; font-weight: 800; color: #111; margin-bottom: 10px; }
.reviews-header .google-rating { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; color: #555; background: #fff; padding: 10px 20px; border-radius: 30px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.reviews-header .google-rating i { color: #fbbc05; }
.reviews-header .google-rating img { width: 24px; }
.reviews-carousel { display: flex; gap: 30px; overflow-x: auto; padding-bottom: 30px; scrollbar-width: none; }
.reviews-carousel::-webkit-scrollbar { display: none; }
.review-card {
	min-width: 350px; max-width: 350px; background: var(--white); border-radius: 15px; padding: 30px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.03); transition: var(--transition);
	border: 1px solid rgba(0,0,0,0.03); display: flex; flex-direction: column;
}
.review-card:hover { box-shadow: 0 20px 40px rgba(0,0,0,0.08); transform: translateY(-5px); }
.reviewer-info { display: flex; align-items: center; gap: 15px; margin-bottom: 15px; }
.reviewer-avatar { width: 50px; height: 50px; border-radius: 50%; background: var(--primary-color); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; }
.reviewer-name { font-weight: 700; font-size: 18px; color: #222; }
.reviewer-date { font-size: 13px; color: #888; display: block; }
.review-stars { color: #fbbc05; font-size: 14px; margin-bottom: 15px; }
.review-text { font-size: 15px; color: #555; line-height: 1.6; flex-grow: 1; font-style: italic; }
.review-text::before { content: '"'; font-size: 30px; color: #ddd; font-family: Georgia, serif; line-height: 0; vertical-align: -10px; margin-left: 5px;}
/* ---------------- FOOTER ---------------- */
.savionit-footer { 
	background: linear-gradient(135deg, #111111 0%, #1a1a1a 50%, #0d1b06 100%);
	color: #fff; 
	margin-top: 50px; 
	position: relative;
	overflow: hidden;
}
.savionit-footer::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(111,179,44,0.03) 0%, rgba(0,0,0,0) 70%);
	pointer-events: none;
}
.footer-main { padding: 40px 0 30px; position: relative; z-index: 1; }
.footer-premium-layout { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; }
.footer-links-wrapper { flex: 1; display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.footer-contact-wrapper { width: 400px; border-right: 1px solid rgba(255,255,255,0.08); padding-right: 40px; }
/* Premium Contact List - 2 columns on desktop */
.premium-contact-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 20px; }
.premium-contact-list li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; font-size: 14px; color: #bbb; line-height: 1.4; }
.premium-contact-list li i { font-size: 17px; color: var(--primary-color); margin-top: 2px; width: 18px; text-align: center; }
.premium-contact-list li strong { color: #fff; font-weight: 700; font-size: 14px; display: block; margin-bottom: 1px;}
.premium-contact-list li a { color: #bbb; text-decoration: none; transition: 0.3s; }
.premium-contact-list li a:hover { color: var(--primary-color); }
/* Premium Button */
.premium-btn-outline { display: inline-flex; align-items: center; gap: 10px; padding: 10px 20px; border: 1px solid var(--primary-color); color: var(--primary-color); border-radius: 50px; font-size: 14px; font-weight: 600; text-decoration: none; transition: 0.3s; margin-top: 5px; }
.premium-btn-outline:hover { background: var(--primary-color); color: #fff; }
.footer-logo img { filter: brightness(0) invert(1); max-height: 55px; margin-bottom: 8px; }
.footer-desc { color: #aaa; line-height: 1.5; margin-bottom: 12px; font-size: 14px;}
.social-links.premium-socials { display: flex; gap: 12px; }
.social-links.premium-socials a {
	width: 40px; height: 40px; background: rgba(255,255,255,0.1); border-radius: 50%;
	display: flex; align-items: center; justify-content: center; font-size: 18px; color: #fff;
}
.social-links a:hover { background: var(--primary-color); transform: translateY(-3px); }
.footer-title { font-size: 18px; font-weight: 700; margin-bottom: 14px; color: #fff; position: relative; padding-bottom: 8px; }
.footer-title::after { content: ''; position: absolute; bottom: 0; right: 0; width: 30px; height: 2px; background: var(--primary-color); }
.links-col ul, .contact-info { list-style: none; padding: 0; margin: 0; }
.links-col ul li { margin-bottom: 7px; }
.links-col ul li a { color: #aaa; font-size: 14px; line-height: 1.4; }
.links-col ul li a:hover { color: var(--primary-color); padding-right: 5px; }
.contact-info li { display: flex; align-items: center; gap: 12px; color: #aaa; margin-bottom: 8px; font-size: 14px; line-height: 1.4; }
.contact-info li i { color: var(--primary-color); font-size: 20px; }
.working-hours { color: #aaa; margin-top: 20px; line-height: 1.6; }
.working-hours strong { color: #fff; }
.newsletter-col p { color: #aaa; margin-bottom: 20px; }
.newsletter-form { display: flex; }
.newsletter-form input {
	flex: 1; padding: 15px; border: none; border-radius: 0 5px 5px 0; outline: none; font-family: inherit;
}
.newsletter-form button {
	background: var(--primary-color); color: #fff; border: none; padding: 0 25px; font-size: 18px;
	border-radius: 5px 0 0 5px; cursor: pointer; transition: var(--transition);
}
.newsletter-form button:hover { background: var(--primary-dark); }
.footer-bottom { background: #111; padding: 25px 0; }
.footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; }
.copyright { color: #888; margin: 0; font-size: 15px;}
.payment-methods { display: flex; gap: 15px; font-size: 30px; color: #888; }
/* ---------------- CUSTOM ACCESSIBILITY & COOKIE ---------------- */
.custom-accessibility-wrapper { position: fixed; top: 60%; left: 0; transform: translateY(-50%); z-index: 10000; }
.accessibility-btn {
	background-color: var(--primary-color) !important; color: #fff !important; border: none !important; 
	width: auto; height: 40px; padding: 0 12px; border-radius: 0 6px 6px 0;
	font-size: 20px; cursor: pointer; box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
	display: flex; align-items: center; justify-content: center; transition: var(--transition);
	position: relative; z-index: 10001; 
}
.accessibility-btn:hover, .accessibility-btn:focus, .accessibility-btn:active { 
	background-color: #333 !important; padding-left: 20px; outline: none !important; box-shadow: 4px 2px 15px rgba(0,0,0,0.3);
}

.accessibility-panel {
	position: absolute;
	top: 50%;
	left: 60px;
	width: 320px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.15);
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-50%) translateX(-20px);
	transition: all 0.3s ease;
	z-index: 10000;
}
.accessibility-panel.active { opacity: 1; visibility: visible; transform: translateY(-50%) translateX(0); }

.acc-header { background: var(--primary-color) !important; color: #fff; padding: 15px; display: flex; justify-content: space-between; align-items: center; }
.acc-header h3 { margin: 0; font-size: 16px; color: #fff !important; }
.acc-close-btn { background: none !important; border: none !important; color: #fff !important; font-size: 20px; cursor: pointer; line-height: 1; outline: none; }
.acc-body { padding: 15px; display: flex; flex-direction: column; gap: 15px; }
.acc-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.acc-option {
	background: #f5f5f5 !important; border: none !important; padding: 15px 5px !important; text-align: center;
	border-radius: 8px; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 8px; transition: background 0.2s; font-weight: 600; color: #444 !important; font-size: 12px; line-height: 1.1; outline: none;
}
.acc-option:hover, .acc-option.active { background: #e0e0e0 !important; color: var(--primary-color) !important; }
.acc-option i { color: var(--primary-color); font-size: 20px; }
.acc-option.active i { color: var(--primary-color); }
.acc-reset { background: #e6e6e6 !important; color: #333 !important; margin-top: 5px; flex-direction: row; font-size: 14px; padding: 12px !important;}
.acc-reset i { color: #333; font-size: 16px;}
.acc-reset:hover { background: #333 !important; color: #fff !important; }
.acc-reset:hover i { color: #fff; }
/* Accessibility Active States on Body */
body.acc-high-contrast { background-color: #000 !important; color: #0f0 !important; }
body.acc-high-contrast * { background-color: #000 !important; color: #0f0 !important; border-color: #0f0 !important; }
html.acc-grayscale { filter: grayscale(100%) !important; }
body.acc-highlight-links a { background-color: #ff0 !important; color: #000 !important; text-decoration: underline !important; }
body.acc-highlight-headings h1, body.acc-highlight-headings h2, body.acc-highlight-headings h3, body.acc-highlight-headings h4, body.acc-highlight-headings h5, body.acc-highlight-headings h6 { border: 2px solid var(--primary-color) !important; padding: 5px !important; }
body.acc-readable-font * { font-family: Arial, Helvetica, sans-serif !important; }
body.acc-large-cursor, body.acc-large-cursor *, html.acc-large-cursor, html.acc-large-cursor * { cursor: url('https://cdn.custom-cursor.com/db/8687/32/arrow-2856-cursor.png'), auto !important; }
body.acc-stop-animations *, body.acc-stop-animations ::before, body.acc-stop-animations ::after { animation: none !important; transition: none !important; }
/* ---------------- CUSTOM COOKIE BANNER ---------------- */
.cookie-banner-glass {
	position: fixed; bottom: 20px; right: 20px; width: calc(100% - 40px); max-width: 400px;
	background: rgba(255, 255, 255, 0.95); border: 1px solid var(--border-color);
	border-radius: 10px; padding: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.15);
	z-index: 9998; display: flex; flex-direction: column; gap: 15px;
	transform: translateY(150%); transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.cookie-banner-glass.show { transform: translateY(0); }
.cookie-banner-glass.hidden { display: none; }
.cookie-content { display: flex; gap: 15px; align-items: flex-start; }
.cookie-icon { font-size: 30px; }
.cookie-text h4 { margin: 0 0 5px; font-size: 16px; color: #222; }
.cookie-text p { margin: 0; font-size: 13px; color: #555; line-height: 1.4; }
.cookie-actions { display: flex; gap: 10px; }
.btn-cookie, .btn-cookie-decline { flex: 1; padding: 8px 15px; font-size: 14px; text-align: center; border-radius: 5px; cursor: pointer; border: none; font-weight: 600;}
.btn-cookie { background: var(--primary-color); color: #fff;}
.btn-cookie:hover { background: var(--primary-dark); }
.btn-cookie-decline { background: #444; color: #fff;}
.btn-cookie-decline:hover { background: #222; }
/* ---------------- ROGUE X BUG FIX ---------------- */
/* Elementor sometimes injects close buttons on the homepage when it shouldn't */
.dialog-close-button { display: none !important; }
/* Mobile Adaptations */
@media (max-width: 1024px) {
	.desktop-nav { display: none; } /* Hide massive menu on tablets */
	.mobile-menu-toggle { display: block; margin-right: auto; }
	.hamburger-btn {
		background: none; border: none; display: flex; flex-direction: column; gap: 5px; cursor: pointer;
	}
	.hamburger-btn span { display: block; width: 30px; height: 3px; background: var(--text-color); transition: var(--transition); }
	
	.container-fluid { padding: 0 20px; }
}
@media (max-width: 991px) {
	.footer-premium-layout { flex-direction: column; }
	.footer-contact-wrapper { width: 100%; border-right: none; padding-right: 0; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 40px; }
	.footer-links-wrapper { grid-template-columns: repeat(3, 1fr); gap: 30px; }
	
	.features-inner.glass-morphism { flex-direction: column; gap: 20px; text-align: center;}
	.feature-item:not(:last-child)::after { display: none; }
	.bento-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
	.bento-tall, .bento-wide { grid-column: 1 / -1; height: 250px; }
	.header-main-inner { justify-content: space-between; }
}
@media (max-width: 768px) {
	.footer-links-wrapper { grid-template-columns: 1fr 1fr; gap: 12px; }
	.footer-links-wrapper .footer-title { font-size: 15px; margin-bottom: 8px; }
	.footer-links-wrapper ul li { margin-bottom: 5px; }
	.footer-links-wrapper ul li a { font-size: 13px; }
	.footer-main { padding: 35px 0 20px; }
	.hero-section { height: 60vh; min-height: 500px; }
	.hero-bg::before { width: 100%; background: rgba(255,255,255,0.85); }
	.glass-panel { padding: 30px; text-align: center; }
	.hero-title { font-size: 40px; }
	.categories-grid { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 20px;}
	.cat-circle-item { min-width: 110px; }
	.search-overlay-title { font-size: 28px; }
	.search-field-huge { font-size: 20px; }
}
/* Search Overlay Responsiveness */
@media (max-width: 768px) {
	.search-field-huge { font-size: 28px; }
	.search-overlay-title { font-size: 24px; }
	.search-submit-huge { font-size: 28px; }
	.search-popular-terms { font-size: 14px; gap: 10px; }
}
/* -------------------------------------
   TIPS PAGE (MAGAZINE LAYOUT)
------------------------------------- */
.page-id-859 .vc_pageable-slide-wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
}
.page-id-859 .vc_pageable-slide-wrapper::before,
.page-id-859 .vc_pageable-slide-wrapper::after {
	display: none !important; /* Remove clearfix pseudos breaking grid */
}
.page-id-859 .vc_pageable-slide-wrapper .vc_grid-item {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Mobile grid fallback */
@media (max-width: 768px) {
	.page-id-859 .vc_pageable-slide-wrapper {
		grid-template-columns: 1fr !important;
	}
}
/* Hero Post (First item spans full width) */
.page-id-859 .vc_pageable-slide-wrapper .vc_grid-item:first-child {
    grid-column: 1 / -1;
    margin-bottom: 20px !important;
}
.page-id-859 .vc_pageable-slide-wrapper .vc_grid-item:first-child .vc_single_image-img {
    height: 450px !important;
    object-fit: cover;
    width: 100% !important;
}
@media (max-width: 768px) {
	.page-id-859 .vc_pageable-slide-wrapper .vc_grid-item:first-child .vc_single_image-img {
		height: 250px !important;
	}
}
/* Clean up WPBakery ugly borders and backgrounds */
.page-id-859 .vc_box_border_grey {
    border: none !important;
}
.page-id-859 .vc_gitem-zone {
    background: transparent !important;
}
.page-id-859 .vc_single_image-wrapper {
    border-radius: 15px;
    overflow: hidden;
    display: block;
}
/* Typography */
.page-id-859 .vc_custom_heading h2 {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #111 !important;
    line-height: 1.3 !important;
    margin-top: 15px !important;
    margin-bottom: 10px !important;
    transition: color 0.3s ease !important;
}
.page-id-859 .vc_grid-item:first-child .vc_custom_heading h2 {
    font-size: 36px !important; /* Huge title for Hero */
}
.page-id-859 .vc_custom_heading h2:hover {
    color: var(--primary-color) !important;
}
.page-id-859 .vc_gitem-post-data-source-post_excerpt p {
    font-size: 16px !important;
    color: #666 !important;
    line-height: 1.6 !important;
}
.page-id-859 .vc_gitem-post-data-source-post_date div {
	color: #999 !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	margin-top: 5px !important;
}
/* Hide WPBakery Buttons - We want a clean click on title/image */
.page-id-859 .vc_btn3-container {
    display: none !important;
}
/* Hover Image Zoom */
.page-id-859 .vc_single_image-img {
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.page-id-859 .vc_grid-item:hover .vc_single_image-img {
    transform: scale(1.08) !important;
}
/* ---------------- WOOCOMMERCE ARCHIVE PREMIUM GRID ---------------- */
/* Desktop 5 Columns */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 25px;
	margin: 0;
	padding: 40px 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none; /* Remove floats */
}
/* Product Card Design */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: 100% !important; /* Override WooCommerce floats */
	margin: 0 !important;
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 5px 20px rgba(0,0,0,0.05);
	padding: 15px;
	text-align: right;
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	border: 1px solid transparent;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 35px rgba(0,0,0,0.1);
	border-color: var(--primary-color);
}
.woocommerce ul.products li.product img {
	border-radius: 12px;
	margin-bottom: 15px;
	width: 100%;
	object-fit: contain;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 18px;
	font-weight: 700;
	color: #111;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	line-height: 1.2;
}
.woocommerce ul.products li.product .price {
	color: var(--primary-color);
	font-weight: 800;
	font-size: 17px;
	margin-top: 2px !important;
	margin-bottom: 10px;
	direction: rtl;
	display: block;
}
/* Category Cards in Loop */
.woocommerce ul.products li.product.product-category {
	text-align: center !important;
	padding: 20px !important;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.woocommerce ul.products li.product.product-category img {
	margin-bottom: 20px;
}
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #111 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block;
}
.premium-cat-count {
	display: block;
	font-size: 14px;
	color: #888;
	margin-top: 8px;
	font-weight: 600;
	background: #f8f8f8;
	padding: 5px 12px;
	border-radius: 20px;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
/* ---------------- PREMIUM SUBCATEGORY FILTER BAR ---------------- */
.premium-subcats-wrapper {
	background: transparent;
	padding: 30px 0 10px;
	margin-bottom: 30px;
	position: relative;
	z-index: 10;
}
.premium-subcats-filter-bar {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom: 15px;
}
.subcat-filter-btn {
	background: #fff;
	color: #444;
	padding: 10px 25px;
	border-radius: 40px;
	font-weight: 700;
	font-size: 15px;
	white-space: nowrap;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 5px 15px rgba(0,0,0,0.04);
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	animation: popIn 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) backwards;
}
/* Stagger animation delay slightly for child elements */
.subcat-filter-btn:nth-child(1) { animation-delay: 0.1s; }
.subcat-filter-btn:nth-child(2) { animation-delay: 0.15s; }
.subcat-filter-btn:nth-child(3) { animation-delay: 0.2s; }
.subcat-filter-btn:nth-child(4) { animation-delay: 0.25s; }
.subcat-filter-btn:nth-child(5) { animation-delay: 0.3s; }
.subcat-filter-btn:nth-child(6) { animation-delay: 0.35s; }
.subcat-filter-btn:nth-child(7) { animation-delay: 0.4s; }
.subcat-filter-btn:nth-child(n+8) { animation-delay: 0.45s; }
@keyframes popIn {
	0% { opacity: 0; transform: scale(0.8) translateY(20px); }
	100% { opacity: 1; transform: scale(1) translateY(0); }
}
.subcat-filter-btn:hover {
	color: var(--primary-color);
	border-color: var(--primary-color);
	transform: translateY(-4px) scale(1.05);
	box-shadow: 0 10px 25px rgba(111,179,44,0.15);
	z-index: 2;
}
.subcat-filter-btn.active {
	background: var(--primary-color);
	color: #fff;
	border-color: var(--primary-color);
	box-shadow: 0 10px 30px rgba(111,179,44,0.3);
	transform: scale(1.05);
}
/* Mobile horizontal scrolling for subcategories */
@media (max-width: 768px) {
	.premium-subcats-filter-bar {
		flex-wrap: nowrap !important;
		overflow-x: auto;
		justify-content: flex-start !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding: 15px 20px 30px !important;
	}
	.premium-subcats-filter-bar::-webkit-scrollbar {
		display: none;
	}
	.subcat-filter-btn {
		flex-shrink: 0;
	}
}
/* ---------------- COLOR SWATCHES (Custom HTML) ---------------- */
.rte {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 10px;
	margin-bottom: 15px;
	text-decoration: none;
}
.catalog-item-color {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: inline-block;
	background-size: cover;
	background-position: center;
	border: 2px solid #fff;
	box-shadow: 0 2px 5px rgba(0,0,0,0.2);
	margin-right: -8px; /* Overlapping effect */
	position: relative;
	transition: transform 0.2s ease;
}
.catalog-item-color:first-child {
	margin-right: 0;
}
.catalog-item-color:hover {
	transform: scale(1.2);
	z-index: 5;
}
.catalog-item-number {
	color: #2563eb;
	font-size: 14px;
	font-weight: 600;
	margin-right: 12px;
}
/* ---------------- MOBILE RESPONSIVENESS (2 Columns) ---------------- */
@media (max-width: 768px) {
    body.woocommerce-page .elementor-section.elementor-section-boxed > .elementor-container,
    body.woocommerce-page .site-main,
    body.woocommerce-page #content,
    body.woocommerce-page .container {
        width: 98% !important;
        max-width: 98% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
		padding: 10px 5px !important;
	}
	.woocommerce ul.products li.product {
		padding: 8px !important;
        border-radius: 12px !important;
	}
    .woocommerce ul.products li.product img {
        margin-bottom: 8px !important;
        border-radius: 8px !important;
    }
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 14px !important;
	}
	.catalog-item-color {
		width: 16px;
		height: 16px;
		margin-right: -5px;
	}
	.catalog-item-number {
		font-size: 12px;
		margin-right: 5px;
	}
}
/* ---------------- WOOCOMMERCE ARCHIVE WIDE LAYOUT ---------------- */
/* Force WooCommerce Archive & VPC Product Containers to be wider */
body.woocommerce-page .elementor-section.elementor-section-boxed > .elementor-container,
body.woocommerce-page .site-main,
body.woocommerce-page #content,
body.woocommerce-page .container,
body.woocommerce-page.vpc-is-configurable .elementor-section.elementor-section-boxed > .elementor-container,
body.woocommerce-page.vpc-is-configurable .site-main,
body.woocommerce-page.vpc-is-configurable #content,
body.woocommerce-page.vpc-is-configurable .container,
body.woocommerce-page.vpc-is-configurable .product-flex {
    max-width: 1700px !important;
    width: 95% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* ---------------- PREMIUM SALE BADGE ---------------- */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    background: linear-gradient(90deg, #4ade80 0%, #84cc16 100%) !important;
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    padding: 6px 15px !important;
    border-radius: 0 !important;
    min-height: auto !important;
    min-width: auto !important;
    position: absolute !important;
    top: 20px !important;
    left: 0 !important;
    right: auto !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    z-index: 9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* ---------------- CRAZY PREMIUM FEATURES ---------------- */
/* Hotspots (Shop the Look) */
.hotspot-wrapper { position: relative; }
.hotspot {
	animation: pulse 2s infinite;
}
@keyframes pulse {
	0% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.7); }
	70% { box-shadow: 0 0 0 15px rgba(212, 175, 55, 0); }
	100% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0); }
}
.hotspot::after {
	content: 'קולקציית קיץ - ₪499';
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%) translateY(10px);
	background: #111;
	color: #fff;
	padding: 5px 15px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: var(--transition);
}
.hotspot:hover::after {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
/* Parallax Bento Grid */
.bento-grid-section .bento-item {
	background-attachment: fixed !important;
}
/* Fix RTL Marquee Display */
.premium-marquee {
	direction: ltr;
}
.marquee-content span {
	padding: 0 20px;
}
/* ---------------- SIDE CART ---------------- */
/* Override Elementor Pro Side Cart Close Button (Remove Red Background) */
.elementor-menu-cart__close-button,
.elementor-menu-cart__close-button-custom,
div.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__close-button {
    background-color: transparent !important;
    background: transparent !important;
    color: #999 !important;
    fill: #999 !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: 0.3s ease !important;
    margin: 15px !important;
    box-shadow: none !important;
}
.elementor-menu-cart__close-button:before,
.elementor-menu-cart__close-button-custom:before {
    font-size: 24px !important;
}
.elementor-menu-cart__close-button:hover,
.elementor-menu-cart__close-button-custom:hover,
div.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__close-button:hover {
    background-color: #f2f2f2 !important;
    background: #f2f2f2 !important;
    color: #111 !important;
    fill: #111 !important;
    transform: rotate(90deg) !important;
}
.elementor-menu-cart__close-button svg,
.elementor-menu-cart__close-button-custom svg {
    fill: currentColor !important;
    transition: 0.3s ease !important;
}
.side-cart-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.6); z-index: 100000;
    opacity: 0; visibility: hidden; transition: 0.3s ease;
	backdrop-filter: blur(5px);
}
.side-cart-overlay.active { opacity: 1; visibility: visible; }
.side-cart-panel {
    position: fixed; top: 0; left: -450px; width: 450px; height: 100%; max-width: 100vw;
    background: #fff; z-index: 100001;
    box-shadow: 10px 0 40px rgba(0,0,0,0.15);
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    display: flex; flex-direction: column;
}
.side-cart-panel.active { left: 0; }
.side-cart-header {
    padding: 25px; border-bottom: 1px solid #f0f0f0; display: flex; justify-content: space-between; align-items: center;
	background: #fdfdfd;
}
.side-cart-header h3 { margin: 0; font-size: 22px; font-weight: 800; color: #111; display: flex; align-items: center; gap: 10px; }
.side-cart-header h3 i { color: var(--primary-color); }
/* Override Custom Side Cart Close Button */
.close-side-cart { 
    background: transparent !important; 
    border: none !important; 
    font-size: 32px; 
    cursor: pointer; 
    color: #999 !important; 
    line-height: 1; 
    transition: 0.3s; 
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
}
.close-side-cart:hover { 
    background-color: #f2f2f2 !important; 
    color: #111 !important; 
    transform: rotate(90deg); 
}
.side-cart-body { flex: 1; overflow-y: auto; padding: 25px; }
/* Side Cart WC Mini Cart styling overrides */
.widget_shopping_cart_content .cart_list li { display: block !important; position: relative !important; padding: 20px 95px 20px 45px !important; border-bottom: 1px solid #f0f0f0 !important; min-height: 115px !important; }
.widget_shopping_cart_content .cart_list li > a.remove { position: absolute !important; left: 10px !important; top: 20px !important; display: block !important; z-index: 10 !important; background: #fff !important; width: 24px !important; height: 24px !important; text-align: center !important; line-height: 22px !important; border-radius: 50% !important; border: 1px solid #ddd !important; font-size: 16px !important; color: #999 !important; transition: 0.3s; }
.widget_shopping_cart_content .cart_list li > a.remove:hover { border-color: #f00 !important; color: #fff !important; background: #f00 !important; }
.widget_shopping_cart_content .cart_list li > a:not(.remove):not(.premium-edit-link) { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 700 !important; color: #222 !important; font-size: 14px !important; margin-bottom: 5px !important; line-height: 1.4 !important; text-align: right !important; }
.widget_shopping_cart_content .cart_list li > a:not(.remove) img { position: absolute !important; top: 20px !important; right: 0 !important; width: 75px !important; height: 75px !important; object-fit: cover !important; border-radius: 8px !important; margin: 0 !important; box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important; flex-shrink: 0 !important; z-index: 5 !important; }
.widget_shopping_cart_content .cart_list li .quantity { display: block !important; font-size: 15px !important; color: #555 !important; font-weight: 700 !important; margin-bottom: 5px !important; text-align: right !important; }
.widget_shopping_cart_content .cart_list li a.premium-edit-link { display: inline-block !important; font-size: 13px !important; color: var(--primary-color) !important; text-decoration: underline !important; margin-bottom: 10px !important; font-weight: 600 !important; }
/* Variation Details Accordion Styling */
.widget_shopping_cart_content .cart_list li a[href*="?vpc-pid"], .widget_shopping_cart_content .cart_list li .vpc-edit {
    display: inline-block !important;
    background: transparent !important;
    color: #666 !important;
    padding: 0 !important;
    font-size: 13px !important;
    text-decoration: underline !important;
    margin-bottom: 10px !important;
}
/* dl.variation / table img styling for the accordion now lives entirely in
   the "SIDE CART — configuration spec accordion" block at the end of this
   file, scoped to .svc-spec-content — keeping one single source of truth
   instead of two competing !important blocks. */
.toggle-item-details { font-size: 13px !important; color: var(--primary-color) !important; background: rgba(111, 179, 44, 0.1) !important; border: none !important; cursor: pointer !important; padding: 5px 12px !important; border-radius: 20px !important; margin-right: 85px !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; font-weight: 700 !important; transition: 0.3s ease !important; }
.toggle-item-details:hover { background: var(--primary-color) !important; color: #fff !important; }
.widget_shopping_cart_content .total { padding: 20px 0 !important; border-top: 2px solid #111 !important; font-size: 18px !important; font-weight: 800 !important; color: #111 !important; }
.widget_shopping_cart_content .buttons { display: flex !important; gap: 10px !important; }
.widget_shopping_cart_content .buttons .button { flex: 1 !important; text-align: center !important; border-radius: 8px !important; padding: 12px !important; font-size: 16px !important; font-weight: 700 !important; transition: 0.3s ease !important; }
.widget_shopping_cart_content .buttons .checkout { background: var(--primary-color) !important; color: #fff !important; }
.widget_shopping_cart_content .buttons .checkout:hover { opacity: 0.9 !important; }
.widget_shopping_cart_content .buttons .button:not(.checkout) { background: #111 !important; color: #fff !important; border: none !important; }
.widget_shopping_cart_content .buttons .button:not(.checkout):hover { background: #333 !important; color: #fff !important; }
/* .vpc-cart-config / .premium-cart-meta-container tables (legacy VPC-era
   markup) now render through the same .svc-spec-content table rules below —
   no separate styling needed. */
/* Pulse animation for active cart */
.pulse-cart { animation: cartPulse 1.5s infinite; }
@keyframes cartPulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(111, 179, 44, 0.4); }
    70% { transform: scale(1.1); box-shadow: 0 0 0 10px rgba(111, 179, 44, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(111, 179, 44, 0); }
}
/* ==========================================================================
   6. WOOCOMMERCE PREMIUM STYLES
   ========================================================================== */
/* ------------- SALE BADGE ------------- */
body .woocommerce span.onsale,
.elementor-widget-wc-archive-products .woocommerce span.onsale,
.elementor-products-grid .woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce div.product .onsale {
	background-color: #6fb32c !important;
	background-image: none !important;
	background: #6fb32c !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	padding: 6px 16px !important;
	border-radius: 0 15px 0 20px !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1.2 !important;
	box-shadow: 0 5px 15px rgba(111,179,44,0.4) !important;
	z-index: 9 !important;
	margin: 0 !important;
	text-transform: uppercase !important;
	display: inline-block !important;
	top: 0 !important;
	right: 0 !important; 
	left: auto !important;
	border: none !important;
}
/* ---------------- ARCHIVE HEADER (Title & Breadcrumbs) ---------------- */
.woocommerce-products-header {
	text-align: center;
	margin-bottom: 5px;
}
.page-title {
	font-size: 45px !important;
	font-weight: 800 !important;
	color: #111 !important;
	margin-bottom: 5px !important;
	margin-top: 20px !important; /* Breathing room from the site header */
	text-align: center !important;
	width: 100%;
}
@media (max-width: 768px) {
	.page-title {
		margin-top: 10px !important;
		font-size: 32px !important;
	}
}
.woocommerce-breadcrumb {
	justify-content: center;
	text-align: center;
	font-size: 15px !important;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	background: transparent !important;
	padding: 5px 0 !important;
	margin: 0 auto 5px !important;
	width: 100%;
}
.woocommerce-breadcrumb a {
	color: var(--primary-color) !important;
	font-weight: 600;
}
.woocommerce-result-count {
	float: none !important;
	text-align: center !important;
	margin: 0 auto 15px !important;
	color: #888 !important;
	font-size: 16px !important;
	width: 100%;
}
.woocommerce-ordering {
	display: none !important;
}
/* ================= GOOGLE REVIEWS SECTION ================= */
.google-reviews-section {
    padding: 60px 20px;
    background: #fdfdfd;
    overflow: hidden;
    margin: 40px auto;
    max-width: 1400px;
}
.google-reviews-header {
    text-align: center;
    margin-bottom: 40px;
}
.google-reviews-header h2 {
    font-size: 32px;
    font-weight: 800;
    color: #111;
    margin-top: 20px;
}
.google-rating-summary {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: #fff;
    padding: 10px 25px;
    border-radius: 40px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    border: 1px solid #f0f0f0;
}
.google-rating-summary .google-logo img {
    width: 35px;
    height: 35px;
}
.google-rating-text {
    text-align: right;
}
.google-score {
    font-size: 24px;
    font-weight: 800;
    color: #111;
    line-height: 1;
}
.google-stars {
    color: #fbbc04;
    font-size: 16px;
    margin-top: 4px;
}
.google-count {
    font-size: 13px;
    color: #666;
    margin-top: 2px;
}
.google-reviews-slider {
    display: flex;
    gap: 25px;
    overflow-x: auto;
    padding: 20px 5px 40px 5px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    direction: rtl; /* Important for RTL scroll snap */
}
.google-reviews-slider::-webkit-scrollbar {
    height: 8px;
}
.google-reviews-slider::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}
.google-reviews-slider::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 10px;
}
.google-reviews-slider::-webkit-scrollbar-thumb:hover {
    background: #ccc;
}
.review-card {
    min-width: 340px;
    background: #fff;
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
    scroll-snap-align: start;
    border: 1px solid #f5f5f5;
    transition: transform 0.3s ease;
}
.review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}
.review-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
    position: relative;
}
.reviewer-avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
}
.reviewer-info {
    flex: 1;
}
.reviewer-name {
    font-weight: 700;
    color: #111;
    font-size: 16px;
}
.review-date {
    font-size: 13px;
    color: #777;
}
.review-header .google-icon {
    position: absolute;
    left: 0;
    top: 5px;
}
.review-header .google-icon img {
    width: 20px;
}
.review-stars {
    color: #fbbc04;
    font-size: 16px;
    margin-bottom: 15px;
    letter-spacing: 2px;
}
.review-text {
    font-size: 15px;
    color: #444;
    line-height: 1.6;
}
@media (max-width: 768px) {
    .review-card {
        min-width: 280px;
    }
    .google-reviews-header h2 {
        font-size: 24px;
    }
}
/* ==========================================================================
   7. WOOCOMMERCE SINGLE PRODUCT PREMIUM STYLES
   ========================================================================== */
/* Layout: Balanced Grid & Sticky Summary */
@media (min-width: 992px) {
    .woocommerce div.product,
    .elementor-widget-woocommerce-product-data .product {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 50px;
        align-items: start;
        margin: 40px auto !important;
        max-width: 1400px !important;
        width: 95% !important; /* Ensure a little breathing room on smaller desktop screens */
    }
    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product .images {
        width: 100% !important;
        float: none !important;
        margin-bottom: 0 !important;
        order: 2 !important; /* Gallery on the left in RTL */
    }
    .woocommerce div.product .summary,
    .elementor-widget-woocommerce-product-data .summary {
        width: 100% !important;
        float: none !important;
        padding: 30px !important;
        background: #fff;
        border-radius: 20px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.04);
        z-index: 10;
        order: 1 !important; /* Summary on the right in RTL */
    }
    /* Everything else (tabs, related, upsells, notices) → full width BELOW */
    .woocommerce div.product > :not(.woocommerce-product-gallery):not(.images):not(.summary) {
        grid-column: 1 / -1 !important;
        order: 10 !important;
    }
    .woocommerce div.product .woocommerce-tabs {
        order: 10 !important;
    }
    .woocommerce div.product .related.products,
    .woocommerce div.product .upsells.products {
        order: 20 !important;
    }
}
/* Mobile Layout Reordering */
@media (max-width: 991px) {
    .woocommerce div.product,
    .elementor-widget-woocommerce-product-data .product {
        display: flex !important;
        flex-direction: column;
        background: #fff !important;
        padding: 20px !important;
        border-radius: 15px !important;
        box-shadow: 0 5px 25px rgba(0,0,0,0.05) !important;
    }
    
    .woocommerce div.product .woocommerce-product-gallery {
        background: transparent !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
    }
    .woocommerce div.product .summary,
    .elementor-widget-woocommerce-product-data .summary {
        background: transparent !important;
        padding: 10px 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        margin-bottom: 0 !important;
    }
    .woocommerce div.product::after,
    .woocommerce div.product::before,
    .woocommerce div.product .summary::after,
    .woocommerce div.product .summary::before {
        display: none !important;
    }
    .woocommerce div.product .summary,
    .elementor-widget-woocommerce-product-data .summary {
        display: contents !important;
    }
	 
    /* 1. Title */
    .woocommerce div.product .product_title {
        order: 1 !important;
        margin-bottom: 5px !important;
        font-size: 24px !important;
    }
    /* 2. Breadcrumbs (under title) */
    .woocommerce div.product .woocommerce-breadcrumb {
        order: 2 !important;
        font-size: 11px !important;
        margin-bottom: 20px !important;
        color: #888 !important;
    }
    /* 3. Image Gallery */
    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product .images {
        order: 3 !important;
        margin-bottom: 25px !important;
    }
    /* 4. Price */
    .woocommerce div.product .summary p.price,
    .woocommerce div.product .summary span.price {
        order: 4 !important;
        margin-bottom: 15px !important;
    }
    /* 5 & 6. Variations and Add to Cart (inside form.cart) */
    .woocommerce div.product form.cart {
        order: 5 !important;
        margin-bottom: 25px !important;
        width: 100% !important;
    }
	/* 7. Description */
    .woocommerce div.product .premium-product-description {
        order: 6 !important;
        margin-top: 10px !important;
    }
    .woocommerce div.product .product_meta {
        order: 7 !important;
    }
    
    /* Break out of the white box for Tabs & Related Products */
    .woocommerce div.product .woocommerce-tabs,
    .woocommerce div.product .related.products,
    .woocommerce div.product .upsells.products {
        order: 10 !important;
        margin-left: -20px !important;
        margin-right: -20px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        background: var(--light-bg) !important;
        box-shadow: none !important;
    }
    .woocommerce div.product .related.products,
    .woocommerce div.product .upsells.products {
        order: 11 !important;
        padding-top: 40px !important;
    }
}
/* Gallery & Media (Images and Videos) */
.woocommerce div.product .woocommerce-product-gallery {
    width: 100% !important;
    max-width: none !important; /* Allow it to stretch to the grid column width */
}
.woocommerce div.product .woocommerce-product-gallery__wrapper {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
    margin-bottom: 20px !important;
}
.woocommerce div.product .woocommerce-product-gallery img {
    border-radius: 20px;
    width: 100%;
}
/* Gallery Thumbnails */
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent !important;
    transition: 0.3s;
    width: calc(25% - 12px) !important;
    height: auto !important;
    float: none !important;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li:hover,
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li .flex-active {
    border-color: var(--primary-color) !important;
    transform: translateY(-2px);
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    border-radius: 0 !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 !important;
    object-fit: cover !important;
    margin: 0 !important;
    display: block !important;
}
/* Responsive Video Container */
.woocommerce div.product .woocommerce-product-details__short-description iframe,
.woocommerce div.product .woocommerce-product-details__short-description video,
.woocommerce-Tabs-panel iframe,
.woocommerce-Tabs-panel video {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    aspect-ratio: 16 / 9;
    height: auto;
}
/* Product Title, Breadcrumb, & Price */
.woocommerce div.product .product_title {
    font-size: 36px !important;
    font-weight: 800 !important;
    color: #111 !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
}
.woocommerce div.product .woocommerce-breadcrumb {
    justify-content: flex-start !important;
    text-align: right !important;
    font-size: 13px !important;
    color: #888 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
}
.woocommerce div.product .woocommerce-breadcrumb a {
    color: #555 !important;
}
/* Premium Variation Selectors - remove all WooCommerce default styling */
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.woocommerce div.product form.cart .variations {
    width: 100% !important;
    margin-bottom: 25px !important;
    border-collapse: collapse !important;
}
.woocommerce div.product form.cart .variations th {
    text-align: right !important;
    padding: 0 0 0 15px !important;
    font-weight: 700 !important;
    color: #333 !important;
    font-size: 16px !important;
    vertical-align: middle;
    width: 30%;
}
.woocommerce div.product form.cart .variations td {
    padding: 0 !important;
    vertical-align: middle;
}
.woocommerce div.product form.cart .variations select {
    width: 100% !important;
    height: 50px !important;
    padding: 0 20px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #444 !important;
    border: 2px solid #eee !important;
    border-radius: 12px !important;
    background: #fff !important;
    transition: 0.3s;
    /* Hide by default - JS will show if no swatches available */
    display: none !important;
}
/* JS will add class 'show-select' when no swatches found */
.woocommerce div.product form.cart .variations select.show-select {
    display: block !important;
}
.woocommerce div.product form.cart .variations select:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(111,179,44,0.1) !important;
    outline: none;
}
/* Style Select2 dropdowns (WooCommerce variation swatches) */
.woocommerce div.product .variations .select2-container .select2-selection--single {
    height: 50px !important;
    border: 2px solid #eee !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 15px !important;
    transition: 0.3s;
    background: #fff !important;
}
.woocommerce div.product .variations .select2-container--open .select2-selection--single {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(111,179,44,0.1) !important;
}
.woocommerce div.product .variations .select2-selection__rendered {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #444 !important;
    line-height: 46px !important;
}	
.woocommerce div.product .variations .select2-selection__arrow {
    height: 100% !important;
    top: 0 !important;
}
/* Hide the 'back' / reset variations link - nuclear option */
.woocommerce div.product form.cart .reset_variations,
.woocommerce div.product .reset_variations,
.variations_form .reset_variations,
a.reset_variations,
.reset_variations,
[class*="reset_var"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    font-size: 0 !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    z-index: -999 !important;
}
/* Variation Image Swatches */
/* Variation Swatches - improved layout */
.woocommerce div.product form.cart table.variations td.value,
.variations td.value {
    display: block !important;
    width: 100% !important;
    text-align: right !important;
}
.woocommerce div.product form.cart table.variations th.label,
.woocommerce div.product form.cart table.variations td.label,
.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations td.label,
.variations th.label,
.variations td.label {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
}
.variation-swatch-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
    justify-content: flex-start; /* Align to the right in RTL */
}
.variation-swatch-item {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 2px solid #eee;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #fff;
    min-height: 42px;
}
.variation-swatch-item.image-swatch {
    padding: 6px 6px 6px 20px; /* Top, Right (closer to image), Bottom, Left (more space for text) */
}
.variation-swatch-item.text-swatch {
    padding: 10px 20px;
}
.variation-swatch-item:hover {
    border-color: var(--primary-color);
    box-shadow: 0 4px 15px rgba(111,179,44,0.15);
    transform: translateY(-2px);
}
.variation-swatch-item.active {
    border-color: var(--primary-color);
    background: rgba(111,179,44,0.05);
    box-shadow: 0 4px 15px rgba(111,179,44,0.2);
}
i.variation-image {
    display: inline-block;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: 2px solid #f0f0f0;
    flex-shrink: 0;
}
.variation-swatch-item.active i.variation-image {
    border-color: var(--primary-color);
}
.swatch-label {
    font-size: 14px;
    font-weight: 700;
    color: #333;
    white-space: nowrap;
}
.variation-swatch-item.active .swatch-label {
    color: var(--primary-color);
    font-weight: 800;
}
/* ---- Product FAQ Accordion ---- */
.wc-categories.product_faq {
    list-style: none !important;
    margin: 25px 0 0 0 !important;
    padding: 0 !important;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 5px 25px rgba(0,0,0,0.04);
    border: 1px solid #f0f0f0;
}
.wc-categories.product_faq .nav-item {
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    transition: background 0.2s;
}
.wc-categories.product_faq .nav-item:last-child {
    border-bottom: none;
}
.wc-categories.product_faq .nav-item .product_faq_icon,
.wc-categories.product_faq .nav-item .text.dropdown_item,
.wc-categories.product_faq .nav-item .dropdown-menu-indicator {
    cursor: pointer;
}
/* The visible row (icon + label + arrow) */
.wc-categories.product_faq .nav-item > *:not(.dropdown-menu) {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}
.wc-categories.product_faq .nav-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 16px 20px;
    cursor: pointer;
    gap: 12px;
}
.wc-categories.product_faq .nav-item .product_faq_icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex-shrink: 0;
}
.wc-categories.product_faq .nav-item .text.dropdown_item {
    flex: 1;
    font-size: 16px;
    font-weight: 700;
    color: #222;
    text-align: right;
}
.wc-categories.product_faq .nav-item .dropdown-menu-indicator {
    margin-right: auto;
    color: #aaa;
    transition: transform 0.3s;
}
.wc-categories.product_faq .nav-item.open .dropdown-menu-indicator {
    transform: rotate(90deg);
    color: var(--primary-color);
}
.wc-categories.product_faq .nav-item.open {
    background: #fafffe;
}
.wc-categories.product_faq .dropdown-menu {
    width: 100%;
    flex-basis: 100%;
    padding: 0 20px 20px 20px;
    font-size: 15px;
    line-height: 1.8;
    color: #555;
    direction: rtl;
    text-align: right;
    border-top: 1px dashed #eee;
    margin-top: 10px;
    padding-top: 15px;
}
/* ---- Product Description under Title ---- */
.premium-product-description {
    margin: 15px 0 25px 0;
    font-size: 16px;
    line-height: 1.7;
    color: #444;
}
.premium-product-description p {
    margin-bottom: 12px;
}
.premium-product-description iframe,
.premium-product-description video,
.premium-product-description img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    margin: 10px 0;
}
/* Prevent video flicker before JS loads */
.premium-product-description iframe[src*="youtube"],
.premium-product-description iframe[src*="vimeo"],
.premium-product-description iframe[src*="cloudinary"],
.premium-product-description video,
.premium-product-description .video-js,
.premium-product-description .cloudinary-video {
    display: none;
}
/* ---- Premium Video Modal ---- */
.premium-video-btn-wrapper {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    margin: 15px 0 25px 0;
}
.premium-video-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #f8f8f8;
    color: #222;
    padding: 10px 24px 10px 20px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    border: 2px solid #eee;
    transition: all 0.3s ease;
}
.premium-video-btn:hover {
    background: #fff;
    border-color: var(--primary-color);
    color: var(--primary-color);
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.premium-video-btn svg {
    color: var(--primary-color);
    transition: all 0.3s ease;
}
.premium-video-btn svg circle {
    fill: none;
    stroke: var(--primary-color);
}
.premium-video-btn svg polygon {
    fill: var(--primary-color);
    stroke: var(--primary-color);
}
.premium-video-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.85);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
}
.premium-video-modal.open {
    opacity: 1;
    visibility: visible;
}
.premium-video-modal-close {
    position: absolute;
    top: 30px;
    right: 40px;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    z-index: 2;
    line-height: 1;
}
.premium-video-modal-content {
    width: 90%;
    max-width: 900px;
    aspect-ratio: 16 / 9;
    position: relative;
    transform: translateY(30px) scale(0.95);
    transition: all 0.3s ease;
}
.premium-video-modal.open .premium-video-modal-content {
    transform: translateY(0) scale(1);
}
.premium-video-modal-content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
    border: none;
}
/* ---- Premium Gallery Thumbnails ---- */
.premium-more-thumb-wrapper {
    position: relative;
}
.premium-gallery-more-btn {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.65);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 10;
    border-radius: 12px;
    transition: background 0.3s ease;
    cursor: pointer;
}
.premium-gallery-more-btn:hover {
    background: rgba(0,0,0,0.85);
}
.more-btn-content {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.1;
    display: block;
}
.more-btn-content span {
    font-size: 24px;
    display: block;
    margin-bottom: 3px;
    font-weight: 800;
}
/* Prevent thumbnail flicker on page load - hide after 4th */
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(n+5),
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div:nth-child(n+6) {
    display: none;
}
/* ---- Premium Single Product Price (Scoped strictly to the main product summary) ---- */
.woocommerce div.product .summary p.price,
.woocommerce div.product .summary span.price {
    font-size: 36px !important;
    font-weight: 900 !important;
    color: var(--primary-color) !important;
    margin-bottom: 20px !important;
    display: block;
}
.woocommerce div.product .summary p.price del,
.woocommerce div.product .summary span.price del {
    font-size: 20px !important;
    color: #a0a0a0 !important;
    font-weight: 500 !important;
    margin-left: 10px;
}
/* ---- Premium Product Accordion (Apple Glassmorphism Design) ---- */
.premium-product-accordion {
    margin-top: 50px;
    margin-bottom: 40px;
    width: 100%;
    /* Add a beautiful Apple-style subtle gradient background to the container 
       so the glass buttons have something to sit on and blur! */
    background: linear-gradient(135deg, #f5f5f7 0%, #eaeaea 100%) !important;
    padding: 40px 30px !important;
    border-radius: 24px !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.02) !important;
    /* Reset margins if any */
    margin-left: 0;
    margin-right: 0;
}
.premium-accordion-item {
    /* Pure Apple Glass Effect */
    background: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.9) !important; /* Top light reflection */
    border-radius: 18px;
    margin-bottom: 15px; /* Spacing for mobile */
    padding: 0 24px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.03) !important; /* Very soft ambient shadow */
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    overflow: hidden;
}
.premium-accordion-item:hover {
    background: rgba(255, 255, 255, 0.7) !important;
    border-color: rgba(255, 255, 255, 1) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05) !important;
    transform: translateY(-2px);
}
.premium-accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 22px 0;
    cursor: pointer;
}
.premium-accordion-title {
    font-size: 17px;
    font-weight: 600;
    color: #1d1d1f; /* Apple dark text */
    display: flex;
    align-items: center;
    gap: 16px;
    letter-spacing: -0.2px;
}
.premium-accordion-title i {
    font-size: 22px;
    width: 32px;
    text-align: center;
    color: #1d1d1f;
    opacity: 0.85;
}
.premium-accordion-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: rgba(0,0,0,0.03);
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 50%;
    font-size: 12px;
    color: #1d1d1f;
    transition: all 0.3s ease;
}
/* When accordion is open */
.premium-accordion-item.active .premium-accordion-toggle {
    transform: rotate(-90deg);
    background: #1d1d1f;
    color: #fff;
    border-color: #1d1d1f;
}
.premium-accordion-content {
    display: none;
    padding: 5px 0 25px 0;
    color: #515154;
    font-size: 15px;
    line-height: 1.6;
}
.premium-accordion-inner p:last-child {
    margin-bottom: 0;
}
/* Desktop: 2 Accordion items per row */
@media (min-width: 992px) {
    .premium-product-accordion {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 24px !important;
        align-items: start;
        grid-column: 1 / -1 !important; /* Force full width in CSS grid if inside one */
    }
    .premium-accordion-item {
        margin-bottom: 0; /* Handled by grid gap */
    }
}
.woocommerce div.product .summary p.price ins,
.woocommerce div.product .summary span.price ins {
    text-decoration: none;
    font-weight: 900 !important;
}
/* ---- Related Products Premium Styling ---- */
.woocommerce div.product .related.products,
.related.products {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid #eee;
    width: 100%;
}
.woocommerce div.product .related.products > h2,
.related.products > h2 {
    font-size: 32px !important;
    font-weight: 900 !important;
    text-align: center;
    margin-bottom: 40px !important;
    color: #222;
}
.woocommerce div.product .related.products ul.products {
    display: grid !important;
    gap: 20px;
}
.woocommerce div.product .related.products ul.products::before,
.woocommerce div.product .related.products ul.products::after {
    display: none !important;
}
/* Desktop: exactly 5 items per row, hide the 6th item */
@media (min-width: 992px) {
    .woocommerce div.product .related.products ul.products {
        grid-template-columns: repeat(5, 1fr) !important;
    }
    .woocommerce div.product .related.products ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
    }
    .woocommerce div.product .related.products ul.products li.product:nth-child(n+6) {
        display: none !important;
    }
}
/* Tablet & Mobile: exactly 2 items per row, show all 6 */
@media (max-width: 991px) {
    .woocommerce div.product .related.products ul.products {
        grid-template-columns: 1fr 1fr !important;
        gap: 15px;
    }
    .woocommerce div.product .related.products ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
    }
    /* We queried exactly 6 in functions.php, so we get exactly 3 rows of 2 */
}
/* ---------------- MOBILE RESPONSIVENESS (HOMEPAGE & HEADER) ---------------- */
@media (max-width: 991px) {
	.desktop-only { display: none !important; }
	.mobile-only { display: flex !important; } /* Fix header flex layout */
	.header-middle { padding: 10px 0 !important; }
	.header-logo img { max-width: 140px !important; }
	.mobile-menu-toggle { display: block !important; }
    
    /* Homepage Hero */
    .hero-section { min-height: 500px !important; height: auto !important; padding: 100px 0 50px !important; justify-content: center !important; }
    .hero-content { justify-content: center !important; text-align: center !important; padding: 0 20px !important; }
    .hero-text-block { max-width: 100% !important; }
    .hero-title { font-size: 40px !important; line-height: 1.2 !important; margin-bottom: 15px !important; }
    .hero-desc { font-size: 16px !important; }
    .hero-slide { background-position: 70% center !important; }
    .hero-slider::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%); z-index: 2; pointer-events: none; }
    /* Homepage Features Mobile 2x2 Grid */
    .features-section { padding: 0 15px !important; }
    .features-section .container-fluid { padding: 0 !important; }
    .features-section .features-inner { 
        display: grid !important; 
        grid-template-columns: 1fr 1fr !important; 
        grid-auto-rows: 1fr !important;
        gap: 20px 10px !important; 
        padding: 25px 10px !important; 
        width: 100% !important;
    }
    .features-section .feature-item { 
        width: 100% !important;
        height: 100% !important;
        border-left: none !important; 
        border-bottom: none !important; 
        padding: 0 !important; 
        justify-content: flex-start !important; 
        text-align: center !important; 
        flex-direction: column; 
        gap: 10px !important; 
    }
    .features-section .feature-item:last-child { 
        border-bottom: none; 
        padding-bottom: 0 !important; 
    }
	  .features-section .feature-item .feature-icon {
        background: rgba(111,179,44,0.08);
        width: 55px;
        height: 55px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        font-size: 24px !important;
    }
    .features-section .feature-text strong {
        font-size: 15px !important;
        margin-bottom: 3px;
    }
    .features-section .feature-text span {
        font-size: 13px !important;
    }
    
    /* Homepage Categories & Banner */
    .categories-row-section .container-fluid { flex-direction: column !important; gap: 30px !important; }
    .categories-grid { flex-wrap: wrap !important; justify-content: center !important; }
    .cat-circle-item { width: 90px !important; }
    .cat-circle-item .cat-img { width: 90px !important; height: 90px !important; }
    .textile-banner-wrap { width: 100% !important; }
    
    /* Premium About Page Mobile */
    .about-story-section .container-fluid { flex-direction: column !important; gap: 40px !important; }
    .about-bento-grid { grid-template-columns: 1fr !important; }
    .about-hero-section .hero-title { font-size: 45px !important; }
    .story-stats { flex-direction: column !important; gap: 20px !important; }
    .story-stats .stat-box { border-right: none !important; border-bottom: 3px solid #6fb32c; padding-right: 0 !important; padding-bottom: 15px; }
    .floating-glass-card { position: relative !important; bottom: 0 !important; left: 0 !important; margin: -50px auto 0 !important; max-width: 90% !important; }
    
    /* Homepage Bento Grid */
    .bento-grid-section .container-fluid { flex-direction: column !important; gap: 20px !important; }
    .bento-wide { width: 100% !important; height: 200px !important; }
    
    /* Google Reviews adjustments if any */
    .google-reviews-header h2 { font-size: 28px !important; }
	.woocommerce div.product,
    .elementor-widget-woocommerce-product-data .product {
        display: flex !important;
        flex-direction: column;
        background: #fff !important;
        padding: 20px !important;
        border-radius: 15px !important;
        box-shadow: 0 5px 25px rgba(0,0,0,0.05) !important;
    }
    .woocommerce div.product .summary,
    .elementor-widget-woocommerce-product-data .summary {
        background: transparent !important;
        padding: 10px 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        margin-bottom: 0 !important;
    }
    .woocommerce div.product .woocommerce-product-gallery {
        margin-top: 10px !important; /* Spacing from breadcrumbs */
        margin-left: -20px !important;
        margin-right: -20px !important;
        width: calc(100% + 40px) !important;
        max-width: none !important;
        margin-bottom: 20px !important;
    }
    .woocommerce div.product .woocommerce-product-gallery__wrapper {
        border-radius: 0 !important; /* It's in the middle, no need for rounded corners */
        box-shadow: none !important;
        margin: 0 !important;
        /* Removed width: 100% !important to fix FlexSlider */
    }
    .woocommerce div.product .woocommerce-product-gallery img {
        border-radius: 0 !important;
        width: 100% !important;
        max-width: none !important;
    }
    .woocommerce div.product::after,
    .woocommerce div.product::before,
    .woocommerce div.product .summary::after,
    .woocommerce div.product .summary::before {
        display: none !important;
    }
    .woocommerce div.product .summary,
    .elementor-widget-woocommerce-product-data .summary {
        display: contents !important;
    }
	/* 1. Title */
    .woocommerce div.product .product_title {
        order: 1 !important;
        margin-bottom: 5px !important;
        font-size: 28px !important;
        line-height: 1.2 !important;
    }
    /* 2. Breadcrumbs (under title) */
    .woocommerce div.product .woocommerce-breadcrumb {
        order: 2 !important;
        font-size: 11px !important;
        margin-bottom: 10px !important;
        color: #888 !important;
    }
    
    /* Mobile Menu Close Button (Black Circle, White X) */
    .elementor-menu-toggle.elementor-active,
    .dialog-close-button,
    .hfe-nav-menu__toggle.hfe-active,
    .elementor-widget-nav-menu .elementor-menu-toggle.elementor-active,
    .close-mobile-menu {
        background: #111111 !important;
        background-color: #111111 !important;
        border: none !important;
        border-radius: 50% !important;
        width: 44px !important;
        height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
        outline: none !important;
        -webkit-tap-highlight-color: transparent !important;
        font-size: 24px !important; /* For the &times; entity */
        color: #ffffff !important;
        line-height: 1 !important;
        position: absolute !important;
        top: 20px !important;
        right: 20px !important;
    }
/* The white X inside the circle */
    .elementor-menu-toggle.elementor-active i,
    .elementor-menu-toggle.elementor-active svg,
    .elementor-menu-toggle.elementor-active path,
    .dialog-close-button i,
    .dialog-close-button svg,
    .dialog-close-button path,
    .hfe-nav-menu__toggle.hfe-active i,
    .hfe-nav-menu__toggle.hfe-active svg {
        color: #ffffff !important;
        fill: #ffffff !important;
        font-size: 20px !important;
        width: 20px !important;
        height: 20px !important;
    }
    
    /* Beautiful hover, active, focus transitions for Close X */
    .elementor-menu-toggle,
    .dialog-close-button,
    .hfe-nav-menu__toggle,
    .close-mobile-menu {
        transition: all 0.3s ease !important;
    }
    .elementor-menu-toggle.elementor-active:hover,
    .elementor-menu-toggle.elementor-active:focus,
    .elementor-menu-toggle.elementor-active:active,
    .dialog-close-button:hover,
    .dialog-close-button:focus,
    .dialog-close-button:active,
    .hfe-nav-menu__toggle.hfe-active:hover,
    .hfe-nav-menu__toggle.hfe-active:focus,
    .hfe-nav-menu__toggle.hfe-active:active,
    .close-mobile-menu:hover,
    .close-mobile-menu:focus,
    .close-mobile-menu:active {
        background: #333333 !important;
        background-color: #333333 !important;
        color: #ffffff !important;
        transform: rotate(90deg) !important;
        outline: none !important;
    }
	/* Mobile Header Glass Buttons */
    .mobile-glass-btn {
        background: rgba(255, 255, 255, 0.65) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border: 1px solid rgba(255, 255, 255, 0.8) !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
        border-radius: 50% !important;
        width: 42px !important;
        height: 42px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        color: #111 !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        position: relative !important;
    }
    .mobile-glass-btn:hover, .mobile-glass-btn:active {
        background: rgba(255, 255, 255, 0.9) !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08) !important;
    }
    .whatsapp-glass-btn {
        color: #25D366 !important;
    }
    .whatsapp-glass-btn:hover, .whatsapp-glass-btn:active {
        background: #25D366 !important;
        color: #fff !important;
        border-color: #25D366 !important;
    }
    
    @keyframes wiggle-whatsapp {
        0%, 10% { transform: rotate(0deg); }
        15% { transform: rotate(15deg); }
        20% { transform: rotate(-10deg); }
        25% { transform: rotate(5deg); }
        30%, 100% { transform: rotate(0deg); }
    }
	.whatsapp-animated-icon {
        animation: wiggle-whatsapp 3s infinite ease-in-out;
        transform-origin: center;
    }
    
    /* 4. Price */
    .woocommerce div.product .summary p.price,
    .woocommerce div.product .summary span.price {
        order: 4 !important;
        margin-bottom: 15px !important;
    }
    /* 5 & 6. Variations and Add to Cart (inside form.cart) */
    .woocommerce div.product form.cart {
        order: 5 !important;
        margin-bottom: 25px !important;
        width: 100% !important;
    }
    /* 7. Description */
    .woocommerce div.product .premium-product-description {
        order: 6 !important;
        margin-top: 10px !important;
    }
    .woocommerce div.product .product_meta {
        order: 7 !important;
        margin-top: 20px !important;
    }
    
    /* Search Overlay Fixes */
    .search-overlay-glass { align-items: flex-start !important; padding-top: 100px !important; }
    .search-overlay-title { font-size: 24px !important; margin-bottom: 20px !important; }
    .search-field-huge { font-size: 20px !important; }
    .search-submit-huge { font-size: 22px !important; }
    .close-search-btn { top: -60px !important; right: 10px !important; font-size: 40px !important; }
    
	/* Premium Product Accordion (Mobile) */
    .premium-product-accordion {
        order: 10 !important; /* Inside the white box at the bottom */
        width: 100% !important;
        margin: 20px 0 0 0 !important;
        background: linear-gradient(135deg, #f5f5f7 0%, #eaeaea 100%) !important;
        padding: 15px !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }
    .premium-accordion-header {
        padding: 15px 0 !important;
    }
    .premium-accordion-title {
        font-size: 15px !important;
        gap: 10px !important;
    }
    .premium-accordion-content {
        font-size: 14px !important;
    }
    
    /* Related Products Mobile Redesign - Now moved outside via JS */
    .related.products,
    .upsells.products {
        background: transparent !important;
        margin: 40px auto 20px auto !important; 
        padding: 0 !important;
        width: 98% !important;
        border: none !important;
    }
    .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        padding: 10px 5px !important;
    }
    .related.products ul.products li.product {
        padding: 8px !important;
        border-radius: 12px !important;
        box-shadow: 0 5px 20px rgba(0,0,0,0.08) !important;
        background: #ffffff !important;
    }
    .related.products ul.products li.product img {
        margin-bottom: 8px !important;
        border-radius: 8px !important;
    }
}
.woocommerce div.product form.cart .single_add_to_cart_button::before {
    content: '\f217'; /* FontAwesome cart-plus */
    font-family: 'FontAwesome';
    font-size: 22px;
}
/* If they use Pisol Buy Now button */
.pisol_buy_now_button {
    width: 100% !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 15px 30px !important;
    border-radius: 15px !important;
    margin-top: 15px !important;
    transition: transform 0.3s !important;
}
.pisol_buy_now_button:hover {
    transform: translateY(-3px) !important;
}
/* Quantity Input Styling */
.woocommerce div.product form.cart div.quantity {
    margin-right: 0 !important;
    margin-left: 15px !important; /* RTL */
    float: right !important;\n    box-sizing: border-box !important;\n    box-sizing: border-box !important; /* RTL */
}
/* .woocommerce div.product form.cart .quantity input.qty {
    width: 80px !important;
    height: 60px !important;
    border-radius: 12px !important;
    border: 2px solid #e0e0e0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    background: #f9f9f9 !important;
    color: #111 !important;
    text-align: center;
} */
/* Product Tabs Restyling (Transformed into Accordion) */
.woocommerce div.product .woocommerce-tabs {
    margin-top: 60px;
    background: transparent;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: none !important; /* Handled by JS now */
}
.woocommerce div.product .woocommerce-Tabs-panel {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    background: #fff;
    padding: 30px;
    border-radius: 15px;
    margin-top: -10px;
    margin-bottom: 20px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03);
    border: 1px solid #f0f0f0;
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.woocommerce div.product .woocommerce-Tabs-panel h2 {
    display: none; /* Hide default title since it's in the accordion header */
}
/* ==========================================================================
   8. PREMIUM WOOCOMMERCE CHECKOUT STYLES
   ========================================================================== */
/* 1. Layout Structure */
.woocommerce-checkout .woocommerce form.checkout {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 40px;
    align-items: start;
    margin-top: 40px;
}
#customer_details {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}
#order_review_heading {
    grid-column: 2 / 3;
    grid-row: 1;
    margin-bottom: 0;
}
#order_review {
    grid-column: 2 / 3;
    grid-row: 2;
    position: sticky;
    top: 100px;
    z-index: 10;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
    max-width: 100% !important;
}
/* 2. Form Styling (Inputs) */
.woocommerce-checkout .woocommerce form .form-row input.input-text,
.woocommerce-checkout .woocommerce form .form-row textarea,
.woocommerce-checkout .woocommerce form .form-row select {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    font-size: 15px !important;
    color: #1e293b !important;
    transition: 0.3s ease !important;
    box-shadow: none !important;
    width: 100% !important;
}
.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout .woocommerce form .form-row textarea:focus,
.woocommerce-checkout .woocommerce form .form-row select:focus {
    border-color: var(--primary-color) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(111, 179, 44, 0.1) !important;
    outline: none !important;
}
.woocommerce-checkout .woocommerce form .form-row label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    margin-bottom: 8px !important;
    display: block !important;
}
.woocommerce-checkout abbr.required {
    color: #ef4444 !important;
    text-decoration: none !important;
}
/* 3. Card UI for Sections */
#customer_details, 
.woocommerce-checkout-review-order {
    background: #fff;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.04);
    border: 1px solid rgba(0,0,0,0.05);
}
.woocommerce-checkout h3, #order_review_heading {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-bottom: 25px !important;
    padding-bottom: 15px;
    border-bottom: 2px solid #f1f5f9;
}
/* 4. Order Summary Table */
.woocommerce-checkout .shop_table {
    border: none !important;
    width: 100% !important;
    margin: 0 !important;
}
.woocommerce-checkout .shop_table th, 
.woocommerce-checkout .shop_table td {
    border: none !important;
    padding: 15px 0 !important;
    background: transparent !important;
    border-bottom: 1px solid #f1f5f9 !important;
}
.woocommerce-checkout .shop_table thead th {
    font-size: 13px !important;
    text-transform: uppercase !important;
    color: #94a3b8 !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #e2e8f0 !important;
}
.woocommerce-checkout .shop_table thead th.product-total {
    text-align: left !important;
}
.woocommerce-checkout .shop_table tbody td.product-name {
    font-weight: 600 !important;
    color: #334155 !important;
    font-size: 15px !important;
}
.woocommerce-checkout .shop_table tbody td.product-total,
.woocommerce-checkout .shop_table tfoot tr.cart-subtotal td,
.woocommerce-checkout .shop_table tfoot tr.order-total td {
    font-weight: 700 !important;
    color: #0f172a !important;
    text-align: left !important;
}
.woocommerce-checkout .shop_table tfoot th {
    font-weight: 600 !important;
    color: #64748b !important;
    vertical-align: top !important;
    padding-top: 25px !important;
}
.woocommerce-checkout .shop_table tfoot tr.woocommerce-shipping-totals td {
    text-align: right !important;
    padding-top: 20px !important;
}
.woocommerce-checkout .shop_table tfoot ul#shipping_method {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-checkout .shop_table tfoot ul#shipping_method li {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px 15px !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    transition: 0.3s ease !important;
}
.woocommerce-checkout .shop_table tfoot ul#shipping_method li:hover {
    border-color: #cbd5e1 !important;
}
.woocommerce-checkout .shop_table tfoot ul#shipping_method li input {
    margin-top: 4px !important;
}
.woocommerce-checkout .shop_table tfoot ul#shipping_method li label {
    margin: 0 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #334155 !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
}
.woocommerce-checkout .shop_table tfoot tr.order-total th,
.woocommerce-checkout .shop_table tfoot tr.order-total td {
    font-size: 20px !important;
    border-bottom: none !important;
    padding-top: 25px !important;
}
/* 5. Payment Methods Section */
#payment {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 30px !important;
}
#payment ul.payment_methods {
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
}
#payment ul.payment_methods li {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 15px 20px !important;
    margin-bottom: 15px !important;
    transition: 0.3s ease !important;
}
#payment ul.payment_methods li:hover {
    border-color: #cbd5e1 !important;
}
#payment ul.payment_methods li input {
    margin-left: 10px !important;
}
#payment ul.payment_methods li label {
    font-weight: 700 !important;
    color: #1e293b !important;
    font-size: 16px !important;
    cursor: pointer !important;
}
#payment div.payment_box {
    background: transparent !important;
    padding: 15px 0 0 0 !important;
    color: #64748b !important;
    font-size: 14px !important;
    margin: 0 !important;
    box-shadow: none !important;
}
#payment div.payment_box::before {
    display: none !important;
}
/* 6. Place Order Button */
#payment .place-order {
    padding: 30px 0 0 0 !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
}
.woocommerce-checkout #place_order {
    background: var(--primary-color) !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    padding: 20px 30px !important;
    border-radius: 12px !important;
    width: 100% !important;
    text-align: center !important;
    transition: 0.3s ease !important;
    box-shadow: 0 10px 20px rgba(111, 179, 44, 0.2) !important;
    border: none !important;
}
.woocommerce-checkout #place_order:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 25px rgba(111, 179, 44, 0.3) !important;
}
/* Note under button */
.woocommerce-privacy-policy-text {
    font-size: 13px !important;
    color: #94a3b8 !important;
    text-align: center !important;
    margin-top: 20px !important;
}
/* Hide Redundant Coupon Notice */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-coupon {
    display: none !important;
}
/* 7. Mobile Responsiveness */
@media (max-width: 991px) {
    .woocommerce-checkout .woocommerce form.checkout {
        grid-template-columns: 1fr;
    }
    #customer_details {
        grid-column: 1;
        grid-row: 1;
    }
    #order_review_heading {
        grid-column: 1;
        grid-row: 2;
        margin-top: 40px;
    }
    #order_review {
        grid-column: 1;
        grid-row: 3;
        position: static;
    }
    #customer_details, 
    .woocommerce-checkout-review-order {
        padding: 25px;
    }
}
/* ==========================================================================
   9. PREMIUM WOOCOMMERCE CART STYLES
   ========================================================================== */
/* 1. Layout Structure */
.woocommerce-page .woocommerce-cart-container {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 40px;
    align-items: start;
    margin-top: 40px;
}
.woocommerce-page .woocommerce-cart-container-cart-form {
    grid-column: 1 / 2;
}
.woocommerce-cart .cart-collaterals {
    grid-column: 2 / 3;
    width: 100% !important;
}
/* 2. Cart Table Styling */
.woocommerce-page .woocommerce-cart-container-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals {
    background: #fff;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.04);
    border: 1px solid rgba(0,0,0,0.05);
}
.woocommerce-cart table.shop_table {
    border: none !important;
    width: 100% !important;
    margin: 0 !important;
}
.woocommerce-cart table.shop_table th, 
.woocommerce-cart table.shop_table td {
    border: none !important;
    padding: 15px 0 !important;
    background: transparent !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}
.woocommerce-cart table.shop_table thead th {
    font-size: 13px !important;
    text-transform: uppercase !important;
    color: #94a3b8 !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #e2e8f0 !important;
}
.woocommerce-cart table.shop_table tbody td.product-name {
    font-weight: 600 !important;
    color: #334155 !important;
    font-size: 15px !important;
}
.woocommerce-cart table.shop_table tbody td.product-price,
.woocommerce-cart table.shop_table tbody td.product-subtotal {
    font-weight: 700 !important;
    color: #0f172a !important;
}
.woocommerce-cart table.shop_table td.actions {
    padding-top: 30px !important;
    border-bottom: none !important;
}
/* 3. Inputs & Buttons */
/* .woocommerce-cart .quantity input.qty {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 10px !important;
    font-weight: 600 !important;
    text-align: center;
} */
.woocommerce-cart .coupon {
    display: flex;
    gap: 15px;
    align-items: center;
}
.woocommerce-cart .coupon input.input-text {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px 20px !important;
    width: 200px !important;
}
.woocommerce-cart .coupon .button,
.woocommerce-cart button[name="update_cart"] {
    background: #e2e8f0 !important;
    color: #475569 !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    padding: 12px 20px !important;
    border: none !important;
    transition: 0.3s ease !important;
    cursor: pointer !important;
}
.woocommerce-cart .coupon .button:hover,
.woocommerce-cart button[name="update_cart"]:hover {
    background: #cbd5e1 !important;
    color: #0f172a !important;
}
/* 4. Cart Totals */
.woocommerce-cart .cart_totals h2 {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-bottom: 25px !important;
    padding-bottom: 15px;
    border-bottom: 2px solid #f1f5f9;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    background: var(--primary-color) !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    padding: 20px 30px !important;
    border-radius: 12px !important;
    width: 100% !important;
    text-align: center !important;
    display: block;
    margin-top: 30px !important;
    transition: 0.3s ease !important;
    box-shadow: 0 10px 20px rgba(111, 179, 44, 0.2) !important;
    text-decoration: none !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 25px rgba(111, 179, 44, 0.3) !important;
}
/* 5. Mobile Responsiveness */
@media (max-width: 991px) {
    .woocommerce-page .woocommerce-cart-container {
        grid-template-columns: 1fr;
    }
    .woocommerce-page .woocommerce-cart-container-cart-form {
        grid-column: 1;
        grid-row: 1;
    }
    .woocommerce-cart .cart-collaterals {
        grid-column: 1;
        grid-row: 2;
        margin-top: 40px;
    }
    .woocommerce-page .woocommerce-cart-container-cart-form,
    .woocommerce-cart .cart-collaterals .cart_totals {
        padding: 25px;
    }
}
/* Hide Product Meta (SKU, Categories, Tags) */
.product_meta { display: none !important; }
/* Pre-hide variations beyond 3 to avoid FOUC */
.variations .value > div > *:nth-child(n+4):not(.show-more-swatches-btn):not(select):not(label),
.variations .value > ul > *:nth-child(n+4):not(.show-more-swatches-btn):not(select):not(label) {
    display: none;
}
/* When revealed via JS */
.variations .value .sv-swatch-revealed {
    display: inline-flex !important;
}
/* הסתרת התיאור הקצר של המוצר בכל האתר */
.woocommerce-product-details__short-description {
    display: none !important;
}
/* =========================================================
   MOBILE HIGHLIGHTS (STORIES)
========================================================= */
.mobile-highlights-wrapper {
	display: none; /* Hidden on desktop */
}
@media (max-width: 768px) {
	.mobile-highlights-wrapper {
		display: block;
		width: 100%;
		background: #fff;
		border-bottom: 1px solid #f0f0f0;
		padding: 15px 0 10px;
	}
	.mobile-highlights-inner {
		display: flex;
		gap: 15px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding: 0 20px;
	}
	.mobile-highlights-inner::-webkit-scrollbar {
		display: none;
	}
	.mobile-highlight-item {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-decoration: none;
		flex-shrink: 0;
		width: 75px;
		gap: 8px;
	}
	.highlight-ring {
		width: 70px;
		height: 70px;
		border-radius: 50%;
		background: linear-gradient(45deg, #FFC107 0%, var(--primary-color) 100%);
		padding: 1.5px; /* Creates the ring thickness */
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0 4px 10px rgba(0,0,0,0.1);
		transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	}
	.mobile-highlight-item:active .highlight-ring {
		transform: scale(0.92);
	}
	.highlight-ring img {
		width: 100%;
		height: 100%;
		border-radius: 50%;
		object-fit: cover;
		border: 2px solid #fff; /* Space between the image and the ring */
		background: #fff;
	}
	.highlight-text {
		font-size: 11px;
		color: #333;
		font-weight: 600;
		text-align: center;
		line-height: 1.2;
		width: 100%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}
/* =========================================================
   CUSTOM PRODUCT BADGES
========================================================= */
.woocommerce span.custom-product-badge {
    position: absolute !important;
    top: 0 !important; 
    left: 0 !important; 
    right: auto !important;
    z-index: 9 !important;
    margin: 0 !important;
    padding: 6px 16px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    border-radius: 15px 0 20px 0 !important; /* Mirrored from the sale badge */
    box-shadow: 0 5px 15px rgba(0,0,0,0.2) !important;
    text-align: center;
    text-transform: uppercase;
}
/* Specific adjustment for single product pages */
.woocommerce div.product span.custom-product-badge,
.single-product .custom-product-badge {
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
}
/* =========================================================
   ABOUT FACTORY SECTION (PREMIUM STYLES)
========================================================= */
.factory-image-wrap:hover .factory-img-scale {
    transform: scale(1.05) !important;
}
.btn-classic-outline:hover {
    background-color: #111;
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
@media (max-width: 991px) {
    .about-factory-section {
        padding: 60px 0 !important;
    }
    .about-factory-section .container-fluid {
        flex-direction: column;
        gap: 40px !important;
    }
    .factory-text-content {
        padding-right: 0 !important;
        text-align: center;
    }
    .factory-text-content h2 {
        font-size: 40px !important;
    }
}
/* =========================================================
   HOTSPOT SECTION
========================================================= */
.hotspot:hover {
    transform: scale(1.3);
}
/* =========================================================
   ORGANIC CATEGORIES BLOBS
========================================================= */
.organic-categories-section {
    padding: 60px 0 40px;
    background: #fff;
}
.organic-categories-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 60px;
    max-width: 100%;
    margin: 0 auto;
}
.organic-cat-item {
    text-align: center;
    text-decoration: none;
    width: 170px;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.3s ease;
}
.organic-cat-item:nth-child(n+15) {
    display: none !important; /* Hide > 14 on desktop */
}
.organic-cat-item:hover {
    transform: translateY(-5px);
}
.organic-blob-bg {
    width: 150px;
    height: 140px;
    margin-bottom: 15px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Soft blob shapes */
    border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
    transition: all 0.5s ease;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(0,0,0,0.03);
}
.organic-cat-item:hover .organic-blob-bg {
    border-radius: 60% 40% 30% 70% / 50% 60% 40% 50%;
}
.organic-blob-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
    transition: transform 0.4s ease;
}
.organic-cat-item:hover .organic-blob-bg img {
    transform: scale(1.1);
}
.organic-cat-title {
    font-size: 16px;
    color: #333;
    font-weight: 400;
    font-family: 'Assistant', sans-serif;
    transition: color 0.3s;
}
.organic-cat-item:hover .organic-cat-title {
    color: #000;
    font-weight: 600;
}
@media (max-width: 768px) {
    .organic-categories-section {
        padding: 30px 0 10px !important;
    }
    .organic-categories-grid {
        gap: 25px 15px; /* Increased horizontal gap */
    }
    .organic-cat-item {
        width: calc(33.333% - 10px); /* Exact fit for 15px gap */
    }
    /* Hide items beyond the 12th on mobile */
    .organic-cat-item:nth-child(n+13) {
        display: none !important;
    }
    .organic-blob-bg {
        width: 100%;
        padding-top: 100%; /* maintain aspect ratio */
        height: 0;
        position: relative;
        margin-bottom: 5px;
    }
    .organic-blob-bg img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
	 .organic-cat-title {
        font-size: 12px !important;
        margin-top: 5px !important;
        line-height: 1.2;
        padding: 0 2px;
        word-break: break-word;
    }
}
/* Different blob colors based on nth-child */
.organic-cat-item:nth-child(6n+1) .organic-blob-bg { background-color: #e5f1f3; } /* Light cyan */
.organic-cat-item:nth-child(6n+2) .organic-blob-bg { background-color: #f7e6d2; } /* Light peach */
.organic-cat-item:nth-child(6n+3) .organic-blob-bg { background-color: #e3eedc; } /* Light green */
.organic-cat-item:nth-child(6n+4) .organic-blob-bg { background-color: #f1e9eb; } /* Light pink */
.organic-cat-item:nth-child(6n+5) .organic-blob-bg { background-color: #f2ebd9; } /* Light yellow/sand */
.organic-cat-item:nth-child(6n+6) .organic-blob-bg { background-color: #e4e6f1; } /* Light lavender */
/* --------------------------------------------------------
 * Premium Tips & Recommendations Page (Page ID: 859)
 * -------------------------------------------------------- */
.page-id-859 .vc_grid-container {
    padding: 20px 0;
}
.page-id-859 .vc_grid-item {
    margin-bottom: 30px !important;
}
.page-id-859 .vc_grid-item-mini {
    background: #ffffff !important;
    border-radius: 15px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    border: 1px solid #f0f0f0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
.page-id-859 .vc_grid-item-mini:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 35px rgba(111, 179, 44, 0.15) !important;
    border-color: #6fb32c !important;
}
/* Fix WPBakery Zone to act as flex container */
.page-id-859 .vc_gitem-animated-block,
.page-id-859 .vc_gitem-zone,
.page-id-859 .vc_gitem-zone-mini,
.page-id-859 .vc_gitem_row,
.page-id-859 .vc_gitem-col {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important;
}
/* Image */
.page-id-859 .wpb_single_image {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 220px !important;
    overflow: hidden !important;
}
.page-id-859 .wpb_single_image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}
.page-id-859 .vc_grid-item-mini:hover .wpb_single_image img {
    transform: scale(1.05) !important;
}
/* Content Area */
.page-id-859 .vc_custom_heading.vc_gitem-post-data-source-post_title {
    margin: 20px 20px 10px 20px !important;
}
.page-id-859 .vc_custom_heading.vc_gitem-post-data-source-post_title h2 {
    font-size: 18px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    color: #222 !important;
    margin: 0 !important;
    text-align: right !important;
}
.page-id-859 .vc_custom_heading.vc_gitem-post-data-source-post_title a {
    color: #222 !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.page-id-859 .vc_grid-item-mini:hover .vc_custom_heading.vc_gitem-post-data-source-post_title a {
    color: #6fb32c !important;
}
/* Date */
.page-id-859 .vc_custom_heading.vc_gitem-post-data-source-post_date {
    margin: 0 20px 10px 20px !important;
    font-size: 13px !important;
    color: #888 !important;
    font-weight: 500 !important;
}
.page-id-859 .vc_custom_heading.vc_gitem-post-data-source-post_date div::before {
    content: "\f073"; /* FontAwesome Calendar */
    font-family: "FontAwesome";
    margin-left: 6px;
    color: #6fb32c;
}
/* Excerpt */
.page-id-859 .vc_custom_heading.vc_gitem-post-data-source-post_excerpt {
    margin: 0 20px 20px 20px !important;
    flex-grow: 1 !important;
}
.page-id-859 .vc_custom_heading.vc_gitem-post-data-source-post_excerpt p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #555 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-align: right !important;
}
/* Button */
.page-id-859 .vc_btn3-container {
    margin: auto 20px 20px 20px !important;
    text-align: right !important;
}
.page-id-859 .vc_btn3 {
    background: #6fb32c !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    padding: 10px 25px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border: none !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
    text-decoration: none !important;
}
.page-id-859 .vc_btn3:hover {
    background: #5a9423 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(111, 179, 44, 0.4) !important;
}
/* Fix WPBakery Grid Image Height */
.page-id-859 .wpb_single_image, 
.page-id-859 .wpb_single_image .wpb_wrapper, 
.page-id-859 .wpb_single_image figure,
.page-id-859 .wpb_single_image a,
.page-id-859 .wpb_single_image .vc_single_image-wrapper {
    height: 220px !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Force Featured Item (vc_col-sm-12) to behave like regular items (vc_col-sm-4) */
@media (min-width: 992px) {
    .page-id-859 .vc_grid-item.vc_col-sm-12,
    .page-id-859 .vc_grid-item.vc_col-md-12 {
        width: 33.33333333% !important;
        float: right !important;
        clear: none !important;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .page-id-859 .vc_grid-item.vc_col-sm-12,
    .page-id-859 .vc_grid-item.vc_col-md-12 {
        width: 50% !important;
        float: right !important;
        clear: none !important;
    }
}
/* Override WPBakery Isotope Grid and Force Flexbox */
.page-id-859 .vc_pageable-slide-wrapper,
.page-id-859 .vc_grid-container .vc_grid {
    display: flex !important;
    flex-wrap: wrap !important;
    height: auto !important;
}
.page-id-859 .vc_grid-item {
    position: static !important;
    width: 33.33333333% !important;
    transform: none !important;
    left: auto !important;
    top: auto !important;
}
@media (max-width: 991px) {
    .page-id-859 .vc_grid-item { width: 50% !important; }
}
@media (max-width: 767px) {
    .page-id-859 .vc_grid-item { width: 100% !important; }
}
/* Ensure images have a good height */
.page-id-859 .wpb_single_image, 
.page-id-859 .wpb_single_image .wpb_wrapper, 
.page-id-859 .wpb_single_image figure,
.page-id-859 .wpb_single_image a,
.page-id-859 .wpb_single_image .vc_single_image-wrapper {
    height: 250px !important;
}
/* Stop flexbox from squashing the image */
.page-id-859 .wpb_single_image {
    height: 250px !important;
    min-height: 250px !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    overflow: hidden !important;
}
.page-id-859 .wpb_single_image .wpb_wrapper, 
.page-id-859 .wpb_single_image figure,
.page-id-859 .wpb_single_image a,
.page-id-859 .wpb_single_image .vc_single_image-wrapper {
    height: 100% !important;
    min-height: 100% !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
}
.page-id-859 .wpb_single_image img {
    height: 100% !important;
    min-height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
/* Fix WPBakery hardcoded heights cutting off text */
.page-id-859 .vc_grid-item,
.page-id-859 .vc_grid-item-mini,
.page-id-859 .vc_gitem-animated-block,
.page-id-859 .vc_gitem-zone,
.page-id-859 .vc_gitem-zone-mini,
.page-id-859 .vc_gitem_row,
.page-id-859 .vc_gitem-col {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}
/* Ensure the card flexbox layout works correctly with auto height */
.page-id-859 .vc_grid-item-mini {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border-radius: 15px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    border: 1px solid #f0f0f0 !important;
}
.page-id-859 .vc_gitem-animated-block,
.page-id-859 .vc_gitem-zone-a,
.page-id-859 .vc_gitem-zone-mini {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}
/* Reduce image height */
.page-id-859 .wpb_single_image {
    height: 180px !important;
    min-height: 180px !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    overflow: hidden !important;
}
/* Prevent layout shift during WPBakery JS init */
.page-id-859 .vc_pageable-slide-wrapper,
.page-id-859 .vc_grid-container .vc_grid {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
    flex-wrap: wrap !important;
}
/* ---------------- CONFIGURATION SPEC ACCORDION (side cart + checkout) ---------------- */
/* One shared design: a small pill "מפרט ההזמנה" toggle that only ever takes
   the width of its own label/icons — never the full row — and, only once
   opened, a full-width rounded card underneath it holding the actual spec
   sheet. In the side cart that opened card breaks out of the li's
   asymmetric padding (reserved for the thumbnail image up top) so it still
   reaches the full card width; the pill itself is untouched by that and
   stays compact. On the /checkout/ review-order table the cell has no such
   padding to cancel, so the same "width:100%" already lands full width. */
/* The "jump" right after adding to cart: WooCommerce inserts the fresh
   fragment HTML with the RAW, un-wrapped <dl>/<table> sitting directly
   visible in the row; only ~100ms later does premium-interactions.js get
   around to moving it inside a closed <details>. In that window the full
   spec sheet is on screen, then it suddenly snaps shut — that's the open-
   then-close flicker. Hide it at the CSS level from the very first paint
   instead of waiting on JS: the ">" here only matches the raw element
   sitting directly in the row, so it stops applying the moment JS relocates
   it inside .svc-spec-content (now nested through .svc-spec too), and normal
      <details> open/closed behavior takes over from there. */
.widget_shopping_cart_content .cart_list li > dl.variation,
.widget_shopping_cart_content .cart_list li > table,
.widget_shopping_cart_content .cart_list li > .vpc-cart-config,
.woocommerce-checkout-review-order-table .cart_item .product-name > dl.variation,
.woocommerce-checkout-review-order-table .cart_item .product-name > table,
.woocommerce-checkout-review-order-table .cart_item .product-name > .vpc-cart-config {
    display: none !important;
}
.premium-cart-variations-details.svc-spec {
    display: block !important;
    margin: 14px 0 0 !important;
    clear: both !important;
}
.svc-spec-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 7px 14px !important;
    background: #f6f8f4 !important;
    border: 1px solid #e7eae4 !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #343833 !important;
    cursor: pointer !important;
    list-style: none !important;
    outline: none !important;
    white-space: nowrap !important;
    max-width: 100% !important;
    text-overflow: ellipsis !important;
    transition: background .18s ease, border-color .18s ease !important;
}
.svc-spec-toggle::-webkit-details-marker,
.svc-spec-toggle::marker { display: none !important; content: none !important; }
.svc-spec-toggle:hover,
.premium-cart-variations-details.svc-spec[open] > .svc-spec-toggle {
    background: #eef2ea !important;
    border-color: #6fb32c !important;
}
.svc-spec-icon { color: #6fb32c !important; font-size: 11px !important; flex: 0 0 auto !important; }
.svc-spec-label { flex: 0 0 auto !important; }
.svc-spec-chevron {
    font-size: 10px !important;
    color: #7b8178 !important;
    flex: 0 0 auto !important;
    transition: transform .22s ease !important;
}
.premium-cart-variations-details.svc-spec[open] .svc-spec-chevron { transform: rotate(180deg) !important; }
.svc-spec-content {
    margin-top: 8px !important;
    padding: 14px 16px 16px !important;
    background: #fff !important;
    border: 1px solid #e7eae4 !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 10px rgba(20, 30, 15, .05) !important;
    font-size: 12.5px !important;
    color: #343833 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
/* Side cart only — cancel the li's right/left padding so the opened panel
   (not the pill above it) reaches the full card width. */
.widget_shopping_cart_content .cart_list li .svc-spec-content {
    width: auto !important;
    margin-left: -45px !important;
    margin-right: -95px !important;
}
/* Key/value pairs — presented as a clean, stacked "spec sheet": a small
   muted label with the value right beneath it. Stacking (rather than a
   two-column grid) is what stops long Hebrew labels/values from colliding
   and wrapping into each other on a narrow drawer. */
.svc-spec-content dl.variation { margin: 0 !important; }
.svc-spec-content dl.variation dt,
.svc-spec-content dl.variation dd {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: right !important;
    word-break: break-word !important;
}
.svc-spec-content dl.variation dt {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    color: #8b9086 !important;
    text-transform: uppercase !important;
    padding: 10px 0 3px !important;
}
.svc-spec-content dl.variation dt:first-of-type { padding-top: 0 !important; }
.svc-spec-content dl.variation dd {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1c2018 !important;
    padding: 0 0 9px !important;
    border-bottom: 1px solid #f0f2ed !important;
}
.svc-spec-content dl.variation dd:last-of-type { border-bottom: 0 !important; padding-bottom: 0 !important; }
.svc-spec-content dl.variation dd p { margin: 0 !important; }
.svc-spec-content dl.variation dd img { margin-left: 0 !important; }
/* Tabular data (made-to-size / legacy VPC exports) — kept as a real table,
   but hardened against overflow so it never forces horizontal scrolling. */
.svc-spec-content table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    background: #fff !important;
}
.svc-spec-content table th,
.svc-spec-content table td {
    padding: 8px 4px !important;
    border-bottom: 1px solid #f0f2ed !important;
    text-align: right !important;
    font-size: 12.5px !important;
    color: #1c2018 !important;
    font-weight: 700 !important;
    word-break: break-word !important;
    vertical-align: middle !important;
}
.svc-spec-content table th {
    color: #8b9086 !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
}
.svc-spec-content table tr:nth-child(even) td { background: #fafbf9 !important; }
.svc-spec-content table tr:last-child th,
.svc-spec-content table tr:last-child td { border-bottom: 0 !important; }
/* fabric swatch — round color icon + name/number next to it */
.svc-cart-swatch { display: inline-flex !important; align-items: center !important; gap: 8px !important; }
.svc-cart-swatch-img {
    width: 26px !important;
    height: 26px !important;
    max-width: 26px !important;
    min-width: 26px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 1.5px solid #fff !important;
    box-shadow: 0 0 0 1px #dfe5db !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 !important;
    position: static !important;
}
.svc-cart-swatch-name,
.svc-cart-swatch-num { font-weight: 800 !important; color: #171a16 !important; font-size: 13.5px !important; }
/* Any other image dropped into the spec (legacy .vpc-cart-config rows,
   a plain <dd><img></dd> without the swatch markup) gets the same
   circular treatment for visual consistency. */
.svc-spec-content img:not(.svc-cart-swatch-img) {
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    vertical-align: middle !important;
    margin: 0 0 0 8px !important;
    border: 1.5px solid #fff !important;
    box-shadow: 0 0 0 1px #dfe5db !important;
    display: inline-block !important;
    position: static !important;
}
.woocommerce a.added_to_cart {
    padding-top: .5em;
    display: NONE;
}
/* -------------------------------------
   WOOCOMMERCE MY ACCOUNT PAGE (SUPER PREMIUM)
------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 28%;
    float: right;
    background: transparent;
    box-shadow: none;
    padding: 0;
    margin-bottom: 40px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    padding: 18px 25px;
    background: #fff;
    border-radius: 12px;
    color: #444;
    font-weight: 700;
    font-size: 16px;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    border: 1px solid transparent;
    text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #fff;
    color: var(--primary-color);
    box-shadow: 0 10px 25px rgba(111,179,44,0.15);
    border: 1px solid rgba(111,179,44,0.3);
    transform: translateY(-3px);
}
.woocommerce-account .woocommerce-MyAccount-content {
    width: 68%;
    float: left;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.06);
    padding: 50px;
    border: 1px solid rgba(0,0,0,0.02);
    margin-bottom: 40px;
}
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content legend {
    font-size: 28px;
    margin-bottom: 30px;
    color: #111;
    font-weight: 800;
    position: relative;
    padding-bottom: 15px;
    border: none;
}
.woocommerce-account .woocommerce-MyAccount-content h3::after,
.woocommerce-account .woocommerce-MyAccount-content h2::after,
.woocommerce-account .woocommerce-MyAccount-content legend::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50px;
    height: 4px;
    background: var(--primary-color);
    border-radius: 4px;
}
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"] {
    width: 100%;
    padding: 15px 20px;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    background: #fafafa;
    transition: all 0.3s ease;
    font-size: 15px;
}
.woocommerce-account .woocommerce-MyAccount-content input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px rgba(111,179,44,0.1);
    outline: none;
    background: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content .edit {
    background: linear-gradient(135deg, var(--primary-color) 0%, #5a9423 100%) !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 14px 30px !important;
    border: none !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    transition: 0.3s !important;
    box-shadow: 0 4px 15px rgba(111,179,44,0.3) !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(111,179,44,0.4) !important;
}
.woocommerce-account .woocommerce-MyAccount-content mark {
    background: rgba(111, 179, 44, 0.1);
    color: var(--primary-color);
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
}
.woocommerce-account .woocommerce-MyAccount-content a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-content a:hover {
    text-decoration: underline;
}
.woocommerce-account table.shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
    margin-bottom: 20px;
    background: transparent;
    border: none;
}
.woocommerce-account table.shop_table th {
    background: transparent;
    padding: 10px 20px;
    text-align: right;
    border-bottom: 2px solid #eaeaea;
    color: #888;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.5px;
}
.woocommerce-account table.shop_table tbody tr {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02);
    border-radius: 10px;
    transition: 0.3s;
}
.woocommerce-account table.shop_table tbody tr:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.woocommerce-account table.shop_table td {
    padding: 20px;
    border: none;
    vertical-align: middle;
}
.woocommerce-account table.shop_table td.woocommerce-orders-table__cell-order-actions a {
    background: #f4f4f4;
    color: #333 !important;
    padding: 8px 20px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 14px;
    transition: 0.3s;
    font-weight: 600;
    box-shadow: none !important;
}
.woocommerce-account table.shop_table td.woocommerce-orders-table__cell-order-actions a:hover {
    background: var(--primary-color);
    color: #fff !important;
}
/* My Account - Desktop bold header */
@media (min-width: 992px) {
    .header-main .main-menu > li > a, 
    .elementor-nav-menu--main .elementor-item {
        font-weight: 600 !important;
    }
}
/* My Account - Mobile fixes */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
        float: none;
        margin-bottom: 20px;
        padding: 30px 20px;
    }
}
------------------------------------- */
.woocommerce-account .u-columns.col2-set {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 40px;
    justify-content: center;
}
.woocommerce-account .u-columns.col2-set .u-column1,
.woocommerce-account .u-columns.col2-set .u-column2 {
    flex: 1;
    min-width: 300px;
    width: 100%;
    float: none;
    padding: 0;
}
.woocommerce-account form.login,
.woocommerce-account form.register {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.06);
    padding: 50px;
    border: 1px solid rgba(0,0,0,0.02);
    margin: 0;
}
.woocommerce-account .u-columns.col2-set h2 {
    font-size: 28px;
    margin-bottom: 30px;
    color: #111;
    font-weight: 800;
    position: relative;
    padding-bottom: 15px;
    border: none;
    text-align: right;
}
.woocommerce-account .u-columns.col2-set h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50px;
    height: 4px;
    background: var(--primary-color);
    border-radius: 4px;
}
.woocommerce-account form.login .woocommerce-form-row,
.woocommerce-account form.register .woocommerce-form-row {
    margin-bottom: 20px;
}
.woocommerce-account form.login label,
.woocommerce-account form.register label {
    font-weight: 700;
    margin-bottom: 10px;
    display: inline-block;
    color: #444;
}
.woocommerce-account form.login input[type="text"],
.woocommerce-account form.login input[type="password"],
.woocommerce-account form.login input[type="email"],
.woocommerce-account form.register input[type="email"],
.woocommerce-account form.register input[type="password"],
.woocommerce-account form.register input[type="text"] {
    width: 100%;
    padding: 15px 20px;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    background: #fafafa;
    transition: all 0.3s ease;
    font-size: 15px;
}
.woocommerce-account form.login input:focus,
.woocommerce-account form.register input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px rgba(111,179,44,0.1);
    outline: none;
    background: #fff;
}
.woocommerce-account form.login .button,
.woocommerce-account form.register .button {
    background: linear-gradient(135deg, var(--primary-color) 0%, #5a9423 100%) !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 14px 30px !important;
    border: none !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    transition: 0.3s !important;
    box-shadow: 0 4px 15px rgba(111,179,44,0.3) !important;
    width: 100%;
    text-align: center;
    margin-top: 10px;
}
.woocommerce-account form.login .button:hover,
.woocommerce-account form.register .button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(111,179,44,0.4) !important;
}
.woocommerce-account .lost_password {
    margin-top: 20px;
    text-align: center;
}
.woocommerce-account .lost_password a {
    color: #888;
    text-decoration: underline;
    font-size: 14px;
    transition: 0.3s;
}
.woocommerce-account .lost_password a:hover {
    color: var(--primary-color);
}
.woocommerce-form-login__rememberme input[type="checkbox"] {
    margin: 0;
    width: 18px;
    height: 18px;
    accent-color: var(--primary-color);
}
/* Fix generic My Account Title */
.woocommerce-account .page-title {
    text-align: center;
    font-weight: 800;
    font-size: 36px;
    margin-bottom: 20px;
}
/* -------------------------------------
   WOOCOMMERCE LOGIN / REGISTER FORMS (PREMIUM)
------------------------------------- */
.woocommerce-account .u-columns.col2-set {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 50px;
    justify-content: center;
}
.woocommerce-account .u-columns.col2-set .u-column1,
.woocommerce-account .u-columns.col2-set .u-column2 {
    flex: 1;
    min-width: 300px;
    width: 100%;
    float: none;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 15px 50px rgba(0,0,0,0.04);
    padding: 50px;
    border: 1px solid rgba(0,0,0,0.03);
}
.woocommerce-account form.login,
.woocommerce-account form.register {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    border: none;
    margin: 0;
}
.woocommerce-account .u-columns.col2-set h2 {
    font-size: 32px;
    margin-bottom: 35px;
    color: #111;
    font-weight: 800;
    position: relative;
    padding-bottom: 15px;
    border: none;
    text-align: right;
}
.woocommerce-account .u-columns.col2-set h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60px;
    height: 5px;
    background: var(--primary-color);
    border-radius: 5px;
}
.woocommerce-account form.login .woocommerce-form-row,
.woocommerce-account form.register .woocommerce-form-row {
    margin-bottom: 25px;
}
.woocommerce-account form.login label,
.woocommerce-account form.register label {
    font-weight: 700;
    margin-bottom: 10px;
    display: inline-block;
    color: #444;
    font-size: 15px;
}
.woocommerce-account form.login input[type="text"],
.woocommerce-account form.login input[type="password"],
.woocommerce-account form.login input[type="email"],
.woocommerce-account form.register input[type="email"],
.woocommerce-account form.register input[type="password"],
.woocommerce-account form.register input[type="text"] {
    width: 100%;
    padding: 16px 20px;
    border: 2px solid #f0f0f0;
    border-radius: 12px;
    background: #fafafa;
    transition: all 0.3s ease;
    font-size: 16px;
}
.woocommerce-account form.login input:focus,
.woocommerce-account form.register input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px rgba(111,179,44,0.15);
    outline: none;
    background: #fff;
}
.woocommerce-account form.login .button,
.woocommerce-account form.register .button {
    background: linear-gradient(135deg, var(--primary-color) 0%, #5a9423 100%) !important;
    color: #fff !important;
    border-radius: 12px !important;
    padding: 16px 30px !important;
    border: none !important;
    font-weight: 800 !important;
    font-size: 17px !important;
    transition: 0.3s !important;
    box-shadow: 0 8px 25px rgba(111,179,44,0.3) !important;
    width: 100%;
    text-align: center;
    margin-top: 15px;
    letter-spacing: 0.5px;
}
.woocommerce-account form.login .button:hover,
.woocommerce-account form.register .button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 30px rgba(111,179,44,0.4) !important;
}
.woocommerce-account .lost_password {
    margin-top: 25px;
    text-align: center;
}
.woocommerce-account .lost_password a {
    color: #888;
    text-decoration: underline;
    font-size: 15px;
    transition: 0.3s;
}
.woocommerce-account .lost_password a:hover {
    color: var(--primary-color);
}
.woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
    margin-top: 15px;
    font-size: 15px;
    color: #555;
    font-weight: 600;
}
.woocommerce-form-login__rememberme input[type="checkbox"] {
    margin: 0;
    width: 20px;
    height: 20px;
    accent-color: var(--primary-color);
}
/* Fix generic My Account Title & Add Subtitle */
.post-type-archive-product .page-title,
.woocommerce-account .page-title,
.woocommerce-account h1.entry-title {
    text-align: center;
    font-weight: 900;
    font-size: 46px !important;
    margin-bottom: 10px;
    color: #111;
}
.woocommerce-account .page-title::after,
.woocommerce-account h1.entry-title::after {
    content: 'התחברו לחשבון שלכם כדי לנהל הזמנות, כתובות ולצפות במועדפים.';
    display: block;
    font-size: 18px;
    color: #777;
    font-weight: 500;
    margin-top: 15px;
}
body.logged-in .woocommerce-account .page-title::after,
body.logged-in .woocommerce-account h1.entry-title::after {
    content: 'ברוכים הבאים לאזור האישי שלכם. כאן תוכלו לנהל את החשבון וההזמנות.';
}
/* Fix mobile dropdown arrow properly */
@media (max-width: 991px) {
    .elementor-nav-menu--dropdown .elementor-item-has-children {
        position: relative !important;
    }
    .elementor-nav-menu--dropdown .elementor-item-has-children > .elementor-sub-item-indicator,
    .elementor-nav-menu--dropdown .elementor-sub-item-indicator {
        position: absolute !important;
        top: 15px !important;
        margin-top: 0 !important;
        transform: none !important;
        display: inline-block !important;
    }
    .elementor-nav-menu--dropdown a.elementor-item {
        display: block !important;
    }
}
/* Homepage Premium Responsive Fixes */
@media (max-width: 991px) {
    .stats-counter-section .stats-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
    .features-section .features-inner { flex-direction: column; gap: 20px; padding: 20px; }
    .features-section .feature-item { border-left: none !important; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 15px; padding-right: 0 !important; width: 100%; justify-content: center; text-align: right; }
    .features-section .feature-item:last-child { border-bottom: none; padding-bottom: 0; }
    .bento-grid-section .container-fluid { flex-direction: column; gap: 20px; }
    .cta-parallax-section .cta-content h2 { font-size: 32px !important; }
    .cta-parallax-section .cta-content p { font-size: 16px !important; }
    
    .about-factory-section .container-fluid { flex-direction: column; gap: 40px !important; }
    .about-factory-section .factory-text-content { text-align: center; }
    .about-factory-section .factory-text-content h2 { font-size: 36px !important; }
    .about-factory-section .factory-image-wrap .image-inner { height: 400px !important; }
    .about-factory-section .factory-image-wrap .image-inner img { height: 100% !important; transform: none !important; }
}
@media (max-width: 768px) {
    .stats-counter-section .stat-number { font-size: 40px !important; }
    .google-reviews-grid { grid-template-columns: 1fr !important; }
    .bento-item .bento-overlay { width: 100% !important; background: rgba(245,240,235,0.85) !important; padding: 20px !important; }
    .bento-title { font-size: 28px !important; }
}
html, body {
    overflow-x: clip;
    max-width: 100%;
}
* {
    box-sizing: border-box;
}
/* Premium 3D Glassmorphic Buttons */
.premium-glass-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: linear-gradient(135deg, rgba(111, 179, 44, 0.15) 0%, rgba(111, 179, 44, 0.05) 100%) !important;
    color: #6fb32c !important;
    border: 1px solid rgba(111, 179, 44, 0.35) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: 
        0 6px 16px rgba(111, 179, 44, 0.12), 
        inset 0 2px 4px rgba(255, 255, 255, 0.45), 
        inset 0 -2px 3px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    cursor: pointer !important;
}
.premium-glass-btn:hover {
    transform: translateY(-3px) scale(1.03) !important;
    background: linear-gradient(135deg, rgba(111, 179, 44, 0.28) 0%, rgba(111, 179, 44, 0.12) 100%) !important;
    border-color: rgba(111, 179, 44, 0.5) !important;
    box-shadow: 
        0 12px 28px rgba(111, 179, 44, 0.24), 
        inset 0 2px 4px rgba(255, 255, 255, 0.65), 
        inset 0 -2px 3px rgba(0, 0, 0, 0.05) !important;
    color: #5d9724 !important;
}
.premium-glass-btn:active {
    transform: translateY(-1px) scale(0.98) !important;
    box-shadow: 
        0 6px 14px rgba(111, 179, 44, 0.18), 
        inset 0 1px 2px rgba(255, 255, 255, 0.3) !important;
}
@media (max-width: 768px) {
    .premium-glass-btn {
        padding: 10px 24px !important;
        font-size: 15px !important;
        gap: 6px !important;
    }
}
@media (max-width: 768px) {
    .custom-accessibility-wrapper {
        top: 70%;
    }
    .accessibility-btn {
        height: 35px;
        padding: 0 10px;
        font-size: 16px;
        border-radius: 0 4px 4px 0;
    }
    .accessibility-panel {
        left: 45px;
        width: 280px;
    }
}

/* Hero Slider Shop Now Button Override */
.hero-content a.btn {
    background: #000000 !important;
    color: #ffffff !important;
    font-family: 'Times New Roman', Times, serif !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    font-size: 15px !important;
    padding: 10px 30px !important;
    border-radius: 0 !important;
}
.hero-content a.btn:hover {
    background: #333333 !important;
}


/* Override front-page.php inline styles for homepage product heights safely */
body .products-section .woocommerce ul.products li.product img {
    height: 300px !important; 
}
@media (max-width: 768px) {
    body .products-section .woocommerce ul.products li.product img {
        height: 190px !important; 
    }
}


.savionit-header { position: sticky !important; top: 0 !important; z-index: 9999 !important; }
body.admin-bar .savionit-header { top: 32px !important; }
@media (max-width: 782px) { body.admin-bar .savionit-header { top: 46px !important; } }
/* Custom Green Thin Scrollbar */
::-webkit-scrollbar { width: 8px; background-color: #f9f9f9; }
::-webkit-scrollbar-track { background-color: #f9f9f9; border-radius: 4px; }
::-webkit-scrollbar-thumb { background-color: #6fb32c; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background-color: #5a9423; }
html { scrollbar-width: thin; scrollbar-color: #6fb32c #f9f9f9; }





/* Premium Toast Notification Override */
.woocommerce-message:has(.premium-toast-notification),
.woocommerce-message.premium-cart-popup-wrapper {
    position: fixed !important;
    top: 25px !important;
    left: 25px !important; /* RTL top left */
    z-index: 99999999 !important;
    background: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
    padding: 12px 20px !important;
    width: auto !important;
    max-width: 450px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    animation: slideToastIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
@keyframes slideToastIn {
    0% { transform: translateX(-120%); opacity: 0; }
    100% { transform: translateX(0); opacity: 1; }
}
.woocommerce-message:has(.premium-toast-notification)::before,
.woocommerce-message.premium-cart-popup-wrapper::before { content: none !important; }

.premium-toast-notification {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
}
.premium-toast-notification .toast-icon {
    background: #6fb32c;
    color: #fff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}
.premium-toast-notification .toast-text {
    font-size: 15px;
    color: #333;
    line-height: 1.3;
}
.premium-toast-notification .toast-text strong {
    color: #111;
}
.premium-toast-notification .toast-view-cart {
    background: transparent !important;
    color: #6fb32c !important;
    border: 1.5px solid #6fb32c !important;
    border-radius: 20px !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: 0.2s !important;
    white-space: nowrap;
    margin-right: 15px;
}
.premium-toast-notification .toast-view-cart:hover {
    background: #6fb32c !important;
    color: #fff !important;
}
.premium-toast-notification .toast-close {
    background: transparent !important;
    color: #aaa !important;
    border: none !important;
    font-size: 16px !important;
    cursor: pointer !important;
    padding: 0 0 0 10px !important;
    margin-right: 5px;
    transition: 0.2s !important;
}
.premium-toast-notification .toast-close:hover {
    color: #333 !important;
}
@media (max-width: 767px) {
    .woocommerce-message:has(.premium-toast-notification),
    .woocommerce-message.premium-cart-popup-wrapper {
        top: auto !important;
        bottom: 20px !important;
        left: 20px !important;
        right: 20px !important;
        max-width: 100% !important;
        width: calc(100% - 40px) !important;
        animation: slideToastUp 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    }
    @keyframes slideToastUp {
        0% { transform: translateY(120%); opacity: 0; }
        100% { transform: translateY(0); opacity: 1; }
    }
}


/* --- UNIFIED ADD TO CART BAR OVERRIDE --- */
/* Quantity Container - Right Side (RTL) */
body div.quantity,
.woocommerce div.product form.cart div.quantity {
    display: flex !important;
    float: right !important;
    width: 50% !important;
    box-sizing: border-box !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #dedede !important;
    border-left: none !important; /* No border on the side touching the button */
    border-radius: 0 16px 16px 0 !important; /* RTL: right side rounded */
    background: #ffffff !important;
    box-shadow: none !important;
    transition: none !important;
}
body div.quantity:hover {
    box-shadow: none !important;
    border-color: #dedede !important;
}

/* Quantity internal layout: minus | input | plus (3 equal parts) */
body div.quantity.premium-qty-added .qty-btn,
body div.quantity.premium-qty-added input.qty {
    flex: 1 !important;
    width: 33.333% !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}
body div.quantity.premium-qty-added input.qty {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111 !important;
    -moz-appearance: textfield !important;
}
body div.quantity.premium-qty-added input.qty:focus {
    outline: none !important;
}
body div.quantity.premium-qty-added input.qty::-webkit-outer-spin-button,
body div.quantity.premium-qty-added input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
body div.quantity.premium-qty-added .qty-btn {
    font-size: 24px !important;
    font-weight: 400 !important;
    color: #333 !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: background 0.2s !important;
}
body div.quantity.premium-qty-added .qty-btn:hover {
    background: #f5f5f5 !important;
    color: #111 !important;
}
body div.quantity.premium-qty-added .qty-btn:active {
    background: #ebebeb !important;
}

/* Add to Cart Button - Left Side (RTL) */
.woocommerce div.product form.cart .single_add_to_cart_button {
    display: flex !important;
    float: right !important;
    width: 50% !important;
    box-sizing: border-box !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #6fb32c !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    border: none !important;
    border-radius: 16px 0 0 16px !important; /* RTL: left side rounded */
    box-shadow: none !important;
    transform: none !important;
    transition: background 0.2s ease !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background: #558f1f !important;
    box-shadow: none !important;
    transform: none !important;
}


/* --- Premium Error Toast --- */
.premium-error-toast {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 99999999 !important;
    background: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.2) !important;
    padding: 15px 25px !important;
    width: 90% !important;
    max-width: 380px !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    animation: popInCenter 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards !important;
}
@keyframes popInCenter {
    0% { transform: translate(-50%, -40%) scale(0.9); opacity: 0; }
    100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}
.premium-error-toast .toast-icon {
    background: #e74c3c;
    color: #fff;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.premium-error-toast .toast-text {
    font-size: 16px;
    color: #333;
    line-height: 1.4;
    font-weight: 500;
}
.premium-error-toast .toast-close {
    background: transparent !important;
    color: #aaa !important;
    border: none !important;
    font-size: 18px !important;
    cursor: pointer !important;
    margin-right: auto;
    padding: 0 10px !important;
    transition: 0.2s !important;
}
.premium-error-toast .toast-close:hover {
    color: #333 !important;
}


/* --- Premium Cart & Checkout Page Banners --- */
.woocommerce-cart .page-header,
.woocommerce-checkout .page-header,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
    display: none !important;
}

.premium-page-banner {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background-color: #27353f;
    padding: 70px 20px 100px 20px;
    text-align: center;
    color: #fff;
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%);
    margin-bottom: 50px;
    margin-top: -30px;
}
.premium-page-banner h1 {
    font-size: 52px !important;
    font-weight: 900 !important;
    color: #fff !important;
    margin: 0 0 15px 0 !important;
    font-family: inherit !important;
}
.premium-page-banner h1 span {
    color: #6fb32c !important;
}
.premium-page-banner p {
    font-size: 20px !important;
    color: #d1d5d8 !important;
    margin: 0 !important;
    font-weight: 400 !important;
}

@media (max-width: 767px) {
    .premium-page-banner {
        padding: 50px 20px 70px 20px;
        margin-top: 15px !important;
        clip-path: polygon(0 0, 100% 0, 100% 92%, 0% 100%);
    }
    .premium-page-banner h1 {
        font-size: 36px !important;
    }
    .premium-page-banner p {
        font-size: 16px !important;
    }
}






/* --- Premium Cart Table --- */
.woocommerce-cart-form,
.elementor-widget-woocommerce-cart .woocommerce {
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05) !important;
    padding: 30px !important;
    margin: 0 auto 40px auto !important;
    max-width: 1100px !important; /* Better width */
}
table.cart,
table.shop_table.cart {
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}
table.cart th, table.shop_table.cart th {
    background: transparent !important;
    color: #27353f !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    border: none !important;
    border-bottom: 2px solid #f0f0f0 !important;
    padding: 15px 10px !important;
    text-align: right !important; /* RTL */
}
table.cart td, table.shop_table.cart td {
    border: none !important;
    border-bottom: 1px solid #f5f5f5 !important;
    padding: 25px 10px !important;
    vertical-align: middle !important;
}
table.cart tr:last-child td {
    border-bottom: none !important;
}
table.cart td.product-thumbnail img {
    border-radius: 12px !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08) !important;
    width: 80px !important;
}
table.cart td.product-name a {
    color: #27353f !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-decoration: none !important;
}
table.cart td.product-price .amount,
table.cart td.product-subtotal .amount {
    color: #6fb32c !important;
    font-weight: 800 !important;
    font-size: 18px !important;
}
table.cart td.product-remove a.remove {
    color: #e74c3c !important;
    background: transparent !important;
    font-size: 24px !important;
    font-weight: 900 !important;
}
table.cart td.product-remove a.remove:hover {
    color: #c0392b !important;
    background: transparent !important;
}

/* Actions Row (Coupon & Update Cart) */
table.cart td.actions {
    padding: 30px 10px 10px 10px !important;
}
.woocommerce-cart-form .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    float: right !important; /* RTL - Right side */
}
.woocommerce-cart-form .coupon input.input-text {
    height: 48px !important;
    border: 1.5px solid #eaeaea !important;
    border-radius: 10px !important;
    padding: 0 15px !important;
    font-size: 16px !important;
    width: 220px !important;
    background: #fdfdfd !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02) !important;
    transition: 0.3s !important;
}
.woocommerce-cart-form .coupon input.input-text:focus {
    border-color: #6fb32c !important;
    outline: none !important;
}
.woocommerce-cart-form .coupon .button {
    background: #27353f !important;
    color: #fff !important;
    border: none !important;
    height: 48px !important;
    padding: 0 25px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    transition: 0.3s !important;
}
.woocommerce-cart-form .coupon .button:hover {
    background: #1a242b !important;
    transform: translateY(-2px);
}
table.cart td.actions > .button {
    /* Update cart button */
    float: left !important; /* RTL - Left side */
    background: transparent !important;
    color: #6fb32c !important;
    border: 1.5px solid #6fb32c !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    height: 48px !important;
    padding: 0 25px !important;
    transition: 0.3s !important;
}
table.cart td.actions > .button:hover {
    background: #6fb32c !important;
    color: #fff !important;
    transform: translateY(-2px);
}

/* Cart Quantity Pill */
table.cart td.product-quantity div.quantity,
table.shop_table.cart td.product-quantity div.quantity {
    display: inline-flex !important;
    width: 110px !important;
    height: 40px !important;
    border: 1.5px solid #eaeaea !important;
    border-radius: 20px !important;
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}
table.cart td.product-quantity div.quantity .qty-btn {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-size: 18px !important;
    color: #333 !important;
    transition: 0.2s !important;
}
table.cart td.product-quantity div.quantity .qty-btn:hover {
    color: #6fb32c !important;
}
table.cart td.product-quantity div.quantity input.qty {
    flex: 1 !important;
    width: 30px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #111 !important;
    padding: 0 !important;
}

/* --- Mobile Responsiveness (Breathtaking Mobile Cart) --- */
@media (max-width: 767px) {
    .woocommerce-cart-form, .elementor-widget-woocommerce-cart .woocommerce {
        padding: 15px !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    table.cart {
        display: block !important;
    }
    table.cart thead {
        display: none !important; /* Hide headers */
    }
    table.cart tbody, table.cart tr, table.cart td {
        display: block !important;
        width: 100% !important;
    }
    table.cart tr.woocommerce-cart-form__cart-item,
    table.cart tr.cart_item {
        position: relative !important;
        padding: 20px 110px 20px 20px !important; /* Right padding 110px for image */
        border-bottom: none !important;
        background: #fff !important;
        border-radius: 16px !important;
        margin-bottom: 15px !important;
        box-shadow: 0 5px 20px rgba(0,0,0,0.05) !important;
        min-height: 130px !important;
    }
    
    /* Product Image - Force Show */
    table.cart td.product-thumbnail {
        display: block !important;
        position: absolute !important;
        top: 20px !important;
        right: 20px !important; /* RTL */
        width: 75px !important;
        padding: 0 !important;
        border: none !important;
    }
    table.cart td.product-thumbnail img {
        width: 75px !important;
        height: auto !important;
        border-radius: 10px !important;
    }
    
    /* Product Name */
    table.cart td.product-name {
        padding: 0 0 10px 0 !important;
        text-align: right !important;
        border: none !important;
    }
    table.cart td.product-name::before { display: none !important; }
    
    /* Price */
    table.cart td.product-price {
        padding: 0 0 15px 0 !important;
        text-align: right !important;
        border: none !important;
    }
    table.cart td.product-price::before { display: none !important; }
    
    /* Quantity */
    table.cart td.product-quantity {
        padding: 0 !important;
        text-align: right !important;
        border: none !important;
        display: inline-block !important;
        width: auto !important;
    }
    table.cart td.product-quantity::before { display: none !important; }
    
    /* Subtotal */
    table.cart td.product-subtotal {
        padding: 0 !important;
        text-align: left !important;
        position: absolute !important;
        bottom: 20px !important;
        left: 20px !important;
        border: none !important;
    }
    table.cart td.product-subtotal .amount {
        font-size: 20px !important;
    }
    table.cart td.product-subtotal::before { display: none !important; }

    /* Remove Button */
    table.cart td.product-remove {
        position: absolute !important;
        top: -12px !important;
        left: -10px !important;
        padding: 0 !important;
        border: none !important;
        z-index: 10;
    }
    table.cart td.product-remove a.remove {
        background: #fff !important;
        color: #e74c3c !important;
        border-radius: 50% !important;
        box-shadow: 0 3px 10px rgba(0,0,0,0.1) !important;
        width: 32px !important;
        height: 32px !important;
        line-height: 28px !important;
        font-size: 22px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Actions row */
    table.cart tr:last-child {
        padding: 20px !important;
        background: #fff !important;
        border-radius: 16px !important;
        box-shadow: 0 5px 20px rgba(0,0,0,0.05) !important;
    }
    table.cart td.actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        padding: 0 !important;
        border: none !important;
    }
    .woocommerce-cart-form .coupon {
        float: none !important;
        width: 100% !important;
        flex-direction: column !important;
    }
    .woocommerce-cart-form .coupon input.input-text {
        width: 100% !important;
    }
    .woocommerce-cart-form .coupon .button,
    table.cart td.actions > .button {
        float: none !important;
        width: 100% !important;
        text-align: center !important;
    }
}


/* --- Premium Checkout Page (Grid & UI) --- */
.woocommerce-checkout .woocommerce {
    background: transparent !important;
}
.woocommerce-checkout form.checkout {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    max-width: 1250px !important;
    margin: 0 auto 60px auto !important;
    background: transparent !important;
}
.woocommerce-checkout form.checkout::before,
.woocommerce-checkout form.checkout::after {
    display: none !important;
}

/* Left side (Customer Details - RTL Right side) */
.woocommerce-checkout form.checkout #customer_details {
    flex: 1 1 55% !important; /* Take 55% width */
    max-width: 100% !important;
    float: none !important;
    width: auto !important;
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05) !important;
    padding: 40px !important;
    margin: 0 !important;
}
.woocommerce-checkout form.checkout #customer_details .col-1,
.woocommerce-checkout form.checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
}
.woocommerce-checkout form.checkout #customer_details h3 {
    font-size: 24px !important;
    font-weight: 900 !important;
    color: #27353f !important;
    margin-bottom: 25px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #f0f0f0 !important;
}

/* Right side (Order Review & Payment - RTL Left side) */
.woocommerce-checkout form.checkout #order_review_heading {
    display: none !important; /* Hide default heading */
}
.woocommerce-checkout form.checkout #order_review {
    flex: 1 1 40% !important; /* Take 40% width */
    max-width: 100% !important;
    float: none !important;
    width: auto !important;
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05) !important;
    padding: 40px !important;
    margin: 0 !important;
    align-self: flex-start !important; /* Don't stretch height */
}

/* Inputs & Form Fields */
.woocommerce-checkout form.checkout .form-row {
    margin-bottom: 20px !important;
}
.woocommerce-checkout form.checkout .form-row label {
    font-weight: 700 !important;
    color: #27353f !important;
    margin-bottom: 8px !important;
    display: block !important;
    font-size: 15px !important;
}
.woocommerce-checkout form.checkout .form-row input.input-text,
.woocommerce-checkout form.checkout .form-row select,
.woocommerce-checkout form.checkout .form-row textarea {
    height: 52px !important;
    border: 1.5px solid #eaeaea !important;
    border-radius: 10px !important;
    padding: 0 15px !important;
    font-size: 16px !important;
    background: #fcfcfc !important;
    transition: 0.3s !important;
    width: 100% !important;
    box-shadow: none !important;
    color: #333 !important;
}
.woocommerce-checkout form.checkout .form-row textarea {
    height: 120px !important;
    padding: 15px !important;
}
.woocommerce-checkout form.checkout .form-row input.input-text:focus,
.woocommerce-checkout form.checkout .form-row select:focus,
.woocommerce-checkout form.checkout .form-row textarea:focus {
    border-color: #6fb32c !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(111, 179, 44, 0.1) !important;
}

/* Select2 Dropdowns (Country/State) */
.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
    height: 52px !important;
    border: 1.5px solid #eaeaea !important;
    border-radius: 10px !important;
    background: #fcfcfc !important;
    display: flex !important;
    align-items: center !important;
}
.woocommerce-checkout form.checkout .select2-container .select2-selection--single .select2-selection__rendered {
    color: #333 !important;
    font-size: 16px !important;
    padding-right: 15px !important;
}
.woocommerce-checkout form.checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 50px !important;
    top: 0 !important;
}

/* Order Review Table Styling */
.woocommerce-checkout #order_review table.shop_table {
    border: none !important;
    border-radius: 0 !important;
    margin-bottom: 30px !important;
    width: 100% !important;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
    border-top: none !important;
    border-bottom: 1px solid #f5f5f5 !important;
    padding: 15px 0 !important;
    background: transparent !important;
    text-align: right !important;
}
.woocommerce-checkout #order_review table.shop_table thead th {
    font-size: 20px !important;
    font-weight: 900 !important;
    color: #27353f !important;
    border-bottom: 2px solid #f0f0f0 !important;
    padding-bottom: 15px !important;
}
.woocommerce-checkout #order_review table.shop_table tbody td.product-name {
    font-weight: 600 !important;
    color: #333 !important;
    font-size: 15px !important;
}
.woocommerce-checkout #order_review table.shop_table tbody td.product-total {
    font-weight: 800 !important;
    color: #6fb32c !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot th {
    font-weight: 700 !important;
    color: #555 !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td {
    font-size: 24px !important;
    font-weight: 900 !important;
    color: #27353f !important;
    border-bottom: none !important;
    padding-top: 25px !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td .amount {
    color: #6fb32c !important;
}

/* Payment Methods Area - Ultra Luxury */
#payment {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 10px !important;
}
#payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin-bottom: 30px !important;
}
#payment ul.payment_methods li {
    background: #fff !important;
    border: 1.5px solid #eaeaea !important;
    border-radius: 12px !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    overflow: hidden !important;
}
/* Selected State */
#payment ul.payment_methods li:has(input[type="radio"]:checked) {
    border-color: #6fb32c !important;
    background: #fcfdfc !important;
    box-shadow: 0 4px 15px rgba(111, 179, 44, 0.08) !important;
}
/* The label area */
#payment ul.payment_methods li > label {
    display: flex !important;
    align-items: center !important;
    padding: 22px 20px 22px 60px !important; /* Left padding for icons */
    font-weight: 800 !important;
    color: #27353f !important;
    font-size: 16px !important;
    cursor: pointer !important;
    margin: 0 !important;
    width: 100% !important;
}
/* Hide default radio */
#payment ul.payment_methods li input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    cursor: pointer !important;
    height: 0 !important;
    width: 0 !important;
}
/* Custom Luxury Radio Button */
#payment ul.payment_methods li > label::before {
    content: '' !important;
    display: inline-block !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid #ccc !important;
    border-radius: 50% !important;
    margin-left: 15px !important; /* RTL */
    transition: 0.3s !important;
    flex-shrink: 0 !important;
}
/* Custom Radio - Checked */
#payment ul.payment_methods li input[type="radio"]:checked + label::before {
    border-color: #6fb32c !important;
    border-width: 7px !important;
}
/* Payment Icons (PayPal etc) */
#payment ul.payment_methods li > label img {
    max-height: 24px !important;
    position: absolute !important;
    left: 20px !important; /* Align strictly to the left */
    margin: 0 !important;
}
/* Inner Payment Box (Description/Form) */
#payment div.payment_box {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-top: 1px solid #f0f0f0 !important;
    border-radius: 0 !important;
    color: #555 !important;
    margin: 0 !important;
    padding: 20px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}
#payment ul.payment_methods li:has(input[type="radio"]:checked) div.payment_box {
    border-top-color: rgba(111, 179, 44, 0.1) !important;
}



/* Place Order Button */
#payment .place-order {
    padding: 0 !important;
    margin: 0 !important;
}
#payment .place-order .button {
    background: #6fb32c !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    border-radius: 12px !important;
    padding: 22px !important;
    width: 100% !important;
    transition: 0.3s !important;
    box-shadow: 0 10px 20px rgba(111, 179, 44, 0.25) !important;
    border: none !important;
    letter-spacing: 0.5px !important;
}
#payment .place-order .button:hover {
    background: #558f1f !important;
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(111, 179, 44, 0.35) !important;
}



/* Premium Collapsible Cart Specs */
details.premium-spec-details {
    margin-top: 10px !important;
}
details.premium-spec-details summary.premium-spec-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #f7f9fa !important;
    padding: 6px 15px !important;
    border-radius: 20px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #27353f !important;
    cursor: pointer !important;
    list-style: none !important;
    border: 1px solid #eaeaea !important;
    transition: 0.2s !important;
    user-select: none !important;
}
details.premium-spec-details summary.premium-spec-toggle::-webkit-details-marker {
    display: none !important;
}
details.premium-spec-details summary.premium-spec-toggle:hover {
    background: #f0f0f0 !important;
}
details.premium-spec-details summary.premium-spec-toggle i.svc-spec-icon {
    color: #6fb32c !important;
}
details.premium-spec-details summary.premium-spec-toggle i.svc-spec-chevron {
    transition: transform 0.3s !important;
    margin-right: 5px !important;
    font-size: 11px !important;
}
details.premium-spec-details[open] summary.premium-spec-toggle i.svc-spec-chevron {
    transform: rotate(180deg) !important;
}
details.premium-spec-details dl.variation {
    padding: 15px !important;
    background: #fdfdfd !important;
    border-radius: 12px !important;
    border: 1px solid #f0f0f0 !important;
    margin-top: 10px !important;
    font-size: 13px !important;
    display: block !important;
}
details.premium-spec-details dl.variation dt {
    font-weight: 700 !important;
    float: right !important; /* RTL */
    clear: right !important;
    margin-left: 5px !important;
    color: #333 !important;
    margin-bottom: 5px !important;
}
details.premium-spec-details dl.variation dd {
    margin: 0 0 5px 0 !important;
    color: #555 !important;
    display: block !important;
    overflow: hidden !important;
}
details.premium-spec-details dl.variation p {
    margin: 0 !important;
}


/* --- Premium Shipping Methods (Checkout) --- */
.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping td {
    padding-top: 0 !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping td p {
    display: none !important; /* Remove "Shipping options will be updated" text */
}
ul#shipping_method,
.woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 10px 0 0 0 !important;
}
ul#shipping_method li,
.woocommerce-shipping-methods li {
    padding: 0 !important;
    margin-bottom: 10px !important;
    border: none !important;
    background: transparent !important;
}
/* Hide native radio */
ul#shipping_method li input[type="radio"],
.woocommerce-shipping-methods li input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}
/* Label becomes the full card */
ul#shipping_method li label,
.woocommerce-shipping-methods li label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    background: #fff !important;
    border: 1.5px solid #eaeaea !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #27353f !important;
    line-height: 1.55 !important;
    transition: all 0.25s ease !important;
    box-sizing: border-box !important;
}
ul#shipping_method li label:hover,
.woocommerce-shipping-methods li label:hover {
    border-color: #6fb32c !important;
    background: #fcfdfc !important;
}
/* Custom radio circle inside label */
ul#shipping_method li label::before,
.woocommerce-shipping-methods li label::before {
    content: '' !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    border: 2px solid #ccc !important;
    margin-top: 2px !important;
    transition: 0.25s !important;
}
/* Checked state via adjacent sibling */
ul#shipping_method li input[type="radio"]:checked + label,
.woocommerce-shipping-methods li input[type="radio"]:checked + label {
    border-color: #6fb32c !important;
    background: #fcfdfc !important;
    box-shadow: 0 4px 15px rgba(111,179,44,0.08) !important;
    font-weight: 700 !important;
}
ul#shipping_method li input[type="radio"]:checked + label::before,
.woocommerce-shipping-methods li input[type="radio"]:checked + label::before {
    border-color: #6fb32c !important;
    border-width: 7px !important;
}
/* Price inside label */
ul#shipping_method li label .woocommerce-Price-amount,
.woocommerce-shipping-methods li label .woocommerce-Price-amount {
    color: #6fb32c !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    margin-right: auto !important; /* push price to end (RTL left) */
    margin-left: 0 !important;
}


/* Fix subtotal amount alignment (LEFT in RTL = end of row) */
.woocommerce-checkout #order_review table.shop_table tfoot td,
.woocommerce-checkout #order_review table.shop_table tfoot td .woocommerce-Price-amount {
    text-align: left !important;
}

/* Fix shipping row - make it full width below the label */
.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping {
    display: block !important;
    width: 100% !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping td {
    display: block !important;
    width: 100% !important;
    padding: 8px 0 !important;
    border: none !important;
    text-align: right !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping th {
    font-size: 18px !important;
    font-weight: 900 !important;
    color: #27353f !important;
    border-bottom: 2px solid #f0f0f0 !important;
    padding-bottom: 12px !important;
    margin-bottom: 5px !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping td {
    padding-top: 5px !important;
}
/* Each shipping option card full width */
ul#shipping_method li label,
.woocommerce-shipping-methods li label {
    width: 100% !important;
    box-sizing: border-box !important;
}


/* Shipping row - truly full width across the full panel */
.woocommerce-checkout #order_review table.shop_table {
    table-layout: fixed !important;
    width: 100% !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping {
    display: table-row !important; /* Keep as table row */
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping th {
    display: block !important;
    width: 100% !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    color: #27353f !important;
    border-bottom: 2px solid #f0f0f0 !important;
    padding: 15px 0 12px 0 !important;
    text-align: right !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping td {
    display: block !important;
    width: 100% !important;
    padding: 10px 0 !important;
    border: none !important;
}
/* Give the shipping ul full width */
ul#shipping_method,
.woocommerce-shipping-methods {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
ul#shipping_method li,
.woocommerce-shipping-methods li {
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
}
ul#shipping_method li label,
.woocommerce-shipping-methods li label {
    width: 100% !important;
    display: flex !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    align-items: center !important;
}

/* Mobile - keep shipping cards full width & fix text wrapping */
@media (max-width: 767px) {
    .woocommerce-checkout #order_review table.shop_table tfoot tr.shipping th,
    .woocommerce-checkout #order_review table.shop_table tfoot tr.shipping td {
        width: 100% !important;
        display: block !important;
    }
    ul#shipping_method li label,
    .woocommerce-shipping-methods li label {
        padding: 16px 15px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        gap: 12px !important;
    }
    ul#shipping_method li label .woocommerce-Price-amount,
    .woocommerce-shipping-methods li label .woocommerce-Price-amount {
        white-space: nowrap !important;
        font-size: 15px !important;
    }
}


/* ============================================
   SAV Premium Review Order (No-Table Layout)
   ============================================ */
.sav-review-order {
    width: 100% !important;
}

/* Header row */
.sav-review-header {
    display: flex !important;
    justify-content: space-between !important;
    padding: 0 0 15px 0 !important;
    border-bottom: 2px solid #f0f0f0 !important;
    margin-bottom: 5px !important;
    font-weight: 900 !important;
    font-size: 17px !important;
    color: #27353f !important;
}

/* Each product row */
.sav-review-item {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid #f5f5f5 !important;
}
.sav-item-thumb {
    flex-shrink: 0 !important;
}
.sav-item-thumb img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08) !important;
}
.sav-item-info {
    flex: 1 !important;
    text-align: right !important;
}
.sav-item-name {
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #27353f !important;
    display: block !important;
    margin-bottom: 6px !important;
}
.sav-qty {
    color: #888 !important;
    font-weight: 400 !important;
}
.sav-item-price {
    font-weight: 800 !important;
    font-size: 17px !important;
    color: #6fb32c !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* Spec toggle (variations) */
.sav-spec-details {
    margin-top: 8px !important;
}
.sav-spec-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    background: #f7f9fa !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #27353f !important;
    cursor: pointer !important;
    border: 1px solid #eaeaea !important;
    list-style: none !important;
}
.sav-spec-toggle::-webkit-details-marker { display: none !important; }
.sav-spec-toggle i:first-child { color: #6fb32c !important; }
.sav-spec-toggle i:last-child { transition: transform 0.3s !important; font-size: 10px !important; }
.sav-spec-details[open] .sav-spec-toggle i:last-child { transform: rotate(180deg) !important; }
.sav-spec-body {
    background: #fdfdfd !important;
    border: 1px solid #f0f0f0 !important;
    border-radius: 10px !important;
    padding: 12px 15px !important;
    margin-top: 8px !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
    color: #444 !important;
}
.sav-var-label { font-weight: 700 !important; color: #27353f !important; }

/* Totals Section */
.sav-review-totals {
    margin-top: 10px !important;
    border-top: 2px solid #f0f0f0 !important;
    padding-top: 20px !important;
}
.sav-total-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #f9f9f9 !important;
}
.sav-total-label {
    font-weight: 700 !important;
    color: #555 !important;
    font-size: 15px !important;
}
.sav-total-val {
    font-weight: 700 !important;
    color: #333 !important;
    font-size: 15px !important;
    text-align: left !important;
}
.sav-total-val .woocommerce-Price-amount {
    color: #6fb32c !important;
}
.sav-discount .woocommerce-Price-amount {
    color: #e74c3c !important;
}

/* Grand Total Row */
.sav-grand-total {
    border-bottom: none !important;
    padding-top: 20px !important;
    margin-top: 10px !important;
    border-top: 2px solid #f0f0f0 !important;
}
.sav-grand-total .sav-total-label {
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #27353f !important;
}
.sav-grand-total .sav-total-val {
    font-size: 24px !important;
    font-weight: 900 !important;
}
.sav-grand-total .sav-total-val .woocommerce-Price-amount {
    color: #6fb32c !important;
    font-size: 26px !important;
}

/* Shipping Section - Full Width Cards */
.sav-shipping-row {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-top: 5px !important;
}
.sav-shipping-title {
    font-size: 17px !important;
    font-weight: 900 !important;
    color: #27353f !important;
    border-bottom: 2px solid #f0f0f0 !important;
    padding-bottom: 12px !important;
    width: 100% !important;
    display: block !important;
}
.sav-shipping-options {
    width: 100% !important;
    padding: 10px 0 15px 0 !important;
}
.sav-shipping-options ul#shipping_method,
.sav-shipping-options .woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.sav-shipping-options ul#shipping_method li,
.sav-shipping-options .woocommerce-shipping-methods li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.sav-shipping-options ul#shipping_method li label,
.sav-shipping-options .woocommerce-shipping-methods li label {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1.5px solid #eaeaea !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #27353f !important;
    line-height: 1.55 !important;
    transition: all 0.25s !important;
    white-space: normal !important;
}
.sav-shipping-options ul#shipping_method li label:hover,
.sav-shipping-options .woocommerce-shipping-methods li label:hover {
    border-color: #6fb32c !important;
}
.sav-shipping-options ul#shipping_method li input[type="radio"]:checked + label,
.sav-shipping-options .woocommerce-shipping-methods li input[type="radio"]:checked + label {
    border-color: #6fb32c !important;
    background: #fcfdfc !important;
    box-shadow: 0 4px 15px rgba(111,179,44,0.08) !important;
    font-weight: 700 !important;
}
.sav-shipping-options ul#shipping_method li label::before,
.sav-shipping-options .woocommerce-shipping-methods li label::before {
    content: '' !important;
    flex-shrink: 0 !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    border: 2px solid #ccc !important;
    transition: 0.25s !important;
}
.sav-shipping-options ul#shipping_method li input[type="radio"]:checked + label::before,
.sav-shipping-options .woocommerce-shipping-methods li input[type="radio"]:checked + label::before {
    border-color: #6fb32c !important;
    border-width: 7px !important;
}
.sav-shipping-options ul#shipping_method li input[type="radio"],
.sav-shipping-options .woocommerce-shipping-methods li input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}
.sav-shipping-options ul#shipping_method li label .woocommerce-Price-amount,
.sav-shipping-options .woocommerce-shipping-methods li label .woocommerce-Price-amount {
    margin-right: auto !important;
    color: #6fb32c !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    font-size: 15px !important;
}

/* --- Mobile Order Review --- */
@media (max-width: 767px) {
    .sav-review-header { font-size: 15px !important; }
    .sav-item-thumb img { width: 50px !important; height: 50px !important; }
    .sav-item-name { font-size: 13px !important; }
    .sav-item-price { font-size: 15px !important; }
    .sav-grand-total .sav-total-label { font-size: 18px !important; }
    .sav-grand-total .sav-total-val .woocommerce-Price-amount { font-size: 20px !important; }
    .sav-shipping-options ul#shipping_method li label,
    .sav-shipping-options .woocommerce-shipping-methods li label {
        padding: 15px !important;
        font-size: 13px !important;
    }
}


/* Hide WooCommerce shipping notice text & calculator link in checkout */
.sav-shipping-options p.woocommerce-shipping-destination,
.sav-shipping-options .woocommerce-shipping-calculator,
.sav-shipping-options a.shipping-calculator-button,
.sav-shipping-options form.woocommerce-shipping-calculator,
.sav-shipping-options > p,
.sav-shipping-options > .shipping-calculator-form,
#order_review .woocommerce-shipping-destination,
#order_review a.shipping-calculator-button,
#order_review .woocommerce-shipping-calculator,
.woocommerce-checkout .woocommerce-shipping-calculator,
.woocommerce-checkout a.shipping-calculator-button {
    display: none !important;
}

/* Hide the duplicate inner "משלוח" label that WC renders inside shipping html */
.sav-shipping-options .woocommerce-shipping-totals.shipping td::before,
.sav-shipping-options caption,
.sav-shipping-options label.checkbox,
.sav-shipping-options > table {
    display: none !important;
}

/* Hide any paragraph text inside shipping options */
.sav-shipping-options p:not(.woocommerce-shipping-contents) {
    display: none !important;
}


/* Hide payment gateway description text (e.g. "תשלום באשראי.") */
#payment div.payment_box p,
#payment div.payment_box > p {
    display: none !important;
}
/* Show only non-empty payment box content (iframe, form fields) */
#payment div.payment_box iframe,
#payment div.payment_box form,
#payment div.payment_box .woocommerce-SavedPaymentMethods,
#payment div.payment_box fieldset {
    display: block !important;
}



/* --- Premium Terms Checkbox (Clean) --- */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    background: #f7f9fa !important;
    border: 1px solid #eaeaea !important;
    border-radius: 10px !important;
    padding: 12px 20px !important;
    margin-bottom: 20px !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 13px !important;
    color: #777 !important;
    margin-bottom: 15px !important;
    text-align: right !important;
    line-height: 1.6 !important;
    display: none !important; /* Hide "תקנון האתר" header noise */
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-direction: row !important;
    justify-content: flex-start !important; /* RTL - start = right */
    direction: rtl !important;
}
/* Native checkbox - clean & styled */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    position: static !important;
    opacity: 1 !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    border: 2px solid #ccc !important;
    border-radius: 6px !important;
    accent-color: #6fb32c !important;
    cursor: pointer !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #27353f !important;
    cursor: pointer !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    text-align: right !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label a {
    color: #6fb32c !important;
    text-decoration: underline !important;
    font-weight: 700 !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .required {
    display: none !important;
}
