/* csp-fixes.css — замена inline-стилей для CSP compliance */

/* --- Категории: иконки с динамическим цветом --- */
.category-icon-dynamic { color: inherit; }

/* --- Клиенты: пустые состояния --- */
.empty-state-icon { font-size: 3rem; }

/* --- Чат --- */
.chat-messages-container { height: 400px; overflow-y: auto; }
.chat-message-bubble { max-width: 70%; }

/* --- История бронирований: inline формы --- */
.form-inline-display { display: inline; }

/* --- Редактирование услуги: превью изображения --- */
.service-image-preview { max-width: 200px; max-height: 200px; }

/* --- Home: бейджи и позиционирование --- */
.badge-position-wrapper { position: absolute; top: 0; right: 0; margin-top: 0.5rem; margin-right: 0.5rem; z-index: 10; }
.badge-gold { font-size: 1.1rem; }
.badge-silver { font-size: 1.1rem; }
.badge-bronze { font-size: 1.1rem; }

/* --- Подкатегории: динамические рамки --- */
.category-card-dynamic-border { border-left-width: 5px; border-left-style: solid; }

/* --- Адаптивные кнопки (clients.html) --- */
@media (max-width: 576px) {
    .btn-group-responsive { flex-wrap: wrap; }
    .btn-group-responsive .btn {
        flex: 1 1 auto;
        margin-bottom: 5px;
        margin-right: 2px;
        font-size: 0.8rem;
        padding: 0.375rem 0.5rem;
    }
    .table-compact thead th,
    .table-compact td {
        font-size: 0.85rem;
        padding: 0.5rem;
    }
    .table-compact thead th:last-child,
    .table-compact td:last-child {
        width: 1%;
        white-space: nowrap;
    }
}
@media (max-width: 320px) {
    .btn-group-responsive .btn span { font-size: 0.7rem; }
    .table-compact thead th,
    .table-compact td {
        font-size: 0.75rem;
        padding: 0.25rem;
    }
}

/* --- Home: hover и звёзды --- */
.hover-shadow-lg:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg) !important;
    transition: all 0.3s ease;
}
.stars { letter-spacing: -0.1rem; }
@media (max-width: 768px) {
    .display-4-responsive { font-size: 2rem; }
    .lead-responsive { font-size: 1rem; }
}

/* --- Подкатегории: карточки --- */
.category-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    text-align: center;
    padding: 20px;
    transition: transform 0.2s;
}
.category-card:hover { transform: translateY(-5px); }
.category-card a { text-decoration: none; color: inherit; }
.category-card .category-icon { font-size: 3rem; margin-bottom: 1rem; display: inline-block; }

/* --- Admin: backup формы --- */
.backup-form { max-width: 600px; margin: 20px 0; padding: 20px; background: #f8f9fa; border-radius: 8px; border: 1px solid #dee2e6; }
.backup-form label { display: block; font-weight: 600; margin-bottom: 8px; color: #333; }
.backup-form input[type="text"] { width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; box-sizing: border-box; }
.backup-form .help-text { font-size: 12px; color: #666; margin-top: 4px; }
.backup-form .btn-create { background: #417690; color: white; border: none; padding: 12px 24px; border-radius: 4px; cursor: pointer; font-size: 14px; font-weight: 600; margin-top: 15px; }
.backup-form .btn-create:hover { background: #205067; }
.backup-form .btn-cancel { background: #999; color: white; border: none; padding: 12px 24px; border-radius: 4px; cursor: pointer; font-size: 14px; margin-top: 15px; margin-left: 10px; text-decoration: none; display: inline-block; }
.backup-form .btn-cancel:hover { background: #666; }
.backup-info { background: #e7f3ff; border-left: 4px solid #417690; padding: 15px; margin-bottom: 20px; border-radius: 0 4px 4px 0; }
.backup-info p { margin: 5px 0; font-size: 13px; }
.backup-info strong { color: #417690; }
.backup-form-margin { margin-bottom: 20px; }

/* --- Error pages --- */
.error-page-body { font-family: Arial, sans-serif; text-align: center; padding: 50px; background: #f5f5f5; }
.error-page-container { max-width: 600px; margin: 0 auto; background: white; padding: 40px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.error-page-h1 { color: #e74c3c; font-size: 72px; margin: 0; }
.error-page-h2 { color: #333; margin: 20px 0; }
.error-page-p { color: #666; line-height: 1.6; }
.error-page-a { color: #3498db; text-decoration: none; }
.error-page-a:hover { text-decoration: underline; }
