.article-wrap{
  width: min(var(--sbb-read), calc(100% - 32px));
  margin-inline: auto;
}
.article-head{ margin: 10px 0 18px 0; }
.article-title{ margin: 10px 0 10px 0; }
.article-featured{
  border-radius: var(--sbb-radius);
  overflow:hidden;
  border: var(--sbb-border);
  box-shadow: var(--sbb-shadow);
  margin: 18px 0;
}
.article-featured img{ width:100%; height:auto; display:block; }
.entry-content{ font-size: 18px; line-height: 1.75; }
.entry-content p{ margin: 0 0 16px 0; }
.entry-content h2{ font-size: 24px; margin: 26px 0 12px 0; line-height: 1.15; }
.entry-content h3{ font-size: 20px; margin: 22px 0 10px 0; }
.entry-content blockquote{
  margin: 18px 0;
  padding: 16px 16px;
  border-left: 6px solid var(--sbb-accent);
  background: rgba(225,29,72,.06);
  border-radius: 14px;
  font-weight: 800;
}
.entry-content blockquote p{ margin: 0; }
.entry-content .wp-block-pullquote{
  border-top: 4px solid var(--sbb-text);
  border-bottom: 4px solid var(--sbb-text);
  padding: 18px 10px;
  margin: 24px 0;
}
.entry-content .wp-block-pullquote blockquote{ border:0; background: transparent; padding:0; margin:0; }
.entry-content .wp-block-pullquote p{
  font-size: 24px;
  line-height: 1.25;
  font-weight: 1000;
  letter-spacing: -0.02em;
}
/* Comments */
.comments-area{
  width: min(var(--sbb-read), calc(100% - 32px));
  margin: 28px auto 0 auto;
}
.comments-title{ font-weight: 1000; letter-spacing: -0.01em; margin: 0 0 10px 0; }
.comment-list{ margin: 0; padding: 0; list-style: none; }
.comment{
  border: var(--sbb-border);
  border-radius: var(--sbb-radius);
  box-shadow: var(--sbb-shadow);
  padding: 14px 14px 10px 14px;
  margin: 14px 0;
}
.comment .comment-meta{ color: var(--sbb-muted); font-weight: 800; font-size: 12px; text-transform: uppercase; }
.comment .comment-content{ margin-top: 10px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%;
  border: var(--sbb-border);
  border-radius: 14px;
  padding: 10px 12px;
}
.comment-form textarea{ min-height: 120px; }
.comment-form input:focus, .comment-form textarea:focus{
  outline:none;
  border-color: rgba(225,29,72,.55);
  box-shadow: 0 0 0 4px rgba(225,29,72,.12);
}
.comment-form .form-submit input{
  border:0;
  background: var(--sbb-text);
  color:#fff;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 950;
  cursor:pointer;
}
.comment-form .form-submit input:hover{ background: var(--sbb-accent); }

/* =========================================
   Spill More (related posts)
   Desktop: tidy grid
   Mobile: swipeable rail
   ========================================= */

.sbb-more-wrap{ margin-top: 24px; }

.sbb-more-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin: 0 0 12px 0;
}

.sbb-more-hint{
  display:none;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .02em;
}

/* Default (desktop/tablet): grid */
.sbb-more-rail{
  display:grid;
  gap:22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 1200px){
  .sbb-more-rail{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Mobile: horizontal scroll rail */
@media (max-width: 980px){
  .sbb-more-hint{ display:inline; }
  .sbb-more-rail{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    padding: 4px 2px 12px 2px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .sbb-more-item{
    flex: 0 0 auto;
    width: min(82vw, 340px);
    scroll-snap-align: start;
  }

  /* Helps avoid accidental horizontal page scroll */
  .sbb-more-wrap{ overflow-x:hidden; }
}
