/* Cuadro de precios de la portada (/publico). Prefijo vq- para no chocar con la plantilla. */

.vq-precios {
    padding: 72px 16px;
    background: #f3f6fb;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #1d2433;
}

.vq-contenedor { max-width: 1180px; margin: 0 auto; text-align: center; }

.vq-antetitulo {
    margin: 0 0 6px;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #1545CB;
}

.vq-precios h2 { margin: 0 0 10px; font-size: 2rem; font-weight: 800; color: #1d2433; }

.vq-bajada { max-width: 620px; margin: 0 auto 40px; font-size: 1.05rem; color: #5d6679; }

.vq-planes {
    display: grid;
    gap: 20px;
    text-align: left;
}

.vq-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 28px 24px 24px;
    background: #fff;
    border: 1px solid #dfe3ea;
    border-radius: 18px;
    box-shadow: 0 6px 20px rgba(29, 36, 51, .06);
}

.vq-plan-destacado {
    border: 2px solid #1545CB;
    box-shadow: 0 14px 40px rgba(21, 69, 203, .18);
}

.vq-etiqueta {
    position: absolute;
    top: -14px;
    left: 50%;
    padding: 4px 14px;
    font-size: .78rem;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    background: #1545CB;
    border-radius: 999px;
    transform: translateX(-50%);
}

.vq-plan h3 { margin: 0 0 8px; font-size: 1.25rem; font-weight: 800; color: #1d2433; }

.vq-precio { margin: 0; font-size: 1rem; color: #5d6679; }

.vq-precio span { font-size: 2.3rem; font-weight: 800; line-height: 1.1; color: #1d2433; }

.vq-precio small { margin-left: 4px; font-size: .9rem; }

.vq-precio a { font-size: 1.4rem; font-weight: 700; color: #1545CB; }

.vq-precio-consultar { font-size: 1.8rem; font-weight: 800; color: #1d2433; }

.vq-para { margin: 4px 0 18px; font-size: .92rem; color: #5d6679; }

.vq-plan ul {
    display: grid;
    align-content: start;   /* la lista crece para igualar las tarjetas, sin separar los ítems */
    gap: 10px;
    flex: 1;
    margin: 0 0 22px;
    padding: 18px 0 0;
    list-style: none;
    border-top: 1px solid #dfe3ea;
}

.vq-plan li {
    position: relative;
    padding-left: 26px;
    font-size: .95rem;
    line-height: 1.4;
    color: #1d2433;
}

.vq-plan li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 4px;
    width: 14px;
    height: 8px;
    border-left: 3px solid #1f8a4c;
    border-bottom: 3px solid #1f8a4c;
    transform: rotate(-45deg);
}

.vq-plan li:has(strong)::before { display: none; }

.vq-plan li:has(strong) { padding-left: 0; }

.vq-btn {
    display: block;
    padding: 14px 18px;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
    border-radius: 12px;
    transition: background-color .15s;
}

.vq-btn-lleno { color: #fff !important; background: #1545CB; }
.vq-btn-lleno:hover { background: #0f3496; }

.vq-btn-borde { color: #1545CB !important; background: #fff; border: 1.5px solid #1545CB; }
.vq-btn-borde:hover { background: #e8eefc; }

.vq-nota { margin: 12px 0 0; font-size: .85rem; text-align: center; color: #5d6679; }

.vq-nota a { color: #1545CB; font-weight: 600; }

.vq-iva { margin: 28px 0 0; font-size: .85rem; color: #5d6679; }

@media (min-width: 680px) {
    .vq-planes { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1100px) {
    .vq-planes { grid-template-columns: repeat(4, 1fr); align-items: stretch; }
    .vq-plan-destacado { transform: translateY(-8px); }
}
