/*
 * Precifilm Cart Quote — carrito.
 *
 * Solo tokens del child theme (precifilm.css); el valor tras la coma es la
 * reserva por si el tema no estuviera, y coincide con el token.
 *
 * Jerarquía: «Finalizar compra» (naranja, del tema) > «Solicitar presupuesto»
 * (contorno azul, .btn-secondary del tema) > «Enviar solicitud» (azul sólido
 * dentro del panel, nunca naranja: no compite con la compra).
 */

/* ── Botón bajo «Finalizar compra» ─────────────────────────────────────── */
.p-cart .wc-proceed-to-checkout .pfcq-toggle,
.pfcq-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	margin: var(--p-space-3, 12px) 0 0;
	padding: 0 var(--p-space-5, 20px);
	border: 1px solid var(--p-navy, #1a2545);
	border-radius: var(--p-radius-cta, 10px);
	background: transparent;
	color: var(--p-navy, #1a2545);
	font-family: var(--p-font-ui, 'Inter', system-ui, sans-serif);
	font-size: var(--p-fs-body-sm, 14.5px);
	font-weight: var(--p-fw-semibold, 600);
	line-height: 1.2;
	cursor: pointer;
}

.p-cart .wc-proceed-to-checkout .pfcq-toggle:hover,
.pfcq-toggle:hover {
	background: var(--p-navy, #1a2545);
	color: var(--p-text-inv, #fff);
}

.p-cart .wc-proceed-to-checkout .pfcq-toggle[aria-expanded="true"],
.pfcq-toggle[aria-expanded="true"] {
	background: var(--p-navy-soft, rgba(26, 37, 69, .06));
	color: var(--p-navy, #1a2545);
}

.pfcq-toggle:focus-visible,
.pfcq-panel a:focus-visible,
.pfcq-panel button:focus-visible {
	outline: 2px solid var(--p-orange, #eb654e);
	outline-offset: 2px;
}

/* Con el panel abierto, el resumen deja de ser pegajoso: un formulario largo
   dentro de un elemento pegajoso no se podría ver entero en pantallas bajas. */
.p-cart .cart-collaterals.pfcq-abierto { position: static; }

/* ── Panel ──────────────────────────────────────────────────────────────── */
.pfcq-panel {
	box-sizing: border-box;
	margin-top: var(--p-space-4, 16px);
	padding: var(--p-space-5, 20px);
	border: 1px solid var(--p-border, #e2dfd8);
	border-radius: var(--p-radius-lg, 12px);
	background: var(--p-bg, #fff);
	font-family: var(--p-font-ui, 'Inter', system-ui, sans-serif);
	color: var(--p-text, #1a2545);
	scroll-margin-top: var(--p-space-9, 40px);
}

.pfcq-panel[hidden],
.pfcq-panel [hidden] { display: none !important; }

.pfcq-titulo {
	margin: 0 0 var(--p-space-2, 8px);
	font-family: var(--p-font-ui, 'Inter', system-ui, sans-serif);
	font-size: var(--p-fs-h4, 19px);
	font-weight: var(--p-fw-semibold, 600);
	letter-spacing: var(--p-ls-h4, -.02em);
	line-height: var(--p-lh-heading, 1.25);
	color: var(--p-navy, #1a2545);
}

.pfcq-titulo:focus { outline: none; }

.pfcq-intro {
	margin: 0 0 var(--p-space-4, 16px);
	font-size: var(--p-fs-small, 13px);
	line-height: var(--p-lh-body, 1.6);
	color: var(--p-text-2, #5b6171);
}

.pfcq-form {
	display: grid;
	gap: var(--p-space-3, 12px);
}

.pfcq-campo { min-width: 0; }

.pfcq-campo label {
	display: block;
	margin-bottom: 6px;
	font-size: var(--p-fs-xsmall, 12.5px);
	font-weight: var(--p-fw-semibold, 600);
	color: var(--p-text, #1a2545);
}

.pfcq-obligatorio { color: var(--p-orange, #eb654e); }
.pfcq-opcional { font-weight: var(--p-fw-regular, 400); color: var(--p-text-2, #5b6171); }

.pfcq-campo input,
.pfcq-campo textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--p-border, #e2dfd8);
	border-radius: var(--p-radius-btn, 9px);
	background: var(--p-bg, #fff);
	color: var(--p-text, #1a2545);
	font-family: inherit;
	font-size: 14px;
	line-height: 1.4;
}

.pfcq-campo textarea {
	height: auto;
	min-height: 96px;
	padding: 11px 12px;
	resize: vertical;
}

.pfcq-campo input:focus,
.pfcq-campo textarea:focus {
	border-color: var(--p-orange, #eb654e);
	outline: 2px solid var(--p-orange, #eb654e);
	outline-offset: 1px;
}

.pfcq-campo.is-invalid input,
.pfcq-campo.is-invalid textarea { border-color: var(--p-warn, #a85b00); }

.pfcq-error {
	margin: 4px 0 0;
	font-size: var(--p-fs-xsmall, 12.5px);
	color: var(--p-warn, #a85b00);
}

.pfcq-alerta {
	margin: 0 0 var(--p-space-3, 12px);
	padding: 10px 12px;
	border-left: 3px solid var(--p-warn, #a85b00);
	border-radius: var(--p-radius-sm, 5px);
	background: var(--p-warn-soft, rgba(168, 91, 0, .10));
	font-size: var(--p-fs-small, 13px);
	color: var(--p-text, #1a2545);
}

.pfcq-nota,
.pfcq-privacidad {
	margin: 0;
	font-size: var(--p-fs-xsmall, 12.5px);
	line-height: var(--p-lh-snug, 1.35);
	color: var(--p-text-2, #5b6171);
}

.pfcq-privacidad a { color: var(--p-navy, #1a2545); text-decoration: underline; }

/* Trampa antispam: fuera de la vista, pero no «display:none». */
.pfcq-trampa {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.pfcq-panel .pfcq-enviar,
.pfcq-panel .pfcq-accion {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	justify-content: center;
	white-space: normal;
	text-align: center;
}

.pfcq-panel .pfcq-enviar[aria-busy="true"] {
	opacity: .7;
	cursor: progress;
}

/* ── Éxito ──────────────────────────────────────────────────────────────── */
.pfcq-exito__texto {
	margin: 0 0 var(--p-space-3, 12px);
	font-size: var(--p-fs-small, 13px);
	line-height: var(--p-lh-body, 1.6);
	color: var(--p-text-2, #5b6171);
}

.pfcq-exito__ref {
	margin: 0 0 var(--p-space-3, 12px);
	font-size: var(--p-fs-small, 13px);
	font-weight: var(--p-fw-semibold, 600);
	color: var(--p-navy, #1a2545);
}

.pfcq-exito__ref:empty { display: none; }

.pfcq-acciones {
	display: grid;
	gap: var(--p-space-2, 8px);
	margin-top: var(--p-space-4, 16px);
}

/* ── Móvil ──────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
	.pfcq-panel { padding: var(--p-space-4, 16px); }

	/* 16px: por debajo, iOS amplía la página al enfocar el campo. */
	.pfcq-campo input,
	.pfcq-campo textarea { font-size: 16px; }

	.p-cart .wc-proceed-to-checkout .pfcq-toggle,
	.pfcq-toggle { min-height: 48px; }
}
