/* Accessible controls over the existing native swatches and selects. */
.dr-product-page .drb-vx-form .drb-vx-row { border: 0; display: block; margin: 0 0 1.1rem; min-width: 0; }
.dr-product-page .drb-vx-form .drb-vx-row th.label,
.dr-product-page .drb-vx-form .drb-vx-row td.value { background: transparent; border: 0; display: block !important; min-width: 0; padding: 0; width: 100%; }
.dr-product-page .drb-vx-form .drb-vx-row th.label { margin: 0 0 0.65rem; }
.dr-product-page .drb-vx-form .drb-vx-row th label { color: var(--ink); display: inline; font-family: var(--sans); font-size: 0.85rem; font-weight: 750; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.dr-product-page .drb-vx-row .cfvsw-selected-label { display: none; }
.dr-product-page .drb-vx-selected:not(:empty)::before { content: ': '; }
.dr-product-page .drb-vx-selected { color: var(--olive); font-family: var(--serif); font-size: 0.85rem; font-weight: 400; line-height: 1.4; }
.dr-product-page .drb-vx-row .cfvsw-swatches-container { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; min-width: 0; padding: 0; }
.dr-product-page .drb-vx-row .cfvsw-swatches-option { border: 1px solid var(--line); border-radius: 0 !important; box-sizing: border-box; margin: 0; min-height: 44px !important; min-width: 44px !important; position: relative; }
.dr-product-page .drb-vx-row .cfvsw-label-option { background: var(--paper-light); color: var(--ink); padding: 0.6rem 0.75rem; }
.dr-product-page .drb-vx-row .cfvsw-label-option .cfvsw-swatch-inner { color: var(--ink); font-family: var(--sans); font-size: 0.9rem; font-weight: 650; line-height: 1.3; }
.dr-product-page .drb-vx-color .cfvsw-swatches-option,
.dr-product-page .drb-vx-row .cfvsw-image-option { flex: 0 0 44px; height: 44px !important; max-width: 44px; padding: 3px; width: 44px !important; }
.dr-product-page .drb-vx-color .cfvsw-swatch-inner,
.dr-product-page .drb-vx-row .cfvsw-image-option .cfvsw-swatch-inner { border-radius: 0; height: 100%; min-height: 0; min-width: 0; width: 100%; }
.dr-product-page .drb-vx-row .drb-vx-control { background: transparent; border: 0; border-radius: 0; color: var(--ink); cursor: pointer; display: block; height: 100%; inset: 0; margin: 0; min-height: 44px; min-width: 44px; padding: 0; position: absolute; width: 100%; z-index: 1; }
.dr-product-page .drb-vx-control:focus-visible { outline: 2px solid var(--olive); outline-offset: 3px; }
.dr-product-page .drb-vx-row .cfvsw-selected-swatch { border-color: var(--ink) !important; outline: 1px solid var(--ink); outline-offset: 1px; }
.dr-product-page .drb-vx-color .cfvsw-selected-swatch > .drb-vx-control::after { align-items: center; background: var(--paper-light); bottom: 3px; color: var(--ink); content: '✓'; display: flex; font-family: var(--sans); font-size: 0.7rem; height: 17px; justify-content: center; position: absolute; right: 3px; width: 17px; }
.dr-product-page .drb-vx-row .drb-vx-control:disabled { cursor: not-allowed; }
.dr-product-page .drb-vx-version .cfvsw-swatches-container { display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr); width: 100%; }
.dr-product-page .drb-vx-version .cfvsw-label-option { align-items: center; background: var(--paper-light); display: flex; min-height: 78px !important; min-width: 0 !important; padding: 0.8rem; text-align: left; width: 100%; }
.dr-product-page .drb-vx-version .cfvsw-label-option.cfvsw-selected-swatch { background: var(--acid); }
.dr-product-page .drb-vx-version .cfvsw-label-option .cfvsw-swatch-inner { background: transparent; display: grid; gap: 5px 12px; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; text-align: left; width: 100%; }
.dr-product-page .drb-vx-name { color: var(--ink); font-size: 0.9rem; font-weight: 750; line-height: 1.25; overflow-wrap: break-word; }
.dr-product-page .drb-vx-price { align-self: start; color: var(--ink); font-family: var(--sans); font-size: 0.9rem; font-weight: 750; line-height: 1.25; text-align: right; white-space: nowrap; }
.dr-product-page .drb-vx-price .price,
.dr-product-page .drb-vx-price .amount,
.dr-product-page .drb-vx-price .woocommerce-Price-currencySymbol { color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: 0; }
.dr-product-page .drb-vx-price .price { display: inline; margin: 0; }
.dr-product-page .drb-vx-hint { color: var(--ink); font-family: var(--serif); font-size: 0.78rem; font-weight: 400; grid-column: 1 / -1; line-height: 1.4; }
.dr-product-page .drb-vx-form .reset_variations { display: inline-block; min-height: 44px; padding: 0.7rem 0; }
@media (max-width: 720px) {
  .dr-product-page .drb-vx-form .variations { table-layout: auto; }
  .dr-product-page .drb-vx-version .cfvsw-label-option { padding: 0.75rem; }
  .dr-product-page .drb-vx-name, .dr-product-page .drb-vx-price { font-size: 0.85rem; }
}
