/* ============================================
   ФИНАЛЬНОЕ ИСПРАВЛЕНИЕ ПАГИНАЦИИ TAXI755
   Заменяет все предыдущие стили пагинации
   ============================================ */

/* =====================================
   ОСНОВНОЙ СТИЛЬ КОНТЕЙНЕРА
   ===================================== */

/* Убираем wrapper, делаем прямое оформление */
.pagination,
ul.pagination,
.com-content-category__pagination,
.com-content-category__pagination .pagination {
  background: #485563 !important;
  padding: 12px 20px !important;
  border-radius: 25px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 30px auto !important;
  max-width: fit-content !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
  border: none !important;
  list-style: none !important;
}

/* =====================================
   БАЗОВЫЕ СТИЛИ ЭЛЕМЕНТОВ
   ===================================== */

.pagination li,
.pagination li a,
.pagination li span,
ul.pagination li,
ul.pagination li a,
ul.pagination li span,
.com-content-category__pagination li,
.com-content-category__pagination li a,
.com-content-category__pagination li span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 35px !important;
  height: 35px !important;
  margin: 0 2px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
  position: relative !important;
}

/* =====================================
   НЕАКТИВНЫЕ СТРАНИЦЫ
   ===================================== */

.pagination li a,
.pagination li span:not(.current):not(.active),
ul.pagination li a,
ul.pagination li span:not(.current):not(.active),
.com-content-category__pagination li a,
.com-content-category__pagination li span:not(.current):not(.active) {
  background: rgba(255, 255, 255, 0.15) !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

/* =====================================
   АКТИВНАЯ СТРАНИЦА (ЖЕЛТАЯ)
   ===================================== */

.pagination li.active a,
.pagination li.active span,
.pagination .current,
.pagination li .current,
ul.pagination li.active a,
ul.pagination li.active span,
ul.pagination .current,
ul.pagination li .current,
.com-content-category__pagination li.active a,
.com-content-category__pagination li.active span,
.com-content-category__pagination .current,
.com-content-category__pagination li .current {
  background: #ffd700 !important;
  color: #2c3e50 !important;
  font-weight: 700 !important;
}

/* =====================================
   HOVER ЭФФЕКТЫ
   ===================================== */

.pagination li a:hover,
.pagination li span:hover,
ul.pagination li a:hover,
ul.pagination li span:hover,
.com-content-category__pagination li a:hover,
.com-content-category__pagination li span:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
}

.pagination li.active a:hover,
.pagination li.active span:hover,
.pagination .current:hover,
ul.pagination li.active a:hover,
ul.pagination li.active span:hover,
ul.pagination .current:hover,
.com-content-category__pagination li.active a:hover,
.com-content-category__pagination li.active span:hover,
.com-content-category__pagination .current:hover {
  background: #ffa500 !important;
  color: #2c3e50 !important;
}

/* =====================================
   ИСПРАВЛЕННЫЕ ИКОНКИ НАВИГАЦИИ
   ===================================== */

/* Убираем текст и добавляем иконки */
.pagination li:first-child a,
.pagination li:last-child a,
ul.pagination li:first-child a,
ul.pagination li:last-child a,
.com-content-category__pagination li:first-child a,
.com-content-category__pagination li:last-child a {
  background: rgba(255, 255, 255, 0.2) !important;
  color: transparent !important;
  font-size: 0 !important;
  text-indent: -9999px !important;
  min-width: 40px !important;
}

/* Стрелка влево */
.pagination li:first-child a::before,
ul.pagination li:first-child a::before,
.com-content-category__pagination li:first-child a::before {
  content: "‹" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 16px !important;
  font-weight: bold !important;
  color: rgba(255, 255, 255, 0.8) !important;
  text-indent: 0 !important;
  display: block !important;
}

/* Стрелка вправо */
.pagination li:last-child a::before,
ul.pagination li:last-child a::before,
.com-content-category__pagination li:last-child a::before {
  content: "›" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 16px !important;
  font-weight: bold !important;
  color: rgba(255, 255, 255, 0.8) !important;
  text-indent: 0 !important;
  display: block !important;
}

/* Hover для стрелок */
.pagination li:first-child a:hover,
.pagination li:last-child a:hover,
ul.pagination li:first-child a:hover,
ul.pagination li:last-child a:hover,
.com-content-category__pagination li:first-child a:hover,
.com-content-category__pagination li:last-child a:hover {
  background: rgba(255, 255, 255, 0.35) !important;
}

.pagination li:first-child a:hover::before,
.pagination li:last-child a:hover::before,
ul.pagination li:first-child a:hover::before,
ul.pagination li:last-child a:hover::before,
.com-content-category__pagination li:first-child a:hover::before,
.com-content-category__pagination li:last-child a:hover::before {
  color: #ffffff !important;
}

/* =====================================
   ОТКЛЮЧЕННЫЕ КНОПКИ
   ===================================== */

.pagination li.disabled a,
.pagination li.disabled span,
ul.pagination li.disabled a,
ul.pagination li.disabled span,
.com-content-category__pagination li.disabled a,
.com-content-category__pagination li.disabled span {
  background: rgba(255, 255, 255, 0.05) !important;
  color: rgba(255, 255, 255, 0.3) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

.pagination li.disabled a::before,
ul.pagination li.disabled a::before,
.com-content-category__pagination li.disabled a::before {
  color: rgba(255, 255, 255, 0.3) !important;
}

/* =====================================
   ДОПОЛНИТЕЛЬНЫЕ СЕЛЕКТОРЫ
   ===================================== */

/* Для совместимости с разными версиями Joomla */
.pagination-list li:first-child a::before,
.paginator_ul li:first-child a::before {
  content: "‹" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 16px !important;
  font-weight: bold !important;
  color: rgba(255, 255, 255, 0.8) !important;
}

.pagination-list li:last-child a::before,
.paginator_ul li:last-child a::before {
  content: "›" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 16px !important;
  font-weight: bold !important;
  color: rgba(255, 255, 255, 0.8) !important;
}

/* =====================================
   СТАРЫЕ КЛАССЫ JOOMLA
   ===================================== */

/* Для старых шаблонов с классами paginator */
.paginator_prev,
.paginator_next {
  font-size: 0 !important;
  color: transparent !important;
  position: relative !important;
}

.paginator_prev::before {
  content: "‹" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 16px !important;
  font-weight: bold !important;
  color: rgba(255, 255, 255, 0.8) !important;
  display: block !important;
}

.paginator_next::before {
  content: "›" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 16px !important;
  font-weight: bold !important;
  color: rgba(255, 255, 255, 0.8) !important;
  display: block !important;
}

/* =====================================
   АДАПТИВНОСТЬ
   ===================================== */

@media (max-width: 768px) {
  .pagination,
  ul.pagination,
  .com-content-category__pagination,
  .com-content-category__pagination .pagination {
    padding: 10px 15px !important;
    border-radius: 20px !important;
    gap: 5px !important;
  }

  .pagination li,
  .pagination li a,
  .pagination li span,
  ul.pagination li,
  ul.pagination li a,
  ul.pagination li span,
  .com-content-category__pagination li,
  .com-content-category__pagination li a,
  .com-content-category__pagination li span {
    min-width: 32px !important;
    height: 32px !important;
    font-size: 13px !important;
    margin: 0 1px !important;
  }

  .pagination li:first-child a,
  .pagination li:last-child a,
  ul.pagination li:first-child a,
  ul.pagination li:last-child a,
  .com-content-category__pagination li:first-child a,
  .com-content-category__pagination li:last-child a {
    min-width: 35px !important;
  }
}

@media (max-width: 480px) {
  .pagination,
  ul.pagination,
  .com-content-category__pagination,
  .com-content-category__pagination .pagination {
    padding: 8px 12px !important;
    border-radius: 18px !important;
    gap: 3px !important;
    max-width: 90% !important;
  }

  .pagination li,
  .pagination li a,
  .pagination li span,
  ul.pagination li,
  ul.pagination li a,
  ul.pagination li span,
  .com-content-category__pagination li,
  .com-content-category__pagination li a,
  .com-content-category__pagination li span {
    min-width: 30px !important;
    height: 30px !important;
    font-size: 12px !important;
  }

  /* Скрываем лишние страницы */
  .pagination
    li:not(:first-child):not(:last-child):not(.active):not(:nth-child(2)):not(
      :nth-last-child(2)
    ),
  ul.pagination
    li:not(:first-child):not(:last-child):not(.active):not(:nth-child(2)):not(
      :nth-last-child(2)
    ),
  .com-content-category__pagination
    li:not(:first-child):not(:last-child):not(.active):not(:nth-child(2)):not(
      :nth-last-child(2)
    ) {
    display: none !important;
  }
}

/* =====================================
   МАКСИМАЛЬНАЯ СПЕЦИФИЧНОСТЬ
   ===================================== */

/* Последний резорт для переопределения всех стилей */
body .pagination,
body ul.pagination,
body .com-content-category__pagination,
body .com-content-category__pagination .pagination {
  background: #485563 !important;
  border-radius: 25px !important;
  padding: 12px 20px !important;
}

body .pagination li.active a,
body .pagination li.active span,
body .pagination .current,
body ul.pagination li.active a,
body ul.pagination li.active span,
body ul.pagination .current {
  background: #ffd700 !important;
  color: #2c3e50 !important;
}

body .pagination li:first-child a::before,
body .pagination li:last-child a::before,
body ul.pagination li:first-child a::before,
body ul.pagination li:last-child a::before {
  display: block !important;
  color: rgba(255, 255, 255, 0.8) !important;
}

/* =====================================
   УБИРАЕМ КОНФЛИКТУЮЩИЕ СТИЛИ
   ===================================== */

/* Убираем все wrapper стили */
.pagination-wrapper {
  display: none !important;
}

/* Убираем Bootstrap стили */
.pagination > li > a:focus,
.pagination > li > span:focus,
.pagination > li > a:active,
.pagination > li > span:active {
  outline: none !important;
  box-shadow: none !important;
}
