/**
 * PVGroup.pl — WooCommerce Overrides
 * Matches approved prototype design (prototype/index.html)
 * Works on top of Astra Pro + child theme
 */

/* ===== PRODUCT GRID ===== */

.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.woocommerce ul.products li.product {
    background: #ffffff;
    border-radius: 0px;
    margin: 0;
    padding: 0;
    transition: all 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
    overflow: hidden;
}

.woocommerce ul.products li.product:hover {
    box-shadow: 0 8px 32px rgba(27, 42, 74, 0.08);
    transform: translateY(-2px);
}

/* Product image area */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    background: #f4f4f4;
    border-radius: 0px;
    padding: 24px;
    aspect-ratio: 1;
    object-fit: contain;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #1B2A4A;
    line-height: 1.4;
    padding: 12px 24px 4px;
}

/* Product price */
.woocommerce ul.products li.product .price {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #1B2A4A;
    padding: 0 24px 16px;
}

.woocommerce ul.products li.product .price del {
    color: #8d8d8d;
    font-size: 14px;
}

/* Add to cart in grid */
.woocommerce ul.products li.product .button {
    margin: 0 24px 24px;
    width: calc(100% - 48px);
    text-align: center;
    justify-content: center;
}

/* ===== SINGLE PRODUCT ===== */

.woocommerce div.product .product_title {
    font-size: 32px;
    font-weight: 300;
    color: #1B2A4A;
    letter-spacing: -0.3px;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 16px;
    line-height: 1.7;
    color: #525252;
}

.woocommerce div.product p.price {
    font-size: 28px;
    font-weight: 600;
    color: #1B2A4A;
}

/* Quantity input */
.woocommerce .quantity .qty {
    font-family: 'IBM Plex Sans', sans-serif;
    height: 40px;
    background-color: #f4f4f4;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0px;
    padding: 0 16px;
    font-size: 14px;
}

.woocommerce .quantity .qty:focus {
    border-bottom-color: #F28C00;
    outline: none;
}

/* Product image */
.woocommerce div.product div.images {
    background: #f4f4f4;
    padding: 32px;
}

.woocommerce div.product div.images img {
    border-radius: 0px;
}

/* ===== TABS ===== */

.woocommerce div.product .woocommerce-tabs ul.tabs {
    list-style: none;
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e0e0e0;
    padding: 0;
    margin: 48px 0 24px;
    background: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin: 0;
    padding: 0;
    border-radius: 0px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #525252;
    padding: 12px 20px;
    display: block;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: #F28C00;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #1B2A4A;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

/* ===== CART ===== */

.woocommerce-cart table.cart {
    font-family: 'IBM Plex Sans', sans-serif;
    border-collapse: collapse;
}

.woocommerce-cart table.cart th {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #8d8d8d;
    border-bottom: 1px solid #e0e0e0;
    padding: 16px;
}

.woocommerce-cart table.cart td {
    font-size: 14px;
    padding: 16px;
    border-bottom: 1px solid #f4f4f4;
    vertical-align: middle;
}

/* ===== CHECKOUT ===== */

.woocommerce-checkout .form-row label {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #8d8d8d;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    height: 40px;
    background-color: #f4f4f4;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0px;
    padding: 0 16px;
    color: #1B2A4A;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-bottom-color: #F28C00;
    outline: none;
}

/* ===== NOTICES ===== */

.woocommerce-message {
    background-color: #1B2A4A;
    color: #ffffff;
    border: none;
    border-radius: 0px;
    border-top: none;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
}

.woocommerce-message::before {
    color: #F28C00;
}

.woocommerce-error {
    background-color: #da1e28;
    color: #ffffff;
    border: none;
    border-radius: 0px;
}

.woocommerce-info {
    background-color: #f4f4f4;
    color: #1B2A4A;
    border: none;
    border-radius: 0px;
    border-top: 2px solid #F28C00;
}

/* ===== SALE BADGE ===== */

.woocommerce span.onsale {
    background-color: #F28C00;
    color: #ffffff;
    border-radius: 0px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    min-height: auto;
    min-width: auto;
    padding: 4px 10px;
    line-height: 1.4;
}

/* ===== PAGINATION ===== */

.woocommerce nav.woocommerce-pagination ul {
    display: flex;
    gap: 0;
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    padding: 8px 16px;
    color: #1B2A4A;
    background: none;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: #F28C00;
    color: #ffffff;
}

/* ===== STAR RATING ===== */

.woocommerce .star-rating {
    color: #F28C00;
}

/* ===== STOCK BADGES (v3.2.6) =====
   Dwupoziomowa dostępność: Wysyłka 24h (PL) / Dostawa 5–10 dni (EU backorder).
   Flat, IBM Carbon, bez border-radius, bez czerwonych alarmów. */

/* Single product — override domyślnej WooCommerce <p class="stock"> */
.woocommerce div.product p.stock,
.woocommerce p.stock {
    display: inline-block;
    padding: 6px 14px;
    margin: 0 0 16px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.16px;
    line-height: 1.4;
    border-radius: 0;
    background: transparent;
    color: inherit;
}

.woocommerce p.stock.pvg-stock--instock,
.pvg-stock--instock {
    background: #defbe6;
    color: #0e6027;
}
.woocommerce p.stock.pvg-stock--instock::before,
.pvg-stock--instock::before {
    content: "● ";
    color: #24a148;
}

.woocommerce p.stock.pvg-stock--backorder,
.pvg-stock--backorder {
    background: #edf5ff;
    color: #0043ce;
}
.woocommerce p.stock.pvg-stock--backorder::before,
.pvg-stock--backorder::before {
    content: "◷ ";
}

/* Hide "Brak w magazynie" / "Out of stock" overlay z Astra Pro + WC core.
   Każdy produkt bez stock == backorder (nie outofstock) — migracja DB to zrobi
   strukturalnie, to jest belt-and-suspenders dla cache'owanych stron/produktów. */
.woocommerce ul.products li.product .outofstock,
.woocommerce ul.products li.product span.outofstock,
.woocommerce ul.products li.product .ast-shop-product-out-of-stock,
.woocommerce ul.products li.product .ast-woocommerce-outofstock,
.woocommerce ul.products li.product .out-of-stock,
.ast-shop-product-out-of-stock {
    display: none !important;
}

/* Shop loop card — mały badge pod tytułem */
.pvg-stock-badge {
    display: inline-block;
    padding: 2px 10px;
    margin: 0 24px 8px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.32px;
    text-transform: uppercase;
    line-height: 1.5;
    border-radius: 0;
}
.pvg-stock-badge--instock {
    background: #defbe6;
    color: #0e6027;
}
.pvg-stock-badge--backorder {
    background: #edf5ff;
    color: #0043ce;
}

/* Koszyk / mini-cart / order details — WC <p class="backorder_notification">.
   Niebieski pill spójny z single product i listingiem. */
.woocommerce p.backorder_notification,
p.backorder_notification {
    display: inline-block;
    padding: 4px 10px;
    margin: 6px 0 0;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.16px;
    line-height: 1.4;
    border-radius: 0;
    background: #edf5ff;
    color: #0043ce;
}
.woocommerce p.backorder_notification::before,
p.backorder_notification::before {
    content: "◷ ";
}

/* ===== RESPONSIVE ===== */

@media (max-width: 1024px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }
}
