/*
Theme Name: Oldfashioned Newspaper
Theme URI: https://example.com/oldfashioned-newspaper
Author: You
Author URI: https://example.com
Description: A mobile-first WordPress blog theme styled as a quietly European broadsheet. Ivory stock, Cormorant Garamond and Cardo, a 35-column grid at 700px and up, hairline column rules, drop-cap leads, and a small editorial palette of black + restrained red.
Version: 2.3.1
Text Domain: oldfashioned-newspaper
*/

/* =============================================================
   1. BASE
   --------------------------------------------------------------
   Body font is Cardo, not EB Garamond — Cardo has noticeably
   heavier strokes by default and stays readable on low-DPI
   screens without going grey. Cormorant Garamond is kept for
   display.
   ============================================================= */

*, *::before, *::after { box-sizing: border-box; }
html, body { height: 100%; }

body {
  margin: 0;
  padding: 8px 0;
  background-image: url('wood.jpg');
  background-color: #6b4a2a;
  font-family: 'Cardo', 'Noto Serif', 'Noto Serif Georgian', Charis, Garamond, Georgia, 'Times New Roman', serif;
  font-size: 10.5pt;
  line-height: 1.4;
  color: #1c1c20;
}

a { color: #1c1c20; text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
a:visited { color: #1c1c20; }

em, i, cite { font-style: italic; }
strong, b { font-weight: 700; }

img { max-width: 100%; height: auto; }

.screen-reader-text {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

/* =============================================================
   2. THE WORLD (page container)
   ============================================================= */

#world, .world {
  background: #fbfaf6;
  width: min(1024px, 100%);
  margin: 0 auto;
  padding: 14px 18px;
  border: 1px solid #1c1c20;
  text-align: left;
}

/* =============================================================
   3. MASTHEAD
   ============================================================= */

.branding {
  text-align: center;
  padding: 4px 6px 8px;
  border-bottom: 3px double #1c1c20;
  margin-bottom: 6px;
}
.custom-logo-link,
.masthead-logo-link {
  display: inline-block;
  margin: 0 0 6px;
}
.custom-logo,
.masthead-logo {
  display: block;
  width: 72px;
  height: 72px;
  margin: 0 auto;
}
.masthead-text { text-align: center; }
.masthead-spacer { display: none; }

.site-title {
  font-family: 'Cormorant Garamond', Garamond, Cardo, Georgia, serif;
  font-weight: 500;
  font-size: clamp(40px, 8vw, 76px);
  line-height: .98;
  letter-spacing: .005em;
  margin: 0;
  color: #1c1c20;
  font-feature-settings: "lnum", "kern";
}
.site-title a { color: inherit; text-decoration: none; }
.site-description {
  font-family: 'Cardo', Garamond, Georgia, serif;
  font-style: italic;
  font-size: 11pt;
  margin: 2px 0 0;
  letter-spacing: .02em;
  color: #1c1c20;
}
.site-description .strap-orn {
  font-style: normal;
  font-size: 16pt;
  color: #9a1f1f;
  padding: 0 .15em;
  position: relative;
  top: 2px;
}

/* =============================================================
   4. SEARCH FORM
   ============================================================= */

.search-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px;
  margin: 8px 0;
}
.search-form .search-field,
.search-form input[type="search"] {
  font: inherit;
  padding: 5px 8px;
  border: 1px solid #1c1c20;
  background: transparent;
  border-radius: 0;
  color: #1c1c20;
}
.search-form .search-submit,
.search-form button {
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-variant: small-caps;
  font-size: 11pt;
  letter-spacing: .06em;
  padding: 5px 14px;
  border: 1px solid #1c1c20;
  background: transparent;
  color: #1c1c20;
  cursor: pointer;
  transition: background-color .12s ease, color .12s ease, border-color .12s ease;
}
.search-form .search-submit:hover,
.search-form .search-submit:focus,
.search-form button:hover,
.search-form button:focus {
  background: #9a1f1f;
  border-color: #9a1f1f;
  color: #fbfaf6;
}

/* =============================================================
   5. HEADER NAV (.links)
   ============================================================= */

.links {
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-variant: small-caps;
  font-size: 11.5pt;
  letter-spacing: .06em;
  padding: 4px 0;
  text-align: center;
}
.links .menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 .35em;
}
.links .menu li { display: inline-block; }
.links .menu li + li::before {
  content: "|";
  color: #1c1c2059;
  margin-right: .35em;
}
.links .menu a { color: #1c1c20; }
.links .menu a:hover,
.links .menu .current-menu-item > a,
.links .menu .current_page_item > a { color: #9a1f1f; text-decoration: none; }

/* =============================================================
   6. WIDGETS (shared)
   ============================================================= */

.widget {
  border-top: 1px solid #1c1c20;
  border-bottom: 1px solid #1c1c20;
  padding: 6px 6px 8px;
  margin: 0 0 10px;
  font-size: 9pt;
  line-height: 1.34;
  overflow-wrap: anywhere;
}
.widget-title,
.widgettitle {
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-variant: small-caps;
  font-weight: 600;
  font-size: 12pt;
  letter-spacing: .08em;
  margin: 0 0 6px;
  padding-bottom: 3px;
  border-bottom: 1px solid #1c1c20;
  color: #1c1c20;
  text-align: center;
}
.widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.widget ul li {
  padding: 2px 0;
  border-bottom: 1px dotted #00000026;
  line-height: 1.34;
}
.widget ul li:last-child { border-bottom: 0; }
.widget ul li a { font-weight: 400; }
.widget p { margin: 0 0 .5em; }
.widget p:last-child { margin-bottom: 0; }

/* --- Hide RSS-feed icons everywhere ----------------------------
   The WP RSS widget injects an <img class="rss-widget-icon"> (and
   a feed link with an <a class="rsswidget"><img>…). We don't want
   the orange square anywhere — titles or items. */
.widget .rss-widget-icon,
.widget .rsswidget img,
.widget_rss img.rss-widget-icon,
.widget_categories .rss-widget-icon,
.widget_archive .rss-widget-icon,
.widget a > img.rss-widget-icon {
  display: none !important;
}

/* WP Categories widget — small-caps, hanging indent so long names
   ("FOOD & DRINK") wrap inside the narrow side rail */
.widget_categories ul {
  padding-left: 12px;
}
.widget_categories li {
  display: block;
  padding: 1px 0;
  text-indent: -12px;
  border-bottom: none;
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-variant: small-caps;
  font-weight: 500;
  font-size: 9pt;
  letter-spacing: 0;
  line-height: 1.28;
  /* Wrap long single-word categories at proper hyphenation points
     (ARCHI-TECTURE) instead of chopping arbitrarily mid-word. */
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}
.widget_categories li a { color: #1c1c20; font-weight: 500; }
.widget_categories .children {
  padding-left: 12px;
  margin-top: 0;
}
.widget_categories .children li {
  font-size: 9pt;
  font-variant: normal;
  font-style: italic;
}

/* WP Archives widget — right-aligned in the right rail */
.widget_archive ul {
  padding: 0;
  text-align: right;
}
.widget_archive li {
  display: block;
  padding: 1px 0;
  border-bottom: none;
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-variant: small-caps;
  font-weight: 500;
  font-size: 9pt;
  letter-spacing: 0;
  line-height: 1.28;
  text-align: right;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}
.widget_archive li a { color: #1c1c20; font-weight: 500; }

/* WP Calendar widget */
.widget_calendar { text-align: center; }
.widget_calendar .calendar_wrap { margin-top: 2px; }
.widget_calendar #wp-calendar,
.widget_calendar table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Cardo', Garamond, serif;
  font-size: 9.5pt;
  font-feature-settings: "tnum";
  margin: 0 auto;
}
.widget_calendar caption {
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-variant: small-caps;
  font-weight: 600;
  font-size: 10.5pt;
  letter-spacing: .12em;
  padding: 2px 0 4px;
  color: #1c1c20;
}
.widget_calendar th {
  font-variant: small-caps;
  font-weight: 700;
  font-size: 9pt;
  letter-spacing: .06em;
  padding: 2px 0;
  border-bottom: 1px solid #1c1c20;
  text-align: center;
}
.widget_calendar td {
  padding: 2px 0;
  text-align: center;
  color: #1c1c20;
  border: 0;
}
.widget_calendar td#today,
.widget_calendar td.today {
  background: #9a1f1f;
  color: #fbfaf6;
  font-weight: 700;
}
.widget_calendar td#today a,
.widget_calendar td.today a { color: #fbfaf6; }
.widget_calendar .wp-calendar-nav,
.widget_calendar tfoot {
  font-style: italic;
  font-size: 9pt;
  margin-top: 4px;
  text-align: center;
}
.widget_calendar .wp-calendar-nav a,
.widget_calendar tfoot a { color: #9a1f1f; }

/* WP Recent Comments widget */
.widget_recent_comments #recentcomments,
.widget_recent_comments ul { padding: 0; }
.widget_recent_comments li {
  border-bottom: 1px dotted #00000026;
  padding: 3px 0;
  font-size: 9pt;
  line-height: 1.34;
}
.widget_recent_comments li:last-child { border-bottom: 0; }
.widget_recent_comments .comment-author-link { font-weight: 700; }

/* === Dates inside widgets =====================================
   RSS widget (.rss-date), Related Posts by Taxonomy
   (.rpbt-post-date), comments widget <time>, etc. — all rendered
   in italics, lighter colour, lining numerals. */
.widget .rss-date,
.widget .rpbt-post-date,
.widget .post-date,
.widget time,
.widget .comment-date {
  font-style: italic;
  color: #6a6a70;
  font-feature-settings: "tnum";
  font-size: .92em;
  white-space: nowrap;
}

/* WP Links / Blogroll widget */
.widget_links li { font-size: 9pt; }
.widget_links li a { font-weight: 400; }

/* =============================================================
   7. ARTICLES
   ============================================================= */

.entry {
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #00000026;
}
.entry:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
/* Kicker line of categories. Spans wrap on the separator dots
   (which are zero-width-space-able) so long lists don't overflow. */
.kicker {
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-variant: small-caps;
  font-weight: 700;
  font-size: 9.5pt;
  letter-spacing: .14em;
  color: #9a1f1f;
  margin: 0 0 2px;
  text-transform: uppercase;
  display: flex;
  flex-wrap: wrap;
  gap: 0 .35em;
  align-items: baseline;
}
.kicker .kicker-sep { color: #9a1f1f88; }
.kicker a { color: inherit; text-decoration: none; }
.kicker a:hover { text-decoration: underline; }

.entry-title {
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-weight: 600;
  font-size: 17pt;
  line-height: 1.06;
  margin: 0 0 4px;
  color: #1c1c20;
  letter-spacing: -.002em;
  text-wrap: balance;
}
.entry-title a { color: inherit; }
.byline {
  font-family: 'Cardo', serif;
  font-style: italic;
  font-size: 9.5pt;
  color: #6a6a70;
  margin: 0 0 7px;
  font-feature-settings: "tnum";
}

.entry-content p {
  text-align: justify;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  margin: 0 0 .5em;
  text-indent: 1.1em;
  orphans: 2;
  widows: 2;
}
.entry-content p:first-of-type { text-indent: 0; }
.entry-content blockquote {
  margin: .6em 1.2em;
  padding-left: 12px;
  border-left: 2px solid #9a1f1f;
  font-style: italic;
}
.entry-content ul, .entry-content ol { margin: .5em 0 .5em 1.6em; padding: 0; }
.entry-content h2, .entry-content h3, .entry-content h4 {
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-variant: small-caps;
  font-weight: 600;
  letter-spacing: .06em;
  margin: 1em 0 .25em;
  break-after: avoid;
}
.entry-content h2 { font-size: 15pt; }
.entry-content h3 { font-size: 13pt; }
.entry-content h4 { font-size: 12pt; }

/* Containment: anything fixed-width inside an entry (embedded
   videos, oversized iframes, Twitter cards, etc.) gets cropped
   at the column edge rather than spilling into the next column. */
.entry-content { overflow: hidden; }
.entry-content img,
.entry-content figure { max-width: 100%; height: auto; }
.entry-content iframe,
.entry-content video,
.entry-content embed,
.entry-content object { max-width: 100%; }
.entry-content figure { margin: .8em 0; }
.entry-content figcaption {
  font-family: 'Cardo', serif;
  font-style: italic;
  font-size: 9.5pt;
  line-height: 1.34;
  padding-top: 5px;
  text-align: center;
  color: #1c1c20;
}

/* =============================================================
   8. LEAD ARTICLE
   ============================================================= */

.entry--lead .kicker { font-size: 10.5pt; }
.entry--lead .entry-title {
  font-size: clamp(22pt, 4.5vw, 32pt);
  line-height: 1.02;
  text-align: left;
  letter-spacing: -.005em;
  margin-bottom: 5px;
}
.entry--lead .byline { margin-bottom: 8px; font-size: 10.5pt; }

.lead-art {
  margin: 6px auto 10px;
  max-width: 78%;
}
.lead-art img { display: block; width: 100%; height: auto; border: 1px solid #1c1c20; }
.lead-art figcaption {
  font-family: 'Cardo', serif;
  font-style: italic;
  font-size: 9.5pt;
  line-height: 1.34;
  padding-top: 5px;
  text-align: center;
}
.lead-art figcaption .credit {
  display: block;
  font-style: normal;
  font-variant: small-caps;
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-size: 9pt;
  letter-spacing: .1em;
  color: #6a6a70;
  margin-top: 3px;
}

/* Drop cap on the first paragraph of the lead. CSS-only. */
.entry--lead .entry-content > p:first-of-type::first-letter {
  float: left;
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-weight: 600;
  font-size: 52px;
  line-height: .85;
  padding: 5px 7px 0 0;
  color: #9a1f1f;
}

/* =============================================================
   9. SUB COLUMNS — smaller, denser
   ============================================================= */

.content--sub1 .entry-title,
.content--sub2 .entry-title {
  font-size: 13.5pt;
  line-height: 1.1;
}
.content--sub1 .byline,
.content--sub2 .byline { font-size: 9pt; }
.content--sub1 .entry-content p,
.content--sub2 .entry-content p { font-size: 9.5pt; }

.earlier {
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-variant: small-caps;
  font-weight: 700;
  font-size: 11pt;
  letter-spacing: .08em;
  text-align: right;
  margin: 6px 0 0;
}
.earlier a { color: #9a1f1f; }

/* =============================================================
   10. FOOTER
   ============================================================= */

.site-footer {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 3px double #1c1c20;
  text-align: center;
}
.site-footer p {
  margin: 0;
  font-family: 'Cardo', serif;
  font-style: italic;
  font-size: 9.5pt;
  color: #6a6a70;
}

/* =============================================================
   11. SINGLE-POST LAYOUT (single.php)
   --------------------------------------------------------------
   On single-post pages the article wants the WHOLE width, not
   the narrow centre column. We promote .single-main to span the
   middle 27 grid columns on desktop, drop the side widget rails
   to the foot of the page, and bump the body type up because
   one long measure benefits from more size.
   ============================================================= */

.single-main {
  max-width: 720px;
  margin: 0 auto;
  padding: 6px 0 20px;
}
.single-main .entry-title {
  font-size: clamp(26pt, 4.8vw, 38pt);
  line-height: 1.02;
  text-align: left;
  margin-bottom: 6px;
}
.single-main .entry-meta {
  font-family: 'Cardo', serif;
  font-style: italic;
  font-size: 10pt;
  color: #6a6a70;
  margin: 0 0 12px;
  font-feature-settings: "tnum";
}
.single-main .entry-meta .meta-sep { margin: 0 .4em; opacity: .5; }
.single-main .entry-content { font-size: 11.5pt; line-height: 1.5; }
.single-main .entry-content p { text-indent: 0; margin: 0 0 .85em; }
.single-main .entry-content > p:first-of-type::first-letter {
  float: left;
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-weight: 600;
  font-size: 56px;
  line-height: .85;
  padding: 6px 8px 0 0;
  color: #9a1f1f;
}
.single-main .entry-content figure { margin: 1em 0; }
.single-main .single-footer {
  margin: 18px 0 0;
  padding: 10px 0;
  border-top: 1px solid #1c1c20;
  border-bottom: 1px solid #1c1c20;
  font-family: 'Cormorant Garamond', Cardo, serif;
  font-variant: small-caps;
  font-size: 10pt;
  letter-spacing: .08em;
}
.single-main .single-footer .tags a,
.single-main .single-footer .cats a { color: #1c1c20; }
.single-main .single-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 14px 0 0;
  font-family: 'Cormorant Garamond', Cardo, serif;
}
.single-main .single-nav .prev,
.single-main .single-nav .next {
  font-size: 11pt;
  line-height: 1.25;
}
.single-main .single-nav .label {
  font-variant: small-caps;
  font-size: 9pt;
  letter-spacing: .12em;
  color: #9a1f1f;
  display: block;
  margin-bottom: 2px;
}
.single-main .single-nav .next { text-align: right; }
.single-main .comments-area {
  margin-top: 22px;
  padding-top: 14px;
  border-top: 3px double #1c1c20;
}

/* =============================================================
   12. DESKTOP GRID (≥700px)
   --------------------------------------------------------------
   The 35-column rig. Source order is now: header, main, widgets.
   Mobile = source order, posts-first. Desktop = explicit
   grid-row/grid-column placement, so the visual layout is
   unchanged from before.
   ============================================================= */

@media screen and (min-width: 700px) {
  .world {
    display: grid;
    grid-template-columns: repeat(35, 1fr);
    grid-template-rows: auto auto auto auto auto;
    column-gap: .55rem;
    row-gap: .35rem;
    padding: 18px 24px 16px;
  }

  /* Flatten section wrappers so children become real grid items */
  .site-header,
  .widget-rail,
  .site-main,
  .widget-area--one { display: contents; }

  /* Row 1 — masthead */
  .branding {
    grid-column: 1 / -1;
    grid-row: 1;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
    padding: 4px 6px 8px;
    margin-bottom: 6px;
  }
  .custom-logo-link,
  .masthead-logo-link { margin: 0; }
  .custom-logo,
  .masthead-logo { width: 72px; height: 72px; }
  .masthead-spacer { display: block; width: 72px; height: 1px; }

  /* Row 2 — search left, nav right */
  .search-form {
    grid-column: 1 / span 14;
    grid-row: 2;
    margin: 0;
    align-self: center;
  }
  .links {
    grid-column: 15 / span 21;
    grid-row: 2;
    text-align: right;
    align-self: center;
    padding: 4px 0;
  }
  .links .menu { justify-content: flex-end; }

  /* Row 3 — five widgets across (widget-area-one)
     Cap height + clip overflow. JS in widget-trim.js trims each
     list to whole items so we never see half a line. */
  .widget-area--one > .widget {
    grid-row: 3;
    margin: 0;
    height: var(--top-widget-height, 200px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    font-size: 8.5pt;
    line-height: 1.3;
  }
  .widget-area--one > .widget .widget-title { font-size: 10.5pt; margin-bottom: 4px; padding-bottom: 2px; }
  .widget-area--one > .widget li { padding: 1px 0; line-height: 1.3; }
  .widget-area--one > .widget > .widget-title,
  .widget-area--one > .widget > .widgettitle { flex: 0 0 auto; }
  .widget-area--one > .widget > * { min-height: 0; }
  .widget-area--one > .widget > ul,
  .widget-area--one > .widget > .calendar_wrap,
  .widget-area--one > .widget > .textwidget {
    flex: 1 1 auto;
    overflow: hidden;
  }
  .widget-area--one > .widget:nth-child(1) { grid-column: 1  / span 7; }
  .widget-area--one > .widget:nth-child(2) { grid-column: 8  / span 7; }
  .widget-area--one > .widget:nth-child(3) { grid-column: 15 / span 7; }
  .widget-area--one > .widget:nth-child(4) { grid-column: 22 / span 7; }
  .widget-area--one > .widget:nth-child(5) { grid-column: 29 / span 7; }

  /* Row 4 — main content + two side rails (home/index) */
  .widget-area--two {
    grid-column: 1 / span 3;
    grid-row: 4;
    display: grid;
    gap: 10px;
    align-content: start;
    min-width: 0;
  }
  .widget-area--three {
    grid-column: 33 / span 3;
    grid-row: 4;
    display: grid;
    gap: 10px;
    align-content: start;
    min-width: 0;
  }
  .widget-area--two .widget,
  .widget-area--three .widget {
    border-top: 3px double #1c1c20;
    border-bottom: 1px solid #1c1c20;
    padding: 5px 3px 7px;
    margin: 0;
    font-size: 9pt;
    line-height: 1.3;
  }
  .widget-area--three .widget-title {
    text-align: right;
    padding-right: 2px;
  }

  .content { background: transparent; padding: 0; }
  .content--sub1 {
    grid-column: 4 / span 6;
    grid-row: 4;
    padding-right: 10px;
    border-right: 1px solid #1c1c20;
  }
  .content--main {
    grid-column: 10 / span 14;
    grid-row: 4;
    padding: 0 12px;
    border-right: 1px solid #1c1c20;
  }
  .content--sub2 {
    grid-column: 24 / span 9;
    grid-row: 4;
    padding: 0 10px;
    border-right: 1px solid #1c1c20;
  }

  /* Single-post: main takes the whole content row, side rails
     drop to row 5 underneath. */
  .single-main {
    grid-column: 1 / -1;
    grid-row: 4;
  }
  body.single .widget-area--two,
  body.single .widget-area--three {
    grid-row: 5;
  }
  body.single .widget-area--two  { grid-column: 1 / span 17; }
  body.single .widget-area--three { grid-column: 18 / span 18; }
  body.single .widget-area--two .widget-title,
  body.single .widget-area--three .widget-title {
    text-align: center;
    padding-right: 0;
  }

  /* Footer row */
  .site-footer {
    grid-column: 1 / -1;
    grid-row: 6;
  }
}

/* =============================================================
   13. MOBILE OVERRIDES (<700px)
   --------------------------------------------------------------
   Default flow (no grid). Source order is now header → main →
   widgets, so posts come first. Both narrow side rails (#two
   and #three) get rendered like normal widgets — no right-align,
   no super-narrow font — so they don't look out of place.
   ============================================================= */

@media screen and (max-width: 699px) {
  .branding { padding: 6px 0 10px; }
  .branding .masthead-logo,
  .branding .custom-logo { width: 58px; height: 58px; }

  /* Search + nav stack */
  .search-form { margin: 6px 0 8px; }
  .links { text-align: center; padding: 6px 0; }

  /* Sub columns collapse */
  .content--sub1,
  .content--sub2,
  .content--main { padding: 0; }
  .content--main { border-bottom: 1px solid #00000033; padding-bottom: 14px; margin-bottom: 14px; }
  .content--sub1 { border-bottom: 1px solid #00000033; padding-bottom: 14px; margin-bottom: 14px; }

  /* Lead photo less restrictive on mobile */
  .lead-art { max-width: 100%; }

  /* Side rails on mobile: treat as normal full-width widgets */
  .widget-area--two .widget,
  .widget-area--three .widget,
  .widget-area--three .widget-title,
  .widget-area--three .widget_archive ul,
  .widget-area--three .widget_archive li,
  .widget-area--two .widget_categories li,
  .widget-area--three .widget-title {
    text-align: left;
  }
  .widget-area--three .widget_archive ul { text-align: left; }
  .widget-area--three .widget_archive li { text-align: left; }
  .widget-area--two .widget_categories ul,
  .widget-area--three .widget_archive ul { padding-left: 0; }
  .widget-area--two .widget_categories li {
    text-indent: 0;
    padding-left: 0;
    font-size: 10pt;
  }
  .widget-area--two .widget_categories .children { padding-left: 14px; }
  .widget-area--three .widget_archive li { font-size: 10pt; }

  /* Side rails get the same chrome as the top widgets */
  .widget-area--two .widget,
  .widget-area--three .widget {
    border-top: 1px solid #1c1c20;
    border-bottom: 1px solid #1c1c20;
    padding: 6px 6px 8px;
    margin: 0 0 10px;
    font-size: 10pt;
  }
  .widget-area--two .widget-title,
  .widget-area--three .widget-title { text-align: center; }

  /* Single-post comments / nav: full-width naturally */
  .single-main .single-nav { grid-template-columns: 1fr; }
}
