/*
Theme Name: BatterySpecPro
Theme URI: https://www.batteryspecpro.com/
Author: BatterySpecPro
Description: Responsive legacy-inspired technical WooCommerce battery storefront.
Version: 0.2.1
Requires at least: 6.8
Requires PHP: 8.2
Text Domain: batteryspecpro
*/

:root {
  --bsp-green: #008000;
  --bsp-green-dark: #005f2f;
  --bsp-gold: #ffcc00;
  --bsp-blue: #006699;
  --bsp-link: #0000cc;
  --bsp-navy: #000080;
  --bsp-ink: #111111;
  --bsp-muted: #555f66;
  --bsp-line: #d4d8d2;
  --bsp-paper: #ffffff;
  --bsp-page: #eef1ec;
  --bsp-shell: 1000px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--bsp-ink);
  background: var(--bsp-page);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}
a { color: var(--bsp-link); text-underline-offset: 2px; }
a:hover { color: #b00000; }
img { max-width: 100%; height: auto; }
.bsp-shell { width: min(var(--bsp-shell), calc(100% - 24px)); margin-inline: auto; }

.bsp-topbar {
  display: none;
  border-bottom: 1px solid #004820;
  background: var(--bsp-green-dark);
  color: #fff;
  font-size: 12px;
}
.bsp-topbar__inner {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 7px 4px;
}
.bsp-topbar a { color: #fff; font-weight: 700; }

.bsp-site-header { background: #fff; }
.bsp-brand-row {
  display: grid;
  grid-template-columns: minmax(260px, 418px) 1fr 220px;
  align-items: center;
  gap: 24px;
  min-height: 132px;
  padding: 15px 12px 12px;
}
.bsp-brand { display: block; line-height: 0; }
.bsp-brand img { width: 418px; max-height: 76px; object-fit: contain; }
.bsp-veteran { display:none; }
.bsp-brand-copy { text-align: center; color: var(--bsp-green); text-transform: uppercase; }
.bsp-brand-copy strong { display: block; font-size: 18px; letter-spacing: .04em; }
.bsp-brand-copy em { display: block; margin-top: 5px; font-size: 13px; font-weight: 700; text-transform: none; }
.bsp-phone { display: grid; justify-items: end; line-height: 1.25; }
.bsp-phone span { color: var(--bsp-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.bsp-phone a { color: #111; font-size: 23px; font-weight: 800; text-decoration: none; }
.bsp-phone small { color: var(--bsp-muted); }

.bsp-main-nav {
  border-block: 1px solid #004c24;
  background: var(--bsp-green);
  box-shadow: 0 3px 0 var(--bsp-gold);
}
.bsp-main-nav .bsp-shell {
  display: flex;
  align-items: stretch;
  justify-content: center;
}
.bsp-main-nav a {
  padding: 10px 13px;
  border-right: 1px solid rgba(255,255,255,.27);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.bsp-main-nav a:first-child { border-left: 1px solid rgba(255,255,255,.27); }
.bsp-main-nav a:hover { background: #006b00; color: #fff; }
.bsp-main-nav .bsp-cart-link { margin-left: auto; background: var(--bsp-gold); color: #101010; }
.bsp-main-nav .bsp-cart-link:hover { background: #ffe064; color: #101010; }
.bsp-main-nav.bsp-legacy-main-nav { border:0; background:#fff; box-shadow:none; }
.bsp-main-nav.bsp-legacy-main-nav .bsp-shell { width:min(var(--bsp-shell),calc(100% - 24px)); justify-content:stretch; background:#006699; }
.bsp-main-nav.bsp-legacy-main-nav a { flex:1; padding:8px 10px; border-color:#fff; background:#006699; font-size:12px; }
.bsp-main-nav.bsp-legacy-main-nav a:hover { background:#004f78; }

.bsp-home { padding: 18px 0 34px; }
.bsp-test-notice {
  margin: 0 0 16px;
  padding: 10px 16px;
  border: 2px solid #8a1c1c;
  background: #fff1f1;
  color: #8a1c1c;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}
.bsp-home-panel {
  overflow: hidden;
  border: 1px solid #c9cec8;
  background: #fff;
  box-shadow: 0 5px 22px rgba(0,0,0,.12);
}
.bsp-home-intro { padding: 24px 20px 8px; text-align: center; }
.bsp-home-intro img { width: min(497px, 100%); }
.bsp-home-intro h1 {
  margin: 15px 0 5px;
  color: var(--bsp-navy);
  font-size: clamp(22px, 3vw, 31px);
  line-height: 1.15;
}
.bsp-home-intro p { margin: 5px 0; font-size: 16px; font-weight: 700; }
.bsp-home-intro .bsp-search-hint { color: var(--bsp-muted); font-size: 13px; font-style: italic; font-weight: 400; }

.bsp-home-panel > .bsp-finder { margin: 10px auto 22px; }
.bsp-finder {
  width: min(780px, calc(100% - 30px));
  padding: 15px;
  border: 2px solid var(--bsp-gold);
  border-radius: 0;
  background: #fff9d9;
}
.bsp-finder form { display: flex; gap: 8px; }
.bsp-finder input[type="search"] {
  min-width: 0;
  flex: 1;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #6f7770;
  border-radius: 0;
  background: #fff;
  color: #111;
  font: 15px Arial, sans-serif;
}
.bsp-finder button {
  min-height: 42px;
  padding: 8px 26px;
  border: 1px solid #004500;
  border-radius: 0;
  background: var(--bsp-green);
  color: #fff;
  font: 700 15px Arial, sans-serif;
  cursor: pointer;
}
.bsp-finder button:hover { background: #005f00; }

.bsp-view-all {
  display: grid;
  width: min(330px, calc(100% - 30px));
  margin: 0 auto 22px;
  padding: 11px 20px;
  background: var(--bsp-green);
  color: #fff;
  text-align: center;
  text-decoration: none;
}
.bsp-view-all strong { font-size: 17px; }
.bsp-view-all span { font-size: 13px; }
.bsp-view-all:hover { background: #006300; color: #fff; }

.bsp-applications { margin-top: 8px; border-top: 1px solid var(--bsp-gold); }
.bsp-applications__title {
  width: 310px;
  max-width: calc(100% - 30px);
  margin: -1px auto 0;
  padding: 10px 20px;
  background: var(--bsp-gold);
  color: var(--bsp-link);
  text-align: center;
}
.bsp-applications__title strong, .bsp-applications__title span { display: block; }
.bsp-application-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 0 55px 28px;
  border: 1px solid var(--bsp-gold);
  border-top: 0;
}
.bsp-application-grid a {
  min-height: 42px;
  padding: 11px 16px;
  border-right: 1px dotted #b8b8a0;
  border-bottom: 1px dotted #b8b8a0;
  font-size: 13px;
  font-weight: 700;
}
.bsp-application-grid a:nth-child(3n) { border-right: 0; }
.bsp-application-grid a:hover { background: #fff8ce; }

.bsp-search-links {
  padding: 12px 20px;
  border-block: 1px solid #b6bdba;
  background: #f6f7f4;
  text-align: center;
  font-size: 13px;
}
.bsp-search-links a + a::before { content: " | "; color: var(--bsp-link); margin: 0 8px; }

.bsp-confidence { display: grid; grid-template-columns: repeat(4, 1fr); margin: 22px 28px; border: 1px solid var(--bsp-blue); }
.bsp-confidence div { padding: 14px; border-right: 1px solid #fff; background: var(--bsp-blue); color: #fff; text-align: center; }
.bsp-confidence div:last-child { border-right: 0; }
.bsp-confidence strong, .bsp-confidence span { display: block; }
.bsp-confidence strong { color: var(--bsp-gold); font-size: 19px; }
.bsp-confidence span { margin-top: 3px; font-size: 12px; }

.bsp-site-footer { padding: 0 0 22px; background: #fff; }
.bsp-footer-tools { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #004e75; }
.bsp-footer-tools a {
  padding: 10px 12px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  background: var(--bsp-blue);
  color: var(--bsp-gold);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.bsp-footer-tools a:hover { background: #004f78; color: #fff; }
.bsp-footer-main { display: grid; grid-template-columns: 1fr 320px; gap: 45px; padding: 28px 20px 20px; }
.bsp-footer-main h2 { margin: 0 0 8px; color: var(--bsp-green); }
.bsp-footer-main p { margin: 7px 0; }
.bsp-disclaimer { color: var(--bsp-navy); font-size: 12px; font-weight: 700; }
.bsp-footer-phone { display: grid; justify-items: center; text-align: center; }
.bsp-footer-phone strong { font-size: 18px; text-transform: uppercase; text-decoration: underline; }
.bsp-footer-phone a { color: #000; font-size: 25px; font-weight: 800; }
.bsp-footer-phone span { margin: 4px 0 12px; font-size: 13px; }
.bsp-footer-phone img { width: 180px; }
.bsp-copyright { margin: 0; padding: 12px; border-top: 1px solid #ddd; color: #555; font-size: 12px; text-align: center; }

/* Inner WordPress and WooCommerce pages */
.wp-site-blocks > main:not(.bsp-home),
.woocommerce-page main,
body.search main {
  width: min(var(--bsp-shell), calc(100% - 24px));
  margin-inline: auto;
  background: #fff;
}
.wp-site-blocks > main:not(.bsp-home) { padding-inline: clamp(16px, 3vw, 34px) !important; }
.wp-block-query-title, .woocommerce-products-header__title, .entry-title, .product_title {
  color: var(--bsp-navy);
  font-family: Arial, Helvetica, sans-serif;
}
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 12px;
  border: 1px solid #cfd5d0;
  border-radius: 0;
  background: #fff;
}
.woocommerce ul.products li.product:hover { border-color: var(--bsp-green); box-shadow: 0 3px 12px rgba(0,0,0,.10); }
.woocommerce ul.products li.product img { aspect-ratio: 1 / 1; object-fit: contain; border-radius: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--bsp-link); font-size: 14px !important; line-height: 1.3; }
.woocommerce .price { color: var(--bsp-green-dark) !important; font-weight: 800; }
.woocommerce a.button, .woocommerce button.button, .wp-element-button {
  border-radius: 0 !important;
  background: var(--bsp-green) !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: #005f00 !important; }
.woocommerce div.product { padding-block: 30px; }
.woocommerce div.product .woocommerce-product-gallery { border: 1px solid #d6dad6; padding: 12px; }
.woocommerce div.product .woocommerce-product-gallery { opacity: 1 !important; }
.woocommerce div.product .summary { padding: 8px 0; }
.woocommerce-tabs, .bsp-product-specifications, .bsp-product-compatibility { font-size: 14px; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-color: #d7dbd8; }

/* Keep single-product details readable beside the fixed legacy catalog rail. */
.single-product main#wp--skip-link--target {
  width: min(var(--bsp-shell), calc(100% - 24px)) !important;
  max-width: var(--bsp-shell) !important;
  margin-inline: auto !important;
}
.single-product .wp-site-blocks main#wp--skip-link--target > div.bsp-inner-layout {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
.single-product .bsp-inner-content > .wp-block-columns {
  flex-wrap: nowrap;
  gap: 24px;
  align-items: flex-start;
}
.single-product .bsp-inner-content > .wp-block-columns > .wp-block-column:first-child {
  order: 2;
  flex: 0 1 35% !important;
  min-width: 0;
}
.single-product .bsp-inner-content > .wp-block-columns > .wp-block-column:last-child {
  order: 1;
  flex: 1 1 65% !important;
  min-width: 0;
}
.single-product .bsp-inner-content .wp-block-post-title {
  margin-top: 0;
  color: #000099;
  font: 700 18px/1.25 Arial, Helvetica, sans-serif;
  text-align: left;
  overflow-wrap: normal;
  word-break: normal;
}
.single-product .bsp-inner-content,
.single-product .bsp-inner-content .wp-block-post-excerpt,
.single-product .bsp-inner-content .wp-block-woocommerce-product-details {
  color: #000099;
  font-family: Arial, Helvetica, sans-serif;
  text-align: left;
}
.single-product .bsp-inner-content .wp-block-post-excerpt,
.single-product .bsp-inner-content .wp-block-woocommerce-product-details { font-size: 13px; }
.single-product .bsp-inner-content .wp-block-woocommerce-product-price,
.single-product .bsp-inner-content .wp-block-woocommerce-product-price .amount {
  color: #000099 !important;
  font: 700 18px/1.25 Arial, Helvetica, sans-serif;
}
.single-product .bsp-inner-content .woocommerce-product-gallery { margin-left: auto; }

.single-product .bsp-legacy-product-description {
  margin: 4px 0 10px;
  color: #000099;
  font: 700 11px/1.22 Arial, Helvetica, sans-serif;
  text-align: left;
}
.single-product .bsp-legacy-product-description p { margin: 6px 0; }
.single-product .bsp-legacy-product-description h4,
.single-product .bsp-legacy-product-description h5 { margin: 7px 0; font: inherit; }
.single-product .bsp-legacy-product-description a { text-decoration: underline; }

.single-product .bsp-inner-content > .wp-block-columns > .wp-block-column:last-child {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.single-product .bsp-inner-content > .wp-block-columns > .wp-block-column:last-child > .wp-block-post-title { order: 1; }
.single-product .bsp-inner-content > .wp-block-columns > .wp-block-column:last-child > .bsp-legacy-product-description { order: 2; }
.single-product .bsp-inner-content > .wp-block-columns > .wp-block-column:last-child > .wp-block-woocommerce-product-price { order: 3; }
.single-product .bsp-inner-content > .wp-block-columns > .wp-block-column:last-child > .bsp-product-assurance { order: 4; }
.single-product .bsp-inner-content > .wp-block-columns > .wp-block-column:last-child > .wp-block-post-excerpt { display: none; }
.single-product .bsp-inner-content > .wp-block-columns > .wp-block-column:last-child > .wp-block-add-to-cart-form { order: 5; }
.single-product .bsp-inner-content > .wp-block-columns > .wp-block-column:last-child > .wp-block-woocommerce-product-meta { order: 6; }


@media (max-width: 780px) {
  .single-product .bsp-inner-content > .wp-block-columns { flex-wrap: wrap; }
  .single-product .bsp-inner-content > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
}

.bsp-card { border: 1px solid #cfd5d0; border-radius: 0; background: #fff; box-shadow: none; }
.bsp-section-label { color: var(--bsp-green); font-weight: 700; }

@media (max-width: 900px) {
  .bsp-brand-row { grid-template-columns: 1fr auto; min-height: 0; }
  .bsp-brand-copy { display: none; }
  .bsp-main-nav .bsp-shell { flex-wrap: wrap; }
  .bsp-main-nav .bsp-cart-link { margin-left: 0; }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .bsp-topbar__inner { justify-content: center; text-align: center; }
  .bsp-topbar__inner span:first-child { display: none; }
  .bsp-brand-row { display: block; padding: 14px 6px; text-align: center; }
  .bsp-brand { margin-bottom: 10px; }
  .bsp-phone { justify-items: center; }
  .bsp-phone a { font-size: 20px; }
  .bsp-main-nav .bsp-shell { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .bsp-main-nav a, .bsp-main-nav a:first-child { border: 1px solid rgba(255,255,255,.22); }
  .bsp-finder form { flex-direction: column; }
  .bsp-application-grid { grid-template-columns: 1fr; margin-inline: 14px; }
  .bsp-application-grid a { border-right: 0; }
  .bsp-confidence { grid-template-columns: 1fr 1fr; margin-inline: 14px; }
  .bsp-confidence div:nth-child(2) { border-right: 0; }
  .bsp-confidence div { border-bottom: 1px solid #fff; }
  .bsp-footer-tools { grid-template-columns: 1fr 1fr; }
  .bsp-footer-main { grid-template-columns: 1fr; gap: 20px; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 430px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .bsp-confidence { grid-template-columns: 1fr; }
  .bsp-confidence div { border-right: 0; }
}


/* BestBattery-style catalog rail. */
.wp-site-blocks > .woocommerce.product:has(> main > .bsp-inner-layout) { margin-block-start:0 !important; padding-top:0 !important; }
.wp-site-blocks main:has(> .bsp-inner-layout) { margin-block-start:0 !important; padding-top:4px !important; padding-inline:0 !important; }
.wp-site-blocks > main > .bsp-inner-layout { max-width:none !important; margin-inline:0 !important; }
.bsp-inner-layout { display:grid; grid-template-columns:183px minmax(0,1fr); gap:18px; align-items:start; width:100%; }
.bsp-inner-content { min-width:0; padding-right:clamp(16px,3vw,34px); }
.bsp-inner-content > .alignwide { max-width:100%; }
.bsp-legacy-sidebar { box-sizing:border-box; width:183px; font:12px/1.25 Arial,Helvetica,sans-serif; border:1px solid #6aa9c8; background:#fff; }
.bsp-sidebar-heading { margin:0; padding:8px 6px; background:#008080; color:#fff; font-size:15px; line-height:1.2; text-align:center; }
.bsp-sidebar-nav { display:grid; }
.bsp-sidebar-nav a { display:block; padding:7px 8px; border-top:1px solid #fff; background:#99ccff; color:#000; font-weight:700; text-decoration:none; }
.bsp-sidebar-nav a:hover,.bsp-sidebar-nav a:focus { background:#ffcc00; color:#000; }
.bsp-sidebar-nav .bsp-sidebar-all { background:#008000; color:#fff; text-align:center; }
.bsp-sidebar-nav .bsp-sidebar-help { background:#800000; color:#fff; text-align:center; }
.bsp-sidebar-search { margin:0; padding:0; border:0; background:#fff; color:#111; }
.bsp-sidebar-search h2 { margin:0; padding:8px 5px; background:#008080; color:#fff; font-size:13px; line-height:1.2; text-align:center; }
.bsp-sidebar-utility,.bsp-sidebar-resources { display:grid; }
.bsp-sidebar-utility a { display:block; padding:7px 8px; border-top:1px solid #fff; background:#6699ff; color:#000; font-weight:700; text-decoration:none; }
.bsp-sidebar-resources a { display:block; padding:9px 7px; border-top:1px solid #fff; color:#000; font-size:13px; font-weight:700; line-height:1.25; text-align:center; text-decoration:none; }
.bsp-sidebar-utility a:hover,.bsp-sidebar-utility a:focus,.bsp-sidebar-resources a:hover,.bsp-sidebar-resources a:focus { background:#ffed9b; color:#000; }
.bsp-sidebar-resources { margin:0; border:0; background:#fff; }
.bsp-sidebar-resources a:first-child { border-top:0; }
.bsp-sidebar-resources a:nth-child(1) { background:#0099cc; }
.bsp-sidebar-resources a:nth-child(2) { background:#9999ff; }
.bsp-sidebar-resources a:nth-child(3) { background:#00cc66; }
.bsp-sidebar-resources a:nth-child(3)::before,
.bsp-sidebar-resources a:nth-child(3)::after { content:"**"; color:#f00; }
.bsp-sidebar-resources a:nth-child(4),
.bsp-sidebar-resources a:nth-child(5),
.bsp-sidebar-resources a:nth-child(6) { background:#003366; color:#fff; }
.bsp-sidebar-resources a:nth-child(4):hover,
.bsp-sidebar-resources a:nth-child(5):hover,
.bsp-sidebar-resources a:nth-child(6):hover,
.bsp-sidebar-resources a:nth-child(4):focus,
.bsp-sidebar-resources a:nth-child(5):focus,
.bsp-sidebar-resources a:nth-child(6):focus { background:#ffed9b; color:#000; }
.bsp-sidebar-resources span { display:block; padding:7px 8px; border-top:1px solid #b9cbe5; color:#4f5966; font-weight:700; }
@media (max-width:760px) {
  .bsp-inner-layout { display:block; }
  .bsp-inner-content { padding-inline:16px; }
  .bsp-legacy-sidebar { width:100%; margin-bottom:18px; }
  .bsp-sidebar-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bsp-sidebar-search { margin:12px; }
}
@media (max-width:430px) { .bsp-sidebar-nav { grid-template-columns:1fr; } }

/* Legacy content fragments inside the current BatterySpecPro page shell. */
.bsp-legacy-resource { max-width:920px; overflow-x:auto; padding:0 0 28px; font-family:Arial,Helvetica,sans-serif; color:#111; }
.bsp-legacy-resource table { max-width:100%; }
.bsp-legacy-resource img { max-width:100%; height:auto; }
.bsp-legacy-resource input { max-width:100%; box-sizing:border-box; }
.bsp-legacy-notice { margin:0 0 18px; padding:12px 14px; border:2px solid #b8860b; background:#fff8d8; font-weight:700; }
.bsp-legacy-actions a { display:inline-block; margin:0 8px 8px 0; padding:9px 14px; background:#008000; color:#fff; font-weight:700; text-decoration:none; }

/* Keep the long legacy comments table aligned to the resource content column. */
.page-id-48858 .bsp-inner-content > .wp-block-post-title,
.page-id-48858 .bsp-inner-content > .wp-block-post-content,
.page-id-48858 .bsp-legacy-resource {
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.page-id-48858 .bsp-legacy-resource > table {
  width: 100% !important;
  margin: 0 !important;
  table-layout: auto;
}
.page-id-48858 .bsp-legacy-resource td {
  box-sizing: border-box;
  width: auto !important;
  padding: 8px 10px;
  vertical-align: top;
}
.page-id-48858 .bsp-legacy-resource > table,
.page-id-48858 .bsp-legacy-resource > table > tbody,
.page-id-48858 .bsp-legacy-resource > table > tbody > tr,
.page-id-48858 .bsp-legacy-resource > table > tbody > tr > td {
  display: block;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 0;
}
.page-id-48858 .bsp-legacy-resource > table {
  border: 1px solid #6aa9c8;
}
.page-id-48858 .bsp-legacy-resource > table > tbody > tr > td {
  min-height: 0 !important;
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid #9fc6d8;
  text-align: left;
}
.page-id-48858 .bsp-legacy-resource > table > tbody > tr:last-child > td {
  border-bottom: 0;
}
.page-id-48858 .bsp-legacy-resource font {
  font-size: 13px !important;
  line-height: 1.45;
}

/* Secure SKU-based order entry; payment remains in WooCommerce checkout. */
.bsp-secure-order-form { max-width:820px; padding-bottom:32px; }
.bsp-order-intro,.bsp-order-security { padding:12px 14px; border-left:4px solid #008000; background:#eef6ff; }
.bsp-order-security { border-color:#ffcc00; background:#fff8d8; }
.bsp-order-honeypot { position:absolute !important; left:-10000px !important; width:1px; height:1px; overflow:hidden; }
.bsp-po-label { display:block; margin-top:20px; font-weight:700; }
.bsp-po-label span { font-weight:400; }
.bsp-po-input { box-sizing:border-box; width:min(100%,420px); margin:5px 0 18px; padding:9px; border:1px solid #777; }
.bsp-order-lines { width:100%; border-collapse:collapse; background:#fff; }
.bsp-order-lines th,.bsp-order-lines td { padding:8px; border:1px solid #9eb4c0; text-align:left; }
.bsp-order-lines thead th { background:#075d7d; color:#fff; }
.bsp-order-lines tbody th { width:48px; text-align:center; }
.bsp-order-lines input { box-sizing:border-box; width:100%; min-width:0; padding:8px; border:1px solid #777; }
.bsp-order-lines input[type="number"] { max-width:110px; }
.bsp-order-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.bsp-order-actions button { padding:10px 16px; border:1px solid #005f00; background:#008000; color:#fff; font-weight:700; cursor:pointer; }
.bsp-order-actions .bsp-print-order { border-color:#244c94; background:#3366cc; }
.bsp-order-help { margin-top:18px; }
@media print {
  .bsp-legacy-sidebar,.bsp-order-intro,.bsp-order-security,.bsp-order-actions,.bsp-order-help,header,footer { display:none !important; }
  .bsp-inner-layout { display:block !important; }
  .bsp-inner-content { padding:0 !important; }
  .bsp-order-lines { font-size:11pt; }
}

/* Local legacy category references: preserve the original blue/green/gold palette responsively. */
.bsp-legacy-category { width:100%; max-width:none; }
.bsp-legacy-category-content { width:100%; overflow-wrap:anywhere; font-size:13px; line-height:1.35; }
.bsp-legacy-category-content > table { width:100% !important; max-width:100%; border-collapse:collapse; }
.bsp-legacy-category-content table { max-width:100%; }
.bsp-legacy-category-content td,
.bsp-legacy-category-content th { height:auto !important; }
.bsp-legacy-category-content [bgcolor="#008080"],
.bsp-legacy-category-content [bgcolor="#008000"],
.bsp-legacy-category-content [bgcolor="#006600"] { color:#fff; }
.bsp-legacy-category-content a { color:#0000cc; font-weight:700; }
.bsp-legacy-category-content a:hover,
.bsp-legacy-category-content a:focus { color:#b00000; background:#ffed9b; }
.bsp-legacy-category-content img { max-width:100%; height:auto !important; object-fit:contain; }
.bsp-legacy-category-content center { max-width:100%; }
@media (max-width:760px) {
  .bsp-legacy-category-content { overflow-x:auto; }
  .bsp-legacy-category-content table { font-size:12px; }
  .bsp-legacy-category-content td,
  .bsp-legacy-category-content th { min-width:84px; padding:4px !important; }
}


/* Dedicated Quick Search forms. */
.bsp-quick-search-page { max-width:760px; padding:18px 0 34px; font-family:Arial,Helvetica,sans-serif; }
.bsp-quick-search-page > p:first-child { margin-top:0; color:#000080; font-weight:700; }
.bsp-quick-search-page form { display:grid; gap:14px; padding:18px; border:1px solid #3366cc; background:#eef6ff; }
.bsp-quick-search-page label { display:grid; gap:5px; color:#003366; font-weight:700; }
.bsp-quick-search-page input,.bsp-quick-search-page select { width:100%; min-height:42px; padding:8px 10px; border:1px solid #527aa3; background:#fff; color:#111; font:14px Arial,Helvetica,sans-serif; }
.bsp-quick-search-page button { justify-self:start; min-height:42px; padding:9px 18px; border:1px solid #004500; background:#008000; color:#fff; font-weight:700; cursor:pointer; }
.bsp-quick-search-page button:hover { background:#005f00; }
.bsp-dimension-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.bsp-manufacturer-letters { display:grid; grid-template-columns:repeat(13,minmax(32px,1fr)); margin:14px 0 20px; border:1px solid #3366cc; }
.bsp-manufacturer-letters a { padding:8px 3px; border-right:1px solid #99b4d1; border-bottom:1px solid #99b4d1; background:#ccffff; color:#0000cc; font-weight:700; text-align:center; text-decoration:none; }
.bsp-manufacturer-letters a:hover { background:#ffcc00; color:#000; }
.bsp-search-caution { padding:10px 12px; border-left:4px solid #ffcc00; background:#fff8d8; font-size:13px; }
@media (max-width:620px) {
  .bsp-dimension-grid { grid-template-columns:1fr; }
  .bsp-manufacturer-letters { grid-template-columns:repeat(7,minmax(32px,1fr)); }
}


/* indexn-inspired homepage; subpage navigation and sidebars are intentionally unaffected. */
body.home { background:#fff; }
body.home .bsp-topbar,body.home .bsp-main-nav { display:none; }
body.home .bsp-brand-row { position:relative; display:grid; grid-template-columns:1fr; justify-items:center; gap:4px; width:min(977px,calc(100% - 24px)); min-height:150px; padding:8px 205px 12px; }
body.home .bsp-brand { grid-row:1; }
body.home .bsp-brand img { width:min(562px,100%); max-height:98px; }
body.home .bsp-brand-copy { grid-row:2; }
body.home .bsp-brand-copy strong { font-size:18px; }
body.home .bsp-brand-copy em { font-size:16px; }
body.home .bsp-phone { display:none; }
body.home .bsp-veteran { position:absolute; top:22px; display:grid; justify-items:center; gap:4px; width:190px; color:#000; font-size:12px; text-align:center; }
body.home .bsp-veteran img { width:70px; height:53px; object-fit:contain; }
body.home .bsp-veteran-left { left:0; }
body.home .bsp-veteran-right { right:0; }
body.home .bsp-veteran .bsp-secure-store { margin-top:5px; line-height:0; }
body.home .bsp-veteran .bsp-secure-store img { width:158px; height:20px; }
body.home .bsp-header-store-tools { display:flex; align-items:start; justify-content:center; gap:7px; margin-top:5px; }
body.home .bsp-header-store-tools a { display:grid; justify-items:center; gap:2px; color:#0000cc; font-size:10px; font-weight:700; text-decoration:none; }
body.home .bsp-header-store-tools a:first-child img { width:35px; height:35px; }
body.home .bsp-header-store-tools a:last-child img { width:57px; height:34px; }
.bsp-index-home { padding:0 0 18px; background:#fff; }
.bsp-index-shell { width:min(835px,calc(100% - 24px)); margin:0 auto; background:#fff; }
.bsp-index-home .bsp-home-intro { padding:0; }
.bsp-index-home .bsp-home-intro img { width:497px; }
.bsp-index-home .bsp-home-intro p { margin:7px 0; font-size:13px; font-weight:400; }
.bsp-index-home > .bsp-index-shell > .bsp-finder { width:min(540px,calc(100% - 24px)); margin:8px auto 22px; padding:0; border:0; background:#fff; }
.bsp-index-home .bsp-finder input[type="search"] { min-height:30px; padding:4px 7px; font-size:13px; }
.bsp-index-home .bsp-finder button { min-height:30px; padding:4px 17px; font-size:13px; }
.bsp-index-home .bsp-view-all { width:276px; margin:0 auto 17px; padding:8px 14px; }
.bsp-index-home .bsp-view-all strong { font-size:16px; }
.bsp-index-home .bsp-applications { margin-top:0; border-top:0; }
.bsp-index-home .bsp-applications__title { width:276px; padding:8px 14px; }
.bsp-index-home .bsp-application-grid { grid-template-columns:repeat(3,1fr); gap:0; margin:0 0 14px; padding:8px 10px; border:1px solid #ffcc00; }
.bsp-index-home .bsp-application-grid a { min-height:0; padding:3px 9px; border:0; font-size:13px; font-weight:700; }
.bsp-index-home .bsp-application-grid a:hover { background:#fff8ce; }
.bsp-index-home .bsp-search-links { padding:7px 10px 12px; border:0; background:#fff; font-weight:700; }
.bsp-index-tools { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #fff; }
.bsp-index-tools a { padding:7px 8px; border:1px solid #fff; background:#006699; color:#ffff00; font-size:12px; font-weight:700; text-align:center; text-decoration:none; }
.bsp-index-tools a:hover { background:#004f78; color:#fff; }
.bsp-index-tools .bsp-index-tools-wide { grid-column:1/-1; }
.bsp-index-disclaimer { margin:8px 0 0; padding:6px 10px; color:#000080; font-size:10px; font-weight:700; text-align:center; }
.bsp-index-disclaimer img { width:16px; margin-right:4px; vertical-align:middle; }
.bsp-index-footer { width:min(872px,calc(100% - 24px)); margin:0 auto; padding:10px 0 30px; border-top:1px solid #aaa; background:#fff; text-align:center; }
.bsp-index-footer p { margin:14px 0; }
.bsp-index-footer p:first-of-type { font-size:22px; text-decoration:underline; }
.bsp-index-footer img { width:180px; }
@media (max-width:680px) {
  body.home .bsp-brand-row { padding-inline:0; }
  body.home .bsp-veteran { display:none; }
  .bsp-index-home .bsp-application-grid { grid-template-columns:1fr; }
  .bsp-index-tools { grid-template-columns:1fr 1fr; }
  .bsp-index-tools .bsp-index-tools-wide { grid-column:1/-1; }
}


/* Legacy veteran/security/store header is present on every desktop subpage. */
body:not(.home) .bsp-brand-row { display:grid; grid-template-columns:190px minmax(300px,1fr) 190px; grid-template-areas:"veteran-left brand veteran-right" "veteran-left brand-copy veteran-right"; gap:4px 16px; width:min(977px,calc(100% - 24px)); min-height:150px; padding:8px 0 12px; }
body:not(.home) .bsp-brand { grid-area:brand; justify-self:center; }
body:not(.home) .bsp-brand img { width:min(562px,100%); max-height:98px; }
body:not(.home) .bsp-brand-copy { grid-area:brand-copy; }
body:not(.home) .bsp-phone { display:none; }
body:not(.home) .bsp-veteran { display:grid; align-self:start; justify-items:center; gap:4px; width:190px; padding-top:14px; color:#000; font-size:12px; text-align:center; }
body:not(.home) .bsp-veteran-left { grid-area:veteran-left; }
body:not(.home) .bsp-veteran-right { grid-area:veteran-right; }
body:not(.home) .bsp-veteran > img { width:70px; height:53px; object-fit:contain; }
body:not(.home) .bsp-veteran .bsp-secure-store { margin-top:5px; line-height:0; }
body:not(.home) .bsp-veteran .bsp-secure-store img { width:158px; height:20px; }
body:not(.home) .bsp-header-store-tools { display:flex; align-items:start; justify-content:center; gap:7px; margin-top:5px; }
body:not(.home) .bsp-header-store-tools a { display:grid; justify-items:center; gap:2px; color:#0000cc; font-size:10px; font-weight:700; text-decoration:none; }
body:not(.home) .bsp-header-store-tools a:first-child img { width:35px; height:35px; }
body:not(.home) .bsp-header-store-tools a:last-child img { width:57px; height:34px; }
@media (max-width:900px) {
  body:not(.home) .bsp-brand-row { grid-template-columns:1fr; grid-template-areas:"brand" "brand-copy"; padding-inline:0; }
  body:not(.home) .bsp-veteran { display:none; }
}
