/*
Theme Name: Mano Crackers
Theme URI: https://manocrackers.com
Author: Your Name
Author URI: https://yourwebsite.com
Description: A vibrant e-commerce theme for selling fireworks and crackers, specially designed for Diwali celebrations. Features a modern layout with product showcases, special offers, and WooCommerce integration.
Version: 1.0
License: GPL v2 or later
Text Domain: mano-crackers
Tags: e-commerce, custom-colors, custom-menu, featured-images, flexible-header, full-width-template, two-columns, translation-ready
*/

/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: transparent;
}

/* Container */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    background: transparent;
}

/* Header Styles */
.site-header {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    padding: 12px 0; /* Reduced from 15px for slimmer look */
    box-shadow: 0 2px 8px rgba(0,0,0,0.12); /* Slightly enhanced shadow */
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Desktop Header Structure (Original) */
.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

/* Mobile Header - Hidden on Desktop */
.mobile-header {
    display: none;
}

.site-branding {
    display: flex;
    align-items: center;
    gap: 10px;
}
.site-branding img{
    height: auto;
    max-width: 200px; /* Reduced from 220px */
    max-height: 60px; /* Reduced from 72px for slimmer header */
    width: auto;
}
.site-title {
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.site-title .fire-icon {
    color: #ff4444;
    font-size: 28px;
}

/* Navigation Menu */
.main-navigation {
    flex: 1 1 auto;
    margin: 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
}

.main-navigation ul {
    list-style: none;
    display: flex;
    gap: 30px;
    justify-content: center;
}

.main-navigation a {
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: color 0.3s;
}

.main-navigation a:hover {
    color: #ffd700;
}

/* Search Bar */
.header-icons {
    display: flex;
    align-items: center;
    gap: 16px;
}

.header-search {
    display: flex;
    align-items: center;
    margin-left: 12px;
}
.header-search form { display:flex; align-items:center; }
.header-search input {
    padding: 10px 40px 10px 16px;
    border-radius: 25px;
    border: 2px solid #2a5298;
    width: 280px;
    background: #ffffff;
    box-shadow: 0 3px 8px rgba(42, 82, 152, 0.15);
    font-size: 14px;
    color: #1e3c72;
    transition: all 0.3s ease;
}
.header-search input:focus { 
    outline: none; 
    border-color: #FFD814; 
    box-shadow: 0 4px 12px rgba(255, 216, 20, 0.3);
}
.header-search button {
    margin-left: -36px;
    background: none;
    border: none;
    color: #2a5298;
    cursor: pointer;
    font-size: 16px;
}

.header-search form {
    position: relative;
    display: flex;
    align-items: center;
}

.site-search-bar {
    background: transparent;
    padding: 14px 0 22px;
}
.site-search-bar .container form {
    display: flex;
    justify-content: center;
}
.site-search-bar input {
    padding: 14px 50px 14px 24px;
    border: 3px solid #2a5298;
    border-radius: 30px;
    width: 500px;
    max-width: 100%;
    font-size: 16px;
    background: #ffffff;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(42, 82, 152, 0.2);
    color: #1e3c72;
}

.site-search-bar input:focus {
    outline: none;
    border-color: #FFD814;
    box-shadow: 0 6px 20px rgba(255, 216, 20, 0.4);
}
.site-search-bar button {
    position: relative;
    margin-left: -44px;
    background: none;
    border: none;
    color: #2a5298;
    cursor: pointer;
    font-size: 18px;
}

.header-search input:focus {
    outline: none;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.3);
    width: 350px;
}

.header-search button {
    position: absolute;
    right: 5px;
    background: none;
    border: none;
    color: #2a5298;
    cursor: pointer;
    font-size: 18px;
    padding: 8px;
    transition: color 0.3s;
}

.header-search button:hover {
    color: #1e3c72;
}

/* User & Cart Icons */
.user-icon,
.cart-icon {
    position: relative;
    cursor: pointer;
}

.user-icon a,
.cart-icon a {
    color: #fff;
    font-size: 22px;
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: color 0.3s;
}

.user-icon a:hover,
.cart-icon a:hover {
    color: #FFD700;
}

.cart-count {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #ff4444;
    color: #fff;
    border-radius: 50%;
    min-width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    border: 2px solid #1e3c72;
}

/* Disclaimer Popup */
.disclaimer-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.disclaimer-modal.show {
    display: flex;
}

.disclaimer-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(5px);
}

.disclaimer-popup {
    position: relative;
    max-width: 600px;
    width: 100%;
    background: linear-gradient(135deg, #8B7FF8 0%, #A78BFA 50%, #C084FC 100%);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    animation: popupSlideIn 0.5s ease-out;
}

@keyframes popupSlideIn {
    from {
        opacity: 0;
        transform: scale(0.8) translateY(50px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.disclaimer-header {
    text-align: center;
    padding: 40px 30px 30px;
    color: white;
    position: relative;
}

.disclaimer-stars {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.star {
    position: absolute;
    font-size: 20px;
    animation: twinkle 2s infinite;
}

.star-1 {
    top: 20px;
    left: 20%;
    animation-delay: 0s;
}

.star-2 {
    top: 30px;
    right: 25%;
    animation-delay: 0.7s;
}

.star-3 {
    top: 15px;
    right: 15%;
    animation-delay: 1.4s;
}

@keyframes twinkle {
    0%, 100% { opacity: 0.7; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.2); }
}

.disclaimer-header h2 {
    font-size: 2.2em;
    margin: 0 0 10px 0;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.disclaimer-header p {
    font-size: 1.1em;
    margin: 0;
    opacity: 0.9;
    letter-spacing: 1px;
}

.disclaimer-content {
    background: white;
    padding: 30px;
    border-radius: 0 0 20px 20px;
}

.court-order-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 10px 20px;
    border-radius: 25px;
    font-weight: 600;
    margin-bottom: 20px;
    font-size: 0.95em;
}

.badge-icon {
    font-size: 1.2em;
}

.disclaimer-text {
    color: #333;
    line-height: 1.6;
    margin-bottom: 25px;
}

.disclaimer-text p {
    margin-bottom: 15px;
}

.disclaimer-text strong {
    color: #667eea;
}

.disclaimer-accept-btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 15px 40px;
    border-radius: 50px;
    font-size: 1.1em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    width: 100%;
    margin-bottom: 15px;
}

.disclaimer-accept-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.disclaimer-footer {
    text-align: center;
    color: #666;
    font-size: 0.9em;
    margin: 0;
    line-height: 1.4;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .disclaimer-popup {
        margin: 20px;
        max-width: none;
    }
    
    .disclaimer-header {
        padding: 30px 20px 20px;
    }
    
    .disclaimer-header h2 {
        font-size: 1.8em;
    }
    
    .disclaimer-content {
        padding: 20px;
    }
}

/* Hero Section */
.hero-section {
    width: 100%;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    height: 500px;
}

.hero-banner-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

/* Hero Overlay */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.4);
}

.hero-content {
    text-align: center;
    color: #fff;
    padding: 20px;
    max-width: 800px;
}

.hero-title {
    font-size: 72px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 25px;
    color: #FFD700;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.7);
    letter-spacing: 3px;
    font-family: 'Georgia', 'Times New Roman', serif;
}

.hero-subtitle {
    font-size: 20px;
    margin-bottom: 35px;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.4;
}

.hero-buttons {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 20px;
}

.hero-btn {
    background: transparent;
    color: #FFD700;
    border: 2px solid #FFD700;
    padding: 15px 50px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 2px;
    border-radius: 30px;
    transition: all 0.3s;
    display: inline-block;
    text-decoration: none;
}

.hero-btn:hover {
    background: #FFD700;
    color: #1a2847;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 215, 0, 0.4);
}

.hero-btn-secondary {
    background: transparent;
    color: #fff;
    border: 2px solid #fff;
    padding: 15px 50px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 2px;
    border-radius: 30px;
    transition: all 0.3s;
    display: inline-block;
    text-decoration: none;
}

.hero-btn-secondary:hover {
    background: #fff;
    color: #1a2847;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 255, 255, 0.3);
}

@keyframes glow {
    from {
        text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #ffd700;
    }
    to {
        text-shadow: 0 0 20px #fff, 0 0 30px #ffd700, 0 0 40px #ffd700;
    }
}

/* Button Styles */
.btn {
    display: inline-block;
    padding: 14px 40px;
    background: #DC3545;
    color: #fff;
    text-decoration: none;
    border-radius: 30px;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s;
    border: none;
    cursor: pointer;
    font-size: 14px;
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(220, 53, 69, 0.3);
}

.btn:hover {
    background: #ff4444;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 68, 68, 0.4);
}

/* Hero Button Special */
.hero-section .btn {
    background: #DC3545;
    padding: 15px 45px;
    font-size: 15px;
}

/* Product Categories */
.product-categories {
    padding: 40px 0;
    background: #fff;
}

.categories-grid {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
}

.category-btn {
    padding: 12px 25px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s;
}

.category-btn.active {
    background: #2a5298;
    color: #fff;
}

.category-btn:not(.active) {
    background: #f0f0f0;
    color: #333;
}

.category-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

/* Section Titles */
.section-title {
    text-align: center;
    font-size: 36px;
    color: #2a5298;
    margin-bottom: 30px;
}

/* Products Grid */
.products-section {
    padding: 60px 0;
    background: transparent;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.product-card {
    background: transparent;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: none;
    transition: transform 0.3s;
    position: relative;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
}

/* Product Image Link */
.product-image-link {
    display: block;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.product-image-link:hover .product-image {
    transform: scale(1.05);
    opacity: 0.95;
}

.product-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: linear-gradient(135deg, #ff4444 0%, #ff6b6b 100%);
    color: #fff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(255, 68, 68, 0.3);
    animation: badge-pulse 2s infinite;
}

.product-badge.sale {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1e3c72;
    box-shadow: 0 2px 8px rgba(255, 215, 0, 0.4);
}

.product-badge.new {
    background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}

.product-badge.bestseller {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    box-shadow: 0 2px 8px rgba(30, 60, 114, 0.3);
}

@keyframes badge-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.product-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
    background: linear-gradient(135deg, #fff5f5 0%, #fffdf0 100%);
    display: block;
    transition: transform 0.3s ease;
    padding: 20px;
}

.product-image-link {
    position: relative;
    display: block;
    overflow: hidden;
    background: linear-gradient(135deg, #fff5f5 0%, #fffdf0 100%);
    cursor: pointer;
}

.product-image-link:hover .product-image {
    transform: scale(1.05);
    opacity: 0.95;
}

.product-info {
    padding: 20px;
}

.product-title {
    font-size: 18px;
    margin-bottom: 8px;
    color: #333;
}

.product-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

.product-title a:hover {
    color: #ff4444;
    text-decoration: none;
}

.product-description {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
}

/* Product Pricing */
.product-pricing {
    padding: 0 20px;
    margin-bottom: 15px;
}

.product-pricing .unit-price {
    font-size: 14px;
    color: #666;
    margin-bottom: 5px;
}

.product-pricing .total-price {
    font-size: 24px;
    color: #ff4444;
    font-weight: bold;
}

/* Product Controls Container */
.product-controls {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0 20px 20px;
}

/* Quantity Stepper */
.quantity-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: #f8f9fa;
    padding: 8px;
    border-radius: 30px;
    position: relative;
    z-index: 5;
}

/* Ensure product controls don't trigger parent links */
.product-controls,
.product-pricing {
    position: relative;
    z-index: 2;
}

/* WooCommerce product link should not cover controls */
.woocommerce ul.products li.product a {
    display: block;
}

.woocommerce ul.products li.product .product-info {
    position: relative;
    z-index: 3;
}

.qty-btn {
    width: 36px;
    height: 36px;
    border: none;
    background: #fff;
    color: #2a5298;
    cursor: pointer !important;
    border-radius: 50%;
    font-size: 20px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    pointer-events: auto;
    z-index: 10;
    position: relative;
}

.qty-btn:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(42, 82, 152, 0.3);
}

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

.qty-input {
    width: 50px;
    text-align: center;
    border: 2px solid #e0e0e0;
    padding: 8px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    color: #1e3c72;
    background: #fff;
}

.qty-input:focus {
    outline: none;
    border-color: #2a5298;
    box-shadow: 0 0 0 3px rgba(42, 82, 152, 0.1);
}

/* Remove spinner buttons from number input */
.qty-input::-webkit-inner-spin-button,
.qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.qty-input[type=number] {
    -moz-appearance: textfield;
}

/* Add to Cart Button */
.add-to-cart-btn {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    border: none;
    padding: 12px 25px;
    border-radius: 25px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(42, 82, 152, 0.3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.add-to-cart-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(42, 82, 152, 0.4);
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
}

.add-to-cart-btn:active {
    transform: translateY(0);
}

.add-to-cart-btn.loading {
    opacity: 0.7;
    pointer-events: none;
}

.add-to-cart-btn.added {
    background: linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);
}

/* Legacy support for old class */
.add-to-cart {
    background: #2a5298;
    color: #fff;
    border: none;
    padding: 12px 25px;
    border-radius: 25px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(42, 82, 152, 0.3);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    width: 100%;
    justify-content: center;
}

.add-to-cart:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(42, 82, 152, 0.4);
    color: #fff;
    text-decoration: none;
}

/* Responsive Styles for Quantity Stepper */
@media (max-width: 768px) {
    .quantity-stepper {
        width: 100%;
    }
    
    .product-controls {
        padding: 0 15px 15px;
    }
    
    .product-pricing {
        padding: 0 15px;
    }
    
    .qty-btn {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }
    
    .qty-input {
        width: 45px;
        padding: 6px;
        font-size: 14px;
    }
}

/* Special Offers Section */
.special-offers {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    padding: 60px 0;
    text-align: center;
    color: #fff;
}

.special-offers .section-title {
    color: #ffd700;
    margin-bottom: 20px;
}

.offers-timer {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin: 40px 0;
}

.timer-block {
    background: rgba(255, 255, 255, 0.1);
    padding: 20px;
    border-radius: 10px;
    min-width: 100px;
}

.timer-value {
    font-size: 36px;
    font-weight: bold;
    color: #ffd700;
}

.timer-label {
    font-size: 14px;
    text-transform: uppercase;
    margin-top: 5px;
}

/* Footer */
.site-footer {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    color: #fff;
    padding: 60px 0 20px;
    margin-top: 60px;
    position: relative;
}

.site-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #ffd700 0%, #ff6b6b 50%, #ffd700 100%);
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}

.footer-column h3 {
    margin-bottom: 25px;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    position: relative;
    padding-bottom: 10px;
}

.footer-column h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 2px;
    background: #ffd700;
}

.footer-column p {
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.8;
    margin-bottom: 20px;
}

.footer-column ul {
    list-style: none;
    padding: 0;
}

.footer-column ul li {
    margin-bottom: 12px;
    color: rgba(255, 255, 255, 0.9);
}

.footer-column ul li i {
    margin-right: 10px;
    color: #ffd700;
    width: 20px;
}

.footer-column a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: all 0.3s;
    display: inline-block;
}

.footer-column a:hover {
    color: #ffd700;
    transform: translateX(5px);
}

/* Social Links */
.social-links {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.social-links a {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    color: #fff;
    font-size: 18px;
}

.social-links a:hover {
    background: #ffd700;
    color: #1e3c72;
    transform: translateY(-3px);
}

.footer-bottom {
    text-align: center;
    padding: 30px 0 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
}

.footer-bottom p {
    margin: 0;
}

/* Desktop Navigation Rules - Above 768px */
@media (min-width: 769px) {
    /* Show Desktop Header */
    .desktop-header {
        display: flex !important;
    }
    
    /* Show Desktop Navigation */
    .desktop-header .main-navigation {
        display: flex !important;
    }
    
    /* Hide Mobile Header on Desktop */
    .mobile-header {
        display: none !important;
    }
    
    /* Hide Mobile Navigation on Desktop */
    .mobile-nav {
        display: none !important;
    }
}

/* Responsive Design */
/* Tablet styles */
@media (max-width: 1024px) and (min-width: 769px) {
    .hero-section {
        height: 400px;
    }
}

@media (max-width: 768px) {
    /* Hide Desktop Header on Mobile */
    .desktop-header {
        display: none !important;
    }

    /* Hide Desktop Navigation on Mobile */
    .desktop-header .main-navigation {
        display: none !important;
    }

    /* Show Mobile Header */
    .mobile-header {
        display: block !important;
    }

    /* Hide any duplicate navigation menus on mobile */
    .main-navigation:not(.mobile-nav) {
        display: none !important;
    }

    /* Force hide desktop navigation completely */
    .desktop-header nav,
    .desktop-header .main-navigation,
    .desktop-header .nav-menu {
        display: none !important;
        visibility: hidden !important;
    }

    /* Hide any WordPress generated navigation on mobile except mobile-nav */
    .mobile-header nav:not(.mobile-nav),
    .mobile-header .navigation:not(.mobile-nav),
    .mobile-header .menu:not(.mobile-nav .menu),
    .mobile-header .nav-menu:not(.mobile-nav .nav-menu) {
        display: none !important;
    }

    /* Ensure only mobile navigation is visible */
    .mobile-nav {
        display: none !important; /* Hidden by default */
    }

    .mobile-nav.open {
        display: block !important; /* Show when open class is added */
    }
    .header-search:not(.mobile-search) {
        display: none !important;
    }

    .header-icons {
        display: none !important;
    }

    .site-header {
        padding: 5px 0; /* Reduced from 10px to make slimmer */
    }

    /* First Line: Logo Only (Centered) - Slimmer Design */
    .mobile-logo-line {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 8px 0; /* Reduced from 10px */
        border-bottom: 1px solid rgba(255, 255, 255, 0.08); /* More subtle border */
        margin-bottom: 5px; /* Reduced spacing */
    }

    .mobile-logo-line .site-branding .logo-image {
        max-height: 40px; /* Reduced from 50px for slimmer look */
        width: auto;
    }

    /* Second Line: Menu | Search | User & Cart (Right Aligned) */
    .mobile-controls-line {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px; /* reduced gap for better mobile fit */
        padding: 5px 0; /* slightly more padding for touch targets */
        flex-wrap: nowrap;
        min-height: 48px; /* Reduced from 54px */
        width: 100%;
    }

    .mobile-nav-toggle {
        order: 1;
        flex-shrink: 0;
    }

    .mobile-search {
        order: 2;
        flex: 1;
        max-width: 55%; /* Slightly reduced width for more space */
        margin-right: 24px; /* More space between search and icons */
    }

    /* Right-aligned icon container */
    .mobile-icons-group {
        display: flex;
        align-items: center;
        gap: 4px; /* Small gap between user and cart icons */
        order: 3;
        flex-shrink: 0;
        padding-left: 15px; /* Separation from search bar */
        margin-left: auto; /* Keep icons flush to the right edge */
    }

    /* Mobile header spacing — enforce proper layout */
    .mobile-controls-line .mobile-search { 
        max-width: 45% !important; 
        margin-right: 16px !important; 
        flex: 1;
        min-width: 120px;
    }
    .mobile-controls-line .mobile-icons-group {
        margin-left: auto !important;
        padding-left: 12px !important; /* reduced separation for better fit */
        gap: 8px; /* smaller gap between user and cart */
        border-left: none; /* remove visual split for cleaner look */
        display: flex;
        align-items: center;
        flex-shrink: 0;
    }
    /* Ensure any plugin-provided icon in the group has consistent hit area */
    .mobile-controls-line .mobile-icons-group > a,
    .mobile-controls-line .mobile-icons-group > button,
    .mobile-controls-line .mobile-icons-group > div > a,
    .mobile-controls-line .mobile-icons-group .mobile-user a,
    .mobile-controls-line .mobile-icons-group .user-icon a {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        color: #fff !important;
        font-size: 16px;
        border-radius: 50%;
        transition: background-color 0.2s ease;
        text-decoration: none;
    }

    /* Plugin user icon hover effects */
    .mobile-controls-line .mobile-icons-group > a:hover,
    .mobile-controls-line .mobile-icons-group > button:hover,
    .mobile-controls-line .mobile-icons-group > div > a:hover,
    .mobile-controls-line .mobile-icons-group .mobile-user a:hover,
    .mobile-controls-line .mobile-icons-group .user-icon a:hover {
        background-color: rgba(255, 255, 255, 0.1) !important;
    }

    /* Handle plugin-specific user icon classes */
    .mobile-controls-line .mobile-icons-group .wp-user-avatar,
    .mobile-controls-line .mobile-icons-group .user-avatar,
    .mobile-controls-line .mobile-icons-group .profile-icon,
    .mobile-controls-line .mobile-icons-group .account-icon {
        width: 40px !important;
        height: 40px !important;
        border-radius: 50% !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    /* Plugin user icon images */
    .mobile-controls-line .mobile-icons-group img[src*="avatar"],
    .mobile-controls-line .mobile-icons-group img[alt*="user"],
    .mobile-controls-line .mobile-icons-group img[alt*="profile"] {
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        object-fit: cover;
    }

    /* Hamburger Menu Button */
    .mobile-nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: rgba(255, 255, 255, 0.1);
        border: none;
        cursor: pointer;
        flex-shrink: 0;
        border-radius: 50%;
    }

    .mobile-nav-toggle .hamburger {
        width: 22px;
        height: 2px;
        background: #fff;
        position: relative;
        display: block;
    }

    .mobile-nav-toggle .hamburger::before,
    .mobile-nav-toggle .hamburger::after {
        content: '';
        position: absolute;
        left: 0;
        width: 22px;
        height: 2px;
        background: #fff;
    }

    .mobile-nav-toggle .hamburger::before {
        top: -7px;
    }

    .mobile-nav-toggle .hamburger::after {
        top: 7px;
    }

    /* Mobile Search Bar - Compact Design */
    .mobile-search {
        flex: 1;
        margin: 0 16px 0 0; /* consistent with enforced margin */
        max-width: 45%; /* consistent with enforced width */
        min-width: 120px;
        order: 2;
    }

    .mobile-search form {
        display: flex;
        align-items: center;
        background: rgba(255, 255, 255, 0.95);
        border: 2px solid #2a5298;
        border-radius: 25px;
        padding: 4px 8px;
        height: 40px;
        width: 100%;
        box-shadow: 0 2px 8px rgba(42, 82, 152, 0.15);
        transition: all 0.3s ease;
    }

    .mobile-search form:focus-within {
        border-color: #FFD814;
        box-shadow: 0 3px 12px rgba(255, 216, 20, 0.3);
    }

    .mobile-search input {
        flex: 1;
        padding: 8px 12px;
        border: none;
        background: transparent;
        color: #2a5298;
        font-size: 14px;
        border-radius: 20px;
        outline: none;
    }

    .mobile-search input::placeholder {
        color: rgba(42, 82, 152, 0.6);
    }

    .mobile-search input:focus {
        outline: none;
    }

    .mobile-search button {
        background: none !important;
        border: none;
        color: #2a5298;
        cursor: pointer;
        padding: 8px 12px;
        font-size: 16px;
    }

    /* Mobile User and Cart Icons - Separated and Right Aligned */
    .mobile-user,
    .mobile-cart {
        flex-shrink: 0;
        display: block !important;
        visibility: visible !important;
    }

    .mobile-user a,
    .mobile-cart a {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 40px; /* Slightly smaller for modern look */
        height: 40px;
        color: #fff;
        position: relative;
        font-size: 16px; /* Reduced size */
        text-decoration: none;
        border-radius: 50%; /* Circular buttons */
        transition: background-color 0.2s ease;
    }

    .mobile-user a:hover,
    .mobile-cart a:hover {
        background-color: rgba(255, 255, 255, 0.1);
    }

    .mobile-cart .cart-count {
        position: absolute;
        top: 6px; /* Adjusted for smaller icon */
        right: 6px;
        background: #ff4444;
        color: #fff;
        border-radius: 50%;
        min-width: 16px; /* Slightly smaller */
        height: 16px;
        font-size: 10px; /* Smaller font */
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        line-height: 1;
    }

    /* Hamburger Menu Button - Updated for slimmer design */
    .mobile-nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px; /* Reduced from 44px */
        height: 40px;
        background: rgba(255, 255, 255, 0.1);
        border: none;
        cursor: pointer;
        flex-shrink: 0;
        border-radius: 50%;
        transition: background-color 0.2s ease;
    }

    .mobile-nav-toggle:hover {
        background-color: rgba(255, 255, 255, 0.1);
    }

    /* When searching on mobile: expand search and hide icons */
    .mobile-search { transition: max-width 0.2s ease, margin 0.2s ease; }
    .mobile-search:focus-within {
        max-width: 100% !important;
        margin-right: 0 !important;
    }
    /* Icons group is immediately after .mobile-search in header.php */
    .mobile-search:focus-within + .mobile-icons-group {
        display: none !important;
    }

    /* Mobile Navigation Menu */
    .mobile-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
        border-radius: 0 0 10px 10px;
        z-index: 1500;
        display: none !important; /* Hidden by default */
        padding: 10px 0;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }

    .mobile-nav.open {
        display: block !important; /* Show when open class is added */
    }

    .mobile-nav ul {
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 0;
        margin: 0;
    }

    .mobile-nav li {
        width: 100%;
    }

    .mobile-nav a {
        display: block;
        padding: 12px 20px;
        color: #fff;
        text-decoration: none;
        font-weight: 500;
        font-size: 16px;
        transition: background 0.3s ease;
    }

    .mobile-nav a:hover {
        background: rgba(255, 255, 255, 0.1);
        color: #ffd700;
    }
    
    /* Simplified Navigation for WooCommerce Pages - Identical Styling to Home Page */
    .mobile-nav .simplified-nav {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 0;
        margin: 0;
        list-style: none;
    }
    
    .mobile-nav .simplified-nav li {
        width: 100%;
    }
    
    .mobile-nav .simplified-nav a {
        display: block;
        padding: 12px 20px;
        color: #fff;
        text-decoration: none;
        font-weight: 500;
        font-size: 16px;
        transition: background 0.3s ease;
    }
    
    .mobile-nav .simplified-nav a:hover {
        background: rgba(255, 255, 255, 0.1);
        color: #ffd700;
    }
    
    /* Ensure consistent spacing and alignment for simplified menu */
    .mobile-nav.open .simplified-nav {
        display: flex !important;
        flex-direction: column;
    }
    
    /* Active link highlighting for simplified nav */
    .mobile-nav .simplified-nav li.current-menu-item a,
    .mobile-nav .simplified-nav li.current_page_item a {
        background: rgba(255, 215, 0, 0.1);
        color: #ffd700;
    }

    .hero-section {
        width: 100%;
        height: 300px;
    }
    
    .hero-banner-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
    
    .hero-title {
        font-size: 42px;
        margin-bottom: 20px;
    }
    
    .hero-subtitle {
        font-size: 16px;
        margin-bottom: 25px;
    }
    
    .hero-btn,
    .hero-btn-secondary {
        padding: 12px 35px;
        font-size: 16px;
    }
    
    .hero-buttons {
        gap: 15px;
    }
    
    .products-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 20px;
    }
    
    .offers-timer {
        flex-wrap: wrap;
        gap: 15px;
    }
}

/* Product Archive / Shop Page Styles */
.product-archive {
    padding: 0 0 60px 0;
    background: transparent;
    min-height: 600px;
    position: relative;
}

.product-archive::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 300px;
    background: transparent;
    pointer-events: none;
}

/* Breadcrumb Section */
.breadcrumb-section {
    background: transparent;
    padding: 20px 0;
    border-bottom: 2px solid rgba(255, 215, 0, 0.2);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.breadcrumb {
    font-size: 15px;
    color: #666;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.breadcrumb a {
    color: #2a5298;
    text-decoration: none;
    transition: all 0.3s;
    font-weight: 500;
    position: relative;
}

.breadcrumb a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #FFD700;
    transition: width 0.3s;
}

.breadcrumb a:hover {
    color: #FFD700;
}

.breadcrumb a:hover::after {
    width: 100%;
}

.breadcrumb .separator {
    margin: 0 12px;
    color: #FFD700;
    font-weight: bold;
}

.breadcrumb .current {
    color: #1e3c72;
    font-weight: 600;
}

/* Category Header */
.category-header {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    color: #fff;
    padding: 60px 0;
    text-align: center;
    margin-bottom: 50px;
    position: relative;
    overflow: hidden;
}

.category-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="none" stroke="rgba(255,215,0,0.1)" stroke-width="0.5"/></svg>') repeat;
    animation: float 20s infinite linear;
}

@keyframes float {
    0% { transform: translateX(0) translateY(0); }
    100% { transform: translateX(100px) translateY(-100px); }
}

.category-title {
    font-size: 42px;
    margin-bottom: 15px;
    font-weight: 700;
    color: #FFD700;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    letter-spacing: 1px;
    position: relative;
    z-index: 1;
}

.category-description {
    font-size: 18px;
    opacity: 0.95;
    max-width: 600px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* Shop Content Layout */
.shop-content {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
}

.products-wrapper {
    min-width: 0;
}

/* Shop Toolbar */
.shop-toolbar {
    background: transparent;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08);
    border: 1px solid rgba(42, 82, 152, 0.1);
    position: relative;
}

.shop-toolbar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #1e3c72 0%, #FFD700 50%, #1e3c72 100%);
}

.results-count p {
    margin: 0;
    color: #1e3c72;
    font-size: 15px;
    font-weight: 500;
}

.orderby {
    padding: 10px 20px;
    border: 2px solid #2a5298;
    border-radius: 25px;
    font-size: 14px;
    cursor: pointer;
    background: #fff;
    min-width: 220px;
    color: #1e3c72;
    font-weight: 500;
    transition: all 0.3s;
}

.orderby:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    border-color: #1e3c72;
}

.orderby:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.2);
}

/* Shop Grid - Updated to match home page */
.shop-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.shop-grid .product-card {
    background: #fff;
    border-radius: 10px;
    overflow: visible;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    border: 2px dashed #ff4444;
}

.shop-grid .product-card:nth-child(2n) {
    border-color: #ff9999;
}

.shop-grid .product-card:nth-child(3n) {
    border-color: #ffcc99;
}

.shop-grid .product-card:nth-child(4n) {
    border-color: #ff6666;
}

.shop-grid .product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
}

.shop-grid .product-info {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.shop-grid .product-title {
    font-size: 18px;
    margin-bottom: 8px;
    min-height: 50px;
    font-weight: 600;
    color: #333;
    transition: color 0.3s;
}

.shop-grid .product-title a:hover {
    color: #ff4444;
    text-decoration: none;
}

.shop-grid .product-price {
    font-size: 24px;
    color: #ff4444;
    font-weight: bold;
    margin-bottom: 15px;
    margin-top: auto;
}

.shop-grid .product-price del {
    color: #999;
    font-size: 18px;
    margin-right: 8px;
}

.shop-grid .product-price ins {
    text-decoration: none;
    color: #ff4444;
}

/* Product Actions */
.product-actions {
    margin-top: auto;
}

.add-to-cart-btn {
    width: auto;
    padding: 8px 20px;
    background: #2a5298;
    color: #fff;
    border: none;
    border-radius: 20px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.3s;
    text-align: center;
    display: inline-block;
    text-decoration: none;
    font-size: 14px;
}

.add-to-cart-btn:hover {
    background: #1e3c72;
}

/* Commented out to remove duplicate cart icon
.add-to-cart-btn::before {
    content: '\f07a';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    margin-right: 8px;
} */

/* Shop Sidebar */
.shop-sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.widget {
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.widget-title {
    font-size: 18px;
    margin-bottom: 20px;
    color: #333;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0f0f0;
}

/* Search Widget */
.search-form {
    display: flex;
    gap: 10px;
}

.search-field {
    flex: 1;
    padding: 12px 16px;
    border: 2px solid #2a5298;
    border-radius: 6px;
    font-size: 14px;
    background: #ffffff;
    color: #1e3c72;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(42, 82, 152, 0.1);
}

.search-field:focus {
    outline: none;
    border-color: #FFD814;
    box-shadow: 0 3px 8px rgba(255, 216, 20, 0.3);
}

.search-submit {
    padding: 10px 20px;
    background: none !important;
    color: #2a5298;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.search-submit:hover {
    background: none !important;
    color: #FFD814;
}

/* Categories Widget */
.product-categories {
    list-style: none;
    padding: 0;
}

.product-categories li {
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}

.product-categories li:last-child {
    border-bottom: none;
}

.product-categories a {
    color: #666;
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: color 0.3s;
}

.product-categories a:hover {
    color: #2a5298;
}

.product-categories .current-cat a {
    color: #ff4444;
    font-weight: 500;
}

.product-categories .count {
    background: #f0f0f0;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
    color: #666;
}

/* Price Filter */
.price-filter {
    margin-top: 15px;
}

.price-range {
    width: 100%;
    margin: 15px 0;
}

.price-display {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #666;
}

/* Shop Pagination */
.shop-pagination {
    margin-top: 40px;
    text-align: center;
}

.shop-pagination .nav-links {
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.shop-pagination .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    background: #fff;
    color: #666;
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid #ddd;
    transition: all 0.3s;
}

.shop-pagination .page-numbers:hover,
.shop-pagination .page-numbers.current {
    background: #2a5298;
    color: #fff;
    border-color: #2a5298;
}

/* No Products Message */
.no-products {
    text-align: center;
    padding: 60px 20px;
    background: #fff;
    border-radius: 8px;
}

.no-products p {
    font-size: 18px;
    color: #666;
    margin-bottom: 20px;
}

/* Responsive Design for Shop */
@media (max-width: 1024px) {
    .shop-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .shop-content {
        grid-template-columns: 1fr;
    }
    
    .shop-sidebar {
        order: -1;
        margin-bottom: 30px;
    }
    
    .shop-toolbar {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }
    
    .shop-grid {
        grid-template-columns: 1fr;
    }
    
    .category-title {
        font-size: 28px;
    }
}

/* WooCommerce Integration Styles */
.woocommerce-message {
    background: #4CAF50;
    color: #fff;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
}

.woocommerce-error {
    background: #f44336;
    color: #fff;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
}

/* WooCommerce Product Grid Override - Home Page Style */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 0;
    padding: 0;
    clear: both;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    content: none;
    display: none;
}

.woocommerce ul.products li.product {
    background: transparent;
    border-radius: 10px;
    overflow: visible;
    box-shadow: none;
    transition: transform 0.3s;
    position: relative;
    border: none;
    margin: 0;
    padding: 0;
    width: 100%;
    float: none;
    clear: none;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
}

.woocommerce ul.products li.product::before {
    content: none;
}

.woocommerce ul.products li.product:nth-child(2n) {
    border-color: transparent;
}

.woocommerce ul.products li.product:nth-child(3n) {
    border-color: transparent;
}

.woocommerce ul.products li.product:nth-child(4n) {
    border-color: transparent;
}

/* WooCommerce Product Image - Home Page Style */
.woocommerce ul.products li.product a img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    background: linear-gradient(135deg, #fff5f5 0%, #fffdf0 100%);
    display: block;
    transition: transform 0.3s ease;
    margin: 0;
    padding: 20px;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    position: relative;
    display: block;
    overflow: hidden;
    background: linear-gradient(135deg, #fff5f5 0%, #fffdf0 100%);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover img {
    transform: scale(1.05);
    opacity: 0.95;
}

/* WooCommerce Product Title - Home Page Style */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    padding: 20px 20px 8px;
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
    transition: color 0.3s;
    background: #fff;
    min-height: 50px;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product:hover h2 {
    color: #ff4444;
}

/* WooCommerce Price - Home Page Style */
.woocommerce ul.products li.product .price {
    padding: 0 20px 15px;
    font-size: 24px;
    color: #e53e3e !important;
    font-weight: bold;
    margin: 0;
}

.woocommerce ul.products li.product .price del {
    color: #999;
    font-size: 18px;
    margin-right: 8px;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    color: #e53e3e !important;
}

/* Comprehensive Price Color Override */
.woocommerce .price,
.woocommerce .price .amount,
.woocommerce-Price-amount,
.product .price,
.product .price .amount,
.price-value {
    color: #e53e3e !important;
    font-weight: 700 !important;
}

.woocommerce .price ins,
.product .price ins {
    color: #e53e3e !important;
    text-decoration: none !important;
}

/* WooCommerce Product Actions Container */
.woocommerce ul.products li.product {
    padding-bottom: 20px;
}

/* Fix WooCommerce first/last child issues */
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last {
    clear: none;
    margin: 0;
}

/* Remove WooCommerce column classes */
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last,
.woocommerce ul.products[class*="columns-"] li.product {
    width: 100%;
    float: none;
    clear: none;
    margin: 0;
}

/* Add custom product controls for WooCommerce */
.woocommerce ul.products li.product .price {
    margin-bottom: 15px;
}

/* WooCommerce Add to Cart Section */
.woocommerce ul.products li.product::after {
    content: '';
    display: block;
    padding: 0 20px 20px;
    background: #fff;
}

/* WooCommerce Add to Cart Button - Dark Blue Rounded Style */
.woocommerce ul.products li.product .button {
    margin: 0 20px;
    padding: 12px 20px;
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    color: #fff;
    border: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: calc(100% - 40px);
    text-align: center;
    text-transform: none;
    letter-spacing: 0.3px;
    box-shadow: 0 4px 15px rgba(30, 60, 114, 0.3);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    min-height: 40px;
}

.woocommerce ul.products li.product .button:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(42, 82, 152, 0.4);
}

.woocommerce ul.products li.product .button:active {
    transform: translateY(0);
    background: linear-gradient(135deg, #1a2847 0%, #173a6b 100%);
}

/* Cart icon removed as per request */

/* WooCommerce Sale Badge - Home Page Style */
.woocommerce ul.products li.product .onsale {
    background: #ff4444;
    color: #fff;
    border-radius: 20px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    margin: 0;
    animation: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* WooCommerce Sorting */
.woocommerce .woocommerce-ordering select {
    padding: 10px 20px;
    border: 2px solid #2a5298;
    border-radius: 25px;
    font-size: 14px;
    background: #fff;
    color: #1e3c72;
    font-weight: 500;
    transition: all 0.3s;
    min-width: 220px;
}

.woocommerce .woocommerce-ordering select:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    border-color: #1e3c72;
}

/* WooCommerce Result Count */
.woocommerce .woocommerce-result-count {
    color: #1e3c72;
    font-size: 15px;
    font-weight: 500;
    margin: 0;
}

/* WooCommerce Shop Toolbar Container */
.woocommerce-custom-wrapper .woocommerce-notices-wrapper + p.woocommerce-result-count,
.woocommerce-custom-wrapper .woocommerce-ordering {
    display: inline-block;
}

.woocommerce-custom-wrapper > p.woocommerce-result-count {
    float: left;
    margin: 0 0 30px;
}

.woocommerce-custom-wrapper > form.woocommerce-ordering {
    float: right;
    margin: 0 0 30px;
}

.woocommerce-custom-wrapper::after {
    content: "";
    display: table;
    clear: both;
}

/* WooCommerce Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
    font-size: 15px;
    color: #666;
    margin: 0;
    padding: 0;
}

.woocommerce .woocommerce-breadcrumb a {
    color: #2a5298;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

.woocommerce .woocommerce-breadcrumb a:hover {
    color: #FFD700;
}

/* Responsive WooCommerce Grid */
@media (max-width: 1200px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* WooCommerce Single Product Page */
.single-product-page {
    padding: 40px 0 60px;
    background: linear-gradient(135deg, #f5f7fa 0%, #e9ecef 100%);
}

/* Single Product Wrapper - Full Width */
.single-product-wrapper {
    width: 100%;
    max-width: 100%;
}

/* Other WooCommerce Pages - Full Width */
.woocommerce-content-wrapper {
    width: 100%;
    max-width: 100%;
}

/* WooCommerce Cart Page Styles */
body.woocommerce-cart {
    background: #f5f7fa;
}

.woocommerce-page .woocommerce {
    padding: 40px 0;
}

.woocommerce-page .woocommerce-cart-form {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    margin-bottom: 40px;
}

/* Cart Table */
.woocommerce-page table.shop_table,
.woocommerce table.shop_table {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    margin-bottom: 30px;
    background: #fff;
}

.woocommerce-page table.shop_table thead,
.woocommerce table.shop_table thead {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
}

.woocommerce-page table.shop_table thead th,
.woocommerce table.shop_table thead th {
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.5px;
    padding: 20px 15px;
    border: none;
    background: transparent;
}

.woocommerce table.shop_table tbody td {
    padding: 20px 15px;
    border-bottom: 1px solid #f0f0f0;
    border-top: none;
    vertical-align: middle;
}

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

/* Product Thumbnail in Cart */
.woocommerce-cart table.cart .product-thumbnail {
    width: 100px;
}

.woocommerce-cart table.cart .product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Product Name in Cart */
.woocommerce-cart table.cart .product-name a {
    color: #1e3c72;
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    transition: color 0.3s;
}

.woocommerce-cart table.cart .product-name a:hover {
    color: #FFD700;
}

/* Product Price in Cart */
.woocommerce-cart table.cart .product-price {
    color: #ff4444;
    font-weight: 600;
    font-size: 18px;
}

/* Quantity in Cart */
.woocommerce .quantity .qty {
    border: 2px solid #e0e0e0;
    border-radius: 25px;
    padding: 8px 15px;
    width: 80px;
    text-align: center;
    font-weight: 600;
    color: #1e3c72;
    transition: all 0.3s;
}

.woocommerce .quantity .qty:focus {
    border-color: #2a5298;
    outline: none;
    box-shadow: 0 0 0 3px rgba(42, 82, 152, 0.1);
}

/* Cart Quantity Buttons */
.woocommerce .quantity {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.woocommerce .quantity .minus,
.woocommerce .quantity .plus {
    width: 35px;
    height: 35px;
    background: #f0f0f0;
    border: none;
    border-radius: 50%;
    color: #1e3c72;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.woocommerce .quantity .minus:hover,
.woocommerce .quantity .plus:hover {
    background: #2a5298;
    color: #fff;
}

/* Product Subtotal */
.woocommerce-cart table.cart .product-subtotal {
    color: #1e3c72;
    font-weight: 700;
    font-size: 20px;
}

/* Remove Product Button */
.woocommerce-cart table.cart .product-remove a {
    color: #ff4444;
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s;
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    border-radius: 50%;
    background: #ffebeb;
}

.woocommerce-cart table.cart .product-remove a:hover {
    background: #ff4444;
    color: #fff;
    transform: rotate(90deg);
}

/* Cart Actions */
.woocommerce-cart .actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-top: 2px solid #f0f0f0;
    margin-top: 20px;
}

.woocommerce-cart .actions .coupon {
    display: flex;
    gap: 10px;
    align-items: center;
}

.woocommerce-cart .actions .coupon input[type="text"] {
    border: 2px solid #e0e0e0;
    border-radius: 25px;
    padding: 10px 20px;
    width: 250px;
    font-size: 14px;
    transition: all 0.3s;
}

.woocommerce-cart .actions .coupon input[type="text"]:focus {
    border-color: #2a5298;
    outline: none;
    box-shadow: 0 0 0 3px rgba(42, 82, 152, 0.1);
}

.woocommerce-cart .actions button {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    border: none;
    padding: 12px 30px;
    border-radius: 25px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s;
}

.woocommerce-cart .actions button:hover {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1e3c72;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3);
}

/* Cart Totals */
.woocommerce-cart .cart-collaterals {
    margin-top: 40px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    width: 100%;
    max-width: 500px;
    margin-left: auto;
}

.woocommerce-cart .cart_totals h2 {
    color: #1e3c72;
    font-size: 24px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid #FFD700;
}

.woocommerce-cart .cart_totals table {
    width: 100%;
    margin-bottom: 25px;
}

.woocommerce-cart .cart_totals table th {
    color: #666;
    font-weight: 500;
    padding: 15px 0;
    text-align: left;
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-cart .cart_totals table td {
    color: #1e3c72;
    font-weight: 600;
    padding: 15px 0;
    text-align: right;
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    font-size: 20px;
    font-weight: 700;
    border-bottom: none;
    padding-top: 20px;
}

.woocommerce-cart .cart_totals .order-total td {
    color: #ff4444;
    font-size: 28px;
}

/* Proceed to Checkout Button */
.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block;
    width: 100%;
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1e3c72;
    padding: 15px 30px;
    border-radius: 30px;
    text-align: center;
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(42, 82, 152, 0.3);
}

/* Empty Cart Message */
.woocommerce-cart .cart-empty {
    background: #fff;
    padding: 60px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
}

.woocommerce-cart .cart-empty::before {
    content: '\f07a';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 60px;
    color: #e0e0e0;
    display: block;
    margin-bottom: 20px;
}

.woocommerce-cart .return-to-shop {
    margin-top: 30px;
}

.woocommerce-cart .return-to-shop a {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    padding: 12px 30px;
    border-radius: 25px;
    text-decoration: none;
    display: inline-block;
    font-weight: 600;
    transition: all 0.3s;
}

.woocommerce-cart .return-to-shop a:hover {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1e3c72;
    transform: translateY(-2px);
}

.woocommerce div.product {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    margin-top: 30px;
}

/* Single Product Images */
.woocommerce div.product div.images {
    width: 48%;
    float: left;
}

.woocommerce div.product div.images img {
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.1);
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    border-radius: 12px;
    overflow: hidden;
}

/* Single Product Summary */
.woocommerce div.product div.summary {
    width: 48%;
    float: right;
    padding-left: 40px;
}

.woocommerce div.product .product_title {
    color: #1e3c72;
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: #e53e3e !important;
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 20px;
    display: block;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    color: #999;
    font-size: 24px;
    margin-right: 15px;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    text-decoration: none;
    color: #e53e3e !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    background-clip: unset !important;
}

/* Single Product Short Description */
.woocommerce div.product .woocommerce-product-details__short-description {
    margin-bottom: 30px;
    padding: 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
    border-radius: 8px;
    border-left: 4px solid #FFD700;
}

.woocommerce div.product .woocommerce-product-details__short-description p {
    color: #666;
    line-height: 1.8;
    margin: 0;
}

/* Single Product Add to Cart */
.woocommerce div.product form.cart {
    margin-bottom: 30px;
    padding: 25px;
    background: #f8f9fa;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.woocommerce div.product form.cart .quantity {
    margin: 0;
    display: flex;
    align-items: center;
}

.woocommerce div.product form.cart .quantity .qty {
    border: 2px solid #2a5298;
    border-radius: 25px;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 600;
    color: #1e3c72;
    width: 120px;
    text-align: center;
    background: #fff;
}

.woocommerce div.product form.cart .quantity .qty:focus {
    outline: none;
    border-color: #FFD700;
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.2);
}

/* Quantity Input Spinners */
.woocommerce div.product form.cart .quantity {
    position: relative;
}

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

.woocommerce div.product form.cart .quantity input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.woocommerce div.product form.cart button.single_add_to_cart_button {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    padding: 13px 40px;
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: 30px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s;
    margin: 0;
    height: auto;
    line-height: normal;
}

.woocommerce div.product form.cart button.single_add_to_cart_button:hover {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1e3c72;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 215, 0, 0.3);
}

/* Variations Form */
.woocommerce div.product form.cart.variations_form {
    display: block;
}

.woocommerce div.product form.cart.variations_form .single_variation_wrap {
    margin-top: 20px;
}

.woocommerce div.product form.cart.variations_form .single_variation_wrap .single_add_to_cart_button {
    display: inline-block;
}

/* Add to Cart Container */
.woocommerce div.product form.cart div.quantity + .single_add_to_cart_button {
    margin-left: 0;
}

/* Stock Status */
.woocommerce div.product .stock {
    margin-bottom: 15px;
    color: #4CAF50;
    font-weight: 600;
}

.woocommerce div.product .out-of-stock {
    color: #ff4444;
}

/* Product Meta */
.woocommerce div.product .product_meta {
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    margin-top: 30px;
}

.woocommerce div.product .product_meta > span {
    display: block;
    margin-bottom: 10px;
    color: #666;
}

.woocommerce div.product .product_meta > span span {
    color: #1e3c72;
    font-weight: 600;
}

.woocommerce div.product .product_meta a {
    color: #2a5298;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

.woocommerce div.product .product_meta a:hover {
    color: #FFD700;
}

/* Product Tabs */
.woocommerce div.product .woocommerce-tabs {
    margin-top: 50px;
    clear: both;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    border: none;
    background: none;
    padding: 0;
    margin: 0 0 30px;
    display: flex;
    gap: 10px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: #f8f9fa;
    border: 2px solid transparent;
    border-radius: 30px;
    margin: 0;
    transition: all 0.3s;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: #666;
    padding: 12px 30px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.5px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #fff;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
    color: #1e3c72;
}

.woocommerce div.product .woocommerce-tabs .panel {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
}

/* Related Products */
.woocommerce .related.products {
    margin-top: 60px;
}

.woocommerce .related.products > h2 {
    color: #1e3c72;
    font-size: 32px;
    text-align: center;
    margin-bottom: 40px;
    font-weight: 700;
}

/* Sale Badge on Single Product */
.woocommerce div.product .onsale {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1e3c72;
    border-radius: 50%;
    padding: 0;
    width: 80px;
    height: 80px;
    line-height: 80px;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 5px 20px rgba(255, 215, 0, 0.4);
    animation: badge-pulse 2s infinite;
}

/* Fix for breadcrumb alignment */
.woocommerce .woocommerce-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

/* Ensure proper category page header */
.woocommerce-page .category-header {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    padding: 60px 0;
    margin-bottom: 50px;
}

.woocommerce-page .category-header h1 {
    color: #FFD700;
    font-size: 42px;
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

/* Shop Layout with Sidebar */
.shop-layout-with-sidebar {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    margin-top: 30px;
    background: transparent;
}

/* Ensure products container uses full width */
.shop-layout-with-sidebar .woocommerce {
    width: 100%;
}

/* Remove any default WooCommerce notices margin that might push content */
.shop-layout-with-sidebar .woocommerce-notices-wrapper {
    margin: 0 0 20px 0;
}

/* Shop Filters Sidebar - Dark Blue & Yellow Theme */
.shop-filters-sidebar {
    position: sticky;
    top: 100px;
    height: fit-content;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    background: transparent;
}

/* Filter Widget - Transparent Background */
.filter-widget {
    background: transparent;
    border: none;
    padding: 10px 0;
    margin-bottom: 15px;
    box-shadow: none;
}

.filter-title {
    color: #1e3c72;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 8px;
    padding-bottom: 0;
    border: none;
    background: transparent;
}

/* Search Widget - Dark Blue & Yellow Theme */
.woocommerce-product-search {
    position: relative;
    display: flex;
    background: transparent;
}

/* Modern Search Widget */
.modern-search-widget {
    position: relative;
    margin-bottom: 20px;
}

.modern-search-widget .search-field,
.modern-search-widget input[type="search"] {
    width: 100%;
    padding: 12px 40px 12px 16px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    background: #ffffff;
    color: #1e3c72;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(42, 82, 152, 0.1);
}

.modern-search-widget .search-field:focus,
.modern-search-widget input[type="search"]:focus {
    outline: none;
    border-color: #FFD814;
    box-shadow: 0 4px 12px rgba(255, 216, 20, 0.3);
}

.modern-search-widget .search-submit,
.modern-search-widget button[type="submit"] {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    background: none !important;
    color: #2a5298;
    border: none;
    width: 30px;
    height: 30px;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.modern-search-widget .search-submit:hover,
.modern-search-widget button[type="submit"]:hover {
    background: none !important;
    color: #FFD814;
}

.woocommerce-product-search .search-field {
    width: 100%;
    padding: 10px 35px 10px 12px;
    border: 2px solid #2a5298;
    border-radius: 6px;
    font-size: 12px;
    background: #ffffff;
    color: #1e3c72;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(42, 82, 152, 0.1);
}

.woocommerce-product-search .search-field:focus {
    outline: none;
    border-color: #FFD814;
    box-shadow: 0 3px 8px rgba(255, 216, 20, 0.3);
}

.woocommerce-product-search .search-submit {
    position: absolute;
    right: 3px;
    top: 50%;
    transform: translateY(-50%);
    background: none !important;
    color: #2a5298;
    border: none;
    width: 20px;
    height: 20px;
    cursor: pointer;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.woocommerce-product-search .search-submit:hover {
    background: none !important;
    color: #FFD814;
}

/* Category Filter List - Dark Blue & Yellow Theme */
.category-filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
    background: transparent;
}

.category-filter-list li {
    margin-bottom: 3px;
    background: transparent;
}

.category-filter-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 0;
    color: #1e3c72;
    text-decoration: none;
    font-size: 11px;
    background: transparent;
    border: none;
    transition: none;
}

.category-filter-list a:hover {
    background: transparent;
    color: #1e3c72;
}

.category-filter-list li.active > a {
    background: transparent;
    color: #1e3c72;
    font-weight: normal;
}

.category-count {
    background: transparent;
    padding: 0;
    font-size: 10px;
    color: #1e3c72;
}

.category-filter-list a:hover .category-count {
    background: transparent;
    color: #1e3c72;
}

/* Sub Categories - Dark Blue & Yellow Theme */
.sub-categories {
    list-style: none;
    padding: 0;
    margin: 5px 0 0 10px;
    background: transparent;
}

.sub-categories li {
    margin-bottom: 2px;
    background: transparent;
}

.sub-categories a {
    font-size: 10px;
    padding: 2px 0;
    color: #1e3c72;
    background: transparent;
}

.sub-categories a:hover {
    color: #1e3c72;
    background: transparent;
}

/* Price Filter - Dark Blue & Yellow Theme */
.price-filter-wrapper {
    padding: 5px 0;
    background: transparent;
}

/* Price Slider Container - Dark Blue & Yellow Theme */
.price-slider-container {
    position: relative;
    height: 30px;
    margin: 10px 0;
    background: transparent;
}

.slider-track {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 3px;
    width: 100%;
    background: #1e3c72;
    border-radius: 2px;
}

.slider-range {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 3px;
    background: #FFD700;
    border-radius: 2px;
    left: 0%;
    right: 0%;
}

.price-slider {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-appearance: none;
    appearance: none;
    height: 3px;
    background: transparent;
    outline: none;
    pointer-events: none;
}

.price-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 12px;
    height: 12px;
    background: #FFD700;
    border: 1px solid #1e3c72;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    box-shadow: none;
    transition: none;
}

.price-slider::-moz-range-thumb {
    width: 12px;
    height: 12px;
    background: #FFD700;
    border: 1px solid #1e3c72;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    box-shadow: none;
    transition: none;
}

.price-slider::-webkit-slider-thumb:hover {
    background: #FFD700;
    border-color: #1e3c72;
    transform: none;
}

.price-slider::-moz-range-thumb:hover {
    background: #FFD700;
    border-color: #1e3c72;
    transform: none;
}

#min-price-slider {
    z-index: 2;
}

#max-price-slider {
    z-index: 1;
}

.price-range-display {
    display: flex;
    justify-content: space-between;
    margin: 8px 0;
    font-size: 10px;
    color: #1e3c72;
    background: transparent;
}

.min-price, .max-price {
    font-weight: normal;
    color: #1e3c72;
    padding: 2px 5px;
    background: transparent;
    border: none;
    font-size: 10px;
}

.filter-btn {
    width: 100%;
    padding: 6px 10px;
    background: transparent;
    color: #1e3c72;
    border: 1px solid #1e3c72;
    border-radius: 3px;
    font-weight: normal;
    cursor: pointer;
    font-size: 11px;
    transition: none;
}

.filter-btn:hover {
    background: transparent;
    color: #1e3c72;
    border-color: #1e3c72;
    transform: none;
}

/* Tags Filter - Dark Blue & Yellow Theme */
.tags-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    background: transparent;
}

.filter-tag {
    display: inline-block;
    padding: 2px 6px;
    background: transparent;
    color: #1e3c72;
    font-size: 10px;
    border: 1px solid #1e3c72;
    border-radius: 2px;
    text-decoration: none;
    transition: none;
}

.filter-tag:hover {
    background: transparent;
    color: #1e3c72;
    border-color: #1e3c72;
}

.filter-tag.active {
    background: transparent;
    color: #1e3c72;
    border-color: #1e3c72;
}

/* Checkbox Filters - Dark Blue & Yellow Theme */
.checkbox-filters {
    display: flex;
    flex-direction: column;
    gap: 3px;
    background: transparent;
}

.checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 3px 0;
    background: transparent;
    border: none;
    transition: none;
}

.checkbox-label:hover {
    background: transparent;
}

.checkbox-label input[type="checkbox"] {
    margin-right: 5px;
    width: 12px;
    height: 12px;
    cursor: pointer;
}

.checkbox-label span {
    color: #1e3c72;
    font-size: 10px;
}

.checkbox-label:hover span {
    color: #1e3c72;
}

.checkbox-label input[type="checkbox"]:checked + span {
    color: #1e3c72;
    font-weight: normal;
}

/* Reset Filters Button - Dark Blue & Yellow Theme */
.reset-filters-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: 100%;
    padding: 6px 10px;
    background: transparent;
    color: #1e3c72;
    text-decoration: none;
    border: 1px solid #1e3c72;
    border-radius: 3px;
    font-weight: normal;
    font-size: 11px;
    transition: none;
}

.reset-filters-btn:hover {
    background: transparent;
    color: #1e3c72;
    border-color: #1e3c72;
    transform: none;
}

/* Adjust main content area */
.shop-layout-with-sidebar .woocommerce-custom-wrapper {
    min-width: 0;
}

/* Update grid for sidebar layout */
.shop-layout-with-sidebar .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr);
}

/* Fix WooCommerce grid layout issues */
.shop-layout-with-sidebar .woocommerce ul.products::before,
.shop-layout-with-sidebar .woocommerce ul.products::after {
    display: none;
}

.shop-layout-with-sidebar .woocommerce ul.products li.product {
    width: 100%;
    margin: 0;
    float: none;
    clear: none;
}

/* Responsive Sidebar */
@media (max-width: 1200px) {
    .shop-layout-with-sidebar {
        grid-template-columns: 250px 1fr;
        gap: 30px;
    }
    
    .shop-layout-with-sidebar .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 992px) {
    .shop-layout-with-sidebar {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .shop-filters-sidebar {
        position: relative;
        top: 0;
        max-height: none;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .filter-widget {
        margin-bottom: 0;
    }
    
    .shop-layout-with-sidebar .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .shop-filters-sidebar {
        grid-template-columns: 1fr;
    }
    
    .shop-layout-with-sidebar .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .shop-layout-with-sidebar .woocommerce ul.products {
        grid-template-columns: 1fr;
    }
}

/* WooCommerce Cart Block Styles */
.wp-block-woocommerce-cart {
    padding: 40px 0;
    background: #f8f9fa;
}

.wp-block-woocommerce-cart .alignwide {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Cart Main Content */
.wp-block-woocommerce-cart-items-block {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    border: 1px solid #e9ecef;
    margin-bottom: 30px;
}

/* Cart Totals Sidebar */
.wp-block-woocommerce-cart-totals-block {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    border: 1px solid #e9ecef;
}

/* Cart Table Styling */
.wc-block-cart-items {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.wc-block-cart-items__header {
    background: #f8f9fa;
    border-bottom: 2px solid #e9ecef;
}

.wc-block-cart-items__header th {
    color: #1e3c72;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 16px;
    letter-spacing: 0.5px;
    padding: 25px 15px;
    border: none;
    text-align: left;
}

.wc-block-cart-items__header-image {
    width: 100px;
}

.wc-block-cart-items__header-total {
    text-align: right;
}

/* Cart Row Styling */
.wc-block-cart-items__row {
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.3s;
}

.wc-block-cart-items__row:hover {
    background: #f8f9fa;
}

.wc-block-cart-items__row td {
    padding: 25px 15px;
    vertical-align: middle;
    border: none;
}

/* Product Image in Cart */
.wc-block-cart-item__image {
    width: 100px;
}

.wc-block-cart-item__image img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Product Details */
.wc-block-cart-item__product {
    padding-left: 20px;
}

.wc-block-components-product-name {
    color: #1e3c72;
    font-weight: 600;
    font-size: 18px;
    text-decoration: none;
    margin-bottom: 10px;
    display: block;
    transition: color 0.3s;
}

.wc-block-components-product-name:hover {
    color: #FFD700;
}

.wc-block-cart-item__prices .price {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
    display: block;
}

.wc-block-components-product-price__regular {
    color: #999;
    text-decoration: line-through;
    margin-right: 8px;
}

.wc-block-components-product-price__value {
    color: #ff4444;
}

/* Sale Badge */
.wc-block-components-sale-badge {
    background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
    color: #fff;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
    display: inline-block;
}

/* Product Description */
.wc-block-components-product-metadata__description {
    color: #666;
    font-size: 14px;
    margin-bottom: 15px;
}

/* Quantity Selector */
.wc-block-cart-item__quantity {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 15px;
}

.wc-block-components-quantity-selector {
    display: flex;
    align-items: center;
    background: #f8f9fa;
    border-radius: 25px;
    padding: 5px;
    border: 2px solid #e0e0e0;
}

.wc-block-components-quantity-selector__input {
    width: 60px;
    text-align: center;
    border: none;
    background: transparent;
    font-weight: 600;
    color: #1e3c72;
    padding: 8px;
    font-size: 16px;
}

.wc-block-components-quantity-selector__input:focus {
    outline: none;
}

.wc-block-components-quantity-selector__button {
    width: 35px;
    height: 35px;
    background: #2a5298;
    color: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wc-block-components-quantity-selector__button:hover {
    background: #1e3c72;
    transform: scale(1.1);
}

/* Remove Item Button */
.wc-block-cart-item__remove-link {
    background: #ff4444;
    color: #fff;
    border: none;
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    text-transform: uppercase;
}

.wc-block-cart-item__remove-link:hover {
    background: #dc3545;
    transform: translateY(-2px);
}

/* Cart Total Column */
.wc-block-cart-item__total {
    text-align: right;
    padding-right: 20px;
}

.wc-block-cart-item__total .price {
    font-size: 20px;
    font-weight: 700;
    color: #1e3c72;
}

/* Cart Sidebar - Totals */
.wp-block-woocommerce-cart-order-summary-heading-block,
.wc-block-cart__totals-title {
    color: #1e3c72;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid #FFD700;
    text-align: center;
}

.wp-block-woocommerce-cart-order-summary-block {
    width: 100%;
}

/* Coupon Section */
.wc-block-components-totals-coupon {
    background: #f8f9fa;
    border-radius: 8px;
    margin-bottom: 20px;
    border: 1px solid #e9ecef;
}

.wc-block-components-panel__button {
    width: 100%;
    padding: 15px 20px;
    background: transparent;
    border: none;
    color: #2a5298;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s;
}

.wc-block-components-panel__button:hover {
    background: #e9ecef;
    color: #1e3c72;
}

.wc-block-components-panel__button-icon {
    transition: transform 0.3s;
}

/* Hide Shipping Block on Cart and Checkout Pages */
.wp-block-woocommerce-cart-order-summary-shipping-block,
.wp-block-woocommerce-checkout-order-summary-shipping-block {
    display: none;
}

/* Shipping */
.wc-block-components-totals-shipping {
    padding: 20px 0;
    border-bottom: 1px solid #f0f0f0;
}

.wc-block-components-totals-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

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

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

/* Total Footer */
.wc-block-components-totals-footer-item {
    padding: 20px 0 15px;
    border-top: 2px solid #f0f0f0;
    margin-top: 15px;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: #1e3c72;
    font-size: 18px;
    font-weight: 700;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #ff4444;
    font-size: 24px;
    font-weight: 700;
}

/* Proceed to Checkout Button */
.wc-block-cart__submit-container {
    padding: 20px 0 0;
}

.wc-block-cart__submit-button {
    width: 100%;
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1e3c72;
    padding: 15px 30px;
    border-radius: 30px;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
    border: none;
    cursor: pointer;
    display: block;
}

.wc-block-cart__submit-button:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(42, 82, 152, 0.3);
}

/* Cart Layout - Use WooCommerce Block's Natural Layout */
.wc-block-components-sidebar-layout.wc-block-cart {
    display: block;
}

.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper, 
.wp-block-woocommerce-cart-order-summary-block .wp-block-woocommerce-cart-order-summary-totals-block,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item{
    border: none;
}

/* On larger screens, use flexbox for side-by-side layout */
@media (min-width: 993px) {
    .wc-block-components-sidebar-layout.wc-block-cart {
        display: flex;
        gap: 40px;
        align-items: flex-start;
    }
    
    .wp-block-woocommerce-cart-items-block {
        flex: 2;
        margin-bottom: 0;
    }
    
    .wp-block-woocommerce-cart-totals-block {
        flex: 1;
        position: sticky;
        top: 100px;
    }
}

@media (max-width: 768px) {
    .wc-block-cart__main,
    .wc-block-cart__sidebar {
        padding: 20px;
    }
    
    .wc-block-cart-items__header-image {
        width: 80px;
    }
    
    .wc-block-cart-item__image img {
        width: 60px;
        height: 60px;
    }
    
    .wc-block-components-product-name {
        font-size: 16px;
    }
    
    .wc-block-cart-item__quantity {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* WooCommerce Checkout Block Styles */
.wp-block-woocommerce-checkout {
    padding: 40px 0;
    background: #f8f9fa;
}

.wp-block-woocommerce-checkout .alignwide {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Checkout Layout */
.wc-block-components-sidebar-layout.wc-block-checkout {
    display: block;
}

@media (min-width: 993px) {
    .wc-block-components-sidebar-layout.wc-block-checkout {
        display: flex;
        gap: 40px;
        align-items: flex-start;
    }
    
    .wc-block-checkout__main {
        flex: 2;
    }
    
    .wc-block-checkout__sidebar {
        flex: 1;
        position: sticky;
        top: 100px;
    }
}

/* Checkout Main Form */
.wc-block-checkout__main {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    border: 1px solid #e9ecef;
    margin-bottom: 30px;
}

/* Checkout Sidebar */
.wc-block-checkout__sidebar {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    border: 1px solid #e9ecef;
}

/* Checkout Step Styling */
.wc-block-components-checkout-step {
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid #f0f0f0;
}

.wc-block-components-checkout-step:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.wc-block-components-checkout-step__title {
    color: #1e3c72;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #FFD700;
}

.wc-block-components-checkout-step__description {
    color: #666;
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 1.6;
}

/* Form Input Styling */
.wc-block-components-text-input {
    position: relative;
    margin-bottom: 20px;
}

.wc-block-components-text-input input {
    width: 100%;
    padding: 15px 20px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 16px;
    background: #fff;
    transition: all 0.3s;
    color: #333;
}

.wc-block-components-text-input input:focus {
    outline: none;
    border-color: #2a5298;
    box-shadow: 0 0 0 3px rgba(42, 82, 152, 0.1);
}

.wc-block-components-text-input label {
    position: absolute;
    top: 15px;
    left: 20px;
    color: #666;
    font-size: 16px;
    transition: all 0.3s;
    pointer-events: none;
    background: #fff;
    padding: 0 5px;
}

.wc-block-components-text-input.is-active label {
    top: -8px;
    font-size: 12px;
    color: #2a5298;
    font-weight: 600;
}

/* Select Dropdown Styling */
.wc-blocks-components-select__container {
    position: relative;
    margin-bottom: 20px;
}

.wc-blocks-components-select__select {
    width: 100%;
    padding: 15px 20px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 16px;
    background: #fff;
    color: #333;
    cursor: pointer;
    transition: all 0.3s;
    appearance: none;
}

.wc-blocks-components-select__select:focus {
    outline: none;
    border-color: #2a5298;
    box-shadow: 0 0 0 3px rgba(42, 82, 152, 0.1);
}

.wc-blocks-components-select__label {
    position: absolute;
    top: -8px;
    left: 15px;
    background: #fff;
    padding: 0 5px;
    color: #2a5298;
    font-size: 12px;
    font-weight: 600;
}

.wc-blocks-components-select__expand {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #666;
    pointer-events: none;
}

/* Address Toggle */
.wc-block-components-address-form__address_2-toggle {
    color: #2a5298;
    font-size: 14px;
    cursor: pointer;
    margin-bottom: 15px;
    display: inline-block;
    text-decoration: underline;
    transition: color 0.3s;
}

.wc-block-components-address-form__address_2-toggle:hover {
    color: #FFD700;
}

/* Checkbox Styling */
.wc-block-components-checkbox {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
}

.wc-block-components-checkbox__input {
    width: 20px;
    height: 20px;
    border: 2px solid #e9ecef;
    border-radius: 4px;
    cursor: pointer;
    position: relative;
    appearance: none;
    background: #fff;
    transition: all 0.3s;
}

.wc-block-components-checkbox__input:checked {
    background: #2a5298;
    border-color: #2a5298;
}

.wc-block-components-checkbox__mark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    fill: #fff;
    opacity: 0;
    transition: opacity 0.3s;
}

.wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark {
    opacity: 1;
}

.wc-block-components-checkbox__label {
    color: #333;
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
}

/* Radio Button Styling */
.wc-block-components-radio-control__option {
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 15px;
    cursor: pointer;
    transition: all 0.3s;
}

.wc-block-components-radio-control__option:hover {
    border-color: #2a5298;
    background: #f0f7ff;
}

.wc-block-components-radio-control__option-checked {
    border-color: #2a5298;
    background: #f0f7ff;
}

.wc-block-components-radio-control__input {
    margin-right: 15px;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.wc-block-components-radio-control__label {
    color: #1e3c72;
    font-weight: 600;
    font-size: 16px;
}

.wc-block-components-radio-control__secondary-label {
    color: #666;
    font-size: 14px;
    margin-top: 5px;
}

/* Payment Method Content */
.wc-block-components-radio-control-accordion-content {
    margin-top: 15px;
    padding: 15px;
    background: #fff;
    border-radius: 6px;
    border: 1px solid #e9ecef;
    color: #666;
    line-height: 1.6;
}

/* Order Summary Styling */
.wp-block-woocommerce-checkout-order-summary-block {
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    border: none;
}

.wc-block-components-checkout-order-summary__title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 2px solid #FFD700;
    margin-bottom: 25px;
}

.wc-block-components-checkout-order-summary__title-text {
    color: #1e3c72;
    font-size: 20px;
    font-weight: 700;
    margin: 0;
}

.wc-block-components-checkout-order-summary__title-price {
    color: #ff4444;
    font-size: 24px;
    font-weight: 700;
}

/* Order Summary Items */
.wc-block-components-order-summary-item {
    display: flex;
    gap: 15px;
    padding: 20px 0;
    border-bottom: 1px solid #f0f0f0;
}

.wc-block-components-order-summary-item__image {
    position: relative;
}

.wc-block-components-order-summary-item__image img {
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.wc-block-components-order-summary-item__quantity {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #2a5298;
    color: #fff;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
}

.wc-block-components-order-summary-item__description {
    flex: 1;
}

.wc-block-components-order-summary-item__description h3 {
    color: #1e3c72;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
}

.wc-block-components-order-summary-item__individual-prices {
    font-size: 14px;
    margin-bottom: 8px;
}

.wc-block-components-order-summary-item__total-price {
    color: #ff4444;
    font-weight: 700;
    font-size: 16px;
}

/* Checkout Actions */
.wc-block-checkout__actions {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 2px solid #f0f0f0;
}

.wc-block-checkout__actions_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.wc-block-components-checkout-return-to-cart-button {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #666;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
    padding: 12px 20px;
    border-radius: 25px;
    background: #f8f9fa;
}

.wc-block-components-checkout-return-to-cart-button:hover {
    color: #2a5298;
    background: #e9ecef;
}

.wc-block-components-checkout-place-order-button {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1e3c72;
    padding: 15px 40px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

.wc-block-components-checkout-place-order-button:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(42, 82, 152, 0.3);
}

/* Terms and Conditions */
.wc-block-checkout__terms {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    margin: 30px 0;
}

.wc-block-checkout__terms .wc-block-components-checkbox__label {
    color: #666;
    font-size: 14px;
    line-height: 1.6;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:first-of-type{
    display: none;
}


.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon.wc-block-components-panel,
.wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-totals-block,
.wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-coupon-form-block.wc-block-components-totals-wrapper
{
    display: none;
    
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{
border-top: none;
}
.wc-block-checkout__shipping-option.wp-block-woocommerce-checkout-shipping-methods-block.wc-block-components-checkout-step,
.wc-block-checkout__payment-method.wp-block-woocommerce-checkout-payment-block.wc-block-components-checkout-step{
    display: none;
}
/* WooCommerce My Account Login/Register */
.woocommerce-page #customer_login.u-columns.col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
    width: 100%;
}

.woocommerce-page #customer_login::before,
.woocommerce-page #customer_login::after {
    content: none;
    display: none;
}

.woocommerce-page #customer_login .u-column1.col-1,
.woocommerce-page #customer_login .u-column2.col-2 {
    background: #fff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    width: 100%;
    display: block;
    float: none;
    margin: 0;
}

.woocommerce-account h2 {
    color: #1e3c72;
    font-size: 28px;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 3px solid #FFD700;
}

.woocommerce-form-row label {
    color: #333;
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
}

.woocommerce-Input {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 16px;
    transition: border-color 0.3s;
}

.woocommerce-Input:focus {
    border-color: #2a5298;
    outline: none;
    box-shadow: 0 0 0 3px rgba(42, 82, 152, 0.1);
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    padding: 14px 40px;
    border: none;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 20px rgba(42, 82, 152, 0.3);
}

.woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}

.woocommerce-LostPassword a {
    color: #2a5298;
    text-decoration: none;
    font-weight: 500;
}

.woocommerce-LostPassword a:hover {
    text-decoration: underline;
}

/* Registration Form Specific - Match Login Design */
.woocommerce-page #customer_login .u-column2.col-2 {
    background: #fff;
    border: none;
}

.woocommerce-page #customer_login .u-column2.col-2 h2 {
    color: #1e3c72;
}

.woocommerce-form-register__submit {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
}

.woocommerce-form-register__submit:hover {
    box-shadow: 0 5px 20px rgba(42, 82, 152, 0.3);
}

/* WooCommerce My Account Dashboard - Clear pseudo elements and set grid */
.woocommerce-account .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.woocommerce-account .entry-content > .woocommerce,
.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    clear: both;
    width: 100%;
}

/* Remove interfering pseudo-elements from woocommerce container */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after,
.woocommerce .col2-set::before,
.woocommerce .col2-set::after,
.woocommerce-page .col2-set::before,
.woocommerce-page .col2-set::after,
.woocommerce-account .addresses .title::before,
.woocommerce-account .addresses .title::after {
    content: none;
    display: none;
}

/* Override for login/register page - when customer_login exists */
.woocommerce-account .woocommerce:has(#customer_login),
body:not(.logged-in) .woocommerce-account .woocommerce {
    display: block;
    grid-template-columns: none;
}

/* Account Navigation Sidebar */
.woocommerce-MyAccount-navigation {
    background: #fff;
    border-radius: 12px;
    padding: 0;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    height: fit-content;
    grid-column: 1;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-MyAccount-navigation-link {
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-MyAccount-navigation-link:last-child {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation-link a {
    display: flex;
    align-items: center;
    padding: 18px 25px;
    color: #333;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s;
    position: relative;
}

.woocommerce-MyAccount-navigation-link a:before {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 15px;
    background-size: contain;
    opacity: 0.6;
    vertical-align: middle;
}

/* Add icons for each menu item */
.woocommerce-MyAccount-navigation-link--dashboard a:before {
    content: '📊';
}

.woocommerce-MyAccount-navigation-link--orders a:before {
    content: '📦';
}

.woocommerce-MyAccount-navigation-link--downloads a:before {
    content: '⬇️';
}

.woocommerce-MyAccount-navigation-link--edit-address a:before {
    content: '📍';
}

.woocommerce-MyAccount-navigation-link--edit-account a:before {
    content: '👤';
}

.woocommerce-MyAccount-navigation-link--customer-logout a:before {
    content: '🚪';
}

.woocommerce-MyAccount-navigation-link a:hover {
    background: #f8f9fa;
    color: #2a5298;
}

.woocommerce-MyAccount-navigation-link.is-active a {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
}

.woocommerce-MyAccount-navigation-link.is-active a:before {
    opacity: 1;
}

/* Account Content Area */
.woocommerce-MyAccount-content {
    background: #fff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    grid-column: 2;
    min-width: 0; /* Prevent content overflow */
    max-width: 100%;
    width: 100%;
}

.woocommerce-MyAccount-content p {
    color: #666;
    line-height: 1.8;
    margin-bottom: 20px;
}

.woocommerce-MyAccount-content strong {
    color: #2a5298;
    font-weight: 600;
}

.woocommerce-MyAccount-content a {
    color: #2a5298;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1px dotted #2a5298;
    transition: all 0.3s;
}

.woocommerce-MyAccount-content a:hover {
    color: #1e3c72;
    border-bottom-style: solid;
}

/* Dashboard Welcome Message */
.woocommerce-MyAccount-content > p:first-child {
    font-size: 18px;
    color: #333;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 30px;
}

/* Orders Table Styling */
.woocommerce-MyAccount-content .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.woocommerce-orders-table thead {
    background: #f8f9fa;
}

.woocommerce-orders-table th {
    padding: 15px;
    text-align: left;
    color: #1e3c72;
    font-weight: 600;
    border-bottom: 2px solid #e0e0e0;
}

.woocommerce-orders-table td {
    padding: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-orders-table .woocommerce-button {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    color: #fff;
    padding: 8px 20px;
    border: none;
    border-radius: 20px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s;
}

.woocommerce-orders-table .woocommerce-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 3px 10px rgba(42, 82, 152, 0.3);
}

/* Address Section */
.woocommerce-Addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.woocommerce-Address {
    background: #f8f9fa;
    padding: 25px;
    border-radius: 8px;
    position: relative;
}

.woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.woocommerce-Address-title h3 {
    color: #1e3c72;
    font-size: 20px;
    margin: 0;
}

.woocommerce-Address address {
    color: #666;
    line-height: 1.8;
    font-style: normal;
}

/* Edit Account Form */
.woocommerce-EditAccountForm {
    max-width: 600px;
}

.woocommerce-EditAccountForm fieldset {
    border: none;
    padding: 0;
    margin-bottom: 30px;
}

.woocommerce-EditAccountForm legend {
    color: #1e3c72;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #FFD700;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
    width: 100%;
}
.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2{
    width: 100%;
}
.woocommerce-checkout.woocommerce-page.woocommerce-order-received .entry-header{
display: none;
}
ul.products .added_to_cart.wc-forward{
    display: none;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .woocommerce-page #customer_login.u-columns.col2-set {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .woocommerce-page #customer_login .u-column1.col-1,
    .woocommerce-page #customer_login .u-column2.col-2 {
        padding: 25px;
    }
    
    /* My Account Dashboard Mobile */
    .woocommerce-account .entry-content .woocommerce,
    .woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .woocommerce-MyAccount-navigation {
        margin-bottom: 20px;
    }
    
    .woocommerce-MyAccount-content {
        padding: 25px;
    }
    
    .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
}

/* Thank You / Order Received Page Customization */
.woocommerce-order .enquiry-success-wrapper {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    padding: 60px 40px;
    margin: 40px auto;
    max-width: 1000px;
}

.woocommerce-order .enquiry-details-box {
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.woocommerce-order .enquiry-details-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.woocommerce-order .enquiry-detail-item {
    transition: all 0.3s ease;
}

.woocommerce-order .enquiry-detail-item:hover {
    background: #f0f4f8;
}

.woocommerce-order .enquiry-detail-item:last-child:hover {
    background: linear-gradient(135deg, #3a62a8 0%, #2e4c82 100%);
}

/* Mobile responsive for enquiry details */
@media (max-width: 600px) {
    .woocommerce-order .enquiry-details-grid {
        grid-template-columns: 1fr;
    }
    
    .woocommerce-order .enquiry-detail-item {
        border-right: none !important;
    }
    
    .woocommerce-order .enquiry-detail-item:not(:last-child) {
        border-bottom: 1px solid #e0e0e0;
    }
    
    .woocommerce-order .enquiry-success-wrapper {
        padding: 40px 20px;
    }
}

.woocommerce-order .woocommerce-table {
    border-collapse: collapse;
    margin-top: 20px;
}

.woocommerce-order .woocommerce-table thead {
    background: #f8f9fa;
}

.woocommerce-order .woocommerce-table th {
    padding: 15px;
    text-align: left;
    color: #2a5298;
    font-weight: 600;
    border-bottom: 2px solid #e0e0e0;
}

.woocommerce-order .woocommerce-table td {
    padding: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-order .woocommerce-table tfoot th,
.woocommerce-order .woocommerce-table tfoot td {
    padding: 15px;
    border-top: 2px solid #e0e0e0;
}

.woocommerce-order .important-notice {
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 68, 68, 0.2);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(255, 68, 68, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255, 68, 68, 0);
    }
}

/* Hide default WooCommerce thank you page elements we don't need */
.woocommerce-order .woocommerce-customer-details {
    display: none;
}

.woocommerce-order .entry-title {
    display: none;
}

/* Override page title for thank you page */
.woocommerce-order-received .entry-title {
    font-size: 0;
}

.woocommerce-order-received .entry-title:after {
    content: "Enquiry Received";
    font-size: 36px;
    color: #2a5298;
}

/* MOBILE FILTER WHITE BACKGROUND OVERRIDE */
@media (max-width: 768px) {
    .shop-filters-sidebar.mobile-responsive,
    .shop-filters-sidebar.mobile-responsive.active {
        background: #ffffff !important;
        background-color: #ffffff !important;
        box-shadow: 2px 0 15px rgba(0, 0, 0, 0.2) !important;
    }
    
    .shop-filters-sidebar.mobile-responsive .filter-widget,
    .shop-filters-sidebar.mobile-responsive .modern-search-widget,
    .shop-filters-sidebar.mobile-responsive .modern-offers-widget,
    .shop-filters-sidebar.mobile-responsive .modern-price-filter,
    .shop-filters-sidebar.mobile-responsive .sidebar-header,
    .shop-filters-sidebar.mobile-responsive .filters-container {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }
    
    /* Ensure filter buttons and controls are visible */
    .shop-filters-sidebar.mobile-responsive button,
    .shop-filters-sidebar.mobile-responsive .filter-button,
    .shop-filters-sidebar.mobile-responsive .mobile-controls-line,
    .shop-filters-sidebar.mobile-responsive input,
    .shop-filters-sidebar.mobile-responsive select,
    .shop-filters-sidebar.mobile-responsive .form-control {
        background: #ffffff !important;
        background-color: #ffffff !important;
        border: 1px solid #ddd !important;
        color: #333333 !important;
        opacity: 1 !important;
    }
    
    /* Specific button styles */
    .shop-filters-sidebar.mobile-responsive .btn,
    .shop-filters-sidebar.mobile-responsive .woocommerce-Button,
    .shop-filters-sidebar.mobile-responsive input[type="submit"] {
        background: #2a5298 !important;
        background-color: #2a5298 !important;
        color: #ffffff !important;
        border: 1px solid #2a5298 !important;
        transition: all 0.3s ease !important;
    }
    
    /* Hover effects for buttons */
    .shop-filters-sidebar.mobile-responsive .btn:hover,
    .shop-filters-sidebar.mobile-responsive .woocommerce-Button:hover,
    .shop-filters-sidebar.mobile-responsive input[type="submit"]:hover {
        background: #FFD814 !important;
        background-color: #FFD814 !important;
        color: #2a5298 !important;
        border: 1px solid #FFD814 !important;
        box-shadow: 0 2px 8px rgba(42, 82, 152, 0.3) !important;
    }
    
    /* Price range slider styling */
    .shop-filters-sidebar.mobile-responsive .price-range-slider,
    .shop-filters-sidebar.mobile-responsive input[type="range"] {
        -webkit-appearance: none !important;
        appearance: none !important;
        width: 100% !important;
        height: 6px !important;
        background: #2a5298 !important;
        border-radius: 3px !important;
        outline: none !important;
        transition: background-color 0.3s ease !important;
        cursor: pointer !important;
    }
    
    /* Price range slider hover */
    .shop-filters-sidebar.mobile-responsive .price-range-slider:hover,
    .shop-filters-sidebar.mobile-responsive input[type="range"]:hover {
        background: #FFD814 !important;
        box-shadow: 0 2px 6px rgba(255, 216, 20, 0.4) !important;
    }
    
    /* Price range slider thumb */
    .shop-filters-sidebar.mobile-responsive input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none !important;
        appearance: none !important;
        width: 18px !important;
        height: 18px !important;
        background: #2a5298 !important;
        border-radius: 50% !important;
        cursor: pointer !important;
        transition: background-color 0.3s ease !important;
        border: 2px solid #ffffff !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
    }
    
    /* Price range slider thumb hover */
    .shop-filters-sidebar.mobile-responsive input[type="range"]:hover::-webkit-slider-thumb {
        background: #FFD814 !important;
        box-shadow: 0 3px 8px rgba(255, 216, 20, 0.4) !important;
    }
    
    /* Firefox slider styling */
    .shop-filters-sidebar.mobile-responsive input[type="range"]::-moz-range-thumb {
        width: 18px !important;
        height: 18px !important;
        background: #2a5298 !important;
        border-radius: 50% !important;
        cursor: pointer !important;
        border: 2px solid #ffffff !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
        transition: background-color 0.3s ease !important;
    }
    
    .shop-filters-sidebar.mobile-responsive input[type="range"]:hover::-moz-range-thumb {
        background: #FFD814 !important;
        box-shadow: 0 3px 8px rgba(255, 216, 20, 0.4) !important;
    }
    
    /* Price range track styling */
    .shop-filters-sidebar.mobile-responsive .price-range-container {
        position: relative !important;
        margin: 15px 0 !important;
        width: 100% !important;
    }
    
    /* Ensure filter button maintains size */
    .shop-filters-sidebar.mobile-responsive .btn,
    .shop-filters-sidebar.mobile-responsive .woocommerce-Button,
    .shop-filters-sidebar.mobile-responsive input[type="submit"],
    .shop-filters-sidebar.mobile-responsive .filter-button {
        min-height: 44px !important;
        padding: 12px 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        display: block !important;
        text-align: center !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        border-radius: 4px !important;
    }
    
    /* Ensure range slider container doesn't shrink */
    .shop-filters-sidebar.mobile-responsive .price-slider-container,
    .shop-filters-sidebar.mobile-responsive .range-slider-wrapper {
        width: 100% !important;
        padding: 10px 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Price display styling */
    .shop-filters-sidebar.mobile-responsive .price-display,
    .shop-filters-sidebar.mobile-responsive .price-label {
        color: #2a5298 !important;
        font-weight: 600 !important;
        transition: color 0.3s ease !important;
    }
    
    .shop-filters-sidebar.mobile-responsive .price-display:hover,
    .shop-filters-sidebar.mobile-responsive .price-label:hover {
        color: #FFD814 !important;
    }
    
    /* Remove any potential transparency issues */
    .mobile-controls-line,
    .mobile-nav-toggle,
    .mobile-filter-toggle {
        /* background: rgba(255, 255, 255, 0.95) !important; */
        border: 1px solid rgba(42, 82, 152, 0.3) !important;
        color: #2a5298 !important;
        opacity: 1 !important;
    }
    
    /* Ensure all mobile filter elements are visible */
    .shop-filters-sidebar.mobile-responsive *:not(:empty) {
        opacity: 1 !important;
    }
}

/* Remove any global transparency overrides that might affect mobile filters */
@media (max-width: 768px) {
    .shop-filters-sidebar.mobile-responsive {
        opacity: 1 !important;
    }
    
    .shop-filters-sidebar.mobile-responsive .filter-widget *,
    .shop-filters-sidebar.mobile-responsive .filters-container * {
        opacity: 1 !important;
    }
}

/* Responsive Checkout */
@media (max-width: 992px) {
    .wc-block-checkout__main,
    .wc-block-checkout__sidebar {
        padding: 25px;
    }
    
    .wc-block-checkout__actions_row {
        flex-direction: column;
        gap: 15px;
    }
    
    .wc-block-components-checkout-return-to-cart-button,
    .wc-block-components-checkout-place-order-button {
        width: 100%;
        justify-content: center;
    }
}

/* Global Search Input Styling - Final Catch All */
input[type="search"]:not(.mobile-search input):not(.woocommerce-product-search input):not(.modern-search-widget input):not(.header-search input):not(.site-search-bar input),
input.search-field:not(.mobile-search .search-field):not(.woocommerce-product-search .search-field):not(.modern-search-widget .search-field):not(.header-search .search-field):not(.site-search-bar .search-field),
.searchform input[type="search"],
.search-form input[type="search"] {
    border: 2px solid #2a5298 !important;
    border-radius: 8px !important;
    padding: 10px 40px 10px 16px !important;
    background: rgba(255,255,255,0.95) !important;
    color: #2a5298 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    box-shadow: 0 2px 6px rgba(42, 82, 152, 0.1) !important;
    transition: all 0.3s ease !important;
}

input[type="search"]:focus:not(.mobile-search input):not(.woocommerce-product-search input):not(.modern-search-widget input):not(.header-search input):not(.site-search-bar input),
input.search-field:focus:not(.mobile-search .search-field):not(.woocommerce-product-search .search-field):not(.modern-search-widget .search-field):not(.header-search .search-field):not(.site-search-bar .search-field),
.searchform input[type="search"]:focus,
.search-form input[type="search"]:focus {
    border-color: #FFD814 !important;
    background: #ffffff !important;
    outline: none !important;
    box-shadow: 0 4px 12px rgba(255, 216, 20, 0.3) !important;
}

/* ===== MOBILE PRODUCT DETAIL PAGE FIXES ===== */
/* Prevent desktop WooCommerce styles from overriding mobile responsive product detail styles */

/* Mobile-first approach - Override desktop WooCommerce single product styles */
@media (max-width: 768px) {
    /* Ensure mobile product detail styles take precedence */
    .single-product-page .woocommerce div.product,
    .woocommerce.single-product div.product {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        clear: both !important;
    }
    
    /* Mobile product images container fixes */
    .woocommerce div.product div.images,
    .woocommerce #content div.product div.images,
    .woocommerce-page div.product div.images,
    .woocommerce-page #content div.product div.images {
        width: 100% !important;
        float: none !important;
        margin: 0 0 20px 0 !important;
        padding: 0 !important;
        display: block !important;
    }
    
    /* Mobile product summary/details fixes */
    .woocommerce div.product div.summary,
    .woocommerce #content div.product div.summary,
    .woocommerce-page div.product div.summary,
    .woocommerce-page #content div.product div.summary {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }
    
    /* Override WooCommerce default product title styles on mobile */
    .woocommerce div.product .product_title,
    .woocommerce div.product h1.product_title,
    .woocommerce-page div.product .product_title,
    .woocommerce-page div.product h1.product_title {
        font-size: 22px !important;
        margin-bottom: 15px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
        color: #333 !important;
        text-align: left !important;
    }
    
    /* Override WooCommerce default price styles on mobile */
    .woocommerce div.product p.price,
    .woocommerce div.product span.price,
    .woocommerce-page div.product p.price,
    .woocommerce-page div.product span.price {
        font-size: 26px !important;
        color: #e53e3e !important;
        font-weight: 800 !important;
        margin: 0 0 20px 0 !important;
        text-align: left !important;
    }
    
    /* Override WooCommerce cart form styles on mobile */
    .woocommerce div.product form.cart,
    .woocommerce-page div.product form.cart {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        display: block !important;
        clear: both !important;
    }
    
    /* Override WooCommerce quantity input styles on mobile */
    .woocommerce div.product form.cart div.quantity,
    .woocommerce-page div.product form.cart div.quantity {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        display: flex !important;
        align-items: center !important;
    }
    
    /* Override WooCommerce add to cart button styles on mobile - Blue Rounded */
    .woocommerce div.product form.cart .button,
    .woocommerce div.product form.cart .single_add_to_cart_button,
    .woocommerce-page div.product form.cart .button,
    .woocommerce-page div.product form.cart .single_add_to_cart_button {
        width: 100% !important;
        margin: 15px 0 0 0 !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%) !important;
        color: white !important;
        border: none !important;
        border-radius: 30px !important;
        text-transform: none !important;
        letter-spacing: 0.3px !important;
        min-height: 42px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        box-shadow: 0 4px 15px rgba(30, 60, 114, 0.3) !important;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    }
    
    /* Mobile button hover states */
    .woocommerce div.product form.cart .button:hover,
    .woocommerce div.product form.cart .single_add_to_cart_button:hover,
    .woocommerce-page div.product form.cart .button:hover,
    .woocommerce-page div.product form.cart .single_add_to_cart_button:hover {
        background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%) !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 6px 20px rgba(42, 82, 152, 0.4) !important;
    }
    
    .woocommerce div.product form.cart .button:active,
    .woocommerce div.product form.cart .single_add_to_cart_button:active,
    .woocommerce-page div.product form.cart .button:active,
    .woocommerce-page div.product form.cart .single_add_to_cart_button:active {
        transform: translateY(0) !important;
        background: linear-gradient(135deg, #1a2847 0%, #173a6b 100%) !important;
    }
    
    /* Override WooCommerce tabs/accordion on mobile */
    .woocommerce div.product .woocommerce-tabs,
    .woocommerce-page div.product .woocommerce-tabs {
        width: 100% !important;
        clear: both !important;
        margin: 20px 0 100px 0 !important;
        padding: 0 !important;
    }
    
    .woocommerce div.product .woocommerce-tabs ul.tabs,
    .woocommerce-page div.product .woocommerce-tabs ul.tabs {
        display: flex !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 0 20px 0 !important;
        background: #fff !important;
        border-radius: 10px !important;
        overflow-x: auto !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
        border: none !important;
    }
    
    .woocommerce div.product .woocommerce-tabs ul.tabs li,
    .woocommerce-page div.product .woocommerce-tabs ul.tabs li {
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        border-radius: 0 !important;
        flex-shrink: 0 !important;
    }
    
    .woocommerce div.product .woocommerce-tabs ul.tabs li a,
    .woocommerce-page div.product .woocommerce-tabs ul.tabs li a {
        padding: 15px 20px !important;
        border-bottom: 3px solid transparent !important;
        font-weight: 600 !important;
        font-size: 14px !important;
        white-space: nowrap !important;
        color: #666 !important;
        min-width: 120px !important;
        text-align: center !important;
        border-radius: 0 !important;
        background: transparent !important;
        display: block !important;
        text-decoration: none !important;
    }
    
    .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
    .woocommerce-page div.product .woocommerce-tabs ul.tabs li.active a {
        border-bottom-color: #e53e3e !important;
        color: #e53e3e !important;
        background: #fef2f2 !important;
    }
    
    /* Override WooCommerce gallery styles on mobile */
    .woocommerce div.product div.images .woocommerce-product-gallery,
    .woocommerce-page div.product div.images .woocommerce-product-gallery {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
    }
    
    .woocommerce div.product div.images .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
    .woocommerce-page div.product div.images .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .woocommerce div.product div.images .woocommerce-product-gallery__image,
    .woocommerce-page div.product div.images .woocommerce-product-gallery__image {
        width: 100% !important;
        margin: 0 0 15px 0 !important;
        padding: 0 !important;
    }
    
    .woocommerce div.product div.images .woocommerce-product-gallery__image img,
    .woocommerce-page div.product div.images .woocommerce-product-gallery__image img {
        width: 100% !important;
        height: auto !important;
        max-height: 350px !important;
        object-fit: cover !important;
        border-radius: 10px !important;
    }
}

/* Tablet adjustments */
@media (min-width: 481px) and (max-width: 768px) {
    .single-product-page .product-title,
    .woocommerce div.product .product_title,
    .woocommerce div.product h1.product_title {
        font-size: 24px !important;
    }
}

/* ===== GLOBAL ADD TO CART BUTTON STYLING ===== */
/* Apply blue rounded style to all WooCommerce Add to Cart buttons */

/* All WooCommerce buttons - Base styling - Dark Blue */
.woocommerce .button,
.woocommerce button,
.woocommerce input[type="submit"],
.woocommerce input[type="button"],
.woocommerce .single_add_to_cart_button,
.woocommerce .add_to_cart_button,
a.button,
button.button {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0.3px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(30, 60, 114, 0.3) !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    cursor: pointer !important;
}

/* Cart icons removed as per request */

/* Hover states for all buttons - Dark Blue */
.woocommerce .button:hover,
.woocommerce button:hover,
.woocommerce input[type="submit"]:hover,
.woocommerce input[type="button"]:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .add_to_cart_button:hover,
a.button:hover,
button.button:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(42, 82, 152, 0.4) !important;
}

/* Active states for all buttons - Dark Blue */
.woocommerce .button:active,
.woocommerce button:active,
.woocommerce input[type="submit"]:active,
.woocommerce input[type="button"]:active,
.woocommerce .single_add_to_cart_button:active,
.woocommerce .add_to_cart_button:active,
a.button:active,
button.button:active {
    transform: translateY(0) !important;
    background: linear-gradient(135deg, #1a2847 0%, #173a6b 100%) !important;
}

/* Specific sizing for different contexts */
/* Product grid buttons */
.woocommerce ul.products .button {
    padding: 12px 20px !important;
    font-size: 14px !important;
    min-height: 40px !important;
}

/* Single product page buttons - Reduced size */
.woocommerce .single-product .single_add_to_cart_button,
.single-product-page .add-to-cart-btn {
    padding: 12px 24px !important;
    font-size: 14px !important;
    min-height: 40px !important;
    border-radius: 30px !important;
}

/* Cart page buttons */
.woocommerce-cart .button {
    padding: 12px 24px !important;
    font-size: 15px !important;
    min-height: 44px !important;
}

/* Checkout buttons */
.woocommerce-checkout .button {
    padding: 16px 32px !important;
    font-size: 16px !important;
    min-height: 50px !important;
}

/* Related Products - Smaller buttons for better visual hierarchy */
.related-products .woocommerce .button,
.related-products .add_to_cart_button,
.related-products .single_add_to_cart_button,
.related-products ul.products .button {
    padding: 8px 16px !important;
    font-size: 12px !important;
    min-height: 32px !important;
    margin: 8px 0 0 0 !important;
    border-radius: 20px !important;
    font-weight: 500 !important;
}

.related-products .woocommerce .button:hover,
.related-products .add_to_cart_button:hover,
.related-products .single_add_to_cart_button:hover,
.related-products ul.products .button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(42, 82, 152, 0.3) !important;
}

/* Mobile specific overrides */
@media (max-width: 768px) {
    .woocommerce .single_add_to_cart_button,
    .single-product-page .add-to-cart-btn {
        width: 100% !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        min-height: 42px !important;
        border-radius: 30px !important;
    }
    
    .woocommerce ul.products .button {
        width: calc(100% - 40px) !important;
        margin: 0 20px !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
        min-height: 40px !important;
    }
    
    /* Even smaller related products buttons on mobile */
    .related-products .woocommerce .button,
    .related-products .add_to_cart_button,
    .related-products .single_add_to_cart_button,
    .related-products ul.products .button {
        padding: 6px 12px !important;
        font-size: 11px !important;
        min-height: 28px !important;
        margin: 6px 0 0 0 !important;
        border-radius: 16px !important;
        width: calc(100% - 24px) !important;
        margin-left: 12px !important;
        margin-right: 12px !important;
    }
    
    /* Force single column layout for Related Products on mobile */
    .related-products .woocommerce ul.products,
    .related-products ul.products,
    .related-products .products-grid {
        grid-template-columns: 1fr !important;
        display: grid !important;
        gap: 20px !important;
    }
    
    .related-products .woocommerce ul.products li.product,
    .related-products ul.products li.product,
    .related-products .product-card {
        width: 100% !important;
        float: none !important;
        margin: 0 auto !important;
        max-width: 400px !important;
    }
    
    /* High specificity override for WooCommerce columns */
    .single-product-page .related-products .woocommerce ul.products[class*="columns-"],
    .single-product-page .related-products .woocommerce ul.products {
        grid-template-columns: 1fr !important;
        -webkit-column-count: 1 !important;
        -moz-column-count: 1 !important;
        column-count: 1 !important;
    }
    
    .single-product-page .related-products .woocommerce ul.products li.product {
        width: 100% !important;
        margin: 0 auto 20px auto !important;
        float: none !important;
        clear: both !important;
        max-width: 400px !important;
    }
    
    /* Override any inline width styles from WooCommerce */
    .single-product-page .related-products .woocommerce ul.products li.product[style] {
        width: 100% !important;
    }
}

/* ===== WOOCOMMERCE SHOP PAGE MOBILE RESPONSIVENESS ===== */
/* Mobile Product List - Single Column Layout */
@media (max-width: 768px) {
    /* Force single column for shop/product list pages */
    .woocommerce ul.products:not(.related-products ul.products) {
        grid-template-columns: 1fr !important;
        display: grid !important;
        gap: 25px !important;
        margin: 0 !important;
        padding: 0 15px !important;
    }
    
    /* Individual product items - mobile styling */
    .woocommerce ul.products:not(.related-products ul.products) li.product {
        width: 100% !important;
        float: none !important;
        margin: 0 auto !important;
        max-width: 400px !important;
        background: #fff !important;
        border-radius: 12px !important;
        box-shadow: 0 2px 15px rgba(0,0,0,0.08) !important;
        overflow: hidden !important;
        transition: transform 0.3s ease !important;
    }
    
    .woocommerce ul.products:not(.related-products ul.products) li.product:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
    }
    
    /* Product images - mobile optimization */
    .woocommerce ul.products:not(.related-products ul.products) li.product a img {
        height: 250px !important;
        object-fit: cover !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }
    
    .woocommerce ul.products:not(.related-products ul.products) li.product a.woocommerce-LoopProduct-link {
        background: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
    }
    
    /* Product titles - mobile styling */
    .woocommerce ul.products:not(.related-products ul.products) li.product .woocommerce-loop-product__title,
    .woocommerce ul.products:not(.related-products ul.products) li.product h2 {
        padding: 16px 16px 8px 16px !important;
        margin: 0 !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        line-height: 1.4 !important;
        min-height: auto !important;
        background: transparent !important;
    }
    
    /* Product prices - mobile styling */
    .woocommerce ul.products:not(.related-products ul.products) li.product .price {
        padding: 0 16px 16px 16px !important;
        font-size: 20px !important;
        margin: 0 !important;
        font-weight: 700 !important;
    }
    
    /* Product buttons - mobile styling */
    .woocommerce ul.products:not(.related-products ul.products) li.product .button {
        margin: 0 16px 16px 16px !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        min-height: 44px !important;
        width: calc(100% - 32px) !important;
        border-radius: 25px !important;
    }
    
    /* Sale badges - mobile positioning */
    .woocommerce ul.products:not(.related-products ul.products) li.product .onsale {
        top: 15px !important;
        right: 15px !important;
        padding: 8px 12px !important;
        font-size: 12px !important;
        border-radius: 20px !important;
    }
    
    /* Override any WooCommerce column classes on mobile */
    .woocommerce ul.products[class*="columns-"]:not(.related-products ul.products) {
        grid-template-columns: 1fr !important;
        -webkit-column-count: 1 !important;
        -moz-column-count: 1 !important;
        column-count: 1 !important;
    }
    
    /* Override inline styles from WooCommerce */
    .woocommerce ul.products:not(.related-products ul.products) li.product[style] {
        width: 100% !important;
    }
    
    /* Shop page toolbar - mobile responsiveness */
    .woocommerce-custom-wrapper {
        padding: 0 15px !important;
    }
    
    .woocommerce .woocommerce-ordering {
        float: none !important;
        text-align: center !important;
        margin: 0 0 20px 0 !important;
    }
    
    .woocommerce .woocommerce-result-count {
        float: none !important;
        text-align: center !important;
        margin: 0 0 10px 0 !important;
        font-size: 14px !important;
    }
    
    .woocommerce .woocommerce-ordering select {
        width: 100% !important;
        max-width: 280px !important;
        padding: 12px 20px !important;
        font-size: 15px !important;
    }
    
    /* Pagination - mobile styling */
    .woocommerce nav.woocommerce-pagination {
        padding: 0 15px !important;
        text-align: center !important;
        margin-top: 30px !important;
    }
    
    .woocommerce nav.woocommerce-pagination ul {
        justify-content: center !important;
        flex-wrap: wrap !important;
    }
    
    .woocommerce nav.woocommerce-pagination ul li {
        margin: 5px !important;
    }
    
    .woocommerce nav.woocommerce-pagination ul li a,
    .woocommerce nav.woocommerce-pagination ul li span {
        padding: 10px 15px !important;
        font-size: 14px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Shop page breadcrumbs - mobile styling */
    .woocommerce .woocommerce-breadcrumb {
        padding: 0 15px !important;
        margin: 0 0 20px 0 !important;
        font-size: 14px !important;
        text-align: center !important;
    }
    
    /* Shop page messages/notices - mobile styling */
    .woocommerce .woocommerce-message,
    .woocommerce .woocommerce-error,
    .woocommerce .woocommerce-info {
        margin: 0 15px 20px 15px !important;
        padding: 15px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
    }
    
    /* Loading states and animations */
    .woocommerce ul.products:not(.related-products ul.products) li.product {
        animation: fadeInUp 0.6s ease-out !important;
    }
    
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* Small mobile devices - additional optimizations for shop page */
@media (max-width: 480px) {
    .woocommerce ul.products:not(.related-products ul.products) {
        padding: 0 10px !important;
        gap: 20px !important;
    }
    
    .woocommerce ul.products:not(.related-products ul.products) li.product {
        max-width: 100% !important;
        margin: 0 !important;
    }
    
    .woocommerce ul.products:not(.related-products ul.products) li.product a img {
        height: 220px !important;
    }
    
    .woocommerce ul.products:not(.related-products ul.products) li.product .woocommerce-loop-product__title,
    .woocommerce ul.products:not(.related-products ul.products) li.product h2 {
        font-size: 16px !important;
        padding: 14px 14px 6px 14px !important;
    }
    
    .woocommerce ul.products:not(.related-products ul.products) li.product .price {
        font-size: 18px !important;
        padding: 0 14px 14px 14px !important;
    }
    
    .woocommerce ul.products:not(.related-products ul.products) li.product .button {
        margin: 0 14px 14px 14px !important;
        width: calc(100% - 28px) !important;
        padding: 10px 16px !important;
        font-size: 13px !important;
        min-height: 40px !important;
    }
}

/* ===== WOOCOMMERCE SHOP PAGE DESKTOP FILTERS STYLING ===== */
/* Desktop-only styling for shop page filters */
@media (min-width: 769px) {
    /* Search Products Filter - Search Icon Styling (No Background, No Hover) */
    .woocommerce .woocommerce-widget-layered-nav-list .search-icon,
    .widget_product_search .search-submit,
    .widget_product_search button[type="submit"],
    .woocommerce-product-search .search-submit,
    .woocommerce-product-search button[type="submit"],
    .search-form .search-submit,
    .searchform .search-submit,
    .shop-filters .search-icon,
    .product-search-form .search-icon,
    .product-search-form button[type="submit"] {
        background: transparent !important;
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }
    
    /* Remove all hover effects from search icons */
    .woocommerce .woocommerce-widget-layered-nav-list .search-icon:hover,
    .widget_product_search .search-submit:hover,
    .widget_product_search button[type="submit"]:hover,
    .woocommerce-product-search .search-submit:hover,
    .woocommerce-product-search button[type="submit"]:hover,
    .search-form .search-submit:hover,
    .searchform .search-submit:hover,
    .shop-filters .search-icon:hover,
    .product-search-form .search-icon:hover,
    .product-search-form button[type="submit"]:hover {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
        transform: none !important;
        color: inherit !important;
    }
    
    /* Additional search icon selectors for broader coverage */
    .woocommerce .widget_product_search form::after,
    .woocommerce .widget_product_search .search-field + button,
    .woocommerce .widget_product_search .search-field + .search-submit {
        background: transparent !important;
        box-shadow: none !important;
    }
    
    .woocommerce .widget_product_search form::after:hover,
    .woocommerce .widget_product_search .search-field + button:hover,
    .woocommerce .widget_product_search .search-field + .search-submit:hover {
        background: transparent !important;
        box-shadow: none !important;
        color: inherit !important;
    }
    
    /* Product Categories Filter - Category List Styling */
    .woocommerce .widget_product_categories ul li,
    .woocommerce .widget_layered_nav ul li,
    .widget_product_categories ul li,
    .widget_layered_nav ul li,
    .product-categories ul li,
    .woocommerce-widget-layered-nav ul li {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        transition: color 0.3s ease !important;
        background: transparent !important;
    }
    
    /* Category Link Styling */
    .woocommerce .widget_product_categories ul li a,
    .woocommerce .widget_layered_nav ul li a,
    .widget_product_categories ul li a,
    .widget_layered_nav ul li a,
    .product-categories ul li a,
    .woocommerce-widget-layered-nav ul li a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        text-decoration: none !important;
        transition: color 0.3s ease !important;
        background: transparent !important;
    }
    
    /* Selected/Active Category - Remove Blue Background */
    .woocommerce .widget_product_categories ul li.current-cat,
    .woocommerce .widget_product_categories ul li.current-cat a,
    .woocommerce .widget_layered_nav ul li.chosen,
    .woocommerce .widget_layered_nav ul li.chosen a,
    .widget_product_categories ul li.current-cat,
    .widget_product_categories ul li.current-cat a,
    .widget_layered_nav ul li.chosen,
    .widget_layered_nav ul li.chosen a,
    .product-categories ul li.current-cat,
    .product-categories ul li.current-cat a,
    .woocommerce-widget-layered-nav ul li.chosen,
    .woocommerce-widget-layered-nav ul li.chosen a {
        background: transparent !important;
        background-color: transparent !important;
        color: inherit !important;
    }
    
    /* Category Name and Count - Keep on Same Line */
    .woocommerce .widget_product_categories ul li a .count,
    .woocommerce .widget_layered_nav ul li a .count,
    .widget_product_categories ul li a .count,
    .widget_layered_nav ul li a .count,
    .product-categories ul li a .count,
    .woocommerce-widget-layered-nav ul li a .count {
        display: inline !important;
        margin-left: auto !important;
        flex-shrink: 0 !important;
    }
    
    /* Hover Effect - Entire Category Text to Yellow (#FFD700) */
    .woocommerce .widget_product_categories ul li:hover,
    .woocommerce .widget_layered_nav ul li:hover,
    .widget_product_categories ul li:hover,
    .widget_layered_nav ul li:hover,
    .product-categories ul li:hover,
    .woocommerce-widget-layered-nav ul li:hover {
        color: #FFD700 !important;
        background: transparent !important;
    }
    
    .woocommerce .widget_product_categories ul li:hover a,
    .woocommerce .widget_layered_nav ul li:hover a,
    .widget_product_categories ul li:hover a,
    .widget_layered_nav ul li:hover a,
    .product-categories ul li:hover a,
    .woocommerce-widget-layered-nav ul li:hover a {
        color: #FFD700 !important;
        background: transparent !important;
    }
    
    /* Ensure quantity number changes color with the rest of the text */
    .woocommerce .widget_product_categories ul li:hover a .count,
    .woocommerce .widget_layered_nav ul li:hover a .count,
    .widget_product_categories ul li:hover a .count,
    .widget_layered_nav ul li:hover a .count,
    .product-categories ul li:hover a .count,
    .woocommerce-widget-layered-nav ul li:hover a .count {
        color: #FFD700 !important;
        background: transparent !important;
    }
    
    /* Additional category selectors for broader coverage */
    .sidebar .widget ul li:hover,
    .widget-area .widget ul li:hover {
        color: #ffd700 !important;
    }
    
    .sidebar .widget ul li:hover a,
    .widget-area .widget ul li:hover a {
        color: #ffd700 !important;
    }
    
    /* Font Awesome search icons */
    .fa-search,
    .fas.fa-search,
    .far.fa-search,
    .dashicons-search,
    .search-icon,
    [class*="search-icon"],
    [class*="icon-search"] {
        color: #003366 !important;
        transition: color 0.3s ease !important;
    }
    
    .fa-search:hover,
    .fas.fa-search:hover,
    .far.fa-search:hover,
    .dashicons-search:hover,
    .search-icon:hover,
    [class*="search-icon"]:hover,
    [class*="icon-search"]:hover {
        color: #4a90e2 !important;
    }
    
    /* Additional search form styling */
    .woocommerce .widget_product_search input[type="search"] + button,
    .woocommerce .widget_product_search input[type="search"] + .search-submit,
    .widget_product_search input[type="search"] + button,
    .widget_product_search input[type="search"] + .search-submit {
        background: transparent !important;
        color: #003366 !important;
        border: none !important;
    }
    
    .woocommerce .widget_product_search input[type="search"] + button:hover,
    .woocommerce .widget_product_search input[type="search"] + .search-submit:hover,
    .widget_product_search input[type="search"] + button:hover,
    .widget_product_search input[type="search"] + .search-submit:hover {
        color: #4a90e2 !important;
    }
    
    /* Search form button pseudo-elements */
    .widget_product_search form button::before,
    .woocommerce .widget_product_search form button::before {
        color: #003366 !important;
    }
    
    .widget_product_search form button:hover::before,
    .woocommerce .widget_product_search form button:hover::before {
        color: #4a90e2 !important;
    }
}

/* Tablet specific overrides for related products */
@media (min-width: 481px) and (max-width: 768px) {
    .related-products .woocommerce .button,
    .related-products .add_to_cart_button,
    .related-products .single_add_to_cart_button,
    .related-products ul.products .button {
        padding: 7px 14px !important;
        font-size: 12px !important;
        min-height: 30px !important;
        margin: 7px 0 0 0 !important;
        border-radius: 18px !important;
        width: calc(100% - 28px) !important;
        margin-left: 14px !important;
        margin-right: 14px !important;
    }
}

/* Desktop - ensure our custom styles work alongside WooCommerce defaults */
@media (min-width: 769px) {
    /* Allow WooCommerce defaults on desktop but ensure our custom template works */
    .single-product-page .product-detail-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 40px;
    }
    
    .single-product-page .product-detail-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
        margin-bottom: 50px;
    }
}

/* ===== WOOCOMMERCE SHOP PAGE MOBILE FILTERS STYLING ===== */
/* Mobile-only styling for shop page filters */
@media (max-width: 768px) {
    /* Filter by Price Button - Dark Blue Color */
    .filter-btn,
    .price-filter-wrapper .filter-btn,
    .price-filter button,
    .woocommerce .widget_price_filter button,
    .widget_price_filter button[type="submit"],
    .widget_price_filter .button,
    .woocommerce .widget_price_filter .price_slider_amount .button,
    .price_slider_amount .button,
    .price-slider-container .filter-btn,
    .price-filter-wrapper button[type="submit"],
    .woocommerce-widget-layered-nav-list .button,
    .shop-filters button[type="submit"] {
        background: #003366 !important;
        background-color: #003366 !important;
        color: #fff !important;
        border: 1px solid #003366 !important;
    }
    
    /* Filter by Price Button Hover State */
    .filter-btn:hover,
    .price-filter-wrapper .filter-btn:hover,
    .price-filter button:hover,
    .woocommerce .widget_price_filter button:hover,
    .widget_price_filter button[type="submit"]:hover,
    .widget_price_filter .button:hover,
    .woocommerce .widget_price_filter .price_slider_amount .button:hover,
    .price_slider_amount .button:hover,
    .price-slider-container .filter-btn:hover,
    .price-filter-wrapper button[type="submit"]:hover,
    .woocommerce-widget-layered-nav-list .button:hover,
    .shop-filters button[type="submit"]:hover {
        background: #002244 !important;
        background-color: #002244 !important;
        border-color: #002244 !important;
        color: #fff !important;
    }
    
    /* Remove Arrow Icons from Category Names */
    .woocommerce .widget_product_categories ul li a::after,
    .woocommerce .widget_layered_nav ul li a::after,
    .widget_product_categories ul li a::after,
    .widget_layered_nav ul li a::after,
    .product-categories ul li a::after,
    .woocommerce-widget-layered-nav ul li a::after,
    .category-filter-list a::after,
    .category-filter-list li::after,
    .shop-filters .widget ul li a::after,
    .shop-filters .widget ul li::after,
    .sidebar .widget ul li a::after,
    .sidebar .widget ul li::after,
    .widget-area .widget ul li a::after,
    .widget-area .widget ul li::after {
        content: none !important;
        display: none !important;
    }
    
    /* Remove Arrow Icons from Category Names - Before Pseudo Elements */
    .woocommerce .widget_product_categories ul li a::before,
    .woocommerce .widget_layered_nav ul li a::before,
    .widget_product_categories ul li a::before,
    .widget_layered_nav ul li a::before,
    .product-categories ul li a::before,
    .woocommerce-widget-layered-nav ul li a::before,
    .category-filter-list a::before,
    .category-filter-list li::before,
    .shop-filters .widget ul li a::before,
    .shop-filters .widget ul li::before,
    .sidebar .widget ul li a::before,
    .sidebar .widget ul li::before,
    .widget-area .widget ul li a::before,
    .widget-area .widget ul li::before {
        content: none !important;
        display: none !important;
    }
    
    /* Remove Hover Effects from Category Arrow Icons */
    .woocommerce .widget_product_categories ul li:hover a::after,
    .woocommerce .widget_layered_nav ul li:hover a::after,
    .widget_product_categories ul li:hover a::after,
    .widget_layered_nav ul li:hover a::after,
    .product-categories ul li:hover a::after,
    .woocommerce-widget-layered-nav ul li:hover a::after,
    .category-filter-list a:hover::after,
    .category-filter-list li:hover::after,
    .shop-filters .widget ul li:hover a::after,
    .shop-filters .widget ul li:hover::after,
    .sidebar .widget ul li:hover a::after,
    .sidebar .widget ul li:hover::after,
    .widget-area .widget ul li:hover a::after,
    .widget-area .widget ul li:hover::after {
        content: none !important;
        display: none !important;
        color: transparent !important;
        opacity: 0 !important;
    }
    
    .woocommerce .widget_product_categories ul li:hover a::before,
    .woocommerce .widget_layered_nav ul li:hover a::before,
    .widget_product_categories ul li:hover a::before,
    .widget_layered_nav ul li:hover a::before,
    .product-categories ul li:hover a::before,
    .woocommerce-widget-layered-nav ul li:hover a::before,
    .category-filter-list a:hover::before,
    .category-filter-list li:hover::before,
    .shop-filters .widget ul li:hover a::before,
    .shop-filters .widget ul li:hover::before,
    .sidebar .widget ul li:hover a::before,
    .sidebar .widget ul li:hover::before,
    .widget-area .widget ul li:hover a::before,
    .widget-area .widget ul li:hover::before {
        content: none !important;
        display: none !important;
        color: transparent !important;
        opacity: 0 !important;
    }
    
    /* Additional selectors for comprehensive arrow removal */
    .mobile-filters .widget ul li a::after,
    .mobile-filters .widget ul li a::before,
    .mobile-filters .widget ul li::after,
    .mobile-filters .widget ul li::before,
    [class*="category"] ul li a::after,
    [class*="category"] ul li a::before,
    [class*="filter"] ul li a::after,
    [class*="filter"] ul li a::before {
        content: none !important;
        display: none !important;
    }
    
    /* Remove any Unicode arrows that might be hardcoded */
    .woocommerce .widget_product_categories ul li a,
    .woocommerce .widget_layered_nav ul li a,
    .widget_product_categories ul li a,
    .widget_layered_nav ul li a,
    .product-categories ul li a,
    .woocommerce-widget-layered-nav ul li a {
        position: relative;
    }
    
    /* Override any theme-specific arrow styles */
    .woocommerce .widget_product_categories ul li a:after,
    .woocommerce .widget_layered_nav ul li a:after,
    .widget_product_categories ul li a:after,
    .widget_layered_nav ul li a:after {
        content: "" !important;
        display: none !important;
    }
    
    /* Ensure WooCommerce pages have identical mobile header to home page */
    .woocommerce-page .site-header,
    .single-product .site-header,
    body.woocommerce .site-header {
        padding: 5px 0 !important;
    }
    
    .woocommerce-page .mobile-header,
    .single-product .mobile-header,
    body.woocommerce .mobile-header {
        display: block !important;
    }
    
    .woocommerce-page .desktop-header,
    .single-product .desktop-header,
    body.woocommerce .desktop-header {
        display: none !important;
    }
    
    /* Ensure mobile logo line is identical */
    .woocommerce-page .mobile-logo-line,
    .single-product .mobile-logo-line,
    body.woocommerce .mobile-logo-line {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 8px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        margin-bottom: 5px;
    }
    
    .woocommerce-page .mobile-logo-line .logo-image,
    .single-product .mobile-logo-line .logo-image,
    body.woocommerce .mobile-logo-line .logo-image {
        max-height: 40px;
        width: auto;
    }
    
    /* Ensure mobile controls line is identical */
    .woocommerce-page .mobile-controls-line,
    .single-product .mobile-controls-line,
    body.woocommerce .mobile-controls-line {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 5px 0;
        flex-wrap: nowrap;
        min-height: 48px;
        width: 100%;
    }
    
    /* Ensure hamburger toggle is identical */
    .woocommerce-page .mobile-nav-toggle,
    .single-product .mobile-nav-toggle,
    body.woocommerce .mobile-nav-toggle {
        order: 1;
        flex-shrink: 0;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background: rgba(255, 255, 255, 0.1);
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.2s ease;
    }
    
    /* Ensure mobile search is identical */
    .woocommerce-page .mobile-search,
    .single-product .mobile-search,
    body.woocommerce .mobile-search {
        order: 2;
        flex: 1;
        max-width: 45% !important;
        margin-right: 16px !important;
        min-width: 120px;
    }
    
    /* Ensure mobile icons group is identical */
    .woocommerce-page .mobile-icons-group,
    .single-product .mobile-icons-group,
    body.woocommerce .mobile-icons-group {
        display: flex !important;
        align-items: center;
        gap: 8px;
        order: 3;
        flex-shrink: 0;
        padding-left: 12px;
        margin-left: auto;
    }
    
    /* Ensure mobile navigation is identical */
    .woocommerce-page .mobile-nav,
    .single-product .mobile-nav,
    body.woocommerce .mobile-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
        border-radius: 0 0 10px 10px;
        z-index: 1500;
        display: none !important;
        padding: 10px 0;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }
    
    .woocommerce-page .mobile-nav.open,
    .single-product .mobile-nav.open,
    body.woocommerce .mobile-nav.open {
        display: block !important;
    }
}
