/*
Theme Name: Vexora Theme
Theme URI: http://vexoraglobalshop.com/
Author: Palmate Solutions
Author URI: https://palmatesolutions.com
Description: Custom WooCommerce theme for Vexora Global Shop with Elementor Free widgets support.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vexora
*/

/* ==========================================================================
   DESIGN SYSTEM & VARIABLES
   ========================================================================== */
:root {
    --primary: #E31E24;
    --primary-hover: #c5171c;
    --dark: #111111;
    --dark-hover: #1a1a1a;
    --light-bg: #f5f5f5;
    --white: #ffffff;
    --text: #333333;
    --text-muted: #888888;
    --border: #e5e5e5;
    --star-color: #f5a623;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.1);
    --font: 'Poppins', sans-serif;
    --font-alt: 'Inter', sans-serif;
    --radius: 4px;
    --radius-lg: 8px;
    --transition: all 0.3s ease;
}

/* ==========================================================================
   RESET
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);font-size:14px;line-height:1.6;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none;transition:var(--transition)}
a:hover{color:var(--primary)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;color:var(--dark);margin-bottom:0.5em}

/* ==========================================================================
   LAYOUT
   ========================================================================== */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-5{grid-template-columns:repeat(5,1fr)}
.flex{display:flex}
.flex-center{align-items:center}
.flex-between{justify-content:space-between}
.flex-wrap{flex-wrap:wrap}
.gap-10{gap:10px}
.gap-15{gap:15px}
.gap-20{gap:20px}
.gap-30{gap:30px}
.text-center{text-align:center}

@media(max-width:1024px){
    .grid-4,.grid-5{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
    .grid-3,.grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}
    .grid-2{grid-template-columns:1fr}
}
@media(max-width:480px){
    .grid-2,.grid-3{grid-template-columns:1fr}
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;font-weight:600;font-size:13px;border-radius:var(--radius);transition:var(--transition);cursor:pointer;border:2px solid transparent;text-transform:none;letter-spacing:0}
.btn-primary{background:var(--primary);color:var(--white);border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-hover);color:var(--white);transform:translateY(-1px)}
.btn-dark{background:var(--dark);color:var(--white);border-color:var(--dark)}
.btn-dark:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}
.btn-outline{background:transparent;color:var(--dark);border-color:var(--dark)}
.btn-outline:hover{background:var(--dark);color:var(--white)}
.btn-outline-white{background:transparent;color:var(--white);border-color:var(--white)}
.btn-outline-white:hover{background:var(--white);color:var(--dark)}
.btn-sm{padding:8px 16px;font-size:12px}

/* ==========================================================================
   BADGES
   ========================================================================== */
.badge{display:inline-block;padding:3px 10px;font-size:11px;font-weight:700;border-radius:var(--radius);text-transform:uppercase}
.badge-sale{background:var(--primary);color:var(--white)}
.badge-new{background:var(--dark);color:var(--white)}

/* ==========================================================================
   SECTION TITLE
   ========================================================================== */
.section-header{margin-bottom:30px}
.section-header h2{font-size:22px;font-weight:700;margin-bottom:5px}
.section-header p{font-family:var(--font-alt);color:var(--text-muted);font-size:13px;margin:0}
.section-header .view-all{font-size:13px;font-weight:600;color:var(--primary)}
.section-header .view-all:hover{text-decoration:underline}
.section-header .view-all svg{width:14px;height:14px;vertical-align:middle;margin-left:3px}

/* ==========================================================================
   TOP ANNOUNCEMENT BAR (matching reference exactly)
   ========================================================================== */
.top-bar{background:var(--dark);color:var(--white);font-size:12px;padding:8px 0}
.top-bar-left{display:flex;align-items:center;gap:25px}
.top-bar-left span{display:flex;align-items:center;gap:6px;font-weight:400;font-size:11px;opacity:.85}
.top-bar-left svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.top-bar-right{display:flex;align-items:center;gap:20px;font-size:11px}
.top-bar-right a{color:var(--white);opacity:.85}
.top-bar-right a:hover{opacity:1;color:var(--primary)}

@media(max-width:768px){
    .top-bar-left span:nth-child(n+2){display:none}
    .top-bar-right{gap:10px}
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000}
.header-main{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:35px}
.site-logo img,
.site-logo .custom-logo{max-height:40px;width:auto;height:auto;object-fit:contain}
.site-logo-text{font-size:26px;font-weight:800;color:var(--dark);display:flex;align-items:center;gap:2px;white-space:nowrap}
.site-logo-text .logo-v{color:var(--primary);font-size:30px;font-weight:900}

/* Search */
.header-search{flex-grow:1;max-width:550px;margin:0 auto}
.vexora-search-form{display:flex;border:2px solid var(--border);border-radius:var(--radius);overflow:hidden;height:42px;width:100%}
.vexora-search-form input[type="search"]{flex-grow:1;padding:0 18px;font-size:13.5px;border:none;background:var(--white)}
.vexora-search-form button{background:var(--primary);color:var(--white);padding:0 20px;cursor:pointer;transition:var(--transition);border:none}
.vexora-search-form button:hover{background:var(--primary-hover)}
.vexora-search-form button svg{width:16px;height:16px}

/* Actions */
.header-actions{display:flex;align-items:center;gap:20px}
.header-action-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:500;color:var(--text);position:relative;cursor:pointer;white-space:nowrap}
.header-action-item svg{width:22px;height:22px;fill:none;stroke:var(--dark);stroke-width:1.8}
.header-action-item:hover svg{stroke:var(--primary)}
.header-action-item:hover{color:var(--primary)}
.action-badge{position:absolute;top:-6px;right:-8px;background:var(--primary);color:var(--white);font-size:10px;font-weight:700;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}

.mobile-nav-toggle{display:none;flex-direction:column;justify-content:space-between;width:22px;height:16px;cursor:pointer}
.mobile-nav-toggle span{display:block;height:2px;width:100%;background:var(--dark);transition:var(--transition)}

@media(max-width:768px){
    .mobile-nav-toggle{display:flex}
    .header-search{display:none}
    .header-action-item .action-label{display:none}
}

/* ==========================================================================
   NAVIGATION BAR
   ========================================================================== */
.header-nav-bar{background:var(--dark);color:var(--white)}
.header-nav-bar-container{display:flex;align-items:stretch;height:44px}

.all-categories-dropdown{position:relative;background:var(--primary);display:flex;align-items:center;padding:0 18px;font-weight:600;font-size:13px;cursor:pointer;gap:8px;white-space:nowrap}
.all-categories-dropdown svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.all-categories-dropdown:hover{background:var(--primary-hover)}
.all-categories-list{position:absolute;top:100%;left:0;min-width:220px;background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--transition);z-index:999}
.all-categories-dropdown:hover .all-categories-list{opacity:1;visibility:visible;transform:translateY(0)}
.all-categories-list li a{display:flex;justify-content:space-between;padding:10px 16px;color:var(--text);font-size:13px;font-weight:500;border-bottom:1px solid var(--border)}
.all-categories-list li:last-child a{border-bottom:none}
.all-categories-list li a:hover{background:var(--light-bg);color:var(--primary)}
.all-categories-list .count{color:var(--text-muted);font-size:11px}

.primary-menu{display:flex;align-items:stretch;height:100%;margin-left:10px}
.primary-menu>li{position:relative;height:100%}
.primary-menu>li>a{display:flex;align-items:center;height:100%;padding:0 16px;font-size:13px;font-weight:500;transition:var(--transition)}
.primary-menu>li:hover>a,.primary-menu>li.current-menu-item>a{color:var(--primary);background:rgba(255,255,255,.05)}
.primary-menu .sub-menu{position:absolute;top:100%;left:0;background:var(--white);color:var(--text);min-width:190px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--transition);z-index:999}
.primary-menu li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.primary-menu .sub-menu li a{display:block;padding:9px 16px;font-size:13px;border-bottom:1px solid var(--border)}
.primary-menu .sub-menu li:last-child a{border-bottom:none}
.primary-menu .sub-menu li a:hover{background:var(--light-bg);color:var(--primary)}

@media(max-width:768px){
    .header-nav-bar{display:none}
    .header-nav-bar.active{display:block}
}

/* ==========================================================================
   HERO BANNER — matches reference: light bg, text left, image right
   ========================================================================== */
.vexora-hero{position:relative;overflow:hidden}
.vexora-hero img{width:100%;height:auto;display:block}
.vexora-hero-overlay{position:absolute;top:0;height:100%;display:flex;align-items:center;width:50%}
.vexora-hero-overlay.overlay-align-left{left:0;padding-left:60px}
.vexora-hero-overlay.overlay-align-right{right:0;padding-right:60px;justify-content:flex-end;text-align:right}
.overlay-align-right .vexora-hero-actions{justify-content:flex-end}
.vexora-hero-content{max-width:550px}
.vexora-hero-content h1{font-size:36px;font-weight:800;line-height:1.2;color:var(--dark);margin-bottom:6px}
.vexora-hero-content h1 span{color:var(--primary)}
.vexora-hero-content .hero-sub{font-family:var(--font-alt);font-size:15px;color:#555;margin-bottom:25px}
.vexora-hero-actions{display:flex;gap:12px}

@media(max-width:768px){
    .vexora-hero-overlay{width:100%;padding:20px!important;background:rgba(255,255,255,.9);left:0!important;right:0!important;justify-content:center!important;text-align:center!important}
    .vexora-hero-content h1{font-size:24px}
    .vexora-hero-actions{justify-content:center!important}
}

/* ==========================================================================
   TRUST STRIP
   ========================================================================== */
.trust-strip{padding:25px 0;border-bottom:1px solid var(--border);background:var(--white)}
.trust-item{display:flex;align-items:center;gap:12px;padding:10px 0;justify-content:center}
.trust-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.trust-icon svg{width:28px;height:28px;fill:none;stroke:var(--dark);stroke-width:1.5}
.trust-details h4{font-size:13px;font-weight:700;margin-bottom:1px;color:var(--dark)}
.trust-details p{font-size:11px;color:var(--text-muted);font-family:var(--font-alt);margin:0}

/* ==========================================================================
   SHOP BY CATEGORIES — card style with centered text below image
   ========================================================================== */
.categories-section{padding:50px 0;background:var(--white)}
.category-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;text-align:center;padding:24px 20px;transition:var(--transition);display:flex;flex-direction:column;align-items:center;height:100%}
.category-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-5px)}
.category-card-img{width:100%;height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;overflow:hidden;border-radius:var(--radius-lg);background:#FBFBFB}
.category-card-img img{height:100%;width:100%;object-fit:contain;transition:transform .3s ease}
.category-card:hover .category-card-img img{transform:scale(1.05)}
.category-card h3{font-size:14.5px;font-weight:800;margin:0 0 6px;color:var(--dark);line-height:1.2}
.category-card p{font-size:11.5px;color:var(--text-muted);font-family:var(--font-alt);margin:0;line-height:1.5;flex-grow:1}
.category-card-arrow{color:var(--primary);font-size:18px;font-weight:700;margin-top:12px;transition:transform .2s ease;line-height:1}
.category-card:hover .category-card-arrow{transform:translateX(5px)}

/* ==========================================================================
   PRODUCT CARD — matches reference: white bg, % badge, rating w/ count, price
   ========================================================================== */
.product-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);transition:var(--transition);display:flex;flex-direction:column;height:100%}
.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.product-card-image-wrap{position:relative;padding-top:100%;overflow:hidden;background:var(--light-bg)}
.product-card-image-wrap img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;padding:15px;transition:var(--transition)}
.product-card-image-wrap .hover-image{opacity:0;z-index:1}
.product-card:hover .primary-image{opacity:0}
.product-card:hover .hover-image{opacity:1}
.product-card-badges{position:absolute;top:10px;left:10px;z-index:3;display:flex;flex-direction:column;gap:4px}
.product-card-actions{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px;z-index:4;opacity:0;transform:translateX(10px);transition:var(--transition)}
.product-card:hover .product-card-actions{opacity:1;transform:translateX(0)}
.action-btn{width:34px;height:34px;border-radius:50%;background:var(--white);color:var(--dark);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm);border:1px solid var(--border)}
.action-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.action-btn:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}
.action-btn:hover svg{stroke:var(--white)}

.product-card-info{padding:14px;display:flex;flex-direction:column;flex-grow:1}
.product-card-title{font-size:13px;font-weight:600;margin-bottom:3px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;color:var(--dark)}
.product-card-title a{color:inherit}
.product-card-subtitle{font-size:11px;color:var(--text-muted);font-family:var(--font-alt);margin-bottom:6px}
.product-card-rating{display:flex;align-items:center;gap:4px;margin-bottom:8px}
.star-rating{font-size:12px;color:var(--star-color)}
.star-rating-empty{font-size:12px;color:#ddd}
.rating-count{font-size:11px;color:var(--text-muted);font-family:var(--font-alt)}
.product-card-price{display:flex;align-items:center;gap:8px;margin-top:auto;font-weight:700}
.product-card-price ins,.product-card-price .woocommerce-Price-amount{color:var(--primary);text-decoration:none;font-size:15px}
.product-card-price del{color:var(--text-muted);font-size:12px;font-weight:400}
.product-card-price del .woocommerce-Price-amount{color:var(--text-muted);font-size:12px}

/* ==========================================================================
   CAROUSEL
   ========================================================================== */
.vexora-carousel-container{position:relative;overflow:hidden;padding:5px 0}
.vexora-carousel-track{display:flex;gap:20px;transition:transform 0.5s ease}
.vexora-carousel-track>div{flex:0 0 calc(20% - 16px)}
@media(max-width:1024px){.vexora-carousel-track>div{flex:0 0 calc(33.333% - 14px)}}
@media(max-width:768px){.vexora-carousel-track>div{flex:0 0 calc(50% - 10px)}}
@media(max-width:480px){.vexora-carousel-track>div{flex:0 0 100%}}
.carousel-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);cursor:pointer;z-index:10;border:1px solid var(--border);transition:var(--transition)}
.carousel-nav-btn:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}
.carousel-nav-btn:hover svg{stroke:var(--white)}
.carousel-nav-prev{left:0}
.carousel-nav-next{right:0}

/* ==========================================================================
   BEST SELLERS SECTION
   ========================================================================== */
.best-sellers-section{padding:40px 0;background:var(--white)}

/* ==========================================================================
   PROMO BANNERS — full-width images, no overlay needed
   ========================================================================== */
.promo-banners-section{padding:0 0 50px 0;background:var(--white)}
.promo-banner-card{border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);position:relative}
.promo-banner-card img{width:100%;height:auto;display:block;transition:var(--transition)}
.promo-banner-card:hover img{transform:scale(1.02)}
.promo-banner-card:hover{box-shadow:var(--shadow-md)}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.testimonials-section{padding:50px 0;background:var(--white)}
.testimonial-card{background:var(--white);border-radius:var(--radius-lg);padding:25px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}
.testimonial-quote{display:flex;gap:10px;margin-bottom:15px}
.testimonial-quote-mark{font-size:24px;line-height:1;color:var(--primary);font-weight:900}
.testimonial-text{font-family:var(--font-alt);font-size:13px;color:#555;line-height:1.7;flex:1}
.testimonial-stars{margin-bottom:12px}
.testimonial-stars .star-rating{font-size:14px}
.testimonial-author{display:flex;align-items:center;gap:10px}
.testimonial-photo{width:40px;height:40px;border-radius:50%;object-fit:cover}
.testimonial-name{font-size:13px;font-weight:700;color:var(--dark)}
.testimonial-meta{font-size:11px;color:var(--text-muted);font-family:var(--font-alt)}

/* ==========================================================================
   TRUST BAR DARK
   ========================================================================== */
.trust-bar-dark{background:#1a1a1a;color:var(--white);padding:30px 0}
.trust-bar-item{display:flex;align-items:center;gap:12px;justify-content:center;padding:8px 0}
.trust-bar-item svg{width:28px;height:28px;fill:none;stroke:var(--white);stroke-width:1.5;flex-shrink:0;opacity:.7}
.trust-bar-item h4{font-size:12px;font-weight:700;margin-bottom:1px;color:var(--white)}
.trust-bar-item p{font-size:10px;color:rgba(255,255,255,.5);font-family:var(--font-alt);margin:0}

/* ==========================================================================
   NEWSLETTER — reference: logo left, form right, light bg
   ========================================================================== */
.newsletter-section{padding:50px 0;background:#F9F9F9;border-top:1px solid var(--border)}
.newsletter-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.newsletter-graphic{text-align:center;display:flex;align-items:center;justify-content:center}
.newsletter-graphic img{max-height:240px;width:auto;object-fit:contain;animation:floatImage 4s ease-in-out infinite}
.newsletter-content{padding-left:15px}
.newsletter-content h2{font-size:26px;font-weight:800;color:var(--dark);margin-bottom:8px;line-height:1.2}
.newsletter-content p{font-family:var(--font-alt);color:#555;font-size:13.5px;margin-bottom:20px;line-height:1.6}
.newsletter-form{display:flex;gap:10px;max-width:550px}
.newsletter-form input[type="email"]{flex-grow:1;padding:12px 20px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);font-family:var(--font-alt)}
.newsletter-form input[type="email"]:focus{border-color:var(--primary);outline:none}
.newsletter-form button{background:var(--primary);color:var(--white);padding:12px 30px;font-weight:700;font-size:13px;border-radius:var(--radius);cursor:pointer;transition:var(--transition);border:none}
.newsletter-form button:hover{background:var(--primary-hover);transform:translateY(-1px)}
.newsletter-social-icons a:hover{color:var(--primary)!important;transform:translateY(-2px)}
.newsletter-social-icons a{display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}

@keyframes floatImage{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-6px)}
}

@media(max-width:768px){
    .newsletter-inner{grid-template-columns:1fr;text-align:center;gap:30px}
    .newsletter-graphic img{max-height:160px}
    .newsletter-content{padding-left:0}
    .newsletter-form{flex-direction:column;max-width:400px;margin:0 auto}
    .newsletter-footer-info{justify-content:center!important;gap:20px!important}
}

/* ==========================================================================
   FOOTER — matches reference: dark, 5 cols, social icons, payment
   ========================================================================== */
.site-footer{background:var(--dark);color:var(--white);padding:50px 0 0}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.3fr;gap:30px;padding-bottom:40px}
.footer-logo-text{font-size:22px;font-weight:800;display:flex;align-items:center;gap:2px;color:var(--white);margin-bottom:6px}
.footer-logo-text .logo-v{color:var(--primary);font-weight:900}
.footer-desc{font-family:var(--font-alt);font-size:12px;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:15px}
.footer-social{display:flex;gap:10px;margin-top:10px}
.footer-social a{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.footer-social a svg{width:14px;height:14px;fill:none;stroke:var(--white);stroke-width:2}
.footer-social a:hover{background:var(--primary);border-color:var(--primary)}

.footer-column-title{font-size:14px;font-weight:700;margin-bottom:18px;color:var(--white)}
.footer-menu li{margin-bottom:8px}
.footer-menu li a{font-family:var(--font-alt);font-size:12px;color:rgba(255,255,255,.6);transition:var(--transition)}
.footer-menu li a:hover{color:var(--primary)}
.footer-contact-info li{display:flex;gap:6px;align-items:flex-start;margin-bottom:8px;font-size:12px;color:rgba(255,255,255,.6);font-family:var(--font-alt)}

.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;align-items:center;justify-content:space-between}
.copyright-text{font-family:var(--font-alt);font-size:11px;color:rgba(255,255,255,.4)}
.payment-gateways{display:flex;align-items:center;gap:12px}
.payment-gateways span{font-size:12px;font-weight:700;color:rgba(255,255,255,.5)}

@media(max-width:768px){
    .footer-top{grid-template-columns:1fr 1fr;gap:25px}
    .footer-bottom{flex-direction:column;gap:10px;text-align:center}
}
@media(max-width:480px){
    .footer-top{grid-template-columns:1fr}
}

/* ==========================================================================
   SHOP PAGE
   ========================================================================== */
.shop-archive-layout{padding:40px 0}
.shop-sidebar{border-right:1px solid var(--border);padding-right:25px}
.filter-widget{margin-bottom:25px}
.filter-title{font-size:14px;font-weight:700;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border);position:relative}
.filter-title::after{content:'';position:absolute;bottom:-1px;left:0;width:35px;height:2px;background:var(--primary)}
.filter-list{max-height:200px;overflow-y:auto}
.filter-list::-webkit-scrollbar{width:3px}
.filter-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}
.filter-list-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:13px;cursor:pointer}
.filter-list-item input[type="checkbox"],.filter-list-item input[type="radio"]{margin-right:8px;width:14px;height:14px;accent-color:var(--primary);cursor:pointer}
.filter-list-item label{flex-grow:1;cursor:pointer}
.filter-count{color:var(--text-muted);font-size:11px}
.price-slider-wrap{padding:10px 0}
.price-slider-inputs{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:13px}
.price-slider-inputs input{width:45%;border:1px solid var(--border);padding:6px;text-align:center;font-weight:600;border-radius:var(--radius)}
.clear-filters-btn{width:100%;margin-top:15px;font-size:12px;padding:8px}

.shop-top-bar{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;margin-bottom:20px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px}
.shop-result-count{font-family:var(--font-alt);font-size:13px;color:var(--text-muted)}
.shop-utilities{display:flex;align-items:center;gap:15px}
.woocommerce-ordering select{border:1px solid var(--border);padding:7px 12px;font-size:12px;border-radius:var(--radius);cursor:pointer;background:var(--white)}
.view-toggles{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.view-toggle-btn{padding:7px 10px;cursor:pointer;background:var(--white);display:flex;align-items:center;transition:var(--transition)}
.view-toggle-btn.active{background:var(--dark);color:var(--white)}
.view-toggle-btn svg{width:14px;height:14px;fill:currentColor}

.vexora-pagination{margin-top:30px;display:flex;justify-content:center}
.vexora-pagination ul{display:flex;gap:6px}
.vexora-pagination ul li span.current,.vexora-pagination ul li a{width:36px;height:36px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;border:1px solid var(--border);transition:var(--transition)}
.vexora-pagination ul li span.current{background:var(--primary);color:var(--white);border-color:var(--primary)}
.vexora-pagination ul li a:hover{background:var(--dark);color:var(--white);border-color:var(--dark)}

@media(max-width:768px){
    .shop-sidebar{position:fixed;top:0;left:-320px;width:300px;height:100vh;background:var(--white);z-index:10000;padding:20px;overflow-y:auto;box-shadow:var(--shadow-lg);transition:left 0.3s ease;border-right:none}
    .shop-sidebar.active{left:0}
    .sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:9999}
    .sidebar-overlay.active{display:block}
    .mobile-filter-toggle{display:inline-flex!important}
}

/* ==========================================================================
   SINGLE PRODUCT
   ========================================================================== */
.single-product-layout{padding:40px 0}
.product-gallery-container{display:flex;gap:16px;align-items:flex-start}

/* Vertical Thumbnail Slider */
.product-gallery-thumbnails-wrapper{display:flex;flex-direction:column;align-items:center;position:relative;width:74px;flex-shrink:0}
.product-gallery-thumbnails-viewport{height:340px;overflow:hidden;position:relative;width:100%}
.product-gallery-thumbnails-inner{display:flex;flex-direction:column;gap:8px;transition:transform 0.3s ease;width:100%}
.gallery-thumb-item{border:1px solid var(--border);border-radius:var(--radius);padding:4px;cursor:pointer;transition:var(--transition);background:var(--white);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.gallery-thumb-item.active,.gallery-thumb-item:hover{border-color:var(--primary)}
.gallery-thumb-item img{width:100%;height:100%;object-fit:contain}

.thumb-nav-btn{width:24px;height:24px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--white);transition:var(--transition);margin:4px 0;color:var(--text);z-index:5}
.thumb-nav-btn:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}
.thumb-nav-btn.disabled{opacity:0.3;cursor:not-allowed}

/* Primary Gallery View */
.product-gallery-primary{flex-grow:1;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--white);display:flex;align-items:center;justify-content:center;padding:25px;position:relative}
.product-gallery-primary img{max-width:100%;max-height:460px;object-fit:contain;transition:transform 0.3s ease}
.gallery-zoom-trigger{position:absolute;bottom:15px;right:15px;background:var(--white);border:1px solid var(--border);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition);color:var(--dark)}
.gallery-zoom-trigger:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}

@media(max-width:768px){
    .product-gallery-container{flex-direction:column-reverse;gap:12px;width:100%;overflow:hidden}
    .product-gallery-thumbnails-wrapper{flex-direction:row;width:100%;justify-content:center;align-items:center}
    .product-gallery-thumbnails-viewport{height:75px;width:284px !important;max-width:calc(100% - 80px);min-width:0;overflow:hidden;position:relative}
    .product-gallery-thumbnails-inner{flex-direction:row;height:100%}
    .thumb-nav-btn{width:32px;height:32px;flex-shrink:0;transform:rotate(-90deg);margin:0 6px;display:flex;align-items:center;justify-content:center}
    .gallery-thumb-item{width:65px;height:65px;flex-shrink:0}
}

.product-detail-summary{padding-left:15px}
.product-summary-title{font-size:24px;font-weight:700;margin-bottom:8px;line-height:1.3;color:var(--dark)}
.product-summary-rating{display:flex;align-items:center;gap:8px;margin-bottom:15px;font-size:12px;font-family:var(--font-alt)}
.product-summary-price{font-size:24px;font-weight:800;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.product-summary-price del{color:var(--text-muted);font-size:16px;font-weight:400}
.product-summary-price ins,.product-summary-price .amount{color:var(--primary);text-decoration:none}
.product-summary-short-desc{font-family:var(--font-alt);font-size:13px;color:#555;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--border);line-height:1.7}

/* Bullet list checkmarks */
.product-summary-short-desc ul, .tab-content-panel ul{list-style:none;margin:15px 0}
.product-summary-short-desc li, .tab-content-panel li{position:relative;padding-left:22px;margin-bottom:8px;font-size:13px}
.product-summary-short-desc li::before, .tab-content-panel li::before{content:'';position:absolute;left:2px;top:4px;width:12px;height:6px;border-left:2px solid var(--primary);border-bottom:2px solid var(--primary);transform:rotate(-45deg)}

/* Highlight strip */
.highlight-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:15px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:20px}
.highlight-item{display:flex;align-items:center;gap:8px}
.highlight-item svg{width:22px;height:22px;fill:none;stroke:var(--primary);stroke-width:1.8;flex-shrink:0}
.highlight-details{font-size:10px;font-family:var(--font-alt);line-height:1.2;color:var(--text-muted)}
.highlight-details strong{display:block;color:var(--dark);font-size:11px}

@media(max-width:480px){
    .highlight-strip{grid-template-columns:repeat(2,1fr);gap:10px}
}

/* Actions formatting */
.variations-form-wrap{margin-bottom:25px}
.variations-form-wrap table{width:100%;border-collapse:collapse;margin-bottom:15px}
.variations-form-wrap td{padding:8px 0;vertical-align:middle}
.variations-form-wrap td.label{width:80px;font-weight:700;color:var(--dark);font-size:13px}
.variations-form-wrap select{border:1px solid var(--border);padding:8px 12px;border-radius:var(--radius);width:100%;max-width:260px;font-size:13px;background:var(--white)}

/* Styled quantity +/- */
.vexora-qty-wrap{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;height:44px;align-items:center;background:var(--white)}
.vexora-qty-btn{width:36px;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:bold;font-size:16px;color:var(--text);transition:var(--transition);user-select:none}
.vexora-qty-btn:hover{background:var(--light-bg);color:var(--primary)}
.vexora-qty-input{width:45px;height:100%;text-align:center;font-weight:700;font-size:14px;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border)}

/* Color swatch options helper */
.vexora-swatch-list{display:flex;gap:8px;margin-top:6px}
.vexora-swatch{width:28px;height:28px;border-radius:50%;border:2px solid var(--white);box-shadow:0 0 0 1px var(--border);cursor:pointer;transition:var(--transition)}
.vexora-swatch.active{box-shadow:0 0 0 2px var(--primary)}

/* Dynamic single product action layout buttons */
.vexora-single-actions{display:flex;align-items:center;gap:12px;margin-top:20px}
.vexora-single-actions .single_add_to_cart_button{height:44px;padding:0 30px;background:var(--primary);color:var(--white);font-weight:700;border-radius:var(--radius);transition:var(--transition);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;border:none;flex-grow:1}
.vexora-single-actions .single_add_to_cart_button:hover{background:var(--primary-hover)}
.vexora-single-actions .buy_now_button{height:44px;padding:0 30px;background:var(--white);color:var(--primary);border:2px solid var(--primary);font-weight:700;border-radius:var(--radius);transition:var(--transition);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-grow:1}
.vexora-single-actions .buy_now_button:hover{background:var(--primary);color:var(--white)}

/* Tabs panel grid format (2 columns description + spec block) */
.product-tabs-container{margin-top:40px;border-top:1px solid var(--border);padding-top:30px}
.tabs-nav{display:flex;gap:25px;margin-bottom:25px;border-bottom:1px solid var(--border);overflow-x:auto}
.tab-nav-item{font-size:14px;font-weight:700;padding-bottom:12px;cursor:pointer;position:relative;color:var(--text-muted);transition:var(--transition);white-space:nowrap}
.tab-nav-item.active{color:var(--primary)}
.tab-nav-item.active::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--primary)}

.tab-grid-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
@media(max-width:768px){
    .tab-grid-layout{grid-template-columns:1fr;gap:30px}
}

.tab-content-panel{display:none!important;animation:fadeIn 0.3s ease}
.tab-content-panel.active{display:block!important}

/* Specifications Table Block */
.spec-list-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}
.spec-list-card table{width:100%;border-collapse:collapse}
.spec-list-card td{padding:10px 0;border-bottom:1px solid var(--light-bg);font-size:13px;font-family:var(--font-alt);vertical-align:middle}
.spec-list-card tr:last-child td{border-bottom:none}
.spec-list-card td.spec-label{font-weight:700;color:var(--text-muted);width:45%;display:flex;align-items:center;gap:8px}
.spec-list-card td.spec-label svg{width:16px;height:16px;fill:none;stroke:var(--text-muted);stroke-width:2}
.spec-list-card td.spec-value{color:var(--dark);font-weight:600;text-align:right}

.related-products-section{margin-top:50px;border-top:1px solid var(--border);padding-top:40px}

.related-products-section{margin-top:50px;border-top:1px solid var(--border);padding-top:40px}

/* ==========================================================================
   UTILITY
   ========================================================================== */
.d-none-mobile{display:inline}
@media(max-width:768px){.d-none-mobile{display:none}}
.d-none-desktop{display:none}
@media(max-width:768px){.d-none-desktop{display:inline-flex}}

/* Category Header Banner Styles */
.category-header-banner{background:#F9F9F9;border-radius:var(--radius-lg);padding:40px;margin-bottom:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:768px){
    .category-header-banner{grid-template-columns:1fr;padding:25px;gap:20px;text-align:center}
    .category-header-banner img{max-height:140px!important;margin:0 auto}
}

/* Fixed Bottom Cart Bar */
.vexora-fixed-cart-bar{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--border);box-shadow:0 -4px 20px rgba(0,0,0,0.08);z-index:9999;padding:12px 0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease;transform:translateY(0);opacity:1}
.vexora-fixed-cart-bar.cart-empty{transform:translateY(100%);opacity:0;pointer-events:none}
.fixed-cart-bar-container{display:flex;align-items:center;justify-content:space-between}
.fixed-cart-info{display:flex;align-items:center;font-size:13.5px;color:var(--dark);font-family:var(--font-alt)}
.fixed-cart-info svg{stroke:var(--dark)}
.fixed-cart-actions{display:flex;align-items:center}
body{padding-bottom:70px}

/* ==========================================================================
   MOBILE & WOOCOMMERCE RESPONSIVENESS OVERRIDES
   ========================================================================== */

/* Responsive main grids */
.single-product-main-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 40px;
}

.single-product-trust-strip {
    border-top: 1px solid var(--border);
    padding-top: 20px;
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.shop-layout-grid {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 35px;
    align-items: start;
}

@media(max-width:768px){
    .single-product-main-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .single-product-trust-strip {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .shop-layout-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

/* Base grid collapsing for extra small mobile */
@media(max-width:480px){
    .grid-2, .grid-3, .grid-4, .grid-5 {
        grid-template-columns: 1fr !important;
    }
}

/* Mobile search bar layout adjustment */
@media(max-width:768px){
    .header-main {
        flex-wrap: wrap;
        gap: 15px;
        padding: 10px 0;
    }
    .site-logo {
        order: 1;
    }
    .header-actions {
        order: 2;
    }
    .header-search {
        display: block !important;
        width: 100%;
        order: 3;
        margin: 0;
    }
}

/* Mobile Navigation overlay drawer design */
@media(max-width:768px){
    .header-nav-bar {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--dark);
        z-index: 999;
        border-top: 1px solid rgba(255,255,255,0.1);
        box-shadow: var(--shadow-lg);
    }
    .header-nav-bar.active {
        display: block;
    }
    .header-nav-bar-container {
        flex-direction: column;
        height: auto;
        padding: 15px;
        gap: 15px;
        align-items: stretch;
    }
    .all-categories-dropdown {
        width: 100%;
        justify-content: space-between;
        padding: 12px 15px;
        border-radius: var(--radius);
        flex-wrap: wrap; /* allow categories list child to wrap below the button header! */
    }
    /* Reset desktop hover popup on mobile */
    .all-categories-dropdown:hover .all-categories-list {
        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
        display: none;
    }
    /* Active display behavior */
    .all-categories-dropdown.active .all-categories-list {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        display: block;
        position: static;
        width: 100%;
        box-shadow: none;
        border: none;
        max-height: 250px;
        overflow-y: auto;
        background: rgba(255, 255, 255, 0.05);
        margin-top: 10px;
        border-radius: var(--radius-sm);
    }
    .all-categories-list li a {
        color: rgba(255, 255, 255, 0.8) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        padding: 10px 12px;
    }
    .all-categories-list li a:hover {
        background: rgba(255, 255, 255, 0.1);
        color: var(--primary) !important;
    }
    /* Rotate last chevron svg icon on active */
    .all-categories-dropdown.active svg:last-of-type {
        transform: rotate(180deg);
    }
    .all-categories-dropdown svg:last-of-type {
        transition: transform 0.3s ease;
    }
    .primary-menu {
        flex-direction: column;
        width: 100%;
        height: auto;
        margin-left: 0;
        gap: 0;
    }
    .primary-menu > li {
        width: 100%;
        height: auto;
    }
    .primary-menu > li > a {
        padding: 12px 15px;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    .primary-menu .sub-menu {
        position: static;
        width: 100%;
        box-shadow: none;
        background: rgba(255,255,255,0.03);
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
    }
    .primary-menu li:hover > .sub-menu {
        display: block;
    }
    .primary-menu .sub-menu li a {
        padding-left: 30px;
        color: rgba(255,255,255,0.7);
        border-bottom: 1px solid rgba(255,255,255,0.02);
    }
}

/* Horizontal thumbnail scroll layout fixing on mobile */
@media(max-width:768px){
    .product-gallery-thumbnails-inner {
        flex-direction: row !important;
        height: 100% !important;
        width: max-content !important;
    }
}

/* Hero Section Banner Responsiveness */
@media(max-width:768px){
    .vexora-hero {
        min-height: 250px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }
    .vexora-hero img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
    }
    .vexora-hero-overlay {
        position: relative;
        z-index: 2;
        width: 100% !important;
        padding: 25px !important;
        background: rgba(255,255,255,0.85) !important;
        left: 0 !important;
        right: 0 !important;
        justify-content: center !important;
        text-align: center !important;
    }
    .vexora-hero-content {
        max-width: 100%;
    }
    .vexora-hero-content h1 {
        font-size: 22px !important;
        margin-bottom: 10px;
    }
    .vexora-hero-content .hero-sub {
        font-size: 13px !important;
        margin-bottom: 15px;
    }
    .vexora-hero-actions {
        justify-content: center !important;
        gap: 10px;
    }
}

/* ==========================================================================
   WOOCOMMERCE UTILITY PAGES STYLING (matches homepage design system)
   ========================================================================== */

/* Forms & Inputs */
.woocommerce form .form-row input.input-text, 
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea {
    padding: 12px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    width: 100%;
    font-family: var(--font-alt);
    font-size: 13px;
    background: var(--white);
    transition: var(--transition);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--primary);
    outline: none;
}
.woocommerce select,
.woocommerce-page select {
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
    font-family: var(--font-alt);
    font-size: 13px;
}

/* Tables (Cart, Checkout, Wishlist) */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    margin-bottom: 30px;
    width: 100%;
    background: var(--white);
}
.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
    background: var(--light-bg);
    color: var(--dark);
    font-weight: 700;
    padding: 14px 18px;
    border-bottom: 1px solid var(--border);
    font-size: 13.5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td {
    padding: 16px 18px;
    border-bottom: 1px solid var(--border);
    font-size: 13px;
    color: var(--text);
}
.woocommerce table.shop_table tr:last-child td,
.woocommerce-page table.shop_table tr:last-child td {
    border-bottom: none;
}

/* Coupon & Actions row */
.woocommerce table.shop_table td.actions,
.woocommerce-page table.shop_table td.actions {
    padding: 16px;
}
.woocommerce table.shop_table td.actions .coupon,
.woocommerce-page table.shop_table td.actions .coupon {
    display: inline-flex;
    gap: 8px;
}
@media(max-width: 768px) {
    .woocommerce table.shop_table td.actions .coupon,
    .woocommerce-page table.shop_table td.actions .coupon {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .woocommerce table.shop_table td.actions .coupon input,
    .woocommerce-page table.shop_table td.actions .coupon input {
        width: 100% !important;
    }
}

/* Cart Product Thumbnail in Table */
.woocommerce table.shop_table td.product-thumbnail img {
    max-width: 60px;
    height: auto;
    border-radius: var(--radius);
    border: 1px solid var(--border);
}

/* Buttons */
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button, 
.woocommerce #respond input#submit, 
.woocommerce-page a.button, 
.woocommerce-page button.button, 
.woocommerce-page input.button, 
.woocommerce-page #respond input#submit,
.woocommerce #payment #place_order {
    background: var(--dark);
    color: var(--white);
    font-weight: 700;
    font-size: 13px;
    padding: 12px 24px;
    border-radius: var(--radius);
    transition: var(--transition);
    cursor: pointer;
    border: none;
    line-height: 1.2;
    display: inline-block;
    text-align: center;
    text-transform: none;
}
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover, 
.woocommerce #respond input#submit:hover,
.woocommerce-page a.button:hover, 
.woocommerce-page button.button:hover, 
.woocommerce-page input.button:hover,
.woocommerce #payment #place_order:hover {
    background: var(--primary);
    color: var(--white);
    transform: translateY(-1px);
}
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt, 
.woocommerce-page a.button.alt, 
.woocommerce-page button.button.alt, 
.woocommerce-page input.button.alt {
    background: var(--primary);
}
.woocommerce a.button.alt:hover, 
.woocommerce button.button.alt:hover, 
.woocommerce input.button.alt:hover, 
.woocommerce-page a.button.alt:hover, 
.woocommerce-page button.button.alt:hover, 
.woocommerce-page input.button.alt:hover {
    background: var(--primary-hover);
}

/* Cart totals block */
.woocommerce-cart .cart-collaterals,
.woocommerce-page .cart-collaterals {
    margin-top: 30px;
}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    width: 100%;
    max-width: 480px;
    float: right;
    border: 1px solid var(--border);
    padding: 25px;
    border-radius: var(--radius-lg);
    background: var(--white);
    box-shadow: var(--shadow-sm);
}
.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-page .cart-collaterals .cart_totals h2 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 10px;
}
.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-page .cart-collaterals .cart_totals table {
    width: 100%;
    margin-bottom: 20px;
}
.woocommerce-cart .cart-collaterals .cart_totals table td,
.woocommerce-page .cart-collaterals .cart_totals table td,
.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-page .cart-collaterals .cart_totals table th {
    padding: 10px 0;
    border-bottom: 1px solid var(--light-bg);
}
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
.woocommerce-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
    display: block;
    width: 100%;
    padding: 14px;
    font-size: 14px;
}

@media(max-width:768px){
    .woocommerce-cart .cart-collaterals .cart_totals,
    .woocommerce-page .cart-collaterals .cart_totals {
        float: none;
        max-width: 100%;
    }
}

/* Checkout Page Columns layout */
.woocommerce-checkout #customer_details {
    width: 58%;
    float: left;
    margin-right: 4%;
}
.woocommerce-checkout #order_review_heading {
    clear: none;
    width: 38%;
    float: left;
}
.woocommerce-checkout #order_review {
    width: 38%;
    float: left;
    background: var(--light-bg);
    padding: 25px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
}
.woocommerce-checkout #order_review table.shop_table {
    background: transparent;
    border: none;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    background: transparent;
}

/* Checkout payment box */
.woocommerce-checkout #payment {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 15px;
    margin-top: 20px;
}
.woocommerce-checkout #payment ul.payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
    border-bottom: 1px solid var(--border);
}
.woocommerce-checkout #payment ul.payment_methods li {
    margin-bottom: 10px;
}
.woocommerce-checkout #payment ul.payment_methods li input {
    margin-right: 8px;
}
.woocommerce-checkout #payment div.payment_box {
    background: var(--light-bg);
    padding: 12px;
    border-radius: var(--radius);
    font-size: 12.5px;
    color: var(--text-muted);
    margin: 8px 0;
}

@media(max-width: 991px) {
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 30px;
    }
}

/* My Account Navigation layout */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 25%;
    float: left;
    margin-right: 5%;
}
.woocommerce-account .woocommerce-MyAccount-content {
    width: 70%;
    float: left;
}
.woocommerce-MyAccount-navigation ul {
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    padding: 0;
    list-style: none;
    margin: 0;
}
.woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid var(--border);
    margin: 0;
}
.woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none;
}
.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 12px 18px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
    background: var(--white);
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
    background: var(--light-bg);
    color: var(--primary);
}

@media(max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 25px;
    }
}

/* Wishlist page custom styling */
.wishlist_table .add_to_cart {
    background: var(--primary) !important;
    border-radius: var(--radius) !important;
    font-weight: 700 !important;
    padding: 10px 18px !important;
    color: var(--white) !important;
    font-size: 12px !important;
    display: inline-block;
    transition: var(--transition) !important;
}
.wishlist_table .add_to_cart:hover {
    background: var(--primary-hover) !important;
}
.wishlist-title h2 {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 20px;
}

/* ==========================================================================
   FIXED BOTTOM CART BAR REDESIGN & MOBILE OVERRIDES
   ========================================================================== */
.vexora-fixed-cart-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(17, 17, 17, 0.96) !important; /* Premium dark background */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 -8px 30px rgba(0,0,0,0.3);
    z-index: 9999;
    padding: 14px 0;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}
.vexora-fixed-cart-bar.cart-empty {
    transform: translateY(110%);
    opacity: 0;
    pointer-events: none;
}
.fixed-cart-bar-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.fixed-cart-count-wrapper {
    display: flex;
    align-items: center;
}
.fixed-cart-info {
    display: flex;
    align-items: center;
    color: var(--white);
    font-family: var(--font-alt);
    font-size: 13.5px;
}
.fixed-cart-info svg {
    color: var(--primary);
}
.fixed-cart-actions {
    display: flex;
    align-items: center;
}
.vexora-fixed-cart-bar .btn-outline {
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: var(--white) !important;
    background: transparent !important;
}
.vexora-fixed-cart-bar .btn-outline:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: var(--white) !important;
    color: var(--white) !important;
}

@media(max-width: 768px) {
    .vexora-fixed-cart-bar {
        padding: 12px 16px;
    }
    .fixed-cart-bar-container {
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
    }
    .fixed-cart-info {
        justify-content: space-between;
        width: 100%;
        font-size: 13px;
        padding-bottom: 4px;
    }
    .fixed-cart-actions {
        display: flex;
        gap: 8px;
        width: 100%;
    }
    .fixed-cart-actions a {
        flex: 1;
        text-align: center;
        justify-content: center;
        padding: 10px 0 !important;
        font-size: 12px !important;
        height: auto !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        border-radius: var(--radius-sm) !important;
    }
}

/* ==========================================================================
   CART ADDED TOAST NOTIFICATION
   ========================================================================== */
.cart-notification-toast {
    position: fixed;
    top: 25px;
    right: 25px;
    background: #111111;
    color: var(--white);
    padding: 14px 18px;
    border-radius: var(--radius-lg);
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
    z-index: 100000;
    display: flex;
    align-items: center;
    gap: 12px;
    transform: translateY(-40px);
    opacity: 0;
    pointer-events: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border-left: 4px solid var(--primary);
    max-width: 320px;
    font-family: var(--font-alt);
    font-size: 13px;
}
.cart-notification-toast.show {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.cart-notification-toast svg {
    stroke: var(--primary);
    flex-shrink: 0;
}
.cart-notification-content {
    flex-grow: 1;
}
.cart-notification-title {
    font-weight: 700;
    color: var(--white);
    margin-bottom: 2px;
}
.cart-notification-msg {
    color: rgba(255, 255, 255, 0.7);
    font-size: 11.5px;
}
@media(max-width: 480px) {
    .cart-notification-toast {
        left: 20px;
        right: 20px;
        max-width: none;
        top: auto;
        bottom: 90px; /* Sits cleanly above the fixed bottom cart bar */
        transform: translateY(40px);
    }
    .cart-notification-toast.show {
        transform: translateY(0);
    }
}
