/*
Theme Name: Betheme Child
Theme URI: https://themes.muffingroup.com/betheme
Author: Muffin group
Author URI: https://muffingroup.com
Description: Child Theme for Betheme. Bow Creek Outdoors storefront system (2026-10).
Template: betheme
Version: 1.6.2
*/

/* --------------------------------------------------------------------------
   HOW THIS IS USED
   All content is edited in BeBuilder (pages, Footer template), Appearance > Menus and
   Theme Options. This file only styles Betheme's own markup plus these classes, which are
   typed into an element's "Classes" / "Custom CSS class" field (Advanced tab):

   Sections (Section > Advanced > Classes)
     bc-sec-ink      charcoal section; headings and text turn light (topo texture is the section's Background image in BeBuilder)
     bc-sec-paper    map-white section
     bc-sec-rule     thin rule along the top of the section
     bc-hero         home hero: large H1, wraps vertically centred
     bc-footer       footer template section (light text, link styles)
   Wraps (Wrap > Advanced > Classes)
     bc-head         section heading row: heading with a rule underneath
     bc-head-link    right-aligned link beside a bc-head heading
     bc-card         white card with rule border (image, heading with red marker, text, link)
     bc-plate        map-sheet frame: first Heading becomes the label bar above the image
     bc-frames       spacing for a group of trail-cam images
     bc-contact      Icon Box elements as ruled contact rows
     bc-form-card    white panel around a form
     bc-buttons      buttons side by side
     bc-footer-brand, bc-footer-col, bc-footer-contact, bc-footer-base, bc-footer-base-links
                     footer columns and the bottom row
   Elements
     Button > Custom CSS class: bc-btn-primary (red), bc-btn-ghost (light outline on dark),
       bc-btn-outline (dark outline), bc-btn-text (underlined text link),
       bc-btn-text-light (text link on dark)
     Image > Classes: bc-frame (trail-cam frame: black mat, 4:3, caption bar),
       bc-card-img (4:3 crop inside a card), bc-photo (bordered 4:3 photo)
     Column Text > Classes: bc-lead (larger intro text), bc-lead-dark (lead on light ground),
       bc-muted (secondary text), bc-muted-light (secondary text on dark)
   Shop category bar: the menu assigned to "Shop category bar" (bc-store.php prints it).
   -------------------------------------------------------------------------- */
/* ==========================================================================
   Tokens
   ========================================================================== */
:root {
  --bc-ink: #1c1e1b;          /* charcoal map sheet */
  --bc-ink-2: #2a2d29;
  --bc-ink-line: #3a3e38;
  --bc-paper: #f5f6f2;        /* map white */
  --bc-paper-2: #e9ebe5;
  --bc-rule: #cfd3ca;
  --bc-text: #232521;
  --bc-muted: #555a52;        /* 6.6:1 on paper */
  --bc-light: #e8eae4;        /* text on ink */
  --bc-light-muted: #b4b9ae;  /* 7.9:1 on ink */
  --bc-red: #c8161d;          /* actions and stand markers only */
  --bc-red-dark: #a11117;

  --bc-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --bc-body: "Barlow", system-ui, sans-serif;

  /* type scale (px at desktop) 14 / 16 / 18 / 20 / 24 / 32 / 44 / 64 */
  --fs-xs: .875rem; --fs-sm: 1rem; --fs-md: 1.0625rem; --fs-lg: 1.25rem;
  --fs-xl: 1.5rem; --fs-2xl: clamp(1.75rem, 1.2rem + 1.6vw, 2.25rem);
  --fs-3xl: clamp(2.125rem, 1.4rem + 2.4vw, 2.75rem);
  --fs-4xl: clamp(2.75rem, 1.6rem + 4.2vw, 4.5rem);

  /* spacing scale 4 / 8 / 16 / 24 / 40 / 64 / 104 */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 16px; --sp-4: 24px; --sp-5: 40px; --sp-6: 64px; --sp-7: 104px;
  --bc-section: clamp(56px, 4vw + 32px, 104px);
  --bc-wrap: 1240px;

}

/* ==========================================================================
   Base and browser surfaces
   ========================================================================== */
html { -webkit-text-size-adjust: 100%; }
body { background: var(--bc-paper) !important; color: var(--bc-text); font-family: var(--bc-body); font-size: var(--fs-md); line-height: 1.65; }
#Wrapper, #Content, .content_wrapper { background: var(--bc-paper) !important; }
::selection { background: var(--bc-red); color: #fff; }
:focus-visible { outline: 2px solid var(--bc-red) !important; outline-offset: 3px; }
a { color: var(--bc-red-dark); text-underline-offset: .18em; }
a:hover { color: var(--bc-ink); }
p { color: var(--bc-text); }
h1, h2, h3, h4, h5, h6 { font-family: var(--bc-display); color: var(--bc-ink); text-wrap: balance; letter-spacing: 0; }
h1 { font-size: var(--fs-4xl); line-height: 1; font-weight: 700; }
h2 { font-size: var(--fs-3xl); line-height: 1.05; font-weight: 700; }
h3 { font-size: var(--fs-2xl); line-height: 1.1; font-weight: 700; }
h4 { font-size: var(--fs-xl); line-height: 1.15; font-weight: 600; }
.price, .amount, table td { font-variant-numeric: tabular-nums; }
a:hover > 
/* ==========================================================================
   Buttons (one system for builder, theme and WooCommerce)
   ========================================================================== */
.button, a.button, button.button, input[type="submit"], .woocommerce a.button, .woocommerce button.button,
.woocommerce .single_add_to_cart_button, .woocommerce #place_order, .wc-proceed-to-checkout a.checkout-button, .gform_button {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 0;
  min-height: 48px; padding: 0 var(--sp-4) !important; border-radius: 0 !important; border: 2px solid transparent !important;
  font-family: var(--bc-display) !important; font-size: 1.125rem !important; font-weight: 600 !important; letter-spacing: .04em !important; text-transform: uppercase;
  line-height: 1 !important; text-decoration: none !important; box-shadow: none !important; cursor: pointer;
  background: var(--bc-ink) !important; color: #fff !important;
  transition: background-color .2s, color .2s, border-color .2s;
}
.button:hover, a.button:hover, button.button:hover, input[type="submit"]:hover, .gform_button:hover { background: var(--bc-ink-2) !important; color: #fff !important; }
a.button.bc-btn-primary, .woocommerce .single_add_to_cart_button, .woocommerce #place_order, .wc-proceed-to-checkout a.checkout-button { background: var(--bc-red) !important; color: #fff !important; }
a.button.bc-btn-primary:hover, .woocommerce .single_add_to_cart_button:hover, .woocommerce #place_order:hover, .wc-proceed-to-checkout a.checkout-button:hover { background: var(--bc-red-dark) !important; }
a.button.bc-btn-ghost { background: transparent !important; border-color: var(--bc-light) !important; color: #fff !important; }
a.button.bc-btn-ghost:hover { background: #fff !important; color: var(--bc-ink) !important; }
a.button.bc-btn-outline { background: transparent !important; border-color: var(--bc-ink) !important; color: var(--bc-ink) !important; }
a.button.bc-btn-outline:hover { background: var(--bc-ink) !important; color: #fff !important; }
.button:disabled, .button.disabled, button:disabled { opacity: .45 !important; cursor: not-allowed; }
.button_label, .button .button_icon { padding: 0 !important; }

/* form fields */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], input[type="date"], textarea, select, .select2-container .select2-selection {
  border: 1px solid #9aa094 !important; border-radius: 0 !important; background: #fff !important; color: var(--bc-text) !important; box-shadow: none !important; font-family: var(--bc-body); font-size: 1rem !important; min-height: 46px;
}
input:focus, textarea:focus, select:focus { border-color: var(--bc-ink) !important; }
::placeholder { color: #6b7066 !important; }

/* ==========================================================================
   Header (Betheme classic): logo, menu, cart
   ========================================================================== */
#Header_wrapper, #Header { background: var(--bc-ink) !important; }
#Action_bar { display: none !important; }
#Top_bar { background: var(--bc-ink) !important; border-bottom: 1px solid var(--bc-ink-line); box-shadow: none !important; }
#Top_bar .top_bar_left { background: transparent !important; }
#Top_bar #logo { padding: 12px 0 !important; height: auto !important; line-height: 1 !important; }
#Top_bar #logo img { max-height: 52px !important; width: auto !important; }
#Top_bar .menu > li > a { color: var(--bc-light) !important; font-family: var(--bc-display); font-size: 1.125rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
#Top_bar .menu > li > a span:not(.description) { padding: 0 16px !important; }
#Top_bar .menu > li.current-menu-item > a, #Top_bar .menu > li.current-menu-ancestor > a, #Top_bar .menu > li > a:hover { color: #fff !important; }
#Top_bar .menu > li.current-menu-item > a span:not(.description), #Top_bar .menu > li.current-menu-ancestor > a span:not(.description) { box-shadow: inset 0 -2px 0 var(--bc-red); }
#Top_bar .menu li ul { background: var(--bc-ink-2) !important; box-shadow: 0 12px 24px rgba(0,0,0,.25) !important; border-top: 2px solid var(--bc-red); }
#Top_bar .menu li ul li a { color: var(--bc-light) !important; border-bottom-color: var(--bc-ink-line) !important; font-family: var(--bc-body); font-size: 1rem; }
#Top_bar .menu li ul li a:hover { background: var(--bc-ink) !important; color: #fff !important; }
#Top_bar .menu li ul li a .menu-arrow, #Top_bar .menu > li > a .menu-arrow { display: none; }
#Top_bar .top_bar_right { background: transparent !important; }
#Top_bar .top_bar_right:before { display: none !important; }
#Top_bar .top-bar-right-icon, #Top_bar a#header_cart, #Top_bar .top-bar-right-icon i { color: #fff !important; }
#Top_bar #header_cart .header-cart-count, #Top_bar .header-cart-count { background: var(--bc-red) !important; color: #fff !important; }
#Top_bar .responsive-menu-toggle, #Top_bar a.responsive-menu-toggle i { color: #fff !important; }
.is-sticky #Top_bar, #Top_bar.is-sticky { background: var(--bc-ink) !important; }
#Side_slide { background: var(--bc-ink) !important; }
#Side_slide #menu ul li a, #Side_slide .close-wrapper a { color: var(--bc-light) !important; font-family: var(--bc-display); font-size: 1.25rem; font-weight: 600; letter-spacing: .03em; }
#Side_slide #menu ul li ul li a { font-family: var(--bc-body); font-size: 1.0625rem; font-weight: 400; }
#Side_slide #menu ul li.submenu .menu-toggle { color: #fff !important; }
#Side_slide #menu ul li { border-color: var(--bc-ink-line) !important; }

/* subheader on inner pages: the sheet title */
#Subheader { background: var(--bc-ink) url("/wp-content/uploads/topo-white.webp") center / cover no-repeat !important; padding: clamp(32px, 4vw, 56px) 0 !important; }
#Subheader .title { color: #fff !important; font-family: var(--bc-display) !important; font-size: var(--fs-3xl) !important; line-height: 1.05 !important; font-weight: 700 !important; }
#Subheader ul.breadcrumbs li, #Subheader ul.breadcrumbs li a, #Subheader ul.breadcrumbs .mfn-breadcrumbs-separator { color: var(--bc-light-muted) !important; font-size: .9375rem; }
#Subheader:after { display: none !important; }
.single-product #Subheader { padding: 18px 0 !important; }
.single-product #Subheader .title { display: none !important; }

/* ==========================================================================
   Shop and category pages
   ========================================================================== */
  font-family: var(--bc-display); font-size: 1rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering, .mfn-woo-filters-wrapper { font-size: var(--fs-sm); color: var(--bc-muted); }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-5) var(--sp-4); margin: 0 !important; padding: 0 !important; }
.woocommerce ul.products:before, .woocommerce ul.products:after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; text-align: left !important; display: flex !important; flex-direction: column; align-items: stretch !important; }
.woocommerce ul.products li.product .image_frame { margin: 0 0 var(--sp-3) !important; border: 1px solid var(--bc-rule) !important; background: #fff; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 0 !important; }
.woocommerce ul.products li.product .image_frame .image_wrapper, .woocommerce ul.products li.product .image_frame .mask, .woocommerce ul.products li.product .image_frame a { height: 100%; }
.woocommerce ul.products li.product .image_frame img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .6s cubic-bezier(.16,1,.3,1); }
.woocommerce ul.products li.product:hover .image_frame img { transform: scale(1.03); }
.woocommerce ul.products li.product .image_frame .image_links, .woocommerce ul.products li.product .image_frame .mask:after { display: none !important; }
.woocommerce ul.products li.product .desc { padding: 0 !important; text-align: left !important; }
.woocommerce ul.products li.product h4, .woocommerce ul.products li.product .mfn-woo-product-title, .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--bc-display) !important; font-size: 1.25rem !important; line-height: 1.2 !important; font-weight: 600 !important; letter-spacing: 0 !important; margin: 0 0 var(--sp-1) !important; text-align: left !important; }
.woocommerce ul.products li.product h4 a, .woocommerce ul.products li.product .mfn-woo-product-title a { color: var(--bc-ink) !important; text-decoration: none; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--bc-ink) !important; font-family: var(--bc-body); font-weight: 600; font-size: 1.0625rem !important; }
.woocommerce ul.products li.product .price del, .woocommerce div.product p.price del { color: var(--bc-muted) !important; font-weight: 400; }
.woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins { color: var(--bc-red-dark) !important; text-decoration: none; }
.woocommerce ul.products li.product.outofstock .image_frame img { opacity: .5; filter: grayscale(.6); }
.woocommerce span.onsale, .woocommerce .soldout, .woocommerce .onsale, .mfn-woo-product-badge, .image_frame .soldout {
  border-radius: 0 !important; background: var(--bc-ink) !important; color: #fff !important; font-family: var(--bc-display) !important; font-size: .875rem !important; font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase; box-shadow: none !important; border: 0 !important; }
.woocommerce span.onsale, .woocommerce .onsale { background: var(--bc-red) !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius: 0 !important; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--bc-ink) !important; color: #fff !important; }

/* ==========================================================================
   Single product
   ========================================================================== */
.single-product .post-nav, .single-product .fixed-nav, .single-product .product_meta .mfn-share, .single-product .share-simple-wrapper { display: none !important; }
.woocommerce div.product .product_title { font-size: var(--fs-3xl) !important; line-height: 1.05 !important; letter-spacing: 0 !important; text-align: left !important; margin-bottom: var(--sp-3) !important; }
.woocommerce div.product .summary, .woocommerce div.product .entry-summary { text-align: left !important; }
.woocommerce div.product p.price { font-size: var(--fs-xl) !important; margin-bottom: var(--sp-3) !important; text-align: left !important; }
.woocommerce div.product .stock { color: var(--bc-ink) !important; font-weight: 600; font-size: var(--fs-sm); }
.woocommerce div.product .stock.in-stock:before { content: ""; display: inline-block; width: .55em; height: .55em; margin-right: .5em; background: #2f6b2a; vertical-align: .05em; }
.woocommerce div.product .stock.out-of-stock { color: var(--bc-red-dark) !important; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: stretch; margin-bottom: var(--sp-4) !important; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 200px; }
.woocommerce .quantity, .woocommerce .quantity .qty { border-radius: 0 !important; min-height: 48px; }
.woocommerce div.product .woocommerce-product-gallery { border: 1px solid var(--bc-rule); background: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs, .fake-tabs-nav { border-bottom: 1px solid var(--bc-rule) !important; padding-bottom: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a, .fake-tabs-nav li a { font-family: var(--bc-display); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--bc-ink) !important; }
.woocommerce div.product .woocommerce-tabs .panel ul, .fake-tabs-wrapper ul { columns: 2 260px; column-gap: var(--sp-5); }
.related.products > h2, .related.products > h3, .upsells.products > h2 { font-size: var(--fs-2xl) !important; text-align: left; border-bottom: 1px solid var(--bc-rule); padding-bottom: var(--sp-3); margin-bottom: var(--sp-5) !important; }

/* cart and checkout */
.woocommerce table.shop_table { border-radius: 0 !important; border-color: var(--bc-rule) !important; background: #fff; }
.woocommerce .cart_totals, .woocommerce-checkout-review-order, .mfn-cart-holder, .woocommerce .cart-collaterals .cart_totals { border-radius: 0 !important; }
.mfn-checkout-steps li .mfn-step-number { border-radius: 0 !important; }
.mfn-checkout-steps li.active .mfn-step-number, .mfn-checkout-steps li.done .mfn-step-number { background: var(--bc-ink) !important; border-color: var(--bc-ink) !important; color: #fff !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-radius: 0 !important; border-top-color: var(--bc-ink) !important; background: #fff !important; }
.woocommerce-info:before, .woocommerce-message:before { color: var(--bc-ink) !important; }

/* blog and content pages */
.the_content_wrapper iframe[src*="youtube"], .mcb-column iframe[src*="youtube"] { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; border: 0; }
.the_content_wrapper h3 { margin-top: var(--sp-5); }
.the_content_wrapper > p, .the_content_wrapper > ul { max-width: 72ch; }


/* ==========================================================================
   Sections and wraps (BeBuilder)
   ========================================================================== */
.mcb-section.bc-sec-paper { background-color: var(--bc-paper); }
.bc-sec-ink .column_heading .title, .bc-sec-ink h2, .bc-sec-ink h3 { color: #fff; }
.bc-sec-ink .column_column p, .bc-sec-ink .column_attr { color: var(--bc-light); }
.mcb-section.bc-sec-rule { border-top: 1px solid var(--bc-rule); }
.bc-sec-ink .section_wrapper, .bc-sec-paper .section_wrapper, .bc-footer .section_wrapper { max-width: var(--bc-wrap); }
.mcb-section .column_heading .title { margin: 0; }
.mcb-section .column_attr p:last-child { margin-bottom: 0; }

/* hero */
.bc-hero .column_heading h1.title { color: #fff; font-size: var(--fs-4xl); line-height: .95; max-width: 12ch; }

/* text styles */
.column_column.bc-lead p { font-size: var(--fs-lg); line-height: 1.55; color: var(--bc-light); max-width: 36ch; }
.column_column.bc-lead.bc-lead-dark p { color: var(--bc-text); max-width: 52ch; }
.column_column.bc-muted p { color: var(--bc-muted); max-width: 52ch; }
.column_column.bc-muted-light p { color: var(--bc-light-muted); max-width: 36ch; }

/* buttons by class (the base button style is above) */
a.button.bc-btn-text, a.button.bc-btn-text-light { background: transparent !important; border: 0 !important; border-bottom: 2px solid var(--bc-red) !important; min-height: 0 !important; padding: 0 0 4px !important; color: var(--bc-ink) !important; }
a.button.bc-btn-text-light { color: #fff !important; }
a.button.bc-btn-text:hover { color: var(--bc-red-dark) !important; }
a.button.bc-btn-text-light:hover { color: var(--bc-light-muted) !important; }
a.button .button_icon { order: 2; margin-left: .45em; display: inline-flex; }
a.button .button_icon i { font-size: .8em; color: inherit !important; transition: transform .25s cubic-bezier(.16,1,.3,1); }
a.button:hover .button_icon i { transform: translateX(3px); }

/* section heading row */
.bc-head .column_heading .title { font-size: var(--fs-3xl); }

/* category cards */
.bc-card .mcb-wrap-inner { background: #fff; border: 1px solid var(--bc-rule); height: 100%; padding-bottom: var(--sp-4) !important; }
.bc-card .mcb-column:not(.column_image) { padding: 0 var(--sp-4); box-sizing: border-box; }
.bc-card .column_heading .title { font-size: var(--fs-xl); display: flex; align-items: center; }
.bc-card .column_heading .title a { color: var(--bc-ink); text-decoration: none; }
.bc-card .column_heading .title:before { content: ""; width: .6em; height: .6em; margin-right: .45em; background: var(--bc-red); clip-path: polygon(50% 0, 100% 100%, 0 100%); flex: none; }
.bc-card .column_column p { font-size: var(--fs-sm); }
.column_image.bc-card-img .image_frame { margin: 0; border: 0; overflow: hidden; }
.column_image.bc-card-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s cubic-bezier(.16,1,.3,1); }
.bc-card:hover .column_image.bc-card-img img { transform: scale(1.04); }
.column_image .image_frame .image_links, .column_image .image_frame .mask { display: none !important; }

/* trail-cam frames and the map plate */
.column_image.bc-frame .image_frame, .column_image.bc-photo .image_frame { margin: 0; border: 1px solid var(--bc-ink-line); background: #000; }
.column_image.bc-photo .image_frame { border-color: var(--bc-rule); }
.column_image.bc-frame img, .column_image.bc-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.column_image.bc-frame img { object-position: bottom; }
.column_image.bc-frame .wp-caption-text { margin: 0; padding: 10px 14px; background: var(--bc-ink-2); color: var(--bc-light-muted); font-size: var(--fs-xs); text-align: left; border-top: 1px solid var(--bc-ink-line); }
.bc-plate .column_heading .title { padding: 10px 14px; background: var(--bc-ink-2); border: 1px solid var(--bc-ink-line); border-bottom: 0;
  font-family: var(--bc-display); font-size: .9375rem !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--bc-light-muted) !important; line-height: 1.3; white-space: pre-wrap; }

/* contact rows (Icon Box) */
.bc-contact .column_icon_box_2 a { text-decoration: none; display: block; }
.bc-contact .mfn-icon-box { border-bottom: 1px solid var(--bc-rule); padding: var(--sp-3) 0; gap: var(--sp-3); }
.bc-contact .column_icon_box_2:first-of-type .mfn-icon-box, .bc-contact .column_column + .column_icon_box_2 .mfn-icon-box { border-top: 1px solid var(--bc-ink); }
.bc-contact .mfn-icon-box .icon-wrapper { width: 40px; height: 40px; margin: 0 !important; background: var(--bc-ink); display: flex; align-items: center; justify-content: center; border-radius: 0; flex: none; }
.bc-contact .mfn-icon-box .icon-wrapper i { color: #fff !important; font-size: 18px; }
.bc-contact .mfn-icon-box .title { margin: 0 !important; font-family: var(--bc-body) !important; font-size: var(--fs-lg) !important; font-weight: 500; color: var(--bc-ink) !important; overflow-wrap: anywhere; }
.bc-contact .mfn-icon-box .desc { order: -1; font-family: var(--bc-display); font-size: .9375rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--bc-muted); }
.bc-contact .mfn-icon-box .desc-wrapper { display: flex; flex-direction: column-reverse; text-align: left; }
.bc-contact a:hover .mfn-icon-box .title { color: var(--bc-red-dark) !important; text-decoration: underline; }
.bc-form-card .mcb-wrap-inner { background: #fff; border: 1px solid var(--bc-rule); border-top: 2px solid var(--bc-ink); padding: clamp(20px, 3vw, 40px) !important; }
.gform_wrapper .gfield_label, .gform_wrapper legend { font-family: var(--bc-display) !important; font-size: 1.0625rem !important; font-weight: 600 !important; letter-spacing: .03em; color: var(--bc-ink) !important; }
.gform_wrapper .gfield_required { color: var(--bc-red-dark) !important; }
.gform_wrapper .gform-field-label--type-sub, .gform_wrapper .ginput_complex label { font-size: .875rem !important; color: var(--bc-muted) !important; }

/* products inside Shop elements on pages */
.column_shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

/* ==========================================================================
   Footer (Footer Builder template)
   ========================================================================== */
#mfn-footer-template, #Footer { background: var(--bc-ink) !important; }
.bc-footer { color: var(--bc-light); }
.bc-footer .column_heading .title { color: #fff !important; font-size: 1.125rem !important; letter-spacing: .08em; text-transform: uppercase; }
.bc-footer .column_footer_logo img { width: 240px; height: auto; max-width: 100%; }
.bc-footer .mfn-footer-menu, .bc-footer .mfn-list { list-style: none; margin: 0; padding: 0; }
.bc-footer .mfn-footer-menu li, .bc-footer .mfn-list .mfn-list-item { margin: 0 0 var(--sp-2) !important; padding: 0 !important; border: 0 !important; }
.bc-footer .mfn-footer-menu a, .bc-footer .mfn-list a, .bc-footer .mfn-list-desc { color: var(--bc-light) !important; font-size: var(--fs-sm); text-decoration: none; font-family: var(--bc-body); }
.bc-footer .mfn-footer-menu a:hover, .bc-footer .mfn-list a:hover { color: #fff !important; text-decoration: underline; }
.bc-footer .mfn-icon-2 { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--bc-ink-line); background: transparent !important; border-radius: 0 !important; }
.bc-footer .mfn-icon-2 i { color: #fff !important; font-size: 16px; }
.bc-footer .mfn-icon-2:hover { background: var(--bc-red) !important; border-color: var(--bc-red); }
.bc-footer-base .column_attr p, .bc-footer-base .mfn-footer-menu a { font-size: var(--fs-xs) !important; color: var(--bc-light-muted) !important; }
.bc-footer-base-links .mfn-footer-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--sp-4); }
.bc-footer-base-links .mfn-footer-menu li { margin: 0 !important; }

/* shop category bar (menu location) */
.bc-shopbar { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin: 0 0 var(--sp-4) !important; padding: 0 !important; list-style: none; }
.bc-shopbar li { margin: 0; list-style: none; }
.bc-shopbar li:before { display: none !important; }
.bc-shopbar a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--bc-rule); background: #fff; color: var(--bc-ink); text-decoration: none; font-family: var(--bc-display); font-size: 1rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.bc-shopbar a:hover { border-color: var(--bc-ink); }
.bc-shopbar .current-menu-item > a { background: var(--bc-ink); border-color: var(--bc-ink); color: #fff; }

/* What We Use logos (classic editor content) */
.page-id-69 .the_content_wrapper img { max-height: 110px; width: auto; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1023px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body { font-size: 1.0625rem; }
  .bc-hero .column_heading h1.title { max-width: none; }
  .bc-card .mcb-column:not(.column_image) { padding: 0 var(--sp-3); }
  .bc-card .column_heading .title { font-size: 1.25rem; }
  .bc-card .column_column { display: none; }
  .woocommerce ul.products, .column_shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--sp-4) var(--sp-3); }
  .woocommerce ul.products li.product h3, .woocommerce ul.products li.product h4 { font-size: 1.0625rem !important; }
  .bc-footer-base-links .mfn-footer-menu { justify-content: flex-start; }
  .woocommerce div.product .woocommerce-tabs .panel ul, .fake-tabs-wrapper ul { columns: 1; }
  .single-product .flex-control-thumbs { display: flex !important; overflow-x: auto; gap: 6px; }
  .single-product .flex-control-thumbs li { flex: 0 0 64px !important; width: 64px !important; }
}
/* header logo: larger and clear on the dark bar */
#Top_bar #logo img { max-height: 64px !important; }
#Top_bar #logo { padding: 10px 0 !important; }
@media (max-width: 1023px) { #Top_bar #logo img { max-height: 48px !important; } }
/* product page category line */
.woocommerce div.product .product_meta, .woocommerce div.product .product_meta .posted_in { display: block !important; text-align: left !important; margin-left: 0 !important; }
.woocommerce div.product .summary .product_meta { width: 100%; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* ==========================================================================
   Review round fixes
   ========================================================================== */
/* header: no reserved band, readable right-hand icons, one row on phones */
body:not(.template-slider) #Header { min-height: 0 !important; }
#Header_wrapper { min-height: 0 !important; }
#Top_bar { position: relative !important; }
#Top_bar .menu > li > a { font-size: 1.125rem !important; }
#Top_bar .top-bar-right-icon-user svg .path { stroke: var(--bc-light) !important; }
#Top_bar .header-cart-total { color: var(--bc-light) !important; font-family: var(--bc-body); font-size: .9375rem !important; }
@media (max-width: 1023px) {
  #Top_bar .top_bar_left { width: 100% !important; float: none !important; }
  #Top_bar .logo { margin: 0 !important; }
  #Top_bar #logo img { max-height: 40px !important; }
  #Top_bar .top_bar_right { position: absolute !important; top: 0 !important; right: 64px !important; height: 100% !important; width: auto !important; display: flex !important; align-items: center; padding: 0 !important; margin: 0 !important; float: none !important; }
  #Top_bar .top_bar_right_wrapper { position: static !important; top: auto !important; display: flex; align-items: center; gap: 12px; padding: 0 !important; }
  #Top_bar .header-cart-total, #Top_bar .myaccount_button { display: none !important; }
  #Top_bar .responsive-menu-toggle { top: 50% !important; transform: translateY(-50%); margin-top: 0 !important; right: 16px !important; }
}
/* lists inside the system: no theme bullets or indents */
/* footer contact column full width on phones so the email never breaks */
/* shop toolbar: count left, sort right */
.woocommerce .woocommerce-result-count { float: left !important; margin: 12px 0 var(--sp-4) !important; }
.woocommerce .woocommerce-ordering { float: right !important; margin: 0 0 var(--sp-4) !important; }
.woocommerce ul.products { clear: both; }
@media (max-width: 767px) { .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none !important; display: block; } }
/* sold out badge: small, top-left, legible */
.image_frame .soldout { top: 10px !important; left: 10px !important; right: auto !important; bottom: auto !important; transform: none !important; width: auto !important; height: auto !important; padding: 4px 8px !important; margin: 0 !important; line-height: 1 !important; }
.image_frame .soldout h4 { margin: 0 !important; color: #fff !important; font-size: .8125rem !important; line-height: 1.2 !important; letter-spacing: .08em; }
/* product page */
.woocommerce div.product form.cart .single_add_to_cart_button.button, .woocommerce div.product form.cart button.single_add_to_cart_button { background: var(--bc-red) !important; color: #fff !important; }
.woocommerce div.product .product_meta { text-align: left !important; font-size: var(--fs-sm); color: var(--bc-muted); }
.post-item .post-desc-wrapper, .posts_group .post-item { background: #fff !important; }
/* detector follow-ups */
.woocommerce ul.products li.product, .woocommerce ul.products li.product .desc { background: transparent !important; }
.woocommerce ul.products li.product h3, .woocommerce ul.products li.product h4, .woocommerce ul.products li.product .mfn-woo-product-title { line-height: 1.3 !important; }
#Top_bar .search_wrapper, .search_wrapper { box-shadow: none !important; }
#Top_bar { top: 0 !important; }
.woocommerce div.product .product_meta, .woocommerce div.product .product_meta > * { text-align: left !important; justify-content: flex-start !important; }
.woocommerce .woocommerce-ordering { margin-left: auto !important; }
/* heading rows: both wraps the same height so the rule lines up */
@media (max-width: 767px) {
}

/* Header aligned to the page grid (same width and gutters as BeBuilder sections) */
#Top_bar > .container { max-width: var(--bc-wrap) !important; width: calc(100% - 66px) !important; padding: 0 !important; }
#Top_bar > .container > .column.one { margin: 0 !important; width: 100% !important; }
#Top_bar .top_bar_left { padding: 0 !important; }
#Top_bar .logo { margin: 0 !important; }
#Top_bar .top_bar_right { right: 0 !important; padding-right: 0 !important; }
#Top_bar.is-sticky #logo img, .is-sticky #Top_bar #logo img, #Top_bar.is-sticky .logo img { max-height: 44px !important; }
#Top_bar.is-sticky #logo, .is-sticky #Top_bar #logo { padding: 8px 0 !important; }
@media (max-width: 1023px) {
  #Top_bar .logo { text-align: left !important; width: auto !important; float: left !important; }
  #Top_bar #logo { margin: 0 !important; }
  #Top_bar .responsive-menu-toggle { right: 0 !important; }
  #Top_bar .top_bar_right { right: 48px !important; }
}
@media (max-width: 1023px) {
  #Top_bar .top_bar_left { min-height: 64px; display: flex !important; align-items: center; }
  #Top_bar #logo { padding: 10px 0 !important; height: auto !important; line-height: 1 !important; }
  #Top_bar #logo img { max-height: 44px !important; }
}
@media (max-width: 1023px) { #Top_bar #logo img.logo-mobile, #Top_bar #logo img.logo-mobile-sticky { height: 44px !important; max-height: 44px !important; width: auto !important; } }

/* Pages BeBuilder doesn't lay out (shop, product, cart, checkout, account, blog, classic pages):
   the same rhythm as the home page's paper sections, 48/96 desktop and 32/56 on phones */
body:not(.home) #Content:not(:has(.bc-sec-paper, .bc-sec-ink)) { padding-top: 48px !important; padding-bottom: 96px !important; }
@media (max-width: 767px) { body:not(.home) #Content:not(:has(.bc-sec-paper, .bc-sec-ink)) { padding-top: 32px !important; padding-bottom: 56px !important; } }
body:not(.home) #Content:has(.bc-sec-paper, .bc-sec-ink) { padding-top: 0 !important; padding-bottom: 0 !important; }
/* footer rhythm: heading 8px to its list, 24px between column groups on phones (elements keep Ben's margin 0) */
.bc-footer .mfn-footer-menu li a, .bc-footer .mfn-list .mfn-list-desc { padding: 2px 0 !important; display: inline-block; line-height: 1.5; }
.bc-footer .mfn-footer-menu li, .bc-footer .mfn-list .mfn-list-item { margin: 0 0 var(--sp-1) !important; }

/* footer bottom row: a rule above it (spacing set in BeBuilder) */
.bc-footer-base .mcb-wrap-inner { border-top: 1px solid var(--bc-ink-line); padding-top: var(--sp-4) !important; }
@media (max-width: 767px) { .bc-footer-base-links .mcb-wrap-inner { border-top: 0; padding-top: 0 !important; } }

/* Blog (Betheme Blog & Portfolio options set the layout; this is typography only) */
.single-post .the_content_wrapper { max-width: 68ch; margin-left: auto; margin-right: auto; }
.single-post .the_content_wrapper p, .single-post .the_content_wrapper li { font-size: 1.125rem; line-height: 1.7; }
.single-post .the_content_wrapper h2, .single-post .the_content_wrapper h3 { margin: 1.6em 0 .5em; }
.single-post .the_content_wrapper ul, .single-post .the_content_wrapper ol { margin: 0 0 1.2em 1.2em; }
.single-post .the_content_wrapper img { height: auto; max-width: 100%; margin: .5em 0 1.2em; }
.post-item .post-title .entry-title a, .post-item h2.entry-title a, .post-item .post-title h2 a { color: var(--bc-ink); text-decoration: none; }
.post-item .post-meta, .post-item .date_label, .post-meta .date { color: var(--bc-muted); font-size: var(--fs-sm); }
.single-post .section-post-header .post-header, .single-post .section-post-header .single-image-wrapper, .single-post .post-header, .single-post .single-image-wrapper { max-width: 68ch; margin-left: auto !important; margin-right: auto !important; float: none !important; }
.single-post .single-image-wrapper img { width: 100%; height: auto; }

/* Media: video cards (Video element + Heading) */
.bc-video-card .column_heading .title { font-size: var(--fs-xl); line-height: 1.2; }
.column_video.bc-video .content_video, .column_video.bc-video iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; background: #000; }

/* ==========================================================================
   Hover and focus (one timing everywhere; Betheme Colors > Buttons holds the theme button hovers)
   ========================================================================== */
.button, a.button, button.button, input[type="submit"], .gform_button, .bc-shopbar a, #Top_bar .menu > li > a, #Top_bar .top-bar-right-icon,
.bc-footer a, .bc-footer .mfn-icon-2, .bc-contact a, .bc-card .column_heading .title a {
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease !important; }
a.button.bc-btn-primary:hover, a.button.bc-btn-primary:focus-visible,
.woocommerce div.product form.cart .single_add_to_cart_button.button:hover, .woocommerce div.product form.cart .single_add_to_cart_button.button:focus-visible,
.wc-proceed-to-checkout a.checkout-button:hover, .woocommerce #place_order:hover { background: var(--bc-red-dark) !important; color: #fff !important; }
a.button.bc-btn-ghost:hover, a.button.bc-btn-ghost:focus-visible { background: #fff !important; border-color: #fff !important; color: var(--bc-ink) !important; }
a.button.bc-btn-ghost:hover .button_icon i { color: var(--bc-ink) !important; }
a.button.bc-btn-outline:hover, a.button.bc-btn-outline:focus-visible { background: var(--bc-ink) !important; color: #fff !important; }
a.button.bc-btn-outline:hover .button_icon i { color: #fff !important; }
a.button.bc-btn-text:hover, a.button.bc-btn-text:focus-visible { color: var(--bc-red-dark) !important; border-bottom-color: var(--bc-red-dark) !important; background: transparent !important; }
a.button.bc-btn-text-light:hover, a.button.bc-btn-text-light:focus-visible { color: #fff !important; border-bottom-color: #fff !important; background: transparent !important; }
.bc-shopbar a:hover { border-color: var(--bc-ink); color: var(--bc-red-dark); }
.bc-footer .mfn-icon-2:hover, .bc-footer .mfn-icon-2:focus-visible { color: #fff !important; }
#Top_bar .top-bar-right-icon:hover i, #Top_bar .top-bar-right-icon:hover .header-cart-total { color: var(--bc-light-muted) !important; }
#Top_bar .top-bar-right-icon-user:hover svg .path { stroke: var(--bc-light-muted) !important; }
/* focus ring readable on both grounds: white gap then red */
:focus-visible { outline: 2px solid var(--bc-red) !important; outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
.bc-sec-ink :focus-visible, .bc-footer :focus-visible, #Top_bar :focus-visible { box-shadow: 0 0 0 3px var(--bc-ink); outline-color: #fff !important; }
