/* ============================================================
   JMM — WooCommerce Checkout & Cart styles
   ============================================================ */

:root {
    --bg:       #030604;
    --surface:  #0d0f0e;
    --border:   rgba(255,255,255,0.07);
    --primary:  #00E65B;
    --primary-glow: rgba(0,230,91,0.25);
    --red:      #eb1b27;
    --text:     #F3F4F6;
    --muted:    #9CA3AF;
    --font:     'Outfit', sans-serif;
    --mono:     'JetBrains Mono', monospace;
    --radius:   16px;
    --transition: all 0.3s cubic-bezier(0.16,1,0.3,1);
}

/* ---- Checkout navigation bar ---- */
.jmm-checkout-nav {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(3,6,4,0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border);
}
.jmm-checkout-nav__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.jmm-checkout-nav__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}
.jmm-checkout-nav__logo .logo-mark {
    background: var(--primary);
    color: #000;
    font-weight: 900;
    font-size: 0.75rem;
    padding: 5px 8px;
    border-radius: 6px;
    font-family: var(--font);
    letter-spacing: 0.5px;
}
.jmm-checkout-nav__logo .logo-text {
    font-family: var(--font);
    font-weight: 700;
    font-size: 1rem;
    color: #fff;
    text-transform: lowercase;
    letter-spacing: -0.3px;
}
.jmm-checkout-nav__logo .highlight {
    color: var(--primary);
    text-transform: uppercase;
}
.jmm-checkout-nav__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    color: var(--text);
    font-family: var(--font);
    font-size: 0.9rem;
    font-weight: 500;
    padding: 8px 16px;
    text-decoration: none;
    transition: border-color 0.2s, background 0.2s;
}
.jmm-checkout-nav__btn:hover {
    border-color: rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.09);
    color: #fff;
}
.jmm-checkout-nav__btn svg { opacity: 0.7; }

/* ---- Express pay strip ---- */
.jmm-express-pay {
    max-width: 1100px;
    margin: 32px auto 0;
    padding: 0 24px;
}
.jmm-express-pay__icons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: rgba(10,14,11,0.6);
    backdrop-filter: blur(20px);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 14px 24px;
}
.jmm-express-pay__more {
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
}

/* ---- "LUB" separator ---- */
.jmm-express-separator {
    max-width: 1100px;
    margin: 20px auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 16px;
}
.jmm-express-separator__line {
    flex: 1;
    height: 1px;
    background: var(--border);
}
.jmm-express-separator__text {
    color: var(--muted);
    font-family: var(--font);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 2px;
}

/* ---- Base & body ---- */
body.woocommerce-checkout,
body.woocommerce-cart {
    background-color: var(--bg) !important;
    background-image:
        radial-gradient(circle at 10% 20%, rgba(0,230,91,0.07) 0%, transparent 45%),
        radial-gradient(circle at 90% 80%, rgba(0,60,30,0.15) 0%, transparent 45%);
    color: var(--text) !important;
    font-family: var(--font) !important;
    min-height: 100vh;
}

/* ---- WP Admin bar compensation ---- */
body.woocommerce-checkout.admin-bar .jmm-checkout-wrap,
body.woocommerce-cart.admin-bar .jmm-woo-cart { margin-top: 0; }

/* ---- Nawigacja (reuse landing nav styles) ---- */
.site-header, .wp-site-blocks > header { display: none !important; }

/* ---- Wrapper główny ---- */
.jmm-checkout-wrap,
.jmm-woo-cart {
    max-width: 1100px;
    margin: 0 auto;
    padding: 100px 24px 80px;
}

/* ---- Express pay (Google Pay / Stripe) ---- */
.woocommerce-checkout #payment .wc-block-components-express-payment,
#express-payment-method-container,
.wc-block-components-express-payment-continue-rule {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    padding: 16px !important;
    margin-bottom: 24px !important;
}
.wc-block-components-express-payment__title {
    color: var(--muted) !important;
    font-family: var(--font) !important;
    font-size: 0.85rem !important;
    text-align: center !important;
}
.wc-block-components-express-payment-continue-rule__rule {
    color: var(--muted) !important;
}

/* ---- Dwa kolumny ---- */
.jmm-checkout-columns {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 28px;
    align-items: start;
}
@media (max-width: 860px) {
    .jmm-checkout-columns {
        grid-template-columns: 1fr;
    }
    .jmm-checkout-right {
        order: -1;
        position: static !important;
    }
}

/* ---- Tytuły sekcji ---- */
.jmm-checkout-title {
    font-family: var(--font) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: none !important;
}

/* ---- Lewa kolumna ---- */
.jmm-checkout-left {
    background: rgba(10,14,11,0.6);
    backdrop-filter: blur(20px);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 32px;
}

/* ---- Prawa: podsumowanie ---- */
.jmm-checkout-right {
    background: rgba(10,14,11,0.6);
    backdrop-filter: blur(20px);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 32px;
    position: sticky;
    top: 32px;
}
.jmm-order-item {
    margin-bottom: 16px;
}
.jmm-order-item-label {
    font-size: 0.7rem;
    color: var(--muted);
    letter-spacing: 2px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 4px;
}
.jmm-order-item-name {
    font-size: 1.8rem !important;
    font-weight: 900 !important;
    color: var(--primary) !important;
    margin: 0 0 4px !important;
    letter-spacing: -0.5px;
}
.jmm-order-item-desc {
    color: var(--muted);
    font-size: 0.9rem;
    margin: 0;
}
.jmm-order-features {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.jmm-order-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: 0.85rem;
    font-family: var(--font);
}
.jmm-order-features li svg {
    flex-shrink: 0;
    color: var(--primary);
}
.jmm-order-features li em {
    font-style: normal;
    color: var(--primary);
    font-weight: 700;
}

.jmm-coupon-wrap {
    margin: 16px 0 4px;
}
.jmm-coupon-toggle {
    background: none;
    border: none;
    color: var(--primary);
    font-size: 0.9rem;
    font-family: var(--font);
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    transition: opacity 0.2s;
}
.jmm-coupon-toggle:hover { opacity: 0.75; }
.jmm-coupon-form {
    margin-top: 12px;
}
.jmm-coupon-row {
    display: flex;
    gap: 8px;
}
.jmm-coupon-row input {
    flex: 1;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--border);
    border-radius: 10px;
    color: #fff;
    font-family: var(--font);
    font-size: 0.95rem;
    padding: 10px 14px;
    outline: none;
    transition: border-color 0.2s;
}
.jmm-coupon-row input:focus { border-color: var(--primary); }
.jmm-coupon-row button {
    background: var(--primary);
    color: #000;
    border: none;
    border-radius: 10px;
    font-family: var(--font);
    font-weight: 700;
    font-size: 0.9rem;
    padding: 10px 18px;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity 0.2s;
}
.jmm-coupon-row button:hover { opacity: 0.85; }
#jmm-coupon-msg {
    margin-top: 8px;
    font-size: 0.85rem;
    font-weight: 600;
}
#jmm-coupon-msg.success { color: var(--primary); }
#jmm-coupon-msg.error   { color: #ff4d4d; }

.jmm-order-divider {
    height: 1px;
    background: var(--border);
    margin: 20px 0;
}
.jmm-order-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1rem;
    color: var(--text);
    font-weight: 600;
}
.jmm-order-total-price {
    color: var(--primary);
    font-size: 1.3rem;
    font-weight: 800;
    font-family: var(--mono);
}

/* ---- Labele pól ---- */
.woocommerce-checkout label,
.woocommerce-billing-fields label,
.woocommerce-shipping-fields label,
.woocommerce-additional-fields label {
    color: var(--muted) !important;
    font-family: var(--font) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
    display: block !important;
}
.woocommerce-checkout .required { color: var(--primary) !important; }

/* ---- Inputy ---- */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-family: var(--font) !important;
    font-size: 0.95rem !important;
    padding: 12px 14px !important;
    height: auto !important;
    width: 100% !important;
    box-shadow: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
    border-color: rgba(0,230,91,0.5) !important;
    box-shadow: 0 0 0 3px rgba(0,230,91,0.1) !important;
    outline: none !important;
    background: rgba(0,230,91,0.03) !important;
}
.woocommerce-checkout select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239CA3AF' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 40px !important;
}

/* ---- Checkbox (faktura, zgody) ---- */
.woocommerce-checkout input[type="checkbox"] {
    accent-color: var(--primary) !important;
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    color: rgba(255,255,255,0.6) !important;
    font-size: 0.85rem !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox input {
    margin-top: 2px !important;
}

/* ---- Nagłówki sekcji WC (billing, payment) ---- */
.woocommerce-checkout h3,
.woocommerce-checkout h3#ship-to-different-address,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-payment h3 {
    font-family: var(--font) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    border-bottom: 1px solid var(--border) !important;
    padding-bottom: 12px !important;
    margin: 24px 0 16px !important;
}
.woocommerce-checkout .woocommerce-billing-fields h3:first-child { margin-top: 0 !important; }

/* ---- Sekcja płatności ---- */
#payment,
.woocommerce-checkout-payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    transition: border-color 0.2s !important;
    margin: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked),
.woocommerce-checkout #payment ul.payment_methods li.payment_method_selected {
    border-color: var(--primary) !important;
    background: rgba(0,230,91,0.04) !important;
}
.woocommerce-checkout #payment ul.payment_methods label {
    color: var(--text) !important;
    font-size: 0.95rem !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
}
.woocommerce-checkout #payment ul.payment_methods input[type="radio"] {
    display: none !important;
}
.woocommerce-checkout #payment .payment_box {
    background: rgba(255,255,255,0.02) !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    margin-top: 10px !important;
    color: var(--muted) !important;
    font-size: 0.85rem !important;
}
.woocommerce-checkout #payment .payment_box select,
.woocommerce-checkout #payment .payment_box input {
    margin-top: 8px !important;
}

/* ---- Kod rabatowy ---- */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.checkout_coupon,
.woocommerce-form-coupon {
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    margin: 16px 0 !important;
}
.woocommerce-checkout .showcoupon {
    color: var(--primary) !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.woocommerce-checkout .showcoupon::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E65B' stroke-width='2'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Ccircle cx='7' cy='7' r='1'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* ---- Zgody RODO / warunki ---- */
#payment .terms,
.woocommerce-checkout-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
    color: rgba(255,255,255,0.55) !important;
    font-size: 0.82rem !important;
    line-height: 1.6 !important;
    margin: 16px 0 !important;
}
#payment .terms a,
.woocommerce-checkout-privacy-policy-text a {
    color: var(--primary) !important;
    text-decoration: none !important;
}

/* ---- Przycisk "Zapłać" ---- */
#payment #place_order,
.woocommerce-checkout #place_order {
    background: linear-gradient(135deg, var(--primary) 0%, #00b347 100%) !important;
    color: #000 !important;
    font-family: var(--font) !important;
    font-weight: 800 !important;
    font-size: 1.05rem !important;
    letter-spacing: 1px !important;
    padding: 18px 24px !important;
    border-radius: 12px !important;
    border: none !important;
    width: 100% !important;
    cursor: pointer !important;
    box-shadow: 0 8px 24px rgba(0,230,91,0.3) !important;
    transition: var(--transition) !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 20px !important;
    height: auto !important;
    min-height: 56px !important;
    /* Override HotPay/WC button text */
    font-size: 0 !important;
}
#payment #place_order::after,
.woocommerce-checkout #place_order::after {
    content: 'Zapłać';
    font-family: var(--font);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #000;
}
#payment #place_order:hover,
.woocommerce-checkout #place_order:hover {
    background: linear-gradient(135deg, #00ff66 0%, #00cc44 100%) !important;
    box-shadow: 0 12px 32px rgba(0,230,91,0.45) !important;
    transform: translateY(-2px) !important;
}

/* ---- Grid pól billing (imię + nazwisko obok siebie) ---- */
.woocommerce-billing-fields .form-row-first,
.woocommerce-billing-fields .form-row-last {
    width: calc(50% - 8px) !important;
    float: left !important;
    clear: none !important;
}
.woocommerce-billing-fields .form-row-last { float: right !important; }
.woocommerce-billing-fields .form-row-wide { clear: both !important; width: 100% !important; }
.woocommerce-billing-fields::after { content: ''; display: table; clear: both; }

/* ---- Wiadomości błędów ---- */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    background: rgba(235,27,39,0.08) !important;
    border-top: 3px solid var(--red) !important;
    border-radius: 12px !important;
    color: var(--text) !important;
    font-family: var(--font) !important;
    padding: 14px 18px !important;
    margin-bottom: 20px !important;
    list-style: none !important;
}
.woocommerce-message,
.woocommerce-info {
    background: rgba(0,230,91,0.08) !important;
    border-top-color: var(--primary) !important;
}
.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a { color: var(--primary) !important; }

/* ---- WC validation states ---- */
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select {
    border-color: rgba(235,27,39,0.6) !important;
}
.woocommerce-checkout .woocommerce-valid input,
.woocommerce-checkout .woocommerce-valid select {
    border-color: rgba(0,230,91,0.4) !important;
}

/* ---- "Order review" wewnątrz formularza (ukryjemy duplikat) ---- */
.jmm-payment-block .woocommerce-checkout-review-order-table { display: none !important; }
.jmm-payment-block #order_review_heading { display: none !important; }

/* ---- Metoda płatności — główna sekcja ---- */
.jmm-payment-block { margin-top: 20px; }
.jmm-payment-block h3 { margin-top: 0 !important; }

/* ============================================================
   KOSZYK (cart)
   ============================================================ */
.woocommerce-cart .woocommerce {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 24px;
}
.woocommerce-cart table.cart {
    background: rgba(10,14,11,0.6) !important;
    border: 1px solid var(--border) !important;
    border-radius: 20px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
}
.woocommerce-cart table.cart thead th {
    background: rgba(255,255,255,0.03) !important;
    color: var(--muted) !important;
    font-family: var(--font) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid var(--border) !important;
    border-top: none !important;
}
.woocommerce-cart table.cart td {
    background: transparent !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
    font-family: var(--font) !important;
    padding: 18px 20px !important;
    vertical-align: middle !important;
}
.woocommerce-cart table.cart td.product-name a {
    color: #fff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.woocommerce-cart table.cart td.product-name a:hover { color: var(--primary) !important; }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
    color: var(--primary) !important;
    font-family: var(--mono) !important;
    font-weight: 700 !important;
}
.woocommerce-cart .quantity input {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-family: var(--font) !important;
    width: 60px !important;
    text-align: center !important;
    padding: 8px !important;
}
.woocommerce-cart a.remove {
    color: rgba(255,255,255,0.3) !important;
    font-size: 1.2rem !important;
    transition: color 0.2s !important;
}
.woocommerce-cart a.remove:hover { color: var(--red) !important; }
.woocommerce-cart .cart-collaterals .cart_totals {
    background: rgba(10,14,11,0.6) !important;
    border: 1px solid var(--border) !important;
    border-radius: 20px !important;
    padding: 28px !important;
}
.woocommerce-cart .cart_totals h2 {
    font-family: var(--font) !important;
    font-size: 1.1rem !important;
    color: #fff !important;
    margin-bottom: 16px !important;
}
.woocommerce-cart .cart_totals table {
    width: 100% !important;
    border-collapse: collapse !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding: 10px 0 !important;
    border-top: 1px solid var(--border) !important;
    color: var(--text) !important;
    font-family: var(--font) !important;
}
.woocommerce-cart .cart_totals .order-total td {
    color: var(--primary) !important;
    font-weight: 800 !important;
    font-size: 1.1rem !important;
    font-family: var(--mono) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: linear-gradient(135deg, var(--primary) 0%, #00b347 100%) !important;
    color: #000 !important;
    font-family: var(--font) !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    padding: 16px 24px !important;
    border-radius: 12px !important;
    text-align: center !important;
    display: block !important;
    text-decoration: none !important;
    box-shadow: 0 8px 24px rgba(0,230,91,0.3) !important;
    transition: var(--transition) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-top: 16px !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: linear-gradient(135deg, #00ff66 0%, #00cc44 100%) !important;
    box-shadow: 0 12px 32px rgba(0,230,91,0.45) !important;
    transform: translateY(-2px) !important;
    color: #000 !important;
}
.woocommerce-cart .coupon input[type="text"] {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    color: #fff !important;
    padding: 10px 14px !important;
    font-family: var(--font) !important;
}
.woocommerce-cart .coupon button,
.woocommerce-cart .button[name="update_cart"] {
    background: rgba(255,255,255,0.06) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    padding: 10px 18px !important;
    font-family: var(--font) !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: var(--transition) !important;
}
.woocommerce-cart .coupon button:hover,
.woocommerce-cart .button[name="update_cart"]:hover {
    border-color: var(--primary) !important;
    color: var(--primary) !important;
}

/* ---- Ogólne breadcrumbs / strony WC ---- */
.woocommerce-breadcrumb {
    color: var(--muted) !important;
    font-family: var(--font) !important;
    font-size: 0.85rem !important;
    margin-bottom: 24px !important;
}
.woocommerce-breadcrumb a { color: var(--primary) !important; text-decoration: none !important; }

/* ---- Checkout: "Dostęp na X dni" pod nazwą pakietu ---- */
.jmm-order-item-access {
    color: var(--muted);
    font-size: 0.875rem;
    margin: 4px 0 0;
    font-family: var(--font);
}

/* ---- Coupon accordion ---- */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 14px 18px !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    color: var(--text) !important;
    font-family: var(--font) !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: border-color 0.2s !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon:hover {
    border-color: rgba(255,255,255,0.15) !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon::before {
    content: '' !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E65B' stroke-width='2'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Ccircle cx='7' cy='7' r='1'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    flex-shrink: 0 !important;
}
.woocommerce-checkout .checkout_coupon {
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid var(--border) !important;
    border-top: none !important;
    border-radius: 0 0 12px 12px !important;
    padding: 16px 18px !important;
    margin: 0 0 16px !important;
}
.woocommerce-checkout .checkout_coupon .button {
    background: rgba(255,255,255,0.06) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    padding: 10px 18px !important;
    font-family: var(--font) !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: border-color 0.2s !important;
}
.woocommerce-checkout .checkout_coupon .button:hover {
    border-color: var(--primary) !important;
    color: var(--primary) !important;
}

/* ---- Checkout body: hide parent theme header & search ---- */
body.woocommerce-checkout .jmm-checkout-nav ~ * .site-header { display: none !important; }
body.woocommerce-checkout .wp-block-search,
body.woocommerce-checkout [class*="search"],
body.woocommerce-checkout button[aria-label*="search" i],
body.woocommerce-checkout button[aria-label*="szukaj" i] { display: none !important; }

/* ---- Responsywność (klasyczny checkout) ---- */
@media (max-width: 860px) {
    .jmm-express-pay,
    .jmm-express-separator { padding: 0 16px; }
}
@media (max-width: 640px) {
    .jmm-checkout-left,
    .jmm-checkout-right { padding: 24px 18px; }
    .woocommerce-billing-fields .form-row-first,
    .woocommerce-billing-fields .form-row-last {
        width: 100% !important;
        float: none !important;
    }
    .jmm-checkout-nav__logo .logo-text { display: none; }
}

/* ============================================================
   WooCommerce BLOCKS Checkout — JMM dark theme override
   ============================================================ */

/* ---- Full page background ---- */
body.woocommerce-checkout {
    background-color: var(--bg) !important;
    background-image:
        radial-gradient(circle at 10% 20%, rgba(0,230,91,0.07) 0%, transparent 45%),
        radial-gradient(circle at 90% 80%, rgba(0,60,30,0.15) 0%, transparent 45%) !important;
}

/* ---- Strip all WC/theme wrapper padding/margin ---- */
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-checkout .wp-site-blocks > main,
body.woocommerce-checkout .wp-block-group,
body.woocommerce-checkout .wp-block-post-content,
body.woocommerce-checkout .woocommerce-page-content-wrapper,
body.woocommerce-checkout .entry-content {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}

/* ---- Hide ALL headers/footers except our jmm-checkout-nav ---- */
body.woocommerce-checkout header:not(.jmm-checkout-nav),
body.woocommerce-checkout .wp-site-blocks > header,
body.woocommerce-checkout .wp-site-blocks > footer,
body.woocommerce-checkout footer.wp-block-template-part,
body.woocommerce-checkout header.wp-block-template-part,
body.woocommerce-checkout .wp-block-template-part[data-slug="checkout-header"] {
    display: none !important;
}

/* ---- Checkout wrapper max-width + centering ---- */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
    max-width: 1100px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 32px 24px 80px !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* ---- Force page content to center ---- */
body.woocommerce-checkout .wp-site-blocks > main,
body.woocommerce-checkout .wp-block-post-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-block-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* ---- Hide express payment block + "LUB" separator ---- */
body.woocommerce-checkout .wc-block-components-express-payment,
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule,
body.woocommerce-checkout .wc-block-checkout__express-payment,
body.woocommerce-checkout .wc-block-checkout__express-payment-continue-rule,
body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block,
body.woocommerce-checkout [class*="express-payment"],
body.woocommerce-checkout [class*="express_payment"] {
    display: none !important;
}

/* ---- Hide all notices/banners above the form ---- */
body.woocommerce-checkout .wc-block-store-notice-container,
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-checkout .wp-block-woocommerce-store-notices,
body.woocommerce-checkout .wc-block-components-notice-banner {
    display: none !important;
}

/* ---- Coupon block visible in order summary ---- */

/* ---- Main checkout layout: two columns ---- */
.wc-block-checkout__main {
    background: rgba(10,14,11,0.6) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid var(--border) !important;
    border-radius: 20px !important;
    padding: 32px !important;
}
.wc-block-checkout__sidebar {
    background: rgba(10,14,11,0.6) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid var(--border) !important;
    border-radius: 20px !important;
    padding: 32px !important;
}

/* ---- Step titles (Dane kontaktowe, Adres, Metoda płatności) ---- */
.wc-block-components-checkout-step__title {
    font-family: var(--font) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #fff !important;
}
.wc-block-components-checkout-step__description {
    color: var(--muted) !important;
    font-family: var(--font) !important;
    font-size: 0.85rem !important;
}
.wc-block-components-checkout-step__heading {
    border-bottom: 1px solid var(--border) !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
}
.wc-block-components-checkout-step {
    padding: 0 0 24px !important;
    margin: 0 0 8px !important;
    border: none !important;
    border-bottom: 1px solid var(--border) !important;
}
.wc-block-components-checkout-step:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}
.wc-block-components-checkout-step__container {
    background: transparent !important;
}

/* ---- Step number badge ---- */
.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__heading-container::before {
    background: var(--primary) !important;
    color: #000 !important;
    font-family: var(--font) !important;
    font-weight: 800 !important;
    border: none !important;
}

/* ---- Inputy ---- */
.wc-block-components-text-input input,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="password"],
.wc-block-checkout select,
.wc-block-checkout textarea,
.wc-block-components-select select,
.components-select-control__input {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-family: var(--font) !important;
    font-size: 0.95rem !important;
    padding: 12px 14px !important;
    height: auto !important;
    min-height: 46px !important;
    box-shadow: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    box-sizing: border-box !important;
}
.wc-block-components-text-input input:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus {
    border-color: rgba(0,230,91,0.5) !important;
    box-shadow: 0 0 0 3px rgba(0,230,91,0.1) !important;
    outline: none !important;
    background: rgba(0,230,91,0.03) !important;
}
.wc-block-components-text-input input::placeholder,
.wc-block-checkout input::placeholder {
    color: rgba(255,255,255,0.3) !important;
}

/* ---- Input labels ---- */
.wc-block-components-text-input label,
.wc-block-components-country-input label,
.wc-block-components-state-input label,
.wc-block-checkout .wc-block-components-label,
.wc-block-checkout label {
    color: var(--muted) !important;
    font-family: var(--font) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

/* ---- Floating label (gdy wypełniony) ---- */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input.has-value label {
    color: var(--primary) !important;
    font-size: 0.7rem !important;
}

/* ---- Checkbox (utwórz konto, zgody) ---- */
.wc-block-components-checkbox input[type="checkbox"],
.wc-block-checkout input[type="checkbox"] {
    accent-color: var(--primary) !important;
}
.wc-block-components-checkbox__label,
.wc-block-checkout .wc-block-components-checkbox__label {
    color: rgba(255,255,255,0.6) !important;
    font-family: var(--font) !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
}

/* ---- Metody płatności ---- */
.wc-block-components-checkout-payment-methods,
.wc-block-components-payment-methods {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
.wc-block-components-payment-method-label,
.wc-block-components-payment-methods__item {
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    margin-bottom: 10px !important;
    transition: border-color 0.2s !important;
    color: var(--text) !important;
    font-family: var(--font) !important;
    font-weight: 500 !important;
}
.wc-block-components-payment-methods__item--current,
.wc-block-components-payment-methods__item:has(input:checked) {
    border-color: var(--primary) !important;
    background: rgba(0,230,91,0.04) !important;
}
.wc-block-components-payment-methods__item input[type="radio"] {
    accent-color: var(--primary) !important;
}
.wc-block-components-payment-method-label__brand img,
.wc-block-components-payment-method-label img,
.wc-block-components-payment-methods__item img,
#payment .payment_method_hotpay img,
#payment ul.payment_methods li img,
.woocommerce-checkout #payment ul.payment_methods li img {
    filter: brightness(0.9) !important;
    max-height: 28px !important;
    width: auto !important;
    object-fit: contain !important;
}

/* ---- Express payments (Google Pay / Apple Pay) ---- */
.wc-block-components-express-payment,
.wc-block-components-express-payment-continue-rule {
    background: rgba(10,14,11,0.6) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    padding: 16px !important;
    margin-bottom: 0 !important;
}
.wc-block-components-express-payment__title,
.wc-block-components-express-payment-continue-rule__rule {
    color: var(--muted) !important;
    font-family: var(--font) !important;
    font-size: 0.82rem !important;
    text-align: center !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

/* ---- Order summary sidebar ---- */
.wc-block-components-checkout-order-summary__title {
    font-family: var(--font) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    border-bottom: 1px solid var(--border) !important;
    padding-bottom: 16px !important;
    margin-bottom: 20px !important;
}
.wc-block-components-checkout-order-summary__title-icon svg,
.wc-block-components-checkout-order-summary__title-open-close svg {
    color: var(--muted) !important;
}
.wc-block-components-checkout-order-summary__content {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

/* ---- Order summary: product row ---- */
.wc-block-cart-item__product-name,
.wc-block-components-order-summary-item__name {
    font-family: var(--font) !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
    color: var(--primary) !important;
    letter-spacing: -0.3px !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__short-description {
    color: var(--muted) !important;
    font-family: var(--font) !important;
    font-size: 0.875rem !important;
}
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__full-price,
.wc-block-components-order-summary-item__sale-price {
    color: var(--muted) !important;
    font-family: var(--mono) !important;
}
.wc-block-components-order-summary-item__image img {
    border-radius: 8px !important;
    border: 1px solid var(--border) !important;
}

/* ---- Totals table (Suma, Łącznie) ---- */
.wc-block-components-totals-wrapper,
.wc-block-components-totals-item {
    border-color: var(--border) !important;
    font-family: var(--font) !important;
}
.wc-block-components-totals-item__label {
    color: var(--text) !important;
    font-family: var(--font) !important;
    font-size: 1rem !important;
}
.wc-block-components-totals-item__value {
    color: var(--text) !important;
    font-family: var(--mono) !important;
    font-weight: 700 !important;
}
.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
}
.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--primary) !important;
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    font-family: var(--mono) !important;
}

/* ---- Coupon (kod rabatowy) ---- */
.wc-block-components-totals-coupon__form,
.wc-block-components-coupon {
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    margin: 8px 0 !important;
}
.wc-block-components-totals-coupon details summary,
.wc-block-components-totals-coupon__button {
    color: var(--text) !important;
    font-family: var(--font) !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    width: 100% !important;
    text-align: left !important;
}
.wc-block-components-totals-coupon details summary::marker,
.wc-block-components-totals-coupon details summary::-webkit-details-marker {
    display: none !important;
}
.wc-block-components-totals-coupon input[type="text"] {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-family: var(--font) !important;
    padding: 10px 14px !important;
    margin-top: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.wc-block-components-totals-coupon .wc-block-components-button {
    background: rgba(255,255,255,0.06) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    font-family: var(--font) !important;
    font-weight: 600 !important;
    padding: 10px 18px !important;
    margin-top: 8px !important;
    transition: border-color 0.2s !important;
}
.wc-block-components-totals-coupon .wc-block-components-button:hover {
    border-color: var(--primary) !important;
    color: var(--primary) !important;
}

/* ---- Przycisk "Kupuję i płacę" ---- */
.wc-block-components-checkout-place-order-button {
    background: linear-gradient(135deg, var(--primary) 0%, #00b347 100%) !important;
    color: #000 !important;
    font-family: var(--font) !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    letter-spacing: 0.5px !important;
    padding: 18px 24px !important;
    border-radius: 12px !important;
    border: none !important;
    width: 100% !important;
    cursor: pointer !important;
    box-shadow: 0 8px 24px rgba(0,230,91,0.3) !important;
    transition: var(--transition) !important;
    text-transform: uppercase !important;
    height: auto !important;
    min-height: 56px !important;
    margin-top: 20px !important;
}
.wc-block-components-checkout-place-order-button:hover {
    background: linear-gradient(135deg, #00ff66 0%, #00cc44 100%) !important;
    box-shadow: 0 12px 32px rgba(0,230,91,0.45) !important;
    transform: translateY(-2px) !important;
    color: #000 !important;
}
.wc-block-components-checkout-place-order-button .wc-block-components-button__text {
    color: #000 !important;
    font-family: var(--font) !important;
    font-weight: 800 !important;
}

/* ---- "Wróć do koszyka" link — ukryj ---- */
.wc-block-components-checkout-return-to-cart-button {
    display: none !important;
}

/* ---- Privacy policy / terms ---- */
.wc-block-checkout__privacy-policy,
.wc-block-checkout__terms,
.wc-block-components-checkout-order-note {
    color: rgba(255,255,255,0.5) !important;
    font-family: var(--font) !important;
    font-size: 0.82rem !important;
    line-height: 1.6 !important;
}
.wc-block-checkout__privacy-policy a,
.wc-block-checkout__terms a {
    color: var(--primary) !important;
    text-decoration: none !important;
}

/* ---- Notices / errors ---- */
.wc-block-components-notice-banner,
.wc-block-store-notice {
    background: rgba(235,27,39,0.08) !important;
    border-left: 3px solid var(--red) !important;
    border-radius: 12px !important;
    color: var(--text) !important;
    font-family: var(--font) !important;
    padding: 14px 18px !important;
    margin-bottom: 20px !important;
}
.wc-block-components-notice-banner.is-success,
.wc-block-store-notice.is-success {
    background: rgba(0,230,91,0.08) !important;
    border-left-color: var(--primary) !important;
}
.wc-block-components-notice-banner a { color: var(--primary) !important; }

/* ---- "Pakiet dodany do koszyka" notice na górze ---- */
.wc-block-components-notice-banner.is-info {
    background: rgba(0,230,91,0.06) !important;
    border-left-color: var(--primary) !important;
}

/* ---- Scrollbar ---- */
.wc-block-checkout__sidebar::-webkit-scrollbar { width: 4px; }
.wc-block-checkout__sidebar::-webkit-scrollbar-track { background: transparent; }
.wc-block-checkout__sidebar::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }

/* ---- Blocks responsywność ---- */
@media (max-width: 860px) {
    .wp-block-woocommerce-checkout,
    .wc-block-checkout {
        padding: 20px 16px 60px !important;
    }
    .wc-block-checkout__main,
    .wc-block-checkout__sidebar {
        padding: 24px 18px !important;
    }
}

/* ---- Checkboxy JMM ---- */
.jmm-disk-notice {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.45);
    line-height: 1.5;
    margin-bottom: 16px;
    padding: 0;
}

.jmm-checkout-checkboxes {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
    clear: both;
}

.jmm-cb-wrap {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    padding: 14px 16px;
    margin: 0;
    transition: border-color 0.2s, background 0.2s;
}
.jmm-cb-wrap:has(input:checked) {
    border-color: rgba(0,230,91,0.4);
    background: rgba(0,230,91,0.04);
}
.jmm-cb-wrap.jmm-checkbox-wrap-error {
    border-color: #eb1b27;
    background: rgba(235,27,39,0.06);
}
.jmm-cb-wrap.jmm-checkbox-wrap-error .jmm-cb-label span {
    color: #ff4d57;
}
.jmm-cb-wrap.jmm-checkbox-wrap-error input[type="checkbox"] {
    outline: 2px solid #eb1b27;
    outline-offset: 2px;
}

.jmm-cb-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
    font-size: 0.85rem !important;
}
.jmm-cb-label,
.jmm-cb-label * {
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.jmm-cb-label input[type="checkbox"] {
    flex-shrink: 0 !important;
    width: 17px !important;
    height: 17px !important;
    margin-top: 2px !important;
    accent-color: var(--primary) !important;
    cursor: pointer !important;
}

.jmm-cb-label span {
    color: rgba(255,255,255,0.65) !important;
    font-size: 0.85rem !important;
    line-height: 1.6 !important;
    font-family: var(--font) !important;
}

.jmm-cb-label a {
    color: var(--primary) !important;
    text-decoration: none !important;
}
.jmm-cb-label a:hover {
    text-decoration: underline !important;
}

.jmm-cb-label .required {
    color: var(--primary) !important;
    margin-left: 2px;
}

/* ---- Ukryj zbędne pola i sekcje WC ---- */
.woocommerce-shipping-fields,
#ship-to-different-address,
.woocommerce-additional-fields,
.woocommerce-account-fields,
#billing_country_field,
#billing_address_1_field,
#billing_address_2_field,
#billing_city_field,
#billing_postcode_field,
#billing_state_field,
#billing_phone_field,
#billing_company_field { display: none !important; }

/* ---- Ukryj domyślny tekst WC o danych osobowych (zastąpiony checkboxem) ---- */
.woocommerce-privacy-policy-text { display: none !important; }

/* ---- Podświetlenie niezaznaczonych zgód ---- */
input.jmm-checkbox-error {
    outline: 2px solid #eb1b27;
    outline-offset: 2px;
    border-radius: 3px;
    accent-color: #eb1b27;
}
.jmm-checkbox-wrap-error {
    color: #eb1b27;
}
.jmm-checkbox-wrap-error a {
    color: #ff4d57;
}

/* ============================================================
   JMM — Order Confirmation (Block Theme)
   ============================================================ */

/* Ukryj domyślny header i footer motywu TwentyTwentyFive na stronie potwierdzenia */
.woocommerce-order-received .wp-block-template-part:has(header),
.woocommerce-order-received .wp-block-template-part:has(footer) {
    display: none !important;
}

/* Główny wrapper */
.woocommerce-order-received #wp--skip-link--target,
.woocommerce-order-received main#wp--skip-link--target {
    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 120px 20px 60px !important;
    font-family: 'Outfit', sans-serif;
    color: #fff;
}

/* Fallback — ogólny main na tej stronie */
.woocommerce-order-received main {
    padding-top: 120px !important;
}

/* Status — "Zamówienie otrzymane" */
.wc-block-order-confirmation-status {
    text-align: center;
    margin-bottom: 32px !important;
    padding: 40px 24px 32px !important;
    background: rgba(0,230,91,0.05);
    border: 1px solid rgba(0,230,91,0.2);
    border-radius: 20px;
    position: relative;
}
.wc-block-order-confirmation-status::before {
    content: '';
    display: block;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(0,230,91,0.12);
    border: 2px solid rgba(0,230,91,0.5);
    margin: 0 auto 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300E65B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 32px;
}
.wc-block-order-confirmation-status h1 {
    font-size: 1.9rem !important;
    font-weight: 900 !important;
    margin: 0 0 10px !important;
    color: #fff !important;
}
.wc-block-order-confirmation-status p {
    color: rgba(255,255,255,0.55) !important;
    font-size: 0.95rem !important;
    margin: 0 !important;
}

/* Meta — lista (nr zamówienia, data, razem itp.) */
.wc-block-order-confirmation-summary {
    margin-bottom: 24px !important;
}
.wc-block-order-confirmation-summary-list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.wc-block-order-confirmation-summary-list-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
}
.wc-block-order-confirmation-summary-list-item__key {
    font-size: 0.7rem !important;
    color: rgba(255,255,255,0.4) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    font-weight: 600 !important;
}
.wc-block-order-confirmation-summary-list-item__value {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    word-break: break-all !important;
}

/* Szczegóły zamówienia — karta */
.wc-block-order-confirmation-totals-wrapper {
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 16px !important;
    padding: 24px !important;
    margin-bottom: 28px !important;
}
.wc-block-order-confirmation-totals-wrapper h2 {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: rgba(255,255,255,0.4) !important;
    margin: 0 0 18px !important;
}

/* Tabela */
.wc-block-order-confirmation-totals__table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: transparent !important;
    border: none !important;
}
.wc-block-order-confirmation-totals__table thead th {
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: rgba(255,255,255,0.35) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    padding: 0 0 12px !important;
    font-weight: 600 !important;
    background: transparent !important;
}
.wc-block-order-confirmation-totals__table thead th:last-child {
    text-align: right !important;
}
.wc-block-order-confirmation-totals__table tbody tr {
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}
.wc-block-order-confirmation-totals__table tbody td {
    padding: 12px 0 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    background: transparent !important;
    border: none !important;
}
.wc-block-order-confirmation-totals__table tbody td:last-child {
    text-align: right !important;
}
.wc-block-order-confirmation-totals__table tfoot th,
.wc-block-order-confirmation-totals__table tfoot td {
    padding: 10px 0 !important;
    color: rgba(255,255,255,0.55) !important;
    font-size: 0.9rem !important;
    background: transparent !important;
    border: none !important;
    border-top: 1px solid rgba(255,255,255,0.07) !important;
}
.wc-block-order-confirmation-totals__table tfoot td {
    text-align: right !important;
}
/* Ostatni wiersz (Razem) pogrubiony na zielono */
.wc-block-order-confirmation-totals__table tfoot tr:last-child th,
.wc-block-order-confirmation-totals__table tfoot tr:last-child td {
    font-size: 1.05rem !important;
    font-weight: 900 !important;
    color: #fff !important;
}
.wc-block-order-confirmation-totals__table tfoot tr:last-child td {
    color: #00E65B !important;
}

/* Ukryj puste kolumny adresowe */
.wc-block-order-confirmation-address-wrapper {
    display: none !important;
}

/* Przycisk pobierania typów */
.jmm-ty__download-wrap {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}
.jmm-ty__btn--download {
    font-size: 1rem !important;
    padding: 16px 36px !important;
    border-radius: 14px !important;
    box-shadow: 0 0 24px rgba(0,230,91,0.25);
}

/* Responsywność */
@media (max-width: 500px) {
    .wc-block-order-confirmation-summary-list {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   JMM — Thank You page
   ============================================================ */

.jmm-thankyou {
    max-width: 600px;
    margin: 60px auto;
    padding: 0 20px;
    font-family: var(--font-body, sans-serif);
    color: #fff;
}

/* Hero */
.jmm-ty__hero {
    text-align: center;
    margin-bottom: 40px;
}
.jmm-ty__check {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(0,230,91,0.12);
    border: 2px solid rgba(0,230,91,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: #00E65B;
}
.jmm-ty__hero h1 {
    font-size: 2rem;
    font-weight: 900;
    margin: 0 0 12px;
}
.jmm-ty__hero p {
    color: rgba(255,255,255,0.55);
    font-size: 0.95rem;
    margin: 0;
}

/* Meta row */
.jmm-ty__meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 28px;
}
.jmm-ty__meta-item {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.jmm-ty__meta-label {
    font-size: 0.72rem;
    color: rgba(255,255,255,0.4);
    text-transform: uppercase;
    letter-spacing: 0.8px;
}
.jmm-ty__meta-value {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    word-break: break-all;
}

/* Order card */
.jmm-ty__card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 28px;
}
.jmm-ty__card-title {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.4);
    margin: 0 0 18px;
}
.jmm-ty__items {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    margin-bottom: 16px;
    padding-bottom: 16px;
}
.jmm-ty__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
}
.jmm-ty__item-name {
    flex: 1;
    font-weight: 700;
    font-size: 1rem;
}
.jmm-ty__item-qty {
    color: rgba(255,255,255,0.4);
    font-size: 0.85rem;
}
.jmm-ty__item-price {
    font-weight: 700;
    font-size: 1rem;
}
.jmm-ty__totals {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.jmm-ty__total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
    color: rgba(255,255,255,0.55);
}
.jmm-ty__total-row--final {
    font-size: 1.1rem;
    font-weight: 900;
    color: #fff;
    border-top: 1px solid rgba(255,255,255,0.07);
    padding-top: 12px;
    margin-top: 4px;
}
.jmm-ty__discount {
    color: #00E65B;
    font-weight: 700;
}
.jmm-ty__total-price {
    color: #00E65B;
}

/* Actions */
.jmm-ty__actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.jmm-ty__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 28px;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: opacity 0.2s;
}
.jmm-ty__btn:hover { opacity: 0.85; }
.jmm-ty__btn--green {
    background: #00E65B;
    color: #000;
}
.jmm-ty__btn--outline {
    border: 1px solid rgba(255,255,255,0.15);
    color: #fff;
}

/* Error state */
.jmm-ty__error {
    text-align: center;
    padding: 40px 0;
}
.jmm-ty__error-icon {
    color: #eb1b27;
    margin-bottom: 16px;
}
.jmm-ty__error h2 { margin: 0 0 12px; }
.jmm-ty__error p { color: rgba(255,255,255,0.55); margin-bottom: 24px; }

/* Responsive */
@media (max-width: 500px) {
    .jmm-ty__meta { grid-template-columns: 1fr; }
    .jmm-ty__actions { flex-direction: column; }
    .jmm-ty__btn { justify-content: center; }
}

