/* Обёртка, которая ломает flex-строку */
.pbn-breadcrumbs-wrap{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;   /* ключевая строка */
  flex-basis: 100% !important;
  order: -1 !important;        /* ставим выше даты/автора */
}

/* Сами breadcrumbs — всегда отдельной строкой */
.pbn-breadcrumbs{
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px 0 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}

/* На случай, если родитель — flex-nowrap */
.wp-block-post-date,
.wp-block-post-author-name{
  flex-wrap: wrap !important;
}/* ===== Author Card ===== */
.pbn-author-card {
  font-size: 0.95rem;
  margin: 48px 0;
  padding: 32px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  box-sizing: border-box;
}

/* ===== Grid/Wrapper ===== */
.pbn-author-grid {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap; /* чтобы на узких экранах переносилось */
}

/* ===== Photo ===== */
.pbn-author-photo {
  flex: 0 0 auto;
  width: 120px;
  max-width: 25%;
  min-width: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pbn-author-photo img,
.pbn-author-photo-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

/* ===== Info ===== */
.pbn-author-info {
  flex: 1 1 200px; /* занимает оставшееся пространство */
  min-width: 150px;
  max-width: 720px;
}

.pbn-author-name {
  margin: 0 0 6px 0;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
}

.pbn-author-title {
  margin: 0 0 12px 0;
  font-size: 1rem;
  color: #666;
}

.pbn-author-contacts {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pbn-author-row a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  font-weight: 500;
  color: #111;
  text-decoration: none;
}

.pbn-author-row a:hover {
  text-decoration: underline;
}

/* ===== CTA ===== */
.pbn-author-cta {
  flex: 0 0 auto;
}

/* ✅ ПЕРЕПИСАНО: кнопка как CF7 Send */
.pbn-author-btn {
  /* important: ensure ALWAYS visible */
  display: inline-block !important;               /* было: inline-flex */
  visibility: visible !important;                 /* добавлено */
  opacity: 1 !important;                          /* добавлено */

  /* iOS/Android rendering */
  -webkit-appearance: none !important;            /* добавлено */
  appearance: none !important;                    /* добавлено */
  -webkit-text-fill-color: currentColor;          /* добавлено */
  touch-action: manipulation;                     /* добавлено */

  align-items: center;                            /* можно оставить, но уже не обяз. */
  justify-content: center;                        /* можно оставить, но уже не обяз. */

  min-width: 160px;
  min-height: 44px;                               /* добавлено (как в CF7) */

  padding: 12px 18px !important;                  /* было: 12px 20px */
  border: 0 !important;                           /* было: 2px solid #bbb */
  background-color: var(--wp--preset--color--primary, #111) !important; /* было: transparent */
  color: var(--wp--preset--color--white, #fff) !important;             /* было: #111 */

  font-size: 16px !important;                     /* было: 1rem */
  font-weight: 600 !important;                    /* было: 500 */
  line-height: 1.2 !important;                    /* добавлено */

  cursor: pointer;
  margin-top: 16px;
  text-decoration: none !important;

  border-radius: 8px !important;                  /* было: 4px */
  transition: filter .2s ease, transform .1s ease;/* было: all .2s ease */
}

/* ✅ ПЕРЕПИСАНО: hover как в форме */
.pbn-author-btn:hover {
  filter: brightness(0.95);                       /* было: background #111 + border-color */
}

/* ✅ ДОБАВЛЕНО: focus/active как в форме */
.pbn-author-btn:focus {
  outline: 2px solid rgba(255,255,255,.6);
  outline-offset: 2px;
}

.pbn-author-btn:active {
  transform: translateY(1px);
}

/* ===== Responsive ===== */

/* Tablet */
@media (max-width: 1024px) {
  .pbn-author-photo {
    width: 100px;
    max-width: 100px;
    margin-bottom: 12px;
  }

  .pbn-author-name {
    font-size: 1.3rem;
  }

  /* ✅ можно оставить, но чтобы совпадало с CF7 лучше не уменьшать padding/font */
  .pbn-author-btn {
    min-width: 140px;
    /* font-size: 0.95rem; */                      /* лучше УДАЛИТЬ/закомментировать */
    /* padding: 10px 16px; */                      /* лучше УДАЛИТЬ/закомментировать */
  }
}

/* Mobile */
@media (max-width: 640px) {
  .pbn-author-grid {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }

  .pbn-author-photo {
    width: 80px;
    max-width: 80px;
    margin: 0 auto 8px;
  }

  .pbn-author-info {
    width: 100%;
    flex: 1 1 100px;
    margin-bottom: 8px;
    text-align: center;
  }

  .pbn-author-contacts {
    align-items: center;
  }

  .pbn-author-row a {
    justify-content: center;
  }

  .pbn-author-cta {
    width: 100%;
    margin-top: 4px;
    display: flex;
    justify-content: center;
  }
}


/* Хедер: full width без “контентного” сужения */
.pbn-header-full .wp-block-group__inner-container{
  max-width: none !important;
}

/* Колонки в хедере: лого = авто, меню = 1fr, кнопки = авто */
.pbn-header-full .lower-header{
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 18px;
}

.pbn-header-full .logo-box{
  flex: 0 0 auto;
}

.pbn-header-full .nav-box{
  flex: 1 1 auto;
  min-width: 0; /* важно для корректного “сжатия” */
}

.pbn-header-full .btn-box{
  flex: 0 0 auto;
}

/* ряд меню внутри nav-box */
.pbn-nav-row{
  display:flex;
  align-items:center;
  gap: 18px;
  width:100%;
}

/* категории занимают весь остаток и режутся только когда реально не хватает */
.pbn-cat-nav{
  display:flex;
  align-items:center;
  gap: 18px;
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
}

.pbn-cat-link{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 260px;  /* чтобы очень длинные названия не убивали всё меню */
}

/* правый блок: ВСЕГДА справа */
.pbn-actions{
  display:flex;
  align-items:center;
  gap: 14px;
  margin-left: auto;
  flex: 0 0 auto;
  white-space: nowrap;
}

/* навигация внутри actions не должна растягиваться */
.pbn-actions .wp-block-navigation{
  flex: 0 0 auto;
}

.pbn-actions .wp-block-social-links{
  margin: 0;
}

/* Убираем стандартный gap у блока Columns (он и делает огромный отступ) */
.pbn-header-full .wp-block-columns.lower-header{
  gap: 0 !important;
  column-gap: 0 !important;
}

/* Делаем нормальный маленький отступ между колонкой лого и колонкой меню */
.pbn-header-full .logo-box{
  margin-right: 18px;
}

/* И (опционально) уменьшим внутренний gap в самом меню */
.pbn-nav-row{
  gap: 14px; /* было 18 */
}

/* Убираем принудительные 25%/55% от WP Columns */
.pbn-header-full .lower-header > .wp-block-column.logo-box{
  flex-basis: auto !important;
  width: auto !important;
}

.pbn-header-full .lower-header > .wp-block-column.nav-box{
  flex-basis: auto !important;
  width: auto !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* По умолчанию (десктоп) скрываем вставленные пункты категорий внутри navigation */
.pbn-header-full .wp-block-navigation .pbn-nav-cat{
  display: none;
}

/* Когда открыто мобильное меню — показываем */
.wp-block-navigation__responsive-container.is-menu-open .pbn-nav-cat{
  display: list-item;
}

/* Мобилка: скрываем категории в шапке (в строке рядом с лого) */
@media (max-width: 1199px){
  .pbn-cat-nav{
    display: none !important;
  }
}

/* MOBILE: скрываем название сайта, оставляем только логотип */
@media (max-width: 782px){
  .wp-block-site-title{
    display: none !important;
  }
}

/* ===== BURGER OVERLAY: всегда поверх страницы ===== */

/* 1) Оверлей меню */
.wp-block-navigation__responsive-container.is-menu-open{
  position: fixed !important;
  inset: 0 !important;
  background: var(--wp--preset--color--background) !important;
  opacity: 1 !important;
  z-index: 2147483647 !important; /* максимум */
}

/* 2) Внутренний контент меню тоже поверх */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
  position: relative !important;
  z-index: 2147483647 !important;
  opacity: 1 !important;
}

/* 3) Кнопка закрытия тоже поверх */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
  position: relative !important;
  z-index: 2147483647 !important;
}

/* 4) Сам header (иногда у темы z-index выше) — тоже поднимаем, чтобы клик работал */
header.wp-block-template-part{
  position: relative;
  z-index: 10;
}

/* 5) Ключ: когда меню открыто, принудительно опускаем контент страницы */
body:has(.wp-block-navigation__responsive-container.is-menu-open) main,
body:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-site-blocks{
  position: relative !important;
  z-index: 0 !important;
}


/* ===== Equal height cards ===== */

/* Важно: делаем именно flex для columns, чтобы "выровнять по высоте" */
.testimonial-sec .testimonial-cols.wp-block-columns {
  display: flex;
  align-items: stretch;
}

/* Каждый столбец — flex-контейнер */
.testimonial-sec .testimonial-cols.wp-block-columns > .wp-block-column {
  display: flex;
}

/* Карточка тянется на всю высоту столбца */
.testimonial-sec .testimonial-cols .testimonial-box {
  width: 100%;
  display: flex;
  flex-direction: column;
}

/* Имя/страна всегда внизу карточки */
.testimonial-sec .testimonial-cols .testimonial-box .testimonial-footer {
  margin-top: auto;
  padding-top: var(--wp--preset--spacing--20);
}


/* Equal height cards */
.testimonial-sec .testimonial-cols.wp-block-columns{
  display: flex;
  align-items: stretch;
}
.testimonial-sec .testimonial-cols.wp-block-columns > .wp-block-column{
  display: flex;
}
.testimonial-sec .testimonial-cols .testimonial-box{
  width: 100%;
  display: flex;
  flex-direction: column;
}
.testimonial-sec .testimonial-cols .testimonial-box .testimonial-footer{
  margin-top: auto;
  padding-top: var(--wp--preset--spacing--20);
}

/* Stars */
.testimonial-sec .pbn-stars{
  display: inline-flex;
  gap: 4px;
  align-items: center;
  line-height: 0;
  margin-bottom: var(--wp--preset--spacing--20);
}

.testimonial-sec .pbn-star{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.testimonial-sec .pbn-star__icon{
  width: 18px;
  height: 18px;
}

/* Жёлтые заполненные */
.testimonial-sec .pbn-star.is-filled .pbn-star__icon{
  fill: #f5c542;
}

/* Пустые (серые) */
.testimonial-sec .pbn-star.is-empty .pbn-star__icon{
  fill: #cfcfcf;
  opacity: 0.65;
}

.pbn-home-header {
    max-width: max-content;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.pbn-home__h1 {
    text-align: center;
}

/* === OUR LATEST ARTICLES: 3 columns grid === */
.latest-articles-sec .wp-block-post-template.latest-articles-grid{
  list-style: none;
  padding: 0;
  margin: 0;

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px 80px;
  align-items: start;
  justify-items: center;
}

/* убираем дефолтные отступы у li и заголовков */
.latest-articles-sec .latest-articles-grid > li{
  margin: 0 !important;
  padding: 0 !important;
}

.latest-articles-sec .wp-block-post-title{
  margin: 0 !important;
  text-align: center;
}

/* читабельность длинных заголовков */
.latest-articles-sec .wp-block-post-title a{
  display: inline-block;
  max-width: 34ch;
  line-height: 1.35;
  text-decoration: none;
  color: inherit;
  overflow-wrap: anywhere;
}

.latest-articles-sec .wp-block-post-title a:hover{
  text-decoration: underline;
}

/* адаптив */
@media (max-width: 1024px){
  .latest-articles-sec .wp-block-post-template.latest-articles-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 40px;
  }
}
@media (max-width: 640px){
  .latest-articles-sec .wp-block-post-template.latest-articles-grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* === Показать только первые 3 поста === */
.latest-articles-sec .latest-articles-grid > li{
  display: none;
}
.latest-articles-sec .latest-articles-grid > li:nth-child(-n+24){
  display: block;
}

/* раскрыто — показываем все */
.latest-articles-sec.is-expanded .latest-articles-grid > li{
  display: block;
}

/* === Read More button === */
.latest-articles-sec .latest-articles-more{
  margin-top: 34px;
  text-align: center;
}

/* кнопка исчезает после раскрытия */
.latest-articles-sec.is-expanded .latest-articles-more{
  display: none;
}

.latest-articles-sec .latest-articles-more .wp-block-button__link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  padding: 14px 26px;
  border-radius: 999px;

  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;

  background: rgba(255,255,255,.16);
  color: #fff;
  border: 1px solid rgba(255,255,255,.28);

  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.latest-articles-sec .latest-articles-more .wp-block-button__link:hover{
  background: rgba(255,255,255,.24);
  border-color: rgba(255,255,255,.42);
  transform: translateY(-1px);
}

.latest-articles-sec .latest-articles-more .wp-block-button__link:active{
  transform: translateY(0);
}

.latest-articles-sec .latest-articles-more .wp-block-button__link:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(255,255,255,.35);
}

.latest-articles-sec .latest-articles-more .wp-block-button__link::after{
  content: "→";
  font-size: 16px;
  line-height: 1;
  transform: translateY(-1px);
}


.pbn-ai-links{ margin: 18px 0 28px; }
.pbn-ai-links__inner{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.pbn-ai-btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px; border:1px solid rgba(0,0,0,.12);
  border-radius:999px; background:#fff; text-decoration:none; line-height:1;
}
.pbn-ai-btn:hover{ transform: translateY(-1px); box-shadow:0 6px 18px rgba(0,0,0,.08); }
.pbn-ai-btn__ico{ width:18px; height:18px; display:block; }
.pbn-ai-btn__text{ font-size:13px; font-weight:600; color:#000; white-space:nowrap; }


/* защита от вылезания элементов по ширине */
.pbn-author-card,
.pbn-author-card *{
  box-sizing: border-box;
}

/* чтобы flex-дети могли ужиматься (частая причина overflow) */
.pbn-author-grid,
.pbn-author-info,
.pbn-author-cta{
  min-width: 0;
}

/* сама кнопка не должна вылезать */
.pbn-author-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  max-width: 100%;
  white-space: normal;        /* разрешаем перенос */
  overflow-wrap: anywhere;    /* если слово/аббревиатура длинная */
  text-align: center;
}

/* узкие экраны: делаем кнопку на всю ширину */
@media (max-width: 420px){
  .pbn-author-grid{
    flex-direction: column;   /* если у тебя flex-grid */
    align-items: stretch;
  }

  .pbn-author-cta{
    width: 100%;
  }

  .pbn-author-btn{
    width: 100%;
    padding: 12px 16px;       /* чуть компактнее */
  }
}


/* ===== TOC widget styles ===== */
.pbn-toc-widget{
  background: var(--wp--preset--color--tertiary-bg-color);
  padding: var(--wp--preset--spacing--30);
  margin: 0 0 24px;
  border-bottom: 6px solid var(--wp--preset--color--primary);
}

.pbn-toc-title{
  text-align:center;
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 600;
}

.pbn-toc-list{
  margin: 0;
  padding-left: 36px;
  list-style: decimal;
}

.pbn-toc-list li{
  margin: 0 0 10px;
  margin-left: 10px;
}

.pbn-toc-list a{
  text-decoration: none;
}

.pbn-toc-list a:hover{
  text-decoration: underline;
}



.pbn-toc-widget{
  background: var(--wp--preset--color--tertiary-bg-color);
  padding: var(--wp--preset--spacing--30);
  margin: 0 0 24px;
  border-bottom: 6px solid var(--wp--preset--color--primary);
}

.pbn-toc-title{
  text-align:center;
  margin: 0 0 16px;
  font-size:24px;
  font-weight:700;
  color: var(--wp--preset--color--heading);
}

.pbn-toc-list{
  margin: 0;
  padding-left: 36px;
  list-style: decimal;
}

.pbn-toc-list li{
  margin: 0 0 10px;
}

.pbn-toc-empty-text{
  margin: 0;
  font-size: 14px;
  opacity: .75;
  text-align: center;
}

.pbn-toc-list a{ text-decoration:none; }
.pbn-toc-list a:hover{ text-decoration:underline; }




.footer-box.footer-box--centered {
  justify-content: center;
}

.footer-box.footer-box--centered > .wp-block-column {
  flex-grow: 0;
}

/* чтобы обе колонки имели нормальную ширину и могли центрироваться как группа */
.footer-box.footer-box--centered > .box-1 {
  flex-basis: 35%;
}

.footer-box.footer-box--centered > .box-2 {
  flex-basis: 35%;
}


/* =========================
   CONTACTS — CLEAN VERSION
   ========================= */

.pbn-contacts{ background:#fafafa; padding:44px 0 64px; }
.pbn-contacts__container{ max-width:1180px; margin:0 auto; padding:0 20px; }

.pbn-contacts__title{
  margin:0 0 22px;
  font-weight:800;
  font-size:56px;
  line-height:1.05;
  letter-spacing:-0.02em;
  color:#0b0b0b;
}

/* LEFT layout */
.pbn-contacts__leftRow{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

@media (min-width: 720px){
  .pbn-contacts__leftRow{
    grid-template-columns:320px 1fr;
    gap:22px;
    align-items:start;
  }
}

/* Map */
.pbn-contacts__map{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(16,16,16,.10);
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  aspect-ratio:1/1;
}
@media (min-width: 720px){
  .pbn-contacts__map{ width:320px; height:320px; aspect-ratio:auto; }
}
.pbn-contacts__map img, .pbn-contacts__map iframe{
  width:100%; height:100%; display:block; border:0; object-fit:cover;
}
.pbn-contacts__mapEmpty{ padding:24px; color:rgba(0,0,0,.55); }

/* Details */
.pbn-contacts__details{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.pbn-contacts__item{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.pbn-contacts__iconWrap{
  width:28px;
  height:28px;
  border-radius:10px;
  background:rgba(255,42,42,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  margin-top:2px;
}
.pbn-contacts__svg{ width:18px; height:18px; fill:#ff2a2a; }

.pbn-contacts__kv{ min-width:0; }
.pbn-contacts__k{
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(0,0,0,.50);
  margin-bottom:4px;
}
.pbn-contacts__v{
  font-size:20px;
  line-height:1.25;
  color:#111;
  text-decoration:none;
  word-break:break-word;
}
a.pbn-contacts__v:hover{ color:#6a6a6a; }

/* Author card */
.pbn-contacts__author{
  margin-top:6px;
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  background:#fff;
  border:1px solid rgba(16,16,16,.10);
  border-radius:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.pbn-contacts__authorPhoto{
  width:54px;
  height:54px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(0,0,0,.06);
  flex:0 0 auto;
}
.pbn-contacts__authorPhoto img{ width:100%; height:100%; object-fit:cover; display:block; }

.pbn-contacts__authorName{ font-weight:800; color:#111; line-height:1.2; }
.pbn-contacts__authorEmail, .pbn-contacts__authorLink{
  display:inline-block;
  margin-top:2px;
  font-size:14px;
  color:rgba(0,0,0,.70);
  text-decoration:none;
}
.pbn-contacts__authorEmail:hover, .pbn-contacts__authorLink:hover{ color:#6a6a6a; }

/* RIGHT */
.pbn-contacts__lead{
  margin:0 0 14px;
  font-weight:800;
  font-size:22px;
  line-height:1.25;
  color:#111;
  text-align:center;
}

//* ===== CF7 compact + stable ===== */

.pbn-contacts__form .wpcf7 form.wpcf7-form { margin: 0; }

/* wrapper */
.pbn-cf7{
  display:flex;
  flex-direction:column;
  gap:10px;                 /* маленькие отступы между полями */
}

/* CF7 иногда кладёт элементы в <p> — убираем */
.pbn-contacts__form .wpcf7 p{ margin:0 !important; }

/* ВАЖНО: hidden реально скрыть, даже если тема стилит input */
.pbn-contacts__form .wpcf7 input[type="hidden"],
.pbn-contacts__form .wpcf7 .wpcf7-form-control-wrap input[type="hidden"]{
  display:none !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}

/* inputs */
.pbn-contacts__form .wpcf7 input[type="text"],
.pbn-contacts__form .wpcf7 input[type="email"],
.pbn-contacts__form .wpcf7 input[type="tel"]{
  width:100%;
  box-sizing:border-box;
  background:#fff;
  border:1px solid rgba(16,16,16,.16);
  border-radius:12px;
  padding:12px 14px;
  font-size:16px;
  line-height:1.2;
  outline:none;
}

.pbn-contacts__form .wpcf7 input::placeholder{ color:rgba(16,16,16,.40); }

.pbn-contacts__form .wpcf7 input:focus{
  border-color:rgba(16,16,16,.26);
  box-shadow:0 0 0 3px rgba(161,172,160,.30);
}

/* terms + submit: на одном уровне */
.pbn-cf7__bottom{
  display:flex;
  align-items:center;       /* вот это важно */
  justify-content:space-between;
  gap:14px;
  margin-top:4px;
}

.pbn-cf7__terms{
  margin:0;
  font-size:12px;
  line-height:1.35;
  color:rgba(16,16,16,.55);

  /* чтобы стояло ровно по высоте с кнопкой */
  min-height:44px;
  display:flex;
  align-items:center;

  max-width:320px;
}

/* submit */
.pbn-contacts__form .wpcf7 input[type="submit"],
.pbn-contacts__form .wpcf7 button[type="submit"]{
  background:#0b0b0b !important;
  color:#fff !important;
  border:0 !important;
  border-radius:12px !important;
  height:44px !important;
  padding:0 20px !important;
  min-width:220px;
  font-size:13px !important;
  font-weight:800 !important;
  cursor:pointer;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
}

/* УСПЕХ/ОШИБКА: убрать “конский” отступ */
.pbn-contacts__form .wpcf7-response-output{
  margin:8px 0 0 !important;
  padding:10px 12px !important;
  border-radius:12px;
}

/* если CF7 рисует validation-tip с отступами */
.pbn-contacts__form .wpcf7-not-valid-tip{
  margin-top:6px;
  font-size:12px;
}

/* mobile */
@media (max-width:720px){
  .pbn-cf7{ gap:10px; }
  .pbn-cf7__bottom{ flex-direction:column; align-items:stretch; }
  .pbn-cf7__terms{ min-height:0; max-width:none; }
  .pbn-contacts__form .wpcf7 input[type="submit"],
  .pbn-contacts__form .wpcf7 button[type="submit"]{
    width:100% !important;
    min-width:0;
  }
}}

/* если карты нет — leftRow становится одной колонкой */
.pbn-contacts__leftRow--noMap{
  grid-template-columns: 1fr !important;
}

/* author card без фото тоже выглядит нормально */
.pbn-contacts__authorPhoto{
  width:54px;
  height:54px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(0,0,0,.06);
  flex:0 0 auto;
}
.pbn-contacts__authorPhoto img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* если фото отсутствует, карточка просто сдвинется — но можно уменьшить паддинг */
.pbn-contacts__author{
  gap:12px;
}

/* ===== Top contact card ===== */
.pbn-contacts__contactCard{
  border-radius:18px;
  border:1px solid rgba(16,16,16,.10);
  box-shadow:0 18px 50px rgba(0,0,0,.06);
  padding:22px;
  margin:0 0 28px;
}

.pbn-contacts__contactCardInner{
  display:flex;
  gap:18px;
  align-items:center;
}

.pbn-contacts__contactPhoto{
  width:110px;
  height:110px;
  border-radius:18px;
  overflow:hidden;
  background:rgba(0,0,0,.06);
  flex:0 0 auto;
}

.pbn-contacts__contactPhoto img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.pbn-contacts__contactName{
  font-weight:900;
  font-size:28px;
  line-height:1.15;
  color:#111;
}

.pbn-contacts__contactEmail,
.pbn-contacts__contactLink{
  display:inline-block;
  margin-top:6px;
  font-size:16px;
  color:rgba(0,0,0,.70);
  text-decoration:none;
}
.pbn-contacts__contactEmail:hover,
.pbn-contacts__contactLink:hover{ color:#6a6a6a; }

/* ===== Below: map/address left + form right ===== */
.pbn-contacts__grid2{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  align-items:start;
}

@media (min-width: 980px){
  .pbn-contacts__grid2{
    grid-template-columns:1.05fr 0.95fr;
    gap:48px;
  }
}

/* Mobile tweaks */
@media (max-width: 720px){
  .pbn-contacts__contactCardInner{
    flex-direction:column;
    align-items:flex-start;
  }
  .pbn-contacts__contactPhoto{
    width:100%;
    height:220px;
  }
}


.left-box-inner-cover,
.blog-inner-color-box {
    position: relative;
    cursor: pointer;
}

.left-box-inner-cover .wp-block-post-title a,
.left-box-inner-cover .wp-block-post-title a:visited,
.left-box-inner-cover .wp-block-post-title a:hover,
.blog-inner-color-box .wp-block-post-title a,
.blog-inner-color-box .wp-block-post-title a:visited,
.blog-inner-color-box .wp-block-post-title a:hover {
    color: #fff !important;
    text-decoration: none;
}

.left-box-inner-cover .wp-block-post-title a::after,
.blog-inner-color-box .wp-block-post-title a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
}

.left-box-inner-cover .wp-block-read-more,
.left-box-inner-cover .wp-block-read-more a,
.blog-inner-color-box .wp-block-read-more,
.blog-inner-color-box .wp-block-read-more a {
    position: relative;
    z-index: 10;
}


.left-box-inner-cover {
    position: relative;
}

.left-box-inner-cover .card-link {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.left-box-inner-cover .wp-block-cover__inner-container {
    position: relative;
    z-index: 3;
}