/* Meblitos - stylowanie koszyka i zamowienia (wzor: meble.pl, kolory: motyw designum) */

/* pelna szerokosc kontenera - nadpisanie paddingu z motywu */
.woocommerce { padding:0 !important; } /* plik laduje sie tylko na koszyku i zamowieniu */

/* ---- pasek krokow ---- */
.mbl-steps { display:flex; align-items:center; gap:16px; margin:0 0 48px; }
.mbl-steps .mbl-step { display:flex; align-items:center; gap:12px; }
.mbl-steps .mbl-step-num { width:36px; height:36px; display:flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:700; border:1px solid #e5e5e5; color:#9ca3af; background:#fff; }
.mbl-steps .mbl-step-label { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#9ca3af; }
.mbl-steps .mbl-step.active .mbl-step-num { background:#1a1a1a; border-color:#1a1a1a; color:#fff; }
.mbl-steps .mbl-step.active .mbl-step-label { color:#1a1a1a; }
.mbl-steps .mbl-step-sep { flex:1; height:1px; background:#e5e5e5; }
@media (max-width:640px){ .mbl-steps .mbl-step-label { display:none; } }

/* ---- neutralizacja .prose na stronach sklepu ---- */
.prose .woocommerce table { margin-top:0; font-size:14px; }
.prose .woocommerce h2, .prose .woocommerce h3 { margin-top:0; }
.prose .woocommerce a { text-decoration:none; }
.prose .woocommerce ul { list-style:none; padding-left:0; margin:0; }
.prose .woocommerce li { margin:0; padding-left:0; }
.prose .woocommerce li::marker { content:''; }

/* ---- komunikaty ---- */
.woocommerce-message, .woocommerce-info {
    background:#f7f7f7; border-left:3px solid #1a1a1a; padding:12px 16px; font-size:13px; color:#333;
    margin-bottom:16px; list-style:none; }
/* bledy walidacji - jedna karta z lista */
ul.woocommerce-error { list-style:none; background:#fef2f2; border:1px solid #fecaca; border-left:3px solid #b91c1c;
    padding:14px 20px; margin:0 0 28px; }
ul.woocommerce-error li { position:relative; background:none; border:none; margin:0; padding:6px 0 6px 28px;
    font-size:13px; color:#7f1d1d; line-height:1.5; }
ul.woocommerce-error li::before { content:''; position:absolute; left:0; top:7px; width:16px; height:16px;
    background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b91c1c' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
    background-size:contain; background-repeat:no-repeat; }
ul.woocommerce-error li strong { font-weight:600; }
/* komunikat pod polem */
.woocommerce-invalid .input-text { border-color:#b91c1c !important; }
form .form-row .checkout-inline-error-message, .woocommerce-error-message {
    font-size:12px; color:#b91c1c; margin-top:4px; }

/* ---- uklad koszyka ---- */
.woocommerce .mbl-cart-grid { display:block; }
@media (min-width:1024px){
    body.page-id-8 .woocommerce { display:grid; grid-template-columns:1fr 400px; column-gap:48px; align-items:start; }
    body.page-id-8 .woocommerce .mbl-steps,
    body.page-id-8 .woocommerce .woocommerce-notices-wrapper,
    body.page-id-8 .woocommerce > .woocommerce-message,
    body.page-id-8 .woocommerce > .woocommerce-info { grid-column:1 / -1; }
    body.page-id-8 .woocommerce-cart-form { grid-column:1; }
    body.page-id-8 .cart-collaterals { grid-column:2; grid-row:auto; }
}

/* ---- tabela koszyka ---- */
table.shop_table { width:100%; border-collapse:collapse; border:none; }
.woocommerce table.shop_table thead th, .prose .woocommerce table.shop_table thead th {
    background:#1a1a1a !important; color:#fff !important; font-size:11px; font-weight:600;
    letter-spacing:.08em; text-transform:uppercase; padding:12px 14px; text-align:left; border:none; }
table.shop_table.cart td { padding:18px 14px; border-bottom:1px solid #e5e5e5; vertical-align:middle; background:#fff; }
table.shop_table.cart td.product-thumbnail img { width:72px; height:72px; object-fit:cover; background:#f7f7f7; }
table.shop_table.cart td.product-name { font-weight:600; color:#1a1a1a; font-size:14px; }
table.shop_table.cart td.product-name .variation { font-weight:400; font-size:12px; color:#6b7280; margin:6px 0 0; display:grid; grid-template-columns:auto 1fr; gap:0 8px; }
table.shop_table.cart td.product-name .variation dt { font-weight:600; }
table.shop_table.cart td.product-name .variation dd { margin:0; }
table.shop_table.cart td.product-price, table.shop_table.cart td.product-subtotal { font-size:14px; color:#1a1a1a; white-space:nowrap; }
table.shop_table.cart td.product-subtotal { font-weight:700; }
table.shop_table.cart td.product-remove a.remove { display:flex; align-items:center; justify-content:center;
    width:28px; height:28px; font-size:20px; line-height:1; color:#9ca3af !important; border:1px solid #e5e5e5;
    border-radius:0; background:#fff; transition:all .2s; }
table.shop_table.cart td.product-remove a.remove:hover { color:#b91c1c !important; border-color:#b91c1c; background:#fff; }
.woocommerce .quantity .qty { width:70px; padding:8px 6px; border:1px solid #d1d5db; text-align:center; font-size:14px; outline:none; }
.woocommerce .quantity .qty:focus { border-color:#1a1a1a; }

/* wiersz akcji pod tabela */
table.shop_table.cart td.actions { padding:18px 0; border:none; }
.woocommerce .coupon { display:inline-flex; gap:8px; }
.woocommerce .coupon .input-text { width:180px; padding:10px 14px; border:1px solid #d1d5db; font-size:13px; outline:none; }
.woocommerce .coupon .input-text:focus { border-color:#1a1a1a; }
.woocommerce .coupon label { display:none; }

/* ---- przyciski ---- */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, #place_order {
    display:inline-block; background:#fff; color:#1a1a1a; border:1px solid #d1d5db; font-size:12px;
    font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:12px 22px; cursor:pointer;
    transition:all .2s; border-radius:0; line-height:1.4; }
.woocommerce .button:hover { border-color:#1a1a1a; background:#fff; color:#1a1a1a; }
.woocommerce a.checkout-button, .woocommerce .button.alt {
    background:#1a1a1a; color:#fff; border-color:#1a1a1a; width:100%; text-align:center; padding:15px 24px; font-size:13px; }
#place_order { background:#1a1a1a; color:#fff; border-color:#1a1a1a; width:auto; min-width:320px; text-align:center; padding:15px 48px; font-size:13px; }
.woocommerce a.checkout-button:hover, #place_order:hover, .woocommerce .button.alt:hover { background:#333; color:#fff; }
.woocommerce .button:disabled, .woocommerce .button[aria-disabled="true"] { opacity:.5; cursor:not-allowed; }

/* ---- podsumowanie koszyka (sidebar) ---- */
.cart-collaterals .cart_totals { background:#f7f7f7; border:1px solid #e5e5e5; padding:28px; width:100%; }
.cart-collaterals .cart_totals h2 { font-size:20px; font-weight:700; color:#1a1a1a; margin:0 0 20px; }
.cart_totals table.shop_table td, .cart_totals table.shop_table th {
    background:transparent; border:none; border-bottom:1px solid #e5e5e5; padding:12px 0; font-size:13px;
    color:#333; text-align:left; letter-spacing:0; text-transform:none; font-weight:400; }
.cart_totals table.shop_table tr.order-total th, .cart_totals table.shop_table tr.order-total td {
    font-size:17px; font-weight:700; color:#1a1a1a; border-bottom:none; padding-top:16px; }
/* Kwota i Przesylka: etykieta pogrubiona w osobnym wierszu nad wartoscia */
.cart_totals table.shop_table tr.cart-subtotal, .cart_totals table.shop_table tr.woocommerce-shipping-totals { display:block; }
.cart_totals table.shop_table tr.cart-subtotal th, .cart_totals table.shop_table tr.woocommerce-shipping-totals th {
    display:block; width:100%; font-weight:700; color:#1a1a1a; border-bottom:none; padding:12px 0 2px; }
.cart_totals table.shop_table tr.cart-subtotal td, .cart_totals table.shop_table tr.woocommerce-shipping-totals td {
    display:block; width:100%; padding:2px 0 12px; }
.cart_totals table.shop_table tr.order-total th { font-size:15px; }
.cart_totals .wc-proceed-to-checkout { margin-top:20px; padding:0; }
/* metody wysylki w podsumowaniu */
ul#shipping_method li { display:flex; align-items:flex-start; gap:10px; padding:6px 0; margin:0; }
ul#shipping_method li input[type=radio] { accent-color:#1a1a1a; margin-top:3px; flex-shrink:0; }
ul#shipping_method li label { font-size:13px; color:#333; cursor:pointer; }
.woocommerce-shipping-destination { font-size:12px; color:#6b7280; }
.woocommerce-shipping-calculator { font-size:13px; }

/* ---- checkout: uklad 2 kolumny ---- */


/* naglowki sekcji formularza */
form.woocommerce-checkout h3 { font-size:20px; font-weight:700; color:#1a1a1a; margin:0 0 20px; }
#order_review_heading { background:#f7f7f7; border:1px solid #e5e5e5; border-bottom:none; padding:24px 28px 0; margin:0; }
#order_review { background:#f7f7f7; border:1px solid #e5e5e5; border-top:none; padding:16px 28px 28px; }

/* pola formularza */
form.woocommerce-checkout .form-row { margin:0 0 16px; padding:0; display:block; }
form.woocommerce-checkout .form-row label { display:block; font-size:12px; font-weight:600; color:#333; margin-bottom:6px; }
form.woocommerce-checkout .form-row label .optional { font-weight:400; color:#9ca3af; }
form.woocommerce-checkout .input-text, form.woocommerce-checkout select, form.woocommerce-checkout textarea {
    width:100%; padding:11px 14px; border:1px solid #d1d5db; font-size:14px; color:#1a1a1a; background:#fff;
    outline:none; border-radius:0; transition:border-color .2s; }
form.woocommerce-checkout .input-text:focus, form.woocommerce-checkout select:focus, form.woocommerce-checkout textarea:focus { border-color:#1a1a1a; }
form.woocommerce-checkout .form-row.woocommerce-invalid .input-text { border-color:#b91c1c; }
form.woocommerce-checkout abbr.required { color:#b91c1c; text-decoration:none; }
@media (min-width:640px){
    form.woocommerce-checkout .form-row-first, form.woocommerce-checkout .form-row-last { width:48.5%; float:left; }
    form.woocommerce-checkout .form-row-last { float:right; }
    form.woocommerce-checkout .form-row-wide { clear:both; }
}
.select2-container--default .select2-selection--single { border:1px solid #d1d5db; border-radius:0; height:44px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height:44px; padding-left:14px; font-size:14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height:42px; }

/* dane rozliczeniowe (paragon/faktura) - osobna szara sekcja jak na meble.pl */
#meblitos-dokument-sprzedazy { background:#f7f7f7; border:1px solid #e5e5e5; padding:28px; margin-top:32px; }
#meblitos-dokument-sprzedazy h3 { margin:0 0 18px; font-size:20px; font-weight:700; color:#1a1a1a; }
#meblitos-dokument-sprzedazy .mbl-dok-label { font-size:12px; font-weight:600; letter-spacing:.08em;
    text-transform:uppercase; color:#6b7280; margin:0 0 12px; }
#meblitos-dokument-sprzedazy .mbl-dok-options { display:flex; flex-direction:column; gap:10px; margin:0 0 16px; }
#meblitos-dokument-sprzedazy label.mbl-radio { display:flex; align-items:center; gap:10px; font-size:14px;
    font-weight:400; color:#333; cursor:pointer; margin:0; }
#meblitos-dokument-sprzedazy label.mbl-radio input[type=radio] { accent-color:#1a1a1a; width:16px; height:16px; margin:0; flex-shrink:0; }
#meblitos-dokument-sprzedazy #nip_field { max-width:360px; }

/* tabela zamowienia w podsumowaniu */
#order_review table.shop_table { background:transparent; }
.woocommerce #order_review table.shop_table thead th, .prose .woocommerce #order_review table.shop_table thead th {
    background:transparent !important; color:#6b7280 !important; font-size:11px; padding:0 0 10px;
    border-bottom:1px solid #e5e5e5; }
#order_review table.shop_table td, #order_review table.shop_table tfoot th {
    background:transparent; border:none; border-bottom:1px solid #e5e5e5; padding:12px 0; font-size:13px; color:#333; text-align:left; }
#order_review table.shop_table tr.order-total th, #order_review table.shop_table tr.order-total td {
    font-size:17px; font-weight:700; color:#1a1a1a; border-bottom:none; padding-top:16px; }
#order_review table.shop_table tr.order-total th { font-size:15px; }
#order_review .variation { font-size:12px; color:#6b7280; margin:4px 0 0; display:grid; grid-template-columns:auto 1fr; gap:0 8px; }
#order_review .variation dd { margin:0; }

/* metody platnosci */
#payment { background:transparent; }
ul.wc_payment_methods li.wc_payment_method { position:relative; }
ul.wc_payment_methods li.wc_payment_method > label::after { content:''; position:absolute; inset:0; cursor:pointer; }
ul.wc_payment_methods { border-top:1px solid #e5e5e5; margin-top:4px; }
ul.wc_payment_methods li.wc_payment_method { display:block; padding:0; border-bottom:1px solid #e5e5e5; }
ul.wc_payment_methods li.wc_payment_method > label { display:flex; align-items:center; gap:12px; padding:14px 2px;
    font-size:14px; font-weight:600; color:#1a1a1a; cursor:pointer; margin:0; }
ul.wc_payment_methods li.wc_payment_method input[type=radio] { accent-color:#1a1a1a; width:16px; height:16px; flex-shrink:0; }
ul.wc_payment_methods li .payment_box, .woocommerce-checkout-payment ul.payment_methods li .payment_box {
    background:transparent !important; border:none !important; border-radius:0 !important;
    padding:2px 0 8px 30px !important; margin:0 !important; font-size:13px; color:#6b7280; }
.woocommerce-privacy-policy-text { font-size:12px; color:#6b7280; margin:14px 0; }
.woocommerce-terms-and-conditions-wrapper { margin:14px 0; }

/* zgody */
.meblitos-checkout-consents { border-top:1px solid #e5e5e5; padding-top:16px; }
.meblitos-checkout-consents a { text-decoration:underline; color:#1a1a1a; }
.meblitos-checkout-consents label { display:flex; align-items:flex-start; gap:10px; cursor:pointer; margin:0; }
.meblitos-checkout-consents input[type=checkbox] { accent-color:#1a1a1a; width:16px; height:16px; flex-shrink:0; margin-top:2px; }

/* strona podziekowania */
.woocommerce-order .woocommerce-thankyou-order-received { font-size:20px; font-weight:700; color:#1a1a1a; margin-bottom:24px; }
ul.woocommerce-thankyou-order-details { display:flex; flex-wrap:wrap; gap:24px; background:#f7f7f7;
    border:1px solid #e5e5e5; padding:20px 24px; margin:0 0 32px; }
ul.woocommerce-thankyou-order-details li { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#6b7280; border:none; }
ul.woocommerce-thankyou-order-details li strong { display:block; font-size:15px; color:#1a1a1a; margin-top:4px; text-transform:none; letter-spacing:0; }


/* ---- spojnosc wizualna koszyk/zamowienie: zero zaokraglen, jednolite ramki ---- */
.woocommerce, .woocommerce * { border-radius:0 !important; }
.woocommerce-checkout-payment ul.payment_methods li.wc_payment_method {
    border:1px solid #e5e5e5 !important; background:#fff !important; padding:14px 20px !important;
    margin-bottom:10px !important; }
.woocommerce-checkout-payment ul.payment_methods li.wc_payment_method:hover { border-color:#9ca3af !important; }
.woocommerce-checkout-payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
    border-color:#1a1a1a !important; background:#fff !important; }

/* bez wewnetrznej ramki tabel w boxach podsumowania */
.cart_totals table.shop_table, #order_review table.shop_table { border:none !important; }


/* ---- strona podziekowania (krok 3) - pelna szerokosc, spojna z reszta ---- */
.page-id-9 .woocommerce-order { max-width:none; margin:0; padding:0; text-align:left; border:none; }
.woocommerce-order .woocommerce-thankyou-order-received { font-size:24px; font-weight:700; color:#1a1a1a; margin:0 0 24px; text-align:left; }
.page-id-9 ul.order_details { list-style:none; display:flex; flex-wrap:wrap; gap:16px 56px; justify-content:flex-start;
    background:#f7f7f7; border:1px solid #e5e5e5; padding:20px 28px; margin:0 0 32px; }
.page-id-9 ul.order_details li { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em;
    color:#6b7280; border:none; padding:0; margin:0; }
.page-id-9 ul.order_details li strong { display:block; font-size:15px; color:#1a1a1a; margin-top:6px;
    text-transform:none; letter-spacing:0; }
.woocommerce-order > p, .woocommerce-order section > p { font-size:14px; color:#333; text-align:left; }
.woocommerce-order h2 { font-size:20px; font-weight:700; color:#1a1a1a; margin:0 0 16px; text-align:left; }

/* tabela szczegolow zamowienia - jak tabela koszyka */
.page-id-9 table.order_details { width:100%; border-collapse:collapse; border:none !important; margin:0 0 32px; }
.page-id-9 table.order_details thead th { background:#1a1a1a !important; color:#fff !important; font-size:11px;
    font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:12px 14px; text-align:left; border:none; }
.page-id-9 table.order_details td, .page-id-9 table.order_details tfoot th {
    padding:14px; border-bottom:1px solid #e5e5e5; font-size:14px; color:#333; text-align:left; background:#fff; }
.page-id-9 table.order_details tfoot th { font-weight:600; width:40%; }
.page-id-9 table.order_details tfoot tr:last-child th, .page-id-9 table.order_details tfoot tr:last-child td {
    font-weight:700; color:#1a1a1a; font-size:15px; }
.woocommerce-order .wc-item-meta { list-style:none; margin:6px 0 0; padding:0; font-size:12px; color:#6b7280; }
.woocommerce-order .wc-item-meta li { display:flex; gap:6px; margin:0; padding:0; }
.woocommerce-order .wc-item-meta .wc-item-meta-label { font-weight:600; }

/* adresy klienta */
.woocommerce-customer-details address { background:#f7f7f7; border:1px solid #e5e5e5; padding:20px 24px;
    font-style:normal; font-size:14px; color:#333; line-height:1.7; }
.woocommerce-columns--addresses { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media (max-width:768px){ .woocommerce-columns--addresses { grid-template-columns:1fr; } }


/* ---- pusty koszyk ---- */
body.page-id-8 .woocommerce:not(:has(.woocommerce-cart-form)) { display:block; }
.cart-empty.woocommerce-info { display:block; background:none !important; border:none !important; margin:0;
    padding:64px 0 4px; text-align:center; font-size:18px; font-weight:600; color:#1a1a1a; line-height:1.4; }
.cart-empty.woocommerce-info::before { content:''; display:block; width:56px; height:56px; margin:0 auto 20px;
    background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z'/%3E%3C/svg%3E");
    background-size:contain; background-repeat:no-repeat; }
p.return-to-shop { text-align:center; margin:16px 0 72px; padding:0; }
p.return-to-shop a.button { background:#1a1a1a !important; color:#fff !important; border-color:#1a1a1a !important;
    padding:14px 36px; }
p.return-to-shop a.button:hover { background:#333 !important; }


/* ---- metody wysylki jako kafelki (spojne z kafelkami platnosci) ---- */
ul#shipping_method li { position:relative; border:1px solid #e5e5e5; background:#fff; padding:12px 16px !important;
    margin:0 0 10px !important; display:flex; align-items:flex-start; gap:10px; }
ul#shipping_method li:hover { border-color:#9ca3af; }
ul#shipping_method li:has(input[type=radio]:checked) { border-color:#1a1a1a; }
ul#shipping_method li input[type=radio] { margin-top:3px; }
ul#shipping_method li label { font-size:13px; font-weight:600; color:#1a1a1a; cursor:pointer; margin:0; }
ul#shipping_method li label::after { content:''; position:absolute; inset:0; cursor:pointer; }


/* ---- WSPOLNA definicja kafelkow wyboru: wysylka + platnosc (jedno zrodlo prawdy) ---- */
ul#shipping_method li,
.woocommerce-checkout-payment ul.payment_methods li.wc_payment_method,
ul.wc_payment_methods li.wc_payment_method {
    position:relative; display:flex !important; flex-wrap:wrap; align-items:flex-start; gap:0 12px;
    border:1px solid #e5e5e5 !important; background:#fff !important;
    padding:16px 20px !important; margin:0 0 10px !important; }
ul#shipping_method li:hover,
.woocommerce-checkout-payment ul.payment_methods li.wc_payment_method:hover { border-color:#9ca3af !important; }
ul#shipping_method li:has(input[type=radio]:checked),
.woocommerce-checkout-payment ul.payment_methods li.wc_payment_method:has(input[type=radio]:checked) {
    border-color:#1a1a1a !important; }
ul#shipping_method li input[type=radio],
ul.wc_payment_methods li.wc_payment_method input[type=radio] {
    width:16px !important; height:16px !important; margin:3px 0 0 !important; transform:none !important;
    accent-color:#1a1a1a; flex-shrink:0; }
ul#shipping_method li label,
.woocommerce-checkout-payment ul.payment_methods li.wc_payment_method label,
ul.wc_payment_methods li.wc_payment_method > label {
    display:block; font-size:14px !important; font-weight:600 !important; color:#1a1a1a !important;
    margin:0 !important; padding:0 !important; cursor:pointer; line-height:1.5; flex:1; }
ul#shipping_method li label::after,
ul.wc_payment_methods li.wc_payment_method > label::after { content:''; position:absolute; inset:0; cursor:pointer; }
ul.wc_payment_methods li .payment_box { flex:1 1 100% !important; width:100%;
    padding:8px 0 0 28px !important; margin:0 !important; }


/* ---- wiersz przesylki: etykieta nad kafelkami, kafelki na pelna szerokosc (koszyk + zamowienie) ---- */
.cart_totals table.shop_table tr.woocommerce-shipping-totals,
#order_review table.shop_table tr.woocommerce-shipping-totals { display:block !important; width:100%; }
.cart_totals table.shop_table tr.woocommerce-shipping-totals th,
#order_review table.shop_table tr.woocommerce-shipping-totals th {
    display:block !important; width:100% !important; font-weight:700; color:#1a1a1a; text-align:left;
    border-bottom:none; padding:12px 0 8px !important; }
.cart_totals table.shop_table tr.woocommerce-shipping-totals td,
#order_review table.shop_table tr.woocommerce-shipping-totals td {
    display:block !important; width:100% !important; padding:0 0 12px !important; }
ul#shipping_method { width:100%; margin:0 !important; padding:0 !important; list-style:none; }
ul#shipping_method li { width:100%; box-sizing:border-box; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { padding-top:4px; }


/* ==== PODSUMOWANIA (koszyk + zamowienie): uklad blokowy, spojny w obu widokach ==== */
.cart_totals table.shop_table, #order_review table.shop_table,
.cart_totals table.shop_table thead, #order_review table.shop_table thead,
.cart_totals table.shop_table tbody, #order_review table.shop_table tbody,
.cart_totals table.shop_table tfoot, #order_review table.shop_table tfoot {
    display:block !important; width:100% !important; }

/* wiersz standardowy: etykieta z lewej, wartosc z prawej */
.cart_totals table.shop_table tr, #order_review table.shop_table tr {
    display:flex !important; justify-content:space-between; align-items:baseline; gap:16px;
    width:100% !important; border-bottom:1px solid #e5e5e5; }
.cart_totals table.shop_table tr th, .cart_totals table.shop_table tr td,
#order_review table.shop_table tr th, #order_review table.shop_table tr td {
    display:block !important; width:auto !important; border:none !important; text-align:left; }
#order_review table.shop_table tr td:last-child, #order_review table.shop_table tr th:last-child,
.cart_totals table.shop_table tr td:last-child { text-align:right; white-space:nowrap; }
#order_review table.shop_table tr.cart_item td:first-child { flex:1; }

/* Kwota: etykieta pogrubiona nad wartoscia (oba widoki) */
.cart_totals table.shop_table tr.cart-subtotal, #order_review table.shop_table tr.cart-subtotal {
    display:block !important; }
.cart_totals table.shop_table tr.cart-subtotal th, #order_review table.shop_table tr.cart-subtotal th {
    font-weight:700 !important; color:#1a1a1a; padding:12px 0 2px !important; }
.cart_totals table.shop_table tr.cart-subtotal td, #order_review table.shop_table tr.cart-subtotal td {
    text-align:left !important; padding:0 0 12px !important; }

/* Przesylka: etykieta nad kafelkami, kafelki pelna szerokosc */
.cart_totals table.shop_table tr.woocommerce-shipping-totals,
#order_review table.shop_table tr.woocommerce-shipping-totals { display:block !important; }
.cart_totals table.shop_table tr.woocommerce-shipping-totals th,
#order_review table.shop_table tr.woocommerce-shipping-totals th {
    font-weight:700 !important; color:#1a1a1a; padding:12px 0 8px !important; }
.cart_totals table.shop_table tr.woocommerce-shipping-totals td,
#order_review table.shop_table tr.woocommerce-shipping-totals td {
    text-align:left !important; padding:0 0 12px !important; }

/* Lacznie */
.cart_totals table.shop_table tr.order-total, #order_review table.shop_table tr.order-total {
    border-bottom:none; padding:4px 0; }
.cart_totals table.shop_table tr.order-total th, #order_review table.shop_table tr.order-total th,
.cart_totals table.shop_table tr.order-total td, #order_review table.shop_table tr.order-total td {
    font-size:17px !important; font-weight:700 !important; color:#1a1a1a; padding:16px 0 0 !important; }

/* naglowek tabeli w zamowieniu */
#order_review table.shop_table thead tr { border-bottom:1px solid #e5e5e5; }
#order_review table.shop_table thead th { padding:0 0 10px !important; }
#order_review table.shop_table tr.cart_item td { padding:12px 0 !important; }


/* ---- zawijanie tekstu w kafelkach wysylki (waski sidebar koszyka) ---- */
.cart_totals table.shop_table tr.woocommerce-shipping-totals td,
#order_review table.shop_table tr.woocommerce-shipping-totals td {
    white-space:normal !important; }
ul#shipping_method li { flex-wrap:nowrap; }
ul#shipping_method li label {
    white-space:normal !important; overflow-wrap:anywhere; word-break:normal; min-width:0; flex:1; }

.mbl-radio-hint { font-weight:400; font-size:13px; color:#6b7280; }


/* ==== 2026-08-03: checkout wzorem meble.pl - formularz w siatce + podsumowanie obok ==== */

/* uklad dwukolumnowy: formularz i platnosci po lewej, podsumowanie po prawej */
@media (min-width:1024px){
    form.woocommerce-checkout { display:grid; grid-template-columns:minmax(0,1fr) 380px; column-gap:48px; align-items:start; }
    form.woocommerce-checkout #customer_details { grid-column:1; grid-row:1; }
    form.woocommerce-checkout #meblitos-dokument-sprzedazy { grid-column:1; grid-row:2; }
    form.woocommerce-checkout #payment { grid-column:1; grid-row:3; }
    form.woocommerce-checkout .mbl-summary { grid-column:2; grid-row:1 / span 3; position:sticky; top:110px; }
}
form.woocommerce-checkout .mbl-summary #order_review_heading { margin:0; }
#customer_details { display:block !important; }
#customer_details .col-1, #customer_details .col-2 { width:100%; max-width:none; float:none; flex:none !important; }
#customer_details .col-2 { margin-top:8px; }

/* siatka pol formularza */
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, #mbl-fv-fields {
    display:grid; grid-template-columns:repeat(12,1fr); gap:0 16px; }
.woocommerce-billing-fields__field-wrapper > .form-row,
.woocommerce-shipping-fields__field-wrapper > .form-row,
#mbl-fv-fields > .form-row { grid-column:span 12; float:none !important; width:auto !important; }
@media (min-width:640px){
    .mbl-col-6 { grid-column:span 6 !important; }
    .mbl-col-4 { grid-column:span 4 !important; }
    .mbl-col-3 { grid-column:span 3 !important; }
    /* nowy wiersz - zachowuje szerokosc kolumny */
    .mbl-col-6.mbl-clear  { grid-column:1 / span 6 !important; }
    .mbl-col-4.mbl-clear  { grid-column:1 / span 4 !important; }
    .mbl-col-3.mbl-clear  { grid-column:1 / span 3 !important; }
    .mbl-col-12.mbl-clear { grid-column:1 / span 12 !important; }
}
/* kolejnosc pol niezalezna od sortowania WooCommerce */
.mbl-ord-1{order:1}.mbl-ord-2{order:2}.mbl-ord-3{order:3}.mbl-ord-4{order:4}
.mbl-ord-5{order:5}.mbl-ord-6{order:6}.mbl-ord-7{order:7}.mbl-ord-8{order:8}
.mbl-ord-9{order:9}.mbl-ord-10{order:10}.mbl-ord-11{order:11}.mbl-ord-12{order:12}
form.woocommerce-checkout .form-row-first, form.woocommerce-checkout .form-row-last { width:auto; float:none; }

/* sekcja danych do faktury */
#meblitos-dokument-sprzedazy { background:transparent; border:none; padding:0; margin-top:36px; }
#meblitos-dokument-sprzedazy h3 { margin:0 0 18px; font-size:20px; font-weight:700; color:#1a1a1a; }
#meblitos-dokument-sprzedazy .mbl-dok-box { background:#f7f7f7; border:1px solid #e5e5e5; padding:24px 28px; margin-bottom:24px; }
#meblitos-dokument-sprzedazy .mbl-dok-label { font-size:12px; font-weight:600; letter-spacing:.08em;
    text-transform:uppercase; color:#6b7280; margin:0 0 14px; }
#meblitos-dokument-sprzedazy .mbl-dok-options { display:flex; flex-direction:column; gap:10px; }
#meblitos-dokument-sprzedazy label.mbl-radio { display:flex; align-items:center; gap:10px; font-size:14px;
    font-weight:400; color:#333; cursor:pointer; margin:0; }
#meblitos-dokument-sprzedazy label.mbl-radio input[type=radio] { accent-color:#1a1a1a; width:16px; height:16px; margin:0; flex-shrink:0; }
.mbl-dok-hint { font-size:12px; color:#6b7280; line-height:1.6; margin:2px 0 6px 26px; }
.mbl-radio-hint { font-weight:400; font-size:13px; color:#6b7280; }

/* podsumowanie w prawej kolumnie */
#order_review_heading { background:#f7f7f7; border:1px solid #e5e5e5; border-bottom:none; padding:24px 28px 0; margin:0;
    font-size:20px; font-weight:700; }
#order_review { background:#f7f7f7; border:1px solid #e5e5e5; border-top:none; padding:16px 28px 28px; }
/* w podsumowaniu tylko wybrana metoda wysylki, bez radio */
#order_review ul#shipping_method li { border:none !important; background:transparent !important;
    padding:0 !important; margin:0 !important; }
#order_review ul#shipping_method li:not(:has(input:checked)) { display:none !important; }
#order_review ul#shipping_method li input[type=radio] { display:none; }
#order_review ul#shipping_method li label { font-weight:400 !important; font-size:13px !important; color:#333 !important; }
#order_review ul#shipping_method li label::after { content:none; }
#order_review .woocommerce-shipping-destination, #order_review .woocommerce-shipping-calculator { display:none; }
tr.mbl-payment-row th { font-weight:700 !important; color:#1a1a1a; }
tr.mbl-payment-row td { font-size:13px; color:#333; }

/* platnosci pod formularzem */
#payment { margin-top:36px; background:transparent; }
#payment > .form-row.place-order { padding:0; }
.woocommerce-checkout-payment > h3, #payment .mbl-pay-title { font-size:20px; font-weight:700; color:#1a1a1a; margin:0 0 18px; }

/* zgody */
.meblitos-checkout-consents { border:none; padding:0; margin:28px 0 20px; font-size:13px; line-height:1.6; }
.meblitos-checkout-consents h3 { background:#f7f7f7; border:1px solid #e5e5e5; padding:18px 24px; margin:0 0 20px;
    font-size:18px; font-weight:700; color:#1a1a1a; }
.meblitos-checkout-consents .mbl-consents-intro { margin:0 0 14px; color:#333; }
.meblitos-checkout-consents a { text-decoration:underline; color:#1a1a1a; }
.meblitos-checkout-consents .form-row { margin:0 0 8px; padding:0; }
.meblitos-checkout-consents label { display:flex; align-items:flex-start; gap:10px; cursor:pointer; margin:0; font-size:13px; font-weight:400; }
.meblitos-checkout-consents input[type=checkbox] { accent-color:#1a1a1a; width:16px; height:16px; flex-shrink:0; margin-top:2px; }
.mbl-req { color:#b91c1c; }

/* przyciski nawigacji */
a.button.mbl-back-to-cart { background:#fff !important; color:#1a1a1a !important; border:1px solid #d1d5db !important;
    padding:15px 28px; margin-right:12px; display:inline-block; vertical-align:top; }
a.button.mbl-back-to-cart:hover { border-color:#1a1a1a !important; }
#place_order { min-width:auto; padding:15px 32px; vertical-align:top; }


/* przyciski nawigacji w jednym rzedzie */
#payment .form-row.place-order { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; }
#payment .form-row.place-order .meblitos-checkout-consents,
#payment .form-row.place-order .woocommerce-terms-and-conditions-wrapper,
#payment .form-row.place-order .woocommerce-privacy-policy-text,
#payment .form-row.place-order noscript { flex:1 1 100%; }
a.button.mbl-back-to-cart { margin-right:0; }

#place_order { width:auto !important; flex:0 0 auto; }
a.button.mbl-back-to-cart { flex:0 0 auto; }


/* rowna wysokosc przyciskow nawigacji */
a.button.mbl-back-to-cart, #place_order {
    display:inline-flex !important; align-items:center; justify-content:center;
    min-height:52px; padding:0 30px !important; font-size:13px !important; line-height:1.3 !important;
    border-width:1px !important; border-style:solid !important; box-sizing:border-box; }


/* pola faktury wewnatrz szarego boxa */
#meblitos-dokument-sprzedazy .mbl-dok-box { padding:28px; }
#meblitos-dokument-sprzedazy #mbl-fv-fields { margin-top:22px; padding-top:22px; border-top:1px solid #e5e5e5; }
#meblitos-dokument-sprzedazy #mbl-fv-fields .input-text,
#meblitos-dokument-sprzedazy #mbl-fv-fields select { background:#fff; }

/* naglowek nad kafelkami platnosci - jak "Dane do faktury" */
#payment::before { content:"Forma płatności"; display:block; font-size:20px; font-weight:700;
    color:#1a1a1a; margin:0 0 18px; }
