/* =========================================================
   САЙТ — ОБЩИЕ СТИЛИ
========================================================= */

body {
    color: var(--md-text-color, #261d22);
    background-color: var(--md-page-bg, #fff);
}




/* =========================================================
   САЙТ — ГЛАВНАЯ
========================================================= */

.home-page {
    background: var(--md-page-bg, #fff9fb);
}

.home-letter-spacing {
    letter-spacing: 2px;
}

.home-hero-text {
    max-width: 700px;

    line-height: 1.6;
}

.home-section-text {
    max-width: 720px;

    line-height: 1.6;
}

.home-step-number {
    width: 40px;

    height: 40px;

    flex: 0 0 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--md-primary-color, #261d22);

    color: #fff;

    font-weight: 700;
}

.home-page .btn-dark {
    background: var(--md-button-color, #261d22);

    border-color: var(--md-button-color, #261d22);

    border-radius: var(--md-button-radius, 0);
}

.home-page .btn-dark:hover {
    background: var(--md-button-hover-color, #3a2f34);

    border-color: var(--md-button-hover-color, #3a2f34);
}

.home-page .btn-outline-dark {
    color: var(--md-button-color, #261d22);

    border-color: var(--md-secondary-color, #d8ccd1);

    border-radius: var(--md-button-radius, 0);
}

.home-page .btn-outline-dark:hover {
    background: var(--md-button-color, #261d22);

    border-color: var(--md-button-color, #261d22);

    color: #fff;
}

.home-page .card,
.home-page .bg-white {
    border-color: var(--md-border-color, #eee) !important;

    background-color: var(--md-surface-color, #fff);
}


/* =========================================================
   ГЛАВНАЯ — МОБИЛЬНЫЙ
========================================================= */

@media (
    max-width: 767.98px
) {

    .home-page .display-1 {
        font-size: 44px;
    }

    .home-page .display-6 {
        font-size: 32px;
    }

    .home-hero-text {
        font-size: 17px;
    }
}


/* =========================================================
   НЕЖНО-РОЗОВАЯ ТЕМА ЭЛЕМЕНТОВ ФОРМ
========================================================= */

:root {
    --md-pink: #f6d6df;

    --md-pink-hover: #efbdca;

    --md-pink-border: #e8afbf;

    --md-pink-focus:
        rgba(
            239,
            189,
            202,
            0.35
        );
}


/* =========================================================
   ПОЛЯ ВВОДА
========================================================= */

.form-control,
.form-select {
    background-color: var(--md-input-bg, #fff) !important;

    border-color: var(--md-input-border-color, #ced4da) !important;

    color: var(--md-input-text-color, #212529) !important;

    border-radius: var(--md-input-radius, 0) !important;

    min-height: var(--md-input-height, 38px);
}

.form-control:focus,
.form-select:focus,
textarea.form-control:focus {
    background-color: var(--md-input-bg, #fff) !important;

    border-color: var(--md-input-focus-color, #efbdca) !important;

    color: var(--md-input-text-color, #212529) !important;

    box-shadow:
        0 0 0 0.25rem
        color-mix(
            in srgb,
            var(--md-input-focus-color, #efbdca) 35%,
            transparent
        ) !important;

    outline: 0;
}


/* =========================================================
   ЧЕКБОКСЫ
========================================================= */

.form-check-input[type="checkbox"] {
    background-color: var(--md-input-bg, #fff) !important;

    border-color: var(--md-input-border-color, #e8afbf) !important;

    accent-color: var(--md-primary-color, #261d22);
}

.form-check-input[type="checkbox"]:checked {
    background-color: var(--md-primary-color, #261d22) !important;

    border-color: var(--md-primary-color, #261d22) !important;
}

.form-check-input[type="checkbox"]:focus {
    border-color: var(--md-input-focus-color, #efbdca) !important;

    box-shadow:
        0 0 0 0.25rem
        color-mix(
            in srgb,
            var(--md-input-focus-color, #efbdca) 35%,
            transparent
        ) !important;
}


/* =========================================================
   РАДИО
========================================================= */

.form-check-input[type="radio"] {
    background-color: var(--md-input-bg, #fff) !important;

    border-color: var(--md-input-border-color, #e8afbf) !important;

    accent-color: var(--md-primary-color, #261d22);
}

.form-check-input[type="radio"]:checked {
    background-color: var(--md-primary-color, #261d22) !important;

    border-color: var(--md-primary-color, #261d22) !important;
}

.form-check-input[type="radio"]:focus {
    border-color: var(--md-input-focus-color, #efbdca) !important;

    box-shadow:
        0 0 0 0.25rem
        color-mix(
            in srgb,
            var(--md-input-focus-color, #efbdca) 35%,
            transparent
        ) !important;
}


/* =========================================================
   BOOTSTRAP SWITCH
========================================================= */

.form-switch .form-check-input {
    appearance: none !important;

    width: 2em;

    height: 1em;

    margin-top: .25em;

    background-color: var(--md-switch-inactive-bg, #dee2e6) !important;

    border-color: var(--md-switch-inactive-bg, #dee2e6) !important;

    background-image:
        radial-gradient(
            circle at .5em 50%,
            var(--md-switch-thumb-color, #fff) 0 .42em,
            transparent .43em
        ) !important;

    background-repeat: no-repeat !important;

    background-position: center !important;

    transition:
        background-color .15s ease-in-out,
        border-color .15s ease-in-out;
}

.form-switch .form-check-input:checked {
    background-color: var(--md-switch-active-bg, #efbdca) !important;

    border-color: var(--md-switch-active-bg, #efbdca) !important;

    background-image:
        radial-gradient(
            circle at calc(100% - .5em) 50%,
            var(--md-switch-thumb-color, #fff) 0 .42em,
            transparent .43em
        ) !important;
}

.form-switch .form-check-input:focus {
    border-color: var(--md-input-focus-color, #efbdca) !important;

    box-shadow:
        0 0 0 0.25rem
        color-mix(
            in srgb,
            var(--md-input-focus-color, #efbdca) 35%,
            transparent
        ) !important;
}


/* =========================================================
   ФОКУС КНОПОК И ССЫЛОК
========================================================= */

button:focus-visible,
a:focus-visible {
    outline:
        3px solid
        var(--md-secondary-color, var(--md-pink-border));

    outline-offset: 2px;
}


/* =========================================================
   DISABLED
========================================================= */

.form-control:disabled,
.form-control[readonly],
.form-select:disabled,
.form-check-input:disabled {
    opacity: 0.6;
}


/* =========================================================
   FOOTER — ИКОНКА МЕТРО
========================================================= */

.footer-metro-icon {
    width: 20px;

    height: 20px;

    flex: 0 0 16px;

    display: block;

    object-fit: contain;

    filter:
        brightness(0)
        saturate(100%)
        invert(18%)
        sepia(95%)
        saturate(2928%)
        hue-rotate(334deg)
        brightness(92%)
        contrast(97%);
}


/* =========================================================
   MAX — ИКОНКА СОЦСЕТИ
========================================================= */

.md-max-icon {
    display: inline-block;

    width: 18px;

    height: 18px;

    background-image:
        url('/assets/img/Max_logo.svg');

    background-repeat: no-repeat;

    background-position: center;

    background-size: contain;
}


/* =========================================================
   КАРТА КОНТАКТОВ
========================================================= */

.contacts-map {
    width: 100%;

    height: 520px;

    overflow: hidden;
}

.contacts-map iframe {
    display: block;

    width: 100% !important;

    height: 520px !important;

    min-height: 520px !important;

    max-height: 520px !important;

    border: 0 !important;
}

@media (
    max-width: 767.98px
) {

    .contacts-map {
        height: 420px;
    }

    .contacts-map iframe {
        height: 420px !important;

        min-height: 420px !important;

        max-height: 420px !important;
    }
}


/* =========================================================
   СОЦИАЛЬНЫЕ СЕТИ — ФИРМЕННЫЕ ЦВЕТА
========================================================= */

a .fa-vk {
    color: #0077ff;
}

a .fa-telegram-plane {
    color: #229ed9;
}

a .fa-instagram {
    color: #e4405f;
}

a .fa-whatsapp {
    color: #25d366;
}

a .md-max-icon {
    filter: none;
}


/* =========================================================
   ПЛАНШЕТ / ПК
========================================================= */

@media (min-width: 768px) {

    a .fa-vk {
        color: #0077ff;
    }

    a .fa-telegram-plane {
        color: #229ed9;
    }

    a .fa-instagram {
        color: #e4405f;
    }

    a .fa-whatsapp {
        color: #25d366;
    }

}


/* =========================================================
   HOVER
========================================================= */

a:hover .fa-vk {
    color: #0066dd;
}

a:hover .fa-telegram-plane {
    color: #168dcc;
}

a:hover .fa-instagram {
    color: #d92f50;
}

a:hover .fa-whatsapp {
    color: #1eb85a;
}


/* =========================================================
   ЯНДЕКС — РЕЙТИНГ
========================================================= */

.footer-yandex-rating {
    border: 1px solid rgba(255,255,255,.22);

    padding: 14px 16px;

    margin-top: 14px;
}

.footer-yandex-rating-name {
    font-size: 14px;

    font-weight: 700;

    margin-bottom: 8px;
}

.footer-yandex-rating-main {
    display: flex;

    align-items: center;

    gap: 10px;
}

.footer-yandex-rating-stars {
    font-size: 18px;

    letter-spacing: 1px;

    line-height: 1;
}

.footer-yandex-rating-value {
    font-size: 18px;

    font-weight: 700;

    line-height: 1;
}

.footer-yandex-rating-link {
    display: inline-block;

    margin-top: 10px;

    font-size: 12px;

    color: rgba(255,255,255,.75);

    text-decoration: none;
}

.footer-yandex-rating-link:hover {
    color: #fff;
}

/* =========================================================
   САЙТ — ГЛОБАЛЬНЫЙ ДИЗАЙН
   Значения берутся из site_design через layout.php.
========================================================= */

html,
body {
    min-height: 100%;
}

body {
    background-color: var(--md-page-bg, #fff) !important;
    color: var(--md-text-color, #261d22);
}

main {
    min-height: 1px;
    background-color: var(--md-page-bg, #fff);
}

.bg-white {
    background-color: var(--md-surface-color, #fff) !important;
}

.text-dark {
    color: var(--md-text-color, #261d22) !important;
}

.text-body {
    color: var(--md-text-color, #261d22) !important;
}

.text-secondary,
.text-body-secondary {
    color: var(--md-secondary-color, #8c7c83) !important;
}

.border-dark {
    border-color: var(--md-button-color, #261d22) !important;
}

/* Обычные кнопки */
.btn {
    border-radius: var(--md-button-radius, 0) !important;
}

.btn:not(.btn-sm):not(.btn-lg) {
    min-height: var(--md-button-height, 42px);
}

.navbar-toggler {
    border-radius: var(--md-button-radius, 0) !important;
}

.btn-dark {
    background-color: var(--md-button-color, #261d22) !important;
    border-color: var(--md-button-color, #261d22) !important;
    color: var(--md-button-text-color, #fff) !important;
}

.btn-dark:hover,
.btn-dark:focus-visible {
    background-color: var(--md-button-hover-color, #3a2f34) !important;
    border-color: var(--md-button-hover-color, #3a2f34) !important;
    color: var(--md-button-text-color, #fff) !important;
}

.btn-outline-dark {
    background-color: transparent !important;
    border-color: var(--md-button-color, #261d22) !important;
    color: var(--md-button-color, #261d22) !important;
}

.btn-outline-dark:hover,
.btn-outline-dark:focus-visible {
    background-color: var(--md-button-color, #261d22) !important;
    border-color: var(--md-button-color, #261d22) !important;
    color: var(--md-button-text-color, #fff) !important;
}

.btn-light {
    background-color: var(--md-surface-color, #fff) !important;
    border-color: var(--md-input-border-color, #e8afbf) !important;
    color: var(--md-text-color, #261d22) !important;
}

.btn-light:hover,
.btn-light:focus-visible {
    background-color: var(--md-input-bg, #fff) !important;
    border-color: var(--md-button-color, #261d22) !important;
    color: var(--md-text-color, #261d22) !important;
}

/* Bootstrap .rounded-0 не должен ломать глобальный радиус кнопок */
.btn.rounded-0 {
    border-radius: var(--md-button-radius, 0) !important;
}

/* Карточки и поверхности */
.card {
    background-color: var(--md-surface-color, #fff);
    color: var(--md-text-color, #261d22);
}

.card.border,
.card.border-dark {
    border-color: var(--md-input-border-color, #e8afbf) !important;
}

/* Поля групп */
.input-group-text {
    min-height: var(--md-input-height, 38px);

    background-color: var(--md-input-bg, #fff) !important;

    border-color: var(--md-input-border-color, #e8afbf) !important;

    color: var(--md-input-text-color, #212529) !important;

    border-radius: var(--md-input-radius, 0) !important;
}

/* Модальные окна */
.modal-dialog {
    max-width: var(--md-modal-max-width, 720px) !important;
}

.modal-content {
    background-color: var(--md-modal-bg, #fff) !important;

    color: var(--md-text-color, #261d22);

    border-radius: var(--md-modal-radius, 0) !important;

    border-color: var(--md-input-border-color, #e8afbf) !important;
}

.modal-header {
    background-color: var(--md-modal-header-bg, #f8f9fa) !important;

    color: var(--md-text-color, #261d22);

    border-bottom-color: var(--md-input-border-color, #e8afbf) !important;
}

.modal-body,
.modal-footer {
    background-color: var(--md-modal-bg, #fff) !important;

    color: var(--md-text-color, #261d22);
}

.modal-footer {
    border-top-color: var(--md-input-border-color, #e8afbf) !important;
}

.modal-content.rounded-0,
.modal-header.rounded-0 {
    border-radius: var(--md-modal-radius, 0) !important;
}

.modal-backdrop.show {
    background-color: var(--md-modal-overlay, rgba(0,0,0,.45)) !important;

    opacity: 1 !important;
}

.modal .btn-close {
    width: 1.5rem;
    height: 1.5rem;
    padding: .25rem;

    background-image: none !important;

    background-color: transparent !important;

    border: 0 !important;

    border-radius: 0 !important;

    color: var(--md-modal-close-color, #6c757d) !important;

    opacity: 1 !important;

    display: inline-flex;

    align-items: center;

    justify-content: center;
}

.modal .btn-close::before {
    content: "×";

    display: block;

    font-size: 1.8rem;

    line-height: 1;

    color: var(--md-modal-close-color, #6c757d);
}

.modal .btn-close:focus-visible {
    box-shadow:
        0 0 0 0.25rem
        color-mix(
            in srgb,
            var(--md-input-focus-color, #efbdca) 35%,
            transparent
        ) !important;

    outline: 0;
}

/* Унифицированный фокус */
button:focus-visible,
a:focus-visible {
    outline:
        3px solid
        var(--md-input-focus-color, #efbdca);

    outline-offset: 2px;
}

.form-range {
    accent-color: var(--md-button-color, #261d22);
}

/* Bootstrap utility .rounded-0 оставляем как есть для обычных блоков,
   но кнопки и модалки используют свои глобальные радиусы выше. */



/* =========================================================
   САЙТ — BOOKING / ФОРМА ЗАПИСИ
   Компактная современная компоновка без «продающих» окон
========================================================= */

.md-booking-page {
    --md-booking-border: var(--md-input-border-color, #e8dde1);
    --md-booking-soft: color-mix(in srgb, var(--md-primary-color, #261d22) 5%, var(--md-surface-color, #fff));
}

.md-booking-page > [class*="col-"] > .card {
    border-color: var(--md-booking-border) !important;
    border-radius: var(--md-block-radius, 0px) !important;
    box-shadow: 0 10px 30px rgba(38, 29, 34, .05) !important;
}

.md-booking-page .card-body {
    padding: clamp(22px, 4vw, 36px) !important;
}

.md-booking-page h1.h2 {
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.15;
    letter-spacing: -.02em;
}

/* Карточка выбранного времени */
.md-booking-page .bg-light.border,
.md-booking-page .border.p-3,
.md-booking-page .border.p-4 {
    background: var(--md-booking-soft) !important;
    border-color: var(--md-booking-border) !important;
    border-radius: var(--md-block-radius, 0px) !important;
}

.md-booking-page .border.p-3 {
    padding: 14px 16px !important;
}

.md-booking-page .border.p-4 {
    padding: 18px 20px !important;
}

.md-booking-page hr {
    border-color: var(--md-booking-border);
    opacity: 1;
}

/* Авторизованный пользователь — компактно, без огромного рекламного окна */
.md-booking-account-summary,
.md-booking-guest-note {
    position: relative;
    padding: 14px 16px;
    border: 1px solid var(--md-booking-border);
    border-radius: var(--md-block-radius, 0px);
    background: var(--md-booking-soft);
}

.md-booking-account-summary .fw-bold,
.md-booking-guest-note .fw-bold {
    font-size: 14px;
}

.md-booking-account-summary > div:not(.fw-bold) {
    display: inline-block;
    margin: 0 14px 0 0 !important;
    font-size: 13px;
}

.md-booking-account-summary strong {
    font-weight: 650;
}

/* Процедуры и дополнительные услуги */
.md-booking-page .form-check {
    min-height: 24px;
}

.md-booking-page .form-check + .form-check {
    margin-top: 7px;
}

.md-booking-page .form-check-label {
    cursor: pointer;
}

.md-booking-page .form-check-input {
    margin-top: .35em;
}

.md-booking-page .mb-3 > .form-check-label,
.md-booking-page .form-check-label.fw-semibold {
    font-size: 14px;
}

/* Поля формы — компактнее */
.md-booking-page .form-control,
.md-booking-page .form-select {
    min-height: var(--md-input-height, 42px);
}

.md-booking-page textarea.form-control {
    min-height: 100px;
}

.md-booking-page .form-control-lg {
    min-height: 44px;
    padding-top: .55rem;
    padding-bottom: .55rem;
    font-size: 1rem;
}

/* Мессенджеры после успешной записи */
.md-booking-messenger {
    padding-top: 18px;
    border-top: 1px solid var(--md-booking-border);
}

.md-booking-messenger .badge {
    font-size: 11px;
    font-weight: 600;
    padding: 6px 9px;
    border-radius: var(--md-button-radius, 0px);
}

.md-booking-messenger .row > div > .border {
    padding: 14px !important;
    border-color: var(--md-booking-border) !important;
    border-radius: var(--md-block-radius, 0px) !important;
    background: var(--md-booking-soft);
}

.md-booking-messenger .btn {
    min-height: var(--md-button-height, 40px);
}

/* Кнопки */
.md-booking-page .btn {
    border-radius: var(--md-button-radius, 0px) !important;
    min-height: var(--md-button-height, 42px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.md-booking-page .btn-dark {
    background: var(--md-button-color, #261d22);
    border-color: var(--md-button-color, #261d22);
    color: var(--md-button-text-color, #fff);
}

.md-booking-page .btn-outline-dark {
    color: var(--md-button-color, #261d22);
    border-color: var(--md-input-border-color, #e8dde1);
}

/* Успешная запись */
.md-booking-page .bg-success-subtle {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50%;
    font-size: 24px;
}

@media (max-width: 767.98px) {
    .md-booking-page > [class*="col-"] > .card {
        border-left-width: 0 !important;
        border-right-width: 0 !important;
    }

    .md-booking-page .card-body {
        padding: 20px 16px !important;
    }

    .md-booking-account-summary > div:not(.fw-bold) {
        display: block;
        margin: 5px 0 0 !important;
    }

    .md-booking-page .d-flex.flex-wrap.gap-2 > .btn {
        flex: 1 1 auto;
    }
}
/* =========================================================
   BOOKING — МЕССЕНДЖЕРЫ
========================================================= */

.md-book-messengers .row {
    align-items: stretch;
}

.md-book-messengers .md-messenger-card {
    min-height: 172px;
    border-radius: var(--md-block-radius, 0);
}

.md-book-messengers .md-messenger-card .fa-telegram-plane {
    color: #229ed9;
    font-size: 18px;
}

.md-book-messengers .md-max-icon {
    flex: 0 0 18px;
}

.md-book-messengers .btn-sm {
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .md-book-messengers .md-messenger-card {
        min-height: 0;
    }
}


/* =========================================================
   САЙТ — ГЛАВНАЯ: УПРАВЛЯЕМЫЕ БЛОКИ
========================================================= */

.home-page {
    color: var(--md-text-color, #261d22);
    background: var(--md-page-bg, #ffffff);
}

.home-page .text-secondary {
    color: var(--md-secondary-color, #8c7c83) !important;
}

.home-section {
    padding: 1.15rem 0;
}

.home-hero-section {
    padding-top: 2.4rem;
    padding-bottom: 1.35rem;
}

.home-section-last {
    padding-bottom: 2.5rem;
}

.home-panel-pad {
    padding: clamp(1.35rem, 2.8vw, 2.5rem);
}

.home-eyebrow {
    color: var(--md-secondary-color, #8c7c83);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.home-hero-copy {
    max-width: 760px;
}

.home-hero-title {
    margin: .7rem 0 .55rem;
    font-size: clamp(3.45rem, 7vw, 6.6rem);
    font-weight: 800;
    line-height: .86;
    letter-spacing: -.055em;
}

.home-hero-quote {
    margin-bottom: 1.2rem;
    color: var(--md-secondary-color, #8c7c83);
    font-size: .875rem;
}

.home-hero-text {
    max-width: 660px;
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    line-height: 1.65;
}

.home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.65rem;
}

.home-section-title {
    font-size: clamp(1.75rem, 3vw, 2.45rem);
    font-weight: 750;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.home-panel,
.home-news-card,
.home-feature-card,
.home-promo-frame,
.home-masters-box,
.home-account-panel {
    border: 1px solid var(--md-border-color, #e8afbf);
    border-radius: var(--md-block-radius, 0);
    overflow: hidden;
}

.home-panel,
.home-news-card,
.home-feature-card,
.home-promo-frame,
.home-masters-box {
    background: var(--md-surface-color, #ffffff);
}

.home-panel,
.home-masters-box,
.home-account-panel,
.home-feature-card,
.home-news-card {
    box-shadow: 0 14px 45px rgba(38, 29, 34, .045);
}

.home-news-card {
    transition: transform .18s ease, box-shadow .18s ease;
}

.home-news-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 48px rgba(38, 29, 34, .075);
}

.home-feature-card {
    transition: none;
}

.home-feature-icon {
    font-size: 1.7rem;
    line-height: 1;
    margin-bottom: .9rem;
}

.home-news-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
    padding-top: .85rem;
    border-top: 1px solid color-mix(
        in srgb,
        var(--md-border-color, #e8afbf) 72%,
        transparent
    );
}

.home-news-archive-link {
    color: var(--md-secondary-color, #8c7c83);
    font-size: .875rem;
    text-decoration: none;
    transition: color .15s ease;
}

.home-news-archive-link:hover,
.home-news-archive-link:focus {
    color: var(--md-text-color, #261d22);
    text-decoration: underline;
}

.home-step {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
}

.home-step-number {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--md-primary-color, #261d22);
    color: var(--md-button-text-color, #ffffff);
    font-weight: 700;
    box-shadow: 0 8px 22px color-mix(
        in srgb,
        var(--md-primary-color, #261d22) 14%,
        transparent
    );
}

.home-feature-icon {
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    border: 1px solid var(--md-border-color, #e8afbf);
    border-radius: 50%;
    background: color-mix(
        in srgb,
        var(--md-primary-color, #261d22) 5%,
        var(--md-surface-color, #fff)
    );
    font-size: 1.35rem;
}

.home-account-panel {
    position: relative;
    isolation: isolate;
    background: var(--md-primary-color, #261d22);
    color: var(--md-button-text-color, #ffffff);
}

.home-account-panel::after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 220px;
    height: 220px;
    top: -125px;
    right: -45px;
    border-radius: 50%;
    background: color-mix(
        in srgb,
        var(--md-button-text-color, #fff) 9%,
        transparent
    );
}

.home-account-muted {
    color: color-mix(
        in srgb,
        var(--md-button-text-color, #ffffff) 70%,
        transparent
    );
}

.home-account-button {
    min-height: var(--md-button-height, 42px);
    border-radius: var(--md-button-radius, 0);
    border: 1px solid var(--md-button-text-color, #ffffff);
    background: var(--md-button-text-color, #ffffff);
    color: var(--md-primary-color, #261d22);
}

.home-account-button:hover,
.home-account-button:focus {
    border-color: var(--md-button-text-color, #ffffff);
    background: transparent;
    color: var(--md-button-text-color, #ffffff);
}

.home-page .btn-dark,
.home-page .btn-outline-dark {
    min-height: var(--md-button-height, 42px);
    border-radius: var(--md-button-radius, 0);
}

.home-page .btn-dark {
    background: var(--md-button-color, var(--md-primary-color, #261d22));
    border-color: var(--md-button-color, var(--md-primary-color, #261d22));
    color: var(--md-button-text-color, #fff);
}

.home-page .btn-dark:hover,
.home-page .btn-dark:focus {
    background: var(--md-button-hover-color, #3a2f34);
    border-color: var(--md-button-hover-color, #3a2f34);
    color: var(--md-button-text-color, #fff);
}

.home-page .btn-outline-dark {
    color: var(--md-text-color, #261d22);
    border-color: var(--md-border-color, #e8afbf);
    background: transparent;
}

.home-page .btn-outline-dark:hover,
.home-page .btn-outline-dark:focus {
    color: var(--md-button-text-color, #fff);
    border-color: var(--md-button-color, var(--md-primary-color, #261d22));
    background: var(--md-button-color, var(--md-primary-color, #261d22));
}

.home-price-panel {
    background: color-mix(
        in srgb,
        var(--md-primary-color, #261d22) 3.5%,
        var(--md-surface-color, #fff)
    );
}


/* =========================================================
   ГЛАВНАЯ — БАННЕР / МАСТЕРА
========================================================= */

.home-promo-frame {
    width: 100%;
    padding: 0;
}

.home-masters-box {
    padding: .75rem;
}

.home-masters-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: .35rem .35rem .8rem;
}

.home-masters-title {
    margin: 0;
    font-size: clamp(1.35rem, 2.1vw, 1.8rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.025em;
}

.home-masters-count {
    padding-bottom: .1rem;
    color: var(--md-secondary-color, #8c7c83);
    font-size: .78rem;
    white-space: nowrap;
}

.home-banner-card,
.home-master-card,
.home-masters-carousel,
.home-masters-carousel .carousel-inner,
.home-masters-carousel .carousel-item {
    width: 100%;
    aspect-ratio: 1 / 1;
}

.home-banner-card,
.home-master-card,
.home-masters-carousel {
    border-radius: max(0px, calc(var(--md-block-radius, 0px) - 7px));
}

.home-banner-card,
.home-master-card {
    position: relative;
    overflow: hidden;
    background: var(--md-surface-color, #ffffff);
}

.home-banner-image,
.home-master-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-master-photo {
    transition: transform 7s ease;
}

.carousel-item.active .home-master-photo {
    transform: scale(1.035);
}

.home-master-overlay {
    position: absolute;
    left: .7rem;
    right: .7rem;
    bottom: .7rem;
    padding: 15px 17px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: max(0px, calc(var(--md-block-radius, 0px) - 10px));
    background: rgba(24, 19, 22, .58);
    color: #ffffff;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.home-master-name {
    margin-bottom: 4px;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.2;
}

.home-master-description {
    display: -webkit-box;
    overflow: hidden;
    font-size: .89rem;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.home-masters-control {
    width: 12%;
    opacity: .68;
}

.home-masters-control:hover,
.home-masters-control:focus {
    opacity: 1;
}

@media (max-width: 991.98px) {
    .home-hero-section {
        padding-top: 1.8rem;
    }

    .home-hero-title {
        font-size: clamp(3.2rem, 12vw, 5.2rem);
    }
}

@media (max-width: 767.98px) {
    .home-section {
        padding: .7rem 0;
    }

    .home-hero-section {
        padding-top: 1.25rem;
        padding-bottom: .85rem;
    }

    .home-section-last {
        padding-bottom: 1.5rem;
    }

    .home-panel-pad {
        padding: 1.25rem;
    }

    .home-hero-title {
        margin-top: .55rem;
        font-size: clamp(3rem, 16vw, 4.4rem);
    }

    .home-hero-actions {
        margin-top: 1.2rem;
    }

    .home-hero-actions .btn {
        flex: 1 1 160px;
    }

    .home-masters-heading {
        padding: .25rem .25rem .7rem;
    }

    .home-master-overlay {
        left: .55rem;
        right: .55rem;
        bottom: .55rem;
        padding: 13px 14px;
    }

    .home-master-description {
        font-size: .84rem;
        -webkit-line-clamp: 3;
    }

    .home-step {
        gap: .75rem;
    }

    .home-step-number {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }
}


/* =========================================================
   ЕДИНЫЕ СТИЛИ ВНУТРЕННИХ СТРАНИЦ
   Все ключевые цвета, радиусы и размеры берутся из site_design.
========================================================= */
.md-page-shell {
    padding-top: clamp(24px, 4vw, 48px);
    padding-bottom: clamp(32px, 5vw, 64px);
}

.md-page-header {
    margin-bottom: clamp(22px, 3vw, 36px);
}

.md-content-card,
.md-auth-card {
    background: var(--md-surface-color, #fff);
    color: var(--md-text-color, #261d22);
    border: 1px solid var(--md-border-color, #e8afbf);
    border-radius: var(--md-block-radius, 0) !important;
    box-shadow: 0 12px 32px color-mix(in srgb, var(--md-text-color, #261d22) 7%, transparent);
}

.md-auth-card {
    overflow: hidden;
}

.md-auth-logo {
    max-width: 260px;
    width: 100%;
    height: auto;
}

.md-avatar { width: 58px; height: 58px; object-fit: cover; }
.md-avatar-lg { width: 64px; height: 64px; }

.legal-policy-content { line-height: 1.72; }
.legal-policy-content h1 { font-size: clamp(1.75rem, 4vw, 2.45rem); font-weight: 800; letter-spacing: -.025em; margin-bottom: 1.3rem; }
.legal-policy-content h2 { font-size: 1.2rem; font-weight: 800; margin-top: 2rem; margin-bottom: .8rem; }
.legal-policy-content li { margin-bottom: .45rem; }
.legal-policy-content a { color: var(--md-primary-color, #261d22); text-decoration: underline; text-underline-offset: 3px; }

.md-contact-panel {
    background: var(--md-primary-color, #261d22);
    color: var(--md-button-text-color, #fff);
    border-radius: var(--md-block-radius, 0);
}
.md-contact-panel a { color: inherit; }
.md-contact-icon { width: 18px; height: 18px; object-fit: contain; }

.md-price-card { overflow: hidden; }
.md-price-body { position: relative; overflow: hidden; }
.md-price-botanical {
    position: absolute; left: 0; top: 0; width: 95px; height: 100%;
    pointer-events: none; z-index: 0; opacity: .30; color: var(--md-secondary-color, #8c7c83);
}
.md-price-content { position: relative; z-index: 1; }
.md-price-logo { max-width: 220px; width: 100%; height: auto; }
.md-price-value { min-width: 95px; text-align: right; }

.md-footer-reviews-frame {
    width: 100%; height: 120px; display: block; box-sizing: border-box;
    border: 1px solid var(--md-border-color, #e8afbf);
    border-radius: var(--md-block-radius, 0);
}
.md-footer-socials { gap: 4px; padding-top: 4px; }
.md-footer-social-link { width: 44px; height: 44px; flex: 0 0 44px; }
.md-footer-social-link i { font-size: 22px; line-height: 1; }

/* Личный кабинет */
.md-account-page{max-width:980px;margin:0 auto}.md-account-header{margin-bottom:24px}.md-account-title{font-size:clamp(30px,4vw,42px);font-weight:800;letter-spacing:-.04em;margin:0}.md-account-subtitle{color:var(--md-secondary-color,#8c7c83);margin-top:6px}
.md-account-card{background:var(--md-surface-color,#fff);border:1px solid var(--md-border-color,#e8dde1);border-radius:var(--md-block-radius,0);padding:22px;margin-bottom:18px}.md-account-profile-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.md-account-name{font-size:22px;font-weight:800;margin:0}.md-account-edit{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--md-border-color,#e8dde1);border-radius:50%;color:var(--md-text-color,#261d22);transition:.2s}.md-account-edit:hover{background:var(--md-primary-color,#261d22);color:#fff}
.md-account-info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.md-account-info-item{padding:14px 15px;background:var(--md-page-bg,#fff9fb);border-radius:var(--md-block-radius,0);min-width:0}.md-account-info-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--md-secondary-color,#8c7c83);margin-bottom:5px}.md-account-info-value{font-size:14px;font-weight:700;overflow-wrap:anywhere}
.md-notify-panel{margin-top:18px;padding-top:18px;border-top:1px solid var(--md-border-color,#e8dde1)}.md-notify-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.md-notify-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.md-notify-save-top{min-height:34px!important;height:34px!important;padding:0 14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important;line-height:1!important}.md-notify-title{font-size:16px;font-weight:800;margin:0}.md-notify-subtitle{font-size:12px;line-height:1.45;color:var(--md-secondary-color,#8c7c83);margin-top:3px}.md-notify-channels{display:grid;gap:9px}.md-notify-channel{border:1px solid var(--md-border-color,#e8dde1);background:var(--md-surface-color,#fff);border-radius:var(--md-block-radius,0);overflow:hidden}.md-notify-channel-main{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px}.md-notify-brand{display:flex;align-items:center;gap:10px;min-width:0}.md-notify-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex:0 0 32px;border-radius:50%;background:var(--md-page-bg,#fff9fb);font-size:17px}.md-notify-brand strong{display:block;font-size:14px;line-height:1.15}.md-notify-brand span{display:block;font-size:11px;line-height:1.3;color:var(--md-secondary-color,#8c7c83);margin-top:2px}.md-notify-options{display:flex;align-items:center;gap:18px;padding:8px 12px 9px 54px;border-top:1px solid var(--md-border-color,#e8dde1);background:var(--md-page-bg,#fff9fb)}.md-notify-option{display:inline-flex;align-items:center;gap:7px;margin:0;min-height:22px}.md-notify-option .form-check-input{float:none;margin:0}.md-notify-option .form-check-label{font-size:12px;font-weight:700;line-height:1.2}.md-notify-option small{font-size:10px;font-weight:400;color:var(--md-secondary-color,#8c7c83)}.md-notify-save{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.md-notify-note{font-size:11px;line-height:1.4;color:var(--md-secondary-color,#8c7c83);max-width:610px}.md-messenger-connect{width:auto!important;min-height:32px!important;height:32px!important;padding:0 11px!important;font-size:11px!important;white-space:nowrap;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}.md-notify-save .btn{min-height:34px!important;height:34px!important;padding:0 14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important;line-height:1!important}
.md-account-section{margin-top:30px}.md-account-section-title{font-size:20px;font-weight:800;margin:0 0 12px}.md-booking-card{background:var(--md-surface-color,#fff);border:1px solid var(--md-border-color,#e8dde1);border-radius:var(--md-block-radius,0);padding:18px;margin-bottom:10px}.md-booking-card-past{opacity:.72;background:var(--md-page-bg,#fff9fb)}.md-booking-date{font-size:20px;font-weight:800;letter-spacing:-.02em}.md-booking-actions{display:flex;gap:8px}.md-booking-actions .btn{min-width:110px;height:36px!important;width:auto!important;font-size:13px;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;padding-top:0!important;padding-bottom:0!important}
@media(max-width:767.98px){.md-account-card{padding:16px;border-radius:var(--md-block-radius,0)}.md-account-profile-top{align-items:flex-start}.md-account-info{grid-template-columns:1fr;gap:8px}.md-notify-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.md-notify-head-actions{flex-direction:column;align-items:flex-end;gap:6px}.md-notify-head .badge{display:inline-block;margin-top:0}.md-notify-save-top{min-width:96px}.md-notify-channel-main{padding:9px 10px}.md-notify-options{padding:8px 10px;gap:14px;flex-wrap:wrap}.md-notify-save{align-items:flex-start;flex-direction:column}.md-messenger-connect{font-size:10px!important;padding:0 9px!important}.md-booking-card{padding:15px;border-radius:var(--md-block-radius,0)}}

@media (max-width: 767.98px) {
    .md-page-shell { padding-top: 22px; padding-bottom: 36px; }
    .md-content-card, .md-auth-card { box-shadow: 0 8px 24px color-mix(in srgb, var(--md-text-color, #261d22) 6%, transparent); }
}

.md-price-botanical-right { right: 0; left: auto; transform: scaleX(-1); }
.md-price-content-padded { padding-left: 72px; padding-right: 72px; }
.md-price-main-logo { display:block; width:260px; max-width:75%; height:auto; margin:0 auto; }
.md-price-dots { border-bottom-style:dotted !important; min-width:20px; }
@media (max-width: 767.98px) { .md-price-content-padded { padding-left: 18px; padding-right: 18px; } .md-price-botanical { opacity:.18; width:70px; } }

.md-site-footer { background: var(--md-primary-color, #261d22); color: var(--md-button-text-color, #fff); }
.md-site-footer .text-white, .md-site-footer a { color: var(--md-button-text-color, #fff) !important; }
.md-site-footer .text-white-50 { color: color-mix(in srgb, var(--md-button-text-color, #fff) 62%, transparent) !important; }
.md-auth-brand-text, .md-price-brand-text { display:inline-block; color:var(--md-text-color,#261d22); font-weight:800; letter-spacing:-.03em; }
.md-auth-brand-text { font-size:clamp(1.6rem,4vw,2.35rem); }
.md-price-brand-text { font-size:clamp(1.7rem,4vw,2.5rem); }

.md-external-widget-gate{min-height:260px;display:grid;place-content:center;text-align:center;padding:24px}.md-map-frame{width:100%;height:100%;min-height:420px;border:0}.md-yandex-reviews-consent{max-width:360px}

.legal-policy-content .legal-key-cell{width:28%}


/* PWA install banner */
.md-install-banner {
    position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 1080;
    display: none; align-items: center; gap: 12px; padding: 12px 14px;
    border: 1px solid rgba(0,0,0,.08); border-radius: 16px; background: var(--md-surface-color,#fff);
    box-shadow: 0 8px 28px rgba(0,0,0,.14);
}
.md-install-banner.is-visible { display: flex; }
.md-install-banner-icon { width:44px; height:44px; flex:0 0 44px; border-radius:12px; object-fit:cover; background:var(--md-page-bg,#f3ecef); }
.md-install-banner-content { min-width:0; flex:1 1 auto; }
.md-install-banner-title { margin:0 0 2px; font-size:15px; font-weight:800; color:var(--md-text-color,#261d22); }
.md-install-banner-text { margin:0; font-size:12px; line-height:1.35; color:var(--md-secondary-color,#8c7c83); }
.md-install-banner-actions { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.md-install-banner-button { border:0; border-radius:var(--md-button-radius,0); min-height:40px; padding:0 14px; background:var(--md-button-color,#261d22); color:var(--md-button-text-color,#fff); font:inherit; font-size:13px; font-weight:700; white-space:nowrap; }
.md-install-banner-close { width:36px; height:36px; padding:0; border:0; background:transparent; color:var(--md-secondary-color,#8c7c83); font-size:20px; line-height:1; }
@media (min-width:768px) { .md-install-banner { left:auto; right:20px; bottom:20px; width:390px; } }

.md-news-body{white-space:pre-line}
[id^="news-"]{scroll-margin-top:90px}

/* Новости: короткий анонс на главной и полная публикация в архиве */
.home-news-read-more {
    color: var(--md-primary-color, #261d22);
    text-decoration: none;
}
.home-news-read-more:hover,
.home-news-read-more:focus {
    color: var(--md-button-hover-color, #3a2f34);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.md-news-article {
    scroll-margin-top: 88px;
}
.md-news-lead {
    color: var(--md-text-color, #261d22);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.65;
}
.md-news-body {
    white-space: normal;
    line-height: 1.75;
}


/* =========================================================
   ШАПКА — КОНТАКТЫ И СОЦИАЛЬНЫЕ ИКОНКИ
========================================================= */
.md-header-contact-group { gap: 4px !important; }
.md-header-phone-link { display:inline-flex; align-items:center; }
.md-header-phone-icon { color:#198754 !important; }
.md-header-social-link { width:30px !important; height:36px !important; }
@media (max-width:767.98px){ .md-header-social-link{width:32px !important;height:38px !important;} .md-header-phone-link{width:auto;min-width:34px;} }

/* Цветной/монохромный режим социальных иконок */
.md-social-icons-mono a .fa-vk,
.md-social-icons-mono a .fa-telegram-plane,
.md-social-icons-mono a .fa-instagram,
.md-social-icons-mono a .fa-whatsapp,
.md-social-icons-mono a .fa-youtube { color: currentColor !important; }
.md-social-icons-mono a .md-max-icon {
    background-image:none !important;
    background-color:currentColor;
    -webkit-mask:url('/assets/img/Max_logo_mono.svg') center/contain no-repeat;
    mask:url('/assets/img/Max_logo_mono.svg') center/contain no-repeat;
}

/* ================================================================
   v9: header, layouts, services, news and compact admin UI
   ================================================================ */
.md-site-header{background:var(--md-header-bg)!important;color:var(--md-header-text);transition:background-color .2s ease,color .2s ease}
.md-site-header .navbar-brand,.md-site-header .navbar-brand *,
.md-site-header .nav-link,.md-site-header .text-dark,.md-site-header .md-header-phone-link{color:var(--md-header-text)!important}
.md-site-header .navbar-toggler{border-color:color-mix(in srgb,var(--md-header-text) 34%,transparent)}
.md-site-header .navbar-toggler-icon{filter:var(--md-header-icon-filter,none)}
.md-site-header .dropdown-toggle,.md-site-header .btn-link{color:var(--md-header-text)!important}

.md-home-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.md-home-service-card,.md-service-detail-card{background:var(--md-surface-color);border:1px solid var(--md-border-color);border-radius:var(--md-block-radius);overflow:hidden}
.md-home-service-image{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#f3f3f3}
.md-home-service-placeholder{display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--md-secondary-color)}
.md-home-service-body{padding:1.15rem}
.md-services-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.md-service-detail-card{display:grid;grid-template-columns:minmax(180px,36%) 1fr;min-height:230px}
.md-service-detail-media img{width:100%;height:100%;min-height:230px;object-fit:cover;display:block}
.md-service-detail-body{padding:1.5rem}
.md-service-description{line-height:1.7}
.home-news-image{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.md-news-article-image{width:100%;height:100%;min-height:280px;object-fit:cover;display:block}
.md-news-full{line-height:1.75}

/* Стандартный макет сохраняет тот же контент, но делает первый экран и секции выразительнее. */
.md-layout-standard .home-page{padding-top:0}
.md-layout-standard .home-hero-standard{min-height:620px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(18,18,18,.72),rgba(18,18,18,.32)),var(--md-standard-hero-image,linear-gradient(135deg,var(--md-primary-color),var(--md-header-bg)));background-size:cover;background-position:center;position:relative}
.md-layout-standard .home-hero-standard .container{position:relative;z-index:1}
.md-layout-standard .home-hero-standard .row{min-height:540px}
.md-layout-standard .home-hero-standard .home-hero-copy{max-width:760px;padding:3.5rem 0;color:#fff}
.md-layout-standard .home-hero-standard .home-eyebrow,.md-layout-standard .home-hero-standard .home-hero-quote,.md-layout-standard .home-hero-standard .home-hero-text{color:rgba(255,255,255,.84)!important}
.md-layout-standard .home-hero-standard .home-hero-title{font-size:clamp(3rem,6vw,5.8rem);line-height:.94;max-width:760px;color:#fff}
.md-layout-standard .home-hero-standard .btn-dark{background:#fff!important;border-color:#fff!important;color:#202020!important}
.md-layout-standard .home-hero-standard .btn-outline-dark{border-color:rgba(255,255,255,.75)!important;color:#fff!important}
.md-layout-standard .home-section:not(.home-hero-section){padding-top:4.5rem;padding-bottom:4.5rem}
.md-layout-standard .md-home-services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.md-layout-standard .md-home-service-card{box-shadow:0 14px 34px rgba(20,20,20,.06);border-color:transparent}
.md-layout-standard .md-home-service-image{aspect-ratio:1.25/1}
.md-layout-standard .home-panel,.md-layout-standard .home-account-panel,.md-layout-standard .home-feature-card,.md-layout-standard .home-news-card{box-shadow:0 14px 34px rgba(20,20,20,.05)}

/* Design admin additions */
.design-layout-switch{display:flex;flex-wrap:wrap;align-items:stretch;gap:.65rem;padding:1rem}
.design-layout-option{display:flex;align-items:flex-start;gap:.55rem;min-width:220px;flex:1;border:1px solid #dedede;border-radius:12px;padding:.8rem .9rem;cursor:pointer;background:#fff}
.design-layout-option input{margin-top:.2rem}.design-layout-option span{display:grid;gap:.15rem}.design-layout-option small{color:#6c757d}
.design-lucky-button{background:linear-gradient(135deg,#fff8dd,#fff);border-style:dashed!important}.design-lucky-face{font-size:1.75rem;line-height:1;display:block;margin-bottom:.25rem}
.home-wide-banner-thumb{width:160px;height:80px;object-fit:cover;border-radius:10px;border:1px solid #ddd;flex:none}

/* =========================================================
   ADMIN UI — ЕДИНЫЙ КОМПАКТНЫЙ СТАНДАРТ
========================================================= */
.md-admin-ui {
    --md-admin-bg: #f4f5f7;
    --md-admin-surface: #ffffff;
    --md-admin-border: #dfe3e8;
    --md-admin-border-strong: #cfd5dc;
    --md-admin-text: #22262a;
    --md-admin-muted: #6f7780;
    --md-admin-soft: #f8f9fb;
    --md-admin-radius: 12px;
    --md-admin-radius-sm: 8px;
    --md-admin-shadow: 0 4px 18px rgba(28, 35, 42, .045);
    background: var(--md-admin-bg) !important;
    color: var(--md-admin-text);
}

.md-admin-ui .md-admin-page,
.md-admin-ui .container,
.md-admin-ui .container-fluid {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}

.md-admin-ui .container-fluid.md-admin-page {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.md-admin-ui h1 {
    font-size: clamp(1.45rem, 2.2vw, 1.8rem) !important;
    letter-spacing: -.025em;
    margin-bottom: .2rem;
}

.md-admin-ui h2,
.md-admin-ui h3 {
    letter-spacing: -.015em;
}

.md-admin-ui .text-secondary,
.md-admin-ui .form-text {
    color: var(--md-admin-muted) !important;
}

/* Единые карточки и блоки. */
.md-admin-ui .card,
.md-admin-ui .md-content-card,
.md-admin-ui .settings-card,
.md-admin-ui .settings-api-box,
.md-admin-ui .settings-mail-box,
.md-admin-ui .settings-pedicure,
.md-admin-ui .design-panel,
.md-admin-ui .design-preset-box,
.md-admin-ui .design-layout-option,
.md-admin-ui .home-switch-item,
.md-admin-ui .home-choice-card,
.md-admin-ui .home-banner-upload,
.md-admin-ui .home-mini-card {
    border: 1px solid var(--md-admin-border) !important;
    border-radius: var(--md-admin-radius) !important;
    background: var(--md-admin-surface) !important;
    box-shadow: var(--md-admin-shadow) !important;
}

.md-admin-ui .card.border-dark,
.md-admin-ui .border-dark {
    border-color: var(--md-admin-border) !important;
}

.md-admin-ui .card-body,
.md-admin-ui .design-panel-body {
    padding: .9rem 1rem !important;
}

.md-admin-ui .design-panel-head {
    padding: .72rem 1rem !important;
    border-bottom: 1px solid var(--md-admin-border) !important;
    background: var(--md-admin-soft) !important;
}

.md-admin-ui .design-panel-head h2 {
    margin: 0 !important;
    font-size: .96rem !important;
    font-weight: 800 !important;
}

.md-admin-ui .design-panel-head small {
    display: block;
    margin-top: .15rem;
    color: var(--md-admin-muted) !important;
    font-size: .74rem !important;
    line-height: 1.35;
}

/* Кнопки — размер как в разделе Новости. */
.md-admin-ui .btn {
    min-height: 30px !important;
    padding: .32rem .62rem !important;
    border-radius: 7px !important;
    font-size: .78rem !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    box-shadow: none !important;
}

.md-admin-ui .btn-sm {
    min-height: 28px !important;
    padding: .27rem .54rem !important;
    font-size: .74rem !important;
}

.md-admin-ui .btn-lg {
    min-height: 34px !important;
    padding: .42rem .75rem !important;
    font-size: .84rem !important;
}

.md-admin-ui .btn.w-100 {
    width: auto !important;
}

/* Формы. */
.md-admin-ui .form-label {
    margin-bottom: .27rem !important;
    font-size: .8rem !important;
    font-weight: 700 !important;
}

.md-admin-ui .form-text {
    margin-top: .28rem !important;
    font-size: .72rem !important;
    line-height: 1.35;
}

.md-admin-ui .form-control,
.md-admin-ui .form-select,
.md-admin-ui .input-group-text {
    border-color: var(--md-admin-border-strong) !important;
    border-radius: var(--md-admin-radius-sm) !important;
    font-size: .84rem !important;
}

.md-admin-ui input.form-control,
.md-admin-ui .form-select {
    min-height: 34px !important;
    padding-top: .34rem !important;
    padding-bottom: .34rem !important;
}

.md-admin-ui textarea.form-control {
    min-height: auto !important;
    padding: .48rem .58rem !important;
}

.md-admin-ui .form-control-color {
    width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 3px !important;
}

.md-admin-ui .form-check-label {
    font-size: .8rem;
}

.md-admin-ui .form-check-input {
    border-color: #bfc6cd;
}

.md-admin-ui .row.g-3,
.md-admin-ui .g-3 {
    --bs-gutter-y: .75rem;
    --bs-gutter-x: .75rem;
}

/* Все основные спойлеры выглядят как в Настройках сайта. */
.md-admin-ui .settings-spoiler,
.md-admin-ui .design-appearance-details,
.md-admin-ui .design-calendar-details {
    max-width: none !important;
    margin-bottom: .75rem !important;
    border: 1px solid var(--md-admin-border) !important;
    border-radius: var(--md-admin-radius) !important;
    overflow: hidden !important;
    background: var(--md-admin-surface) !important;
    box-shadow: var(--md-admin-shadow) !important;
}

.md-admin-ui .settings-spoiler > summary,
.md-admin-ui .design-appearance-details > summary,
.md-admin-ui .design-calendar-details > summary {
    min-height: 44px !important;
    padding: .72rem .9rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--md-admin-surface) !important;
    color: var(--md-admin-text) !important;
    font-size: .9rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.md-admin-ui .settings-spoiler[open] > summary,
.md-admin-ui .design-appearance-details[open] > summary,
.md-admin-ui .design-calendar-details[open] > summary {
    border-bottom: 1px solid var(--md-admin-border) !important;
    background: var(--md-admin-soft) !important;
}

.md-admin-ui .settings-spoiler > .settings-spoiler-body {
    border: 0 !important;
    background: var(--md-admin-surface) !important;
}

.md-admin-ui .settings-spoiler > .settings-spoiler-body .settings-card {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Вложенные спойлеры в редакторе главной. */
.md-admin-ui .home-editor-group {
    margin-bottom: .45rem !important;
    border: 1px solid var(--md-admin-border) !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden;
}

.md-admin-ui .home-editor-group > summary {
    padding: .58rem .7rem !important;
    background: #fff !important;
    font-size: .8rem !important;
    font-weight: 800 !important;
}

.md-admin-ui .home-editor-group[open] > summary {
    border-bottom: 1px solid var(--md-admin-border) !important;
    background: var(--md-admin-soft) !important;
}

/* Компактные статусы. */
.md-admin-ui .badge,
.md-admin-ui .md-admin-status-badge {
    display: inline-flex;
    align-items: center;
    width: auto !important;
    min-height: 22px;
    padding: .22rem .43rem !important;
    border-radius: 999px !important;
    font-size: .68rem !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap;
}

.md-admin-ui .md-admin-status-badge.is-ready {
    border: 1px solid #b9ddc7 !important;
    background: #edf8f1 !important;
    color: #23643d !important;
}

.md-admin-ui .md-admin-status-badge.is-blocked {
    border: 1px solid #ecd59b !important;
    background: #fff8e7 !important;
    color: #755712 !important;
}

.md-admin-ui .md-admin-status-badge.is-neutral {
    border: 1px solid #d6dce2 !important;
    background: #f4f6f8 !important;
    color: #59616a !important;
}

/* Alerts и таблицы. */
.md-admin-ui .alert {
    padding: .62rem .75rem !important;
    border-radius: 9px !important;
    font-size: .78rem !important;
}

.md-admin-ui .table {
    font-size: .78rem;
}

.md-admin-ui .table > :not(caption) > * > * {
    padding: .48rem .55rem;
}

/* Главная админки — единый вид карточек. */
.md-admin-ui .md-admin-page .card.h-100 {
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.md-admin-ui .md-admin-page .card.h-100:hover {
    transform: translateY(-1px);
    border-color: #c8cfd6 !important;
    box-shadow: 0 8px 24px rgba(28,35,42,.07) !important;
}

.md-admin-ui .md-admin-page .card.h-100 .card-body {
    padding: 1rem !important;
}

.md-admin-ui .md-admin-page .card.h-100 h2 {
    font-size: 1rem !important;
}

.md-admin-ui .md-admin-page .card.h-100 p {
    font-size: .78rem !important;
    line-height: 1.4;
}

/* Панели пресетов сохраняют особую функцию, но соответствуют общей геометрии. */
.md-admin-ui .design-preset-box {
    padding: .85rem !important;
}

.md-admin-ui .design-preset-button {
    min-height: 112px !important;
    padding: .72rem !important;
    border-color: var(--md-admin-border) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

.md-admin-ui .design-preset-button:hover,
.md-admin-ui .design-preset-button:focus-visible {
    transform: translateY(-1px) !important;
    border-color: #aab2bb !important;
    box-shadow: 0 7px 18px rgba(28,35,42,.07) !important;
}

/* Настройки сайта: убрать старую тяжёлую чёрную рамку. */
.md-admin-ui .settings-row.is-inactive,
.md-admin-ui .settings-api-box.is-inactive,
.md-admin-ui .settings-mail-box.is-inactive,
.md-admin-ui .settings-pedicure.is-inactive,
.md-admin-ui .settings-social-row.is-inactive,
.md-admin-ui .settings-service-row.is-inactive {
    background: #f6f7f8 !important;
}

.md-admin-ui .settings-api-divider {
    border-top-color: var(--md-admin-border) !important;
    margin: 1.1rem 0 !important;
}

@media (max-width: 767.98px) {
    .md-admin-ui .container,
    .md-admin-ui .container-fluid,
    .md-admin-ui .md-admin-page {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .md-admin-ui .btn {
        min-height: 30px !important;
    }
    .md-admin-ui .card-body,
    .md-admin-ui .design-panel-body {
        padding: .8rem !important;
    }
}

.admin-service-thumb,.admin-news-thumb{max-width:240px;max-height:150px;object-fit:cover;border-radius:10px;border:1px solid #ddd}
.admin-service-list-thumb,.admin-news-list-thumb{width:86px;height:72px;object-fit:cover;border-radius:9px;border:1px solid #e0e0e0;flex:none}

@media(max-width:767.98px){
  .md-home-services-grid,.md-services-page-grid{grid-template-columns:1fr}
  .md-service-detail-card{grid-template-columns:1fr}
  .md-service-detail-media img{min-height:210px;max-height:320px}
  .md-layout-standard .home-hero-standard{min-height:560px;background-position:center}
  .md-layout-standard .home-hero-standard .row{min-height:500px}
  .md-layout-standard .home-hero-standard .home-hero-copy{padding:2.5rem 0}
  .md-layout-standard .home-hero-standard .home-hero-title{font-size:clamp(2.7rem,13vw,4.3rem)}
  .md-layout-standard .home-section:not(.home-hero-section){padding-top:2.8rem;padding-bottom:2.8rem}
  .design-layout-option{min-width:100%}
  .home-wide-banner-thumb{width:110px;height:66px}
}

/* Мелкие дополнения к единому административному интерфейсу. */
.md-admin-ui .settings-section,
.md-admin-ui .settings-spoiler {
    max-width: none !important;
}
.md-admin-ui .design-appearance-details > summary,
.md-admin-ui .design-calendar-details > summary,
.md-admin-ui .settings-spoiler > summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .65rem !important;
    list-style: none !important;
    cursor: pointer;
}
.md-admin-ui .design-appearance-details > summary::-webkit-details-marker,
.md-admin-ui .design-calendar-details > summary::-webkit-details-marker,
.md-admin-ui .settings-spoiler > summary::-webkit-details-marker {
    display: none;
}
.md-admin-ui .design-appearance-plus,
.md-admin-ui .design-calendar-summary-arrow {
    display: none !important;
}
.md-admin-ui .design-appearance-details > summary::after,
.md-admin-ui .design-calendar-details > summary::after,
.md-admin-ui .settings-spoiler > summary::after {
    content: '+' !important;
    margin-left: auto;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    color: #68717a !important;
}
.md-admin-ui .design-appearance-details[open] > summary::after,
.md-admin-ui .design-calendar-details[open] > summary::after,
.md-admin-ui .settings-spoiler[open] > summary::after {
    content: '−' !important;
}
.md-admin-ui .settings-row {
    padding-top: .7rem !important;
    padding-bottom: .7rem !important;
}
.md-admin-ui .settings-switch {
    margin-top: 1.15rem !important;
}
.md-admin-ui .settings-save {
    margin-top: .45rem !important;
}
.md-admin-ui .settings-section h2,
.md-admin-ui .settings-section h3 {
    font-size: .95rem !important;
}
.md-admin-ui .border {
    border-color: var(--md-admin-border) !important;
}
.md-admin-ui .settings-social-row.border,
.md-admin-ui .settings-service-row.border,
.md-admin-ui .md-content-card.p-4,
.md-admin-ui .border.p-3,
.md-admin-ui .border.p-4 {
    border-radius: var(--md-admin-radius-sm) !important;
}
.md-admin-ui .md-content-card.p-4 {
    padding: .9rem 1rem !important;
}

/* =========================================================
   ГЛАВНАЯ — КОМПАКТНЫЙ РИТМ СЕКЦИЙ
   Hero намеренно не затрагивается.
========================================================= */

/* Меньше вертикального воздуха между всеми секциями после hero. */
.home-page .home-section:not(.home-hero-section) {
    padding-top: .8rem;
    padding-bottom: .8rem;
}

/* Стандартный макет раньше имел 4.5rem + 4.5rem на каждую секцию. */
.md-layout-standard .home-page .home-section:not(.home-hero-section) {
    padding-top: 1.65rem;
    padding-bottom: 1.65rem;
}

.home-page .home-section-last {
    padding-bottom: 1.6rem;
}

/* Основные панели становятся компактнее, но остаются воздушными. */
.home-page .home-panel-pad {
    padding: clamp(1rem, 1.7vw, 1.55rem);
}

.home-page .home-section-title {
    font-size: clamp(1.55rem, 2.35vw, 2rem);
}

/* Шаги. */
.home-page .home-step {
    gap: .7rem;
}

.home-page .home-step-number {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    font-size: .9rem;
}

/* Услуги на главной — меньше изображение и внутренние поля. */
.home-page .md-home-services-grid {
    gap: .8rem;
}

.home-page .md-home-service-image {
    aspect-ratio: 16 / 10;
}

.home-page .md-home-service-body {
    padding: .85rem .95rem 1rem;
}

.md-layout-standard .home-page .md-home-services-grid {
    gap: 1rem;
}

.md-layout-standard .home-page .md-home-service-image {
    aspect-ratio: 16 / 10;
}

/* Новости и преимущества: Bootstrap p-4 на главной был визуально тяжёлым. */
.home-page .home-news-card.p-4,
.home-page .home-feature-card.p-4 {
    padding: 1.05rem !important;
}

.home-page .home-feature-icon {
    width: 42px;
    height: 42px;
    margin-bottom: .7rem;
    font-size: 1.15rem;
}

.home-page .home-news-footer {
    margin-top: .7rem;
    padding-top: .65rem;
}

/* Карточки новостей с изображением становятся ниже. */
.home-page .home-news-image {
    aspect-ratio: 16 / 8.5;
}

/* Телефонная версия — ещё плотнее, без ощущения "простыни". */
@media (max-width: 767.98px) {
    .home-page .home-section:not(.home-hero-section),
    .md-layout-standard .home-page .home-section:not(.home-hero-section) {
        padding-top: .55rem;
        padding-bottom: .55rem;
    }

    .home-page .home-section-last {
        padding-bottom: 1.1rem;
    }

    .home-page .home-panel-pad {
        padding: 1rem;
    }

    .home-page .home-section-title {
        font-size: clamp(1.4rem, 7vw, 1.75rem);
    }

    .home-page .md-home-services-grid {
        gap: .65rem;
    }

    .home-page .md-home-service-body {
        padding: .8rem .85rem .9rem;
    }

    .home-page .home-news-card.p-4,
    .home-page .home-feature-card.p-4 {
        padding: .9rem !important;
    }

    .home-page .home-feature-icon {
        width: 38px;
        height: 38px;
        margin-bottom: .6rem;
        font-size: 1.05rem;
    }
}
