/* ==========================================================================
   Prezzo Basso Theme - woocommerce.css
   Override mirati per le pagine WooCommerce (shop, prodotto, cart, account).
   ========================================================================== */

.pb-shop-wrapper { padding-top: 8px; padding-bottom: 56px; }
.pb-shop-header { padding: 28px 0 4px; }
.pb-shop-header .pb-breadcrumb { padding-top: 0; margin-bottom: 6px; }
.pb-shop-header .pb-archive-title { margin: 0 0 6px; }
.pb-shop-header .pb-archive-intro { margin: 0; max-width: 760px; }

/* Toolbar: conteggio (sx) + ordinamento (dx) */
.pb-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin: 22px 0 26px;
	padding: 14px 0;
	border-top: 1px solid var(--pb-border);
	border-bottom: 1px solid var(--pb-border);
}
.pb-shop-toolbar .woocommerce-result-count { margin: 0; color: var(--pb-muted); font-size: .9rem; }
.pb-shop-toolbar .woocommerce-ordering { margin: 0; }
.woocommerce-ordering select {
	max-width: 280px; display: inline-block; width: auto;
	padding: 9px 14px; border: 1px solid var(--pb-border); border-radius: var(--pb-radius-sm);
	background: var(--pb-white); font-family: var(--pb-font-body); color: var(--pb-text);
}
.woocommerce-notices-wrapper:empty { display: none; }

/* Loop griglia (usa il contenitore del tema .pb-products-grid) */
.woocommerce-loop { margin-bottom: 16px; }

/* Single product layout */
.pb-single-top { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; margin-top: 16px; }
.pb-single-gallery img { border-radius: var(--pb-radius); border: 1px solid var(--pb-border); }
.pb-single-summary .product_title { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.pb-single-summary .price { font-family: var(--pb-font-title); font-weight: 700; font-size: 1.8rem; color: var(--pb-secondary); margin: 12px 0; }
.pb-single-summary .price del { color: var(--pb-muted); font-weight: 400; font-size: 1.1rem; }
.pb-single-summary .price ins { text-decoration: none; color: var(--pb-primary); }
.pb-single-summary .woocommerce-product-details__short-description { color: var(--pb-text); margin: 16px 0; }

/* CTA affiliato single */
.pb-product-cta { margin: 22px 0; padding: 20px; background: var(--pb-bg); border: 1px solid var(--pb-border); border-radius: var(--pb-radius); }
.pb-product-cta .pb-button { width: 100%; }
.pb-product-affiliate-note { font-size: .78rem; color: var(--pb-muted); margin: 10px 0 0; }

.external-offer-link, .product-offer-button { text-decoration: none; }

/* Tabs descrizione */
.woocommerce-tabs { margin-top: 48px; }
.woocommerce-tabs ul.tabs { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 2px solid var(--pb-border); padding: 0; margin-bottom: 20px; }
.woocommerce-tabs ul.tabs li { list-style: none; }
.woocommerce-tabs ul.tabs li a { font-family: var(--pb-font-title); font-weight: 600; padding: 10px 16px; display: block; color: var(--pb-muted); }
.woocommerce-tabs ul.tabs li.active a { color: var(--pb-primary); border-bottom: 2px solid var(--pb-primary); margin-bottom: -2px; }

/* Related products */
.related.products, .up-sells { margin-top: 56px; }
.related.products > h2, .up-sells > h2 { font-family: var(--pb-font-title); }

/* Category description / FAQ */
.pb-cat-related { margin-top: 40px; background: var(--pb-white); border: 1px solid var(--pb-border); border-radius: var(--pb-radius); padding: 24px; }
.pb-cat-related-list { list-style: disc; padding-left: 20px; }

/* WooCommerce messages stile coerente */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-radius: var(--pb-radius-sm); border-left: 4px solid var(--pb-primary);
	background: var(--pb-white); padding: 14px 18px; list-style: none;
}
.woocommerce-error { border-left-color: var(--pb-danger); }

/* Cart / Checkout (mantenuti ma non promossi): leggibilità base */
.woocommerce-cart .pb-shop-wrapper, .woocommerce-checkout .pb-shop-wrapper, .woocommerce-account .pb-shop-wrapper { max-width: 1000px; }

/* Single disclaimer */
.pb-single-disclaimer { margin-top: 32px; padding: 16px; background: var(--pb-white); border: 1px dashed var(--pb-border); border-radius: var(--pb-radius-sm); }

@media (max-width: 900px) {
	.pb-single-top { grid-template-columns: 1fr; gap: 24px; }
}
