/*
 * Vista Landing del Cotizador PROAM.
 * Se carga exclusivamente con [proam_cotizador vista="landing"].
 * No modifica la vista clásica [proam_cotizador].
 */
.proam-quote--landing {
	--proam-dark: #111111;
	--proam-green: #111111;
	--proam-light: #f7f7f4;
	--proam-yellow: #ffd400;
	--proam-text: #111111;
	--proam-muted: #666660;
	--proam-border: #e2e2dd;
	width: 100%;
	max-width: none;
	margin: 0;
	color: var(--proam-text);
	container-type: inline-size;
}

/* La landing ya aporta el título y la tarjeta exterior. */
.proam-quote--landing .proam-quote-shell {
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.proam-quote--landing .proam-quote-intro {
	display: none;
}

.proam-quote--landing .proam-quote-form {
	padding: 0;
}

.proam-quote--landing .proam-form-grid {
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 0.9rem 1rem;
}

.proam-quote--landing .proam-field > span,
.proam-quote--landing .proam-fieldset legend {
	font-size: 0.9rem;
	font-weight: 800;
}

.proam-quote--landing .proam-field input,
.proam-quote--landing .proam-field select,
.proam-quote--landing .proam-field textarea {
	min-height: 46px;
	border-color: #cfcfca;
	border-radius: 10px;
	background: #fff;
}

.proam-quote--landing .proam-field input:focus,
.proam-quote--landing .proam-field select:focus,
.proam-quote--landing .proam-field textarea:focus,
.proam-quote--landing .proam-check:focus-within {
	outline-color: rgba(255, 212, 0, 0.42);
	border-color: #111111;
}

.proam-quote--landing .proam-pests {
	margin-top: 1rem;
}

.proam-quote--landing .proam-check-grid {
	grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
	gap: 0.5rem;
}

.proam-quote--landing .proam-check {
	padding: 0.65rem 0.7rem;
	border-radius: 10px;
	background: #f8f8f5;
}

.proam-quote--landing .proam-check--preventive {
	background: #fff7cc;
	border-color: #e7c72f;
}

.proam-quote--landing .proam-check--preventive:hover,
.proam-quote--landing .proam-check--preventive:focus-within {
	background: #fff0a8;
	border-color: #cfae00;
}

.proam-quote--landing .proam-check input,
.proam-quote--landing .proam-privacy-check input {
	accent-color: #111111;
}

.proam-quote--landing .proam-consortium-fields {
	margin: 1rem 0;
	padding: 1rem;
	border-color: #e5d25c;
	background: #fffdf0;
}

.proam-quote--landing .proam-consortium-fields h3 {
	margin-bottom: 0.25rem;
}

.proam-quote--landing .proam-consortium-fields > p {
	margin-bottom: 0.85rem;
	color: var(--proam-muted);
}

.proam-quote--landing .proam-consortium-field > span {
	font-size: 0.9rem;
	font-weight: 800;
}

.proam-quote--landing .proam-consortium-field > span small {
	font-size: 0.74em;
	font-weight: 700;
}

.proam-quote--landing .proam-consortium-field > span .proam-inline-unit {
	font-size: 0.98em;
	font-weight: 800;
	color: inherit;
}

.proam-quote--landing .proam-calculate-action {
	margin-top: 1rem;
	align-items: stretch;
}

.proam-quote--landing .proam-button {
	min-height: 50px;
	border-radius: 11px;
	background: #ffd400;
	color: #111111;
}

.proam-quote--landing .proam-button:focus-visible {
	outline-color: #111111;
}

.proam-quote--landing .proam-plugin-version {
	align-self: flex-end;
	padding-left: 0;
	font-size: 0.68rem;
}

/* Resultado: mismos datos y acciones de la vista clásica, con estética de landing. */
.proam-quote--landing .proam-result,
.proam-quote--landing .proam-contact {
	margin-top: 1rem;
}

.proam-quote--landing .proam-result-card,
.proam-quote--landing .proam-contact {
	padding: clamp(1rem, 3vw, 1.5rem);
	border-color: #deded8;
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(17, 17, 17, 0.07);
}

.proam-quote--landing .proam-result-header {
	margin-bottom: 1rem;
}

.proam-quote--landing .proam-badge {
	background: #fff5b8;
	color: #111111;
}

.proam-quote--landing .proam-badge--partial,
.proam-quote--landing .proam-badge--manual {
	background: #fff2a3;
	color: #4c3b00;
}

.proam-quote--landing .proam-price-grid {
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 0.65rem;
}

.proam-quote--landing .proam-pricing-group {
	padding: 0.85rem;
	border-radius: 12px;
}

.proam-quote--landing .proam-price-option {
	padding: 0.85rem;
	border-radius: 11px;
	background: #f8f8f5;
}

.proam-quote--landing .proam-price-option--discount {
	border-color: #ffd400;
	box-shadow: inset 0 0 0 1px rgba(255, 212, 0, 0.28);
}

.proam-quote--landing .proam-price-value {
	color: #111111;
}

.proam-quote--landing .proam-discount-badge {
	background: #ffd400;
	color: #111111;
}

.proam-quote--landing .proam-recommended-badge {
	background: #111111;
	color: #ffffff;
}

.proam-quote--landing .proam-result-section--benefits {
	color: #111111;
}

.proam-quote--landing .proam-privacy-check a {
	color: #111111;
	font-weight: 700;
}

/* Respuesta basada en el ancho real del contenedor, no en el viewport. */
@container (max-width: 560px) {
	.proam-quote--landing .proam-form-grid,
	.proam-quote--landing .proam-price-grid {
		grid-template-columns: 1fr;
	}

	.proam-quote--landing .proam-price-spacer {
		display: none;
	}

	.proam-quote--landing .proam-check-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@container (max-width: 390px) {
	.proam-quote--landing .proam-check-grid {
		grid-template-columns: 1fr;
	}

	.proam-quote--landing .proam-button {
		width: 100%;
	}
}


/* Comparador de planes: versión visual para Landing. */
.proam-quote--landing .proam-plan-comparison {
	margin-top: 1rem;
	padding: 1rem;
	border-color: #e3dfc3;
	background: #fffdf4;
}

.proam-quote--landing .proam-plan-comparison__header h3 {
	font-size: 1rem;
}

.proam-quote--landing .proam-plan-comparison__table thead th {
	background: #f5f5f1;
}

.proam-quote--landing .proam-plan-comparison__table td.is-included {
	color: #111111;
}

.proam-quote--landing .proam-plan-comparison[data-selected-plan="basic"] [data-plan-column="basic"],
.proam-quote--landing .proam-plan-comparison[data-selected-plan="plus"] [data-plan-column="plus"] {
	background: #fff8d2;
	box-shadow: inset 2px 0 0 #ffd400, inset -2px 0 0 #ffd400;
}

.proam-quote--landing .proam-plan-comparison[data-selected-plan="basic"] thead [data-plan-column="basic"],
.proam-quote--landing .proam-plan-comparison[data-selected-plan="plus"] thead [data-plan-column="plus"] {
	background: #ffd400;
	color: #111111;
}

@container (max-width: 620px) {
	.proam-quote--landing .proam-plan-comparison__table {
		min-width: 500px;
	}
}


/* 1.5.18 — Responsive fino de la vista Landing. */
@container (max-width: 860px) {
	.proam-quote--landing .proam-form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.proam-quote--landing .proam-check-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.proam-quote--landing .proam-result-card,
	.proam-quote--landing .proam-contact {
		padding: 1.1rem;
	}
}

@container (max-width: 620px) {
	.proam-quote--landing .proam-consortium-field {
		grid-template-rows: auto auto;
	}

	.proam-quote--landing .proam-form-grid,
	.proam-quote--landing .proam-price-grid {
		grid-template-columns: 1fr;
	}

	.proam-quote--landing .proam-check-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.proam-quote--landing .proam-check {
		padding: 0.58rem 0.62rem;
		font-size: 0.95rem;
	}

	.proam-quote--landing .proam-plan-comparison {
		padding: 0.7rem;
	}

	.proam-quote--landing .proam-plan-comparison__table-wrap {
		overflow-x: visible;
	}

	.proam-quote--landing .proam-plan-comparison__table {
		min-width: 0;
		font-size: 0.74rem;
	}

	.proam-quote--landing .proam-plan-comparison__table tr > *:first-child {
		width: 58%;
	}

	.proam-quote--landing .proam-plan-comparison__table td {
		width: 21%;
	}

	.proam-quote--landing .proam-plan-comparison__table th,
	.proam-quote--landing .proam-plan-comparison__table td {
		padding: 0.45rem 0.32rem;
		line-height: 1.2;
	}

	.proam-quote--landing .proam-result-card,
	.proam-quote--landing .proam-contact,
	.proam-quote--landing .proam-consortium-fields {
		padding: 0.9rem;
	}
}

@container (max-width: 390px) {
	.proam-quote--landing .proam-plan-comparison__header h3 {
		font-size: 0.95rem;
	}

	.proam-quote--landing .proam-plan-comparison__header p {
		font-size: 0.8rem;
	}

	.proam-quote--landing .proam-plan-comparison__table {
		font-size: 0.67rem;
	}

	.proam-quote--landing .proam-plan-comparison__table th,
	.proam-quote--landing .proam-plan-comparison__table td {
		padding: 0.35rem 0.22rem;
	}

	.proam-quote--landing .proam-button {
		width: 100%;
	}

	.proam-quote--landing .proam-privacy-check {
		font-size: 0.88rem;
	}
}

/* Solo pantallas extremadamente angostas vuelven a una columna. */
@container (max-width: 340px) {
	.proam-quote--landing .proam-check-grid {
		grid-template-columns: 1fr;
	}
}


/* v1.5.24: promociones compactas, precio y descuento en una sola fila. */
.proam-promotion-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.proam-promotion-prices{min-width:0;flex:1}
.proam-price-strike{text-decoration:line-through;color:#65746d;font-size:14px;margin:3px 0}
.proam-promotion-badge{background:#e4f1e8;color:#14583a;border-radius:10px;padding:7px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:80px;flex-shrink:0}
.proam-promotion-badge small{font-size:10px;font-weight:800;line-height:1.2;letter-spacing:.02em}
.proam-promotion-badge strong{font-size:22px;line-height:1.1}
@media(max-width:600px){.proam-promotion-line{gap:6px}.proam-promotion-badge{min-width:67px;padding:6px}.proam-promotion-badge strong{font-size:19px}.proam-promotion-badge small{font-size:9px}.proam-promotion-prices .proam-price-value{font-size:clamp(17px,5vw,26px)}}


/* v1.5.25 — Solo presentación de las promociones 2/3; no modifica precios. */
.proam-price-grid--three-applications { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.proam-price-grid--three-applications > .proam-price-option { min-width: 0; }
/* Igualar línea de precio final con la de las opciones que tienen importe tachado. */
.proam-price-grid--three-applications .proam-price-option--single .proam-price-value { margin-top: 0.2rem; }
.proam-price-grid--three-applications .proam-price-option--single .proam-price-label::after {
 content: ''; display:block; height: 24px;
}
.proam-promotion-badge {
 background:#ffd400; color:#101b31; border:2px solid #e1a900;
 box-shadow: 0 3px 10px rgba(128,91,0,.16); border-radius:12px;
 padding:8px 9px; min-width:77px;
}
.proam-promotion-badge strong { color:#071e42; font-weight:900; font-size:25px; }
.proam-promotion-badge small { color:#071e42; font-weight:900; }
.proam-price-grid--three-applications .proam-price-option { padding: .85rem; }
.proam-price-grid--three-applications .proam-promotion-line { gap:6px; }
.proam-price-grid--three-applications .proam-price-value { font-size:clamp(1.25rem,2.2vw,2rem); }
@media(max-width:1050px) and (min-width:721px) {
 .proam-price-grid--three-applications { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
 .proam-price-grid--three-applications { grid-template-columns:1fr; }
}

/* En landing manda el ancho real de Elementor, no solo el ancho de pantalla. */
@container (min-width: 960px) {
 .proam-quote--landing .proam-price-grid--three-applications { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@container (min-width: 620px) and (max-width: 959px) {
 .proam-quote--landing .proam-price-grid--three-applications { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container (max-width: 619px) {
 .proam-quote--landing .proam-price-grid--three-applications { grid-template-columns:1fr; }
}

/* v1.5.27: evitar superposicion entre importe y promocion en tarjetas angostas.
   No altera datos ni logica comercial. */
.proam-price-option { container-type:inline-size; }
.proam-promotion-line { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:10px; width:100%; min-width:0; }
.proam-promotion-prices { min-width:0; }
.proam-promotion-prices .proam-price-value { white-space:nowrap; }
.proam-promotion-badge { min-width:0; width:fit-content; max-width:100%; box-sizing:border-box; }
/* Para una tarjeta de tres columnas, reservar una linea completa al precio.
   La promocion queda a la derecha del precio de lista, sin tapar el importe final. */
@container (max-width: 410px) {
  .proam-promotion-line { grid-template-columns:minmax(0,1fr) auto; align-items:start; row-gap:2px; }
  .proam-promotion-prices { display:contents; }
  .proam-promotion-prices .proam-price-strike { grid-column:1; grid-row:1; align-self:center; }
  .proam-promotion-prices .proam-price-value { grid-column:1 / -1; grid-row:2; font-size:clamp(1.35rem, 7cqw, 2rem); margin:0; }
  .proam-promotion-badge { grid-column:2; grid-row:1; padding:5px 8px; }
  .proam-promotion-badge strong { font-size:21px; }
  .proam-promotion-badge small { font-size:9px; }
  .proam-price-grid--three-applications .proam-price-option--single .proam-price-label::after { height:66px; }
}
/* Previene que importes largos se dibujen debajo de un elemento adyacente. */
@container (max-width: 240px) {
  .proam-promotion-prices .proam-price-value { font-size:clamp(1rem, 7cqw, 1.5rem); }
}


/* v1.5.29 - Estructura de promociones: la etiqueta nunca invade el precio.
   Se limita a la grilla de las tres aplicaciones; los demás resultados quedan intactos. */
.proam-price-grid--three-applications > .proam-price-option {
  position:relative;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  min-width:0;
  min-height:174px;
  overflow:hidden;
}
.proam-price-grid--three-applications .proam-price-label {
  margin:0;
  padding:0;
  flex:none;
}
.proam-price-grid--three-applications .proam-price-option--single .proam-price-label::after {
  content:none;
  display:none;
}
.proam-price-grid--three-applications .proam-promotion-line {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-end;
  flex:1;
  min-width:0;
  width:100%;
  margin:0;
  gap:0;
}
.proam-price-grid--three-applications .proam-promotion-prices {
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  flex:1;
  min-width:0;
  width:100%;
  padding-top:54px;
  box-sizing:border-box;
}
.proam-price-grid--three-applications .proam-price-strike {
  margin:0 0 4px;
  line-height:1.2;
  flex:none;
}
.proam-price-grid--three-applications .proam-price-value {
  box-sizing:border-box;
  margin-top:auto;
  white-space:nowrap;
  font-size:clamp(1.4rem, 9cqw, 2rem);
  line-height:1.2;
  max-width:100%;
}
.proam-price-grid--three-applications .proam-price-option--single > .proam-price-value {
  margin-top:auto;
  font-size:clamp(1.4rem, 9cqw, 2rem);
}
.proam-price-grid--three-applications .proam-promotion-badge {
  position:absolute;
  top:42px;
  right:12px;
  grid-column:auto;
  grid-row:auto;
  width:auto;
  min-width:0;
  max-width:calc(100% - 24px);
  margin:0;
  padding:5px 8px;
  box-sizing:border-box;
  z-index:1;
}
.proam-price-grid--three-applications .proam-promotion-badge strong { font-size:21px; line-height:1.1; }
.proam-price-grid--three-applications .proam-promotion-badge small { font-size:9px; }
@container (max-width:240px) {
  .proam-price-grid--three-applications .proam-price-value,
  .proam-price-grid--three-applications .proam-price-option--single > .proam-price-value {
    font-size:clamp(1.1rem,7cqw,1.5rem);
  }
}


/* v1.5.29 — tarjetas 1/2/3: compactas, importes grandes y promoción sin superposición.
   Se aplica sólo cuando están disponibles las tres opciones individuales. */
.proam-pricing-group { container-type: inline-size; }
.proam-price-grid--three-applications {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;
}
.proam-price-grid--three-applications > .proam-price-option {
  display:flex; flex-direction:column; position:relative; min-height:162px;
  padding:15px 16px !important; min-width:0; overflow:hidden;
  box-sizing:border-box; container-type:normal;
}
.proam-price-grid--three-applications .proam-price-label {
  margin:0; padding:0; line-height:1.25; font-size:17px; font-weight:800;
}
.proam-price-grid--three-applications .proam-price-option--single .proam-price-label::after { content:none; display:none; }
.proam-price-grid--three-applications .proam-promotion-line {
  display:flex; flex-direction:column; justify-content:flex-end; align-items:stretch;
  width:100%; min-width:0; flex:1; margin:0; gap:0;
}
.proam-price-grid--three-applications .proam-promotion-prices {
  display:flex; flex-direction:column; justify-content:flex-end;
  align-items:flex-start; flex:1; padding-top:44px; width:100%; min-width:0;
}
.proam-price-grid--three-applications .proam-price-strike {
  display:block; font-size:14px; line-height:1.15; margin:0 0 5px;
  text-decoration:line-through; color:#687770;
}
.proam-price-grid--three-applications .proam-price-value,
.proam-price-grid--three-applications .proam-price-option--single > .proam-price-value {
  display:block; width:100%; max-width:100%; margin:0 !important; margin-top:auto !important;
  padding:0; font-size:clamp(23px,2.25vw,32px) !important;
  font-weight:850; line-height:1.17; letter-spacing:-.035em; white-space:nowrap;
}
.proam-price-grid--three-applications .proam-price-option--single > .proam-price-value { margin-top:auto !important; }
.proam-price-grid--three-applications .proam-promotion-badge {
  position:absolute; top:12px; right:12px; bottom:auto; left:auto;
  width:auto; max-width:calc(100% - 24px); min-width:0;
  margin:0; padding:6px 9px; z-index:1;
  display:flex; flex-direction:column; align-items:center; gap:1px;
  background:#ffd400; color:#071e42; border:1px solid #d9ad00;
  border-radius:11px; box-shadow:0 2px 7px #0002;
}
.proam-price-grid--three-applications .proam-promotion-badge small { color:#071e42; font-size:9px; font-weight:900; line-height:1.15; }
.proam-price-grid--three-applications .proam-promotion-badge strong { color:#071e42; font-size:23px; font-weight:900; line-height:1.05; }
/* La distribución responde al ancho real del grupo, no al viewport. */
@container (max-width:760px) {
 .proam-price-grid--three-applications { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container (max-width:500px) {
 .proam-price-grid--three-applications { grid-template-columns:1fr; }
 .proam-price-grid--three-applications > .proam-price-option { min-height:145px; }
 .proam-price-grid--three-applications .proam-price-value,
 .proam-price-grid--three-applications .proam-price-option--single > .proam-price-value { font-size:30px !important; }
}


/* v1.5.32 — Mensajes comerciales, sin cambios al motor de cálculo. */
.proam-price-grid--three-applications .proam-promotion-badge {
  padding:7px 9px; min-width:105px; max-width:calc(100% - 18px);
}
.proam-price-grid--three-applications .proam-promotion-badge strong {
  font-size:clamp(15px,1.5vw,20px); white-space:nowrap;
}
.proam-price-grid--three-applications .proam-promotion-badge .proam-promotion-scope {
  max-width:120px; text-align:center; font-size:8px; line-height:1.15; letter-spacing:0;
}
.proam-price-grid--three-applications > .proam-price-option { min-height:172px; }
.proam-price-grid--three-applications .proam-promotion-prices { padding-top:57px; }
.proam-price-includes { font-size:12px; line-height:1.3; margin:7px 0 0; color:#52615b; font-weight:650; }
@container (max-width:500px) {
 .proam-price-grid--three-applications .proam-promotion-badge strong { font-size:19px; }
 .proam-price-grid--three-applications > .proam-price-option { min-height:158px; }
}


/* v1.5.33 — Promoción opción 2: destacar el porcentaje y su alcance,
   sin palabra PROMOCIÓN. En escritorio se amplía legibilidad sin invadir precios.
   En móvil se mantiene un tamaño similar al que ya resultaba legible. */
.proam-price-grid--three-applications .proam-promotion-badge {
  width: 154px;
  min-width: 0;
  max-width: calc(100% - 22px);
  padding: 9px 10px;
  box-sizing: border-box;
  gap: 4px;
}
.proam-price-grid--three-applications .proam-promotion-badge strong {
  font-size: 25px;
  line-height: 1.05;
  white-space: nowrap;
}
.proam-price-grid--three-applications .proam-promotion-badge .proam-promotion-scope {
  display:block;
  width:100%;
  max-width: 132px;
  font-size: 11px;
  line-height: 1.22;
  text-align: center;
  white-space: normal;
  overflow-wrap: normal;
}
@container (max-width:500px) {
  .proam-price-grid--three-applications .proam-promotion-badge {
    width: auto;
    min-width: 0;
    max-width: calc(100% - 24px);
    padding: 9px 10px;
  }
  .proam-price-grid--three-applications .proam-promotion-badge strong {font-size: 23px;}
  .proam-price-grid--three-applications .proam-promotion-badge .proam-promotion-scope {font-size: 10px;max-width:132px;}
}

/* Reservar espacio al título frente a la insignia de mayor tamaño. */
.proam-price-grid--three-applications .proam-price-option--promotion > .proam-price-label {
  max-width: calc(100% - 150px);
  overflow-wrap: normal;
}
@container (max-width:500px) {
  .proam-price-grid--three-applications .proam-price-option--promotion > .proam-price-label { max-width: calc(100% - 150px); }
}


/* v1.5.34 — Franja promocional integrada al pie (sin etiquetas flotantes).
   Sólo afecta la grilla de 1, 2 y 3 aplicaciones; no modifica otros abonos.
   La franja NO tapa títulos, importes ni descripciones. */
.proam-price-grid--three-applications > .proam-price-option {
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:192px;
  padding:15px 16px 0 !important;
  overflow:hidden;
  gap:0;
}
.proam-price-grid--three-applications .proam-price-option--promotion > .proam-price-label {
  width:100%; max-width:none; overflow-wrap:normal;
}
.proam-price-grid--three-applications .proam-promotion-line {
  display:flex; flex-direction:column; flex:1 1 auto;
  min-height:0; width:100%; margin:0; padding:0;
}
.proam-price-grid--three-applications .proam-promotion-prices {
  display:flex; flex-direction:column; justify-content:flex-end;
  flex:1 1 auto; min-height:0; padding:12px 0 10px;
}
.proam-price-grid--three-applications .proam-price-option--single > .proam-price-value {
  margin-top:0 !important; margin-bottom:10px !important;
}
.proam-price-grid--three-applications .proam-price-option--single .proam-price-strike--placeholder {
  display:block;
  visibility:hidden;
  width:100%;
  min-height:20px;
  margin:0 0 5px;
}
.proam-price-grid--three-applications .proam-price-strike {
  width:100%;
  margin:0 0 5px;
  line-height:1.2;
  text-align:left !important;
  align-self:flex-start !important;
}
.proam-price-grid--three-applications .proam-price-value {
  margin-top:0 !important;
  font-size:clamp(23px,2.25vw,32px) !important;
  white-space:nowrap;
  letter-spacing:-.035em;
}
.proam-price-grid--three-applications .proam-price-includes {
  margin:0 0 10px;
  line-height:1.3;
}
.proam-price-grid--three-applications > .proam-price-option--ribbon > .proam-promotion-badge {
  position:static; inset:auto; z-index:auto;
  order:20; flex:none;
  width:calc(100% + 32px); max-width:none; min-width:0;
  margin:auto -16px 0;
  border:0; border-top:1px solid #dbb500;
  border-radius:0; box-shadow:none;
  background:#ffd400; color:#071e42;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:2px; padding:8px 9px 9px;
  box-sizing:border-box;
}
.proam-price-grid--three-applications > .proam-price-option--ribbon > .proam-promotion-badge strong {
  color:#071e42; font-size:clamp(19px,2.1vw,24px); font-weight:900;
  line-height:1.05; white-space:nowrap;
}
.proam-price-grid--three-applications > .proam-price-option--ribbon > .proam-promotion-badge .proam-promotion-scope {
  color:#071e42; max-width:100%; width:auto; font-size:clamp(10px,1vw,12px);
  font-weight:800; line-height:1.25; text-align:center;
}
/* La tarjeta sin promoción no muestra falsos beneficios ni texto decorativo. */
@container (max-width:500px) {
  .proam-price-grid--three-applications > .proam-price-option { min-height:170px; }
  .proam-price-grid--three-applications > .proam-price-option--ribbon > .proam-promotion-badge strong { font-size:23px; }
  .proam-price-grid--three-applications > .proam-price-option--ribbon > .proam-promotion-badge .proam-promotion-scope { font-size:11px; }
}


/* v1.5.35 — Variante comercial B: precios azul PROAM, descuentos amarillos, destacado naranja.
   Solo presentación; no altera cálculo ni descuentos. */
.proam-quote .proam-price-value,
.proam-quote--landing .proam-price-value,
.proam-quote .proam-price-grid--three-applications .proam-price-value,
.proam-quote--landing .proam-price-grid--three-applications .proam-price-value {
  color:#0B2E6D !important;
}
.proam-quote .proam-recommended-badge,
.proam-quote--landing .proam-recommended-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#11A84D !important;
  color:#ffffff !important;
  border:1px solid #0A873D;
  box-shadow:0 2px 7px rgba(10,135,61,.18);
  white-space:nowrap;
}
.proam-quote .proam-discount-badge,
.proam-quote--landing .proam-discount-badge {
  display:inline-flex;
  align-items:center;
  background:#FFD400 !important;
  color:#0B2E6D !important;
  border-radius:7px;
  padding:6px 10px;
  font-size:0.95rem;
  font-weight:850;
  line-height:1.25;
}
.proam-quote .proam-price-badges,
.proam-quote--landing .proam-price-badges {
  margin-top:.65rem;
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:nowrap;
}
.proam-quote .proam-price-badges .proam-recommended-badge,
.proam-quote--landing .proam-price-badges .proam-recommended-badge {
  margin-left:auto;
}
@media (max-width: 600px) {
  .proam-quote .proam-price-badges,
  .proam-quote--landing .proam-price-badges {
    justify-content:space-between;
  }
  .proam-quote .proam-price-badges .proam-discount-badge,
  .proam-quote--landing .proam-price-badges .proam-discount-badge {
    font-size:0.88rem;
    padding:6px 9px;
  }
  .proam-quote .proam-price-badges .proam-recommended-badge,
  .proam-quote--landing .proam-price-badges .proam-recommended-badge {
    font-size:0.78rem;
    padding:.34rem .65rem;
  }
  .proam-price-grid--three-applications .proam-price-strike {
    text-align:left !important;
    align-self:flex-start !important;
    margin-left:0 !important;
  }
}

/* v1.5.36 — Ajustes de alineación y legibilidad solicitados. */
.proam-price-option--single .proam-price-strike--placeholder { display:none; }
.proam-price-grid--three-applications .proam-price-option--single > .proam-price-label { margin-bottom:0; }
.proam-price-grid--three-applications .proam-price-option--single > .proam-price-value,
.proam-price-grid--three-applications .proam-promotion-prices .proam-price-value {
  line-height:1.05;
}

/* v1.5.37 — misma altura visual de importes en escritorio; móvil compacto.
   Usar anchura del contenedor, no del viewport, para Elementor/landing. */
@container (min-width: 761px) {
  .proam-price-grid--three-applications > .proam-price-option--single > .proam-price-value {
    margin-top:auto !important;
    margin-bottom:calc(10px + 73px) !important; /* altura franja promocional + separación inferior */
  }
}
@container (max-width: 500px) {
  .proam-price-grid--three-applications > .proam-price-option--single {
    min-height:0 !important;
    height:auto !important;
    padding-bottom:15px !important;
  }
  .proam-price-grid--three-applications > .proam-price-option--single > .proam-price-value {
    margin-top:18px !important;
    margin-bottom:0 !important;
  }
}


/* v1.5.38 — Composición compacta de tarjetas de 1/2/3 aplicaciones.
   Cada tarjeta usa las mismas filas; no afecta a otros servicios ni a los abonos. */
.proam-price-grid--three-applications > .proam-price-option {
  display:grid !important;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows: minmax(26px,auto) 20px minmax(39px,auto) minmax(20px,auto) 60px;
  gap:0 !important;
  height:100%; min-height:0 !important;
  padding:12px 14px 0 !important;
  align-content:start;
}
.proam-price-grid--three-applications .proam-promotion-line,
.proam-price-grid--three-applications .proam-promotion-prices {
  display:contents !important;
}
.proam-price-grid--three-applications > .proam-price-option > .proam-price-label {
  grid-row:1; grid-column:1; margin:0 !important;
  align-self:start;
}
.proam-price-grid--three-applications .proam-price-strike {
  grid-row:2;grid-column:1;
  display:block !important;
  visibility:visible;
  align-self:center !important;
  margin:0 !important;
  padding:0;
  line-height:20px;
  text-align:left !important;
}
.proam-price-grid--three-applications .proam-price-option--single .proam-price-strike--placeholder {
  display:block !important; visibility:hidden !important;
  min-height:20px; margin:0 !important;
}
.proam-price-grid--three-applications .proam-price-value,
.proam-price-grid--three-applications .proam-price-option--single > .proam-price-value {
  grid-row:3; grid-column:1;
  align-self:center;
  margin:0 !important;
  font-size:clamp(22px,2.25vw,32px) !important;
  line-height:1.12 !important;
}
.proam-price-grid--three-applications .proam-price-includes {
  grid-row:4; grid-column:1;
  align-self:center;
  margin:0 !important;
  padding:0 0 3px;
  line-height:1.25;
}
.proam-price-grid--three-applications > .proam-price-option--ribbon > .proam-promotion-badge {
  grid-row:5; grid-column:1;
  align-self:stretch;
  width:calc(100% + 28px) !important;
  margin:0 -14px !important;
  padding:7px 9px !important;
  box-sizing:border-box;
}
/* Espacio neutro bajo la opción sin promoción: iguala las filas sin texto comercial añadido. */
@container (min-width:761px) {
 .proam-price-grid--three-applications > .proam-price-option--single::after {
    content:''; grid-column:1;grid-row:5;
 }
}
/* En móvil, solo se reserva el espacio del contenido real de cada tarjeta. */
@container (max-width:760px) {
  .proam-price-grid--three-applications > .proam-price-option {
    grid-template-rows:minmax(26px,auto) 20px minmax(39px,auto) minmax(0,auto) auto;
    height:auto; padding:12px 14px 0 !important;
  }
  .proam-price-grid--three-applications > .proam-price-option--single {
    grid-template-rows:minmax(26px,auto) 0 minmax(39px,auto) minmax(0,auto);
    padding-bottom:12px !important;
  }
  .proam-price-grid--three-applications .proam-price-option--single .proam-price-strike--placeholder {
    min-height:0;height:0;line-height:0;
  }
  .proam-price-grid--three-applications > .proam-price-option--ribbon > .proam-promotion-badge {
    min-height:62px;
  }
}

/* v1.5.39 — Variante opcional de ahorro en pesos, solo Servicios Individuales. */
.proam-price-grid--three-applications > .proam-price-option--ribbon > .proam-promotion-badge--savings,
.proam-price-option .proam-promotion-badge--savings {
  background:#FFD400; color:#071E42;
}
.proam-price-grid--three-applications > .proam-price-option--ribbon > .proam-promotion-badge--savings strong,
.proam-price-option .proam-promotion-badge--savings strong {
  font-size:clamp(19px,2vw,25px);font-weight:900;line-height:1.1;white-space:nowrap;
}
.proam-price-option .proam-promotion-badge--savings .proam-promotion-savings-label {
  font-size:12px;line-height:1.15;font-weight:850;color:#071E42;
}

/* v1.5.40: mismo diseño de tarjetas para una combinación de 2 opciones. */
.proam-price-grid--two-applications {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
@container (max-width:760px) {
  .proam-price-grid--two-applications { grid-template-columns:1fr !important; }
}


/* v1.5.41 — Refinamiento visual cuando Servicios Individuales muestra solo 2 opciones.
   Mantiene la misma lógica estética de 1/2/3 aplicaciones, pero con una composición
   más equilibrada en escritorio y el mismo comportamiento responsivo en móvil. */
.proam-price-grid--two-applications {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch;
}
.proam-price-grid--two-applications > .proam-price-option {
  max-width: none;
}
@container (min-width: 900px) {
  .proam-price-grid--two-applications {
    max-width: 860px;
    margin-inline: auto;
  }
}
@container (max-width: 760px) {
  .proam-price-grid--two-applications {
    max-width: none;
    margin-inline: 0;
  }
}


/* v1.5.46 — En 2 opciones, conservar la fila reservada al precio de lista
   incluso en pantallas estrechas para alinear verticalmente los importes.
   El marcador de la opción de 1 visita es invisible, no un precio tachado. */
.proam-price-grid--two-applications > .proam-price-option--single {
  grid-template-rows: minmax(26px,auto) 20px minmax(39px,auto) minmax(0,auto) auto;
}
.proam-price-grid--two-applications > .proam-price-option--single .proam-price-strike--placeholder {
  display:block !important;
  visibility:hidden !important;
  height:20px !important;
  min-height:20px !important;
  line-height:20px !important;
}


/* v1.5.47: respiración entre títulos/campos y plagas/botón. */
.proam-quote .proam-field > span,
.proam-quote .proam-field label,
.proam-quote .proam-fieldset legend { display:block; margin-bottom:12px !important; }
.proam-quote .proam-pests { margin-bottom:11px !important; }
.proam-quote .proam-pests .proam-check-grid { margin-bottom:10px !important; }
.proam-quote .proam-calculate-action { margin-top:10px !important; }

/* v1.5.48: todos los campos usan idéntica separación título/control,
   sin la fila mínima adicional específica de Consorcios. */
.proam-quote .proam-consortium-field {
  grid-template-rows:auto auto !important;
  align-content:start;
}
.proam-quote .proam-consortium-field > span {
  margin-bottom:12px !important;
  min-height:0 !important;
  align-items:flex-end;
}


/* v1.5.49 — Tarjetas compactas, alineadas a la izquierda y sin columnas vacías.
   Las consultas usan el ancho del cotizador (Elementor), no el de la ventana. */
.proam-quote--landing .proam-price-grid--three-applications,
.proam-quote--landing .proam-price-grid--three-applications {
  grid-template-columns:repeat(3,minmax(0,240px)) !important;
  justify-content:start !important;
  justify-items:stretch;
  width:100%; max-width:100%; margin-inline:0 !important;
  gap:12px;
}
.proam-quote--landing .proam-price-grid--two-applications,
.proam-quote--landing .proam-price-grid--two-applications {
  grid-template-columns:repeat(2,minmax(0,240px)) !important;
  max-width:100% !important;
  margin-inline:0 !important;
  justify-content:start !important;
}
.proam-quote--landing .proam-price-grid--subscriptions,
.proam-quote--landing .proam-price-grid--subscriptions {
  grid-template-columns:repeat(3,minmax(0,240px)) !important;
  justify-content:start !important;
  align-items:stretch;
  gap:12px;
  margin-inline:0 !important;
}
.proam-quote--landing .proam-price-grid--subscriptions > .proam-price-option {
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
/* El distintivo se mantiene dentro de la tarjeta del abono semestral.
   Los distintivos hacen salto de línea si no entran juntos. */
.proam-quote--landing .proam-price-grid--subscriptions .proam-price-badges {
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:flex-start;
  gap:7px !important;
  min-width:0;
}
.proam-quote--landing .proam-price-grid--subscriptions .proam-price-badges .proam-recommended-badge {
  margin-left:0 !important;
  position:static !important;
  max-width:100%;
  box-sizing:border-box;
  white-space:normal;
  text-align:center;
}
.proam-quote--landing .proam-price-grid--subscriptions .proam-price-value {
  overflow-wrap:anywhere;
}
@container (max-width:760px) {
  .proam-quote--landing .proam-price-grid--three-applications,
  .proam-quote--landing .proam-price-grid--three-applications,
  .proam-quote--landing .proam-price-grid--subscriptions,
  .proam-quote--landing .proam-price-grid--subscriptions {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@container (max-width:500px) {
  .proam-quote--landing .proam-price-grid--three-applications,
  .proam-quote--landing .proam-price-grid--three-applications,
  .proam-quote--landing .proam-price-grid--subscriptions,
  .proam-quote--landing .proam-price-grid--subscriptions {
    grid-template-columns:minmax(0,1fr) !important;
  }
}

/* v1.5.52 — SOLO MÓVIL: textos e importes centrados en tarjetas de
   Servicios Individuales y Abonos, en shortcode normal y Landing.
   No afecta el diseño de escritorio ni los cálculos. */
@media screen and (max-width: 767px) {
  .proam-quote .proam-price-grid > .proam-price-option {
    text-align: center !important;
  }
  .proam-quote .proam-price-grid > .proam-price-option .proam-price-label,
  .proam-quote .proam-price-grid > .proam-price-option .proam-price-value,
  .proam-quote .proam-price-grid > .proam-price-option .proam-price-strike,
  .proam-quote .proam-price-grid > .proam-price-option .proam-price-includes,
  .proam-quote .proam-price-grid > .proam-price-option .proam-price-detail,
  .proam-quote .proam-price-grid > .proam-price-option .proam-promotion-prices {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    width: 100%;
    justify-self: center !important;
    align-self: center !important;
  }
  .proam-quote .proam-price-grid > .proam-price-option .proam-price-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100%;
  }
  .proam-quote .proam-price-grid > .proam-price-option .proam-recommended-badge {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center !important;
  }
  .proam-quote .proam-price-grid > .proam-price-option .proam-promotion-badge {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .proam-quote .proam-price-grid > .proam-price-option .proam-promotion-badge--savings {
    flex-direction: column !important;
  }
  .proam-quote .proam-price-grid > .proam-price-option .proam-promotion-badge--savings small,
  .proam-quote .proam-price-grid > .proam-price-option .proam-promotion-badge--savings strong {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
