/*
 * JL Checkout Mobile — Checkout optimizado para móvil
 * Layout de 1 columna, order summary plegable, botones grandes.
 */

/* Evita que el skin global de Oxygen duplique la marca de WooCommerce Blocks. */
.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	position: static !important;
	top: auto !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 4px !important;
	background: #fff !important;
	text-indent: 0 !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}

.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]::before,
.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]::after {
	content: none !important;
	display: none !important;
}

.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: #27272d !important;
	pointer-events: none !important;
}

/* Resumen del pedido: productos más legibles en checkout. */
.woocommerce-checkout .wc-block-components-order-summary-item__description {
	color: #27272d !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}

.woocommerce-checkout .wc-block-components-product-name {
	display: block;
	color: #27272d !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	text-transform: none !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
	color: #27272d !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	white-space: nowrap;
}

.woocommerce-checkout .wc-block-components-product-metadata,
.woocommerce-checkout .wc-block-components-product-metadata__description,
.woocommerce-checkout .wc-block-components-product-metadata__description p {
	color: rgba(39, 39, 45, 0.72) !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
}

.woocommerce-checkout .wc-block-components-product-metadata__description p {
	margin-top: 4px !important;
}

@media (max-width: 767px) {
	.woocommerce-checkout .wp-block-woocommerce-checkout,
	.woocommerce-checkout .wc-block-checkout,
	.woocommerce-checkout .wc-block-components-main,
	.woocommerce-checkout .wc-block-components-sidebar {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		box-sizing: border-box;
		overflow-x: hidden;
	}

	.woocommerce-checkout .wp-block-woocommerce-checkout {
		padding-top: 10px !important;
	}

	.woocommerce-checkout .wc-block-checkout {
		display: flex !important;
		flex-direction: column !important;
		gap: 0;
		color: #27272d;
	}

	.woocommerce-checkout .wc-block-components-main {
		order: 1;
	}

	.woocommerce-checkout .wc-block-components-sidebar {
		order: 2;
		margin-top: 22px !important;
	}

	/* ─── Layout: 1 columna en móvil ─────────────────────────────────── */
	.woocommerce-checkout .col2-set {
		display: flex;
		flex-direction: column;
	}

	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2 {
		width: 100% !important;
		float: none !important;
		clear: both;
		padding: 0;
	}

	.woocommerce-checkout .wc-block-components-checkout-step {
		margin: 0 !important;
		padding: 20px 16px !important;
		border-bottom: 1px solid rgba(39, 39, 45, 0.10);
		box-sizing: border-box;
	}

	.woocommerce-checkout .wc-block-components-checkout-step__heading {
		margin: 0 0 14px !important;
	}

	.woocommerce-checkout .wc-block-components-checkout-step__title,
	.woocommerce-checkout .wc-block-components-title {
		color: #27272d !important;
		font-size: 21px !important;
		font-weight: 500 !important;
		line-height: 1.22 !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
	}

	/* Campos de formulario en 1 columna completa */
	.woocommerce-billing-fields .form-row,
	.woocommerce-shipping-fields .form-row,
	.woocommerce-additional-fields .form-row {
		float: none !important;
		width: 100% !important;
		clear: both !important;
		padding: 0 !important;
	}

	.woocommerce-checkout .wc-block-components-address-form,
	.woocommerce-checkout .wc-block-components-checkout-step__container,
	.woocommerce-checkout .wc-block-components-checkout-step__content {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.woocommerce-checkout .wc-block-components-address-form > *,
	.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input,
	.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox,
	.woocommerce-checkout .wc-block-components-address-form .wc-block-components-country-input,
	.woocommerce-checkout .wc-block-components-address-form .wc-block-components-state-input {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		box-sizing: border-box !important;
	}

	.woocommerce-checkout .wc-block-components-text-input,
	.woocommerce-checkout .wc-block-components-combobox,
	.woocommerce-checkout .wc-block-components-country-input,
	.woocommerce-checkout .wc-block-components-state-input {
		margin-bottom: 11px !important;
	}

	.woocommerce-checkout .wc-block-components-text-input input,
	.woocommerce-checkout .wc-block-components-combobox input,
	.woocommerce-checkout .wc-block-components-combobox select,
	.woocommerce-checkout .wc-block-components-country-input select,
	.woocommerce-checkout .wc-block-components-state-input select {
		width: 100% !important;
		min-height: 52px !important;
		border-color: rgba(39, 39, 45, 0.26) !important;
		border-radius: 2px !important;
		background: #fff !important;
		color: #27272d !important;
		font-size: 16px !important;
		box-sizing: border-box !important;
	}

	.woocommerce-checkout .wc-block-components-text-input label,
	.woocommerce-checkout .wc-block-components-combobox label {
		color: rgba(39, 39, 45, 0.72) !important;
		font-size: 13px !important;
	}

	/* ─── Order summary plegable ──────────────────────────────────────── */
	#order_review_heading {
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px 18px;
		background: #f7f5f3;
		border: 1px solid rgba(178, 146, 71, 0.22);
		border-radius: 4px 4px 0 0;
		margin-bottom: 0;
		font-size: 16px;
		font-weight: 700;
		color: #241f1b;
		user-select: none;
		-webkit-user-select: none;
		-webkit-tap-highlight-color: transparent;
	}

	#order_review_heading::after {
		content: "▾";
		display: inline-block;
		font-size: 18px;
		color: #9b7c39;
		transition: transform 0.22s ease;
		flex-shrink: 0;
	}

	#order_review_heading.jl-is-open::after {
		transform: rotate(180deg);
	}

	#order_review {
		border: 1px solid rgba(178, 146, 71, 0.22);
		border-top: none;
		border-radius: 0 0 4px 4px;
		overflow: hidden;
		padding: 0 4px;
	}

	.woocommerce-checkout .wc-block-components-order-summary,
	.woocommerce-checkout .wc-block-components-checkout-order-summary-block {
		width: 100% !important;
		max-width: 100% !important;
		border: 1px solid rgba(178, 146, 71, 0.18) !important;
		border-radius: 0 !important;
		background: #fff !important;
		box-sizing: border-box;
		overflow: hidden;
	}

	.woocommerce-checkout .wc-block-components-order-summary__button-text,
	.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-panel__button {
		color: #27272d !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
	}

	.woocommerce-checkout .wc-block-components-order-summary-item {
		display: grid !important;
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 12px;
		padding: 14px 16px !important;
	}

	.woocommerce-checkout .wc-block-components-order-summary-item__image,
	.woocommerce-checkout .wc-block-components-order-summary-item__image img {
		width: 56px !important;
		height: 56px !important;
		object-fit: contain;
	}

	.woocommerce-checkout .wc-block-components-order-summary-item__description,
	.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
	.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
		min-width: 0;
		max-width: 100%;
		overflow: hidden;
	}

	.woocommerce-checkout .wc-block-components-product-name,
	.woocommerce-checkout .wc-block-components-order-summary-item__description p {
		white-space: normal !important;
		overflow-wrap: break-word;
		word-break: normal;
	}

	.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-metadata {
		display: none !important;
	}

	/* ─── Botón "Realizar pedido" — full width y altura generosa ─────── */
	#place_order {
		width: 100% !important;
		min-height: 58px !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		letter-spacing: 0.04em !important;
	}

	.woocommerce-checkout .wc-block-components-checkout-place-order-button,
	.woocommerce-checkout .wc-block-components-checkout-place-order-button[type="button"],
	.woocommerce-checkout .wc-block-components-checkout-place-order-button[type="submit"] {
		width: 100% !important;
		min-height: 58px !important;
		border: 1px solid #27272d !important;
		border-radius: 0 !important;
		background: #27272d !important;
		color: #fff !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		letter-spacing: 0.02em !important;
		text-transform: none !important;
	}

	/* ─── Inputs de checkout: tamaño táctil ──────────────────────────── */
	.woocommerce-checkout input[type="text"],
	.woocommerce-checkout input[type="email"],
	.woocommerce-checkout input[type="tel"],
	.woocommerce-checkout input[type="number"],
	.woocommerce-checkout input[type="password"],
	.woocommerce-checkout select,
	.woocommerce-checkout textarea {
		min-height: 48px;
		padding: 12px 14px;
	}

	/* ─── Checkboxes: área de toque suficiente ────────────────────────── */
	.woocommerce-checkout .woocommerce-form__label-for-checkbox {
		display: flex;
		align-items: flex-start;
		gap: 12px;
		min-height: 44px;
		padding: 10px 0;
		line-height: 1.4;
	}

	.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"] {
		width: 22px;
		height: 22px;
		flex-shrink: 0;
		margin-top: 1px;
	}

	.woocommerce-checkout .wc-block-components-checkbox {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 12px 0 !important;
		color: rgba(39, 39, 45, 0.82);
		font-size: 14px !important;
		line-height: 1.45 !important;
		box-sizing: border-box;
	}

	.woocommerce-checkout .wc-block-components-checkbox label {
		display: inline-flex !important;
		align-items: flex-start !important;
		gap: 12px;
		width: 100%;
		min-height: 44px;
		color: inherit !important;
		font-size: inherit !important;
		line-height: inherit !important;
		box-sizing: border-box;
	}

	.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
		flex: 0 0 22px;
		width: 22px !important;
		height: 22px !important;
		min-width: 22px !important;
		min-height: 22px !important;
		margin: 0 !important;
		padding: 0 !important;
		accent-color: #b29247;
	}

	.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark {
		width: 16px !important;
		height: 14px !important;
		margin-top: 3px !important;
		margin-left: 3px !important;
	}

	.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__label {
		flex: 1 1 auto;
		min-width: 0;
		color: inherit !important;
		font-size: inherit !important;
		line-height: inherit !important;
		white-space: normal !important;
		overflow-wrap: break-word;
	}

	.woocommerce-checkout .wc-block-checkout__use-address-for-billing label {
		display: flex !important;
		align-items: center !important;
		gap: 9px;
		min-height: auto;
		padding: 11px 12px;
		border: 1px solid rgba(178, 146, 71, 0.24);
		background: #f8f6f3 !important;
		color: #27272d !important;
	}

	.woocommerce-checkout .wc-block-checkout__use-address-for-billing.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
	.woocommerce-checkout .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox__mark {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: 0 !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	.woocommerce-checkout .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox__label::before {
		content: "✓";
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 19px;
		height: 19px;
		margin-right: 8px;
		border-radius: 50%;
		background: #a18143;
		color: #fff;
		font-size: 12px;
		font-weight: 700;
		line-height: 1;
	}

	/* ─── Texto de términos y privacidad ─────────────────────────────── */
	.woocommerce-terms-and-conditions-wrapper {
		font-size: 14px;
		line-height: 1.55;
	}

	/* ─── Coupon: campo + botón en fila ──────────────────────────────── */
	.woocommerce-checkout .checkout_coupon .form-row {
		display: flex;
		gap: 10px;
		align-items: flex-start;
	}

	.woocommerce-checkout .checkout_coupon .form-row input[type="text"] {
		flex: 1;
	}

	.woocommerce-checkout .checkout_coupon .form-row button {
		flex-shrink: 0;
		min-height: 48px;
	}

	/* ─── Payment methods: mejor legibilidad ─────────────────────────── */
	.woocommerce-checkout #payment ul.payment_methods li {
		padding: 14px 16px;
	}

	.woocommerce-checkout #payment ul.payment_methods label {
		font-size: 15px;
		display: flex;
		align-items: center;
		gap: 12px;
		min-height: 44px;
	}

	.woocommerce-checkout .wc-block-components-radio-control,
	.woocommerce-checkout .wc-block-checkout__payment-method,
	.woocommerce-checkout .wc-block-components-notice-banner {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.woocommerce-checkout .wc-block-components-radio-control__option {
		position: relative;
		min-height: 54px;
		padding: 14px 14px 14px 48px !important;
		border: 1px solid rgba(39, 39, 45, 0.18);
		background: #fff;
	}

	.woocommerce-checkout .wc-block-components-radio-control__input {
		position: absolute !important;
		top: 50%;
		left: 16px;
		margin: 0 !important;
		transform: translateY(-50%);
	}

	.woocommerce-checkout .wc-block-components-radio-control__option-layout,
	.woocommerce-checkout .wc-block-components-radio-control__label-group {
		width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.woocommerce-checkout .wc-block-components-radio-control__label-group {
		display: block !important;
	}

	.woocommerce-checkout .wc-block-components-radio-control__label {
		display: block !important;
		min-width: 0;
		white-space: normal !important;
	}

	.woocommerce-checkout .wc-block-components-radio-control__secondary-label {
		display: block !important;
		position: static !important;
		visibility: visible !important;
		height: auto !important;
		max-height: none !important;
		margin-top: 4px;
		margin-left: 0 !important;
		color: #a18143;
		opacity: 1 !important;
		font-weight: 700;
		overflow: visible !important;
		white-space: nowrap;
	}

	.woocommerce-checkout .wc-block-components-notice-banner {
		width: calc(100vw - 32px) !important;
		margin: 12px 0 !important;
		padding: 14px 14px !important;
		border-radius: 2px !important;
		font-size: 14px !important;
		line-height: 1.45 !important;
		display: grid !important;
		grid-template-columns: 24px minmax(0, 1fr);
		gap: 10px;
		align-items: flex-start;
	}

	.woocommerce-checkout .wc-block-components-notice-banner__content {
		min-width: 0;
		max-width: 260px;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: break-word;
	}

	.woocommerce-checkout .wc-block-components-notice-banner__content * {
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: break-word;
	}

	.woocommerce-checkout .wc-block-components-totals-wrapper {
		padding: 14px 16px !important;
		border-color: rgba(39, 39, 45, 0.10) !important;
	}

	.woocommerce-checkout .wc-block-components-totals-item {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
		align-items: center;
		width: 100%;
	}

	.woocommerce-checkout .wc-block-components-totals-item__label,
	.woocommerce-checkout .wc-block-components-totals-item__value {
		min-width: 0;
		max-width: 100%;
	}

	.woocommerce-checkout .wc-block-components-totals-item__value {
		text-align: right;
		white-space: nowrap;
	}

	.woocommerce-checkout .wc-block-checkout__terms {
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
		padding: 16px !important;
		color: rgba(39, 39, 45, 0.82);
		font-size: 13px !important;
		line-height: 1.55 !important;
		box-sizing: border-box;
		overflow: hidden;
	}

	.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox__label {
		display: block;
		width: 300px !important;
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

	.woocommerce-checkout .wc-block-checkout__terms a {
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: break-word;
	}

	.woocommerce-checkout .wc-block-checkout__terms * {
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: break-word;
	}
}
