/* =============================================================================
 * PROBAR - LA PAGINA DEL CARRELLO (inc/abm-carrello-pagina.php)
 * Tutto sotto body.abm-cr-pagina: col carrello vuoto il foglio non tocca niente.
 * Colori e misure della pagina di conferma (css/conferma-ordine.css).
 * ========================================================================== */
.abm-cr-pagina {
	--cr-oro: #FFCE53;
	--cr-filo: rgba(255, 206, 83, .45);
	--cr-tenue: rgba(255, 206, 83, .18);
	--cr-desc: #EEEBE5;
	--cr-sec: rgba(255, 255, 255, .72);
	--cr-nero: #0b0b0b;
}

/* Il titolo "Carrello" della pagina: l'apertura ha il suo. Il riquadro grigio
   dell'articolo di Astra se ne va: i riquadri sono i nostri. L'apertura esce
   a tutta larghezza, e il taglio orizzontale toglie la barra di scorrimento
   che 100vw farebbe nascere (clip, non hidden: hidden spegne lo sticky). */
.abm-cr-pagina .entry-header { display: none; }
.abm-cr-pagina .site-content { overflow-x: clip; }
.abm-cr-pagina article.page { background: none !important; padding: 0 !important; box-shadow: none !important; }

/* ---------------------------------------------------------------- APERTURA */
.abm-cr-eroe {
	position: relative;
	width: 100vw;
	margin: 0 0 32px calc(50% - 50vw);
	min-height: 400px;
	display: flex;
	align-items: flex-end;
	background: #000 var(--abm-cr-eroe) 70% 45% / cover no-repeat;
}
.abm-cr-eroe::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(8,8,8,.97) 0%, rgba(8,8,8,.85) 40%, rgba(8,8,8,.25) 75%),
		linear-gradient(0deg, var(--cr-nero) 0%, rgba(11,11,11,0) 45%);
}
.abm-cr-eroe__in {
	position: relative;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 40px 52px;
}
.abm-cr-occhiello {
	margin: 0;
	font: 600 12px/1.4 "Open Sans", Arial, sans-serif;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--cr-oro);
}
.abm-cr-pagina h1.abm-cr-eroe__titolo {
	margin: 14px 0;
	font: 700 62px/1.05 "Playfair Display", Georgia, serif;
	color: #fff;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.abm-cr-eroe__titolo em { font-style: italic; font-weight: 400; color: var(--cr-oro); }
.abm-cr-eroe__sotto {
	margin: 0;
	font-size: 17px;
	color: var(--cr-desc);
}
.abm-cr-eroe__sotto .amount { color: var(--cr-desc); font-weight: 500; }

/* La barra della spedizione, nell'apertura: solo pista e cifra. */
.abm-cr-eroe .abm-fsl-bar-wrap {
	max-width: 420px;
	margin: 18px 0 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	text-align: left !important;
}
.abm-cr-eroe .abm-fsl-bar-wrap > .abm-fsl-title { display: none !important; }
.abm-cr-eroe .abm-fsl-track {
	height: 6px !important;
	margin: 0 !important;
	border-radius: 99px !important;
	background: rgba(255,255,255,.08) !important;
	border: 0 !important;
	overflow: hidden;
}
.abm-cr-eroe .abm-fsl-fill {
	height: 100% !important;
	border-radius: 99px !important;
	background: linear-gradient(90deg, #C19C59, #FFCE53) !important;
}
.abm-cr-eroe .abm-fsl-desc {
	margin: 8px 0 0 !important;
	font-size: 13px !important;
	color: var(--cr-sec) !important;
	text-align: left !important;
}
.abm-cr-eroe .abm-fsl-desc strong,
.abm-cr-eroe .abm-fsl-desc .amount { color: var(--cr-oro) !important; }

/* La copia che lo script del tema mette comunque sopra il pulsante. */
.abm-cr-pagina .cart_totals .abm-fsl-bar-wrap { display: none !important; }

/* ---------------------------------------------------------------- GRIGLIA */
.abm-cr-pagina #ast-cart-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr);
	gap: 24px 32px;
	align-items: start;
}
.abm-cr-pagina .ast-cart-non-sticky { display: contents; }
/* I clearfix di Astra diventerebbero celle della griglia e vuoti nella colonna. */
.abm-cr-pagina #ast-cart-wrapper::before,
.abm-cr-pagina #ast-cart-wrapper::after,
.abm-cr-pagina .cart-collaterals::before,
.abm-cr-pagina .cart-collaterals::after { display: none !important; }
/* Anche il contenitore dei conti si scioglie: riepilogo, Monete e Regalo
   diventano celle della griglia. Due righe pari: prodotti accanto al
   riepilogo, Regalo accanto alle Monete; il carosello sotto, a tutta
   larghezza. Niente sticky: in una griglia lo sticky esce dalla sua cella e
   copre il carosello. */
.abm-cr-pagina .cart-collaterals { display: contents !important; }
.abm-cr-pagina .woocommerce-cart-form { grid-column: 1; grid-row: 1; margin: 0; min-width: 0; align-self: start; }
.abm-cr-pagina .cart_totals { grid-column: 2; grid-row: 1; align-self: stretch; }
.abm-cr-pagina #abm-regalo { grid-column: 1; grid-row: 2; align-self: start; margin: 0 !important; }
.abm-cr-pagina .abm-cr-monete { grid-column: 2; grid-row: 2; align-self: stretch; }
.abm-cr-pagina #ast-cart-wrapper > .ast-cart-non-sticky > .cross-sells { grid-column: 1 / -1; grid-row: 3; margin-top: 24px; }

/* ---------------------------------------------------------------- RIQUADRI */
.abm-cr-pagina .woocommerce-cart-form,
.abm-cr-pagina .cart_totals,
.abm-cr-pagina #abm-regalo,
.abm-cr-box {
	background: linear-gradient(180deg, #141414, #0c0c0c) !important;
	border: 1px solid var(--cr-filo) !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow: none !important;
}
.abm-cr-cornice {
	display: inline-block;
	border: 1px solid var(--cr-filo);
	padding: 6px 12px;
	font: 700 11px/1.3 "Open Sans", Arial, sans-serif;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--cr-oro);
}
.abm-cr-titoletto {
	margin: 0;
	font: 700 26px/1.2 "Playfair Display", Georgia, serif;
	color: #fff;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.abm-cr-titoletto em { font-style: italic; font-weight: 400; color: var(--cr-oro); }
.abm-cr-box p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--cr-desc); }
.abm-cr-box p + p { margin-top: 10px; }
.abm-cr-piccolo { font-size: 13px !important; color: var(--cr-sec) !important; }
/* Monete: tre paragrafi alla stessa misura e allo stesso colore chiaro
   (committente, 28/10/2026: "rendi omogenea la dimensione del font e piu'
   leggibile"). Prima erano 14,5 e 13 px, il secondo e il terzo in grigio. */
.abm-cr-monete p,
.abm-cr-monete p.abm-cr-piccolo { font-size: 15px !important; line-height: 1.6; color: var(--cr-desc) !important; }

/* ---------------------------------------------------------------- PRODOTTI */
.abm-cr-pagina .woocommerce-cart-form table.shop_table {
	border: 0 !important;
	margin: 0 !important;
	background: none !important;
}
.abm-cr-pagina .woocommerce-cart-form thead { display: none; }
.abm-cr-pagina .woocommerce-cart-form tr.cart_item td {
	border: 0 !important;
	border-top: 1px solid var(--cr-tenue) !important;
	padding: 18px 8px !important;
	background: none !important;
	vertical-align: middle;
}
.abm-cr-pagina .woocommerce-cart-form tr.cart_item:first-child td { border-top: 0 !important; padding-top: 4px !important; }
.abm-cr-pagina .woocommerce-cart-form td.product-thumbnail { width: 96px; }
.abm-cr-pagina .woocommerce-cart-form td.product-thumbnail img {
	width: 88px !important;
	max-width: none !important;
	height: 88px !important;
	object-fit: contain;
	background: #fff;
	border-radius: 14px;
	padding: 4px;
}
.abm-cr-pagina .woocommerce-cart-form td.product-name .ast-product-name a {
	font: 600 15px/1.35 "Open Sans", Arial, sans-serif !important;
	color: #fff !important;
}
.abm-cr-pagina .woocommerce-cart-form td.product-subtotal { text-align: right; white-space: nowrap; }
.abm-cr-pagina .woocommerce-cart-form td.product-subtotal .amount,
.abm-cr-pagina .woocommerce-cart-form td.product-subtotal > .abm-price-2l .abm-price-2l__excl .amount {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 700;
	font-size: 19px;
	color: #fff;
}
.abm-cr-pagina .woocommerce-cart-form td.actions {
	border-top: 1px solid var(--cr-tenue) !important;
	padding: 18px 0 0 !important;
	background: none !important;
}

/* Il riquadro WhatsApp, in fondo al modulo dei prodotti. */
.abm-cr-wa {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 24px;
	padding: 20px 22px;
	background: #111;
	border: 1px solid var(--cr-tenue);
	border-radius: 16px;
}
.abm-cr-wa__icona {
	flex: none;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #1f3b2a;
	display: grid;
	place-items: center;
}
.abm-cr-wa p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--cr-desc); }
.abm-cr-wa p a { color: var(--cr-oro); }
.abm-cr-sec { color: var(--cr-sec); }

/* ---------------------------------------------------------------- RIEPILOGO */
.abm-cr-pagina .cart_totals { margin: 0 !important; }
.abm-cr-pagina .cart_totals > h2 {
	margin: 0 0 14px !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	font: 700 24px/1.2 "Playfair Display", Georgia, serif;
	color: #fff;
	text-transform: none;
	letter-spacing: 0;
}
.abm-cr-pagina .cart_totals table.shop_table { width: 100% !important; border: 0 !important; margin: 0 !important; background: none !important; }
.abm-cr-pagina .cart_totals table th,
.abm-cr-pagina .cart_totals table td {
	border: 0 !important;
	background: none !important;
	padding: 6px 0 !important;
	font-size: 14px;
}
.abm-cr-pagina .cart_totals table th { width: auto !important; text-align: left; font-weight: 400; color: var(--cr-sec); }
.abm-cr-pagina .cart_totals table td { text-align: right; color: var(--cr-desc); }
.abm-cr-pagina .cart_totals tr.order-total th,
.abm-cr-pagina .cart_totals tr.order-total td {
	border-top: 1px solid var(--cr-filo) !important;
	padding-top: 16px !important;
}
.abm-cr-pagina .cart_totals tr.order-total th { font: 600 18px "Open Sans", Arial, sans-serif; color: #fff; }
.abm-cr-pagina .cart_totals tr.order-total td .amount {
	font: 700 30px/1.1 "Playfair Display", Georgia, serif;
	color: var(--cr-oro);
}
/* La riga delle Monete: e' la fonte del riquadro, non si mostra. */
.abm-cr-pagina .cart_totals tr.abm-coins-riga { display: none !important; }

.abm-cr-pagina .wc-proceed-to-checkout { padding: 18px 0 0 !important; margin: 0 !important; }
.abm-cr-pagina .wc-proceed-to-checkout a.checkout-button {
	position: relative;
	overflow: hidden;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 18px 24px !important;
	background: linear-gradient(180deg, #FFE9AE 0%, #FFCE53 55%, #F5B72E 100%) !important;
	color: #141516 !important;
	font: 700 15px/1.2 "Open Sans", Arial, sans-serif !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 12px 30px rgba(255,206,83,.25) !important;
	transition: transform .18s, box-shadow .3s;
}
.abm-cr-pagina .wc-proceed-to-checkout a.checkout-button::after {
	content: "";
	position: absolute;
	top: -30%;
	bottom: -30%;
	left: -40%;
	width: 30%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent);
	transform: skewX(-20deg);
	animation: abm-cr-luce 3.6s ease-in-out infinite;
	pointer-events: none;
}
.abm-cr-pagina .wc-proceed-to-checkout a.checkout-button:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 16px 36px rgba(255,206,83,.35) !important; }
@keyframes abm-cr-luce { 0%, 60% { left: -40%; } 100% { left: 130%; } }
@media (prefers-reduced-motion: reduce) {
	.abm-cr-pagina .wc-proceed-to-checkout a.checkout-button::after { animation: none; display: none; }
}

.abm-cr-fiducia {
	list-style: none;
	margin: 18px 0 0 !important;
	padding: 0 !important;
	display: grid;
	gap: 8px;
	font-size: 12.5px;
	color: var(--cr-sec);
}
.abm-cr-fiducia li { display: flex; align-items: center; gap: 10px; margin: 0; }
.abm-cr-fiducia svg { flex: none; color: var(--cr-oro); }

/* ---------------------------------------------------------------- MONETE */
.abm-cr-monete[hidden] { display: none !important; }
.abm-cr-monete__testa { display: flex; align-items: center; gap: 14px; margin: 16px 0 8px; }
.abm-cr-monete__testa img { width: 52px; height: 52px; flex: none; filter: drop-shadow(0 6px 14px rgba(255,206,83,.25)); }

/* ---------------------------------------------------------------- TELEFONO */
@media (max-width: 921px) {
	.abm-cr-eroe { min-height: 330px; margin-bottom: 18px; background-position: 62% 40%; }
	.abm-cr-eroe::before { background: linear-gradient(0deg, var(--cr-nero) 18%, rgba(11,11,11,.6) 60%, rgba(11,11,11,.3) 100%); }
	.abm-cr-eroe__in { padding: 0 16px 28px; }
	.abm-cr-pagina h1.abm-cr-eroe__titolo { font-size: 40px; }
	.abm-cr-eroe__sotto { font-size: 15.5px; }

	.abm-cr-pagina #ast-cart-wrapper { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	/* Prodotti, riepilogo col pulsante, Monete, Regalo, carosello. */
	.abm-cr-pagina .woocommerce-cart-form { grid-column: 1; grid-row: 1; }
	.abm-cr-pagina .cart_totals { grid-column: 1; grid-row: 2; }
	.abm-cr-pagina .abm-cr-monete { grid-column: 1; grid-row: 3; }
	.abm-cr-pagina #abm-regalo { grid-column: 1; grid-row: 4; }
	.abm-cr-pagina #ast-cart-wrapper > .ast-cart-non-sticky > .cross-sells { grid-row: 5; margin-top: 8px; }

	.abm-cr-pagina .cart_totals,
	.abm-cr-pagina #abm-regalo,
	.abm-cr-box { padding: 20px !important; }

	/* Sul telefono ogni prodotto e' gia' una scheda (css/checkout-ui.css):
	   il riquadro attorno al modulo farebbe una cornice doppia. */
	.abm-cr-pagina .woocommerce-cart-form { background: none !important; border: 0 !important; padding: 0 !important; }
	.abm-cr-pagina .woocommerce-cart-form tr.cart_item { border-color: var(--cr-tenue) !important; background: linear-gradient(180deg, #141414, #0c0c0c) !important; }
	.abm-cr-pagina .woocommerce-cart-form tr.cart_item td { border-top: 0 !important; padding: 0 !important; }
	.abm-cr-wa { margin-top: 4px; }
}

/* ---------------------------------------------------------------- DOVE SPEDIAMO
   28/10/2026: il calcolatore della spedizione resta sempre aperto, in alto,
   con paese e CAP in una riga; le opzioni (corriere, ritiro) sotto. Provincia e
   citta' le toglie il PHP. */
html body.abm-cr-pagina .cart_totals tr.woocommerce-shipping-totals td,
html body.abm-cr-pagina .woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals.abm-sped-intera > td {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	width: 100% !important;
	box-sizing: border-box;
	gap: 10px;
}
.abm-cr-pagina .cart_totals tr.woocommerce-shipping-totals th { display: none !important; }
.abm-cr-pagina .cart_totals .woocommerce-shipping-destination,
.abm-cr-pagina .cart_totals .shipping-calculator-button { display: none !important; }
.abm-cr-dove {
	order: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0 0 !important;
	font-weight: 700;
	font-size: 14.5px;
	color: #fff;
	text-align: left;
}
.abm-cr-dove svg { color: var(--cr-oro); flex: none; }
.abm-cr-pagina .cart_totals form.woocommerce-shipping-calculator { order: 1; margin: 0; width: 100%; }
.abm-cr-pagina .cart_totals tr.abm-sped-intera { display: block !important; width: 100%; }
.abm-cr-pagina .cart_totals .shipping-calculator-form {
	display: grid !important;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
	gap: 10px;
	align-items: end;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}
.abm-cr-pagina .cart_totals .shipping-calculator-form > p { margin: 0 !important; padding: 0 !important; width: auto !important; }
.abm-cr-pagina .cart_totals .shipping-calculator-form button[name="calc_shipping"] {
	height: 100%;
	min-height: 46px;
	margin: 0 !important;
	border: 1.5px solid var(--cr-oro) !important;
	border-radius: 12px !important;
	background: transparent !important;
	color: var(--cr-oro) !important;
	font: 700 12px/1 "Open Sans", Arial, sans-serif !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 0 16px !important;
}
.abm-cr-pagina .cart_totals .shipping-calculator-form button[name="calc_shipping"]:hover { background: var(--cr-oro) !important; color: #141516 !important; }
.abm-cr-pagina .cart_totals ul#shipping_method { order: 2; margin: 0 !important; }
.abm-cr-stima { order: 3; margin: 0 !important; font-size: 12px; color: var(--cr-sec); text-align: left; }
@media (max-width: 921px) {
	.abm-cr-pagina .cart_totals .shipping-calculator-form { grid-template-columns: 1fr 1fr; }
	.abm-cr-pagina .cart_totals .shipping-calculator-form > p:has(button) { grid-column: 1 / -1; }
}

/* ---------------------------------------------------------------- TENDINE E CAMPI
   La voce gia' scelta nella tendina dei paesi restava bianca con testo bianco
   quando il mouse passava su un'altra: ora resta oro su fondo scuro, e quella
   sotto il mouse si schiarisce appena. Vale per carrello e cassa. */
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option--selected,
.select2-container--default .select2-results__option[data-selected="true"] {
	background: #2a2410 !important;
	color: #FFCE53 !important;
	font-weight: 700;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
.select2-container--default .select2-results__option.select2-results__option--highlighted {
	background: #262626 !important;
	color: #fff !important;
}
/* Il riempimento automatico di Chrome dipingeva i campi di azzurro chiaro. */
.woocommerce form input:-webkit-autofill,
.woocommerce form input:-webkit-autofill:hover,
.woocommerce form input:-webkit-autofill:focus,
.woocommerce form select:-webkit-autofill {
	-webkit-text-fill-color: #fff !important;
	-webkit-box-shadow: 0 0 0 1000px #0f0f0f inset !important;
	caret-color: #fff;
	transition: background-color 9999s ease-out 0s;
}

/* Il riepilogo del carrello come righe flessibili, non come tabella: con la
   tabella la cella della spedizione non si allargava (28/10/2026). */
.abm-cr-pagina .cart_totals table.shop_table,
.abm-cr-pagina .cart_totals table.shop_table > tbody { display: block !important; width: 100% !important; }
.abm-cr-pagina .cart_totals table.shop_table > tbody > tr { display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px; width: 100%; }
.abm-cr-pagina .cart_totals table.shop_table > tbody > tr > th,
.abm-cr-pagina .cart_totals table.shop_table > tbody > tr > td { display: block !important; }
html body.abm-cr-pagina .woocommerce .cart_totals table.shop_table > tbody > tr.woocommerce-shipping-totals { flex-direction: column; align-items: stretch; }
html body.abm-cr-pagina .woocommerce .cart_totals table.shop_table > tbody > tr.woocommerce-shipping-totals > td { display: flex !important; width: 100% !important; }
.abm-cr-pagina .cart_totals table.shop_table > tbody > tr.abm-coins-riga { display: none !important; }
.abm-cr-pagina .cart_totals table.shop_table > tbody > tr.order-total { border-top: 1px solid var(--cr-filo); margin-top: 8px; padding-top: 10px; align-items: center; }
.abm-cr-pagina .cart_totals table.shop_table > tbody > tr.order-total > th,
.abm-cr-pagina .cart_totals table.shop_table > tbody > tr.order-total > td { border-top: 0 !important; padding-top: 6px !important; }

/* Sul telefono WooCommerce scrive l'etichetta anche dentro la cella
   (td::before con data-title): con le righe flessibili si leggeva due volte. */
.abm-cr-pagina .cart_totals table.shop_table > tbody > tr > td::before { display: none !important; content: none !important; }

/* Il fondo nero pieno del contenitore di Astra (site-main): trasparente, come il
   resto della pagina, cosi' i contorni dei riquadri staccano (committente, 28/10/2026). */
.abm-cr-pagina .site-main, .abm-cr-pagina #primary, .abm-cr-pagina .ast-container { background: transparent !important; }

