/* =========================================================
   SOULULAB - подсказки полей
   Исправленная версия для desktop и mobile
   ========================================================= */

.soulu-field-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.soulu-field-head label,
.soulu-field-title {
    min-width: 0;
    margin: 0;
    font-weight: 600;
}

.soulu-tooltip {
    box-sizing: border-box;
    position: relative;
    z-index: 1;

    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    padding: 0;

    display: grid;
    place-items: center;

    color: inherit;
    font: 600 12px/1 Montserrat, Arial, sans-serif;

    border: 1px solid rgba(111, 44, 255, .34);
    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .34),
            rgba(255, 255, 255, .10)
        );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .42),
        0 5px 14px rgba(0, 0, 0, .12);

    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

/*
 * Popover переносится JavaScript в body.
 * Поэтому он не режется overflow у формы
 * и не наследует узкую ширину кнопки.
 */
.soulu-tooltip__popover {
    box-sizing: border-box;

    position: fixed;
    z-index: 1000000;

    width: min(340px, calc(100vw - 32px));
    max-width: 340px;
    padding: 16px 17px;

    color: #202633;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;

    font-family: Montserrat, Arial, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;

    border: 1px solid rgba(111, 44, 255, .26);
    border-radius: 16px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(111, 44, 255, .08),
            transparent 46%
        ),
        rgba(248, 250, 252, .97);

    box-shadow:
        0 18px 46px rgba(29, 37, 49, .24),
        inset 0 1px 0 rgba(255, 255, 255, .94);

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

    opacity: 0;
    visibility: hidden;
    transform: translateY(7px) scale(.985);
    transform-origin: center bottom;

    pointer-events: none;

    transition:
        opacity .18s ease,
        visibility .18s ease,
        transform .18s ease;
}

.soulu-tooltip__popover.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.soulu-tooltip__popover strong {
    display: block;
    margin: 0 0 7px;
    font-weight: 700;
}

.soulu-tooltip__popover p {
    margin: 8px 0 0;
}

.soulu-tooltip__popover ul {
    margin: 0;
    padding-left: 17px;
}

.soulu-tooltip__popover li + li {
    margin-top: 4px;
}

/* Маленький указатель на desktop */

.soulu-tooltip__popover::after {
    content: "";

    position: absolute;
    left: var(--tooltip-arrow-left, 50%);
    bottom: -7px;

    width: 13px;
    height: 13px;

    border-right: 1px solid rgba(111, 44, 255, .20);
    border-bottom: 1px solid rgba(111, 44, 255, .20);

    background: rgba(248, 250, 252, .97);

    transform: translateX(-50%) rotate(45deg);
}

/* Затемнение только для мобильной подсказки */

.soulu-tooltip-backdrop {
    position: fixed;
    inset: 0;
    z-index: 999999;

    background: rgba(7, 10, 16, .42);

    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity .2s ease,
        visibility .2s ease;
}

.soulu-tooltip-backdrop.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

@media (max-width: 768px) {
    .soulu-tooltip__popover {
        left: 16px !important;
        right: 16px !important;
        top: auto !important;
        bottom: max(18px, env(safe-area-inset-bottom)) !important;

        width: auto !important;
        max-width: none !important;
        max-height: min(62vh, 520px);
        padding: 20px 20px 21px;

        overflow-y: auto;
        overscroll-behavior: contain;

        font-size: 13px;
        line-height: 1.58;

        border-radius: 22px;

        transform: translateY(24px) scale(.99);
        transform-origin: center bottom;
    }

    .soulu-tooltip__popover.is-visible {
        transform: translateY(0) scale(1);
    }

    .soulu-tooltip__popover::after {
        display: none;
    }
}
