/*
 * Frutas de Granada — carrito y checkout (diseño del canvas).
 * Trabaja sobre el carrito y el checkout clásicos de WooCommerce.
 */
.fdg-compra {
	--c-verde: var(--wp--preset--color--verde-finca, #1E3A2B);
	--c-hoja-t: var(--wp--preset--color--verde-hoja-texto, #5E7037);
	--c-aguacate: var(--wp--preset--color--verde-aguacate, #A3B86B);
	--c-crema: var(--wp--preset--color--crema, #F8F5EC);
	--c-arena: var(--wp--preset--color--arena, #EEEEDD);
	--c-salvia: #EBEEDD;
	--c-blanco: #FFFFFF;
	--c-texto: var(--wp--preset--color--texto, #2B2A27);
	--c-sec: var(--wp--preset--color--texto-sec, #5F5E5A);
	--c-muted: var(--wp--preset--color--texto-muted, #6B6A64);
	--c-borde: #8C8A80;
	--c-error: #B3261E;
	background: var(--c-crema);
	color: var(--c-texto);
	padding: 48px 40px 72px;
}
.fdg-compra > .wp-block-post-content,
.fdg-compra .entry-content { width: 100%; max-width: 1200px; margin: 0 auto; box-sizing: border-box; }
.fdg-compra .woocommerce { max-width: 1200px; margin: 0 auto; }
.fdg-compra .fdg-svg { width: 18px; height: 18px; stroke: var(--c-verde); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; display: block; flex-shrink: 0; }
.fdg-compra a { color: inherit; }

/* ---------- Pasos y título ---------- */
.fdg-compra-cab { grid-column: 1 / -1; }
.fdg-pasos { list-style: none; margin: 0 0 32px; padding: 0; display: flex; align-items: center; gap: 12px; }
.fdg-pasos__paso { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; color: var(--c-muted); white-space: nowrap; }
.fdg-pasos__paso a { text-decoration: none; }
.fdg-pasos__paso a:hover { text-decoration: underline; }
.fdg-pasos__num { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; background: var(--c-blanco); border: 1px solid var(--c-borde); color: var(--c-muted); box-sizing: border-box; }
.fdg-pasos__paso.is-actual { font-weight: 700; color: var(--c-verde); }
.fdg-pasos__paso.is-actual .fdg-pasos__num { width: 26px; height: 26px; border: 0; background: var(--c-verde); color: var(--c-crema); box-shadow: 0 0 0 3px var(--c-crema), 0 0 0 5px var(--c-verde); }
.fdg-pasos__paso.is-hecho { color: var(--c-verde); font-weight: 600; }
.fdg-pasos__paso.is-hecho .fdg-pasos__num { border: 0; background: var(--c-aguacate); color: var(--c-verde); }
.fdg-pasos__linea { flex-grow: 1; height: 1px; background: var(--c-borde); }
.fdg-compra-tit { font-size: 34px; font-weight: 700; color: var(--c-verde); margin: 0 0 24px; line-height: 1.15; }

/* ---------- Notas (maduración, suscripción, ¿cuándo llega?) ---------- */
.fdg-nota { background: var(--c-blanco); border-radius: 12px; padding: 14px 16px; display: flex; gap: 10px; align-items: flex-start; margin-bottom: 14px; font-size: 13px; line-height: 1.5; }
.fdg-nota p { margin: 0; }
.fdg-nota strong, .fdg-nota__tit { color: var(--c-verde); font-weight: 700; }
.fdg-nota__tit { margin-bottom: 4px !important; }
.fdg-nota__sec { font-size: 12px; color: var(--c-sec); margin-top: 4px !important; }
.fdg-nota a { color: var(--c-verde); text-decoration: underline; font-weight: 600; }
.fdg-nota--salvia { background: var(--c-salvia); color: var(--c-verde); }

/* ---------- Botones ---------- */
.fdg-compra .fdg-btn--compra,
.fdg-compra .wc-proceed-to-checkout .checkout-button,
.fdg-compra #place_order {
	display: block; width: 100%; box-sizing: border-box; text-align: center;
	background: var(--c-verde) !important; color: var(--c-crema) !important;
	border: 0; border-radius: 12px; padding: 15px 18px; min-height: 48px;
	font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.3;
	text-decoration: none; cursor: pointer; margin: 0;
}
.fdg-compra .fdg-btn--compra:hover,
.fdg-compra .wc-proceed-to-checkout .checkout-button:hover,
.fdg-compra #place_order:hover { background: var(--c-hoja-t) !important; }
.fdg-compra .fdg-btn--compra { display: inline-block; width: auto; padding: 14px 22px; }

/* =======================================================================
 * CARRITO
 * =================================================================== */
.woocommerce-cart .fdg-compra .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	column-gap: 40px;
	align-items: start;
}
.woocommerce-cart .fdg-compra .woocommerce > * { grid-column: 1; min-width: 0; }
.woocommerce-cart .fdg-compra .woocommerce > .fdg-compra-cab { grid-row: 1; }
.woocommerce-cart .fdg-compra .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 2; }
.woocommerce-cart .fdg-compra .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-cart .fdg-compra .woocommerce > form.woocommerce-cart-form { grid-row: 3; }
.woocommerce-cart .fdg-compra .woocommerce > .cart-collaterals { grid-column: 2; grid-row: 3 / span 2; position: sticky; top: calc(24px + var(--wp-admin--admin-bar--height, 0px)); width: auto; float: none; }
.woocommerce-cart .fdg-compra .woocommerce > .fdg-carrito-notas { grid-row: 4; }

/* Productos como tarjetas */
.fdg-compra table.shop_table.cart,
.fdg-compra table.shop_table.cart tbody { display: block; border: 0; margin: 0; background: none; border-radius: 0; width: 100%; }
.fdg-compra table.shop_table.cart thead { display: none; }
.fdg-compra table.shop_table.cart tr.cart_item {
	display: grid !important;
	grid-template-columns: 110px auto 1fr auto;
	grid-template-areas: "img name name total" "img qty remove total";
	column-gap: 18px; row-gap: 10px; align-items: center;
	background: var(--c-blanco); border: 1px solid var(--c-arena); border-radius: 16px;
	padding: 18px; margin-bottom: 14px;
}
.fdg-compra table.shop_table.cart tr.cart_item td {
	display: block !important; padding: 0 !important; border: 0 !important; background: none !important;
	text-align: left !important; width: auto !important;
}
.fdg-compra table.shop_table.cart tr.cart_item td::before { display: none !important; content: none !important; }
.fdg-compra table.cart td.product-thumbnail { grid-area: img; display: block !important; }
.fdg-compra table.cart td.product-thumbnail img { width: 110px !important; height: 110px; object-fit: cover; border-radius: 12px; display: block; max-width: none; }
.fdg-compra table.cart td.product-name { grid-area: name; align-self: end; font-size: 16px; font-weight: 700; color: var(--c-verde); }
.fdg-compra table.cart td.product-name a { text-decoration: none; color: var(--c-verde); }
.fdg-compra table.cart td.product-name a:hover { text-decoration: underline; }
.fdg-compra table.cart td.product-name dl.variation,
.fdg-compra table.cart td.product-name .wc-item-meta { font-size: 13px; font-weight: 400; color: var(--c-sec); margin: 3px 0 0; }
.fdg-compra table.shop_table.cart tr.cart_item td.product-price { display: none !important; }
.fdg-compra table.cart td.product-quantity { grid-area: qty; align-self: start; }
.fdg-compra table.cart td.product-remove { grid-area: remove; align-self: center; }
.fdg-compra table.cart td.product-subtotal { grid-area: total; font-size: 20px; font-weight: 700; color: var(--c-verde); white-space: nowrap; }

/* Papelera en lugar de la "×" */
.fdg-compra table.cart a.remove {
	display: inline-flex !important; width: 44px !important; height: 44px !important; border-radius: 10px !important;
	font-size: 0 !important; color: transparent !important; background: transparent !important; text-decoration: none;
	align-items: center; justify-content: center;
}
.fdg-compra table.cart a.remove::before {
	content: ""; width: 20px; height: 20px; background: var(--c-sec);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fdg-compra table.cart a.remove:hover { background: var(--c-salvia) !important; }
.fdg-compra table.cart a.remove:hover::before { background: var(--c-error); }

/* Cantidad − n + */
.fdg-compra .quantity.fdg-qty { display: inline-flex; align-items: center; border: 1px solid var(--c-borde); border-radius: 10px; background: var(--c-blanco); float: none; margin: 0; }
.fdg-compra .quantity.fdg-qty input.qty {
	width: 36px !important; height: 44px; border: 0 !important; background: none !important; padding: 0 !important; margin: 0;
	text-align: center; font: inherit; font-size: 15px; font-weight: 700; color: var(--c-texto); -moz-appearance: textfield; box-shadow: none !important;
}
.fdg-compra .quantity.fdg-qty input.qty::-webkit-outer-spin-button,
.fdg-compra .quantity.fdg-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fdg-qty__btn { width: 44px; height: 44px; border: 0; background: none; font: inherit; font-size: 18px; color: var(--c-verde); cursor: pointer; border-radius: 10px; padding: 0; }
.fdg-qty__btn:hover { background: var(--c-salvia); }

/* Fila de acciones (cupón y "Actualizar"): la usa el JavaScript; no se ve */
.fdg-compra table.shop_table.cart tr:not(.cart_item) { display: block; }
.fdg-compra table.shop_table.cart td.actions {
	position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important;
	clip: rect(0 0 0 0) !important; padding: 0 !important; border: 0 !important;
}

/* Resumen del carrito */
.fdg-compra .cart-collaterals .cart_totals {
	width: auto !important; float: none !important;
	background: var(--c-blanco); border: 1px solid var(--c-arena); border-radius: 16px; padding: 24px;
}
.fdg-compra .cart_totals > h2 { display: none; }
.fdg-resumen-tit { font-size: 16px; font-weight: 700; color: var(--c-verde); margin: 0 0 12px; }
.fdg-compra .cart-collaterals .cross-sells { display: none; }
.fdg-compra .cart_totals table.shop_table,
.fdg-compra .woocommerce-checkout-review-order-table {
	width: 100%; border: 0 !important; border-collapse: collapse; margin: 0 0 16px !important; border-radius: 0 !important; background: none;
}
.fdg-compra .cart_totals table.shop_table tr { display: flex !important; justify-content: space-between; gap: 12px; border: 0; }
.fdg-compra .cart_totals table.shop_table th,
.fdg-compra .cart_totals table.shop_table td {
	display: block !important; border: 0 !important; padding: 8px 0 !important; background: none !important;
	font-size: 14px; font-weight: 400; color: var(--c-texto); text-align: left !important; width: auto !important;
}
.fdg-compra .cart_totals table.shop_table td { text-align: right !important; }
.fdg-compra .cart_totals table.shop_table td::before { display: none !important; }
.fdg-compra .cart_totals tr.order-total { border-top: 1px solid var(--c-arena) !important; margin-top: 6px; }
.fdg-compra .cart_totals tr.order-total th,
.fdg-compra .cart_totals tr.order-total td { padding-top: 14px !important; font-size: 18px; font-weight: 700; color: var(--c-verde); }
.fdg-compra .order-total small.includes_tax,
.fdg-compra .order-total .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--c-sec); }
.fdg-compra ul.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.fdg-compra ul.woocommerce-shipping-methods li { margin: 0 0 4px; }
.fdg-compra .woocommerce-shipping-destination,
.fdg-compra .woocommerce-shipping-calculator { font-size: 12px; color: var(--c-sec); margin: 4px 0 0; }
.fdg-compra .shipping-calculator-button { color: var(--c-verde); text-decoration: underline; }
.fdg-gratis { font-weight: 700; color: var(--c-verde); }
.fdg-compra .cart-discount td,
.fdg-compra .cart-discount th { color: var(--c-verde) !important; }
.fdg-compra .woocommerce-remove-coupon { color: var(--c-sec); font-size: 12px; }
.fdg-compra .wc-proceed-to-checkout { padding: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.fdg-boton-total { display: none; }
.fdg-seguir { display: block; text-align: center; padding: 12px; font-size: 14px; font-weight: 600; color: var(--c-verde) !important; text-decoration: underline; }

/* Cupón */
.fdg-cupon { margin: 0 0 14px; }
.fdg-cupon__toggle { display: flex; align-items: center; gap: 6px; min-height: 40px; padding: 0; border: 0; background: none; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--c-verde); text-decoration: underline; cursor: pointer; }
.fdg-cupon__toggle::after { content: "+"; text-decoration: none; display: inline-block; margin-left: 2px; }
.fdg-cupon__toggle[aria-expanded="true"]::after { content: "−"; }
.fdg-cupon__fila { display: flex; gap: 8px; margin-top: 6px; }
.fdg-cupon__input { flex: 1; min-width: 0; height: 46px; box-sizing: border-box; padding: 0 14px; border: 1px solid var(--c-borde); border-radius: 10px; font: inherit; font-size: 14px; background: var(--c-blanco); color: var(--c-texto); }
.fdg-cupon__aplicar { height: 46px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--c-verde); color: var(--c-crema); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.fdg-cupon__aplicar:hover { background: var(--c-hoja-t); }
.fdg-cupon__aplicar[aria-busy="true"] { opacity: .6; }
.fdg-cupon__nota { font-size: 12px; color: var(--c-sec); margin: 6px 0 0; }
.fdg-cupon-aviso { margin: 0 0 12px; font-size: 13px; }

/* Carrito vacío */
.woocommerce-cart .fdg-compra .woocommerce > .return-to-shop { display: none; }
.fdg-carrito-vacio { background: var(--c-blanco); border-radius: 16px; padding: 40px; text-align: center; max-width: 560px; grid-column: 1 / -1; }
.fdg-carrito-vacio p { font-size: 14px; color: var(--c-sec); margin: 0 0 20px; }
.fdg-carrito-vacio .fdg-carrito-vacio__tit { font-size: 17px; font-weight: 700; color: var(--c-verde); margin-bottom: 8px; }

/* =======================================================================
 * CHECKOUT
 * =================================================================== */
.fdg-compra form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	column-gap: 40px;
	align-items: start;
}
.fdg-compra form.checkout > * { grid-column: 1; min-width: 0; }
.fdg-compra form.checkout > #order_review_heading { display: none; }
.fdg-compra form.checkout > #order_review {
	grid-column: 2; grid-row: 1 / span 8; position: sticky; top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
	background: var(--c-blanco); border: 1px solid var(--c-arena); border-radius: 16px; padding: 24px; width: auto; float: none;
}

/* Bloques de datos como tarjetas */
.fdg-compra #customer_details { width: auto; display: flex; flex-direction: column; gap: 22px; margin-bottom: 22px; }
.fdg-compra #customer_details::before,
.fdg-compra #customer_details::after { display: none; }
.fdg-compra #customer_details .col-1,
.fdg-compra #customer_details .col-2 { float: none !important; width: auto !important; max-width: none; padding: 0; margin: 0; }
.fdg-compra .woocommerce-billing-fields,
.fdg-compra .woocommerce-shipping-fields,
.fdg-compra .woocommerce-additional-fields,
.fdg-compra .woocommerce-account-fields { background: var(--c-blanco); border-radius: 16px; padding: 24px; }
.fdg-compra #customer_details .col-2 { display: flex; flex-direction: column; gap: 22px; }
.fdg-compra .woocommerce-shipping-fields:not(:has(.shipping_address, h3)) { display: none; }
.fdg-compra form.checkout h3,
.fdg-compra .fdg-pago-tit { font-size: 17px; font-weight: 700; color: var(--c-verde); margin: 0 0 14px; line-height: 1.3; }
.fdg-compra #ship-to-different-address { font-size: 15px; margin: 0; }
.fdg-compra #ship-to-different-address label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.fdg-compra .shipping_address { margin-top: 16px; }

/* Campos */
.fdg-compra .woocommerce-billing-fields__field-wrapper,
.fdg-compra .woocommerce-shipping-fields__field-wrapper,
.fdg-compra .woocommerce-additional-fields__field-wrapper { display: flex; flex-wrap: wrap; column-gap: 12px; }
.fdg-compra form .form-row { float: none !important; width: 100% !important; margin: 0 0 14px !important; padding: 0 !important; box-sizing: border-box; }
.fdg-compra form .form-row-first,
.fdg-compra form .form-row-last { width: calc(50% - 6px) !important; }
.fdg-compra form .form-row label { display: block; font-size: 13px; font-weight: 600; color: var(--c-texto); margin: 0 0 6px; line-height: 1.4; }
.fdg-compra form .form-row label.screen-reader-text { position: absolute; }
.fdg-compra form .form-row .required { color: var(--c-error); text-decoration: none; border: 0; }
.fdg-compra form .form-row .optional { font-weight: 400; color: var(--c-muted); }
.fdg-compra form .form-row .input-text,
.fdg-compra form .form-row select,
.fdg-compra form .form-row textarea,
.fdg-compra .select2-container .select2-selection--single {
	width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px 14px;
	border: 1px solid var(--c-borde) !important; border-radius: 10px !important; background: var(--c-blanco) !important;
	font: inherit; font-size: 15px; color: var(--c-texto); line-height: 1.4; box-shadow: none;
}
.fdg-compra form .form-row textarea { min-height: 96px; }
.fdg-compra form .form-row .input-text:focus,
.fdg-compra form .form-row select:focus,
.fdg-compra form .form-row textarea:focus { outline: 2px solid var(--c-verde); outline-offset: 0; border-color: var(--c-verde) !important; }
.fdg-compra .select2-container .select2-selection--single { height: 48px; padding: 0 14px; display: flex; align-items: center; }
.fdg-compra .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 !important; line-height: 46px; color: var(--c-texto); }
.fdg-compra .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.fdg-compra form .form-row.woocommerce-invalid .input-text,
.fdg-compra form .form-row.woocommerce-invalid select,
.fdg-compra form .form-row.woocommerce-invalid .select2-selection { border-color: var(--c-error) !important; }
.fdg-compra form .form-row.woocommerce-invalid label { color: var(--c-error); }
.fdg-compra form .form-row.woocommerce-validated .input-text { border-color: var(--c-borde) !important; }
.fdg-compra .checkout-inline-error-message { font-size: 12px; color: var(--c-error); margin: 4px 0 0; }
.fdg-compra input[type="checkbox"],
.fdg-compra input[type="radio"] { accent-color: var(--c-verde); width: 18px; height: 18px; flex-shrink: 0; margin: 0; }

/* Contacto / entrega / factura */
.fdg-compra #ship-to-different-address label { pointer-events: none; cursor: default; }
.fdg-compra #ship-to-different-address input { display: none; }
.fdg-compra #ship-to-different-address span { font-size: 17px; }
.fdg-compra .woocommerce-shipping-fields .shipping_address { display: block !important; margin-top: 0; }
.fdg-compra form .form-row .description { font-size: 12px !important; color: var(--c-sec) !important; margin: 4px 0 0 !important; display: block !important; position: static !important; background: none !important; padding: 0 !important; border-radius: 0 !important; width: auto !important; }
.fdg-compra form .form-row .description::before { display: none; }
.fdg-check { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--c-texto); cursor: pointer; min-height: 32px; margin: 0 0 14px; }
.fdg-check--sec { font-size: 14px; font-weight: 500; margin-top: 2px; }
.fdg-ayuda { font-size: 12.5px; color: var(--c-sec); line-height: 1.5; margin: 0 0 14px; }
.fdg-regalo { margin-bottom: 18px; padding-bottom: 4px; border-bottom: 1px solid var(--c-arena); }
.fdg-regalo__campos { background: var(--c-salvia); border-radius: 12px; padding: 16px 16px 2px; margin: 0 0 16px; display: flex; flex-wrap: wrap; column-gap: 12px; }
.fdg-regalo__campos .fdg-ayuda { width: 100%; color: var(--c-verde); }
.fdg-regalo__campos[hidden], .fdg-factura__campos[hidden], .fdg-fiscal__campos[hidden], .fdg-ayuda[hidden] { display: none; }
.fdg-compra form.checkout > .fdg-factura { background: var(--c-blanco); border-radius: 16px; padding: 24px; margin-bottom: 22px; }
.fdg-factura__campos, .fdg-fiscal__campos { display: flex; flex-wrap: wrap; column-gap: 12px; }
.fdg-factura__campos > .fdg-check, .fdg-factura__campos > .fdg-ayuda, .fdg-fiscal__campos { width: 100%; }
.fdg-factura .fdg-check input:disabled + span { color: var(--c-texto); }

/* Pago (columna izquierda) */
.fdg-compra form.checkout > .fdg-pago-tit { background: var(--c-blanco); border-radius: 16px 16px 0 0; padding: 24px 24px 0; margin: 0; }
.fdg-compra #payment {
	background: var(--c-blanco) !important; border-radius: 0 0 16px 16px; padding: 14px 24px 24px; margin: 0;
}
.fdg-compra #payment ul.payment_methods { list-style: none; margin: 0 0 18px; padding: 0 !important; border: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.fdg-compra #payment ul.payment_methods::before,
.fdg-compra #payment ul.payment_methods::after { display: none; }
.fdg-compra #payment ul.payment_methods li { border: 2px solid #E4E1D2; border-radius: 12px; padding: 14px 16px; margin: 0; background: var(--c-blanco); line-height: 1.4; }
.fdg-compra #payment ul.payment_methods li:has(> input:checked) { border-color: var(--c-verde); }
.fdg-compra #payment ul.payment_methods li > input { vertical-align: middle; margin-right: 8px; }
.fdg-compra #payment ul.payment_methods li > label { display: inline; font-size: 15px; font-weight: 600; color: var(--c-texto); cursor: pointer; }
.fdg-compra #payment ul.payment_methods li img { max-height: 24px; width: auto; vertical-align: middle; margin-left: 6px; display: inline-block; }
.fdg-compra #payment div.payment_box { background: var(--c-salvia) !important; color: var(--c-texto); border-radius: 10px; padding: 12px 14px; margin: 12px 0 0; font-size: 13px; }
.fdg-compra #payment div.payment_box::before { display: none; }
.fdg-compra #payment div.payment_box p:last-child { margin-bottom: 0; }
/* Redsys pinta una caja vacía de "tarjetas guardadas" aunque no haya ninguna: se oculta si no contiene campos */
.fdg-compra #payment li.payment_method_redsys div.payment_box:not(:has(input)) { display: none !important; }
.fdg-compra #payment ul.payment_methods li .fdg-logos-tarjeta { display: inline-flex; align-items: center; gap: 6px; margin-left: 8px; vertical-align: middle; }
.fdg-compra #payment ul.payment_methods li .fdg-logos-tarjeta img { margin-left: 0; max-height: 20px; }
.fdg-compra #payment ul.payment_methods li .fdg-logos-tarjeta img[alt="Visa"] { max-height: 14px; }
.fdg-compra #payment .woocommerce-notice,
.fdg-compra #payment .woocommerce-info { margin-bottom: 18px; }
.fdg-compra #payment .place-order { padding: 0 !important; margin: 0 !important; }
.fdg-compra .woocommerce-terms-and-conditions-wrapper { font-size: 12px; color: var(--c-sec); line-height: 1.5; margin-bottom: 16px; }
.fdg-compra .woocommerce-terms-and-conditions-wrapper a { color: var(--c-verde); text-decoration: underline; }
.fdg-compra .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; color: var(--c-texto); margin-top: 10px; cursor: pointer; }
.fdg-compra .woocommerce-privacy-policy-text p { margin: 0; }

/* Resumen ("Tu pedido") */
.fdg-resumen-cab { display: block; width: 100%; padding: 0; margin: 0 0 16px; border: 0; background: none; font: inherit; text-align: left; cursor: default; }
.fdg-resumen-cab .fdg-resumen-tit { display: block; margin: 0; }
.fdg-resumen-ver,
.fdg-resumen-total { display: none; }
.fdg-compra .woocommerce-checkout-review-order-table thead { display: none; }
.fdg-compra .woocommerce-checkout-review-order-table tr { border: 0; }
.fdg-compra .woocommerce-checkout-review-order-table th,
.fdg-compra .woocommerce-checkout-review-order-table td {
	border: 0 !important; padding: 8px 0 !important; background: none !important; font-size: 14px; font-weight: 400; color: var(--c-texto); vertical-align: top;
}
.fdg-compra .woocommerce-checkout-review-order-table td:last-child,
.fdg-compra .woocommerce-checkout-review-order-table th + td { text-align: right; }
.fdg-compra .woocommerce-checkout-review-order-table tbody td { padding: 10px 0 !important; }
.fdg-compra .woocommerce-checkout-review-order-table td.product-name { font-weight: 600; padding-right: 12px !important; }
.fdg-compra .woocommerce-checkout-review-order-table .product-quantity { font-weight: 600; color: var(--c-sec); }
.fdg-compra .woocommerce-checkout-review-order-table td.product-total { font-weight: 600; white-space: nowrap; }
.fdg-compra .woocommerce-checkout-review-order-table tfoot tr:first-child th,
.fdg-compra .woocommerce-checkout-review-order-table tfoot tr:first-child td { border-top: 1px solid var(--c-arena) !important; padding-top: 14px !important; }
.fdg-compra .woocommerce-checkout-review-order-table tr.order-total th,
.fdg-compra .woocommerce-checkout-review-order-table tr.order-total td { border-top: 1px solid var(--c-arena) !important; padding-top: 14px !important; font-size: 18px; font-weight: 700; color: var(--c-verde); }
.fdg-compra .woocommerce-checkout-review-order-table tr.order-total td strong { font-weight: 700; }
.fdg-compra .fdg-llega-checkout .fdg-nota { background: var(--c-crema); margin: 0; }

/* Acceso y avisos encima del formulario */
.fdg-compra .woocommerce-form-login-toggle .wc-block-components-notice-banner,
.fdg-compra .woocommerce-form-login-toggle .woocommerce-info {
	background: none !important; border: 0 !important; padding: 0 !important; margin: 0 0 20px !important; font-size: 14px; color: var(--c-sec); box-shadow: none;
}
.fdg-compra .woocommerce-form-login-toggle .wc-block-components-notice-banner > svg,
.fdg-compra .woocommerce-form-login-toggle .woocommerce-info::before { display: none; }
.fdg-compra .woocommerce-form-login-toggle a { color: var(--c-verde) !important; font-weight: 600; text-decoration: underline; }
.fdg-compra form.woocommerce-form-login { background: var(--c-blanco); border: 0 !important; border-radius: 16px; padding: 24px !important; margin: 0 0 24px !important; max-width: 560px; }
.fdg-compra form.woocommerce-form-login .button { background: var(--c-verde); color: var(--c-crema); border-radius: 10px; padding: 12px 20px; border: 0; font-weight: 600; }

/* =======================================================================
 * MÓVIL Y TABLET
 * =================================================================== */
@media (max-width: 960px) {
	.fdg-compra { padding: 28px 16px 56px; }
	.fdg-compra-tit { font-size: 28px; margin-bottom: 18px; }
	.fdg-pasos { gap: 8px; margin-bottom: 24px; }
	.fdg-pasos__paso { font-size: 12px; }

	/* Carrito: una columna. Resumen debajo de los productos y botón fijo abajo */
	.woocommerce-cart .fdg-compra .woocommerce { display: block; padding-bottom: 84px; }
	.woocommerce-cart .fdg-compra .woocommerce > .cart-collaterals { position: static; margin-bottom: 14px; }
	.fdg-compra table.shop_table.cart tr.cart_item { grid-template-columns: 80px auto 1fr auto; column-gap: 12px; padding: 14px; }
	.fdg-compra table.cart td.product-thumbnail img { width: 80px !important; height: 80px; }
	.fdg-compra table.cart td.product-name { font-size: 15px; }
	.fdg-compra table.cart td.product-subtotal { font-size: 17px; }
	.fdg-compra .wc-proceed-to-checkout {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
		background: var(--c-crema); padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
		box-shadow: 0 -4px 16px rgba(30, 58, 43, .12);
	}
	.fdg-compra .wc-proceed-to-checkout .fdg-seguir { display: none; }
	.fdg-boton-total { display: inline; }

	/* Checkout: una columna; el resumen arriba, plegado */
	.fdg-compra form.checkout { display: flex; flex-direction: column; align-items: stretch; }
	.fdg-compra form.checkout > #order_review { order: -1; position: static; margin-bottom: 22px; padding: 16px 18px; }
	.fdg-resumen-cab { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 12px; margin: 0; cursor: pointer; }
	.fdg-resumen-ver { display: block; grid-column: 1; font-size: 13px; font-weight: 600; color: var(--c-verde); text-decoration: underline; margin-top: 2px; }
	.fdg-resumen-total { display: block; grid-column: 2; grid-row: 1 / span 2; font-size: 17px; font-weight: 700; color: var(--c-verde); }
	#order_review:not(.is-open) > :not(.fdg-resumen-cab) { display: none !important; }
	#order_review.is-open > .fdg-resumen-cab { margin-bottom: 16px; }
	.fdg-compra .woocommerce-billing-fields,
	.fdg-compra .woocommerce-shipping-fields,
	.fdg-compra .woocommerce-additional-fields { padding: 18px; }
	.fdg-compra form.checkout > .fdg-pago-tit { padding: 18px 18px 0; }
	.fdg-compra form.checkout > .fdg-factura { padding: 18px; }
	.fdg-compra #payment { padding: 12px 18px 18px; }
}
@media (max-width: 520px) {
	.fdg-pasos__paso:not(.is-actual) { font-size: 0; gap: 0; }
	.fdg-compra form .form-row-first,
	.fdg-compra form .form-row-last { width: 100% !important; }
	.fdg-compra table.shop_table.cart tr.cart_item { grid-template-columns: 72px auto 1fr; grid-template-areas: "img name name" "img total total" "qty qty remove"; }
	.fdg-compra table.cart td.product-thumbnail img { width: 72px !important; height: 72px; }
	.fdg-compra table.cart td.product-subtotal { font-size: 16px; }
	.fdg-compra table.cart td.product-remove { justify-self: end; }
}

/* Finalizar compra: cantidades editables en el resumen (07/10) */
.fdg-co-edit { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.fdg-co-qty { display: inline-flex; align-items: center; border: 1px solid var(--c-borde); border-radius: 10px; background: var(--c-blanco); }
.fdg-co-qty__btn { width: 36px; height: 36px; border: 0; background: none; font: inherit; font-size: 17px; color: var(--c-verde); cursor: pointer; border-radius: 10px; padding: 0; }
.fdg-co-qty__btn:hover:not([disabled]) { background: var(--c-salvia); }
.fdg-co-qty__btn[disabled] { opacity: .35; cursor: default; }
.fdg-co-qty__n { min-width: 24px; text-align: center; font-weight: 600; font-size: 15px; }
.fdg-co-quitar { border: 0; background: none; padding: 0; font: inherit; font-size: 13.5px; color: var(--c-muted); text-decoration: underline; cursor: pointer; }
.fdg-co-edit.is-cargando { opacity: .5; }
.fdg-oculto { display: none !important; }
