/*
Theme Name: BoltGasket GEO Pro
Author: BoltGasket GEO Pro
Description: A lightweight B2B WordPress theme for industrial bolts, nuts, washers and gaskets, with native product content types, RFQ forms, technical data, structured content and editable product modules.
Version: 1.3.5
Requires at least: 6.4
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: boltgasket-geo-pro
Tags: custom-logo, custom-menu, featured-images, block-styles, wide-blocks, translation-ready, accessibility-ready, blog, e-commerce
*/

:root {
  --bg-navy: #0c2238;
  --bg-navy-2: #153b5b;
  --bg-orange: #e36b24;
  --bg-orange-dark: #b94f15;
  --bg-text: #17212b;
  --bg-muted: #607080;
  --bg-line: #dce3e8;
  --bg-soft: #f4f7f9;
  --bg-white: #ffffff;
  --bg-radius: 8px;
  --bg-shadow: 0 10px 30px rgba(12, 34, 56, .08);
  --bg-container: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--bg-text); background: var(--bg-white); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; line-height: 1.65; }
a { color: var(--bg-navy-2); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--bg-orange-dark); }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button, .button, .wp-element-button, .bg-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .72rem 1.1rem; border: 1px solid var(--bg-orange); border-radius: 5px; background: var(--bg-orange); color: #fff; font-weight: 700; text-decoration: none; cursor: pointer; transition: .2s ease; }
button:hover, .button:hover, .wp-element-button:hover, .bg-button:hover { background: var(--bg-orange-dark); border-color: var(--bg-orange-dark); color: #fff; }
.bg-button--outline { background: transparent; color: var(--bg-navy); border-color: var(--bg-navy); }
.bg-button--outline:hover { background: var(--bg-navy); border-color: var(--bg-navy); }
.bg-container { width: min(calc(100% - 32px), var(--bg-container)); margin-inline: auto; }
.bg-section { padding: 72px 0; }
.bg-section--soft { background: var(--bg-soft); }
.bg-section__head { max-width: 780px; margin-bottom: 32px; }
.bg-eyebrow { color: var(--bg-orange-dark); font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, h3, h4 { color: var(--bg-navy); line-height: 1.22; margin-top: 0; }
h1 { font-size: clamp(2rem, 5vw, 4.2rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.55rem); }
h3 { font-size: clamp(1.15rem, 2vw, 1.45rem); }
p { margin: 0 0 1rem; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed !important; z-index: 99999; top: 8px; left: 8px; width: auto; height: auto; padding: 12px 16px; clip: auto; background: #fff; color: #000; }

.site-header { position: relative; z-index: 1000; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--bg-line); backdrop-filter: blur(12px); }
.site-header--sticky { position: sticky; top: 0; z-index: 1000; }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: clamp(12px, 1.4vw, 24px); }
.site-branding { display: flex; flex: 0 1 250px; min-width: 0; align-items: center; gap: 12px; }
.site-branding img { max-height: 48px; width: auto; }
.site-title { margin: 0; font-size: 1.1rem; font-weight: 850; text-decoration: none; }
.site-description { margin: 2px 0 0; color: var(--bg-muted); font-size: .8rem; }
.primary-navigation { flex: 1 1 auto; min-width: 0; }
.primary-navigation ul { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: clamp(11px, 1.15vw, 22px); margin: 0; padding: 0; list-style: none; }
.primary-navigation li { position: relative; }
.primary-navigation a { display: block; padding: 25px 0; color: var(--bg-text); font-size: clamp(.88rem, .92vw, 1rem); font-weight: 650; line-height: 1.25; text-decoration: none; white-space: nowrap; }
.primary-navigation a:hover { color: var(--bg-orange-dark); }
.primary-navigation .sub-menu { position: absolute; top: calc(100% - 8px); left: -16px; display: none; min-width: 240px; padding: 10px 0; background: #fff; border: 1px solid var(--bg-line); border-radius: 7px; box-shadow: var(--bg-shadow); }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { display: block; }
.primary-navigation .sub-menu a { padding: 10px 16px; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 0; background: transparent; color: var(--bg-navy); border-color: var(--bg-line); }
.site-header__cta { flex: 0 0 auto; white-space: nowrap; }
.primary-navigation .menu-item-rfq { display: none; }

.bg-hero { position: relative; overflow: hidden; padding: 96px 0 88px; background: linear-gradient(135deg, var(--bg-navy) 0%, #173f62 72%, #1a4e75 100%); color: #fff; }
.bg-hero::after { content: ""; position: absolute; inset: auto -15% -55% 35%; height: 520px; border: 80px solid rgba(255,255,255,.035); border-radius: 50%; }
.bg-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.bg-hero h1, .bg-hero h2, .bg-hero h3 { color: #fff; }
.bg-hero p { max-width: 700px; color: #dbe7ef; font-size: 1.08rem; }
.bg-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.bg-hero .bg-button--outline { color: #fff; border-color: rgba(255,255,255,.7); }
.bg-hero .bg-button--outline:hover { background: #fff; color: var(--bg-navy); }
.bg-hero__panel { padding: 26px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.08); box-shadow: 0 22px 70px rgba(0,0,0,.18); }
.bg-hero__stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.bg-stat { padding: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: rgba(255,255,255,.06); }
.bg-stat strong { display: block; color: #fff; font-size: 1.25rem; }
.bg-stat span { color: #c8d9e5; font-size: .88rem; }

.bg-grid { display: grid; gap: 24px; }
.bg-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bg-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bg-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bg-card { height: 100%; overflow: hidden; border: 1px solid var(--bg-line); border-radius: var(--bg-radius); background: #fff; box-shadow: 0 5px 20px rgba(12,34,56,.04); transition: transform .2s ease, box-shadow .2s ease; }
.bg-card:hover { transform: translateY(-3px); box-shadow: var(--bg-shadow); }
.bg-card__media { aspect-ratio: 16/10; overflow: hidden; background: linear-gradient(135deg, #dfe7ec, #f7f9fa); }
.bg-card__media img { width: 100%; height: 100%; object-fit: cover; }
.bg-card__placeholder { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--bg-navy-2); font-weight: 800; letter-spacing: .05em; }
.bg-card__body { padding: 22px; }
.bg-card__body h3 { margin-bottom: 10px; }
.bg-card__body h3 a { color: inherit; text-decoration: none; }
.bg-card__meta { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0; }
.bg-chip { display: inline-flex; padding: 4px 9px; border-radius: 999px; background: #eaf0f4; color: #29455c; font-size: .75rem; font-weight: 700; }

.bg-breadcrumb { padding: 14px 0; border-bottom: 1px solid var(--bg-line); background: var(--bg-soft); font-size: .86rem; color: var(--bg-muted); }
.bg-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.bg-breadcrumb li:not(:last-child)::after { content: "/"; margin-left: 8px; color: #9aa8b3; }
.bg-breadcrumb a { text-decoration: none; }

.bg-page-header { padding: 58px 0; background: linear-gradient(135deg, var(--bg-navy), #184665); color: #fff; }
.bg-page-header h1 { margin-bottom: 10px; color: #fff; font-size: clamp(2rem,4vw,3.2rem); }
.bg-page-header p { max-width: 760px; color: #d9e5ed; }
.bg-page-header__intro { max-width: 980px; white-space: normal; overflow: visible; text-overflow: clip; font-size: clamp(1rem,1.35vw,1.22rem); line-height: 1.6; overflow-wrap: anywhere; }
.bg-page-header .bg-page-header__intro { margin-top: 18px; margin-bottom: 0; }

.bg-content-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 42px; padding: 56px 0 80px; }
.bg-content { min-width: 0; }
.bg-sidebar { min-width: 0; }
.bg-sticky { position: sticky; top: 100px; }
.bg-panel { margin-bottom: 24px; padding: 24px; border: 1px solid var(--bg-line); border-radius: var(--bg-radius); background: #fff; }
.bg-panel--accent { border-top: 4px solid var(--bg-orange); box-shadow: var(--bg-shadow); }
.bg-quick-answer { margin: 0 0 28px; padding: 24px; border-left: 5px solid var(--bg-orange); background: #fff7f1; }
.bg-quick-answer h2 { margin-bottom: 8px; font-size: 1.25rem; }
.bg-prose > *:first-child { margin-top: 0; }
.bg-prose h2 { margin-top: 44px; padding-bottom: 10px; border-bottom: 1px solid var(--bg-line); }
.bg-prose h3 { margin-top: 30px; }
.bg-prose ul, .bg-prose ol { padding-left: 22px; }
.bg-prose blockquote { margin: 24px 0; padding: 18px 22px; border-left: 4px solid var(--bg-navy-2); background: var(--bg-soft); }

.bg-spec-table { width: 100%; margin: 24px 0; border-collapse: collapse; border: 1px solid var(--bg-line); font-size: .94rem; }
.bg-spec-table th, .bg-spec-table td { padding: 12px 14px; border: 1px solid var(--bg-line); text-align: left; vertical-align: top; }
.bg-spec-table th { width: 34%; background: var(--bg-soft); color: var(--bg-navy); }
.bg-spec-table tr:nth-child(even) td { background: #fbfcfd; }

.bg-rfq-form { display: grid; gap: 16px; }
.bg-rfq-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.bg-field label { display: block; margin-bottom: 6px; color: var(--bg-navy); font-size: .9rem; font-weight: 750; }
.bg-field input, .bg-field select, .bg-field textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #cbd6de; border-radius: 5px; background: #fff; color: var(--bg-text); }
.bg-field textarea { min-height: 125px; resize: vertical; }
.bg-field input:focus, .bg-field select:focus, .bg-field textarea:focus { outline: 3px solid rgba(227,107,36,.16); border-color: var(--bg-orange); }
.bg-field--full { grid-column: 1 / -1; }
.bg-notice { margin-bottom: 18px; padding: 13px 16px; border-radius: 5px; }
.bg-notice--success { background: #eaf7ee; color: #175d2d; }
.bg-notice--error { background: #fff0ef; color: #8e251f; }
.bg-honeypot { position: absolute !important; left: -9999px !important; }

.bg-cta-band { padding: 46px 0; background: var(--bg-navy); color: #fff; }
.bg-cta-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.bg-cta-band h2 { margin-bottom: 6px; color: #fff; }
.bg-cta-band p { margin: 0; color: #d7e4ec; }

.site-footer { background: #081a2b; color: #bfcdda; }
.site-footer a { color: #d9e5ed; }
.site-footer__top { display: grid; grid-template-columns: 1.25fr repeat(3,1fr); gap: 38px; padding: 62px 0 42px; }
.site-footer h2, .site-footer h3 { color: #fff; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin-bottom: 8px; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 24px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: .84rem; }

.bg-mobile-actions { display: none; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 36px; }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: 6px 10px; border: 1px solid var(--bg-line); border-radius: 5px; text-decoration: none; }
.pagination .current { background: var(--bg-navy); color: #fff; border-color: var(--bg-navy); }

@media (max-width: 1240px) {
  .site-header__cta { display: none; }
  .menu-toggle { display: inline-flex; }
  .primary-navigation { position: absolute; top: 76px; left: 0; right: 0; display: none; max-height: calc(100vh - 76px); overflow: auto; background: #fff; border-bottom: 1px solid var(--bg-line); box-shadow: var(--bg-shadow); }
  .primary-navigation.is-open { display: block; }
  .primary-navigation ul { display: block; width: min(calc(100% - 32px), var(--bg-container)); margin-inline: auto; padding: 12px 0 20px; }
  .primary-navigation a { padding: 11px 0; }
  .primary-navigation .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 0 18px; border: 0; box-shadow: none; }
  .primary-navigation .menu-item-rfq { display: list-item; }
  .bg-hero__grid, .bg-content-wrap { grid-template-columns: 1fr; }
  .bg-grid--4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer__top { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bg-sidebar .bg-sticky { position: static; }
}

@media (max-width: 700px) {
  body.has-bg-mobile-actions { padding-bottom: 62px; }
  .bg-section { padding: 54px 0; }
  .bg-hero { padding: 68px 0 62px; }
  .bg-hero__grid { gap: 34px; }
  .bg-grid--2, .bg-grid--3, .bg-grid--4, .bg-rfq-form__grid { grid-template-columns: 1fr; }
  .bg-cta-band__inner, .site-footer__bottom { align-items: flex-start; flex-direction: column; }
  .site-footer__top { grid-template-columns: 1fr; }
  .bg-mobile-actions { position: fixed; z-index: 1100; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(var(--bg-mobile-actions-count, 3),1fr); min-height: 62px; background: #fff; border-top: 1px solid var(--bg-line); box-shadow: 0 -8px 24px rgba(12,34,56,.1); }
  .bg-mobile-actions a { display: flex; align-items: center; justify-content: center; padding: 8px; color: var(--bg-navy); font-size: .76rem; font-weight: 750; text-decoration: none; }
  .bg-mobile-actions a:last-child { background: var(--bg-orange); color: #fff; }
}

/* V1.1.1 editable homepage and product media system. */
.bg-home-content > * { margin-block-start: 0; }
.bg-home-content .alignwide { width: min(calc(100% - 32px), var(--bg-container)); max-width: none; margin-inline: auto; }
.bg-home-content .alignfull { width: 100%; max-width: none; margin-inline: 0; }
.bg-home-hero { padding: 88px 0 80px; background: linear-gradient(135deg, var(--bg-navy) 0%, #173f62 72%, #1a4e75 100%); color: #fff; }
.bg-home-hero > .wp-block-columns { width: min(calc(100% - 32px), var(--bg-container)); margin-inline: auto; gap: 54px; }
.bg-home-hero h1, .bg-home-hero h2, .bg-home-hero p, .bg-home-hero li { color: #fff; }
.bg-home-hero h1 { font-size: clamp(2.5rem, 5vw, 5rem); line-height: 1.08; }
.bg-home-hero .bg-eyebrow { color: #f08a45; }
.bg-home-hero__panel { padding: 28px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.09); }
.bg-home-hero__panel ul { margin-bottom: 0; }
.bg-home-section { padding: 72px 0; }
.bg-section__head--split { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.bg-section__head--split h2 { margin-bottom: 0; }
.bg-text-link { flex: 0 0 auto; font-weight: 750; text-decoration: none; }

.bg-latest-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.bg-latest-product-card { min-width: 0; overflow: hidden; border: 1px solid #d8e3ef; border-radius: 8px; background: #fff; box-shadow: 0 5px 22px rgba(12,34,56,.055); transition: transform .2s ease, box-shadow .2s ease; }
.bg-latest-product-card:hover { transform: translateY(-4px); box-shadow: 0 15px 38px rgba(12,34,56,.12); }
.bg-latest-product-card__link { display: flex; height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
.bg-latest-product-card__media { display: flex; align-items: center; justify-content: center; aspect-ratio: 4/3; overflow: hidden; padding: 18px; border-bottom: 1px solid #d8e3ef; background: #f8fafc; }
.bg-latest-product-card__media img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s ease; }
.bg-latest-product-card:hover .bg-latest-product-card__media img { transform: scale(1.035); }
.bg-latest-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 20px 22px 24px; }
.bg-latest-product-card__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.bg-product-tag { display: inline-flex; align-items: center; max-width: 100%; padding: 5px 11px; overflow: hidden; border: 1px solid #cfe0f1; border-radius: 999px; background: #f3f8fd; color: #0d4d8c; font-size: .76rem; font-weight: 750; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.bg-latest-product-card__title { display: block; min-height: 0; overflow: visible; color: var(--bg-navy); font-size: 1.17rem; font-weight: 830; line-height: 1.45; }
.bg-latest-product-card__specs { margin: 18px 0 0; color: #5d7289; font-size: .9rem; }
.bg-latest-product-card__specs div { display: flex; gap: 5px; margin: 0 0 7px; }
.bg-latest-product-card__specs dt { flex: 0 0 auto; color: #425a72; font-weight: 750; }
.bg-latest-product-card__specs dd { min-width: 0; margin: 0; }
.bg-product-placeholder, .bg-content-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 24px; color: #6b7f91; font-weight: 800; text-align: center; }

.bg-latest-content-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.bg-latest-content-card { overflow: hidden; border: 1px solid var(--bg-line); border-radius: 8px; background: #fff; }
.bg-latest-content-card__media { display: flex; align-items: center; justify-content: center; aspect-ratio: 16/10; overflow: hidden; background: #edf2f6; }
.bg-latest-content-card__media img { width: 100%; height: 100%; object-fit: cover; }
.bg-latest-content-card__body { padding: 20px 22px 24px; }
.bg-latest-content-card time { color: var(--bg-muted); font-size: .82rem; }
.bg-latest-content-card h3 { margin: 8px 0 10px; }
.bg-latest-content-card h3 a { color: inherit; text-decoration: none; }
.bg-latest-content-card p { margin-bottom: 0; color: var(--bg-muted); }

.bg-card__media { aspect-ratio: 4/3; padding: 14px; background: #f7f9fb; }
.bg-card__media img { object-fit: contain; }
.bg-product-media { margin-bottom: 34px; }
.bg-product-gallery__main { display: flex; align-items: center; justify-content: center; aspect-ratio: 4/3; margin: 0; overflow: hidden; border: 1px solid var(--bg-line); border-radius: 8px; background: #f7f9fb; }
.bg-product-gallery__main a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; padding: 22px; }
.bg-product-gallery__main img { width: 100%; height: 100%; object-fit: contain; }
.bg-product-gallery__thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; padding-bottom: 4px; }
.bg-product-gallery__thumb { flex: 0 0 86px; width: 86px; height: 68px; min-height: 0; padding: 4px; border: 2px solid transparent; border-radius: 6px; background: #f7f9fb; }
.bg-product-gallery__thumb.is-active { border-color: var(--bg-orange); }
.bg-product-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }
.bg-support-images { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.bg-support-images figure { margin: 0; }
.bg-support-images a { display: flex; aspect-ratio: 4/3; align-items: center; justify-content: center; padding: 16px; border: 1px solid var(--bg-line); background: #f7f9fb; }
.bg-support-images img { width: 100%; height: 100%; object-fit: contain; }
.bg-support-images figcaption { padding-top: 8px; color: var(--bg-muted); font-size: .86rem; }
.bg-product-section { margin-top: 44px; }
.bg-detail-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.bg-detail-list > div { padding: 15px; border: 1px solid var(--bg-line); background: #fbfcfd; }
.bg-detail-list dt { color: var(--bg-navy); font-weight: 780; }
.bg-detail-list dd { margin: 4px 0 0; }
.bg-packaging { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; }
.bg-packaging--text-only { grid-template-columns: 1fr; }
.bg-packaging figure { display: flex; aspect-ratio: 4/3; align-items: center; justify-content: center; margin: 0; padding: 16px; border: 1px solid var(--bg-line); background: #f7f9fb; }
.bg-packaging img { width: 100%; height: 100%; object-fit: contain; }
.bg-related-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.bg-product-family-context { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 18px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: rgba(255,255,255,.86); font-size: .9rem; }
.bg-product-family-context a { color: #fff; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.bg-product-configurations { border-top: 1px solid var(--bg-line); }

.bg-related-card { overflow: hidden; border: 1px solid var(--bg-line); border-radius: 8px; background: #fff; color: inherit; text-decoration: none; }
.bg-related-card__media { display: flex; aspect-ratio: 4/3; align-items: center; justify-content: center; padding: 12px; background: #f7f9fb; }
.bg-related-card__media img { width: 100%; height: 100%; object-fit: contain; }
.bg-related-card__body { display: flex; flex-direction: column; gap: 10px; padding: 14px 15px 17px; }
.bg-related-card__title { display: block; padding: 0; color: var(--bg-navy); font-weight: 800; line-height: 1.4; }
.bg-related-card__tags, .bg-card__tags { display: flex; flex-wrap: wrap; gap: 7px; }

@media (max-width: 1240px) {
  .bg-latest-product-grid, .bg-latest-content-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bg-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .bg-home-hero { padding: 62px 0 54px; }
  .bg-home-hero > .wp-block-columns { gap: 28px; }
  .bg-section__head--split { align-items: flex-start; flex-direction: column; }
  .bg-latest-product-grid, .bg-latest-content-grid { grid-template-columns: 1fr; }
  .bg-support-images, .bg-detail-list, .bg-packaging { grid-template-columns: 1fr; }
  .bg-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .bg-latest-product-card__title { min-height: 0; }
}

/* V1.1.4 knowledge templates and public PDF documents. */
.bg-knowledge-featured { margin: 0 0 30px; padding: 20px; border: 1px solid var(--bg-line); background: var(--bg-soft); text-align: center; }
.bg-knowledge-featured img { max-height: 520px; object-fit: contain; }
.bg-knowledge-code { margin: 0 0 28px; padding: 18px 20px; border-left: 4px solid var(--bg-orange); background: var(--bg-soft); }
.bg-knowledge-code h2 { margin-top: 0; font-size: 1.05rem; }
.bg-knowledge-code p { margin-bottom: 0; font-size: 1.1rem; }
.bg-knowledge-section { margin: 0 0 34px; }
.bg-technical-list { display: grid; gap: 9px; margin: 0; padding-left: 1.2rem; }
.bg-technical-list li { padding-left: .25rem; }
.bg-technical-documents { margin: 38px 0; }
.bg-document-card { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 18px; align-items: start; padding: 20px; border: 1px solid var(--bg-line); border-radius: var(--bg-radius); background: #fff; box-shadow: var(--bg-shadow); }
.bg-document-card__icon { display: grid; place-items: center; width: 64px; min-height: 76px; border-radius: 5px; background: var(--bg-navy); color: #fff; font-size: .82rem; font-weight: 800; letter-spacing: .08em; }
.bg-document-card__body h3 { margin: 0 0 5px; }
.bg-document-card__meta { margin: 0 0 12px; color: var(--bg-muted); font-size: .9rem; }
.bg-document-card__actions { display: flex; flex-wrap: wrap; gap: 16px; }
.bg-document-card__actions a { font-weight: 700; }
@media (max-width: 540px) {
  .bg-document-card { grid-template-columns: 1fr; }
  .bg-document-card__icon { width: 58px; min-height: 68px; }
}


/* V1.1.5 category archives and header stability. */
.bg-category-range-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.bg-category-range-item { display: flex; align-items: center; min-height: 68px; padding: 16px 18px; border: 1px solid var(--bg-line); border-radius: var(--bg-radius); background: #fff; color: var(--bg-navy); font-weight: 800; box-shadow: 0 4px 16px rgba(12,34,56,.04); }
.bg-category-info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.bg-category-info-card { padding: 26px; border: 1px solid var(--bg-line); border-radius: var(--bg-radius); background: #fff; box-shadow: 0 4px 18px rgba(12,34,56,.045); }
.bg-category-info-card h2 { margin-bottom: 12px; font-size: 1.35rem; }
.bg-category-info-card p:last-child { margin-bottom: 0; }
.bg-empty-state__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.bg-empty-state__actions form { display: flex; gap: 8px; margin: 0; }
.bg-empty-state__actions input[type=search] { min-height: 44px; padding: 9px 12px; border: 1px solid var(--bg-line); border-radius: 5px; }
@media (max-width: 900px) {
  .bg-category-range-grid, .bg-category-info-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .bg-category-range-grid, .bg-category-info-grid { grid-template-columns: 1fr; }
  .bg-section__head--split { align-items: flex-start; flex-direction: column; }
}


/* V1.2.0 managed header, footer, relationships and category links. */
.bg-topbar { background: var(--bg-navy); color: #dce8f0; font-size: .84rem; }
.bg-topbar a { color: #fff; }
.bg-topbar__inner { min-height: 36px; display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.bg-topbar__contact { display: inline-flex; gap: 16px; align-items: center; }
.bg-header-search { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--bg-line); border-radius: 50%; text-decoration: none; font-size: 1.25rem; }
.site-footer__top { grid-template-columns: repeat(var(--bg-footer-columns, 4), minmax(0,1fr)); }
.bg-footer-column--company { grid-column: span 1; }
.bg-footer-column ul, .bg-footer-legal-menu { margin: 0; padding: 0; list-style: none; }
.bg-footer-column li, .bg-footer-legal-menu li { margin: 0 0 8px; }
.bg-footer-legal-menu { display: flex; gap: 14px; flex-wrap: wrap; }
.bg-category-range-item--linked { justify-content: space-between; text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.bg-category-range-item--linked:hover, .bg-category-range-item--linked:focus-visible { transform: translateY(-2px); border-color: var(--bg-orange); box-shadow: var(--bg-shadow); color: var(--bg-navy); }
.bg-relationship-section { margin: 32px 0; }
.bg-relationship-list { display: flex; flex-wrap: wrap; gap: 10px; }
.bg-relationship-link { display: inline-flex; padding: .62rem .82rem; border: 1px solid var(--bg-line); border-radius: 999px; background: var(--bg-soft); text-decoration: none; font-weight: 700; }
.bg-search-group + .bg-search-group { margin-top: 56px; }
.bg-404-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.site-footer--mobile-accordion .bg-footer-column h3 { cursor: default; }
@media (max-width: 1024px) {
  .site-footer__top { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .bg-header-search { display: none; }
}
@media (max-width: 700px) {
  .bg-topbar__inner { align-items: flex-start; flex-direction: column; padding-block: 8px; }
  .site-footer__top { grid-template-columns: 1fr !important; }
  .bg-footer-legal-menu { flex-direction: column; gap: 4px; }
}

/* V1.2.0 managed footer accordion. */
.bg-footer-toggle { display: none; }
.bg-footer-column__content[hidden] { display: none; }
@media (max-width: 700px) {
  .site-footer--mobile-accordion .bg-footer-heading { display: none; }
  .site-footer--mobile-accordion .bg-footer-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.18);
    color: inherit;
    cursor: pointer;
    display: flex;
    font: inherit;
    font-weight: 700;
    justify-content: space-between;
    padding: 12px 0;
    text-align: left;
    width: 100%;
  }
  .site-footer--mobile-accordion .bg-footer-column__content { padding-top: 12px; }
}

/* V1.2.2 Products + Materials-only sidebar. */
.bg-sidebar-stack { display: grid; gap: 0; }
.bg-sidebar-nav-panel { padding: 0; overflow: hidden; }
.bg-sidebar-panel-heading { margin: 0; padding: 20px 22px 14px; font-size: 1.05rem; letter-spacing: .04em; text-transform: uppercase; }
.bg-sidebar-toggle { display: none; }
.bg-sidebar-panel-content { padding: 0 22px 20px; }
.bg-sidebar-link-list { margin: 0; padding: 0; list-style: none; }
.bg-sidebar-link-list li { margin: 0; border-top: 1px solid var(--bg-line); }
.bg-sidebar-link-list a { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; color: var(--bg-navy); font-size: .92rem; font-weight: 700; line-height: 1.35; text-decoration: none; transition: color .2s ease, padding-left .2s ease; }
.bg-sidebar-link-list a:hover,
.bg-sidebar-link-list a:focus-visible { color: var(--bg-orange-dark); padding-left: 4px; }
.bg-sidebar-link-list a span:last-child { flex: 0 0 auto; color: var(--bg-orange-dark); }
.bg-sidebar-view-all { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: var(--bg-navy-2); font-size: .86rem; font-weight: 800; text-decoration: none; }
.bg-sidebar-view-all:hover { color: var(--bg-orange-dark); }
.bg-sidebar--mobile-accordion .bg-sidebar-panel-content[hidden] { display: none; }

@media (max-width: 700px) {
  .bg-sidebar--mobile-accordion .bg-sidebar-panel-heading { display: none; }
  .bg-sidebar--mobile-accordion .bg-sidebar-toggle {
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 54px;
    padding: 14px 18px;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: var(--bg-navy);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-align: left;
    text-transform: uppercase;
  }
  .bg-sidebar--mobile-accordion .bg-sidebar-toggle:hover,
  .bg-sidebar--mobile-accordion .bg-sidebar-toggle:focus-visible { background: var(--bg-soft); color: var(--bg-navy); }
  .bg-sidebar--mobile-accordion .bg-sidebar-panel-content { padding: 0 18px 18px; }
}
.bg-content-wrap--full { grid-template-columns: minmax(0, 1fr); }

/* V1.2.9 unified product cards, configurable image geometry and related products. */
.bg-product-grid { grid-template-columns: repeat(var(--bg-product-grid-columns, 3), minmax(0, 1fr)); }
.bg-product-card { display: flex; min-width: 0; flex-direction: column; }
.bg-card__media {
  display: flex;
  width: 100%;
  aspect-ratio: var(--bg-card-image-ratio, 4 / 3);
  align-items: center;
  justify-content: center;
  padding: var(--bg-card-image-padding, 20px);
  border-bottom: 1px solid var(--bg-line);
  background: #f7f9fb;
}
.bg-card__media img { width: 100%; height: 100%; object-fit: var(--bg-card-image-fit, contain); }
.bg-card__body { display: flex; min-height: 108px; flex: 1; flex-direction: column; padding: 18px 20px 22px; }
.bg-card__title { display: block; margin: 0 0 12px; color: var(--bg-navy); font-size: clamp(1.02rem, 1.4vw, 1.22rem); font-weight: 820; line-height: 1.4; overflow-wrap: anywhere; }
.bg-card__title a { display: block; color: inherit; text-decoration: none; }
.bg-card__summary { margin: 10px 0 0; color: var(--bg-muted); font-size: .92rem; }
.bg-product-tag { white-space: normal; overflow-wrap: anywhere; text-decoration: none; }
a.bg-product-tag:hover { border-color: #8fb8df; background: #e7f2fc; color: #083e72; }

.bg-related-grid {
  display: grid;
  grid-template-columns: repeat(var(--bg-related-columns, 4), minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
  justify-content: start;
}
.bg-related-card {
  display: flex;
  width: 100%;
  max-width: var(--bg-related-card-max, 360px);
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--bg-line);
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 5px 20px rgba(12,34,56,.045);
  transition: transform .2s ease, box-shadow .2s ease;
}
.bg-related-card:hover { transform: translateY(-3px); box-shadow: var(--bg-shadow); }
.bg-related-card__media {
  display: flex;
  width: 100%;
  aspect-ratio: var(--bg-card-image-ratio, 4 / 3);
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: var(--bg-card-image-padding, 20px);
  border-bottom: 1px solid var(--bg-line);
  background: #f7f9fb;
}
.bg-related-card__media img { width: 100%; height: 100%; object-fit: var(--bg-card-image-fit, contain); }
.bg-related-card__body { display: flex; min-height: 126px; flex: 1; flex-direction: column; gap: 12px; padding: 16px 18px 19px; }
.bg-related-card__title { display: block; color: var(--bg-navy); font-size: 1.05rem; font-weight: 820; line-height: 1.4; overflow-wrap: anywhere; text-decoration: none; }
.bg-related-card__tags { margin-top: auto; }

@media (max-width: 960px) {
  .bg-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bg-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .bg-product-grid, .bg-related-grid { grid-template-columns: 1fr; }
  .bg-related-card { max-width: 100%; }
  .bg-card__body, .bg-related-card__body { min-height: 0; }
}

.bg-card__title + .bg-card__tags { margin-top: 0; }

/* V1.3.1 homepage curation and differentiated archive hubs */
.bg-hub-grid { grid-template-columns: repeat(var(--bg-hub-columns, 3), minmax(0, 1fr)); }
.bg-hub-card { min-width: 0; height: 100%; }
.bg-hub-card .bg-card__media { aspect-ratio: 16 / 10; overflow: hidden; background: #f7f9fb; }
.bg-hub-card .bg-card__media img { width: 100%; height: 100%; object-fit: cover; }
.bg-hub-card .bg-card__body { display: flex; flex-direction: column; min-height: 220px; }
.bg-hub-card .bg-text-link { margin-top: auto; font-weight: 750; }
.bg-client-grid { display: grid; grid-template-columns: repeat(var(--bg-hub-columns, 4), minmax(0, 1fr)); gap: 20px; }
.bg-client-card { display: flex; min-height: 150px; flex-direction: column; justify-content: center; align-items: center; padding: 24px; border: 1px solid var(--bg-line); border-radius: var(--bg-radius); background: #fff; text-align: center; box-shadow: 0 5px 18px rgba(12,34,56,.045); }
.bg-client-card__logo { display: flex; min-height: 64px; align-items: center; justify-content: center; margin-bottom: 14px; }
.bg-client-card__logo img { max-height: 64px; width: auto; object-fit: contain; }
.bg-client-card h3 { margin-bottom: 6px; font-size: 1rem; }
.bg-client-card p { margin: 0; color: var(--bg-muted); font-size: .9rem; }
.bg-knowledge-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.bg-knowledge-columns > div { padding: 28px; border: 1px solid var(--bg-line); border-radius: var(--bg-radius); background: #fff; box-shadow: var(--bg-shadow); }
.bg-link-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.bg-link-list a { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--bg-line); font-weight: 700; text-decoration: none; }
.bg-link-list li:last-child a { border-bottom: 0; }
.bg-organization-nav { display: flex; flex-wrap: wrap; gap: 10px; }
.bg-chip--link { display: inline-flex; padding: 9px 15px; text-decoration: none; }
.bg-chip--link:hover { background: var(--bg-navy); color: #fff; }
.bg-archive-hub .bg-page-header { padding-bottom: 64px; }
.bg-hub-cta { background: var(--bg-navy); color: #fff; }
.bg-hub-cta h2 { color: #fff; }
.bg-hub-cta p { max-width: 760px; margin: 0; color: #dbe7ef; }
.bg-hub-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.bg-home-capabilities .wp-block-column { padding: 24px; border: 1px solid var(--bg-line); border-radius: var(--bg-radius); background: #fff; }
.bg-home-quality { padding-top: 64px; padding-bottom: 64px; }

@media (max-width: 980px) {
  .bg-hub-grid, .bg-client-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bg-knowledge-columns { grid-template-columns: 1fr; }
  .bg-hub-cta__inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 620px) {
  .bg-hub-grid, .bg-client-grid { grid-template-columns: 1fr; }
  .bg-hub-card .bg-card__body { min-height: 0; }
}
.bg-case-study__meta { margin-top: 20px; color: #dbe7ef; }
.bg-case-study__facts { display: grid; gap: 24px; margin-top: 40px; }
.bg-case-study__facts section { padding: 24px; border: 1px solid var(--bg-line); border-radius: var(--bg-radius); background: var(--bg-soft); }
.bg-case-study__facts h2 { margin-bottom: 12px; font-size: 1.35rem; }
.bg-case-study__facts p:last-child { margin-bottom: 0; }

/* V1.3.1 active homepage layout and linked material navigation chips. */
.bg-latest-product-card { display: flex; height: 100%; flex-direction: column; }
.bg-latest-product-card__media {
  width: 100%;
  aspect-ratio: var(--bg-card-image-ratio, 4 / 3);
  padding: var(--bg-card-image-padding, 20px);
  color: inherit;
  text-decoration: none;
}
.bg-latest-product-card__media img { object-fit: var(--bg-card-image-fit, contain); }
.bg-latest-product-card__body { min-height: 0; }
.bg-latest-product-card__title { margin: 0 0 13px; }
.bg-latest-product-card__title a { color: inherit; text-decoration: none; }
.bg-latest-product-card__title a:hover { color: var(--bg-orange-dark); }
.bg-latest-product-card__tags { margin: 0 0 4px; }
.bg-product-tag {
  min-height: 30px;
  padding: 5px 10px;
  font-size: .82rem;
  line-height: 1.25;
}
.bg-product-tag--material { border-color: #bcd6ed; background: #edf6fd; color: #0b4b84; }
a.bg-product-tag--material:hover,
a.bg-product-tag--material:focus-visible { border-color: #6ea6d2; background: #dceefa; color: #073b68; }
.bggp-display-field textarea { width: 100%; min-height: 100px; }


/* V1.3.2: list cards are tag-free; only long-tail detail pages use Technical Tags. */
.bg-card__tags,
.bg-related-card__tags,
.bg-latest-product-card__tags { display: none !important; }

.bg-technical-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}
.bg-technical-tag {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 6px 11px;
	border: 1px solid #c9d9e7;
	border-radius: 999px;
	background: #f4f8fb;
	color: #153b5b;
	font-size: .82rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}
a.bg-technical-tag:hover,
a.bg-technical-tag:focus-visible {
	border-color: #6e9dc4;
	background: #e5f1fa;
	color: #082f50;
}
.bg-technical-tag--material { border-color: #b9d4ea; background: #edf6fd; color: #0b4b84; }
.bg-technical-tag--standard { border-color: #cad4e7; background: #f0f3fa; color: #354b78; }
.bg-technical-tag--coating { border-color: #d9cfb1; background: #faf7ec; color: #64521b; }
.bg-technical-tag--product { border-color: #c8d8cf; background: #eff7f2; color: #28553a; }
@media (max-width: 640px) {
	.bg-technical-tags { gap: 7px; margin-top: 15px; }
	.bg-technical-tag { padding: 6px 10px; font-size: .78rem; }
}

/* V1.3.3 editable Hub Pages */
.bg-hub-page-content{min-height:40vh}
.bg-hub-hero__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:clamp(28px,5vw,72px);align-items:center}
.bg-hub-hero__content{min-width:0}
.bg-hub-hero__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--bg-radius,8px)}
.bg-hub-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.bg-archive-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(26px,4vw,48px);background:var(--bg-navy,#0c2238);color:#fff;border-radius:var(--bg-radius,8px)}
.bg-archive-cta h2,.bg-archive-cta p{color:inherit;margin-top:0}
.bg-archive-cta p{max-width:760px;margin-bottom:0}
.bg-editor-placeholder{padding:24px;border:1px dashed #8c8f94;background:#f6f7f7}
@media(max-width:800px){.bg-hub-hero__grid{grid-template-columns:1fr}.bg-hub-hero__image{order:-1}.bg-archive-cta{align-items:flex-start;flex-direction:column}}
