/*
Theme Name: 810velocity
Theme URI: https://810velocity.com
Author: 2awebhosting.com
Author URI: https://2awebhosting.com
Description: Custom WooCommerce theme for 810velocity - Forced Reset Trigger Specialists
Version: 2.1
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 810velocity
Tags: woocommerce, ecommerce, dark-theme, tactical
*/

/* CSS Variables */
:root {
    --brand-black: #1a1a1a;
    --brand-dark: #0f0f0f;
    --brand-red: #E31937;
    --brand-silver: #C0C0C0;
    --brand-gray: #808080;
}

/* Global Styles */
* {
    box-sizing: border-box;
}

html {
    width: 100%;
    overflow-x: hidden;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background-color: #1a1a1a;
    color: #C0C0C0;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
}

/* Hide gallery image number captions and counters */
.woocommerce-product-gallery__image-counter,
.woocommerce-product-gallery figcaption,
.woocommerce-product-gallery .flex-control-nav,
.woocommerce-product-gallery ol.flex-control-nav,
.flex-control-paging {
    display: none !important;
}

/* FlexSlider gallery - needed since we strip WooCommerce CSS */
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery .flexslider { margin: 0; padding: 0; }
.woocommerce-product-gallery .flexslider .slides { margin: 0; padding: 0; list-style: none; }
.woocommerce-product-gallery .flexslider .slides li { margin: 0; padding: 0; }
.woocommerce-product-gallery .flexslider .slides img { width: 100%; height: auto; display: block; border-radius: 0.5rem; }
.woocommerce-product-gallery .flex-viewport { overflow: hidden; border-radius: 0.5rem; }
.woocommerce-product-gallery .flex-direction-nav { margin: 0; padding: 0; list-style: none; }
.woocommerce-product-gallery .flex-direction-nav a {
    display: block; position: absolute; top: 50%; transform: translateY(-50%);
    width: 36px; height: 36px; background: #E31937; border-radius: 50%;
    text-indent: -9999px; cursor: pointer; z-index: 20; opacity: 0.9;
}
.woocommerce-product-gallery .flex-direction-nav .flex-prev { left: 10px; }
.woocommerce-product-gallery .flex-direction-nav .flex-next { right: 10px; }
.woocommerce-product-gallery .flex-direction-nav a:hover { opacity: 1; background: #c41530; }
.woocommerce-product-gallery .flex-direction-nav a::before {
    content: ''; display: block; position: absolute;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
    border: 6px solid transparent;
}
.woocommerce-product-gallery .flex-direction-nav .flex-prev::before {
    border-right-color: white; margin-left: -3px;
}
.woocommerce-product-gallery .flex-direction-nav .flex-next::before {
    border-left-color: white; margin-left: 3px;
}

/* Zoom trigger and gallery controls must stay above variation image overlay */
.woocommerce-product-gallery__trigger,
.woocommerce-product-gallery .flex-direction-nav,
.woocommerce-product-gallery .flex-control-nav { position: relative; z-index: 20 !important; }

/* Sale Badge */
.woocommerce span.onsale {
    background: transparent !important;
    color: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    line-height: 1 !important;
    font-size: 0 !important;
    box-shadow: none !important;
    top: 0.5rem !important;
    left: 0.5rem !important;
}

.woocommerce span.onsale img {
    display: block !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* WooCommerce Product Grid - 4 COLUMNS */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

@media (max-width: 1200px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

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

@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* Product Card Styling */
.woocommerce ul.products li.product {
    background: #2a2a2a !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 0.75rem !important;
    padding: 1rem !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
    text-align: center !important;
}

.woocommerce ul.products li.product:hover {
    border-color: #E31937 !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 30px rgba(227,25,55,0.2) !important;
}

/* Product Image */
.woocommerce ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    max-height: 250px !important;
    object-fit: cover !important;
    border-radius: 0.5rem !important;
    margin-bottom: 1rem !important;
}

/* Product Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    color: white !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin: 0 0 0.5rem 0 !important;
    font-style: italic !important;
    line-height: 1.3 !important;
}

/* Product Link */
.woocommerce ul.products li.product a {
    text-decoration: none !important;
}

.woocommerce ul.products li.product a:hover h2 {
    color: #E31937 !important;
}

/* Price */
.woocommerce ul.products li.product .price {
    color: #E31937 !important;
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    margin: 0.5rem 0 1rem 0 !important;
    display: block !important;
}

.woocommerce ul.products li.product .price del {
    opacity: 0.5 !important;
    font-size: 1rem !important;
}

/* Star Rating */
.woocommerce ul.products li.product .star-rating {
    margin: 0 auto 0.5rem auto !important;
    color: #fbbf24 !important;
}

/* Add to Cart Button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    background: #E31937 !important;
    color: white !important;
    border: none !important;
    padding: 0.875rem 1.5rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    border-radius: 0.5rem !important;
    width: 100% !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 0.875rem !important;
    cursor: pointer !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background: #c41530 !important;
    transform: scale(1.02) !important;
}

/* Single Product Page Styles */
.woocommerce div.product {
    background: transparent !important;
}

.woocommerce div.product .quantity {
    display: flex !important;
    align-items: center !important;
    background: #2a2a2a !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 0.5rem !important;
    overflow: hidden !important;
}

.woocommerce div.product .quantity .qty {
    width: 80px !important;
    background: transparent !important;
    border: none !important;
    color: white !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    padding: 1rem !important;
}

.woocommerce div.product .quantity .minus,
.woocommerce div.product .quantity .plus {
    background: transparent !important;
    border: none !important;
    color: white !important;
    font-size: 1.5rem !important;
    width: 40px !important;
    height: 50px !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
}

.woocommerce div.product .quantity .minus:hover,
.woocommerce div.product .quantity .plus:hover {
    background: rgba(227,25,55,0.1) !important;
    color: #E31937 !important;
}

.woocommerce div.product form.cart .button {
    background: #E31937 !important;
    color: white !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.woocommerce div.product form.cart .button:hover {
    background: #c41530 !important;
}

/* Cart Page Styling */
.woocommerce-cart-form,
.woocommerce-cart {
    color: white !important;
}

.woocommerce-cart a:not(.button) {
    color: white !important;
    text-decoration: none !important;
}

.woocommerce-cart a:not(.button):hover {
    color: #E31937 !important;
}

/* Cart Totals */
.cart_totals {
    background: #2a2a2a !important;
    border-radius: 1rem !important;
    padding: 2rem !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
}

.cart_totals h2 {
    color: white !important;
}

.cart_totals th,
.cart_totals td {
    color: #C0C0C0 !important;
    border-color: rgba(255,255,255,0.1) !important;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
    color: white !important;
    font-weight: 900 !important;
}

.cart_totals .order-total .amount {
    color: #E31937 !important;
}

/* Star Ratings - Pure CSS Unicode Stars */
.woocommerce .star-rating {
    overflow: hidden;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
    font-size: 1em;
    width: 6em;
    font-family: inherit;
}

.woocommerce .star-rating::before {
    content: "★★★★★";
    color: #555;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    letter-spacing: 0.1em;
    font-family: inherit;
}

.woocommerce .star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 1.5em;
}

.woocommerce .star-rating span::before {
    content: "★★★★★";
    top: 0;
    position: absolute;
    left: 0;
    color: #fbbf24;
    letter-spacing: 0.1em;
    font-family: inherit;
}


/* ============================================================
   MOBILE RESPONSIVE — 810velocity
   ============================================================ */

@media (max-width: 768px) {

    /* ── Global ── */
    body { overflow-x: hidden; }

    /* ── Homepage: Science of Speed stats grid ── */
    div[style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    /* ── Homepage: Science of Speed two-col section ── */
    div[style*="minmax(300px, 1fr)"] {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
    }

    /* ── Homepage: category boxes ── */
    div[style*="minmax(200px, 1fr)"] {
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem !important;
    }

    /* ── Homepage: features grid ── */
    div[style*="minmax(280px, 1fr)"] {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    /* ── Homepage: hero padding ── */
    div[style*="padding: 4rem 2rem"] {
        padding: 2rem 1rem !important;
    }

    /* ── Homepage: section padding ── */
    div[style*="padding: 0 2rem"] {
        padding: 0 1rem !important;
    }

    /* ── Single product: two column grid ── */
    .velocity-product-grid {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
        padding: 0 1rem !important;
    }

    /* ── Single product: title size ── */
    .single-product .product_title {
        font-size: 2rem !important;
    }

    /* ── WooCommerce product loop: 2 columns on mobile ── */
    .woocommerce ul.products {
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem !important;
    }
    .woocommerce ul.products li.product {
        margin: 0 !important;
        width: 100% !important;
    }

    /* ── Cart form ── */
    form.cart {
        flex-direction: column !important;
    }
    form.cart .quantity {
        width: 100% !important;
        justify-content: center !important;
    }

    /* ── Tabs on product page ── */
    .woocommerce-tabs ul.tabs {
        flex-wrap: wrap !important;
    }

    /* ── Footer ── */
    footer div[style*="justify-content: space-between"] {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    /* ── Breadcrumbs ── */
    .velocity-breadcrumbs {
        padding: 0 1rem 1rem 1rem !important;
        font-size: 0.8rem !important;
    }

    /* ── Video hero iframe — keep it covering on mobile ── */
    .velocity-video-bg iframe {
        width: 300vw !important;
        min-width: 300vw !important;
    }
}

/* Extra small phones */
@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
    .velocity-category-badge { font-size: 0.7rem !important; }
    .logo-810, .logo-velocity { font-size: 1.1rem !important; }
}
