/* ============================================================================
 * gs-cart.css — Carrello ricostruito: pulito, chiaro e orientato alla conversione.
 * Sostituisce il layout float di WooCommerce con una griglia moderna e ripara il
 * pulsante checkout (che dipendeva da una variabile Elementor rimossa).
 * Tutto scoperto sotto .woocommerce-cart per non toccare il resto del sito.
 * ========================================================================== */

.woocommerce-cart {
	--gsc-accent: #f0662b;
	--gsc-accent-d: #d24e18;
	--gsc-link: #c2410c;
	--gsc-ink: #211c19;
	--gsc-muted: #6f665f;
	--gsc-line: #ece6e0;
	--gsc-bg: #f6f3f0;
	--gsc-card: #ffffff;
	--gsc-ok: #1f7a52;
	/* ripristina la variabile Elementor orfana usata dal CSS residuo del pulsante */
	--e-global-color-primary: #f0662b;
}

/* larghezza e aria attorno al contenuto del carrello */
.woocommerce-cart .entry-content,
.woocommerce-cart .page-content,
.woocommerce-cart main .woocommerce {
	max-width: 1180px;
	margin-inline: auto;
}
.woocommerce-cart .entry-title,
.woocommerce-cart h1.entry-title {
	font-size: clamp(1.6rem, 4vw, 2.1rem);
	margin: 1.4rem 0 1.6rem;
}

/* ---- griglia a due colonne: articoli a sinistra, riepilogo a destra ---- */
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 372px;
	align-items: start;
	gap: 1.75rem;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
/* NIENTE position:sticky sul riepilogo: stando nella stessa griglia del cross-sell, scorrendo
   restava appiccicato in alto e il cross-sell ("Completa il tuo ordine") gli passava sopra
   coprendolo. Meglio uno scorrimento normale. */
.woocommerce-cart .cart-collaterals { position: static; }

/* ---- tabella articoli come lista pulita ---- */
.woocommerce-cart table.cart {
	background: var(--gsc-card);
	border: 1px solid var(--gsc-line);
	border-radius: 14px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.woocommerce-cart table.cart thead th {
	background: transparent;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: .72rem;
	color: var(--gsc-muted);
	font-weight: 700;
	padding: 1rem 1rem .7rem;
	border: 0;
}
.woocommerce-cart table.cart td {
	padding: 1rem;
	border-top: 1px solid var(--gsc-line);
	vertical-align: middle;
	background: var(--gsc-card);
}
.woocommerce-cart table.cart .cart_item:first-child td { border-top: 0; }
.woocommerce-cart table.cart img {
	width: 68px; height: 68px; object-fit: cover;
	border-radius: 10px; border: 1px solid var(--gsc-line);
}
.woocommerce-cart td.product-name a {
	color: var(--gsc-ink); font-weight: 650; text-decoration: none;
}
.woocommerce-cart td.product-name a:hover { color: var(--gsc-link); }
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal { font-variant-numeric: tabular-nums; }
.woocommerce-cart td.product-subtotal { font-weight: 700; color: var(--gsc-ink); }

/* rimozione articolo: pallino discreto */
.woocommerce-cart td.product-remove a.remove {
	color: var(--gsc-muted) !important;
	background: var(--gsc-bg);
	width: 26px; height: 26px; line-height: 24px;
	border-radius: 50%; font-size: 18px;
}
.woocommerce-cart td.product-remove a.remove:hover {
	background: #fdece5; color: var(--gsc-accent) !important;
}

/* quantità: stepper compatto */
.woocommerce-cart .quantity input.qty {
	width: 64px; height: 40px; text-align: center;
	border: 1px solid var(--gsc-line); border-radius: 9px;
	background: var(--gsc-card); color: var(--gsc-ink);
	font-weight: 600;
}

/* riga azioni (coupon + aggiorna) */
.woocommerce-cart table.cart td.actions {
	padding: 1rem; background: var(--gsc-bg);
}
.woocommerce-cart .coupon input#coupon_code {
	height: 42px; border: 1px solid var(--gsc-line); border-radius: 9px;
	padding: 0 .8rem; min-width: 180px; background: var(--gsc-card);
}
.woocommerce-cart table.cart td.actions .button {
	height: 42px; border-radius: 9px; background: #fff;
	border: 1px solid var(--gsc-line); color: var(--gsc-ink);
	font-weight: 600; box-shadow: none;
}
.woocommerce-cart table.cart td.actions .button:hover { border-color: var(--gsc-accent); color: var(--gsc-accent); }

/* ---- riepilogo ordine (scheda a destra) ---- */
.woocommerce-cart .cart_totals {
	background: var(--gsc-card);
	border: 1px solid var(--gsc-line);
	border-radius: 14px;
	padding: 1.3rem 1.3rem 1.4rem;
	box-shadow: 0 10px 30px rgba(33, 28, 25, .06);
}
.woocommerce-cart .cart_totals > h2 {
	font-size: 1.15rem; margin: 0 0 1rem; padding-bottom: .8rem;
	border-bottom: 1px solid var(--gsc-line);
}
.woocommerce-cart .cart_totals table { border: 0; margin: 0; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	border: 0; padding: .55rem 0; font-size: .95rem;
	color: var(--gsc-ink); background: transparent;
}
.woocommerce-cart .cart_totals table th { font-weight: 500; color: var(--gsc-muted); text-align: left; }
.woocommerce-cart .cart_totals table td { text-align: right; font-variant-numeric: tabular-nums; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	padding-top: .9rem; border-top: 1px solid var(--gsc-line);
	font-size: 1.25rem !important; font-weight: 800 !important; color: var(--gsc-ink) !important;
}
.woocommerce-cart .cart_totals .order-total .amount { color: var(--gsc-accent); }
/* opzioni spedizione più leggibili */
.woocommerce-cart .cart_totals .shipping ul { margin: 0; list-style: none; padding: 0; }
.woocommerce-cart .cart_totals .shipping li { padding: .2rem 0; }

/* ---- IL pulsante: grande, arancione, leggibile (fix del testo invisibile) ---- */
.woocommerce-cart .wc-proceed-to-checkout { padding: 0 !important; margin-top: 1.1rem; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button.button.alt {
	display: flex; align-items: center; justify-content: center; gap: .5rem;
	width: 100%; box-sizing: border-box;
	background: var(--gsc-accent) !important;
	color: #fff !important;
	font-size: 1.12rem !important; font-weight: 800 !important;
	letter-spacing: .01em; text-transform: none;
	padding: 1rem 1.2rem !important; border: 0 !important; border-radius: 11px !important;
	box-shadow: 0 8px 20px rgba(240, 102, 43, .32); text-shadow: none;
	transition: background .2s, transform .05s;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after { content: "\2192"; font-weight: 700; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--gsc-accent-d) !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active { transform: translateY(1px); }

/* Pulsanti PayPal / "Paga in 3 rate" NASCOSTI sul carrello (prima fase): la pagina resta
   pulita con il solo "Procedi all'ordine". PayPal e la rateizzazione restano al checkout
   (seconda fase), dove sono già espansi e selezionati di default. */
.woocommerce-cart .wc-proceed-to-checkout .ppc-button-wrapper,
.woocommerce-cart .wc-proceed-to-checkout [id^="ppc-button"],
.woocommerce-cart .wc-proceed-to-checkout .ppcp-messages,
.woocommerce-cart .wc-proceed-to-checkout .ppcp-button-apm { display: none !important; }

/* Nota rassicurante sotto "Vai a indirizzo e pagamento": toglie la paura di confermare. */
.woocommerce-cart .gsc-proceed-note {
	margin: .65rem 0 0;
	font-size: .82rem;
	line-height: 1.4;
	color: var(--gsc-muted);
	text-align: center;
}

/* Nota "stima spedizione" sotto la riga spedizione nel riepilogo. */
.woocommerce-cart .cart_totals .gsc-ship-note td {
	padding: .2rem 0 .4rem;
	border: 0;
	font-size: .76rem;
	line-height: 1.35;
	color: var(--gsc-muted);
	text-align: left;
}

/* ---- badge di fiducia (aggiunti via PHP, dentro la scheda riepilogo) ---- */
.gsc-trust {
	margin-top: 1.1rem; padding-top: 1rem; display: grid; gap: .6rem;
	border-top: 1px solid var(--gsc-line);
}
.gsc-trust .gsc-t-row { display: flex; align-items: center; gap: .6rem; font-size: .88rem; color: var(--gsc-ink); }
.gsc-trust .gsc-t-row svg { flex: none; width: 20px; height: 20px; color: var(--gsc-ok); }
.gsc-trust b { font-weight: 700; }
.gsc-pay { margin-top: .9rem; padding-top: .9rem; border-top: 1px solid var(--gsc-line); }
.gsc-pay span { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--gsc-muted); margin-bottom: .45rem; }
.gsc-pay .gsc-pay-icons { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.gsc-pay .gsc-pay-icons b {
	font-size: .72rem; font-weight: 700; color: var(--gsc-muted);
	border: 1px solid var(--gsc-line); border-radius: 6px; padding: .25rem .5rem; background: var(--gsc-bg);
}

/* ---- cross-sell: "Completa il tuo ordine" a card ---- */
.woocommerce-cart .cross-sells { display: block !important; grid-column: 1 / -1; margin-top: 1.5rem; }
.woocommerce-cart .cross-sells > h2 { font-size: 1.25rem; margin: 1rem 0 1.1rem; }
.woocommerce-cart .cross-sells ul.products {
	display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 0;
}
.woocommerce-cart .cross-sells ul.products li.product {
	background: var(--gsc-card); border: 1px solid var(--gsc-line); border-radius: 12px;
	padding: .9rem; margin: 0 !important; width: auto !important; text-align: center;
	transition: box-shadow .2s, transform .2s;
}
.woocommerce-cart .cross-sells ul.products li.product:hover {
	box-shadow: 0 10px 24px rgba(33, 28, 25, .08); transform: translateY(-2px);
}
.woocommerce-cart .cross-sells ul.products li.product img { border-radius: 8px; margin-bottom: .6rem; }
.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title {
	font-size: .9rem; padding: 0; font-weight: 600; color: var(--gsc-ink); min-height: 2.4em;
}
.woocommerce-cart .cross-sells ul.products li.product .price { color: var(--gsc-ink); font-weight: 700; }
.woocommerce-cart .cross-sells ul.products li.product .button {
	background: #fff !important; color: var(--gsc-accent) !important; border: 1.5px solid var(--gsc-accent) !important;
	border-radius: 9px; font-weight: 700; margin-top: .5rem;
}
.woocommerce-cart .cross-sells ul.products li.product .button:hover { background: var(--gsc-accent) !important; color: #fff !important; }

/* ---- responsive ---- */
@media (max-width: 900px) {
	.woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-cart .cart-collaterals { position: static; }
	.woocommerce-cart .cross-sells ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.woocommerce-cart table.cart thead { display: none; }
	.woocommerce-cart .cross-sells ul.products { grid-template-columns: 1fr 1fr; gap: .6rem; }
}

/* ============================================================================
 * CHECKOUT (seconda fase): sezione indirizzi più compatta.
 * Occupava troppo spazio verticale (un campo per riga, spaziature ampie). Qui si
 * stringono le spaziature e, su schermo largo, i campi vanno su due colonne.
 * ========================================================================== */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
	margin: .3rem 0 .8rem;
	font-size: 1.15rem;
	font-weight: 800;
}
.woocommerce-checkout .form-row {
	margin: 0 0 .7rem;
	padding: 0;
}
.woocommerce-checkout .form-row label {
	margin-bottom: .2rem;
	font-size: .9rem;
	line-height: 1.25;
}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection {
	padding: .55rem .65rem !important;
	min-height: 0 !important;
	height: auto !important;
	line-height: 1.35 !important;
	border-radius: 9px !important;
}
.woocommerce-checkout .select2-container .select2-selection__rendered { line-height: 1.7 !important; padding-left: 0 !important; }
.woocommerce-checkout .select2-container .select2-selection__arrow { height: 100% !important; }

/* Note sull'ordine: parte un po' più alta e si allarga da sola col JS (vedi gs-cart.php). */
.woocommerce-checkout #order_comments {
	min-height: 4.5rem !important;
	line-height: 1.45;
	resize: vertical;
}

/* Due colonne per i campi indirizzo (anche su mobile ≥360px): dimezza l'altezza della sezione.
   Su mobile WooCommerce-smallscreen mette tutto a piena larghezza (1 colonna, ~1100px): qui
   affianchiamo Nome|Cognome, CAP|Città, Provincia|Telefono anche sul telefono. */
@media (min-width: 360px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 0 .8rem;
	}
	/* Campi che restano a piena larghezza (indirizzo, email, azienda, note). */
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_company_field,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_country_field,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_address_1_field,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_address_2_field,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field {
		grid-column: 1 / -1;
	}
	/* Annulla i float first/last di WooCommerce dentro la griglia (userebbero il 50% + float). */
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide {
		width: auto !important;
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}
