/*
Theme Name: ОФКМ — Каратэ Москвы
Theme URI: https://moswkf.ru/
Author: ОФКМ
Description: Кастомная тема для Объединённой федерации каратэ в городе Москве.
Version: 1.9.0
Text Domain: ofkm-theme
*/

/* Визуальный эталон: утверждённые редакционные макеты ОФКМ — графитовый grid-hero, красный акцент, Oswald CAPS, Manrope-текст, строгий 16/24/32/64 ритм. */
:root { --ofkm-red:#ef3636; --ofkm-red-deep:#d5232b; --ofkm-dark:#272b37; --ofkm-ink:#20242e; --ofkm-soft:#f4f5f7; --ofkm-line:#e1e4e8; --ofkm-muted:#6f7580; --ofkm-shell:1280px; --ofkm-space:clamp(64px,7vw,104px); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ofkm-ink); background:#fff; font:400 15px/1.58 "Manrope",Arial,sans-serif; }
a { color:inherit; text-decoration:none; } img { display:block; max-width:100%; height:auto; } button,input,select { font:inherit; }
.ofkm-shell { width:min(var(--ofkm-shell),calc(100% - 80px)); margin-inline:auto; }
.ofkm-utility { min-height:32px; color:#eef0f2; background:var(--ofkm-dark); font-size:10px; }
.ofkm-utility__inner { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:32px; }.ofkm-utility__meta { display:flex; gap:22px; align-items:center; }.ofkm-utility a { color:#fff; opacity:.82; }.ofkm-utility a:hover { opacity:1; }
.ofkm-header { position:relative; z-index:20; border-bottom:1px solid #edf0f2; background:#fff; }.ofkm-header__inner { display:flex; align-items:center; justify-content:space-between; min-height:92px; gap:34px; }
.ofkm-brand { display:flex; align-items:center; min-width:205px; gap:11px; }.ofkm-brand img { width:54px; height:54px; object-fit:contain; }.ofkm-brand span { display:block; max-width:154px; color:#1e2430; font-size:8px; font-weight:800; line-height:1.13; text-transform:uppercase; }.ofkm-brand b { display:block; margin-bottom:3px; color:var(--ofkm-red); font-family:"Oswald",Impact,sans-serif; font-size:23px; line-height:.88; letter-spacing:.01em; }
.ofkm-menu,.ofkm-menu ul { display:flex; align-items:center; gap:25px; margin:0; padding:0; }.ofkm-menu li { list-style:none; }.ofkm-menu a { position:relative; display:block; padding:38px 0 36px; font-family:"Oswald",Impact,sans-serif; font-size:13px; font-weight:600; letter-spacing:.02em; text-transform:uppercase; }.ofkm-menu a::after { content:""; position:absolute; right:0; bottom:0; left:0; height:3px; background:transparent; transition:background .18s ease; }.ofkm-menu a:hover,.ofkm-menu .current-menu-item>a { color:var(--ofkm-red); }.ofkm-menu a:hover::after,.ofkm-menu .current-menu-item>a::after { background:var(--ofkm-red); }.ofkm-menu-toggle { display:none; padding:8px; border:0; background:#fff; color:var(--ofkm-dark); font-size:24px; }
.ofkm-hero { position:relative; display:flex; min-height:495px; align-items:flex-end; overflow:hidden; color:#fff; background:#161b24; }.ofkm-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,15,22,.94) 0%,rgba(11,15,22,.77) 41%,rgba(11,15,22,.16) 100%),url('assets/images/hero-kumite.jpg') center/cover; }.ofkm-hero__content { position:relative; width:100%; padding:72px 0 58px; }.ofkm-kicker,.ofkm-eyebrow { color:var(--ofkm-red); font-family:"Oswald",Impact,sans-serif; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }.ofkm-kicker { display:inline-block; padding:5px 9px; color:#fff; background:var(--ofkm-red); }
.ofkm-hero h1,.ofkm-section-title,.ofkm-card__title,.ofkm-page-hero h1 { margin:12px 0 0; font-family:"Oswald",Impact,sans-serif; font-weight:700; letter-spacing:-.025em; line-height:.88; text-transform:uppercase; }.ofkm-hero h1 { max-width:540px; font-size:clamp(66px,7.6vw,112px); }.ofkm-hero p { max-width:485px; margin:22px 0 0; color:#f1f3f5; font-size:14px; line-height:1.6; }.ofkm-button { display:inline-flex; align-items:center; gap:13px; margin-top:28px; padding:16px 20px; border:1px solid var(--ofkm-red); background:var(--ofkm-red); color:#fff; font-family:"Oswald",Impact,sans-serif; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; transition:background .18s ease,transform .18s ease; }.ofkm-button:hover { border-color:var(--ofkm-red-deep); background:var(--ofkm-red-deep); transform:translateY(-2px); }
.ofkm-statbar { background:var(--ofkm-red); color:#fff; }.ofkm-statbar__inner { display:grid; grid-template-columns:repeat(4,1fr); }.ofkm-stat { min-height:126px; padding:28px 30px; border-right:1px solid rgba(255,255,255,.32); }.ofkm-stat:last-child { border-right:0; }.ofkm-stat strong { display:block; font-family:"Oswald",Impact,sans-serif; font-size:49px; font-weight:700; line-height:.8; }.ofkm-stat span { display:block; max-width:140px; margin-top:10px; font-size:10px; line-height:1.3; }
.ofkm-section { padding:var(--ofkm-space) 0; }.ofkm-section--soft { background:var(--ofkm-soft); }.ofkm-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:31px; }.ofkm-section-title { position:relative; padding-bottom:12px; font-size:clamp(42px,4.2vw,64px); }.ofkm-section-title::after { content:""; position:absolute; bottom:0; left:0; width:37px; height:3px; background:var(--ofkm-red); }.ofkm-link { color:var(--ofkm-red); font-family:"Oswald",Impact,sans-serif; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.ofkm-grid { display:grid; gap:16px; }.ofkm-grid--news { grid-template-columns:2fr 1fr 1fr; }.ofkm-grid--events { grid-template-columns:repeat(4,1fr); }.ofkm-card { display:block; min-height:238px; padding:21px; border:1px solid var(--ofkm-line); background:#fff; }.ofkm-card:hover { border-color:#cfd3d8; box-shadow:0 15px 35px rgba(39,43,55,.08); }.ofkm-card--image { position:relative; min-height:338px; overflow:hidden; color:#fff; }.ofkm-card--image::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,13,18,.75),rgba(10,13,18,.02)); }.ofkm-card--image>* { position:relative; }.ofkm-card--image .ofkm-eyebrow { color:#ffaba5; }.ofkm-card__date { color:var(--ofkm-red); font-family:"Oswald",Impact,sans-serif; font-size:44px; font-weight:700; line-height:.82; }.ofkm-card__title { margin-top:16px; font-size:28px; }.ofkm-card__meta { margin-top:10px; color:var(--ofkm-muted); font-size:11px; }.ofkm-card--image .ofkm-card__meta { color:#eff1f3; }
.ofkm-page-hero { position:relative; overflow:hidden; padding:66px 0 64px; color:#fff; background:linear-gradient(105deg,#382932 0%,#272b37 51%,#20242e 100%); }.ofkm-page-hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.34) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.34) 1px,transparent 1px); background-size:54px 54px; }.ofkm-page-hero .ofkm-shell { position:relative; z-index:1; }.ofkm-page-hero h1 { max-width:620px; font-size:clamp(58px,6.6vw,86px); }.ofkm-page-hero p { max-width:590px; margin:19px 0 0; color:#e8ebef; font-size:14px; }.ofkm-breadcrumbs { margin-bottom:22px; color:#c6cad1; font-size:11px; }.ofkm-breadcrumbs a:hover { color:#fff; }
.ofkm-footer { padding:60px 0 19px; color:#fff; background:var(--ofkm-dark); }.ofkm-footer__grid { display:grid; grid-template-columns:1.65fr 1fr 1fr 1fr; gap:42px; }.ofkm-footer h2 { margin:0 0 16px; font-family:"Oswald",Impact,sans-serif; font-size:15px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }.ofkm-footer p,.ofkm-footer a { display:block; margin:7px 0; color:#b9bec6; font-size:11px; line-height:1.5; }.ofkm-footer a:hover { color:#fff; }.ofkm-footer__bottom { display:flex; justify-content:space-between; gap:24px; margin-top:48px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); color:#89909b; font-size:10px; }
@media (max-width:1100px) { .ofkm-menu,.ofkm-menu ul { gap:15px; }.ofkm-menu a { font-size:12px; }.ofkm-shell { width:min(var(--ofkm-shell),calc(100% - 56px)); } }
@media (max-width:850px) { .ofkm-shell { width:min(var(--ofkm-shell),calc(100% - 40px)); }.ofkm-menu-toggle { display:block; }.ofkm-menu { display:none; position:absolute; top:92px; right:20px; left:20px; padding:12px 18px; border:1px solid var(--ofkm-line); background:#fff; box-shadow:0 20px 44px rgba(16,21,29,.16); }.ofkm-menu.is-open { display:block; }.ofkm-menu ul { display:block; }.ofkm-menu a { padding:13px 0; }.ofkm-menu a::after { display:none; }.ofkm-grid--news,.ofkm-grid--events { grid-template-columns:repeat(2,1fr); }.ofkm-statbar__inner { grid-template-columns:repeat(2,1fr); }.ofkm-stat:nth-child(2) { border-right:0; }.ofkm-footer__grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { :root { --ofkm-space:56px; }.ofkm-shell { width:calc(100% - 32px); }.ofkm-utility__inner { min-height:30px; font-size:9px; }.ofkm-utility__meta { gap:10px; }.ofkm-utility__meta span:last-child { display:none; }.ofkm-header__inner { min-height:72px; }.ofkm-brand { min-width:0; }.ofkm-brand img { width:42px; height:42px; }.ofkm-brand span { max-width:118px; font-size:7px; }.ofkm-brand b { font-size:19px; }.ofkm-menu { top:72px; }.ofkm-hero { min-height:510px; }.ofkm-hero__content { padding:60px 0 46px; }.ofkm-hero h1 { font-size:68px; }.ofkm-stat { min-height:107px; padding:22px 16px; }.ofkm-stat strong { font-size:40px; }.ofkm-grid--news,.ofkm-grid--events { grid-template-columns:1fr; }.ofkm-section-head { align-items:flex-start; flex-direction:column; gap:13px; }.ofkm-section-title { font-size:46px; }.ofkm-page-hero { padding:52px 0; }.ofkm-page-hero h1 { font-size:58px; }.ofkm-footer__grid { grid-template-columns:1fr; gap:26px; }.ofkm-footer__bottom { display:block; margin-top:36px; }.ofkm-footer__bottom>*+* { margin-top:8px; } }


/* Version 1.2.0: заметная подписка на новости */
.ofkm-header-subscribe {
  flex:0 0 auto;
  padding:10px 12px;
  color:#fff;
  background:var(--ofkm-red);
  font:600 11px/1 "Oswald",Impact,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ofkm-header-subscribe:hover { color:#fff; background:var(--ofkm-red-deep); }
@media (max-width:1080px) {
  .ofkm-header__inner { gap:18px; }
  .ofkm-menu,.ofkm-menu ul { gap:16px; }
  .ofkm-menu a { font-size:12px; }
}
@media (max-width:820px) {
  .ofkm-header-subscribe { margin-left:auto; }
}
@media (max-width:540px) {
  .ofkm-header-subscribe { padding:9px 10px; font-size:10px; }
}


/* Version 1.3.0: подтверждение аккредитации на первом экране */
.ofkm-hero__accreditation {
  display:flex;
  align-items:flex-start;
  gap:11px;
  max-width:620px;
  margin:0 0 24px;
  padding:12px 16px;
  border-left:4px solid var(--ofkm-red);
  background:rgba(18,22,31,.76);
  color:#f5f6f7;
  font-size:14px;
  line-height:1.42;
}
.ofkm-hero__accreditation svg {
  flex:0 0 21px;
  width:21px;
  height:21px;
  margin-top:1px;
  fill:#ffaaa7;
}
@media (max-width:540px) {
  .ofkm-hero__accreditation { margin-bottom:19px; padding:10px 12px; font-size:12px; }
  .ofkm-hero__accreditation svg { flex-basis:18px; width:18px; height:18px; }
}


/* Version 1.4.0 — главный слайдер и витрины главной страницы */
.ofkm-hero--slider { position:relative; display:block; width:100%; min-height:680px; overflow:hidden; background:none; }
.ofkm-hero--slider::before { display:none; }
.ofkm-hero__slides,.ofkm-hero__slide { width:100%; min-height:680px; }
.ofkm-hero__slides { position:relative; width:100%; }
.ofkm-hero__slide { position:absolute; inset:0; display:grid; align-items:center; padding:118px 0 110px; color:#fff; background-size:cover; opacity:0; pointer-events:none; transform:scale(1.025); transition:opacity .48s ease,transform .7s ease; }
.ofkm-hero__slide.is-active { position:relative; opacity:1; pointer-events:auto; transform:scale(1); }
.ofkm-hero__slide .ofkm-hero__content { position:relative; z-index:1; }
.ofkm-hero__slider-controls { position:absolute; z-index:3; right:0; bottom:42px; left:0; display:flex; align-items:center; justify-content:space-between; }
.ofkm-hero__dots { display:flex; gap:10px; align-items:center; }
.ofkm-hero__dots button { width:10px; height:10px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.45); cursor:pointer; transition:width .18s ease,background .18s ease; }
.ofkm-hero__dots button.is-active { width:34px; border-radius:12px; background:#fff; }
.ofkm-hero__arrows { display:flex; gap:10px; }
.ofkm-hero__arrows button { display:grid; width:58px; height:58px; place-items:center; border:1px solid rgba(255,255,255,.65); background:rgba(15,18,26,.26); color:#fff; font-size:30px; cursor:pointer; transition:background .18s ease,border-color .18s ease; }
.ofkm-hero__arrows button:hover,.ofkm-hero__arrows button:focus-visible { border-color:#e2473d; background:#e2473d; outline:0; }
.ofkm-grid--news-limited { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ofkm-event-tile__index { display:inline-flex; align-items:center; width:max-content; margin-bottom:12px; padding:4px 8px; background:rgba(226,71,61,.94); color:#fff; font-size:10px; font-weight:800; letter-spacing:.09em; }
.ofkm-event-tile__date { display:flex; flex-direction:column; align-items:flex-start; gap:2px; margin-bottom:10px; }
.ofkm-event-tile__date strong { display:block !important; font-family:"Oswald",Impact,sans-serif; font-size:46px; line-height:.82; letter-spacing:-.045em; }
.ofkm-event-tile__date span { font-size:13px; font-weight:700; line-height:1.05; text-transform:lowercase; }
.ofkm-event-tile__date small { display:block; font-size:12px; font-weight:700; line-height:1; }
.ofkm-home-club-panel__insights { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ofkm-line); background:#fff; }
.ofkm-home-club-panel__insights span { display:flex; gap:9px; align-items:center; min-height:72px; padding:16px 18px; border-right:1px solid var(--ofkm-line); color:#343845; font-size:12px; font-weight:700; }
.ofkm-home-club-panel__insights span:last-child { border-right:0; }
.ofkm-home-club-panel__insights b { color:var(--ofkm-red); font-size:19px; }
.ofkm-home-document-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ofkm-home-document-groups a { display:grid; grid-template-columns:70px minmax(0,1fr) 20px; gap:13px; align-items:center; min-height:85px; padding:16px 18px; border:1px solid var(--ofkm-line); background:#fff; color:var(--ofkm-ink); transition:border-color .18s ease,transform .18s ease; }
.ofkm-home-document-groups a:hover { border-color:var(--ofkm-red); transform:translateY(-2px); }
.ofkm-home-document-groups span { color:var(--ofkm-red); font-size:9px; font-weight:800; letter-spacing:.1em; }
.ofkm-home-document-groups strong { font-family:"Oswald",Impact,sans-serif; font-size:21px; line-height:1.05; text-transform:uppercase; }
.ofkm-home-document-groups i { color:var(--ofkm-red); font-size:22px; font-style:normal; }
.ofkm-athlete-banner { background-position:center 25% !important; }
@media (max-width:850px) {
  .ofkm-hero--slider,.ofkm-hero__slides,.ofkm-hero__slide { min-height:650px; }
  .ofkm-hero__slide { padding-top:104px; }
  .ofkm-grid--news-limited { grid-template-columns:1fr; }
  .ofkm-home-club-panel__insights { grid-template-columns:1fr; }
  .ofkm-home-club-panel__insights span { border-right:0; border-bottom:1px solid var(--ofkm-line); }
  .ofkm-home-club-panel__insights span:last-child { border-bottom:0; }
  .ofkm-home-document-groups { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .ofkm-hero--slider,.ofkm-hero__slides,.ofkm-hero__slide { min-height:720px; }
  .ofkm-hero__slide { padding:92px 0 110px; }
  .ofkm-hero__slider-controls { bottom:24px; }
  .ofkm-hero__arrows button { width:46px; height:46px; font-size:23px; }
  .ofkm-hero__dots { gap:7px; max-width:210px; flex-wrap:wrap; }
  .ofkm-hero__dots button { width:8px; height:8px; }
  .ofkm-hero__dots button.is-active { width:25px; }
  .ofkm-home-document-groups a { grid-template-columns:58px minmax(0,1fr) 16px; min-height:72px; padding:13px; }
  .ofkm-home-document-groups strong { font-size:18px; }
}


/* Version 1.4.0 — навигация в карточках новостей */
.ofkm-news-back { display:inline-flex; align-items:center; margin:0 0 19px; color:#fff; font:600 12px/1 Oswald,Impact,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.ofkm-news-back:hover { color:#ffaaa7; }
.ofkm-news-prose { max-width:900px; }
.ofkm-news-prose>img { width:100%; max-width:820px; margin:0 auto 34px; }.ofkm-event-date-inline { display:flex !important; flex-direction:column; align-items:flex-start; gap:2px; }.ofkm-event-date-inline b { font:700 30px/.85 Oswald,Impact,sans-serif; letter-spacing:-.04em; }.ofkm-event-date-inline span { margin:0; color:inherit; font:700 14px/1.05 Oswald,Impact,sans-serif; letter-spacing:0; text-transform:lowercase; }.ofkm-event-date-inline small { display:block; font:700 13px/1 Oswald,Impact,sans-serif; }.ofkm-news-documents { max-width:820px; margin:42px auto 0; padding-top:28px; border-top:1px solid var(--ofkm-line); }.ofkm-news-documents .ofkm-section-title { margin:8px 0 18px; font-size:40px; }.ofkm-news-documents .ofkm-doc-line { color:var(--ofkm-ink); border-top-color:var(--ofkm-line); }
.ofkm-news-pagination { padding:0 0 var(--ofkm-space); }
.ofkm-news-pagination>.ofkm-shell { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ofkm-news-pagination a { min-height:112px; padding:20px; border:1px solid var(--ofkm-line); background:#fff; transition:border-color .18s ease,transform .18s ease; }
.ofkm-news-pagination a:hover { border-color:var(--ofkm-red); transform:translateY(-2px); }
.ofkm-news-pagination__next { text-align:right; }
.ofkm-news-pagination span { display:block; color:var(--ofkm-red); font:600 11px/1 Oswald,Impact,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.ofkm-news-pagination strong { display:block; margin-top:10px; font:700 24px/1.02 Oswald,Impact,sans-serif; text-transform:uppercase; }
@media (max-width:620px) { .ofkm-news-pagination>.ofkm-shell { grid-template-columns:1fr; }.ofkm-news-pagination a { min-height:88px; }.ofkm-news-pagination strong { font-size:20px; } }

/* Version 1.4.0 — календарь опубликованных мероприятий */
.ofkm-events-calendar-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.ofkm-events-calendar-head nav { display:flex; gap:7px; }
.ofkm-events-calendar-head nav a { display:grid; place-items:center; width:46px; height:46px; background:var(--ofkm-dark); color:#fff; font:700 25px/1 Arial,sans-serif; }
.ofkm-events-calendar-head nav a:hover { background:var(--ofkm-red); }
.ofkm-events-calendar { overflow:hidden; border:1px solid var(--ofkm-line); background:#fff; }
.ofkm-events-calendar__weekdays,.ofkm-events-calendar__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.ofkm-events-calendar__weekdays { background:#f0f1f3; }
.ofkm-events-calendar__weekdays span { padding:10px 8px; color:var(--ofkm-muted); font:600 11px/1 Oswald,Impact,sans-serif; letter-spacing:.06em; text-align:center; text-transform:uppercase; }
.ofkm-events-calendar__day,.ofkm-events-calendar__blank { min-height:108px; padding:9px; border-right:1px solid var(--ofkm-line); border-top:1px solid var(--ofkm-line); }
.ofkm-events-calendar__day:nth-child(7n) { border-right:0; }
.ofkm-events-calendar__day>b { display:block; margin-bottom:7px; color:var(--ofkm-dark); font:700 16px/1 Oswald,Impact,sans-serif; }
.ofkm-events-calendar__day.is-active { background:#fff8f8; }
.ofkm-events-calendar__day.is-active>b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--ofkm-red); color:#fff; }
.ofkm-events-calendar__day.is-today { box-shadow:inset 0 0 0 2px var(--ofkm-dark); }
.ofkm-events-calendar__day a { display:block; overflow:hidden; margin-top:4px; color:var(--ofkm-dark); font:600 10px/1.15 Oswald,Impact,sans-serif; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.ofkm-events-calendar__day a:hover { color:var(--ofkm-red); }
.ofkm-events-calendar-legend { display:flex; flex-wrap:wrap; gap:18px 30px; margin:13px 0 40px; color:var(--ofkm-muted); font-size:12px; }
.ofkm-events-calendar-legend i { display:inline-block; width:10px; height:10px; margin-right:5px; border-radius:50%; background:var(--ofkm-red); }
@media (max-width:700px) { .ofkm-events-calendar__day,.ofkm-events-calendar__blank { min-height:73px; padding:6px; }.ofkm-events-calendar__day a { display:none; }.ofkm-events-calendar__day.is-active:after { display:block; width:6px; height:6px; margin:5px auto 0; border-radius:50%; background:var(--ofkm-red); content:''; }.ofkm-events-calendar__weekdays span { padding:9px 2px; font-size:10px; }.ofkm-events-calendar-head { align-items:start; }.ofkm-events-calendar-head .ofkm-section-title { font-size:36px; } }

/* Version 1.4.0 — карточка мероприятия */
.ofkm-event-detail { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr); gap:48px; }
.ofkm-detail-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:28px 0 34px; background:var(--ofkm-line); }
.ofkm-detail-facts>div { min-height:104px; padding:18px; background:#fff; }
.ofkm-detail-facts span { display:block; margin-bottom:8px; color:var(--ofkm-muted); font:600 10px/1 Oswald,Impact,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.ofkm-detail-facts strong { display:block; font:700 20px/1.1 Oswald,Impact,sans-serif; text-transform:uppercase; }
.ofkm-document-card { align-self:start; padding:28px; background:var(--ofkm-dark); color:#fff; }
.ofkm-document-card h2 { margin:9px 0 20px; font:700 34px/.92 Oswald,Impact,sans-serif; text-transform:uppercase; }
.ofkm-document-card .ofkm-eyebrow { color:#ffaaa7; }
.ofkm-doc-line { display:grid; grid-template-columns:42px minmax(0,1fr) 18px; gap:11px; align-items:center; min-height:65px; padding:11px 0; border-top:1px solid currentColor; color:inherit; }
.ofkm-doc-line span { display:grid; place-items:center; width:35px; height:35px; background:var(--ofkm-red); color:#fff; font-size:9px; font-weight:800; }
.ofkm-doc-line b { font-size:13px; line-height:1.3; }
.ofkm-doc-line em { color:var(--ofkm-red); font-size:20px; font-style:normal; }
.ofkm-document-card p { color:#d6dbe1; font-size:13px; }
.ofkm-event-results { max-width:820px; border-bottom:1px solid var(--ofkm-line); }
.ofkm-event-results .ofkm-doc-line { color:var(--ofkm-ink); border-top-color:var(--ofkm-line); }
.ofkm-event-results p { color:var(--ofkm-muted); }
.ofkm-event-pagination { padding-top:0; }
@media (max-width:850px) { .ofkm-event-detail { grid-template-columns:1fr; gap:28px; }.ofkm-document-card { max-width:680px; } }
@media (max-width:540px) { .ofkm-detail-facts { grid-template-columns:1fr; }.ofkm-detail-facts>div { min-height:0; }.ofkm-document-card { padding:22px; }.ofkm-document-card h2 { font-size:30px; } }

/* Version 1.4.2 — полноширинный и компактный первый экран на мониторах */
@media (min-width:1101px) {
  .ofkm-hero--slider,
  .ofkm-hero--slider .ofkm-hero__slides,
  .ofkm-hero--slider .ofkm-hero__slide { min-height:clamp(500px,56vh,610px); }
  .ofkm-hero--slider .ofkm-hero__slide { padding:78px 0 88px; }
  .ofkm-hero--slider .ofkm-hero__slider-controls { bottom:28px; }
}


/* Version 1.4.5: единый формат дат в анонсах мероприятий */
.ofkm-event-tile__date {
  align-items:flex-start;
  flex-direction:column;
  gap:5px;
}
.ofkm-event-tile__date strong {
  letter-spacing:-.045em;
  line-height:.84;
  white-space:nowrap;
}
.ofkm-event-tile__date span {
  color:inherit;
  font:700 12px/1 "Oswald",Impact,sans-serif;
  letter-spacing:.04em;
  white-space:nowrap;
}

/* Версия 1.5.7: семантические заголовки не меняют визуальный стиль слайдов баннера. */
.ofkm-hero__title { max-width:540px; margin:12px 0 0; font-family:"Oswald",Impact,sans-serif; font-size:clamp(66px,7.6vw,112px); font-weight:700; letter-spacing:-.025em; line-height:.88; text-transform:uppercase; }
@media (max-width:540px) { .ofkm-hero__title { font-size:68px; } }


/* Баннерные фотографии из редакционной подборки: мобильный hero сохраняет высоту кадра. */
@media (max-width:620px) {
  .ofkm-hero--slider,
  .ofkm-hero__slides,
  .ofkm-hero__slide { min-height:clamp(650px,70vh,780px); }
}

/* ─── Ссылка на турнир «Звёзды столицы» в подвале ─── */
.ofkm-stars { display:inline-flex !important; align-items:center; gap:10px; margin-top:30px; padding:10px 16px 10px 10px; border:1px solid rgba(255,61,0,.4); background:rgba(255,61,0,.07); border-radius:999px; text-decoration:none; transition:background .2s ease, border-color .2s ease; }
.ofkm-stars:hover { background:rgba(255,61,0,.14); border-color:#ff3d00; }
.ofkm-stars img { width:32px; height:32px; object-fit:contain; border-radius:50%; flex-shrink:0; }
.ofkm-stars span { display:block; font-size:10px; line-height:1.35; color:#b9bec6; }
.ofkm-stars span b { display:block; margin:0 0 1px; color:#fff; font-family:"Oswald",Impact,sans-serif; font-size:15px; font-weight:600; letter-spacing:.04em; }
.ofkm-stars:hover span b { color:#ff3d00; }

/* Нижняя строка подвала: ссылки в один ряд с копирайтом */
.ofkm-footer__bottom a { display:inline; margin:0; font-size:inherit; }
