/**
 * minal media (blog) styles.
 *
 * Loaded only on blog contexts (posts page / post archives / single posts /
 * search) via functions.php, and every selector is scoped under
 * body.minal-media, so the Twenty Twenty-Five global styles that other
 * block-rendered pages (404 etc.) rely on are left untouched.
 *
 * Brand tokens mirror lp-assets/top-page.html ("テンプレートデザインの定義"):
 * teal #4EB9C3 primary, Zen Kaku Gothic New, flat & airy.
 */

body.minal-media {
  /* ---------- COLOR TOKENS ---------- */
  --mnl-primary:      #4EB9C3;  /* Nobol teal (canonical) */
  --mnl-primary-bold: #14BDBC;  /* large fills / CTA */
  --mnl-primary-soft: #E8F6F7;  /* tinted background wash */
  --mnl-primary-ink:  #2A8C94;  /* accessible teal for text/links */
  --mnl-wash:         #F0FAFB;  /* subtle teal section tint */
  --mnl-ink:          #333333;
  --mnl-ink-soft:     #555555;
  --mnl-ink-muted:    #888888;
  --mnl-line:         #E5E5E5;
  --mnl-line-soft:    #F0F0F0;
  --mnl-surface:      #FFFFFF;
  --mnl-radius-sm: 4px;
  --mnl-radius-md: 8px;
  --mnl-radius-lg: 16px;
  --mnl-radius-pill: 999px;
  --mnl-shadow-1: 0 1px 2px rgba(51, 51, 51, 0.04);
  --mnl-shadow-2: 0 4px 16px rgba(51, 51, 51, 0.06);
  --mnl-font: "Noto Sans JP", "Hiragino Kaku Gothic ProN",
    "ヒラギノ角ゴ ProN W3", "Yu Gothic UI", "Meiryo",
    system-ui, -apple-system, "Segoe UI", sans-serif;

  background: var(--mnl-surface);
  color: var(--mnl-ink);
  font-family: var(--mnl-font);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
}

/* Override the TT5 global element styles (Manrope, thin weights, tight
   tracking) for everything inside the media pages. */
body.minal-media h1,
body.minal-media h2,
body.minal-media h3,
body.minal-media h4,
body.minal-media h5,
body.minal-media h6 {
  font-family: var(--mnl-font);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  color: var(--mnl-ink);
}

body.minal-media a {
  color: var(--mnl-primary-ink);
  text-decoration: none;
}
body.minal-media a:hover {
  color: var(--mnl-primary-bold);
}

/* ===== HEADER ===== */
body.minal-media .minal-blog-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--mnl-line-soft);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 32px;
}
body.minal-media .wordmark {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
body.minal-media .wordmark .mk {
  width: 32px;
  height: 32px;
  border-radius: var(--mnl-radius-sm);
  background: var(--mnl-primary);
  flex: none;
}
body.minal-media .wordmark .tx {
  font-family: var(--mnl-font);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: 0.04em;
  color: var(--mnl-ink);
  line-height: 1;
}
body.minal-media .wordmark .tx small {
  display: block;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--mnl-ink-muted);
  margin-top: 5px;
}
body.minal-media .minal-blog-header__nav {
  display: flex;
  gap: 22px;
  align-items: center;
}
body.minal-media .minal-blog-header__nav a {
  font-size: 14px;
  font-weight: 700;
  color: var(--mnl-ink-soft);
}
body.minal-media .minal-blog-header__nav a:hover {
  color: var(--mnl-primary-ink);
}

/* ===== BREADCRUMB ===== */
body.minal-media .minal-breadcrumb {
  font-size: 12px;
  color: var(--mnl-ink-muted);
  line-height: 1.7;
  margin: 0 0 8px;
}
body.minal-media .minal-breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  margin: 0;
  padding: 0;
}
body.minal-media .minal-breadcrumb li {
  display: flex;
  align-items: center;
  gap: 6px;
}
body.minal-media .minal-breadcrumb li + li::before {
  content: "›";
  color: var(--mnl-line);
}
body.minal-media .minal-breadcrumb a {
  color: var(--mnl-ink-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--mnl-line);
}
body.minal-media .minal-breadcrumb a:hover {
  color: var(--mnl-primary-ink);
}
body.minal-media .minal-breadcrumb [aria-current="page"] {
  color: var(--mnl-ink-soft);
}

/* ===== ARCHIVE / HOME HEADING ===== */
body.minal-media .minal-media-eyebrow {
  font-family: var(--mnl-font);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.22em;
  color: var(--mnl-primary-ink);
  margin: 0 0 6px;
}
body.minal-media .minal-media-title,
body.minal-media .wp-block-query-title {
  font-size: 32px;
  font-weight: 900;
  letter-spacing: 0.02em;
  margin: 0 0 10px;
}
body.minal-media .minal-media-lead,
body.minal-media .wp-block-term-description {
  font-size: 15px;
  color: var(--mnl-ink-soft);
  line-height: 2;
  margin: 0;
}

/* ===== POST CARD LIST (query loop) ===== */
body.minal-media .minal-post-list .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.minal-media .minal-post-list .wp-block-post {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
}
body.minal-media .minal-post-list .wp-block-post-featured-image {
  margin: 0;
  border-radius: var(--mnl-radius-md);
  overflow: hidden;
  background: var(--mnl-primary-soft);
  box-shadow: var(--mnl-shadow-1);
}
body.minal-media .minal-post-list .wp-block-post-featured-image img {
  transition: transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
body.minal-media .minal-post-list .wp-block-post:hover .wp-block-post-featured-image img {
  transform: scale(1.03);
}
body.minal-media .minal-post-list .wp-block-post-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  margin: 0;
}
body.minal-media .minal-post-list .wp-block-post-title a {
  color: var(--mnl-ink);
}
body.minal-media .minal-post-list .wp-block-post-title a:hover {
  color: var(--mnl-primary-ink);
}
body.minal-media .minal-post-list .wp-block-post-excerpt {
  font-size: 13.5px;
  color: var(--mnl-ink-soft);
  line-height: 1.9;
  margin: 0;
}
body.minal-media .minal-post-list .wp-block-post-excerpt__excerpt {
  margin: 0;
}
body.minal-media .minal-post-list .wp-block-post-date {
  font-size: 12px;
  color: var(--mnl-ink-muted);
  margin: 0;
}
body.minal-media .minal-post-list .wp-block-post-date a {
  color: inherit;
}

/* Category chip — shared by cards and the single-post header. */
body.minal-media .wp-block-post-terms {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin: 0;
}
body.minal-media .wp-block-post-terms a {
  display: inline-block;
  background: var(--mnl-primary-soft);
  color: var(--mnl-primary-ink);
  border-radius: var(--mnl-radius-pill);
  padding: 3px 12px;
  line-height: 1.7;
}
body.minal-media .wp-block-post-terms a:hover {
  background: var(--mnl-primary-bold);
  color: #fff;
}
body.minal-media .wp-block-post-terms .wp-block-post-terms__separator {
  visibility: hidden;
  padding: 0 1px;
}

/* Pagination */
body.minal-media .wp-block-query-pagination {
  font-size: 14px;
  font-weight: 700;
}
body.minal-media .wp-block-query-pagination-numbers .page-numbers {
  display: inline-block;
  min-width: 36px;
  text-align: center;
  padding: 6px 8px;
  border-radius: var(--mnl-radius-md);
  color: var(--mnl-ink-soft);
}
body.minal-media .wp-block-query-pagination-numbers .page-numbers.current {
  background: var(--mnl-primary-bold);
  color: #fff;
}
body.minal-media .wp-block-query-pagination-numbers .page-numbers:hover:not(.current) {
  background: var(--mnl-primary-soft);
  color: var(--mnl-primary-ink);
}

/* No-results message */
body.minal-media .wp-block-query-no-results {
  font-size: 15px;
  color: var(--mnl-ink-soft);
}

/* ===== SINGLE POST ===== */
body.minal-media .minal-article-header .wp-block-post-title {
  font-size: 30px;
  font-weight: 900;
  line-height: 1.55;
  letter-spacing: 0.02em;
  margin: 10px 0 14px;
}
body.minal-media .minal-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  font-size: 12.5px;
  color: var(--mnl-ink-muted);
}
body.minal-media .minal-article-meta .wp-block-post-date {
  margin: 0;
}
/* The two post-date blocks in single.html are published / modified, in
   this order. The labels live here so the template stays plain blocks. */
body.minal-media .minal-article-meta .wp-block-post-date:nth-of-type(1)::before {
  content: "公開日 ";
}
body.minal-media .minal-article-meta .wp-block-post-date:nth-of-type(2)::before {
  content: "更新日 ";
}
body.minal-media .minal-article-header .wp-block-post-featured-image {
  margin: 26px 0 0;
  border-radius: var(--mnl-radius-lg);
  overflow: hidden;
  box-shadow: var(--mnl-shadow-2);
}

/* Article body typography */
body.minal-media .minal-article-body {
  font-size: 16px;
  line-height: 2;
  color: var(--mnl-ink);
}
body.minal-media .minal-article-body > * {
  margin-block-start: 1.6em;
  margin-block-end: 0;
}
body.minal-media .minal-article-body h2 {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.6;
  margin-block-start: 2.6em;
  padding: 10px 0 10px 18px;
  border-left: 4px solid var(--mnl-primary);
  background: var(--mnl-wash);
  border-radius: 0 var(--mnl-radius-md) var(--mnl-radius-md) 0;
}
body.minal-media .minal-article-body h3 {
  font-size: 20px;
  font-weight: 700;
  margin-block-start: 2.2em;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--mnl-primary-soft);
}
body.minal-media .minal-article-body h4 {
  font-size: 17px;
  font-weight: 700;
  margin-block-start: 2em;
}
body.minal-media .minal-article-body a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--mnl-primary);
}
/* ----- Lists: teal custom bullets (ul) / teal number badges (ol) ----- */
body.minal-media .minal-article-body ul:not(.is-style-checkmark-list),
body.minal-media .minal-article-body ol {
  list-style: none;
  padding-inline-start: 0.2em;
  display: block;
}
body.minal-media .minal-article-body li {
  margin-block-start: 0.5em;
}
/* ul: soft teal ring bullet */
body.minal-media .minal-article-body ul:not(.is-style-checkmark-list) > li {
  position: relative;
  padding-inline-start: 1.5em;
}
body.minal-media .minal-article-body ul:not(.is-style-checkmark-list) > li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0.15em;
  top: 0.72em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: var(--mnl-primary);
  box-shadow: 0 0 0 3px var(--mnl-primary-soft);
}
/* ol: teal bold number (no circle) via counters (nesting-safe) */
body.minal-media .minal-article-body ol {
  counter-reset: mnl-ol;
}
body.minal-media .minal-article-body ol > li {
  position: relative;
  counter-increment: mnl-ol;
  padding-inline-start: 1.8em;
}
body.minal-media .minal-article-body ol > li::before {
  content: counter(mnl-ol) ".";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  color: var(--mnl-primary-ink);
  font-weight: 700;
  line-height: inherit;
}
/* Keep the checkmark block style (registered in functions.php) teal. */
body.minal-media .minal-article-body ul.is-style-checkmark-list {
  padding-inline-start: 1.4em;
}
body.minal-media .minal-article-body ul.is-style-checkmark-list li::marker {
  color: var(--mnl-primary-ink);
  font-weight: 700;
}

/* ----- Step flow (ステップ): sequential connected steps -----
   Writers pick "ステップ (minal)" on a numbered list. Each item becomes a
   teal-numbered node, connected top-to-bottom by a line (STEP1→STEP2→…). */
body.minal-media .minal-article-body ol.is-style-minal-steps {
  counter-reset: mnl-step;
  list-style: none;
  padding-inline-start: 0;
}
body.minal-media .minal-article-body ol.is-style-minal-steps > li {
  position: relative;
  counter-increment: mnl-step;
  margin-block-start: 0;
  padding: 8px 0 30px 62px;
  min-height: 44px;
}
body.minal-media .minal-article-body ol.is-style-minal-steps > li:last-child {
  padding-bottom: 0;
}
/* numbered circular node */
body.minal-media .minal-article-body ol.is-style-minal-steps > li::before {
  content: counter(mnl-step);
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--mnl-primary);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 44px;
  text-align: center;
  z-index: 1;
}
/* connector line joining a step to the next */
body.minal-media .minal-article-body ol.is-style-minal-steps > li:not(:last-child)::after {
  content: "";
  position: absolute;
  inset-inline-start: 21px;
  top: 50px;
  bottom: 2px;
  width: 2px;
  background: var(--mnl-primary-soft);
}

/* ----- Inline emphasis: colored bold + highlighter markers ----- */
/* Reset the browser default yellow <mark>; only brand marker classes paint. */
body.minal-media .minal-article-body mark {
  background-color: transparent;
  color: inherit;
}
body.minal-media .minal-article-body strong {
  font-weight: 700;
}
/* Striped highlighter markers keyed to the theme.json palette colors.
   Diagonal stripes sit on the lower band of the text (highlighter feel). */
body.minal-media .minal-article-body mark.has-minal-marker-teal-background-color {
  background: repeating-linear-gradient(-45deg, #a6e0e6 0, #a6e0e6 3px, transparent 3px, transparent 6px) bottom / 100% 46% no-repeat !important;
}
body.minal-media .minal-article-body mark.has-minal-marker-yellow-background-color {
  background: repeating-linear-gradient(-45deg, #fde98a 0, #fde98a 3px, transparent 3px, transparent 6px) bottom / 100% 46% no-repeat !important;
}
body.minal-media .minal-article-body mark.has-minal-marker-pink-background-color {
  background: repeating-linear-gradient(-45deg, #f7c6d8 0, #f7c6d8 3px, transparent 3px, transparent 6px) bottom / 100% 46% no-repeat !important;
}
body.minal-media .minal-article-body mark[class*="has-minal-marker-"] {
  color: inherit;
  font-weight: 700;
  padding: 0 0.08em;
  border-radius: 1px;
}
body.minal-media .minal-article-body blockquote {
  margin-inline: 0;
  padding: 18px 22px;
  background: var(--mnl-wash);
  border-left: 4px solid var(--mnl-primary);
  border-radius: 0 var(--mnl-radius-md) var(--mnl-radius-md) 0;
  color: var(--mnl-ink-soft);
  font-size: 15px;
}
/* Large decorative quotation mark so the block reads clearly as a quote. */
body.minal-media .minal-article-body blockquote {
  padding-top: 8px;
}
body.minal-media .minal-article-body blockquote::before {
  content: "\201C";
  display: block;
  height: 0.42em;
  color: var(--mnl-primary);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 56px;
  font-weight: 700;
  line-height: 1;
}
body.minal-media .minal-article-body blockquote p {
  margin: 0;
}
/* Citation source (<cite>): shown under the quote, muted, right-aligned. */
body.minal-media .minal-article-body blockquote cite {
  display: block;
  margin-top: 12px;
  font-size: 13px;
  font-style: normal;
  color: var(--mnl-ink-muted);
  text-align: right;
}
body.minal-media .minal-article-body blockquote cite::before {
  content: "— ";
}
body.minal-media .minal-article-body img {
  border-radius: var(--mnl-radius-md);
  height: auto;
}
/* Table: teal header, zebra rows, rounded frame, mobile horizontal scroll.
   The .wp-block-table figure is the scroll + rounded container. */
body.minal-media .minal-article-body .wp-block-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--mnl-line);
  border-radius: var(--mnl-radius-md);
  box-shadow: var(--mnl-shadow-1);
}
body.minal-media .minal-article-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14.5px;
  margin: 0;
}
body.minal-media .minal-article-body th,
body.minal-media .minal-article-body td {
  border-bottom: 1px solid var(--mnl-line);
  border-right: 1px solid var(--mnl-line);
  padding: 11px 14px;
  text-align: left;
  vertical-align: top;
}
body.minal-media .minal-article-body th:last-child,
body.minal-media .minal-article-body td:last-child {
  border-right: none;
}
body.minal-media .minal-article-body tr:last-child td {
  border-bottom: none;
}
body.minal-media .minal-article-body thead th,
body.minal-media .minal-article-body tr:first-child th {
  background: var(--mnl-primary-soft);
  color: var(--mnl-primary-ink);
  font-weight: 700;
  white-space: nowrap;
}
/* Bare table without the figure wrapper (fallback). */
body.minal-media .minal-article-body > table {
  display: block;
  overflow-x: auto;
  border: 1px solid var(--mnl-line);
  border-radius: var(--mnl-radius-md);
}
body.minal-media .minal-article-body hr {
  border: none;
  border-top: 1px solid var(--mnl-line);
}

/* Tag row under the article */
body.minal-media .minal-article-tags {
  margin-top: 40px;
}

/* Prev / next navigation */
body.minal-media .minal-post-nav {
  border-top: 1px solid var(--mnl-line-soft);
  padding-top: 22px;
  font-size: 13.5px;
}
body.minal-media .minal-post-nav a {
  color: var(--mnl-ink-soft);
  font-weight: 700;
}
body.minal-media .minal-post-nav a:hover {
  color: var(--mnl-primary-ink);
}

/* ===== AUTHOR BOX (この記事を書いた人) ===== */
body.minal-media .minal-author {
  background: var(--mnl-surface);
  border: 2.5px solid var(--mnl-primary);
  border-radius: var(--mnl-radius-lg);
  padding: 26px 28px;
}
body.minal-media .minal-author__eyebrow {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--mnl-primary-ink);
  margin: 0 0 16px;
}
body.minal-media .minal-author__body {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
body.minal-media .minal-author__avatar {
  flex: none;
}
body.minal-media .minal-author__avatar-img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: block;
  box-shadow: var(--mnl-shadow-1);
  background: var(--mnl-surface);
  border: 2px solid var(--mnl-primary);
}
body.minal-media .minal-author__name {
  font-size: 16px;
  font-weight: 700;
  color: var(--mnl-ink);
  margin: 0 0 8px;
}
body.minal-media .minal-author__bio {
  font-size: 13.5px;
  line-height: 1.9;
  color: var(--mnl-ink-soft);
  margin: 0;
}
@media (max-width: 780px) {
  body.minal-media .minal-author {
    padding: 22px 20px;
  }
  body.minal-media .minal-author__body {
    gap: 16px;
  }
  body.minal-media .minal-author__avatar-img {
    width: 60px;
    height: 60px;
  }
}

/* ===== RELATED POSTS ===== */
body.minal-media .minal-related {
  margin-top: 24px;
}
body.minal-media .minal-related__title {
  font-size: 20px;
  font-weight: 900;
  margin: 0 0 22px;
  padding-left: 14px;
  border-left: 4px solid var(--mnl-primary);
}
body.minal-media .minal-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 24px;
}
body.minal-media .minal-related-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: inherit;
}
body.minal-media .minal-related-card__thumb {
  aspect-ratio: 16 / 9;
  border-radius: var(--mnl-radius-md);
  overflow: hidden;
  background: var(--mnl-primary-soft);
  box-shadow: var(--mnl-shadow-1);
}
body.minal-media .minal-related-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
body.minal-media .minal-related-card:hover .minal-related-card__thumb img {
  transform: scale(1.04);
}
body.minal-media .minal-related-card__thumb--empty {
  display: grid;
  place-items: center;
}
body.minal-media .minal-related-card__thumb--empty .mk {
  width: 28px;
  height: 28px;
  border-radius: var(--mnl-radius-sm);
  background: var(--mnl-primary);
}
body.minal-media .minal-related-card__title {
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--mnl-ink);
  margin: 0;
}
body.minal-media .minal-related-card:hover .minal-related-card__title {
  color: var(--mnl-primary-ink);
}
body.minal-media .minal-related-card__date {
  font-size: 12px;
  color: var(--mnl-ink-muted);
}

/* ===== NEWSLETTER CTA ===== */
body.minal-media .minal-nl-cta {
  background: linear-gradient(135deg, #d4eff7 0%, #eaf3f5 55%, #fbe9f0 100%);
  border-radius: var(--mnl-radius-lg);
  padding: 40px 32px;
  text-align: center;
}
body.minal-media .minal-nl-cta__eyebrow {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.22em;
  color: var(--mnl-primary-ink);
  margin: 0 0 10px;
}
body.minal-media .minal-nl-cta__title {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 0.02em;
  margin: 0 0 12px;
}
body.minal-media .minal-nl-cta__lead {
  font-size: 14px;
  color: var(--mnl-ink-soft);
  line-height: 2;
  margin: 0 auto 24px;
  max-width: 480px;
}
body.minal-media .minal-nl-form {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1.5px solid var(--mnl-ink);
  border-radius: var(--mnl-radius-pill);
  padding: 6px 6px 6px 22px;
  max-width: 480px;
  margin: 0 auto;
  box-shadow: var(--mnl-shadow-1);
}
body.minal-media .minal-nl-form input[type="email"] {
  border: none;
  outline: none;
  flex: 1;
  font-size: 14px;
  font-weight: 500;
  font-family: var(--mnl-font);
  color: var(--mnl-ink);
  background: transparent;
  min-width: 0;
}
body.minal-media .minal-nl-form input::placeholder {
  color: var(--mnl-ink-muted);
}
body.minal-media .minal-nl-form button {
  background: var(--mnl-primary-bold);
  color: #fff;
  border: none;
  border-radius: var(--mnl-radius-pill);
  padding: 14px 28px;
  font-family: var(--mnl-font);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  cursor: pointer;
  white-space: nowrap;
}
body.minal-media .minal-nl-form button:hover {
  background: var(--mnl-primary-ink);
}
body.minal-media .minal-nl-cta__msg {
  max-width: 480px;
  margin: 14px auto 0;
  font-size: 13px;
  font-weight: 700;
  border-radius: var(--mnl-radius-sm);
  padding: 12px 16px;
  display: none;
  text-align: left;
}
body.minal-media .minal-nl-cta__msg.ok {
  display: block;
  background: rgba(255, 255, 255, 0.85);
  color: var(--mnl-primary-ink);
}
body.minal-media .minal-nl-cta__msg.ng {
  display: block;
  background: #fdedea;
  color: #b23d28;
}
body.minal-media .minal-nl-cta__note {
  font-size: 11.5px;
  color: var(--mnl-ink-muted);
  line-height: 1.9;
  margin: 16px 0 0;
}
body.minal-media .minal-nl-cta__note a {
  color: var(--mnl-ink-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ===== FOOTER ===== */
body.minal-media .minal-blog-footer {
  margin-top: clamp(40px, 7vw, 80px);
  padding: 22px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px 20px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--mnl-ink-muted);
  border-top: 1px solid var(--mnl-line-soft);
}
body.minal-media .minal-blog-footer__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
body.minal-media .minal-blog-footer nav {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
body.minal-media .minal-blog-footer nav a {
  color: var(--mnl-ink-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.minal-media .minal-blog-footer nav a:hover {
  color: var(--mnl-primary-ink);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 780px) {
  body.minal-media .minal-blog-header {
    padding: 12px 20px;
  }
  body.minal-media .minal-post-list .wp-block-post-template {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  body.minal-media .minal-related__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  body.minal-media .minal-media-title,
  body.minal-media .wp-block-query-title {
    font-size: 26px;
  }
  body.minal-media .minal-article-header .wp-block-post-title {
    font-size: 24px;
  }
  body.minal-media .minal-article-body h2 {
    font-size: 20px;
  }
  body.minal-media .minal-article-body h3 {
    font-size: 18px;
  }
  body.minal-media .minal-nl-cta {
    padding: 32px 20px;
  }
  body.minal-media .minal-nl-form {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
  }
  body.minal-media .minal-nl-form input[type="email"] {
    border: 1.5px solid var(--mnl-ink);
    border-radius: var(--mnl-radius-pill);
    padding: 14px 22px;
    background: #fff;
  }
  body.minal-media .minal-nl-form button {
    width: 100%;
    padding: 15px;
  }
}
