/* Página Planes — hub de los 5 planes */

:root {
  --hueso: #F1EFE8;
  --lilac-txt: #5A3B57;
  --lilac-txt-fuerte: #4D3249;
  --lilac-txt-cuerpo: #664362;
  --alice-txt: #0C447C;
  --alice-txt-cuerpo: #125291;
  --rojo-txt-cuerpo: #FFFFFF;
  --pendiente: #B8860B;
}

.seccion { padding: 48px 0; }
.seccion-cabeza { max-width: 780px; margin-bottom: 32px; }
.fondo-hueso { background: var(--hueso); }
.fondo-blanco { background: var(--white); }

.btn {
  display: inline-block;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  border-radius: 999px;
  padding: 13px 26px;
  border: 1.5px solid transparent;
  transition: opacity .15s ease;
}
.btn:hover { opacity: .88; }
.btn-purp { background: var(--purp-base); color: var(--white); border-color: var(--purp-base); }
.btn-linea { background: var(--white); color: var(--ink-base); border-color: var(--ink-base); }
.btn-mint { background: var(--mint-base); color: var(--mint-shade-80); border-color: var(--mint-base); }
.btn-mint-linea { background: transparent; color: var(--mint-base); border-color: var(--mint-base); border-width: 2px; }
.btn-fila { display: flex; flex-direction: column; gap: 10px; margin-top: 26px; align-items: flex-start; }

.capsula {
  display: inline-block;
  border-radius: 999px;
  padding: 7px 16px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

/* ---------- Breadcrumb ---------- */

.migas { background: var(--hueso); font-size: 12px; padding: 12px 0 0; }
.migas ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; color: var(--ink-tint-40); }
.migas a { color: var(--purp-base); text-decoration: none; font-weight: 700; }
.migas a:hover { text-decoration: underline; }
.migas [aria-current="page"] { color: var(--ink-tint-40); }

/* ---------- 1. Hero ---------- */

.hero { background: var(--hueso); padding: 40px 0 56px; }
.hero .eyebrow { color: var(--purp-base); }
.hero h1 { color: var(--ink-base); max-width: 15ch; }
.hero h1 .destacado { color: var(--purp-base); }
.hero-bajada { color: var(--ink-base); max-width: 620px; margin-top: 18px; }

/* ---------- 2. Trust strip ---------- */

.confianza { background: var(--white); padding: 40px 0; }
.confianza-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px 18px; }
.confianza-celda { text-align: center; }
.confianza-celda .data-number { color: var(--purp-base); }
.confianza-celda p { color: var(--ink-tint-40); margin: 8px 0 0; }

/* ---------- 3. Los 5 planes ---------- */

.planes .eyebrow { color: var(--purp-base); }
.planes-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }

.plan { border-radius: 24px; padding: 28px; position: relative; }
.plan-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.plan-titulo { font-size: 54px; font-weight: 700; line-height: .95; letter-spacing: -1px; margin: 0 0 10px; }
.plan h4 { font-size: 18px; font-weight: 700; line-height: 1.1; margin: 0 0 12px; }
.plan-desc { font-size: 13px; line-height: 1.5; margin: 0; }
.plan-divisor { border: 0; border-top: 1px solid currentColor; opacity: .25; margin: 22px 0 18px; }
.plan-pie { display: flex; }
.plan-pie .btn { width: 100%; text-align: center; }
.plan-precio { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin: 0 0 16px; }
.plan .btn { padding: 11px 22px; font-size: 13px; }

.pendiente { color: var(--pendiente) !important; border-bottom: 2px dotted rgba(184,134,11,.5); }

.plan-lilac { background: var(--lilac-base); }
.plan-lilac .plan-titulo { color: var(--lilac-txt); }
.plan-lilac h4 { color: var(--lilac-txt-fuerte); }
.plan-lilac .plan-desc, .plan-lilac .plan-precio { color: var(--lilac-txt-cuerpo); }
.plan-lilac .capsula { background: var(--white); color: var(--lilac-txt-cuerpo); }
.plan-lilac .plan-divisor { border-top-color: rgba(153,101,146,.3); opacity: 1; }
.plan-lilac .btn { background: var(--lilac-txt-cuerpo); color: var(--lilac-base); border-color: var(--lilac-txt-cuerpo); }

.plan-alice { background: var(--alice-base); }
.plan-alice .plan-titulo, .plan-alice h4 { color: var(--alice-txt); }
.plan-alice .plan-desc, .plan-alice .plan-precio { color: var(--alice-txt-cuerpo); }
.plan-alice .capsula { background: var(--white); color: var(--alice-txt); }
.plan-alice .plan-divisor { border-top-color: rgba(12,68,124,.25); opacity: 1; }
.plan-alice .btn { background: var(--alice-txt); color: var(--alice-base); border-color: var(--alice-txt); }

.plan-purp { background: var(--purp-base); color: var(--white); }
.plan-purp .plan-titulo { color: var(--white); font-size: 62px; }
.plan-purp h4 { color: var(--mint-base); font-size: 20px; }
.plan-purp .plan-desc { color: var(--purp-tint-80); font-size: 14px; }
.plan-purp .plan-precio { color: var(--mint-base); }
.plan-purp .plan-divisor { border-top-color: var(--purp-tint-20); opacity: 1; }
.plan-purp .btn { background: var(--mint-base); color: var(--mint-shade-80); border-color: var(--mint-base); }

.plan-carbon { background: var(--ink-base); color: var(--white); }
.plan-carbon .plan-titulo { color: var(--white); }
.plan-carbon h4 { color: var(--mint-base); }
.plan-carbon .plan-desc { color: var(--ink-tint-60); }
.plan-carbon .plan-precio { color: var(--mint-base); }
.plan-carbon .capsula { background: var(--mint-base); color: var(--mint-shade-80); }
.plan-carbon .plan-divisor { border-top-color: rgba(255,255,255,.22); opacity: 1; }
.plan-carbon .btn { background: var(--white); color: var(--ink-base); border-color: var(--white); }

.plan-rojo { background: var(--red-base); color: var(--white); }
.plan-rojo .plan-titulo, .plan-rojo h4 { color: var(--white); }
.plan-rojo .plan-desc, .plan-rojo .plan-precio { color: var(--rojo-txt-cuerpo); }
.plan-rojo .capsula { background: var(--white); color: var(--red-base); }
.plan-rojo .plan-divisor { border-top-color: rgba(255,255,255,.3); opacity: 1; }
.plan-rojo .btn { background: var(--white); color: var(--red-base); border-color: var(--white); }

/* ---------- 4. Guía rápida ---------- */

.guia .eyebrow { color: var(--purp-base); }
.guia h2 .destacado { color: var(--purp-base); }
.guia-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.guia-card { background: var(--hueso); border-radius: 20px; padding: 28px; }
.guia-num {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--purp-base); color: var(--white);
  display: grid; place-items: center; font-weight: 700; font-size: 16px;
  margin-bottom: 16px;
}
.guia-card h4 { font-size: 17px; margin: 0 0 16px; color: var(--ink-base); }
.guia-capsulas { display: flex; flex-wrap: wrap; gap: 8px; }
.cap-lilac { background: var(--lilac-base); color: var(--lilac-txt-cuerpo); }
.cap-alice { background: var(--alice-base); color: var(--alice-txt); }
.cap-purp { background: var(--purp-base); color: var(--white); }
.cap-carbon { background: var(--ink-base); color: var(--white); }
.cap-linea { background: var(--white); color: var(--purp-base); box-shadow: inset 0 0 0 1.5px var(--purp-base); }
.guia-cierre { text-align: center; margin-top: 28px; }

/* ---------- 5. Modalidades ---------- */

.modalidades .eyebrow { color: var(--purp-base); }
.modalidades-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.modalidad {
  background: var(--white);
  border: 1px solid var(--purp-tint-80);
  border-radius: 20px;
  padding: 28px;
  position: relative;
}
.modalidad-destacada { border: 2px solid var(--purp-base); }
.modalidad-badge {
  position: absolute; top: -12px; left: 24px;
  background: var(--mint-base); color: var(--mint-shade-80);
  border-radius: 999px; padding: 5px 14px;
  font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.modalidad h4 { font-size: 19px; margin: 0 0 6px; color: var(--ink-base); }
.modalidad-destacada h4 { color: var(--purp-base); }
.modalidad > p { font-size: 13px; color: var(--ink-tint-40); margin: 0 0 18px; }
.lista-check { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lista-check li { display: flex; gap: 9px; font-size: 13px; line-height: 1.45; color: var(--ink-base); }
.tic { flex: none; width: 18px; height: 18px; border-radius: 50%; background: var(--mint-base); color: var(--mint-shade-80); display: grid; place-items: center; font-size: 10px; font-weight: 700; margin-top: 1px; }

/* ---------- 6. Comparador ---------- */

.comparador .eyebrow { color: var(--purp-base); }
.tabla-scroll { overflow-x: auto; border: 1px solid var(--purp-tint-80); border-radius: 16px; }
.tabla-planes { width: 100%; border-collapse: collapse; min-width: 760px; font-size: 13px; }
.tabla-planes caption { text-align: left; padding: 14px 16px 0; font-size: 12px; color: var(--ink-tint-40); }
.tabla-planes th, .tabla-planes td { padding: 13px 16px; text-align: left; border-bottom: 1px solid var(--purp-tint-80); }
.tabla-planes thead th { background: var(--hueso); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.tabla-planes tbody th { font-weight: 700; color: var(--ink-base); white-space: nowrap; }
.tabla-planes tbody tr:last-child th, .tabla-planes tbody tr:last-child td { border-bottom: 0; }
.col-lilac { color: var(--lilac-txt-cuerpo); }
.col-alice { color: var(--alice-txt); }
.col-purp { color: var(--purp-base); }
.col-carbon { color: var(--ink-base); }
.col-rojo { color: var(--red-base); }
.celda-garantia { background: var(--mint-base); color: var(--mint-shade-80); font-weight: 700; }
.tabla-nota { font-size: 11px; color: var(--ink-tint-40); margin-top: 14px; }

/* ---------- 7. Convenios ---------- */

.convenios .eyebrow { color: var(--purp-base); }
.convenios p { max-width: 680px; color: var(--ink-base); }

/* ---------- 8. FAQ ---------- */

.faq .eyebrow { color: var(--purp-base); }
.faq-lista { max-width: 880px; }
.faq-item { border-top: 1px solid var(--purp-tint-80); padding: 20px 0; }
.faq-item:last-child { border-bottom: 1px solid var(--purp-tint-80); }
.faq-item summary {
  cursor: pointer; font-weight: 700; font-size: 15px; color: var(--ink-base);
  list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: flex-start;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; color: var(--purp-base); font-size: 20px; line-height: 1; flex: none; }
.faq-item[open] summary::after { content: "–"; }
.faq-item p { margin: 14px 0 0; color: var(--purp-shade-80); font-size: 14px; max-width: 740px; }

/* ---------- 9. Información extendida ---------- */

.info { background: var(--mint-base); }
.info .eyebrow, .info h2, .info h4, .info p { color: var(--mint-shade-80); }
.info-bloque { max-width: 840px; margin-bottom: 26px; }
.info-bloque:last-child { margin-bottom: 0; }
.info-bloque h4 { font-size: 18px; margin: 0 0 10px; }

/* ---------- 10. CTA final ---------- */

.cierre { background: var(--purp-base); color: var(--white); text-align: center; padding: 62px 0; }
.cierre-inner { max-width: 620px; margin-inline: auto; }
.cierre h2 { font-size: 40px; line-height: 1; color: var(--white); margin: 20px 0 16px; }
.cierre h2 .destacado { color: var(--mint-base); }
.cierre p { color: var(--purp-tint-80); max-width: 470px; margin-inline: auto; }
.cierre .btn-fila { align-items: center; }

/* ---------- Footer ---------- */

.pie { background: var(--ink-base); color: var(--white); padding: 38px 0; }
.pie-grid { display: grid; gap: 20px; }
.pie-datos { font-size: 13px; color: var(--ink-tint-60); }
.pie-datos p { margin-bottom: 6px; }
.pie-marca { width: 32px; height: 32px; background: var(--purp-base); color: var(--white); display: grid; place-items: center; border-radius: 4px; font-weight: 700; font-size: 20px; }
.pie-enlaces { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; margin: 0; padding: 0; font-size: 13px; }
.pie-enlaces a { text-decoration: none; color: var(--ink-tint-60); }
.pie-enlaces a:hover { color: var(--mint-base); }
.pie-copy { font-size: 12px; color: var(--ink-tint-40); }

/* ---------- Desktop ---------- */

@media (min-width: 769px) {
  .seccion { padding: 76px 0; }
  .hero { padding: 52px 0 80px; }
  .hero-bajada { font-size: 16px; }
  .btn-fila { flex-direction: row; flex-wrap: wrap; }

  .confianza { padding: 52px 0; }
  .confianza-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }

  .planes-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .plan { padding: 32px; }
  .plan-titulo { font-size: 76px; }

  .plan-pie { justify-content: flex-end; }
  .plan-pie .btn { width: auto; }

  .plan-destacado { grid-column: span 2; padding: 40px; }
  .plan-destacado .plan-cols { display: grid; grid-template-columns: 1fr 1.15fr; gap: 40px; align-items: center; }
  .plan-purp .plan-titulo { font-size: 96px; }

  .guia-grid, .modalidades-grid { grid-template-columns: 1fr 1fr; gap: 22px; }
  .modalidades-grid { grid-template-columns: repeat(3, 1fr); }

  .cierre { padding: 92px 0; }
  .cierre h2 { font-size: 56px; }

  .pie-grid { grid-template-columns: auto 1fr auto; align-items: start; gap: 40px; }
  .pie-enlaces { justify-content: flex-end; }
}
