
/* BigBearGlobal clean static shell — replaces Astra/Header Footer Elementor runtime structure. */
.bbg-static-header{position:relative;width:100%;background:#fff;z-index:100;border-bottom:1px solid rgba(0,0,0,.06)}
.bbg-header-inner{max-width:1200px;margin:0 auto;min-height:78px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:border-box}
.bbg-brand{font-family:"DM Sans",Arial,sans-serif;font-size:18px;font-weight:700;letter-spacing:.2px;color:#243f3b;text-decoration:none;white-space:nowrap}
.bbg-nav{display:flex;align-items:center;gap:28px;font-family:"DM Sans",Arial,sans-serif}
.bbg-nav>a,.bbg-products-link{color:#263f3c;text-decoration:none;font-size:15px;line-height:1.4;transition:opacity .2s ease}
.bbg-nav>a:hover,.bbg-products-link:hover{opacity:.65}
.bbg-nav-dropdown{position:relative;height:78px;display:flex;align-items:center}
.bbg-products-link{display:flex;align-items:center;gap:6px}
.bbg-dropdown-menu{position:absolute;top:100%;right:0;min-width:245px;background:#fff;border:1px solid #eee;box-shadow:0 10px 30px rgba(0,0,0,.10);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(5px);transition:.18s ease}
.bbg-dropdown-menu a{display:block;padding:10px 18px;color:#263f3c;text-decoration:none;font-size:14px;white-space:nowrap}
.bbg-dropdown-menu a:hover{background:#f7f7f4}
.bbg-nav-dropdown:hover .bbg-dropdown-menu,.bbg-nav-dropdown:focus-within .bbg-dropdown-menu{opacity:1;visibility:visible;transform:none}
.bbg-phone{font-weight:600;white-space:nowrap}
.bbg-menu-toggle{display:none;border:0;background:transparent;padding:10px;cursor:pointer}
.bbg-menu-toggle span{display:block;width:24px;height:2px;background:#263f3c;margin:5px 0}
.bbg-mobile-nav{display:none;max-width:1200px;margin:0 auto;padding:0 24px 18px;box-sizing:border-box}
.bbg-mobile-nav a{display:block;padding:10px 0;color:#263f3c;text-decoration:none;font-family:"DM Sans",Arial,sans-serif}
.bbg-static-footer{margin-top:40px;background:#f7f7f5;color:#666;font-family:"DM Sans",Arial,sans-serif}
.bbg-footer-top{max-width:1200px;margin:0 auto;padding:34px 24px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;align-items:center}
.bbg-footer-links{display:flex;flex-direction:column;gap:8px}.bbg-footer-links a,.bbg-footer-social a{color:#555;text-decoration:none;font-size:14px}.bbg-footer-links a:hover,.bbg-footer-social a:hover{text-decoration:underline}
.bbg-footer-sales{text-align:center;font-size:13px;line-height:1.6}.bbg-footer-sales strong{color:#333}
.bbg-footer-social{display:flex;justify-content:flex-end;gap:14px;flex-wrap:wrap}.bbg-footer-social a{font-size:13px}
.bbg-footer-legal{max-width:1200px;margin:0 auto;padding:18px 24px 0;border-top:1px solid #ddd;text-align:center;font-size:12px;line-height:1.65;color:#888;box-sizing:border-box}
.bbg-footer-copy{max-width:1200px;margin:0 auto;padding:16px 24px 28px;text-align:center;font-size:12px;color:#999;box-sizing:border-box}
/* Product/category CTA consistency. */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{display:flex;flex-direction:column}
.woocommerce ul.products li.product .button,.woocommerce-page ul.products li.product .button{margin-top:auto!important;align-self:flex-start;min-width:235px;text-align:center;box-sizing:border-box}
.bbg-request-quote{display:inline-flex!important;align-items:center;justify-content:center;min-height:54px;padding:14px 28px!important;background:#ffd431!important;color:#263f3c!important;border:0!important;border-radius:6px!important;text-decoration:none!important;font-family:"DM Sans",Arial,sans-serif;font-size:16px!important;font-weight:500!important;line-height:1.2!important;cursor:pointer}
.bbg-request-quote:hover{background:#f3c825!important;color:#263f3c!important}
@media (max-width:900px){.bbg-nav{display:none}.bbg-menu-toggle{display:block}.bbg-mobile-nav.is-open{display:block}.bbg-footer-top{grid-template-columns:1fr;text-align:center}.bbg-footer-links{align-items:center}.bbg-footer-social{justify-content:center}}

/* Static-site gallery fallback: no WooCommerce JS is required. */
.woocommerce-product-gallery{opacity:1!important;}
.woocommerce-product-gallery img{visibility:visible!important;opacity:1!important;}


/* =========================================================
   BigBearGlobal — static product/category layout
   These rules intentionally override legacy Astra/WooCommerce
   layout rules without changing product image files.
   ========================================================= */

/* Product category / shop grids */
.bbg-product-grid,
ul.products.bbg-product-grid {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  column-gap:42px !important;
  row-gap:48px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  clear:both !important;
}

.bbg-product-card,
ul.products.bbg-product-grid > li.bbg-product-card {
  float:none !important;
  position:relative !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
  list-style:none !important;
}

.bbg-product-card .astra-shop-thumbnail-wrap,
.bbg-product-card .bbg-card-image {
  width:100% !important;
  height:300px !important;
  min-height:300px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 18px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-sizing:border-box !important;
}

.bbg-product-card .astra-shop-thumbnail-wrap > a,
.bbg-product-card .bbg-card-image > a {
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.bbg-product-card .astra-shop-thumbnail-wrap img,
.bbg-product-card .bbg-card-image img {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 !important;
  box-shadow:none !important;
}

.bbg-product-card .astra-shop-summary-wrap {
  flex:1 1 auto !important;
  min-height:205px !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
}

.bbg-product-card .ast-woo-product-category,
.bbg-product-card .bbg-card-category {
  display:block !important;
  margin:0 0 8px !important;
  min-height:20px !important;
  color:#aeb9a8 !important;
  font-size:16px !important;
  line-height:1.35 !important;
}

.bbg-product-card .ast-loop-product__link {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  text-decoration:none !important;
}

.bbg-product-card .woocommerce-loop-product__title {
  display:block !important;
  min-height:68px !important;
  margin:0 0 12px !important;
  padding:0 !important;
  color:#315b56 !important;
  font-size:23px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
}

.bbg-product-card .price {
  display:block !important;
  min-height:30px !important;
  margin:0 0 18px !important;
  color:#758c72 !important;
  font-size:21px !important;
  font-weight:600 !important;
  line-height:1.35 !important;
}

.bbg-product-card .bbg-request-quote {
  width:100% !important;
  max-width:none !important;
  min-height:64px !important;
  margin-top:auto !important;
  align-self:stretch !important;
  box-sizing:border-box !important;
}

.bbg-product-card .screen-reader-text {
  display:none !important;
}

/* Category controls are no longer useful on a static B2B catalog. */
.bbg-category-controls-legacy,
.woocommerce-result-count,
.woocommerce-ordering {
  display:none !important;
}

/* Single product: independent two-column static layout */
.bbg-product-single {
  width:100% !important;
  max-width:1200px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,56%) minmax(0,44%) !important;
  column-gap:48px !important;
  align-items:start !important;
  box-sizing:border-box !important;
}

.bbg-product-single > .bbg-product-gallery {
  grid-column:1 !important;
  grid-row:1 !important;
  float:none !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  opacity:1 !important;
  visibility:visible !important;
}

.bbg-product-single > .bbg-product-summary {
  grid-column:2 !important;
  grid-row:1 !important;
  float:none !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

.bbg-product-gallery .woocommerce-product-gallery__wrapper {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  transition:none !important;
}

.bbg-product-gallery .woocommerce-product-gallery__image {
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  background:#fff !important;
}

.bbg-product-gallery .woocommerce-product-gallery__image:first-child {
  grid-column:1 / -1 !important;
  width:100% !important;
  min-height:420px !important;
  height:clamp(420px,42vw,620px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.bbg-product-gallery .woocommerce-product-gallery__image:not(:first-child) {
  height:108px !important;
  min-height:108px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.bbg-product-gallery .woocommerce-product-gallery__image a {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
}

.bbg-product-gallery .woocommerce-product-gallery__image img {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  margin:0 !important;
  box-shadow:none !important;
}

.bbg-product-gallery .woocommerce-product-gallery__image:not(:first-child) img {
  border:1px solid #e8e8e8 !important;
  padding:4px !important;
  box-sizing:border-box !important;
}

.bbg-product-single > .bbg-product-description {
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  width:100% !important;
  float:none !important;
  margin:56px 0 0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

.bbg-product-description .tabs.wc-tabs {
  display:none !important;
}

.bbg-product-description .woocommerce-Tabs-panel,
.bbg-product-description .entry-content {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.bbg-product-summary .single-product-category {
  display:block !important;
  margin:0 0 10px !important;
  color:#aeb9a8 !important;
  font-size:17px !important;
  line-height:1.4 !important;
}

.bbg-product-summary .product_title {
  margin:0 0 24px !important;
  color:#315b56 !important;
  font-size:36px !important;
  line-height:1.25 !important;
  font-weight:400 !important;
}

.bbg-product-summary .bbg-quote-wrap {
  margin:0 0 28px !important;
}

.bbg-product-summary .bbg-request-quote {
  min-width:320px !important;
  min-height:64px !important;
}

.bbg-product-summary .price:empty {
  display:none !important;
}

.bbg-product-summary .woocommerce-product-details__short-description {
  margin:0 0 24px !important;
  line-height:1.7 !important;
}

.bbg-product-summary .product_meta {
  margin-top:24px !important;
}

.bbg-product-summary .pe-enq-wrapper {
  display:none !important;
}

/* Static gallery should never inherit WooCommerce's hidden/slider state. */
.bbg-product-gallery,
.bbg-product-gallery .woocommerce-product-gallery__wrapper,
.bbg-product-gallery .woocommerce-product-gallery__image,
.bbg-product-gallery img {
  opacity:1 !important;
  visibility:visible !important;
}

/* Responsive */
@media (max-width:921px){
  .bbg-product-grid,
  ul.products.bbg-product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:28px !important;
    row-gap:40px !important;
  }

  .bbg-product-single {
    grid-template-columns:1fr !important;
    row-gap:32px !important;
  }

  .bbg-product-single > .bbg-product-gallery,
  .bbg-product-single > .bbg-product-summary {
    grid-column:1 !important;
    grid-row:auto !important;
  }

  .bbg-product-single > .bbg-product-description {
    grid-column:1 !important;
    grid-row:auto !important;
    margin-top:16px !important;
  }

  .bbg-product-gallery .woocommerce-product-gallery__image:first-child {
    height:clamp(340px,70vw,520px) !important;
  }

  .bbg-product-summary .product_title {
    font-size:30px !important;
  }
}

@media (max-width:600px){
  .bbg-product-grid,
  ul.products.bbg-product-grid {
    grid-template-columns:1fr !important;
    row-gap:34px !important;
  }

  .bbg-product-card .astra-shop-thumbnail-wrap,
  .bbg-product-card .bbg-card-image {
    height:280px !important;
    min-height:280px !important;
  }

  .bbg-product-card .astra-shop-summary-wrap {
    min-height:0 !important;
  }

  .bbg-product-card .woocommerce-loop-product__title {
    min-height:0 !important;
  }

  .bbg-product-gallery .woocommerce-product-gallery__wrapper {
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .bbg-product-gallery .woocommerce-product-gallery__image:first-child {
    min-height:300px !important;
    height:82vw !important;
  }

  .bbg-product-gallery .woocommerce-product-gallery__image:not(:first-child) {
    height:78px !important;
    min-height:78px !important;
  }

  .bbg-product-summary .product_title {
    font-size:28px !important;
  }

  .bbg-product-summary .bbg-request-quote {
    width:100% !important;
    min-width:0 !important;
  }
}
