/* Impronta · páginas de WooCommerce dentro del Theme Builder. */

/* Contenedor de la plantilla de página (sin título propio) */
.imp-pagina { font-family: 'Jost', Futura, 'Century Gothic', sans-serif; color: var(--imp-tinta); }

/* ---------- Header simple del checkout ---------- */
.imp-cab-checkout { display: none; }
.imp-cc { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; padding: 18px 48px; border-bottom: 1px solid var(--imp-crudo); background: var(--imp-lino); font-family: 'Jost', Futura, 'Century Gothic', sans-serif; color: var(--imp-tinta); }
.imp-cc__volver { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--imp-tinta); text-decoration: none; }
.imp-cc__volver svg { display: none; }
.imp-cc__volver:hover { color: var(--imp-arcilla-pro); }
.imp-cc__volver span::before { content: "← "; }
.imp-cc__logo { display: block; line-height: 0; }
.imp-cc__logo img { display: block; width: 170px; height: auto; }
.imp-cc__seguro { justify-self: end; display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 300; }
body.woocommerce-checkout:not(.woocommerce-order-received) .imp-cab-checkout { display: block; }
body.woocommerce-checkout:not(.woocommerce-order-received) .imp-cab { display: none; }

/* ---------- Checkout ---------- */
.woocommerce-checkout:not(.woocommerce-order-received) .imp-pagina .woocommerce { max-width: 1200px; margin: 0 auto; padding: 56px 24px 120px; box-sizing: border-box; }
.imp-co__titulo { margin: 0 0 40px; font-size: 34px; font-weight: 300; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; color: var(--imp-tinta); }
.woocommerce-checkout:not(.woocommerce-order-received) form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 420px); gap: 56px; align-items: start; }
.woocommerce-checkout form.checkout > .imp-pasos { grid-column: 1; grid-row: 1; }
.woocommerce-checkout form.checkout > .imp-resumen { grid-column: 2; grid-row: 1; position: sticky; top: 24px; display: flex; flex-direction: column; gap: 18px; box-sizing: border-box; padding: 28px; border: 1px solid var(--imp-arena); background: var(--imp-superficie); }
.woocommerce-checkout .imp-resumen #order_review_heading { margin: 0; font-size: 15px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; }
.woocommerce-checkout .imp-resumen table.shop_table { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: transparent; font-size: 15px; }
.woocommerce-checkout .imp-resumen table.shop_table th,
.woocommerce-checkout .imp-resumen table.shop_table td { padding: 14px 0; border: 0; border-bottom: 1px solid var(--imp-crudo); background: transparent; font-weight: 300; text-align: left; vertical-align: middle; }
.woocommerce-checkout .imp-resumen table.shop_table td.product-total,
.woocommerce-checkout .imp-resumen table.shop_table tfoot td { text-align: right; }
.woocommerce-checkout .imp-resumen table.shop_table .product-name { font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce-checkout .imp-resumen table.shop_table .product-quantity { display: none; }
.woocommerce-checkout .imp-resumen table.shop_table tfoot th { font-size: 15px; font-weight: 300; }
.woocommerce-checkout .imp-resumen table.shop_table tr.order-total th { padding-top: 16px; border-top: 1px solid var(--imp-arena); border-bottom: 0; font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.woocommerce-checkout .imp-resumen table.shop_table tr.order-total td { padding-top: 16px; border-top: 1px solid var(--imp-arena); border-bottom: 0; font-size: 28px; }
.woocommerce-checkout .imp-resumen table.shop_table tr.cart-discount td,
.woocommerce-checkout .imp-resumen table.shop_table tr.cart-discount th { color: var(--imp-arcilla-pro); }

/* ---------- Gracias ---------- */
.woocommerce-order-received .imp-pagina .woocommerce { max-width: 1100px; margin: 0 auto; padding: 0 24px 120px; box-sizing: border-box; }
.imp-gr-apertura { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 72px 0 24px; text-align: center; }
.imp-gr-apertura__iso { display: block; width: 60px; height: auto; }
.imp-gr-apertura__pedido { margin: 0; font-size: 11px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--imp-arcilla-pro); }
.imp-gr-apertura__titulo { margin: 0; font-size: 40px; font-weight: 300; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; color: var(--imp-tinta); }
.woocommerce-order-received .woocommerce-thankyou-order-received { margin: 0 auto 48px; max-width: 620px; padding: 0; border: 0; background: transparent; font-size: 18px; font-weight: 300; line-height: 1.7; text-align: center; color: var(--imp-tinta); }
.woocommerce-order-received .woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 12px 40px; margin: 0 0 40px; padding: 22px 24px; border: 0; background: var(--imp-crudo); list-style: none; font-size: 13px; font-weight: 300; }
.woocommerce-order-received .woocommerce-order-overview li { margin: 0; padding: 0; border: 0; float: none; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.woocommerce-order-received .woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title { margin: 0 0 18px; font-size: 18px; font-weight: 300; letter-spacing: .16em; text-transform: uppercase; }
.woocommerce-order-received table.shop_table { width: 100%; border: 0; border-collapse: collapse; background: var(--imp-superficie); font-size: 15px; }
.woocommerce-order-received table.shop_table th,
.woocommerce-order-received table.shop_table td { padding: 14px 18px; border: 0; border-bottom: 1px solid var(--imp-crudo); font-weight: 300; text-align: left; }

@media (max-width: 900px) {
	.woocommerce-checkout:not(.woocommerce-order-received) form.checkout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.woocommerce-checkout form.checkout > .imp-pasos { grid-row: 2; }
	.woocommerce-checkout form.checkout > .imp-resumen { grid-column: 1; grid-row: 1; position: static; }
}
@media (max-width: 767px) {
	.imp-cc { height: 64px; grid-template-columns: 56px minmax(0, 1fr) 56px; padding: 0 6px; }
	.imp-cc__volver span { display: none; }
	.imp-cc__volver svg { display: block; }
	.imp-cc__volver { justify-content: center; width: 44px; }
	.imp-cc__logo { justify-self: center; }
	.imp-cc__logo img { width: 140px; }
	.imp-cc__seguro { justify-content: center; width: 44px; }
	.imp-cc__seguro span { display: none; }
	.woocommerce-checkout:not(.woocommerce-order-received) .imp-pagina .woocommerce { padding: 28px 20px 72px; }
	.imp-co__titulo { margin-bottom: 24px; font-size: 26px; }
	.woocommerce-checkout form.checkout > .imp-resumen { padding: 20px; }
	.woocommerce-order-received .imp-pagina .woocommerce { padding: 0 20px 72px; }
	.imp-gr-apertura { padding: 40px 0 16px; gap: 14px; }
	.imp-gr-apertura__iso { width: 48px; }
	.imp-gr-apertura__titulo { font-size: 26px; letter-spacing: .12em; }
	.woocommerce-order-received .woocommerce-thankyou-order-received { margin-bottom: 32px; font-size: 16px; }
}


/* ---------- Checkout: paso anterior ---------- */
.imp-step .imp-prev { align-self: flex-start; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--imp-tinta); font-family: inherit; font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--imp-trigo); text-underline-offset: 6px; cursor: pointer; }
.imp-step .imp-prev:hover { background: transparent; color: var(--imp-arcilla-pro); text-decoration-color: var(--imp-arcilla-pro); }

/* ---------- Resumen del pedido: fotos, tipo y cupón ---------- */
.woocommerce-checkout .imp-resumen table.shop_table td.product-name { display: flex; align-items: center; gap: 14px; }
.imp-ro__foto { flex-shrink: 0; display: block; width: 56px; height: 70px; overflow: hidden; background: var(--imp-crudo); }
.imp-ro__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.imp-ro__txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.imp-ro__tipo { font-size: 10px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--imp-arcilla-pro); }
.imp-ro__nombre { font-size: 14px; font-weight: 300; letter-spacing: .08em; text-transform: uppercase; line-height: 1.35; }
.woocommerce-checkout .imp-resumen table.shop_table td.product-total { font-size: 15px; white-space: nowrap; }
.woocommerce-checkout .imp-resumen tr.imp-cupon-fila td { padding: 18px 0 14px; border-bottom: 0; text-align: left; }
.imp-cupon__campos { display: flex; gap: 8px; }
.imp-cupon__input { flex: 1; min-width: 0; box-sizing: border-box; min-height: 46px; padding: 0 14px; border: 1px solid var(--imp-trigo); border-radius: 0; background: var(--imp-lino); color: var(--imp-tinta); font-family: inherit; font-size: 14px; font-weight: 300; }
.imp-cupon__input::placeholder { color: var(--imp-topo); }
.imp-cupon .imp-cupon__aplicar { min-height: 46px; padding: 0 16px; border: 1px solid var(--imp-tinta); border-radius: 0; background: transparent; color: var(--imp-tinta); font-family: inherit; font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; }
.imp-cupon .imp-cupon__aplicar:hover { background: var(--imp-tinta); color: var(--imp-lino); }
.imp-cupon__msg { margin: 8px 0 0; font-size: 13px; font-weight: 300; color: var(--imp-tinta); }
.imp-cupon__msg:empty { display: none; }
.imp-cupon__msg--error { color: var(--imp-arcilla-pro); }
.woocommerce-checkout .imp-resumen .woocommerce-remove-coupon { margin-left: 8px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--imp-arcilla-pro); }

/* ---------- Forma de pago: tarjetas ---------- */
.imp-step--pago #payment ul.payment_methods { display: flex; flex-direction: column; gap: 12px; padding: 0 0 18px; border: 0; }
.imp-step--pago #payment ul.payment_methods li.wc_payment_method { position: relative; display: block; margin: 0; padding: 18px 20px 18px 56px; border: 1px solid var(--imp-arena); background: var(--imp-superficie); cursor: pointer; }
.imp-step--pago #payment ul.payment_methods li.wc_payment_method:has(input:checked) { background: var(--imp-crudo); border-color: var(--imp-tinta); }
.imp-step--pago #payment ul.payment_methods li input[type="radio"] { position: absolute; top: 22px; left: 20px; width: 18px; height: 18px; margin: 0; accent-color: var(--imp-tinta); }
.imp-step--pago #payment ul.payment_methods li label { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; font-size: 15px; font-weight: 400; cursor: pointer; }
.imp-step--pago #payment ul.payment_methods li label img { display: none; }
.imp-pago__off { font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--imp-arcilla-pro); }
.imp-step--pago #payment ul.payment_methods li div.payment_box { display: block !important; margin: 4px 0 0; padding: 0; border: 0; background: transparent; font-size: 13px; font-weight: 300; }
.imp-step--pago #payment ul.payment_methods li div.payment_box p { margin: 0; }
.imp-step--pago #payment ul.payment_methods li div.payment_box::before { display: none; }

/* ---------- Celular: "Ver tu pedido" que abre y cierra el resumen ---------- */
.imp-resumen-barra { display: none; }
@media (max-width: 900px) {
	.woocommerce-checkout .imp-resumen-barra { display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; width: 100%; min-height: 52px; margin: 0 0 28px; padding: 0 20px; border: 0; border-radius: 0; background: var(--imp-crudo); color: var(--imp-tinta); font-family: inherit; cursor: pointer; }
	.imp-resumen-barra__t { font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
	.imp-resumen-barra__total { font-size: 17px; font-weight: 300; }
	.woocommerce-checkout form.checkout > .imp-resumen { display: none; }
	.woocommerce-checkout form.checkout > .imp-resumen.imp-resumen--abierto { display: flex; }
}


/* ---------- Contraseña: "VER" dentro del campo (como el diseño) ---------- */
.imp-step--cuenta .woocommerce-input-wrapper { position: relative; display: block; }
.imp-step--cuenta .woocommerce-input-wrapper input#account_password { padding-right: 96px; }
.imp-step--cuenta .show-password-input { display: none !important; }
.imp-step--cuenta .woocommerce-input-wrapper .imp-ver {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 84px;
	height: 50px;
	min-height: 50px;
	padding: 0;
	border: 0;
	border-left: 1px solid var(--imp-trigo);
	border-radius: 0;
	background: transparent;
	color: var(--imp-tinta);
	font-family: inherit;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
}
.imp-step--cuenta .woocommerce-input-wrapper .imp-ver:hover { background: var(--imp-crudo); color: var(--imp-arcilla-pro); }
.imp-step--cuenta .imp-reglas { margin-top: 12px; }

/* ---------- Mercado Pago: el texto largo del plugin se reemplaza por el del diseño ---------- */
.imp-step--pago #payment li.payment_method_woo-mercado-pago-basic div.payment_box > * { display: none !important; }
.imp-step--pago #payment li.payment_method_woo-mercado-pago-basic div.payment_box::after { content: "Tarjeta de crédito, débito o dinero en cuenta"; font-size: 13px; font-weight: 300; }

/* ---------- En el checkout no va el footer: se pasa de a un paso, sin distracciones ---------- */
body.woocommerce-checkout:not(.woocommerce-order-received) .elementor-location-footer { display: none; }

/* Botón final: arcilla, como el diseño */
.woocommerce-checkout #place_order { border-color: var(--imp-arcilla-btn); background: var(--imp-arcilla-btn); color: var(--imp-lino); }
.woocommerce-checkout #place_order:hover { border-color: var(--imp-arcilla-pro); background: var(--imp-arcilla-pro); color: var(--imp-lino); }

/* Los campos del checkout ocupan todo el ancho de su columna */
.imp-step .form-row { align-items: stretch; }
.imp-step .form-row .woocommerce-input-wrapper { width: 100%; }
.imp-step .form-row input.input-text, .imp-step .form-row select { width: 100%; max-width: none; }
.woocommerce form .imp-step .form-row.form-row-first,
.woocommerce form .imp-step .form-row.form-row-last,
.woocommerce form .imp-step .form-row.form-row-wide { width: 100% !important; float: none !important; clear: both; }

/* ---------- Página del carrito (el carrito lateral es el principal; esta es la versión completa) ---------- */
.woocommerce-cart .imp-pagina .woocommerce { max-width: 1200px; margin: 0 auto; padding: 56px 24px 120px; box-sizing: border-box; font-family: 'Jost', Futura, 'Century Gothic', sans-serif; color: var(--imp-tinta); }
.woocommerce-cart .imp-pagina table.shop_table { width: 100%; margin: 0 0 28px; border: 0; border-collapse: collapse; background: transparent; }
.woocommerce-cart .imp-pagina table.shop_table th { padding: 14px 12px; border: 0; border-bottom: 1px solid var(--imp-arena); background: transparent; font-size: 11px; font-weight: 500; letter-spacing: .18em; text-align: left; text-transform: uppercase; }
.woocommerce-cart .imp-pagina table.shop_table td { padding: 18px 12px; border: 0; border-bottom: 1px solid var(--imp-crudo); background: transparent; font-size: 15px; font-weight: 300; vertical-align: middle; }
.woocommerce-cart .imp-pagina table.cart img { display: block; width: 72px; height: auto; }
.woocommerce-cart .imp-pagina table.cart td.product-name a { color: var(--imp-tinta); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.woocommerce-cart .imp-pagina a.remove { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: transparent; color: var(--imp-tinta) !important; font-size: 18px; font-weight: 300; line-height: 1; }
.woocommerce-cart .imp-pagina a.remove:hover { background: var(--imp-crudo); color: var(--imp-arcilla-pro) !important; }
.woocommerce-cart .imp-pagina td.actions { padding: 18px 0 0; }
.woocommerce-cart .imp-pagina td.actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; float: left; }
.woocommerce-cart .imp-pagina td.actions .coupon label { display: none; }
.woocommerce-cart .imp-pagina td.actions input.input-text { box-sizing: border-box; min-height: 46px; width: 220px; padding: 0 14px; border: 1px solid var(--imp-trigo); border-radius: 0; background: var(--imp-lino); font-family: inherit; font-size: 14px; font-weight: 300; }
.woocommerce-cart .imp-pagina td.actions > button.button { float: right; }
.woocommerce-cart .imp-pagina .cart_totals { float: none; width: 100%; max-width: 420px; margin-left: auto; padding: 28px; border: 1px solid var(--imp-arena); background: var(--imp-superficie); box-sizing: border-box; }
.woocommerce-cart .imp-pagina .cart_totals h2 { margin: 0 0 18px; font-size: 15px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; }
.woocommerce-cart .imp-pagina .cart_totals table.shop_table th { font-size: 12px; }
.woocommerce-cart .imp-pagina .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; min-height: 54px; margin: 0; font-size: 12px; letter-spacing: .22em; }
.woocommerce-cart .imp-pagina .cart-empty { margin: 0 0 24px; font-size: 18px; font-weight: 300; }
.woocommerce-cart .imp-pagina .return-to-shop { margin: 0; }
@media (max-width: 767px) {
	.woocommerce-cart .imp-pagina .woocommerce { padding: 28px 20px 72px; }
	.woocommerce-cart .imp-pagina table.shop_table_responsive tr { display: block; margin: 0 0 16px; border: 1px solid var(--imp-arena); background: var(--imp-superficie); }
	.woocommerce-cart .imp-pagina table.shop_table_responsive td { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--imp-crudo); text-align: right; }
	.woocommerce-cart .imp-pagina table.shop_table_responsive td::before { color: var(--imp-tinta); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
	.woocommerce-cart .imp-pagina table.cart td.product-thumbnail { display: none; }
	.woocommerce-cart .imp-pagina td.actions .coupon, .woocommerce-cart .imp-pagina td.actions > button.button { float: none; width: 100%; }
	.woocommerce-cart .imp-pagina td.actions .coupon input.input-text { flex: 1; width: auto; }
	.woocommerce-cart .imp-pagina td.actions > button.button { margin-top: 12px; }
}
.woocommerce-cart .imp-pagina td.actions .coupon input#coupon_code { width: 220px !important; flex: none; }


/* Con la sesión iniciada el email no se edita: solo se avisa a dónde llega la confirmación */
.imp-step .form-row.imp-oculto { display: none !important; }
.imp-step .imp-aviso--email { grid-column: 1 / -1; margin: 0; font-size: 14px; font-weight: 300; color: var(--imp-topo); }
