@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Обновляем фон body (указываем путь к вашей картинке 1.jpg) */
body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    color: #0f172a !important;
    overflow-x: hidden;
    position: relative;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;

    /* Многослойный градиент: небо → море → песок */
    background:
        radial-gradient(ellipse at top, rgba(255,255,255,0.4) 0%, transparent 60%),
        linear-gradient(
            180deg,
            #a7d8f0 0%,      /* светлое небо */
            #7fc4e6 18%,     /* небо-море */
            #4da8d4 35%,     /* море глубокое */
            #89d4d8 55%,     /* бирюза у берега */
            #d4d4b8 72%,     /* мокрый песок */
            #f0e2c0 88%,     /* песок тёплый */
            #f5e8cc 100%     /* светлый песок у нижнего края */
        );
    background-attachment: fixed;
}

/* Полупрозрачное затемнение поверх фона, чтобы фоновая картинка
   была видна во всей красоте, но при этом текст остается читаемым */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;

    /* Шум-текстура + лёгкое затемнение по краям */
    background-image:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"),
        radial-gradient(ellipse at center, transparent 0%, transparent 70%, rgba(15, 23, 42, 0.08) 100%);
    background-size: 200px 200px, 100% 100%;
}

/* Делаем плашки и блоки полупрозрачными с эффектом размытия (Glassmorphism) */
.glass-panel {
    background: rgba(255, 255, 255, 0.72) !important; /* Настройка прозрачности блоков (72%) */
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    color: #0f172a !important;
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.15);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.glass-panel:hover {
    background: rgba(255, 255, 255, 0.82) !important;
    border-color: rgba(56, 189, 248, 0.6) !important;
    box-shadow: 0 20px 40px -10px rgba(2, 132, 199, 0.2) !important;
}

/* Поля ввода (Input & Select) */
input[type="text"], input[type="tel"], input[type="date"], select {
    font-size: 14px !important;
    transition: all 0.2s ease-in-out;
}

input:focus, select:focus {
    box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.15) !important;
}

/* Стилизация Air Datepicker */
.air-datepicker {
    --adp-background: #ffffff;
    --adp-border-color: #e2e8f0;
    --adp-border-radius: 1.25rem;
    --adp-day-cell-height: 40px;
    font-family: inherit, sans-serif;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25) !important;
    border: 1px solid #cbd5e1 !important;
    padding: 1.25rem !important;
}

.air-datepicker-body--days.-cells- {
    min-height: 240px;
}

.air-datepicker-cell.-day- {
    border-radius: 0.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    transition: all 0.2s ease;
}

.air-datepicker-cell.-day-:hover {
    background-color: #e0f2fe !important;
    color: #0369a1 !important;
}

.air-datepicker-cell.-selected- {
    background: #0284c7 !important;
    color: #ffffff !important;
    font-weight: bold;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

.air-datepicker-cell.-in-range- {
    background: #f0f9ff !important;
    color: #0369a1;
    border-radius: 0;
}

.air-datepicker-cell.-disabled- {
    color: #cbd5e1 !important;
    background-color: #fff1f2 !important;
    text-decoration: line-through;
    cursor: not-allowed !important;
    /* Разрешаем клик по заблокированным дням для показа подсказки */
    pointer-events: auto !important;
}

/* Кастомный скроллбар */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 6px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* ============================================ */
/* Стили для вкладок админ-панели               */
/* ============================================ */

.admin-tab-btn {
    border-bottom: 2px solid transparent;
    cursor: pointer;
    white-space: nowrap;
}

.admin-tab-btn-active {
    background: rgba(255, 255, 255, 0.9);
    color: #0369a1;
    border-bottom-color: #0284c7;
}

.admin-tab-btn-inactive {
    color: #64748b;
}

.admin-tab-btn-inactive:hover {
    background: rgba(255, 255, 255, 0.5);
    color: #334155;
}

/* Анимация появления модального окна и переключения вкладок */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(-10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.animate-fadeIn {
    animation: fadeIn 0.2s ease-out;
}

.admin-tab-content {
    animation: fadeIn 0.2s ease-out;
}

/* ============================================ */
/* Тема для страницы дома                       */
/* ============================================ */

body.theme-forest {
    background:
        radial-gradient(ellipse at top, rgba(255,255,255,0.35) 0%, transparent 60%),
        linear-gradient(
            180deg,
            #cfe4f0 0%,      /* утреннее небо */
            #9dc3d4 20%,     /* горизонт */
            #88b091 42%,     /* лес вдалеке */
            #6f9c78 60%,     /* лес зелёный */
            #a8bfa0 78%,     /* светлая трава */
            #e0d7b0 100%     /* поле с землёй */
        );
    background-attachment: fixed;
}

/* Заблокированные дни в календаре (используется на обеих страницах) */
.-disabled- {
    color: #cbd5e1 !important;
    background-color: #fee2e2 !important;
    text-decoration: line-through;
    cursor: not-allowed !important;
}



@keyframes pulse-slow {
    0%, 100% { transform: scale(1); opacity: 0.4; }
    50% { transform: scale(1.08); opacity: 0.15; }
}
.animate-pulse-slow {
    animation: pulse-slow 3s ease-in-out infinite;
}




