/* =====================================================================================================
   PLAZA — токены дизайн-системы. ЕДИНСТВЕННЫЙ источник базовых значений для всех санаториев и сети.
   Витрины: /ui/, /kislovodsk/ui/, /zheleznovodsk/ui/ (закрыты от индексации) — показывают всё, что здесь.

   Как пользоваться
   - В CSS компонентов пишем var(--имя), а не число/цвет. Новое значение — сначала токен здесь (или в токенах
     санатория), потом использование. Витрина подхватит токен сама: она читает этот файл.
   - Отличия санатория — в src/sites/<санаторий>/tokens.css: там переопределяются эти же переменные
     (обычно на body.plaza-object-<санаторий>, ночь — html[data-theme=dark] …), новые имена не заводим без нужды.
   - Ночная тема: <html data-theme="dark">; роли темы (--bg, --ink, …) ниже имеют дневное и ночное значение.
   - Комментарий вида «== Раздел ==» (в звёздочках, как ниже) — заголовок группы в витрине; держите токены группами.

   Брейкпоинты (в @media переменные не работают, поэтому это константы-справка; пишем числами)
     --plaza-bp-small  360px   узкие телефоны: (max-width:360px)
     --plaza-bp-phone  700px   телефон: (max-width:700px) / (min-width:701px)
     --plaza-bp-tablet 1050px  планшет и узкий ноутбук: (max-width:1050px) / (min-width:1051px)
     ещё встречаются 600, 767, 900, 1024, 1200 — новые места пишем через 700/1050
   ===================================================================================================== */

/* == Палитра: фирменные цвета == */
:root{
 --plaza-color-gold:#b2945f;          /* золото, основной акцент Кисловодска и сети */
 --plaza-color-gold-deep:#917747;     /* золото тёмное: ссылки и иконки днём */
 --plaza-color-gold-light:#d1b579;    /* золото светлое: наведение днём, акцент ночью */
 --plaza-color-gold-bright:#eed9ac;   /* золото яркое: наведение ночью */
 --plaza-color-gold-warm:#d4ab68;     /* тёплый перелив кнопки */
 --plaza-color-gold-soft:#e2cfab;     /* мягкий перелив кнопки */
 --plaza-color-green-deep:#365947;    /* зелёный Железноводска: ссылки и иконки днём */
 --plaza-color-green-light:#9ca887;   /* шалфей: наведение днём, акцент ночью */
 --plaza-color-green-bright:#c5d5b7;  /* светлый шалфей: наведение ночью */
 --plaza-color-green-fresh:#78a86a;   /* свежий зелёный: подсветка Железноводска */
 --plaza-color-green-night:#14231c;   /* глубокий зелёный ночи */
}

/* == Палитра: нейтральные == */
:root{
 --plaza-color-white:#fff;
 --plaza-color-paper:#f8f6f1;         /* фон страницы днём */
 --plaza-color-paper-light:#fcfbf8;   /* поверхность карточек днём */
 --plaza-color-paper-soft:#efece4;    /* приглушённая подложка днём */
 --plaza-color-ink:#45413b;           /* основной текст днём */
 --plaza-color-ink-muted:#67645e;     /* второстепенный текст днём */
 --plaza-color-night:#171c1b;         /* фон страницы ночью */
 --plaza-color-night-surface:#202725; /* поверхность ночью */
 --plaza-color-night-soft:#262e29;    /* приглушённая подложка ночью */
 --plaza-color-night-ink:#f1eee6;     /* основной текст ночью */
 --plaza-color-night-muted:#babdb5;   /* второстепенный текст ночью */
}

/* == Роли темы: день == */
/* Санаторий задаёт --plaza-bg, --plaza-accent-base и т. п. в своих токенах; иначе — значения палитры. */
:root{color-scheme:light;--bg:var(--plaza-bg,var(--plaza-color-paper));--surface:var(--plaza-surface,var(--plaza-color-paper-light));--ink:var(--plaza-ink,var(--plaza-color-ink));--muted:var(--plaza-muted,var(--plaza-color-ink-muted));--gold:var(--plaza-accent-base,var(--plaza-color-gold));--accent:var(--plaza-accent-deep,var(--plaza-color-gold-deep));--line:rgba(var(--plaza-accent-rgb,147,119,71),.22);--glass:rgba(252,251,248,.9);--soft:var(--plaza-soft,var(--plaza-color-paper-soft));--shadow:var(--plaza-shadow-soft);--radius:var(--plaza-radius-ui,4px);--space:24px;--max:1280px}

/* == Роли темы: ночь == */
:root[data-theme=dark]{color-scheme:dark;--bg:var(--plaza-bg-night,var(--plaza-color-night));--surface:var(--plaza-surface-night,var(--plaza-color-night-surface));--ink:var(--plaza-ink-night,var(--plaza-color-night-ink));--muted:var(--plaza-muted-night,var(--plaza-color-night-muted));--accent:var(--plaza-accent-night,var(--plaza-color-gold-light));--line:rgba(var(--plaza-accent-rgb,206,182,130),.24);--glass:rgba(28,35,32,.93);--soft:var(--plaza-soft-night,var(--plaza-color-night-soft));--shadow:var(--plaza-shadow-soft-night)}

/* == Шрифты == */
:root{
 --plaza-font-sans:Montserrat,Arial,sans-serif;                    /* текст, кнопки, интерфейс */
 --plaza-font-serif:Lora,Georgia,serif;                            /* заголовки */
 --plaza-font-display:"Plaza Cormorant Infant",Georgia,serif;      /* праздничные и редакционные заголовки */
}

/* == Шкала размеров текста (rem) == */
/* Все размеры шрифта сайта — в rem: 1rem = размер шрифта, выбранный в системе/браузере (обычно 16px), поэтому текст растёт вместе с ним.
   Шкала с шагом около 1,25; крупные заголовки плавно растут с шириной экрана (clamp). В px пишем только рамки, отступы, иконки. */
:root{
 --plaza-text-xs:0.8125rem;                                  /* 13px: крошки, подписи, мелкие пояснения */
 --plaza-text-sm:0.875rem;                                   /* 14px: списки комфорта, мелкий текст вне карточек */
 --plaza-text-base:1rem;                                     /* 16px: основной текст */
 --plaza-text-md:1.125rem;                                   /* 18px: вступления, крупные подписи */
 --plaza-text-lg:1.375rem;                                   /* 22px: заголовки карточек */
 --plaza-text-xl:1.75rem;                                    /* 28px: малые заголовки секций */
 --plaza-text-2xl:clamp(1.75rem,1.4rem + 1.5vw,2.5rem);      /* 28–40px: заголовок секции */
 --plaza-text-3xl:clamp(2rem,1.5rem + 2.2vw,3.25rem);        /* 32–52px: заголовок страницы */
}

/* == Кегли и межстрочные == */
:root{
 --plaza-text-size:var(--plaza-text-base);--plaza-text-line:1.8;           /* основной текст */
 --plaza-text-weight:400;
 --plaza-heading-weight:500;--plaza-heading-line:1.18;
 --plaza-h1-size:clamp(2.1875rem,4.6vw,3.875rem);--plaza-h1-tracking:-.035em;
 --plaza-h2-size:clamp(1.875rem,3vw,2.6875rem);--plaza-h2-tracking:-.025em;
 --plaza-h3-size:1.5rem;--plaza-h3-line:1.35;
 --plaza-eyebrow-size:0.625rem;--plaza-eyebrow-tracking:.12em;        /* надзаголовок */
 --plaza-small-size:var(--plaza-text-xs);--plaza-small-line:1.7;        /* мелкий поясняющий текст */
 --plaza-lead-line:1.85;
 --plaza-button-font:500 0.8125rem/1.5 var(--plaza-font-sans);
}

/* == Кнопка «Узнать стоимость» и кнопка с ценой == */
/* Одно назначение и один вид: кнопка в шапке и кнопка с ценой над фотографиями номера имеют одинаковые ширину и шрифт. */
:root{--plaza-cta-width:176px;--plaza-cta-font:0.6875rem}

/* == Отступы == */
/* Шкала для новых мест; секции страниц — --plaza-section-*, ниже. */
:root{--plaza-space-1:4px;--plaza-space-2:8px;--plaza-space-3:12px;--plaza-space-4:16px;--plaza-space-5:20px;--plaza-space-6:24px;--plaza-space-8:32px;--plaza-space-12:48px;--plaza-space-16:64px}

/* == Сетка и секции == */
:root{--plaza-radius-ui:4px;--plaza-card-padding-inline:16px;--plaza-booking-padding:var(--plaza-section-after);--plaza-section-before:64px;--plaza-section-after:36px;--plaza-section-band-bottom:80px;--link-underline-thickness:1px;--plaza-accordion-duration:1s}
@media(max-width:1050px){:root{--plaza-booking-padding:32px;--plaza-section-before:48px;--plaza-section-after:32px;--plaza-section-band-bottom:64px}}
@media(max-width:700px){:root{--plaza-booking-padding:24px;--plaza-section-before:36px;--plaza-section-after:24px;--plaza-section-band-bottom:56px}}
:root{--plaza-bp-small:360px;--plaza-bp-phone:700px;--plaza-bp-tablet:1050px}

/* == Радиусы == */
/* --plaza-radius-ui (4px) задан выше в «Сетке» — один радиус для кнопок, карточек, полей, фото. */
:root{--plaza-radius-round:50%;--plaza-radius-pill:999px}

/* == Тени == */
:root{
 --plaza-shadow-soft:0 2px 4px rgba(92,72,37,.035),0 12px 28px rgba(92,72,37,.065);   /* карточки днём (--shadow) */
 --plaza-shadow-soft-night:0 12px 28px rgba(0,0,0,.2);                                /* карточки ночью (--shadow) */
 --plaza-shadow-button:0 1px 2px rgba(0,0,0,.08);                                     /* кнопка в покое */
 --plaza-shadow-sheet:0 24px 80px #0004,0 8px 24px #0002;                             /* большие окна днём (карта сайта) */
 --plaza-shadow-sheet-night:0 24px 80px #0007,0 8px 24px #0005;                       /* большие окна ночью */
 --plaza-shadow-control:0 8px 24px #0006,0 2px 6px #0004;                             /* круглая кнопка «закрыть» окна */
}

/* == Движение: кривые == */
:root{
 --plaza-ease-out-cubic:cubic-bezier(.22,.61,.36,1);   /* аккордеоны, мягкое раскрытие */
 --plaza-ease-out-quint:cubic-bezier(.22,1,.36,1);     /* появление, наведение */
 --plaza-ease-out-expo:cubic-bezier(.16,1,.3,1);       /* быстрый старт, долгий доезд: окна, фото */
 --plaza-ease-out-soft:cubic-bezier(.22,.65,.3,1);     /* подъём карточек */
 --plaza-ease-in:cubic-bezier(.4,0,1,1);               /* уход, закрытие */
}

/* == Движение: длительности == */
:root{--plaza-duration-fast:.2s;--plaza-duration-base:.3s;--plaza-duration-slow:.65s}

/* == Движение: иконки == */
/* Один контракт движения иконок (.plaza-icon-motion). Контекст задаёт цвет, но не геометрию. */
:root{--glass-icon-lift:-2px;--glass-icon-rotate:-3deg;--glass-icon-scale:1.04;--plaza-icon-shift-x:3px;--plaza-icon-duration:.35s;--plaza-icon-easing:ease;--plaza-icon-transform:translate(var(--plaza-icon-shift-x),var(--glass-icon-lift)) rotate(var(--glass-icon-rotate)) scale(var(--glass-icon-scale));--plaza-table-inset:16px;--plaza-button-min-height:48px;--plaza-control-size:44px;--plaza-accordion-easing:var(--plaza-ease-out-cubic)}

/* == Движение: подсветка карточек и кнопок == */
/* Свет карточки («Stripe»): общая геометрия, цвет (RGB) задаёт санаторий. */
:root{--plaza-card-light-radius:640px;--plaza-card-light-border:1px;--plaza-card-light-strength:.85;--plaza-card-light-fill:.11;--plaza-card-light-in:200ms;--plaza-card-light-out:450ms}
/* Бегущий блик по рамке стеклянной кнопки: один проход на одно действие. */
:root{--plaza-glow-line-thickness:1px;--plaza-glow-line-length:20;--plaza-glow-blur-size:4px;--plaza-glow-duration:500ms;--plaza-glow-offset:48px}

/* == Слои (z-index) == */
:root{
 --plaza-z-header:1100;            /* шапка поверх открытого меню */
 --plaza-z-page-menu:1095;         /* закреплённая навигация по странице */
 --plaza-z-menu-panel:1090;        /* панель меню */
 --plaza-z-menu-footer:1081;       /* подвал под открытым меню */
 --plaza-z-menu-backdrop:1080;     /* затемнение под меню */
 --plaza-z-cookie:99980;           /* плашка о cookies */
 --plaza-z-tooltip:100100;         /* подсказки */
 --plaza-z-photo-dialog:2147483647;/* полноэкранный просмотр фото — выше всего */
}

/* == Курсоры == */
/* Рисунок — файлы src/shared/cursors/<имя>.svg; число после url — «горячая точка» курсора. */
:root{
 --plaza-art-arrow:url("/shared/cursors/arrow.svg");
 --plaza-art-pointer:url("/shared/cursors/finger.svg");
 --plaza-art-open:url("/shared/cursors/hand-open.svg");
 --plaza-art-held:url("/shared/cursors/hand-grab.svg");
 --plaza-art-plus:url("/shared/cursors/zoom-in.svg");
 --plaza-art-minus:url("/shared/cursors/zoom-out.svg");
 --plaza-cursor-arrow:var(--plaza-art-arrow) 5 3, default;
 --plaza-cursor-pointer:var(--plaza-art-pointer) 14 3, pointer;
 --plaza-cursor-open:var(--plaza-art-open) 16 16, grab;
 --plaza-cursor-held:var(--plaza-art-held) 16 16, grabbing;
 --plaza-cursor-plus:var(--plaza-art-plus) 13 13, zoom-in;
 --plaza-cursor-minus:var(--plaza-art-minus) 13 13, zoom-out;
}

/* == Компоненты: таблицы сравнения == */
:root{--plaza-comparison-body-size:1rem;--plaza-comparison-body-line:1.5rem;--plaza-comparison-data-size:.875rem;--plaza-comparison-data-line:1.25rem;--plaza-comparison-meta-size:.75rem;--plaza-comparison-meta-line:1rem;--plaza-comparison-title-size:1.375rem;--plaza-comparison-title-line:1.75rem;--plaza-comparison-row-hover-strength:12%;--plaza-comparison-row-hover-duration:160ms}

/* == Компоненты: подвал == */
:root{--plaza-footer-content-max:1240px;--plaza-footer-title-size:1.125rem;--plaza-footer-title-line:1.5rem;--plaza-footer-brand-weight:600;--plaza-footer-icon-size:20px}

/* == Компоненты: карточки == */
:root{--plaza-card-details-align:flex-start}
