/* core.css — AMIST unified core bundle v2.1 — 2026-04-14 */

/* === variables.css === */
/* ============================================
   АМИСТ — CSS Design Tokens
   Premium Travel Agency Design System
   ============================================ */

:root {
  /* ── Цветовая палитра ──────────────────── */

  /* Primary — тёмно-синий */
  --color-primary-900: #040D1A;
  --color-primary-800: #081729;
  --color-primary-700: #0B1D3A;
  --color-primary-600: #122C52;
  --color-primary-500: #1A3A6B;
  --color-primary-400: #2E5A9E;
  --color-primary-300: #4A7CC4;
  --color-primary-200: #7DA3D9;
  --color-primary-100: #B5CCEB;
  --color-primary-50:  #E8EFF8;

  /* Accent — синий */
  --color-accent: #2E6BC6;
  --color-accent-hover: #1E5BAF;
  --color-accent-light: #E8F0FC;

  /* Gold — VIP акценты */
  --color-gold-600: #9A7B2E;
  --color-gold-500: #C9A84C;
  --color-gold-400: #D4BA6A;
  --color-gold-300: #E8D48B;
  --color-gold-200: #F0E4B5;
  --color-gold-100: #FAF5E4;

  /* Нейтральные */
  --color-white: #FFFFFF;
  --color-gray-50:  #F8FAFB;
  --color-gray-100: #F1F4F8;
  --color-gray-200: #E2E7EF;
  --color-gray-300: #CBD3DF;
  --color-gray-400: #94A3B8;
  --color-gray-500: #536178; /* WCAG AA 5.2:1 on white */
  --color-gray-600: #475569;
  --color-gray-700: #334155;
  --color-gray-800: #1E293B;
  --color-gray-900: #0F172A;

  /* Статусы */
  --color-success: #16A34A;
  --color-success-light: #DCFCE7;
  --color-warning: #EAB308;
  --color-warning-light: #FEF9C3;
  --color-error: #DC2626;
  --color-error-light: #FEE2E2;

  /* Семантические алиасы */
  --color-bg: var(--color-white);
  --color-bg-alt: var(--color-gray-50);
  --color-bg-dark: var(--color-primary-700);
  --color-bg-darker: var(--color-primary-800);
  --color-text: var(--color-gray-900);
  --color-text-secondary: var(--color-gray-500);
  --color-text-on-dark: var(--color-white);
  --color-text-on-dark-muted: var(--color-primary-100);
  --color-border: var(--color-gray-200);
  --color-border-light: var(--color-gray-100);

  /* ── Типографика ───────────────────────── */

  --font-heading: 'Playfair Display', 'Georgia', 'Times New Roman', serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  /* Размеры шрифтов (mobile-first) */
  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg:   1.125rem;   /* 18px */
  --text-xl:   1.25rem;    /* 20px */
  --text-2xl:  1.5rem;     /* 24px */
  --text-3xl:  1.875rem;   /* 30px */
  --text-4xl:  2.25rem;    /* 36px */
  --text-5xl:  3rem;       /* 48px */
  --text-6xl:  3.75rem;    /* 60px */

  /* Межстрочный интервал */
  --leading-tight: 1.15;
  --leading-snug:  1.3;
  --leading-normal: 1.6;
  --leading-relaxed: 1.75;

  /* Межбуквенный интервал */
  --tracking-tight:  -0.025em;
  --tracking-normal:  0;
  --tracking-wide:    0.025em;
  --tracking-wider:   0.05em;
  --tracking-widest:  0.1em;

  /* Толщина шрифта */
  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* ── Отступы ───────────────────────────── */

  --space-1:  0.25rem;   /* 4px */
  --space-2:  0.5rem;    /* 8px */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */
  --space-20: 5rem;      /* 80px */
  --space-24: 6rem;      /* 96px */
  --space-32: 8rem;      /* 128px */

  /* Секционные отступы (адаптивные) */
  --section-py: var(--space-16);
  --section-py-lg: var(--space-24);

  /* ── Размеры ───────────────────────────── */

  --container-max: 1440px;
  --container-narrow: 720px;
  --container-wide: 1440px;
  --container-px: var(--space-5);

  /* ── Скругления ────────────────────────── */

  --radius-sm: 0.25rem;   /* 4px */
  --radius-md: 0.5rem;    /* 8px */
  --radius-lg: 0.75rem;   /* 12px */
  --radius-xl: 1rem;      /* 16px */
  --radius-2xl: 1.5rem;   /* 24px */
  --radius-full: 9999px;

  /* ── Тени ──────────────────────────────── */

  --shadow-sm:  0 1px 2px rgba(11, 29, 58, 0.05);
  --shadow-md:  0 4px 6px -1px rgba(11, 29, 58, 0.07), 0 2px 4px -2px rgba(11, 29, 58, 0.05);
  --shadow-lg:  0 10px 15px -3px rgba(11, 29, 58, 0.08), 0 4px 6px -4px rgba(11, 29, 58, 0.04);
  --shadow-xl:  0 20px 25px -5px rgba(11, 29, 58, 0.1), 0 8px 10px -6px rgba(11, 29, 58, 0.05);
  --shadow-2xl: 0 25px 50px -12px rgba(11, 29, 58, 0.2);
  --shadow-inner: inset 0 2px 4px rgba(11, 29, 58, 0.06);

  /* Тени для карточек и кнопок */
  --shadow-card: 0 1px 3px rgba(11, 29, 58, 0.06), 0 6px 16px rgba(11, 29, 58, 0.06);
  --shadow-card-hover: 0 4px 12px rgba(11, 29, 58, 0.1), 0 12px 28px rgba(11, 29, 58, 0.1);
  --shadow-button: 0 1px 2px rgba(11, 29, 58, 0.1), 0 2px 4px rgba(11, 29, 58, 0.06);

  /* ── Переходы ──────────────────────────── */

  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Z-index ───────────────────────────── */

  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-header: 300;
  --z-overlay: 400;
  --z-modal: 500;
  --z-toast: 600;
  --z-chat: 700;

  /* ── Брейкпоинты (для справки, используем в @media) ── */
  /* sm: 640px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px */
}

/* ── Адаптивные секционные отступы ─────── */

@media (min-width: 768px) {
  :root {
    --section-py: var(--space-20);
    --container-px: var(--space-8);
  }
}

@media (min-width: 1024px) {
  :root {
    --section-py: var(--space-24);
    --container-px: var(--space-10);
  }
}

/* ── Уменьшение анимаций ─────────────── */

@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: 0ms;
    --transition-base: 0ms;
    --transition-slow: 0ms;
    --transition-spring: 0ms;
  }
}

/* === base.css === */
/* ============================================
   АМИСТ — Base Styles
   Reset, Typography, Base Elements
   ============================================ */

/* ── Reset ───────────────────────────────── */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  overflow-x: clip;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--font-normal);
  line-height: var(--leading-normal);
  color: var(--color-text);
  background-color: var(--color-bg);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

img {
  border: 0;
  font-style: italic; /* alt text styling */
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
  border: none;
  background: none;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset {
  border: none;
}

/* ── Скрытие для screen readers ──────────── */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ── Skip Link (доступность) ─────────────── */

.skip-link {
  position: absolute;
  top: -100%;
  left: var(--space-4);
  z-index: var(--z-toast);
  padding: var(--space-3) var(--space-6);
  background: var(--color-primary-700);
  color: var(--color-white);
  font-weight: var(--font-semibold);
  font-size: var(--text-sm);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  transition: top var(--transition-fast);
}

.skip-link:focus {
  top: 0;
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

/* ── Типографика — Заголовки ─────────────── */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading);
  font-weight: var(--font-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-primary-700);
}

h1, .h1 {
  font-size: var(--text-3xl);
  margin-bottom: var(--space-6);
}

h2, .h2 {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-5);
}

h3, .h3 {
  font-size: var(--text-xl);
  margin-bottom: var(--space-4);
}

h4, .h4 {
  font-size: var(--text-lg);
  margin-bottom: var(--space-3);
}

h5, .h5 {
  font-size: var(--text-base);
  font-family: var(--font-body);
  font-weight: var(--font-semibold);
  margin-bottom: var(--space-2);
}

h6, .h6 {
  font-size: var(--text-sm);
  font-family: var(--font-body);
  font-weight: var(--font-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wider);
  margin-bottom: var(--space-2);
}

/* Десктоп — увеличенные заголовки */
@media (min-width: 768px) {
  h1, .h1 { font-size: var(--text-4xl); }
  h2, .h2 { font-size: var(--text-3xl); }
  h3, .h3 { font-size: var(--text-2xl); }
  h4, .h4 { font-size: var(--text-xl); }
}

@media (min-width: 1024px) {
  h1, .h1 { font-size: var(--text-5xl); }
  h2, .h2 { font-size: var(--text-4xl); }
  h3, .h3 { font-size: var(--text-2xl); }
}

/* ── Типографика — Текстовые элементы ─────── */

p {
  margin-bottom: var(--space-4);
  max-width: 72ch;
}

p:last-child {
  margin-bottom: 0;
}

.lead {
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
  color: var(--color-text-secondary);
}

@media (min-width: 768px) {
  .lead { font-size: var(--text-xl); }
}

.text-sm { font-size: var(--text-sm); }
.text-xs { font-size: var(--text-xs); }
.text-lg { font-size: var(--text-lg); }
.text-xl { font-size: var(--text-xl); }

.text-muted {
  color: var(--color-text-secondary);
}

strong, b {
  font-weight: var(--font-semibold);
}

/* ── Ссылки ──────────────────────────────── */

.link {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

.link:hover {
  color: var(--color-accent-hover);
  text-decoration-thickness: 2px;
}

.link:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* ── Разделители ─────────────────────────── */

hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: var(--space-8) 0;
}

/* ── Секционные заголовки ─────────────────── */

.section-label {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-widest);
  color: var(--color-accent);
  margin-bottom: var(--space-3);
}

.section-label--gold {
  color: var(--color-gold-500);
}

.section-label--light {
  color: var(--color-primary-200);
}

.section-title {
  max-width: 700px;
}

.section-subtitle {
  max-width: 600px;
  color: var(--color-text-secondary);
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
}

@media (min-width: 768px) {
  .section-subtitle {
    font-size: var(--text-xl);
  }
}

/* ── Списки с контентом ──────────────────── */

.prose ul,
.prose ol {
  padding-left: var(--space-6);
  margin-bottom: var(--space-4);
}

.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }

.prose li {
  margin-bottom: var(--space-2);
  line-height: var(--leading-normal);
}

.prose li::marker {
  color: var(--color-accent);
}

/* ── Цитаты ──────────────────────────────── */

blockquote,
.blockquote {
  padding: var(--space-6) var(--space-8);
  border-left: 4px solid var(--color-accent);
  background: var(--color-bg-alt);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-style: italic;
  color: var(--color-gray-700);
}

blockquote p:last-child {
  margin-bottom: 0;
}

/* ── Selection ───────────────────────────── */

::selection {
  background-color: var(--color-primary-200);
  color: var(--color-primary-800);
}

/* ── Focus visible ───────────────────────── */

:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 2px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 2px;
}

/* ── Утилиты текста ──────────────────────── */

.text-center { text-align: center; }
.text-right { text-align: right; }
.text-balance { text-wrap: balance; }
.text-on-dark { color: var(--color-text-on-dark); }
.text-on-dark-muted { color: var(--color-text-on-dark-muted); }

/* === layout.css === */
/* ============================================
   АМИСТ — Layout System
   Container, Grid, Sections
   ============================================ */

/* ── Container ───────────────────────────── */

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

.container--narrow {
  max-width: var(--container-narrow);
}

.container--wide {
  max-width: var(--container-wide);
}

/* ── Section ─────────────────────────────── */

.section {
  padding-block: var(--section-py);
}

.section--alt {
  background-color: var(--color-bg-alt);
}

.section--dark {
  background-color: var(--color-bg-dark);
  color: var(--color-text-on-dark);
}

.section--dark h1,
.section--dark h2,
.section--dark h3,
.section--dark h4 {
  color: var(--color-white);
}

.section--dark .section-subtitle {
  color: var(--color-text-on-dark-muted);
}

.section--dark .section-label {
  color: var(--color-primary-200);
}

.section--darker {
  background-color: var(--color-bg-darker);
  color: var(--color-text-on-dark);
}

.section--darker h1,
.section--darker h2,
.section--darker h3,
.section--darker h4 {
  color: var(--color-white);
}

/* VIP-секция с gold-акцентом */
.section--vip {
  background: linear-gradient(135deg, var(--color-primary-800) 0%, var(--color-primary-700) 100%);
  color: var(--color-text-on-dark);
  position: relative;
  overflow: hidden;
}

.section--vip::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(135deg, transparent 0%, rgba(201, 168, 76, 0.05) 100%);
  pointer-events: none;
}

.section--vip h2,
.section--vip h3 {
  color: var(--color-gold-300);
}

.section--vip .section-label {
  color: var(--color-gold-500);
}

/* Section header */
.section__header {
  margin-bottom: var(--space-10);
}

.section__header--center {
  text-align: center;
}

.section__header--center .section-title,
.section__header--center .section-subtitle {
  margin-inline: auto;
}

@media (min-width: 768px) {
  .section__header {
    margin-bottom: var(--space-12);
  }
}

/* ── Grid System ─────────────────────────── */

.grid {
  display: grid;
  gap: var(--space-6);
}

/* 2 колонки */
.grid--2 {
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 3 колонки */
.grid--3 {
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .grid--3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* 4 колонки */
.grid--4 {
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Gap варианты */
.grid--gap-sm { gap: var(--space-4); }
.grid--gap-lg { gap: var(--space-8); }
.grid--gap-xl { gap: var(--space-10); }

/* ── Flex утилиты ────────────────────────── */

.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.items-end { align-items: flex-end; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.justify-end { justify-content: flex-end; }
.gap-2 { gap: var(--space-2); }
.gap-3 { gap: var(--space-3); }
.gap-4 { gap: var(--space-4); }
.gap-6 { gap: var(--space-6); }
.gap-8 { gap: var(--space-8); }

/* ── Hero Section ────────────────────────── */

.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  background-color: var(--color-primary-800);
  color: var(--color-text-on-dark);
  overflow: hidden;
}

.hero--medium {
  min-height: 60vh;
  min-height: 60svh;
}

.hero--small {
  min-height: 40vh;
  min-height: 40svh;
}

.hero__bg {
  position: absolute;
  inset: 0;
  z-index: var(--z-base);
}

.hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(4, 13, 26, 0.4) 0%,
    rgba(4, 13, 26, 0.6) 50%,
    rgba(4, 13, 26, 0.85) 100%
  );
  z-index: 2;
}

.hero__content {
  position: relative;
  z-index: 3;
  width: 100%;
  padding-block: var(--space-32) var(--space-16);
}

.hero h1 {
  color: var(--color-white);
  font-size: var(--text-3xl);
  max-width: 800px;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

@media (min-width: 768px) {
  .hero h1 { font-size: var(--text-5xl); }
}

@media (min-width: 1024px) {
  .hero h1 { font-size: var(--text-6xl); }
}

.hero__subtitle {
  font-size: var(--text-lg);
  color: var(--color-primary-100);
  max-width: 600px;
  margin-bottom: var(--space-8);
  line-height: var(--leading-relaxed);
}

@media (min-width: 768px) {
  .hero__subtitle { font-size: var(--text-xl); }
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-top: var(--space-12);
  padding-top: var(--space-8);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.hero__stat {
  text-align: center;
}

.hero__stat-value {
  display: block;
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  font-weight: var(--font-bold);
  color: var(--color-white);
  line-height: 1;
  margin-bottom: var(--space-1);
}

.hero__stat-label {
  font-size: var(--text-sm);
  color: var(--color-primary-200);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wider);
}

/* ── Two-column layouts ──────────────────── */

.split {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-10);
  align-items: center;
}

@media (min-width: 768px) {
  .split {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
  }
}

.split--reverse {
  direction: ltr;
}

@media (min-width: 768px) {
  .split--reverse > :first-child {
    order: 2;
  }
  .split--reverse > :last-child {
    order: 1;
  }
}

/* ── Spacing utilities ───────────────────── */

.mt-auto { margin-top: auto; }
.mb-0 { margin-bottom: 0; }
.mb-4 { margin-bottom: var(--space-4); }
.mb-6 { margin-bottom: var(--space-6); }
.mb-8 { margin-bottom: var(--space-8); }
.mb-12 { margin-bottom: var(--space-12); }

/* ── Display utilities ───────────────────── */

.hidden { display: none; }

@media (max-width: 767px) {
  .hide-mobile { display: none !important; }
}

@media (min-width: 768px) {
  .hide-desktop { display: none !important; }
}

/* ── Overflow ────────────────────────────── */

.overflow-hidden { overflow: hidden; }

/* ── Relative positioning ────────────────── */

.relative { position: relative; }

/* === components.css === */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1.5;text-align:center;white-space:nowrap;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-decoration:none;user-select:none}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--primary{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent);box-shadow:var(--shadow-button)}.btn--primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--primary:active{transform:translateY(0)}.btn--secondary{background-color:var(--color-primary-700);color:var(--color-white);border-color:var(--color-primary-700)}.btn--secondary:hover{background-color:var(--color-primary-600);border-color:var(--color-primary-600)}.btn--outline{background-color:transparent;color:var(--color-accent);border-color:var(--color-accent)}.btn--outline:hover{background-color:var(--color-accent);color:var(--color-white)}.btn--outline-light{background-color:transparent;color:var(--color-white);border-color:rgba(255,255,255,.4)}.btn--outline-light:hover{background-color:var(--color-white);color:var(--color-primary-700);border-color:var(--color-white)}.btn--ghost{background-color:transparent;color:var(--color-accent);padding:var(--space-2) var(--space-3)}.btn--ghost:hover{background-color:var(--color-accent-light)}.btn--gold{background:linear-gradient(135deg,var(--color-gold-500) 0%,var(--color-gold-600) 100%);color:var(--color-white);border-color:var(--color-gold-500);box-shadow:var(--shadow-button)}.btn--gold:hover{background:linear-gradient(135deg,var(--color-gold-400) 0%,var(--color-gold-500) 100%);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--white{background-color:var(--color-white);color:var(--color-primary-700);border-color:var(--color-white)}.btn--white:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-100)}.btn--outline-white{background-color:transparent;color:var(--color-white);border-color:rgba(255,255,255,.4)}.btn--outline-white:hover{background-color:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn--xl{padding:var(--space-5) var(--space-10);font-size:var(--text-lg);border-radius:var(--radius-lg)}.btn--full{width:100%}.btn__icon{width:1.25em;height:1.25em;flex-shrink:0}.card{display:flex;flex-direction:column;background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform var(--transition-base),box-shadow var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.card__image{position:relative;aspect-ratio:16 / 10;overflow:hidden}.card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.card:hover .card__image img{transform:scale(1.05)}.card__badges{position:absolute;top:var(--space-3);left:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2);z-index:var(--z-base)}.card__body{display:flex;flex-direction:column;flex:1;padding:var(--space-5)}.card__title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-primary-700);margin-bottom:var(--space-2);line-height:var(--leading-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__title a{transition:color var(--transition-fast)}.card__title a:hover{color:var(--color-accent)}.card__excerpt{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card__meta{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.card__meta-item{display:flex;align-items:center;gap:var(--space-1)}.card__meta-icon{width:16px;height:16px;opacity:.6}.card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--color-border-light);margin-top:auto}.card__price{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-primary-700)}.card__price-label{display:block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--color-text-secondary)}.card--horizontal{flex-direction:row}.card--horizontal .card__image{width:40%;flex-shrink:0;aspect-ratio:auto}@media (max-width:639px){.card--horizontal{flex-direction:column}.card--horizontal .card__image{width:100%;aspect-ratio:16 / 10}}.card--vip{border:1px solid var(--color-gold-200);background:linear-gradient(180deg,var(--color-white) 0%,var(--color-gold-100) 100%)}.card--vip .card__title{color:var(--color-primary-800)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:1.5;border-radius:var(--radius-full);white-space:nowrap}.badge--primary{background-color:var(--color-primary-700);color:var(--color-white)}.badge--accent{background-color:var(--color-accent-light);color:var(--color-accent)}.badge--gold{background:linear-gradient(135deg,var(--color-gold-500),var(--color-gold-400));color:var(--color-white)}.badge--success{background-color:var(--color-success-light);color:var(--color-success)}.badge--white{background-color:rgba(255,255,255,.9);color:var(--color-primary-700);backdrop-filter:blur(4px)}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-4) 0}.breadcrumbs__item{display:flex;align-items:center;gap:var(--space-1)}.breadcrumbs__link{color:var(--color-text-secondary);transition:color var(--transition-fast);text-decoration:none}.breadcrumbs__link:hover{color:var(--color-accent)}.breadcrumbs__separator{color:var(--color-gray-300);font-size:var(--text-xs);margin-inline:var(--space-1)}.breadcrumbs__current{color:var(--color-text);font-weight:var(--font-medium)}.breadcrumbs--light{color:#FFF;text-shadow:0 1px 4px rgba(0,0,0,.5)}.breadcrumbs--light .breadcrumbs__link{color:rgba(255,255,255,.9)}.breadcrumbs--light .breadcrumbs__link:hover{color:var(--color-white)}.breadcrumbs--light .breadcrumbs__current{color:var(--color-white)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-700);margin-bottom:var(--space-2)}.form-label--required::after{content:' *';color:var(--color-error)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-white);border:1.5px solid var(--color-gray-300);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none}.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:var(--color-gray-400)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-gray-400)}.form-textarea{resize:vertical;min-height:120px}.form-input--error,.form-textarea--error{border-color:var(--color-error)}.form-input--error:focus,.form-textarea--error:focus{box-shadow:0 0 0 3px var(--color-error-light)}.form-error{display:block;font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.form-hint{display:block;font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.form-input--dark{background-color:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);color:#FFF}.form-input--dark::placeholder{color:rgba(255,255,255,.55)}.form-input--dark:focus{border-color:var(--color-accent);background-color:rgba(255,255,255,.12)}.feature{text-align:center;padding:var(--space-6)}.feature__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--space-5);background:var(--color-primary-50);color:var(--color-accent);border-radius:var(--radius-xl);font-size:var(--text-2xl)}.section--dark .feature__icon{background:rgba(255,255,255,.08);color:var(--color-primary-200)}.feature__title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:var(--space-3)}.feature__text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.section--dark .feature__text{color:var(--color-text-on-dark-muted)}.image-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4 / 3}.image-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.image-card:hover img{transform:scale(1.08)}.image-card__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,13,26,.8) 0%,rgba(4,13,26,0) 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-5)}.image-card__title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-white);margin-bottom:var(--space-1)}.image-card__subtitle{font-size:var(--text-sm);color:var(--color-primary-200)}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-gray-600);background:var(--color-gray-100);border-radius:var(--radius-full);transition:all var(--transition-fast)}.tag:hover{background:var(--color-gray-200);color:var(--color-primary-700)}.tag--active{background:var(--color-accent);color:var(--color-white)}.divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-8) 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--color-border)}.accordion__item{border-bottom:1px solid var(--color-border)}.accordion__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-5) 0;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-primary-700);text-align:left;cursor:pointer;transition:color var(--transition-fast)}.accordion__trigger:hover{color:var(--color-accent)}.accordion__icon{width:24px;height:24px;flex-shrink:0;transition:transform var(--transition-base);color:var(--color-gray-400)}.accordion__item[open] .accordion__icon{transform:rotate(180deg)}.accordion__content{padding-bottom:var(--space-5);color:var(--color-gray-600);line-height:var(--leading-relaxed)}.toast{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);padding:var(--space-4) var(--space-6);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);border-left:4px solid var(--color-success);max-width:400px;transform:translateX(120%);transition:transform var(--transition-spring)}.toast--visible{transform:translateX(0)}.toast--error{border-left-color:var(--color-error)}.spinner{width:24px;height:24px;border:3px solid var(--color-gray-200);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:rgba(4,13,26,.7);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.overlay--visible{opacity:1;visibility:visible}[data-animate]{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}[data-animate].is-visible{opacity:1;transform:translateY(0)}[data-animate-stagger]>*{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}[data-animate-stagger].is-visible>*{opacity:1;transform:translateY(0)}[data-animate-stagger].is-visible>*:nth-child(1){transition-delay:0s}[data-animate-stagger].is-visible>*:nth-child(2){transition-delay:.1s}[data-animate-stagger].is-visible>*:nth-child(3){transition-delay:.2s}[data-animate-stagger].is-visible>*:nth-child(4){transition-delay:.3s}[data-animate-stagger].is-visible>*:nth-child(5){transition-delay:.35s}[data-animate-stagger].is-visible>*:nth-child(6){transition-delay:.4s}.tour-card{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.tour-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(11,29,58,.12)}.tour-card__image{transition:transform .5s cubic-bezier(.16,1,.3,1)}.tour-card:hover .tour-card__image{transform:scale(1.05)}.hub-card{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.hub-card:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(11,29,58,.15)}.hub-card__img img{transition:transform .6s cubic-bezier(.16,1,.3,1)}.hub-card:hover .hub-card__img img{transform:scale(1.08)}.destination-card{transition:transform .3s cubic-bezier(.16,1,.3,1)}.destination-card:hover{transform:translateY(-5px) scale(1.02)}.btn--gold{transition:all .3s ease}.btn--gold:hover{box-shadow:0 8px 24px rgba(201,168,76,.35)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-animate],[data-animate-stagger]>*{opacity:1!important;transform:none!important;transition:none!important}.tour-card,.hub-card,.destination-card,.btn--gold{transition:none!important}}.lightbox.is-opening .lightbox__backdrop{animation:lb-backdrop-in .35s ease forwards}.lightbox.is-closing .lightbox__backdrop{animation:lb-backdrop-out .3s ease forwards}.lightbox.is-closing .lightbox__close,.lightbox.is-closing .lightbox__nav,.lightbox.is-closing .lightbox__counter{opacity:0;transition:opacity .15s ease}@keyframes lb-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes lb-backdrop-out{from{opacity:1}to{opacity:0}}.lightbox__img--zoomed{transition:transform .35s cubic-bezier(.25,.46,.45,.94)}.lightbox__img{transition:transform .35s cubic-bezier(.25,.46,.45,.94),opacity .35s ease}@media (prefers-reduced-motion:reduce){.lightbox.is-opening .lightbox__backdrop,.lightbox.is-closing .lightbox__backdrop{animation:none}.lightbox__img,.lightbox__img--zoomed,.lightbox__img--panning{transition:none!important}}.lang-switch{display:flex;align-items:center;gap:6px;margin-right:12px}.lang-switch__current{font-size:13px;font-weight:600;color:var(--color-gold-400,#C9A84C)}.lang-switch__link{font-size:13px;color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s}.lang-switch__link:hover{color:white}
/* === header.css === */
/* ============================================
   АМИСТ — Header & Navigation
   ============================================ */

/* ── Top Bar (phone, social) ─────────────── */

.topbar {
  background-color: var(--color-primary-800);
  color: var(--color-primary-200);
  font-size: var(--text-xs);
  padding: var(--space-2) 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.topbar__left {
  display: flex;
  align-items: center;
  gap: var(--space-6);
}

.topbar__right {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.topbar__phone {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-white);
  font-weight: var(--font-medium);
  transition: color var(--transition-fast);
  letter-spacing: var(--tracking-wide);
}

.topbar__phone:hover {
  color: var(--color-gold-300);
}

.topbar__phone-icon {
  width: 14px;
  height: 14px;
}

.topbar__address {
  color: var(--color-primary-300);
}

.topbar__social {
  display: flex;
  gap: var(--space-3);
}

.topbar__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  color: var(--color-primary-300);
  transition: all var(--transition-fast);
}

.topbar__social-link:hover {
  color: var(--color-white);
  background: rgba(255, 255, 255, 0.1);
}

.topbar__social-link svg {
  width: 16px;
  height: 16px;
}

/* ── Main Header ─────────────────────────── */

.header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  background-color: var(--color-white);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition-base), background-color var(--transition-base);
}

.header--scrolled {
  box-shadow: var(--shadow-lg);
}

/* Transparent header for hero pages */
.header--transparent {
  position: absolute;
  width: 100%;
  background-color: transparent;
  box-shadow: none;
}

.header--transparent.header--scrolled {
  position: sticky;
  background-color: var(--color-white);
  box-shadow: var(--shadow-lg);
}

.header--transparent:not(.header--scrolled) .nav__link {
  color: var(--color-white);
}

.header--transparent:not(.header--scrolled) .header__logo-text {
  color: var(--color-white);
}

.header--transparent:not(.header--scrolled) .header__phone {
  color: var(--color-white);
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
}

@media (min-width: 1024px) {
  .header__inner {
    height: 80px;
  }
}

/* ── Logo ────────────────────────────────── */

.header__logo {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
  flex-shrink: 0;
}

.header__logo-img {
  height: 40px;
  width: auto;
}

@media (min-width: 1024px) {
  .header__logo-img {
    height: 48px;
  }
}

.header__logo-text {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: var(--font-bold);
  color: var(--color-primary-700);
  letter-spacing: var(--tracking-wide);
  line-height: 1;
  transition: color var(--transition-fast);
}

.header__logo-tagline {
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: var(--font-normal);
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: var(--tracking-widest);
  display: block;
  margin-top: 2px;
}

/* ── Navigation ──────────────────────────── */

.nav {
  display: none;
}

@media (min-width: 1024px) {
  .nav {
    display: flex;
    align-items: center;
    gap: var(--space-1);
  }
}

.nav__item {
  position: relative;
}

.nav__link {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--color-gray-700);
  border-radius: var(--radius-md);
  transition: color var(--transition-fast), background-color var(--transition-fast);
  white-space: nowrap;
}

.nav__link:hover {
  color: var(--color-accent);
  background-color: var(--color-accent-light);
}

.nav__link--active {
  color: var(--color-accent);
}

.nav__chevron {
  width: 12px;
  height: 12px;
  transition: transform var(--transition-fast);
}

.nav__item:hover .nav__chevron {
  transform: rotate(180deg);
}

/* ── Dropdown ────────────────────────────── */

.dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;
  padding: var(--space-2);
  background: var(--color-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  border: 1px solid var(--color-border-light);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(8px);
  transition: all var(--transition-fast);
  pointer-events: none;
}

.nav__item:hover .dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.dropdown__link {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-gray-700);
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
}

.dropdown__link:hover {
  background: var(--color-accent-light);
  color: var(--color-accent);
}

.dropdown__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  opacity: 0.5;
}

.dropdown__separator {
  height: 1px;
  background: var(--color-border-light);
  margin: var(--space-2) var(--space-3);
}

/* ── Header Right ────────────────────────── */

.header__right {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.header__phone {
  display: none;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  color: var(--color-primary-700);
  transition: color var(--transition-fast);
}

.header__phone:hover {
  color: var(--color-accent);
}

@media (min-width: 1280px) {
  .header__phone {
    display: flex;
  }
}

.header__phone-icon {
  width: 18px;
  height: 18px;
  color: var(--color-accent);
}

.header__cta {
  display: none;
}

@media (min-width: 1024px) {
  .header__cta {
    display: inline-flex;
  }
}

/* ── Burger Menu Button ──────────────────── */

.burger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  z-index: calc(var(--z-header) + 10);
}

@media (min-width: 1024px) {
  .burger {
    display: none;
  }
}

.burger__lines {
  position: relative;
  width: 24px;
  height: 18px;
}

.burger__line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-primary-700);
  border-radius: var(--radius-full);
  transition: all var(--transition-base);
}

.header--transparent:not(.header--scrolled) .burger__line {
  background-color: var(--color-white);
}

.burger__line:nth-child(1) { top: 0; }
.burger__line:nth-child(2) { top: 50%; transform: translateY(-50%); }
.burger__line:nth-child(3) { bottom: 0; }

/* Active state */
.burger--active .burger__line:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.burger--active .burger__line:nth-child(2) {
  opacity: 0;
  transform: translateX(-10px);
}

.burger--active .burger__line:nth-child(3) {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}

.burger--active .burger__line {
  background-color: var(--color-white);
}

/* ── Mobile Menu ─────────────────────────── */

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: var(--z-header);
  visibility: hidden;
  transition: visibility 0s linear 0.3s;
}

.mobile-menu--open {
  visibility: visible;
  transition-delay: 0s;
}

/* Overlay (left gap for closing) */
.mobile-menu__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0);
  transition: background-color var(--transition-base);
}

.mobile-menu--open .mobile-menu__overlay {
  background-color: rgba(0, 0, 0, 0.5);
}

/* Panel (slides from right, with gap on left) */
.mobile-menu__panel {
  position: absolute;
  top: 8px;
  right: 8px;
  bottom: 8px;
  width: calc(100% - 76px);
  max-width: 340px;
  background-color: rgba(11, 29, 58, 0.97);
  backdrop-filter: blur(24px) saturate(1.6);
  -webkit-backdrop-filter: blur(24px) saturate(1.6);
  padding-top: var(--space-6);
  overflow-y: auto;
  transform: translateX(110%);
  transition: transform var(--transition-base);
  box-shadow: -8px 0 32px rgba(0, 0, 0, 0.3);
  border-radius: 20px;
}

.mobile-menu--open .mobile-menu__panel {
  transform: translateX(0);
}

.mobile-menu__inner {
  padding: var(--space-4) var(--space-4);
}

.mobile-menu__nav {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.mobile-menu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--color-white);
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
}

.mobile-menu__link:hover,
.mobile-menu__link--active {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--color-white);
}

.mobile-menu__submenu {
  display: none;
  padding-left: var(--space-4);
}

.mobile-menu__submenu--open {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.mobile-menu__sublink {
  padding: 6px var(--space-4);
  font-size: var(--text-xs);
  color: var(--color-white);
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
}

.mobile-menu__sublink:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color: var(--color-white);
}

.mobile-menu__divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  margin: var(--space-2) 0;
}

.mobile-menu__phone {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-base);
  font-weight: var(--font-bold);
  color: var(--color-white);
}

.mobile-menu__cta {
  margin-top: var(--space-3);
  padding: 0 var(--space-4);
}

.mobile-menu__social {
  display: flex;
  justify-content: center;
  gap: var(--space-4);
  margin-top: var(--space-8);
  padding-top: var(--space-6);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.mobile-menu__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  transition: all var(--transition-fast);
}

.mobile-menu__social-link:hover {
  background: rgba(255, 255, 255, 0.2);
  color: var(--color-white);
}

/* ── Reduced motion ─────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* === Skeleton Shimmer Effect === */
.skeleton{position:relative;overflow:hidden;background:var(--color-gray-200,#E2E7EF);border-radius:var(--radius-lg,12px)}
.skeleton::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.4) 50%,transparent 100%);animation:shimmer 1.5s infinite}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.skeleton-card{width:100%;aspect-ratio:16/10;border-radius:var(--radius-xl,16px)}
.skeleton-text{height:16px;border-radius:8px;margin-top:12px;width:70%}
.skeleton-text--short{width:40%}
.skeleton-badge{position:absolute;top:12px;left:12px;width:50px;height:24px;border-radius:var(--radius-full,999px)}
