/*
 * SUM-forms — estilos de los formularios de contacto (Elementor Pro)
 * Tema hijo: zakra-child · Proyecto: Summit Residential Solutions LLC
 * ------------------------------------------------------------------
 * Aqui vive SOLO la presentacion de los formularios. El comportamiento
 * (validacion, Turnstile) esta en los mu-plugins del proyecto.
 */

/* ============================================================
 * Ayudas contextuales ("tooltips") junto a la etiqueta del campo
 * El icono y el texto los inserta summit-forms.js.
 * ============================================================ */
.summit-tip {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    margin-left: 6px;
    font-size: 15px;
    line-height: 1;
    color: #23AB70;
    cursor: help;
    vertical-align: middle;
}

.summit-tip__bubble {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    width: 250px;
    padding: 9px 11px;
    background: #111111;
    color: #ffffff;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    text-align: left;
    border-radius: 6px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
    z-index: 999;
    pointer-events: none;
}

/* Flecha de la burbuja */
.summit-tip__bubble::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border: 5px solid transparent;
    border-top-color: #111111;
}

.summit-tip:hover .summit-tip__bubble,
.summit-tip:focus .summit-tip__bubble,
.summit-tip:focus-within .summit-tip__bubble {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* En movil el globo se ancla al campo para que no se salga de la pantalla */
@media (max-width: 480px) {
    .summit-tip__bubble {
        left: 0;
        transform: translateX(-30%) translateY(4px);
        width: 220px;
    }
    .summit-tip:hover .summit-tip__bubble,
    .summit-tip:focus .summit-tip__bubble {
        transform: translateX(-30%) translateY(0);
    }
}

/* ============================================================
 * Detalles del formulario
 * ============================================================ */

/* El aviso "no es un robot" de Turnstile, alineado con los campos */
.summit-turnstile-group {
    margin-bottom: 10px;
}

.summit-turnstile-noscript {
    font-size: 13px;
    color: #B3261E;
}

/* Que el iframe de Turnstile nunca desborde en pantallas pequenas */
.summit-turnstile-group .cf-turnstile {
    max-width: 100%;
}

/* Los mensajes del formulario, un poco mas legibles */
.elementor-form .elementor-message {
    font-size: 15px;
    line-height: 1.5;
}
