/*
Theme Name: Bro Science Labs
Theme URI: https://broscience-labs.com
Author: Bro Science Labs
Author URI: https://broscience-labs.com
Description: Custom WooCommerce theme for Bro Science Labs — research peptides, veteran owned. Research. Perform. Evolve.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: broscience
Tags: e-commerce, woocommerce, custom-colors, dark, one-column
*/

/* ==========================================================================
   Tokens
   ========================================================================== */
:root{
  --bg:#0b0b0d;
  --bg-panel:#151517;
  --bg-panel-2:#1c1c1f;
  --line:#2b2b2f;
  --red:#d81f24;
  --red-dark:#a5171b;
  --white:#f4f4f2;
  --grey:#9a9a9f;
  --gold:#d4a72c;
  --blue:#2fa8ff;
  --green:#3ecf6b;
  --font-display:'Anton','Oswald',Impact,sans-serif;
  --font-body:'Barlow Condensed','Oswald',Arial,sans-serif;
  --font-alt:'Bebas Neue',Impact,sans-serif;
  --radius:4px;
  --maxw:1280px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--white);
  font-family:var(--font-body);
  font-size:18px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}





/*custom code */
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
    padding: .5em !important;
}

.woocommerce ul.products li.product .price {
    padding-left: .5em !important;
}

.research-tag{
    display: none !important;
}

.woocommerce ul.products li.product .button {
    margin-left: .5em !important;
    margin-bottom: 1em !important;
    margin-top: 0 !important;
}




img{max-width:100%;height:auto;display:block;}
a{color:var(--white);text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.5px;
  margin:0 0 .5em;
  line-height:1.05;
}





h1{font-size:clamp(2.4rem,6vw,4.5rem);}
h2{font-size:clamp(1.8rem,4vw,2.8rem);}
h3{font-size:1.4rem;}
p{margin:0 0 1em;color:var(--grey);}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:var(--font-alt);
  color:var(--red);
  letter-spacing:3px;
  font-size:.9rem;
  text-transform:uppercase;
}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;}}

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn,button,input[type="submit"],.button{
  font-family:var(--font-alt);
  letter-spacing:1px;
  text-transform:uppercase;
  background:var(--red);
  color:#fff;
  border:none;
  padding:14px 30px;
  border-radius:var(--radius);
  cursor:pointer;
  font-size:1rem;
  display:inline-block;
  transition:transform .15s ease, background .15s ease;
}
.btn:hover,button:hover,.button:hover{background:var(--red-dark);transform:translateY(-2px);}
.btn-outline{background:transparent;border:2px solid var(--white);color:var(--white);}
.btn-outline:hover{background:var(--white);color:var(--bg);}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(11,11,13,.95);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(6px);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;}
.site-logo img{height:56px;width:auto;border-radius:50%;}
.site-logo{display:flex;align-items:center;gap:12px;font-family:var(--font-display);}
.site-logo .brand-text{line-height:1;}
.site-logo .brand-text span{display:block;font-size:.7rem;color:var(--red);letter-spacing:2px;font-family:var(--font-alt);}
.main-nav ul{display:flex;gap:28px;}
.main-nav a{font-family:var(--font-alt);letter-spacing:1px;text-transform:uppercase;font-size:.95rem;}
.main-nav a:hover{color:var(--red);}
.header-actions{display:flex;align-items:center;gap:18px;}
.header-actions a{position:relative;}
.cart-count{
  position:absolute;top:-8px;right:-12px;background:var(--red);
  border-radius:50%;font-size:.65rem;padding:1px 6px;font-family:var(--font-body);
}
.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:1.6rem;padding:4px;}

@media (max-width: 880px){
  .main-nav{
    position:fixed;inset:70px 0 0 0;background:var(--bg);
    transform:translateX(100%);transition:transform .25s ease;padding:30px;
  }
  .main-nav.is-open{transform:translateX(0);}
  .main-nav ul{flex-direction:column;gap:22px;}
  .menu-toggle{display:block;}
}

/* ==========================================================================
   Hero / Sections
   ========================================================================== */
.hero{
  position:relative;overflow:hidden;
  background:radial-gradient(circle at 70% 20%, #1a1a1d 0%, var(--bg) 60%);
  padding:90px 0 70px;
  border-bottom:1px solid var(--line);
}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
.hero h1{color:#fff;}
.hero h1 .accent{color:var(--red);}
.hero-tagline{font-family:var(--font-alt);letter-spacing:2px;color:var(--grey);font-size:1.2rem;text-transform:uppercase;margin-bottom:24px;}
.hero-cta{display:flex;gap:16px;margin-top:20px;flex-wrap:wrap;}
.hero-image{border-radius:var(--radius);border:1px solid var(--line);}
.badge-row{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.badge-row .badge{
  border:1px solid var(--line);padding:6px 14px;border-radius:20px;
  font-family:var(--font-alt);font-size:.8rem;letter-spacing:1px;color:var(--grey);
}
@media (max-width:880px){.hero .container{grid-template-columns:1fr;}}

.section{padding:70px 0;border-bottom:1px solid var(--line);}
.section-head{text-align:center;max-width:640px;margin:0 auto 40px;}

/* category / benefit grid (metabolic, recovery, biohacking, etc.) */
.benefit-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;}
.benefit{text-align:center;}
.benefit .icon{
  width:64px;height:64px;margin:0 auto 12px;border-radius:50%;
  border:2px solid var(--line);display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;
}
.benefit span{font-family:var(--font-alt);letter-spacing:1px;font-size:.85rem;text-transform:uppercase;color:var(--white);}
@media (max-width:880px){.benefit-grid{grid-template-columns:repeat(2,1fr);}}

/* product grid */
.products-grid,ul.products,ul.products.columns-1,ul.products.columns-2,ul.products.columns-3,ul.products.columns-4,ul.products.columns-5,ul.products.columns-6{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:26px!important;list-style:none;margin:0;padding:0;
  justify-items:start;
  float:none!important;
}
ul.products li.product,ul.products.columns-1 li.product,ul.products.columns-2 li.product,ul.products.columns-3 li.product,ul.products.columns-4 li.product,ul.products.columns-5 li.product,ul.products.columns-6 li.product{
  width:100%!important;
  float:none!important;
  margin:0!important;
}
@media (max-width:700px){.products-grid,ul.products{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;}}

.product-card,ul.products li.product{
  background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;position:relative;transition:border-color .2s ease, transform .2s ease;
  width:100%;max-width:300px;
}
.product-card:hover,ul.products li.product:hover{border-color:var(--red);transform:translateY(-4px);}
.product-card img,ul.products li.product img{border-radius:var(--radius);margin-bottom:14px;background:#000;}
.product-card h3,ul.products li.product .woocommerce-loop-product__title{font-size:1.1rem;color:#fff;}
.price,.woocommerce-Price-amount{font-family:var(--font-alt);color:var(--red);font-size:1.2rem;}
.research-tag{
  display:inline-block;margin-top:8px;font-size:.7rem;letter-spacing:1px;color:var(--grey);
  border-top:1px solid var(--line);padding-top:8px;text-transform:uppercase;
}

/* single product */
.single-product-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.single-product-wrap .summary{padding-top:10px;}
.single-product-wrap .price{font-size:2rem;display:block;margin:14px 0;}
.woocommerce-product-gallery{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#000;}
.single_add_to_cart_button{width:100%;padding:18px;font-size:1.1rem;margin-top:20px;}
.research-notice{
  margin-top:24px;padding:14px 18px;border:1px solid var(--red-dark);border-radius:var(--radius);
  background:rgba(216,31,36,.08);font-size:.85rem;color:var(--grey);
}
.research-notice strong{color:var(--red);}
@media (max-width:880px){.single-product-wrap{grid-template-columns:1fr;}}

/* cart & checkout */
.woocommerce-cart-form table,table.shop_table{
  width:100%;border-collapse:collapse;background:var(--bg-panel);border:1px solid var(--line);
}
.woocommerce-cart-form table th,.woocommerce-cart-form table td,
table.shop_table th,table.shop_table td{
  padding:16px;border-bottom:1px solid var(--line);text-align:left;
}
#payment,.woocommerce-checkout-review-order{background:var(--bg-panel);border:1px solid var(--line);padding:24px;border-radius:var(--radius);}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,
.woocommerce-checkout textarea{
  background:var(--bg-panel-2);border:1px solid var(--line);color:#fff;padding:12px;width:100%;border-radius:var(--radius);
}
.woocommerce-checkout label{color:var(--grey);}

/* footer */
.site-footer{background:var(--bg-panel);padding:60px 0 30px;border-top:1px solid var(--line);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.footer-grid h4{color:#fff;font-size:1rem;}
.footer-grid a{color:var(--grey);display:block;margin-bottom:10px;}
.footer-grid a:hover{color:var(--red);}
.footer-bottom{
  margin-top:40px;padding-top:24px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;color:var(--grey);font-size:.85rem;flex-wrap:wrap;gap:10px;
}
.veteran-badge{color:var(--gold);font-family:var(--font-alt);letter-spacing:1px;}
@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr;}}

/* utility */
.text-center{text-align:center;}
.mt-2{margin-top:2rem;}

/* ==========================================================================
   Icons
   ========================================================================== */
.bsl-icon{width:24px;height:24px;flex-shrink:0;}
.menu-toggle .bsl-icon{width:26px;height:26px;color:#fff;}
.header-actions a .bsl-icon{width:22px;height:22px;color:var(--white);}
.benefit .icon .bsl-icon{width:28px;height:28px;color:var(--red);}
.veteran-badge{display:inline-flex;align-items:center;gap:8px;}
.veteran-badge .bsl-icon{width:16px;height:16px;color:var(--gold);}

/* ==========================================================================
   Stats band
   ========================================================================== */
.stats-section{background:var(--bg-panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.stat-num{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);color:var(--red);line-height:1;margin-bottom:8px;}
.stat span{font-family:var(--font-alt);letter-spacing:1.5px;text-transform:uppercase;font-size:.85rem;color:var(--grey);}
@media (max-width:700px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:36px 20px;}}

/* ==========================================================================
   Trust checklist (brand story)
   ========================================================================== */
.check-list{margin:22px 0 26px;display:flex;flex-direction:column;gap:12px;}
.check-list li{display:flex;align-items:flex-start;gap:12px;}
.check-list .bsl-icon{width:20px;height:20px;color:var(--red);margin-top:2px;}
.check-list span{color:var(--white);}

/* ==========================================================================
   Process steps
   ========================================================================== */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.process-step{
  position:relative;background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 24px;transition:border-color .2s ease, transform .2s ease;
}
.process-step:hover{border-color:var(--red);transform:translateY(-4px);}
.process-step-num{
  position:absolute;top:18px;right:22px;font-family:var(--font-display);
  font-size:1.6rem;color:var(--line);
}
.process-step .icon{
  width:56px;height:56px;border-radius:50%;border:2px solid var(--line);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.process-step .icon .bsl-icon{color:var(--red);width:26px;height:26px;}
.process-step h3{color:#fff;margin-bottom:8px;}
.process-step p{font-size:.9rem;margin:0;}
@media (max-width:1024px){.process-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.process-grid{grid-template-columns:1fr;}}

/* ==========================================================================
   Testimonials
   ========================================================================== */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testimonial-card{
  background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px;display:flex;flex-direction:column;
}
.quote-icon .bsl-icon{width:28px;height:28px;color:var(--red);margin-bottom:14px;}
.testimonial-card p{color:var(--white);font-size:1rem;flex:1;}
.testimonial-author{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;}
.testimonial-author strong{color:#fff;font-family:var(--font-alt);letter-spacing:.5px;}
.testimonial-author span{color:var(--grey);font-size:.85rem;}
@media (max-width:880px){.testimonial-grid{grid-template-columns:1fr;}}

/* ==========================================================================
   FAQ accordion
   ========================================================================== */
.faq-container{max-width:820px;}
.faq-list{display:flex;flex-direction:column;gap:14px;}
.faq-item{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.faq-question{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:none;border:none;color:#fff;text-align:left;padding:20px 22px;cursor:pointer;
  font-family:var(--font-body);font-size:1.05rem;text-transform:none;letter-spacing:0;
}
.faq-question:hover{background:var(--bg-panel-2);}
.faq-chevron{color:var(--red);transition:transform .2s ease;}
.faq-item.is-open .faq-chevron{transform:rotate(180deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease;padding:0 22px;}
.faq-answer p{margin:0 0 20px;color:var(--grey);}
.faq-item.is-open .faq-answer{max-height:200px;}

/* ==========================================================================
   Newsletter
   ========================================================================== */
.newsletter-section{background:var(--bg-panel);}
.newsletter-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.newsletter-inner > div:first-child{max-width:520px;}
.newsletter-inner h2{margin-bottom:10px;}
.newsletter-form{
  display:flex;align-items:center;gap:12px;flex:1;min-width:280px;max-width:460px;
  background:var(--bg-panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:6px 6px 6px 16px;
}
.newsletter-form .bsl-icon{width:20px;height:20px;color:var(--grey);}
.newsletter-form input{
  flex:1;background:transparent;border:none;color:#fff;
  padding:12px 0;font-family:var(--font-body);font-size:1rem;
}
.newsletter-form input:focus{outline:none;}
.newsletter-form .btn{white-space:nowrap;}
@media (max-width:700px){.newsletter-inner{flex-direction:column;align-items:flex-start;}.newsletter-form{max-width:100%;}}

/* ==========================================================================
   Contact page
   ========================================================================== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;padding-bottom:90px;}
.contact-intro .check-list{margin-top:26px;}
.contact-form-wrap{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);padding:36px;}
.contact-form{display:flex;flex-direction:column;width:100%;}
.contact-form .form-group{display:flex;flex-direction:column;width:100%;margin-bottom:18px;}
.contact-form label{display:block;width:100%;color:var(--grey);font-family:var(--font-alt);letter-spacing:1px;text-transform:uppercase;font-size:.8rem;margin-bottom:8px;}
.contact-form input,.contact-form textarea{
  display:block;width:100%;box-sizing:border-box;
  background:var(--bg-panel-2);border:1px solid var(--line);color:#fff;border-radius:var(--radius);
  padding:12px 14px;font-family:var(--font-body);font-size:1rem;resize:vertical;
}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--red);outline-offset:1px;}
.contact-form .btn{margin-top:6px;align-self:flex-start;}
.form-notice{border-radius:var(--radius);padding:14px 18px;margin-bottom:22px;font-size:.95rem;}
.form-notice-success{background:rgba(60,180,100,.12);border:1px solid rgba(60,180,100,.4);color:#7fdba0;}
.form-notice-error{background:rgba(220,60,60,.12);border:1px solid rgba(220,60,60,.4);color:#ff9c9c;}
@media (max-width:880px){.contact-grid{grid-template-columns:1fr;gap:34px;}}
