/**
 * VinVic Ultra — tarcza przed motywami (ładowana po vv-checkout-live-as-preview, priorytet w kolejce — po typowych CSS motywu).
 * Wymaga body.vv-vinvic-ultra-shield + .vv-checkout-genius-hub (body.vv-co-ultra-live z Ultra Checkout).
 */
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-wrapper.vv-checkout-genius-hub {
    isolation: isolate;
    max-width: 100%;
}

body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub * {
    box-sizing: border-box !important;
}

/* Motywy: reset fontu w obwodzie, żeby nie odziedziczać 10–12px z .entry / .content */
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub form.woocommerce-checkout,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .woocommerce {
    font-family: var(--vv-co-font, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif) !important;
    font-synthesis: none;
}

body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub table.shop_table {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub table.shop_table th,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub table.shop_table td {
    vertical-align: middle !important;
}

body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .woocommerce-cart-form,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .cart-collaterals,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub form.checkout.woocommerce-checkout,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub #order_review {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .col2-set,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .col2-set .col-1,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub a.button,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub button.button,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub input.button,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .button,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub #place_order {
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-sizing: border-box !important;
}

body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .quantity .qty,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub input.input-text,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub select,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Lista metod: bez ramki (ramka na li w vv-checkout-live-as-preview). Nie zeruj tła .payment_box — opis płatności ma być czytelny. */
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub #payment ul.payment_methods {
    border: none !important;
    background: transparent !important;
}

body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .woocommerce-shipping-methods,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub ul.woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* „Center” rozwala wiersz z miniaturą + wielowierszową nazwą; VinVic trzyma wyrównanie od góry. */
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .vv-checkout-row {
    display: flex !important;
    align-items: flex-start !important;
}

body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .vvscp-funnel-qty,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .vvscp-funnel-qty * {
    box-sizing: border-box !important;
}

/* Podsumowanie na checkout: nie łącz komórek „collapse" — psuje layout z blokowymi wierszami w VinVic. */
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub .woocommerce-checkout-review-order-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

/* Motywy: ukryte float / fixed width w szablonie karty */
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub #order_review.woocommerce-checkout-review-order,
body.vv-co-ultra-live.vv-vinvic-ultra-shield .vv-checkout-genius-hub #customer_details {
    position: static !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

/* Elementor / motywy: sekcja nie obcina sticky i nie ścina tabeli */
body.woocommerce-checkout .vv-co-ultra-live.vv-vinvic-ultra-shield .entry-content:has(.vv-checkout-genius-hub),
body.woocommerce-checkout .vv-co-ultra-live.vv-vinvic-ultra-shield .entry-content:has(.vv-checkout-wrapper),
body.woocommerce-cart .vv-co-ultra-live.vv-vinvic-ultra-shield .entry-content:has(.vv-checkout-genius-hub) {
    overflow-x: visible !important;
    max-width: 100% !important;
}
