/* ═══ Planes y Cobertura · componentes propios (prefijo pp-) ═══ */
.pp-hero-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; }
.pp-hero-chips li { padding: 7px 14px; border-radius: 99px; background: var(--white); border: 1px solid var(--pz-line); font-size: var(--fs-sm); font-weight: 600; color: var(--grey-dark); }
.pp-hero-chips b { color: var(--crimson); }
.pp-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.pp-sec { padding: var(--section-y) 0; }
.pp-lead { max-width: 62ch; margin-inline: auto; }

/* ¿Cuál me conviene? */
.pp-guide { max-width: 980px; margin-inline: auto; }
.pp-guide .pz-item { align-items: center; }
.pp-guide .pz-item > div { flex: 1; }
.pp-guide h3 { margin: 0 0 2px; font-size: 1.05rem; }
.pp-guide p { margin: 0; color: var(--grey-dark); }
.pp-guide__go { flex: none; font-weight: 700; font-size: var(--fs-sm); color: var(--crimson); white-space: nowrap; }
.pp-guide__go:hover { text-decoration: underline; }

/* Comparativa */
.pp-table-wrap { max-width: 1080px; margin: 0 auto; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pp-table { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; background: var(--white); border: 1px solid var(--pz-line); border-radius: 16px; overflow: hidden; font-size: var(--fs-sm); }
.pp-table caption { position: absolute; left: -9999px; }
.pp-table th, .pp-table td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--pz-line); }
.pp-table thead th { background: var(--off-white); font-size: var(--fs-base); font-weight: 800; letter-spacing: -.01em; }
.pp-table thead th.is-feat { color: var(--crimson); box-shadow: inset 0 3px 0 var(--crimson); }
.pp-table tbody th { font-weight: 700; color: var(--text); width: 22%; background: var(--white); }
.pp-table tbody td { color: var(--grey-dark); }
.pp-table tbody tr:last-child th, .pp-table tbody tr:last-child td { border-bottom: 0; }
.pp-table .yes { color: #0D7377; font-weight: 700; }
.pp-table .no { color: var(--grey); }
.pp-table td.is-feat { background: rgba(193,39,45,.035); }

/* Qué incluye todo plan */
.pp-incl { display: grid; gap: 16px; grid-template-columns: 1fr; max-width: 1080px; margin: 0 auto; }
@media (min-width: 720px) { .pp-incl { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .pp-incl { grid-template-columns: repeat(4, 1fr); } }
.pp-incl .pz-card { padding: var(--card-p); }
.pp-incl h3 { margin: 10px 0 6px; font-size: 1.05rem; }
.pp-incl p { margin: 0; color: var(--grey-dark); line-height: 1.55; }
.pp-incl__n { font-size: var(--fs-sm); font-weight: 800; letter-spacing: .08em; color: var(--crimson); }

/* Pasos de contratación */
.pp-steps { display: grid; gap: 16px; grid-template-columns: 1fr; max-width: 1080px; margin: 0 auto; }
@media (min-width: 880px) { .pp-steps { grid-template-columns: repeat(3, 1fr); } }
.pp-steps .pz-card { padding: var(--card-p); }
.pp-steps h3 { margin: 10px 0 6px; font-size: 1.1rem; }
.pp-steps p { margin: 0; color: var(--grey-dark); line-height: 1.55; }

/* FAQ */
.faq { max-width: 860px; margin: 0 auto; display: grid; gap: 12px; }
.faq details { background: var(--white); border: 1px solid var(--pz-line); border-radius: 14px; transition: box-shadow .2s, border-color .2s; }
.faq details[open] { border-color: rgba(193,39,45,.35); box-shadow: 0 8px 28px rgba(20,24,29,.07); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font-weight: 700; font-size: 1.02rem; color: var(--text); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--off-white); color: var(--crimson); font-size: 1.2rem; line-height: 1; transition: transform .2s; }
.faq details[open] summary::after { content: "–"; }
.faq summary:focus-visible { outline: 2px solid var(--crimson); outline-offset: 2px; border-radius: 14px; }
.faq .faq__a { padding: 0 22px 20px; color: var(--grey-dark); line-height: 1.65; }
.faq .faq__a p { margin: 0 0 .6em; }
.faq .faq__a a { color: var(--crimson); font-weight: 700; }

/* Cotización embebida en planes */
.pp-quote .contacto__grid { align-items: start; }
.pp-quote__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.pp-wa { display: inline-flex; align-items: center; gap: 9px; padding: 13px 22px; border-radius: 10px; font-weight: 700; color: #fff; background: #1FA855; transition: background .16s, transform .16s; }
.pp-wa:hover { background: #178a45; transform: translateY(-1px); }
.pp-wa svg { flex: none; }

/* Cobertura: resumen de zonas */
.pp-zones { display: grid; gap: 16px; grid-template-columns: 1fr; max-width: 1080px; margin: 0 auto; }
@media (min-width: 820px) { .pp-zones { grid-template-columns: repeat(3, 1fr); } }
.pp-zones .pz-card { padding: var(--card-p); }
.pp-zones h3 { margin: 0 0 4px; font-size: 1.2rem; }
.pp-zones .pp-zones__n { display: block; margin-bottom: 10px; font-size: var(--fs-sm); font-weight: 700; color: var(--grey); }
.pp-zones p { margin: 0 0 14px; color: var(--grey-dark); line-height: 1.6; }
.pp-zones a { font-weight: 700; color: var(--crimson); font-size: var(--fs-sm); }
.pp-zones a:hover { text-decoration: underline; }
