/*
Theme Name: Siga Siga Publisher Starter
Theme URI: https://example.com/
Description: A clean, builder-neutral starter presentation for Siga Siga Publisher. Child theme of Twenty Twenty-Five.
Author: Siga Siga Publisher
Version: 0.1.1
Template: twentytwentyfive
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: siga-siga-publisher-starter
*/

:root {
  --ssp-starter-ink: #17191d;
  --ssp-starter-muted: #62666d;
  --ssp-starter-line: #dedfe2;
  --ssp-starter-paper: #ffffff;
  --ssp-starter-soft: #f4f2ed;
  --ssp-starter-accent: #2457d6;
  --ssp-starter-accent-dark: #193fa4;
  --ssp-starter-radius: 14px;
  --ssp-starter-wide: 1180px;
  --ssp-starter-reading: 760px;
}

body {
  color: var(--ssp-starter-ink);
  background: var(--ssp-starter-paper);
}

a { text-underline-offset: .16em; }

.ssp-starter-header {
  border-bottom: 1px solid var(--ssp-starter-line);
  background: rgba(255,255,255,.96);
}

.ssp-starter-header .wp-block-site-title {
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  font-weight: 720;
  letter-spacing: -.03em;
}

.ssp-starter-header .wp-block-site-title a { text-decoration: none; }

.ssp-starter-header .wp-block-navigation-item__content {
  text-decoration: none;
  font-weight: 560;
}

.ssp-starter-header .wp-block-navigation-item__content:hover { color: var(--ssp-starter-accent); }

.ssp-starter-main { min-height: 60vh; }

.ssp-starter-page-title,
.single-substack_item .ssp-story-title {
  letter-spacing: -.045em;
  line-height: 1.05;
}

/* Demo landing page */
.ssp-demo-hero {
  margin-top: 0;
  padding: clamp(4rem, 8vw, 7.5rem) 1.25rem;
  background: var(--ssp-starter-soft);
  border-bottom: 1px solid var(--ssp-starter-line);
}

.ssp-demo-hero > .wp-block-group__inner-container,
.ssp-demo-section > .wp-block-group__inner-container,
.ssp-demo-newsletter > .wp-block-group__inner-container {
  max-width: var(--ssp-starter-wide);
  margin-inline: auto;
}

.ssp-demo-hero-copy { max-width: 820px; }

.ssp-demo-kicker {
  margin-bottom: .8rem;
  color: var(--ssp-starter-accent);
  font-size: .82rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ssp-demo-hero h1 {
  max-width: 850px;
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: clamp(3rem, 7vw, 6.2rem);
  line-height: .98;
  letter-spacing: -.065em;
}

.ssp-demo-hero .ssp-demo-deck {
  max-width: 700px;
  color: var(--ssp-starter-muted);
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  line-height: 1.55;
}

.ssp-demo-section { padding: clamp(3.5rem, 6vw, 6rem) 1.25rem; }
.ssp-demo-section + .ssp-demo-section { border-top: 1px solid var(--ssp-starter-line); }

.ssp-demo-section-heading {
  margin-bottom: 2rem;
  font-size: clamp(2rem, 4vw, 3.3rem);
  letter-spacing: -.045em;
}

.ssp-demo-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}

.ssp-demo-intro-grid .ssp-demo-copy { max-width: 720px; }
.ssp-demo-note {
  padding: 1.4rem;
  background: var(--ssp-starter-soft);
  border-radius: var(--ssp-starter-radius);
  color: var(--ssp-starter-muted);
}

.ssp-demo-latest .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1.6rem;
}

.ssp-demo-latest .wp-block-post {
  overflow: hidden;
  border: 1px solid var(--ssp-starter-line);
  border-radius: var(--ssp-starter-radius);
  background: #fff;
}

.ssp-demo-latest .wp-block-post-featured-image { margin: 0; aspect-ratio: 16/10; }
.ssp-demo-latest .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.ssp-demo-latest .wp-block-post-title,
.ssp-demo-latest .wp-block-post-excerpt,
.ssp-demo-latest .wp-block-post-date { margin-inline: 1.25rem; }
.ssp-demo-latest .wp-block-post-title { margin-top: 1.25rem; font-size: 1.35rem; line-height: 1.18; }
.ssp-demo-latest .wp-block-post-title a { text-decoration: none; }
.ssp-demo-latest .wp-block-post-excerpt { color: var(--ssp-starter-muted); }
.ssp-demo-latest .wp-block-post-date { margin-bottom: 1.25rem; font-size: .86rem; color: var(--ssp-starter-muted); }

.ssp-demo-newsletter {
  padding: clamp(3rem, 6vw, 5rem) 1.25rem;
  background: var(--ssp-starter-ink);
  color: #fff;
}

.ssp-demo-newsletter h2 { color: #fff; letter-spacing: -.045em; }
.ssp-demo-newsletter p { color: rgba(255,255,255,.78); }

.wp-block-button__link,
.mbffl-showcase-button,
.mbffl-discussion-submit,
.mbffl-archive-search-button {
  border-radius: 999px !important;
  background: var(--ssp-starter-accent) !important;
  color: #fff !important;
  border: 0 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background .15s ease, transform .15s ease;
}

.wp-block-button__link:hover,
.mbffl-showcase-button:hover,
.mbffl-discussion-submit:hover,
.mbffl-archive-search-button:hover {
  background: var(--ssp-starter-accent-dark) !important;
  transform: translateY(-1px);
}

/* Generic demo pages */
.ssp-demo-page {
  max-width: var(--ssp-starter-reading);
  margin-inline: auto;
  padding: clamp(3.5rem, 7vw, 6rem) 1.25rem;
}

.ssp-demo-page-wide { max-width: var(--ssp-starter-wide); }
 .ssp-starter-page-head {
  max-width: var(--ssp-starter-reading);
  margin-inline: auto;
  padding: clamp(3.5rem, 7vw, 5.5rem) 1.25rem 0;
}
.ssp-starter-page-head .wp-block-post-title {
  margin: 0;
  font-size: clamp(2.8rem, 6vw, 5rem);
  letter-spacing: -.06em;
  line-height: 1;
}
.ssp-demo-page h1 { font-size: clamp(2.8rem, 6vw, 5rem); letter-spacing: -.06em; line-height: 1; }
.ssp-demo-page h2 { margin-top: .4rem; font-size: clamp(1.9rem, 3.5vw, 2.8rem); letter-spacing: -.04em; line-height:1.08; }
.ssp-demo-page p { line-height: 1.7; }
.ssp-demo-page .ssp-demo-lede { font-size: 1.28rem; color: var(--ssp-starter-muted); }

.ssp-demo-author-grid {
  display: grid;
  grid-template-columns: 220px minmax(0,1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
  margin-top: 2.5rem;
}

.ssp-demo-portrait-placeholder {
  display: grid;
  place-items: center;
  aspect-ratio: 4/5;
  border-radius: var(--ssp-starter-radius);
  background: var(--ssp-starter-soft);
  font-size: 3rem;
  font-weight: 800;
  letter-spacing: -.06em;
}

/* Story archive component — style the stable legacy hooks without changing storage/contracts. */
.mbffl-archive-wrap { max-width: var(--ssp-starter-wide); margin-inline: auto; }
.mbffl-archive-toolbar {
  display: flex;
  gap: .8rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 2rem;
}

.mbffl-archive-toolbar input,
.mbffl-archive-toolbar select,
.mbffl-discussion input,
.mbffl-discussion textarea {
  border: 1px solid #cfd2d7 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--ssp-starter-ink) !important;
}

.mbffl-archive-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 1.6rem !important;
}

.mbffl-archive-card {
  overflow: hidden;
  border: 1px solid var(--ssp-starter-line) !important;
  border-radius: var(--ssp-starter-radius) !important;
  box-shadow: none !important;
}

.mbffl-archive-image {
  display:block !important;
  position:relative !important;
  width:100% !important;
  aspect-ratio: 3 / 2 !important;
  overflow:hidden !important;
  background: var(--ssp-starter-soft);
}
.mbffl-archive-image img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 !important;
}
.mbffl-archive-card-body { padding: 1.25rem !important; }
.mbffl-archive-title { font-size: 1.3rem !important; line-height: 1.2 !important; }
.mbffl-archive-title a { text-decoration: none !important; }
.mbffl-archive-excerpt,
.mbffl-archive-meta { color: var(--ssp-starter-muted) !important; }

/* Single Story: Publisher owns the article; theme supplies the shell. */
.single-substack_item main.ssp-starter-main { padding-bottom: clamp(4rem, 8vw, 7rem); }
.single-substack_item .ssp-story-shell { max-width: 980px; margin-inline: auto; padding: clamp(3rem, 6vw, 5.5rem) 1.25rem 0; }
.single-substack_item .ssp-story-title { max-width: 900px; margin-bottom: 2rem; font-size: clamp(3rem, 6vw, 5.7rem); }
.single-substack_item .ssp-story-featured { overflow: hidden; border-radius: var(--ssp-starter-radius); margin-bottom: 2rem; }
.single-substack_item .ssp-story-featured img { width: 100%; height: auto; }
.single-substack_item .ssp-story-content { max-width: var(--ssp-starter-reading); margin-inline: auto; font-size: 1.08rem; line-height: 1.72; }
.single-substack_item .ssp-story-content > * { margin-top: 0; margin-bottom: 1.5rem; }
.single-substack_item .ssp-story-content h2,
.single-substack_item .ssp-story-content h3 { margin-top: 2.3rem; line-height: 1.16; letter-spacing: -.03em; }
.single-substack_item .ssp-story-content img { border-radius: 10px; }
.single-substack_item .mbffl-meta-share-wrap { margin-bottom: 2rem !important; }

.mbffl-discussion {
  margin-top: 4rem !important;
  padding-top: 3rem !important;
  border-top: 1px solid var(--ssp-starter-line) !important;
}
.mbffl-discussion-inner { max-width: none !important; }
.mbffl-discussion-title { letter-spacing: -.04em; }
.mbffl-discussion-field-row { gap: 1rem !important; }
.mbffl-discussion textarea { min-height: 140px; }


/* Keep the entire Publisher Story in one coherent reading flow. */
.single-substack_item .ssp-story-shell,
.single-substack_item .ssp-story-content,
.single-substack_item .ssp-story-content > *,
.single-substack_item .mbffl-meta-share-wrap,
.single-substack_item .ssp-story-signature,
.single-substack_item .mbffl-bottom-story-cta,
.single-substack_item .mbffl-discussion {
  box-sizing:border-box;
}

.single-substack_item .ssp-story-content {
  width:100%;
  max-width:var(--ssp-starter-reading) !important;
  margin-inline:auto !important;
}

.single-substack_item .ssp-story-content > :where(*:not(.alignwide):not(.alignfull)) {
  max-width:100%;
  margin-left:0;
  margin-right:0;
}

.single-substack_item .mbffl-meta-share-wrap,
.single-substack_item .ssp-story-signature,
.single-substack_item .mbffl-bottom-story-cta,
.single-substack_item .mbffl-discussion {
  position:static !important;
  float:none !important;
  clear:both !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.single-substack_item .mbffl-meta-share-wrap {
  margin-top:0 !important;
  margin-bottom:2rem !important;
  padding:0 !important;
}

.single-substack_item .ssp-story-signature {
  margin-top:2.5rem !important;
  margin-bottom:2.5rem !important;
}
.single-substack_item .ssp-story-signature img {
  max-width:min(100%, 520px) !important;
  height:auto !important;
}

.single-substack_item .mbffl-bottom-story-cta {
  margin-top:3rem !important;
  padding:1.5rem 0 0 !important;
  border-top:1px solid var(--ssp-starter-line) !important;
}
.single-substack_item .mbffl-bottom-story-cta-inner {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:.6rem !important;
}
.single-substack_item .mbffl-bottom-story-cta-title {
  font-size:1.15rem !important;
  font-weight:700 !important;
}
.single-substack_item .mbffl-bottom-story-cta-actions {
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:.55rem !important;
}
.single-substack_item .mbffl-bottom-story-share-button,
.single-substack_item .mbffl-like-button {
  font:inherit;
}

.single-substack_item .mbffl-discussion {
  margin-top:3rem !important;
  padding-top:2.5rem !important;
  border-top:1px solid var(--ssp-starter-line) !important;
}
.single-substack_item .mbffl-discussion-inner {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.single-substack_item .mbffl-discussion-title {
  margin:0 0 .75rem !important;
  font-size:clamp(1.8rem, 3vw, 2.5rem) !important;
  line-height:1.1 !important;
}
.single-substack_item .mbffl-discussion-intro,
.single-substack_item .mbffl-discussion-empty,
.single-substack_item .mbffl-discussion-note {
  color:var(--ssp-starter-muted) !important;
}
.single-substack_item .mbffl-discussion-field-row {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:1rem !important;
}
.single-substack_item .mbffl-discussion-form label,
.single-substack_item .mbffl-discussion-comment-field {
  display:flex !important;
  flex-direction:column !important;
  gap:.4rem !important;
  width:100% !important;
}
.single-substack_item .mbffl-discussion input,
.single-substack_item .mbffl-discussion textarea {
  width:100% !important;
  box-sizing:border-box !important;
  padding:.75rem .85rem !important;
  font:inherit !important;
}
.single-substack_item .mbffl-discussion-submit {
  padding:.7rem 1.15rem !important;
}

.ssp-starter-footer {
  color:var(--ssp-starter-ink);
}
.ssp-starter-footer .wp-block-page-list {
  gap:.45rem 1.2rem;
}
.ssp-starter-footer .wp-block-navigation-item__content {
  font-size:.95rem;
}

.ssp-starter-footer {
  margin-top: 0;
  padding: 3rem 1.25rem;
  border-top: 1px solid var(--ssp-starter-line);
  background: var(--ssp-starter-soft);
}
.ssp-starter-footer .wp-block-site-title { font-weight: 760; letter-spacing: -.03em; }
.ssp-starter-footer .wp-block-navigation-item__content { text-decoration: none; }
.ssp-starter-footer-note { color: var(--ssp-starter-muted); font-size: .9rem; }

@media (max-width: 800px) {
  .ssp-demo-latest .wp-block-post-template,
  .mbffl-archive-grid { grid-template-columns: 1fr !important; }
  .ssp-demo-intro-grid,
  .ssp-demo-author-grid { grid-template-columns: 1fr; }
  .ssp-demo-portrait-placeholder { max-width: 220px; }
  .single-substack_item .ssp-story-title { font-size: clamp(2.5rem, 13vw, 4.5rem); }
  .single-substack_item .mbffl-discussion-field-row { grid-template-columns:1fr !important; }
}

/* Normal Pages: the theme owns the H1; demo content begins immediately beneath it. */
.ssp-starter-page-head + .wp-block-post-content .ssp-demo-page {
  padding-top: clamp(1.25rem, 3vw, 2rem);
}
.ssp-starter-page-head + .wp-block-post-content .ssp-demo-kicker:first-child {
  margin-top: 0;
}
