/* Скин шаблона «Балет» — классический: крупные заголовки с засечками,
   заголовки разделов по центру, надзаголовки с линиями по бокам, двойные
   тонкие рамки, фото в паспарту, кнопки прописными с разрядкой.
   Правила скинов — в начале skins/powder.css. */

/* ---- типографика */
:where(body.skin-ballet) :is(h1, h2, h3) { font-weight: 600; letter-spacing: .005em; }
:where(body.skin-ballet) h2, :where(body.skin-ballet) .h2 {
  font-size: clamp(32px, 4.6vw, 54px); line-height: 1.08; margin-bottom: 16px;
}
:where(body.skin-ballet) h3 { font-size: 1.25em; }
body.skin-ballet .card h3 { font-size: 23px; }
body.skin-ballet .blk-hero .hero-title { font-size: clamp(38px, 5.8vw, 70px); line-height: 1.04; font-weight: 500; }
:where(body.skin-ballet) .tag {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: 12px; letter-spacing: .3em; color: var(--s-accent);
}
:where(body.skin-ballet) .tag::before, :where(body.skin-ballet) .tag::after {
  content: ""; width: 26px; height: 1px; background: currentColor; flex: none;
}
:where(body.skin-ballet) .sub { font-size: 17px; }
/* заголовок раздела — по центру */
body.skin-ballet .blk:not(.blk-hero) > .wrap > :is(.tag, h2, .sub) { text-align: center; margin-left: auto; margin-right: auto; }
body.skin-ballet .blk:not(.blk-hero) > .wrap > .tag { display: flex; justify-content: center; width: fit-content; }
body.skin-ballet .feat-num { font-style: italic; font-weight: 500; }
body.skin-ballet .price-num, body.skin-ballet .price-row-num { font-weight: 600; }
body.skin-ballet .price-row h3 { font-size: 24px; }
body.skin-ballet .rev-slide blockquote, body.skin-ballet .about-quote blockquote p { font-style: italic; font-weight: 500; }

/* ---- ритм: тонкая линия между блоками одной подложки */
body.skin-ballet .blk:not(.blk-hero) { padding: 96px 0; }
body.skin-ballet .blk.sch-base + .blk.sch-base::before,
body.skin-ballet .blk.sch-alt + .blk.sch-alt::before {
  content: ""; position: absolute; top: 0; left: 50%; width: 120px; margin-left: -60px; height: 1px;
  background: var(--s-accent); opacity: .6;
}

/* ---- кнопки: прописные, разрядка, без тени */
:where(body.skin-ballet) .btn {
  text-transform: uppercase; letter-spacing: .16em; font-weight: 600; box-shadow: none;
}
:where(body.skin-ballet) .btn:hover { transform: none; filter: brightness(1.12); }

/* ---- карточки: двойная тонкая рамка */
:where(body.skin-ballet) .card { box-shadow: none; }
:where(body.skin-ballet) .card:not(.studio) { outline: 1px solid var(--s-line); outline-offset: -7px; }
body.skin-ballet .price-card.hot { outline-color: var(--s-accent); }
body.skin-ballet .faq-item { background: none; border-width: 0 0 1px; border-radius: 0; margin-bottom: 0; padding: 0 2px; }
body.skin-ballet .faq-item summary { font-family: var(--font-head); font-size: 21px; font-weight: 600; }
body.skin-ballet .faq-qa h3 { font-size: 22px; }
body.skin-ballet .rev-slide { outline: 1px solid var(--s-line); outline-offset: -8px; }

/* ---- картинки: паспарту — поле фона и тонкая линия вокруг */
body.skin-ballet .hero-split .hero-visual, body.skin-ballet .about-photo, body.skin-ballet .feat-photo,
body.skin-ballet .teacher-row-img img, body.skin-ballet .dir-row-img img,
body.skin-ballet .hero-mosaic > img, body.skin-ballet .hero-mosaic > picture > img {
  box-shadow: 0 0 0 8px var(--s-bg), 0 0 0 9px var(--s-line);
}
body.skin-ballet .about-avatar { border-color: var(--s-accent); border-width: 1px; padding: 4px; background: var(--s-bg); }
body.skin-ballet .dir-tile-cap { text-align: center; }
body.skin-ballet .dir-tile-cap h3 { font-size: 22px; }

/* ---- шапка и подвал */
body.skin-ballet .logo { text-transform: uppercase; letter-spacing: .3em; }
body.skin-ballet .site-header .nav ul a { font-size: 12.5px; letter-spacing: .18em; text-transform: uppercase; }
@media (min-width: 901px) {
  body.skin-ballet .site-header .nav ul a {
    padding-bottom: 3px; background: linear-gradient(currentColor, currentColor) 50% 100% / 0 1px no-repeat;
    transition: background-size .25s, color .2s;
  }
  body.skin-ballet .site-header .nav ul a:hover { background-size: 100% 1px; }
}
body.skin-ballet footer.site-footer .f-name { font-size: 26px; font-weight: 600; letter-spacing: .04em; }
body.skin-ballet footer.site-footer h4 { letter-spacing: .24em; }

@media (max-width: 900px) {
  body.skin-ballet .blk:not(.blk-hero) { padding: 64px 0; }
  body.skin-ballet .site-header .nav ul a { font-size: 15px; letter-spacing: .1em; }
}
@media (max-width: 560px) {
  body.skin-ballet .tag { letter-spacing: .2em; gap: 10px; }
  body.skin-ballet .tag::before, body.skin-ballet .tag::after { width: 16px; }
  :where(body.skin-ballet) .card:not(.studio) { outline-offset: -5px; }
}
