/*
 * Bloom: яркий журнал. Белый фон, маджента, жёлтые метки рубрик, графитовый текст.
 * Montserrat (заголовки) + Rubik (текст). Список записей — компактная сетка 4/2/1 с квадратными фото.
 */
:root {
  --bloom-magenta: #C2185B;
  --bloom-magenta-dark: #8E0F41;
  --bloom-yellow: #F9C80E;
  --bloom-ink: #2B2D31;
  --bloom-muted: #6B6E76;
  --bloom-line: #ECE7EA;
  --bloom-head: 'Montserrat', 'Arial Black', sans-serif;
  --bloom-text: 'Rubik', Arial, sans-serif;
}

/* База */
body {
  background: #fff;
  color: var(--bloom-ink);
  font-family: var(--bloom-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
}
h1, h2, h3, h4, h5, h6, .site-title {
  font-family: var(--bloom-head);
  font-weight: 800;
  color: var(--bloom-ink);
  letter-spacing: -0.01em;
}
a { color: var(--bloom-ink); }
a:hover, a:focus,
.post_title h2 a:hover, .post_title h2 a:focus { color: var(--bloom-magenta); }
.page-wrapper { overflow-x: clip; }

/* Шапка: белая, название слева, меню справа, снизу маджентовая полоса */
.general-header {
  background: #fff;
  border-bottom: 8px solid var(--bloom-magenta);
  box-shadow: 0 8px 0 var(--bloom-yellow);
  margin-bottom: 56px;
}
.general-header > .cm-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 22px;
  padding-bottom: 22px;
}
.general-header .logo-container { padding: 0; flex: 1 1 auto; min-width: 0; }
.general-header .logo-container .row { margin: 0; }
.general-header .logo-container .row > div { padding: 0; width: auto; max-width: none; flex: 1 1 auto; }
.general-header .logo { text-align: left; }
.general-header .site-title,
.general-header .site-title a {
  font-family: var(--bloom-head);
  font-weight: 800;
  font-size: 30px;
  line-height: 1.1;
  margin: 0;
  color: var(--bloom-ink);
  text-transform: lowercase;
}
.general-header .site-title a::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 10px;
  border-radius: 50%;
  background: var(--bloom-magenta);
  box-shadow: 8px -6px 0 -2px var(--bloom-yellow);
  vertical-align: 0.1em;
}
.general-header .site-title a:hover { color: var(--bloom-magenta); }
.general-header .site-description { display: none; }

.general-header .main-navigation {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}
.general-header .main-navigation .header-search-container,
.general-header .main-navigation .menu-toggle { display: none !important; }
.general-header .primary-navigation,
.general-header .primary-navigation > ul { display: block !important; background: transparent; }
.general-header .primary-navigation > ul { margin: 0; padding: 0; }
.general-header .primary-navigation > ul > li {
  display: inline-block;
  float: none;
  border: 0;
  background: transparent;
}
.general-header .primary-navigation > ul > li > a {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 999px;
  background: var(--bloom-magenta);
  color: #fff;
  font-family: var(--bloom-head);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.general-header .primary-navigation > ul > li > a:hover,
.general-header .primary-navigation > ul > li > a:focus { background: var(--bloom-ink); color: var(--bloom-yellow); }

/* H1 главной и /blog/ — на всю ширину сетки */
.portfolio-home-h1 {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0 0 8px;
  padding: 0 0 18px;
  font-family: var(--bloom-head);
  font-weight: 800;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.12;
  color: var(--bloom-ink);
  border-bottom: 3px solid var(--bloom-ink);
  position: relative;
}
.portfolio-home-h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 120px;
  height: 3px;
  background: var(--bloom-magenta);
}

/* Сетка записей: 4 колонки на десктопе, 2 на планшете, 1 на телефоне */
.post-display-grid .section_inner > .row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px 24px;
  margin: 0;
}
.post-display-grid .section_inner > .row > div {
  width: auto;
  max-width: none;
  flex: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 1024px) {
  .post-display-grid .section_inner > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .post-display-grid .section_inner > .row { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

.post-display-grid .card {
  background: #fff;
  border: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
  height: 100%;
}
.post-display-grid .post_thumb { margin: 0; }
.post-display-grid .post_thumb figure {
  margin: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0 0 28px 0;
  background: var(--bloom-line);
}
.post-display-grid .post_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.post-display-grid .card:hover .post_thumb img { transform: scale(1.05); }

/* Карточка: жёлтая метка рубрики наезжает на низ фото */
.post-display-grid .card_content {
  position: relative;
  padding: 26px 4px 0;
  background: transparent;
}
.post-display-grid .card .entry_cats {
  position: absolute;
  top: -15px;
  left: 12px;
  margin: 0;
  z-index: 2;
}
.entry_cats ul.post-categories { margin: 0; padding: 0; }
.entry_cats ul.post-categories li { margin: 0 4px 0 0; }
.entry_cats ul.post-categories li a,
.post-display-grid .entry_cats ul.post-categories li a {
  display: inline-block;
  background-color: var(--bloom-yellow);
  color: var(--bloom-ink);
  font-family: var(--bloom-head);
  font-weight: 800;
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 9px 12px;
  border-radius: 0;
  box-shadow: 3px 3px 0 var(--bloom-ink);
}
.entry_cats ul.post-categories li a:hover { background-color: var(--bloom-magenta); color: #fff; }

.post-display-grid .post_title h2 {
  font-family: var(--bloom-head);
  font-weight: 800;
  font-size: 18px;
  line-height: 1.28;
  margin: 0 0 10px;
}
.post-display-grid .post_title h2 a { color: var(--bloom-ink); }
.post-display-grid .cm-post-meta .post_meta li,
.post-display-grid .cm-post-meta .post_meta li a {
  font-family: var(--bloom-text);
  font-size: 13px;
  color: var(--bloom-muted);
}
.cm-post-meta .post_meta li svg { fill: var(--bloom-magenta); }

/* Пагинация */
.pagination { margin-top: 48px; }
.pagination .page-numbers {
  font-family: var(--bloom-head);
  font-weight: 700;
  border: 2px solid var(--bloom-ink);
  border-radius: 0;
  color: var(--bloom-ink);
  background: #fff;
}
.pagination .page-numbers.current { background: var(--bloom-magenta); border-color: var(--bloom-magenta); color: #fff; }
.pagination .page-numbers:hover { background: var(--bloom-yellow); border-color: var(--bloom-ink); color: var(--bloom-ink); }

/* Запись и страницы */
.single .post_title h1, .page .post_title h1, .the_title h1 {
  font-family: var(--bloom-head);
  font-weight: 800;
  color: var(--bloom-ink);
}
.the_content a { color: var(--bloom-magenta); text-decoration: underline; text-decoration-color: var(--bloom-yellow); text-decoration-thickness: 3px; }
.the_content a:hover { color: var(--bloom-magenta-dark); }
.the_content blockquote { border-color: var(--bloom-magenta); }
.breadcrumb ul li:last-child span { color: var(--bloom-magenta); }

/* Сайдбар записи */
.sidebar-widget-area .widget {
  background: #fff;
  border: 2px solid var(--bloom-ink);
  box-shadow: 6px 6px 0 var(--bloom-yellow);
}
.sidebar-widget-area .widget .widget-title h2,
.sidebar-widget-area .widget h2 {
  font-family: var(--bloom-head);
  font-weight: 800;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Кнопки */
button, input[type="button"], input[type="reset"], input[type="submit"], #toTop,
.widget_search form input[type="submit"], .post-navigation .nav-links .nav-previous a,
.post-navigation .nav-links .nav-next a, #comments form input[type="submit"] {
  background-color: var(--bloom-magenta);
  border-color: var(--bloom-magenta);
  color: #fff;
  font-family: var(--bloom-head);
  font-weight: 700;
}

/* Подвал: только копирайт */
footer.footer {
  background: var(--bloom-ink);
  border-top: 8px solid var(--bloom-magenta);
  margin-top: 72px;
}
footer.footer .footer_inner { padding: 0; }
footer.footer .copyright_section { border: 0; padding: 28px 0; margin: 0; }
footer.footer .copyrights,
footer.footer .copyrights p {
  margin: 0;
  color: #fff;
  font-family: var(--bloom-head);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-align: left;
}

/* Телефон */
@media (max-width: 600px) {
  .general-header { margin-bottom: 36px; }
  .general-header > .cm-container { padding-top: 16px; padding-bottom: 16px; gap: 12px; }
  .general-header .site-title, .general-header .site-title a { font-size: 22px; }
  .general-header .primary-navigation > ul > li > a { padding: 9px 16px; font-size: 13px; }
}
.post-display-grid .card_content,
.post-display-grid .grid-post-holder { border: 0; box-shadow: none; }
/* На узких экранах скрипт темы делает меню «тёмным» выпадающим — оставляем одну кнопку */
.general-header .primary-navigation.dark,
.general-header .primary-navigation.mobile > ul,
.general-header .primary-navigation.mobile > ul > li {
  background: transparent !important;
  position: static;
  height: auto !important;
  width: auto;
  box-shadow: none;
  border: 0;
  padding: 0;
}
