/*
Theme Name: Broadmoor Meats
Theme URI: https://broadmoormeats.com
Description: Custom child theme for Broadmoor Meats — minimalist, adaptive light/dark design (Editorial in light mode, Dark Premium in dark mode) built on Astra with WooCommerce. Palette follows the visitor's device theme automatically via prefers-color-scheme.
Author: Broadmoor Meats
Template: astra
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: broadmoor-meats
*/

/* ============================================================
   1. ADAPTIVE PALETTE
   Default = light (Editorial). Device dark mode = Dark Premium.
   The optional [data-theme] override lets a toggle force a mode.
   ============================================================ */
:root{
  --bm-bg:#f6f4ef; --bm-surface:#fbf9f4; --bm-fg:#1b1815; --bm-fg-soft:#4a453d;
  --bm-muted:#8b8477; --bm-line:#e4ded2; --bm-line-soft:#eee9df;
  --bm-accent:#9c6a22; --bm-accent-2:#b9862f;
  --bm-btn-bg:#1b1815; --bm-btn-fg:#f6f4ef;
  --bm-ph1:#efeadf; --bm-ph2:#e2d9c6;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bm-bg:#15130f; --bm-surface:#1d1a15; --bm-fg:#ece5d6; --bm-fg-soft:#c7bfae;
    --bm-muted:#8c8474; --bm-line:#33302a; --bm-line-soft:#26231d;
    --bm-accent:#d9a441; --bm-accent-2:#e6bd6a;
    --bm-btn-bg:#d9a441; --bm-btn-fg:#171512;
    --bm-ph1:#221f1a; --bm-ph2:#2c2822;
  }
}
:root[data-theme="dark"]{
  --bm-bg:#15130f; --bm-surface:#1d1a15; --bm-fg:#ece5d6; --bm-fg-soft:#c7bfae;
  --bm-muted:#8c8474; --bm-line:#33302a; --bm-line-soft:#26231d;
  --bm-accent:#d9a441; --bm-accent-2:#e6bd6a;
  --bm-btn-bg:#d9a441; --bm-btn-fg:#171512;
  --bm-ph1:#221f1a; --bm-ph2:#2c2822;
}

/* ============================================================
   2. BASE — typography & colors (overrides Astra defaults)
   ============================================================ */
body,
.ast-separate-container,
.site,
#page{
  background-color:var(--bm-bg) !important;
  color:var(--bm-fg);
}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.site-title,.entry-title,
.woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.widget-title{
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:-.3px;
  color:var(--bm-fg);
}
p,li,span,td{color:var(--bm-fg);}
a{color:var(--bm-fg);}
a:hover{color:var(--bm-accent);}

/* Small uppercase label helper */
.bm-eyebrow{
  display:block;font-size:11px;letter-spacing:2.6px;text-transform:uppercase;
  color:var(--bm-accent);margin-bottom:16px;
}

/* ============================================================
   3. HEADER / NAV
   ============================================================ */
.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-above-header,
.ast-below-header{
  background-color:var(--bm-bg) !important;
  border-bottom:1px solid var(--bm-line);
  box-shadow:none !important;
}
.site-title a,.site-title{
  font-size:22px !important;letter-spacing:.4px;color:var(--bm-fg) !important;
}
.main-header-menu a,
.ast-header-navigation-arrow,
.main-navigation a{
  color:var(--bm-fg) !important;font-size:14px;letter-spacing:.4px;
}
.main-header-menu a:hover{color:var(--bm-accent) !important;}

/* IL-only announcement strip (injected in functions.php) */
.bm-topline{
  text-align:center;font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:var(--bm-muted);background:var(--bm-bg);
  padding:9px 16px;border-bottom:1px solid var(--bm-line-soft);
}

/* ============================================================
   4. BUTTONS — solid ink (light) / amber (dark), squared, uppercase
   ============================================================ */
.wp-block-button__link,
.ast-button,
button.menu-toggle,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .single_add_to_cart_button{
  background-color:var(--bm-btn-bg) !important;
  color:var(--bm-btn-fg) !important;
  border:1px solid var(--bm-btn-bg) !important;
  border-radius:0 !important;
  text-transform:uppercase;letter-spacing:1px;font-weight:600;
  font-size:13px !important;padding:14px 30px !important;
  box-shadow:none !important;transition:opacity .15s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover,
.woocommerce .single_add_to_cart_button:hover,
.wp-block-button__link:hover{opacity:.85 !important;}

/* Secondary / outline buttons */
.woocommerce a.button.wc-backward,
.woocommerce a.added_to_cart{
  background:transparent !important;color:var(--bm-fg) !important;
  border:1px solid var(--bm-fg) !important;
}

/* ============================================================
   5. WOOCOMMERCE — shop grid, price, single product, cart
   ============================================================ */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{text-align:left;}
.woocommerce ul.products li.product a img{
  border:1px solid var(--bm-line);border-radius:0;margin-bottom:16px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:19px;padding:0;margin:6px 0;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:"Iowan Old Style",Georgia,serif;
  font-size:20px;color:var(--bm-fg) !important;font-weight:400;
}
.woocommerce ul.products li.product .price del{color:var(--bm-muted) !important;}
/* category label above title */
.woocommerce ul.products li.product .bm-cat,
.woocommerce .posted_in{
  font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--bm-muted);
}
/* sale + stock flashes → quiet minimalist labels */
.woocommerce span.onsale{
  background:transparent !important;color:var(--bm-accent) !important;
  border:none !important;box-shadow:none !important;
  font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
  min-height:auto;min-width:auto;padding:0;top:12px;left:12px;line-height:1;
}
.woocommerce .stock.out-of-stock{color:var(--bm-muted);text-transform:uppercase;letter-spacing:1px;font-size:12px;}
.woocommerce .stock.in-stock{color:var(--bm-accent);text-transform:uppercase;letter-spacing:1px;font-size:12px;}
/* tables (cart/checkout) */
.woocommerce table.shop_table,
.woocommerce-cart table.cart td,
.woocommerce table.shop_table th{
  border-color:var(--bm-line) !important;background:var(--bm-bg);
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #payment{background:var(--bm-surface) !important;border:1px solid var(--bm-line);border-radius:0;}
/* form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
input[type="text"],input[type="email"],input[type="tel"],select,textarea{
  background:var(--bm-surface) !important;color:var(--bm-fg) !important;
  border:1px solid var(--bm-line) !important;border-radius:0 !important;
}
/* store notice (IL-only) */
.woocommerce-store-notice,p.demo_store{
  background:var(--bm-btn-bg) !important;color:var(--bm-btn-fg) !important;
  font-size:13px;letter-spacing:.4px;
}

/* ============================================================
   6. HOME-PAGE PATTERN CLASSES (used in the home page HTML blocks)
   ============================================================ */
.bm-wrap{max-width:1120px;margin:0 auto;padding:0 8px;}
.bm-hero{padding:70px 0 54px;}
.bm-hero h1{font-size:clamp(38px,6.2vw,72px);line-height:1.02;letter-spacing:-1px;margin:0 0 24px;max-width:15ch;}
.bm-hero p{font-size:clamp(16px,1.7vw,20px);color:var(--bm-fg-soft);max-width:54ch;margin:0 0 32px;}
.bm-frame{
  border:1px solid var(--bm-line);background:linear-gradient(135deg,var(--bm-ph1),var(--bm-ph2));
  display:flex;align-items:center;justify-content:center;color:var(--bm-muted);
  font-size:11px;letter-spacing:2.4px;text-transform:uppercase;text-align:center;padding:20px;min-height:340px;
}
.bm-cta{
  display:inline-block;font-size:13.5px;letter-spacing:1px;text-transform:uppercase;
  background:var(--bm-btn-bg);color:var(--bm-btn-fg) !important;border:1px solid var(--bm-btn-bg);
  padding:15px 32px;text-decoration:none;
}
.bm-cta:hover{opacity:.85;}
.bm-quote{text-align:center;padding:74px 0;border-top:1px solid var(--bm-line);border-bottom:1px solid var(--bm-line);margin:30px 0;}
.bm-quote p{font-size:clamp(24px,3.4vw,34px);max-width:22ch;margin:0 auto;line-height:1.24;letter-spacing:-.4px;}
.bm-quote em{font-style:italic;color:var(--bm-accent);}
.bm-quote .bm-sub{font-size:14.5px;color:var(--bm-muted);margin-top:20px;}
.bm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:20px 0 10px;}
.bm-step .bm-n{font-family:"Iowan Old Style",Georgia,serif;font-size:15px;color:var(--bm-muted);
  padding-bottom:16px;border-bottom:1px solid var(--bm-line);margin-bottom:16px;}
.bm-step h3{font-size:21px;margin:0 0 10px;}
.bm-step p{color:var(--bm-muted);font-size:14.5px;margin:0;}
.bm-sectionhead{font-size:clamp(24px,3vw,34px);margin:56px 0 34px;letter-spacing:-.4px;}

/* ============================================================
   7. FOOTER
   ============================================================ */
.site-footer,
.ast-small-footer,
footer.site-footer{
  background-color:var(--bm-bg) !important;
  border-top:1px solid var(--bm-line);
  color:var(--bm-muted) !important;
}
.site-footer a{color:var(--bm-fg-soft) !important;}
.site-footer a:hover{color:var(--bm-accent) !important;}

/* ============================================================
   8. MOBILE
   ============================================================ */
@media(max-width:840px){
  .bm-steps{grid-template-columns:1fr;gap:28px;}
  .bm-frame{min-height:220px;}
  .bm-hero{padding:48px 0 40px;}
}
