/* ===============================
   FIXED STICKY BEHAVIOR
================================ */

/* TOP BAR - NOT STICKY! */
.pf-shop-topbar {
	background: #fff;
	border-bottom: 1px solid #e5e7eb;
padding: 8px 0;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	position: relative; /* NOT STICKY */
	z-index: 10;
}

.topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;

}

.shop-results {
	flex: 1;
}

.results-count {
	font-size: 15px;
	color: #6b7280;
}

.results-count strong {
	color: #111;
	font-weight: 600;
}

/* View Switcher */
.shop-view-switcher {
	display: flex;
	gap: 4px;
	background: #f3f4f6;
	padding: 4px;
	border-radius: 8px;
}

.view-btn {
	display: flex;
	align-items: center;
	justify-content: center;
width: 32px;
	height: 32px;
	background: transparent;
	border: none;
	border-radius: 6px;
	color: #6b7280;
	cursor: pointer;
	transition: all 0.2s ease;
}

.view-btn:hover {
	background: #e5e7eb;
	color: #111;
}

.view-btn.active {
	background: #fff;
	color: #111;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

/* Controls */
.shop-controls {
	display: flex;
	align-items: center;
	gap: 12px;
}

.filter-toggle {
	display: none; /* Hidden on desktop */
}

.shop-sorting {
	padding: 6px 12px;
	font-size: 13px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: #111;
	background: #fff;
	cursor: pointer;
	outline: none;
}

/* ===============================
   MOBILE STICKY TOOLBAR (Hidden on Desktop)
================================ */


.mobile-filter-btn,
.mobile-sort-btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px;
	background: #fff;
	border: 2px solid #e5e7eb;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: #111;
	cursor: pointer;
	transition: all 0.2s ease;
}

.mobile-filter-btn:active,
.mobile-sort-btn:active {
	transform: scale(0.98);
	background: #f9fafb;
}

.mobile-filter-btn svg,
.mobile-sort-btn svg {
	width: 18px;
	height: 18px;
}

/* ===============================
   SHOP LAYOUT
================================ */

.pf-shop-content {
	padding: 32px 0;
}

.shop-layout {
	display: grid;
	gap: 32px;
	align-items: start;
}

.shop-layout.sidebar-left {
	grid-template-columns: 300px 1fr;
}

.shop-layout.sidebar-right {
	grid-template-columns: 1fr 300px;
}

.shop-layout.sidebar-right .shop-sidebar {
	order: 2;
}

.shop-layout.no-sidebar {
	grid-template-columns: 1fr;
}

/* ===============================
   FILTERS SIDEBAR - STICKY! ✅
================================ */

.shop-sidebar {
	position: sticky;
	top: calc(var(--header-height, 80px) + 20px); /* Stick below header with gap */
	max-height: calc(100vh - var(--header-height, 80px) - 40px); /* Full viewport minus header */
	overflow: hidden;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.sidebar-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	max-height: calc(100vh - var(--header-height, 80px) - 40px);
}

.sidebar-header {
	padding: 24px 24px 20px 24px;
	border-bottom: 1px solid #f3f4f6;
	flex-shrink: 0;
}

.sidebar-close {
	display: none;
}

.sidebar-title {
	font-size: 18px;
	font-weight: 600;
	margin: 0;
	color: #111;
}

/* Scrollable filters area */
.sidebar-filters {
	flex: 1;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0 24px;
	
	/* Custom scrollbar */
	scrollbar-width: thin;
	scrollbar-color: #e5e7eb transparent;
}

.sidebar-filters::-webkit-scrollbar {
	width: 6px;
}

.sidebar-filters::-webkit-scrollbar-track {
	background: transparent;
}

.sidebar-filters::-webkit-scrollbar-thumb {
	background: #e5e7eb;
	border-radius: 3px;
}

.sidebar-filters::-webkit-scrollbar-thumb:hover {
	background: #d1d5db;
}

/* Clear button footer */
.sidebar-footer {
	padding: 20px 24px;
	border-top: 1px solid #f3f4f6;
	flex-shrink: 0;
}

/* ===============================
   ACCORDION FILTERS
================================ */

.filter-group {
	border-bottom: 1px solid #f3f4f6;
	padding: 0;
}

.filter-group:last-child {
	border-bottom: none;
}

/* Accordion Header */
.filter-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 0;
	cursor: pointer;
	user-select: none;
	transition: all 0.2s ease;
}

.filter-header:hover {
	color: #111;
}

.filter-title {
	font-size: 14px;
	font-weight: 600;
	color: #111;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.filter-icon {
	width: 20px;
	height: 20px;
	transition: transform 0.3s ease;
	color: #9ca3af;
	flex-shrink: 0;
}

.filter-group.collapsed .filter-icon {
	transform: rotate(-180deg);
}

/* Accordion Content */
.filter-content {
	max-height: 500px;
	overflow: hidden;
	transition: max-height 0.3s ease;
	padding-bottom: 18px;
}

.filter-group.collapsed .filter-content {
	max-height: 0;
	padding-bottom: 0;
}

.filter-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Checkbox Filter */
.filter-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	user-select: none;
	transition: all 0.2s ease;
}

.filter-checkbox:hover {
	padding-left: 4px;
}

.filter-checkbox input {
	display: none;
}

.checkbox-custom {
	position: relative;
	width: 18px;
	height: 18px;
	border: 2px solid #d1d5db;
	border-radius: 4px;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.filter-checkbox input:checked + .checkbox-custom {
	background: #111;
	border-color: #111;
}

.filter-checkbox input:checked + .checkbox-custom::after {
	content: '';
	position: absolute;
	top: 2px;
	left: 5px;
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.checkbox-label {
	flex: 1;
	font-size: 14px;
	color: #374151;
}

.checkbox-count {
	font-size: 13px;
	color: #9ca3af;
}

/* ===============================
   PRICE RANGE - FIXED
================================ */

.price-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	width: 100%;
}

.price-inputs input {
	flex: 1;
	width: 100%; /* Force full width */
	padding: 10px 12px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	font-size: 14px;
	text-align: center;
	outline: none;
	transition: all 0.2s ease;
}

.price-inputs input:focus {
	border-color: #111;
	box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.05);
}

.price-inputs span {
	color: #9ca3af;
	font-weight: 500;
	flex-shrink: 0;
}

.apply-price-btn {
	width: 100%;
	padding: 10px;
	background: #111;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}

.apply-price-btn:hover {
	background: #000;
	transform: translateY(-1px);
}

/* Color swatches */
.color-swatches {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.color-swatch {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.color-swatch input {
	display: none;
}

.color-dot {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 2px solid #e5e7eb;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.color-swatch input:checked + .color-dot {
	border-color: #111;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #111;
	transform: scale(1.1);
}

.color-name {
	font-size: 14px;
	color: #374151;
}

/* Size buttons */
.size-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.size-btn {
	cursor: pointer;
}

.size-btn input {
	display: none;
}

.size-btn span {
	display: block;
	padding: 10px 16px;
	border: 2px solid #e5e7eb;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	color: #374151;
	transition: all 0.2s ease;
}

.size-btn:hover span {
	border-color: #d1d5db;
}

.size-btn input:checked + span {
	background: #111;
	border-color: #111;
	color: #fff;
}



/* Clear filters */
.clear-filters {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 12px;
	background: transparent;
	border: 2px solid #e5e7eb;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: #6b7280;
	cursor: pointer;
}

.clear-filters:hover {
	background: #111;
	border-color: #111;
	color: #fff;
}

/* ===============================
   MOBILE RESPONSIVE
================================ */

@media (max-width: 1024px) {
	
	/* Show mobile toolbar */
	.mobile-shop-toolbar {
		display: block;
	}
	
	/* Hide desktop topbar controls */
	.pf-shop-topbar {
		padding: 16px 0;
	}
	
	.shop-controls {
		display: none;
	}
	
	.shop-view-switcher {
		display: none;
	}
	
	/* Adjust content padding for toolbar */
	.pf-shop-content {
		padding-top: 80px; /* Space for sticky toolbar */
	}
	
	/* Grid becomes single column */
	.shop-layout.sidebar-left,
	.shop-layout.sidebar-right {
		grid-template-columns: 1fr;
	}
	
	/* Mobile Sidebar - Full screen overlay */
	.shop-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		width: 340px;
		max-width: 85vw;
		height: 100vh;
		max-height: 100vh;
		z-index: 1000;
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		border-radius: 0;
	}
	
	.shop-sidebar.active {
		transform: translateX(0);
	}
	
	.sidebar-inner {
		max-height: 100vh;
	}
	
	.sidebar-close {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 24px;
		right: 24px;
		width: 36px;
		height: 36px;
		background: #f3f4f6;
		border: none;
		border-radius: 50%;
		font-size: 24px;
		line-height: 1;
		cursor: pointer;
		z-index: 10;
	}
	
	/* Sidebar overlay */
	.sidebar-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, 0.5);
		z-index: 999;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
	}
	
	.sidebar-overlay.active {
		opacity: 1;
		pointer-events: auto;
	}
}




@media (max-width: 768px) {
	.pf-shop-content {
		padding: 70px 0 20px 0;
	}
	
	/* Mobile grid columns */
	body.shop-mobile-columns-1 .products-container[data-view="grid"] .products {
		grid-template-columns: 1fr !important;
	}
	
	body.shop-mobile-columns-2 .products-container[data-view="grid"] .products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 480px) {
	.topbar-inner {
		flex-wrap: wrap;
	}
	
	.shop-results {
		flex: 0 0 100%;
	}
	
	.shop-sidebar {
		width: 100%;
		max-width: 100%;
	}
	
	.mobile-shop-toolbar {
		padding: 10px 16px;
	}
}





/* ===============================
   MOBILE SORT MODAL
================================ */

.mobile-sort-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 1001;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.mobile-sort-modal.active {
	opacity: 1;
	pointer-events: auto;
}

.sort-modal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

/* =========================================
   COMPACT PREMIUM TOP-SLIDE OVERLAY
   ========================================= */

/* The Container */
.mobile-sort-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Keep below bottom bar (usually 999) but above content */
    z-index: 900; 
    visibility: hidden;
    transition: visibility 0.4s;
}

.mobile-sort-modal.active {
    visibility: visible;
}

/* Dark Background */
.sort-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3); /* Lighter dim for cleaner look */
    backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mobile-sort-modal.active .sort-modal-overlay {
    opacity: 1;
}

/* The Compact White Card */
.sort-modal-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #ffffff;
    
    /* Rounded corners bottom only */
    border-radius: 0 0 20px 20px;
    
    /* Premium Shadow */
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.1);
    
    /* Animation */
    transform: translateY(-100%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    
    z-index: 2;
    padding-bottom: 8px;
    overflow: hidden;
}

.mobile-sort-modal.active .sort-modal-content {
    transform: translateY(0);
}

/* Compact Header */
.sort-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px; /* Reduced padding */
    border-bottom: 1px solid rgba(0,0,0,0.03);
    background: #fafafa; /* Slight contrast header */
}

.sort-modal-header h3 {
    margin: 0;
    font-size: 14px; /* Smaller text */
    font-weight: 700;
    color: #222;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Small Close Button */
.sort-modal-close {
    background: #fff;
    border: 1px solid #eee;
    width: 24px; /* Smaller button */
    height: 24px;
    border-radius: 50%;
    font-size: 16px;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    line-height: 1;
}

/* Compact List Items */
.sort-modal-body {
    padding: 4px 0;
}

.sort-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px; /* Tighter vertical padding */
    cursor: pointer;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.2s;
}

.sort-option:active {
    background-color: #f5f5f5;
}

/* Hide Radio */
.sort-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* Option Text */
.sort-option span {
    font-size: 13px; /* Smaller font */
    color: #555;
    font-weight: 500;
}

/* Selected Text */
.sort-option input[type="radio"]:checked + span {
    color: #000;
    font-weight: 700;
}

/* Premium Mini Checkmark */
.sort-option input[type="radio"]:checked + span::after {
    content: '';
    position: absolute;
    right: 20px;
    top: 50%;
    width: 4px;
    height: 9px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    transform: translateY(-65%) rotate(45deg);
}

.sort-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	border-bottom: 1px solid #f3f4f6;
}

.sort-modal-header h3 {
	font-size: 18px;
	font-weight: 600;
	margin: 0;
}

.sort-modal-close {
	width: 36px;
	height: 36px;
	background: #f3f4f6;
	border: none;
	border-radius: 50%;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.sort-modal-body {
	padding: 16px 0;
	max-height: 400px;
	overflow-y: auto;
}

.sort-option {
	display: flex;
	align-items: center;
	padding: 16px 24px;
	cursor: pointer;
	transition: background 0.2s ease;
}

.sort-option:hover {
	background: #f9fafb;
}

.sort-option input {
	margin-right: 12px;
}

.sort-option span {
	font-size: 15px;
	color: #374151;
}

.sort-option input:checked + span {
	color: #111;
	font-weight: 600;
}





/* ===============================
   PREMIUM PRODUCT CARDS
================================ */

.pf-product-card {
	position: relative;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.3s ease;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pf-product-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.card-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* ===============================
   IMAGE SECTION
================================ */

.card-image {
	position: relative;
	aspect-ratio: 1;
	overflow: hidden;
	background: #f9fafb;
}

.image-link {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

.main-image {
	position: relative;
	width: 100%;
	height: 100%;
}

.main-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.pf-product-card:hover .main-image img {
	transform: scale(1.08);
}

/* Hover Image (if exists) */
.hover-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: 1;
}

.hover-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pf-product-card:hover .hover-image {
	opacity: 1;
}



/* ===============================
   QUICK ACTIONS
================================ */

.card-actions {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	opacity: 0;
	transform: translateX(10px);
	transition: all 0.3s ease;
	z-index: 2;
}

.pf-product-card:hover .card-actions {
	opacity: 1;
	transform: translateX(0);
}

.action-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px ;
	height: 36px ;
	background: #fff;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	transition: all 0.2s ease;
}

.action-btn:hover {
	background: #111;
	color: #fff;
	transform: scale(1.1);
}

.action-btn svg {
	width: 18px !important;
	height: 18px !important;
}

.action-btn.active {
	background: #ef4444;
	color: #fff;
}

/* ===============================
   ROUND CART BUTTON - HOVER SHOW
================================ */

/* DESKTOP - Hidden by default, show on hover */
@media (min-width: 1025px) {
	.card-add-to-cart-round {
		opacity: 0 !important;
		visibility: hidden !important;
		transform: scale(0.85) translateY(10px) !important;
		transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	}
	
	/* Show on product card hover */
	.pf-product-card:hover .card-add-to-cart-round {
		opacity: 1 !important;
		visibility: visible !important;
		transform: scale(1) translateY(0) !important;
	}
	
	/* Button hover effect */
	.round-add-to-cart:hover {
		transform: scale(1.1) !important;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2) !important;
	}
}

/* MOBILE - Always visible */
@media (max-width: 1024px) {
	.card-add-to-cart-round {
		opacity: 1 !important;
		visibility: visible !important;
		transform: scale(1) translateY(0) !important;
	}
	
	.round-add-to-cart {
		width: 44px !important;
		height: 44px !important;
	}
}

/* Loading animation */
.round-add-to-cart.loading svg {
	animation: cartSpin 0.6s linear infinite !important;
}

@keyframes cartSpin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

/* Success animation */
.round-add-to-cart.added svg {
	animation: cartBounce 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

@keyframes cartBounce {
	0% { transform: scale(0.8); }
	50% { transform: scale(1.2); }
	100% { transform: scale(1); }
}


/* ===============================
   WOOCOMMERCE DEFAULT ELEMENTS
================================ */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	padding: 0;
}

.woocommerce ul.products li.product .price {
	color: #111;
	font-weight: 700;
}

/* Hide default buttons */
.woocommerce ul.products li.product .button {
	display: none;
}

/* Show only in card-add-to-cart */
.card-add-to-cart .button {
	display: block !important;
}

/* ===============================
   COLOR FILTER - IMPROVED
================================ */

.color-swatches {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.color-swatch {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	padding: 8px;
	border-radius: 8px;
	transition: all 0.2s ease;
}

.color-swatch:hover {
	background: #f9fafb;
}

.color-swatch input {
	display: none;
}

/* Color dot with better visibility */
.color-dot {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 2px solid #e5e7eb;
	transition: all 0.2s ease;
	flex-shrink: 0;
	position: relative;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* White color - special treatment */
.color-dot[style*="rgb(255, 255, 255)"],
.color-dot[style*="#ffffff"],
.color-dot[style*="#fff"],
.color-dot[style*="white"] {
	border: 2px solid #d1d5db !important;
	background: #fff !important;
}

/* Checked state */
.color-swatch input:checked + .color-dot {
	border-color: #111;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #111;
	transform: scale(1.1);
}

/* Checkmark inside color dot when checked */
.color-swatch input:checked + .color-dot::after {
	content: '✓';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* White color checkmark (dark) */
.color-swatch input:checked + .color-dot[style*="rgb(255, 255, 255)"]::after,
.color-swatch input:checked + .color-dot[style*="#ffffff"]::after,
.color-swatch input:checked + .color-dot[style*="#fff"]::after,
.color-swatch input:checked + .color-dot[style*="white"]::after {
	color: #111;
	text-shadow: none;
}

/* Color name */
.color-name {
	font-size: 14px;
	color: #374151;
	font-weight: 500;
	flex: 1;
}

.color-swatch input:checked ~ .color-name {
	color: #111;
	font-weight: 600;
}




/* ===============================
   PRODUCTS GRID - FIX BREAKING
================================ */

.products-container {
	width: 100%;
	overflow: visible;
}

.products {
	display: grid;
	gap: 24px;
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Ensure proper grid on all layouts */
.products-container[data-view="grid"] .products {
	display: grid !important;
	width: 100% !important;
}

/* Force proper item sizing */
.products .pf-product-card {
	width: 100%;
	height: auto;
	min-width: 0; /* Prevent overflow */
}

/* Prevent flex issues */
.products li {
	width: 100%;
	min-width: 0;
}



/* Hide custom filter chips section */
.pf-filter-chips {
	display: none !important;
}

/* Also hide the chips wrapper */
.chips-wrapper {
	display: none !important;
}

/* ======================================================
   PERFECTO SHOP FIX (Grid & Images) - FINAL
====================================================== */

/* --- 1. FORCE GRID COLUMNS (Fixes Empty Page) --- */
.products-container[data-view="grid"] .products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important; /* 4 Columns Desktop */
    gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 1280px) {
    .products-container[data-view="grid"] .products {
        grid-template-columns: repeat(3, 1fr) !important; /* 3 Columns Laptop */
    }
}

@media (max-width: 768px) {
    .products-container[data-view="grid"] .products {
        grid-template-columns: repeat(2, 1fr) !important; /* 2 Columns Mobile */
        gap: 10px !important;
    }
}

/* --- 2. PRODUCT CARD LAYOUT --- */
.pf-product-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    background: #fff;
    position: relative;
    overflow: hidden;
}

/* --- 3. IMAGE CONTAINER RESET --- */
.pf-product-card .card-image {
    width: 100% !important;
    display: block !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #f4f4f4; /* Placeholder color */
    overflow: hidden !important;
}

/* --- 4. MODE A: AUTO HEIGHT (Config: 'Auto') --- */
/* This restores the image when you select 'Auto' in settings */
.pf-product-card:not(.pf-ratio-fixed) .card-image {
    height: auto !important;
    padding-bottom: 0 !important;
    aspect-ratio: auto !important;
}

.pf-product-card:not(.pf-ratio-fixed) .card-image img {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
}

/* --- 5. MODE B: FIXED RATIO (Config: 'Square', 'Portrait') --- */
/* This forces the box to be square/portrait using PHP padding */
.pf-product-card.pf-ratio-fixed .card-image {
    height: 0 !important;
    /* padding-bottom is added inline by PHP */
}

.pf-product-card.pf-ratio-fixed .image-link,
.pf-product-card.pf-ratio-fixed .main-image,
.pf-product-card.pf-ratio-fixed .hover-image,
.pf-product-card.pf-ratio-fixed img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* --- 6. IMAGE VISIBILITY (Global Force) --- */
.pf-product-card img {
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity 0.3s ease, transform 0.5s ease;
}

/* Hover Image */
.pf-product-card .hover-image {
    z-index: 2;
    opacity: 0 !important;
}
.pf-product-card:hover .hover-image {
    opacity: 1 !important;
}

/* --- 7. MOBILE FIXES --- */
@media (max-width: 768px) {
    /* Ensure content is stacked */
    .pf-product-card .card-content {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding: 10px !important;
    }
    
    /* Ensure image shows on mobile */
    .pf-product-card .card-image {
        min-height: 150px;
    }
}




/* ===============================
   NOTIFICATION POPUP
================================ */

.pf-notification {
	position: fixed;
	top: 20px;
	right: 20px;
	min-width: 320px;
	max-width: 400px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 20px;
	z-index: 99999;
	transform: translateX(450px);
	opacity: 0;
	transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.pf-notification.show {
	transform: translateX(0);
	opacity: 1;
}

.pf-notification-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.pf-notification.success .pf-notification-icon {
	background: #10b981;
	color: #fff;
}

.pf-notification.error .pf-notification-icon {
	background: #ef4444;
	color: #fff;
}

.pf-notification.info .pf-notification-icon {
	background: #3b82f6;
	color: #fff;
}

.pf-notification-icon svg {
	width: 20px;
	height: 20px;
}

.pf-notification-content {
	flex: 1;
	padding-top: 2px;
}

.pf-notification-title {
	font-size: 14px;
	font-weight: 700;
	color: #111;
	margin-bottom: 4px;
}

.pf-notification-message {
	font-size: 13px;
	color: #6b7280;
	line-height: 1.5;
}

.pf-notification-close {
	width: 24px;
	height: 24px;
	background: transparent;
	border: none;
	color: #9ca3af;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: color 0.2s ease;
	flex-shrink: 0;
	padding: 0;
}

.pf-notification-close:hover {
	color: #111;
}

/* Mobile responsive */
@media (max-width: 480px) {
	.pf-notification {
		top: 10px;
		right: 10px;
		left: 10px;
		min-width: auto;
		max-width: none;
	}
}

/* Icon animation */
.pf-notification.success .pf-notification-icon svg {
	animation: checkmark 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes checkmark {
	0% {
		transform: scale(0.8);
		opacity: 0;
	}
	50% {
		transform: scale(1.2);
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

/* ===============================
   WISHLIST BUTTON STATES
================================ */

.pf-wishlist-btn {
	position: relative;
}

.pf-wishlist-btn svg {
	transition: all 0.3s ease;
	fill: transparent;
	stroke: currentColor;
	stroke-width: 2;
}

/* Active state - filled heart */
.pf-wishlist-btn.in-wishlist svg,
.pf-wishlist-btn.active svg,
.pf-wishlist-btn.added svg {
	fill: #ef4444;
	stroke: #ef4444;
}

.pf-wishlist-btn.in-wishlist,
.pf-wishlist-btn.active,
.pf-wishlist-btn.added {
	background: rgba(239, 68, 68, 0.1) !important;
	color: #ef4444 !important;
}

/* Pulse animation when added */
.pf-wishlist-btn.added {
	animation: wishlistPulse 0.5s ease;
}

@keyframes wishlistPulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.2);
	}
	100% {
		transform: scale(1);
	}
}




/* ===============================
   WISHLIST BUTTON - ROUND SHAPE
================================ */

.action-btn.pf-wishlist-btn {
	width: 36px !important;
	height: 36px !important;
	background: #fff !important;
	border: 2px solid #e5e7eb !important;
	border-radius: 50% !important; /* ← ROUND! */
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	padding: 0 !important;
}

.action-btn.pf-wishlist-btn:hover {
	border-color: #ef4444 !important;
	background: #fef2f2 !important;
}

.action-btn.pf-wishlist-btn svg {
	width: 18px !important;
	height: 18px !important;
	fill: transparent !important;
	stroke: #6b7280 !important;
	stroke-width: 2 !important;
	transition: all 0.3s ease !important;
}

.action-btn.pf-wishlist-btn:hover svg {
	stroke: #ef4444 !important;
}

/* Active state - Filled red heart */
.action-btn.pf-wishlist-btn.in-wishlist,
.action-btn.pf-wishlist-btn.active,
.action-btn.pf-wishlist-btn.added {
	background: #fef2f2 !important;
	border-color: #ef4444 !important;
}

.action-btn.pf-wishlist-btn.in-wishlist svg,
.action-btn.pf-wishlist-btn.active svg,
.action-btn.pf-wishlist-btn.added svg {
	fill: #ef4444 !important;
	stroke: #ef4444 !important;
}

/* Pulse animation when added */
.action-btn.pf-wishlist-btn.added {
	animation: wishlistPulse 0.5s ease;
}

@keyframes wishlistPulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.15); }
	100% { transform: scale(1); }
}




/* ===============================
   HIDE MAIN HEADER ON MOBILE SHOP
================================ */

@media (max-width: 1024px) {
	body.woocommerce-shop .site-header,
	body.tax-product_cat .site-header,
	body.tax-product_tag .site-header {
		display: none !important;
	}
	
	/* Add padding to body since header is hidden */
	body.woocommerce-shop,
	body.tax-product_cat,
	body.tax-product_tag {
		padding-top: 0 !important;
	}
}

/* ===============================
   HIDE MOBILE ELEMENTS ON DESKTOP
================================ */

.pf-mobile-header,
.pf-bottom-bar {
	display: none !important;
}

/* Only show on mobile */
@media (max-width: 1024px) {
	.pf-mobile-header,
	.pf-bottom-bar {
		display: block !important;
	}
}





@media (max-width: 1024px) {
	
	/* ... your other mobile styles ... */
	
	/* ===============================
	   NUCLEAR GAP FIX - SPECIFIC
	================================ */
	
	/* Main shop content */
	.pf-shop-content {
		padding: 0 !important;
		margin: 0 !important;
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	
	/* Container wide - REMOVE ALL SPACING */
	.pf-shop-content .pf-container-wide {
		padding: 0 !important;
		margin: 0 !important;
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	
	/* Shop layout - REMOVE ALL SPACING */
	.pf-shop-content .shop-layout {
		padding: 0 !important;
		margin: 0 !important;
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	
	/* Shop main - REMOVE ALL SPACING */
	.pf-shop-content .shop-main {
		padding: 0 !important;
		margin: 0 !important;
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	
	/* First child after header */
	.pf-mobile-header + .pf-shop-content,
	.pf-mobile-header ~ .pf-shop-content {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	
	/* All direct children of pf-shop-content */
	.pf-shop-content > * {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	
	/* Products container - only bottom padding for bar */
	.products-container {
		padding: 0 !important;
		margin: 0 !important;
		padding-bottom: 70px !important;
	}
}

/* ===============================
   PERFECTO MOBILE SHOP - FIXED
================================ */




@media (max-width: 1024px) {
	
	/* Hide desktop topbar */
	.pf-shop-topbar,
	.mobile-shop-toolbar {
		display: none !important;
	}
	
	/* Reset ALL padding */
	body.woocommerce-shop,
	body.tax-product_cat,
	body.tax-product_tag {
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.site-main {
		padding: 0 !important;
		margin: 0 !important;
	}
	
	/* Remove container padding */
	.pf-container-wide,
	.shop-layout {
		padding: 0 !important;
		margin: 0 !important;
		max-width: 100% !important;
	}
	
	/* ===============================
	   MOBILE SIDEBAR
	================================ */
	
	.shop-sidebar {
		position: fixed !important;
		top: 0 !important;
		left: -100% !important;
		width: 85% !important;
		max-width: 350px !important;
		height: 100vh !important;
		background: #fff !important;
		z-index: 10000 !important;
		overflow-y: auto !important;
		transition: left 0.3s ease !important;
		box-shadow: 2px 0 20px rgba(0, 0, 0, 0.1) !important;
		display: block !important;
	}
	
	.shop-sidebar.active {
		left: 0 !important;
	}
	
	.shop-sidebar .sidebar-inner {
		display: flex !important;
		flex-direction: column !important;
		height: 100% !important;
	}
	
	.shop-sidebar .sidebar-header {
		position: sticky !important;
		top: 0 !important;
		background: #fff !important;
		padding: 16px 20px !important;
		border-bottom: 1px solid #e5e7eb !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		z-index: 10 !important;
	}
	
	.shop-sidebar .sidebar-title {
		font-size: 18px !important;
		font-weight: 700 !important;
		margin: 0 !important;
	}
	
	.shop-sidebar .sidebar-close {
		width: 32px !important;
		height: 32px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		background: #f3f4f6 !important;
		border: none !important;
		border-radius: 50% !important;
		font-size: 20px !important;
		color: #6b7280 !important;
		cursor: pointer !important;
	}
	
	.shop-sidebar .sidebar-filters {
		flex: 1 !important;
		overflow-y: auto !important;
		padding: 20px !important;
	}
	
	.shop-sidebar .sidebar-footer {
		position: sticky !important;
		bottom: 0 !important;
		background: #fff !important;
		padding: 16px 20px !important;
		border-top: 1px solid #e5e7eb !important;
	}
	
	.shop-sidebar .sidebar-footer .clear-filters {
		width: 100% !important;
		padding: 12px !important;
		background: #f3f4f6 !important;
		border: none !important;
		border-radius: 8px !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		color: #282c3f !important;
		cursor: pointer !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
	}
	
	.sidebar-overlay {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		background: rgba(0, 0, 0, 0.5) !important;
		z-index: 9999 !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transition: all 0.3s ease !important;
	}
	
	.sidebar-overlay.active {
		opacity: 1 !important;
		visibility: visible !important;
	}
}	
	
	
	
	/* ===============================
	   MOBILE HEADER
	================================ */
	


@media (max-width: 1024px) {
	
	
	/* ===============================
	   PRODUCTS - FULL WIDTH
	================================ */
	
	.pf-shop-content {
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.shop-main {
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.products-container {
		padding: 0 !important;
		margin: 0 !important;
		padding-bottom: 70px !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	/* 2 Column Grid - NO GAPS */
	.products {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		width: 100% !important;
	}
	
	/* Product Card - Full Width */
	.products li.pf-product-card {
		width: 100% !important;
		margin: 0 !important;
		border-right: 0.5px solid #eaeaec !important;
		border-bottom: 0.5px solid #eaeaec !important;
		border-radius: 0 !important;
		padding: 0 !important;
		background: #fff !important;
	}
	
	.products li.pf-product-card:nth-child(2n) {
		border-right: none !important;
	}
	
	.pf-product-card .card-inner {
		display: flex !important;
		flex-direction: column !important;
		height: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	/* ===============================
	   IMAGE - FULL WIDTH
	================================ */
	
	.pf-product-card .card-image {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 3/4 !important;
		position: relative !important;
		border-radius: 0 !important;
		overflow: hidden !important;
		background: #f5f5f6 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	.pf-product-card .card-image .image-link,
	.pf-product-card .card-image .main-image {
		width: 100% !important;
		height: 100% !important;
	}
	
	.pf-product-card .card-image img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		display: block !important;
	}
	
	.pf-product-card .card-image .hover-image {
		display: none !important;
	}
	
/* ===============================
   RATING BADGE 
================================ */

.pf-product-card .card-rating {
	position: absolute !important;
	bottom: 10px !important;
	left: 10px !important;
	z-index: 5 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	background: #ffffff !important;
	padding: 4px 10px !important;
	border-radius: 2px !important; 
	border: 1px solid #d4d5d9 !important; 
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	transition: all 0.3s ease !important;
}



/* Rating Number - Bold */
.pf-product-card .card-rating .rating-number {
	font-size: 12px !important;
	font-weight: 700 !important;
	color: #282c3f !important;
	line-height: 1 !important;
	letter-spacing: 0.2px !important;
}

/* Teal/Green Star */
.pf-product-card .card-rating .rating-star {
	width: 11px !important;
	height: 11px !important;
	flex-shrink: 0 !important;
	margin-top: -1px !important; /* Align with text */
}

/* Vertical Separator */
.pf-product-card .card-rating .rating-separator {
	color: #d4d5d9 !important;
	font-weight: 300 !important;
	font-size: 12px !important;
	line-height: 1 !important;
}

/* Review Count */
.pf-product-card .card-rating .rating-count {
	font-size: 11px !important;
	color: #535766 !important;
	font-weight: 500 !important;
	line-height: 1 !important;
}

/* No Rating State - Gray */
.pf-product-card .card-rating.no-rating .rating-number {
	color: #94969f !important;
}

.pf-product-card .card-rating.no-rating .rating-count {
	color: #94969f !important;
}

/* ===============================
   MOBILE - STAYS AT BOTTOM
================================ */

@media (max-width: 1024px) {
	.pf-product-card .card-rating {
		bottom: 8px !important;
		left: 8px !important;
		padding: 3px 8px !important;
		gap: 5px !important;
		border-radius: 2px !important;
	}
	

	
	.pf-product-card .card-rating .rating-number {
		font-size: 11px !important;
	}
	
	.pf-product-card .card-rating .rating-star {
		width: 10px !important;
		height: 10px !important;
	}
	
	.pf-product-card .card-rating .rating-count {
		font-size: 10px !important;
	}
	
	.pf-product-card .card-rating .rating-separator {
		font-size: 11px !important;
	}
}







	/* ===============================
	   WISHLIST
	================================ */
	
	.pf-product-card .card-actions {
		position: absolute !important;
		top: 8px !important;
		right: 8px !important;
		z-index: 3 !important;
	}
	
	.pf-product-card .quick-view-btn,
	.pf-product-card .compare-btn {
		display: none !important;
	}
	
	.pf-product-card .pf-wishlist-btn {
		width: 36px !important;
		height: 36px !important;
		background: rgba(255, 255, 255, 0.95) !important;
		border: 1px solid rgba(0, 0, 0, 0.08) !important;
		border-radius: 50% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
	}
	
	.pf-product-card .pf-wishlist-btn svg {
		width: 18px !important;
		height: 18px !important;
		fill: transparent !important;
		stroke: #282c3f !important;
		stroke-width: 2 !important;
	}
	
	.pf-product-card .pf-wishlist-btn.in-wishlist svg,
	.pf-product-card .pf-wishlist-btn.active svg,
	.pf-product-card .pf-wishlist-btn.added svg {
		fill: #ff3f6c !important;
		stroke: #ff3f6c !important;
	}
	
	.pf-product-card .card-add-to-cart {
		display: none !important;
	}
	
	
	
/* ===============================
   CORE VARIABLES & RESET
================================ */
:root {
    --pf-anim-ease: cubic-bezier(0.22, 1, 0.36, 1); /* Apple-style 'spring' ease */
    --pf-glass-bg: rgba(255, 255, 255, 0.94);
    --pf-border-color: rgba(0, 0, 0, 0.06);
    --pf-active-color: #000000;
}

/* ===============================
   1. PREMIUM FILTER BAR (Top)
================================ */
.pf-bottom-bar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1002 !important; /* Highest priority */
    
    /* MODERN GLASS EFFECT */
    background: var(--pf-glass-bg) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    
    /* CLEANER SHADOW & BORDER */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
    border-bottom: 1px solid var(--pf-border-color) !important;
    
    display: flex !important;
    height: 58px !important; /* Slightly taller for touch comfort */
    padding: 0 !important;
}

/* ===============================
   2. BUTTONS & INTERACTIONS
================================ */
.pf-bottom-bar button {
    flex: 1 !important;
    background: transparent !important;
    border: none !important;
    outline: none !important; /* Removes default blue focus ring */
    
    display: flex !important;
    flex-direction: row !important; /* Side-by-side icon/text looks more premium */
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #444 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    
    cursor: pointer !important;
    position: relative !important;
    -webkit-tap-highlight-color: transparent !important; /* FIX: Removes blue tap flash on mobile */
    transition: color 0.2s ease !important;
}

/* SEPARATOR LINE */
.pf-sort-btn {
    position: relative !important;
}
.pf-sort-btn::after {
    content: '';
    position: absolute;
    right: 0;
    top: 25%;
    height: 50%;
    width: 1px;
    background: var(--pf-border-color) !important;
}

/* HOVER STATE (Only on devices with a mouse) */
@media (hover: hover) {
    .pf-bottom-bar button:hover {
        background: rgba(0, 0, 0, 0.02) !important;
        color: #000 !important;
    }
}

/* ACTIVE / OPEN STATE */
.pf-bottom-bar button.active {
    color: var(--pf-active-color) !important;
    background: rgba(0, 0, 0, 0.03) !important;
}

/* ===============================
   3. ICON REDESIGN (Sharper, Modern)
================================ */
.pf-bottom-bar svg {
    width: 18px !important; /* Slightly smaller for elegance */
    height: 18px !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 1.5px !important; /* Thinner stroke is more "premium" */
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transition: transform 0.4s var(--pf-anim-ease) !important;
}

/* Icon Animation on Open */
.pf-bottom-bar button.active svg {
    transform: rotate(180deg) !important;
}

/* ===============================
   4. PREMIUM DROPDOWN MENU
================================ */
.pf-sort-dropdown {
    position: fixed !important;
    top: 58px !important; /* Matches new bar height */
    left: 0 !important;
    right: 0 !important;
    z-index: 1001 !important; /* Below bar, above overlay */
    
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(30px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(30px) saturate(120%) !important;
    
    /* Initially hidden */
    max-height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
    
    /* Smooth Slide Down */
    transition: 
        max-height 0.45s var(--pf-anim-ease),
        opacity 0.3s ease,
        visibility 0.45s step-end !important;
        
    border-bottom-left-radius: 16px !important; /* Soft corners at bottom */
    border-bottom-right-radius: 16px !important;
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.1) !important;
}

/* DROPDOWN OPEN STATE */
.pf-sort-dropdown.open {
    max-height: 500px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: 
        max-height 0.45s var(--pf-anim-ease),
        opacity 0.3s ease,
        visibility 0s !important;
}

/* DROPDOWN ITEMS */
.pf-sort-dropdown .sort-option {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 18px 24px !important; /* More breathing room */
    border-bottom: 1px solid rgba(0,0,0,0.04) !important;
    
    font-size: 14px !important;
    color: #555 !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.pf-sort-dropdown .sort-option:last-child {
    border-bottom: none !important;
}

.pf-sort-dropdown .sort-option:active {
    background: rgba(0, 0, 0, 0.04) !important;
}

/* SELECTED ITEM */
.pf-sort-dropdown .sort-option.active {
    color: #000 !important;
    font-weight: 600 !important;
    background: rgba(0, 0, 0, 0.02) !important;
}

/* Custom Checkmark for Selected Item */
.pf-sort-dropdown .sort-option.active::after {
    content: ''; 
    /* Drawing a minimal checkmark using borders */
    display: block;
    width: 6px;
    height: 10px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin-right: 4px;
}

/* ===============================
   5. THE NEW PREMIUM OVERLAY
================================ */
.pf-sort-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1000 !important; /* Lowest layer */
    
    background: rgba(0, 0, 0, 0) !important;
    pointer-events: none !important;
    opacity: 0 !important;
    
    /* Hardware accelerated blur */
    -webkit-backdrop-filter: blur(0px) !important;
    backdrop-filter: blur(0px) !important;
    will-change: opacity, backdrop-filter !important;
    
    transition: all 0.4s var(--pf-anim-ease) !important;
}

.pf-sort-overlay.active {
    /* Darker dim for focus */
    background: rgba(0, 0, 0, 0.35) !important; 
    
    pointer-events: auto !important;
    opacity: 1 !important;
    
    /* Heavy blur + Desaturation for depth */
    -webkit-backdrop-filter: blur(8px) grayscale(40%) !important;
    backdrop-filter: blur(8px) grayscale(40%) !important;
}



/* ====================================
   HIDE TOPBAR ON SHOP PAGE
==================================== */
.perfecto-topbar {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}



	

}



/* ====================================
   DEFAULT STATE - HIDE ALL MOBILE ELEMENTS
==================================== */

.pf-bottom-bar,
.pf-sort-dropdown,
.pf-sort-overlay {
    display: none !important;
}

/* ====================================
   MOBILE - SHOW MOBILE ELEMENTS
==================================== */
@media (max-width: 768px) {
    /* Hide desktop topbar */
    .pf-shop-topbar {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Show mobile filter bar */
    .pf-bottom-bar {
        display: flex !important;
        position: fixed !important;
        top: 0 !important;
        /* Your other styles... */
    }
    
    /* Sort dropdown - hidden until clicked */
    .pf-sort-dropdown {
        display: block !important;
        max-height: 0 !important; /* Start hidden */
        opacity: 0 !important;
    }
    
    /* Sort overlay - hidden until clicked */
    .pf-sort-overlay {
        display: block !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

/* ====================================
   DESKTOP - SHOW DESKTOP ELEMENTS
==================================== */
@media (min-width: 769px) {
    /* Show desktop topbar */
    .pf-shop-topbar {
        display: block !important;
    }
    
    /* Ensure mobile elements are hidden */
    .pf-bottom-bar,
    .pf-sort-dropdown,
    .pf-sort-overlay {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}


/* ====================================
   MOBILE - HIDE DESKTOP SORT SELECT
==================================== */
@media (max-width: 768px) {
    /* Hide desktop topbar */
    .pf-shop-topbar {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Hide desktop sort dropdown */
    .shop-sorting,
    select.shop-sorting {
        display: none !important;
        visibility: hidden !important;
    }
    
    /* Hide desktop controls */
    .shop-controls {
        display: none !important;
    }
    
    /* Show mobile filter bar */
    .pf-bottom-bar {
        display: flex !important;
        position: fixed !important;
        top: 0 !important;
        /* Your other styles... */
    }
    
    /* Sort dropdown - hidden until clicked */
    .pf-sort-dropdown {
        display: block !important;
        max-height: 0 !important;
        opacity: 0 !important;
    }
    
    /* Sort overlay - hidden until clicked */
    .pf-sort-overlay {
        display: block !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}


/* ===============================
   REMOVE ALL IMAGE GAPS - NUCLEAR
================================ */

/* Desktop */
.pf-product-card .card-image,
.pf-product-card .card-image *,
.pf-product-card .card-image img {
	margin: 0 !important;
	padding: 0 !important;
}

.pf-product-card .card-image {
	width: 100% !important;
	max-width: 100% !important;
}

.pf-product-card .card-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
}

/* Remove WooCommerce image link padding */
.pf-product-card .woocommerce-LoopProduct-link {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Mobile - Same rules */
@media (max-width: 1024px) {
	.pf-product-card .card-image,
	.pf-product-card .card-image img {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
}





/* ===============================
   WISHLIST & CART SIDEBARS - PREMIUM
================================ */

@media (max-width: 1024px) {
	
	/* Sidebar containers */
	.pf-wishlist-sidebar,
	.pf-cart-sidebar {
		position: fixed;
		top: 0;
		right: -100%;
		width: 85%;
		max-width: 400px;
		height: 100vh;
		background: #ffffff;
		z-index: 10001;
		transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
		display: flex;
		flex-direction: column;
		box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
	}
	
	.pf-wishlist-sidebar.active,
	.pf-cart-sidebar.active {
		right: 0;
	}
	
	/* Inner wrapper */
	.sidebar-inner {
		display: flex;
		flex-direction: column;
		height: 100%;
		background: #ffffff;
	}
	
	/* ===============================
	   HEADER - MODERN & CLEAN
	================================ */
	
	.sidebar-header {
		padding: 20px 24px;
		border-bottom: 1px solid #f3f4f6;
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-shrink: 0;
		background: #ffffff;
	}
	
	.sidebar-title {
		font-size: 20px;
		font-weight: 700;
		margin: 0;
		color: #111827;
		letter-spacing: -0.02em;
	}
	
	/* PREMIUM CLOSE BUTTON */
	.sidebar-close {
		width: 36px;
		height: 36px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: transparent;
		border: 1px solid #e5e7eb;
		border-radius: 8px;
		cursor: pointer;
		transition: all 0.2s ease;
		position: relative;
		overflow: hidden;
	}
	
	.sidebar-close::before {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
		opacity: 0;
		transition: opacity 0.2s ease;
	}
	
	.sidebar-close:hover {
		border-color: #282c3f;
		transform: rotate(90deg);
	}
	
	.sidebar-close:hover::before {
		opacity: 1;
	}
	
	.sidebar-close:active {
		transform: rotate(90deg) scale(0.95);
	}
	
	.sidebar-close svg {
		width: 18px;
		height: 18px;
		stroke: #6b7280;
		position: relative;
		z-index: 1;
		transition: stroke 0.2s ease;
	}
	
	.sidebar-close:hover svg {
		stroke: #111827;
	}
	
	/* ===============================
	   CONTENT AREA
	================================ */
	
	.sidebar-content {
		flex: 1;
		overflow-y: auto;
		padding: 16px 24px;
		background: #fafafa;
	}
	
	/* Custom scrollbar */
	.sidebar-content::-webkit-scrollbar {
		width: 6px;
	}
	
	.sidebar-content::-webkit-scrollbar-track {
		background: transparent;
	}
	
	.sidebar-content::-webkit-scrollbar-thumb {
		background: #d1d5db;
		border-radius: 3px;
	}
	
	.sidebar-content::-webkit-scrollbar-thumb:hover {
		background: #9ca3af;
	}
	
	/* ===============================
	   EMPTY STATES - ELEGANT
	================================ */
	
	.empty-wishlist,
	.empty-cart {
		text-align: center;
		padding: 80px 24px;
		color: #9ca3af;
	}
	
	.empty-wishlist svg,
	.empty-cart svg {
		width: 72px;
		height: 72px;
		margin: 0 auto 20px;
		stroke: #d1d5db;
		stroke-width: 1.5;
	}
	
	.empty-wishlist p,
	.empty-cart p {
		font-size: 15px;
		font-weight: 500;
		color: #6b7280;
		margin: 0;
	}
	
	/* ===============================
	   WISHLIST & CART ITEMS - PREMIUM
	================================ */
	
	.wishlist-item,
	.cart-item {
		display: flex;
		gap: 14px;
		padding: 16px;
		margin-bottom: 12px;
		background: #ffffff;
		border-radius: 12px;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
		transition: all 0.2s ease;
	}
	
	.wishlist-item:hover,
	.cart-item:hover {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		transform: translateY(-2px);
	}
	
	.wishlist-item:last-child,
	.cart-item:last-child {
		margin-bottom: 0;
	}
	
	/* Item image */
	.wishlist-item .item-image,
	.cart-item .item-image {
		width: 80px;
		height: 80px;
		flex-shrink: 0;
		border-radius: 10px;
		overflow: hidden;
		background: #f9fafb;
	}
	
	.wishlist-item .item-image img,
	.cart-item .item-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.3s ease;
	}
	
	.wishlist-item:hover .item-image img,
	.cart-item:hover .item-image img {
		transform: scale(1.05);
	}
	
	/* Item details */
	.wishlist-item .item-details,
	.cart-item .item-details {
		flex: 1;
		min-width: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 6px;
	}
	
	.wishlist-item .item-details h4,
	.cart-item .item-details h4 {
		font-size: 14px;
		font-weight: 600;
		margin: 0;
		line-height: 1.4;
		color: #111827;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	
	.wishlist-item .item-details h4 a,
	.cart-item .item-details h4 a {
		color: #111827;
		text-decoration: none;
		transition: color 0.2s ease;
	}
	
	.wishlist-item .item-details h4 a:hover,
	.cart-item .item-details h4 a:hover {
		color: #3b82f6;
	}
	
	.wishlist-item .item-price,
	.cart-item .item-price {
		font-size: 15px;
		font-weight: 700;
		color: #282c3f;
		display: flex;
		align-items: center;
		gap: 8px;
	}
	
	.cart-item .item-qty {
		font-size: 13px;
		color: #6b7280;
		font-weight: 500;
	}
	
	/* Remove button - PREMIUM */
	.wishlist-item .item-remove,
	.cart-item .item-remove {
		width: 32px;
		height: 32px;
		flex-shrink: 0;
		background: #f9fafb;
		border: 1px solid #e5e7eb;
		border-radius: 8px;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		transition: all 0.2s ease;
		align-self: center;
	}
	
	.wishlist-item .item-remove:hover,
	.cart-item .item-remove:hover {
		background: #fee2e2;
		border-color: #fecaca;
		transform: scale(1.05);
	}
	
	.wishlist-item .item-remove:active,
	.cart-item .item-remove:active {
		transform: scale(0.95);
	}
	
	.wishlist-item .item-remove svg,
	.cart-item .item-remove svg {
		width: 16px;
		height: 16px;
		stroke: #9ca3af;
		transition: stroke 0.2s ease;
	}
	
	.wishlist-item .item-remove:hover svg,
	.cart-item .item-remove:hover svg {
		stroke: #ef4444;
	}
	
	/* Loading state */
	.wishlist-items .loading {
		text-align: center;
		padding: 60px 24px;
		color: #9ca3af;
		font-size: 15px;
		font-weight: 500;
	}
	
	/* ===============================
	   FOOTER - PREMIUM BUTTONS
	================================ */
	
	.sidebar-footer {
		padding: 20px 24px;
		border-top: 1px solid #f3f4f6;
		flex-shrink: 0;
		background: #ffffff;
	}
	
	/* Cart total */
	.cart-total {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 16px;
		padding: 16px;
		background: #f9fafb;
		border-radius: 10px;
	}
	
	.cart-total span {
		font-size: 15px;
		color: #6b7280;
		font-weight: 500;
	}
	
	.cart-total strong {
		font-size: 20px;
		font-weight: 700;
		color: #111827;
	}
	
	/* Footer buttons - MODERN */
	.btn-checkout,
	.btn-view-cart,
	.btn-view-all {
		width: 100%;
		padding: 16px;
		border: none;
		border-radius: 10px;
		font-size: 15px;
		font-weight: 600;
		cursor: pointer;
		margin-bottom: 10px;
		transition: all 0.3s ease;
		letter-spacing: -0.01em;
	}
	
	.btn-checkout {
		background: linear-gradient(135deg, #282c3f 0%, #1a1d2e 100%);
		color: #ffffff;
		box-shadow: 0 4px 12px rgba(40, 44, 63, 0.3);
	}
	
	.btn-checkout:hover {
		background: linear-gradient(135deg, #1a1d2e 0%, #0f1118 100%);
		box-shadow: 0 6px 16px rgba(40, 44, 63, 0.4);
		transform: translateY(-2px);
	}
	
	.btn-checkout:active {
		transform: translateY(0);
	}
	
	.btn-view-cart,
	.btn-view-all {
		background: #f9fafb;
		color: #374151;
		border: 1px solid #e5e7eb;
	}
	
	.btn-view-cart:hover,
	.btn-view-all:hover {
		background: #f3f4f6;
		border-color: #d1d5db;
		transform: translateY(-1px);
	}
	
	.btn-view-cart:active,
	.btn-view-all:active {
		transform: translateY(0);
	}
	
	.btn-view-cart:last-child,
	.btn-view-all:last-child {
		margin-bottom: 0;
	}
	
	/* ===============================
	   OVERLAY - PREMIUM
	================================ */
	
	.pf-sidebar-overlay {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.6);
		backdrop-filter: blur(2px);
		z-index: 10000;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
	}
	
	.pf-sidebar-overlay.active {
		opacity: 1;
		visibility: visible;
	}
}

/* Prevent scroll when sidebar open */
body.sidebar-open {
	overflow: hidden !important;
}





/* ===============================
   MOBILE HEADER - ULTRA COMPACT
================================ */

@media (max-width: 1024px) {
	
	.pf-mobile-header {
		position: sticky;
		top: 0;
		z-index: 1000;
		background: #fff;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	}
	
	/* Header Top - Super Compact */
	.pf-header-top {
		display: flex;
		align-items: center;
		padding: 6px 12px; /* Reduced from 8px 12px */
		gap: 8px;
		min-height: 42px; /* Reduced from 46px */
	}
	
	/* Back Button - Smaller */
	.pf-back-btn {
		width: 22px; /* Reduced from 24px */
		height: 22px;
		background: transparent;
		border: none;
		padding: 0;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
	}
	
	.pf-back-btn svg {
		width: 19px; /* Reduced from 20px */
		height: 19px;
		stroke: #282c3f;
		stroke-width: 2.5;
	}
	
	/* Title Section - Compact */
	.pf-header-title {
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: 0px; /* No gap */
		min-width: 0;
	}
	
	.pf-header-title h1 {
		font-size: 16px; 
		font-weight: 700;
		color: #282c3f;
		margin: 0;
		line-height: 1.1; /* Tighter */
		letter-spacing: -0.02em; /* Tighter tracking */
	}
	
	.pf-item-count {
		font-size: 10px; /* Small */
		color: #94969f;
		font-weight: 500;
		line-height: 1.2;
		margin-top: 1px;
	}
	
	/* Action Icons - Compact */
	.pf-header-actions {
		display: flex;
		align-items: center;
		gap: 8px; /* Reduced from 10px */
		flex-shrink: 0;
	}
	
	.pf-header-actions button {
		width: 22px; /* Compact */
		height: 22px;
		background: transparent;
		border: none;
		padding: 0;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
	}
	
	.pf-header-actions svg {
		width: 20px; /* Proper size */
		height: 20px;
		stroke: #282c3f;
		stroke-width: 2;
	}
	
	/* Count Badges - Sleek */
	.pf-header-count {
		position: absolute;
		top: -6px;
		right: -8px;
		background: #ef4444;
		color: #ffffff;
		font-size: 9px;
		font-weight: 700;
		min-width: 14px;
		height: 14px;
		border-radius: 7px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 3px;
		line-height: 1;
		border: 1.5px solid #fff;
		opacity: 0;
		visibility: hidden;
		transform: scale(0.8);
		transition: all 0.2s ease;
	}
	
	.pf-header-count.has-items {
		opacity: 1;
		visibility: visible;
		transform: scale(1);
	}
	
	.cart-count {
		background: #3b82f6;
	}
}


/* ===============================
   MOBILE HEADER TITLE - FORCE SIZE
================================ */



/* Even more specific for stubborn themes */
body .pf-mobile-header h1 {
	font-size: 20px !important;
}

body .pf-mobile-header .pf-item-count {
	font-size: 10px !important;
}


/* ===============================
   HIDE MOBILE ELEMENTS ON DESKTOP
================================ */

/* Hide mobile header on desktop */
.pf-mobile-header {
	display: none !important;
}

/* Show only on mobile */
@media (max-width: 1024px) {
	.pf-mobile-header {
		display: block !important;
	}
}

/* Hide mobile bottom bar on desktop */
.pf-bottom-bar {
	display: none !important;
}

/* Show only on mobile */
@media (max-width: 1024px) {
	.pf-bottom-bar {
		display: flex !important;
	}
}

/* ===============================
   SIDEBARS - MOBILE ONLY
================================ */

/* Hide sidebars on desktop by default */
@media (min-width: 1025px) {
	.pf-wishlist-sidebar,
	.pf-cart-sidebar,
	.pf-sidebar-overlay {
		display: none !important;
	}
}

/* Show sidebars only on mobile */
@media (max-width: 1024px) {
	.pf-wishlist-sidebar,
	.pf-cart-sidebar {
		display: flex !important;
	}
}




/* ===============================
   PRODUCT CARDS - DESKTOP
================================ */

.pf-product-card .card-content {
	padding: 8px 10px 10px;
	display: flex;
	flex-direction: column; /* Normal order */
	align-items: center;
	gap: 0;
}

.pf-product-card .card-category {
	margin: 0 0 3px 0;
	padding: 0;
	width: 100%;
	order: 1; /* Category first */
}

.pf-product-card .card-category a {
	font-size: 10px;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: block;
	text-align: center;
}

.pf-product-card .card-title {
	margin: 0 0 4px 0;
	padding: 0;
	width: 100%;
	line-height: 1.3;
	order: 2; /* Title second */
}

.pf-product-card .card-title a {
	font-size: 14px;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-align: center;
}

.pf-product-card .card-price {
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	order: 3; /* Price third */
}








/* ===============================
   MOBILE PRODUCT CARDS - PREMIUM FINAL
================================ */

@media (max-width: 1024px) {
	
	/* ========================================
	   CONTENT WRAPPER
	======================================== */
	
	.pf-product-card .card-content {
		all: unset;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		width: 100% !important;
		padding: 8px 10px 10px !important;
		gap: 0 !important;
		box-sizing: border-box !important;
		background: #fff !important;
	}
	
	/* ========================================
	   CATEGORY - PREMIUM BLUE
	======================================== */
	
	.pf-product-card .card-category {
		all: unset;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 0 4px 0 !important;
		padding: 0 !important;
		line-height: 1 !important;
		text-align: center !important;
		order: 1 !important;
	}
	
	.pf-product-card .card-category a {
		all: unset;
		display: inline-block !important;
		font-size: 9px !important;
		line-height: 1.1 !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.8px !important;
		color: #3b82f6 !important;
		text-align: center !important;
		cursor: pointer !important;
	}
	
	/* ========================================
	   TITLE - BLACK
	======================================== */
	
	.pf-product-card .card-title,
	.pf-product-card h3.card-title {
		all: unset;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 0 6px 0 !important;
		padding: 0 !important;
		line-height: 1.25 !important;
		text-align: center !important;
		order: 2 !important;
	}
	
	.pf-product-card .card-title a,
	.pf-product-card h3.card-title a {
		all: unset;
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 2 !important;
		overflow: hidden !important;
		font-size: 14px !important;
		line-height: 1.25 !important;
		font-weight: 600 !important;
		color: #282c3f !important;
		text-align: center !important;
		cursor: pointer !important;
		text-decoration: none !important;
		width: 100% !important;
	}
	
	/* ========================================
	   PRICE
	======================================== */
	
	.pf-product-card .card-price {
		all: unset;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 6px !important;
		flex-wrap: wrap !important;
		line-height: 1 !important;
		order: 3 !important;
	}
	
	.pf-product-card .card-price .price {
		all: unset;
		display: flex !important;
		align-items: center !important;
		gap: 6px !important;
		line-height: 1 !important;
	}
	
	/* Current Price */
	.pf-product-card .card-price .price ins,
	.pf-product-card .card-price .price .woocommerce-Price-amount,
	.pf-product-card .card-price .price .amount,
	.pf-product-card .card-price ins .woocommerce-Price-amount {
		all: unset;
		display: inline !important;
		font-size: 16px !important;
		font-weight: 800 !important;
		color: #282c3f !important;
		line-height: 1 !important;
	}
	
	/* Original Price */
	.pf-product-card .card-price .price del,
	.pf-product-card .card-price .price del .woocommerce-Price-amount {
		all: unset;
		display: inline !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		color: #9ca3af !important;
		line-height: 1 !important;
		text-decoration: line-through !important;
	}
	
	/* ========================================
	   RATING BADGE - SMALL SIZE, ORIGINAL COLORS
	======================================== */
	
	.pf-product-card .card-rating {
		position: absolute !important;
		bottom: 6px !important;
		left: 6px !important;
		padding: 2px 5px !important;
		border-radius: 2px !important;
		background: #ffffff !important;
		border: 1px solid #d4d5d9 !important;
		display: inline-flex !important;
		align-items: center !important;
		gap: 3px !important;
		z-index: 5 !important;
	}
	
	.pf-product-card .card-rating .rating-number {
		font-size: 9px !important;
		font-weight: 700 !important;
		color: #282c3f !important;
		line-height: 1 !important;
	}
	
	.pf-product-card .card-rating .rating-star {
		width: 8px !important;
		height: 8px !important;
	}
	
	.pf-product-card .card-rating .rating-separator {
		font-size: 9px !important;
		color: #d4d5d9 !important;
	}
	
	.pf-product-card .card-rating .rating-count {
		font-size: 8px !important;
		color: #535766 !important;
		font-weight: 500 !important;
	}
	
	/* ========================================
	   WISHLIST BUTTON - SMALL SIZE, ORIGINAL COLORS
	======================================== */
	
	.pf-product-card .card-actions {
		position: absolute !important;
		top: 6px !important;
		right: 6px !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 6px !important;
		z-index: 3 !important;
	}
	
	.pf-product-card .card-actions .action-btn {
		width: 28px !important;
		height: 28px !important;
		background: rgba(255, 255, 255, 0.95) !important;
		border: 1px solid rgba(0, 0, 0, 0.08) !important;
		border-radius: 50% !important;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	
	.pf-product-card .card-actions .action-btn svg {
		width: 14px !important;
		height: 14px !important;
		fill: transparent !important;
		stroke: #282c3f !important;
		stroke-width: 2 !important;
	}
	
	/* Wishlist active state */
	.pf-product-card .pf-wishlist-btn.in-wishlist,
	.pf-product-card .pf-wishlist-btn.active,
	.pf-product-card .pf-wishlist-btn.added {
		background: #fef2f2 !important;
		border-color: #ef4444 !important;
	}
	
	.pf-product-card .pf-wishlist-btn.in-wishlist svg,
	.pf-product-card .pf-wishlist-btn.active svg,
	.pf-product-card .pf-wishlist-btn.added svg {
		fill: #ef4444 !important;
		stroke: #ef4444 !important;
	}
	
	/* ========================================
	   ROUND ADD TO CART - SMALL SIZE, ORIGINAL COLORS
	======================================== */
	
	.pf-product-card .card-add-to-cart-round {
		position: absolute !important;
		bottom: 8px !important;
		right: 8px !important;
		z-index: 100 !important;
	}
	
	.pf-product-card .round-add-to-cart {
		width: 36px !important;
		height: 36px !important;
		background: #ffffff !important;
		border: 2px solid #111 !important;
		border-radius: 50% !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		cursor: pointer !important;
		transition: all 0.2s ease !important;
	}
	
	.pf-product-card .round-add-to-cart:hover {
		background: #111 !important;
		transform: scale(1.05) !important;
	}
	
	.pf-product-card .round-add-to-cart svg {
		width: 16px !important;
		height: 16px !important;
		stroke: #111 !important;
		fill: none !important;
		stroke-width: 2 !important;
		transition: stroke 0.2s ease !important;
	}
	
	.pf-product-card .round-add-to-cart:hover svg {
		stroke: #fff !important;
	}
	

}

/* ========================================
   EXTRA SMALL SCREENS
======================================== */

@media (max-width: 414px) {
	
	.pf-product-card .card-content {
		padding: 7px 9px 9px !important;
	}
	
	.pf-product-card .card-category {
		margin: 0 0 3px 0 !important;
	}
	
	.pf-product-card .card-category a {
		font-size: 8px !important;
		letter-spacing: 0.7px !important;
	}
	
	.pf-product-card .card-title {
		margin: 0 0 5px 0 !important;
	}
	
	.pf-product-card .card-title a {
		font-size: 13px !important;
		line-height: 1.2 !important;
	}
	
	.pf-product-card .card-price .price ins,
	.pf-product-card .card-price .price .woocommerce-Price-amount {
		font-size: 15px !important;
	}
	
	.pf-product-card .card-price .price del {
		font-size: 12px !important;
	}
	
	.pf-product-card .card-actions .action-btn {
		width: 26px !important;
		height: 26px !important;
	}
	
	.pf-product-card .round-add-to-cart {
		width: 34px !important;
		height: 34px !important;
	}
	
	.pf-product-card .card-rating {
		padding: 1px 4px !important;
	}
	
	.pf-product-card .card-rating .rating-number {
		font-size: 8px !important;
	}
	
	.pf-product-card .card-rating .rating-star {
		width: 7px !important;
		height: 7px !important;
	}
	
	.pf-product-card .card-rating .rating-count {
		font-size: 7px !important;
	}
}




/* ===============================
   MOBILE SEARCH POPUP
================================ */

.pf-mobile-search-popup {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	z-index: 10003;
	transform: translateY(100%);
	transition: transform 0.3s ease;
}

.pf-mobile-search-popup.active {
	transform: translateY(0);
}

.search-popup-inner {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.search-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border-bottom: 1px solid #e5e7eb;
	background: #fff;
}

.search-back {
	width: 36px;
	height: 36px;
	background: #f9fafb;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
}

.search-back svg {
	width: 20px;
	height: 20px;
	stroke: #282c3f;
}

.search-input {
	flex: 1;
	padding: 12px 16px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	font-size: 15px;
	outline: none;
}

.search-input:focus {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}


/* ===============================
   SHOP MOBILE HEADER ICONS - CLEAN
================================ */
@media (max-width: 1024px) {
	
	/* ========================================
	   ICON BUTTON BASE STYLES
	======================================== */
	
	.pf-search-btn,
	.pf-wishlist-header-btn,
	.pf-cart-header-btn {
		position: relative;
		width: 44px;
		height: 44px;
		background: linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);
		border: 1.5px solid #e5e7eb;
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		transition: all 0.2s ease;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
		padding: 0;
		margin: 0;
	}
	
	.pf-search-btn:active,
	.pf-wishlist-header-btn:active,
	.pf-cart-header-btn:active {
		transform: scale(0.92);
		box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
	}
	
	/* Icons */
	.pf-search-btn svg,
	.pf-wishlist-header-btn svg,
	.pf-cart-header-btn svg {
		width: 22px;
		height: 22px;
		stroke: #282c3f;
		stroke-width: 2;
		fill: none;
		transition: all 0.2s ease;
	}
	
	/* ========================================
	   COUNT BADGES - BOTH RED
	======================================== */
	
	.pf-header-count {
		position: absolute;
		top: -6px;
		right: -6px;
		min-width: 20px;
		height: 20px;
		background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
		color: #ffffff;
		font-size: 11px;
		font-weight: 800;
		border-radius: 10px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 6px;
		line-height: 1;
		border: 2px solid #ffffff;
		box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
		z-index: 10;
		opacity: 0;
		visibility: hidden;
		transform: scale(0.5);
		transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
	}
	
	/* Show when has items */
	.pf-header-count.has-items {
		opacity: 1;
		visibility: visible;
		transform: scale(1);
	}
	
	/* Pulse animation */
	.pf-header-count.updated {
		animation: badgePulse 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
	}
	
	@keyframes badgePulse {
		0% { 
			transform: scale(1); 
			box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
		}
		50% { 
			transform: scale(1.3); 
			box-shadow: 0 6px 20px rgba(239, 68, 68, 0.6);
		}
		100% { 
			transform: scale(1); 
			box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
		}
	}
	
	/* Glow effect */
	.pf-header-count.has-items::before {
		content: '';
		position: absolute;
		inset: -2px;
		background: linear-gradient(135deg, #ef4444, #dc2626);
		border-radius: 10px;
		opacity: 0.3;
		filter: blur(4px);
		z-index: -1;
		animation: badgeGlow 2s ease-in-out infinite;
	}
	
	@keyframes badgeGlow {
		0%, 100% { opacity: 0.3; }
		50% { opacity: 0.6; }
	}
	
	/* ========================================
	   HEADER ACTIONS CONTAINER
	======================================== */
	
	.pf-header-actions {
		display: flex;
		align-items: center;
		gap: 8px;
		flex-shrink: 0;
	}
}

/* ========================================
   EXTRA SMALL SCREENS
======================================== */
@media (max-width: 375px) {
	
	.pf-search-btn,
	.pf-wishlist-header-btn,
	.pf-cart-header-btn {
		width: 42px;
		height: 42px;
	}
	
	.pf-search-btn svg,
	.pf-wishlist-header-btn svg,
	.pf-cart-header-btn svg {
		width: 20px;
		height: 20px;
	}
	
	.pf-header-count {
		min-width: 18px;
		height: 18px;
		font-size: 10px;
		padding: 0 5px;
	}
}



/* ===============================
   ATTRIBUTE BUTTONS (Logo, etc)
================================ */
.pf-attribute-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.pf-attribute-btn {
    padding: 10px 20px;
    border: 2px solid #e5e7eb;
    background: #fff;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 14px;
    font-weight: 500;
}

.pf-attribute-btn:hover {
    border-color: #111;
    background: #f9fafb;
}

.pf-attribute-btn.selected {
    border-color: #111;
    background: #111;
    color: #fff;
}

/* ===============================
   QUICK VIEW MODAL
================================ */
.pf-quick-view-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
}

.pf-quick-view-modal.active {
    opacity: 1;
    visibility: visible;
}

.quick-view-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
}

.quick-view-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    width: 90%;
    max-width: 900px;
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 12px;
    padding: 40px;
}

.quick-view-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border: none;
    background: #f3f4f6;
    border-radius: 50%;
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
}

.quick-view-close:hover {
    background: #e5e7eb;
}

.quick-view-product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.quick-view-image img {
    width: 100%;
    border-radius: 8px;
}

.quick-view-details h2 {
    font-size: 24px;
    margin-bottom: 16px;
}

.quick-view-price {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 24px;
}

.view-full-details {
    display: inline-block;
    margin-top: 20px;
    color: #2563eb;
    text-decoration: none;
}

.view-full-details:hover {
    text-decoration: underline;
}

.quick-view-loader {
    text-align: center;
    padding: 60px 20px;
}

.quick-view-loader .spinner {
    margin: 0 auto 20px;
}

@media (max-width: 768px) {
    .quick-view-product {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .quick-view-content {
        padding: 20px;
    }
}




/* ===============================
   HIDE HEADER ON MOBILE MODERN LAYOUT
================================ */

/* Hide topbar + header when modern layout active */
body.mobile-layout-modern.single-product .perfecto-topbar,
body.mobile-layout-modern.single-product #site-header,
body.mobile-layout-modern.single-product .site-header {
    display: none !important;
}

/* Remove top padding when header hidden */
body.mobile-layout-modern.single-product {
    padding-top: 0 !important;
}

/* Hero starts at top */
body.mobile-layout-modern.single-product .pf-hero-image {
    margin-top: 0 !important;
}




/* ===============================
   Product Card Moved
================================ */

.pf-product-card .card-rating { position:absolute !important;bottom:10px !important;left:10px !important;z-index:5 !important;display:inline-flex !important;align-items:center !important;gap:6px !important;background:#ffffff !important;padding:4px 10px !important;border-radius:4px !important;border:1px solid #d4d5d9 !important;transition:all 0.3s ease !important; }


.pf-product-card .rating-number{ font-size:12px;font-weight:700; color : var(--rating-number-color, #282c3f); line-height:1;}

.pf-product-card .rating-separator { color:#d4d5d9;font-weight:300;font-size:12px;line-height:1; }

.pf-product-card .rating-count {
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    color: var(--rating-count-color, #282c3f);
}




/* ===============================
   PERFECTO BADGE SYSTEM
   All 5 Styles - Base Structure
================================ */

/* Badge Container */
.card-badges {
	position: absolute;
	display: flex;
	flex-direction: column;
	gap: 8px;
	z-index: 2;
}

/* Base Badge Styles */
.badge {
	display: inline-block;
	font-weight: 700;
	text-align: center;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.3s ease;
}

/* ===============================
   STYLE 1 - FLAT MODERN
================================ */

.badge-style-1 .badge {
	padding: 6px 12px;
	font-size: 10px;
	border-radius: 4px;
}

/* ===============================
   STYLE 2 - ROUNDED PILL
================================ */

.badge-style-2 .badge {
	padding: 6px 14px;
	font-size: 10px;
	border-radius: 20px;
}

/* ===============================
   STYLE 3 - MODERN RIBBON FLAG
================================ */

.badge-style-3 .badge {
	padding: 7px 16px 7px 12px;
	font-size: 10px;
	border-radius: 0;
	position: relative;
	clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%);
	padding-right: 20px;
}

/* No more ::after needed - using clip-path instead */
.badge-style-3 .badge::after {
	display: none;
}

/* Add subtle shadow for depth */
.badge-style-3 .badge {
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
}

/* ===============================
   STYLE 4 - CIRCLE ICON
================================ */

.badge-style-4 .badge {
	width: 48px;
	height: 48px;
	padding: 0;
	font-size: 9px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* ===============================
   STYLE 5 - OUTLINED BORDER
================================ */

.badge-style-5 .badge {
	padding: 5px 12px;
	font-size: 10px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.95);
	border: 2px solid;
}

/* Individual Badge Colors (use CSS variables) */
.badge-sale {
	background: var(--badge-sale-bg);
	color: var(--badge-sale-text);
}

.badge-new {
	background: var(--badge-new-bg);
	color: var(--badge-new-text);
}

.badge-hot {
	background: var(--badge-hot-bg);
	color: var(--badge-hot-text);
}

.badge-stock {
	background: var(--badge-stock-bg);
	color: var(--badge-stock-text);
}

/* Outlined style - border colors */
.badge-style-5 .badge-sale {
	background: rgba(255, 255, 255, 0.95);
	border-color: var(--badge-sale-bg);
	color: var(--badge-sale-bg);
}

.badge-style-5 .badge-new {
	background: rgba(255, 255, 255, 0.95);
	border-color: var(--badge-new-bg);
	color: var(--badge-new-bg);
}

.badge-style-5 .badge-hot {
	background: rgba(255, 255, 255, 0.95);
	border-color: var(--badge-hot-bg);
	color: var(--badge-hot-bg);
}

.badge-style-5 .badge-stock {
	background: rgba(255, 255, 255, 0.95);
	border-color: var(--badge-stock-bg);
	color: var(--badge-stock-bg);
}

/* ===============================
   POSITION STYLES
================================ */

.badge-position-top-left .card-badges {
	top: 12px;
	left: 12px;
}

.badge-position-top-right .card-badges {
	top: 12px;
	right: 12px;
}

.badge-position-bottom-left .card-badges {
	bottom: 12px;
	left: 12px;
}

.badge-position-bottom-right .card-badges {
	bottom: 12px;
	right: 12px;
}

/* ===============================
   HOVER EFFECTS
================================ */

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

.badge-style-4 .badge:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* ===============================
   MOBILE RESPONSIVE
================================ */

@media (max-width: 1024px) {
	.card-badges {
		gap: 4px;
	}
	
	.badge-position-top-left .card-badges,
	.badge-position-top-right .card-badges,
	.badge-position-bottom-left .card-badges,
	.badge-position-bottom-right .card-badges {
		top: 8px;
		left: 8px;
	}
	
	.badge {
		font-size: 9px !important;
		padding: 4px 8px !important;
	}
	
	.badge-style-4 .badge {
		width: 40px !important;
		height: 40px !important;
		font-size: 8px !important;
	}
	
	.badge-style-3 .badge::after {
		border-width: 11px 0 11px 6px !important;
		right: -6px !important;
	}
}

/* ===============================
   ANIMATIONS
================================ */

@keyframes badgePulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.1); }
	100% { transform: scale(1); }
}

.badge.badge-new {
	animation: badgePulse 2s infinite;
}


/* ===============================
   BADGE SIZES - DESKTOP & MOBILE
================================ */

/* Desktop - Larger badges */
.badge {
	padding: 8px 16px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 1px !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Style 1 - Flat Modern */
.badge-style-1 .badge {
	padding: 8px 16px !important;
	font-size: 11px !important;
	border-radius: 4px;
}

/* Style 2 - Rounded Pill */
.badge-style-2 .badge {
	padding: 8px 18px !important;
	font-size: 11px !important;
	border-radius: 24px;
}

/* Style 3 - Ribbon */
.badge-style-3 .badge {
	padding: 9px 22px 9px 14px !important;
	font-size: 11px !important;
}

/* Style 4 - Circle */
.badge-style-4 .badge {
	width: 56px !important;
	height: 56px !important;
	font-size: 10px !important;
}

/* Style 5 - Outlined */
.badge-style-5 .badge {
	padding: 7px 16px !important;
	font-size: 11px !important;
}

/* Mobile - Slightly smaller but still visible */
@media (max-width: 1024px) {
	.badge {
		padding: 6px 12px !important;
		font-size: 10px !important;
	}
	
	.badge-style-4 .badge {
		width: 48px !important;
		height: 48px !important;
		font-size: 9px !important;
	}
}



/* ===============================
   PRODUCT CARD - MODERN PROFESSIONAL
================================ */

.pf-product-card {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	transition: all 0.3s ease;
	border: 1px solid #f3f4f6;
}

.pf-product-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-color: #e5e7eb;
}

/* Content Section */
.pf-product-card .card-content {
	padding: 18px 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Category - Small Caps */
.pf-product-card .card-category {
	font-size: 11px;
	font-weight: 700;
	color: #9ca3af;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	margin: 0;
	order: 1;
}

/* Title - Clear & Bold */
.pf-product-card .card-title {
	font-size: 17px;
	font-weight: 700;
	color: #111827;
	line-height: 1.4;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	order: 2;
}

.pf-product-card .card-title a {
	color: inherit;
	text-decoration: none;
}

/* Price - Prominent */
.pf-product-card .card-price {
	margin-top: 4px;
	order: 3;
}

.pf-product-card .card-price ins .woocommerce-Price-amount,
.pf-product-card .card-price .woocommerce-Price-amount {
	font-size: 22px;
	font-weight: 800;
	color: #111827;
	text-decoration: none;
}

.pf-product-card .card-price del .woocommerce-Price-amount {
	font-size: 16px;
	font-weight: 500;
	color: #9ca3af;
}



/* ===============================
   BADGE SYSTEM – COMPACT SCALE
  
================================ */

/* Container tighter */
.card-badges {
	gap: 5px !important;
}

/* Base badge – smaller */
.badge {
	padding: 5px 10px !important;
	font-size: 9px !important;
	font-weight: 800 !important;
	letter-spacing: 0.6px !important;
	box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}

/* ===============================
   STYLE-SPECIFIC COMPACT
================================ */

/* Style 1 – Flat */
.badge-style-1 .badge {
	padding: 5px 10px !important;
	font-size: 9px !important;
}

/* Style 2 – Pill */
.badge-style-2 .badge {
	padding: 5px 12px !important;
	font-size: 9px !important;
	border-radius: 16px;
}

/* Style 3 – Ribbon */
.badge-style-3 .badge {
	padding: 6px 16px 6px 10px !important;
	font-size: 9px !important;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.14);
}

/* Style 4 – Circle */
.badge-style-4 .badge {
	width: 40px !important;
	height: 40px !important;
	font-size: 8px !important;
	box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

/* Style 5 – Outline */
.badge-style-5 .badge {
	padding: 4px 10px !important;
	font-size: 9px !important;
	border-width: 1.5px !important;
}

/* ===============================
   POSITION – TIGHTER
================================ */

.badge-position-top-left .card-badges,
.badge-position-top-right .card-badges,
.badge-position-bottom-left .card-badges,
.badge-position-bottom-right .card-badges {
	top: 8px !important;
	left: 8px !important;
	right: auto;
	bottom: auto;
}

/* ===============================
   HOVER – SUBTLE
================================ */

.badge:hover {
	transform: scale(1.04);
}

/* ===============================
   MOBILE – EXTRA COMPACT
================================ */

@media (max-width: 1024px) {

	.card-badges {
		gap: 4px !important;
	}

	.badge {
		padding: 4px 8px !important;
		font-size: 8px !important;
		letter-spacing: 0.5px !important;
	}

	.badge-style-4 .badge {
		width: 34px !important;
		height: 34px !important;
		font-size: 7px !important;
	}

	.badge-style-3 .badge {
		padding: 5px 14px 5px 9px !important;
	}
}

/* ===============================
   VERY SMALL PHONES
================================ */

@media (max-width: 375px) {

	.badge {
		padding: 3px 7px !important;
		font-size: 7.5px !important;
	}

	.badge-style-4 .badge {
		width: 30px !important;
		height: 30px !important;
		font-size: 7px !important;
	}
}
