/* ==========================================================================
   Más Ofertas · carrito, checkout y mi cuenta
   Sirve para los shortcodes clásicos y para los bloques nuevos.
   ========================================================================== */

.woocommerce-cart .mo-main,
.woocommerce-checkout .mo-main,
.woocommerce-account .mo-main { padding-top: 20px; }

.woocommerce-cart .mo-page__title,
.woocommerce-checkout .mo-page__title { font-size: 24px; }

/* --- Carrito clásico ---------------------------------------------------- */
.woocommerce-cart-form__contents { width: 100%; border-collapse: collapse; }
.woocommerce-cart-form__contents thead { display: none; }
.woocommerce-cart-form__contents tr {
	display: grid;
	grid-template-columns: 84px 1fr;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--mo-gray-200);
}
.woocommerce-cart-form__contents td { display: block; padding: 0; border: 0; }
.woocommerce-cart-form__contents td.product-thumbnail { grid-row: span 4; }
.woocommerce-cart-form__contents td.product-thumbnail img { width: 84px; height: 84px; border-radius: var(--mo-radius-sm); object-fit: cover; }
.woocommerce-cart-form__contents td.product-name { font-weight: 500; }
.woocommerce-cart-form__contents td.product-name a { font-size: 15px; }
.woocommerce-cart-form__contents td.product-price { display: none; }
.woocommerce-cart-form__contents td.product-subtotal { font-family: var(--mo-display); font-size: 17px; }
.woocommerce-cart-form__contents td.product-remove { grid-column: 2; }
.woocommerce-cart-form__contents td.product-remove a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px; height: 30px;
	border-radius: 999px;
	background: var(--mo-gray-100);
	color: var(--mo-ink);
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
}
.woocommerce-cart-form__contents td.product-remove a:hover { background: var(--mo-red); color: var(--mo-white); }
.woocommerce-cart-form__contents td.actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; padding-top: 10px; }

.cart_totals { margin-top: 24px; }
.cart_totals h2 { font-size: 20px; }
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals th, .cart_totals td {
	padding: 12px 0;
	border-bottom: 1px solid var(--mo-gray-200);
	text-align: left;
	font-size: 15px;
	vertical-align: top;
}
.cart_totals th { font-weight: 600; width: 42%; }
.cart_totals .order-total td, .cart_totals .order-total th { font-size: 17px; border-bottom: 0; }
.cart_totals .order-total .amount { font-family: var(--mo-display); font-size: 22px; color: var(--mo-red); }
.mo-cart-installments td { font-size: 13px; color: var(--mo-muted); border-bottom: 0; padding-top: 0; }
.mo-cart-installments .mo-installments { margin: 0; }

/* --- Métodos de envío (clásico y bloques) ------------------------------- */
ul#shipping_method, .woocommerce-shipping-methods { list-style: none; margin: 0; }
ul#shipping_method li, .woocommerce-shipping-methods li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px;
	margin-bottom: 8px;
	border: 2px solid var(--mo-gray-200);
	border-radius: var(--mo-radius-sm);
	background: var(--mo-white);
	cursor: pointer;
}
ul#shipping_method li:has(input:checked) { border-color: var(--mo-red); background: var(--mo-red-soft); }
ul#shipping_method label { display: block; font-size: 15px; font-weight: 500; cursor: pointer; }
ul#shipping_method .amount { font-family: var(--mo-display); }
.mo-ship-eta {
	display: block;
	font-family: var(--mo-font);
	font-size: 13px;
	font-weight: 500;
	color: var(--mo-muted);
}
.woocommerce-shipping-destination { font-size: 13px; color: var(--mo-muted); }

/* --- Cupón -------------------------------------------------------------- */
.coupon { display: flex; gap: 8px; flex-wrap: wrap; width: 100%; }
.coupon label { display: none; }
#coupon_code { flex: 1; min-width: 150px; }

/* --- Campos de formulario ----------------------------------------------- */
.mo-main input[type="text"],
.mo-main input[type="email"],
.mo-main input[type="tel"],
.mo-main input[type="password"],
.mo-main input[type="number"],
.mo-main input[type="search"],
.mo-main textarea,
.mo-main select {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 2px solid var(--mo-gray-200);
	border-radius: var(--mo-radius-sm);
	background: var(--mo-white);
	font: inherit;
	font-size: 15px;
	color: var(--mo-ink);
}
.mo-main input:focus, .mo-main textarea:focus, .mo-main select:focus {
	outline: none;
	border-color: var(--mo-ink);
}
.mo-main textarea { min-height: 110px; }
.form-row { margin-bottom: 14px; }
.form-row label { display: block; margin-bottom: 5px; font-size: 14px; font-weight: 600; }
.required { color: var(--mo-red); text-decoration: none; }

.mo-main .button,
.mo-main button[type="submit"],
.woocommerce-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 20px;
	border: 2px solid transparent;
	border-radius: var(--mo-radius-sm);
	background: var(--mo-gray-100);
	color: var(--mo-ink);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
}
.mo-main .button:hover { background: var(--mo-gray-200); }
.mo-main .checkout-button,
.mo-main #place_order,
.mo-main .button.alt,
.woocommerce-form-login .button {
	background: var(--mo-red);
	color: var(--mo-white);
	font-size: 16px;
	min-height: 52px;
	width: 100%;
}
.mo-main .checkout-button:hover,
.mo-main #place_order:hover { background: var(--mo-red-dark); color: var(--mo-white); }

/* --- Checkout clásico --------------------------------------------------- */
.woocommerce-checkout h3 { font-size: 19px; margin-top: 24px; }
#order_review_heading { margin-top: 28px; }
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 10px 0;
	border-bottom: 1px solid var(--mo-gray-200);
	text-align: left;
	font-size: 15px;
}
.woocommerce-checkout-review-order-table .order-total .amount { font-family: var(--mo-display); font-size: 22px; color: var(--mo-red); }
#payment { margin-top: 16px; }
#payment ul.payment_methods { list-style: none; padding: 0; }
#payment ul.payment_methods li {
	padding: 12px;
	margin-bottom: 8px;
	border: 2px solid var(--mo-gray-200);
	border-radius: var(--mo-radius-sm);
}
#payment .payment_box { font-size: 14px; color: var(--mo-muted); padding-top: 8px; }
.woocommerce-privacy-policy-text { font-size: 13px; color: var(--mo-muted); }

/* Dos columnas (facturación / envío, direcciones de la cuenta): lo traía
   woocommerce-layout.css, que damos de baja por su grilla flotante. */
.col2-set { display: grid; gap: 20px; }
.col2-set .col-1, .col2-set .col-2 { min-width: 0; }
@media (min-width: 768px) {
	.col2-set { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
}

/* --- Mi cuenta ---------------------------------------------------------- */
.woocommerce-MyAccount-navigation ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.woocommerce-MyAccount-navigation a {
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid var(--mo-gray-200);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
}
.woocommerce-MyAccount-navigation .is-active a { background: var(--mo-ink); color: var(--mo-white); border-color: var(--mo-ink); }
.woocommerce-orders-table, .woocommerce-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.woocommerce-orders-table th, .woocommerce-orders-table td { padding: 10px 6px; border-bottom: 1px solid var(--mo-gray-200); text-align: left; }

/* --- Bloques de Carrito y Checkout -------------------------------------- */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: var(--mo-font); }
.wc-block-components-title, .wc-block-cart__submit-container + *, .wp-block-woocommerce-cart h2 { font-family: var(--mo-display); }
.wc-block-components-button:not(.is-link) {
	background: var(--mo-red);
	color: var(--mo-white);
	border-radius: var(--mo-radius-sm);
	min-height: 50px;
	font-weight: 600;
}
.wc-block-components-button:not(.is-link):hover { background: var(--mo-red-dark); }
.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount { font-family: var(--mo-display); }
.wc-block-components-radio-control__option { padding: 12px; }
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
	border-radius: var(--mo-radius-sm);
}
.wc-block-components-text-input input, .wc-block-components-select select {
	border-radius: var(--mo-radius-sm) !important;
}
.wc-block-components-product-name { font-weight: 500; }

@media (min-width: 768px) {
	.woocommerce-cart .mo-page__title, .woocommerce-checkout .mo-page__title { font-size: 32px; }
	.woocommerce-cart-form__contents tr { grid-template-columns: 100px 2fr 1fr 1fr auto; align-items: center; }
	.woocommerce-cart-form__contents td.product-thumbnail { grid-row: auto; }
	.woocommerce-cart-form__contents td.product-price { display: block; color: var(--mo-muted); }
	.woocommerce-cart-form__contents td.product-remove { grid-column: auto; }
	.cart-collaterals { max-width: 440px; margin-left: auto; }
	.mo-main .checkout-button, .mo-main #place_order { width: auto; min-width: 260px; }

	.woocommerce-checkout .mo-checkout-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: start; }
	.woocommerce-MyAccount-navigation ul { flex-direction: column; }
}
