/* ======== PALETA UTUS ======== */
/* ===== PALETA UTUS (por si acaso) ===== */
:root {
    --utus-principal: #00C19F;   /* Verde UTUS */
    --utus-oscuro:    #041E42;   /* Azul UTUS */
    --utus-rojo:      #F8485E;
    --utus-amarillo:  #F1BE48;
}


/* ====== CONTENEDOR WIZARD ====== */
.utus-wizard { 
    border-radius: 8px;
    padding: 20px;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    font-family: inherit;
}

/* Pasos */
.utus-steps-header {
    display: flex;
    gap: 10px;
    margin-bottom: 45px;
}

.utus-steps-header .step {
    flex: 1;
    text-align: center;
    padding: 10px;
    border-radius: 20px;
    background: #f0f0f0;
    font-weight: 600;
    font-size: 14px;
    color: #555;
}

.utus-steps-header .step.active {
    background: var(--utus-principal);
    color: #fff;
}

/* Contenido pasos */
.utus-step-content { 
    display: none; 
}
.utus-step-content.active { 
    display: block; 
}

.utus-title-step {
    margin-bottom: 15px;
    font-size: 20px;
}

/* ====== PLANES (PASO 1) ====== */
.utus-planes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}

.utus-plan-card {
    border-radius: 8px;
    border: 2px solid #e3e3e3;
    padding: 15px;
    text-align: center;
    transition: all .2s;
}

.utus-plan-card.selected,
.utus-plan-card:hover {
    border-color: var(--utus-principal);
    box-shadow: 0 0 0 1px rgba(0,193,159,0.5);
}

.utus-plan-card h3 {
    margin-top: 0;
    margin-bottom: 10px;
}

.utus-plan-card .precio {
    font-size: 16px;
    font-weight: 700;
    color: var(--utus-principal);
    margin-bottom: 10px;
}

.utus-plan-card .detalle {
    font-size: 13px;
    color: #666;
    margin-bottom: 15px;
}

/* Campos formulario */
.utus-field { 
    margin-bottom: 12px; 
}
.utus-field label {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
}
.utus-field input {
    width: 100%;
    padding: 8px 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
    font-size: 14px;
}

/* ====== BOTONES GENERALES ====== */
.utus-btn {
    display: inline-block;
    border-radius: 30px;
    padding: 8px 18px;
    font-size: 14px;
    cursor: pointer;
    border: none;
    text-decoration: none;
}

.utus-btn-primary {
    background: var(--utus-principal);
    color: #fff;
}
.utus-btn-primary:hover { 
    background: #00a78a; 
}

.utus-btn-secondary {
    background: var(--utus-oscuro);
    color: #fff;
}
.utus-btn-secondary:hover { 
    background: #062c5e; 
}

.utus-actions {
    margin-top: 20px;
    display: flex;
    gap: 10px;
}

/* Grid paso 3 */
.utus-grid-2cols {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 20px;
}
@media (max-width: 768px) {
    .utus-grid-2cols {
        grid-template-columns: 1fr;
    }
}

/* ====== SERVICIOS (PASO 3) ====== */
.utus-servicios h4,
.utus-resumen-wrapper h4 {
    margin-top: 0;
    margin-bottom: 10px;
}

.srv-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    border-bottom: 1px solid #eee;
}
.srv-info { 
    max-width: 70%; 
}
.srv-nombre { 
    display: block; 
    font-size: 14px; 
}
.srv-uf { 
    font-size: 12px; 
    color: #777; 
}
.srv-tipo { 
    font-size: 11px; 
    color: #555; 
    margin-left: 5px; 
}

.qty {
    display: flex;
    align-items: center;
    gap: 4px;
}
.qty input {
    width: 45px;
    text-align: center;
    padding: 4px;
}
.qty-btn {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: none;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 18px;
    line-height: 1;      /* <- clave para que no se vea abajo */
    padding: 0;
}

.qty-btn:focus {
    outline: none;
}

/* Resumen */
#utus-resumen p { 
    margin: 4px 0; 
}
#utus-resumen ul {
    padding-left: 18px;
    margin: 4px 0 8px;
}

/* Transferencia */
.transferencia {
    margin-top: 10px;
    font-size: 13px;
}

/* Checkbox */
.utus-check {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    font-size: 13px;
}

/* Mensajes */
.utus-msg { 
    margin-top: 10px; 
    font-size: 14px; 
}
.utus-msg.ok { 
    color: var(--utus-principal); 
}
.utus-msg.error { 
    color: var(--utus-rojo); 
}

/* ====== PASO 3 MEJORADO ====== */
.utus-step3-layout {
    align-items: flex-start;
}

.utus-step3-section-title {
    display: flex;
    flex-direction: column;
    margin-bottom: 12px;
}

.utus-step3-section-label {
    font-weight: 600;
    font-size: 16px;
    color: #071c2f;
}

.utus-step3-section-subtitle {
    font-size: 12px;
    color: #7a8ca1;
}

/* Subtítulos de grupos de servicios */
.utus-servicios-subtitulo {
    margin: 12px 0 4px;
    font-size: 13px;
    font-weight: 600;
    color: #0f3c5c;
}

.utus-servicios-subtitulo-iniciales {
    margin-top: 18px;
}

/* Fila de servicio tipo "pill" */
.qty-pill {
    background: #e6fbf7;              /* tu verde clarito */
    border-radius: 40px;
    padding: 4px 8px;
    min-width: 130px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}

.qty-pill input {
    border: none;
    background: #f7fbff;
    border-radius: 999px;
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    height: 28px;
    line-height: 28px;
    width: 60px;
}


/* Chip "Inicial" */
.srv-chip-inicial {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    font-size: 10px;
    border-radius: 999px;
    background: rgba(0,193,159,0.15);
    color: var(--utus-oscuro);
    text-transform: uppercase;
    letter-spacing: .03em;
}

/* Meta de servicio */
.srv-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 2px;
    font-size: 12px;
    color: #7a8ca1;
}

.srv-descripcion {
    max-width: 280px;
}

/* Tarjeta resumen */
.utus-resumen-card {
    border-radius: 12px;
    padding: 18px 18px 16px;
    background: #f9fbff;
    border: 1px solid #d7e2f0;
}

.utus-resumen-body p {
    margin: 4px 0;
    font-size: 13px;
}

.utus-resumen-body ul {
    padding-left: 18px;
    margin: 6px 0 10px;
}

/* Total destacado */
.utus-resumen-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 10px 0 14px;
    padding-top: 8px;
    border-top: 1px solid #dde5f2;
    font-size: 13px;
    color: #1b2838;
}

.utus-resumen-total-monto {
    font-weight: 700;
    font-size: 16px;
    color: var(--utus-principal);
}

/* Datos de transferencia */
.transferencia {
    margin-top: 6px;
    margin-bottom: 10px;
    font-size: 12px;
    color: #44556d;
}

.transferencia-titulo {
    font-weight: 600;
    margin-bottom: 4px;
}

.transferencia-detalle strong {
    font-weight: 600;
}

/* Botón ancho completo en card */
.utus-btn-block {
    width: 100%;
    justify-content: center;
}

/* Botón deshabilitado */
#utus-finalizar[disabled] {
    opacity: .6;
    cursor: not-allowed;
}

/* ====== TARJETAS TIPO PLANES (PRICING) ====== */
.utus-pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
    margin-top: 20px;
}

/* ===== PRICING CARDS BASE ===== */
.utus-pricing-card {
      position: relative;
    z-index: 1;
    margin-top: 12px;              /* todos un poquito más abajo */
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(0,0,0,.06);
    overflow: hidden;
    text-align: center;
    border: 2px solid #e5e5e5;
    transition: all .25s ease;
}

.utus-pricing-card.recomendado {
      z-index: 5;
    margin-top: 0;                  /* queda más arriba que los otros */
    border: 3px solid var(--utus-principal);
    transform: scale(1.04);        /* solo escala, sin mover hacia arriba */
    box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

.utus-pricing-header {
    background: var(--utus-oscuro);
    color: #fff;
    padding: 14px 10px;
    font-weight: bold;
}

.utus-badge {
    background: #fff;
    color: #333;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 20px;
    display: inline-block;
    margin-top: 6px;
}

.utus-pricing-precio {
    background: #eef0f2;
    padding: 14px;
    font-size: 18px;
}

.utus-pricing-precio span {
    display: block;
    font-size: 12px;
    color: #666;
}

.utus-pricing-action {
    padding: 12px;
}

.utus-btn-plan-precio {
    background: var(--utus-principal);
    border: none;
    color: #fff;
    padding: 10px 26px;
    border-radius: 40px;
    font-weight: 600;
    cursor: pointer;
}

.utus-btn-plan-precio:hover {
    background: #00a78a;
}

.utus-pricing-limites {
    padding: 14px 10px;
    font-size: 13px;
    color: #555;
}

.utus-pricing-features {
    padding: 12px 16px 20px;
    text-align: left;
}

.utus-pricing-features h4 {
    text-align: center;
    font-size: 14px;
    margin-bottom: 10px;
    color: #444;
}

.utus-pricing-features p {
    font-size: 12.5px;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
}

.utus-pricing-features p::before {
    content: "?";
    color: var(--utus-principal);
    margin-right: 6px;
}

.utus-pricing-features p.no {
    color: #999;
    text-decoration: line-through;
}

.utus-pricing-features p.no::before {
    content: "?";
    color: var(--utus-rojo);
}

.utus-plan-icon {
    margin-bottom: 4px;
    font-size: 26px;
    line-height: 1;
}

/* ===== CABECERA DE CADA PLAN ===== */

/* Por defecto: cabecera clara (no recomendado) */
.utus-pricing-card:not(.recomendado) .utus-pricing-header {
    background: #ffffff;
    color: var(--utus-oscuro);
    padding: 14px 10px;
    font-weight: 700;
    border-bottom: 1px solid #eef0f2;
}

/* Solo el recomendado en azul UTUS */
.utus-pricing-card.recomendado .utus-pricing-header {
    background: var(--utus-oscuro);
    color: #ffffff;
    padding: 16px 10px 18px;
    box-shadow: 0 4px 0 rgba(0,0,0,0.08) inset;
}

/* Estrella o ícono arriba del recomendado */
.utus-plan-icon {
    margin-bottom: 6px;
    font-size: 26px;
    line-height: 1;
}

/* Badge "Recomendado" en blanco sobre azul */
.utus-badge {
    background: #ffffff;
    color: var(--utus-oscuro);
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 20px;
    display: inline-block;
    margin-top: 6px;
}

/* ===== PRECIO ===== */
.utus-pricing-precio {
    background: #f7f9fb;
    padding: 14px;
    font-size: 18px;
}

.utus-pricing-precio strong {
    color: var(--utus-oscuro);
}

.utus-pricing-precio span {
    display: block;
    font-size: 12px;
    color: #666;
}

/* ===== BOTÓN CONTRATAR PLAN ===== */
.utus-pricing-action {
    padding: 12px;
}

.utus-btn-plan-precio {
    background: var(--utus-principal);
    border: none;
    color: #fff;
    padding: 10px 26px;
    border-radius: 40px;
    font-weight: 600;
    cursor: pointer;
}

.utus-btn-plan-precio:hover {
    background: #00a78a;
}

/* ===== LÍMITES ===== */
.utus-pricing-limites {
    padding: 14px 10px;
    font-size: 13px;
    color: #555;
}

/* ===== CARACTERÍSTICAS ===== */
.utus-pricing-features {
    padding: 12px 16px 20px;
    text-align: left;
}

.utus-pricing-features h4 {
    text-align: center;
    font-size: 14px;
    margin-bottom: 10px;
    color: var(--utus-oscuro);
}

.utus-pricing-features p {
    font-size: 12.5px;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
}

/* Check verde UTUS */
.utus-pricing-features p::before {
    content: none;
}

/* Los “no incluidos” en gris y con X roja */
.utus-pricing-features p.no {
    color: #999;
    text-decoration: line-through;
}

.utus-pricing-features p.no::before {
    content: "?";
    color: var(--utus-rojo);
}

.utus-pricing-card .utus-pricing-header h3 {
    color: var(--utus-oscuro);
}
.utus-pricing-card.recomendado .utus-pricing-header h3 {
    color: #ffffff;
}

/* Badge recomendado */
.utus-pricing-card.recomendado .utus-badge {
    background: #ffffff;
    color: var(--utus-oscuro);
}

.utus-feature {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #44556d;
    margin-bottom: 6px;
}
/* ===== ALTURA UNIFICADA DE CABECERAS ===== */
.utus-pricing-header {
    min-height: 130px;        /* MISMA ALTURA PARA TODOS */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 16px 10px;
    box-sizing: border-box;
}

/* Títulos centrados siempre */
.utus-pricing-header h3 {
    margin: 6px 0 0 0;
    line-height: 1.2;
}

/* El badge no empuja la altura */
.utus-badge {
    margin-top: 6px;
}

/* Estrella del recomendado no empuja el layout */
.utus-pricing-card.recomendado .utus-plan-icon {
    position: absolute;
    top: 10px;
    right: 12px;
    margin: 0;
    font-size: 20px;
    opacity: 0.9;
}

/* ===== TÍTULO DE FEATURES CON DIVISIÓN ===== */
.utus-features-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--utus-oscuro);
    text-align: center;
    margin: 20px 0 8px;
    letter-spacing: 0.5px;
}

.utus-features-divider {
    width: 60%;
    height: 3px;
    margin: 0 auto 14px;
    background: linear-gradient(
        90deg, 
        transparent, 
        var(--utus-principal), 
        transparent
    );
    border-radius: 10px;
}

.utus-resumen-total-inicial {
    margin-top: 4px;
    font-size: 13px;
    color: #44556d;
}

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;  /* ?? corta cualquier scroll lateral */
}

/* Por si algún contenedor de Elementor se pasa de ancho */
/*.elementor-section,
.elementor-container,
.elementor-column {
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
}
*/