/* Этот сайт использует флюш-лефт конвенцию для контента (хлебные крошки,
   article-grid и т.д.), а не центрирование. Общее правило в
   wp-theme-starter/style.css центрирует .pbn-site-header через
   margin:auto — переопределяем на флюш-лефт, иначе хедер не совпадает с
   остальным контентом на широких экранах. */
.pbn-site-header {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* ================= HEADER: двухуровневый — тонкая утилитарная полоса
   сверху (тег/навигация "Обо мне · Контакты"/поиск) + основная строка
   (логотип слева, разделы справа) ================= */

.pbn-header-utility {
    font-size: 12.5px;
}

/* Фон полосы (.pbn-header-utility, surface-цвет) должен тянуться на весь
   экран, а вот сам контент внутри — ограничен как остальной сайт, иначе
   на широких мониторах текст/ссылки уезжают к самым краям экрана. */
.pbn-header-utility-inner {
    max-width: var(--wp--style--global--wide-size);
    margin-left: 0 !important;
    margin-right: auto !important;
    width: 100%;
}

.pbn-header-utility-tag {
    color: var(--wp--preset--color--text-muted);
    margin: 0 !important;
}

.pbn-header-utility-right {
    gap: 20px;
    align-items: center;
}

.pbn-header-utility-right .wp-block-navigation {
    gap: 18px;
}

.pbn-header-utility-right .wp-block-navigation a {
    color: var(--wp--preset--color--text-muted);
    text-decoration: none;
}

.pbn-header-utility-right .wp-block-navigation a:hover {
    color: var(--wp--preset--color--accent);
}

.pbn-header-search {
    display: flex;
    align-items: center;
    color: var(--wp--preset--color--text-muted);
}

.pbn-header-search:hover {
    color: var(--wp--preset--color--accent);
}

.pbn-header-brand {
    gap: 10px;
    align-items: center;
}

.pbn-site-header .wp-block-navigation {
    gap: 28px;
}

.pbn-site-header .wp-block-navigation a,
.pbn-site-header .wp-block-navigation .wp-block-navigation-item {
    font-size: 13.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

@media (max-width: 700px) {
    .pbn-header-utility-tag { display: none; }
}

/* ================= FOOTER: лого+текст слева, ссылки справа ================= */

.pbn-footer-grid {
    align-items: flex-start;
    margin-bottom: 44px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.pbn-footer-cols {
    gap: 56px;
}

.pbn-footer-cols h6.wp-block-heading {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #9C9585;
    margin: 0 0 14px !important;
}

.pbn-footer-cols ul {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pbn-footer-cols li {
    margin: 0;
}

.pbn-footer-cols a {
    color: var(--wp--preset--color--footer-text) !important;
    text-decoration: none;
    font-size: 14px;
}

.pbn-footer-cols a:hover {
    color: #fff !important;
}

.pbn-footer-brand-col {
    text-align: left;
}

.pbn-footer-brand {
    gap: 10px;
    margin-bottom: 10px !important;
    align-items: center !important;
}

.pbn-footer-brand a {
    color: #fff !important;
    text-decoration: none;
}

.pbn-footer-tagline {
    font-size: 13px;
    color: #B99BA5;
    max-width: 280px;
    margin-left: 0 !important;
}

@media (max-width: 900px) {
    .pbn-footer-grid { flex-direction: column; gap: 32px; }
}

/* ================= HERO: заголовок + схема + статистика ================= */

.pbn-hero-grid {
    display: grid;
    grid-template-columns: 1fr 0.92fr;
    gap: 56px;
    align-items: center;
}

.pbn-hero-grid > * {
    margin-top: 0 !important;
}

.pbn-hero-tag {
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--wp--preset--color--accent);
    font-weight: 700;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

.pbn-hero-title {
    font-size: 50px;
    line-height: 1.08;
    letter-spacing: -0.01em;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
}

.pbn-hero-subtitle {
    font-size: 16.5px;
    color: var(--wp--preset--color--text-muted);
    max-width: 460px;
    line-height: 1.6;
    margin-top: 0 !important;
    margin-bottom: 30px !important;
}

.pbn-hero-cta .wp-block-button__link {
    background: none !important;
    color: var(--wp--preset--color--text) !important;
    border-bottom: 2px solid var(--wp--preset--color--text);
    border-radius: 0;
    padding: 0 0 6px !important;
    font-weight: 700;
    font-size: 14px;
}

.pbn-hero-diagram-card {
    background: #fff;
    border: 1px solid var(--wp--preset--color--border);
    padding: 28px;
}

.pbn-hero-diagram-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wp--preset--color--text-muted);
    font-weight: 700;
    margin-bottom: 16px;
}

.pbn-hero-diagram-note {
    font-size: 12px;
    color: var(--wp--preset--color--text-muted);
    margin-top: 4px;
}

.pbn-hero-stats {
    display: flex;
    margin-top: 30px !important;
    border-top: 1px solid var(--wp--preset--color--text);
    border-bottom: 1px solid var(--wp--preset--color--text);
    padding: 26px 0;
}

.pbn-hero-stat {
    flex: 1;
    padding: 0 28px;
    border-left: 1px solid var(--wp--preset--color--border);
    margin-top: 0 !important;
}

.pbn-hero-stat:first-child {
    border-left: none;
    padding-left: 0;
}

.pbn-hero-stat-num {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 32px;
    font-weight: 700;
    color: var(--wp--preset--color--accent);
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.pbn-hero-stat-label {
    font-size: 12.5px;
    color: var(--wp--preset--color--text-muted);
    margin-top: 4px !important;
    margin-bottom: 0 !important;
}

@media (max-width: 900px) {
    .pbn-hero-grid { grid-template-columns: 1fr; }
    .pbn-hero-title { font-size: 36px; }
    .pbn-hero-stats { flex-direction: column; padding: 0; }
    .pbn-hero-stat { border-left: none; border-top: 1px solid var(--wp--preset--color--border); padding: 20px 0; }
    .pbn-hero-stat:first-child { border-top: none; }
}

/* ================= CATEGORIES LIST (главная) ================= */

.pbn-cat-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid var(--wp--preset--color--border);
    margin-top: 28px !important;
}

.pbn-cat-list > * {
    margin-top: 0 !important;
}

.pbn-cat-list-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 20px 20px 0;
    border-bottom: 1px solid var(--wp--preset--color--border);
    color: inherit;
    text-decoration: none;
}

.pbn-cat-list-item svg {
    flex-shrink: 0;
}

.pbn-cat-list-item span {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 17px;
}

@media (max-width: 700px) {
    .pbn-cat-list { grid-template-columns: 1fr; }
}

/* ================= METHODOLOGY BLOCK (главная) ================= */

/* Найдено через прямое измерение DOM (getBoundingClientRect по всей цепочке
   родителей): обычная (не alignfull) top-level секция типа .pbn-hero-wrap
   получает ДВОЙНОЙ отступ слева — 20px от .wp-site-blocks (глобальный
   root-паддинг темы) + ещё 20px от собственного has-global-padding, итого
   40px. А alignfull-обёртка (эта секция, цветной фон во всю ширину) СБЕГАЕТ
   от паддинга .wp-site-blocks через отрицательный margin (стандартный трюк
   WP-ядра для alignfull), и у нас остаётся только её собственные 20px —
   левый край всей секции на 20px левее остальных секций главной. Раньше
   на 1920px это визуально совпадало (просто по случайному совпадению чисел
   на этой ширине), а на 1440px — нет. Компенсируем явно паддингом обёртки,
   а не пытаемся подвинуть саму grid-колонку (той уже некуда двигаться —
   она и так растягивается на всю доступную ширину родителя). */
.pbn-methodology-band {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

.pbn-methodology-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 48px;
    align-items: center;
    padding: 56px 0;
    max-width: var(--wp--style--global--wide-size) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.pbn-methodology-grid > * {
    margin-top: 0 !important;
}

.pbn-methodology-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
    border: 1px solid var(--wp--preset--color--border);
}

.pbn-methodology-eyebrow {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wp--preset--color--accent);
    font-weight: 700;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

.pbn-methodology-title {
    font-size: 26px;
    line-height: 1.25;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

.pbn-methodology-p {
    font-size: 15.5px;
    color: var(--wp--preset--color--text-muted);
    line-height: 1.6;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 900px) {
    .pbn-methodology-grid { grid-template-columns: 1fr; }
}

/* ================= LATEST POSTS: строки ================= */

.pbn-latest-rows .wp-block-post-template > * {
    margin-top: 0 !important;
}

.pbn-latest-row {
    display: grid;
    grid-template-columns: 90px 1fr 140px;
    gap: 24px;
    align-items: center;
    padding: 22px 0;
    border-bottom: 1px solid var(--wp--preset--color--border);
    margin-top: 0 !important;
}

.pbn-latest-row > * {
    margin-top: 0 !important;
}

.pbn-latest-row-date {
    font-size: 12px;
    color: var(--wp--preset--color--text-muted);
    margin: 0 !important;
}

.pbn-latest-row-cat {
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--wp--preset--color--accent);
    margin-bottom: 6px !important;
    display: block;
}

.pbn-latest-row-title {
    font-size: 19px;
    margin: 0 !important;
}

.pbn-latest-row-thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
}

@media (max-width: 700px) {
    .pbn-latest-row { grid-template-columns: 1fr; }
    .pbn-latest-row-thumb { order: -1; }
}

/* ================= SEO BLOCK: pull-quote флюш-лефт ================= */

.pbn-seo-pull-quote {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 26px;
    line-height: 1.4;
    max-width: 820px;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

.pbn-seo-closing {
    font-size: 15.5px;
    color: var(--wp--preset--color--text-muted);
    max-width: 680px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ================= AUTHOR PAGE ================= */

.pbn-author-grid {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 56px;
    align-items: start;
}

.pbn-author-grid > * {
    margin-top: 0 !important;
}

.pbn-author-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    border: 1px solid var(--wp--preset--color--border);
}

.pbn-author-eyebrow {
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wp--preset--color--accent);
    font-weight: 700;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

.pbn-author-name {
    font-size: 46px;
    line-height: 1.08;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

.pbn-author-role {
    font-size: 15.5px;
    color: var(--wp--preset--color--text-muted);
    margin-top: 0 !important;
    margin-bottom: 28px !important;
}

.pbn-author-p {
    font-size: 16px;
    max-width: 600px;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    line-height: 1.7;
}

.pbn-author-p-muted {
    color: var(--wp--preset--color--text-muted);
}

.pbn-author-quote {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 26px;
    line-height: 1.4;
    max-width: 760px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

@media (max-width: 900px) {
    .pbn-author-grid { grid-template-columns: 1fr; }
    .pbn-author-photo { max-width: 280px; }
}

/* ================= ARTICLE (single) ================= */

.pbn-breadcrumbs {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Тот же баг ещё раз, теперь на общем шаблоне page.html (Обо мне/Контакты/
   Конфиденциальность): хлебные крошки — флюш-лефт (правило выше), а <main>
   с post-title/post-content — обычный центрированный wide-size, поэтому
   выше ~1420px они расходятся. Приводим main к той же схеме. */
.pbn-page-main {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.pbn-page-main > * {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Тот же баг на archive.html (страница категории): хлебные крошки —
   флюш-лефт, а заголовок рубрики и список постов — центрированы. */
.pbn-cat-header,
.pbn-cat-list-wrap {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.pbn-article-head > * {
    margin-left: 0 !important;
    margin-right: auto !important;
    margin-top: 0 !important;
}

.pbn-article-eyebrow {
    font-size: 12.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--wp--preset--color--accent);
    margin-bottom: 14px !important;
    display: block;
}

.pbn-article-title {
    font-size: 40px;
    line-height: 1.14;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

.pbn-article-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
}

.pbn-article-grid > * {
    margin-top: 0 !important;
}

/* .pbn-article-grid, .pbn-share-wrapper и блок "похожие посты" — прямые
   дети wide-size constrained группы, поэтому WP-ядро их центрирует
   (margin-inline:auto), тогда как хлебные крошки/заголовок/комменты
   выше и ниже прижаты к левому краю (см. .pbn-article-head > * выше).
   На узких экранах wide-size обрезается до ширины страницы и разница не
   видна, но на широких (>~1400px) центрированные блоки уезжают вправо
   относительно флюш-лефт заголовка — эффект "шахматки". Приводим к
   единой схеме (флюш-лефт). */
.pbn-article-grid,
.pbn-share-wrapper,
.pbn-related-posts-section {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Фото статьи — на всю ширину колонки текста (не узкая плашка): фото у нас
   теперь качественные (Nano Banana Pro), нет причин их обрезать. */
.pbn-article-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
    margin-bottom: 24px;
}

.pbn-article-body {
    max-width: 680px;
}

.pbn-article-body .wp-block-post-content > * + * {
    margin-top: 22px;
}

.pbn-article-body h2 {
    font-size: 24px;
    margin-top: 8px !important;
}

.pbn-article-body blockquote {
    background: var(--wp--preset--color--surface);
    border-left: 4px solid var(--wp--preset--color--accent);
    padding: 24px 28px;
    margin: 8px 0 !important;
}

.pbn-article-body blockquote p {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 21px;
    line-height: 1.4;
    margin: 0 !important;
}

.pbn-article-body table th,
.pbn-article-body table td {
    border-bottom-color: var(--wp--preset--color--border);
}

.pbn-article-aside {
    background: #fff;
    border: 1px solid var(--wp--preset--color--border);
    padding: 24px;
    position: sticky;
    top: 24px;
}

@media (max-width: 900px) {
    .pbn-article-grid { grid-template-columns: 1fr; }
    .pbn-article-aside { position: static; }
}

.pbn-comments-wrap > * {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* ================= CATEGORY ARCHIVE ================= */

.pbn-cat-header-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 32px;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.pbn-cat-rows {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.pbn-cat-header-row > * {
    margin-top: 0 !important;
}

.pbn-cat-eyebrow {
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--wp--preset--color--accent);
    font-weight: 700;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.pbn-cat-title {
    font-size: 38px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.pbn-cat-desc-wrap {
    text-align: right;
    max-width: 380px;
}

.pbn-cat-desc-wrap > * {
    margin-top: 0 !important;
}

.pbn-cat-desc {
    font-size: 14.5px;
    color: var(--wp--preset--color--text-muted);
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.pbn-archive-count-num {
    display: inline;
}

.pbn-archive-count-label {
    display: inline;
    margin-left: 6px;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--wp--preset--color--accent);
}

.pbn-cat-rows .wp-block-post-template > * {
    margin-top: 0 !important;
}

.pbn-cat-row {
    display: grid;
    grid-template-columns: 100px 1fr 220px;
    gap: 28px;
    align-items: center;
    padding: 26px 0;
    border-bottom: 1px solid var(--wp--preset--color--border);
    margin-top: 0 !important;
}

.pbn-cat-row > * {
    margin-top: 0 !important;
}

.pbn-cat-row-date {
    font-size: 13px;
    color: var(--wp--preset--color--text-muted);
    margin: 0 !important;
}

.pbn-cat-row-text > * {
    margin-top: 0 !important;
}

.pbn-cat-row-title {
    font-size: 22px;
    line-height: 1.25;
    margin-bottom: 8px !important;
}

.pbn-cat-row-excerpt {
    font-size: 14px;
    color: var(--wp--preset--color--text-muted);
    margin: 0 !important;
}

.pbn-cat-row-thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
}

@media (max-width: 900px) {
    .pbn-cat-header-row { flex-direction: column; align-items: flex-start; }
    .pbn-cat-desc-wrap { text-align: left; max-width: 100%; }
    .pbn-cat-row { grid-template-columns: 80px 1fr; }
    .pbn-cat-row-thumb { display: none; }
}

/* ================= CONTACT FORM ================= */

.pbn-contact-form input,
.pbn-contact-form textarea {
    border: 1px solid var(--wp--preset--color--border);
    background: #fff;
    padding: 12px 14px;
}

.pbn-contact-form button,
.pbn-contact-form input[type="submit"] {
    background: var(--wp--preset--color--accent);
    color: #fff;
    border: none;
    padding: 15px;
    font-weight: 700;
}
