/* ============================================
   TENGAI POS v5.0 — Enhancements
   ============================================ */

/* --- ROUNDED BUTTONS --- */
.btn { border-radius: 9999px; }

/* --- Mobile/Desktop visibility (supplements main.css) --- */
@media(max-width:960px) {
    .header-nav,.header-actions{display:none!important}
}
@media(min-width:961px) {
    .mobile-menu{display:none!important}
    .mobile-right-group{display:none!important}
}

/* --- SEARCH OVERLAY --- */
#searchOverlay.search-overlay {
    position:absolute;top:100%;left:0;right:0;background:#fff;
    box-shadow:0 8px 30px rgba(0,0,0,.12);padding:14px 0;
    transform:translateY(-10px);opacity:0;visibility:hidden;
    transition:all .25s ease;z-index:999;border-top:1px solid var(--color-border);
}
#searchOverlay.search-overlay.active { transform:translateY(0);opacity:1;visibility:visible }
.search-form-overlay {
    display:flex!important;align-items:center;gap:10px;
    background:var(--color-bg-subtle);border:1.5px solid var(--color-border);
    border-radius:12px;padding:10px 16px;max-width:600px;margin:0 auto;
}
.search-input-overlay {
    flex:1;border:none!important;background:transparent!important;font-size:15px;
    font-family:var(--font-body);outline:none!important;padding:4px 0!important;
    box-shadow:none!important;min-width:0;
}
.search-close { background:none;border:none;cursor:pointer;color:var(--color-text-light);padding:4px;display:flex }
.header-search-btn {
    background:none;border:none;cursor:pointer;color:var(--color-text-light);
    padding:8px;border-radius:8px;transition:all .2s;display:flex;align-items:center;
}
.header-search-btn:hover { color:var(--color-primary);background:var(--color-bg-subtle) }

/* --- BACK TO TOP + SCROLL PROGRESS --- */
.back-to-top {
    position:fixed;bottom:24px;left:24px;z-index:899;
    width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
    background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.1);
    display:flex;align-items:center;justify-content:center;
    opacity:0;transform:translateY(20px);transition:all .3s;
    padding:0;
}
.back-to-top.visible { opacity:1;transform:translateY(0) }
.back-to-top:hover { box-shadow:0 4px 20px rgba(0,0,0,.15);transform:translateY(-2px) }
.back-to-top svg:first-child { position:relative;z-index:1 }
.scroll-ring { position:absolute;inset:0;width:100%;height:100% }
.scroll-progress { transition:stroke-dashoffset .1s }

/* --- TRUST: Overrides handled in main.css --- */

/* --- HEXAGON BACKGROUND PATTERN --- */
.hex-bg {
    position:relative;overflow:hidden;
}
.hex-bg::before {
    content:'';position:absolute;inset:0;pointer-events:none;opacity:.025;
    background-image:url("data:image/svg+xml,%3Csvg width='60' height='52' viewBox='0 0 60 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0l25.98 15v30L30 60 4.02 45V15z' fill='none' stroke='%23000' stroke-width='.5'/%3E%3C/svg%3E");
    background-size:60px 52px;
}
.bg-dark.hex-bg::before { opacity:.04;filter:invert(1) }

/* --- ANIMATED MESH / FLOATING ELEMENTS --- */
@keyframes float-slow { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-18px) rotate(2deg)} }
@keyframes float-medium { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes spin-slow { 0%{transform:rotate(0)} 100%{transform:rotate(360deg)} }
@keyframes grain { 0%,100%{transform:translate(0)} 50%{transform:translate(-3%,-5%)} }
@keyframes spin { from{transform:rotate(0)} to{transform:rotate(360deg)} }
@keyframes pulse-ring { 0%{transform:scale(1);opacity:.6} 100%{transform:scale(1.6);opacity:0} }

.animated-bg { position:relative;overflow:hidden }
.animated-bg::before {
    content:'';position:absolute;width:250px;height:250px;
    background:radial-gradient(circle,rgba(230,48,18,.05) 0%,transparent 70%);
    border-radius:50%;top:-80px;right:-60px;animation:float-slow 10s ease-in-out infinite;
    pointer-events:none;
}
.animated-bg::after {
    content:'';position:absolute;width:180px;height:180px;
    background:radial-gradient(circle,rgba(99,102,241,.04) 0%,transparent 70%);
    border-radius:50%;bottom:-50px;left:-40px;animation:float-slow 12s ease-in-out infinite 3s;
    pointer-events:none;
}

/* Floating dots animation for dark sections */
.bg-dark { background:#1A1A2E!important;position:relative;overflow:hidden }
.bg-dark::before {
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at 20% 30%,rgba(230,48,18,.07) 0%,transparent 50%),
               radial-gradient(ellipse at 80% 70%,rgba(99,102,241,.05) 0%,transparent 50%);
    pointer-events:none;animation:float-slow 14s ease-in-out infinite;
}

/* --- FOOTER LIGHTER --- */
.tengai-footer { background:#1E293B!important }

/* --- PAGE HERO ANIMATED --- */
.page-hero {
    position:relative;overflow:hidden;
    background:linear-gradient(135deg,#F8FAFC 0%,#FFF8F5 50%,#F8FAFC 100%)!important;
}
.page-hero::before {
    content:'';position:absolute;inset:0;
    background-image:radial-gradient(circle at 20% 50%,rgba(230,48,18,.04) 0%,transparent 40%),
                     radial-gradient(circle at 80% 30%,rgba(99,102,241,.03) 0%,transparent 40%);
    animation:float-slow 15s ease-in-out infinite;pointer-events:none;
}
.page-hero::after {
    content:'';position:absolute;inset:0;pointer-events:none;opacity:.015;
    background-image:url("data:image/svg+xml,%3Csvg width='60' height='52' viewBox='0 0 60 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0l25.98 15v30L30 60 4.02 45V15z' fill='none' stroke='%23000' stroke-width='.5'/%3E%3C/svg%3E");
    background-size:60px 52px;
}
.page-hero h1,.page-hero p,.page-hero .section-tag,.page-hero .container { position:relative;z-index:1 }

/* --- CURSOR TRAIL EFFECT --- */
.cursor-dot {
    position:fixed;width:6px;height:6px;background:var(--color-primary);
    border-radius:50%;pointer-events:none;z-index:9999;
    transition:transform .15s,opacity .3s;opacity:0;
    mix-blend-mode:multiply;
}
.cursor-dot.visible { opacity:.4 }
.cursor-ring {
    position:fixed;width:28px;height:28px;border:1.5px solid rgba(230,48,18,.2);
    border-radius:50%;pointer-events:none;z-index:9998;
    transition:transform .08s,opacity .3s,width .2s,height .2s;opacity:0;
    transform:translate(-50%,-50%);
}
.cursor-ring.visible { opacity:1 }
@media(hover:none) { .cursor-dot,.cursor-ring{display:none!important} }

/* --- USE CASES FIX --- */
.use-case-card { background:#fff!important;border:1px solid var(--color-border);box-shadow:0 2px 12px rgba(0,0,0,.04) }
.use-case-card h3 { color:var(--color-dark)!important }
.use-case-card p { color:var(--color-text)!important }
.use-case-icon { background:var(--color-primary-light)!important;color:var(--color-primary)!important }

/* --- FLOATING STATS --- */
.floating-stat {
    display:inline-flex;align-items:center;gap:10px;background:#fff;
    padding:12px 18px;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.08);
    border:1px solid var(--color-border-light);font-size:13px;
    animation:float-medium 4s ease-in-out infinite;
}
.floating-stat-icon {
    width:36px;height:36px;display:flex;align-items:center;justify-content:center;
    border-radius:10px;background:var(--color-primary-light);color:var(--color-primary);
}
.floating-stat strong { font-family:var(--font-display);font-size:16px;color:var(--color-dark);display:block }
.floating-stat small { color:var(--color-text-light);font-size:11px;display:block }
.float-stat-1 { position:absolute;top:20%;right:-20px;z-index:5 }
.float-stat-2 { position:absolute;bottom:20%;left:-10px;animation-delay:1s;z-index:5 }

/* --- WHAT'S INCLUDED GRID --- */
.included-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:10px }
.included-item {
    display:flex;align-items:center;gap:8px;padding:10px 14px;
    background:var(--color-bg-subtle);border-radius:10px;
    border:1px solid var(--color-border-light);font-size:13px;transition:all .2s;
}
.included-item:hover { background:var(--color-primary-light);border-color:rgba(230,48,18,.1) }
.included-check {
    width:20px;height:20px;flex-shrink:0;background:#D1FAE5;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
}
.included-check svg { width:12px;height:12px;stroke:#059669;stroke-width:3 }

/* --- WHATSAPP FORMS --- */
.wa-form-container { max-width:600px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.08);overflow:hidden;border:1px solid var(--color-border) }
.wa-form-header { background:#25D366;padding:22px 24px;color:#fff;display:flex;align-items:center;gap:14px }
.wa-form-header-icon { width:44px;height:44px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center }
.wa-form-header h3 { color:#fff;font-size:17px;margin:0 }
.wa-form-header p { color:rgba(255,255,255,.85);font-size:12px;margin:3px 0 0 }
.wa-form-body { padding:24px }
.wa-form-group { margin-bottom:16px }
.wa-form-group label { display:block;font-size:13px;font-weight:600;color:var(--color-dark);margin-bottom:5px }
.wa-form-group .required { color:var(--color-primary) }
.wa-form-group input,.wa-form-group select,.wa-form-group textarea {
    width:100%;padding:11px 14px;border:1.5px solid var(--color-border);border-radius:10px;
    font-family:var(--font-body);font-size:14px;transition:all .2s;background:#fff;
}
.wa-form-group input:focus,.wa-form-group select:focus,.wa-form-group textarea:focus {
    outline:none;border-color:#25D366;box-shadow:0 0 0 3px rgba(37,211,102,.1);
}
.wa-form-group textarea { min-height:70px;resize:vertical }
.wa-form-row { display:grid;grid-template-columns:1fr 1fr;gap:12px }
.wa-form-submit {
    display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
    padding:13px 24px;background:#25D366;color:#fff;border:none;border-radius:9999px;
    font-family:var(--font-display);font-weight:700;font-size:15px;cursor:pointer;transition:all .25s;
}
.wa-form-submit:hover { background:#1DA851;transform:translateY(-1px);box-shadow:0 4px 16px rgba(37,211,102,.3) }
.wa-form-submit svg { width:20px;height:20px }
.wa-form-footer { padding:12px 24px;background:var(--color-bg-subtle);border-top:1px solid var(--color-border-light);text-align:center;font-size:11px;color:var(--color-text-lighter) }

/* --- BOOKING FORM --- */
.booking-form { max-width:680px;margin:0 auto;background:#fff;padding:36px 32px;border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.08);border:1px solid var(--color-border) }
.booking-form .form-row { display:grid;grid-template-columns:1fr 1fr;gap:14px }
.booking-form .form-group { margin-bottom:16px }
.booking-form label { display:block;font-size:13px;font-weight:600;color:var(--color-dark);margin-bottom:5px }
.booking-form input,.booking-form select,.booking-form textarea {
    width:100%;padding:11px 14px;border:1.5px solid var(--color-border);border-radius:10px;
    font-family:var(--font-body);font-size:14px;transition:all .2s;background:#fff;appearance:none;
}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus {
    outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(230,48,18,.08);
}

/* --- TESTIMONIAL LOCATION --- */
.testimonial-location { font-size:10px;color:var(--color-text-lighter);display:flex;align-items:center;gap:3px;margin-top:2px }
.testimonial-location svg { width:10px;height:10px }

/* --- ABOUT PAGE --- */
.about-stat-bar { display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center;padding:40px 0 }
.about-stat-item { padding:28px 16px;background:rgba(255,255,255,.06);border-radius:16px;border:1px solid rgba(255,255,255,.08) }
.about-stat-number { font-size:36px;font-weight:800;font-family:var(--font-display);background:var(--color-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;margin-bottom:4px }
.about-stat-label { font-size:13px;color:rgba(255,255,255,.6) }
.about-timeline { max-width:640px;margin:0 auto }
.about-timeline-item { display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--color-border-light) }
.about-timeline-year { flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary);font-family:var(--font-display);font-weight:800;font-size:14px;border-radius:12px }
.diff-card { padding:28px;background:#fff;border:1px solid var(--color-border);border-radius:16px;transition:all .25s }
.diff-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.06) }
.diff-icon { width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-gradient);border-radius:12px;color:#fff;margin-bottom:14px }
.diff-icon svg { width:22px;height:22px }

/* --- reCAPTCHA --- */
.recaptcha-container { margin:14px 0;display:flex;justify-content:center }

/* --- ADMIN IMAGE HINT --- */
.admin-bar .editable-image { position:relative;cursor:pointer }
.admin-bar .editable-image::after {
    content:'📷 Edit in Customizer';position:absolute;bottom:8px;right:8px;
    background:rgba(0,0,0,.75);color:#fff;font-size:11px;padding:4px 10px;
    border-radius:8px;opacity:0;transition:opacity .2s;pointer-events:none;
}
.admin-bar .editable-image:hover::after { opacity:1 }

/* --- RESPONSIVE: TABLET (768-1024) --- */
@media(min-width:768px) and (max-width:1024px) {
    .container { padding:0 28px }
    .hero-grid { gap:30px }
    .hero-phone-mockup { max-width:340px }
    .features-grid,.use-cases-grid,.testimonials-grid { grid-template-columns:repeat(2,1fr);gap:16px }
    .pricing-teaser-grid { grid-template-columns:repeat(2,1fr) }
    .training-cards { grid-template-columns:repeat(2,1fr);gap:16px }
    .footer-grid { grid-template-columns:1fr 1fr 1fr;gap:24px }
    .footer-brand { grid-column:span 3 }
    .showcase-grid { gap:30px }
    .section-pad { padding:60px 0 }
    .about-stat-bar { grid-template-columns:repeat(4,1fr);gap:12px }
    .about-stat-item { padding:20px 12px }
    .about-stat-number { font-size:28px }
    .included-grid { grid-template-columns:repeat(2,1fr) }
    .cta-card { padding:48px 32px }
}

/* --- RESPONSIVE: MOBILE --- */
@media(max-width:767px) {
    .wa-form-row,.booking-form .form-row { grid-template-columns:1fr }
    .wa-form-body,.wa-form-header { padding:18px }
    .booking-form { padding:22px 18px }
    .included-grid { grid-template-columns:1fr }
    .about-stat-bar { grid-template-columns:repeat(2,1fr);gap:10px }
    .about-stat-item { padding:18px 10px }
    .about-stat-number { font-size:26px }
    .floating-stat,.float-stat-1,.float-stat-2 { display:none }
    .back-to-top { left:16px;bottom:76px;width:40px;height:40px }
    .whatsapp-float { bottom:76px;right:16px;width:48px;height:48px }
    .whatsapp-float svg { width:24px;height:24px }
    .cursor-dot,.cursor-ring { display:none!important }
    .training-cards { grid-template-columns:1fr!important }
    .training-hero h1 { font-size:1.5rem }
    .training-price { font-size:24px }
}

@media(max-width:480px) {
    .about-stat-bar { grid-template-columns:1fr }
    .trust-industry { padding:6px 12px;font-size:12px }
}

/* === V5.2 FIXES === */

/* --- TRUST: Remove hover pause to fix stacking bug --- */
.trust-track:hover { animation-play-state: running !important; }

/* --- ABOUT/TRAINING: Force 1-column on mobile for inline grids --- */
@media (max-width: 768px) {
    [style*="grid-template-columns: repeat(3"],
    [style*="grid-template-columns:repeat(3"],
    [style*="grid-template-columns: 1fr 1fr"],
    [style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    .showcase-grid, .showcase-grid.showcase-reverse {
        grid-template-columns: 1fr !important;
        direction: ltr !important;
    }
    .about-stat-bar { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
    .about-stat-bar { grid-template-columns: 1fr !important; }
}

/* --- CART ICON + MINI CART --- */
.header-cart-btn {
    position: relative;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text);
    padding: 6px;
    border-radius: 8px;
    transition: all .2s;
    display: flex;
    align-items: center;
}
.header-cart-btn:hover { color: var(--color-primary); background: var(--color-bg-subtle); }
.cart-count {
    position: absolute;
    top: -4px; right: -4px;
    min-width: 18px; height: 18px;
    background: var(--color-primary);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.cart-count:empty, .cart-count[data-count="0"] { display: none; }

/* --- SLIDE-IN MINI CART --- */
.mini-cart-overlay {
    position: fixed; inset: 0; z-index: 2001;
    background: rgba(0,0,0,.4);
    opacity: 0; visibility: hidden;
    transition: all .3s;
}
.mini-cart-overlay.active { opacity: 1; visibility: visible; }
.mini-cart-panel {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: min(380px, 90vw);
    background: #fff;
    transform: translateX(100%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
    z-index: 2002;
    display: flex;
    flex-direction: column;
    box-shadow: -8px 0 40px rgba(0,0,0,.12);
}
.mini-cart-overlay.active + .mini-cart-panel,
.mini-cart-panel.active { transform: translateX(0); }
.mini-cart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid var(--color-border);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
}
.mini-cart-close {
    background: var(--color-bg-subtle); border: 1px solid var(--color-border);
    cursor: pointer; padding: 0; border-radius: 8px;
    width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
}
.mini-cart-body {
    flex: 1; overflow-y: auto; padding: 16px 20px;
    -webkit-overflow-scrolling: touch;
}
.mini-cart-footer {
    padding: 16px 20px;
    border-top: 1px solid var(--color-border);
}
.mini-cart-total {
    display: flex; justify-content: space-between;
    font-size: 15px; font-weight: 700; margin-bottom: 12px;
}
.mini-cart-total .amount { color: var(--color-primary); font-family: var(--font-display); }

/* --- WOOCOMMERCE: All styles now in main.css --- */
/* Blog comments */
.comment-list { list-style: none !important; padding: 0 !important; }
.comment-list .comment {
    padding: 18px;
    margin-bottom: 12px;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    background: var(--color-bg-subtle);
}
.comment-list .comment-author { font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.comment-list .comment-meta { font-size: 12px; color: var(--color-text-lighter); margin-bottom: 8px; }
.comment-list .comment-content p { font-size: 14px; line-height: 1.6; }
#respond { margin-top: 24px; }
#respond .comment-form input,
#respond .comment-form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1.5px solid var(--color-border);
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: 14px;
    margin-bottom: 12px;
    transition: all .2s;
}
#respond .comment-form input:focus,
#respond .comment-form textarea:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(230,48,18,.08);
    outline: none;
}
#respond .comment-form .form-submit input {
    background: var(--color-gradient);
    color: #fff;
    border: none;
    border-radius: 9999px;
    padding: 12px 28px;
    font-family: var(--font-display);
    font-weight: 600;
    cursor: pointer;
    width: auto;
}

/* Empty cart */
.woocommerce .cart-empty {
    text-align: center !important;
    padding: 60px 20px !important;
    font-size: 16px !important;
}
.woocommerce .return-to-shop .button {
    border-radius: 9999px !important;
}

/* === V5.3 — WOOCOMMERCE ENHANCEMENTS === */

/* --- Checkout Progress Bar --- */
.checkout-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    max-width: 700px;
    margin: 0 auto 32px;
    padding: 20px 0;
}
.checkout-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 1;
    position: relative;
    text-align: center;
}
.checkout-step-icon {
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 2px solid var(--color-border);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-lighter);
    transition: all .3s;
    position: relative;
    z-index: 2;
}
.checkout-step.active .checkout-step-icon {
    border-color: var(--color-primary);
    background: var(--color-gradient);
    color: #fff;
}
.checkout-step.completed .checkout-step-icon {
    border-color: var(--color-success);
    background: var(--color-success);
    color: #fff;
}
.checkout-step-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--color-text-lighter);
    text-transform: uppercase;
    letter-spacing: .03em;
}
.checkout-step.active .checkout-step-label { color: var(--color-primary); }
.checkout-step.completed .checkout-step-label { color: var(--color-success); }
.checkout-line {
    flex: 1;
    height: 2px;
    background: var(--color-border);
    margin: 0 -10px;
    margin-top: -22px;
    position: relative;
    z-index: 1;
}
.checkout-line.completed { background: var(--color-success); }

/* --- Product Grid/List View Toggle --- */
.view-toggle {
    display: flex;
    gap: 4px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 3px;
    background: var(--color-bg-subtle);
}
.view-toggle-btn {
    background: none;
    border: none;
    padding: 6px 8px;
    border-radius: 6px;
    cursor: pointer;
    color: var(--color-text-lighter);
    transition: all .2s;
    display: flex;
    align-items: center;
}
.view-toggle-btn.active {
    background: #fff;
    color: var(--color-dark);
    box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
/* List view */
.products.list-view {
    grid-template-columns: 1fr !important;
}
.products.list-view .product {
    display: grid !important;
    grid-template-columns: 200px 1fr auto;
    align-items: center;
    gap: 20px;
}
.products.list-view .product img { border-radius: 12px; height: 140px; object-fit: cover; }
@media(max-width:768px) {
    .products.list-view .product { grid-template-columns: 1fr; }
    .products.list-view .product img { height: auto; }
}

/* --- Blog Filter Chips --- */
.blog-filter-chip {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 9999px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid var(--color-border);
    background: #fff;
    color: var(--color-text);
    transition: all .2s;
}
.blog-filter-chip:hover { border-color: var(--color-primary); color: var(--color-primary); }
.blog-filter-chip.active {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

/* --- Wishlist heart button --- */
.wishlist-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    width: 34px; height: 34px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(4px);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s;
    color: var(--color-text-lighter);
}
.wishlist-btn:hover { color: var(--color-primary); transform: scale(1.1); }
.wishlist-btn.active { color: var(--color-primary); }
.wishlist-btn.active svg { fill: var(--color-primary); }

/* --- Product compare checkbox --- */
.compare-checkbox {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--color-text-light);
    padding: 6px 14px;
    cursor: pointer;
}
.compare-checkbox input { accent-color: var(--color-primary); }

/* --- Checkout progress responsive --- */
@media(max-width:600px) {
    .checkout-progress { gap: 0; }
    .checkout-step-icon { width: 36px; height: 36px; }
    .checkout-step-label { font-size: 9px; }
    .checkout-line { margin-top: -18px; }
}

/* === V5.4 — HEADER ICONS, SHOP FIXES, MOBILE MENU === */

/* Header icon buttons (cart, account) */
.header-icon-btn {
    position: relative;
    background: var(--color-bg-subtle);
    border: 1px solid var(--color-border);
    cursor: pointer;
    color: var(--color-text);
    padding: 7px;
    border-radius: 10px;
    transition: all .2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.header-icon-btn:hover { color: var(--color-primary); background: var(--color-primary-light); border-color: rgba(230,48,18,.12); }
.header-icon-btn .cart-count {
    position: absolute; top: -5px; right: -5px;
    min-width: 16px; height: 16px; background: var(--color-primary);
    color: #fff; font-size: 9px; font-weight: 700;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
}

/* Mobile right group: cart + account + hamburger together */
.mobile-right-group {
    display: none;
    align-items: center;
    gap: 6px;
}
@media(max-width:960px) {
    .mobile-right-group { display: flex; }
}

/* --- Shop Filters: Mobile collapsible --- */
.shop-filters-mobile { display: none; }
.shop-sidebar-desktop { display: block; }
@media(max-width:768px) {
    .shop-filters-mobile { display: block; }
    .shop-sidebar-desktop { display: none !important; }
    .shop-layout { grid-template-columns: 1fr !important; }
}

/* Shop filter blocks */
.shop-filter-block { background: #fff; border: 1px solid var(--color-border); border-radius: 12px; padding: 16px; margin-bottom: 12px; }
.shop-filter-block h4 { font-size: 12px; font-weight: 700; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .04em; color: var(--color-dark); }

/* --- Blog featured image smaller on single post --- */
.single-post-content img,
.single .container > img {
    max-height: 400px !important;
    object-fit: cover;
    width: 100%;
}

/* Product position relative for wishlist button */
.woocommerce .product,
.woocommerce ul.products li.product { position: relative !important; }
