/* main.css - Главный файл стилей */

/* Vendor */
@import url('vendor/normalize.css');

/* Utilities */
@import url('utils/variables.css');
@import url('utils/animations.css');
@import url('utils/media.css');

/* Components */
@import url('components/buttons.css');
@import url('components/header.css');
@import url('components/footer.css');
@import url('components/service-switcher.css');
@import url('components/forms.css');
@import url('components/modals.css');
@import url('components/footer.css');
@import url('components/preloader.css');

/* Sections */
@import url('sections/hero.css');
@import url('sections/about.css');
@import url('sections/team.css');
@import url('sections/portfolio.css');
@import url('sections/services.css');
@import url('sections/price.css');
@import url('sections/booking.css');
@import url('sections/contacts.css');
@import url('sections/about.css');
@import url('sections/price.css');


/* Базовые стили */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-main);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-white);
    background-color: var(--color-black);
    overflow-x: hidden;
    min-width: 320px;
}

.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}

/* Типографика */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-headers);
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.section-title {
    font-size: clamp(2rem, 5vw, 3.5rem);
    margin-bottom: 3rem;
    position: relative;
    display: inline-block;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, var(--color-gold), transparent);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.preloader {
    font-family: Brush Script MT, Brush Script Std, cursive;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;

}

.preloader-text {
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: 5px;
    color: rgb(240, 188, 18);
}

.preloader--hidden {
    opacity: 0;
    visibility: hidden;
}

.flatpickr-calendar {
    background: #1a1a1a !important;
    border: 1px solid #c9a227 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
}

/* Заголовок */
.flatpickr-months {
    background: #0a0a0a !important;
    border-radius: 8px 8px 0 0 !important;
    padding: 12px 0 !important;
}

.flatpickr-month {
    color: #c9a227 !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
}

/* Стрелки */
.flatpickr-prev-month, 
.flatpickr-next-month {
    fill: #c9a227 !important;
}

.flatpickr-prev-month:hover, 
.flatpickr-next-month:hover {
    fill: #dbb957 !important;
}

/* Дни недели */
.flatpickr-weekday {
    color: #c9a227 !important;
    font-weight: 600 !important;
    background: #1a1a1a !important;
}

/* ========== КЛЮЧЕВОЕ: стили для дней ========== */

/* Все дни по умолчанию */
.flatpickr-day {
    color: #ffffff !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 1px solid transparent !important;
}

/* НЕДОСТУПНЫЕ ДНИ (прошедшие) - делаем серыми */
.flatpickr-day.disabled,
.flatpickr-day.disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: #555555 !important;
    background: #2a2a2a !important;
    border-color: #2a2a2a !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
    text-decoration: line-through !important;
}

/* ДОСТУПНЫЕ ДНИ (будущие) */
.flatpickr-day:not(.disabled):not(.prevMonthDay):not(.nextMonthDay) {
    color: #ffffff !important;
    background: transparent !important;
}

/* Ховер на доступных днях */
.flatpickr-day:not(.disabled):not(.prevMonthDay):not(.nextMonthDay):hover {
    background: #3a3a3a !important;
    border-color: #c9a227 !important;
    color: #ffffff !important;
}

/* ВЫБРАННЫЙ ДЕНЬ */
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: #c9a227 !important;
    border-color: #c9a227 !important;
    color: #000000 !important;
    font-weight: bold !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

/* ТЕКУЩИЙ ДЕНЬ (сегодня) */
.flatpickr-day.today {
    border-color: #c9a227 !important;
    background: rgba(201, 162, 39, 0.2) !important;
}

.flatpickr-day.today.selected {
    border-color: #c9a227 !important;
    background: #c9a227 !important;
    color: #000000 !important;
}

/* ВЫХОДНЫЕ ДНИ (доступные) */
.flatpickr-day:not(.disabled):not(.prevMonthDay):not(.nextMonthDay).weekend {
    color: #dbb957 !important;
}

/* ВЫХОДНЫЕ ДНИ (недоступные) */
.flatpickr-day.disabled.weekend,
.flatpickr-day.prevMonthDay.weekend {
    color: #555555 !important;
}

:root {
    --header-height: 70px;
}

@media (min-width: 768px) {
    :root {
        --header-height: 80px;
    }
}