/* --- Карусель --- */
.carousel-item img,
.carousel-item picture img {
    object-fit: cover;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: auto;
}
.carousel-image-container {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
}
.no-image-placeholder { text-align: center; }

/* --- Телефонная ссылка --- */
.phone-link { text-decoration: none; }

/* --- Сообщения --- */
#loading-message, #error-message, #loading-history, #no-history, #loading-favorites, #no-favorites {
    text-align: center; font-style: italic; color: #6c757d;
}

/* --- Мелкий шрифт --- */
.fs-tiny { font-size: 0.75rem; }

/* --- Анимация Избранного --- */
.favorite-pulse { animation: pulse 0.5s ease-in-out; }
@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.3); } 100% { transform: scale(1); } }

/* --- Элементы Истории --- */
.history-item.clickable { cursor: pointer; }
.history-item.clickable:hover { background-color: #f8f9fa; }

/* --- Заметка в Избранном --- */
.favorite-note {
    word-break: break-word; /* Перенос длинных слов */
    max-height: 100px; /* Ограничение высоты для длинных заметок */
    overflow-y: auto; /* Добавить скролл, если нужно */
}

/* --- Офлайн Индикатор --- */
#offline-indicator {
    position: fixed;
    bottom: 74px; /* Высота нижней нав. панели */
    left: 0;
    width: 100%;
    background-color: rgb(220 53 69 / 45%) !important ;
    backdrop-filter: blur(7px) grayscale(80) !important ; /* Красный */
    color: white;
    padding: 3px 10px;
    font-size: 0.75rem;
    text-align: center;
    z-index: 1040; /* Выше контента, ниже модалок */
    display: none; /* Скрыт по умолчанию */
    box-shadow: 0 -2px 5px rgba(0,0,0,0.2);
}
@media (min-width: 768px) { /* На больших экранах, где нет нижней панели */
    #offline-indicator { bottom: 0; }
}

/* --- Кнопки Таймера на карточке (уменьшенные) --- */
/* Используем .btn-sm стандартный или .btn-xs кастомный */
.timer-controls .btn-xs { /* Если нужен очень маленький размер */
    padding: 0.1rem 0.3rem;
    font-size: 0.7rem;
    border-radius: 0.2rem;
}
.timer-buttons .btn { /* Общий стиль для кнопок в блоке */
    flex-grow: 1; /* Растянуть кнопки */
}

.modal {
    backdrop-filter: blur(7px) grayscale(80) !important;
}

.cookie-notification {
            position: fixed;
            background-color: rgba(0, 0, 0, .8);
            bottom: 0;
            width: 100%;
            color: white;
            padding: 15px;
        }
        .cookie-notification_hidden_yes {
            display: none;
        }
        .cookie-notification__header {
            margin-bottom: 10px;
            font-size: 23px;
        }
        .cookie-notification__body {
            margin-bottom: 10px;
        }
.bi-heart-fill {
    color: red;
}
.bi-heart {
    color: red;
}
.btn-outline-danger {
    background: none !important;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
    color: #0d6efd;
}
/* --- Основной контент --- */
main {
    padding-bottom: 70px; /* Отступ снизу для навбара/футера/индикатора */
    user-select: none;
}