.bio-commerce-account-section {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	padding: 28px;
}

/* Presentación del checkout solicitada para Bioquímica: bloques claros y opciones seleccionables. */
.woocommerce-checkout .bio-checkout-form { gap: 22px; }
.woocommerce-checkout .bio-checkout-section { border-color: #d9edf4; box-shadow: 0 5px 18px rgba(0,0,0,.04); padding: 24px 26px; }
.woocommerce-checkout .bio-checkout-eyebrow { align-items: center; display: flex; gap: 8px; }
.woocommerce-checkout .bio-checkout-eyebrow::before { align-items: center; background: #2a9fd1; border-radius: 50%; color: #fff; content: '✓'; display: inline-flex; font-size: 10px; height: 20px; justify-content: center; letter-spacing: 0; width: 20px; }
.woocommerce-checkout .bio-checkout-section h3 { color: #111827; font-size: 21px; }
.woocommerce-checkout .bio-checkout-section:first-child .bio-checkout-grid > p { background: #fff; border: 1px solid #d9edf4; border-radius: 10px; padding: 14px; }
.woocommerce-checkout .bio-checkout-section:first-child .bio-checkout-grid > p::before { color: #2a9fd1; content: '●'; display: block; font-size: 10px; margin-bottom: 7px; }
.woocommerce-checkout .bio-checkout-choice-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.woocommerce-checkout .bio-checkout-choice-row label { background: #fff; border: 1px solid #cfdde2; border-radius: 9px; cursor: pointer; min-height: 54px; padding: 13px 15px; transition: .18s ease; }
.woocommerce-checkout .bio-checkout-choice-row label:has(input:checked) { background: #eaf7fc; border-color: #2a9fd1; box-shadow: 0 0 0 1px #2a9fd1 inset; }
.woocommerce-checkout .bio-checkout-choice-row input { height: 17px; width: 17px; }
.woocommerce-checkout .bio-checkout-panel { background: #f7fbfd; border: 1px solid #d9edf4; border-radius: 9px; padding: 17px; }
.woocommerce-checkout .bio-checkout-panel[data-bio-document-fields] > .bio-checkout-panel { background: transparent; border: 0; border-radius: 0; padding: 0; }
.woocommerce-checkout [data-bio-document-panel][hidden] { display: none !important; }
.woocommerce-checkout .bio-checkout-tax-common-fields { margin-top: 14px; }
.woocommerce-checkout .bio-checkout-cutoff { display: none !important; }

/* Factura: Razón social/RUT, Giro/Actividad y OC/Glosa en tres filas. Los
 * campos comunes conservan un único input en el DOM para evitar valores
 * duplicados al enviar el checkout; CSS los integra en la grilla de factura. */
.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] {
	display: grid;
	gap: 0 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] > [data-bio-document-panel="factura"]:not([hidden]),
.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] > .bio-checkout-tax-common-fields {
	display: contents;
}
.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] > [data-bio-document-panel="factura"] > .bio-checkout-grid {
	display: contents;
}
.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] p:has(> #bio_business_name) { order: 1; }
.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] p:has(> #bio_tax_id) { order: 2; }
.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] p:has(> #bio_business_turn) { order: 3; }
.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] p:has(> #bio_business_activity) { order: 4; }
.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] p:has(> #bio_orden_compra) { order: 5; }
.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] p:has(> #bio_tax_glosa) { order: 6; }

.woocommerce-checkout .bio-checkout-help { background: #eaf7fc; border-radius: 7px; padding: 10px 12px; }
.woocommerce-checkout #payment { border-top: 2px solid #2a9fd1; }
.woocommerce-checkout #payment .bio-checkout-payment-title { color: #111827; font-size: 20px; line-height: 1.25; margin: 0 0 18px; }
.woocommerce-checkout #place_order { background: #2a9fd1; border-color: #2a9fd1; color: #fff; }
.woocommerce-checkout #place_order:hover { background: #238ec1; border-color: #238ec1; color: #fff; }
.woocommerce-checkout .e-coupon-box { display: none !important; }
.woocommerce-checkout .bio-transfer-proof { background: #f7fbfd; border: 1px solid #d9edf4; border-radius: 9px; margin: 0 0 16px; padding: 16px; }
.woocommerce-checkout .bio-bacs-details { background: #f7fbfd; border: 1px solid #d9edf4; border-radius: 9px; margin-top: 14px; padding: 14px; }
.woocommerce-checkout .bio-bacs-details h4 { color: #111827; font-size: 16px; margin: 0 0 6px; }
.woocommerce-checkout .bio-bacs-details > p { color: #64747a; font-size: 13px; line-height: 1.5; margin: 0 0 12px; }
.woocommerce-checkout .bio-bacs-details__account + .bio-bacs-details__account { border-top: 1px solid #d9edf4; margin-top: 10px; padding-top: 10px; }
.woocommerce-checkout .bio-bacs-details__account ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-checkout .bio-bacs-details__table { border: 0; border-collapse: collapse; border-spacing: 0; table-layout: fixed; width: 100%; }
.woocommerce-checkout .bio-bacs-details__table tr + tr { border-top: 1px solid #e6f0f3; }
.woocommerce-checkout .bio-bacs-details__table th,
.woocommerce-checkout .bio-bacs-details__table td { border: 0; font-size: 12px; line-height: 1.35; padding: 7px 0; vertical-align: top; }
.woocommerce-checkout .bio-bacs-details__table th { color: #64747a; font-weight: 500; padding-right: 10px; text-align: left; width: 42%; }
.woocommerce-checkout .bio-bacs-details__table td { color: #263238; font-size: 12px; font-weight: 700; overflow-wrap: anywhere; text-align: right; width: 58%; }
.woocommerce-checkout .bio-transfer-proof[hidden] { display: none !important; }
.woocommerce-checkout .bio-transfer-proof h3 { font-size: 17px; margin: 0 0 8px; }
.woocommerce-checkout .bio-transfer-proof p { margin: 0 0 10px; }
.woocommerce-checkout .bio-transfer-proof label { display: block; font-weight: 700; margin-bottom: 6px; }
.woocommerce-checkout .bio-transfer-proof input[type="file"] { background: #fff; border: 1px solid #cfdde2; border-radius: 6px; box-sizing: border-box; display: block; padding: 9px; width: 100%; }
.woocommerce-checkout .bio-transfer-proof__help { color: #64747a; font-size: 12px; }
.woocommerce-checkout .bio-transfer-proof__progress { align-items: center; background: #edf7fb; border-radius: 7px; display: flex; gap: 10px; margin: 10px 0; padding: 9px 11px; }
.woocommerce-checkout .bio-transfer-proof__progress progress { appearance: none; background: #d7e8ee; border: 0; border-radius: 999px; flex: 1; height: 8px; min-width: 90px; overflow: hidden; }
.woocommerce-checkout .bio-transfer-proof__progress progress::-webkit-progress-bar { background: #d7e8ee; border-radius: 999px; }
.woocommerce-checkout .bio-transfer-proof__progress progress::-webkit-progress-value { background: #2a9fd1; border-radius: 999px; transition: width .2s ease; }
.woocommerce-checkout .bio-transfer-proof__progress progress::-moz-progress-bar { background: #2a9fd1; border-radius: 999px; }
.woocommerce-checkout .bio-transfer-proof__progress span { color: #42606c; font-size: 12px; white-space: nowrap; }
.woocommerce-checkout .bio-transfer-proof__progress.is-indeterminate progress { animation: bio-transfer-progress 1.3s linear infinite; background: linear-gradient(90deg, #d7e8ee 20%, #2a9fd1 50%, #d7e8ee 80%); background-size: 200% 100%; }
.woocommerce-checkout .bio-transfer-proof__progress.is-indeterminate progress::-webkit-progress-bar { background: transparent; }
.woocommerce-checkout .bio-transfer-proof__progress.is-indeterminate progress::-webkit-progress-value { background: transparent; }
.woocommerce-checkout .bio-transfer-proof__progress.is-indeterminate progress::-moz-progress-bar { background: transparent; }
.woocommerce-checkout .bio-transfer-proof__status { color: #147b4b; font-weight: 700; }
.woocommerce-checkout .bio-transfer-proof__status.is-error { color: #b42318; }
.woocommerce-checkout .bio-transfer-proof__status.is-success { color: #147b4b; }
.woocommerce-checkout .bio-transfer-proof__preview { align-items: flex-start; background: #fff; border: 1px solid #d9edf4; border-radius: 7px; display: flex; flex-direction: column; gap: 8px; margin: 8px 0 14px; padding: 10px; }
.woocommerce-checkout .bio-transfer-proof__preview-content { align-items: center; display: flex; flex-direction: column; gap: 8px; max-width: 100%; width: 100%; }
.woocommerce-checkout .bio-transfer-proof__preview-content img { border: 1px solid #d9e5e9; border-radius: 5px; display: block; max-height: 180px; max-width: 240px; object-fit: contain; width: auto; }
.woocommerce-checkout .bio-transfer-proof__preview-content iframe { border: 1px solid #d9e5e9; border-radius: 5px; height: 190px; max-width: 100%; width: 360px; }
.woocommerce-checkout .bio-transfer-proof__preview-content a { color: #2a9fd1; font-size: 12px; font-weight: 700; }
.woocommerce-checkout .bio-transfer-proof__preview-name { color: #425b66; font-size: 12px; margin: 0 !important; overflow-wrap: anywhere; }
.woocommerce-checkout .bio-transfer-proof__document-icon { align-items: center; background: #eaf7fc; border: 1px solid #b8dce9; border-radius: 5px; color: #2a9fd1; display: flex; font-size: 13px; font-weight: 800; height: 54px; justify-content: center; letter-spacing: .05em; width: 80px; }
.woocommerce-checkout .bio-transfer-proof__change { background: transparent; border: 1px solid #2a9fd1; border-radius: 5px; color: #2a9fd1; cursor: pointer; font-size: 12px; font-weight: 700; padding: 7px 10px; }
.woocommerce-checkout .bio-transfer-proof__change:hover { background: #eaf7fc; }
.woocommerce-checkout .bio-transfer-proof__review { background: #eaf7fc; border-left: 4px solid #f7a71b; color: #425b66; font-size: 13px; padding: 10px 12px; }
.woocommerce-checkout #payment[data-bio-checkout-lock-message] { position: relative; }
.woocommerce-checkout #payment[data-bio-checkout-lock-message]:hover::after { background: #1f2933; border-radius: 6px; bottom: 72px; color: #fff; content: attr(data-bio-checkout-lock-message); font-size: 12px; line-height: 1.4; max-width: 360px; padding: 9px 11px; position: absolute; right: 0; width: max-content; z-index: 10; }

@keyframes bio-transfer-progress { from { background-position: 100% 0; } to { background-position: -100% 0; } }

@media (max-width: 700px) {
	.woocommerce-checkout .bio-checkout-section { padding: 18px 16px; }
	.woocommerce-checkout .bio-checkout-choice-row { grid-template-columns: 1fr; }
	.woocommerce-checkout [data-bio-document-fields][data-bio-active-document="factura"] { grid-template-columns: 1fr; }
}

.bio-commerce-eyebrow {
	color: #2a9fd1;
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .14em;
	margin-bottom: 8px;
}

.bio-commerce-account-section h2 {
	margin: 0 0 10px;
}

.bio-commerce-account-section > p {
	color: #777;
}

.bio-commerce-table-wrap {
	overflow-x: auto;
}

.bio-commerce-table-wrap table {
	min-width: 620px;
}

.bio-commerce-saved-carts {
	display: grid;
	gap: 12px;
}

.bio-commerce-saved-cart {
	align-items: center;
	border: 1px solid #e5e5e5;
	border-radius: 9px;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding: 15px 17px;
}

.bio-commerce-saved-cart strong,
.bio-commerce-saved-cart small {
	display: block;
}

.bio-commerce-saved-cart small {
	color: #888;
	margin-top: 5px;
}

.bio-commerce-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.bio-commerce-actions form {
	margin: 0;
}

.bio-commerce-save-cart {
	align-items: center;
	background: #f5fbfd;
	border: 1px solid #d9edf4;
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0;
	padding: 12px;
}

.bio-commerce-save-cart input[type="text"] {
	border: 1px solid #cfdde2;
	border-radius: 5px;
	min-height: 38px;
	padding: 7px 10px;
}

.bio-commerce-save-cart button,
.bio-commerce-tax-fields select,
.bio-commerce-tax-fields input {
	border-radius: 5px;
}

.bio-commerce-save-cart button {
	background: #2a9fd1;
	border: 0;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	min-height: 38px;
	padding: 7px 14px;
}

.bio-commerce-login-note,
.bio-commerce-empty,
.bio-commerce-consent-status {
	background: #f7fbfd;
	border-radius: 7px;
	color: #64747a;
	padding: 12px 14px;
}

.bio-commerce-consent {
	font-size: 13px;
	line-height: 1.5;
}

.bio-commerce-consent label {
	display: block;
}

.bio-commerce-account-consent {
	border: 1px solid #e5e5e5;
	border-radius: 7px;
	margin-top: 20px;
	padding: 14px 16px;
}

.bio-commerce-account-consent legend {
	font-weight: 700;
	padding: 0 5px;
}

.bio-commerce-tax-fields {
	border-top: 1px solid #e5e5e5;
	margin-top: 24px;
	padding-top: 18px;
}

.bio-commerce-tax-fields h3 {
	margin-top: 0;
}

.bio-commerce-tax-fields::after {
	clear: both;
	content: '';
	display: table;
}

.bio-commerce-tax-fields input,
.bio-commerce-tax-fields select {
	box-sizing: border-box;
	min-height: 42px;
	padding: 8px 10px;
	width: 100%;
}

.bio-checkout-form { display:grid; gap:18px; margin:0 0 28px; }
.bio-checkout-section { background:#fff; border:1px solid #e5e9e7; border-radius:12px; padding:22px 24px; }
.bio-checkout-eyebrow { color:#2a9fd1; display:block; font-size:11px; font-weight:800; letter-spacing:.12em; margin-bottom:6px; }
.bio-checkout-section h3 { margin:0 0 16px; font-size:20px; }
.bio-checkout-section h4 { margin:0 0 8px; }
.bio-checkout-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.bio-checkout-section p { margin:0 0 14px; }
.bio-checkout-section p:last-child { margin-bottom:0; }
.bio-checkout-section label { color:#263238; display:block; font-size:13px; font-weight:600; }
.bio-checkout-section input:not([type="radio"]), .bio-checkout-section select, .bio-checkout-section textarea { background:#fff; border:1px solid #cfdde2; border-radius:6px; box-sizing:border-box; display:block; font:inherit; font-weight:400; margin-top:6px; min-height:42px; padding:9px 11px; width:100%; }
.bio-checkout-section textarea { min-height:76px; resize:vertical; }
.bio-checkout-choice-row { display:flex; flex-wrap:wrap; gap:18px; margin:0 0 16px; }
.bio-checkout-choice-row label { align-items:center; display:flex; gap:7px; }
.bio-checkout-choice-row input { accent-color:#2a9fd1; }
.bio-checkout-panel { background:#f7fbfd; border-radius:8px; padding:14px; }
.bio-checkout-panel[hidden] { display:none; }
.bio-checkout-help { color:#64747a; font-size:12px; line-height:1.5; }
.bio-shipping-selection-status { background:#fff4e5; border-left:4px solid #f7a71b; color:#805b16; font-size:13px; line-height:1.45; padding:10px 12px; }
.bio-shipping-selection-status[hidden] { display:none; }
.bio-checkout-shipping-options { background:#fff; border:1px solid #cfe5ed; border-radius:8px; margin:0 0 14px; padding:12px; }
.bio-checkout-shipping-options[hidden] { display:none; }
.bio-checkout-shipping-options__title { color:#263238; font-size:13px; font-weight:700; margin:0 0 8px !important; }
.bio-checkout-shipping-option { align-items:center; background:#fff !important; border:1px solid #cfdde2 !important; border-radius:9px; color:#263238 !important; cursor:pointer; display:flex; font:inherit; font-size:13px; gap:10px; justify-content:flex-start; margin:0 0 8px; min-height:66px; padding:10px 12px; text-align:left; width:100%; }
.bio-checkout-shipping-option,
.bio-checkout-shipping-option:hover,
.bio-checkout-shipping-option:focus,
.bio-checkout-shipping-option:active { color:#263238 !important; -webkit-text-fill-color:#263238 !important; font-family:'Inter', Arial, sans-serif !important; }
.bio-checkout-shipping-option:last-child { margin-bottom:0; }
.bio-checkout-shipping-option::before { border:1px solid #8799a0; border-radius:50%; content:''; flex:0 0 16px; height:16px; }
.bio-checkout-shipping-option.is-selected { background:#eaf7fc !important; border-color:#2a9fd1 !important; box-shadow:0 0 0 1px #2a9fd1 inset; }
.bio-checkout-shipping-option.is-selected::before { background:#2a9fd1; border-color:#2a9fd1; box-shadow:inset 0 0 0 4px #fff; }
.bio-checkout-shipping-option:hover,
.bio-checkout-shipping-option:focus,
.bio-checkout-shipping-option:active { background:#f1fafc !important; border-color:#2a9fd1 !important; box-shadow:0 0 0 1px rgba(42,159,209,.24) inset; color:#263238 !important; outline:0; }
.bio-checkout-shipping-option__info { display:grid; flex:1; gap:3px; min-width:0; }
.bio-checkout-shipping-option__courier { color:#263238; font-size:13px; font-weight:800; }
.bio-checkout-shipping-option__delivery { background:#eaf7fb; border-radius:6px; color:#176d8f; display:inline-flex; font-size:13px; font-weight:800; line-height:1.35; padding:4px 7px; width:max-content; }
.bio-checkout-shipping-option__price { background:#eaf7fb; border-radius:7px; color:#176d8f; font-size:14px; font-weight:800; padding:7px 9px; white-space:nowrap; }
.woocommerce-checkout #shipping_method { display:none !important; }
.bio-selected-shipping-summary { background:#f1fafc; border:1px solid #cfe7ef; border-radius:8px; display:grid; gap:3px; color:#263238; font-size:12px; line-height:1.4; margin-top:8px; padding:9px 10px; }
.bio-selected-shipping-summary strong { color:#263238; font-size:12px; }
.bio-selected-shipping-summary span { color:#2a9fd1; font-weight:700; }
.bio-selected-shipping-summary small { color:#64747a; font-size:11px; }
.bio-checkout-section .required { color:#bc2f2f; }
.woocommerce-checkout .bio-rut-status { display:block; font-size:12px; font-weight:600; line-height:1.4; margin-top:5px; }
.woocommerce-checkout .bio-rut-status.is-valid { color:#147b4b; }
.woocommerce-checkout .bio-rut-status.is-incomplete { color:#64747a; }
.woocommerce-checkout .bio-rut-status.is-invalid { color:#b42318; }
.woocommerce-checkout .bio-checkout-section input[aria-invalid="true"] { border-color:#b42318; box-shadow:0 0 0 1px rgba(180,35,24,.12); }
.bio-checkout-section input:focus, .bio-checkout-section select:focus, .bio-checkout-section textarea:focus { border-color:#2a9fd1; box-shadow:0 0 0 2px rgba(42,159,209,.16); outline:0; }

@media (max-width: 700px) {
	.bio-commerce-account-section {
		padding: 20px 16px;
	}

	.bio-commerce-saved-cart {
		align-items: flex-start;
		flex-direction: column;
	}

	.bio-commerce-save-cart {
		align-items: stretch;
		flex-direction: column;
	}

	.bio-commerce-save-cart input[type="text"],
	.bio-commerce-save-cart button {
		width: 100%;
	}
	.bio-checkout-grid { grid-template-columns:1fr; }
	.bio-checkout-section { padding:18px 16px; }
	.bio-checkout-choice-row { flex-direction:column; gap:10px; }
}

/* Override the legacy checkout rules that appear earlier in this stylesheet. */
.woocommerce-checkout .bio-checkout-choice-row { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
.woocommerce-checkout .bio-checkout-choice-row label { background:#fff; border:1px solid #cfdde2; border-radius:9px; cursor:pointer; min-height:54px; padding:13px 15px; }
.woocommerce-checkout .bio-checkout-choice-row label:has(input:checked) { background:#eaf7fc; border-color:#2a9fd1; box-shadow:0 0 0 1px #2a9fd1 inset; }
.woocommerce-checkout .bio-checkout-panel { background:#f7fbfd; border:1px solid #d9edf4; border-radius:9px; padding:17px; }
@media (max-width:700px) { .woocommerce-checkout .bio-checkout-choice-row { grid-template-columns:1fr !important; } .woocommerce-checkout #payment[data-bio-checkout-lock-message]:hover::after { left:0; max-width:calc(100% - 20px); right:auto; width:auto; } }

/* Compra online: se conserva la estructura nativa del widget de Checkout de
 * Elementor para que sus columnas y ajustes sigan siendo editables desde
 * Elementor. El formulario propio se inserta dentro de la columna izquierda. */
.woocommerce-checkout form.checkout {
	display: block !important;
}

.woocommerce-checkout .e-checkout__container {
	box-sizing: border-box;
	width: 100%;
}

.woocommerce-checkout .e-checkout__column-start,
.woocommerce-checkout .e-checkout__column-end,
.woocommerce-checkout .e-checkout__column-inner {
	min-width: 0;
}

/* Los campos nativos fueron reemplazados por el formulario propio. Ocultamos
 * solamente el bloque vacío que Elementor deja para esos campos. */
.woocommerce-checkout .e-checkout__column-start #customer_details,
.woocommerce-checkout .e-checkout__column-start .woocommerce-billing-fields,
.woocommerce-checkout .e-checkout__column-start .woocommerce-shipping-fields {
	display: none !important;
}

/* Fallback for a checkout page that uses the native WooCommerce shortcode
 * instead of Elementor's Checkout widget. */
.woocommerce-checkout form.checkout > #customer_details {
	display: none !important;
}

.woocommerce-checkout .e-checkout__order_review,
.woocommerce-checkout .e-checkout__order_review-2 {
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
}

.woocommerce-checkout .e-checkout__order_review-2 {
	margin-top: 18px;
}

@media (min-width: 1025px) {
	/* Fallback visual para mantener dos columnas aunque el widget haya quedado
	 * guardado en una configuración anterior de una sola columna. */
	.woocommerce-checkout .e-checkout__container {
		align-items: start;
		column-gap: 28px;
		/* Distribución aproximada 60/40 para que el resumen y los medios de
		 * pago tengan espacio suficiente sin comprimir el formulario. */
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) !important;
	}

	.woocommerce-checkout .e-checkout__column-inner.e-sticky-right-column--active {
		position: sticky;
		top: 24px;
	}

	.woocommerce-checkout .e-checkout__order_review .shop_table {
		margin: 0;
		border: 0;
		border-collapse: collapse;
	}

	.woocommerce-checkout .e-checkout__order_review .shop_table th,
	.woocommerce-checkout .e-checkout__order_review .shop_table td {
		border: 0;
		padding: 9px 0;
		vertical-align: top;
	}

	.woocommerce-checkout .e-checkout__order_review .shop_table thead th {
		color: #64747a;
		font-size: 12px;
	}

	.woocommerce-checkout .e-checkout__order_review .shop_table tfoot tr {
		border-top: 1px solid #d9edf4;
	}
}

@media (max-width: 1024px) {
	.woocommerce-checkout .e-checkout__column-inner.e-sticky-right-column--active {
		position: static;
	}
}

/* Medios de pago: mantener el mismo lenguaje visual de los bloques del
 * checkout y dar a cada alternativa un espacio claro e independiente. */
.woocommerce-checkout #payment .bio-checkout-payment-title {
	color: #111827 !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: normal !important;
	margin: 0 0 18px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	border: 0 !important;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method {
	background: #fff;
	border: 1px solid #d9edf4;
	border-radius: 9px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	column-gap: 10px;
	row-gap: 10px;
	margin: 0 0 12px !important;
	padding: 13px 16px !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method:last-child {
	margin-bottom: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > input[type="radio"] {
	float: none !important;
	grid-column: 1;
	grid-row: 1;
	margin: 4px 0 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label {
	align-items: center;
	color: #425b66;
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	font-weight: 500;
	gap: 8px;
	grid-column: 2;
	grid-row: 1;
	line-height: 1.35;
	margin: 0 !important;
	min-width: 0;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label img,
.woocommerce-checkout #payment .payment_methods li img {
	display: block;
	float: none !important;
	height: auto !important;
	margin: 0 !important;
	max-height: 48px !important;
	max-width: 110px !important;
	object-fit: contain;
	vertical-align: middle;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box {
	background: #f7fbfd !important;
	border: 0 !important;
	border-radius: 6px;
	box-sizing: border-box;
	color: #64747a;
	font-size: 13px;
	grid-column: 2;
	grid-row: 2;
	line-height: 1.55;
	margin: 0 !important;
	min-width: 0;
	padding: 12px 14px !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box::before {
	display: none !important;
}

.woocommerce-checkout #payment .privacy-policy-text {
	color: #64747a;
	font-size: 13px;
	line-height: 1.55;
	margin: 18px 0 !important;
}

.woocommerce-checkout #payment .place-order {
	margin-top: 16px !important;
	padding: 0 !important;
}

@media (max-width: 700px) {
	.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method {
		padding: 12px !important;
	}

	.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label img,
	.woocommerce-checkout #payment .payment_methods li img {
		max-width: min(110px, 100%) !important;
	}
}

/* El resumen de pedido debe ocupar todo el ancho interior de su caja. La
 * primera columna recibe más espacio para evitar cortes artificiales en los
 * nombres y la segunda queda reservada para los importes. */
.woocommerce-checkout .e-checkout__order_review .shop_table,
.woocommerce-checkout .e-checkout__order_review-2 .shop_table,
.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	box-sizing: border-box;
	display: table !important;
	max-width: 100% !important;
	table-layout: fixed;
	width: 100% !important;
}

.woocommerce-checkout .e-checkout__order_review .shop_table th,
.woocommerce-checkout .e-checkout__order_review .shop_table td,
.woocommerce-checkout .e-checkout__order_review-2 .shop_table th,
.woocommerce-checkout .e-checkout__order_review-2 .shop_table td,
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	box-sizing: border-box;
	min-width: 0;
	word-break: normal;
}

.woocommerce-checkout .e-checkout__order_review .shop_table th:first-child,
.woocommerce-checkout .e-checkout__order_review .shop_table td:first-child,
.woocommerce-checkout .e-checkout__order_review-2 .shop_table th:first-child,
.woocommerce-checkout .e-checkout__order_review-2 .shop_table td:first-child,
.woocommerce-checkout #order_review .shop_table th:first-child,
.woocommerce-checkout #order_review .shop_table td:first-child,
.woocommerce-checkout .woocommerce-checkout-review-order-table th:first-child,
.woocommerce-checkout .woocommerce-checkout-review-order-table td:first-child {
	overflow-wrap: anywhere;
	width: 65%;
}

.woocommerce-checkout .e-checkout__order_review .shop_table th:last-child,
.woocommerce-checkout .e-checkout__order_review .shop_table td:last-child,
.woocommerce-checkout .e-checkout__order_review-2 .shop_table th:last-child,
.woocommerce-checkout .e-checkout__order_review-2 .shop_table td:last-child,
.woocommerce-checkout #order_review .shop_table th:last-child,
.woocommerce-checkout #order_review .shop_table td:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order-table th:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child {
	text-align: right;
	white-space: nowrap;
	width: 35%;
}

/* Los mensajes de envío pueden ser extensos: deben envolver dentro de la
 * columna, mientras que cada importe conserva su formato en una sola línea. */
.woocommerce-checkout .e-checkout__order_review .shop_table tfoot td:last-child,
.woocommerce-checkout .e-checkout__order_review-2 .shop_table tfoot td:last-child,
.woocommerce-checkout #order_review .shop_table tfoot td:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td:last-child {
	overflow-wrap: anywhere;
	white-space: normal !important;
}

.woocommerce-checkout .e-checkout__order_review .shop_table tfoot td:last-child .woocommerce-Price-amount,
.woocommerce-checkout .e-checkout__order_review .shop_table tfoot td:last-child .amount,
.woocommerce-checkout .e-checkout__order_review-2 .shop_table tfoot td:last-child .woocommerce-Price-amount,
.woocommerce-checkout .e-checkout__order_review-2 .shop_table tfoot td:last-child .amount,
.woocommerce-checkout #order_review .shop_table tfoot td:last-child .woocommerce-Price-amount,
.woocommerce-checkout #order_review .shop_table tfoot td:last-child .amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td:last-child .woocommerce-Price-amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td:last-child .amount {
	white-space: nowrap;
}

/* Elementor limita por defecto la celda de envío a 70px. Ese límite hace que
 * el mensaje de disponibilidad se salga del resumen. */
.woocommerce-checkout .woocommerce-shipping-totals td,
.woocommerce-checkout .woocommerce-shipping-totals td * {
	max-width: 100% !important;
	overflow-wrap: anywhere;
	white-space: normal !important;
}

.woocommerce-checkout .woocommerce-shipping-totals td:last-child {
	text-align: left !important;
	width: 35% !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td.product-name {
	max-width: none !important;
}

/* Tipografía de marca solo para los componentes generados por Bio Commerce y
 * el resumen/pago nativo del checkout. No alcanza widgets independientes de
 * Elementor en otras páginas. */
.woocommerce-checkout .bio-checkout-form,
.woocommerce-checkout #payment,
.woocommerce-checkout .e-checkout__order_review,
.woocommerce-checkout .e-checkout__order_review-2,
.bio-commerce-account-section,
.bio-commerce-login-note,
.bio-commerce-save-cart,
.bio-commerce-tax-fields,
.bio-commerce-consent {
	font-family: 'Inter', Arial, sans-serif;
}

.woocommerce-checkout .bio-checkout-form h1,
.woocommerce-checkout .bio-checkout-form h2,
.woocommerce-checkout .bio-checkout-form h3,
.woocommerce-checkout .bio-checkout-form h4,
.woocommerce-checkout #payment .bio-checkout-payment-title,
.woocommerce-checkout .e-checkout__order_review h2,
.woocommerce-checkout .e-checkout__order_review h3,
.woocommerce-checkout .e-checkout__order_review-2 h2,
.woocommerce-checkout .e-checkout__order_review-2 h3,
.bio-commerce-account-section h2,
.bio-commerce-account-section h3,
.bio-commerce-tax-fields h3 {
	font-family: 'Inter', Arial, sans-serif;
}
