/* Выбор темы: <html data-home-season="autumn|winter|spring|summer">.
   Подключать после действующих стилей палитры и шрифтов только на главной. */
.floating-header .brand { width: clamp(250px, 24vw, 310px); }
.floating-header .brand img { content: url('../images/mechta-dk-white.svg'); border-radius: 0; }
.floating-header .main-nav a { font-size: 15px; font-weight: 400; }
.floating-header .main-nav { gap: clamp(10px, 1.2vw, 20px); }
.floating-header .mega-nav-item { position: relative; }
.floating-header .mega-panel {
  top: 100%;
  left: 0;
  right: auto;
  width: max-content;
  min-width: 220px;
  max-width: min(360px, calc(100vw - 32px));
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 16px;
}
.floating-header .mega-panel > div { grid-template-columns: minmax(0, 1fr); gap: 0; }
.floating-header .mega-panel > div a { justify-content: space-between; padding: 10px 0; white-space: normal; overflow-wrap: anywhere; }
.floating-header .mega-panel > div a span { flex-shrink: 0; }
.floating-header .mega-nav-item:nth-last-child(-n+2) .mega-panel { left: auto; right: 0; }
.floating-header .mobile-menu a { font-size: 16px; font-weight: 400; }
.floating-header .accessibility-button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 10px;
  gap: 0;
  font-size: 0;
}
.floating-header .accessibility-button span,
.floating-header .accessibility-button > svg { display: none; }
.floating-header .accessibility-button::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask: url('../images/accessibility-glasses.svg') center / contain no-repeat;
  mask: url('../images/accessibility-glasses.svg') center / contain no-repeat;
}
@media (max-width: 600px) { .floating-header .brand { width: min(250px, calc(100vw - 142px)); } }
html[data-home-season="winter"] .floating-header .brand,
html[data-home-season="spring"] .floating-header .brand { background: #731637; border-radius: 10px; }
html[data-home-season="autumn"] {
  --season-primary: #731637;
  --season-primary-text: #fffdfa;
  --season-heading: #731637;
  --season-main: #eb6132;
  --season-foreground: #00142e;
  --season-soft: #f7f3f0;
  --season-tint: #d6cbc3;
  --season-module: url('../images/season-autumn.png');
}
html[data-home-season="winter"] {
  --season-primary: #ebf3fc;
  --season-primary-text: #47182e;
  --season-heading: #47182e;
  --season-main: #bcc7db;
  --season-foreground: #47182e;
  --season-soft: #ebf3fc;
  --season-tint: #a7d3d4;
  --season-module: url('../images/season-winter.png');
}
html[data-home-season="spring"] {
  --season-primary: #a8cfe5;
  --season-primary-text: #00142e;
  --season-heading: #00323c;
  --season-main: #c13d5d;
  --season-foreground: #fffdfa;
  --season-soft: #f7f3f0;
  --season-tint: #a8cfe5;
  --season-module: url('../images/season-spring.png');
}
html[data-home-season="summer"] {
  --season-primary: #449b9b;
  --season-primary-text: #00142e;
  --season-heading: #00323c;
  --season-main: #449b9b;
  --season-foreground: #00142e;
  --season-soft: #f7f3f0;
  --season-tint: #a7d3d4;
  --season-module: url('../images/season-summer.png');
}

html[data-home-season] {
  --paper: var(--season-soft);
  --surface: #fffdfa;
  --line: var(--season-tint);
  --accent: var(--season-primary);
  --ink: #00323c;
  --ink-soft: #47182e;
  scrollbar-color: #731637 var(--season-soft);
}
html[data-home-season] body { background-color: var(--season-soft); }
html[data-home-season] .floating-header,
html[data-home-season] .mega-panel,
html[data-home-season] .mobile-menu { background-color: var(--season-primary); color: var(--season-primary-text); }
html[data-home-season] .floating-header { box-shadow: 0 18px 60px rgba(0,0,0,.22); }
html[data-home-season] .next-event { color: #fffdfa; box-shadow: 0 22px 70px rgba(0,0,0,.28); }
html[data-home-season] .next-event h2,
html[data-home-season] .choreography-card__photo,
html[data-home-season] .choreography-card h3 { color: #fffdfa; }
html[data-home-season] .main-nav a,
html[data-home-season] .menu-toggle,
html[data-home-season] .accessibility-button,
html[data-home-season] .mega-panel > p,
html[data-home-season] .mega-panel > div span,
html[data-home-season] .mobile-menu strong { color: var(--season-primary-text); }
html[data-home-season] .accessibility-button { border-color: currentColor; }
html[data-home-season] .accessibility-button:hover { background: var(--season-primary-text); color: var(--season-primary); }
html[data-home-season] .hero-shade { background: transparent; }
html[data-home-season] .hero-shade::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  -webkit-mask: url('../images/hero-left-mask.svg') center / 100% 100% no-repeat;
  mask: url('../images/hero-left-mask.svg') center / 100% 100% no-repeat;
  background-color: var(--season-main);
  background-image: var(--season-module);
  background-repeat: repeat;
  background-size: auto 320px;
  background-position: left top;
}
/* Заголовок защищён от пёстрого узора. Размещение и размеры блока прежние. */
html[data-home-season] .hero-copy { color: #fffdfa; isolation: isolate; }
html[data-home-season] .hero-copy::before {
  content: '';
  position: absolute;
  inset: -18px;
  z-index: -1;
  border-radius: 14px;
  background: rgba(71, 24, 46, .94);
  pointer-events: none;
}
html[data-home-season] .hero-copy h1 { color: #fffdfa; }
html[data-home-season] .hero-copy .eyebrow { color: #fffdfa; }
html[data-home-season] .button-accent,
html[data-home-season] .button-dark,
html[data-home-season] .nav-action,
html[data-home-season] .calendar-link,
html[data-home-season] .news .news-action-button,
html[data-home-season] .section-title > a.button {
  background-color: var(--season-primary);
  color: var(--season-primary-text);
}
html[data-home-season] .button-outline { color: var(--season-primary-text); background-color: var(--season-primary); border-color: var(--season-primary-text); }
html[data-home-season] .button:hover,
html[data-home-season] .calendar-link:hover,
html[data-home-season] .news .news-action-button:hover { color: #fffdfa; background-color: #47182e; }
html[data-home-season] .studio-catalog.section .section-title h2 { color: var(--season-heading); }
html[data-home-season] .choreography-card__age { background-color: var(--season-main); color: var(--season-foreground); }
html[data-home-season] .choreography-card__enrolling { background-color: var(--season-tint); color: #00323c; }
html[data-home-season] .studio-showcase-action { background-color: var(--season-main); color: var(--season-foreground); }
html[data-home-season] .visit-copy { background-color: var(--season-tint); }
html[data-home-season] .hero .button:focus-visible { outline-color: var(--season-foreground); }
html[data-home-season] ::selection { color: #fffdfa; background: #731637; }
html[data-home-season] .hero .hero-actions .button {
  color: #fffdfa;
  background-color: #00323c;
  border-color: #00323c;
}
html[data-home-season] .hero .hero-actions .button:hover {
  color: #fffdfa;
  background-color: #001f26;
  border-color: #001f26;
}
html[data-home-season] .hero .hero-actions .button:focus-visible { outline-color: #fffdfa; outline-offset: 4px; }
@media (max-width: 700px) {
  html[data-home-season] .hero-shade::after { background-size: auto 240px; }
}

.home-season-switcher { position: fixed; right: 16px; bottom: 16px; z-index: 10000; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; max-width: calc(100vw - 32px); padding: 12px 16px; border: 1px solid #d6cbc3; border-radius: 14px; background: #fffdfa; color: #47182e; box-shadow: 0 8px 28px rgba(0,0,0,.16); font: 16px/1.5 George, Arial, sans-serif; }
.home-season-switcher label { margin: 0; }
.home-season-switcher select { min-height: 44px; padding: 8px 12px; border: 1px solid #731637; border-radius: 8px; background: white; color: #47182e; font: inherit; }
.home-season-switcher select:focus-visible { outline: 3px solid #731637; outline-offset: 3px; }
@media (max-width: 480px) { .home-season-switcher { right: 8px; bottom: 8px; max-width: calc(100vw - 16px); padding: 8px 12px; font-size: 14px; } }
