/* Стилі для світлої та темної теми Доброзуб Calls */
:root {
    --brand-primary: #0284c7;
    --brand-primary-hover: #0369a1;
}

body {
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
    transition: background-color 0.25s ease, color 0.25s ease;
    -webkit-tap-highlight-color: transparent;
}

button, a, input, select {
    touch-action: manipulation;
}

/* Приховування скролбару при збереженні горизонтального свайпу на смартфонах */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Обмеження кількості рядків тексту */
.line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Кастомний скролбар для десктопу */
@media (min-width: 768px) {
    ::-webkit-scrollbar {
        width: 6px;
        height: 6px;
    }
    ::-webkit-scrollbar-track {
        background: #f1f5f9;
    }
    .dark ::-webkit-scrollbar-track {
        background: #0f172a;
    }
    ::-webkit-scrollbar-thumb {
        background: #cbd5e1;
        border-radius: 4px;
    }
    .dark ::-webkit-scrollbar-thumb {
        background: #334155;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: #94a3b8;
    }
    .dark ::-webkit-scrollbar-thumb:hover {
        background: #475569;
    }
}

/* Бульбашки діалогу (Світла тема) */
.bubble-operator {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border: 1px solid #bfdbfe;
    border-top-left-radius: 4px;
}

.bubble-client {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
    border-top-right-radius: 4px;
}

/* Бульбашки діалогу (Темна тема) */
.dark .bubble-operator {
    background: linear-gradient(135deg, #1e3a5f 0%, #0f2b48 100%);
    border: 1px solid #1d4ed8;
    color: #f1f5f9;
}

.dark .bubble-client {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    border: 1px solid #334155;
    color: #e2e8f0;
}

/* Стилі для рекомендацій та помилок */
.strength-card {
    border-left: 3px solid #10b981;
}
.mistake-card {
    border-left: 3px solid #f43f5e;
}
.recommendation-banner {
    background: linear-gradient(135deg, #eff6ff 0%, #e0e7ff 100%);
    border-left: 4px solid #6366f1;
}
.dark .recommendation-banner {
    background: linear-gradient(135deg, #1e1b4b 0%, #172554 100%);
    border-left: 4px solid #818cf8;
}

/* Мобільні картки дзвінків */
.call-mobile-card {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.call-mobile-card:active {
    transform: scale(0.985);
}

/* Плавні переходи */
.transition-theme {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Підтримка безпечної зони iPhone (home bar) */
.safe-pb {
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
}
