/*
Theme Name:   Better Pieces Military
Theme URI:    https://betterpieces.net
Description:  Military tactical child theme for Better Pieces firearms marketplace
Author:       Better Pieces
Template:     astra
Version:      1.0.0
Text Domain:  astra-betterpieces
*/

/* ============================================================
   BETTER PIECES — MILITARY TACTICAL THEME
   Color Palette:
   - Tactical Black:  #0A0A0A
   - Dark Olive:      #1E2318
   - Olive Drab:      #4A5240
   - Military Khaki:  #C8B060
   - Combat Red:      #C0392B
   - Navy Blue:       #2C3E50
   - Off-White:       #EEE8D5
   - Border:          #2F3428
============================================================ */

/* ── RESET & BASE ── */
*, *::before, *::after { box-sizing: border-box; }

body {
    background: #0A0A0A !important;
    color: #EEE8D5 !important;
    font-family: 'Arial', 'Helvetica Neue', sans-serif !important;
    font-size: 15px;
    line-height: 1.6;
}

a { color: #C8B060; text-decoration: none; }
a:hover { color: #C0392B; }

h1, h2, h3, h4, h5, h6 {
    color: #EEE8D5 !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ── SITE HEADER ── */
#masthead,
.site-header,
.ast-primary-header-bar,
.main-header-bar {
    background: #1E2318 !important;
    border-bottom: 3px solid #C0392B !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.6) !important;
}

.site-title a,
.ast-site-name-wrap a {
    color: #EEE8D5 !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}
.site-title a:hover { color: #C0392B !important; }

.site-description, .ast-site-description {
    color: #C8B060 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

/* ── NAVIGATION ── */
.ast-nav-menu > li > a,
.main-navigation a,
#site-navigation a {
    color: #EEE8D5 !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 14px 16px !important;
    transition: color 0.15s, background 0.15s !important;
}
.ast-nav-menu > li > a:hover,
.main-navigation a:hover {
    color: #C0392B !important;
    background: rgba(192,57,43,0.08) !important;
}
.ast-nav-menu > li.current-menu-item > a { color: #C0392B !important; }

/* Dropdown */
.ast-nav-menu .sub-menu,
.main-navigation .sub-menu {
    background: #1E2318 !important;
    border: 1px solid #2F3428 !important;
    border-top: 2px solid #C0392B !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.7) !important;
    border-radius: 0 !important;
}
.ast-nav-menu .sub-menu a { color: #C8B060 !important; font-size: 12px !important; padding: 10px 16px !important; }
.ast-nav-menu .sub-menu a:hover { color: #C0392B !important; background: rgba(192,57,43,0.1) !important; }

/* Mobile menu */
.ast-mobile-menu-trigger-fill, .ast-mobile-menu-trigger-minimal { color: #EEE8D5 !important; }

/* ── PRODUCT SEARCH BAR (header) ── */
.bp-header-search {
    background: #111309;
    border-bottom: 1px solid #2F3428;
    padding: 10px 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
}
.bp-header-search form { display: flex; max-width: 760px; width: 100%; }
.bp-header-search input[type=search] {
    flex: 1;
    background: #1E2318 !important;
    border: 2px solid #4A5240 !important;
    border-right: none !important;
    color: #EEE8D5 !important;
    padding: 12px 18px !important;
    font-size: 14px !important;
    border-radius: 0 !important;
    outline: none;
}
.bp-header-search input[type=search]:focus { border-color: #C0392B !important; }
.bp-header-search input::placeholder { color: #666 !important; }
.bp-header-search button {
    background: #C0392B !important;
    color: #fff !important;
    border: 2px solid #C0392B !important;
    padding: 12px 26px !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    transition: background 0.15s !important;
}
.bp-header-search button:hover { background: #96281b !important; border-color: #96281b !important; }
.bp-search-label {
    color: #C8B060;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    white-space: nowrap;
}

/* ── HERO SECTION ── */
.bp-hero {
    background: linear-gradient(160deg, #0A0A0A 0%, #1E2318 40%, #2C3420 70%, #0A0A0A 100%);
    border-bottom: 4px solid #C0392B;
    padding: 70px 24px 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.bp-hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 5px;
    background: repeating-linear-gradient(90deg,
        #C0392B 0, #C0392B 24px,
        #fff 24px, #fff 48px,
        #2C3E50 48px, #2C3E50 72px);
}
.bp-hero h1 {
    font-size: clamp(36px, 6vw, 64px) !important;
    font-weight: 900 !important;
    color: #EEE8D5 !important;
    letter-spacing: 5px !important;
    margin: 0 0 8px !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.8);
}
.bp-hero h2 {
    font-size: clamp(14px, 2vw, 18px) !important;
    color: #C8B060 !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    margin: 0 0 28px !important;
    text-transform: uppercase !important;
}
.bp-hero-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0 0 32px;
}
.bp-badge {
    background: rgba(192,57,43,0.15);
    border: 1px solid rgba(192,57,43,0.5);
    color: #EEE8D5;
    padding: 6px 16px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.bp-btn {
    display: inline-block;
    padding: 15px 38px;
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 3px;
    text-decoration: none !important;
    border: 2px solid #C0392B;
    background: #C0392B;
    color: #fff !important;
    margin: 6px;
    transition: all 0.15s;
}
.bp-btn:hover { background: transparent !important; color: #C0392B !important; }
.bp-btn.outline {
    background: transparent;
    color: #C8B060 !important;
    border-color: #C8B060;
}
.bp-btn.outline:hover { background: #C8B060 !important; color: #0A0A0A !important; }

/* ── TRUST BAR ── */
.bp-trust-bar {
    background: #111309;
    border-bottom: 1px solid #2F3428;
    padding: 14px 24px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
}
.bp-trust-item {
    color: #C8B060;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* ── NFA NOTICE ── */
.bp-nfa-notice {
    background: rgba(192,57,43,0.1);
    border-top: 1px solid rgba(192,57,43,0.3);
    border-bottom: 1px solid rgba(192,57,43,0.3);
    color: #EEE8D5;
    padding: 10px 24px;
    font-size: 12px;
    text-align: center;
    letter-spacing: 0.3px;
}

/* ── CATEGORY GRID ── */
.bp-section-title {
    text-align: center;
    padding: 36px 0 4px;
    color: #C8B060 !important;
    font-size: 13px !important;
    letter-spacing: 4px !important;
}
.bp-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    padding: 20px 24px 40px;
    max-width: 1200px;
    margin: 0 auto;
}
.bp-cat-card {
    background: #1A1D14;
    border: 1px solid #2F3428;
    border-top: 3px solid #4A5240;
    padding: 22px 16px;
    text-align: center;
    text-decoration: none !important;
    display: block;
    transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}
.bp-cat-card:hover {
    border-top-color: #C0392B;
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(0,0,0,0.6);
}
.bp-cat-card .icon { font-size: 30px; margin-bottom: 10px; display: block; }
.bp-cat-card h3 {
    color: #EEE8D5 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    margin: 0 0 4px !important;
    text-transform: uppercase !important;
}
.bp-cat-card .sub { color: #7a7a6a; font-size: 11px; }

/* ── ABOUT STRIP ── */
.bp-about-strip {
    background: linear-gradient(135deg, #1E2318, #2C3420, #1E2318);
    border-top: 3px solid #C0392B;
    border-bottom: 3px solid #C0392B;
    padding: 48px 24px;
    text-align: center;
}
.bp-about-strip h2 { font-size: clamp(18px, 3vw, 28px) !important; margin-bottom: 14px !important; }
.bp-about-strip p { color: #C8B060; max-width: 720px; margin: 0 auto 24px; line-height: 1.8; font-size: 15px; }

/* ── MAIN CONTENT AREA ── */
#main, #content, .site-content,
.ast-container, .ast-article-inner-wrap {
    background: #0A0A0A !important;
}
.entry-content, .entry-summary, .woocommerce { color: #EEE8D5 !important; }

/* ── WOOCOMMERCE SHOP ── */

/* Product grid cards */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: #141710 !important;
    border: 1px solid #2F3428 !important;
    border-top: 3px solid #4A5240 !important;
    border-radius: 0 !important;
    padding: 0 0 16px !important;
    transition: border-top-color 0.15s, transform 0.15s, box-shadow 0.15s !important;
    overflow: hidden;
}
.woocommerce ul.products li.product:hover {
    border-top-color: #C0392B !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,0.7) !important;
}
.woocommerce ul.products li.product img {
    width: 100% !important;
    height: 200px !important;
    object-fit: contain !important;
    background: #1a1d14 !important;
    padding: 12px !important;
    border-bottom: 1px solid #2F3428 !important;
    display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #EEE8D5 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 12px 12px 4px !important;
    line-height: 1.4 !important;
}
.woocommerce ul.products li.product .price {
    color: #C0392B !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    padding: 0 12px 8px !important;
    display: block !important;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
    background: #C0392B !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 10px 16px !important;
    margin: 4px 12px 0 !important;
    display: block !important;
    text-align: center !important;
    transition: background 0.15s !important;
}
.woocommerce ul.products li.product .button:hover { background: #96281b !important; }

/* Sale badge */
.woocommerce span.onsale {
    background: #C0392B !important;
    border-radius: 0 !important;
    font-weight: 900 !important;
    min-width: 50px !important;
    min-height: 50px !important;
    line-height: 50px !important;
    font-size: 12px !important;
}

/* Shop header */
.woocommerce-products-header__title,
.page-title {
    color: #EEE8D5 !important;
    font-size: 22px !important;
    letter-spacing: 3px !important;
    border-bottom: 2px solid #C0392B !important;
    padding-bottom: 12px !important;
}
.woocommerce .term-description { color: #C8B060 !important; font-size: 13px; }

/* Sorting bar */
.woocommerce-ordering select,
.woocommerce-result-count {
    background: #1E2318 !important;
    color: #EEE8D5 !important;
    border: 1px solid #2F3428 !important;
    border-radius: 0 !important;
    padding: 8px 12px !important;
}

/* Single product */
.woocommerce div.product .product_title {
    color: #EEE8D5 !important;
    text-transform: uppercase !important;
    font-size: clamp(20px, 3vw, 30px) !important;
    letter-spacing: 2px !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: #C0392B !important;
    font-size: 30px !important;
    font-weight: 900 !important;
}
.woocommerce div.product .woocommerce-product-details__short-description { color: #C8B060 !important; }
.woocommerce div.product .woocommerce-tabs .wc-tab h2,
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #C8B060 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #EEE8D5 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom-color: #2F3428 !important; }

/* Add to cart button */
.woocommerce .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: #C0392B !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding: 16px 32px !important;
    border: 2px solid #C0392B !important;
    transition: all 0.15s !important;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.button:hover {
    background: transparent !important;
    color: #C0392B !important;
}

/* Product image */
.woocommerce div.product div.images img {
    border: 1px solid #2F3428 !important;
    background: #141710 !important;
    padding: 16px !important;
}

/* ── SIDEBAR WIDGETS ── */
.widget, .widget_product_categories, .widget_price_filter {
    background: #141710 !important;
    border: 1px solid #2F3428 !important;
    padding: 18px !important;
    margin-bottom: 16px !important;
    border-radius: 0 !important;
}
.widget-title, .widgettitle {
    color: #C8B060 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 2.5px !important;
    border-bottom: 1px solid #2F3428 !important;
    padding-bottom: 10px !important;
    margin-bottom: 14px !important;
}
.widget a, .widget_product_categories li a { color: #EEE8D5 !important; font-size: 13px; }
.widget a:hover { color: #C0392B !important; }
.widget ul li { border-bottom: 1px solid #1a1d14; padding: 5px 0 !important; }

/* Search widget in sidebar */
.widget.bp-search-widget {
    background: #141710 !important;
    border: 1px solid #2F3428 !important;
    border-left: 3px solid #C0392B !important;
    padding: 16px !important;
}
.widget.bp-search-widget h3 {
    color: #C8B060 !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 2.5px !important;
    border-bottom: 1px solid #2F3428 !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
}
.widget.bp-search-widget form { display: flex; }
.widget.bp-search-widget input[type=search] {
    flex: 1;
    background: #0A0A0A !important;
    border: 1px solid #4A5240 !important;
    border-right: none !important;
    color: #EEE8D5 !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    border-radius: 0 !important;
}
.widget.bp-search-widget input[type=search]:focus { border-color: #C0392B !important; }
.widget.bp-search-widget input::placeholder { color: #555 !important; }
.widget.bp-search-widget button {
    background: #C0392B !important;
    color: #fff !important;
    border: 1px solid #C0392B !important;
    padding: 10px 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    font-size: 14px !important;
}

/* Price filter */
.widget_price_filter .price_slider_wrapper .ui-slider { background: #2F3428 !important; }
.widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle { background: #C0392B !important; border-color: #C0392B !important; }
.widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-range { background: #4A5240 !important; }
.widget_price_filter .price_slider_amount .button { background: #C0392B !important; color: #fff !important; border-radius: 0 !important; padding: 8px 16px !important; font-size: 12px !important; font-weight: 700 !important; }

/* ── BREADCRUMBS ── */
.woocommerce-breadcrumb, .ast-breadcrumbs {
    background: #111309 !important;
    padding: 10px 24px !important;
    color: #555 !important;
    font-size: 12px !important;
    border-bottom: 1px solid #1a1d14 !important;
}
.woocommerce-breadcrumb a { color: #C8B060 !important; }
.woocommerce-breadcrumb a:hover { color: #C0392B !important; }

/* ── CHECKOUT / CART ── */
.woocommerce-cart-form, .woocommerce-checkout {
    color: #EEE8D5 !important;
}
.woocommerce table.shop_table {
    border: 1px solid #2F3428 !important;
    background: #141710 !important;
    color: #EEE8D5 !important;
}
.woocommerce table.shop_table th {
    background: #1E2318 !important;
    color: #C8B060 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border-bottom: 1px solid #2F3428 !important;
}
.woocommerce table.shop_table td { border-bottom: 1px solid #1a1d14 !important; color: #EEE8D5 !important; }
.woocommerce .cart_totals h2, .woocommerce .order-total th, .woocommerce .order-total td { color: #EEE8D5 !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    background: #1E2318 !important;
    border: 1px solid #2F3428 !important;
    color: #EEE8D5 !important;
    border-radius: 0 !important;
    padding: 12px 14px !important;
}
.woocommerce form .form-row input.input-text:focus { border-color: #C0392B !important; outline: none; }
.woocommerce form .form-row label { color: #C8B060 !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 1px !important; }

/* ── FOOTER ── */
.site-footer, #colophon,
.footer-widget-area, .ast-above-footer {
    background: #111309 !important;
    border-top: 3px solid #C0392B !important;
    color: #888 !important;
}
.site-footer a, #colophon a { color: #C8B060 !important; }
.site-footer a:hover { color: #C0392B !important; }
.site-footer h3, .site-footer .widget-title { color: #C8B060 !important; }

/* Footer search */
.bp-footer-search {
    background: #0A0A0A;
    border-top: 1px solid #2F3428;
    padding: 20px 24px;
    text-align: center;
}
.bp-footer-search p {
    color: #C8B060;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    margin: 0 0 10px;
}
.bp-footer-search form { display: flex; max-width: 480px; margin: 0 auto; }
.bp-footer-search input[type=search] {
    flex: 1;
    background: #1E2318 !important;
    border: 1px solid #4A5240 !important;
    border-right: none !important;
    color: #EEE8D5 !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    border-radius: 0 !important;
}
.bp-footer-search input::placeholder { color: #555 !important; }
.bp-footer-search button {
    background: #C0392B !important;
    color: #fff !important;
    border: 1px solid #C0392B !important;
    padding: 10px 20px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    font-size: 13px !important;
}

/* ── STOCK / RATINGS ── */
.in-stock { color: #27ae60 !important; font-weight: 700 !important; font-size: 12px !important; }
.out-of-stock { color: #888 !important; font-size: 12px !important; }
.star-rating span::before { color: #C8B060 !important; }

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: #0A0A0A; }
::-webkit-scrollbar-thumb { background: #4A5240; }
::-webkit-scrollbar-thumb:hover { background: #C0392B; }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
    .bp-hero { padding: 44px 16px 36px; }
    .bp-hero h1 { font-size: 32px !important; letter-spacing: 2px !important; }
    .bp-trust-bar { gap: 14px; }
    .bp-search-label { display: none; }
    .bp-category-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 16px; }
    .woocommerce ul.products li.product img { height: 160px !important; }
}
