/**
 * FlowCheckout — strona zamówienia w skórce panelu. Wymaga floworder.css (tokeny, przyciski, rama).
 * Wszystko pod .fo-co; nadpisujemy domyślne klasy WooCommerce (form-row, woocommerce-input-wrapper…).
 */
 /* Selektory z prefiksem .fo-app — inline CSS Astry (h2, label) ma wyższą specyficzność niż pojedyncza klasa. */
.fo-app .fo-co-main { padding: 22px 28px 40px; }
.fo-app .fo-co-head { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin: 0 auto 22px; max-width: 1220px; }
.fo-app .fo-co-head .fo-h1 { font-size: 24px; }
.fo-app .fo-co-steps { list-style: none; margin: 0 0 0 auto; padding: 0; display: flex; gap: 18px; font-size: 11.5px; font-weight: 700; color: #777; }
.fo-app .fo-co-steps li { display: inline-flex; align-items: center; gap: 7px; }
.fo-app .fo-co-steps b { width: 20px; height: 20px; border-radius: 50%; background: var(--fo-ink); color: #fff; font-size: 10px; display: inline-flex; align-items: center; justify-content: center; }
.fo-app.fo-co .woocommerce, .fo-app.fo-co .fo-co-content { max-width: none !important; width: 100%; margin: 0; }
.fo-app .fo-co-grid { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 28px; align-items: start; max-width: 1220px; margin: 0 auto; }
.fo-app .fo-co-sections { display: flex; flex-direction: column; }
.fo-app .fo-co-section { border: 1px solid var(--fo-line); border-radius: 12px; padding: 18px 22px 20px; background: #fff; }
.fo-app .fo-co-section + .fo-co-section, .fo-app .fo-co-left > .fo-co-section { margin-top: 14px; }
.fo-app .fo-co-sections .fo-co-section:first-child { margin-top: 0; }
.fo-app .fo-co-h2 { display: flex; align-items: center; gap: 11px; font-weight: 800; font-size: 16px; margin: 0 0 10px; }
.fo-app .fo-co-num { width: 26px; height: 26px; border-radius: 50%; background: var(--fo-ink); color: #fff; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.fo-app .fo-co-h2-summary { margin-bottom: 6px; }
.fo-app .fo-co-hint { font-size: 12px; color: var(--fo-muted); margin: -2px 0 10px; line-height: 1.6; }
.fo-app .fo-co-note { font-size: 12px; color: var(--fo-dim); margin: 4px 0; }
/* ---- pola WooCommerce */
/* Siatka 6 kolumn: wide = 6, first/last = 3, third (kod | miasto | kraj) = 2 — Michał 23.08: kraj/miasto ciaśniej. */
.fo-app.fo-co .fo-co-rows { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px 12px; }
.fo-app.fo-co .form-row { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; grid-column: span 6; min-width: 0; }
.fo-app.fo-co .form-row.form-row-first, .fo-app.fo-co .form-row.form-row-last { grid-column: span 3; width: 100%; float: none; }
.fo-app.fo-co .form-row.fo-co-third { grid-column: span 2; width: 100%; float: none; }
.fo-app.fo-co .form-row.form-row-wide, .fo-app.fo-co #shipping_company_field { grid-column: span 6; width: 100%; float: none; clear: none; }
/* Telefon: kierunkowy kraju jako plakietka w polu (JS), numer zostaje zapisany tak, jak wpisany. */
.fo-app.fo-co .fo-co-phone .woocommerce-input-wrapper { position: relative; }
.fo-app.fo-co .fo-co-dial { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); font-weight: 700; font-size: 13px; color: var(--fo-muted); pointer-events: none; line-height: 1; }
.fo-app.fo-co .fo-co-phone.has-dial .input-text { padding-left: var(--fo-dial-w, 52px); }
.fo-app.fo-co .fo-co-country .select2-selection__rendered, .fo-app.fo-co .fo-co-country option { font-variant-emoji: emoji; }
.fo-app.fo-co .form-row label { font-weight: 700; font-size: 11.5px; color: var(--fo-text); }
.fo-app.fo-co .form-row label .required { color: var(--fo-red); text-decoration: none; }
.fo-app.fo-co .form-row label .optional { font-weight: 500; color: var(--fo-dim); font-size: 10.5px; }
.fo-app.fo-co .woocommerce-input-wrapper { display: block; width: 100%; }
.fo-app.fo-co .woocommerce-input-wrapper .input-text, .fo-app.fo-co .woocommerce-input-wrapper select, .fo-app.fo-co .woocommerce-input-wrapper textarea, .fo-app.fo-co .woocommerce-input-wrapper .select2-container { width: 100% !important; }
/* Natywny select pod select2 ma być niewidzialny (1 px) — inaczej rozpycha stronę w poziomie. */
.fo-app.fo-co select.select2-hidden-accessible { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; border: 0 !important; }
body.fo-co-body { overflow-x: hidden; }
.fo-app.fo-co .input-text, .fo-app.fo-co select, .fo-app.fo-co textarea, .fo-app.fo-co .select2-container--default .select2-selection--single { width: 100%; height: 40px; padding: 0 12px; border: 1px solid var(--fo-line-input); border-radius: 8px; background: #fff; font-family: inherit; font-size: 13.5px; color: var(--fo-ink); box-sizing: border-box; outline: none; }
.fo-app.fo-co textarea { height: auto; min-height: 86px; padding: 11px 14px; resize: vertical; }
.fo-app.fo-co .input-text:focus, .fo-app.fo-co select:focus, .fo-app.fo-co textarea:focus { border-color: var(--fo-ink); box-shadow: 0 0 0 3px rgba(17, 17, 17, .06); }
.fo-app.fo-co .form-row.woocommerce-invalid .input-text, .fo-app.fo-co .form-row.woocommerce-invalid select { border-color: var(--fo-red); }
.fo-app.fo-co .form-row.woocommerce-validated .input-text { border-color: var(--fo-green-dark); }
.fo-app.fo-co .select2-container--default .select2-selection--single { display: flex; align-items: center; }
.fo-app.fo-co .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px; padding-left: 0; color: var(--fo-ink); }
.fo-app.fo-co .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; right: 8px; }
.fo-app.fo-co .select2-dropdown { border-color: var(--fo-line); border-radius: 8px; font-family: inherit; font-size: 13px; }
.fo-app.fo-co .fo-co-country .select2-selection__rendered { font-size: 13px; }
.fo-app.fo-co .woocommerce-input-wrapper .description { font-size: 11px; color: var(--fo-dim); }
.fo-app .fo-co-check { display: flex !important; align-items: flex-start; gap: 10px; font-weight: 600 !important; font-size: 12.5px !important; cursor: pointer; }
.fo-app .fo-co-check input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--fo-ink); flex: none; }
.fo-app .fo-co-toggle { margin: 0; font-size: 12.5px; }
.fo-app .fo-co-extras { border-top: 1px solid var(--fo-line); margin-top: 14px; padding-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.fo-app .fo-co-extra .shipping_address { margin-top: 10px; }
.fo-app .fo-co-details summary { cursor: pointer; list-style: none; font-weight: 600; font-size: 12.5px; display: flex; align-items: center; gap: 8px; }
.fo-app .fo-co-details summary::-webkit-details-marker { display: none; }
.fo-app .fo-co-details summary::before { content: "+"; width: 18px; height: 18px; border: 1px solid #c8c8c8; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 13px; }
.fo-app .fo-co-details[open] summary::before { content: "−"; }
.fo-app .fo-co-details summary span { font-weight: 500; color: var(--fo-dim); font-size: 11px; }
.fo-app .fo-co-details .fo-co-rows { margin-top: 10px; }
.fo-app .fo-co-consents { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }
.fo-app .fo-co-consents .fo-co-check { font-weight: 600 !important; }
.fo-app .fo-co-opt { font-weight: 500; color: var(--fo-dim); font-size: 11px; }
.fo-app .fo-co-extras:empty { display: none; }
.fo-app.fo-co .gr-wc-checkbox { margin-top: 6px; }
.fo-app.fo-co .gr-wc-checkbox label { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 12.5px; cursor: pointer; }
.fo-app.fo-co .gr-wc-checkbox input { width: 18px; height: 18px; margin: 0; accent-color: var(--fo-ink); }
.fo-app.fo-co .shipping_address { margin-top: 4px; }
.fo-app.fo-co .woocommerce-additional-fields { margin-top: 16px; }
.fo-app.fo-co .woocommerce-additional-fields .form-row { grid-column: span 2; }
/* ---- podsumowanie (Astra wstrzykuje inline style na #order_review: float/width/ramka — zerujemy) */
.fo-app.fo-co form #order_review, .fo-app.fo-co form #order_review_heading, .fo-app.fo-co .woocommerce-checkout #order_review, .fo-app.fo-co .woocommerce-checkout #order_review_heading { float: none !important; width: 100% !important; border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
.fo-app.fo-co form #order_review_heading { margin-bottom: 6px !important; font-size: 16px !important; }
.fo-app.fo-co form #customer_details, .fo-app.fo-co form .col2-set, .fo-app.fo-co form .col-1, .fo-app.fo-co form .col-2 { float: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
.fo-app .fo-co-right { position: sticky; top: 16px; }
body.admin-bar .fo-co-right { top: 48px; }
.fo-app .fo-co-summary { border: 1px solid var(--fo-line); border-radius: 12px; padding: 20px 22px 22px; background: #fff; box-shadow: 0 18px 50px rgba(0, 0, 0, .06); }
.fo-app .fo-co-review { position: relative; }
.fo-app .fo-co-review.is-busy { opacity: .5; pointer-events: none; }
.fo-app .fo-co-items { display: flex; flex-direction: column; max-height: 380px; overflow-y: auto; margin: 0 -6px; padding: 0 6px; }
.fo-app .fo-co-item { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 0; border-top: 1px solid var(--fo-line-soft); }
.fo-app .fo-co-item:first-child { border-top: none; padding-top: 4px; }
.fo-app .fo-co-thumb { width: 54px; height: 54px; border: 1px solid #f0f0f0; border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #fff; }
.fo-app .fo-co-thumb img { width: 100%; height: 100%; object-fit: contain; }
.fo-app .fo-co-item-name { font-weight: 700; font-size: 12.5px; line-height: 1.3; }
.fo-app .fo-co-item-sku { font-size: 10px; color: var(--fo-dim); margin-top: 2px; }
.fo-app .fo-co-item .variation { margin: 2px 0 0; font-size: 10.5px; color: var(--fo-faint); display: flex; gap: 6px; flex-wrap: wrap; }
.fo-app .fo-co-item .variation dt, .fo-app .fo-co-item .variation dd { margin: 0; display: inline; }
.fo-app .fo-co-item .variation p { display: inline; margin: 0; }
.fo-app .fo-co-item-row { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.fo-app .fo-co-item-unit { font-size: 10.5px; color: var(--fo-faint); }
.fo-app .fo-co-item-total { font-weight: 800; font-size: 13px; white-space: nowrap; }
.fo-app .fo-co-qty { display: inline-flex; align-items: center; border: 1px solid var(--fo-line-input); border-radius: 6px; overflow: hidden; height: 28px; }
.fo-app .fo-co-qty b { width: 32px; text-align: center; font-size: 12px; font-weight: 800; }
.fo-app .fo-co-step { width: 26px; height: 28px; border: none; background: #fff; font-size: 14px; color: var(--fo-text); cursor: pointer; }
.fo-app .fo-co-step:hover { background: #f2f2f2; }
.fo-app .fo-co-remove { width: 26px; height: 28px; border: none; border-left: 1px solid var(--fo-line-input); background: #fff; color: var(--fo-red); font-size: 14px; cursor: pointer; }
.fo-app .fo-co-label { font-weight: 800; font-size: 10px; letter-spacing: .11em; color: #7c7c7c; margin: 0 0 8px; }
.fo-app .fo-co-shipping { border-top: 1px solid var(--fo-line); margin-top: 10px; padding-top: 14px; }
.fo-app .fo-co-ship-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fo-app .fo-co-ship { position: relative; padding: 0 !important; margin: 0 !important; text-indent: 0 !important; }
.fo-app .fo-co-ship label { text-indent: 0 !important; margin: 0 !important; }
.fo-app .fo-co-ship img { max-height: 20px; width: auto; margin-right: 6px; }
.fo-app .fo-co-ship input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }
.fo-app .fo-co-ship label { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; border: 1px solid #dcdcdc; border-radius: 8px; cursor: pointer; font-size: 12.5px; font-weight: 700; }
.fo-app .fo-co-ship label:hover { border-color: var(--fo-ink); }
.fo-app .fo-co-ship.is-chosen label, .fo-app .fo-co-ship input:checked + label { border-color: var(--fo-ink); box-shadow: inset 0 0 0 1px var(--fo-ink); }
.fo-app .fo-co-ship-cost { font-weight: 600; color: var(--fo-muted); white-space: nowrap; margin-left: auto; }
.fo-app .fo-co-ship label { display: flex !important; }
.fo-app .fo-co-ship-logo { height: 18px; width: auto; margin-left: 12px; flex: none; border-radius: 3px; }
.fo-app .fo-co-ship-extra:empty { display: none; }
.fo-app .fo-co-ship-extra { margin: 8px 0 2px; }
.fo-app .fo-co-ship-extra .easypack-shipping-method-logo, .fo-app .fo-co-ship-extra img[src*="logo"] { display: none !important; }
/* InPost: przycisk wyboru punktu (#easypack_show_geowidget) i wybrany punkt — w naszym stylu, bez żółtego */
.fo-app #easypack_show_geowidget, .fo-app .easypack_show_geowidget { display: inline-block !important; background: var(--fo-ink) !important; color: #fff !important; border-radius: 6px !important; box-shadow: none !important; padding: 10px 14px !important; font: 800 10.5px/1 "Quicksand", sans-serif !important; letter-spacing: .08em !important; text-transform: uppercase !important; width: auto !important; margin: 10px 0 4px !important; cursor: pointer; text-align: center; }
.fo-app #selected_paczkomat_id, .fo-app .selected-parcel-machine, .fo-app #easypack-selected-point { font-size: 12px; font-weight: 700; margin-top: 6px; }
.fo-app .fo-co-shipping .easypack-shipping-method-logo { display: none !important; }
.fo-app .fo-co-ship-extra button, .fo-app .fo-co-ship-extra .button, .fo-app .fo-co-ship-extra input[type="button"], .fo-app #selected-parcel-machine-button, .fo-app .easypack-button { background: var(--fo-ink) !important; color: #fff !important; border: 1px solid var(--fo-ink) !important; border-radius: 6px !important; box-shadow: none !important; padding: 10px 14px !important; font: 800 10.5px/1 "Quicksand", sans-serif !important; letter-spacing: .08em !important; text-transform: uppercase !important; width: auto !important; margin: 0 !important; }
.fo-app .fo-co-ship-extra #selected-parcel-machine, .fo-app .fo-co-ship-extra .selected-parcel-machine { font-size: 12px; margin-top: 6px; }
/* PayU: żółty przycisk „place order” w ich stylu — zostaje nasz czarny */
.fo-app.fo-co #place_order, .fo-app.fo-co #place_order.payu-button, .fo-app.fo-co button#place_order[style] { background: var(--fo-ink) !important; background-image: none !important; color: #fff !important; border-color: var(--fo-ink) !important; border-radius: 6px !important; box-shadow: none !important; }
.fo-app.fo-co #place_order:hover { background: #2d2d2d !important; }
.fo-app .fo-co-ship .woocommerce-Price-amount { font-weight: 800; color: var(--fo-ink); }
.fo-app .fo-co-ship-pkg > p { margin: 0; }
/* InPost: widget wyboru paczkomatu wypisywany przez wtyczkę pod metodą */
.fo-app .fo-co-ship-list li > *:not(input):not(label) { margin-top: 8px; }
.fo-app .fo-co-coupon-wrap { border-top: 1px solid var(--fo-line); margin-top: 14px; padding-top: 10px; }
.fo-app .fo-co-coupon summary { cursor: pointer; font-weight: 700; font-size: 12px; color: var(--fo-muted); list-style: none; }
.fo-app .fo-co-coupon summary::-webkit-details-marker { display: none; }
.fo-app .fo-co-coupon summary::before { content: "+ "; }
.fo-app .fo-co-coupon[open] summary::before { content: "− "; }
.fo-app .fo-co-coupon-row { display: flex; gap: 8px; margin-top: 10px; }
.fo-app .fo-co-coupon-row .input-text { height: 38px; flex: 1; }
.fo-app.fo-co .woocommerce-error, .fo-app.fo-co .woocommerce-message, .fo-app.fo-co .woocommerce-info { list-style: none; margin: 0 0 14px; padding: 11px 14px; border-radius: 8px; font-weight: 700; font-size: 12px; background: #fdecea; color: #b3261e; border: 1px solid #f6c9c4; }
.fo-app.fo-co .woocommerce-message, .fo-app.fo-co .woocommerce-info { background: #e9f9f0; color: var(--fo-green-dark); border-color: #bfe9cf; }
.fo-app.fo-co .woocommerce-error li, .fo-app.fo-co .woocommerce-message li { margin: 0; }
.fo-app.fo-co .woocommerce-NoticeGroup { margin-bottom: 14px; }
/* Komunikaty WooCommerce 9+ (banner) — bez arkusza rdzenia stylujemy sami */
.fo-app.fo-co .wc-block-components-notice-banner { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 8px; border: 1px solid #f6c9c4; background: #fdecea; color: #b3261e; font-size: 12.5px; font-weight: 600; margin: 0 0 14px; line-height: 1.5; }
.fo-app.fo-co .wc-block-components-notice-banner.is-success { background: #e9f9f0; color: var(--fo-green-dark); border-color: #bfe9cf; }
.fo-app.fo-co .wc-block-components-notice-banner.is-info { background: #fff7e8; color: var(--fo-amber-dark); border-color: #f3ddb0; }
.fo-app.fo-co .wc-block-components-notice-banner > svg { width: 18px; height: 18px; flex: none; fill: currentColor; margin-top: 1px; }
.fo-app.fo-co .wc-block-components-notice-banner__content { flex: 1; }
.fo-app.fo-co .wc-block-components-notice-banner ul { margin: 0; padding: 0; list-style: none; }
.fo-app.fo-co .wc-block-components-notice-banner a { text-decoration: underline; }
.fo-app .fo-co-totals { border-top: 1px solid var(--fo-line); margin-top: 14px; padding-top: 12px; display: flex; flex-direction: column; gap: 7px; font-size: 12.5px; }
.fo-app .fo-co-total-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.fo-app .fo-co-total-row span { color: var(--fo-muted); }
.fo-app .fo-co-total-row b { font-weight: 700; }
.fo-app .fo-co-total-tax span, .fo-app .fo-co-total-tax b { color: var(--fo-faint); font-weight: 600; }
.fo-app .fo-co-total-gross { border-top: 1px solid #e5e5e5; padding-top: 9px; margin-top: 3px; font-size: 14px; }
.fo-app .fo-co-total-gross span { color: var(--fo-ink); font-weight: 700; }
.fo-app .fo-co-total-gross b { font-weight: 800; font-size: 17px; }
.fo-app .fo-co-total-coupon b { color: var(--fo-green-dark); }
.fo-app.fo-co .woocommerce-remove-coupon { font-size: 10px; margin-left: 6px; color: var(--fo-red); }
/* ---- płatność (zdejmujemy szare tło i zaokrąglenia z rdzenia WooCommerce) */
.fo-app.fo-co .woocommerce-checkout #payment, .fo-app.fo-co #payment { background: transparent; border-radius: 0; }
.fo-app.fo-co #payment ul.payment_methods { border-bottom: none; padding: 0; }
.fo-app.fo-co #payment ul.payment_methods li { line-height: 1.4; text-align: left; }
.fo-app.fo-co #payment div.form-row { padding: 0; }
.fo-app.fo-co #payment div.payment_box::before { display: none; }
.fo-app.fo-co #payment div.payment_box { width: auto; }
.fo-app.fo-co .woocommerce-privacy-policy-text p { font-size: 11px; color: var(--fo-dim); line-height: 1.6; margin: 0; }
.fo-app.fo-co .woocommerce-privacy-policy-text a { text-decoration: underline; }
.fo-app .fo-co-pay-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fo-app .fo-co-pm { position: relative; }
.fo-app .fo-co-pm > input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }
.fo-app .fo-co-pm > label { display: flex !important; align-items: center; gap: 12px; text-align: left; padding: 12px 14px 12px 44px; border: 1px solid #dcdcdc; border-radius: 8px; cursor: pointer; position: relative; }
.fo-app .fo-co-pm > label::after { content: ""; display: block; order: 1; }
.fo-app .fo-co-pm-title, .fo-app .fo-co-pm-desc { display: block; }
.fo-app .fo-co-pm-text { flex: 1; min-width: 0; }
.fo-app .fo-co-pm > label::before { content: ""; position: absolute; left: 14px; top: 15px; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #c8c8c8; box-sizing: border-box; }
.fo-app .fo-co-pm > input:checked + label { border-color: var(--fo-ink); box-shadow: inset 0 0 0 1px var(--fo-ink); }
.fo-app .fo-co-pm > input:checked + label::before { border: 6px solid var(--fo-ink); }
.fo-app .fo-co-pm > label:hover { border-color: var(--fo-ink); }
.fo-app .fo-co-pm-title { font-weight: 800; font-size: 13px; }
.fo-app .fo-co-pm-desc { font-size: 11.5px; color: var(--fo-muted); line-height: 1.5; margin-top: 2px; }
.fo-app .fo-co-pm-icon { display: inline-flex; align-items: center; gap: 4px; flex: none; }
.fo-app .fo-co-pm-icon:empty { display: none; }
.fo-app .fo-co-pm-icon img { max-height: 22px; width: auto; }
.fo-app.fo-co .payment_box { margin: 8px 0 4px 44px; padding: 12px 14px; background: var(--fo-bg-soft); border-radius: 8px; font-size: 12px; color: var(--fo-text); }
.fo-app.fo-co .payment_box p:last-child { margin-bottom: 0; }
.fo-app .fo-co-place { margin-top: 18px; display: flex; flex-direction: column; gap: 12px; }
.fo-app .fo-co-terms .form-row { grid-column: auto; }
.fo-app .fo-co-terms a { text-decoration: underline; text-underline-offset: 2px; }
.fo-app .fo-co-submit { padding: 16px; font-size: 12px; letter-spacing: .1em; }
.fo-app .fo-co-submit:disabled, .fo-app .fo-co-submit.disabled { opacity: .6; cursor: wait; }
.fo-app .fo-co-legal { font-size: 11px; color: var(--fo-dim); line-height: 1.6; margin: 0; }
.fo-app.fo-co .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }
/* ---- dziękujemy */
.fo-app .fo-co-thanks-head { text-align: center; max-width: 640px; margin: 10px auto 28px; }
.fo-app .fo-co-thanks-ico { width: 52px; height: 52px; border-radius: 50%; background: var(--fo-green); margin: 0 auto 14px; display: flex; align-items: center; justify-content: center; }
.fo-app .fo-co-thanks-lead { font-size: 13px; color: var(--fo-muted); line-height: 1.7; margin: 10px 0 0; }
.fo-app .fo-co-thanks-lead a { text-decoration: underline; text-underline-offset: 2px; }
.fo-app .fo-co-thanks-grid { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 22px; align-items: start; max-width: 1220px; margin: 0 auto; }
.fo-app .fo-co-thanks .fo-card { border: 1px solid var(--fo-line); border-radius: 12px; padding: 18px 20px; background: #fff; }
.fo-app .fo-co-thanks .fo-card + .fo-card { margin-top: 18px; }
.fo-app .fo-co-thanks .fo-card-title { font-weight: 800; font-size: 13.5px; margin-bottom: 4px; }
.fo-app .fo-co-bank h2 { font-size: 13.5px; font-weight: 800; margin: 0 0 4px; }
.fo-app .fo-co-bank h3 { font-size: 10px; font-weight: 800; letter-spacing: .11em; color: #7c7c7c; margin: 14px 0 4px; text-transform: uppercase; }
.fo-app .fo-co-bank .wc-bacs-bank-details { list-style: none; margin: 0; padding: 0; font-size: 12.5px; display: grid; grid-template-columns: 1fr; gap: 6px; }
.fo-app .fo-co-bank .wc-bacs-bank-details li { display: flex; justify-content: space-between; gap: 12px; line-height: 1.5; }
.fo-app .fo-co-bank .wc-bacs-bank-details li strong { font-weight: 800; display: block; text-align: right; }
.fo-app .fo-co-bank-note { border-bottom: 1px solid var(--fo-line); padding-bottom: 10px; margin-bottom: 10px; }
.fo-app .fo-co-bank-note .fo-kv:first-child { margin-top: 4px; }
.fo-app .fo-co-bank:empty { display: none; }
.fo-app .fo-co-thanks-actions { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.fo-app .fo-co-wall { margin: 30px auto; }
@media (max-width: 1100px) {
.fo-app .fo-co-grid { grid-template-columns: minmax(0, 1fr) 380px; gap: 20px; }
}
@media (max-width: 900px) {
.fo-app .fo-co-main { padding: 16px 16px 40px; }
.fo-app .fo-co-grid { grid-template-columns: 1fr; }
.fo-app .fo-co-right { position: static; order: -1; }
.fo-app .fo-co-items { max-height: 260px; }
.fo-app .fo-co-thanks-grid { grid-template-columns: 1fr; }
.fo-app .fo-co-steps { display: none; }
}
@media (max-width: 600px) {
.fo-app.fo-co .form-row.form-row-first, .fo-app.fo-co .form-row.form-row-last { grid-column: span 6; }
.fo-app.fo-co .form-row.fo-co-third { grid-column: span 3; }
.fo-app.fo-co .form-row.fo-co-country { grid-column: span 6; }
.fo-app .fo-co-section { padding: 16px; }
.fo-app .fo-co-summary { padding: 16px; }
}
/* Astra/WC: h3 "inny adres dostawy" dostaje padding 20/14 i margin 20 - to byl pusty odstep w sekcji 1. */
.fo-app.fo-co h3.fo-co-toggle, .fo-app.fo-co #ship-to-different-address { margin: 0 !important; padding: 0 !important; font-size: 12.5px !important; line-height: 1.4 !important; }
/* Regulamin: Astra daje line-height 25px na tekście checkboxa - checkbox wisiał nad tekstem. */
.fo-app.fo-co .fo-co-check > span { line-height: 1.4 !important; }
.fo-app.fo-co .fo-co-terms .fo-co-check .required { margin-left: -6px; }

/* Oszczędność progu w podsumowaniu zamówienia. */
.fo-app .fo-co-total-save span, .fo-app .fo-co-total-save b { color: var(--fo-green-dark); font-weight: 700; }
