/* ==========================================================================
   Własne style dla WooCommerce (bolewska-theme)
   ========================================================================== */

/* Kontener główny dla stron sklepu */
.wc-page-wrapper {
    margin-top: 4rem;
    margin-bottom: 5rem;
}

.wc-content {
    background: transparent;
    padding: 0;
    box-shadow: none;
}

/* Wyrównanie typografii WooCommerce do motywu */
.woocommerce h1.page-title {
    font-family: var(--font-serif);
    font-size: var(--fs-h1);
    color: var(--color-text-main);
    margin-bottom: 2rem;
    text-align: center;
}

.woocommerce div.product .product_title {
    font-family: var(--font-serif);
    font-size: var(--fs-h1);
    color: var(--color-text-main);
    margin-bottom: 1rem;
    clear: none;
    padding: 0;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--color-primary);
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 2rem;
}

/* Dostosowanie przycisków WooCommerce do przycisków w motywie */
.woocommerce #respond input#submit, 
.woocommerce #respond input#submit.alt,
.woocommerce a.button, 
.woocommerce a.button.alt,
.woocommerce button.button, 
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 0.825rem;
    letter-spacing: 0.05em;
    padding: 0.85rem 1.5rem;
    border-radius: var(--radius-sm);
    background-color: var(--color-primary);
    color: var(--color-text-on-primary);
    border: 2px solid transparent;
    transition: var(--transition-base);
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.woocommerce #respond input#submit:hover, 
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button:hover, 
.woocommerce a.button.alt:hover,
.woocommerce button.button:hover, 
.woocommerce button.button.alt:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover {
    background-color: var(--color-secondary);
    color: var(--color-text-on-secondary);
    transform: translateY(-2px);
}

/* Pola ilości (Quantity) na stronie produktu */
.woocommerce .quantity .qty {
    width: 4.5rem;
    height: calc(0.825rem + 1.7rem + 4px); /* Wysokość dopasowana do buttona */
    padding: 0;
    text-align: center;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--color-text-main);
    background-color: var(--color-bg-alt);
    margin-right: 1rem;
    transition: border-color 0.25s ease;
}

.woocommerce .quantity .qty:focus {
    outline: none;
    border-color: var(--color-primary);
}

/* Formularz Dodaj do koszyka (układ elastyczny) */
.woocommerce div.product form.cart {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border);
}
.woocommerce div.product form.cart div.quantity {
    float: none;
    margin: 0;
}
.woocommerce div.product form.cart .button {
    float: none;
}

/* Linki (kategorie, tagi) */
.woocommerce div.product .product_meta {
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--color-text-muted);
    border-top: 1px solid var(--color-border);
    padding-top: 1.5rem;
}

.woocommerce div.product .product_meta a {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.woocommerce div.product .product_meta a:hover {
    color: var(--color-secondary);
    text-decoration: underline;
}

/* Zakładki (Tabs) np. Opis */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid var(--color-border);
    padding: 0;
    margin-bottom: 2rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent;
    border: none;
    border-radius: 0;
    margin: 0 1.5rem 0 0;
    padding: 0 0 1rem 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none; /* Ukrywa dziwne zaokrąglenia WooCommerce */
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: var(--font-serif);
    font-size: 1.15rem;
    color: var(--color-text-muted);
    font-weight: 600;
    transition: color 0.2s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom: 2px solid var(--color-primary);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--color-text-main);
}

/* Zawartość zakładek */
.woocommerce div.product .woocommerce-tabs .panel {
    font-family: var(--font-sans);
    line-height: 1.8;
    color: var(--color-text-nav);
    margin-bottom: 3rem;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: var(--font-serif);
    font-size: var(--fs-h3);
    color: var(--color-text-main);
    margin-bottom: 1rem;
}

/* Galeria produktu */
.woocommerce div.product div.images img {
    border-radius: var(--radius-md);
    box-shadow: 0 8px 30px rgba(0,0,0,0.06);
}

/* Karta produktu na liście (Sklep) */
.woocommerce ul.products li.product {
    text-align: center;
    background: var(--color-bg-main);
    border-radius: var(--radius-md);
    padding: 1rem;
    transition: box-shadow 0.3s ease;
}

.woocommerce ul.products li.product:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.05);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-serif);
    color: var(--color-text-main);
    padding: 1rem 0 0.5rem;
    font-size: 1.25rem;
}

.woocommerce ul.products li.product img {
    border-radius: var(--radius-sm);
    transition: transform 0.3s ease;
}

/* Pola tekstowe w checkout/koszyku (Standardowy WooCommerce) */
.woocommerce form .form-row input.input-text, 
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    padding: 0.85rem 1rem;
    font-family: var(--font-serif);
    font-size: 0.95rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background-color: var(--color-bg-alt);
    transition: var(--transition-base);
    width: 100%;
}

.woocommerce form .form-row input.input-text:focus, 
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(72, 84, 68, 0.1);
}

/* ==========================================================================
   WooCommerce Blocks (Nowy Checkout i Koszyk)
   ========================================================================== */

/* Nadpisanie zmiennych WooCommerce Blocks */
.wc-block-checkout, 
.wc-block-cart,
.woocommerce .wp-block-woocommerce-checkout,
.woocommerce .wp-block-woocommerce-cart {
    --wc-block-font-family: var(--font-sans);
    --wc-block-font-size: 0.95rem;
    --wc-block-color-primary: var(--color-primary);
    --wc-block-color-secondary: var(--color-secondary);
    --wc-block-color-text: var(--color-text-main);
    --wc-block-color-error: #e53e3e;
    --wc-block-border-radius: var(--radius-sm);
    --wc-block-color-background: var(--color-bg-alt);
    --wc-block-color-background-secondary: var(--color-bg-main);
}

/* Pola wejściowe (inputy z floating label) */
.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-textarea {
    border-radius: var(--radius-sm) !important;
    background-color: var(--color-bg-alt) !important;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-textarea textarea {
    font-family: var(--font-sans) !important;
    background-color: transparent !important; /* tło przeniesione do wrappera */
    border-color: var(--color-border) !important;
    border-radius: var(--radius-sm) !important;
    color: var(--color-text-main) !important;
    padding-top: 1rem !important; /* Drobna korekta dla label floating */
}

/* Stan focus dla pól w blokach */
.wc-block-components-text-input.is-active,
.wc-block-components-combobox.is-active,
.wc-block-components-textarea.is-active {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(72, 84, 68, 0.1) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
.wc-block-components-textarea textarea:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(72, 84, 68, 0.1) !important;
}

/* Labele w blokach */
.wc-block-components-text-input label,
.wc-block-components-combobox .wc-block-components-combobox-control label {
    font-family: var(--font-sans) !important;
    color: var(--color-text-muted) !important;
}

/* Tytuły kroków w checkout (Dane kontaktowe, Adres rozliczeniowy itp.) */
.wc-block-checkout__title,
.wc-block-components-checkout-step__title {
    font-family: var(--font-serif) !important;
    color: var(--color-text-main) !important;
    font-size: var(--fs-h3) !important;
}

/* Podsumowanie zamówienia - tło */
.wc-block-components-order-summary {
    background-color: var(--color-bg-alt) !important;
    border-color: var(--color-border) !important;
    border-radius: var(--radius-md) !important;
}

/* Elementy (kwoty, tytuły) w podsumowaniu */
.wc-block-components-order-summary .wc-block-components-product-name,
.wc-block-components-totals-item__value,
.wc-block-components-totals-item__label {
    font-family: var(--font-sans) !important;
    color: var(--color-text-main) !important;
}

.wc-block-components-product-price {
    color: var(--color-primary) !important;
    font-weight: 700 !important;
}

/* Przyciski główne w blokach (Złóż zamówienie, Przejdź do kasy itp.) */
.wc-block-cart__submit-container button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button,
.wp-block-woocommerce-cart .wp-block-button__link,
.wp-block-woocommerce-checkout .wp-block-button__link {
    font-family: var(--font-sans) !important;
    font-weight: 700 !important;
    font-size: 0.825rem !important;
    letter-spacing: 0.05em !important;
    padding: 0.85rem 1.5rem !important;
    border-radius: var(--radius-sm) !important;
    background-color: var(--color-primary) !important;
    color: var(--color-text-on-primary) !important;
    border: 2px solid transparent !important;
    transition: var(--transition-base) !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

.wc-block-cart__submit-container button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button:hover,
.wp-block-woocommerce-cart .wp-block-button__link:hover,
.wp-block-woocommerce-checkout .wp-block-button__link:hover {
    background-color: var(--color-secondary) !important;
    transform: translateY(-2px) !important;
    color: var(--color-text-on-secondary) !important;
}

/* Ostrzeżenia i błędy */
.wc-block-components-notice-banner {
    border-radius: var(--radius-sm) !important;
    font-family: var(--font-sans) !important;
}

.wc-block-components-notice-banner.is-error {
    background-color: #fef2f2 !important;
    border-color: #e53e3e !important;
    color: #e53e3e !important;
}

.wc-block-components-notice-banner.is-error svg {
    fill: #e53e3e !important;
}

/* Komunikaty WooCommerce (sukces, błąd, info) */
.woocommerce-message, 
.woocommerce-error, 
.woocommerce-info {
    background-color: var(--color-bg-main);
    border-top-color: var(--color-primary);
    color: var(--color-text-main);
    border-radius: var(--radius-sm);
    box-shadow: 0 4px 15px rgba(0,0,0,0.04);
}

.woocommerce-error {
    border-top-color: #e53e3e;
}

.woocommerce-message::before, 
.woocommerce-info::before {
    color: var(--color-primary);
}

.woocommerce-error::before {
    color: #e53e3e;
}

