/*
 * Pola3D Producción Final 1.0.0
 * Capa deliberadamente pequeña: corrige conflictos confirmados sin rediseñar
 * las plantillas, sin JavaScript y sin recursos externos.
 */

/* -------------------------------------------------------------------------
 * WooCommerce en escritorio
 * ---------------------------------------------------------------------- */

body.p3pf-production-final.woocommerce-checkout.p3cp-enabled
form.checkout.woocommerce-checkout.p3cp-checkout-form.ct-woocommerce-checkout {
	display: block;
	width: min(1180px, calc(100% - 36px));
	margin-inline: auto;
}

body.p3pf-production-final.woocommerce-checkout.p3cp-enabled
.p3cp-checkout-form > .p3cp-checkout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
	gap: 22px;
	width: 100%;
}

body.p3pf-production-final.woocommerce-checkout.p3cp-enabled
:is(
	.p3cp-checkout-fields,
	.p3cp-checkout-summary,
	.ct-customer-details,
	#customer_details,
	#customer_details .col-1,
	#customer_details .col-2,
	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	#order_review
) {
	min-width: 0;
	width: 100%;
	max-width: none;
}

body.p3pf-production-final.single-product.p3cp-enabled
form.cart > .pola3d-stock-badge {
	grid-column: 1 / -1;
	width: 100%;
	max-width: none;
}

body.p3pf-production-final.woocommerce-account .hero-section,
body.p3pf-production-final.woocommerce-account [class*="page-title"]:empty {
	display: none;
}

body.p3pf-production-final.woocommerce-account
:is(#main-container, .site-main, .ct-container-full, .entry-content) {
	min-height: 0;
	background: #050505;
}

body.p3pf-production-final.woocommerce-account .site-main {
	padding: 56px 18px 70px;
}

body.p3pf-production-final.woocommerce-account
:is(#customer_login, .woocommerce-form-login, .woocommerce-form-register) {
	width: min(560px, 100%);
	margin: 0 auto;
	padding: 28px;
	border: 1px solid rgba(217, 168, 77, .24);
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .025), transparent), #0b0b0a;
	box-shadow: 0 22px 60px rgba(0, 0, 0, .28);
}

body.p3pf-production-final.woocommerce-account
:is(.woocommerce-form-login, .woocommerce-form-register) {
	float: none;
	max-width: none;
}

/* -------------------------------------------------------------------------
 * Iconografía móvil consistente
 *
 * El plugin Compatibilidad Móvil continúa retirando físicamente los SVG.
 * Esta capa oculta sus letras de respaldo y dibuja controles simples con CSS.
 * ---------------------------------------------------------------------- */

@media (max-width: 900px) {
	body.p3pf-production-final {
		overflow-x: clip;
		touch-action: pan-y;
	}

	body.p3pf-production-final
	:is(#main-container, main, .site-main, .entry-content, .p3cp-page, .p3c-catalog) {
		max-width: 100%;
	}

	body.p3pf-production-final.p3mc-mobile-polish-v211 .p3mc-icon {
		position: relative;
		display: inline-block;
		width: 20px;
		min-width: 20px;
		height: 20px;
		overflow: visible;
		color: currentColor;
		font-size: 0;
		line-height: 1;
		vertical-align: middle;
	}

	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3mc-icon::before,
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3mc-icon::after {
		content: "";
		position: absolute;
		box-sizing: border-box;
		display: block;
	}

	/* Lupa */
	body.p3pf-production-final .p3mc-icon--search::before {
		inset: 2px 6px 6px 2px;
		border: 1.8px solid currentColor;
		border-radius: 50%;
	}

	body.p3pf-production-final .p3mc-icon--search::after {
		right: 1px;
		bottom: 2px;
		width: 7px;
		height: 2px;
		border-radius: 2px;
		background: currentColor;
	}

	/* Usuario */
	body.p3pf-production-final .p3mc-icon--account::before {
		top: 1px;
		left: 7px;
		width: 7px;
		height: 7px;
		border: 1.6px solid currentColor;
		border-radius: 50%;
	}

	body.p3pf-production-final .p3mc-icon--account::after {
		left: 3px;
		bottom: 1px;
		width: 14px;
		height: 8px;
		border: 1.6px solid currentColor;
		border-bottom: 0;
		border-radius: 10px 10px 0 0;
	}

	/* Carrito */
	body.p3pf-production-final .p3mc-icon--cart::before {
		top: 5px;
		left: 4px;
		width: 13px;
		height: 9px;
		border: 1.6px solid currentColor;
		border-top: 0;
		border-radius: 0 0 3px 3px;
	}

	body.p3pf-production-final .p3mc-icon--cart::after {
		left: 6px;
		bottom: 1px;
		width: 3px;
		height: 3px;
		border-radius: 50%;
		background: currentColor;
		box-shadow: 7px 0 0 currentColor;
	}

	/* Menú */
	body.p3pf-production-final .p3mc-icon--menu::before {
		top: 4px;
		left: 2px;
		width: 16px;
		height: 2px;
		border-radius: 2px;
		background: currentColor;
		box-shadow: 0 5px 0 currentColor, 0 10px 0 currentColor;
	}

	/* Cerrar y controles tipográficos estables */
	body.p3pf-production-final .p3mc-icon--close::before {
		content: "×";
		inset: 0;
		position: static;
		display: grid;
		width: 100%;
		height: 100%;
		place-items: center;
		font: 700 22px/1 Arial, Helvetica, sans-serif;
	}

	body.p3pf-production-final
	:is(.p3mc-icon--arrow, .p3mc-icon--action)::before {
		content: "›";
		inset: 0;
		position: static;
		display: grid;
		width: 100%;
		height: 100%;
		place-items: center;
		font: 700 23px/1 Arial, Helvetica, sans-serif;
	}

	body.p3pf-production-final .p3mc-icon--down::before {
		content: "⌄";
		inset: 0;
		position: static;
		display: grid;
		width: 100%;
		height: 100%;
		place-items: center;
		font: 700 17px/1 Arial, Helvetica, sans-serif;
	}

	/* Burbuja de chat / WhatsApp sin logotipo externo */
	body.p3pf-production-final
	:is(.p3mc-icon--chat, .p3mc-icon--whatsapp)::before {
		inset: 2px 2px 4px;
		border: 1.6px solid currentColor;
		border-radius: 50%;
	}

	body.p3pf-production-final
	:is(.p3mc-icon--chat, .p3mc-icon--whatsapp)::after {
		left: 4px;
		bottom: 2px;
		width: 5px;
		height: 5px;
		border-left: 1.6px solid currentColor;
		border-bottom: 1.6px solid currentColor;
	}

	/* Entrega */
	body.p3pf-production-final .p3mc-icon--truck::before {
		top: 6px;
		left: 1px;
		width: 12px;
		height: 8px;
		border: 1.5px solid currentColor;
		border-radius: 2px 0 0 2px;
	}

	body.p3pf-production-final .p3mc-icon--truck::after {
		right: 1px;
		bottom: 2px;
		width: 4px;
		height: 4px;
		border-radius: 50%;
		background: currentColor;
		box-shadow: -10px 0 0 currentColor;
	}

	/* Bolsa / archivo / caja */
	body.p3pf-production-final
	:is(.p3mc-icon--bag, .p3mc-icon--grid)::before {
		inset: 4px 3px 2px;
		border: 1.5px solid currentColor;
		border-radius: 3px;
	}

	body.p3pf-production-final .p3mc-icon--bag::after {
		top: 1px;
		left: 7px;
		width: 7px;
		height: 6px;
		border: 1.5px solid currentColor;
		border-bottom: 0;
		border-radius: 5px 5px 0 0;
	}

	body.p3pf-production-final .p3mc-icon--grid::after {
		top: 9px;
		left: 3px;
		width: 14px;
		height: 1px;
		background: currentColor;
		box-shadow: 0 -5px 0 currentColor;
	}

	/* Inicio */
	body.p3pf-production-final .p3mc-icon--home::before {
		inset: 4px 3px 2px;
		border: 1.5px solid currentColor;
		border-radius: 5px 5px 2px 2px;
	}

	body.p3pf-production-final .p3mc-icon--home::after {
		left: 8px;
		bottom: 2px;
		width: 5px;
		height: 7px;
		border: 1.4px solid currentColor;
		border-bottom: 0;
	}

	/* Estado / confirmación */
	body.p3pf-production-final
	:is(.p3mc-icon--clock, .p3mc-icon--check)::before {
		inset: 2px;
		border: 1.5px solid currentColor;
		border-radius: 50%;
	}

	body.p3pf-production-final .p3mc-icon--clock::after {
		top: 5px;
		left: 9px;
		width: 1.5px;
		height: 6px;
		border-radius: 2px;
		background: currentColor;
		box-shadow: 3px 5px 0 -0.2px currentColor;
	}

	body.p3pf-production-final .p3mc-icon--check::after {
		content: "✓";
		inset: 0;
		position: static;
		display: grid;
		width: 100%;
		height: 100%;
		place-items: center;
		font: 700 14px/1 Arial, Helvetica, sans-serif;
	}

	/* Instagram */
	body.p3pf-production-final .p3mc-icon--instagram::before {
		inset: 2px;
		border: 1.6px solid currentColor;
		border-radius: 5px;
	}

	body.p3pf-production-final .p3mc-icon--instagram::after {
		top: 6px;
		left: 6px;
		width: 8px;
		height: 8px;
		border: 1.5px solid currentColor;
		border-radius: 50%;
		box-shadow: 5px -5px 0 -3px currentColor;
	}

	body.p3pf-production-final .p3mc-icon--facebook::before {
		content: "f";
		inset: 0;
		position: static;
		display: grid;
		width: 100%;
		height: 100%;
		place-items: center;
		border: 1.5px solid currentColor;
		border-radius: 50%;
		font: 700 15px/1 Arial, Helvetica, sans-serif;
	}

	body.p3pf-production-final .p3mc-icon--pin::before {
		inset: 2px 4px 5px;
		border: 1.5px solid currentColor;
		border-radius: 50% 50% 45% 45%;
		background: radial-gradient(circle, currentColor 0 2px, transparent 2.5px);
	}

	/* Destello y reproducción */
	body.p3pf-production-final .p3mc-icon--spark::before {
		content: "✦";
		inset: 0;
		position: static;
		display: grid;
		width: 100%;
		height: 100%;
		place-items: center;
		font: 700 17px/1 Arial, Helvetica, sans-serif;
	}

	body.p3pf-production-final .p3mc-icon--play::before {
		content: "›";
		inset: 0;
		position: static;
		display: grid;
		width: 100%;
		height: 100%;
		place-items: center;
		font: 700 20px/1 Arial, Helvetica, sans-serif;
	}

	/* Los beneficios y pasos ya no muestran S, E, 3D o ig improvisados. */
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-proof > span:nth-child(1)::before,
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-proof > span:nth-child(2)::before,
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-proof > span:nth-child(3)::before,
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-process article:nth-child(1) > i::before,
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-process article:nth-child(2) > i::before,
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-process article:nth-child(3) > i::before,
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-process article:nth-child(4) > i::before,
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-file__icon::before,
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-instagram-head > div > span::before,
	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-instagram-fallback__icon::before {
		content: "";
		font-size: 0;
	}

	body.p3pf-production-final .p3h8-proof > span::before {
		width: 18px;
		height: 18px;
		border: 1.5px solid currentColor;
		border-radius: 50%;
		background: radial-gradient(circle, currentColor 0 2px, transparent 2.5px);
	}

	body.p3pf-production-final .p3h8-process article > i {
		position: relative;
	}

	body.p3pf-production-final .p3h8-process article > i::before {
		position: absolute;
		inset: 6px;
		display: block;
		border: 1.5px solid currentColor;
		border-radius: 7px;
	}

	body.p3pf-production-final .p3h8-file__icon::before {
		width: 24px;
		height: 30px;
		border: 2px solid currentColor;
		border-radius: 4px;
		background:
			linear-gradient(currentColor 0 0) 5px 10px / 12px 2px no-repeat,
			linear-gradient(currentColor 0 0) 5px 16px / 12px 2px no-repeat,
			linear-gradient(currentColor 0 0) 5px 22px / 8px 2px no-repeat;
	}

	body.p3pf-production-final
	:is(.p3h8-instagram-head > div > span, .p3h8-instagram-fallback__icon) {
		position: relative;
	}

	body.p3pf-production-final .p3h8-instagram-head > div > span::before,
	body.p3pf-production-final .p3h8-instagram-fallback__icon::before {
		width: 28px;
		height: 28px;
		border: 2px solid var(--p3mc-gold-2, #f0ca75);
		border-radius: 8px;
		background: radial-gradient(circle, transparent 0 5px, var(--p3mc-gold-2, #f0ca75) 5.5px 7px, transparent 7.5px);
	}

	body.p3pf-production-final.p3mc-mobile-polish-v211
	.p3h8-actions .p3h8-btn--wa::after {
		content: "";
		position: relative;
		width: 20px;
		height: 20px;
		margin-left: .45em;
		display: inline-block;
		border: 1.5px solid currentColor;
		border-radius: 50%;
		background: radial-gradient(circle at 38% 50%, currentColor 0 1.2px, transparent 1.7px);
		box-shadow: none;
	}

	/* Un único + / − en FAQ. */
	body.p3pf-production-final .p3h8-faq summary > i .p3mc-icon {
		display: none;
	}

	body.p3pf-production-final .p3h8-faq summary > i::before {
		content: "+";
		font: 700 18px/1 Arial, Helvetica, sans-serif;
	}

	body.p3pf-production-final .p3h8-faq details[open] summary > i::before {
		content: "−";
	}

	/* Producto, carrito, checkout, recibo y cuenta sin columnas residuales. */
	body.p3pf-production-final.single-product.p3cp-enabled
	form.cart > .pola3d-stock-badge {
		grid-column: 1 / -1;
	}

	body.p3pf-production-final.woocommerce-checkout.p3cp-enabled
	form.checkout.woocommerce-checkout.p3cp-checkout-form.ct-woocommerce-checkout {
		display: block;
		width: calc(100% - 24px);
	}

	body.p3pf-production-final.woocommerce-checkout.p3cp-enabled
	.p3cp-checkout-form > .p3cp-checkout-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	body.p3pf-production-final
	:is(
		.p3cp-cart-layout,
		.p3cp-checkout-grid,
		.p3cp-thankyou-grid,
		.woocommerce-order-details,
		.woocommerce-customer-details,
		.woocommerce-MyAccount-content
	) {
		min-width: 0;
		max-width: 100%;
	}

	body.p3pf-production-final.woocommerce-account .site-main {
		padding: 24px 12px 44px;
	}

	body.p3pf-production-final.woocommerce-account
	:is(#customer_login, .woocommerce-form-login, .woocommerce-form-register) {
		padding: 18px;
		border-radius: 17px;
		box-shadow: none;
	}

	body.p3pf-production-final .show-password-input::before {
		content: "";
		width: 18px;
		height: 12px;
		border: 1.5px solid currentColor;
		border-radius: 50%;
		background: radial-gradient(circle, currentColor 0 2px, transparent 2.5px);
	}

	body.p3pf-production-final .show-password-input::after {
		display: none;
		content: none;
	}
}

@media (max-width: 680px) {
	body.p3pf-production-final.woocommerce-checkout.p3cp-enabled
	:is(.p3cp-checkout-fields, .p3cp-checkout-summary) {
		padding: 18px 14px;
	}

	body.p3pf-production-final
	:is(.shop_table, .woocommerce-checkout-review-order-table) {
		max-width: 100%;
	}
}
