/* Product, cart, checkout and account screens only (not archives). Loaded after shop.css. */

/* Keep native gallery, zoom, variation and add-to-cart behaviour intact. */
.woocommerce div.product .summary :is(p.price, span.price) { color: var(--dino-ink, #080909); font-size: 24px; font-weight: 600; }
.woocommerce .price del { color: var(--dino-muted, #555b60); font-weight: 400; }
.woocommerce .price ins { text-decoration: none; }
.woocommerce .woocommerce-price-suffix { font-size: var(--dino-small); font-weight: 400; }
.woocommerce div.product .stock { font-size: var(--dino-small); font-weight: 600; }
.woocommerce div.product .in-stock { color: var(--dino-success, #21633b); }
.woocommerce div.product .out-of-stock { color: var(--dino-red, #c00); }
.woocommerce div.product .available-on-backorder { color: var(--dino-warning, #805500); }
.woocommerce div.product .product_meta { border-top: 1px solid var(--dino-line, #dadddd); padding-top: 24px; margin-top: 24px; font-size: var(--dino-small); }
.woocommerce div.product .product_meta > span { display: block; margin-block: 8px; }
.woocommerce div.product form.cart { margin-block: 24px; }
.woocommerce div.product form.cart .quantity { margin-right: 12px; margin-bottom: 12px; }
.woocommerce .quantity .qty { width: 88px; }
.woocommerce div.product form.cart table.variations :is(th, td) { padding: 8px 0; }
.woocommerce div.product form.cart table.variations select { width: 100%; max-width: 100%; padding: 10px 12px; }
.woocommerce div.product form.cart .reset_variations { display: inline-block; padding-block: 12px; font-size: var(--dino-small); text-decoration: underline; }


.woocommerce-cart table.cart .product-name { overflow-wrap: anywhere; }
.woocommerce-checkout #payment div.payment_box { background: #fff; color: var(--dino-ink, #080909); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce form :is(fieldset, .woocommerce-privacy-policy-text) { margin-block: 24px; }
.woocommerce form :is(.woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper) { font-size: var(--dino-body); }

/* Dark active item: the dark-band focus tokens (white ring, ink halo). */
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { --dino-focus-ring: var(--dino-white, #fff); --dino-focus-halo: var(--dino-ink, #080909); }
.woocommerce-account :is(form.login, form.register) { border: 1px solid var(--dino-line, #dadddd); padding: 24px; margin-block: 24px; border-radius: var(--dino-radius); }


body.single-product form.cart .variations label {
  color: var(--dino-ink, #080909);
  font-weight: 600;
}

/* Let native checkout grid columns shrink around long Danish field headings. */
body.woocommerce-checkout form.checkout .brx-grid > *,
body.woocommerce-checkout #customer_details > * { min-width: 0; }
body.woocommerce-checkout form.checkout :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) h3 {
  overflow-wrap: anywhere;
}

/* Responsive rules for these screens (were in shop.css; kept after the base rules above). */
@media (max-width: 767px) {
  .woocommerce div.product :is(div.images, div.summary) { width: 100%; float: none; }
  .woocommerce div.product div.summary { margin-top: 32px; }
  .woocommerce .col2-set :is(.col-1, .col-2),
  .woocommerce-cart .cart-collaterals :is(.cart_totals, .cross-sells) { width: 100%; float: none; }
}
@media (max-width: 479px) {
  .woocommerce div.product form.cart .single_add_to_cart_button { max-width: 100%; }
  .woocommerce div.product form.cart table.variations :is(th, td) { display: block; width: 100%; }
}

/* ===== Shop pages team: product, cart, checkout, account, B2B (moved from pages/shop-pages.css). ===== */
/* == Single product (Bricks template 309) == */
body.single-product #brxe-405abb:not(:has(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice)) { display: none; }
body.single-product #brxe-405abb { padding-block: 0 8px; }
body.single-product #brxe-d01a96 { padding-top: 16px; }
body.single-product #brxe-61b11e { gap: 56px; }
.dino-product-gallery { min-width: 0; }
.dino-product-gallery .woocommerce-product-gallery { position: relative; width: 100%; max-width: 100%; }
.dino-product-gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.dino-product-gallery :is(.flex-viewport, .woocommerce-product-gallery:not(:has(.flex-viewport)) > .woocommerce-product-gallery__wrapper) {
  border: 1px solid var(--dino-line);
  border-radius: var(--dino-radius);
  background: var(--dino-white);
  overflow: hidden;
}
.dino-product-gallery .woocommerce-product-gallery__image { background: var(--dino-white); }
.dino-product-gallery .woocommerce-product-gallery { opacity: 1 !important; }
.dino-product-gallery .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image:nth-child(n+2) { display: none; }
.dino-product-gallery .woocommerce-product-gallery:not(:has(.flex-viewport)):has(.woocommerce-product-gallery__image + .woocommerce-product-gallery__image)::after {
  content: "";
  display: block;
  height: 76px;
}
.dino-product-gallery .woocommerce-product-gallery__image > :is(a, img:only-child) { cursor: zoom-in; }
.dino-product-gallery .woocommerce-product-gallery__image > a,
.dino-product-gallery .woocommerce-product-gallery__image:not(:has(> a)) {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  padding: 24px;
}
.dino-product-gallery .woocommerce-product-gallery__image:not(:has(> a)) > img { cursor: default; }
#brx-content:not(#dino-x) .dino-product-gallery .woocommerce-product-gallery__image img.wp-post-image,
#brx-content:not(#dino-x) .dino-product-gallery .woocommerce-product-gallery__image > a > img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
}
.dino-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 9;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--dino-line);
  border-radius: 50%;
  background: var(--dino-white);
  box-shadow: 0 2px 8px rgb(8 9 9 / 12%);
  font-size: 0;
  text-indent: 0;
  transition: background-color var(--dino-speed) ease, border-color var(--dino-speed) ease;
}
.dino-product-gallery .woocommerce-product-gallery__trigger::before {
  content: "";
  position: static;
  display: block;
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 0;
  background: var(--dino-ink);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21M10.5 7.5v6M7.5 10.5h6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.dino-product-gallery .woocommerce-product-gallery__trigger::after { content: none; }
.dino-product-gallery .woocommerce-product-gallery__trigger:is(:hover, :focus-visible) { border-color: var(--dino-ink); background: var(--dino-surface); }
.dino-product-gallery .woocommerce-product-gallery__trigger > img { display: none !important; }
.dino-product-gallery .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.dino-product-gallery .flex-control-thumbs li { width: auto; margin: 0; padding: 0; float: none; }
.dino-product-gallery .flex-control-thumbs li img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  padding: 4px;
  border: 1px solid var(--dino-line);
  border-radius: var(--dino-radius);
  background: var(--dino-white);
  object-fit: contain;
  opacity: 1;
  cursor: pointer;
  transition: border-color var(--dino-speed) ease, box-shadow var(--dino-speed) ease;
}
.dino-product-gallery .flex-control-thumbs li img:hover { border-color: var(--dino-control-line); }
.dino-product-gallery .flex-control-thumbs li img.flex-active { border-color: var(--dino-red); box-shadow: inset 0 0 0 1px var(--dino-red); }
@media (max-width: 767px) {
  .dino-product-gallery .flex-control-thumbs {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    width: 100%;
    max-width: 100%;
    padding-bottom: 4px;
  }
  .dino-product-gallery .flex-control-thumbs li { flex: 0 0 64px; scroll-snap-align: start; }
  .dino-product-gallery .woocommerce-product-gallery__image > a,
  .dino-product-gallery .woocommerce-product-gallery__image:not(:has(> a)) { padding: 16px; }
}
.dino-product-summary .brxe-product-title { margin: 0; }
.dino-product-summary :is(.brxe-product-price, .product_meta, .brxe-product-add-to-cart) { width: 100%; }
.dino-product-summary .brxe-product-price { padding-bottom: 20px; border-bottom: 1px solid var(--dino-line); }
.dino-product-summary .brxe-product-price .price { margin: 0; font-variant-numeric: tabular-nums; }
.dino-product-summary .brxe-product-short-description:empty { display: none; }
.dino-product-summary form.cart:not(.variations_form),
.dino-product-summary form.cart .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
  margin: 0;
}
.dino-product-summary form.cart.variations_form { margin: 0; }
.dino-product-summary form.cart :is(.quantity, .single_add_to_cart_button) { order: 1; margin: 0 !important; }
.dino-product-summary form.cart .dino-minqty-hint { order: 2; }
.dino-product-summary .woocommerce-variation .dino-tier-caption { margin: 0 0 8px; }
.dino-product-summary form.cart :is(.dino-tier-caption, .b2bking_tiered_price_table) { order: 3; }
.dino-product-summary form.cart > :not(.quantity, .dino-qty-unit, .single_add_to_cart_button, input[type=hidden]),
.dino-product-summary form.cart .woocommerce-variation-add-to-cart > :not(.quantity, .dino-qty-unit, .single_add_to_cart_button, input[type=hidden]) { flex: 1 1 100%; }
/* ScanNet sales unit ("meter", "sæt") right after the quantity field, as on the live shop. */
.dino-product-summary form.cart .dino-qty-unit { order: 1; align-self: center; margin-left: -4px; font-weight: 600; }
.dino-product-summary form.cart .quantity { display: inline-flex; }
#brx-content:not(#dino-x) .dino-product-summary form.cart .single_add_to_cart_button {
  flex: 1 1 200px;
  max-width: 320px;
}
.dino-product-summary form.cart .single_add_to_cart_button.loading { opacity: 0.85; pointer-events: none; }
.dino-product-summary form.cart .single_add_to_cart_button.loading::after { top: calc(50% - 0.5em); right: 14px; }
.dino-product-summary form.cart .single_add_to_cart_button.loading > span { padding-right: 20px; }
.dino-minqty-hint {
  margin: -4px 0 0;
  color: var(--dino-muted);
  font-size: var(--dino-small);
  font-weight: 600;
}
.dino-product-summary form.cart table.variations { margin: 0 0 20px; border: 0; }
.dino-product-summary form.cart :is(table.variations, table.variations tbody) { display: block; width: 100%; }
.dino-product-summary form.cart table.variations tr:first-child { padding-top: 0; }
.dino-product-summary form.cart table.variations tr { border-top: 0; display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: center; gap: 8px 16px; padding-block: 8px; border-bottom: 1px solid var(--dino-line); }
.dino-product-summary form.cart table.variations :is(th, td) { display: block; padding: 0; border: 0; background: none; line-height: 1.4; }
.dino-product-summary form.cart table.variations select { width: 100%; cursor: pointer; }
.dino-product-summary form.cart table.variations select:hover { border-color: var(--dino-ink); }
.dino-product-summary .woocommerce-variation:not(:empty) { margin-bottom: 16px; }
.dino-product-summary .woocommerce-variation-price .price { font-size: var(--dino-card-title); font-weight: 600; }
@media (max-width: 479px) {
  .dino-product-summary form.cart table.variations tr { grid-template-columns: minmax(0, 1fr); }
}
.dino-tier-caption {
  margin: 8px 0 -4px;
  font-size: var(--dino-body);
  font-weight: 600;
}
.woocommerce .dino-product-summary table.b2bking_tiered_price_table,
.dino-product-summary table.b2bking_tiered_price_table {
  width: 100%;
  max-width: 420px;
  margin: 0;
  border: 1px solid var(--dino-line);
  border-radius: var(--dino-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  font-variant-numeric: tabular-nums;
}
.dino-product-summary table.b2bking_tiered_price_table :is(th, td) { padding: 10px 14px; border: 0; text-align: left; }
.dino-product-summary table.b2bking_tiered_price_table th { background: var(--dino-ink); color: var(--dino-white); font-size: var(--dino-small); }
.dino-product-summary table.b2bking_tiered_price_table tbody tr:nth-child(even) td { background: var(--dino-surface); }
.dino-product-summary table.b2bking_tiered_price_table tbody td { font-weight: 600; transition: background-color var(--dino-speed) ease, color var(--dino-speed) ease; }
.dino-product-summary table.b2bking_tiered_clickable tbody tr { cursor: pointer; }
.dino-product-summary table.b2bking_tiered_clickable tbody tr:hover td { background: #fdf1f1; }
.dino-product-summary table.b2bking_tiered_price_table tbody td.b2bking_has_color {
  background: #fdf1f1 !important;
  color: var(--dino-red) !important;
}
.dino-product-assurance {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 20px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--dino-line);
  list-style: none;
  font-size: var(--dino-small);
}
.dino-product-assurance li { display: inline-flex; align-items: center; gap: 8px; }
.dino-product-assurance li::before { content: "✓"; color: var(--dino-red); font-weight: 700; }
.dino-product-assurance a { display: inline-flex; align-items: center; min-height: var(--dino-tap); color: var(--dino-ink); font-weight: 600; text-decoration: none; }
.dino-product-assurance a:hover { color: var(--dino-red); text-decoration: underline; text-underline-offset: 3px; }
.dino-product-summary .product_meta { display: grid; gap: 4px; margin: 0; padding-top: 16px; border-top: 1px solid var(--dino-line); color: var(--dino-muted); font-size: var(--dino-small); }
.dino-product-summary .product_meta .text { color: var(--dino-ink); }
.dino-product-summary .product_meta a { display: inline-flex; align-items: center; min-height: var(--dino-tap); color: var(--dino-ink); font-weight: 600; text-underline-offset: 3px; }
.dino-product-summary .product_meta a:hover { color: var(--dino-red); }
body.single-product .woocommerce-tabs { padding-top: 16px; }
body.single-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 0 28px; margin: 0; padding: 0; border-bottom: 1px solid var(--dino-line); list-style: none; }
body.single-product .woocommerce-tabs ul.tabs::before { content: none; }
body.single-product .woocommerce-tabs ul.tabs li { margin: 0 0 -1px; padding: 0; border: 0; background: none; }
body.single-product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 14px 0 12px;
  border-bottom: 3px solid transparent;
  color: var(--dino-muted);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--dino-speed) ease, border-color var(--dino-speed) ease;
}
body.single-product .woocommerce-tabs ul.tabs li a:hover { color: var(--dino-ink); border-bottom-color: var(--dino-line); }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--dino-ink); border-bottom-color: var(--dino-red); }
body.single-product .woocommerce-tabs .panel { max-width: 75ch; margin: 24px 0 40px; padding: 0; }
body.single-product .woocommerce-tabs .panel p { margin: 0 0 10px; }
body.single-product .woocommerce-tabs .panel > h2:first-child { display: none; }
body.single-product .woocommerce-tabs table.shop_attributes { width: 100%; max-width: 560px; border: 1px solid var(--dino-line); border-collapse: collapse; }
body.single-product .woocommerce-tabs table.shop_attributes :is(th, td) { padding: 10px 14px; border-bottom: 1px solid var(--dino-line); font-style: normal; text-align: left; }
body.single-product .woocommerce-tabs table.shop_attributes th { width: 40%; background: var(--dino-surface); font-weight: 600; }
body.single-product .woocommerce-tabs table.shop_attributes td p { margin: 0; padding: 0; }
body.single-product :is(.related, .upsells) { padding-top: 16px; }
body.single-product :is(.related, .upsells) ul.products { gap: 20px; margin-bottom: 24px; }
body.single-product :is(.related, .upsells) ul.products li.product {
  display: flex;
  flex-flow: column nowrap; /* Bricks sets wrap: a wrapping column grows to its widest child. */
  padding: 0 0 16px;
  border: var(--dino-card-border);
  border-radius: var(--dino-card-radius);
  background: var(--dino-white);
  box-shadow: var(--dino-card-shadow);
  overflow: hidden;
  transition: box-shadow var(--dino-card-speed) ease, transform var(--dino-card-speed) ease, border-color var(--dino-card-speed) ease;
}
body.single-product :is(.related, .upsells) ul.products li.product > a:first-child { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; color: var(--dino-ink); text-decoration: none; }
body.single-product :is(.related, .upsells) ul.products li.product a img {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  margin: 0 0 14px;
  padding: 12px;
  background: var(--dino-white);
  border-bottom: 1px solid var(--dino-line);
  transition: transform 0.4s ease;
}
body.single-product :is(.related, .upsells) ul.products li.product :is(.woocommerce-loop-product__title, .price, .dino-tier-hint) { padding-inline: 16px; }
body.single-product :is(.related, .upsells) ul.products li.product .woocommerce-loop-product__title { margin-bottom: 8px; overflow-wrap: break-word; hyphens: auto; font-size: var(--dino-card-title); font-weight: var(--dino-card-title-weight); line-height: var(--dino-card-title-lh); transition: color var(--dino-speed) ease; }
body.single-product :is(.related, .upsells) ul.products li.product .price { display: block; margin-top: auto; }
body.single-product :is(.related, .upsells) ul.products li.product :is(.button, .added_to_cart) { width: auto; margin: 12px 16px 0; align-self: stretch; max-width: none; text-align: center; white-space: normal; text-wrap: balance; }
body.single-product :is(.related, .upsells) ul.products li.product:hover { border-color: var(--dino-control-line); }
body.single-product :is(.related, .upsells) ul.products li.product:hover .woocommerce-loop-product__title { color: var(--dino-red); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body.single-product :is(.related, .upsells) ul.products li.product:hover { transform: var(--dino-card-lift); box-shadow: var(--dino-card-shadow-hover); }
  body.single-product :is(.related, .upsells) ul.products li.product:hover a img { transform: scale(1.04); }
}
body.single-product :is(.related, .upsells) ul.products li.product:focus-within { box-shadow: var(--dino-card-shadow-hover); }
@media (max-width: 991px) {
  body.single-product #brxe-61b11e { gap: 40px; }
  body.single-product :is(.related, .upsells) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 767px) {
  body.single-product #brxe-61b11e { gap: 24px; }
  .dino-product-summary form.cart .single_add_to_cart_button { max-width: none; }
}
@media (max-width: 479px) {
  body.single-product :is(.related, .upsells) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body.single-product :is(.related, .upsells) ul.products li.product :is(.woocommerce-loop-product__title, .price, .dino-tier-hint) { padding-inline: 10px; }
  body.single-product :is(.related, .upsells) ul.products li.product :is(.button, .added_to_cart) { margin: 10px 10px 0; }
}
/* Quantity stepper (Bricks −/+ around the input): the field and both buttons share the input
   height, border and radius (--dino-input-*), so the stepper reads as one set of form controls. */
#brx-content .quantity:has(> .action) { display: inline-flex; align-self: center; align-items: stretch; gap: 4px; width: auto; height: var(--dino-input-min-h); }
#brx-content .quantity:has(> .action) .qty { height: var(--dino-input-min-h); }
#brx-content .quantity:has(> .action) .action {
  display: grid;
  place-items: center;
  width: var(--dino-input-min-h);
  height: var(--dino-input-min-h);
  border: var(--dino-input-border);
  border-radius: var(--dino-radius);
  background: var(--dino-white);
  color: var(--dino-ink);
  cursor: pointer;
  transition: var(--dino-transition);
}
#brx-content .quantity:has(> .action) .action:not(.disabled):hover { border-color: var(--dino-ink); background: var(--dino-surface); }
#brx-content .quantity:has(> .action) .action.disabled { color: var(--dino-muted); cursor: default; }
/* == Cart (templates 312/313) == */
body.woocommerce-cart table.shop_table.cart { border-radius: var(--dino-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; }
body.woocommerce-cart table.shop_table.cart thead th { background: var(--dino-surface); font-size: var(--dino-small); text-transform: none; }
body.woocommerce-cart table.shop_table.cart tbody th.product-name { background: transparent; font-weight: 400; text-align: left; }
body.woocommerce-cart table.shop_table.cart .product-name a { display: inline-block; padding-block: 10px; margin-block: -10px; color: var(--dino-ink); font-weight: 600; text-decoration: none; }
body.woocommerce-cart table.shop_table.cart .product-name a:hover { color: var(--dino-red); text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-cart table.shop_table.cart .product-thumbnail img {
  width: 80px;
  height: 80px;
  padding: 6px;
  border: 1px solid var(--dino-line);
  border-radius: var(--dino-radius);
  background: var(--dino-white);
  object-fit: contain;
}
body.woocommerce-cart table.shop_table.cart .product-remove a.remove {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  font-size: 24px;
  color: var(--dino-muted) !important;
  transition: background-color var(--dino-speed) ease, color var(--dino-speed) ease;
}
body.woocommerce-cart table.shop_table.cart .product-remove a.remove:hover { background: var(--dino-red); color: var(--dino-white) !important; }
body.woocommerce-cart table.shop_table.cart :is(.product-price, .product-subtotal) { font-variant-numeric: tabular-nums; white-space: nowrap; }
body.woocommerce-cart table.shop_table.cart .product-subtotal { font-weight: 600; }
body.woocommerce-cart table.shop_table.cart td.actions { background: var(--dino-surface); }
body.woocommerce-cart table.shop_table.cart td.actions .coupon { display: inline-flex; gap: 12px; align-items: stretch; }
body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text { width: 220px; margin: 0; }
/* Secondary cart actions (outlined, as .dino-button--secondary): update, coupon and B2BKing's
 * quote and purchase-list buttons. Checkout stays the one primary action. */
#brx-content:not(#dino-x) :is(button.button[name=update_cart], .coupon .button, #b2bking_request_custom_quote_button, .b2bking_add_cart_to_purchase_list_button) {
  margin: 0;
  border: 1px solid var(--dino-ink);
  background: var(--dino-white);
  color: var(--dino-ink);
}
#brx-content:not(#dino-x) :is(button.button[name=update_cart], .coupon .button, #b2bking_request_custom_quote_button, .b2bking_add_cart_to_purchase_list_button):not(:disabled):hover { background: var(--dino-ink); color: var(--dino-white); }
body.woocommerce-cart table.shop_table.cart td.actions { text-align: right; }
body.woocommerce-cart table.shop_table.cart td.actions > :is(.button, button) { margin-left: 8px; }
/* Long B2BKing labels (DE "Fordern Sie ein individuelles Angebot an") wrap inside the button. */
#brx-content:not(#dino-x) :is(#b2bking_request_custom_quote_button, .b2bking_add_cart_to_purchase_list_button) { white-space: normal; text-wrap: balance; }
/* B2B carts have three action buttons: the coupon takes its own row, the buttons one row below. */
@media (min-width: 769px) {
  body.woocommerce-cart table.shop_table.cart td.actions:has(#b2bking_request_custom_quote_button) .coupon { display: flex; float: none; margin-bottom: 12px; }
}
body.woocommerce-cart #brxe-239bc3 { padding-top: 0; }
body.woocommerce-cart #brxe-d9fff1 { align-items: start; }
body.woocommerce-cart #brxe-95000a:not(:has(li.product)) { visibility: hidden; }
body.woocommerce-cart .cart-collaterals { margin-top: 0; }
body.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  float: none;
  padding: 24px;
  border: 1px solid var(--dino-line);
  border-radius: var(--dino-radius);
  background: var(--dino-surface);
}
body.woocommerce-cart .cart_totals > h2 { margin: 0 0 16px; font-size: var(--dino-card-title); font-weight: var(--dino-card-title-weight); line-height: var(--dino-card-title-lh); }
body.woocommerce-cart .cart_totals table.shop_table { margin: 0 0 20px; border: 0; background: transparent; }
body.woocommerce-cart .cart_totals table.shop_table :is(th, td) { padding: 12px 0; border-top: 1px solid var(--dino-line); background: transparent; font-variant-numeric: tabular-nums; }
body.woocommerce-cart .cart_totals table.shop_table tr:first-child :is(th, td) { border-top: 0; }
body.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }
body.woocommerce-cart .cart_totals .order-total :is(th, td) { padding-top: 16px; border-top: 2px solid var(--dino-ink); font-size: var(--dino-heading-min); }
body.woocommerce-cart .cart_totals .order-total .includes_tax { display: block; font-size: var(--dino-small); font-weight: 400; color: var(--dino-muted); }
body.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
#brx-content:not(#dino-x) .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
  content: "→";
  margin-left: 10px;
  transition: transform var(--dino-speed) ease;
}
@media (prefers-reduced-motion: no-preference) {
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover::after { transform: translateX(4px); }
}
@media (min-width: 768px) {
  body.woocommerce-cart #brxe-637ff5 { position: sticky; top: 96px; }
}
@media (max-width: 768px) {
  body.woocommerce-cart table.shop_table_responsive.cart { border: 0; }
  body.woocommerce-cart table.shop_table_responsive.cart,
  body.woocommerce-cart table.shop_table_responsive.cart tbody { display: block; width: 100%; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    grid-template-areas:
      "thumb name remove"
      "thumb price price"
      "qty qty subtotal";
    align-items: center;
    gap: 4px 12px;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid var(--dino-line);
    border-radius: var(--dino-radius);
    background: var(--dino-white);
  }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item > :is(td, th) {
    display: block;
    padding: 0;
    border: 0;
    background: none;
    text-align: left !important;
  }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item > :is(td, th)::before { content: none !important; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .product-thumbnail { grid-area: thumb; display: block !important; align-self: start; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .product-thumbnail img { width: 72px; height: 72px; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .product-name { grid-area: name; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .product-price { grid-area: price; color: var(--dino-muted); font-size: var(--dino-small); }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .product-remove { grid-area: remove; align-self: start; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .product-remove a.remove { width: 44px; height: 44px; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .product-quantity { grid-area: qty; margin-top: 8px; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .product-subtotal { grid-area: subtotal; margin-top: 8px; text-align: right !important; white-space: normal; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .product-subtotal .tax_label,
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .product-subtotal small { display: block; font-size: var(--dino-small); font-weight: 400; }
  body.woocommerce-cart table.shop_table_responsive.cart tr:has(td.actions) { display: block; }
  body.woocommerce-cart table.shop_table_responsive.cart td.actions { display: block; padding: 16px; border: 1px solid var(--dino-line); border-radius: var(--dino-radius); }
  body.woocommerce-cart table.shop_table_responsive.cart td.actions::before { content: none !important; }
  body.woocommerce-cart table.shop_table_responsive.cart td.actions .coupon { display: flex; flex-wrap: wrap; width: 100%; margin-bottom: 12px; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .quantity { display: inline-flex; }
  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item .quantity .qty { width: 56px; }
  /* Field and button share a row while the placeholder fits, otherwise each takes a full row. */
  body.woocommerce-cart table.shop_table_responsive.cart td.actions .coupon .input-text { flex: 1 1 160px; width: auto; min-width: 0; }
  #brx-content:not(#dino-x) table.shop_table_responsive.cart td.actions .coupon .button { width: auto; flex: 1 1 auto; padding-inline: 16px; }
  #brx-content:not(#dino-x) table.shop_table_responsive.cart td.actions > :is(button[name=update_cart], #b2bking_request_custom_quote_button, .b2bking_add_cart_to_purchase_list_button) { width: 100%; margin: 0 0 8px; }
  body.woocommerce-cart #brxe-95000a:not(:has(li.product)) { display: none; }
  body.woocommerce-cart .cart_totals table.shop_table tr { display: flex; justify-content: space-between; gap: 12px; }
  body.woocommerce-cart .cart_totals table.shop_table :is(th, td) { display: block; border-top: 0; }
  body.woocommerce-cart .cart_totals table.shop_table tr + tr { border-top: 1px solid var(--dino-line); }
  body.woocommerce-cart .cart_totals table.shop_table tr.order-total { border-top: 2px solid var(--dino-ink); }
  body.woocommerce-cart .cart_totals table.shop_table td::before { content: none !important; }
}
.dino-cart-empty { padding-block: 48px 24px; text-align: center; }
.dino-cart-empty::before {
  content: "";
  display: block;
  width: 72px;
  height: 72px;
  margin: 0 auto 4px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h10.2L20 7H6.2'/%3E%3Ccircle cx='9' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3C/svg%3E") center / 36px no-repeat,
    var(--dino-surface);
}
.dino-cart-empty > h2 { margin: 0; }
.dino-cart-empty-help { width: min(560px, 100%); margin: 24px auto 0; padding-top: 24px; border-top: 1px solid var(--dino-line); text-align: left; }
.dino-cart-empty-help .dino-shop-search label { color: var(--dino-ink); }
.dino-cart-empty-contact { margin: 16px 0 0; text-align: center; }
.dino-cart-empty-contact a { color: var(--dino-ink); font-weight: 600; text-underline-offset: 3px; }
.dino-cart-empty-contact a:hover { color: var(--dino-red); }
/* == Checkout (template 316): layout only == */
body.woocommerce-checkout #brxe-7ebb48 { align-items: start; gap: 48px; }
body.woocommerce-checkout #brxe-810d63 > * { min-width: 0; }
@media (min-width: 768px) {
  body.woocommerce-checkout #brxe-810d63 {
    position: sticky;
    top: 96px;
    padding: 24px;
    border: 1px solid var(--dino-line);
    border-radius: var(--dino-radius);
    background: var(--dino-white);
    box-shadow: 0 10px 30px rgb(8 9 9 / 6%);
  }
}
body.woocommerce-checkout :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) h3,
body.woocommerce-checkout #order_review_heading { margin: 0 0 20px; }
body.woocommerce-checkout .woocommerce-additional-fields { margin-top: 32px; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100%; table-layout: fixed; border-radius: var(--dino-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; font-variant-numeric: tabular-nums; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table :is(th, td) { padding: 12px 14px; overflow-wrap: anywhere; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { background: transparent; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity { color: var(--dino-muted); font-weight: 400; white-space: nowrap; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total :is(th, td) { border-top: 2px solid var(--dino-ink); font-size: var(--dino-heading-min); }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .includes_tax { display: block; font-size: var(--dino-small); font-weight: 400; color: var(--dino-muted); }
body.woocommerce-checkout .brxe-woocommerce-checkout-coupon { padding: 16px; border-radius: var(--dino-radius); }
body.woocommerce-checkout .brxe-woocommerce-checkout-coupon :is(form, .coupon) { gap: 12px; }
body.woocommerce-checkout #payment { border: 1px solid var(--dino-line); border-radius: var(--dino-radius); background: var(--dino-surface); }
body.woocommerce-checkout #payment :is(ul.payment_methods, div.form-row) { padding: 24px; }
body.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--dino-line); }
body.woocommerce-checkout #payment ul.payment_methods li.woocommerce-notice { padding: 0; border: 0; background: none; font-size: var(--dino-body); }
body.woocommerce-checkout #payment ul.payment_methods li.woocommerce-notice::before { content: none; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row label.checkbox { position: relative; display: block; padding-left: 32px; font-size: var(--dino-body); cursor: pointer; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row label.checkbox input { position: absolute; top: 3px; left: 0; margin: 0; }
#brx-content:not(#dino-x) #place_order { width: 100%; }
body.woocommerce-checkout #payment :is(p, .woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper) { font-size: var(--dino-body); }
@media (max-width: 991px) {
  body.woocommerce-checkout #brxe-7ebb48 { gap: 24px; }
  body.woocommerce-checkout #brxe-810d63 { padding: 16px; }
}
@media (max-width: 767px) {
  body.woocommerce-checkout #brxe-7ebb48 { gap: 32px; }
  body.woocommerce-checkout #brxe-810d63 { padding: 20px 0 0; border-top: 2px solid var(--dino-ink); }
  body.woocommerce-checkout #payment :is(ul.payment_methods, div.form-row) { padding: 20px; }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table :is(th, td) { padding: 10px; }
}
/* Phones: the "no payment methods" notice uses the full payment box width. */
@media (max-width: 479px) {
  body.woocommerce-checkout #payment { padding: 0; }
  body.woocommerce-checkout #payment :is(ul.payment_methods, div.form-row) { padding: 16px; }
  body.woocommerce-checkout #payment ul.payment_methods > li:has(> .woocommerce-info) { margin: 0; }
  body.woocommerce-checkout #payment ul.payment_methods .woocommerce-info { gap: 10px; margin: 0; padding: 12px 14px; }
}
/* == My account (page 9, templates 322–334) == */
body.woocommerce-account .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; align-items: start; }
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after { content: none; }
body.woocommerce-account .woocommerce > :not(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) { grid-column: 1 / -1; }
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content { width: auto; float: none; margin: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { border: 1px solid var(--dino-line); border-radius: var(--dino-radius); overflow: hidden; background: var(--dino-white); }
body.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--dino-line); }
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  min-height: var(--dino-btn-min-h);
  padding: 12px 18px;
  border-left: 3px solid transparent;
  color: var(--dino-ink);
  line-height: 1.4;
  overflow-wrap: anywhere;
  text-decoration: none;
  transition: background-color var(--dino-speed) ease, border-color var(--dino-speed) ease, color var(--dino-speed) ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { border-left-color: var(--dino-red); background: var(--dino-surface); }
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-left-color: var(--dino-red); background: var(--dino-ink); color: var(--dino-white); font-weight: 600; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--dino-muted); }
body.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
body.woocommerce-account .woocommerce-MyAccount-content :is(h2, h3) { font-size: var(--dino-card-title); font-weight: var(--dino-card-title-weight); line-height: var(--dino-card-title-lh); overflow-wrap: anywhere; }
body.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after { content: none; }
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width: auto; float: none; margin: 0; padding: 20px; border: 1px solid var(--dino-line); border-radius: var(--dino-radius); }
body.woocommerce-account .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin-bottom: 12px; }
body.woocommerce-account .woocommerce-Address-title :is(h2, h3) { margin: 0; }
body.woocommerce-account .woocommerce-Address-title a.edit { display: inline-flex; align-items: center; min-height: var(--dino-tap); color: var(--dino-red); font-weight: 600; text-underline-offset: 3px; }
body.woocommerce-account .woocommerce-Address address { margin: 0; color: var(--dino-ink); line-height: 1.6; }
body.woocommerce-account table.woocommerce-orders-table { border-radius: var(--dino-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; font-variant-numeric: tabular-nums; }
body.woocommerce-account table.woocommerce-orders-table tbody tr:hover :is(td, th) { background: var(--dino-surface); }
body.woocommerce-account table.woocommerce-orders-table tbody th { background: transparent; }
body.woocommerce-account .woocommerce-MyAccount-content :is(form.edit-account, .woocommerce-address-fields) { max-width: 720px; }
body.woocommerce-account .woocommerce-MyAccount-content fieldset { margin: 24px 0; padding: 20px; border: 1px solid var(--dino-line); border-radius: var(--dino-radius); }
body.woocommerce-account .woocommerce-MyAccount-content fieldset legend { padding: 0 8px; font-weight: 600; }
body.woocommerce-account .woocommerce-MyAccount-content em { display: block; margin-top: 6px; color: var(--dino-muted); font-size: var(--dino-small); }
@media (max-width: 767px) {
  body.woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation { background: none; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-flow: row wrap;
    gap: 8px;
    border: 0;
    border-radius: 0;
    background: none;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; border: 0; }
  body.woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: var(--dino-tap);
    padding: 10px 16px;
    border: 1px solid var(--dino-line);
    border-radius: 999px;
    background: var(--dino-white);
    white-space: nowrap;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { border-color: var(--dino-ink); }
  body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-color: var(--dino-ink); }
  body.woocommerce-account .woocommerce-MyAccount-content { margin-top: 0; }
  body.woocommerce-account table.woocommerce-orders-table tr { border-bottom: 1px solid var(--dino-line); }
}
body.woocommerce-account #brxe-6b4e73 { padding: 0; }
/* Page header section → account section: only the main row gap between them (24/40px). */
body.woocommerce-account #brx-content > .brxe-section:has(> .brxe-container > .brxe-woocommerce-breadcrumbs) { padding-bottom: 0; }
body.woocommerce-account #brx-content > .brxe-section > .brxe-container > .brxe-woocommerce-breadcrumbs { margin-bottom: 0; }
body.woocommerce-account #brx-content > .brxe-section:has(> .brxe-container > .brxe-woocommerce-breadcrumbs) + .brxe-section { padding-top: 0; }
body.woocommerce-account #brxe-480680 { width: 100%; max-width: none; padding: 0; }
.dino-account-login { width: 100%; align-items: start; gap: 32px; }
.dino-account-login > .brxe-block > h2 { margin-bottom: 12px; }
.dino-account-login form.woocommerce-form-login {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 28px;
  border: 1px solid var(--dino-line);
  border-radius: var(--dino-radius);
}
.dino-account-login form.woocommerce-form-login :is(.form-group, p) { margin: 0; }
.dino-account-login form.woocommerce-form-login label { display: block; margin-bottom: 6px; font-weight: 600; }
.dino-account-login form.woocommerce-form-login .remember label { display: inline-flex; align-items: center; min-height: var(--dino-tap); font-weight: 400; cursor: pointer; }
/* Show-password toggle (login, register, B2B application): an eye inside the field. Bricks styles it
   only under .woocommerce-account and with the WooCommerce icon font, which is not loaded. */
#brx-content form .password-input { display: block; position: relative; }
#brx-content form .password-input input { width: 100%; padding-right: 52px; }
#brx-content form .show-password-input {
  position: absolute;
  top: 50%;
  right: 2px;
  display: grid;
  place-items: center;
  width: var(--dino-tap);
  height: var(--dino-tap);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--dino-radius);
  background: transparent;
  color: var(--dino-muted);
  transform: translateY(-50%);
  cursor: pointer;
}
#brx-content form .show-password-input:hover { color: var(--dino-ink); }
#brx-content form .show-password-input::after {
  content: "";
  width: 20px;
  height: 20px;
  margin: 0;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
#brx-content form .show-password-input.display-password::after {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.6 5.1A10 10 0 0 1 12 5c6.4 0 10 7 10 7a17 17 0 0 1-3 3.9M6.6 6.6A17 17 0 0 0 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2M3 3l18 18'/%3E%3C/svg%3E");
}
#brx-content:not(#dino-x) .dino-account-login form.woocommerce-form-login .woocommerce-form-login__submit { width: 100%; }
.dino-account-login .lost_password a { display: inline-flex; align-items: center; min-height: var(--dino-tap); color: var(--dino-ink); text-decoration: underline; text-underline-offset: 3px; }
.dino-account-login .lost_password a:hover { color: var(--dino-red); }
.dino-account-login #brxe-ce5435 { border-left: 4px solid var(--dino-red); border-radius: var(--dino-radius); }
.dino-account-b2b-panel p { margin: 0 0 16px; }
.dino-account-b2b-contact { display: inline-flex; align-items: center; min-height: var(--dino-tap); color: var(--dino-ink); font-weight: 600; text-underline-offset: 3px; }
.dino-account-b2b-contact:hover { color: var(--dino-red); }
@media (max-width: 767px) {
  .dino-account-login form.woocommerce-form-login { padding: 20px; }
  .dino-account-login #brxe-ce5435 { padding: 24px !important; }
}
body.woocommerce-account form:is(.woocommerce-ResetPassword, .lost_reset_password) {
  max-width: 560px;
  padding: 28px;
  border: 1px solid var(--dino-line);
  border-radius: var(--dino-radius);
}
body.woocommerce-account form:is(.woocommerce-ResetPassword, .lost_reset_password) > p:first-child { margin-top: 0; }
body.woocommerce-account form:is(.woocommerce-ResetPassword, .lost_reset_password) .form-row { width: 100%; float: none; }
#brx-content:not(#dino-x) form:is(.woocommerce-ResetPassword, .lost_reset_password) .button { width: 100%; }
@media (max-width: 767px) {
  body.woocommerce-account form:is(.woocommerce-ResetPassword, .lost_reset_password) { padding: 20px; }
}
/* == B2B application (pages 7493–7497) == */
#brx-content .dino-b2b-container { max-width: 760px; }
.dino-b2b-container .woocommerce-form-register { padding: 32px; }
@media (min-width: 768px) {
  .dino-b2b-container .woocommerce-form-register { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .dino-b2b-container .woocommerce-form-register > * { grid-column: 1 / -1; min-width: 0; }
  .dino-b2b-container .woocommerce-form-register > :is(
    .b2bking_custom_registration_container_field_26,
    .b2bking_custom_registration_container_field_7491,
    .b2bking_custom_registration_container_field_17,
    .b2bking_custom_registration_container_field_18,
    .b2bking_custom_registration_container_field_23,
    .b2bking_custom_registration_container_field_22,
    .b2bking_custom_registration_container_field_24,
    .b2bking_custom_registration_container_field_7492
  ) { grid-column: auto; }
  .dino-b2b-container .woocommerce-form-register > .b2bking_custom_registration_container_field_26[style*="none"] + .b2bking_custom_registration_container_field_7491 { grid-column: 1 / -1; }
}
.dino-b2b-container .woocommerce-form-register .form-row label .required { color: var(--dino-red); }
#brx-content:not(#dino-x) .dino-b2b-container p.b2bking_country_field_selector { min-height: 0; margin: 0; padding: 0; border: 0; background: none; }
#brx-content .dino-b2b-container .woocommerce-form-register .b2bking_custom_registration_container { margin: 0; }
#brx-content .dino-b2b-container .woocommerce-form-register .form-row { margin: 0 0 18px; }
/* Country row: the select's own p.form-row has margin 0 (above), so the row container spaces it. */
#brx-content .dino-b2b-container .woocommerce-form-register .b2bking_custom_registration_container:has(> .b2bking_country_field_selector) { margin-bottom: 18px; }
#brx-content .dino-b2b-container .select2-container .select2-selection--single {
  min-height: var(--dino-input-min-h);
  padding: 0;
  border: var(--dino-input-border);
  border-radius: var(--dino-radius);
}
.dino-b2b-container .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 36px 0 12px; line-height: calc(var(--dino-input-min-h) - 2px); }
.dino-b2b-container .select2-container .select2-selection--single .select2-selection__arrow { height: calc(var(--dino-input-min-h) - 2px); }
.dino-b2b-container .woocommerce-privacy-policy-text { font-size: var(--dino-body); color: var(--dino-muted); }
#brx-content .dino-b2b-container .woocommerce-form-register .woocommerce-privacy-policy-text { margin: 0; }
#brx-content:not(#dino-x) .dino-b2b-container .woocommerce-form-register button[type=submit] { width: 100%; }
@media (max-width: 767px) {
  .dino-b2b-container .woocommerce-form-register { padding: 20px; }
}
