/* ================================================================
   PHOTO ARCHIVE (Blog Index) — "POLITICO" / NEWSROOM (Astra)
   Scope: body.blog only

   Goals:
   - crisp editorial layout (flat cards, rules not shadows)
   - tighter type rhythm + consistent padding
   - headlines look like a newsroom deck (clamped)
   - meta reads like a kicker (small, uppercase, letter-spaced)
   - excerpts don’t dominate (clamped)
   - tags read as quiet metadata with a divider line
   - mobile: not edge-glued; photo inset matches text
   ================================================================ */

:root{
  --cd-accent: var(--ast-global-color-0);
  --cd-max: 1440px;

  /* Grid */
  --cd-gap: 1rem;

  /* Card */
  --cd-card-radius: 4px;
  --cd-card-border: rgba(0,0,0,0.14);

  /* Padding */
  --cd-pad-x: 1rem;
  --cd-pad-top: 0.85rem;
  --cd-pad-mid: 0.55rem;
  --cd-pad-bot: 0.90rem;

  /* Type */
  --cd-title-size: 1.05rem;
  --cd-title-lh: 1.06;

  --cd-meta-size: 0.70rem;
  --cd-meta-lh: 1.10;

  --cd-excerpt-size: 0.90rem;
  --cd-excerpt-lh: 1.24;

  --cd-tags-size: 0.66rem;
  --cd-tags-lh: 1.18;

  /* Mobile */
  --cd-page-gutter-m: 10px;          /* not edge-glued */
  --cd-pad-x-m: 0.95rem;
  --cd-photo-inset-m: 0.25rem;
}

/* ================================================================
   1) REMOVE TOP GAP / EXTRA PADDING (BLOG ONLY)
   ================================================================ */
body.blog .site-content,
body.blog .ast-container,
body.blog .content-area,
body.blog .site-main,
body.blog #primary{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.blog .page-header,
body.blog .ast-archive-description{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.blog .site-main > :first-child{ margin-top: 0 !important; }

body.blog .ast-archive-title,
body.blog .page-title{
  margin: 0 !important;
  padding: 0 !important;
}

/* ================================================================
   2) SIDEBAR-SAFE WIDTH + CLEAR SEPARATION
   ================================================================ */
body.blog.ast-right-sidebar #primary,
body.blog.ast-left-sidebar  #primary,
body.blog.ast-right-sidebar .content-area,
body.blog.ast-left-sidebar  .content-area,
body.blog.ast-right-sidebar .site-main,
body.blog.ast-left-sidebar  .site-main{
  width: 100% !important;
  max-width: 100% !important;
}

body.blog .ast-container{ max-width: var(--cd-max) !important; }

body.blog .site-main{
  width: 99% !important;
  max-width: var(--cd-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Divider between content + sidebar (desktop) */
@media (min-width: 992px){
  body.blog.ast-right-sidebar .content-area{
    padding-right: 1rem !important;
    border-right: 1px solid rgba(0,0,0,0.08) !important;
  }
  body.blog.ast-right-sidebar .widget-area{
    padding-left: 1rem !important;
  }

  body.blog.ast-left-sidebar .content-area{
    padding-left: 1rem !important;
    border-left: 1px solid rgba(0,0,0,0.08) !important;
  }
  body.blog.ast-left-sidebar .widget-area{
    padding-right: 1rem !important;
  }
}

/* Mobile: controlled near full-bleed */
@media (max-width: 768px){
  body.blog .ast-container,
  body.blog .site-content .ast-container{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.blog .site-main{
    width: calc(100vw - var(--cd-page-gutter-m)) !important;
    max-width: none !important;
  }
}

/* ================================================================
   3) GRID (Astra loop -> grid)
   ================================================================ */
body.blog .site-main .ast-row{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: var(--cd-gap) !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (min-width: 720px){
  body.blog .site-main .ast-row{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* 3-up only when no sidebar */
@media (min-width: 1100px){
  body.blog.ast-no-sidebar .site-main .ast-row{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

body.blog .site-main .ast-row > article{
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ================================================================
   4) CARD (Politico: flat + rules, not shadows)
   ================================================================ */
body.blog .site-main article{
  background: #fff !important;
  border: 1px solid var(--cd-card-border) !important;
  border-radius: var(--cd-card-radius) !important;
  overflow: hidden !important;

  /* Flatten */
  box-shadow: none !important;
  transition: border-color .14s ease, background-color .14s ease !important;
}

body.blog .site-main article:hover{
  border-color: rgba(0,0,0,0.22) !important;
}

/* Kill Astra inner padding source */
body.blog .site-main article .ast-article-inner{
  padding: 0 !important;
}

/* Add a subtle accent rule (newsroom feel) */
body.blog .site-main article::before{
  content: "" !important;
  display: block !important;
  height: 3px !important;
  background: rgba(0,0,0,0.06) !important;
}
body.blog .site-main article:hover::before{
  background: var(--cd-accent) !important;
  opacity: 0.9 !important;
}

/* ================================================================
   5) FEATURED IMAGE
   ================================================================ */
body.blog .site-main article .post-thumb,
body.blog .site-main article .post-thumb-img-content,
body.blog .site-main article .ast-blog-featured-section,
body.blog .site-main article .ast-post-thumb{
  margin: 0 !important;
  padding: 0 !important;
}

body.blog .site-main article .post-thumb a,
body.blog .site-main article .ast-blog-featured-section a{
  display: block !important;
  line-height: 0 !important;
}

body.blog .site-main article img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

/* ================================================================
   6) INNER SPACING (consistent newsroom padding)
   ================================================================ */
body.blog .site-main article .entry-header,
body.blog .site-main article .entry-content,
body.blog .site-main article .entry-footer{
  padding-left: var(--cd-pad-x) !important;
  padding-right: var(--cd-pad-x) !important;
}

body.blog .site-main article .entry-header{
  padding-top: var(--cd-pad-top) !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}
body.blog .site-main article .entry-content{
  padding-top: 0 !important;
  padding-bottom: 0.30rem !important;
  margin: 0 !important;
}
body.blog .site-main article .entry-footer{
  padding-top: 0 !important;
  padding-bottom: var(--cd-pad-bot) !important;
  margin: 0 !important;
}

body.blog .site-main article .entry-header *{ margin-top: 0 !important; }

/* ================================================================
   7) TYPOGRAPHY (Politico-ish rhythm)
   ================================================================ */

/* Meta = kicker */
body.blog .site-main article .entry-meta,
body.blog .site-main article .ast-post-meta{
  font-size: var(--cd-meta-size) !important;
  line-height: var(--cd-meta-lh) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: rgba(0,0,0,0.55) !important;
  margin: 0 0 0.35rem !important;
}

/* Headline */
body.blog .site-main article .entry-title{
  font-size: var(--cd-title-size) !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  line-height: var(--cd-title-lh) !important;
  margin: 0 0 0rem !important;
  text-transform: none !important;

  /* keep grid tidy */
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Title link behavior (newsroom underline) */
body.blog .site-main article .entry-title a{
  color: #111 !important;
  text-decoration: none !important;
}
body.blog .site-main article .entry-title a:hover{
  color: #111 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-thickness: 2px !important;
}

/* Excerpt */
body.blog .site-main article .entry-content p{
  margin: 0 !important;
  font-size: var(--cd-excerpt-size) !important;
  line-height: var(--cd-excerpt-lh) !important;
  color: rgba(0,0,0,0.72) !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Hide read more */
body.blog .read-more,
body.blog .more-link{ display: none !important; }

/* ================================================================
   8) INTRO BLOCK (more editorial)
   ================================================================ */
body.blog .photo-archive-intro{
  width: 100% !important;
  margin: 0.85rem 0 0.85rem !important;
  padding: 0.85rem 1.05rem !important;

  background: #fff !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  border-left: 6px solid var(--cd-accent) !important;

  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.blog .photo-archive-intro-inner{ max-width: 1100px !important; }

body.blog .photo-archive-intro h1{
  font-size: 1.35rem !important;
  line-height: 1.06 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 0.45rem !important;
  color: #111 !important;
}

body.blog .photo-archive-intro p{
  font-size: 0.92rem !important;
  line-height: 1.40 !important;
  color: rgba(0,0,0,0.78) !important;
  margin: 0 0 0.45rem !important;
}

body.blog .photo-archive-intro a{
  color: #111 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body.blog .photo-archive-intro-cta{ margin-top: 0.35rem !important; }

body.blog .photo-archive-button{
  display: inline-block !important;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  padding: 0.38rem 0.65rem !important;

  border: 1px solid rgba(0,0,0,0.18) !important;
  border-radius: 999px !important; /* newsroom pill */
  background: #fff !important;
  color: #111 !important;
  text-decoration: none !important;
}

body.blog .photo-archive-button:hover{
  border-color: #111 !important;
  background: rgba(0,0,0,0.03) !important;
}

@media (max-width: 768px){
  body.blog .photo-archive-intro{
    margin: 0.6rem 0 0.65rem !important;
    padding: 0.65rem 0.75rem !important;
    border-left-width: 5px !important;
  }
  body.blog .photo-archive-intro-inner{ max-width: none !important; }
  body.blog .photo-archive-intro h1{
    font-size: 1.05rem !important;
    margin-bottom: 0.35rem !important;
  }
  body.blog .photo-archive-intro p{
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
  }
}

/* ================================================================
   9) TAGS (quiet metadata + divider, clamped)
   ================================================================ */
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  margin: 0.35rem 0 0 !important;
  padding: 0.35rem 0 0 !important;

  border-top: 1px solid rgba(0,0,0,0.14) !important;

  font-size: var(--cd-tags-size) !important;
  line-height: var(--cd-tags-lh) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  color: rgba(0,0,0,0.58) !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;

  opacity: 1 !important;
}

body.blog .site-main article .tags-links *,
body.blog .site-main article .post-tags *,
body.blog .site-main article .ast-taxonomy-container *{
  opacity: 1 !important;
}

body.blog .site-main article .tags-links a,
body.blog .site-main article .tags-links a:visited,
body.blog .site-main article .tags-links a:active,
body.blog .site-main article .post-tags a,
body.blog .site-main article .post-tags a:visited,
body.blog .site-main article .post-tags a:active,
body.blog .site-main article .ast-taxonomy-container a,
body.blog .site-main article .ast-taxonomy-container a:visited,
body.blog .site-main article .ast-taxonomy-container a:active{
  color: rgba(0,0,0,0.58) !important;
  text-decoration: none !important;
}
body.blog .site-main article .tags-links a:hover,
body.blog .site-main article .post-tags a:hover,
body.blog .site-main article .ast-taxonomy-container a:hover{
  color: var(--cd-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* ================================================================
   10) MOBILE — inset photo + align text to photo
   ================================================================ */
@media (max-width: 768px){

  body.blog .site-main article{
    border-radius: 4px !important;
  }

  body.blog .site-main article .entry-header,
  body.blog .site-main article .entry-content,
  body.blog .site-main article .entry-footer{
    padding-left: var(--cd-pad-x-m) !important;
    padding-right: var(--cd-pad-x-m) !important;
  }

  body.blog .site-main article .entry-header{
    padding-top: 0.75rem !important;
    padding-bottom: 0.35rem !important;
  }

  body.blog .site-main article .entry-content{
    padding-bottom: 0.25rem !important;
  }

  body.blog .site-main article .entry-title{
    font-size: 1.0rem !important;
  }

  body.blog .site-main article .entry-content p{
    -webkit-line-clamp: 2 !important;
  }

  /* Photo inset */
  body.blog .site-main article .post-thumb,
  body.blog .site-main article .ast-blog-featured-section,
  body.blog .site-main article .ast-post-thumb{
    padding-left: var(--cd-photo-inset-m) !important;
    padding-right: var(--cd-photo-inset-m) !important;
    padding-top: var(--cd-photo-inset-m) !important;
  }

  body.blog .site-main article img{
    border-radius: 4px !important;
  }

  body.blog .site-main article .tags-links,
  body.blog .site-main article .post-tags,
  body.blog .site-main article .ast-taxonomy-container{
    font-size: 0.63rem !important;
    margin-top: 0.28rem !important;
    padding-top: 0.28rem !important;
  }
}

/* ================================================================
   11) PAGINATION (keep your style)
   ================================================================ */
body.blog .pagination,
body.blog nav.navigation.pagination{
  width: 98% !important;
  max-width: var(--cd-max) !important;
  margin: 1.75rem auto 3rem !important;
  padding: 0 !important;
}

body.blog .pagination .page-numbers,
body.blog nav.navigation.pagination .page-numbers{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.6rem !important;
}

body.blog .pagination .page-numbers a,
body.blog .pagination .page-numbers span{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 2.4rem !important;
  height: 2.4rem !important;
  padding: 0 0.85rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,0,0,0.12) !important;
  background: #fff !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  color: rgba(0,0,0,0.62) !important;
}

body.blog .pagination .page-numbers a:hover{
  border-color: #111 !important;
  color: #111 !important;
  background: rgba(0,0,0,0.02) !important;
}

body.blog .pagination .page-numbers .current{
  border-color: #111 !important;
  color: #111 !important;
  background: #fff !important;
  font-weight: 800 !important;
}

@media (max-width: 640px){
  body.blog .pagination{
    width: calc(100vw - 12px) !important;
    max-width: none !important;
  }
  body.blog .pagination .page-numbers a,
  body.blog .pagination .page-numbers span{
    height: 2.2rem !important;
    min-width: 2.2rem !important;
    padding: 0 0.75rem !important;
    font-size: 0.88rem !important;
  }
}
/* =========================================================
   ASTRA LOOP FIX — pad the *actual* title + excerpt elements
   Paste at VERY BOTTOM
   ========================================================= */

/* Title + excerpt blocks Astra outputs in the loop */
body.blog .site-main .ast-blog-single-element,
body.blog .site-main .ast-excerpt-container{
  padding-left: var(--cd-pad-x) !important;
  padding-right: var(--cd-pad-x) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Title itself: no weird default margins */
body.blog .site-main .ast-blog-single-element .entry-title{
  margin: 0 0 0.35rem !important;
}

/* Excerpt: keep it tight + no random margins */
body.blog .site-main .ast-excerpt-container{
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0.30rem !important;
}

body.blog .site-main .ast-excerpt-container p{
  margin: 0 !important;
}

/* Mobile: match your mobile padding var */
@media (max-width: 768px){
  body.blog .site-main .ast-blog-single-element,
  body.blog .site-main .ast-excerpt-container{
    padding-left: var(--cd-pad-x-m) !important;
    padding-right: var(--cd-pad-x-m) !important;
  }
}
/* =========================================================
   PHOTO ARCHIVE — tighten text to card edge
   Keep photo full-bleed
   ========================================================= */

/* 1) Ensure photo stays full width */
body.blog .site-main article .post-thumb,
body.blog .site-main article .post-thumb-img-content,
body.blog .site-main article .ast-blog-featured-section,
body.blog .site-main article .ast-post-thumb{
  padding: 0 !important;
  margin: 0 !important;
}

body.blog .site-main article img{
  border-radius: 4px 4px 0 0 !important;
}

/* 2) Reduce text side padding */
body.blog .site-main .ast-blog-single-element,
body.blog .site-main .ast-excerpt-container,
body.blog .site-main article .entry-header,
body.blog .site-main article .entry-content,
body.blog .site-main article .entry-footer,
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  padding-left: 0.55rem !important;
  padding-right: 0.55rem !important;
}

/* 3) Keep vertical spacing clean */
body.blog .site-main article .entry-title{
  margin: 0 0 0.25rem !important;
}

body.blog .site-main .ast-excerpt-container{
  padding-top: 0 !important;
  padding-bottom: 0.25rem !important;
}

body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  margin-top: 0.25rem !important;
  padding-top: 0.25rem !important;
  padding-bottom: 0.35rem !important;
}

/* 4) Mobile: even slightly tighter */
@media (max-width: 768px){

  body.blog .site-main .ast-blog-single-element,
  body.blog .site-main .ast-excerpt-container,
  body.blog .site-main article .entry-header,
  body.blog .site-main article .entry-content,
  body.blog .site-main article .entry-footer,
  body.blog .site-main article .tags-links,
  body.blog .site-main article .post-tags,
  body.blog .site-main article .ast-taxonomy-container{
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

}

/* =========================================================
   MICRO TUNE — tighten bottom + stronger divider
   ========================================================= */

/* Reduce bottom cushion */
body.blog .site-main article .entry-footer{
  padding-bottom: 0.65rem !important;
}

/* Slightly stronger divider above tags */
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  border-top: 1px solid rgba(0,0,0,0.18) !important;
}

/* =========================================================
   PHOTO ARCHIVE — tighter card padding
   ========================================================= */

/* Reduce overall horizontal padding slightly */
body.blog .site-main .ast-blog-single-element,
body.blog .site-main .ast-excerpt-container,
body.blog .site-main article .entry-header,
body.blog .site-main article .entry-content,
body.blog .site-main article .entry-footer,
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

/* Reduce space below image */
body.blog .site-main article .entry-header{
  padding-top: 0.55rem !important;
  padding-bottom: 0.20rem !important;
}

/* Tighten title spacing */
body.blog .site-main article .entry-title{
  margin: 0 0 0.18rem !important;
}

/* Tighten excerpt block */
body.blog .site-main .ast-excerpt-container{
  padding-bottom: 0.18rem !important;
}
body.blog .site-main .ast-excerpt-container p{
  margin: 0 !important;
  line-height: 1.25 !important;
}

/* Tighten divider + tags */
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  margin-top: 0.18rem !important;
  padding-top: 0.18rem !important;
  padding-bottom: 0.22rem !important;
}
/* =========================================================
   PHOTO ARCHIVE — EXTRA TIGHT NEWSROOM PASS
   ========================================================= */

/* Narrow side padding further */
body.blog .site-main .ast-blog-single-element,
body.blog .site-main .ast-excerpt-container,
body.blog .site-main article .entry-header,
body.blog .site-main article .entry-content,
body.blog .site-main article .entry-footer,
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  padding-left: 0.38rem !important;
  padding-right: 0.38rem !important;
}

/* Bring text closer to image */
body.blog .site-main article .entry-header{
  padding-top: 0.42rem !important;
  padding-bottom: 0.14rem !important;
}

/* Tighten headline spacing */
body.blog .site-main article .entry-title{
  margin: 0 0 0.14rem !important;
  line-height: 1.05 !important;
}

/* Tighten excerpt */
body.blog .site-main .ast-excerpt-container{
  padding-bottom: 0.14rem !important;
}
body.blog .site-main .ast-excerpt-container p{
  margin: 0 !important;
  line-height: 1.22 !important;
}

/* Tight divider + tags */
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  margin-top: 0.14rem !important;
  padding-top: 0.14rem !important;
  padding-bottom: 0.18rem !important;
}

/* Slightly stronger rule to balance tighter spacing */
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  border-top: 1px solid rgba(0,0,0,0.20) !important;
}
/* =========================================================
   PHOTO ARCHIVE — MICRO TIGHT + LIGHTER TAGS
   ========================================================= */

/* Slightly tighter horizontal padding */
body.blog .site-main .ast-blog-single-element,
body.blog .site-main .ast-excerpt-container,
body.blog .site-main article .entry-header,
body.blog .site-main article .entry-content,
body.blog .site-main article .entry-footer,
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  padding-left: 0.32rem !important;
  padding-right: 0.32rem !important;
}

/* Bring title even closer to image */
body.blog .site-main article .entry-header{
  padding-top: 0.35rem !important;
  padding-bottom: 0.10rem !important;
}

/* Tighten headline */
body.blog .site-main article .entry-title{
  margin: 0 0 0.10rem !important;
  line-height: 1.03 !important;
}

/* Tighten excerpt spacing */
body.blog .site-main .ast-excerpt-container{
  padding-bottom: 0.10rem !important;
}
body.blog .site-main .ast-excerpt-container p{
  line-height: 1.20 !important;
  margin: 0 !important;
}

/* Make tags lighter + less loud */
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  margin-top: 0.10rem !important;
  padding-top: 0.12rem !important;
  padding-bottom: 0.16rem !important;

  font-size: 0.62rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  color: rgba(0,0,0,0.42) !important;

  border-top: 1px solid rgba(0,0,0,0.12) !important;
}

/* Make tag links softer */
body.blog .site-main article .tags-links a,
body.blog .site-main article .post-tags a,
body.blog .site-main article .ast-taxonomy-container a{
  color: rgba(0,0,0,0.42) !important;
}

body.blog .site-main article .tags-links a:hover,
body.blog .site-main article .post-tags a:hover,
body.blog .site-main article .ast-taxonomy-container a:hover{
  color: var(--cd-accent) !important;
}

/* =========================================================
   PHOTO ARCHIVE — tighter intro + remove whitespace
   ========================================================= */

/* Remove space above intro */
body.blog .photo-archive-intro{
  margin-top: 1 !important;
  padding-top: 0.55rem !important;
  padding-bottom: 0.55rem !important;
}

/* Remove extra container spacing above */
body.blog .site-main > .photo-archive-intro:first-child{
  margin-top: 0 !important;
}

/* Smaller headline */
body.blog .photo-archive-intro h1{
  font-size: 0.98rem; !important;
  line-height: 1.08 !important;
  margin: 0 0 0.30rem !important;
}

/* Smaller paragraph */
body.blog .photo-archive-intro p{
  font-size: 0.78rem; !important;
  line-height: 1.35 !important;
  margin: 0 0 0.30rem !important;
}

/* Tighten CTA spacing if present */
body.blog .photo-archive-intro-cta{
  margin-top: 0.25rem !important;
}
.photo-sort-toggle .toggle-label {
  display: none !important;
}
/* =========================================================
   NEWSROOM FONT + CAPTION SIZE (paste at VERY BOTTOM)
   ========================================================= */

/* Load fonts (Google Fonts) */
@import url('https://fonts.googleapis.com/css2?family=Public+Sans:wght@600;700;800;900&family=Source+Sans+3:wght@400;500;600;700&display=swap');

:root{
  /* Font stacks */
  --cd-font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --cd-font-head: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  /* Readability floors (replaces that ~12px feel) */
  --cd-excerpt-size: 0.95rem;   /* ~15.2px on 16px base */
  --cd-excerpt-lh: 1.28;

  --cd-meta-size: 0.74rem;      /* ~11.8px, but uppercase kicker */
  --cd-tags-size: 0.70rem;      /* ~11.2px, but softer/quiet */
}

/* Apply body font to the archive */
body.blog{
  font-family: var(--cd-font-body) !important;
}

/* Headline font */
body.blog .site-main article .entry-title,
body.blog .photo-archive-intro h1{
  font-family: var(--cd-font-head) !important;
}

/* Headline tuning (still tight, just nicer) */
body.blog .site-main article .entry-title{
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.06 !important;
}

/* Meta: keep newsroom kicker, but readable */
body.blog .site-main article .entry-meta,
body.blog .site-main article .ast-post-meta{
  font-family: var(--cd-font-body) !important;
  font-size: var(--cd-meta-size) !important;
  line-height: 1.15 !important;
}

/* Excerpt/caption: bump size so it’s not tiny */
body.blog .site-main article .entry-content p,
body.blog .site-main .ast-excerpt-container p{
  font-family: var(--cd-font-body) !important;
  font-size: var(--cd-excerpt-size) !important;
  line-height: var(--cd-excerpt-lh) !important;
  letter-spacing: 0 !important;
}

/* Tags: still small, but not “too small” */
body.blog .site-main article .tags-links,
body.blog .site-main article .post-tags,
body.blog .site-main article .ast-taxonomy-container{
  font-family: var(--cd-font-body) !important;
  font-size: var(--cd-tags-size) !important;
  line-height: 1.18 !important;
}

/* Mobile: keep readable floor */
@media (max-width: 768px){
  :root{
    --cd-excerpt-size: 0.94rem; /* ~15px */
    --cd-meta-size: 0.76rem;    /* ~12px */
    --cd-tags-size: 0.72rem;    /* ~11.5px */
  }
}
/* ============================================================
   PHOTO ARCHIVE (Blog Index) — Pagination FIX
   Fixes left-stacked / tall nav-links block
   ============================================================ */

/* Target blog index + your photo-archive page (adjust page-id if needed) */
body.blog nav.navigation.pagination,
body.page-id-168825 nav.navigation.pagination{
  margin: 2rem auto 3rem !important;
  width: 100% !important;
}

/* ✅ Flex belongs on the CONTAINER */
body.blog nav.navigation.pagination .nav-links,
body.page-id-168825 nav.navigation.pagination .nav-links{
  display: flex !important;
  flex-direction: row !important;     /* prevent vertical stacking */
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.6rem !important;

  width: 100% !important;
  height: auto !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ✅ Undo the bad rule: page-numbers should NOT be a flex container */
body.blog nav.navigation.pagination .page-numbers,
body.page-id-168825 nav.navigation.pagination .page-numbers{
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;

  min-width: 44px !important;
  height: 44px !important;
  padding: 0 0.85rem !important;

  border: 2px solid var(--ast-global-color-0) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111 !important;

  text-decoration: none !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  box-sizing: border-box !important;
}

/* Current page */
body.blog nav.navigation.pagination .page-numbers.current,
body.page-id-168825 nav.navigation.pagination .page-numbers.current{
  background: var(--ast-global-color-0) !important;
  color: #fff !important;
}

/* Dots */
body.blog nav.navigation.pagination .page-numbers.dots,
body.page-id-168825 nav.navigation.pagination .page-numbers.dots{
  border-color: transparent !important;
  background: transparent !important;
  min-width: auto !important;
  padding: 0 0.25rem !important;
}

/* Hover */
body.blog nav.navigation.pagination a.page-numbers:hover,
body.page-id-168825 nav.navigation.pagination a.page-numbers:hover{
  background: rgba(0,0,0,0.04) !important;
}

/* Mobile: make prev/next easier to tap */
@media (max-width: 600px){
  body.blog nav.navigation.pagination .page-numbers.prev,
  body.blog nav.navigation.pagination .page-numbers.next,
  body.page-id-168825 nav.navigation.pagination .page-numbers.prev,
  body.page-id-168825 nav.navigation.pagination .page-numbers.next{
    min-width: 120px !important;
  }
}