/*
Theme Name: Legal Family Office
Theme URI: https://lfoffice.ru/
Author: Legal Family Office
Author URI: https://lfoffice.ru/
Description: Премиальная корпоративная тема для юридической компании Legal Family Office. Block Theme (FSE) с поддержкой кастомных типов записей: Юристы, Кейсы, Услуги. Сохраняет полную визуальную идентичность статической версии сайта.
Version: 1.9.3
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: legal-family-office
Tags: block-theme, full-site-editing, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, rtl-language-support
*/

/* === Стили темы ============================================ */
/* Основные стили подгружаются через assets/styles.css         */
/* (см. inc/enqueue.php). Этот файл нужен исключительно для    */
/* регистрации темы в WordPress.                               */
/* =========================================================== */

/* Минимальные правки для админ-бара WordPress, чтобы он не    */
/* перекрывал фиксированную навигацию сайта.                   */
.admin-bar .nav { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .nav { top: 46px; }
}

/* WP-классы выравнивания и подписи (на случай вставок из      */
/* редактора Gutenberg)                                        */
.alignleft   { float: left;  margin: 0 1.5em 1em 0; }
.alignright  { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption  { max-width: 100%; }
.wp-caption-text,
.gallery-caption { font-size: 0.85em; color: var(--text-muted); text-align: center; }
.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); -webkit-clip-path: inset(50%); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}

/* =========================================================== */
/*  Снятие WP-«constrained»-зажима — секции и блоки на всю      */
/*  ширину, тема использует свою сетку .container/.grid.        */
/* =========================================================== */
.wp-site-blocks > *,
main > .wp-block-group > *,
main.wp-block-group > *,
.lfo-page-main > * { max-width: none !important; }

/* main без отступа для главной (hero сам имеет padding-top).   */
/* Внутренние страницы — отступ под фиксированную шапку.        */
.lfo-page-main { padding-top: 110px; }
@media (max-width: 900px) {
  .lfo-page-main { padding-top: 80px; }
}

/* =========================================================== */
/*  Мобильные фиксы — схлопывание вложенных 2-кол. сеток       */
/*  с inline-стилями (training, contact, about и т.п.)         */
/* =========================================================== */
@media (max-width: 760px) {
  /* Любые inline `grid-template-columns:1fr 1fr` внутри секций */
  section [style*="grid-template-columns:1fr 1fr"],
  section [style*="grid-template-columns: 1fr 1fr"],
  section [style*="grid-template-columns:1fr 1.2fr"],
  section [style*="grid-template-columns:1fr 1.4fr"],
  section [style*="grid-template-columns:1.2fr 1fr"],
  section [style*="grid-template-columns:1fr 2fr"],
  section [style*="grid-template-columns:1.25fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  /* Большие inline-gaps на мобильных — режем */
  section [style*="gap:80px"]  { gap: 32px !important; }
  section [style*="gap:64px"]  { gap: 28px !important; }
  section [style*="gap: 80px"] { gap: 32px !important; }

  /* Длинные заголовки переносим по слогам и не даём вылезать */
  h1, h2, h3 { overflow-wrap: anywhere; word-break: normal; hyphens: auto; }

  /* Картинки внутри inline-grid не должны держать минимальную ширину */
  section [style*="display:grid"] img { width: 100%; height: auto; }

  /* Aspect-ratio 4:5 у Macarова-блока на узком экране становится 1:1 */
  section [style*="aspect-ratio:4/5"] { aspect-ratio: 4 / 5; max-width: 360px; margin: 0 auto; }
}

/* Узкие экраны — стек таблиц "Для кого" и подобных карточек */
@media (max-width: 560px) {
  .programs-grid { grid-template-columns: 1fr !important; }
  .program-meta  { grid-template-columns: 1fr 1fr !important; }
}

/* =========================================================== */
/*  Query Loop tweaks — Кейсы / Команда                         */
/* =========================================================== */
.lfo-cases-query .wp-block-post-template,
.lfo-team-query  .wp-block-post-template {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 32px !important;
}
.lfo-cases-query .wp-block-post-template > li,
.lfo-team-query  .wp-block-post-template > li {
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
}
.lfo-cases-query .wp-block-post-template > li > .case-card,
.lfo-team-query  .wp-block-post-template > li > .team-card { height: 100%; }

/* На узких экранах — одна колонка */
@media (max-width: 900px) {
  .lfo-cases-query .wp-block-post-template,
  .lfo-team-query  .wp-block-post-template { grid-template-columns: 1fr !important; }
}

/* Контейнер обёрнут вокруг Query Loop через wp:html. Сам блок query —
   на всю ширину, поэтому ограничим max-width у обёртки. */
.lfo-cases-query { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad-x); }
.lfo-team-query  { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad-x); }
