/* Общие настройки иконок */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
    vertical-align: middle;
}

/* Убираем скроллбар для эстетики */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Анимация аккордеона в прайс-листе */
.service-accordion-content {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0, 1, 0, 1), opacity 0.3s ease-out, padding 0.5s ease-out;
}

.service-accordion-item.active .service-accordion-content {
    max-height: 100%;  /* 2500px; */
    opacity: 1;
    padding-top: 2rem;
    padding-bottom: 2rem;
    transition: max-height 1s ease-in-out, opacity 0.5s ease-in, padding 0.5s ease-in-out;
}

.service-accordion-item.active h3 {
    font-style: italic;
    color: #171818;
}

.dark .service-accordion-item.active h3 {
    color: #f9f9f9;
}

/* Настройки таблиц */ /* Адаптивность таблиц: использование separate позволяет избежать наложений при скролле */
table { border-collapse: separate; border-spacing: 0; width: 100%; }
th { text-align: left; padding: 1rem 0.5rem; border-bottom: 1px solid rgba(var(--outline-variant), 0.2); }
td { padding: 0.75rem 0.5rem; border-bottom: 1px solid rgba(var(--outline-variant), 0.1); }

/* Логика трансформации таблицы в карточки на мобильных устройствах (< 768px) */
@media (max-width: 599px) {  /*  767  */
    .responsive-pricing-table thead {
        display: none; /* Скрываем заголовки таблицы */
    }
    .responsive-pricing-table,
    .responsive-pricing-table tbody,
    .responsive-pricing-table tr,
    .responsive-pricing-table td {
        display: block; /* Переключаем элементы в блочный режим */
        width: 100%;
    }
    .responsive-pricing-table tr {
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid rgba(116, 120, 120, 0.3);
    }
    .responsive-pricing-table td {
        border: none;
        padding: 0.25rem 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-align: right;
    }
    /* Первый столбец (название услуги) делаем акцентным */
    .responsive-pricing-table td:first-child {
        font-weight: 700;
        margin-bottom: 0.5rem;
        text-align: left;
        display: block;
        font-size: 1rem;
        color: #171818;
    }
    .dark .responsive-pricing-table td:first-child {
        color: #f9f9f9;
    }
    /* Добавляем подписи через псевдоэлементы для цен */
    .responsive-pricing-table td:not(:first-child)::before {
        content: attr(data-label);
        font-family: 'Manrope', sans-serif;
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: #747878;
        font-weight: 400;
        text-align: left;
    }
    /* Обработка ячеек с colspan (общие цены) */
    .responsive-pricing-table td[colspan="2"] {
        display: flex;
        justify-content: space-between;
    }
}

/* Модальное окно выбора филиала */
#branch-modal-overlay.hidden {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease-out;
    overflow: auto
}

/* Модальное окно выбора размеры */
@media (min-width: 361px ) and (min-height: 421px){
    #modal-small-size-2 {
        display: none !important;
    }
}
@media (min-width: 361px ) and (min-height: 421px){
    #modal-normal-size-2 {
        display: flex !important;
    }
}

@media (max-width: 360px) or (max-height: 420px) {
    #modal-normal-size-1 {
        display: none !important;
    }
}

@media (max-width: 360px) or (max-height: 420px) {
    #modal-normal-size-2 {
        display: none !important;
    }
}

/* Выпадающие меню в шапке */
#services-menu-dropdown.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

#branch-selector-dropdown.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Инверсия карты для темной темы */
.map-widget-container iframe {
    filter: grayscale(1) invert(0);
    transition: filter 0.3s ease;
}
.dark .map-widget-container iframe {
    filter: grayscale(1) invert(0.9) hue-rotate(180deg);
}
/* Sidebar Hover Logic */
/* Боковая панель навигации (только для больших экранов) */
#side-navigation {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: none; /* Скрыто по умолчанию */
}
@media (min-width: 1500px) {
    #side-navigation { display: flex; }
}

#side-navigation:hover {
    transform: translateX(0);
}
.scroll-text-wrapper {
    transition: max-width 0.4s ease, opacity 0.3s ease;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
}
#side-navigation:hover .scroll-text-wrapper {
    max-width: 150px;
    opacity: 1;
}

@media (max-width: 1499px) {
    #side-navigation {
        display: none !important;
    }
}
@media (min-width: 1500px) {
    #side-navigation {
        display: flex !important;
    }
}

.lookbook-img {
    transition: filter 0.7s ease, transform 0.7s ease;
    filter: grayscale(100%);
}
.group:hover .lookbook-img {
    filter: grayscale(0%);
    transform: scale(1.05);
}
/* Уведомление о ... в филиале - УВЕД */

#branch-notification {
    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s ease;
}
#branch-notification.translate-x-full {
    opacity: 0;
}


/* Стили для уведомления о куки */
#cookie-consent {
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease;
    z-index: 70;
}
#cookie-consent.hidden {
    transform: translateY(100%);
    opacity: 0;
    pointer-events: none;
}
@media (max-width: 640px) {
    #cookie-consent {
        left: 1rem !important;
        right: 1rem !important;
        bottom: 1rem !important;
        width: auto !important;
    }

    /* Оптимизация для самых маленьких экранов (iPhone SE) */
    @media (max-width: 330px) {
        h1 { font-size: 2.75rem !important; }
        .nav-btn-text { display: none; }
        .service-accordion-trigger h3 { font-size: 1.1rem !important; }
        .branch-modal-option { padding: 1rem !important; }
    }