/* ==========================================================================
   1. СПИРАНЕ НА АНИМАЦИИТЕ ЗА ЗАРЕЖДАНЕ (Fade In)
   ========================================================================== */

/* Премахваме движението (translateY), оставяме само появяването (opacity) */
.fade-section {
  opacity: 0;
  /* transform: translateY(12px); ПРЕМАХНАТО */
  transition: opacity .6s ease;
  will-change: opacity;
}

.fade-section.visible {
  opacity: 1;
  transform: none;
}

.fade-card {
  opacity: 0;
  /* transform: translateY(18px); ПРЕМАХНАТО */
  transition: opacity .5s ease;
  will-change: opacity;
}

.fade-card.visible {
  opacity: 1;
  transform: none;
}

/* Контейнер с карти */
.row.fade-cards-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

@media (min-width: 992px) {
  .info-card {
    flex: 0 0 calc(33.333% - 1rem);
    max-width: calc(33.333% - 1rem);
  }
}

/* Заглавна анимация - само прозрачност */
.fade-hero {
  opacity: 0;
  /* transform: translateY(20px); ПРЕМАХНАТО */
  animation: fadeUp 1.2s ease-out forwards;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    /* transform: translateY(25px); */
  }
  100% {
    opacity: 1;
    /* transform: translateY(0); */
  }
}

/* ==========================================================================
   2. ГЛОБАЛНА ЗАБРАНА ЗА МЪРДАНЕ НА КАРТИ ПРИ ХОВЪР
   ========================================================================== */

/* Базов стил за всички видове карти */
.card,
.about-card,
.team-card,
.feature-card,
.form-container,
.review-summary-card {
    /* Гарантираме, че елементът е статичен по подразбиране */
    -webkit-transform: none !important;
    transform: none !important;
    translate: none !important;

    /* Спираме плавните преходи на движение */
    transition: box-shadow 0.3s ease, border-color 0.3s ease !important;

    will-change: auto !important;
    position: relative;
}

/* Ховър състояние - САМО СЯНКА (БЕЗ ПРОМЯНА НА ПОЗИЦИЯТА) */
.card:hover,
.about-card:hover,
.team-card:hover,
.feature-card:hover,
.form-container:hover,
.review-summary-card:hover {
    /* КРИТИЧНО: Забраняваме движението */
    transform: none !important;
    translate: none !important;

    /* ВАЖНО: Премахнахме margin-top и top манипулациите, които причиняваха скачане */

    /* Само лека промяна на сянката */
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
    z-index: 1;
}

/* СПЕЦИАЛЕН ФИКС ЗА ТЪРСАЧКАТА (Карти със син бордър) */
/* Това гарантира, че картата за търсене изобщо не реагира при ховър */
.card.border-primary:hover {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important; /* Запазваме оригиналната сянка */
    border-color: #0d6efd !important; /* Запазваме синия цвят на рамката */
    transform: none !important;
}

/* ==========================================================================
   3. ФИКСИРАНЕ НА БУТОНИТЕ (ЦВЯТ НА ТЕКСТА)
   ========================================================================== */

/* Outline Secondary - да не става бял текстът */
.btn-outline-secondary {
    color: #6c757d !important;
    border-color: #6c757d !important;
    background-color: transparent !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.btn-outline-secondary.active {
    background-color: #f8f9fa !important; /* Светъл фон */
    color: #212529 !important;           /* Тъмен текст (почти черно) */
    border-color: #6c757d !important;
    box-shadow: none !important;
    transform: none !important; /* Без мърдане */
}

/* Бутон във формата за регистрация */
.form-container button {
  background-color: #0d6efd;
  color: #fff;
  border: none;
  width: 100%;
  padding: 10px 0;
  border-radius: 6px;
  font-weight: 500;
  transition: background-color 0.3s ease;
}

.form-container button:hover {
  background-color: #0b5ed7;
  transform: none !important;
}

/* ==========================================================================
   ОСТАНАЛИ СТИЛОВЕ
   ========================================================================== */

footer a:hover {
  color: #0d6efd !important;
  text-decoration: underline;
  transition: color 0.3s ease;
}

footer {
  background-color: #f8f9fa;
}

/* Dark Mode Fixes */
.modal-content, form, input, select, textarea, label {
  color: #212529 !important;
}

.modal-content, input.form-control, select.form-select, textarea.form-control {
  background-color: #ffffff !important;
  color: #212529 !important;
  border-color: #ced4da !important;
}

::placeholder {
  color: #6c757d !important;
  opacity: 1 !important;
}

input:focus, select:focus, textarea:focus {
  border-color: #0d6efd !important;
  box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.25);
}

.modal-title, .form-label, legend, h2, h3, h4 {
  color: #212529 !important;
  font-weight: 500;
}

h2, h3, h4 {
  font-weight: 600;
}

/* Form Container Layout */
.form-container {
  max-width: 550px;
  margin: 60px auto; /* Този марджин се запазва */
  background: #ffffff;
  padding: 40px 50px;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid #e5e7eb;
}

.form-container h2 {
  color: #212529;
  text-align: center;
  margin-bottom: 25px;
}

.form-container label {
  font-weight: 500;
  color: #343a40;
}

/* Social Icons */
footer .fa-lg { transition: color 0.3s; }
footer .fa-facebook:hover { color: #1877f2; }
footer .fa-instagram:hover { color: #e4405f; }
footer .fa-linkedin:hover { color: #0a66c2; }

/* Header banners */
.page-header {
  color: white;
  text-align: center;
  padding: 4rem 1rem;
  border-radius: 0 0 40px 40px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  margin-bottom: 3rem;
}
.page-header h1 { font-size: 2.2rem; font-weight: 700; }
.page-header p { font-size: 1.1rem; opacity: 0.9; }
.header-privacy { background: linear-gradient(135deg, #007bff 0%, #66b3ff 100%); }
.header-terms { background: linear-gradient(135deg, #6f42c1 0%, #b084f5 100%); }
.header-help { background: linear-gradient(135deg, #198754 0%, #56d28c 100%); }
.header-about { background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%); }
.page-header i { margin-right: 10px; font-size: 1.8rem; vertical-align: middle; }

/* About Page */
.about-section { text-align: center; }
.about-section h2 { margin-top: 2rem; color: var(--text-color); }
.about-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}

.about-card {
  background: var(--nav-bg);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}
.about-card i { font-size: 2rem; color: #2575fc; margin-bottom: 1rem; }

.text-adaptive {
  color: var(--text-color);
  opacity: 0.85;
}

/* Our Team Section */
.team-section { text-align: center; margin-top: 3rem; }
.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}
.team-card {
  background: var(--nav-bg);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}
.team-card img {
  width: 120px; height: 120px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 1rem;
  border: 3px solid #2575fc;
}

/* Contact Page */
.contact-section { text-align: center; margin-top: 2rem; }
.contact-form {
  max-width: 600px;
  margin: 2rem auto;
  background: var(--nav-bg);
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.contact-form input, .contact-form textarea {
  border-radius: 10px; border: 1px solid #ccc;
}
.contact-info { margin-top: 2.5rem; }

/* Legal Pages */
.legal-section {
  max-width: 850px;
  margin: 3rem auto;
  background: var(--nav-bg);
  padding: 2.5rem;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.legal-section h2 { font-weight: 600; margin-bottom: 1rem; color: var(--text-color); }
.legal-section p { line-height: 1.7; opacity: 0.9; }

/* Forms */
form .mb-3 {
  min-height: auto;
  transition: none !important;
}

form .text-danger.small {
  margin-top: 3px;
}

.is-invalid {
  border-color: #dc3545 !important;
  box-shadow: none !important;
}

/* Chat */
.message { margin-bottom: 1rem; max-width: 70%; }
.message.sent { margin-left: auto; text-align: right; }
.message.received { margin-right: auto; text-align: left; }
.message .bubble { display: inline-block; border-radius: 15px; }
.message.sent .bubble { background-color: #0d6efd; color: white; }
.message.received .bubble { background-color: #f1f1f1; color: #000; }

.emoji-panel { position: absolute; z-index: 1050; width: 280px; max-height: 240px; overflow: auto; }
.emoji-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: .35rem; }
.emoji-btn {
  font-size: 1.1rem; padding: .35rem; background: transparent; border: 1px solid transparent; border-radius: .5rem; cursor: pointer;
}
.emoji-btn:hover { background: #f1f3f5; border-color: #e9ecef; }
@media (max-width: 576px) {
  .emoji-panel { width: 220px; }
  .emoji-grid { grid-template-columns: repeat(6, 1fr); }
}

.badge-trusted {
    display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px;
    font-size: 0.8rem; font-weight: 600; border: 1px solid #2e7d32;
}

.feature-card {
  border-radius: 12px;
  background: var(--card-bg, #ffffff);
}
.feature-card .feature-icon {
  width: 72px; height: 72px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; background: rgba(0, 123, 255, 0.08); color: #0d6efd;
}
.feature-card h5 { font-size: 1.05rem; }
.feature-card p { line-height: 1.3; }

/* Dark Theme overrides */
[data-theme="dark"] .feature-card { background: #222; color: #eaeaea; }
[data-theme="dark"] .feature-card .feature-icon { background: rgba(13,110,253,0.12); }

.blog-sidebar { background: var(--nav-bg); border-radius: 10px; padding: 12px; }
.blog-sidebar h6 { font-weight: 600; }

.post-body img { max-width: 100%; height: auto; }342343344345346347348349350351352353354355356357358359360361362363364365366367368369370$0
.carousel-item img { max-height: 60vh; object-fit: contain; }