/*
Theme Name: BestZonePet Blocksy Child
Theme URI: https://bestzonepet.com/
Description: B2B presentation and WooCommerce inquiry-mode customizations for BestZone Pet.
Author: BestZone Pet
Template: blocksy
Version: 1.3.0
Text Domain: bestzonepet-blocksy-child
*/

:root {
  --bzp-ink: #17383e;
  --bzp-ink-deep: #102f35;
  --bzp-accent: #c5522f;
  --bzp-accent-hover: #9f3f24;
  --bzp-surface: #f5f7f6;
  --bzp-sky: #e9f2f1;
  --bzp-sand: #f3eee6;
  --bzp-mist-strong: #dfeae8;
  --bzp-white: #ffffff;
}

/* ACF-driven B2B product detail template. */
.single-product .product.entry-summary {
  padding-top: 10px;
}

.single-product .product_title {
  color: var(--bzp-ink-deep);
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.08;
}

.bzp-product-model {
  margin: 0 0 12px;
  color: #607579;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.bzp-product-tagline {
  margin: 18px 0;
  color: #38545a;
  font-size: 18px;
  line-height: 1.65;
}

.bzp-product-highlights,
.bzp-tab-list {
  margin: 18px 0 26px;
  padding: 0;
  list-style: none;
}

.bzp-product-highlights li,
.bzp-tab-list li {
  position: relative;
  margin: 0 0 10px;
  padding-left: 26px;
  line-height: 1.55;
}

.bzp-product-highlights li::before,
.bzp-tab-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--bzp-accent);
  content: "✓";
  font-weight: 700;
}

.bzp-product-gallery {
  width: 48%;
  float: left;
  margin: 0 5% 42px 0;
}

.bzp-product-gallery-main {
  overflow: hidden;
  display: grid;
  min-height: 560px;
  place-items: center;
  border: 1px solid rgba(23, 56, 62, 0.1);
  border-radius: 18px;
  background: #ffffff;
}

.bzp-product-gallery-main img {
  width: 100%;
  height: 100%;
  max-height: 650px;
  object-fit: contain;
}

.bzp-product-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.bzp-gallery-thumb {
  overflow: hidden;
  padding: 4px;
  border: 1px solid rgba(23, 56, 62, 0.14);
  border-radius: 10px;
  background: #ffffff;
  cursor: pointer;
}

.bzp-gallery-thumb.is-active,
.bzp-gallery-thumb:hover {
  border-color: var(--bzp-accent);
}

.bzp-gallery-thumb img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}

.single-product .woocommerce-tabs {
  clear: both;
  padding-top: 34px;
}

.bzp-product-overview {
  clear: both;
  margin-top: 48px;
  padding: 76px 24px;
  background: var(--bzp-surface);
}

.bzp-product-overview-content {
  width: min(980px, 100%);
  margin: 0 auto;
}

.bzp-product-overview-content h2 {
  color: var(--bzp-ink-deep);
  font-size: clamp(30px, 3.5vw, 44px);
}

.bzp-product-overview-content h3 {
  margin-top: 32px;
  color: var(--bzp-ink);
  font-size: 24px;
}

.bzp-product-overview-content p {
  color: #476267;
  font-size: 17px;
  line-height: 1.8;
}

.single-product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 0;
  padding: 0;
  border-bottom: 1px solid rgba(23, 56, 62, 0.14);
}

.single-product .woocommerce-tabs ul.tabs li {
  margin: 0;
  border: 0;
  background: transparent;
}

.single-product .woocommerce-tabs ul.tabs li a {
  padding: 14px 20px;
  color: #476267;
  font-weight: 600;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--bzp-ink);
  box-shadow: inset 0 -3px 0 var(--bzp-accent);
}

.bzp-tab-panel {
  padding: 34px 0 20px;
}

.bzp-tab-panel h2 {
  color: var(--bzp-ink-deep);
  font-size: clamp(28px, 3vw, 38px);
}

.bzp-spec-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(23, 56, 62, 0.11);
  border-radius: 14px;
}

.bzp-spec-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}

.bzp-spec-table th,
.bzp-spec-table td {
  padding: 14px 18px;
  border-bottom: 1px solid rgba(23, 56, 62, 0.09);
  text-align: left;
  vertical-align: top;
}

.bzp-spec-table th {
  width: 34%;
  color: var(--bzp-ink);
  background: var(--bzp-surface);
  font-weight: 650;
}

.bzp-product-faq details {
  padding: 18px 0;
  border-bottom: 1px solid rgba(23, 56, 62, 0.12);
}

.bzp-product-faq summary {
  color: var(--bzp-ink);
  cursor: pointer;
  font-weight: 650;
}

.bzp-product-faq p {
  max-width: 850px;
  margin: 14px 0 0;
}

.bzp-product-contact {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 46px;
  align-items: start;
}

.single-product .related.products {
  clear: both;
  padding: 64px 0;
}

body.single-product .ct-footer {
  display: none !important;
}

.bzp-product-footer {
  clear: both;
  padding: 68px 24px 48px;
  color: #dce8e6;
  background: var(--bzp-ink-deep);
}

.bzp-product-footer-grid {
  display: grid;
  width: min(1240px, 100%);
  margin: 0 auto;
  grid-template-columns: 1.45fr 1fr 0.8fr 1.15fr;
  gap: 48px;
}

.bzp-product-footer h2 {
  margin: 0 0 18px;
  color: #ffffff;
  font-size: 19px;
  line-height: 1.3;
}

.bzp-product-footer p {
  color: #c5d7d4;
  line-height: 1.7;
}

.bzp-product-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.bzp-product-footer li {
  margin: 0 0 11px;
  line-height: 1.5;
}

.bzp-product-footer a {
  color: #ffffff;
  text-decoration: none;
}

.bzp-product-footer a:hover {
  color: #f1b39f;
}

.bzp-footer-cta {
  display: inline-flex;
  min-height: 48px;
  margin-top: 12px;
  padding: 12px 20px;
  align-items: center;
  border-radius: 5px;
  background: var(--bzp-accent);
  font-weight: 700;
}

@media (max-width: 999px) {
  .bzp-product-gallery {
    width: 100%;
    float: none;
    margin: 0 0 32px;
  }

  .bzp-product-gallery-main {
    min-height: 420px;
  }

  .bzp-product-contact,
  .bzp-product-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .bzp-product-gallery-main {
    min-height: 340px;
  }

  .single-product .woocommerce-tabs ul.tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bzp-product-contact,
  .bzp-product-footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .bzp-spec-table th,
  .bzp-spec-table td {
    min-width: 150px;
    padding: 12px 14px;
  }
}

/*
 * Products mega menu.
 *
 * Keep the WordPress menu hierarchy fully editable while presenting the first
 * product-category level as column headings and every child category at once.
 * Mobile keeps Blocksy's native accordion behaviour.
 */
@media (min-width: 1000px) {
  #header [data-device="desktop"] [data-row] > .ct-container {
    position: relative;
  }

  #header [data-device="desktop"] #header-menu-1,
  #header [data-device="desktop"] #header-menu-1 > .menu,
  #header [data-device="desktop"] #menu-item-591 {
    position: static;
  }

  #header [data-device="desktop"] #menu-item-591 > .sub-menu {
    right: auto !important;
    left: 50% !important;
    width: min(1180px, calc(100vw - 40px));
    min-width: min(1180px, calc(100vw - 40px));
    max-height: none;
    padding: 30px 38px 34px;
    display: grid;
    grid-template-columns: 1.15fr 1.75fr 1fr 1.2fr;
    align-items: start;
    gap: 40px;
    overflow: visible;
    transform: translateX(-50%) !important;
    border: 1px solid rgba(23, 56, 62, 0.12);
    border-radius: 0 0 12px 12px;
    background: #ffffff;
    box-shadow: 0 22px 48px rgba(16, 47, 53, 0.16);
  }

  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li {
    min-width: 0;
    margin: 0;
    padding: 0;
  }

  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li > .ct-menu-link {
    display: block;
    min-height: 0;
    padding: 0 0 10px !important;
    border-bottom: 0;
    color: var(--bzp-ink) !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
    white-space: normal;
  }

  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li > .ct-menu-link:hover,
  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li > .ct-menu-link:focus-visible {
    color: var(--bzp-accent) !important;
  }

  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li > .sub-menu {
    position: static;
    inset: auto;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 5px 0 0;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li > .sub-menu > li {
    margin: 0;
    padding: 0;
  }

  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li > .sub-menu > li > .ct-menu-link {
    min-height: 0;
    padding: 6px 0 !important;
    color: #476267 !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    white-space: normal;
  }

  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li > .sub-menu > li > .ct-menu-link:hover,
  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li > .sub-menu > li > .ct-menu-link:focus-visible {
    color: var(--bzp-accent) !important;
  }

  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li > .ct-menu-link .ct-toggle-dropdown-desktop,
  #header [data-device="desktop"] #menu-item-591 > .sub-menu > li > .ct-toggle-dropdown-desktop-ghost {
    display: none !important;
  }
}

/* Use the managed Blocksy navigation on the published homepage as well. */
.page-id-2 #header,
.postid-2 #header {
  display: block !important;
}

.page-id-2 .bzp-b2b-header,
.postid-2 .bzp-b2b-header {
  display: none !important;
}

/* Top-level homepage sections already carry their own vertical padding. */
body.home .entry-content > *,
body.page-id-2 .entry-content > *,
body.page-id-603 .entry-content > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* The B2B homepage and its working drafts carry editable header/footer patterns. */
.page-id-2 .ct-footer,
.postid-2 .ct-footer,
.page-id-603 #header,
.page-id-603 .ct-footer,
.postid-603 #header,
.postid-603 .ct-footer,
.page-id-602 #header,
.page-id-602 .ct-footer,
.postid-602 #header,
.postid-602 .ct-footer,
.page-id-582 #header,
.page-id-582 .ct-footer,
.postid-582 #header,
.postid-582 .ct-footer {
  display: none !important;
}

/* These pages provide their own editable Gutenberg hero and H1. */
.page-id-2 .hero-section,
.page-id-603 .hero-section,
.page-id-582 .hero-section {
  display: none !important;
}

/* Blocksy heading colors can override a parent Group's text color. */
.bzp-home-hero :where(h1, h2, h3, h4, p, li),
.bzp-inner-hero :where(h1, h2, h3, h4, p, li),
.page-id-603 .wp-block-group[style*="background-color:#17383e"] :where(h1, h2, h3, h4, p, li),
.postid-603 .wp-block-group[style*="background-color:#17383e"] :where(h1, h2, h3, h4, p, li),
.page-id-602 .wp-block-group[style*="background-color:#17383e"] :where(h1, h2, h3, h4, p, li),
.postid-602 .wp-block-group[style*="background-color:#17383e"] :where(h1, h2, h3, h4, p, li) {
  color: var(--bzp-white) !important;
}

.bzp-home-hero-cover {
  min-height: 720px;
}

/* Four editable Gutenberg Covers presented as one homepage banner slider. */
.bzp-hero-slider {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  margin: 0;
  background: var(--bzp-ink-deep);
}

.bzp-hero-slider > .wp-block-cover {
  display: none;
  width: 100%;
  max-width: 100%;
  min-height: 520px;
  margin: 0;
}

.bzp-banner-slide .wp-block-cover__image-background {
  inset: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

.bzp-hero-slider > .wp-block-cover:first-of-type,
.bzp-hero-slider > .wp-block-cover.is-active {
  display: flex;
}

.bzp-hero-slider.is-ready > .wp-block-cover:first-of-type:not(.is-active) {
  display: none;
}

.bzp-banner-slide::before {
  display: none;
}

.bzp-banner-slide .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100%;
}

.bzp-banner-inner {
  width: min(1280px, calc(100% - 48px));
  margin-right: auto;
  margin-left: auto;
}

.bzp-hero-slider .bzp-banner-inner > .bzp-banner-copy {
  width: min(650px, 100%);
  max-width: 650px;
  margin-right: auto !important;
  margin-left: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  text-align: left !important;
}

.bzp-banner-copy .wp-block-buttons {
  justify-content: flex-start !important;
}

@media (min-width: 768px) {
  /* Reduce the oversized empty left field on slides 2 and 4 while preserving room for copy. */
  .bzp-banner-slide-cat-smart .wp-block-cover__image-background,
  .bzp-banner-slide-custom .wp-block-cover__image-background {
    inset: 0 0 0 auto;
    width: 112%;
    max-width: none;
  }
}

.bzp-banner-copy :where(h1, h2, p) {
  color: var(--bzp-white) !important;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.95), 0 8px 28px rgba(0, 0, 0, 0.72);
}

.bzp-banner-copy h1,
.bzp-banner-copy h2 {
  margin-top: 0;
  font-size: clamp(40px, 3.6vw, 58px);
  line-height: 1.06;
}

/* Editorial imagery for the lower B2B sections. */
.bzp-section-image {
  overflow: hidden;
  max-width: 1180px !important;
  margin: 32px auto 38px !important;
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(16, 47, 53, 0.14);
}

.bzp-section-image img {
  display: block;
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center;
}

.bzp-banner-copy > p:first-child {
  color: #e8bd69 !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.bzp-banner-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: 520px;
  margin-left: auto;
}

.bzp-banner-products figure {
  overflow: hidden;
  margin: 0;
  border: 7px solid rgba(255, 255, 255, 0.92);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(5, 24, 28, 0.25);
}

.bzp-banner-products figure:first-child:nth-last-child(3) {
  grid-row: span 2;
}

.bzp-banner-products img {
  width: 100%;
  height: 100%;
  min-height: 190px;
  object-fit: cover;
}

/* Keep every banner to one full-bleed image; no product-card collage overlay. */
.bzp-banner-slide-custom .wp-block-columns {
  display: block;
}

.bzp-banner-slide-custom .wp-block-column:first-child {
  width: min(650px, 100%);
  max-width: 650px;
}

.bzp-banner-slide-custom .bzp-banner-products {
  display: none;
}

.bzp-slider-controls {
  position: absolute;
  z-index: 4;
  right: 32px;
  bottom: 28px;
  left: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.bzp-slider-arrow,
.bzp-slider-dot {
  pointer-events: auto;
  cursor: pointer;
}

.bzp-slider-arrow {
  display: inline-grid;
  width: 46px;
  height: 46px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.68) !important;
  border-radius: 50%;
  background: rgba(9, 39, 44, 0.74) !important;
  color: #fff !important;
  font-size: 25px;
  line-height: 1;
}

.bzp-slider-dots {
  display: flex;
  gap: 9px;
  margin: 0 auto;
}

.bzp-slider-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid #fff !important;
  border-radius: 50%;
  background: transparent !important;
}

.bzp-slider-dot.is-active {
  border-color: #e3ad4f !important;
  background: #e3ad4f !important;
}

.bzp-home-hero-cover::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(13, 52, 57, 0.34), rgba(13, 52, 57, 0) 58%);
  content: "";
  pointer-events: none;
}

.bzp-home-hero-cover .wp-block-cover__inner-container {
  z-index: 2;
}

.bzp-home-hero-content {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}

.bzp-hero-proof-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 2px;
  margin-bottom: 2px;
}

.bzp-hero-proof-chips p {
  width: auto;
  margin: 0;
  padding: 9px 13px;
  border: 1px solid rgba(214, 166, 76, 0.72);
  border-radius: 999px;
  background: rgba(8, 40, 45, 0.78);
  box-shadow: 0 6px 18px rgba(5, 24, 28, 0.14);
  color: var(--bzp-white) !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  backdrop-filter: blur(8px);
}

.bzp-b2b-header .wp-block-columns,
.bzp-b2b-footer .wp-block-columns {
  margin-bottom: 0;
}

.bzp-b2b-header {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.bzp-b2b-header .wp-block-columns {
  gap: 18px;
}

.bzp-b2b-header .wp-block-image,
.bzp-b2b-header p {
  margin-top: 0;
  margin-bottom: 0;
}

.bzp-b2b-header p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 16px;
  row-gap: 6px;
  font-size: 14px;
  line-height: 1.45;
}

@media (min-width: 1100px) {
  .bzp-b2b-header p {
    flex-wrap: nowrap;
    column-gap: 20px;
  }
}

.bzp-b2b-header a:not(.wp-block-button__link) {
  color: var(--bzp-ink) !important;
}

.bzp-b2b-footer a:not(.wp-block-button__link) {
  color: var(--bzp-ink) !important;
}

.bzp-b2b-footer .wp-block-separator {
  border-color: rgba(23, 56, 62, 0.24);
}

.page-id-2 .wp-block-heading a,
.page-id-603 .wp-block-heading a {
  color: inherit;
}

/* Keep longer cross-species category labels easy to scan. */
.bzp-product-categories .wp-block-list {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  padding-left: 1.25em;
  line-height: 1.45;
}

.bzp-product-categories .wp-block-list li {
  margin: 0;
}

.bzp-product-categories .wp-block-image {
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(16, 47, 53, 0.1);
}

.bzp-documentation-support > p,
.bzp-documentation-support > h2 {
  max-width: 820px;
  margin-right: auto;
  margin-left: auto;
}

.bzp-documentation-support__image {
  overflow: hidden;
  max-width: 1180px !important;
  margin: 30px auto 28px !important;
  border-radius: 20px;
  background: var(--bzp-white);
  box-shadow: 0 18px 44px rgba(16, 47, 53, 0.12);
}

.bzp-documentation-support__image img {
  display: block;
  width: 100%;
  height: auto;
}

.bzp-why-image {
  overflow: hidden;
  max-width: 1180px !important;
  margin: 30px auto 34px !important;
  border-radius: 20px;
  background: var(--bzp-white);
  box-shadow: 0 18px 44px rgba(16, 47, 53, 0.12);
}

.bzp-why-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* Compact RFQ form: paired fields on desktop, full-width long answers. */
#wpforms-form-9 .wpforms-field-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 4px;
}

#wpforms-form-9 .wpforms-field {
  width: 100% !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}

#wpforms-form-9 input:not([type="checkbox"]):not([type="radio"]),
#wpforms-form-9 textarea,
#wpforms-form-9 select {
  width: 100% !important;
  max-width: none !important;
}

#wpforms-9-field_3-container,
#wpforms-9-field_12-container {
  grid-column: 1 / -1;
}

#wpforms-9-field_12 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 20px;
}

#wpforms-form-9 .wpforms-submit-container {
  text-align: right;
}

/* WPForms' compound Name field is replaced by a single editable Full Name field. */
#wpforms-9-field_1-container {
  display: none !important;
}

/* WPForms anti-spam decoy fields can receive random labels; keep them fully off-canvas. */
#wpforms-form-9 #wpforms-9-field_4-container,
#wpforms-form-9 #wpforms-9-field_5-container {
  position: absolute !important;
  display: none !important;
  visibility: hidden !important;
  overflow: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#wpforms-9-field_13-container { order: -10; }
#wpforms-9-field_6-container { order: -9; }
#wpforms-9-field_9-container { order: -8; }
#wpforms-9-field_2-container { order: -7; }
#wpforms-9-field_8-container { order: -6; }

/* Accessible B2B calls to action. */
.wp-block-button__link,
button[type="submit"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.header-rfq-button > a {
  border: 2px solid var(--bzp-accent) !important;
  background: var(--bzp-accent) !important;
  color: var(--bzp-white) !important;
  font-weight: 700;
  text-decoration: none;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
button[type="submit"]:hover,
button[type="submit"]:focus-visible,
input[type="submit"]:hover,
input[type="submit"]:focus-visible,
.woocommerce a.button:hover,
.woocommerce a.button:focus-visible,
.woocommerce button.button:hover,
.woocommerce button.button:focus-visible,
.header-rfq-button > a:hover,
.header-rfq-button > a:focus-visible {
  border-color: var(--bzp-accent-hover) !important;
  background: var(--bzp-accent-hover) !important;
  color: var(--bzp-white) !important;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
  border-color: currentColor !important;
  background: transparent !important;
  color: inherit !important;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
  border-color: var(--bzp-accent) !important;
  background: var(--bzp-accent) !important;
  color: var(--bzp-white) !important;
}

.wp-block-button.bzp-secondary-button > .wp-block-button__link,
.wp-block-button.bzp-secondary-button > .wp-block-button__link:hover,
.wp-block-button.bzp-secondary-button > .wp-block-button__link:focus-visible {
  border-color: var(--bzp-white) !important;
  background: var(--bzp-white) !important;
  color: var(--bzp-ink) !important;
}

/* Product archives stay useful as catalogs, without retail purchase UI. */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce .quantity,
.woocommerce .single_add_to_cart_button,
.woocommerce a.added_to_cart,
.woocommerce .product_type_simple,
.woocommerce .product_type_variable,
.woocommerce .product_type_external,
.woocommerce .product_type_grouped,
.ct-cart-item,
[data-id="cart"],
[data-id="account"] {
  display: none !important;
}

.bzp-inquiry-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  padding: 12px 22px;
  border: 2px solid var(--bzp-accent);
  border-radius: 4px;
  background: var(--bzp-accent);
  color: var(--bzp-white) !important;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
}

.bzp-inquiry-button:hover,
.bzp-inquiry-button:focus-visible {
  border-color: var(--bzp-accent-hover);
  background: var(--bzp-accent-hover);
  color: var(--bzp-white) !important;
}

@media (max-width: 767px) {
  .bzp-hero-slider > .wp-block-cover {
    min-height: 680px;
  }

  .bzp-banner-slide .wp-block-cover__image-background {
    object-position: 64% center !important;
  }

  .bzp-banner-slide-cat-smart .wp-block-cover__image-background,
  .bzp-banner-slide-custom .wp-block-cover__image-background {
    object-position: 68% center !important;
  }

  .bzp-banner-inner {
    width: calc(100% - 32px);
  }

  .bzp-banner-slide .wp-block-columns {
    gap: 22px;
  }

  .bzp-banner-copy h1,
  .bzp-banner-copy h2 {
    font-size: 38px;
  }

  .bzp-banner-copy {
    padding: 0;
  }

  .bzp-section-image {
    margin-top: 24px !important;
    margin-bottom: 28px !important;
    border-radius: 16px;
  }

  .bzp-section-image img {
    height: 240px;
  }

  .bzp-banner-products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-width: none;
  }

  .bzp-banner-products figure:first-child:nth-last-child(3) {
    grid-row: auto;
  }

  .bzp-banner-products figure {
    border-width: 4px;
    border-radius: 14px;
  }

  .bzp-banner-products img {
    min-height: 100px;
  }

  .bzp-slider-controls {
    right: 16px;
    bottom: 16px;
    left: 16px;
  }

  .bzp-slider-arrow {
    width: 42px;
    height: 42px;
  }

  .bzp-home-hero {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .bzp-home-hero-cover {
    min-height: 680px !important;
  }

  .bzp-home-hero-cover::before {
    background: rgba(13, 52, 57, 0.76);
  }

  .bzp-home-hero-cover .wp-block-cover__image-background {
    object-position: 72% center !important;
  }

  .bzp-hero-proof-chips {
    gap: 8px;
  }

  .bzp-hero-proof-chips p {
    padding: 8px 11px;
    font-size: 12px;
  }

  .bzp-inner-hero {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .bzp-inner-hero h1 {
    font-size: 38px !important;
    line-height: 1.12 !important;
  }

  .bzp-home-hero h1 {
    font-size: 38px !important;
    line-height: 1.12 !important;
  }

  .bzp-b2b-header {
    padding: 8px 14px !important;
  }

  .bzp-b2b-header .wp-block-columns {
    gap: 6px;
  }

  .bzp-b2b-header img {
    width: 140px !important;
  }

  .bzp-b2b-header .wp-block-image,
  .bzp-b2b-header p,
  .bzp-b2b-header .wp-block-buttons {
    justify-content: center !important;
    text-align: center;
  }

  .bzp-b2b-header p {
    column-gap: 12px;
    row-gap: 4px;
    font-size: 13px;
    line-height: 1.6;
  }

  .bzp-b2b-footer,
  .bzp-oem-support {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .wp-block-button__link,
  button[type="submit"],
  input[type="submit"],
  .woocommerce a.button,
  .woocommerce button.button,
  .bzp-inquiry-button {
    min-height: 48px;
  }

  #wpforms-form-9 .wpforms-field-container,
  #wpforms-9-field_12 {
    grid-template-columns: 1fr;
  }

  #wpforms-9-field_3-container,
  #wpforms-9-field_12-container {
    grid-column: auto;
  }

  #wpforms-form-9 .wpforms-submit-container {
    text-align: left;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .bzp-hero-slider > .wp-block-cover {
    min-height: 560px;
  }
}

/* Keep every alternating homepage content band compact and consistent. */
body.home .entry-content > .wp-block-group:nth-child(n + 3):nth-child(-n + 11),
body.page-id-2 .entry-content > .wp-block-group:nth-child(n + 3):nth-child(-n + 11),
body.page-id-603 .entry-content > .wp-block-group:nth-child(n + 3):nth-child(-n + 11) {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

body.home .entry-content > .wp-block-group:has(#wpforms-form-9) > .wp-block-group,
body.page-id-2 .entry-content > .wp-block-group:has(#wpforms-form-9) > .wp-block-group,
body.page-id-603 .entry-content > .wp-block-group:has(#wpforms-form-9) > .wp-block-group {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

.bzp-oem-support > h2,
.bzp-documentation-support > h2 {
  margin-top: 12px !important;
}

.bzp-oem-support > .bzp-section-image,
.bzp-documentation-support > .bzp-documentation-support__image {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.bzp-oem-support > .wp-block-spacer {
  display: none;
}

@media (max-width: 767px) {
  body.home .entry-content > .wp-block-group:nth-child(n + 3):nth-child(-n + 11),
  body.page-id-2 .entry-content > .wp-block-group:nth-child(n + 3):nth-child(-n + 11),
  body.page-id-603 .entry-content > .wp-block-group:nth-child(n + 3):nth-child(-n + 11) {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  body.home .entry-content > .wp-block-group:has(#wpforms-form-9) > .wp-block-group,
  body.page-id-2 .entry-content > .wp-block-group:has(#wpforms-form-9) > .wp-block-group,
  body.page-id-603 .entry-content > .wp-block-group:has(#wpforms-form-9) > .wp-block-group {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}
