/* Planes funerarios (Halo). Lo común vive en paginas.css (cabecera, .titulo-seccion, .panel, .tabla*, .detalles*, .bloque-urgente); aquí la composición propia.
   Las tarjetas y los precios se ven SIEMPRE: ningún estado oculto en esta hoja y ninguna tarjeta lleva atributos de movimiento. */

.plan-intro__accion { margin-top: 1.5rem; }

/* Condiciones: tres bloques con filete dorado arriba, sin tarjeta */
.condiciones { display: grid; gap: 2rem; }
.condicion { padding-top: 1.1rem; border-top: 1px solid rgba(226, 201, 143, .3); }
.condicion h3 { margin-bottom: .6rem; font-family: var(--f-titulo); font-weight: 400; font-size: clamp(1.4rem, 1.15rem + 1vw, 1.8rem); line-height: 1.15; color: var(--marfil); text-wrap: balance; }
.condicion p { color: var(--texto-suave); }
@media (min-width: 800px) { .condiciones { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; } }

/* Rejilla de planes. Cada tarjeta ocupa 5 filas compartidas (subgrid): nombre, precio, efectivo, lista y acciones quedan a la misma altura.
   < 700: 1 columna apilada. 700-999: 2 columnas, con el Premium a todo el ancho y por dentro en dos columnas.
   1000-1439: 3 + 2 (la segunda fila centrada). >= 1440: 5 columnas. */
.planes { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 1.25rem; }
.plan { position: relative; display: flex; flex-direction: column; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; min-width: 0; margin-bottom: 1.5rem;
  padding: 3.6rem 1.35rem 1.5rem; text-align: center;
  border: 1px solid rgba(226, 201, 143, .38); border-radius: 999px 999px 6px 6px;
  background: radial-gradient(120% 55% at 50% 0, rgba(226, 201, 143, .1), rgba(226, 201, 143, 0) 70%), rgba(7, 26, 69, .5); }
.plan__incluye { flex: 1; }
@supports (grid-template-rows: subgrid) {
  .plan { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 1.25rem; }
  .plan__incluye { flex: none; }
}
.plan__halo { position: absolute; top: 1.35rem; left: 50%; translate: -50% 0; width: 1.1rem; height: 1.1rem; border-radius: 50%; border: 1.5px solid var(--oro-halo); box-shadow: 0 0 14px 2px rgba(226, 201, 143, .4); }
/* Premium: oro estático (filete interior, brillo más cálido), sin etiquetas */
.plan--premium { border-color: var(--oro-halo);
  background: radial-gradient(120% 60% at 50% 0, rgba(226, 201, 143, .22), rgba(226, 201, 143, 0) 70%), rgba(7, 26, 69, .62);
  box-shadow: 0 0 0 1px rgba(226, 201, 143, .22), 0 0 60px rgba(226, 201, 143, .16); }
.plan--premium::after { content: ""; position: absolute; inset: .45rem; border: 1px solid rgba(226, 201, 143, .28); border-radius: inherit; pointer-events: none; }
.plan--premium .plan__halo { box-shadow: 0 0 22px 5px rgba(226, 201, 143, .6); background: rgba(226, 201, 143, .35); }

@media (min-width: 700px) {
  .planes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan:last-child { grid-column: 1 / -1; }
}
@media (min-width: 700px) and (max-width: 999px) {
  .plan:last-child { display: grid; grid-row: auto; grid-template-rows: auto auto auto 1fr; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 2.5rem;
    border-radius: 9rem 9rem 6px 6px; padding-inline: 2.5rem; text-align: center; }
  .plan:last-child .plan__nombre, .plan:last-child .plan__precio, .plan:last-child .plan__efectivo, .plan:last-child .plan__acciones { grid-column: 1; }
  .plan:last-child .plan__incluye { grid-column: 2; grid-row: 1 / span 4; flex: none; align-self: center; }
  .plan:last-child .plan__efectivo { align-self: start; }
  .plan:last-child .plan__acciones { align-self: end; }
}
@media (min-width: 1000px) {
  .planes { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 1.5rem; }
  .plan { grid-column: span 2; margin-bottom: 1.5rem; }
  .plan:nth-child(4) { grid-column: 2 / span 2; }
  .plan:nth-child(5) { grid-column: 4 / span 2; }
}
/* Cinco columnas (desde 1440 px): la rejilla sale del contenedor de forma simétrica y centrada */
@media (min-width: 1440px) {
  .planes {
    --ancho-planes: min(81rem, calc(100vw - 2 * var(--gutter) - 1rem));
    grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 1rem;
    width: var(--ancho-planes); margin-inline: calc((100% - var(--ancho-planes)) / 2);
  }
  .plan, .plan:nth-child(4), .plan:nth-child(5) { grid-column: auto; margin-bottom: 0; padding: 3.6rem 1.1rem 1.4rem; }
}

.plan__nombre { font-family: var(--f-titulo); font-weight: 400; font-size: 1.9rem; line-height: 1.1; color: var(--marfil); }
.plan__mensual { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 0 .45rem; max-width: none; }
.plan__monto { font-family: var(--f-titulo); font-size: min(2.9rem, 12vw); font-weight: 400; line-height: 1.05; color: var(--oro-halo); }
.plan__periodo { font-size: 1rem; color: var(--texto-suave); }
.plan__inscripcion { margin-top: .5rem; font-weight: 600; max-width: none; color: var(--marfil); }
@media (min-width: 1000px) { .plan__periodo { flex-basis: 100%; } }
@media (min-width: 1440px) { .plan__nombre { font-size: 1.6rem; } .plan__monto { font-size: 2.4rem; } .plan__inscripcion { font-size: .9375rem; } }

/* Efectivo para la familia: filetes dorados arriba y abajo */
.plan__efectivo { align-self: start; padding: .9rem 0 1rem; border-block: 1px solid rgba(226, 201, 143, .3); }
.plan__etiqueta { font-size: .9375rem; font-weight: 600; color: var(--texto-suave); max-width: none; }
.plan__cifra { font-family: var(--f-titulo); font-size: min(2rem, 9vw); font-weight: 400; line-height: 1.15; color: var(--marfil); max-width: none; }
.plan__incluye { text-align: left; }
.plan__incluye .plan__etiqueta { margin-bottom: .7rem; color: var(--oro-halo); letter-spacing: .04em; }
.plan .lista-halo > li { font-size: 1rem; line-height: 1.45; color: var(--texto); }
.plan .lista-halo > li + li { margin-top: .6rem; }
@media (min-width: 1440px) { .plan .lista-halo > li { font-size: .9375rem; padding-left: 1.5rem; } .plan__cifra { font-size: 1.75rem; } }

/* Acciones: botón de WhatsApp y sitio para un segundo botón debajo (apilados, mismo ancho) */
.plan__acciones { display: flex; flex-direction: column; justify-content: flex-end; gap: .6rem; width: 100%; align-self: end; }
.plan__boton { padding-inline: .75rem; min-height: 3.25rem; }
@media (min-width: 1440px) { .plan__boton { padding-inline: .3rem; font-size: .9375rem; white-space: nowrap; } }

/* Tabla comparativa: primera columna fija al desplazar; fondos sólidos para que no se transparente lo que pasa por debajo */
.tabla-contenedor { background: #071433; border-color: rgba(226, 201, 143, .4); overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: rgba(226, 201, 143, .5) transparent; }
.tabla--planes { min-width: 48rem; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.tabla--planes thead th:first-child { width: 7.5rem; }
@media (min-width: 600px) { .tabla--planes thead th:first-child { width: 10rem; } }
@media (min-width: 900px) { .tabla--planes thead th:first-child { width: 15rem; } }
.tabla--planes caption { padding: 1rem 1rem .5rem; }
.tabla--planes th, .tabla--planes td { border-top: 1px solid rgba(226, 201, 143, .2); color: var(--texto); }
.tabla--planes thead th { background: #0B2255; color: var(--oro-halo); border-top: 0; }
.tabla--planes thead th:first-child, .tabla--planes tbody th { position: sticky; left: 0; z-index: 1; border-right: 1px solid rgba(226, 201, 143, .4); background: #061030; color: var(--marfil); }
.tabla--planes thead th:first-child { z-index: 2; background: #0B2255; }
.tabla--planes tbody tr:nth-child(-n+3) td { font-weight: 600; color: var(--marfil); }
.tabla--planes tbody tr:nth-child(3) td { background: rgba(226, 201, 143, .09); }
.tabla--planes tbody tr:nth-child(3) th { background: #1A2036; }
.tabla--planes td { min-width: 7rem; }
.tabla--planes td:last-child, .tabla--planes thead th:last-child { box-shadow: inset 1px 0 0 rgba(226, 201, 143, .25); }
.tabla--planes .tabla__no { color: var(--texto-suave); font-weight: 400; }
@media (max-width: 599px) {
  .tabla--planes { min-width: 42.5rem; }
  .tabla--planes th, .tabla--planes td { padding: .6rem .5rem; }
  .tabla--planes tbody th { width: 7.5rem; }
}
@media (min-width: 900px) { .tabla--planes thead th:first-child, .tabla--planes tbody th { max-width: 15rem; } }

/* Plan Acumulativo: panel con filete dorado (distinto de las tarjetas de precio); datos, WhatsApp y .ir a la derecha */
.acumulativo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem 3.5rem; padding: clamp(1.75rem, 4vw, 3.25rem); }
.acumulativo > * + * { margin-top: 0; }
.acumulativo p { color: var(--texto-suave); }
.acumulativo .dato__titulo { color: var(--oro-halo); }
.acumulativo address { font-style: normal; color: var(--marfil); }
.acumulativo__datos > p:not(.dato__titulo), .acumulativo__datos > div > p:not(.dato__titulo) { color: var(--marfil); }
@media (min-width: 800px) { .acumulativo { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; } }

/* Preguntas frecuentes: columna estrecha */
.detalles__resumen { font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem); }
