/*
Theme Name: DiziCart Pro
Theme URI: https://dizishop.in
Author: Shish Pal Verma
Author URI: https://dizishop.in
Description: A fully responsive premium-quality WordPress WooCommerce theme inspired by modern eCommerce stores. Modern, lightweight, fast-loading, SEO optimized.
Version: 1.2.0
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dizicart-pro
Tags: e-commerce, custom-colors, custom-menu, featured-images, full-width-template, theme-options
*/

/* Core styles will go here */

:root {
	--primary-color: #0d6efd;
	--primary-hover: #0b5ed7;
	--dark-color: #212529;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	background-color: #f8f9fa;
	color: #333;
}

/* Header Styles */
.top-header-bar {
	font-size: 0.85rem;
}
.site-title a {
	transition: color 0.3s ease;
}
.site-title a:hover {
	color: var(--primary-color) !important;
}

/* Search Form */
.search-form {
	min-width: 0;
}
.search-form .form-select {
	border-radius: 0.375rem 0 0 0.375rem;
}
.search-form .form-control {
	border-radius: 0;
	border-left: 1px solid #dee2e6;
}
.search-form .btn {
	border-radius: 0 0.375rem 0.375rem 0;
}

/* Icon Actions */
.icon-actions a {
	transition: all 0.3s ease;
}
.icon-actions a:hover i {
	color: var(--primary-color) !important;
	transform: scale(1.1);
}
.icon-actions i {
	transition: transform 0.3s ease;
}

/* Navigation */
#site-navigation {
	box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.navbar-nav .nav-link, 
#site-navigation .navbar-nav > li > a {
	font-weight: 500;
	padding: 0.5rem 1.25rem !important;
	transition: all 0.3s ease;
	white-space: nowrap !important;
	text-decoration: none;
	color: rgba(255,255,255,0.85); /* Ensure good visibility if missing nav-link class */
	display: block;
}
.navbar-nav .nav-link:hover, 
#site-navigation .navbar-nav > li > a:hover,
.navbar-nav .current-menu-item > a,
.navbar-nav .current-menu-ancestor > a {
	color: #fff !important;
	background-color: rgba(255,255,255,0.1);
}

/* Utilities */
.hover-primary {
	transition: color 0.3s ease;
}
.hover-primary:hover {
	color: var(--primary-color) !important;
}

/* Placeholder text color for footer input */
.placeholder-light::placeholder {
	color: #adb5bd;
	opacity: 1;
}

/* Media Queries for Mobile Responsiveness */
@media (max-width: 767.98px) {
	.hero-slider-section .swiper-slide {
		min-height: 400px !important;
		padding: 2rem 0 !important;
		text-align: center;
	}
	.hero-slider-section h1 {
		font-size: 2.2rem;
	}
	/* Offer Banner Mobile Adjustments */
	.offer-banner {
		padding-top: 0.25rem !important;
		padding-bottom: 0.25rem !important;
		margin-top: 0.25rem !important;
		margin-bottom: 0.25rem !important;
	}
	.offer-banner .container {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
	.offer-banner .row {
		min-height: auto !important;
		display: flex !important;
		flex-direction: row !important; /* Side by side on mobile */
		flex-wrap: nowrap !important;
	}
	.offer-banner .p-5 {
		padding: 0.75rem !important;
		text-align: left !important;
		width: 65% !important;
		flex: 0 0 65% !important;
		max-width: 65% !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
	}
	.offer-banner .text-warning.text-uppercase { font-size: 0.6rem !important; margin-bottom: 0.1rem !important; }
	.offer-banner .display-5 { font-size: clamp(0.85rem, 3.5vw, 1.05rem) !important; margin-bottom: 0.25rem !important; line-height: 1.2 !important; }
	.offer-banner .lead {
		font-size: 0.65rem !important;
		margin-bottom: 0.4rem !important;
		line-height: 1.3 !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}
	.offer-banner .btn-lg { padding: 0.25rem 0.65rem !important; font-size: 0.68rem !important; }
	.offer-img-col {
		width: 35% !important;
		flex: 0 0 35% !important;
		max-width: 35% !important;
		min-height: 100% !important;
		position: relative !important;
		margin: 0 !important;
	}
	.offer-banner-img,
	.offer-placeholder-wrap {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	/* News Ticker Mobile Adjustments */
	.news-ticker { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
	.news-badge-arrow {
		font-size: 0.65rem !important;
		padding: 0.25rem 0.5rem !important;
		padding-right: 18px !important;
		clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%) !important;
		margin-right: 0.5rem !important;
		letter-spacing: 0 !important;
	}
	.ticker-track a, .ticker-track span.text-dark {
		font-size: 0.75rem !important;
		margin-left: 0.75rem !important;
		margin-right: 0.75rem !important;
	}
	.ticker-track .text-muted.mx-2 {
		margin-left: 0.25rem !important;
		margin-right: 0.25rem !important;
	}

	/* Category and Product Grid Adjustments */
	.cat-img-wrap { padding: 0.75rem !important; }
	.cat-img-wrap img { height: 90px !important; }
	.cat-card .card-body { padding: 0.5rem !important; }
	.cat-card .card-title { font-size: 0.85rem !important; }
	.cat-card small { font-size: 0.7rem !important; }
	
	/* Image height handled in main CSS */
	.product-card .card-body { padding: 0.5rem !important; }
	.product-card .card-title { font-size: 0.8rem !important; }
	.product-card .price, .product-card .price .amount, .product-card .price ins, .product-card .price del { font-size: 0.75rem !important; }
	.product-card .btn { padding: 0.25rem 0.5rem !important; font-size: 0.75rem !important; }
	.product-card .ratings { font-size: 0.65rem !important; margin-bottom: 0.25rem !important; }
	
	/* Wishlist Button Adjustments */
	.wishlist-btn-wrap {
		width: 100%;
		text-align: center;
		margin-top: 4px;
	}
	.wishlist-btn-wrap .yith-wcwl-add-to-wishlist,
	.wishlist-btn-wrap .yith-wcwl-add-button {
		margin: 0 !important;
		padding: 0 !important;
	}
	.wishlist-btn-wrap a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		color: #6c757d !important;
		text-decoration: none !important;
		font-size: 0.75rem !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		width: auto !important;
	}
	.wishlist-btn-wrap a span {
		font-size: 0.75rem !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	.wishlist-btn-wrap a i,
	.wishlist-btn-wrap a::before,
	.wishlist-btn-wrap .yith-wcwl-icon { 
		font-size: 0.75rem !important; 
		margin-right: 4px !important; 
		margin-left: 0 !important;
	}
	
	.footer-widgets {
		text-align: center;
	}
	.social-links {
		justify-content: center;
		display: flex;
	}

	.site-title-wrapper {
		min-width: 0;
	}
	h1.site-title,
	h1.site-title a {
		font-size: 1.1rem !important;
	}
	.site-description {
		font-size: 0.65rem !important;
		line-height: 1.2;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
	}
	.offcanvas-body .navbar-nav .nav-link {
		padding: 0.75rem 1rem !important;
		color: #212529 !important;
		border-bottom: 1px solid rgba(0,0,0,0.06) !important;
		font-weight: 500 !important;
	}
	.offcanvas-body .navbar-nav .nav-link:hover {
		color: var(--primary-color) !important;
		background-color: #f8f9fa !important;
	}
	/* Mobile Dropdown Submenus formatting */
	.offcanvas-body .navbar-nav .sub-menu {
		list-style: none !important;
		padding-left: 1.25rem !important;
		margin: 0 !important;
		background-color: #fcfcfc !important;
		border-left: 2px solid var(--primary-color) !important;
	}
	.offcanvas-body .navbar-nav .sub-menu .nav-link {
		font-size: 0.85rem !important;
		padding: 0.5rem 1rem !important;
		font-weight: normal !important;
		border-bottom: 1px solid rgba(0,0,0,0.03) !important;
	}
	/* Logo sizing on mobile */
	.site-logo img {
		max-width: 130px !important;
		height: auto !important;
	}
	/* Compact Action Buttons on Mobile */
	.action-btn-unified,
	.wishlist-text-btn a,
	.dizicart-ajax-add {
		height: 26px !important;
		font-size: 0.7rem !important;
	}
}

/* Top Bar Widgets Styling */
.top-header-bar {
	overflow: visible !important;
}
/* Fix Currency Switcher Pro dropdown overlapping */
.top-header-bar .csp-options-list,
.mobile-topbar-menu .csp-options-list {
	top: 100% !important;
	margin-top: 5px !important;
}

.top-header-bar .widget {
	margin-bottom: 0;
	overflow: visible !important;
}
/* Hide default widget titles in top bar to prevent layout breaking */
.top-header-bar .widget h1,
.top-header-bar .widget h2,
.top-header-bar .widget h3,
.top-header-bar .widget h4,
.top-header-bar .widget h5,
.top-header-bar .widget h6,
.top-header-bar .widget .widget-title {
	display: none !important;
}
/* Make all lists inline in the top bar (for menus, categories, archives) */
.top-header-bar .widget > ul,
.top-header-bar .widget > div > ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 15px;
	align-items: center;
	flex-wrap: wrap;
}
.top-header-bar .widget > ul > li,
.top-header-bar .widget > div > ul > li {
	margin: 0;
}
.top-header-bar .widget > ul > li > a,
.top-header-bar .widget > div > ul > li > a,
.top-header-bar .top-bar-nav a {
	text-decoration: none;
	font-size: 0.85rem;
	color: #fff;
	opacity: 0.9;
	transition: opacity 0.3s ease;
	white-space: nowrap !important;
	display: inline-block;
}
.top-header-bar .widget > ul > li > a:hover,
.top-header-bar .widget > div > ul > li > a:hover,
.top-header-bar .top-bar-nav a:hover {
	opacity: 1;
	color: #fff;
}

/* Mobile Offcanvas Top Bar Menu Links */
.mobile-topbar-menu a {
	color: #212529 !important;
	font-size: 0.95rem;
	padding: 0.5rem 0;
	display: block;
	text-decoration: none;
	white-space: normal !important;
	border-bottom: 1px solid #f8f9fa;
}
.mobile-topbar-menu a:hover {
	color: #0d6efd !important;
	padding-left: 5px;
	transition: all 0.3s ease;
}

/* Responsive Product Image Height — all grids */
.product-card { box-shadow: none !important; border: 1px solid #f1f3f5 !important; }
.product-img-wrapper { height: auto; display: flex !important; align-items: center; justify-content: center; overflow: hidden; padding: 6px !important; margin-bottom: 0 !important; }
.product-img-inner { width: 100%; height: auto; max-height: 280px; object-fit: contain; object-position: center; margin-bottom: 0 !important; transition: transform 0.3s ease-in-out; }

/* Global Product Card Typography Adjustments */
.product-card .price, .product-card .price .amount, .product-card .price ins, .product-card .price del {
    font-size: 0.9rem !important;
}

/* Product card hover effect */
.product-card:hover .product-img-inner {
    transform: scale(1.08);
}
@media (min-width: 768px) { .product-img-wrapper { height: auto; padding: 8px !important; } .product-img-inner { width: 100%; height: auto; max-height: 300px; } }

/* 5-column custom Bootstrap-style class */
@media (max-width: 575.98px) {
    /* Reduce container gap on mobile so images can expand */
    .container {
        padding-right: 2px !important;
        padding-left: 2px !important;
    }
    
    /* Restore normal container padding for header to prevent search bar cut-off */
    .site-header .container {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    /* Minimize row gutter on mobile for tighter grid */
    .row.g-1, .row.g-md-4 {
        --bs-gutter-x: 4px !important;
        --bs-gutter-y: 4px !important;
    }

    /* Reduce card border-radius on mobile to save space */
    .product-card {
        border-radius: 0.5rem !important;
    }

    /* Remove fixed height — let image fill card width naturally */
    .product-img-wrapper {
        height: auto !important;
        padding: 4px !important;
        margin: 0 !important;
        border-radius: 0.5rem 0.5rem 0 0 !important;
        align-items: center !important;
    }
    .product-img-inner {
        width: 100% !important;
        height: auto !important;
        max-height: 220px !important;
        padding: 0 !important;
        margin: 0 !important;
        object-fit: contain !important;
    }
    
    /* Make Add to Cart buttons smaller on mobile */
    .product-card .add_to_cart_button,
    .product-card .dizicart-ajax-add {
        font-size: 0.75rem !important;
        padding: 4px 8px !important;
        line-height: 1.2 !important;
    }
    
    /* Reduce title and price size slightly to give more room */
    .product-card .product-title {
        font-size: 0.85rem !important;
        margin-bottom: 4px !important;
    }
    .product-card .price, .product-card .price .amount, .product-card .price ins, .product-card .price del {
        font-size: 0.75rem !important;
        margin-bottom: 4px !important;
    }
    
    /* Reduce padding inside card body to absolutely maximize image space */
    .product-card .card-body {
        padding: 6px !important;
    }
}

@media (min-width: 992px) {
    .col-dizifive { flex: 0 0 auto; width: 20%; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .col-md-4.col-dizifive, .col-dizifive { flex: 0 0 auto; width: 33.333333%; }
}

/* Kill bottom spacing inside image wrapper (Bootstrap p-2 override) */
a.product-img-wrapper {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Reduce gap between image and text */
.product-card .card-body {
    padding-top: 0.5rem !important;
}

/* Product Card Title — wraps to 3 lines max */
.product-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: normal;
    line-height: 1.4;
    min-height: 2.8em;
}



/* Mobile: Prevent horizontal overflow/flap — let page scroll naturally */
@media (max-width: 767.98px) {
    html {
        overflow-x: hidden !important;
    }
    body {
        overflow-x: hidden !important;
        padding-bottom: 65px !important;
    }
    #page {
        overflow-x: hidden !important;
    }
}


/* General Mobile Font and Button Adjustments */
@media (max-width: 767.98px) { 
	body { font-size: 0.85rem; } 
	h1, .h1, .display-4 { font-size: 1.35rem !important; } 
	h2, .h2 { font-size: 1.20rem !important; } 
	h3, .h3 { font-size: 1.05rem !important; } 
	h4, .h4 { font-size: 0.95rem !important; } 
	h5, .h5 { font-size: 0.88rem !important; } 
	h6, .h6 { font-size: 0.80rem !important; } 
	.btn { padding: 0.3rem 0.6rem !important; font-size: 0.78rem !important; } 
	.btn-lg { padding: 0.4rem 0.8rem !important; font-size: 0.85rem !important; } 
}


/* Product Card Hover */
.product-card { transition: box-shadow 0.3s ease; }

/* Floating Wishlist Heart Icon — top-right corner of image */
.product-wishlist-icon {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    font-size: 0.95rem;
    color: #aaa;
    border: none;
}
.product-wishlist-icon:hover {
    transform: scale(1.15);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    color: #e74c3c;
}
.product-wishlist-icon.in-wishlist i,
.product-wishlist-icon i.bi-heart-fill {
    color: #e74c3c;
}

/* Floating Quick View Icon — below wishlist icon */
.product-quick-view-icon {
    position: absolute;
    top: 48px; /* 8px + 32px + 8px gap */
    right: 8px;
    z-index: 10;
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
    font-size: 0.95rem;
    color: #aaa;
    border: none;
}
.product-quick-view-icon:hover {
    transform: scale(1.15);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    color: var(--primary-color);
}


/* List View Mode Styling */
.list-view-active li.product { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
.list-view-active li.product .card { flex-direction: row !important; align-items: center; }
.list-view-active li.product .product-img-wrapper { width: 150px; height: 150px; flex-shrink: 0; }
.list-view-active li.product .card-body { align-items: flex-start !important; justify-content: center; }
.list-view-active li.product .mt-auto { margin-top: 0.5rem !important; width: 100% !important; }
.list-view-active li.product .ajax_add_to_cart { width: auto !important; padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
@media (max-width: 575.98px) { .list-view-active li.product .product-img-wrapper { width: 100px; height: 100px; } .list-view-active li.product .card-body { padding: 0.75rem !important; } }

/* Product Short Description (List View Only) */
.product-short-desc {
	display: none;
	font-size: 0.85rem;
	line-height: 1.5;
}
.list-view-active li.product .product-short-desc {
	display: block;
}

/* ============================================
   Category Card Hover Effects
   ============================================ */

/* Base card transition */
.cat-card {
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
    border: 2px solid transparent !important;
    cursor: pointer;
}

/* Lift up on hover */
.cat-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 1rem 2rem rgba(13, 110, 253, 0.18) !important;
    border-color: var(--primary-color) !important;
}

/* Image wrapper zoom effect */
.cat-img-wrap {
    overflow: hidden;
    transition: background-color 0.35s ease;
}

.cat-card:hover .cat-img-wrap {
    background-color: rgba(13, 110, 253, 0.08) !important;
}

.cat-img-wrap img {
    transition: transform 0.4s ease;
}

.cat-card:hover .cat-img-wrap img {
    transform: scale(1.12);
}

/* Title color change on hover */
.cat-card .card-title {
    transition: color 0.3s ease;
}
.cat-card:hover .card-title {
    color: var(--primary-color) !important;
}

/* Product count on hover */
.cat-card small {
    transition: all 0.3s ease;
}
.cat-card:hover small {
    color: var(--primary-color) !important;
    font-weight: 600;
}

/* ============================================
   WooCommerce My Account Custom Premium Styles
   ============================================ */

.my-account-wrapper .nav-link {
    transition: all 0.25s ease;
    border-radius: 8px;
    white-space: nowrap;
}

.my-account-wrapper .nav-link:hover {
    background-color: #f8f9fa;
    color: var(--primary-color) !important;
}

.my-account-wrapper .nav-link.active-link {
    background-color: #198754 !important; /* Green shade */
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(25, 135, 84, 0.25);
}

.woocommerce-account h1, .woocommerce-account .entry-title {
    color: #198754 !important; /* Green shade for the page header */
}

.hover-lift {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08) !important;
}

.py-2-5 {
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
}

.py-1-5 {
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
}

/* Offer Banner Sizing & Layout Constraints */
.offer-banner .row {
    min-height: 350px;
}
.offer-img-col {
    min-height: 250px;
}
.offer-banner-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@media (min-width: 768px) {
    .offer-img-col {
        position: relative;
        min-height: 100%;
    }
    .offer-banner-img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .offer-placeholder-wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

/* Swiper active bullet color matching theme primary */
.testimonials-section .swiper-pagination-bullet-active {
    background-color: var(--primary-color) !important;
}

/* Testimonial Reviewed Product Hover */
.reviewed-product-link {
    transition: all 0.2s ease-in-out;
}
.reviewed-product-link:hover {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}
.reviewed-product-link:hover .product-label {
    color: rgba(255, 255, 255, 0.8) !important;
}
.reviewed-product-link:hover .product-title {
    color: #ffffff !important;
}

/* Product Card Wishlist Button Integration */
.wishlist-btn-wrap {
	display: block;
	width: 100%;
}
.wishlist-btn-wrap .yith-wcwl-add-to-wishlist {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
}
.wishlist-btn-wrap .yith-wcwl-add-button, 
.wishlist-btn-wrap .yith-wcwl-wishlistaddedback, 
.wishlist-btn-wrap .yith-wcwl-wishlistexists {
	display: block !important;
}
.wishlist-btn-wrap .yith-wcwl-add-button a, 
.wishlist-btn-wrap .yith-wcwl-wishlistaddedback a, 
.wishlist-btn-wrap .yith-wcwl-wishlistexists a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 0.8rem;
	color: #6c757d;
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
	font-weight: 500;
	padding: 4px 8px;
}
.wishlist-btn-wrap .yith-wcwl-add-button a:hover, 
.wishlist-btn-wrap .yith-wcwl-wishlistaddedback a:hover, 
.wishlist-btn-wrap .yith-wcwl-wishlistexists a:hover {
	color: var(--primary-color) !important;
	transform: scale(1.02);
}
.wishlist-btn-wrap .ajax-loading {
	display: none !important;
}
.wishlist-btn-wrap .feedback {
	display: none !important;
}
.wishlist-btn-wrap .yith-wcwl-icon {
	margin-right: 0 !important;
}

/* Unified Action Buttons in Product Cards */
.action-btn-unified,
.wishlist-text-btn a,
.dizicart-ajax-add {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 26px !important;
	text-align: center !important;
	border-radius: 50rem !important;
	padding: 0 0.5rem !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	margin: 0 !important;
	border-width: 1px !important;
	border-style: solid !important;
	transition: all 0.2s ease-in-out !important;
}

/* Action Buttons Layout: Grid vs List View */
.action-buttons-wrap {
	flex-direction: column !important; /* Stack vertically in Grid View */
}
.action-btn-container {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.list-view-active li.product .action-buttons-wrap {
	flex-direction: row !important; /* Horizontal in List View */
	justify-content: flex-start !important;
	gap: 8px !important;
}
.list-view-active li.product .action-btn-container {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
}
.list-view-active li.product .action-btn-unified {
	width: auto !important;
	padding: 0 1.25rem !important;
}

/* Wishlist Text Button Specifics */
.wishlist-text-btn {
	width: 100%;
	max-width: 100%;
}
.wishlist-text-btn .yith-wcwl-add-to-wishlist,
.wishlist-text-btn .yith-wcwl-add-button,
.wishlist-text-btn .yith-wcwl-wishlistexistsbrowse,
.wishlist-text-btn .yith-wcwl-wishlistaddedbrowse {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}
.wishlist-text-btn a {
	border-color: #6c757d !important;
	color: #6c757d !important;
	text-decoration: none !important;
	background-color: transparent !important;
}
.wishlist-text-btn a:hover {
	color: #fff !important;
	background-color: #6c757d !important;
}
.wishlist-text-btn a span {
	display: block !important; /* Needs block or inline-block for ellipsis */
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	min-width: 0 !important;
	flex: 0 1 auto !important; /* Let it shrink if needed */
}
.wishlist-text-btn .yith-wcwl-icon {
	margin-right: 4px !important;
	font-size: 0.85rem !important;
	flex-shrink: 0 !important; /* Don't shrink the icon */
}
.wishlist-text-btn .feedback,
.wishlist-text-btn .ajax-loading {
	display: none !important;
}

/* Custom Black Button */
.btn-black {
	background-color: #000000 !important;
	border-color: #000000 !important;
	color: #ffffff !important;
	transition: all 0.3s ease;
}
.btn-black:hover {
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
	color: #ffffff !important;
}

/* ============================================
   Sticky Header
   ============================================ */

/* Base sticky positioning */
.dizicart-sticky-header {
	position: sticky;
	top: 0;
	z-index: 1020;
	will-change: auto;
}

/* Adjust sticky top for WordPress admin bar */
body.admin-bar .dizicart-sticky-header {
	top: 32px;
}
@media (max-width: 782px) {
	body.admin-bar .dizicart-sticky-header {
		top: 46px;
	}
}

/* Smooth transition for non-layout properties */
.dizicart-sticky-header .top-header-bar,
.dizicart-sticky-header .news-ticker {
	transition: opacity 0.3s ease;
	max-height: 120px;
	opacity: 1;
	overflow: hidden;
}

.dizicart-sticky-header .main-header {
	transition: box-shadow 0.3s ease;
}

.dizicart-sticky-header #site-navigation {
	transition: box-shadow 0.3s ease;
}

/* Sticky active state — triggered by JS on scroll */
.dizicart-sticky-header.sticky-active {
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10) !important;
}

/* Collapse top bar and news ticker smoothly */
.dizicart-sticky-header.sticky-active .top-header-bar,
.dizicart-sticky-header.sticky-active .news-ticker {
	max-height: 0 !important;
	opacity: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	border: none !important;
	pointer-events: none;
}

/* Compact the main header on scroll */
.dizicart-sticky-header.sticky-active .main-header {
	padding-top: 7px !important;
	padding-bottom: 7px !important;
}

/* Shrink logo when sticky is active to reduce height */
.dizicart-sticky-header.sticky-active .site-logo img {
	max-height: 65px !important;
	width: auto !important;
	transition: max-height 0.3s ease;
}

/* Smooth transition for logo */
.site-logo img {
	transition: max-height 0.3s ease;
}

/* Ensure navbar stays crisp */
.dizicart-sticky-header.sticky-active #site-navigation {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* Mobile — keep header readable but compact */
@media (max-width: 767.98px) {
	.dizicart-sticky-header.sticky-active .main-header {
		padding-top: 5px !important;
		padding-bottom: 5px !important;
	}
}

/* Custom Wishlist Table Styles */
.dizicart-wishlist-container {
	background-color: #f8f9fa;
	padding: 20px;
	border-radius: 5px;
}
.wishlist-title {
	font-size: 1.5rem;
	font-weight: 500;
	color: #333;
}
.wishlist-table {
	background-color: #fff;
}
.wishlist-table th, .wishlist-table td {
	padding: 15px 10px;
}
.wishlist-product-name {
	font-size: 0.95rem;
	font-weight: 500;
}
.wishlist-product-name:hover {
	text-decoration: underline !important;
}
.wishlist-action-col {
	min-width: 120px;
}
.wishlist-share-wrap h5 {
	font-size: 1rem;
	font-weight: 500;
}
.wishlist-share-wrap .btn {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* Disable List View on Mobile when setting is active */
@media (max-width: 767.98px) {
    body.dizicart-disable-mobile-list #btn-list-view,
    body.dizicart-disable-mobile-list #btn-grid-view {
        display: none !important;
    }
    body.dizicart-disable-mobile-list .list-view-active li.product {
        width: 50% !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
    body.dizicart-disable-mobile-list .list-view-active li.product .card {
        flex-direction: column !important;
    }
    body.dizicart-disable-mobile-list .list-view-active li.product .product-img-wrapper {
        width: 100% !important;
        height: auto !important;
    }
    body.dizicart-disable-mobile-list .list-view-active li.product .card-body {
        align-items: stretch !important;
    }
    body.dizicart-disable-mobile-list .list-view-active li.product .product-short-desc {
        display: none !important;
    }
    body.dizicart-disable-mobile-list .list-view-active li.product .ajax_add_to_cart {
        width: 100% !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
}

/* Fix WooCommerce Checkout Select Padding & Alignment */
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .select2-container .select2-selection--single {
    padding-left: 12px !important;
    height: 42px !important; /* Match bootstrap form-control height */
    display: flex !important;
    align-items: center !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important; /* Prevent double padding if select2 is used */
    line-height: normal !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
}

/* ==========================================================================
   Modern Hero Slider Styles
   ========================================================================== */
.custom-hero-slide {
    overflow: hidden;
    position: relative;
    min-height: 380px;
}
@media (min-width: 992px) {
    .custom-hero-slide .slide-title {
        font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
        margin-bottom: 0.5rem !important;
    }
    .custom-hero-slide .slide-desc {
        font-size: 0.95rem !important;
        margin-bottom: 1.25rem !important;
    }
    .custom-hero-slide .slide-btn {
        padding: 0.4rem 1.2rem !important;
        font-size: 0.8rem !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }
    .custom-hero-slide .slide-img {
        max-height: 320px !important;
        width: auto !important;
        object-fit: contain !important;
    }
}
.hero-glow-blob {
    animation: pulseGlow 4s infinite alternate ease-in-out;
}
@keyframes pulseGlow {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 0.4; }
    100% { transform: translate(-50%, -50%) scale(1.1); opacity: 0.6; }
}

/* Base animations for slide elements (hidden by default) */
.custom-hero-slide .slide-elem,
.custom-hero-slide .slide-img {
    opacity: 0;
    transition: all 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.custom-hero-slide .slide-badge { transform: translateY(20px); transition-delay: 0.1s; }
.custom-hero-slide .slide-title { transform: translateY(30px); transition-delay: 0.2s; }
.custom-hero-slide .slide-desc { transform: translateY(20px); transition-delay: 0.3s; }
.custom-hero-slide .slide-btn { transform: translateY(20px); transition-delay: 0.4s; }
.custom-hero-slide .slide-img { transform: scale(0.9) translateY(20px); transition-delay: 0.3s; }

/* When slide becomes active, trigger animations */
.swiper-slide-active.custom-hero-slide .slide-elem {
    opacity: 1;
    transform: translateY(0);
}
.swiper-slide-active.custom-hero-slide .slide-img {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.hover-lift-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.2) !important;
}

/* Mobile Adjustments for Hero Slider */
@media (max-width: 991.98px) {
    .hero-slider-section .swiper {
        height: auto !important;
    }
    .hero-slider-section .swiper-slide,
    .custom-hero-slide {
        min-height: 180px !important;
        height: auto !important;
        padding: 1rem 0 !important;
    }
    .custom-hero-slide .row {
        display: flex !important;
        flex-direction: row !important; /* Horizontal like desktop */
        flex-wrap: nowrap !important;
        align-items: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        height: auto !important;
    }
    .custom-hero-slide .slide-content-col {
        width: 55% !important;
        flex: 0 0 55% !important;
        max-width: 55% !important;
        order: 1 !important; /* Text on left */
        text-align: left !important;
        padding-top: 0 !important;
        padding-right: 8px !important;
    }
    .custom-hero-slide .slide-title {
        font-size: clamp(1rem, 4vw, 1.25rem) !important;
        margin-bottom: 0.25rem !important;
        line-height: 1.2 !important;
    }
    .custom-hero-slide .slide-desc {
        font-size: 0.75rem !important;
        margin-bottom: 0.5rem !important;
        line-height: 1.3 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    .custom-hero-slide .slide-img-col {
        width: 45% !important;
        flex: 0 0 45% !important;
        max-width: 45% !important;
        order: 2 !important; /* Image on right */
        text-align: center !important;
        margin-bottom: 0 !important;
    }
    .custom-hero-slide .slide-img {
        width: 100% !important;
        max-height: 140px !important;
        height: auto !important;
        object-fit: contain !important;
    }
    .custom-hero-slide .hero-glow-blob {
        display: none !important;
    }
    .custom-hero-slide .slide-btn {
        padding: 0.25rem 0.75rem !important;
        font-size: 0.68rem !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }
    .custom-hero-slide .slide-badge {
        font-size: 0.6rem !important;
        padding: 2px 6px !important;
        margin-bottom: 0.25rem !important;
    }
}

/* Swiper Arrows Customization */
.hero-slider-section .swiper-button-next,
.hero-slider-section .swiper-button-prev {
    --swiper-navigation-size: 18px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--primary-color, #0d6efd);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
}
.hero-slider-section .swiper-button-next:hover,
.hero-slider-section .swiper-button-prev:hover {
    background: #fff;
    transform: scale(1.1);
}
@media (max-width: 991.98px) {
    .hero-slider-section .swiper-button-next,
    .hero-slider-section .swiper-button-prev {
        --swiper-navigation-size: 11px;
        width: 24px;
        height: 24px;
    }
}

/* Hide default WooCommerce customer review text link on single product page */
.woocommerce-product-rating .woocommerce-review-link {
    display: none !important;
}

/* Mobile Bottom Navigation — always fixed at bottom, no jumping */
.mobile-bottom-nav {
    position: fixed !important;
    bottom: 0 !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    margin: 0 !important;
    /* GPU layer — prevents jumping when browser address bar shows/hides */
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
    will-change: transform !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    /* Safe area for notch/home-bar devices (iPhone X+, Android) */
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    /* Prevent any transition that causes visual jump */
    transition: none !important;
}

/* Out of Stock Badges Customization */
.product-img-wrapper .badge.bg-danger {
    font-size: 0.68rem !important;
    padding: 4px 8px !important;
    letter-spacing: 0.5px !important;
    opacity: 0.8 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
}

.dizicart-out-of-stock-badge {
    font-size: 0.85rem !important;
    padding: 6px 12px !important;
    letter-spacing: 0.5px !important;
    opacity: 0.8 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}

/* Quick View Modal Styles */
#dizicartQuickViewModal .modal-content {
    border-radius: 12px;
    overflow: hidden;
}
#dizicartQuickViewModal .btn-close {
    opacity: 1;
}
#dizicartQuickViewModal .btn-close:hover {
    background-color: var(--primary-color) !important;
    filter: invert(1);
}

/* Quick View Form Alignment */
.quick-view-product .quick-view-add-to-cart form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}
.quick-view-product .quick-view-add-to-cart form.cart > * {
    margin-bottom: 0 !important;
    margin-right: 0 !important;
}
.quick-view-product .quick-view-add-to-cart form.cart .quantity {
    float: none;
    margin: 0;
}
.quick-view-product .quick-view-add-to-cart form.cart button[name="add-to-cart"] {
    flex: 1 1 auto;
}
/* Wishlist plugin compatibility */
.quick-view-product .quick-view-add-to-cart form.cart .yith-wcwl-add-to-wishlist,
.quick-view-product .quick-view-add-to-cart form.cart .tinv-wraper {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Footer Widget Lists (Navigation Menus, Categories, Pages, etc.) Styling Fix */
.footer-widgets .widget_nav_menu ul,
.footer-widgets .widget_pages ul,
.footer-widgets .widget_categories ul,
.footer-widgets .widget_archive ul,
.footer-widgets .widget_recent_entries ul,
.footer-widgets .widget_meta ul,
.footer-widgets .widget_rss ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
}
.footer-widgets .widget_nav_menu ul li,
.footer-widgets .widget_pages ul li,
.footer-widgets .widget_categories ul li,
.footer-widgets .widget_archive ul li,
.footer-widgets .widget_recent_entries ul li,
.footer-widgets .widget_meta ul li,
.footer-widgets .widget_rss ul li {
    display: block !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    text-align: left !important;
}
.footer-widgets .widget_nav_menu ul li a,
.footer-widgets .widget_pages ul li a,
.footer-widgets .widget_categories ul li a,
.footer-widgets .widget_archive ul li a,
.footer-widgets .widget_recent_entries ul li a,
.footer-widgets .widget_meta ul li a,
.footer-widgets .widget_rss ul li a {
    text-decoration: none !important;
    color: #6c757d !important; /* Matches text-secondary */
    transition: color 0.3s ease !important;
    display: inline-block !important;
}
.footer-widgets .widget_nav_menu ul li a:hover,
.footer-widgets .widget_pages ul li a:hover,
.footer-widgets .widget_categories ul li a:hover,
.footer-widgets .widget_archive ul li a:hover,
.footer-widgets .widget_recent_entries ul li a:hover,
.footer-widgets .widget_meta ul li a:hover,
.footer-widgets .widget_rss ul li a:hover {
    color: var(--primary-color) !important;
}

/* Block-based Navigation Menus in Footer */
.footer-widgets .wp-block-navigation .wp-block-navigation__container,
.footer-widgets .wp-block-page-list {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding-left: 0 !important;
    gap: 0.5rem !important;
}
.footer-widgets .wp-block-navigation-item,
.footer-widgets .wp-block-pages-list__item {
    display: block !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}
.footer-widgets .wp-block-navigation-item__content,
.footer-widgets .wp-block-pages-list__item__link {
    color: #6c757d !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}
.footer-widgets .wp-block-navigation-item__content:hover,
.footer-widgets .wp-block-pages-list__item__link:hover {
    color: var(--primary-color) !important;
}

/* Fix Footer Video and Iframe Aspect Ratio */
.footer-widgets iframe,
.footer-widgets video,
.footer-widgets object,
.footer-widgets embed {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9;
    max-width: 100%;
}
.footer-widgets img {
    height: auto;
    max-width: 100%;
}
