/* Theme Name: PILATESGO Theme URI: https://pilatesgo.pl Author: PILATESGO Description: Motyw one-page dla sklepu PILATESGO z integracją WooCommerce Version: 1.0 License: GNU General Public License v2 or later Text Domain: pilatesgo */

/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
    --primary: #64587e;
    --primary-container: #eee3ff;
    --on-primary: #ffffff;
    --on-primary-container: #6d6188;
    --surface: #f9f9f7;
    --surface-container: #eeeeec;
    --surface-container-low: #f4f4f2;
    --surface-container-high: #e8e8e6;
    --surface-container-lowest: #ffffff;
    --on-surface: #1a1c1b;
    --on-surface-variant: #46464c;
    --secondary: #5e604d;
    --outline: #77767d;
    --outline-variant: #c7c5cc;
    --pg: #7c3aed;
    --pg-light: #ede9fe;
    --pg-light2: #f5f3ff;
}
body { font-family: 'Manrope', sans-serif; background-color: var(--surface); color: var(--on-surface); line-height: 1.6; }
h1, h2, h3 { font-family: 'Noto Serif', serif; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
html { scroll-behavior: smooth; }

/* ===== LAYOUT ===== */
.pilatesgo-container { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; }

/* ===== NAVIGATION ===== */
.pilatesgo-nav { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.85); backdrop-filter: blur(20px); box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
.pilatesgo-nav__inner { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; max-width: 1280px; margin: 0 auto; }
.pilatesgo-nav__logo { font-size: 1.25rem; font-weight: 700; color: #4a3f6b; font-family: 'Noto Serif', serif; letter-spacing: -0.02em; }
.pilatesgo-nav__links { display: none; gap: 2rem; align-items: center; }
@media (min-width: 768px) { .pilatesgo-nav__links { display: flex; } }
.pilatesgo-nav__links a { color: #555; font-weight: 500; transition: color 0.2s; font-size: 0.95rem; }
.pilatesgo-nav__links a:hover { color: var(--primary); }

/* ===== BUTTONS ===== */
.btn-primary { background: var(--primary); color: #ffffff !important; padding: 0.6rem 1.5rem; border-radius: 9999px; font-weight: 700; font-size: 0.9rem; transition: opacity 0.2s, transform 0.2s; display: inline-block; border: none; cursor: pointer; }
.btn-primary:hover { opacity: 0.9; transform: scale(1.02); color: #ffffff !important; }
.btn-primary-lg { background: var(--primary); color: #ffffff !important; padding: 1.1rem 2.5rem; border-radius: 9999px; font-weight: 700; font-size: 1.1rem; transition: opacity 0.2s, transform 0.2s; display: inline-block; border: none; cursor: pointer; box-shadow: 0 8px 32px rgba(100,88,126,0.25); }
.btn-primary-lg:hover { opacity: 0.9; transform: scale(1.02); color: #ffffff !important; }

/* ===== HERO ===== */
.pilatesgo-hero { min-height: 90vh; display: flex; align-items: center; overflow: hidden; padding: 5rem 0 3rem; }
.pilatesgo-hero__grid { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 768px) { .pilatesgo-hero__grid { grid-template-columns: 1fr 1fr; } }
.pilatesgo-hero__badge { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4rem 1rem; border-radius: 9999px; background: var(--primary-container); color: var(--on-primary-container); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.pilatesgo-hero__title { font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 1.1; margin: 1rem 0; color: var(--on-surface); }
.pilatesgo-hero__title em { font-style: italic; color: var(--primary); }
.pilatesgo-hero__subtitle { font-size: 1.1rem; color: var(--on-surface-variant); max-width: 480px; line-height: 1.7; }
.pilatesgo-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1.5rem; }
.pilatesgo-hero__stars { display: flex; align-items: center; gap: 0.25rem; color: var(--primary); font-size: 0.85rem; }
.pilatesgo-hero__badges { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem; }
.pilatesgo-hero__badge-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; font-weight: 600; color: var(--secondary); }
.pilatesgo-hero__image { position: relative; }
.pilatesgo-hero__image img { border-radius: 0.75rem; width: 100%; aspect-ratio: 4/5; object-fit: cover; box-shadow: 0 8px 32px rgba(26,28,27,0.1); }
.pilatesgo-hero__image::before { content: ''; position: absolute; top: -5rem; right: -5rem; width: 24rem; height: 24rem; background: rgba(238,227,255,0.4); border-radius: 50%; filter: blur(60px); z-index: -1; }

/* ===== PROBLEM SECTION ===== */
.pilatesgo-problem { padding: 5rem 0; background: var(--surface-container-low); }
.pilatesgo-problem__grid { display: grid; gap: 1.5rem; margin-top: 3rem; }
@media (min-width: 768px) { .pilatesgo-problem__grid { grid-template-columns: repeat(3, 1fr); } }
.pilatesgo-card { padding: 2.5rem; border-radius: 0.75rem; background: var(--surface-container-lowest); box-shadow: 0 4px 16px rgba(26,28,27,0.05); }
.pilatesgo-card__icon { color: var(--primary); font-size: 2.5rem; margin-bottom: 1rem; }
.pilatesgo-card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 0.75rem; font-family: 'Manrope', sans-serif; }
.pilatesgo-card p { color: var(--on-surface-variant); line-height: 1.7; font-size: 0.95rem; }
.pilatesgo-quote { margin-top: 3rem; max-width: 42rem; margin-left: auto; margin-right: auto; padding: 2rem; border-radius: 0.75rem; background: var(--primary); color: var(--on-primary); text-align: center; }
.pilatesgo-quote p { font-size: 1.1rem; font-weight: 700; font-style: italic; }

/* ===== BENEFITS ===== */
.pilatesgo-benefits { padding: 5rem 0; }
.pilatesgo-benefits__grid { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 1024px) { .pilatesgo-benefits__grid { grid-template-columns: 1fr 1fr; } }
.pilatesgo-benefits__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.pilatesgo-benefit-card { padding: 1.5rem; background: var(--surface-container); border-radius: 0.75rem; }
.pilatesgo-benefit-card h4 { font-size: 0.95rem; font-weight: 700; margin-top: 0.75rem; font-family: 'Manrope', sans-serif; }

/* ===== HOW IT WORKS ===== */
.pilatesgo-how { padding: 5rem 0; background: var(--surface-container-high); }
.pilatesgo-how__grid { display: grid; gap: 3rem; align-items: center; margin-top: 3rem; }
@media (min-width: 768px) { .pilatesgo-how__grid { grid-template-columns: 1fr 1fr; } }
.pilatesgo-how__img { border-radius: 0.75rem; box-shadow: 0 4px 16px rgba(26,28,27,0.08); width: 100%; object-fit: cover; }
.pilatesgo-step { display: flex; gap: 1.5rem; margin-bottom: 2.5rem; }
.pilatesgo-step:last-child { margin-bottom: 0; }
.pilatesgo-step__num { flex-shrink: 0; width: 3rem; height: 3rem; border-radius: 50%; background: var(--primary); color: var(--on-primary); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1rem; }
.pilatesgo-step__title { font-size: 1.1rem; font-weight: 700; margin-bottom: 0.4rem; font-family: 'Manrope', sans-serif; }
.pilatesgo-step p { color: var(--on-surface-variant); font-size: 0.95rem; line-height: 1.6; }

/* ===== VIDEO ===== */
.pilatesgo-video { padding: 5rem 0; }
.pilatesgo-video__wrap { position: relative; border-radius: 0.75rem; overflow: hidden; aspect-ratio: 16/9; background: #e2e3e1; box-shadow: 0 8px 32px rgba(26,28,27,0.1); cursor: pointer; }
.pilatesgo-video__wrap img { width: 100%; height: 100%; object-fit: cover; opacity: 0.85; transition: transform 0.5s; }
.pilatesgo-video__wrap:hover img { transform: scale(1.03); }
.pilatesgo-video__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.pilatesgo-video__play-btn { width: 5rem; height: 5rem; background: rgba(255,255,255,0.92); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(0,0,0,0.15); transition: transform 0.2s; }
.pilatesgo-video__wrap:hover .pilatesgo-video__play-btn { transform: scale(1.1); }
.pilatesgo-video__label { position: absolute; bottom: 0; left: 0; right: 0; padding: 2rem; background: linear-gradient(to top, rgba(0,0,0,0.6), transparent); color: white; font-family: 'Noto Serif', serif; font-size: 1.5rem; }

/* ===== BEFORE/AFTER ===== */
.pilatesgo-transform { padding: 5rem 0; background: var(--surface-container-low); }
.pilatesgo-transform__grid { display: grid; gap: 2rem; margin-top: 3rem; }
@media (min-width: 768px) { .pilatesgo-transform__grid { grid-template-columns: 1fr 1fr; align-items: center; } }
.pilatesgo-beforeafter { border-radius: 0.75rem; overflow: hidden; box-shadow: 0 4px 16px rgba(26,28,27,0.08); display: flex; flex-direction: column; }
@media (min-width: 768px) { .pilatesgo-beforeafter { flex-direction: row; } }
.pilatesgo-beforeafter__half { position: relative; height: 20rem; flex: 1; }
.pilatesgo-beforeafter__half img { width: 100%; height: 100%; object-fit: cover; }
.pilatesgo-beforeafter__label { position: absolute; top: 1rem; left: 1rem; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 700; }
.pilatesgo-transform__quote { padding: 1rem; }
.pilatesgo-transform__stars { display: flex; gap: 0.25rem; color: var(--primary); margin-bottom: 1rem; }
.pilatesgo-transform__blockquote { font-family: 'Noto Serif', serif; font-size: 1.4rem; font-style: italic; line-height: 1.5; margin-bottom: 1rem; }

/* ===== INCLUDED ===== */
.pilatesgo-included { padding: 5rem 0; }
.pilatesgo-included__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-top: 3rem; }
@media (min-width: 768px) { .pilatesgo-included__grid { grid-template-columns: repeat(4, 1fr); } }
.pilatesgo-item { text-align: center; }
.pilatesgo-item__img { aspect-ratio: 1; background: var(--surface-container); border-radius: 0.75rem; display: block; position: relative; margin-bottom: 1rem; transition: background 0.2s; overflow: hidden; padding: 0; }
.pilatesgo-item:hover .pilatesgo-item__img { background: var(--primary-container); }
.pilatesgo-item__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.pilatesgo-item p { font-weight: 700; font-size: 0.9rem; }

/* ===== REVIEWS ===== */
.pilatesgo-reviews { padding: 5rem 0; background: var(--surface-container-high); }
.pilatesgo-reviews__grid { display: grid; gap: 2rem; margin-top: 3rem; }
@media (min-width: 768px) { .pilatesgo-reviews__grid { grid-template-columns: repeat(3, 1fr); } }
.pilatesgo-review { padding: 2rem; background: var(--surface-container-lowest); border-radius: 0.75rem; box-shadow: 0 4px 16px rgba(26,28,27,0.05); }
.pilatesgo-review__stars { display: flex; gap: 0.25rem; color: var(--primary); margin-bottom: 1rem; }
.pilatesgo-review__text { font-style: italic; color: var(--on-surface-variant); line-height: 1.7; margin-bottom: 1.5rem; }
.pilatesgo-review__author { font-weight: 700; font-size: 0.9rem; }

/* ===== ORDER SECTION ===== */
.pilatesgo-order { padding: 5rem 0; }
.pilatesgo-order__box { background: var(--surface-container); border-radius: 0.75rem; overflow: hidden; display: flex; flex-direction: column; }
@media (min-width: 1024px) { .pilatesgo-order__box { flex-direction: row; } }
.pilatesgo-order__content { flex: 1; padding: 3rem; }
.pilatesgo-order__image { flex: 1; min-height: 400px !important; position: relative; }
.pilatesgo-order__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain !important; background: #f9f9f7; padding: 0 !important; }
.pilatesgo-price-old { color: #999; text-decoration: line-through; font-size: 1.1rem; margin-bottom: 0.25rem; }
.pilatesgo-price-new { font-size: 2.5rem; font-weight: 700; color: var(--primary); display: flex; align-items: baseline; gap: 0.75rem; }
.pilatesgo-price-new span { font-size: 0.85rem; font-weight: 400; color: var(--on-surface-variant); }
.pilatesgo-guarantee { text-align: center; font-size: 0.8rem; color: var(--on-surface-variant); margin-top: 1rem; }

/* ===== WOOCOMMERCE — OGÓLNE ===== */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button { background: var(--primary) !important; color: #ffffff !important; border-radius: 9999px !important; font-weight: 700 !important; padding: 0.8rem 2rem !important; border: none !important; font-family: 'Manrope', sans-serif !important; transition: opacity 0.2s !important; font-size: 1rem !important; }
.woocommerce .button:hover, .woocommerce button.button:hover { background: var(--primary) !important; opacity: 0.9 !important; color: white !important; }
.woocommerce .single_add_to_cart_button { width: 100% !important; font-size: 1.2rem !important; padding: 1.2rem 2rem !important; margin-top: 1.5rem !important; }
.woocommerce .quantity input { border: 2px solid var(--outline-variant) !important; border-radius: 0.5rem !important; padding: 0.5rem !important; font-family: 'Manrope', sans-serif !important; font-size: 1rem !important; }
.woocommerce .price { color: var(--primary) !important; font-size: 2rem !important; font-weight: 700 !important; }
.woocommerce .price del { color: #999 !important; font-size: 1.2rem !important; }
.woocommerce .variations select { border: 2px solid var(--outline-variant) !important; border-radius: 0.5rem !important; padding: 0.6rem 1rem !important; font-family: 'Manrope', sans-serif !important; background: white !important; color: var(--on-surface) !important; }
.woocommerce div.product { margin: 0 !important; }

/* ===== FAQ ===== */
.pilatesgo-faq { padding: 5rem 0; background: var(--surface-container-low); }
.pilatesgo-faq__list { max-width: 48rem; margin: 3rem auto 0; display: flex; flex-direction: column; gap: 1rem; }
.pilatesgo-faq__item { background: var(--surface-container-lowest); border-radius: 0.75rem; padding: 1.5rem; box-shadow: 0 2px 8px rgba(26,28,27,0.05); }
.pilatesgo-faq__item summary { list-style: none; display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-weight: 700; font-size: 1rem; gap: 1rem; }
.pilatesgo-faq__item[open] summary .faq-icon::after { content: '−'; }
.pilatesgo-faq__icon::after { content: '+'; font-size: 1.3rem; color: var(--primary); font-weight: 300; }
.pilatesgo-faq__item p { margin-top: 1rem; color: var(--on-surface-variant); line-height: 1.7; font-size: 0.95rem; }

/* ===== FOOTER ===== */
.pilatesgo-footer { background: #fafaf8; padding: 3rem 0; border-top: 1px solid var(--outline-variant); }
.pilatesgo-footer__inner { display: flex; flex-direction: column; gap: 1.5rem; align-items: center; text-align: center; }
@media (min-width: 768px) { .pilatesgo-footer__inner { flex-direction: row; justify-content: space-between; text-align: left; } }
.pilatesgo-footer__logo { font-size: 1.1rem; font-weight: 700; font-family: 'Noto Serif', serif; color: #3d3450; }
.pilatesgo-footer__links { display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: center; }
.pilatesgo-footer__links a { font-size: 0.85rem; color: #777; transition: color 0.2s; }
.pilatesgo-footer__links a:hover { color: var(--primary); }
.pilatesgo-footer__copy { font-size: 0.75rem; color: #aaa; }

/* ===== UTILS ===== */
.text-center { text-align: center; }
.section-title { font-size: clamp(1.8rem, 4vw, 2.8rem); color: var(--on-surface); margin-bottom: 1rem; }
.section-subtitle { color: var(--on-surface-variant); font-size: 1rem; max-width: 36rem; margin: 0 auto; line-height: 1.7; }

/* ===== MATERIAL ICONS ===== */
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; vertical-align: middle; }
.icon-filled { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }

/* ===== ZWROTY I REKLAMACJE ===== */
.zr-title { font-family:'Noto Serif',serif; font-size:2rem; color:#64587e; margin:2rem 0 0.75rem; border-bottom:2px solid #eee3ff; padding-bottom:0.5rem; }
.zr-section { margin-bottom:2.5rem; color:#46464c; }
.zr-section p { margin-bottom:0.75rem; }
.zr-section ol { padding-left:1.5rem; }
.zr-section ol li { margin-bottom:0.75rem; }
.zr-section ul { padding-left:1.5rem; list-style:disc; }
.zr-section ul li { margin-bottom:0.5rem; }

/* FIX: box nigdy nie wychodzi poza rodzica */
.zr-box {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    border-radius: 0.75rem;
    padding: 1.5rem 2rem;
    margin: 1.5rem 0;
    overflow-wrap: break-word;
    word-break: break-word;
}
@media (max-width: 480px) {
    .zr-box { padding: 1rem !important; }
}
.zr-box-green { background:#f0fdf4; border:2px solid #86efac; }
.zr-box-purple { background:#eee3ff; border:2px solid #a78bca; }
.zr-box-yellow { background:#fffbeb; border:2px solid #fcd34d; }
.zr-box h3 { font-family:'Noto Serif',serif; font-size:1.1rem; margin-bottom:0.75rem; }
.zr-box-green h3 { color:#166534; }
.zr-box-purple h3 { color:#64587e; }
.zr-box-yellow h3 { color:#92400e; }

.zr-steps { counter-reset:steps; padding:0; list-style:none; }
.zr-steps li { display:flex; gap:1.25rem; margin-bottom:1.5rem; align-items:flex-start; }
@media (max-width: 480px) { .zr-steps li { gap: 0.75rem; } }

.zr-step-num {
    min-width: 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    background: #64587e;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
    flex-shrink: 0;
}

/* FIX KLUCZOWY: flex item musi mieć min-width:0 żeby dzieci się nie rozlewały */
.zr-step-content {
    min-width: 0;
    width: 100%;
    padding-top: 0.25rem;
    overflow-wrap: break-word;
    word-break: break-word;
    box-sizing: border-box;
}
.zr-step-content strong { display:block; margin-bottom:0.25rem; color:#1a1c1b; }

.zr-address { background:#f4f4f2; border-radius:0.75rem; padding:1.25rem 1.5rem; display:block; margin:1rem 0; box-sizing:border-box; max-width:100%; }
.zr-address p { margin:0.2rem 0; font-size:0.95rem; }
.zr-header { text-align:center; padding:2rem 0; border-bottom:2px solid #eee3ff; margin-bottom:2rem; }
.zr-header h1 { font-family:'Noto Serif',serif; font-size:2rem; color:#1a1c1b; margin-bottom:0.5rem; }
.zr-header p { color:#64587e; font-weight:600; font-size:0.9rem; }
.zr-divider { border:none; border-top:2px solid #eee3ff; margin:3rem 0; }
.zr-highlight { font-size:1.1rem; font-weight:700; color:#64587e; }

/* ===== WOOCOMMERCE KOSZYK ===== */
.woocommerce-cart table.cart,
.woocommerce table.shop_table { border:none !important; border-radius:1rem; overflow:hidden; box-shadow:0 2px 16px rgba(0,0,0,0.06); }
.woocommerce-cart table.cart th,
.woocommerce table.shop_table th { background:var(--pg-light2); color:var(--pg); font-weight:700; font-size:0.8rem; text-transform:uppercase; letter-spacing:0.05em; padding:1rem; border:none !important; }
.woocommerce-cart table.cart td,
.woocommerce table.shop_table td { padding:1rem; vertical-align:middle; border-color:#f0f0f0 !important; }
.woocommerce-cart table.cart td.product-thumbnail img { width:80px !important; height:80px !important; object-fit:contain; border-radius:0.5rem; border:1px solid #eee; background:white; padding:4px; }
.woocommerce-cart table.cart td.product-name a { color:#1a1c1b; font-weight:700; font-size:0.95rem; text-decoration:none; }
.woocommerce-cart table.cart td.product-name a:hover { color:var(--pg); }
.woocommerce-cart table.cart td.product-name .variation { font-size:0.8rem; color:#888; margin-top:0.25rem; }
.woocommerce-cart table.cart td.product-remove a.remove { color:#aaa !important; font-size:1.2rem; font-weight:700; width:1.75rem; height:1.75rem; border-radius:50%; display:flex; align-items:center; justify-content:center; border:2px solid #eee; transition:all 0.2s; }
.woocommerce-cart table.cart td.product-remove a.remove:hover { background:#fee2e2 !important; color:#dc2626 !important; border-color:#fca5a5; }
.woocommerce-cart table.cart td.product-quantity .qty,
.woocommerce .quantity input.qty { width:4rem !important; padding:0.5rem !important; border:2px solid #e0e0e0 !important; border-radius:0.5rem !important; font-size:1rem !important; font-weight:700 !important; text-align:center; color:#1a1c1b; -moz-appearance:textfield; }
.woocommerce-cart table.cart td.product-quantity .qty:focus,
.woocommerce .quantity input.qty:focus { border-color:var(--pg) !important; outline:none; }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal { font-weight:700; color:var(--pg); font-size:1rem; }
.woocommerce-cart .cart .actions { padding:1rem 0; display:flex; gap:1rem; flex-wrap:wrap; align-items:center; justify-content:space-between; border-top:2px solid #f0f0f0; }
.woocommerce-cart .cart .actions button[name="update_cart"],
.woocommerce-cart .cart .actions .button { background:white !important; color:var(--pg) !important; border:2px solid var(--pg) !important; padding:0.6rem 1.5rem !important; border-radius:9999px !important; font-weight:700 !important; font-size:0.9rem !important; cursor:pointer; transition:all 0.2s; }
.woocommerce-cart .cart .actions button[name="update_cart"]:hover,
.woocommerce-cart .cart .actions .button:hover { background:var(--pg) !important; color:white !important; }

/* Podsumowanie koszyka */
.woocommerce-cart .cart-collaterals .cart_totals { background:white; border-radius:1rem; padding:1.5rem; box-shadow:0 2px 16px rgba(0,0,0,0.06); border:1px solid #eee; }
.woocommerce-cart .cart_totals h2 { font-family:'Noto Serif',serif; font-size:1.3rem; margin-bottom:1rem; color:#1a1c1b; }
.woocommerce-cart .cart_totals table { width:100%; border:none !important; }
.woocommerce-cart .cart_totals table tr td,
.woocommerce-cart .cart_totals table tr th { border:none !important; padding:0.5rem 0 !important; font-size:0.95rem; border-bottom:1px solid #f0f0f0 !important; }
.woocommerce-cart .cart_totals table .order-total td,
.woocommerce-cart .cart_totals table .order-total th { font-weight:700; font-size:1.1rem; color:#1a1c1b; border-bottom:none !important; padding-top:1rem !important; }
.woocommerce-cart .cart_totals table .order-total .woocommerce-Price-amount { color:var(--pg); font-size:1.5rem; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button { display:block !important; width:100% !important; background:var(--pg) !important; color:white !important; padding:1rem 2rem !important; border-radius:0.6rem !important; font-weight:700 !important; font-size:1.1rem !important; text-align:center !important; text-decoration:none !important; box-shadow:0 6px 20px rgba(124,58,237,0.3) !important; transition:opacity 0.2s !important; margin-top:1rem !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { opacity:0.9 !important; }

/* ===== CHECKOUT ===== */
.woocommerce-checkout #order_review { background:white; border-radius:1rem; padding:1.5rem; box-shadow:0 2px 16px rgba(0,0,0,0.06); position:sticky; top:1rem; }
.woocommerce-checkout #order_review h3,
.woocommerce-checkout #customer_details h3 { font-family:'Noto Serif',serif; font-size:1.2rem; margin-bottom:1rem; color:#1a1c1b; }
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce form .input-text { border:2px solid #e0e0e0 !important; border-radius:0.5rem !important; padding:0.75rem 1rem !important; font-size:0.95rem !important; transition:border-color 0.2s; }
.woocommerce-checkout .woocommerce-input-wrapper input:focus,
.woocommerce form .input-text:focus { border-color:var(--pg) !important; outline:none !important; box-shadow:0 0 0 3px rgba(124,58,237,0.1) !important; }

/* ===== METODY DOSTAWY — FIX MOBILE ===== */
.woocommerce-checkout #shipping_method {
    padding: 0 !important;
    list-style: none !important;
    width: 100%;
    box-sizing: border-box;
}

.woocommerce-checkout #shipping_method li {
    box-sizing: border-box !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.75rem 1rem !important;
    border: 2px solid #eee !important;
    border-radius: 0.6rem !important;
    margin-bottom: 0.5rem !important;
    cursor: pointer !important;
    transition: all 0.15s !important;
    overflow: hidden !important;
}

.woocommerce-checkout #shipping_method li:has(input:checked) {
    border-color: var(--pg) !important;
    background: var(--pg-light2) !important;
}

/* Radio */
.woocommerce-checkout #shipping_method li input[type="radio"] {
    flex-shrink: 0 !important;
    margin: 0 !important;
    accent-color: var(--pg) !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
}

/* Etykieta — zajmuje resztę miejsca, nie rozciąga kontenera */
.woocommerce-checkout #shipping_method li label {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #1a1c1b !important;
    cursor: pointer !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

/* Logo kuriera */
.woocommerce-checkout #shipping_method li label img {
    width: 36px !important;
    height: auto !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

/* Cena — nigdy się nie skraca */
.woocommerce-checkout #shipping_method li .woocommerce-Price-amount {
    white-space: nowrap !important;
    font-weight: 700 !important;
    color: #16a34a !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
}

@media (max-width: 480px) {
    .woocommerce-checkout #shipping_method li {
        padding: 0.6rem 0.75rem !important;
        gap: 0.35rem !important;
    }
    .woocommerce-checkout #shipping_method li label {
        font-size: 0.8rem !important;
    }
    .woocommerce-checkout #shipping_method li label img {
        width: 28px !important;
    }
}

/* Przycisk złóż zamówienie */
.woocommerce-checkout #place_order { background:var(--pg) !important; color:white !important; width:100% !important; padding:1rem 2rem !important; border-radius:0.6rem !important; font-weight:700 !important; font-size:1.1rem !important; border:none !important; cursor:pointer !important; box-shadow:0 6px 20px rgba(124,58,237,0.3) !important; transition:opacity 0.2s !important; }
.woocommerce-checkout #place_order:hover { opacity:0.9 !important; }

/* Komunikaty WooCommerce */
.woocommerce-message, .woocommerce-info { border-top-color:var(--pg) !important; }
.woocommerce-message a.button, .woocommerce-info a.button { background:var(--pg) !important; color:white !important; border-radius:9999px !important; }

/* Tabela mobile */
@media (max-width: 768px) {
    .woocommerce-cart table.cart thead { display:none; }
    .woocommerce-cart table.cart td { display:block; padding:0.5rem 1rem; }
    .woocommerce-cart table.cart td::before { content:attr(data-title) ': '; font-weight:700; color:#888; font-size:0.8rem; }
}

/* Usuń mini-cart */
.woocommerce-cart-dropdown, .cart-dropdown, .wc-cart-dropdown, .woocommerce-mini-cart,
li.cart-widget, .cart-widget, .woocommerce-cart-widget, .site-header-cart,
.header-cart, .header-cart-widget, .widget_shopping_cart, .cart-contents,
.wc-nav-cart, .header-widget-region .widget_shopping_cart, header .widget_shopping_cart { display:none !important; }

/* ===== REGULAMIN CHECKOUT ===== */
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-terms-and-conditions,
.woocommerce-terms-and-conditions-checkbox-text,
#pilatesgo-terms-fallback,
#pilatesgo-terms-fallback label,
#pilatesgo-terms-fallback span,
.form-row.terms,
.form-row.validate-required,
.woocommerce-form__label-for-checkbox { display:block !important; visibility:visible !important; opacity:1 !important; height:auto !important; overflow:visible !important; max-height:none !important; clip:auto !important; position:static !important; }

#pilatesgo-terms-fallback { margin:16px 0 12px !important; padding:12px 14px !important; background:#fff !important; border:1px solid #e9e9ee !important; border-radius:10px !important; }

#pilatesgo-terms-fallback label,
.form-row.terms label.woocommerce-form__label-for-checkbox { display:flex !important; align-items:flex-start !important; gap:10px !important; font-size:14px !important; line-height:1.5 !important; color:#1a1c1b !important; cursor:pointer !important; margin:0 !important; }

#pilatesgo-terms-fallback input[type="checkbox"],
.form-row.terms input[type="checkbox"],
input#terms { appearance:auto !important; -webkit-appearance:checkbox !important; width:18px !important; height:18px !important; min-width:18px !important; min-height:18px !important; margin:3px 0 0 0 !important; padding:0 !important; border:1px solid #b8b8c2 !important; border-radius:4px !important; background:#fff !important; box-shadow:none !important; opacity:1 !important; visibility:visible !important; position:static !important; transform:none !important; }

#pilatesgo-terms-fallback a,
.woocommerce-terms-and-conditions-wrapper a,
.form-row.terms a { color:#7C3AED !important; text-decoration:underline !important; font-weight:600 !important; }

.woocommerce-invalid #pilatesgo-terms-fallback,
.woocommerce-invalid .form-row.terms { border-color:#dc2626 !important; }

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-top:12px !important; }

.woocommerce-terms-and-conditions { background:#f9f9f7; border-radius:10px; padding:15px; margin-top:10px; font-size:13px; line-height:1.5; }
.woocommerce-terms-and-conditions-link { cursor:pointer; font-weight:600; color:#7c3aed; text-decoration:underline; }

.woocommerce-checkout .woocommerce-terms-and-conditions { display:none !important; max-height:0; overflow:hidden; margin-top:0; padding:0; }
.woocommerce-checkout .woocommerce-terms-and-conditions.is-open { display:block !important; max-height:2000px; overflow:auto; margin-top:12px; padding:15px; background:#f9f9f7; border:1px solid #e5e5e5; border-radius:10px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-link { cursor:pointer; color:#7c3aed; text-decoration:underline; font-weight:600; }