/* bobnoblog v2.3.2 — unified responsive shells for every public template.
 * Keeps the homepage's wide grid, fixes the old 800px body limit on posts,
 * static pages, archives, categories, tags, search and the latest-posts index.
 * Pure layout CSS. No extra JS, images, remote requests or WordPress queries.
 */

/* The page/header gutters must match. Desktop is generous, mobile has breathing room. */
:root { --bnb-page-max: 1440px; --bnb-reading-max: 1080px; --bnb-header-max: 1680px; }
/* Keep logo/search and navigation on the same x-axis on home, posts, pages and archives. */
.site-header .header-inner { width: min(calc(100% - 48px), var(--bnb-header-max)); }
@media (min-width: 1024px) {
  .site-header .header-inner { width: min(calc(100% - 64px), var(--bnb-header-max)); }
}
.content-page.wrap {
  width: min(calc(100% - 48px), var(--bnb-page-max));
  max-width: var(--bnb-page-max);
  margin-inline: auto;
  min-width: 0;
}
.content-page .content-page__article,
.content-page .content-page__header,
.content-page .content-page__paper { min-width: 0; max-width: 100%; }
.content-page .content-page__paper {
  padding: clamp(28px, 4.2vw, 68px) clamp(22px, 5vw, 72px);
}

/* This overrides the 800px post-content and 930px base-page remnants.
 * Preserve a comfortable text measure, rather than extending paragraphs to 1440px. */
.content-page .content-page__paper .content-page__body,
.bnb-article-page .bnb-article-paper .bnb-article-reading,
.bnb-static-page .content-page__paper .content-page__body {
  width: 100%;
  max-width: var(--bnb-reading-max);
  min-width: 0;
  margin-inline: auto;
}
.bnb-article-page .bnb-article-paper .bnb-article-reading { font-size: clamp(15px, 1.15vw, 17px); }
.bnb-article-page .bnb-article-paper { border-radius: 0 0 20px 20px; }

/* Archive listings should use the full white surface—not the narrow reading measure. */
.bnb-archive-page .content-page__paper .archive-container {
  width: 100%; max-width: none; min-width: 0; margin: 0;
}
.bnb-archive-page .archive-container .bnb-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 22px);
  align-items: stretch;
}
.bnb-archive-page .bnb-archive-card { min-width: 0; width: 100%; }
.bnb-archive-page .bnb-archive-card__link { display: flex; flex-direction: column; min-width: 0; }
.bnb-archive-page .bnb-archive-card__media { flex: none; width: 100%; aspect-ratio: 16/9; }
.bnb-archive-page .bnb-archive-card__media img {
  display: block; width: 100%; height: 100%; object-fit: contain; background: #123650;
}
.bnb-archive-page .bnb-archive-card__copy { min-width: 0; }
.bnb-archive-page .bnb-archive-card__title,
.bnb-archive-page .bnb-archive-card__excerpt { overflow-wrap: anywhere; }

/* Shared safeguards for editor content, site search, galleries, tables and long URLs.
 * Allow tables and code to scroll inside themselves, not the entire page. */
.content-page__paper .content-page__body :where(.entry-content, .wp-block-group, .wp-block-column,
  .wp-block-columns, .wp-block-media-text, .wp-block-cover, .wp-block-embed) {
  min-width: 0; max-width: 100%;
}
.content-page__paper .content-page__body :where(img,video,iframe,svg,canvas) {
  max-width: 100%;
}
.content-page__paper .content-page__body :where(figure, .wp-block-image, .wp-block-gallery) {
  max-width: 100%;
}
.content-page__paper .content-page__body :where(pre, .wp-block-code, .wp-block-preformatted,
  .wp-block-table, .wp-block-table__table-container) {
  max-width: 100%; overflow-x: auto;
}
.content-page__paper .content-page__body :where(.bnc-linkcard, .blogcard-wrap, .wp-block-embed) {
  max-width: 100%; min-width: 0;
}
.content-page__paper .content-page__body .wp-block-columns { flex-wrap: wrap; }
.content-page__paper .content-page__body .wp-block-columns > .wp-block-column {
  min-width: min(100%, 250px);
}
.content-page__paper .content-page__body :where(input,select,textarea) { max-width: 100%; }
.content-page__paper .content-page__body .search-form { max-width: 100%; }

/* Medium screens: two archive columns, reduced padding for the reading surfaces. */
@media (max-width: 1199px) {
  :root { --bnb-reading-max: 1000px; }
  .bnb-archive-page .archive-container .bnb-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .content-page .content-page__paper { padding: clamp(24px, 4vw, 46px); }
  .content-page__header { padding: clamp(28px, 4vw, 48px); }
  .bnb-article-page .bnb-article-hero { padding: clamp(29px, 4vw, 50px); }
}

/* Tablet portrait: full readable width and robust columns/embeds. */
@media (max-width: 767px) {
  .content-page.wrap { width: calc(100% - 32px); }
  .site-header .header-inner { width: calc(100% - 32px); }
  .content-page { padding-top: 20px; padding-bottom: 58px; }
  .content-page .content-page__paper { padding: 26px 24px 38px; }
  .content-page__header { padding: 30px 28px; min-height: 0; }
  .content-page__title { max-width: 100%; font-size: clamp(25px, 4.8vw, 35px); }
  .bnb-article-page .bnb-article-hero { padding: 30px 28px 34px; }
  .bnb-article-page .bnb-article-paper { padding: 28px 24px 44px; }
  .bnb-archive-page .archive-container .bnb-archive-grid { gap: 15px; }
  .bnb-archive-page .bnb-archive-card__copy { padding: 14px 13px 17px; }
  .content-page__paper .content-page__body .wp-block-columns { gap: 18px; }
}

/* Phones: archive cards become one column, title and article content fill the screen. */
@media (max-width: 600px) {
  .content-page.wrap, .bnb-article-page.wrap {
    width: calc(100% - 24px);
    padding-top: 16px;
  }
  .site-header .header-inner { width: calc(100% - 24px); gap: 10px; }
  .content-page .content-page__paper,
  .bnb-article-page .bnb-article-paper { padding: 22px 17px 32px; }
  .content-page__header,
  .bnb-article-page .bnb-article-hero { padding: 25px 21px 28px; min-height: 0; }
  .content-page__title,
  .bnb-article-page .bnb-article-hero .content-page__title {
    max-width: 100%; font-size: clamp(23px, 5.5vw, 30px); line-height: 1.5;
  }
  .content-page .content-page__paper .content-page__body,
  .bnb-article-page .bnb-article-paper .bnb-article-reading {
    max-width: 100%; font-size: 15px; line-height: 1.93;
  }
  .bnb-archive-page .archive-container .bnb-archive-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .bnb-archive-page .bnb-archive-card__copy { padding: 14px 16px 18px; }
  .content-page__body :where(.wp-block-media-text) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .content-page__body .wp-block-media-text .wp-block-media-text__media,
  .content-page__body .wp-block-media-text .wp-block-media-text__content {
    grid-column: 1; max-width: 100%;
  }
  .content-page__body .wp-block-media-text .wp-block-media-text__content { padding: 14px 0 0; }
  .content-page__paper .content-page__body .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important; min-width: 0;
  }
  .content-page__body :where(pre, code) { overflow-wrap: normal; }
}
@media (max-width: 360px) {
  .content-page .content-page__paper,
  .bnb-article-page .bnb-article-paper { padding-inline: 14px; }
  .content-page__header,
  .bnb-article-page .bnb-article-hero { padding-inline: 17px; }
  .content-page__breadcrumb { gap: 6px; }
}
