/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Oswald:wght@400;500;600;700&display=swap');

/* Main Wrapper */
.rt-shop-wrapper { 
    display: grid !important; 
    grid-template-columns: 280px 1fr !important; 
    gap: 40px !important; 
    align-items: start !important; 
    width: 100% !important; 
    margin: 0 auto !important; 
    font-family: "Inter", sans-serif !important; 
    transition: all 0.3s ease !important;
}

/* Headings */
.rt-panel-title, 
.rt-filter-title, 
.rt-product-title, 
.rt-add-to-cart-wrap .button,
.rc-drawer-header h3 {
    font-family: "Oswald", sans-serif !important;
}

/* --- Sidebar & Custom Filters Styling --- */
.rt-shop-sidebar { position: sticky !important; top: 20px !important; }

/* OVERRIDE FOR SIDEBAR NEON GLOW */
aside.rt-shop-sidebar .rt-custom-filters-panel.neon-glow-container { 
    background-color: #0f172a !important;
    background-image: url('https://eli.ronss.tech/wp-content/uploads/2026/04/BG-Image-product-items-tmpr-1.png') !important; 
    background-size: cover !important;
    background-position: center !important;
    border: none !important; 
    border-radius: 8px !important; 
    color: #fff !important; 
    padding: 30px !important; 
    overflow: visible !important;
    box-sizing: border-box !important;
}

aside.rt-shop-sidebar .rt-custom-filters-panel.neon-glow-container::before,
aside.rt-shop-sidebar .rt-custom-filters-panel.neon-glow-container::after {
    padding: 3px !important; 
    animation: glowSpin 15s linear infinite reverse !important; 
    border-radius: 8px !important;
}

.rt-panel-header { display: flex !important; justify-content: space-between !important; align-items: center !important; border-bottom: 1px solid rgba(255,255,255,0.1) !important; padding-bottom: 15px !important; margin-bottom: 30px !important; }
.rt-panel-title { font-size: 1.3rem !important; font-weight: 700 !important; margin: 0 !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: #fff !important; }
.rt-btn-clear { color: #cbd5e1 !important; text-decoration: none !important; font-size: 0.85rem !important; text-transform: uppercase !important; transition: color 0.3s ease !important; z-index: 20 !important; position: relative !important; }
.rt-btn-clear:hover { color: #00d2ff !important; }

.rt-filter-group { margin-bottom: 35px !important; }
.rt-filter-title { font-size: 1.05rem !important; font-weight: 600 !important; margin: 0 0 22px 0 !important; color: #cbd5e1 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }

/* Price Range Inputs */
.rt-dual-slider-container { position: relative !important; width: 100% !important; height: 3px !important; margin: 12px 0 25px !important; }
.rt-slider-track { position: absolute !important; width: 100% !important; height: 100% !important; border-radius: 5px !important; background: rgba(255, 255, 255, 0.2) !important; pointer-events: none !important; }

.rt-range-input { position: absolute !important; top: -7.5px !important; width: 100% !important; -webkit-appearance: none !important; appearance: none !important; background: transparent !important; pointer-events: none !important; margin: 0 !important; outline: none !important; }
.rt-range-input::-webkit-slider-thumb { -webkit-appearance: none !important; appearance: none !important; height: 18px !important; width: 18px !important; border-radius: 50% !important; background: #0a111c !important; border: 2px solid #00d2ff !important; cursor: pointer !important; pointer-events: auto !important; box-shadow: 0 0 8px rgba(0, 210, 255, 0.4) !important; }
.rt-range-input::-moz-range-thumb { height: 18px !important; width: 18px !important; border-radius: 50% !important; background: #0a111c !important; border: 2px solid #00d2ff !important; cursor: pointer !important; pointer-events: auto !important; box-shadow: 0 0 8px rgba(0, 210, 255, 0.4) !important; }

.rt-price-display-row { display: flex !important; justify-content: space-between !important; color: #cbd5e1 !important; font-size: 0.95rem !important; font-weight: 600 !important; }

/* Custom Checkboxes */
.rt-checkbox-list { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.rt-checkbox-label { display: flex !important; align-items: center !important; cursor: pointer !important; font-size: 0.95rem !important; color: #cbd5e1 !important; transition: color 0.2s ease !important; }
.rt-checkbox-label:hover { color: #fff !important; }
.rt-checkbox-label input[type="checkbox"] { display: none !important; }

.rt-custom-checkbox { width: 18px !important; height: 18px !important; border: 1px solid #334155 !important; border-radius: 3px !important; margin-right: 12px !important; display: inline-block !important; position: relative !important; background: transparent !important; transition: all 0.2s ease !important; }
.rt-checkbox-label input[type="checkbox"]:checked + .rt-custom-checkbox { background: #00d2ff !important; border-color: #00d2ff !important; }
.rt-checkbox-label input[type="checkbox"]:checked + .rt-custom-checkbox::after { content: '' !important; position: absolute !important; left: 5px !important; top: 2px !important; width: 5px !important; height: 10px !important; border: solid #000 !important; border-width: 0 2px 2px 0 !important; transform: rotate(45deg) !important; }
.rt-count { color: #cbd5e1 !important; font-size: 0.85rem !important; margin-left: 5px !important; }

/* --- AJAX Loading Overlay --- */
.rt-shop-main-content { transition: opacity 0.3s ease !important; position: relative !important; }
.rt-loading-grid { opacity: 0.4 !important; pointer-events: none !important; }

/* ====================================================
   HEADER CONTROLS (SEARCH & LAYOUT)
   ==================================================== */
.rt-shop-header-controls { 
    display: flex !important; 
    justify-content: space-between !important; 
    align-items: center !important; 
    margin-bottom: 30px !important; 
}

/* Search Bar */
.rt-search-wrapper { position: relative !important; width: 100% !important; max-width: 350px !important; z-index: 50 !important; }
#rt-live-search { 
    width: 100% !important; 
    padding: 12px 20px !important; 
    background-color: #0f172a !important; 
    border: 1px solid #1a2332 !important; 
    border-radius: 8px !important; 
    color: #fff !important; 
    font-family: "Inter", sans-serif !important; 
    font-size: 0.95rem !important;
    outline: none !important; 
    transition: all 0.3s ease !important; 
    box-sizing: border-box !important;
}
#rt-live-search::placeholder { color: #cbd5e1 !important; }
#rt-live-search:focus { 
    border-color: #00d2ff !important; 
    box-shadow: 0 0 12px rgba(0, 210, 255, 0.2) !important; 
}

/* Search Dropdown Results */
.rt-search-results { 
    position: absolute !important; 
    top: 100% !important; 
    left: 0 !important; 
    width: 100% !important; 
    background: #070c14 !important; 
    border: 1px solid #1a2332 !important; 
    border-radius: 8px !important; 
    margin-top: 10px !important; 
    max-height: 350px !important; 
    overflow-y: auto !important; 
    display: none !important; 
    box-shadow: 0 15px 35px rgba(0,0,0,0.8) !important; 
}
.rt-search-results.active { display: block !important; }
.rt-search-item { 
    display: flex !important; 
    align-items: center !important; 
    padding: 12px 15px !important; 
    border-bottom: 1px solid #1a2332 !important; 
    text-decoration: none !important; 
    transition: background 0.2s !important; 
}
.rt-search-item:last-child { border-bottom: none !important; }
.rt-search-item:hover { background: #0f172a !important; }
.rt-search-img img { width: 45px !important; height: 45px !important; object-fit: cover !important; border-radius: 4px !important; margin-right: 12px !important; border: 1px solid #1a2332 !important; }
.rt-search-info { display: flex !important; flex-direction: column !important; }
.rt-search-title { color: #fff !important; font-size: 0.9rem !important; font-weight: 500 !important; margin-bottom: 4px !important; }
.rt-search-price { color: #2EB2FF !important; font-size: 0.85rem !important; font-weight: 700 !important; }
.rt-search-no-results { padding: 15px !important; color: #cbd5e1 !important; text-align: center !important; font-size: 0.9rem !important; }

/* Scrollbar for Dropdown */
.rt-search-results::-webkit-scrollbar { width: 5px !important; }
.rt-search-results::-webkit-scrollbar-track { background: #0a111c !important; }
.rt-search-results::-webkit-scrollbar-thumb { background: #334155 !important; border-radius: 10px !important; }

/* Layout Switcher */
.rt-layout-switcher { display: flex !important; gap: 8px !important; align-items: center !important; }
.rt-layout-btn { 
    background: #0f172a !important; 
    border: 1px solid #1a2332 !important; 
    padding: 8px 10px !important; 
    border-radius: 6px !important; 
    cursor: pointer !important; 
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
    transition: all 0.3s ease !important; 
    color: #cbd5e1 !important; 
}
.rt-layout-btn svg { width: 22px !important; height: 22px !important; fill: currentColor !important; }
.rt-layout-btn:hover, 
.rt-layout-btn.active { 
    background: #1e293b !important; 
    border-color: #00d2ff !important; 
    color: #00d2ff !important; 
    box-shadow: 0 0 10px rgba(0, 210, 255, 0.2) !important; 
}

/* ====================================================
   PRODUCTS GRID & DYNAMIC COLUMNS
   ==================================================== */
.rt-products-grid { 
    display: grid !important; 
    grid-template-columns: repeat(3, 1fr) !important; /* Default 3 columns */
    gap: 25px !important; 
}

/* Dynamic Column Modifiers */
.rt-products-grid.grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
.rt-products-grid.grid-cols-3 { grid-template-columns: repeat(3, 1fr) !important; }
.rt-products-grid.grid-cols-4 { grid-template-columns: repeat(4, 1fr) !important; }

/* OVERRIDE FOR PRODUCT CARD NEON GLOW */
.rt-product-card { 
    background-color: #0f172a !important; 
    background-image: url('https://eli.ronss.tech/wp-content/uploads/2026/04/BG-Image-product-items-tmpr-1.png') !important; 
    background-size: cover !important;
    background-position: center !important;
    border: none !important; 
    border-radius: 8px !important; 
    overflow: visible !important; 
    display: flex !important; 
    flex-direction: column !important; 
    transition: all 0.3s ease !important; 
    height: 100% !important; 
    padding: 0 !important; 
}

.rt-product-card.neon-glow-container::before,
.rt-product-card.neon-glow-container::after {
    padding: 3px !important; 
    animation: glowSpin 12s linear infinite !important; 
    border-radius: 8px !important;
}

.rt-product-card:hover { 
    transform: translateY(-4px) !important; 
    box-shadow: inset 0 0 0 2px #0b3d6e, 0 12px 25px rgba(0,0,0,0.6) !important; 
}

.rt-product-card.neon-glow-container:hover::before,
.rt-product-card.neon-glow-container:hover::after {
    background: conic-gradient(
        from var(--border-angle),
        transparent 65%, 
        rgba(255, 255, 255, 0.4) 85%, 
        rgba(255, 255, 255, 0.9) 97%, 
        #ffffff 100% 
    ) !important;
}

/* Image Wrap */
.rt-product-image-wrap { 
    overflow: hidden !important; 
    display: flex !important; 
    position: relative !important; 
    width: 100% !important; 
    aspect-ratio: 1 / 1 !important; 
    padding: 0 !important; 
    background: transparent !important; 
    align-items: center !important;
    justify-content: center !important;
    border-top-left-radius: 8px !important;
    border-top-right-radius: 8px !important;
}

.rt-product-image-wrap img { 
    width: 100% !important; 
    height: 100% !important; 
    max-width: 100% !important; 
    max-height: 100% !important; 
    object-fit: cover !important; 
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important; 
    background: transparent !important;
}

.rt-product-card:hover .rt-product-image-wrap img { transform: scale(1.05) !important; }

/* Card Details - Compact Spacing */
.rt-product-details { 
    padding: 12px 15px 18px !important; 
    text-align: center !important; 
    display: flex !important; 
    flex-direction: column !important; 
    align-items: center !important;
    flex-grow: 1 !important; 
    background: transparent !important;
}

.rt-product-category, 
.rt-product-category a { 
    font-size: 0.85rem !important; 
    color: #94A3B8 !important; 
    font-weight: 400 !important;
    margin-bottom: 4px !important; 
    text-decoration: none !important;
}

.rt-product-title, 
.rt-product-title a { 
    font-size: 1.15rem !important; 
    font-weight: 500 !important; 
    margin: 0 0 8px !important; 
    line-height: 1.25 !important; 
    color: #FFFFFF !important; 
    letter-spacing: 0.5px !important; 
    text-decoration: none !important;
    display: block !important;
    min-height: 2.5em !important; 
}

.rt-product-price, 
.rt-product-price .amount, 
.rt-product-price ins .amount { 
    font-weight: 700 !important; 
    font-size: 1.1rem !important; 
    margin-top: auto !important; 
    margin-bottom: 12px !important; 
    color: #2EB2FF !important; 
    text-decoration: none !important;
    text-shadow: 0 0 8px rgba(46, 178, 255, 0.5), 0 0 15px rgba(46, 178, 255, 0.3) !important; 
}

/* Metallic Button */
.rt-add-to-cart-wrap { width: 100% !important; z-index: 20 !important; position: relative !important; }
.rt-add-to-cart-wrap .button { 
    display: block !important; 
    width: 100% !important; 
    padding: 10px 12px !important; 
    background: linear-gradient(180deg, #163e6e 0%, #091e38 100%) !important; 
    color: #FFFFFF !important; 
    border: 1px solid #0f2746 !important; 
    text-align: center !important; 
    border-radius: 6px !important; 
    text-decoration: none !important; 
    font-size: 0.9rem !important; 
    font-weight: 500 !important; 
    text-transform: uppercase !important; 
    letter-spacing: 1px !important;
    box-shadow: inset 0 1px 0 rgba(144, 200, 255, 0.7), inset 0 -1px 0 rgba(144, 200, 255, 0.3), 0 4px 8px rgba(0, 0, 0, 0.5) !important;
    transition: all 0.3s ease !important; 
}

.rt-add-to-cart-wrap .button:hover { 
    background: linear-gradient(180deg, #1d4d85 0%, #0d2a4d 100%) !important;
    border-color: #113259 !important; 
    box-shadow: inset 0 1px 0 rgba(180, 220, 255, 0.9), inset 0 -1px 0 rgba(180, 220, 255, 0.5), 0 0 15px rgba(90, 156, 230, 0.4) !important; 
    transform: translateY(-1px) !important;
    color: #FFFFFF !important;
}
.rt-add-to-cart-wrap .added_to_cart { display: none !important; }

/* ====================================================
   DRAWER & OVERLAY
   ==================================================== */
#rc-floating-cart { position: fixed !important; bottom: 30px !important; right: 30px !important; background: #fff !important; width: 65px !important; height: 65px !important; border-radius: 50% !important; box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; z-index: 9999 !important; transition: transform 0.3s !important; border: 2px solid #111 !important; }
#rc-floating-cart:hover { transform: scale(1.08) !important; }
#rc-floating-cart svg { width: 28px !important; height: 28px !important; fill: #111 !important; }
#rc-cart-count { position: absolute !important; top: -5px !important; right: -5px !important; background: #00d2ff !important; color: #000 !important; font-size: 12px !important; font-weight: bold !important; width: 24px !important; height: 24px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 2px solid #fff !important; font-family: "Inter", sans-serif !important; }

#rc-drawer-overlay { position: fixed !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background: rgba(0, 0, 0, 0.6) !important; z-index: 99998 !important; opacity: 0 !important; visibility: hidden !important; transition: 0.3s !important; backdrop-filter: blur(4px) !important; }
#rc-drawer-overlay.active { opacity: 1 !important; visibility: visible !important; }

#rc-cart-drawer { position: fixed !important; top: 0 !important; right: -480px !important; width: 100% !important; max-width: 420px !important; height: 100vh !important; background: #070c14 !important; color: #fff !important; z-index: 99999 !important; box-shadow: -10px 0 40px rgba(0,0,0,0.8) !important; transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important; display: flex !important; flex-direction: column !important; font-family: "Inter", sans-serif !important; }
#rc-cart-drawer.active { right: 0 !important; }

.rc-drawer-header { padding: 20px 24px !important; border-bottom: 1px solid #1a2332 !important; display: flex !important; justify-content: space-between !important; align-items: center !important; background: #0a111c !important; }
.rc-drawer-header h3 { margin: 0 !important; font-size: 1.2rem !important; display: flex !important; align-items: center !important; color: #fff !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 1px !important; }
#rc-close-drawer { background: none !important; border: none !important; font-size: 30px !important; cursor: pointer !important; color: #fff !important; transition: color 0.2s !important; padding: 0 !important; line-height: 1 !important; }
#rc-close-drawer:hover { color: #00d2ff !important; }

.rc-drawer-items-wrap { display: flex !important; flex-direction: column !important; height: 100% !important; overflow: hidden !important; }
.rc-drawer-items { flex: 1 !important; overflow-y: auto !important; padding: 20px 24px !important; }
.rc-drawer-items::-webkit-scrollbar { width: 6px !important; }
.rc-drawer-items::-webkit-scrollbar-track { background: #0a111c !important; }
.rc-drawer-items::-webkit-scrollbar-thumb { background: #334155 !important; border-radius: 10px !important; }

.rc-cart-item { display: flex !important; gap: 14px !important; margin-bottom: 16px !important; padding-bottom: 16px !important; border-bottom: 1px solid #1a2332 !important; position: relative !important; }
.rc-cart-item img { width: 65px !important; height: 65px !important; object-fit: cover !important; border-radius: 6px !important; background: #0a111c !important; padding: 2px !important; flex-shrink: 0 !important; border: 1px solid #1a2332 !important; }
.rc-cart-item-info { flex: 1 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; min-width: 0 !important; width: 100% !important; box-sizing: border-box !important; }
.rc-cart-item-title { font-weight: 600 !important; font-size: 13px !important; margin-bottom: 8px !important; color: #fff !important; line-height: 1.4 !important; word-wrap: break-word !important; }

.rc-price-remove-row { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 10px !important; width: 100% !important; box-sizing: border-box !important; }
.rc-cart-item-price { color: #3b82f6 !important; font-size: 14px !important; font-weight: 700 !important; }

/* FIREWALL FOR REMOVE BUTTON TO OVERRIDE WOOCOMMERCE DEFAULTS */
#rc-cart-drawer a.rc-remove-item { 
    background: transparent !important; 
    border: none !important; 
    cursor: pointer !important; 
    color: #cbd5e1 !important; 
    font-size: 11px !important; 
    font-weight: 600 !important; 
    display: flex !important; 
    align-items: center !important; 
    gap: 4px !important; 
    padding: 0 !important; 
    margin: 0 !important; 
    width: auto !important; 
    height: auto !important; 
    position: static !important; 
    text-indent: 0 !important; 
    transition: 0.2s !important; 
    text-transform: uppercase !important; 
    text-decoration: none !important; 
    border-radius: 0 !important;
}
#rc-cart-drawer a.rc-remove-item::before, 
#rc-cart-drawer a.rc-remove-item::after { display: none !important; } /* Stop Woo from adding an "x" icon */
#rc-cart-drawer a.rc-remove-item svg { width: 12px !important; height: 12px !important; fill: currentColor !important; display: block !important; margin: 0 !important; }
#rc-cart-drawer a.rc-remove-item:hover { color: #ff4b4b !important; background: transparent !important; }

.rc-qty-controls { font-size: 13px !important; color: #cbd5e1 !important; }

.rc-drawer-footer { padding: 20px 24px !important; background: #0a111c !important; border-top: 1px solid #1a2332 !important; }
.rc-subtotal { font-size: 18px !important; font-weight: 700 !important; text-align: center !important; margin-bottom: 6px !important; color: #fff !important; }
.rc-tax-note { text-align: center !important; font-size: 11px !important; color: #cbd5e1 !important; margin-bottom: 16px !important; }
.rc-drawer-buttons { display: flex !important; flex-direction: column !important; gap: 10px !important; }

.rc-drawer-btn { background: transparent !important; color: #fff !important; border: 1px solid #334155 !important; text-align: center !important; padding: 12px 16px !important; border-radius: 4px !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; transition: all 0.3s !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; text-decoration: none !important; display: block !important; width: 100% !important; box-sizing: border-box !important; }
.rc-drawer-btn:hover { background: #1e293b !important; color: #fff !important; }
.rc-btn-checkout { background: #2EB2FF !important; border-color: #2EB2FF !important; color: #fff !important; } 
.rc-btn-checkout:hover { background: #1A9EE5 !important; border-color: #1A9EE5 !important; color: #fff !important; } 

/* Global Keyframes fallback */
@keyframes glowSpin { to { --border-angle: 1turn; } }

/* ====================================================
   MOBILE RESPONSIVENESS & COMPACT PADDING
   ==================================================== */
@media (max-width: 1024px) { 
    .rt-layout-switcher { display: none !important; } 
    .rt-products-grid.grid-cols-2, .rt-products-grid.grid-cols-4 { grid-template-columns: repeat(2, 1fr) !important; } 
    .rt-products-grid { grid-template-columns: repeat(2, 1fr) !important; } 
}

@media (max-width: 768px) { 
    .rt-shop-wrapper { grid-template-columns: 1fr !important; gap: 30px !important; }
    .rt-shop-sidebar { position: static !important; margin-bottom: 20px !important; }
    aside.rt-shop-sidebar .rt-custom-filters-panel.neon-glow-container { padding: 20px !important; } 
    
    .rt-shop-header-controls { flex-direction: column !important; align-items: stretch !important; gap: 15px !important; }
    .rt-search-wrapper { max-width: 100% !important; }
}

@media (max-width: 480px) { 
    .rt-shop-wrapper { gap: 20px !important; }
    .rt-products-grid { grid-template-columns: 1fr !important; gap: 20px !important; } 
    .rt-products-grid.grid-cols-2, .rt-products-grid.grid-cols-3, .rt-products-grid.grid-cols-4 { grid-template-columns: 1fr !important; }
    #rc-cart-drawer { width: 100% !important; right: -100% !important; }
    .rt-product-card { margin: 0 10px !important; } 

    /* MOBILE: Compact Filter Panel */
    aside.rt-shop-sidebar .rt-custom-filters-panel.neon-glow-container { padding: 15px !important; }
    .rt-panel-header { margin-bottom: 15px !important; padding-bottom: 10px !important; }
    .rt-panel-title { font-size: 1.15rem !important; }
    .rt-filter-group { margin-bottom: 20px !important; }
    .rt-filter-title { margin: 0 0 15px 0 !important; font-size: 0.95rem !important; }
    .rt-dual-slider-container { margin: 10px 0 20px !important; }

    /* MOBILE: Compact Product Card Details */
    .rt-product-details { padding: 10px 12px 15px !important; }
    .rt-product-category, .rt-product-category a { font-size: 0.8rem !important; margin-bottom: 2px !important; }
    .rt-product-title, .rt-product-title a { font-size: 1.05rem !important; margin-bottom: 6px !important; min-height: 2.4em !important; line-height: 1.2 !important; }
    .rt-product-price, .rt-product-price .amount, .rt-product-price ins .amount { margin-bottom: 10px !important; font-size: 1rem !important; }

    /* MOBILE: Taller Add to Cart Button */
    .rt-add-to-cart-wrap .button { padding: 12px 12px !important; font-size: 0.95rem !important; }
}