/*
Theme Name: Buy THC Vape Cart
Theme URI: https://buythcvapecart.com
Author: Your Name
Author URI: https://buythcvapecart.com
Description: Premium custom theme for THC vape cartridge e-commerce with complete WooCommerce integration.
Version: 2.0.0
License: GPL v2 or later
Text Domain: thc-theme
*/

/* ==============================================
   TABLE OF CONTENTS
   1. CSS Variables & Reset
   2. Typography
   3. Layout & Containers
   4. Header & Navigation
   5. Footer
   6. WooCommerce General
   7. Search Form
   8. Product Archive (Shop)
   9. Single Product
   10. Latest Products Section
   11. Category Grid
   12. Cart Page
   13. Checkout Page
   14. My Account Page
   15. Widgets
   16. Forms & Buttons
   17. Pagination
   18. Age Verification
   19. Animations
   20. Utility Classes
   21. Responsive
   ============================================== */

/* ==============================================
   1. CSS VARIABLES & RESET
   ============================================== */

:root {
    /* Green Theme Only - Red/Yellow Removed */
    --primary-green: #1a3c34;
    --primary-green-dark: #0a1512;
    --primary-green-light: #2a4c44;
    --accent-lime: #39ff14;
    --accent-lime-dark: #2be00a;
    --accent-lime-light: #7aff6e;
    
    /* Neutral Colors */
    --primary-black: #111111;
    --secondary-black: #222222;
    --light-gray: #f5f5f5;
    --dark-gray: #333333;
    --medium-gray: #444444;
    
    /* Text Colors */
    --text-white: #ffffff;
    --text-off-white: #f5f5f7;
    --text-light: #ffffff;
    --text-gray: #c0c8c5;
    --text-gray-dark: #8e9b96;
    --text-dark: #111111;
    
    /* Backgrounds */
    --bg-dark: #0a1512;
    --bg-card: rgba(28, 35, 32, 0.8);
    --bg-black: #111111;
    
    /* Borders */
    --border-color: rgba(57, 255, 20, 0.2);
    --border-hover: rgba(57, 255, 20, 0.4);
    
    /* Shadows */
    --shadow-depth: 0 8px 16px rgba(0, 0, 0, 0.5);
    --shadow-elevated: 0 12px 24px rgba(0, 0, 0, 0.6);
    --shadow-subtle: 0 4px 8px rgba(0, 0, 0, 0.3);
    --shadow-inset: inset 0 2px 4px rgba(0, 0, 0, 0.5);
    --shadow-card: 0 6px 12px rgba(0, 0, 0, 0.4);
    --shadow-glow: 0 10px 25px -5px rgba(57, 255, 20, 0.4);
    
    /* Transitions */
    --transition: all 0.3s ease;
    --transition-bounce: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    
    /* Border Radius */
    --border-radius-card: 32px;
    --border-radius-button: 50px;
    --border-radius-badge: 30px;
    --border-radius-3d: 20px;
    --border-radius-3d-small: 12px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: linear-gradient(135deg, var(--primary-green-dark) 0%, #1a3c34 100%);
    color: var(--text-white);
    line-height: 1.6;
    overflow-x: hidden;
}

/* ==============================================
   2. TYPOGRAPHY
   ============================================== */

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 1rem;
}

h1 { font-size: clamp(2.5rem, 5vw, 4rem); }
h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
h3 { font-size: clamp(1.5rem, 3vw, 2rem); }
h4 { font-size: 1.2rem; }

p {
    margin-bottom: 1rem;
    color: var(--text-gray);
}

a {
    color: var(--accent-lime);
    text-decoration: none;
    transition: var(--transition);
}

a:hover {
    color: var(--accent-lime-light);
}

.gradient-text {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-light) 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ==============================================
   3. LAYOUT & CONTAINERS
   ============================================== */

.thc-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 2rem;
}

.thc-main-content {
    min-height: 60vh;
    padding: 4rem 0;
    background: linear-gradient(135deg, var(--primary-green-dark) 0%, var(--primary-green) 100%);
}

/* ==============================================
   4. HEADER & NAVIGATION
   ============================================== */

/* Your existing header styles here */

/* ==============================================
   5. FOOTER
   ============================================== */

/* Your existing footer styles here */

/* ==============================================
   6. WOOCOMMERCE GENERAL
   ============================================== */

/* Breadcrumbs */
.thc-breadcrumbs {
    padding: 1rem 0;
    margin-bottom: 2rem;
    color: var(--text-gray);
}

.thc-breadcrumbs a {
    color: var(--text-gray);
}

.thc-breadcrumbs a:hover {
    color: var(--accent-lime);
}

.thc-breadcrumb-sep {
    margin: 0 0.5rem;
    color: var(--text-gray-dark);
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: var(--secondary-black);
    backdrop-filter: blur(10px);
    border: 2px solid var(--dark-gray);
    border-radius: var(--border-radius-3d-small);
    padding: 1rem 1.5rem !important;
    margin-bottom: 2rem !important;
    color: var(--text-white);
    list-style: none;
    position: relative;
    box-shadow: var(--shadow-depth);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    color: var(--accent-lime) !important;
}

.woocommerce-error {
    border-color: var(--accent-lime);
}

.woocommerce-error::before {
    color: var(--accent-lime) !important;
}

/* ==============================================
   7. SEARCH FORM
   ============================================== */

/* Main search form container */
.woocommerce-product-search {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    align-items: center;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
}

/* Search input field */
.woocommerce-product-search .search-field {
    flex: 1;
    min-width: 300px;
    padding: 15px 20px;
    background-color: var(--primary-black);
    border: 2px solid var(--dark-gray);
    border-radius: var(--border-radius-3d-small);
    color: var(--text-light);
    font-size: 1rem;
    font-family: 'Inter', sans-serif;
    outline: none;
    transition: all 0.3s ease;
    box-shadow: var(--shadow-subtle);
}

.woocommerce-product-search .search-field:focus {
    border-color: var(--accent-lime);
    box-shadow: var(--shadow-glow);
    transform: translateY(-2px);
}

.woocommerce-product-search .search-field::placeholder {
    color: #888;
    font-weight: 400;
}

/* Search button */
.woocommerce-product-search button[type="submit"] {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%);
    border: none;
    padding: 15px 30px;
    color: var(--primary-green-dark);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    border-radius: var(--border-radius-3d-small);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 140px;
    box-shadow: var(--shadow-depth);
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce-product-search button[type="submit"]:hover {
    background: linear-gradient(135deg, var(--accent-lime-dark) 0%, var(--accent-lime) 100%);
    transform: translateY(-3px);
    box-shadow: var(--shadow-elevated);
    color: var(--primary-green-dark);
}

.woocommerce-product-search button[type="submit"]:active {
    transform: translateY(-1px);
    box-shadow: var(--shadow-depth);
}

/* If the search form has a category dropdown */
.woocommerce-product-search select {
    padding: 15px 20px;
    background-color: var(--primary-black);
    border: 2px solid var(--dark-gray);
    border-radius: var(--border-radius-3d-small);
    color: var(--text-light);
    font-size: 1rem;
    cursor: pointer;
    min-width: 180px;
    outline: none;
    transition: all 0.3s ease;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339ff14' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 16px;
    padding-right: 45px;
    box-shadow: var(--shadow-subtle);
}

.woocommerce-product-search select:hover {
    border-color: var(--accent-lime);
    box-shadow: var(--shadow-glow);
}

.woocommerce-product-search select:focus {
    border-color: var(--accent-lime);
    box-shadow: var(--shadow-glow);
}

/* Search form wrapper for better styling */
.woocommerce-search-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    background: linear-gradient(135deg, var(--secondary-black) 0%, #1a1a1a 100%);
    border-radius: var(--border-radius-3d);
    border: 2px solid var(--accent-lime);
    box-shadow: var(--shadow-elevated);
}

/* Search suggestions */
.search-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, var(--secondary-black) 0%, #1a1a1a 100%);
    border: 2px solid var(--accent-lime);
    border-radius: 0 0 var(--border-radius-3d-small) var(--border-radius-3d-small);
    box-shadow: var(--shadow-elevated);
    z-index: 1000;
    max-height: 400px;
    overflow-y: auto;
    display: none;
    margin-top: 5px;
    border-top: none;
}

.search-suggestions.active {
    display: block;
}

.search-suggestion-item {
    padding: 12px 15px;
    border-bottom: 1px solid var(--medium-gray);
    transition: all 0.3s ease;
    cursor: pointer;
}

.search-suggestion-item:last-child {
    border-bottom: none;
}

.search-suggestion-item:hover {
    background: rgba(57, 255, 20, 0.2);
    transform: translateX(5px);
}

/* ==============================================
   8. PRODUCT ARCHIVE (SHOP)
   ============================================== */

/* Shop Page Layout */
.neo-shop-page {
    padding: 80px 0;
    background: linear-gradient(135deg, var(--primary-green-dark) 0%, var(--primary-green) 100%);
    min-height: 100vh;
}

/* Products Grid - Base styles (mobile first) */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding: 0 !important;
    margin: 60px 0 !important;
    list-style: none !important;
}

/* Product Card - 3D Style */
.woocommerce ul.products li.product {
    background: linear-gradient(135deg, var(--secondary-black) 0%, #1a1a1a 100%) !important;
    padding: 25px !important;
    border-radius: var(--border-radius-3d) !important;
    box-shadow: var(--shadow-elevated) !important;
    text-align: center;
    transition: var(--transition-bounce);
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.woocommerce ul.products li.product::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-lime), var(--accent-lime-light));
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-15px);
    box-shadow: var(--shadow-elevated);
    border-color: var(--accent-lime);
}

.woocommerce ul.products li.product:hover::before {
    transform: scaleX(1);
}

/* Product Image */
.woocommerce ul.products li.product a img {
    background: var(--dark-gray);
    padding: 15px;
    border-radius: var(--border-radius-3d-small);
    margin-bottom: 20px;
    width: 100%;
    height: 250px;
    object-fit: cover;
    border: 2px solid var(--medium-gray);
    box-shadow: var(--shadow-depth);
    transition: all 0.3s ease;
}

.woocommerce ul.products li.product:hover a img {
    transform: scale(1.03);
    border-color: var(--accent-lime);
    box-shadow: var(--shadow-glow);
}

/* Product Title */
.woocommerce-loop-product__title {
    font-size: 1.3rem !important;
    color: var(--text-light) !important;
    font-weight: 700 !important;
    margin: 15px 0 10px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    letter-spacing: 0.5px;
}

/* Price */
.woocommerce ul.products li.product .price {
    display: block;
    color: var(--accent-lime) !important;
    font-weight: 900;
    font-size: 1.4rem;
    margin-bottom: 20px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.woocommerce ul.products li.product .price del {
    color: var(--medium-gray) !important;
    font-size: 1rem;
    margin-right: 10px;
}

.woocommerce ul.products li.product .price ins {
    color: var(--accent-lime) !important;
    text-decoration: none;
}

/* Add to Cart Button - 3D Style */
.woocommerce ul.products li.product .button {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%) !important;
    color: var(--primary-green-dark) !important;
    padding: 15px 30px !important;
    border-radius: var(--border-radius-3d-small) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 14px;
    box-shadow: var(--shadow-depth) !important;
    transition: all 0.3s ease;
    border: 2px solid transparent !important;
    position: relative;
    overflow: hidden;
    letter-spacing: 1px;
    width: 100%;
}

.woocommerce ul.products li.product .button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.woocommerce ul.products li.product .button:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-glow) !important;
    border-color: var(--accent-lime-light) !important;
}

.woocommerce ul.products li.product .button:hover::before {
    left: 100%;
}

/* Product Badges */
.thc-badge,
.woocommerce span.onsale {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    z-index: 10;
    padding: 0.4rem 1.2rem;
    border-radius: var(--border-radius-badge);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%) !important;
    color: var(--primary-green-dark) !important;
    box-shadow: var(--shadow-depth);
    border: 2px solid var(--accent-lime-light);
    min-height: auto;
    min-width: auto;
    line-height: 1;
    left: auto;
    right: 1.5rem;
    top: 1.5rem;
}

.thc-badge-new {
    background: linear-gradient(135deg, var(--accent-lime-light) 0%, var(--accent-lime) 100%) !important;
    color: var(--primary-green-dark) !important;
}

.thc-badge-sale {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%) !important;
    color: var(--primary-green-dark) !important;
}

/* WooCommerce Controls */
.woocommerce-ordering,
.woocommerce-result-count {
    background: var(--secondary-black);
    padding: 15px 25px;
    border-radius: var(--border-radius-3d-small);
    color: var(--text-light);
    border: 2px solid var(--dark-gray);
    box-shadow: var(--shadow-subtle);
}

.woocommerce-ordering select {
    background: var(--dark-gray);
    color: var(--text-light);
    border: 2px solid var(--medium-gray);
    border-radius: 8px;
    padding: 10px 15px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.woocommerce-ordering select:hover {
    border-color: var(--accent-lime);
}

/* ==============================================
   9. SINGLE PRODUCT PAGE
   ============================================== */

.single-product-wrap {
    padding: 100px 0;
    background: linear-gradient(135deg, var(--primary-green-dark) 0%, var(--primary-green) 100%);
    min-height: 80vh;
}

/* Main Layout */
.woocommerce div.product div.images, 
.woocommerce div.product div.summary {
    width: 48% !important;
    float: left !important;
}

.woocommerce div.product div.summary {
    padding-left: 50px !important;
}

/* Product Gallery */
.woocommerce div.product div.images {
    background: var(--secondary-black);
    padding: 25px;
    border-radius: var(--border-radius-3d);
    box-shadow: var(--shadow-elevated);
    border: 2px solid var(--dark-gray);
}

.woocommerce div.product div.images img {
    border-radius: var(--border-radius-3d-small);
    border: 2px solid var(--medium-gray);
    box-shadow: var(--shadow-depth);
    transition: all 0.3s ease;
}

.woocommerce div.product div.images img:hover {
    transform: scale(1.02);
    border-color: var(--accent-lime);
}

/* Product Title */
.woocommerce div.product .product_title {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--accent-lime);
    margin-bottom: 15px;
    line-height: 1.2;
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
}

/* Price */
.woocommerce div.product p.price {
    font-size: 2.2rem;
    font-weight: 900;
    color: var(--accent-lime) !important;
    margin-bottom: 30px;
    text-shadow: 0 3px 6px rgba(0, 0, 0, 0.5);
}

/* THC Percentage */
.thc-cannabinoid-info {
    display: flex;
    gap: 1.5rem;
    margin: 1.5rem 0;
    padding: 1rem;
    background: var(--secondary-black);
    border: 2px solid var(--dark-gray);
    border-radius: var(--border-radius-3d-small);
    box-shadow: var(--shadow-subtle);
}

.thc-cannabinoid-info span {
    color: var(--text-white);
}

.thc-cannabinoid-info strong {
    color: var(--accent-lime);
}

/* Quantity */
.quantity {
    display: inline-block;
    margin-right: 1rem;
}

.quantity input.qty {
    width: 90px;
    padding: 12px 15px;
    background: var(--dark-gray);
    border: 2px solid var(--medium-gray);
    border-radius: var(--border-radius-3d-small);
    color: var(--text-light);
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
    box-shadow: var(--shadow-inset);
    transition: all 0.3s ease;
}

.quantity input.qty:focus {
    border-color: var(--accent-lime);
    box-shadow: 0 0 15px rgba(57, 255, 20, 0.2);
    outline: none;
}

/* Add to Cart Button */
.variations_button .button.single_add_to_cart_button {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%) !important;
    color: var(--primary-green-dark) !important;
    padding: 18px 45px !important;
    border-radius: var(--border-radius-3d-small) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border: 2px solid transparent !important;
    box-shadow: var(--shadow-depth) !important;
    transition: all 0.3s ease;
    font-size: 1.1rem;
    letter-spacing: 1px;
}

.variations_button .button.single_add_to_cart_button:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-glow) !important;
    border-color: var(--accent-lime-light) !important;
}

/* Product Meta */
.product_meta {
    margin: 2rem 0;
    padding: 1rem 0;
    border-top: 2px solid var(--dark-gray);
    border-bottom: 2px solid var(--dark-gray);
}

.product_meta span {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--text-gray);
}

.product_meta a {
    color: var(--accent-lime);
}

/* Tabs */
.woocommerce-tabs {
    margin-top: 60px;
    background: var(--secondary-black);
    padding: 30px;
    border-radius: var(--border-radius-3d);
    box-shadow: var(--shadow-elevated);
    border: 2px solid var(--dark-gray);
}

.woocommerce-tabs ul.tabs {
    display: flex;
    gap: 0.5rem;
    padding: 0;
    margin: 0 0 2rem !important;
    background: transparent;
    border: none;
}

.woocommerce-tabs ul.tabs::before {
    border: none;
}

.woocommerce-tabs ul.tabs li {
    background: linear-gradient(135deg, var(--dark-gray) 0%, #2a2a2a 100%) !important;
    border-radius: var(--border-radius-3d-small) var(--border-radius-3d-small) 0 0 !important;
    border: 2px solid var(--medium-gray) !important;
    border-bottom: none !important;
    box-shadow: var(--shadow-subtle) !important;
    margin-right: 10px !important;
    transition: all 0.3s ease;
    padding: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
    color: var(--text-light) !important;
    font-weight: 600;
    padding: 15px 25px;
    font-size: 1rem;
    display: inline-block;
}

.woocommerce-tabs ul.tabs li.active {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%) !important;
    border-color: var(--accent-lime) !important;
    box-shadow: var(--shadow-glow) !important;
}

.woocommerce-tabs .panel {
    padding: 30px;
    color: var(--text-light);
}

/* Related Products */
.related.products h2,
.upsells.products h2 {
    font-size: 1.8rem;
    margin: 3rem 0 1.5rem;
    color: var(--accent-lime);
}

/* ==============================================
   10. LATEST PRODUCTS SECTION
   ============================================== */

.neo-latest-section { 
    padding: 100px 0; 
    background: linear-gradient(135deg, var(--primary-green-dark) 0%, var(--primary-green) 100%);
    border-top: 3px solid var(--accent-lime);
    border-bottom: 3px solid var(--accent-lime-light);
}

.neo-section-header { 
    text-align: center; 
    margin-bottom: 60px; 
}

.neo-section-header h2 { 
    font-size: 3rem; 
    font-weight: 900; 
    color: var(--accent-lime);
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    margin-bottom: 15px;
}

.neo-section-header p { 
    color: var(--text-light); 
    font-size: 1.2rem; 
    max-width: 600px;
    margin: 0 auto;
    opacity: 0.9;
}

/* Grid System - Mobile first */
.neo-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

/* Product Card */
.neo-product-card {
    background: linear-gradient(135deg, var(--secondary-black) 0%, #1a1a1a 100%);
    padding: 25px;
    border-radius: var(--border-radius-3d);
    box-shadow: var(--shadow-elevated);
    transition: var(--transition-bounce);
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.neo-product-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-lime), var(--accent-lime-light));
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.neo-product-card:hover {
    transform: translateY(-10px);
    border-color: var(--accent-lime);
}

.neo-product-card:hover::before {
    transform: scaleX(1);
}

/* Image Box */
.neo-img-box {
    background: var(--dark-gray);
    padding: 20px;
    border-radius: var(--border-radius-3d-small);
    margin-bottom: 20px;
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--medium-gray);
    box-shadow: var(--shadow-depth);
    transition: all 0.3s ease;
}

.neo-product-card:hover .neo-img-box {
    transform: scale(1.03);
    border-color: var(--accent-lime);
}

.neo-img-box img {
    width: 100%;
    max-height: 200px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

/* Add to Cart Button */
.neo-add-btn {
    display: block;
    width: 100%;
    text-align: center;
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%);
    color: var(--primary-green-dark);
    padding: 15px;
    border-radius: var(--border-radius-3d-small);
    text-decoration: none;
    font-weight: 800;
    margin-top: 20px;
    box-shadow: var(--shadow-depth);
    border: 2px solid transparent;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
}

.neo-add-btn:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-glow);
    border-color: var(--accent-lime-light);
}

/* View All Button */
.neo-view-all { 
    text-align: center; 
    margin-top: 60px; 
}

.view-all-btn {
    display: inline-block;
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%);
    color: var(--primary-green-dark);
    padding: 18px 40px;
    border-radius: var(--border-radius-3d-small);
    text-decoration: none;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    box-shadow: var(--shadow-depth);
    border: 2px solid transparent;
    transition: all 0.3s ease;
    font-size: 1.1rem;
}

.view-all-btn:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-glow);
    border-color: var(--accent-lime-light);
}

/* ==============================================
   11. CATEGORY GRID
   ============================================== */

.neo-cat-section { 
    padding: 80px 0; 
    background: linear-gradient(135deg, var(--primary-green-dark) 0%, var(--primary-green) 100%);
}

/* Category Grid - Mobile first */
.neo-grid-4 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

.neo-cat-card {
    background: linear-gradient(135deg, var(--secondary-black) 0%, #1a1a1a 100%);
    padding: 25px;
    border-radius: var(--border-radius-3d);
    box-shadow: var(--shadow-elevated);
    transition: var(--transition-bounce);
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.neo-cat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-lime), var(--accent-lime-light));
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.neo-cat-card a { 
    text-decoration: none; 
    display: block; 
}

.neo-cat-card:hover {
    transform: translateY(-10px);
    border-color: var(--accent-lime);
}

.neo-cat-card:hover::before {
    transform: scaleX(1);
}

.neo-cat-img-box {
    background: var(--dark-gray);
    padding: 25px;
    border-radius: var(--border-radius-3d-small);
    box-shadow: var(--shadow-depth);
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border: 2px solid var(--medium-gray);
    transition: all 0.3s ease;
}

.neo-cat-card:hover .neo-cat-img-box {
    transform: scale(1.05);
    border-color: var(--accent-lime);
}

.neo-cat-img-box img {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
    filter: drop-shadow(3px 3px 5px rgba(0,0,0,0.5));
}

.neo-cat-info h3 {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--accent-lime);
    margin: 0 0 10px 0;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.neo-cat-info span {
    display: block;
    font-size: 0.9rem;
    color: var(--text-light);
    font-weight: 600;
    text-align: center;
    opacity: 0.8;
}

/* ==============================================
   12. CART PAGE
   ============================================== */

.cart-page .thc-main-content {
    background: linear-gradient(135deg, var(--primary-green-dark) 0%, var(--primary-green) 100%);
}

/* Cart Table */
.shop_table {
    background: var(--secondary-black) !important;
    border: 2px solid var(--dark-gray) !important;
    border-radius: var(--border-radius-3d);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    box-shadow: var(--shadow-elevated) !important;
}

.shop_table th {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%) !important;
    color: var(--primary-green-dark) !important;
    font-weight: 600;
    padding: 1rem !important;
    border: none !important;
}

.shop_table td {
    padding: 1rem !important;
    border-color: var(--dark-gray) !important;
    color: var(--text-light);
    background: transparent;
}

.shop_table .product-remove a {
    color: var(--accent-lime);
}

.shop_table .product-name a {
    color: var(--text-light);
}

.shop_table .product-name a:hover {
    color: var(--accent-lime);
}

/* Cart Totals */
.cart_totals {
    background: var(--secondary-black);
    border: 2px solid var(--dark-gray);
    border-radius: var(--border-radius-3d);
    padding: 2rem;
    box-shadow: var(--shadow-elevated);
}

.cart_totals h2 {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    color: var(--accent-lime);
}

/* Update Cart Button */
button[name="update_cart"] {
    background: transparent !important;
    border: 2px solid var(--dark-gray) !important;
    color: var(--text-light) !important;
}

button[name="update_cart"]:hover {
    border-color: var(--accent-lime) !important;
    color: var(--accent-lime) !important;
    background: transparent !important;
}

/* Proceed to Checkout */
.wc-proceed-to-checkout .button {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%) !important;
    color: var(--primary-green-dark) !important;
    font-weight: 600;
    padding: 1rem 2rem !important;
    border-radius: var(--border-radius-3d-small);
    width: 100%;
    text-align: center;
    border: 2px solid transparent !important;
    box-shadow: var(--shadow-depth) !important;
}

.wc-proceed-to-checkout .button:hover {
    background: linear-gradient(135deg, var(--accent-lime-dark) 0%, var(--accent-lime) 100%) !important;
    transform: translateY(-3px);
    box-shadow: var(--shadow-glow) !important;
    border-color: var(--accent-lime-light) !important;
}

/* Cart Extra Note */
.thc-cart-extra {
    margin: 2rem 0;
    padding: 1rem;
    background: var(--secondary-black);
    border-radius: var(--border-radius-3d-small);
    border: 2px solid var(--dark-gray);
    box-shadow: var(--shadow-subtle);
}

.thc-cart-note {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: var(--text-light);
}

.thc-cart-note strong {
    color: var(--accent-lime);
}


/* ==============================================
   14. MY ACCOUNT PAGE
   ============================================== */

.woocommerce-account .thc-main-content {
    background: linear-gradient(135deg, var(--primary-green-dark) 0%, var(--primary-green) 100%);
}

/* Navigation */
.woocommerce-MyAccount-navigation {
    background: var(--secondary-black);
    border: 2px solid var(--dark-gray);
    border-radius: var(--border-radius-3d);
    padding: 1.5rem;
    box-shadow: var(--shadow-elevated);
}

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

.woocommerce-MyAccount-navigation ul li {
    margin-bottom: 0.5rem;
}

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 0.8rem 1rem;
    border-radius: var(--border-radius-3d-small);
    color: var(--text-light);
    transition: all 0.3s ease;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%);
    color: var(--primary-green-dark);
    box-shadow: var(--shadow-depth);
}

/* Content */
.woocommerce-MyAccount-content {
    background: var(--secondary-black);
    border: 2px solid var(--dark-gray);
    border-radius: var(--border-radius-3d);
    padding: 2rem;
    box-shadow: var(--shadow-elevated);
}

/* Orders Table */
.woocommerce-orders-table {
    background: transparent;
    border: none;
}

.woocommerce-orders-table th {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%);
    color: var(--primary-green-dark);
    font-weight: 600;
}

.woocommerce-orders-table td {
    color: var(--text-light);
}

.woocommerce-orders-table a {
    color: var(--accent-lime);
}

/* ==============================================
   15. WIDGETS
   ============================================== */

.thc-widget {
    background: var(--secondary-black);
    border: 2px solid var(--dark-gray);
    border-radius: var(--border-radius-3d);
    padding: 1.5rem;
    margin-bottom: 2rem;
    box-shadow: var(--shadow-elevated);
}

.widget-title {
    font-size: 1.1rem;
    margin-bottom: 1.2rem;
    color: var(--accent-lime);
}

/* Price Filter */
.woocommerce.widget_price_filter .price_slider_wrapper .ui-widget-content {
    background: var(--dark-gray);
}

.woocommerce.widget_price_filter .ui-slider .ui-slider-range {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-light) 100%);
}

.woocommerce.widget_price_filter .ui-slider .ui-slider-handle {
    background: var(--accent-lime);
    border: 2px solid var(--text-light);
}

/* Product List */
.widget_product_categories ul,
.widget_archive ul {
    list-style: none;
}

.widget_product_categories ul li,
.widget_archive ul li {
    margin-bottom: 0.5rem;
}

.widget_product_categories ul li a,
.widget_archive ul li a {
    color: var(--text-light);
    transition: all 0.3s ease;
}

.widget_product_categories ul li a:hover,
.widget_archive ul li a:hover {
    color: var(--accent-lime);
    transform: translateX(5px);
}

/* ==============================================
   16. FORMS & BUTTONS
   ============================================== */

/* General Buttons */
.button,
button,
input[type="submit"] {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%);
    color: var(--primary-green-dark);
    font-weight: 600;
    padding: 0.8rem 1.5rem;
    border-radius: var(--border-radius-3d-small);
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: inherit;
    box-shadow: var(--shadow-depth);
}

.button:hover,
button:hover,
input[type="submit"]:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-glow);
    border-color: var(--accent-lime-light);
}

.button.alt {
    background: transparent;
    border: 2px solid var(--dark-gray);
    color: var(--text-light);
    box-shadow: none;
}

.button.alt:hover {
    border-color: var(--accent-lime);
    color: var(--accent-lime);
    background: transparent;
    transform: none;
}

/* Form Inputs */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
select,
textarea {
    width: 100%;
    padding: 0.8rem 1rem;
    background: var(--dark-gray);
    border: 2px solid var(--medium-gray);
    border-radius: var(--border-radius-3d-small);
    color: var(--text-light);
    font-family: inherit;
    transition: all 0.3s ease;
    box-shadow: var(--shadow-inset);
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: var(--accent-lime);
    box-shadow: 0 0 15px rgba(57, 255, 20, 0.2);
}

/* ==============================================
   17. PAGINATION
   ============================================== */

.woocommerce-pagination {
    margin-top: 60px;
}

.woocommerce-pagination ul {
    border: none;
    display: flex;
    justify-content: center;
    gap: 10px;
    list-style: none;
    padding: 0;
}

.woocommerce-pagination ul li {
    border: none;
    margin: 0;
}

.woocommerce-pagination ul li span,
.woocommerce-pagination ul li a {
    display: block;
    padding: 12px 20px;
    background: linear-gradient(135deg, var(--secondary-black) 0%, #1a1a1a 100%);
    color: var(--text-light);
    text-decoration: none;
    border-radius: var(--border-radius-3d-small);
    font-weight: 600;
    box-shadow: var(--shadow-depth);
    border: 2px solid var(--dark-gray);
    transition: all 0.3s ease;
}

.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
    background: linear-gradient(135deg, var(--accent-lime) 0%, var(--accent-lime-dark) 100%);
    border-color: var(--accent-lime-light);
    transform: translateY(-3px);
    box-shadow: var(--shadow-glow);
}

/* ==============================================
   18. AGE VERIFICATION
   ============================================== */

/* Your existing age gate styles here */

/* ==============================================
   19. ANIMATIONS
   ============================================== */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

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

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Animation Classes */
.woocommerce ul.products li.product,
.neo-product-card,
.neo-cat-card {
    animation: fadeInUp 0.6s ease-out;
    animation-fill-mode: both;
}

.woocommerce ul.products li.product:nth-child(1) { animation-delay: 0.1s; }
.woocommerce ul.products li.product:nth-child(2) { animation-delay: 0.2s; }
.woocommerce ul.products li.product:nth-child(3) { animation-delay: 0.3s; }
.woocommerce ul.products li.product:nth-child(4) { animation-delay: 0.4s; }
.woocommerce ul.products li.product:nth-child(5) { animation-delay: 0.5s; }
.woocommerce ul.products li.product:nth-child(6) { animation-delay: 0.6s; }

/* ==============================================
   20. UTILITY CLASSES
   ============================================== */

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-lime { color: var(--accent-lime); }

.mt-1 { margin-top: 1rem; }
.mt-2 { margin-top: 2rem; }
.mt-3 { margin-top: 3rem; }
.mb-1 { margin-bottom: 1rem; }
.mb-2 { margin-bottom: 2rem; }
.mb-3 { margin-bottom: 3rem; }

/* Accessibility */
:focus-visible {
    outline: 2px solid var(--accent-lime);
    outline-offset: 3px;
}

/* ==============================================
   21. RESPONSIVE
   ============================================== */

/* Desktop: 3 columns (992px and above) */
@media (min-width: 992px) {
    /* Product archive */
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 30px !important;
    }
    
    /* Related and upsell products */
    .related ul.products,
    .upsells ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 30px !important;
    }
    
    /* Latest products section */
    .neo-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    /* Category grid */
    .neo-grid-4 {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    /* Product title size */
    .woocommerce-loop-product__title {
        font-size: 1.3rem !important;
    }
    
    /* Price size */
    .woocommerce ul.products li.product .price {
        font-size: 1.4rem !important;
    }
}

/* Large Desktop */
@media (min-width: 1400px) {
    .woocommerce ul.products {
        gap: 40px !important;
    }
    
    .woocommerce-loop-product__title {
        font-size: 1.4rem !important;
    }
    
    .woocommerce ul.products li.product .price {
        font-size: 1.5rem !important;
    }
    
    .neo-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 40px;
    }
    
    .neo-grid-4 {
        grid-template-columns: repeat(4, 1fr);
        gap: 40px;
    }
}

/* Desktop */
@media (max-width: 1200px) {
    .neo-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .neo-grid-4 {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Tablet Landscape */
@media (max-width: 1024px) {
    .col2-set {
        grid-template-columns: 1fr;
    }
    
    .woocommerce div.product div.images, 
    .woocommerce div.product div.summary {
        width: 100% !important;
        float: none !important;
        padding-left: 0 !important;
    }
    
    .woocommerce div.product div.summary {
        margin-top: 40px;
    }
    
    .neo-section-header h2 {
        font-size: 2.5rem;
    }
}

/* Tablet Portrait */
@media (max-width: 768px) {
    .thc-container {
        padding: 0 1rem;
    }
    
    .thc-main-content {
        padding: 2rem 0;
    }
    
    .woocommerce-tabs ul.tabs {
        flex-direction: column;
    }
    
    .woocommerce-tabs ul.tabs li {
        width: 100%;
    }
    
    .woocommerce-tabs ul.tabs li a {
        display: block;
        text-align: center;
    }
    
    .cart_totals {
        margin-top: 2rem;
    }
    
    .woocommerce-MyAccount-navigation {
        margin-bottom: 2rem;
    }
    
    .neo-shop-page,
    .single-product-wrap {
        padding: 60px 0;
    }
    
    .neo-section-header h2 {
        font-size: 2rem;
    }
    
    .woocommerce div.product .product_title {
        font-size: 2rem;
    }
    
    .woocommerce div.product p.price {
        font-size: 1.8rem;
    }
    
    .woocommerce-tabs {
        padding: 20px;
    }
    
    .woocommerce-product-search {
        flex-direction: column;
        width: 100%;
        gap: 12px;
    }
    
    .woocommerce-product-search .search-field,
    .woocommerce-product-search select,
    .woocommerce-product-search button[type="submit"] {
        width: 100%;
        min-width: unset;
    }
    
    /* Mobile: 1 column already set in base styles */
}

/* Mobile */
@media (max-width: 480px) {
    .woocommerce ul.products li.product {
        padding: 20px !important;
    }
    
    .neo-img-box {
        height: 200px;
    }
    
    .woocommerce ul.products li.product a img {
        height: 200px;
    }
    
    .woocommerce div.product .product_title {
        font-size: 1.8rem;
    }
    
    .variations_button .button.single_add_to_cart_button {
        padding: 15px 30px !important;
        width: 100%;
        margin-bottom: 15px;
    }
    
    .thc-cannabinoid-info {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .quantity {
        display: block;
        margin-bottom: 1rem;
    }
    
    .single_add_to_cart_button {
        width: 100%;
    }
    
    .woocommerce-product-search .search-field,
    .woocommerce-product-search select,
    .woocommerce-product-search button[type="submit"] {
        padding: 12px 15px;
        font-size: 0.95rem;
    }
    
    .woocommerce-product-search select {
        padding-right: 40px;
        background-position: right 12px center;
    }
}