/**
 * SEI Integra — Formularios premium (Etapa 5)
 * Elementor Pro, WooCommerce y búsqueda del header.
 */

/* --------------------------------------------------------------------------
   Tokens y base
   -------------------------------------------------------------------------- */
:root {
	--sei-field-h: 52px;
	--sei-field-radius: var(--sei-radius-md);
	--sei-field-bg: var(--sei-black-elevated);
	--sei-field-border: var(--sei-border);
	--sei-field-border-focus: rgba(224, 224, 224, 0.45);
}

/* --------------------------------------------------------------------------
   Campos compartidos
   -------------------------------------------------------------------------- */
.sei-form .elementor-field-textual,
.sei-form input.elementor-field,
.sei-form textarea.elementor-field,
.sei-form select.elementor-field,
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea,
.woocommerce-page .select2-container--default .select2-selection--single {
	min-height: var(--sei-field-h);
	padding: 0.85rem 1rem !important;
	border-radius: var(--sei-field-radius) !important;
	background-color: var(--sei-field-bg) !important;
	color: var(--sei-silver-light) !important;
	border: 1px solid var(--sei-field-border) !important;
	font-family: var(--sei-font) !important;
	font-size: var(--sei-text-sm) !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	transition:
		border-color var(--sei-motion-base) var(--sei-ease),
		box-shadow var(--sei-motion-base) var(--sei-ease),
		background-color var(--sei-motion-base) var(--sei-ease);
}

.sei-form textarea.elementor-field,
.woocommerce form textarea {
	min-height: 140px;
	resize: vertical;
	padding-top: 0.9rem !important;
}

.sei-form .elementor-field-textual::placeholder,
.woocommerce form .input-text::placeholder,
.woocommerce form textarea::placeholder {
	color: var(--sei-silver-dark) !important;
	opacity: 1;
}

.sei-form .elementor-field-textual:focus,
.sei-form input.elementor-field:focus,
.sei-form textarea.elementor-field:focus,
.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
	border-color: var(--sei-field-border-focus) !important;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 0 20px var(--sei-glow-soft) !important;
	outline: none;
	background-color: var(--sei-black-card) !important;
}

.sei-form .elementor-field.sei-field--invalid,
.woocommerce form .input-text.sei-field--invalid {
	border-color: rgba(220, 120, 120, 0.65) !important;
	box-shadow: 0 0 0 1px rgba(220, 120, 120, 0.25) !important;
}

.sei-form .elementor-field.sei-field--valid,
.woocommerce form .input-text.sei-field--valid {
	border-color: rgba(160, 200, 160, 0.45) !important;
}

/* Botón enviar Elementor */
.sei-form .elementor-button[type="submit"],
.sei-form .e-form__buttons .elementor-button {
	background: var(--sei-metal) !important;
	background-size: 200% auto !important;
	color: var(--sei-black-deep) !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	border-radius: var(--sei-radius-full) !important;
	min-height: var(--sei-field-h);
	min-width: 180px;
	padding: 0.85rem 1.85rem !important;
	font-family: var(--sei-font) !important;
	font-size: var(--sei-text-sm) !important;
	font-weight: 600 !important;
	letter-spacing: var(--sei-tracking-wide) !important;
	text-transform: uppercase !important;
	box-shadow: var(--sei-shadow-subtle);
	transition:
		transform var(--sei-motion-base) var(--sei-ease),
		box-shadow var(--sei-motion-base) var(--sei-ease),
		background-position var(--sei-motion-base) var(--sei-ease) !important;
}

.sei-form .elementor-button[type="submit"]::before,
.sei-form .e-form__buttons .elementor-button::before {
	display: none !important;
}

.sei-form .elementor-button[type="submit"]:hover,
.sei-form .e-form__buttons .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: var(--sei-shadow-glow);
	background-position: 100% center !important;
	color: var(--sei-black-deep) !important;
}

/* Mensajes Elementor */
.elementor-message {
	border-radius: var(--sei-radius-md) !important;
	padding: 0.85rem 1rem !important;
	font-size: var(--sei-text-sm) !important;
	border: 1px solid var(--sei-border) !important;
}

.elementor-message.elementor-message-success {
	background: rgba(40, 80, 40, 0.35) !important;
	border-color: rgba(140, 200, 140, 0.35) !important;
	color: var(--sei-silver-bright) !important;
}

.elementor-message.elementor-message-danger {
	background: rgba(80, 30, 30, 0.35) !important;
	border-color: rgba(200, 120, 120, 0.35) !important;
	color: var(--sei-silver-bright) !important;
}

/* Grid de campos Elementor */
.sei-form .elementor-form-fields-wrapper {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: var(--sei-space-md);
	margin: 0 !important;
}

@media (min-width: 768px) {
	.sei-form .elementor-form-fields-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sei-form .elementor-field-group-field_1fe416f,
	.sei-form .elementor-field-type-textarea,
	.sei-form .e-form__buttons {
		grid-column: 1 / -1;
	}
}

.sei-form .elementor-field-group {
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
}

.sei-form .e-form__buttons {
	justify-content: flex-start !important;
	margin-top: var(--sei-space-sm);
}

/* --------------------------------------------------------------------------
   Búsqueda header — desktop
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
	.elementor-location-header.sei-header .elementor-element-a987112 .elementor-widget-container,
	.elementor-location-header.sei-header .elementor-element-a987112 form,
	.elementor-location-header.sei-header .elementor-element-a987112 .wpr-search-form {
		display: flex !important;
		align-items: center !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.elementor-location-header.sei-header .elementor-element-a987112 .wpr-search-form {
		min-width: min(220px, 18vw);
		max-width: 260px;
		padding: 0 0.45rem 0 1rem !important;
		border-radius: var(--sei-radius-full) !important;
		border: 1px solid var(--sei-border) !important;
		background: rgba(255, 255, 255, 0.04) !important;
		transition:
			border-color var(--sei-motion-base) var(--sei-ease),
			box-shadow var(--sei-motion-base) var(--sei-ease),
			background-color var(--sei-motion-base) var(--sei-ease);
	}

	.elementor-location-header.sei-header .elementor-element-a987112 .wpr-search-form:focus-within {
		border-color: var(--sei-border-strong) !important;
		box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 0 18px var(--sei-glow-soft);
		background: rgba(255, 255, 255, 0.06) !important;
	}

	.elementor-location-header.sei-header .elementor-element-a987112 .wpr-search-form-input {
		flex: 1 1 auto !important;
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		height: 40px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		font-size: 0.78rem !important;
		letter-spacing: 0.04em;
		color: var(--sei-silver-light) !important;
	}

	.elementor-location-header.sei-header .elementor-element-a987112 .wpr-search-form-input:focus {
		box-shadow: none !important;
		outline: none;
	}

	.elementor-location-header.sei-header .elementor-element-a987112 .wpr-search-form-submit {
		flex: 0 0 36px !important;
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		border-radius: 50% !important;
		border: none !important;
		background: transparent !important;
		color: var(--sei-silver-light) !important;
	}

	.elementor-location-header.sei-header .elementor-element-a987112 .wpr-search-form-submit:hover {
		background: rgba(255, 255, 255, 0.08) !important;
		color: var(--sei-silver-bright) !important;
	}
}

/* --------------------------------------------------------------------------
   WooCommerce — checkout, carrito, cuenta
   -------------------------------------------------------------------------- */
.woocommerce form .form-row label,
.woocommerce-page label {
	color: var(--sei-silver-mid) !important;
	font-size: var(--sei-text-sm) !important;
	margin-bottom: 0.35rem;
}

.woocommerce form .form-row {
	margin-bottom: var(--sei-space-md);
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-cart-form,
.woocommerce .woocommerce-MyAccount-content {
	border-radius: var(--sei-radius-lg);
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout #order_review,
.woocommerce-cart-form,
.woocommerce .woocommerce-MyAccount-content form {
	padding: var(--sei-space-xl);
	border: 1px solid var(--sei-border);
	border-radius: var(--sei-radius-lg);
	background: var(--sei-black-card) !important;
	box-shadow: var(--sei-shadow-card);
}

.woocommerce-checkout h3,
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: var(--sei-text-h3) !important;
	color: var(--sei-silver-bright) !important;
	margin-bottom: var(--sei-space-lg) !important;
	-webkit-text-fill-color: var(--sei-silver-bright) !important;
	background: none !important;
}

.woocommerce-checkout #payment {
	border-radius: var(--sei-radius-lg) !important;
	overflow: hidden;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom-color: var(--sei-border) !important;
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--sei-black-elevated) !important;
	color: var(--sei-silver-mid) !important;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--sei-black-elevated) !important;
}

.woocommerce .select2-container--default .select2-selection--single {
	height: var(--sei-field-h) !important;
	display: flex;
	align-items: center;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--sei-silver-light) !important;
	padding-left: 1rem !important;
	line-height: var(--sei-field-h) !important;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100% !important;
}

.select2-dropdown,
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected="true"] {
	background-color: var(--sei-black-card) !important;
	color: var(--sei-silver-light) !important;
}

.woocommerce form .form-row.place-order .button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--sei-metal) !important;
	background-size: 200% auto !important;
	color: var(--sei-black-deep) !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	border-radius: var(--sei-radius-full) !important;
	min-height: var(--sei-field-h);
	padding: 0.85rem 1.75rem !important;
	font-weight: 600 !important;
	letter-spacing: var(--sei-tracking-wide) !important;
	text-transform: uppercase !important;
}

.woocommerce form .form-row.place-order .button::before,
.woocommerce a.button::before,
.woocommerce button.button::before {
	display: none !important;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	border-radius: var(--sei-radius-md) !important;
	border-top: none !important;
	border: 1px solid var(--sei-border) !important;
}

.woocommerce-MyAccount-navigation {
	border-radius: var(--sei-radius-lg);
	overflow: hidden;
	border: 1px solid var(--sei-border);
}

.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
}

.woocommerce-MyAccount-navigation ul li a {
	padding: 0.85rem 1rem !important;
	border-bottom: 1px solid var(--sei-border) !important;
}

@media (min-width: 768px) {
	.woocommerce-account .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
		gap: var(--sei-grid-gap);
		align-items: start;
	}
}

/* --------------------------------------------------------------------------
   Elementor WooCommerce Cart — elimina fondos blancos por defecto (#fff)
   -------------------------------------------------------------------------- */
.elementor-widget-woocommerce-cart,
.elementor-widget-woocommerce-cart .woocommerce,
body.sei-page-cart .elementor-widget-woocommerce-cart,
body.woocommerce-cart .elementor-widget-woocommerce-cart {
	--sections-background-color: var(--sei-black-card) !important;
	--sections-border-color: var(--sei-border) !important;
	--sections-border-type: solid !important;
	--sections-border-radius: 12px !important;
	--sections-padding: 1.25rem 1.35rem !important;
	--sections-margin: 0 0 1.25rem 0 !important;
	--sections-title-color: var(--sei-silver-bright) !important;
	--sections-descriptions-color: var(--sei-silver-mid) !important;
	--order-summary-color: var(--sei-silver-light) !important;
	--order-summary-title-color: var(--sei-silver-bright) !important;
	--order-summary-variations-color: var(--sei-silver-mid) !important;
	--order-summary-items-divider-color: var(--sei-border) !important;
	--order-summary-quantity-border-color: var(--sei-border) !important;
	--order-summary-remove-icon-normal-color: var(--sei-silver-mid) !important;
	--order-summary-remove-icon-hover-color: var(--sei-silver-bright) !important;
	--forms-fields-border-radius: 8px !important;
	--forms-buttons-border-radius: 8px !important;
	--forms-buttons-border-type: solid !important;
	--forms-buttons-border-color: rgba(192, 192, 192, 0.35) !important;
	--forms-buttons-hover-background-color: rgba(255, 255, 255, 0.12) !important;
	--forms-buttons-hover-border-color: rgba(232, 232, 232, 0.55) !important;
	--forms-fields-focus-border-color: rgba(232, 232, 232, 0.45) !important;
	--checkout-button-border-radius: 8px !important;
	--checkout-button-normal-text-color: #0a0a0a !important;
	--checkout-button-hover-text-color: #0a0a0a !important;
	color: var(--sei-silver-light) !important;
}

.elementor-widget-woocommerce-cart .e-cart-section,
.elementor-widget-woocommerce-cart .e-cart-content,
.elementor-widget-woocommerce-cart .e-cart__container,
.elementor-widget-woocommerce-cart .e-woocommerce-cart,
.elementor-widget-woocommerce-cart .woocommerce-cart-form,
.elementor-widget-woocommerce-cart .cart-collaterals,
.elementor-widget-woocommerce-cart .cart_totals,
.elementor-widget-woocommerce-cart .shop_table,
.elementor-widget-woocommerce-cart .shop_table th,
.elementor-widget-woocommerce-cart .shop_table td,
.elementor-widget-woocommerce-cart .shop_table tbody,
.elementor-widget-woocommerce-cart .shop_table thead,
.elementor-widget-woocommerce-cart .shop_table tr {
	background-color: var(--sei-black-card) !important;
	background: var(--sei-black-card) !important;
	color: var(--sei-silver-light) !important;
	border-color: var(--sei-border) !important;
}

.elementor-widget-woocommerce-cart .e-cart-section {
	border: 1px solid var(--sei-border) !important;
	box-shadow: none !important;
}

.elementor-widget-woocommerce-cart .shop_table thead th,
.elementor-widget-woocommerce-cart .shop_table .product-name a,
.elementor-widget-woocommerce-cart .cart_totals h2,
.elementor-widget-woocommerce-cart .e-cart-section h2,
.elementor-widget-woocommerce-cart .e-cart-section h3 {
	color: var(--sei-silver-bright) !important;
	-webkit-text-fill-color: var(--sei-silver-bright) !important;
	background: none !important;
}

.elementor-widget-woocommerce-cart .shop_table td,
.elementor-widget-woocommerce-cart .shop_table th,
.elementor-widget-woocommerce-cart .cart_totals table th,
.elementor-widget-woocommerce-cart .cart_totals table td {
	border-color: var(--sei-border) !important;
	background: transparent !important;
}

.elementor-widget-woocommerce-cart .product-thumbnail img {
	border-radius: 8px;
	background: var(--sei-black-elevated);
}

/* Cantidad */
.elementor-widget-woocommerce-cart .quantity .qty,
.elementor-widget-woocommerce-cart input.input-text.qty {
	background: var(--sei-black-elevated) !important;
	color: var(--sei-silver-light) !important;
	border: 1px solid var(--sei-border) !important;
	border-radius: 8px !important;
}

/* Cupón */
.elementor-widget-woocommerce-cart .coupon,
.elementor-widget-woocommerce-cart .e-cart-section .coupon {
	background: transparent !important;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.elementor-widget-woocommerce-cart .coupon .input-text,
.elementor-widget-woocommerce-cart input#coupon_code {
	background: var(--sei-black-elevated) !important;
	color: var(--sei-silver-light) !important;
	border: 1px solid var(--sei-border) !important;
	border-radius: 8px !important;
	min-height: 2.85rem;
	flex: 1 1 12rem;
}

.elementor-widget-woocommerce-cart .coupon .input-text::placeholder,
.elementor-widget-woocommerce-cart input#coupon_code::placeholder {
	color: rgba(192, 192, 192, 0.55) !important;
}

.elementor-widget-woocommerce-cart .coupon button.button,
.elementor-widget-woocommerce-cart button[name="apply_coupon"],
.elementor-widget-woocommerce-cart button[name="update_cart"],
.elementor-widget-woocommerce-cart .actions .button {
	background: linear-gradient(135deg, #f5f5f5 0%, #d4d4d4 40%, #ffffff 55%, #b8b8b8 100%) !important;
	color: #0a0a0a !important;
	-webkit-text-fill-color: #0a0a0a !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	min-height: 2.85rem;
	opacity: 1 !important;
}

.elementor-widget-woocommerce-cart .coupon button.button:hover,
.elementor-widget-woocommerce-cart button[name="apply_coupon"]:hover,
.elementor-widget-woocommerce-cart button[name="update_cart"]:hover,
.elementor-widget-woocommerce-cart .actions .button:hover {
	filter: brightness(1.08);
	color: #0a0a0a !important;
}

/* Totales + checkout */
.elementor-widget-woocommerce-cart .cart_totals .shop_table,
.elementor-widget-woocommerce-cart .cart_totals .order-total th,
.elementor-widget-woocommerce-cart .cart_totals .order-total td,
.elementor-widget-woocommerce-cart .cart_totals .cart-subtotal th,
.elementor-widget-woocommerce-cart .cart_totals .cart-subtotal td {
	background: transparent !important;
	color: var(--sei-silver-light) !important;
}

.elementor-widget-woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
	color: var(--sei-silver-bright) !important;
	font-weight: 700;
}

.elementor-widget-woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.elementor-widget-woocommerce-cart a.checkout-button {
	background: linear-gradient(135deg, #f5f5f5 0%, #d4d4d4 40%, #ffffff 55%, #b8b8b8 100%) !important;
	color: #0a0a0a !important;
	-webkit-text-fill-color: #0a0a0a !important;
	border: 1px solid rgba(255, 255, 255, 0.4) !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.elementor-widget-woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.elementor-widget-woocommerce-cart a.checkout-button:hover {
	filter: brightness(1.08);
	color: #0a0a0a !important;
	background: linear-gradient(135deg, #ffffff 0%, #e8e8e8 45%, #cfcfcf 100%) !important;
}

/* Aviso / vacío */
body.woocommerce-cart .woocommerce-message,
body.sei-page-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.sei-page-cart .woocommerce-info {
	background: var(--sei-black-card) !important;
	color: var(--sei-silver-light) !important;
	border: 1px solid var(--sei-border) !important;
}

body.woocommerce-cart .woocommerce-message a.button,
body.sei-page-cart .woocommerce-message a.button,
body.woocommerce-cart .return-to-shop .button,
body.sei-page-cart .return-to-shop .button {
	background: transparent !important;
	color: var(--sei-silver-bright) !important;
	border: 1px solid rgba(232, 232, 232, 0.45) !important;
}

/* --------------------------------------------------------------------------
   Elementor WooCommerce Checkout — tokens oscuros
   -------------------------------------------------------------------------- */
.elementor-widget-woocommerce-checkout-page,
body.woocommerce-checkout .elementor-widget-woocommerce-checkout-page {
	--sections-background-color: var(--sei-black-card) !important;
	--sections-border-color: var(--sei-border) !important;
	--sections-border-radius: 12px !important;
	--sections-title-color: var(--sei-silver-bright) !important;
	--sections-descriptions-color: var(--sei-silver-mid) !important;
	color: var(--sei-silver-light) !important;
}

.elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields,
.elementor-widget-woocommerce-checkout-page .woocommerce-shipping-fields,
.elementor-widget-woocommerce-checkout-page .woocommerce-additional-fields,
.elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order,
.elementor-widget-woocommerce-checkout-page #order_review,
.elementor-widget-woocommerce-checkout-page #payment {
	background: var(--sei-black-card) !important;
	border-color: var(--sei-border) !important;
	color: var(--sei-silver-light) !important;
}

/* --------------------------------------------------------------------------
   Checkout + Carrito — layout elegante en caja (NO tocar el header)
   -------------------------------------------------------------------------- */
body.sei-page-checkout,
body.woocommerce-checkout,
body.sei-page-cart,
body.woocommerce-cart {
	--sei-checkout-max: 1120px;
}

/*
 * Importante: en desktop el header es sticky (en flujo).
 * NO añadir padding-top al body — duplicaba altura y se veía “más grueso”.
 * Solo compensar cuando el header es fixed (móvil).
 */
@media (max-width: 767px) {
	body.sei-page-checkout .sei-checkout-shell,
	body.woocommerce-checkout .sei-checkout-shell,
	body.sei-page-cart .sei-checkout-shell,
	body.woocommerce-cart .sei-checkout-shell {
		padding-top: 0.5rem;
	}
}

/* Shell centrado: solo el contenido Woo, nunca header/footer Elementor */
body.sei-page-checkout #content > .woocommerce,
body.woocommerce-checkout #content > .woocommerce,
body.sei-page-cart #content > .woocommerce,
body.woocommerce-cart #content > .woocommerce,
body.sei-page-checkout .page-content > .woocommerce,
body.woocommerce-checkout .page-content > .woocommerce,
body.sei-page-cart .page-content > .woocommerce,
body.woocommerce-cart .page-content > .woocommerce,
body.sei-page-checkout .elementor-widget-woocommerce-checkout-page,
body.woocommerce-checkout .elementor-widget-woocommerce-checkout-page,
body.sei-page-cart .elementor-widget-woocommerce-cart,
body.woocommerce-cart .elementor-widget-woocommerce-cart {
	width: min(100% - clamp(1.5rem, 5vw, 3rem), var(--sei-checkout-max)) !important;
	max-width: var(--sei-checkout-max) !important;
	margin-inline: auto !important;
	margin-block: 1.5rem 3rem !important;
	display: block;
	box-sizing: border-box;
}

/* Título de página (Hello / Elementor theme title), sin afectar nav */
body.sei-page-checkout .page-header,
body.woocommerce-checkout .page-header,
body.sei-page-cart .page-header,
body.woocommerce-cart .page-header {
	width: min(100% - clamp(1.5rem, 5vw, 3rem), var(--sei-checkout-max));
	max-width: var(--sei-checkout-max);
	margin: 1.75rem auto 0.75rem;
	padding: 0;
}

body.sei-page-checkout .page-header .entry-title,
body.woocommerce-checkout .page-header .entry-title,
body.sei-page-cart .page-header .entry-title,
body.woocommerce-cart .page-header .entry-title,
body.sei-page-checkout h1.entry-title,
body.woocommerce-checkout h1.entry-title {
	margin: 0 0 0.35rem !important;
	color: var(--sei-silver-bright) !important;
	-webkit-text-fill-color: var(--sei-silver-bright) !important;
	background: none !important;
	font-size: clamp(1.65rem, 3vw, 2.25rem) !important;
	line-height: 1.2 !important;
	letter-spacing: -0.02em !important;
	font-weight: 600 !important;
}

/* Avisos / cupón */
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.sei-page-checkout .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.sei-page-checkout .woocommerce-form-coupon-toggle {
	margin-bottom: 1rem;
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error,
body.sei-page-checkout .woocommerce-info,
body.sei-page-checkout .woocommerce-message {
	background: var(--sei-black-card) !important;
	border: 1px solid var(--sei-border) !important;
	border-radius: 10px !important;
	color: var(--sei-silver-light) !important;
	padding: 0.9rem 1.1rem !important;
}

/* ---- Formulario checkout: 2 columnas elegantes (detalle | pedido) ---- */
body.woocommerce-checkout form.checkout.woocommerce-checkout,
body.sei-page-checkout form.checkout,
body.woocommerce-checkout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	column-gap: 1.5rem;
	row-gap: 0;
	align-items: start;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	clear: both;
}

body.woocommerce-checkout form.checkout::before,
body.woocommerce-checkout form.checkout::after,
body.sei-page-checkout form.checkout::before,
body.sei-page-checkout form.checkout::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-checkout #customer_details,
body.sei-page-checkout #customer_details {
	grid-column: 1;
	grid-row: 1 / span 20;
	display: flex !important;
	flex-direction: column !important;
	gap: 1.15rem !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}

body.woocommerce-checkout #customer_details.col2-set::before,
body.woocommerce-checkout #customer_details.col2-set::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2,
body.sei-page-checkout #customer_details .col-1,
body.sei-page-checkout #customer_details .col-2 {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	padding: 1.35rem 1.4rem !important;
	background: var(--sei-black-card) !important;
	border: 1px solid var(--sei-border) !important;
	border-radius: 14px !important;
	box-sizing: border-box;
}

body.woocommerce-checkout #order_review_heading,
body.sei-page-checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important;
	padding: 1.2rem 1.4rem 0.35rem !important;
	background: var(--sei-black-card) !important;
	border: 1px solid var(--sei-border) !important;
	border-bottom: 0 !important;
	border-radius: 14px 14px 0 0 !important;
	color: var(--sei-silver-bright) !important;
	-webkit-text-fill-color: var(--sei-silver-bright) !important;
	font-size: 1.15rem !important;
	font-weight: 600 !important;
}

body.woocommerce-checkout #order_review,
body.sei-page-checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0.5rem 1.4rem 1.4rem !important;
	background: var(--sei-black-card) !important;
	border: 1px solid var(--sei-border) !important;
	border-top: 0 !important;
	border-radius: 0 0 14px 14px !important;
	box-sizing: border-box;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.sei-page-checkout #customer_details h3 {
	margin: 0 0 1rem !important;
	color: var(--sei-silver-bright) !important;
	-webkit-text-fill-color: var(--sei-silver-bright) !important;
	background: none !important;
	font-size: 1.15rem !important;
	font-weight: 600 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout #order_review table.shop_table {
	background: transparent !important;
	border-color: var(--sei-border) !important;
	margin: 0 0 1rem !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
	background: transparent !important;
	border-color: var(--sei-border) !important;
	color: var(--sei-silver-light) !important;
	padding: 0.75rem 0 !important;
}

body.woocommerce-checkout #payment {
	background: var(--sei-black-elevated) !important;
	border: 1px solid var(--sei-border) !important;
	border-radius: 10px !important;
	padding: 1rem !important;
}

body.woocommerce-checkout #place_order,
body.sei-page-checkout #place_order {
	width: 100% !important;
	margin-top: 0.75rem !important;
	background: linear-gradient(135deg, #f5f5f5 0%, #d4d4d4 40%, #ffffff 55%, #b8b8b8 100%) !important;
	color: #0a0a0a !important;
	-webkit-text-fill-color: #0a0a0a !important;
	border: 0 !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	min-height: 3rem;
}

@media (max-width: 960px) {
	body.woocommerce-checkout form.checkout.woocommerce-checkout,
	body.sei-page-checkout form.checkout,
	body.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-checkout #customer_details,
	body.sei-page-checkout #customer_details,
	body.woocommerce-checkout #order_review_heading,
	body.sei-page-checkout #order_review_heading,
	body.woocommerce-checkout #order_review,
	body.sei-page-checkout #order_review {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
}

/* Elementor checkout widget: contenedor interno */
.elementor-widget-woocommerce-checkout-page .e-checkout__container,
.elementor-widget-woocommerce-checkout-page .e-checkout {
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
	gap: 1.25rem !important;
}

/* --------------------------------------------------------------------------
   Contacto — página 73
   -------------------------------------------------------------------------- */
.elementor-73.sei-contact-page .elementor-element-6c66427 {
	--min-height: auto !important;
	--margin-top: 0 !important;
	--padding-top: 0 !important;
	--content-width: 100% !important;
	margin-top: clamp(1.5rem, 4vw, 3rem) !important;
	padding: 0 !important;
}

.elementor-73.sei-contact-page .elementor-element-6c66427 > .e-con-inner {
	width: min(100% - clamp(2rem, 6vw, 6rem), 1440px) !important;
	max-width: 1440px !important;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
	text-align: center;
	gap: var(--sei-space-md);
}

.elementor-73.sei-contact-page .elementor-element-3bae9b97 .elementor-heading-title {
	font-size: var(--sei-text-h1) !important;
	-webkit-text-fill-color: var(--sei-silver-bright) !important;
	background: none !important;
	letter-spacing: var(--sei-tracking-tight) !important;
	line-height: var(--sei-leading-tight) !important;
}

.elementor-73.sei-contact-page .elementor-element-67cd9a0 {
	width: min(100%, 720px) !important;
	max-width: 720px !important;
	margin-inline: auto;
}

.elementor-73.sei-contact-page .elementor-element-169fa7d0 {
	--margin-top: 0 !important;
	margin-top: clamp(2rem, 5vw, 3.5rem) !important;
	padding: 0 !important;
	width: 100% !important;
}

.elementor-73.sei-contact-page .elementor-element-169fa7d0 > .e-con-inner {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: clamp(2rem, 4vw, 3rem);
	width: min(100% - clamp(2rem, 6vw, 6rem), 1440px) !important;
	max-width: 1440px !important;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
	align-items: start;
}

@media (min-width: 992px) {
	.elementor-73.sei-contact-page .elementor-element-169fa7d0 > .e-con-inner {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	}
}

.elementor-73.sei-contact-page .elementor-element-14f0f255 {
	display: flex !important;
	flex-direction: column !important;
	gap: clamp(1.75rem, 3vw, 2.5rem) !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
	--padding-right: 0 !important;
	--gap: clamp(1.75rem, 3vw, 2.5rem) !important;
}

.elementor-73.sei-contact-page .elementor-element-7cccab06 {
	--content-width: 100% !important;
	--width: 100% !important;
	--gap: var(--sei-space-md) !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	align-items: flex-start !important;
	text-align: left !important;
}

.elementor-73.sei-contact-page .elementor-element-7cccab06 > .e-con-inner {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	gap: var(--sei-space-md) !important;
	align-items: flex-start !important;
	text-align: left !important;
}

.elementor-73.sei-contact-page .elementor-element-7691961d {
	width: 100% !important;
	max-width: 100% !important;
}

.elementor-73.sei-contact-page .elementor-element-7691961d .elementor-heading-title {
	font-size: clamp(1.35rem, 2.4vw, 2rem) !important;
	line-height: var(--sei-leading-snug) !important;
	text-align: left !important;
	text-wrap: balance;
	color: var(--sei-silver-bright) !important;
	-webkit-text-fill-color: var(--sei-silver-bright) !important;
	background: none !important;
}

.elementor-73.sei-contact-page .elementor-element-433865d3 {
	width: 100% !important;
	max-width: 100% !important;
	text-align: left !important;
}

.elementor-73.sei-contact-page .elementor-element-433865d3 > .elementor-widget-container {
	padding: 0 !important;
}

.elementor-73.sei-contact-page .elementor-element-433865d3,
.elementor-73.sei-contact-page .elementor-element-433865d3 p {
	color: var(--sei-silver-mid) !important;
	font-size: var(--sei-text-sm) !important;
	line-height: var(--sei-leading-normal) !important;
}

.elementor-73.sei-contact-page .elementor-element-23fe9072 {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0.85rem !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: auto !important;
	padding: 0 !important;
	--display: flex !important;
	--flex-direction: column !important;
	--width: 100% !important;
	--min-height: auto !important;
	--gap: 0.85rem !important;
	--column-gap: 0.85rem !important;
	--row-gap: 0.85rem !important;
}

.elementor-73.sei-contact-page .elementor-element-773d8018,
.elementor-73.sei-contact-page .elementor-element-2271d702,
.elementor-73.sei-contact-page .elementor-element-487d3d8f {
	--width: 100% !important;
	--flex-direction: column !important;
	--align-items: flex-start !important;
	--justify-content: flex-start !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	flex: 0 0 auto !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	align-content: start !important;
	align-items: start !important;
	justify-items: start !important;
	gap: 0.35rem !important;
	padding: 1.15rem 1.35rem !important;
	border-radius: var(--sei-radius-md);
	background: linear-gradient(145deg, rgba(18, 18, 18, 0.98) 0%, rgba(10, 10, 10, 0.98) 100%) !important;
	border: 1px solid var(--sei-border);
	box-shadow: var(--sei-shadow-subtle);
	box-sizing: border-box !important;
	overflow: hidden !important;
	text-align: left !important;
	position: relative;
	transition:
		border-color var(--sei-motion-base) var(--sei-ease),
		box-shadow var(--sei-motion-base) var(--sei-ease),
		transform var(--sei-motion-base) var(--sei-ease);
}

.elementor-73.sei-contact-page .elementor-element-773d8018::before,
.elementor-73.sei-contact-page .elementor-element-2271d702::before,
.elementor-73.sei-contact-page .elementor-element-487d3d8f::before {
	content: "";
	position: absolute;
	top: 0;
	left: 1.35rem;
	right: 1.35rem;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(224, 224, 224, 0.22) 18%,
		rgba(224, 224, 224, 0.22) 82%,
		transparent 100%
	);
	pointer-events: none;
}

.elementor-73.sei-contact-page .elementor-element-773d8018:hover,
.elementor-73.sei-contact-page .elementor-element-2271d702:hover,
.elementor-73.sei-contact-page .elementor-element-487d3d8f:hover {
	border-color: rgba(224, 224, 224, 0.28);
	box-shadow: var(--sei-shadow-card);
	transform: translateY(-1px);
}

.elementor-73.sei-contact-page .elementor-element-773d8018 > .elementor-widget-divider,
.elementor-73.sei-contact-page .elementor-element-2271d702 > .elementor-widget-divider,
.elementor-73.sei-contact-page .elementor-element-487d3d8f > .elementor-widget-divider {
	display: none !important;
}

.elementor-73.sei-contact-page .elementor-element-773d8018 > .elementor-widget,
.elementor-73.sei-contact-page .elementor-element-2271d702 > .elementor-widget,
.elementor-73.sei-contact-page .elementor-element-487d3d8f > .elementor-widget {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.elementor-73.sei-contact-page .elementor-element-773d8018 .elementor-widget-container,
.elementor-73.sei-contact-page .elementor-element-2271d702 .elementor-widget-container,
.elementor-73.sei-contact-page .elementor-element-487d3d8f .elementor-widget-container {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	text-align: left !important;
}

.elementor-73.sei-contact-page .elementor-element-49942e96 .elementor-heading-title,
.elementor-73.sei-contact-page .elementor-element-31ebf1f6 .elementor-heading-title,
.elementor-73.sei-contact-page .elementor-element-6d48620b .elementor-heading-title {
	display: block !important;
	width: 100% !important;
	font-family: var(--sei-font) !important;
	font-size: var(--sei-text-overline) !important;
	font-weight: 600 !important;
	letter-spacing: var(--sei-tracking-wider) !important;
	text-transform: uppercase;
	color: var(--sei-silver-dark) !important;
	-webkit-text-fill-color: var(--sei-silver-dark) !important;
	background: none !important;
	line-height: 1.3 !important;
	margin: 0 0 0.15rem !important;
	hyphens: none !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

.elementor-73.sei-contact-page .elementor-element-4c4d3163 .elementor-heading-title,
.elementor-73.sei-contact-page .elementor-element-6b415b9 .elementor-heading-title,
.elementor-73.sei-contact-page .elementor-element-1d1eb1d3 .elementor-heading-title {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	font-family: var(--sei-font) !important;
	font-size: var(--sei-text-sm) !important;
	font-weight: 500 !important;
	color: var(--sei-silver-bright) !important;
	-webkit-text-fill-color: var(--sei-silver-bright) !important;
	background: none !important;
	line-height: 1.55 !important;
	margin: 0 !important;
	hyphens: none !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	text-wrap: pretty;
}

.elementor-73.sei-contact-page .elementor-element-4c4d3163 .elementor-heading-title {
	font-size: clamp(0.9375rem, 1.2vw, 1rem) !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

.elementor-73.sei-contact-page .elementor-element-6b415b9 .elementor-heading-title {
	max-width: 100%;
}

.elementor-73.sei-contact-page .elementor-element-1d1eb1d3 .elementor-heading-title {
	font-size: clamp(0.8125rem, 1vw, 0.875rem) !important;
	line-height: 1.6 !important;
}

.elementor-73.sei-contact-page .sei-contact-link {
	color: inherit !important;
	text-decoration: none !important;
	transition: color var(--sei-motion-base) var(--sei-ease);
}

.elementor-73.sei-contact-page .sei-contact-link:hover,
.elementor-73.sei-contact-page .sei-contact-link:focus-visible {
	color: var(--sei-silver-light) !important;
}

.elementor-73.sei-contact-page .sei-contact-card {
	--flex-direction: column !important;
	--align-items: flex-start !important;
	--justify-content: flex-start !important;
}

.elementor-73.sei-contact-page .elementor-element-7e1bbcb {
	--width: 100% !important;
	--min-height: auto !important;
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: auto !important;
	padding: clamp(1.25rem, 2.5vw, 2rem) !important;
	border-radius: var(--sei-radius-xl);
	background: var(--sei-black-card) !important;
	border: 1px solid var(--sei-border);
	box-shadow: var(--sei-shadow-glow);
	box-sizing: border-box !important;
}

.elementor-73.sei-contact-page .elementor-element-7e1bbcb > .e-con-inner,
.elementor-73.sei-contact-page .elementor-element-7e1bbcb .elementor-widget-wrap {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.elementor-73.sei-contact-page .elementor-element-7e1bbcb .sei-form .elementor-form-fields-wrapper {
	gap: clamp(0.85rem, 1.5vw, 1.15rem) !important;
}

.elementor-73.sei-contact-page .elementor-element-7e1bbcb .sei-form .elementor-field-group {
	min-width: 0 !important;
}

.elementor-73.sei-contact-page .elementor-element-7e1bbcb .sei-form .elementor-field-textual {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

@media (max-width: 639px) {
	.elementor-73.sei-contact-page .elementor-element-4c4d3163 .elementor-heading-title {
		white-space: normal;
	}

	.elementor-73.sei-contact-page .elementor-element-773d8018,
	.elementor-73.sei-contact-page .elementor-element-2271d702,
	.elementor-73.sei-contact-page .elementor-element-487d3d8f {
		padding: 1rem 1.1rem !important;
	}
}

.elementor-73.sei-contact-page .elementor-element-14f0f255,
.elementor-73.sei-contact-page .elementor-element-7e1bbcb {
	width: 100% !important;
	--width: 100% !important;
}

@media (max-width: 767px) {
	.sei-form .e-form__buttons {
		justify-content: center !important;
	}

	.sei-form .e-form__buttons .elementor-button {
		width: 100%;
		max-width: 320px;
	}

	.elementor-73.sei-contact-page .elementor-element-6c66427 > .e-con-inner,
	.elementor-73.sei-contact-page .elementor-element-169fa7d0 > .e-con-inner {
		padding-inline: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sei-form .elementor-button[type="submit"],
	.sei-form .e-form__buttons .elementor-button {
		transition: none !important;
	}
}
