/* =========================================================
   MoroHeritage — Journal sidebar
   One stylesheet shared by the Journal index, the archives, the
   search results and the single articles, so the widgets look
   identical everywhere.
   Loaded only on those contexts. Every selector is scoped to
   .mh-journal-sidebar, so header and footer widgets, other
   WordPress sidebars and Elementor widgets are never touched.
   ========================================================= */

.mh-journal-sidebar {
  min-width: 0;
  align-self: stretch;
}

.mh-journal-sidebar__inner {
  display: grid;
  gap: 24px;
  position: sticky;
  top: 110px;
}

/* -------------------------------------------------- Widget shell */

.mh-journal-sidebar .mh-journal-widget {
  margin: 0;
  padding: 24px;
  background: #ffffff;
  border: 1px solid var(--mh-border, #e7ddd0);
  border-radius: 14px;
}

.mh-journal-sidebar .mh-journal-widget__title,
.mh-journal-sidebar .widget-title,
.mh-journal-sidebar .wp-block-heading {
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--mh-border, #e7ddd0);
  font-family: var(--mh-font-serif);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: 0.005em;
  color: var(--mh-green-deep, #0f2620);
  overflow-wrap: anywhere;
}

/* -------------------------------------------------- Lists */

.mh-journal-sidebar ul,
.mh-journal-sidebar ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mh-journal-sidebar li {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.mh-journal-sidebar li + li {
  border-top: 1px solid rgba(231, 221, 208, 0.7);
}

.mh-journal-sidebar li > ul {
  margin-top: 6px;
  padding-left: 14px;
  border-left: 1px solid var(--mh-border, #e7ddd0);
}

.mh-journal-sidebar li > ul > li:first-child { border-top: 0; }

.mh-journal-sidebar a {
  color: #443a31;
  text-decoration: none;
  transition: color 0.2s ease;
}

.mh-journal-sidebar li > a {
  display: inline-block;
  padding: 9px 0;
}

.mh-journal-sidebar a:hover { color: var(--mh-brown, #825137); }

.mh-journal-sidebar a:focus-visible {
  outline: 2px solid var(--mh-brown, #825137);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Counters aligned to the right (Categories, Archives). */
.mh-journal-sidebar .wp-block-categories-list li,
.mh-journal-sidebar .wp-block-archives-list li,
.mh-journal-sidebar .widget_categories li,
.mh-journal-sidebar .widget_archive li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.mh-journal-sidebar .wp-block-categories-list li a,
.mh-journal-sidebar .wp-block-archives-list li a,
.mh-journal-sidebar .widget_categories li a,
.mh-journal-sidebar .widget_archive li a {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}

.mh-journal-sidebar .post-count,
.mh-journal-sidebar .wp-block-categories-list li > span,
.mh-journal-sidebar .wp-block-archives-list li > span,
.mh-journal-sidebar .widget_categories li > span,
.mh-journal-sidebar .widget_archive li > span {
  flex: 0 0 auto;
  min-width: 26px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--mh-cream-warm, #f5efe4);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--mh-brown, #825137);
  text-align: center;
}

/* Dropdown variants of Categories / Archives. */
.mh-journal-sidebar select {
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  padding: 0 12px;
  border: 1px solid var(--mh-border, #e7ddd0);
  border-radius: 10px;
  background: #fff;
  font-family: inherit;
  font-size: 0.9375rem;
  color: #443a31;
}

/* -------------------------------------------------- Search */

.mh-journal-sidebar .mh-search-form,
.mh-journal-sidebar .wp-block-search,
.mh-journal-sidebar .search-form { margin: 0; }

.mh-journal-sidebar .mh-search-form__label {
  display: block;
  margin-bottom: 8px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mh-muted, #6f6459);
}

.mh-journal-sidebar__inner .mh-search-form__controls,
.mh-journal-sidebar__inner .wp-block-search__inside-wrapper,
.mh-journal-sidebar__inner .search-form {
  display: flex;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  min-width: 0;
  border: 0;
  padding: 0;
}

.mh-journal-sidebar__inner .mh-search-form__field,
.mh-journal-sidebar__inner .wp-block-search__input,
.mh-journal-sidebar__inner input[type="search"],
.mh-journal-sidebar__inner input[type="text"],
.mh-journal-sidebar__inner input[type="email"],
.mh-journal-sidebar__inner input[type="url"] {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid var(--mh-border, #e7ddd0);
  border-radius: 10px;
  background: var(--mh-cream, #fbf8f2);
  font-family: inherit;
  font-size: 0.9375rem;
  color: #443a31;
}

.mh-journal-sidebar__inner input::placeholder { color: #7d6f64; opacity: 1; }

.mh-journal-sidebar__inner input:focus-visible,
.mh-journal-sidebar__inner select:focus-visible,
.mh-journal-sidebar__inner textarea:focus-visible {
  outline: 2px solid var(--mh-brown, #825137);
  outline-offset: 1px;
  border-color: var(--mh-gold, #c99a55);
}

.mh-journal-sidebar__inner .mh-search-form__submit,
.mh-journal-sidebar__inner .wp-block-search__button,
.mh-journal-sidebar__inner button[type="submit"],
.mh-journal-sidebar__inner input[type="submit"] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid var(--mh-green, #17372f);
  border-radius: 10px;
  background: var(--mh-green, #17372f);
  color: var(--mh-cream, #fbf8f2);
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.mh-journal-sidebar__inner .mh-search-form__submit:hover,
.mh-journal-sidebar__inner .wp-block-search__button:hover,
.mh-journal-sidebar__inner button[type="submit"]:hover {
  background: var(--mh-gold, #c99a55);
  border-color: var(--mh-gold, #c99a55);
  color: var(--mh-green-deep, #0f2620);
}

.mh-journal-sidebar__inner button:focus-visible {
  outline: 2px solid var(--mh-brown, #825137);
  outline-offset: 3px;
}

/* -------------------------------------------------- Tag cloud */

.mh-journal-sidebar .wp-block-tag-cloud,
.mh-journal-sidebar .tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mh-journal-sidebar .wp-block-tag-cloud a,
.mh-journal-sidebar .tagcloud a {
  display: inline-flex;
  padding: 7px 11px;
  border: 1px solid #dfd3c5;
  border-radius: 999px;
  background: var(--mh-cream, #fbf8f2);
  font-size: 13px !important;
  line-height: 1.2;
  color: var(--mh-brown-deep, #5d3826);
  text-decoration: none;
}

.mh-journal-sidebar .wp-block-tag-cloud a:hover,
.mh-journal-sidebar .tagcloud a:hover {
  border-color: var(--mh-gold, #c99a55);
  color: var(--mh-green, #17372f);
}

.mh-journal-sidebar .wp-block-tag-cloud a .tag-link-count { opacity: .7; }

/* -------------------------------------------------- Recent posts & comments */

.mh-journal-sidebar .wp-block-latest-posts__post-title {
  display: block;
  padding: 0;
  font-family: var(--mh-font-serif);
  font-size: 1rem;
  line-height: 1.35;
  color: var(--mh-green-deep, #0f2620);
}

.mh-journal-sidebar .wp-block-latest-posts__post-date,
.mh-journal-sidebar .wp-block-latest-posts__post-author,
.mh-journal-sidebar .wp-block-latest-comments__comment-date {
  display: block;
  padding-bottom: 4px;
  font-size: 0.75rem;
  color: var(--mh-muted, #6f6459);
}

.mh-journal-sidebar .wp-block-latest-posts__featured-image img { border-radius: 9px; }

.mh-journal-sidebar .wp-block-latest-comments__comment {
  padding: 10px 0;
  font-size: 0.875rem;
  line-height: 1.6;
}

.mh-journal-sidebar .wp-block-latest-comments__comment-excerpt p {
  margin: 6px 0 0;
  font-size: 0.875rem;
  color: #55483d;
}

/* -------------------------------------------------- Media & prose */

.mh-journal-sidebar img,
.mh-journal-sidebar .wp-block-image img {
  max-width: 100%;
  height: auto;
  border-radius: 9px;
}

.mh-journal-sidebar figure { margin: 0; }

.mh-journal-sidebar figcaption {
  margin-top: 8px;
  font-size: 0.75rem;
  font-style: italic;
  color: var(--mh-muted, #6f6459);
}

.mh-journal-sidebar p {
  margin: 0 0 0.9em;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #55483d;
  overflow-wrap: anywhere;
}

.mh-journal-sidebar p:last-child { margin-bottom: 0; }

.mh-journal-sidebar table { width: 100%; font-size: 0.875rem; }

/* Navigation menu widget. */
.mh-journal-sidebar .wp-block-navigation,
.mh-journal-sidebar .menu { display: block; }

.mh-journal-sidebar .wp-block-navigation__container {
  display: block;
  gap: 0;
}

/* -------------------------------------------------- Responsive */

@media (max-width: 900px) {
  .mh-journal-sidebar {
    width: 100%;
    align-self: auto;
  }

  .mh-journal-sidebar__inner {
    position: static;
    top: auto;
    /* Two widgets side by side on tablet, same order as on desktop. */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}

@media (max-width: 640px) {
  .mh-journal-sidebar__inner { grid-template-columns: 1fr; }
  .mh-journal-sidebar .mh-journal-widget { padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .mh-journal-sidebar * { transition-duration: 0.001ms !important; }
}
