/*
 * Negozio WooCommerce: categorie (archive-product.php), card prodotto, scheda prodotto.
 */

/* ============================================================
   ARCHIVIO / CATEGORIA
   ============================================================ */
.erc-shop { padding: 24px 0 48px; }
.erc-shop-header { text-align: center; margin-bottom: 24px; }
.erc-shop-title { font-size: 32px; font-weight: 700; margin: 8px 0 16px; }
.erc-shop-description { max-width: 760px; margin: 12px auto 0; color: #555; }

.erc-subcat-nav { text-align: center; margin: 8px 0 24px; }
.erc-subcat-nav-label { display: block; font-weight: 700; margin-bottom: 8px; }
.erc-subcat-nav ul {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px;
}
.erc-subcat-nav a {
    color: var(--erc-text-dark);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 14px;
    padding-bottom: 4px;
    border-bottom: 2px solid transparent;
}
.erc-subcat-nav a:hover,
.erc-subcat-nav a.is-active { border-bottom-color: var(--erc-primary); color: var(--erc-primary-dark); }

.erc-shop-toolbar {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px;
    margin-bottom: 20px; font-size: 14px; color: #666;
}
.erc-shop-toolbar .woocommerce-result-count,
.erc-shop-toolbar .woocommerce-ordering { margin: 0; float: none; }
.erc-shop-toolbar .woocommerce-notices-wrapper { flex-basis: 100%; }

/* Griglia prodotti */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px 24px;
    margin: 0 0 32px;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    position: relative;
}
@media (max-width: 992px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 24px 16px; } }

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { color: inherit; text-decoration: none; display: block; }
.woocommerce ul.products li.product img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    margin: 0 0 12px;
    background: #fff;
}
.woocommerce ul.products li.product .product_category_title {
    font-size: 11px; color: #999; line-height: 1.4; margin-bottom: 4px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 15px; font-weight: 600; line-height: 1.35; padding: 0; margin: 0 0 6px;
    color: var(--erc-text-dark);
}
.woocommerce ul.products li.product .price {
    /* !important: style.css ereditato ha `.price { color:#000 !important }` */
    color: var(--erc-primary) !important;
    font-size: 15px !important;
    font-weight: 600;
}
.woocommerce ul.products li.product .price del { color: #999; font-weight: 400; margin-right: 4px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce span.onsale {
    background: var(--erc-surface); color: var(--erc-forest); border: 1px solid var(--erc-mint-strong);
    border-radius: 999px; min-height: 0; min-width: 0; line-height: 1;
    padding: 5px 10px; font-size: 12px; font-weight: 600;
    top: 8px; left: 8px; right: auto; margin: 0;
}

.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; justify-content: center; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    min-width: 36px; height: 36px; padding: 0 10px; border-radius: 999px;
    border: 1px solid var(--erc-border);
    display: inline-flex; align-items: center; justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--erc-primary); color: #fff; border-color: var(--erc-primary); }

.erc-bundle-note { text-align: center; margin: 24px 0 0; }

/* Bundle: le colonne di .bundle-product sono elementi flex; senza min-width:0 lo slider
   Swiper delle immagini si allarga sul proprio contenuto all'infinito (prima lo
   evitava il CSS di Avada). */
.bundle-product > [class*="col-"] { min-width: 0; }
/* Il badge "Al momento non disponibile" è position:absolute: va ancorato alla card. */
.bundle-product { position: relative; }

/* ============================================================
   SCHEDA PRODOTTO
   ============================================================ */
.single-product .woocommerce-breadcrumb { font-size: 13px; margin: 16px 0 24px; }
.single-product div.product .product_title {
    font-size: 30px; font-weight: 700; text-transform: uppercase; line-height: 1.2; margin-bottom: 16px;
}
/* BundlePlugin/css/style.css nasconde `.summary` ovunque (regola senza ambito, innocua con
   Avada che non usava quella classe): qui il riepilogo WooCommerce va mostrato. */
.single-product div.product .summary.entry-summary { display: block; }
.single-product div.product p.price,
.single-product div.product span.price {
    color: var(--erc-primary) !important;
    font-size: 24px !important;
    font-weight: 700;
}
.single-product div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 20px 0; }
.single-product div.product form.cart .quantity { margin: 0; }
.single-product div.product form.cart .quantity input.qty { height: 46px; width: 70px; border-radius: 8px; }
.single-product div.product form.cart .single_add_to_cart_button {
    flex: 1; min-height: 48px; border-radius: 999px;
    background: var(--erc-accent);
    color: var(--erc-on-accent); font-weight: 800; letter-spacing: 0.01em;
}
.single-product div.product form.cart .single_add_to_cart_button:hover { background: var(--erc-accent-dark); color: var(--erc-on-accent); }
.single-product div.product form.variations_form { display: block; }
.single-product div.product form.variations_form .woocommerce-variation-add-to-cart { display: flex; gap: 12px; align-items: center; margin-top: 12px; }

.erc-delivery-boxes { display: flex; flex-direction: column; gap: 12px; margin: 16px 0; }
.erc-delivery-box {
    display: flex; gap: 12px; align-items: flex-start;
    border: 1px solid var(--erc-primary); border-radius: 8px;
    padding: 12px 14px; font-size: 14px;
}
.erc-delivery-box svg { flex: 0 0 auto; color: var(--erc-primary-dark); margin-top: 2px; }
.erc-delivery-box p { margin: 0; }

.erc-product-description { clear: both; padding-top: 32px; border-top: 1px solid var(--erc-border); margin-top: 16px; }
.single-product .related.products { clear: both; margin-top: 48px; }
.single-product .related.products > h2 {
    font-size: 18px; padding-bottom: 10px; border-bottom: 1px solid var(--erc-primary); margin-bottom: 24px;
}

/* ============================================================
   PAGINA BUNDLE A TUTTO SCHERMO (body.erc-bundle-page, inc/shop.php)
   ============================================================ */
.erc-bundle-page .site.grid-container { max-width: none; }
.erc-bundle-page.one-container .site-content { padding: 16px 0 40px; }
.erc-bundle-page .inside-article { padding: 0; }
.erc-bundle-page .erc-shop { padding-top: 0; }
@media (max-width: 768px) {
    .erc-bundle-page.one-container .site-content { padding: 8px 0 32px; }
}

/* Riga sticky del Bundle (sottocategorie + prezzo/bottone): una parte a sinistra e una a
   destra, come con Avada (lì le colonne .col-lg-6 si dividevano lo spazio). */
@media (min-width: 993px) {
    .sticky-bundle-row { justify-content: space-between; }
}
