/* Site-level additions (refactor 2026-10), loaded after main.css and chat.css. */
/* The hero title is an <h1> now; keep the old <div> geometry (no default top margin). */
h1.chat__title { margin-top: 0; }

/* Calltouch callback popup (moved here from an inline <style> in includes/ct-popup.php). */
    .ct-popup {
        border-radius: 20px;
        padding: 40px;
        background-color: #fff;
        gap: 24px;
        width: 560px;
        box-shadow: 0px 4px 4px 0px #00000021;
        opacity: 0;
        z-index: -1;
        visibility: hidden;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
    }
    .ct-popup.visible {
        opacity: 1;
        z-index: 9999999999;
        visibility: visible;
    }
    .ct-popup__close {
        width: 24px;
        height: 24px;
        flex: 0 0 auto;
        position: absolute;
        top: 12px;
        right: 12px;
        cursor: pointer;
    }
    .ct-popup__close svg {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .ct-popup__form {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }
    .ct-popup__head {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .ct-popup__title {
        font-weight: 500;
        font-size: 24px;
        line-height: 120%;
    }

    .ct-popup__subtitle {
        font-weight: 300;
        font-size: 16px;
        line-height: 120%;
    }
    .ct-popup__items {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .ct-popup__item {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .ct-popup__item label {
        font-size: 14px;
        line-height: 100%;
    }
    .ct-popup__item .ct-popup__input {
        display: flex;
        align-items: center;
        border-radius: 10px;
        padding: 14px 20px;
        width: 100%;
        background-color: #EFEFEF;
        border: 1px solid #EFEFEF;
        outline: none;
        font-size: 16px;
        font-weight: 300;
        color: #000000;
        height: 50px;
    }
    .ct-popup__item .ct-popup__input::placeholder {
        color: #0000004D;
    }
    .ct-popup__item .ct-popup__input:hover,
    .ct-popup__item .ct-popup__input:focus {
        border-color: #00CABF;
    }
    .ct-popup__item button[type="submit"].ct-popup__btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 50px;
        background-color: #00CABF;
        padding: 14px 30px;
        border-radius: 10px;
        gap: 6px;
        font-weight: 300;
        font-size: 16px;
        line-height: 100%;
        color: #FFF;
        border: 0;
        cursor: pointer;
    }
    .ct-popup__item button[type="submit"].ct-popup__btn span {
        font-weight: 300;
        font-size: 16px;
        line-height: 100%;
        color: #FFF;
    }
    .ct-popup__item button[type="submit"].ct-popup__btn svg {
        width: 22px;
        height: 22px;
        flex: 0 0 auto;
        object-fit: contain;
    }
    .ct-popup__checkbox-wrapper {
        display: flex;
        align-items: center;
        gap: 8px;
        cursor: pointer;
    }

    .ct-popup__checkbox {
        display: block !important;
        width: 19px;
        height: 19px;
        margin: 0;
        border: 1px solid #00CABF;
        border-radius: 4px;
        box-sizing: border-box;
        appearance: none;
        -webkit-appearance: none;
        background: #fff;
        cursor: pointer;
        position: relative;
        flex-shrink: 0;
    }

    .ct-popup__checkbox:checked {
        background-color: #00CABF;
    }

    .ct-popup__checkbox:checked::after {
        content: '';
        position: absolute;
        left: 6px;
        top: 2px;
        width: 4px;
        height: 9px;
        border: solid #fff;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }
    .ct-popup__checkbox-text {
        font-size: 12px;
        font-weight: 300;
        line-height: 120%;
    }
    .ct-popup__checkbox-text a {
        font-size: 12px;
        font-weight: 300;
        line-height: 120%;
        color: #00CABF;
        text-decoration: none;
        transition: all .3s ease;
    }
    .ct-popup__checkbox-text a:hover {
        text-decoration: underline;
    }

    .ct-widget {
        position: fixed;
        width: 64px;
        height: 64px;
        right: 24px;
        bottom: 72px;
        z-index: 10001;
        cursor: pointer;
    }

    .ct-widget svg {
        width: 100%;
        height: 100%;
        transform-origin: center;
        transform: translateZ(0);
        will-change: transform;
        animation: widgetPulse 3s ease-in-out infinite;
    }

    @keyframes widgetPulse {
        0%, 100% {
            transform: translateZ(0) scale(1);
        }
        50% {
            transform: translateZ(0) scale(1.06);
        }
    }


    @media (max-width: 767px){
        .ct-popup {
            top: unset;
            transform: unset;
            bottom: 0;
            left: 0;
            right: 0;
            width: 100%;
            padding: 32px 16px 16px;
            border-radius: 20px 20px 0 0;
        }
        .ct-popup__title {
            font-size: 18px;
        }
        .ct-popup__subtitle {
            font-size: 14px;
        }
    }
