/*
Theme Name: iResonance
Theme URI: https://iresonance.com
Description: Дочерняя тема Astra для института iResonance – теплый академический минимализм премиум-класса. Слайс 1: каркас (токены + header + footer).
Author: iResonance
Template: astra
Version: 0.9.47
Text Domain: iresonance
*/

/* ===== Дизайн-токены (design-system.md) ===== */
:root{
  --ivory:#F7F3EC; --navy:#162133; --graphite:#333132;
  --gold:#CBA135; --champagne:#C9A27E; --platinum:#D4C5A9; --bronze:#8B6914; --night:#0D0B09;
  --radius-sm:8px; --radius-md:12px; --radius-lg:16px;
  --ff-head:"Playfair Display",Georgia,serif;
  --ff-accent:"Cormorant Garamond",Georgia,serif;
  --ff-body:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --content:720px; --wide:1200px;
}

/* ===== База ===== */
body{background:var(--ivory);color:var(--graphite);font-family:var(--ff-body);font-size:17px;line-height:1.7;}
h1,h2,h3,h4,.entry-title,.ast-archive-title{font-family:var(--ff-head);color:var(--navy);font-weight:600;line-height:1.35;}
h1{font-size:clamp(2.2rem,5vw,4.25rem);}   /* φ-шкала: ~68px max */
h2{font-size:clamp(1.7rem,3.5vw,2.6rem);}
h3{font-size:clamp(1.3rem,2.2vw,1.6rem);}
p,li{max-width:75ch;}
a{color:var(--bronze);text-underline-offset:.15em;}
a:hover{color:var(--gold);}
blockquote,.ires-accent{font-family:var(--ff-accent);font-style:italic;color:var(--gold);font-size:1.15em;}

/* ===== Кнопки и картинки – скругленные (правило Ивана) ===== */
.wp-block-button__link,.ast-custom-button,.button,button,input[type="submit"],.menu-toggle{
  border-radius:var(--radius-md);
}
.wp-block-button__link,.ast-custom-button,.button{
  background:var(--gold);color:var(--ivory);border:none;
  padding:.75em 1.7em;font-family:var(--ff-body);font-weight:600;letter-spacing:.01em;
  transition:background .2s ease;
}
.wp-block-button__link:hover,.ast-custom-button:hover,.button:hover{background:var(--bronze);color:var(--ivory);}
/* Дефолт-скругление картинок сайта. ⚠️ Если картинка маленькая (карточка, аватар, миниатюра) –
   этого правила НЕДОСТАТОЧНО (браузер оставляет светлую кайму сглаживания на скругленном углу) –
   нужна обертка с overflow:hidden + border-radius + transform:translateZ(0), а на самой img –
   border-radius:inherit. Рабочие примеры: assets/blog.css (.ires-card__cover, .ires-figure,
   .ires-author__photo), assets/landing.css (.ires-videoslot, .ires-author__photo). Правило
   закреплено Иваном 2026-07-21 – действует для ЛЮБОЙ картинки в теме, независимо от расположения. */
img,.wp-block-image img,.ast-article-post img{border-radius:var(--radius-lg);}

/* ===== Контейнер ===== */
.ast-container,.site-content .ast-container{max-width:var(--wide);}

/* ===== Header (стилизуем Astra) ===== */
.site-header,.ast-primary-header-bar,#masthead{background:var(--ivory);}
.site-title a,.site-title{font-family:var(--ff-head);color:var(--navy)!important;}
.main-header-menu a,.ast-builder-menu .menu-item a,.ast-header-navigation-wrap a{
  color:var(--graphite);font-family:var(--ff-body);font-weight:500;
}
.main-header-menu a:hover,.ast-builder-menu .menu-item a:hover{color:var(--gold);}

/* Выпадающий список рубрик под «Журналом».
   Разметку и раскрытие делает Astra (родительская тема) – рубрики добавлены
   дочерними пунктами меню, кода для этого не потребовалось. Здесь только приводим
   вид к бренду: у Astra дефолт белый, с чужим шрифтом и жесткой рамкой. */
.main-header-menu .sub-menu,
.ast-builder-menu .sub-menu{
  background:var(--ivory);
  border:1px solid rgba(139,105,20,.18);
  border-radius:var(--radius-md);
  box-shadow:0 14px 34px rgba(22,33,51,.10);
  padding:6px 0;
  overflow:hidden;
}
.main-header-menu .sub-menu .menu-item a,
.ast-builder-menu .sub-menu .menu-item a{
  font-family:var(--ff-body);
  font-size:.94rem;
  line-height:1.4;
  color:var(--graphite);
  padding:11px 20px;
  border:0;
  transition:background .18s ease,color .18s ease;
}
.main-header-menu .sub-menu .menu-item a:hover,
.ast-builder-menu .sub-menu .menu-item a:hover{
  color:var(--navy);
  background:rgba(203,161,53,.10);
}
/* тонкая золотая нить между пунктами, вместо рамки Astra */
.main-header-menu .sub-menu .menu-item + .menu-item a,
.ast-builder-menu .sub-menu .menu-item + .menu-item a{
  box-shadow:inset 0 1px 0 rgba(139,105,20,.12);
}
/* Доступность с клавиатуры: Astra раскрывает по hover, но пункт должен быть
   виден и при переходе табом – иначе подменю недостижимо без мыши. */
.main-header-menu .sub-menu a:focus-visible,
.ast-builder-menu .sub-menu a:focus-visible{
  outline:2px solid var(--gold); outline-offset:-2px;
}

/* На мобильном подменю – не карточка, а вложенный список внутри панели меню.
   Стили десктопной выпадашки там мешают: overflow:hidden обрезал третий пункт,
   тень и рамка выглядели «окном в окне». */
@media (max-width:921px){
  #ast-hf-mobile-menu .sub-menu{
    background:transparent;
    border:0; border-radius:0; box-shadow:none;
    overflow:visible; max-height:none; padding:0;
  }
  #ast-hf-mobile-menu .sub-menu .menu-item a{
    padding-left:34px;
    color:var(--graphite);
    box-shadow:none;
  }
  /* вертикальная золотая нить показывает вложенность вместо карточки */
  #ast-hf-mobile-menu .sub-menu{
    border-left:2px solid rgba(203,161,53,.35);
    margin-left:20px;
  }
}

/* ===== Крупные блоки-секции: скругление ===== */
/* Темные и тонированные блоки внутри страниц шли с прямыми углами, хотя карточки,
   картинки и таблицы вокруг скруглены – блок выпадал из общего языка форм.
   Радиус тот же, что у остальных элементов (--radius-lg), намеренно: Иван просил
   привести «в соответствии со скруглениями других краев», а не сделать отдельный.
   overflow:hidden – по правилу проекта (см. комментарий у img выше): любой контент
   внутри должен обрезаться по скруглению, иначе на углах остается светлая кайма. */
.ires-approach,
.ires-session,
.ires-finalcta,
.ires-trust,
.ires-sec--tint{
  border-radius:var(--radius-lg);
  overflow:hidden;
}

/* ===== Кнопка «наверх» (Astra) ===== */
/* Дефолт Astra – синий #046BD2 и радиус 2px, к палитре отношения не имеет. */
/* ⚠️ Тонкая золотая обводка обязательна: кнопка всплывает и над светлым контентом,
   и над СИНИМ подвалом – без нее на подвале navy-на-navy сливается, видна только стрелка. */
#ast-scroll-top{
  background:var(--navy);
  color:var(--ivory);
  border:1px solid rgba(203,161,53,.45);
  border-radius:var(--radius-md);
  box-shadow:0 6px 18px rgba(22,33,51,.22);
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
#ast-scroll-top:hover{
  background:var(--gold);
  color:var(--night);
  transform:translateY(-2px);
}
#ast-scroll-top:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px;
}

/* ===== Доверие-строка ===== */
.ires-trustbar{
  background:var(--navy);color:var(--champagne);font-family:var(--ff-body);
  font-size:13px;text-align:center;padding:9px 16px;letter-spacing:.02em;
}
.ires-trustbar strong{color:var(--gold);font-weight:600;}

/* ===== Footer (свой, Astra-футер прячем) ===== */
#colophon{display:none!important;}
.ires-footer{background:var(--navy);color:var(--champagne);padding:52px 16px 28px;font-family:var(--ff-body);font-size:14px;
  /* 2026-09-23/25: подвал был во всю ширину экрана и выбивался из остальных блоков.
     Теперь ширина как у блоков страницы выше: контейнер var(--wide) минус боковые поля
     контейнера Astra по 20px (= 1160px на десктопе), на узких экранах – те же 20px по краям.
     Скругление всех четырех углов – как у остальных крупных блоков (--radius-lg).
     Откат – удалить width, max-width, margin и border-radius. */
  width:calc(100% - 40px);max-width:calc(var(--wide) - 40px);margin:0 auto 24px;
  border-radius:var(--radius-lg);}
.ires-footer a{color:var(--champagne);text-decoration:none;}
.ires-footer a:hover{color:var(--gold);}
.ires-footer__cols{max-width:var(--landing-max,1100px);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.ires-footer h2{font-family:var(--ff-head);color:var(--gold);font-size:16px;margin:0 0 14px;font-weight:600;line-height:1.35;}
.ires-footer ul{list-style:none;margin:0;padding:0;}
.ires-footer li{margin:0 0 8px;max-width:none;}
.ires-footer__disc{
  max-width:var(--wide);margin:28px auto 0;padding-top:18px;
  border-top:1px solid rgba(203,161,53,.25);font-size:12.5px;color:var(--platinum);line-height:1.65;
}

/* ===== Липкая мобильная CTA =====
   Поведением управляет assets/lightbox.js: класс .is-managed он ставит сам, .is-visible –
   по мере прокрутки (появляется после ~25%, прячется у полноценного CTA-блока).
   Если скрипт не отработал – .is-managed не появится, и кнопка остается видимой всегда,
   как было раньше. Это намеренная безопасная деградация: без JS лучше показать CTA,
   чем спрятать его навсегда. */
.ires-mcta{display:none;}
@media (max-width:768px){
  .ires-footer__cols{grid-template-columns:1fr 1fr;gap:24px;}
  .ires-mcta{
    display:block;position:fixed;left:0;right:0;bottom:0;z-index:999;
    background:var(--gold);text-align:center;
    padding:13px 13px calc(13px + env(safe-area-inset-bottom));
    box-shadow:0 -2px 14px rgba(0,0,0,.18);
  }
  .ires-mcta a{display:block;min-height:44px;line-height:44px;color:var(--night);font-family:var(--ff-body);font-weight:700;text-decoration:none;letter-spacing:.02em;} /* night на gold ~8:1 (ivory на gold не проходил); 44px – минимальная область нажатия */
  /* под управлением скрипта: прячем за нижний край и выводим плавно */
  .ires-mcta.is-managed{transform:translateY(115%);transition:transform .28s ease;}
  .ires-mcta.is-managed.is-visible{transform:translateY(0);}
  body{padding-bottom:62px;}
  /* Кнопка «наверх» Astra делит с плашкой один угол экрана – поднимаем ее над плашкой,
     иначе плашка перекрывает больше половины кнопки и по ней не попасть. */
  #ast-scroll-top{bottom:84px;z-index:998;}
}
@media (prefers-reduced-motion:reduce){
  .ires-mcta.is-managed{transition:none;}
}

/* Юридическая строка подвала – мелко и ненавязчиво (образец: pr-cy.ru) */
.ires-footer-legal{ padding:14px 0 0; }
.ires-footer-legal__list{
  display:flex; flex-wrap:wrap; gap:6px 16px; list-style:none; margin:0; padding:0;
  font-family:var(--ff-body); font-size:12.5px;
}
.ires-footer-legal__list a{ color:var(--platinum); text-decoration:none; }
.ires-footer-legal__list a:hover{ color:var(--gold); text-decoration:underline; }
