/* BullFX light editorial commerce surfaces. */

.woocommerce-shop .site-main,
.tax-product_cat .site-main,
.single-product .site-main,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main,
.bfx-page {
  margin-inline: auto;
  max-width: var(--bfx-container);
  padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 3vw, 2.5rem);
}

.woocommerce-breadcrumb {
  color: var(--bfx-color-subtle);
  font-size: var(--bfx-text-xs);
  margin-bottom: 2rem;
}

.woocommerce-breadcrumb a {
  color: var(--bfx-color-muted);
  text-decoration: none;
}

.woocommerce-products-header__title.page-title,
.woocommerce .page-title,
.bfx-page h1 {
  font-family: var(--bfx-font-display);
  font-size: clamp(2.75rem, 5.4vw, 5.8rem);
  letter-spacing: -0.055em;
  line-height: 0.98;
  margin: 0 0 2rem;
}

.bfx-shop-filters {
  align-items: end;
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-lg);
  display: grid;
  gap: 0.8rem;
  grid-template-columns: minmax(14rem, 1.5fr) repeat(2, minmax(9rem, 0.75fr)) auto auto;
  margin: 1.5rem 0 2rem;
  padding: 1rem;
}

.bfx-shop-category-links {
  display: flex;
  gap: 0.65rem;
  margin: 1.25rem 0;
  overflow-x: auto;
  padding: 0 0 0.4rem;
  scrollbar-width: thin;
}

.bfx-shop-category-links a {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-pill);
  flex: 0 0 auto;
  font-size: var(--bfx-text-sm);
  font-weight: 650;
  padding: 0.7rem 1rem;
}

.bfx-shop-category-links a:hover {
  background: var(--bfx-color-blush);
  border-color: #f2d3d6;
  color: var(--bfx-color-accent);
}

.bfx-shop-filters label {
  color: var(--bfx-color-muted);
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

.bfx-shop-filters input,
.bfx-shop-filters select,
.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border-strong);
  border-radius: var(--bfx-radius-sm);
  color: var(--bfx-color-text);
  min-height: 3rem;
  padding: 0.7rem 0.8rem;
}

.bfx-shop-filters button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  align-items: center;
  background: var(--bfx-color-accent);
  border: 1px solid var(--bfx-color-accent);
  border-radius: var(--bfx-radius-pill);
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--bfx-font-body);
  font-size: 0.86rem;
  font-weight: 700;
  justify-content: center;
  min-height: 3rem;
  padding: 0.72rem 1.25rem;
  text-decoration: none;
  transition: background var(--bfx-transition), border-color var(--bfx-transition), transform var(--bfx-transition);
}

.bfx-shop-filters button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--bfx-color-accent-strong);
  border-color: var(--bfx-color-accent-strong);
  color: #ffffff;
  transform: translateY(-1px);
}

.bfx-shop-filters > a {
  color: var(--bfx-color-muted);
  font-size: var(--bfx-text-sm);
  padding: 0.75rem;
}

.woocommerce .woocommerce-result-count {
  color: var(--bfx-color-muted);
  font-size: 0.8rem;
  margin: 0.8rem 0 1.4rem;
}

.woocommerce .woocommerce-ordering {
  color: var(--bfx-color-muted);
  font-size: 0.8rem;
  margin: 0 0 1.4rem;
}

.woocommerce ul.products {
  clear: both;
  display: grid !important;
  float: none;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  width: 100%;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.woocommerce ul.products li.product {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-lg);
  display: flex;
  flex-direction: column;
  float: none !important;
  margin: 0 !important;
  min-width: 0;
  overflow: hidden;
  padding: 0 0 1rem;
  transition: box-shadow var(--bfx-transition), transform var(--bfx-transition);
  width: 100% !important;
}

.woocommerce ul.products li.product > a,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  min-width: 0;
}

.woocommerce ul.products li.product {
  background: var(--bfx-gradient-card);
  border-color: rgba(74, 112, 142, .42);
  box-shadow: 0 22px 55px rgba(0, 0, 0, .24);
}

.woocommerce ul.products li.product img {
  background: transparent;
}

.woocommerce ul.products li.product .bfx-product-license-facts { padding-inline: 1.2rem; }

.woocommerce ul.products li.product:hover {
  box-shadow: var(--bfx-shadow-product);
  transform: translateY(-4px);
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: flex;
  flex: 1;
  flex-direction: column;
  text-decoration: none;
}

.bfx-loop-product-art {
  background: radial-gradient(circle at 50% 35%, rgba(38, 217, 199, 0.1), transparent 40%), var(--bfx-gradient-card);
  border-bottom: 1px solid var(--bfx-color-border);
  min-height: clamp(15rem, 22vw, 20rem);
  padding: clamp(0.85rem, 1.7vw, 1.35rem);
}

.bfx-loop-product-art .bfx-product-art {
  aspect-ratio: 4 / 3;
  height: 100%;
  min-height: 0;
}

.bfx-loop-product-art .bfx-product-art__media {
  height: 100%;
  max-height: 17rem;
  object-fit: contain;
  width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button {
  margin-inline: 1rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--bfx-color-text);
  font-family: var(--bfx-font-display);
  font-size: 1.1rem;
  line-height: 1.16;
  min-height: 2.35em;
  padding: 1rem 0 0;
}

.woocommerce ul.products li.product .price {
  color: var(--bfx-color-text);
  font-size: 1rem;
  font-weight: 750;
  margin-top: auto;
}

.woocommerce ul.products li.product .price ins {
  color: var(--bfx-color-accent);
  text-decoration: none;
}

.woocommerce ul.products li.product .button {
  align-items: center;
  background: var(--bfx-color-blush);
  border-color: var(--bfx-color-blush);
  color: var(--bfx-color-accent);
  display: inline-flex;
  gap: 0.55rem;
  justify-content: center;
  margin-top: 0.9rem;
  text-align: center;
  width: calc(100% - 2rem);
}

.bfx-loop-cart-icon {
  display: inline-flex;
}

.bfx-loop-cart-icon .bfx-icon {
  height: 1.05rem;
  width: 1.05rem;
}

.woocommerce ul.products li.product .button:hover {
  background: var(--bfx-color-accent);
  border-color: var(--bfx-color-accent);
  color: #ffffff;
}

.woocommerce span.onsale {
  background: var(--bfx-color-accent);
  border-radius: var(--bfx-radius-pill);
  color: #ffffff;
  font-size: 0.65rem;
  letter-spacing: 0.07em;
  line-height: 1;
  margin: 0 !important;
  min-height: 0;
  min-width: 0;
  padding: 0.48rem 0.65rem;
  text-transform: uppercase;
  top: 0.75rem !important;
  right: 0.75rem !important;
  left: auto !important;
  z-index: 2;
}

.star-rating,
.woocommerce p.stars a,
.woocommerce .star-rating span::before {
  color: var(--bfx-color-gold);
}

.single-product div.product {
  display: grid;
  gap: clamp(2rem, 5vw, 5.5rem);
  grid-template-columns: minmax(0, 1.06fr) minmax(20rem, 0.94fr);
}

.single-product .bfx-single-product-art {
  align-self: start;
  align-items: center;
  background: radial-gradient(circle at 50% 42%, rgba(38, 217, 199, 0.1), transparent 38%), var(--bfx-gradient-card);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-lg);
  display: flex;
  justify-content: center;
  min-height: clamp(20rem, 42vw, 32rem);
  overflow: hidden;
  padding: clamp(0.8rem, 2vw, 1.5rem);
}

.single-product div.product > .bfx-full-product-description,
.single-product div.product > .bfx-product-guidance {
  grid-column: 1 / -1;
}

.single-product .bfx-single-product-art .bfx-product-art {
  aspect-ratio: 1 / 1;
  background: transparent;
  border: 0;
  max-width: 28rem;
  width: 100%;
}

.single-product .bfx-single-product-art .bfx-product-art__media {
  height: auto;
  max-height: 28rem;
  object-fit: contain;
  width: auto;
}

.single-product div.product .summary {
  align-self: start;
  float: none !important;
  margin: 0 !important;
  position: sticky;
  top: 7.5rem;
  width: 100% !important;
}

.single-product div.product .product_title {
  font-family: var(--bfx-font-display);
  font-size: clamp(2.7rem, 4.8vw, 5rem);
  letter-spacing: -0.055em;
  line-height: 0.98;
  margin: 0 0 1rem;
}

.single-product div.product p.price {
  border-bottom: 1px solid var(--bfx-color-border);
  color: var(--bfx-color-text);
  font-family: var(--bfx-font-display);
  font-size: clamp(1.65rem, 2.5vw, 2.45rem);
  margin: 0 0 1.35rem;
  padding-bottom: 1.15rem;
}

.single-product div.product p.price ins {
  color: var(--bfx-color-accent);
  text-decoration: none;
}

.single-product .woocommerce-product-details__short-description {
  color: var(--bfx-color-muted);
  line-height: 1.7;
}

.single-product .cart {
  align-items: center;
  border-block: 1px solid var(--bfx-color-border);
  display: flex;
  gap: 0.7rem;
  margin: 1.5rem 0 !important;
  padding-block: 1.25rem;
}

.single-product .cart .quantity input,
.woocommerce-cart-form .quantity input {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border-strong);
  border-radius: var(--bfx-radius-sm);
  min-height: 3.1rem;
}

.single-product .product_meta {
  color: var(--bfx-color-subtle);
  font-size: 0.75rem;
  line-height: 1.8;
}

.bfx-product-facts {
  border-block: 1px solid var(--bfx-color-border);
  margin: 1.5rem 0;
  padding: 1.1rem 0;
}

.bfx-product-facts h2 {
  font-family: var(--bfx-font-body);
  font-size: var(--bfx-text-xs);
  letter-spacing: 0.12em;
  margin: 0 0 0.85rem;
  text-transform: uppercase;
}

.bfx-product-facts dl {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.bfx-product-facts dl > div {
  min-width: 0;
}

.bfx-product-facts dt {
  color: var(--bfx-color-subtle);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.bfx-product-facts dd {
  margin: 0.15rem 0 0;
}

.bfx-product-state-notice {
  background: var(--bfx-color-surface-soft);
  border: 1px solid var(--bfx-color-border);
  border-left: 3px solid var(--bfx-color-gold);
  border-radius: var(--bfx-radius-sm);
  color: var(--bfx-color-text);
  margin: 1rem 0;
  padding: 1rem;
}

.bfx-product-state-notice p {
  color: var(--bfx-color-muted);
  margin: 0.3rem 0;
}

.bfx-product-state-notice a {
  color: var(--bfx-color-accent);
  font-weight: 700;
}

.bfx-product-state-notice--unavailable {
  border-left-color: var(--bfx-color-accent);
}

.single-product .woocommerce-tabs {
  border-top: 1px solid var(--bfx-color-border);
  grid-column: 1 / -1;
  margin-top: clamp(2rem, 6vw, 6rem);
  padding-top: 2rem;
}

.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--bfx-color-border) !important;
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

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

.single-product .woocommerce-tabs ul.tabs li a {
  color: var(--bfx-color-muted) !important;
  font-size: 0.8rem;
  padding: 0.85rem 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  border-bottom: 2px solid var(--bfx-color-accent);
  color: var(--bfx-color-text) !important;
}

.single-product .woocommerce-tabs .panel {
  color: var(--bfx-color-muted);
  line-height: 1.8;
  max-width: 80ch;
}

.single-product .related.products,
.single-product .upsells.products {
  grid-column: 1 / -1;
  margin-top: 4rem;
}

.single-product .bfx-related-products .bfx-product-slider__track {
  width: 100%;
}

.bfx-related-products .bfx-editor-product__art {
  min-height: 20rem;
  padding: 0.65rem;
}

.bfx-related-products .bfx-product-art--has-media {
  padding: 0.45rem;
}

.bfx-related-products .bfx-product-art__media {
  transform: scale(1.12);
  transform-origin: center;
}

.bfx-download-list,
.bullfx-download,
.woocommerce-MyAccount-downloads {
  background: var(--bfx-color-surface-soft);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-md);
  margin-block: 1rem;
  padding: 1rem;
}

.woocommerce-cart-form,
.cart_totals,
form.woocommerce-checkout,
.wc-block-checkout,
.woocommerce-order,
.woocommerce-MyAccount-content {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-lg);
  box-shadow: var(--bfx-shadow-sm);
  color: var(--bfx-color-text);
  padding: clamp(1rem, 2.5vw, 2rem);
}

.bfx-page,
.bfx-page article,
.bfx-page .bfx-content-panel {
  color: var(--bfx-color-text);
}

.woocommerce table.shop_table,
.bfx-content-table {
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  margin: 0;
  width: 100%;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.bfx-content-table th,
.bfx-content-table td {
  border: 0;
  border-bottom: 1px solid var(--bfx-color-border);
  padding: 1rem 0.7rem;
  text-align: left;
}

.woocommerce table.shop_table th,
.bfx-content-table th {
  color: var(--bfx-color-muted);
  font-size: 0.7rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.woocommerce-cart .cart-collaterals {
  margin-top: 1.5rem;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  float: right;
  width: min(100%, 35rem);
}

.bfx-page--commerce .bfx-page__article,
.bfx-page--commerce .bfx-prose {
  max-width: none;
  width: 100%;
}

.bfx-page--commerce .bfx-content-header {
  margin-bottom: clamp(1.5rem, 4vw, 3rem);
}

.bfx-page--commerce .bfx-content-header h1 {
  font-size: clamp(3rem, 7vw, 6rem);
}

.woocommerce-cart-form .shop_table {
  table-layout: auto;
}

.woocommerce-cart-form .product-thumbnail {
  width: 7rem;
}

.woocommerce-cart-form .product-thumbnail img {
  background: var(--bfx-gradient-card);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-sm);
  height: 5.5rem;
  object-fit: contain;
  padding: 0.35rem;
  width: 5.5rem;
}

.woocommerce-cart-form .product-name {
  min-width: min(23rem, 42vw);
}

.woocommerce-cart-form .product-name > a {
  color: var(--bfx-color-text);
  display: inline-block;
  font-family: var(--bfx-font-display);
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1.25;
  margin-bottom: 0.35rem;
  text-decoration: none;
}

.woocommerce-cart-form .product-name p,
.woocommerce-cart-form .product-name .variation,
.woocommerce-cart-form .product-name .wc-item-meta {
  color: var(--bfx-color-muted);
  font-size: 0.78rem;
  line-height: 1.5;
  margin: 0.4rem 0 0;
  max-width: 60ch;
}

.woocommerce-cart-form .product-name .variation,
.woocommerce-cart-form .product-name .wc-item-meta {
  display: grid;
  gap: 0.2rem 0.55rem;
  grid-template-columns: max-content minmax(0, 1fr);
}

.woocommerce-cart-form .product-name .variation dt,
.woocommerce-cart-form .product-name .variation dd,
.woocommerce-cart-form .product-name .wc-item-meta li,
.woocommerce-cart-form .product-name .wc-item-meta p {
  float: none;
  margin: 0;
  padding: 0;
}

.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal,
.cart_totals .order-total {
  color: var(--bfx-color-text);
  font-weight: 800;
  white-space: nowrap;
}

.woocommerce-cart-form .product-remove a {
  align-items: center;
  border: 1px solid var(--bfx-color-border);
  border-radius: 50%;
  color: var(--bfx-color-muted) !important;
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  line-height: 1;
  width: 2rem;
}

.woocommerce-cart-form .product-remove a:hover {
  background: rgba(230, 64, 76, 0.12);
  border-color: var(--bfx-color-danger);
  color: var(--bfx-color-danger) !important;
}

.woocommerce-cart-form .actions {
  padding-top: 1.25rem !important;
}

.woocommerce-cart-form .actions .coupon {
  align-items: center;
  display: flex;
  gap: 0.65rem;
}

.woocommerce-cart-form .actions .coupon .input-text {
  background: var(--bfx-color-bg);
  border: 1px solid var(--bfx-color-border-strong);
  border-radius: var(--bfx-radius-pill);
  min-height: var(--bfx-control-height);
  padding: 0.7rem 1rem;
  width: min(18rem, 100%);
}

.cart_totals h2 {
  font-family: var(--bfx-font-display);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin-top: 0;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
  border-top: 2px solid var(--bfx-color-border-strong);
  color: var(--bfx-color-gold-soft);
  font-size: 1.1rem;
}

.cart_totals .wc-proceed-to-checkout {
  padding: 1.25rem 0 0;
}

.cart_totals .checkout-button {
  width: 100%;
}

.wc-block-cart,
.wc-block-checkout {
  color: var(--bfx-color-text);
}

.wc-block-cart .wc-block-components-sidebar,
.wc-block-checkout .wc-block-components-sidebar {
  background: var(--bfx-color-surface-soft);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-lg);
  padding: clamp(1rem, 2.5vw, 2rem);
}

.wc-block-cart .wc-block-components-product-name,
.wc-block-checkout .wc-block-components-product-name {
  color: var(--bfx-color-text);
  font-weight: 750;
}

body.woocommerce-checkout {
  display: block;
  padding: 0;
}

form.woocommerce-checkout {
  display: grid;
  gap: clamp(1.5rem, 4vw, 4rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr);
}

.wc-block-checkout {
  margin-inline: auto;
  max-width: 100%;
  width: 100%;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  float: none;
  width: 100%;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  grid-column: 2;
}

.woocommerce-checkout #order_review {
  background: var(--bfx-color-surface-soft);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-md);
  padding: 1rem;
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  background: var(--bfx-color-bg-warm);
  border-radius: var(--bfx-radius-md);
}

.woocommerce-account .woocommerce {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(13rem, 0.25fr) minmax(0, 0.75fr);
}

.woocommerce-MyAccount-navigation {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-lg);
  padding: 0.7rem;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-MyAccount-navigation li a {
  border-radius: var(--bfx-radius-sm);
  color: var(--bfx-color-muted);
  display: block;
  padding: 0.75rem 0.85rem;
  text-decoration: none;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
  background: var(--bfx-color-blush);
  color: var(--bfx-color-accent);
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-md);
  color: var(--bfx-color-text);
  margin: 0 0 1.25rem;
  padding: 1rem 1rem 1rem 3rem;
}

.woocommerce-info { border-top: 3px solid var(--bfx-color-muted); }
.woocommerce-message { border-top: 3px solid var(--bfx-color-success); }
.woocommerce-error { border-top: 3px solid var(--bfx-color-danger); }

.bfx-plan-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bfx-plan-card {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-lg);
  display: flex;
  flex-direction: column;
  min-height: 25rem;
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.bfx-plan-card.is-best-deal {
  border-color: var(--bfx-color-accent);
  box-shadow: 0 0 0 3px var(--bfx-color-blush);
}

.bfx-plan-card__name {
  color: var(--bfx-color-accent);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.bfx-plan-card__price {
  font-family: var(--bfx-font-display);
  font-size: clamp(2rem, 3vw, 3.1rem);
  letter-spacing: -0.05em;
  margin: 1.5rem 0 1rem;
}

.bfx-plan-card ul {
  color: var(--bfx-color-muted);
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
}

.bfx-plan-card li {
  border-bottom: 1px solid var(--bfx-color-border);
  padding: 0.7rem 0;
}

.bfx-plan-card .bfx-button { margin-top: auto; }

.bfx-page details {
  border-bottom: 1px solid var(--bfx-color-border);
  padding: 1rem 0;
}

.bfx-page details summary {
  color: var(--bfx-color-text);
  cursor: pointer;
  font-family: var(--bfx-font-display);
  font-size: var(--bfx-text-lg);
}

.bfx-page details p {
  color: var(--bfx-color-muted);
  max-width: 75ch;
}

.woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  gap: 0.4rem;
  margin-top: 2rem;
}

.woocommerce nav.woocommerce-pagination ul li { border: 0; }

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid var(--bfx-color-border);
  border-radius: 50%;
  color: var(--bfx-color-muted);
  min-width: 2.5rem;
  padding: 0.7rem;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--bfx-color-accent);
  border-color: var(--bfx-color-accent);
  color: #ffffff;
}

@media (max-width: 1180px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bfx-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bfx-shop-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .single-product div.product,
  form.woocommerce-checkout,
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .single-product div.product .summary { position: static; }
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { grid-column: 1; }
}

@media (max-width: 820px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce-cart-form { overflow-x: auto; }
  .woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; }
  .woocommerce-cart-form .shop_table { min-width: 42rem; }
  .woocommerce-cart-form .actions .coupon { align-items: stretch; flex-direction: column; float: none; width: 100%; }
  .woocommerce-cart-form .actions .coupon .input-text,
  .woocommerce-cart-form .actions .coupon .button { width: 100%; }
  .woocommerce-cart-form .actions > .button { float: none; margin-top: 0.75rem; width: 100%; }
}

@media (max-width: 620px) {
  .bfx-shop-filters,
  .bfx-plan-grid { grid-template-columns: 1fr; }
  .single-product .bfx-single-product-art { min-height: 20rem; padding: 0.85rem; }
}

@media (max-width: 540px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .single-product .cart { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product,
  .woocommerce button.button,
  .woocommerce a.button,
  .woocommerce input.button {
    transform: none !important;
    transition: none !important;
  }
}

/* Marketplace frame and product decision support. */
.bfx-commerce-page { padding-block: clamp(2.5rem, 6vw, 6rem); }
.bfx-commerce-page__inner { min-width: 0; }
.bfx-shop-header { border-bottom: 1px solid var(--bfx-color-border); margin-bottom: 1.5rem; padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.bfx-shop-header h1 { font-family: var(--bfx-font-display); font-size: clamp(3rem, 7vw, 6.5rem); letter-spacing: -.06em; line-height: .9; margin: .5rem 0 1rem; }
.bfx-shop-header > p:last-child { color: var(--bfx-color-muted); max-width: 62ch; }
.bfx-shop-filters { align-items: end; background: #fff; border: 1px solid var(--bfx-color-border); border-radius: var(--bfx-radius-lg); display: grid; gap: 1rem; grid-template-columns: minmax(13rem, 1.5fr) repeat(2, minmax(10rem, .75fr)) auto auto; margin-bottom: 2rem; padding: 1.25rem; }
.bfx-shop-filters label { display: grid; gap: .45rem; }
.bfx-shop-filters label > span { color: var(--bfx-color-muted); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.bfx-shop-filters input,
.bfx-shop-filters select { background: var(--bfx-color-bg); border: 1px solid var(--bfx-color-border); border-radius: 999px; min-height: 3rem; padding: .65rem 1rem; width: 100%; }
.bfx-shop-filters > a { align-self: center; color: var(--bfx-color-muted); font-size: .85rem; }
.bfx-no-products-guidance,
.bfx-search-results .bfx-empty-state { background: var(--bfx-color-blush); border: 1px solid #f4d8dc; border-radius: var(--bfx-radius-md); margin-block: 1.5rem; padding: 1.5rem; }
.bfx-search-results { padding-block: clamp(3rem, 7vw, 7rem); }
.bfx-search-results .bfx-page-hero { display: grid; gap: 1rem; margin-bottom: 3rem; max-width: 62rem; }
.bfx-search-results .bfx-page-hero h1 { font-family: var(--bfx-font-display); font-size: clamp(3rem, 7vw, 6rem); letter-spacing: -.055em; line-height: .95; margin: 0; overflow-wrap: anywhere; }
.bfx-post-list { display: grid; gap: 1rem; }
.bfx-post-card { background: #fff; border: 1px solid var(--bfx-color-border); border-radius: var(--bfx-radius-md); padding: 1.5rem; }

.bfx-product-purchase-context { border-bottom: 1px solid var(--bfx-color-border); border-top: 1px solid var(--bfx-color-border); display: grid; gap: 1rem; margin-top: 1.5rem; padding-block: 1rem; }
.bfx-product-purchase-context > div { display: grid; gap: .2rem; }
.bfx-product-purchase-context strong { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.bfx-product-purchase-context span { color: var(--bfx-color-muted); font-size: .9rem; line-height: 1.55; }
.bfx-full-product-description .bfx-prose h2,
.bfx-full-product-description .bfx-prose h3,
.bfx-full-product-description .bfx-prose h4 { color: var(--bfx-color-text); font-family: var(--bfx-font-display); letter-spacing: -.025em; line-height: 1.12; margin: 2.25rem 0 .8rem; }
.bfx-full-product-description .bfx-prose h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.bfx-full-product-description .bfx-prose h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
.bfx-full-product-description .bfx-prose p,
.bfx-full-product-description .bfx-prose li { color: var(--bfx-color-muted); line-height: 1.78; }
.bfx-full-product-description .bfx-prose ul,
.bfx-full-product-description .bfx-prose ol { padding-left: 1.35rem; }
.bfx-full-product-description .bfx-prose a { color: var(--bfx-color-accent); text-decoration: underline; text-underline-offset: .18em; }
.bfx-full-product-description .bfx-prose img,
.bfx-full-product-description .bfx-prose iframe,
.bfx-full-product-description .bfx-prose video { border-radius: var(--bfx-radius-md); height: auto; max-width: 100%; }
.bfx-full-product-description .bfx-prose table { border-collapse: collapse; display: block; max-width: 100%; overflow-x: auto; }
.bfx-full-product-description .bfx-prose th,
.bfx-full-product-description .bfx-prose td { border: 1px solid var(--bfx-color-border); padding: .75rem; text-align: left; }

.bfx-product-guidance { background: transparent; clear: both; display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block: clamp(3rem, 7vw, 6rem); }
.bfx-product-guidance > div { background: var(--bfx-color-surface-soft); border: 1px solid var(--bfx-color-border); border-radius: var(--bfx-radius-md); min-height: 0; padding: clamp(1.25rem, 2.5vw, 2rem); }
.bfx-product-guidance span { color: var(--bfx-color-accent); display: block; font-size: .72rem; font-weight: 800; letter-spacing: .12em; margin-bottom: 1.25rem; }
.bfx-product-guidance h2 { color: var(--bfx-color-text); font-family: var(--bfx-font-display); font-size: 1.45rem; margin: 0 0 .65rem; }
.bfx-product-guidance p { color: var(--bfx-color-muted); line-height: 1.65; margin: 0; }

@media (max-width: 1180px) {
  .bfx-shop-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .bfx-product-guidance { grid-template-columns: 1fr; }
  .bfx-product-guidance > div { min-height: 0; }
}

@media (max-width: 540px) {
  .bfx-shop-filters { grid-template-columns: 1fr; }
  .bfx-shop-filters .bfx-primary-button { width: 100%; }
}

/* Membership pricing and comparison. */
.bfx-membership-pricing { padding-bottom: clamp(4rem, 8vw, 8rem); }
.bfx-membership-hero { display: grid; gap: 1rem; max-width: 72rem; padding-block: clamp(4rem, 9vw, 9rem); }
.bfx-membership-hero h1 { font-family: var(--bfx-font-display); font-size: clamp(4rem, 10vw, 8.5rem); letter-spacing: -.065em; line-height: .85; margin: 0; }
.bfx-membership-hero > p:not(.bfx-eyebrow) { color: var(--bfx-color-muted); font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.6; max-width: 62ch; }
.bfx-plan-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block: 2rem clamp(5rem, 9vw, 8rem); }
.bfx-plan-card { background: #fff; border: 1px solid var(--bfx-color-border); border-radius: var(--bfx-radius-lg); display: flex; flex-direction: column; gap: 1rem; min-width: 0; padding: clamp(1.35rem, 2.5vw, 2rem); position: relative; }
.bfx-plan-card.is-featured { border-color: var(--bfx-color-accent); box-shadow: 0 20px 50px rgba(227,27,43,.1); }
.bfx-plan-card.is-preview { background: #fcfaf6; }
.bfx-plan-card__badge { align-self: start; background: var(--bfx-color-blush); border-radius: 999px; color: var(--bfx-color-accent); font-size: .68rem; font-weight: 800; letter-spacing: .09em; padding: .42rem .7rem; text-transform: uppercase; }
.bfx-plan-card h3 { font-family: var(--bfx-font-display); font-size: clamp(2rem, 3.4vw, 3rem); letter-spacing: -.045em; line-height: .95; margin: .25rem 0; overflow-wrap: anywhere; }
.bfx-plan-card__price { font-size: clamp(2rem, 3.8vw, 3.4rem); font-weight: 800; letter-spacing: -.05em; }
.bfx-plan-card__term { color: var(--bfx-color-gold-soft); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.bfx-plan-card > p:not(.bfx-eyebrow),
.bfx-plan-card li { color: var(--bfx-color-muted); line-height: 1.55; }
.bfx-plan-card ul { border-top: 1px solid var(--bfx-color-border); display: grid; gap: 0; list-style: none; margin: .25rem 0 1rem; padding: .5rem 0 0; }
.bfx-plan-card li { border-bottom: 1px solid var(--bfx-color-border); padding: .62rem 0; }
.bfx-plan-card li::before { color: var(--bfx-color-accent); content: "✓"; margin-right: .55rem; }
.bfx-plan-card .bfx-primary-button,
.bfx-plan-card > .bfx-soft-button { margin-top: auto; width: 100%; }
.bfx-plan-card .bfx-primary-button { align-items: center; display: inline-flex; gap: .6rem; justify-content: center; }
.bfx-plan-card.is-best-deal { background: radial-gradient(circle at 85% 5%, rgba(38,217,199,.14), transparent 30%), var(--bfx-color-surface); transform: translateY(-.6rem); }
.bfx-comparison-best { background: var(--bfx-color-accent); border-radius: var(--bfx-radius-pill); color: #06111d; display: inline-block; font-size: .62rem; letter-spacing: .08em; margin-left: .4rem; padding: .25rem .45rem; text-transform: uppercase; }
.bfx-plan-comparison { margin-block: clamp(4rem, 8vw, 8rem); }
.bfx-content-table { border: 1px solid var(--bfx-color-border); border-radius: var(--bfx-radius-lg); overflow-x: auto; }
.bfx-content-table table { border-collapse: collapse; min-width: 46rem; width: 100%; }
.bfx-content-table th,
.bfx-content-table td { border-bottom: 1px solid var(--bfx-color-border); padding: 1.1rem 1.25rem; text-align: left; }
.bfx-content-table thead { background: var(--bfx-color-text); color: #fff; }
.bfx-note { color: var(--bfx-color-muted); font-size: .86rem; margin-top: 1rem; }
.bfx-membership-guidance { background: var(--bfx-color-text); color: #fff; padding-block: clamp(4rem, 8vw, 7rem); }
.bfx-membership-guidance__grid { display: grid; gap: 1px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bfx-membership-guidance article { border-left: 1px solid rgba(255,255,255,.16); padding: 1.5rem; }
.bfx-membership-guidance article > span { color: #ff6572; font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.bfx-membership-guidance h2 { color: #fff; font-family: var(--bfx-font-display); font-size: 1.65rem; margin: 2rem 0 .75rem; }
.bfx-membership-guidance p { color: rgba(255,255,255,.65); line-height: 1.65; }
.bfx-membership-guidance a { color: #fff; font-weight: 700; }
.bfx-membership-faq { display: grid; gap: 3rem; grid-template-columns: .8fr 1.2fr; padding-block: clamp(4rem, 8vw, 8rem); }
.bfx-membership-faq details { border-top: 1px solid var(--bfx-color-border); padding-block: 1.25rem; }
.bfx-membership-faq summary { cursor: pointer; font-weight: 750; }
.bfx-membership-faq details p { color: var(--bfx-color-muted); line-height: 1.65; }

@media (max-width: 1180px) {
  .bfx-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bfx-membership-guidance__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .bfx-membership-faq { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .bfx-plan-grid { grid-template-columns: 1fr; }
  .bfx-plan-comparison { overflow: hidden; }
  .bfx-plan-comparison .bfx-content-table { margin-inline: -0.75rem; border-radius: 0; }
  .bfx-membership-guidance__grid { grid-template-columns: 1fr; }
  .bfx-membership-guidance article { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
}

/* Native cart, checkout, orders, account, notices, and protected downloads. */
.woocommerce-order,
.woocommerce-MyAccount-orders,
.woocommerce-MyAccount-downloads { background: #fff; border: 1px solid var(--bfx-color-border); border-radius: var(--bfx-radius-lg); padding: clamp(1rem, 3vw, 2rem); }
.woocommerce-MyAccount-orders,
.woocommerce-MyAccount-downloads { border-collapse: collapse; width: 100%; }
.woocommerce-MyAccount-orders th,
.woocommerce-MyAccount-orders td,
.woocommerce-MyAccount-downloads th,
.woocommerce-MyAccount-downloads td { border-bottom: 1px solid var(--bfx-color-border); padding: .9rem; text-align: left; }
.woocommerce-MyAccount-downloads .download-file,
.woocommerce-MyAccount-downloads .woocommerce-MyAccount-downloads-file { display: inline-flex; width: auto; }
.woocommerce-order-details,
.woocommerce-customer-details { margin-top: 2rem; }
.woocommerce-message,
.woocommerce-error,
.woocommerce-info { border: 1px solid var(--bfx-color-border); border-left: 4px solid var(--bfx-color-accent); border-radius: var(--bfx-radius-sm); box-shadow: none; }
.woocommerce-error { border-left-color: #a61b29; }
.woocommerce-info { border-left-color: var(--bfx-color-gold); }

@media (max-width: 820px) {
  .woocommerce-cart-form,
  .woocommerce-MyAccount-orders,
  .woocommerce-MyAccount-downloads { display: block; overflow-x: auto; width: 100%; }
}

@media (max-width: 540px) {
  .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: 1fr 1fr; }
  .woocommerce-MyAccount-orders,
  .woocommerce-MyAccount-downloads { border-radius: 0; margin-inline: -0.75rem; width: calc(100% + 1.5rem); }
}

/* Professional dark catalogue and page system. */
.bfx-shop-header {
  background:
    radial-gradient(circle at 86% 15%, rgba(32, 178, 107, 0.11), transparent 18rem),
    var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-lg);
  padding: clamp(1.5rem, 4vw, 3.25rem);
}

.bfx-shop-filters {
  background: var(--bfx-color-surface);
  border-color: var(--bfx-color-border);
}

/* A legacy catalogue integration can print a filter before the theme-owned form. */
.bfx-commerce-page__inner > .bfx-shop-filters:has(~ .bfx-shop-filters) {
  display: none;
}

.bfx-shop-filters input,
.bfx-shop-filters select,
.woocommerce .woocommerce-ordering select {
  background: var(--bfx-color-bg);
  border-color: var(--bfx-color-border-strong);
  color: var(--bfx-color-text);
}

.bfx-shop-category-links a {
  background: var(--bfx-color-surface-soft);
  border-color: var(--bfx-color-border);
}

.woocommerce ul.products li.product {
  background: var(--bfx-color-surface);
  border-color: var(--bfx-color-border);
}

.woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce-pagination {
  color: var(--bfx-color-muted);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--bfx-color-surface);
  border-color: var(--bfx-color-border);
  color: var(--bfx-color-text);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--bfx-color-accent);
  color: #fff;
}

/* WordPress' alignwide utility otherwise pulls native commerce blocks off-canvas. */
.woocommerce-cart .bfx-prose > .alignwide,
.woocommerce-checkout .bfx-prose > .alignwide,
.woocommerce-account .bfx-prose > .alignwide {
  margin-inline: 0;
  max-width: 100%;
  width: 100%;
}

.bfx-membership-hero__price {
  align-items: baseline;
  color: var(--bfx-color-gold-soft);
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 820;
  gap: 0.7rem;
  letter-spacing: -0.05em;
}

.bfx-membership-hero__price span {
  color: var(--bfx-color-muted);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bfx-plan-card,
.bfx-plan-card.is-preview,
.woocommerce-order,
.woocommerce-MyAccount-orders,
.woocommerce-MyAccount-downloads {
  background: var(--bfx-color-surface);
}

.bfx-membership-inclusions,
.bfx-membership-steps {
  margin-block: clamp(4rem, 8vw, 8rem);
}

.bfx-membership-inclusions__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bfx-membership-inclusions__grid article {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-md);
  min-width: 0;
  padding: 1.5rem;
}

.bfx-membership-inclusions__grid span,
.bfx-membership-steps li::marker {
  color: var(--bfx-color-gold-soft);
  font-weight: 800;
}

.bfx-membership-inclusions__grid h3 {
  font-size: 1.25rem;
  margin: 1.8rem 0 0.65rem;
}

.bfx-membership-inclusions__grid p,
.bfx-membership-steps span {
  color: var(--bfx-color-muted);
  line-height: 1.6;
}

.bfx-membership-steps ol {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style-position: inside;
  margin: 0;
  padding: 0;
}

.bfx-membership-steps li {
  background: var(--bfx-color-surface-soft);
  display: grid;
  gap: 0.7rem;
  padding: 1.5rem;
}

.bfx-membership-policy-links {
  border-block: 1px solid var(--bfx-color-border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  padding-block: 1.5rem;
}

.bfx-membership-policy-links a {
  color: var(--bfx-color-gold-soft);
  font-weight: 700;
}

.bfx-contact-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.bfx-contact-card,
.bfx-contact-form,
.bfx-defined-page-sections section,
.bfx-contact-routes a {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-md);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.bfx-contact-card h2,
.bfx-defined-page-sections h2 {
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  margin: 0.4rem 0 1rem;
}

.bfx-page__layout--full {
  grid-template-columns: minmax(0, 1fr);
}

.bfx-contact-page .bfx-content-header,
.bfx-knowledge-page .bfx-content-header {
  max-width: 62rem;
}

.bfx-contact-card dl {
  display: grid;
  gap: 0;
  margin: 2rem 0 0;
}

.bfx-contact-card dl > div {
  border-top: 1px solid var(--bfx-color-border);
  display: grid;
  gap: 0.4rem;
  padding-block: 1rem;
}

.bfx-contact-card dt {
  color: var(--bfx-color-gold-soft);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.bfx-contact-card dd {
  color: var(--bfx-color-muted);
  line-height: 1.55;
  margin: 0;
}

.bfx-contact-card dd a {
  color: var(--bfx-color-accent);
  font-weight: 750;
}

.bfx-contact-placeholder {
  border-left: 3px solid var(--bfx-color-gold);
  color: var(--bfx-color-muted);
  margin-top: 2rem;
  padding-left: 1rem;
}

.bfx-contact-placeholder strong {
  color: var(--bfx-color-text);
}

.bfx-contact-form fieldset {
  border: 0;
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
}

.bfx-contact-form legend {
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

.bfx-contact-form label {
  display: grid;
  gap: 0.45rem;
  font-weight: 700;
}

.bfx-contact-form input,
.bfx-contact-form textarea {
  background: var(--bfx-color-bg);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-sm);
  color: var(--bfx-color-text);
  padding: 0.8rem;
}

.bfx-contact-form form,
.bfx-contact-form .wpcf7-form {
  display: grid;
  gap: 1rem;
}

.bfx-contact-form .wpcf7-form p {
  margin: 0;
}

.bfx-contact-form .wpcf7-form-control-wrap {
  display: block;
  margin-top: 0.45rem;
}

.bfx-contact-form input:not([type="submit"]),
.bfx-contact-form textarea,
.bfx-contact-form select {
  width: 100%;
}

.bfx-contact-form input[type="submit"] {
  background: var(--bfx-color-accent);
  border: 1px solid var(--bfx-color-accent);
  border-radius: var(--bfx-radius-pill);
  color: #fff;
  cursor: pointer;
  font-weight: 800;
  min-height: var(--bfx-control-height);
  padding-inline: 1.4rem;
}

.bfx-contact-form__fallback {
  display: grid;
  gap: 1rem;
}

.bfx-contact-form__fallback h2,
.bfx-knowledge-intro h2 {
  font-family: var(--bfx-font-display);
  font-size: clamp(2rem, 4vw, 3.5rem);
  letter-spacing: -0.04em;
  line-height: 1;
  margin: 0;
}

.bfx-contact-form fieldset[disabled] {
  opacity: 0.72;
}

.bfx-contact-form > p,
.bfx-defined-page-sections p,
.bfx-contact-routes span {
  color: var(--bfx-color-muted);
}

.bfx-contact-routes {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
}

.bfx-contact-routes a {
  display: grid;
  gap: 0.4rem;
}

.bfx-defined-page-sections {
  display: grid;
  gap: 1rem;
}

.bfx-knowledge-intro {
  display: grid;
  gap: 1rem;
  margin-bottom: 2rem;
  max-width: 60rem;
}

.bfx-knowledge-intro > p:last-child {
  color: var(--bfx-color-muted);
  line-height: 1.65;
  max-width: 68ch;
}

.bfx-knowledge-page .bfx-resource-links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  position: static;
}

.bfx-knowledge-page .bfx-resource-links a {
  background: var(--bfx-color-surface);
  min-height: 8.5rem;
}

.bfx-knowledge-sections {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1rem;
}

.bfx-journal .bfx-empty-state {
  background: var(--bfx-color-surface);
  border: 1px solid var(--bfx-color-border);
  border-radius: var(--bfx-radius-lg);
  color: var(--bfx-color-text);
  padding: clamp(1.5rem, 4vw, 3rem);
}

@media (max-width: 980px) {
  .bfx-membership-inclusions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .bfx-contact-grid,
  .bfx-membership-steps ol,
  .bfx-knowledge-page .bfx-resource-links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 540px) {
  .bfx-membership-inclusions__grid,
  .bfx-contact-routes,
  .bfx-knowledge-sections {
    grid-template-columns: 1fr;
  }
}

.bfx-membership-hero {
  align-items: center;
  background: radial-gradient(circle at 80% 35%, rgba(32,178,107,.16), transparent 30%), var(--bfx-gradient-card);
  border: 1px solid rgba(74,112,142,.42);
  border-radius: var(--bfx-radius-lg);
  grid-template-columns: minmax(14rem,.65fr) minmax(0,1.35fr);
  margin-block: clamp(2rem,5vw,5rem);
  max-width: var(--bfx-content);
  padding: clamp(2rem,5vw,5rem);
}
.bfx-membership-hero__visual { grid-row: span 6; }
.bfx-membership-hero__visual img { animation: bfx-float 6.2s ease-in-out infinite; filter: drop-shadow(0 24px 30px rgba(0,0,0,.46)); height: auto; max-height: 30rem; object-fit: contain; width: 100%; }
@media (max-width: 820px) {
  .bfx-membership-hero { grid-template-columns: 1fr; }
  .bfx-membership-hero__visual { grid-row: auto; }
}
