/* Bahamoot Vapier Quick View Pro 2.2.0 */
body.bqv-modal-open { overflow: hidden !important; }
.bqv-root, .bqv-root * { box-sizing: border-box; }

/* ==========================================================
   ARCHIVE QUICK VIEW TRIGGER
========================================================== */
.products-thumb.bqv-has-trigger,
.product-wapper.bqv-has-trigger { position: relative !important; }

.bqv-card-trigger {
    position: absolute !important;
    right: 10px !important;
    bottom: 10px !important;
    z-index: 60 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(17,17,17,.13) !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.97) !important;
    color: #111 !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.11) !important;
    cursor: pointer !important;
    opacity: 0;
    transform: translateY(5px);
    transition: opacity .18s ease, transform .18s ease, background .18s ease, color .18s ease !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.product-wapper:hover .bqv-card-trigger,
li.product:hover .bqv-card-trigger,
.bqv-card-trigger:focus-visible,
.bqv-card-trigger.is-loading { opacity: 1; transform: none; }
.bqv-card-trigger:hover,
.bqv-card-trigger:focus-visible { background: #111 !important; color: #fff !important; border-color: #111 !important; outline: none !important; }
.bqv-card-trigger svg { width: 18px !important; height: 18px !important; fill: currentColor !important; pointer-events: none; }
.bqv-card-trigger.is-loading svg { opacity: .16; }
.bqv-card-trigger.is-loading::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: bqv-spin .65s linear infinite;
}
.bqv-card-trigger::after {
    content: attr(data-bqv-label);
    position: absolute;
    right: 46px;
    top: 50%;
    padding: 7px 10px;
    border-radius: 7px;
    background: #111;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translate(4px,-50%);
    transition: .16s ease;
    pointer-events: none;
}
.bqv-card-trigger:hover::after,
.bqv-card-trigger:focus-visible::after { opacity: 1; visibility: visible; transform: translate(0,-50%); }
.product-quickview { display: none !important; }

/* ==========================================================
   MODAL SHELL
========================================================== */
.bqv-root {
    position: fixed;
    inset: 0;
    z-index: 99999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .16s ease, visibility .16s ease;
}
.bqv-root.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.bqv-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8,12,18,.69);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.bqv-dialog {
    position: relative;
    z-index: 2;
    width: min(var(--bqv-modal-width,1480px), calc(100vw - 40px));
    max-height: calc(100dvh - 40px);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 20px;
    background: #fff;
    color: #111;
    box-shadow: 0 30px 100px rgba(0,0,0,.32);
    opacity: 0;
    transform: translateY(10px) scale(.992);
    transition: opacity .18s ease, transform .18s ease;
    outline: none;
}
.bqv-root.is-open .bqv-dialog { opacity: 1; transform: none; }
.bqv-content {
    max-height: calc(100dvh - 40px);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #cdd2d7 transparent;
}
.bqv-content::-webkit-scrollbar { width: 7px; height: 7px; }
.bqv-content::-webkit-scrollbar-thumb { border-radius: 20px; background: #cdd2d7; }

.bqv-close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 180 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e1e5e9 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 5px 16px rgba(0,0,0,.08) !important;
    cursor: pointer !important;
}
.bqv-close span,
.bqv-close span::after { position: absolute; width: 15px; height: 1.5px; content: ""; background: #111; transform: rotate(45deg); }
.bqv-close span::after { transform: rotate(90deg); }
.bqv-close:hover { background: #111 !important; border-color: #111 !important; }
.bqv-close:hover span,
.bqv-close:hover span::after { background: #fff; }

/* ==========================================================
   LOADERS / ALERTS
========================================================== */
.bqv-main-loader {
    display: none;
    min-height: 420px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    color: #68717a;
    font-size: 12px;
}
.bqv-root.is-loading .bqv-main-loader { display: flex; }
.bqv-root.is-loading .bqv-content { display: none; }
.bqv-loader-spinner,
.bqv-table-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #e7eaed;
    border-top-color: var(--bqv-accent,#111);
    border-radius: 50%;
    animation: bqv-spin .72s linear infinite;
}
@keyframes bqv-spin { to { transform: rotate(360deg); } }

.bqv-error-state {
    min-height: 380px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 36px;
    color: #424a52;
    text-align: center;
}
.bqv-error-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #fff0f0; color: #c83e3e; font-size: 22px; font-weight: 800; }
.bqv-product-retry,
.bqv-table-retry { min-height: 38px; padding: 8px 16px; border: 0; border-radius: 8px; background: #111; color: #fff; font-size: 11px; font-weight: 750; cursor: pointer; }

.bqv-alert {
    position: absolute;
    top: 16px;
    left: 50%;
    z-index: 200;
    max-width: calc(100% - 130px);
    padding: 9px 14px;
    border-radius: 9px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%,-8px);
    transition: .18s ease;
}
.bqv-alert.is-visible { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.bqv-alert.is-success { background: #147a49; }
.bqv-alert.is-error { background: #c43e3e; }
.bqv-alert.is-warning { background: #9a6700; }

/* ==========================================================
   PROFESSIONAL DESKTOP TWO-COLUMN LAYOUT
   Image left. Product info + variation table right.
========================================================== */
.bqv-top {
    display: grid;
    grid-template-columns: minmax(300px,var(--bqv-gallery-width,360px)) minmax(0,1fr);
    gap: 24px;
    padding: 26px;
    min-height: 0;
}
.bqv-gallery-column { min-width: 0; }
.bqv-gallery-wrap { position: sticky; top: 26px; min-width: 0; }
.bqv-main-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1/1;
    max-height: 430px;
    overflow: hidden;
    border: 1px solid #e8ebee;
    border-radius: 16px;
    background: #fbfbfc;
}
.bqv-main-image img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px;
    object-fit: contain;
    transition: opacity .15s ease, transform .18s ease;
}
.bqv-main-image img.is-changing { opacity: .3; transform: scale(.985); }
.bqv-thumbs { display: flex; gap: 7px; margin-top: 9px; overflow-x: auto; padding: 1px 1px 4px; scrollbar-width: thin; }
.bqv-thumb {
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    padding: 4px !important;
    overflow: hidden;
    border: 1px solid #e2e6e9 !important;
    border-radius: 9px !important;
    background: #fff !important;
    cursor: pointer;
}
.bqv-thumb.is-active,
.bqv-thumb:hover { border-color: #111 !important; box-shadow: 0 0 0 1px #111 inset; }
.bqv-thumb img { width: 100%; height: 100%; object-fit: contain; }

.bqv-detail-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-right: 34px;
}
.bqv-summary {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 16px 24px;
    min-width: 0;
    padding: 1px 0 14px;
    border-bottom: 1px solid #eceff1;
}
.bqv-summary-primary { min-width: 0; }
.bqv-summary-actions { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-end; gap: 9px; min-width: 165px; }
.bqv-brand-row { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 7px; }
.bqv-brand {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #f1f3f5;
    color: #4f5962 !important;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .48px;
    text-decoration: none !important;
    text-transform: uppercase;
}
.bqv-title {
    margin: 0 0 8px !important;
    max-width: 880px;
    color: #111315 !important;
    font-size: clamp(22px,1.75vw,31px) !important;
    font-weight: 760 !important;
    line-height: 1.14 !important;
    letter-spacing: -.02em;
}
.bqv-price-stock-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-bottom: 9px; }
.bqv-price { margin: 0; color: #111 !important; font-size: 20px; font-weight: 800; line-height: 1.2; }
.bqv-price * { color: inherit !important; }
.bqv-price del { margin-right: 5px; color: #8c949c !important; font-size: .72em; font-weight: 550; }
.bqv-price ins { color: #111 !important; text-decoration: none; }
.bqv-stock { display: inline-flex; align-items: center; gap: 7px; margin: 0; color: #56616b; font-size: 10px; font-weight: 650; }
.bqv-stock .stock { margin: 0 !important; padding: 0 !important; color: inherit !important; background: transparent !important; font: inherit !important; }
.bqv-stock-dot { width: 6px; height: 6px; border-radius: 50%; background: #24a160; box-shadow: 0 0 0 3px rgba(36,161,96,.10); }
.bqv-stock.is-out-of-stock .bqv-stock-dot { background: #d14d4d; box-shadow: 0 0 0 3px rgba(209,77,77,.10); }
.bqv-excerpt {
    display: -webkit-box;
    max-width: 900px;
    margin: 0 0 10px;
    overflow: hidden;
    color: #66707a;
    font-size: 11px;
    line-height: 1.55;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.bqv-excerpt p { margin: 0; }
.bqv-meta { display: flex; flex-wrap: wrap; gap: 7px 16px; margin: 0; }
.bqv-meta-item { display: inline-flex; min-width: 0; align-items: baseline; gap: 6px; font-size: 9px; line-height: 1.35; }
.bqv-meta-item span { color: #949ba2; font-weight: 650; text-transform: uppercase; letter-spacing: .3px; }
.bqv-meta-item strong { max-width: 320px; overflow: hidden; color: #343a40; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.bqv-view-product {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 37px;
    padding: 8px 13px;
    border: 1px solid #dfe3e7;
    border-radius: 8px;
    background: #fff;
    color: #111 !important;
    font-size: 10px;
    font-weight: 750;
    text-decoration: none !important;
    white-space: nowrap;
}
.bqv-view-product:hover { border-color: #111; background: #111; color: #fff !important; }

.bqv-native-cart { width: 100%; }
.bqv-native-cart form.cart { display: flex !important; align-items: center !important; justify-content: flex-end; gap: 8px !important; margin: 0 !important; }
.bqv-native-cart .quantity { margin: 0 !important; }
.bqv-native-cart .quantity .qty { width: 68px !important; height: 39px !important; border: 1px solid #dfe3e7 !important; border-radius: 8px !important; background: #fff !important; color: #111 !important; font-size: 12px !important; font-weight: 700 !important; text-align: center !important; }
.bqv-native-cart .single_add_to_cart_button,
.bqv-native-cart a.button { min-height: 39px !important; padding: 9px 15px !important; border: 0 !important; border-radius: 8px !important; background: var(--bqv-accent,#111) !important; color: #fff !important; font-size: 10px !important; font-weight: 800 !important; box-shadow: none !important; }

/* ==========================================================
   VARIATION TABLE — RIGHT SIDE OF IMAGE ON DESKTOP
========================================================== */
.bqv-variations-section { min-width: 0; padding: 0; background: transparent; }
.bqv-variations-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 8px; }
.bqv-section-kicker { display: block; margin-bottom: 2px; color: #939ba3; font-size: 7px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.bqv-variations-head h3 { margin: 0 !important; color: #111 !important; font-size: 16px !important; font-weight: 780 !important; line-height: 1.2 !important; }
.bqv-variation-count { flex: 0 0 auto; padding: 5px 8px; border: 1px solid #e0e4e7; border-radius: 999px; background: #fff; color: #6d757d; font-size: 8px; font-weight: 750; }
.bqv-table-shell { width: 100%; overflow: hidden; border: 1px solid #e1e5e8; border-radius: 12px; background: #fff; box-shadow: 0 7px 24px rgba(10,20,30,.045); }
.bqv-table-loader { min-height: 150px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 20px; color: #68727b; }
.bqv-table-loader div { display: flex; flex-direction: column; gap: 2px; }
.bqv-table-loader strong { color: #31373d; font-size: 11px; }
.bqv-table-loader span:not(.bqv-table-spinner) { font-size: 9px; }
.bqv-table-error { min-height: 145px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 20px; color: #515b64; text-align: center; }
.bqv-table-error[hidden] { display: none !important; }
.bqv-table-host:empty { display: none; }
.bqv-table-scroll {
    width: 100%;
    max-height: min(52vh,560px);
    overflow: auto;
    padding: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #cdd2d7 transparent;
}
.bqv-table-scroll::-webkit-scrollbar { width: 7px; height: 7px; }
.bqv-table-scroll::-webkit-scrollbar-thumb { background: #cdd2d7; border-radius: 20px; }
.bqv-table-scroll .woocommerce-variations-table,
.bqv-table-scroll .dataTables_wrapper { width: 100% !important; max-width: 100% !important; }
.bqv-table-scroll .woocommerce-variations-table { min-width: 680px !important; margin: 0 !important; border-collapse: separate !important; border-spacing: 0 !important; background: #fff !important; }
.bqv-table-scroll .dataTables_wrapper { margin: 0 !important; }
.bqv-table-scroll .dataTables_filter,
.bqv-table-scroll .dataTables_length,
.bqv-table-scroll .dataTables_info,
.bqv-table-scroll .dataTables_paginate,
.bqv-table-scroll .dt-buttons,
.bqv-table-scroll .column-filter-widgets { display: none !important; }
.bqv-table-scroll .woocommerce-variations-table-lazy-sentinel { margin: 0 !important; min-height: 48px !important; border-top: 1px solid #edf0f2; background: #fafbfc !important; }
.bqv-table-fallback { padding: 16px; }

/* Strong table normalization against Vapier and the vendor plugin's dark row CSS. */
.bqv-root .woocommerce-variations-table thead th,
.bqv-root .woocommerce-variations-table th {
    position: sticky;
    top: 0;
    z-index: 5;
    padding: 9px 8px !important;
    border: 0 !important;
    border-bottom: 1px solid #dfe4e8 !important;
    background: #f7f8f9 !important;
    color: #5f6871 !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .25px !important;
    text-align: left !important;
    text-transform: uppercase;
    white-space: nowrap !important;
}
.bqv-root .woocommerce-variations-table tbody tr,
.bqv-root .woocommerce-variations-table tbody tr:nth-child(odd),
.bqv-root .woocommerce-variations-table tbody tr:nth-child(even) { background: #fff !important; }
.bqv-root .woocommerce-variations-table tbody tr:hover { background: #fafbfc !important; }
.bqv-root .woocommerce-variations-table td {
    padding: 7px 8px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f2 !important;
    background: transparent !important;
    color: #252a2f !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    vertical-align: middle !important;
}
.bqv-root .woocommerce-variations-table td * { max-width: 100%; }
.bqv-root .woocommerce-variations-table button,
.bqv-root .woocommerce-variations-table input,
.bqv-root .woocommerce-variations-table a { transform: none; }
.bqv-root .woocommerce-variations-table .variations-table-value-im img {
    display: block !important;
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    margin: 0 !important;
    padding: 2px !important;
    border: 1px solid #eceff1;
    border-radius: 8px;
    background: #fff;
    object-fit: contain !important;
}
.bqv-root .woocommerce-variations-table input.qty {
    width: 62px !important;
    min-width: 62px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 4px 7px !important;
    border: 1px solid #d9dee3 !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.bqv-root .woocommerce-variations-table input.qty:focus { border-color: #111 !important; outline: 0 !important; box-shadow: 0 0 0 2px rgba(17,17,17,.08) !important; }
.bqv-root .woocommerce-variations-table .variations-table-only-mobile { display: none !important; }

/* Hide vendor per-row cart controls; Quick View uses its dedicated Add All bar. */
.bqv-root .bqv-individual-cart-column,
.bqv-root #variations-table-header-ca,
.bqv-root .variations-table-value-ca,
.bqv-root .variations-table-multiple-add-to-cart { display: none !important; }

/* ==========================================================
   BULK ORDER BAR
========================================================== */
.bqv-bulk-bar[hidden] { display: none !important; }
.bqv-bulk-bar {
    position: sticky;
    bottom: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    padding: 10px 11px;
    border-top: 1px solid #dfe4e8;
    background: rgba(255,255,255,.98);
    box-shadow: 0 -7px 20px rgba(10,20,30,.05);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.bqv-bulk-summary { display: flex; flex-direction: column; gap: 2px; min-width: 0; color: #111; }
.bqv-bulk-summary strong { color: #111 !important; font-size: 10px !important; font-weight: 800 !important; line-height: 1.2 !important; }
.bqv-bulk-selection { color: #6e7780 !important; font-size: 9px !important; font-weight: 600 !important; line-height: 1.35 !important; }
.bqv-bulk-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; min-width: 0; }
.bqv-bulk-message { max-width: 260px; color: #69727b; font-size: 9px; font-weight: 650; line-height: 1.3; text-align: right; }
.bqv-bulk-message.is-success { color: #147a49; }
.bqv-bulk-message.is-error { color: #c43e3e; }
.bqv-bulk-message.is-warning { color: #9a6700; }
.bqv-bulk-add-button {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-width: 152px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    border: 1px solid #111 !important;
    border-radius: 8px !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: transform .16s ease, opacity .16s ease, background .16s ease !important;
}
.bqv-bulk-add-button:hover:not(:disabled) { background: #252525 !important; color: #fff !important; transform: translateY(-1px); }
.bqv-bulk-add-button:disabled { opacity: .4 !important; cursor: not-allowed !important; transform: none !important; }
.bqv-bulk-button-spinner { display: none; width: 13px; height: 13px; flex: 0 0 13px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: bqv-spin .7s linear infinite; }
.bqv-bulk-add-button.is-loading .bqv-bulk-button-spinner { display: inline-block; }

/* ==========================================================
   TABLET / SMALL DESKTOP
========================================================== */
@media (max-width: 1120px) {
    .bqv-root { padding: 14px; }
    .bqv-dialog { width: calc(100vw - 28px); max-height: calc(100dvh - 28px); border-radius: 17px; }
    .bqv-content { max-height: calc(100dvh - 28px); }
    .bqv-top { grid-template-columns: 300px minmax(0,1fr); gap: 20px; padding: 22px; }
    .bqv-detail-column { padding-right: 28px; }
    .bqv-summary { grid-template-columns: 1fr; gap: 10px; }
    .bqv-summary-actions { min-width: 0; align-items: flex-start; flex-direction: row; justify-content: flex-start; flex-wrap: wrap; }
    .bqv-table-scroll .woocommerce-variations-table { min-width: 650px !important; }
}

@media (max-width: 900px) {
    .bqv-top { grid-template-columns: 1fr; gap: 18px; }
    .bqv-gallery-column { max-width: 360px; }
    .bqv-gallery-wrap { position: static; }
    .bqv-main-image { max-height: 330px; }
    .bqv-detail-column { padding-right: 0; }
    .bqv-table-scroll { max-height: 50vh; }
}

/* ==========================================================
   MOBILE MODAL
========================================================== */
@media (max-width: 767px) {
    .bqv-card-trigger { opacity: 1; width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; right: 8px !important; bottom: 8px !important; }
    .bqv-card-trigger::after { display: none; }
    .bqv-root { display: block; padding: 0; }
    .bqv-backdrop { display: none; }
    .bqv-dialog { width: 100vw; height: 100dvh; max-height: none; border: 0; border-radius: 0; box-shadow: none; transform: translateY(8px); }
    .bqv-content { width: 100%; height: 100dvh; max-height: none; overflow-y: auto; padding-bottom: max(12px,env(safe-area-inset-bottom)); }
    .bqv-close { position: fixed !important; top: max(9px,env(safe-area-inset-top)) !important; right: 9px !important; width: 38px !important; height: 38px !important; }
    .bqv-main-loader { min-height: 100dvh; }

    .bqv-top { display: block; padding: 52px 12px 16px; }
    .bqv-gallery-column { max-width: none; }
    .bqv-gallery-wrap { max-width: 390px; margin: 0 auto 16px; }
    .bqv-main-image { aspect-ratio: 1.25/1; max-height: 310px; border-radius: 13px; }
    .bqv-main-image img { padding: 12px; }
    .bqv-thumbs { margin-top: 7px; }
    .bqv-thumb { flex-basis: 48px; width: 48px; height: 48px; }

    .bqv-detail-column { gap: 14px; }
    .bqv-summary { display: block; padding-bottom: 13px; }
    .bqv-brand-row { margin-bottom: 6px; }
    .bqv-title { font-size: 21px !important; margin-bottom: 7px !important; padding-right: 34px; }
    .bqv-price-stock-row { margin-bottom: 8px; }
    .bqv-price { font-size: 18px; }
    .bqv-excerpt { font-size: 10px; line-height: 1.5; -webkit-line-clamp: 3; }
    .bqv-meta { gap: 6px 12px; margin-bottom: 10px; }
    .bqv-meta-item { font-size: 8px; }
    .bqv-meta-item strong { max-width: 210px; white-space: normal; }
    .bqv-summary-actions { margin-top: 10px; display: flex; align-items: stretch; flex-direction: column; gap: 8px; }
    .bqv-view-product { width: 100%; }
    .bqv-native-cart form.cart { justify-content: flex-start !important; flex-wrap: wrap !important; }
    .bqv-native-cart .single_add_to_cart_button { flex: 1 1 180px; }

    .bqv-variations-head { margin-bottom: 7px; padding: 0 2px; }
    .bqv-variations-head h3 { font-size: 15px !important; }
    .bqv-variation-count { font-size: 7px; padding: 4px 7px; }
    .bqv-table-shell { border-radius: 10px; }
    .bqv-table-loader { min-height: 130px; padding: 16px; }
    .bqv-table-scroll { max-height: none; overflow: visible; }

    .bqv-bulk-bar {
        position: sticky;
        bottom: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 7px;
        padding: 9px 9px calc(9px + env(safe-area-inset-bottom));
    }
    .bqv-bulk-summary { flex-direction: row; align-items: center; justify-content: space-between; gap: 8px; }
    .bqv-bulk-selection { text-align: right; }
    .bqv-bulk-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; width: 100%; }
    .bqv-bulk-message { max-width: none; align-self: center; text-align: left; font-size: 8px; }
    .bqv-bulk-add-button { min-width: 140px !important; min-height: 38px !important; padding: 8px 11px !important; font-size: 9px !important; }
}

/* ==========================================================
   MOBILE VARIATION CARDS (DEFAULT / RECOMMENDED)
========================================================== */
@media (max-width: 767px) {
    .bqv-mobile-table-cards .bqv-table-scroll { padding: 0; }
    .bqv-mobile-table-cards .bqv-table-scroll .dataTables_wrapper { width: 100% !important; }
    .bqv-mobile-table-cards .woocommerce-variations-table,
    .bqv-mobile-table-cards .woocommerce-variations-table tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        background: transparent !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table thead,
    .bqv-mobile-table-cards .woocommerce-variations-table tfoot { display: none !important; }
    .bqv-mobile-table-cards .woocommerce-variations-table tbody tr,
    .bqv-mobile-table-cards .woocommerce-variations-table tbody tr:nth-child(odd),
    .bqv-mobile-table-cards .woocommerce-variations-table tbody tr:nth-child(even) {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
        gap: 0 !important;
        width: auto !important;
        min-height: 0 !important;
        margin: 8px !important;
        padding: 8px !important;
        overflow: hidden !important;
        border: 1px solid #e3e7ea !important;
        border-radius: 11px !important;
        background: #fff !important;
        box-shadow: 0 3px 12px rgba(10,20,30,.035) !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table tbody tr:hover { background: #fff !important; }
    .bqv-mobile-table-cards .woocommerce-variations-table td {
        position: relative !important;
        display: flex !important;
        min-width: 0 !important;
        width: auto !important;
        min-height: 43px !important;
        margin: 0 !important;
        padding: 20px 7px 6px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        border: 0 !important;
        border-bottom: 1px solid #f0f2f4 !important;
        background: transparent !important;
        color: #20252a !important;
        font-size: 10px !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table td::before {
        content: attr(data-th);
        position: absolute;
        top: 5px;
        left: 7px;
        max-width: calc(100% - 14px);
        overflow: hidden;
        color: #969da4;
        font-size: 7px;
        font-weight: 800;
        line-height: 1.1;
        letter-spacing: .35px;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table td.variations-table-value-im {
        grid-row: span 2;
        min-height: 92px !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 7px !important;
        border-right: 1px solid #f0f2f4 !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table td.variations-table-value-im::before { display: none; }
    .bqv-mobile-table-cards .woocommerce-variations-table .variations-table-value-im img {
        width: 76px !important;
        height: 76px !important;
        max-width: 76px !important;
        margin: auto !important;
        padding: 3px !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table td.variations-table-value-qt,
    .bqv-mobile-table-cards .woocommerce-variations-table td.variations-table-value-mq {
        align-items: flex-end !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table input.qty { width: 72px !important; min-width: 72px !important; height: 36px !important; }
    .bqv-mobile-table-cards .woocommerce-variations-table .variations-table-only-mobile { display: none !important; }
    .bqv-mobile-table-cards .woocommerce-variations-table-lazy-sentinel { margin: 0 !important; }
}

/* Optional legacy-style horizontal table scroll on mobile. */
@media (max-width: 767px) {
    .bqv-mobile-table-scroll .bqv-table-scroll { max-height: none; overflow-x: auto; padding: 6px; }
    .bqv-mobile-table-scroll .woocommerce-variations-table { display: table !important; width: 100% !important; min-width: 720px !important; table-layout: auto !important; }
    .bqv-mobile-table-scroll .woocommerce-variations-table thead { display: table-header-group !important; }
    .bqv-mobile-table-scroll .woocommerce-variations-table tbody { display: table-row-group !important; }
    .bqv-mobile-table-scroll .woocommerce-variations-table tr { display: table-row !important; }
    .bqv-mobile-table-scroll .woocommerce-variations-table th,
    .bqv-mobile-table-scroll .woocommerce-variations-table td { display: table-cell !important; white-space: nowrap !important; }
}

@media (max-width: 480px) {
    .bqv-top { padding-left: 9px; padding-right: 9px; }
    .bqv-title { font-size: 19px !important; }
    .bqv-mobile-table-cards .woocommerce-variations-table tbody tr { grid-template-columns: 1fr !important; }
    .bqv-mobile-table-cards .woocommerce-variations-table td.variations-table-value-im { grid-row: auto; min-height: 98px !important; border-right: 0 !important; }
    .bqv-bulk-summary { display: block; }
    .bqv-bulk-selection { display: block; margin-top: 2px; text-align: left; }
    .bqv-bulk-actions { grid-template-columns: 1fr; }
    .bqv-bulk-message:empty { display: none; }
    .bqv-bulk-add-button { width: 100% !important; min-width: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
    .bqv-root,
    .bqv-dialog,
    .bqv-card-trigger,
    .bqv-main-image img { transition: none !important; }
    .bqv-loader-spinner,
    .bqv-table-spinner,
    .bqv-card-trigger.is-loading::before,
    .bqv-bulk-button-spinner { animation-duration: 1.2s; }
}

/* ==========================================================
   2.3.0 DESIGN + TABLE VISIBILITY HARDENING
   This block intentionally comes last so theme/vendor CSS cannot clip
   populated variation rows or degrade the mobile quick-view layout.
========================================================== */
.bqv-root {
    --bqv-ink: #111318;
    --bqv-muted: #68717b;
    --bqv-line: #e7eaee;
    --bqv-soft: #f6f7f9;
    --bqv-card: #ffffff;
    --bqv-success: #167a4b;
}

.bqv-dialog,
.bqv-content,
.bqv-product,
.bqv-top,
.bqv-detail-column,
.bqv-variations-section,
.bqv-table-shell,
.bqv-table-host,
.bqv-table-scroll,
.bqv-table-scroll .dataTables_wrapper {
    min-width: 0 !important;
}

/* Keep every populated variation row renderable. Vendor/DataTables rules can
   leave the final lazy row with display:none/opacity:0 after it receives data. */
.bqv-root .woocommerce-variations-table tbody tr.variations-table-row.bqv-row-visible {
    display: table-row !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
}
.bqv-root .woocommerce-variations-table tbody tr.variations-table-row.bqv-row-visible > td {
    visibility: visible !important;
    opacity: 1 !important;
}
.bqv-root .woocommerce-variations-table tbody tr.variations-table-row:last-child > td {
    border-bottom-color: transparent !important;
}
.bqv-root .woocommerce-variations-table-lazy-sentinel {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 42px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Prevent the sticky bulk action from visually swallowing the last row. */
.bqv-table-scroll {
    scroll-padding-top: 42px;
    scroll-padding-bottom: 24px;
    overscroll-behavior: contain;
}
.bqv-table-host {
    position: relative;
    isolation: isolate;
}
.bqv-bulk-bar {
    isolation: isolate;
}

/* Cleaner desktop/table presentation. */
.bqv-dialog {
    border-color: rgba(255,255,255,.55);
    border-radius: 24px;
    box-shadow: 0 32px 110px rgba(7,12,20,.34), 0 2px 10px rgba(7,12,20,.10);
}
.bqv-content {
    background: var(--bqv-card);
}
.bqv-top {
    gap: clamp(22px,2vw,34px);
    padding: clamp(24px,2vw,34px);
}
.bqv-gallery-wrap {
    top: 30px;
}
.bqv-main-image {
    border-color: #e6e9ed;
    border-radius: 20px;
    background: linear-gradient(145deg,#fbfcfd 0%,#f5f7f9 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.bqv-main-image img {
    padding: clamp(18px,2vw,28px);
}
.bqv-thumb {
    border-radius: 11px !important;
}
.bqv-detail-column {
    gap: 20px;
}
.bqv-summary {
    padding: 2px 0 18px;
    border-bottom-color: var(--bqv-line);
}
.bqv-title {
    color: var(--bqv-ink) !important;
    font-size: clamp(25px,1.9vw,34px) !important;
    font-weight: 780 !important;
    letter-spacing: -.03em;
}
.bqv-price {
    font-size: 22px;
}
.bqv-excerpt {
    color: #5f6872;
    font-size: 12px;
    line-height: 1.65;
}
.bqv-meta-item {
    font-size: 10px;
}
.bqv-meta-item span {
    color: #8b949d;
}
.bqv-meta-item strong {
    color: #2d3339;
}
.bqv-view-product {
    min-height: 42px;
    padding: 10px 15px;
    border-radius: 10px;
    font-size: 11px;
}
.bqv-variations-head {
    margin-bottom: 10px;
}
.bqv-variations-head h3 {
    font-size: 18px !important;
    letter-spacing: -.015em;
}
.bqv-section-kicker {
    margin-bottom: 4px;
    font-size: 8px;
}
.bqv-variation-count {
    padding: 6px 10px;
    background: #f8f9fa;
    font-size: 9px;
}
.bqv-table-shell {
    overflow: clip;
    border-color: #dfe4e8;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(12,22,32,.055);
}
.bqv-table-scroll {
    max-height: min(56vh,620px);
}
.bqv-table-scroll .woocommerce-variations-table {
    border: 0 !important;
}
.bqv-root .woocommerce-variations-table thead th,
.bqv-root .woocommerce-variations-table th {
    padding: 11px 10px !important;
    background: #f5f7f9 !important;
    color: #68717a !important;
    font-size: 9px !important;
    letter-spacing: .36px !important;
}
.bqv-root .woocommerce-variations-table td {
    padding: 9px 10px !important;
    color: #22272d !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
}
.bqv-root .woocommerce-variations-table tbody tr.variations-table-row:hover > td {
    background: #fafbfc !important;
}
.bqv-root .woocommerce-variations-table input.qty {
    width: 68px !important;
    min-width: 68px !important;
    height: 38px !important;
    border-color: #d5dbe1 !important;
    border-radius: 9px !important;
    font-size: 12px !important;
}
.bqv-bulk-bar {
    padding: 12px 14px;
    border-top-color: #dfe4e8;
    background: #fff;
    box-shadow: 0 -8px 28px rgba(10,20,30,.065);
}
.bqv-bulk-summary strong {
    font-size: 11px !important;
}
.bqv-bulk-selection,
.bqv-bulk-message {
    font-size: 10px !important;
}
.bqv-bulk-add-button {
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
}

/* ==========================================================
   ULTRA-SOLID MOBILE QUICK VIEW
========================================================== */
@media (max-width: 767px) {
    body.bqv-modal-open {
        overscroll-behavior: none;
    }

    .bqv-root {
        background: #f4f6f8;
    }
    .bqv-dialog {
        width: 100vw !important;
        height: 100dvh !important;
        max-width: none !important;
        max-height: none !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #f4f6f8 !important;
        box-shadow: none !important;
    }
    .bqv-content {
        height: 100dvh !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding: 0 0 calc(18px + env(safe-area-inset-bottom)) !important;
        background: #f4f6f8 !important;
        scrollbar-width: none;
    }
    .bqv-content::-webkit-scrollbar { display: none; }

    .bqv-close {
        top: calc(10px + env(safe-area-inset-top)) !important;
        right: 12px !important;
        width: 44px !important;
        height: 44px !important;
        border: 1px solid rgba(17,19,24,.08) !important;
        background: rgba(255,255,255,.96) !important;
        box-shadow: 0 8px 24px rgba(9,15,22,.13) !important;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }
    .bqv-close:hover,
    .bqv-close:focus-visible {
        background: #111318 !important;
    }

    .bqv-top {
        display: block !important;
        padding: calc(64px + env(safe-area-inset-top)) 12px 18px !important;
    }
    .bqv-gallery-column {
        width: 100%;
        max-width: none !important;
    }
    .bqv-gallery-wrap {
        width: 100%;
        max-width: 520px !important;
        margin: 0 auto 12px !important;
    }
    .bqv-main-image {
        width: 100%;
        aspect-ratio: 1.18 / 1 !important;
        max-height: 370px !important;
        overflow: hidden !important;
        border: 1px solid rgba(20,28,38,.07) !important;
        border-radius: 22px !important;
        background: #fff !important;
        box-shadow: 0 10px 28px rgba(11,18,26,.055) !important;
    }
    .bqv-main-image img {
        padding: 16px !important;
    }
    .bqv-thumbs {
        gap: 8px !important;
        margin-top: 9px !important;
        padding: 1px 2px 5px !important;
    }
    .bqv-thumb {
        flex: 0 0 54px !important;
        width: 54px !important;
        height: 54px !important;
        border-radius: 12px !important;
        box-shadow: 0 3px 10px rgba(10,20,30,.035);
    }

    .bqv-detail-column {
        gap: 12px !important;
    }
    .bqv-summary {
        display: block !important;
        margin: 0 !important;
        padding: 18px 16px !important;
        border: 1px solid rgba(20,28,38,.065) !important;
        border-radius: 20px !important;
        background: #fff !important;
        box-shadow: 0 9px 24px rgba(11,18,26,.045);
    }
    .bqv-brand-row {
        gap: 6px !important;
        margin-bottom: 9px !important;
    }
    .bqv-brand {
        min-height: 24px !important;
        padding: 4px 9px !important;
        font-size: 9px !important;
    }
    .bqv-title {
        margin: 0 0 10px !important;
        padding-right: 0 !important;
        font-size: clamp(22px,6.4vw,28px) !important;
        line-height: 1.17 !important;
        letter-spacing: -.025em !important;
    }
    .bqv-price-stock-row {
        gap: 10px 14px !important;
        margin-bottom: 11px !important;
    }
    .bqv-price {
        font-size: 20px !important;
    }
    .bqv-stock {
        font-size: 11px !important;
    }
    .bqv-excerpt {
        display: block !important;
        margin: 0 0 13px !important;
        overflow: visible !important;
        color: #5c6570 !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
        -webkit-line-clamp: initial !important;
    }
    .bqv-meta {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) !important;
        gap: 8px !important;
        margin-bottom: 14px !important;
    }
    .bqv-meta-item {
        display: grid !important;
        grid-template-columns: minmax(76px,auto) minmax(0,1fr) !important;
        gap: 10px !important;
        align-items: start !important;
        font-size: 11px !important;
    }
    .bqv-meta-item span {
        font-size: 9px !important;
        line-height: 1.5 !important;
    }
    .bqv-meta-item strong {
        max-width: none !important;
        overflow: visible !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        text-align: right;
        text-overflow: clip !important;
        white-space: normal !important;
    }
    .bqv-summary-actions {
        margin-top: 14px !important;
        gap: 10px !important;
    }
    .bqv-view-product,
    .bqv-native-cart .single_add_to_cart_button,
    .bqv-native-cart a.button {
        width: 100% !important;
        min-height: 48px !important;
        border-radius: 12px !important;
        font-size: 12px !important;
    }
    .bqv-native-cart form.cart {
        display: grid !important;
        grid-template-columns: 76px minmax(0,1fr) !important;
        width: 100% !important;
        gap: 9px !important;
    }
    .bqv-native-cart .quantity .qty {
        width: 76px !important;
        height: 48px !important;
        border-radius: 12px !important;
        font-size: 14px !important;
    }

    .bqv-variations-section {
        margin: 0 !important;
        padding: 0 !important;
    }
    .bqv-variations-head {
        align-items: flex-end !important;
        margin: 0 2px 10px !important;
        padding: 0 4px !important;
    }
    .bqv-section-kicker {
        margin-bottom: 3px !important;
        font-size: 8px !important;
        letter-spacing: .75px !important;
    }
    .bqv-variations-head h3 {
        font-size: 18px !important;
        line-height: 1.22 !important;
    }
    .bqv-variation-count {
        padding: 5px 9px !important;
        border-color: #dde2e7 !important;
        background: #fff !important;
        font-size: 9px !important;
    }
    .bqv-table-shell {
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    .bqv-table-loader,
    .bqv-table-error {
        margin: 0 0 10px !important;
        border: 1px solid rgba(20,28,38,.065);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 7px 20px rgba(11,18,26,.04);
    }
    .bqv-table-scroll {
        width: 100% !important;
        max-height: none !important;
        overflow: visible !important;
        scroll-padding-bottom: 96px !important;
    }
    .bqv-table-host {
        padding-bottom: 2px;
    }

    /* Card mode: each variation is a self-contained, readable order card. */
    .bqv-mobile-table-cards .woocommerce-variations-table,
    .bqv-mobile-table-cards .woocommerce-variations-table tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table tbody tr.variations-table-row,
    .bqv-mobile-table-cards .woocommerce-variations-table tbody tr.variations-table-row.bqv-row-visible {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 0 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 0 10px !important;
        padding: 8px !important;
        overflow: visible !important;
        border: 1px solid rgba(20,28,38,.075) !important;
        border-radius: 18px !important;
        background: #fff !important;
        box-shadow: 0 8px 24px rgba(11,18,26,.05) !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table tbody tr.variations-table-row:last-child {
        margin-bottom: 14px !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table td {
        display: flex !important;
        min-width: 0 !important;
        width: auto !important;
        min-height: 58px !important;
        padding: 24px 10px 9px !important;
        align-items: center !important;
        border: 0 !important;
        border-bottom: 1px solid #eef1f3 !important;
        background: transparent !important;
        color: #20252a !important;
        font-size: 13px !important;
        line-height: 1.42 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table td::before {
        top: 8px !important;
        left: 10px !important;
        color: #8a939d !important;
        font-size: 9px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        letter-spacing: .5px !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table td.variations-table-value-im {
        min-height: 122px !important;
        padding: 10px !important;
        border-right: 1px solid #eef1f3 !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table .variations-table-value-im img {
        width: 96px !important;
        height: 96px !important;
        max-width: 96px !important;
        padding: 5px !important;
        border: 1px solid #edf0f3 !important;
        border-radius: 14px !important;
        background: #fafbfc !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table input.qty {
        width: 82px !important;
        min-width: 82px !important;
        height: 44px !important;
        border-radius: 11px !important;
        font-size: 14px !important;
    }

    .bqv-bulk-bar {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 40 !important;
        display: grid !important;
        grid-template-columns: minmax(0,1fr) !important;
        gap: 9px !important;
        margin: 2px -1px -1px !important;
        padding: 12px 12px calc(12px + env(safe-area-inset-bottom)) !important;
        border: 1px solid #dfe4e8 !important;
        border-bottom: 0 !important;
        border-radius: 18px 18px 0 0 !important;
        background: #fff !important;
        box-shadow: 0 -10px 32px rgba(8,15,23,.11) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    .bqv-bulk-summary {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
    }
    .bqv-bulk-summary strong {
        font-size: 12px !important;
    }
    .bqv-bulk-selection {
        max-width: 68%;
        font-size: 10px !important;
        line-height: 1.35 !important;
        text-align: right !important;
    }
    .bqv-bulk-actions {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) !important;
        gap: 7px !important;
        width: 100% !important;
    }
    .bqv-bulk-message {
        max-width: none !important;
        min-height: 0 !important;
        font-size: 10px !important;
        line-height: 1.35 !important;
        text-align: left !important;
    }
    .bqv-bulk-message:empty { display: none !important; }
    .bqv-bulk-add-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px !important;
        padding: 12px 16px !important;
        border-radius: 13px !important;
        font-size: 12px !important;
        letter-spacing: .01em !important;
    }

    .bqv-alert {
        position: fixed !important;
        top: calc(14px + env(safe-area-inset-top)) !important;
        right: 66px !important;
        left: 12px !important;
        width: auto !important;
        max-width: none !important;
        padding: 11px 13px !important;
        border-radius: 12px !important;
        font-size: 11px !important;
        line-height: 1.35 !important;
        transform: translateY(-8px) !important;
    }
    .bqv-alert.is-visible {
        transform: translateY(0) !important;
    }
}

@media (max-width: 480px) {
    .bqv-top {
        padding-right: 9px !important;
        padding-left: 9px !important;
    }
    .bqv-summary {
        padding: 16px 14px !important;
        border-radius: 18px !important;
    }
    .bqv-title {
        font-size: 22px !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table tbody tr.variations-table-row,
    .bqv-mobile-table-cards .woocommerce-variations-table tbody tr.variations-table-row.bqv-row-visible {
        grid-template-columns: 1fr !important;
        padding: 8px 10px !important;
        border-radius: 17px !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table td.variations-table-value-im {
        grid-row: auto !important;
        min-height: 126px !important;
        border-right: 0 !important;
    }
    .bqv-mobile-table-cards .woocommerce-variations-table td {
        min-height: 56px !important;
        padding-right: 9px !important;
        padding-left: 9px !important;
    }
    .bqv-bulk-summary {
        display: block !important;
    }
    .bqv-bulk-selection {
        display: block !important;
        max-width: none !important;
        margin-top: 3px !important;
        text-align: left !important;
    }
}

/* Preserve the optional horizontal-table mode after the mobile hardening above. */
@media (max-width: 767px) {
    .bqv-mobile-table-scroll .bqv-table-scroll {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 6px 0 12px !important;
        border: 1px solid rgba(20,28,38,.07);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 8px 24px rgba(11,18,26,.045);
        -webkit-overflow-scrolling: touch;
    }
    .bqv-mobile-table-scroll .woocommerce-variations-table {
        display: table !important;
        width: 100% !important;
        min-width: 720px !important;
    }
}
