.has-primary-background-color {
  h1, h2, h3, h4, h5, h6, ul, li, a, p {
color: white;
}
}

header{
  .wp-block-group-first{
    margin-block-start: 0;
}
}

footer{
  .wp-block-group-first{
    margin-block-start: 0;
  padding-top: 0;
  padding-bottom: 0;
}
}

/* =========================================
   Strand theme – Latest Posts block styling
   Targets wp-block-latest-posts markup (ul/li)
   Matches the "newsletter-style" reference
   ========================================= */

/* Scope: only on home/blog/archive (adjust if needed) */
body.home .wp-block-latest-posts,
body.blog .wp-block-latest-posts,
body.archive .wp-block-latest-posts {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* Remove any theme defaults on the UL that fight spacing */
body.home ul.wp-block-latest-posts__list,
body.blog ul.wp-block-latest-posts__list,
body.archive ul.wp-block-latest-posts__list {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Each entry: ~40px separation + subtle divider */
body.home ul.wp-block-latest-posts__list > li,
body.blog ul.wp-block-latest-posts__list > li,
body.archive ul.wp-block-latest-posts__list > li {
  margin: 0 0 40px 0 !important;     /* space between entries */
  padding: 0 0 40px 0 !important;    /* space above divider line */
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* Last entry: no divider / spacing */
body.home ul.wp-block-latest-posts__list > li:last-child,
body.blog ul.wp-block-latest-posts__list > li:last-child,
body.archive ul.wp-block-latest-posts__list > li:last-child {
  border-bottom: none;
  padding-bottom: 0 !important;
}

/* Title */
body.home .wp-block-latest-posts__post-title,
body.blog .wp-block-latest-posts__post-title,
body.archive .wp-block-latest-posts__post-title {
  display: block; /* ensures spacing works consistently */
  font-size: clamp(1.7rem, 2.2vw, 2.1rem);
  font-weight: 700;
  line-height: 1.22;
  text-decoration: none !important; /* override theme underline */
  margin: 0 !important;
}

/* Optional hover underline (comment out if you want none) */
body.home .wp-block-latest-posts__post-title:hover,
body.blog .wp-block-latest-posts__post-title:hover,
body.archive .wp-block-latest-posts__post-title:hover {
  text-decoration: underline;
}

/* Author */
body.home .wp-block-latest-posts__post-author,
body.blog .wp-block-latest-posts__post-author,
body.archive .wp-block-latest-posts__post-author {
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 0.85rem;
  color: #777;
}

/* Date */
body.home .wp-block-latest-posts__post-date,
body.blog .wp-block-latest-posts__post-date,
body.archive .wp-block-latest-posts__post-date {
  display: block;
  margin-top: 6px;
  margin-bottom: 0;
  font-size: 0.85rem;
  color: #777;
}

/* If your theme applies "link color" to all anchors, keep body text links tidy */
body.home .wp-block-latest-posts a,
body.blog .wp-block-latest-posts a,
body.archive .wp-block-latest-posts a {
  text-decoration-thickness: 0;
}


/* =========================================================
   Strand / Sidebar redesign (Option 1: Editorial)
   Targets the exact markup you shared: .side-panel
   ========================================================= */

/* --- Sidebar container: reduce height + clutter, keep sticky 
.side-panel.wp-block-group{
  min-height:auto !important;
  padding-top:clamp(18px,2.2vw,28px) !important;
  padding-right:clamp(16px,2vw,26px) !important;
  padding-bottom:clamp(18px,2.2vw,28px) !important;
  padding-left:clamp(16px,2vw,26px) !important;
  display:flex;
  flex-direction:column;
  gap:16px;
}

--- */

.side-panel.is-position-sticky{ top:0; }

/* Remove random default margins in sidebar */
.side-panel :where(p,h1,h2,figure,ul,.wp-block-buttons,.wp-block-embed,.wp-block-jetpack-contact-form-container,.wp-block-jetpack-subscriber-login){
  /*margin-top:0 !important;
  margin-bottom:0 !important;*/
}

/* --- Identity tightening --- */
.side-panel .wp-block-site-title{ margin:0 !important; line-height:0.98; }
.side-panel .wp-block-site-title a{ text-decoration:none; }
.side-panel .wp-block-site-tagline{
  max-width:22ch;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Logo image smaller */
.side-panel figure.wp-block-image{ margin-top:10px !important; }
.side-panel figure.wp-block-image img{
  width:100%;
  height:auto;
  max-width:320px;
  max-height:150px;
  object-fit:contain;
  display:block;
  margin-left:auto;
  margin-right:auto;
}

/* Top “Looking for…” line */
.side-panel > p.has-medium-font-size{
  padding-bottom:0 !important;
  font-size:0.95rem !important;
  opacity:0.95;
}

/* Callout paragraph */
.side-panel p.has-plus-jakarta-sans-font-family{
  padding-left:0 !important;
  padding-right:0 !important;
  line-height:1.25;
  max-width:28ch;
  margin-left:auto;
  margin-right:auto;
  opacity:0.95;
}

/* --- Editorial nav: restyle existing Buttons --- */
.side-panel .wp-block-buttons{ width:100%; display:block; }
.side-panel .wp-block-button{ width:100%; }
.side-panel .wp-block-button__link{
  width:100%;
  display:block;
  background:transparent !important;
  border:1px solid rgba(255,255,255,0.35) !important;
  box-shadow:none !important;
  text-transform:uppercase;
  letter-spacing:0.07em;
  font-weight:800;
  padding:14px 14px !important;
  line-height:1.1;
  text-decoration:none !important;
}

/* Normalize the extra-large inline-styled AFTF / MERCH buttons */
.side-panel .wp-block-button__link[style*="spacing--70"],
.side-panel .wp-block-button__link[style*="spacing--40"]{
  padding-top:14px !important;
  padding-bottom:14px !important;
  font-size:1.05rem !important;
}

.side-panel .wp-block-button__link:hover{ background:rgba(255,255,255,0.10) !important; }

/* --- Video: keep but constrain --- */
.side-panel .wp-block-embed-youtube{ width:100%; margin-top:6px !important; }
.side-panel .wp-block-embed__wrapper iframe{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16/9;
  border:1px solid rgba(255,255,255,0.35);
}

/* --- Social icons tighter --- */
.side-panel .wp-block-social-links{
  margin-top:12px !important;
  margin-bottom:12px !important;
  gap:10px;
}

/* --- Newsletter/contact: compact card --- */
.side-panel .wp-block-jetpack-contact-form-container{
  background:rgba(0,0,0,0.14);
  border:1px solid rgba(255,255,255,0.35);
  padding:14px;
}

.side-panel .grunion-field-label,
.side-panel .wp-block-jetpack-label{
  font-size:0.95rem !important;
  line-height:1.15;
  margin-bottom:6px !important;
}

.side-panel .grunion-field-wrap{ margin-bottom:12px !important; }

.side-panel input.wp-block-jetpack-input{
  height:44px !important;
  padding:10px 12px !important;
  border-radius:0 !important;
}

.side-panel .wp-block-jetpack-field-consent label{
  font-size:0.85rem;
  line-height:1.25;
  opacity:0.95;
}

/* Subscribe button */
.side-panel .wp-block-jetpack-button .wp-block-button__link{
  background:rgba(0,0,0,0.35) !important;
  border:1px solid rgba(255,255,255,0.45) !important;
  padding:14px 14px !important;
}

/* Login link */
.side-panel .wp-block-jetpack-subscriber-login{
  font-size:0.9rem;
  opacity:0.9;
  margin-top:6px !important;
}

/* --- Mobile: reduce density further --- */
@media (max-width:781px){
  .side-panel.wp-block-group{
    padding-left:18px !important;
    padding-right:18px !important;
    gap:14px;
  }
  .side-panel figure.wp-block-image img{ max-height:130px; }
  .side-panel .wp-block-button__link{ padding:12px 12px !important; }
  .side-panel .wp-block-jetpack-contact-form-container{ padding:12px; }
}

/* K8 tweaks */

.wp-site-blocks > .wp-block-columns {
  height: 100vh;
}
.wp-site-blocks > .wp-block-columns .wp-block-column.wp-container-core-column-is-layout-8a368f38 {
  overflow: auto;
}

.side-panel .wp-block-site-tagline {
  max-width: 18ch !important;
}
.side-panel header .ct-action:not(.cta-action-nav) {
    display: none;
}
.side-panel header .ct-action:not(.cta-action-nav)::after {
  content: "\2193"; /* Unicode for a simple down arrow */
  color: inherit;
  display: block;
}
.wp-block-navigation-item__content:hover{
  text-decoration: none;
}
.wp-block-navigation .wp-block-navigation-item__content:hover .wp-block-navigation-item__description{
  text-decoration: underline;
}
.wp-block-navigation .wp-block-navigation-item__description{
  font-weight: 400;
}
@media (max-width:600px){
  .wp-block-navigation__responsive-container-close {
      right: 20px;
      top: 35px;
  }
  .side-panel {
    min-height: auto !important
  }
  header .wp-block-navigation{
    position: unset;
  }
  .wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open){
    background-color: #fafafa !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    padding: calc(2rem + 24px) 5% 5%;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item:not(.ct-action) .wp-block-navigation-item__label:first-of-type{
    color: #cf2e2e;
    font-size: 2rem;
  }
}
@media (min-width: 600px){
  .wp-block-navigation .wp-block-navigation-item__label {
      overflow-wrap: break-word;
      font-size: clamp(1.6rem, 2.6vw, 2.5rem) !important;
      white-space: nowrap;
  }
  .side-panel header .ct-action:not(.ct-action-nav) {
      display: block;
  }
  .side-panel header .ct-action.ct-action-nav {
      display: none;
  }
}
@media (min-width: 600px) and (max-width: 781px){
  .side-panel {
    min-height: auto !important
  }
  header .wp-block-navigation{
    position: unset;
    justify-content: space-around;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {}
  
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    padding: calc(2rem + 24px) 5% 5%;
  }
  .wp-block-navigation .wp-block-navigation-item__description{
    display: none;
  }
}
.wp-block-navigation__responsive-container-close{}
.wp-block-navigation__responsive-container-open{
  position: absolute;
    top: 0;
    right: 0;
    padding: 0;
    margin: 0;
}
@media (max-width: 781px){
  .side-panel .wp-block-site-title a {
    font-size: 11vw;
  }
}
@media (min-width: 782px){
  .side-panel header nav{
    margin-block-start: .5rem;
  }
  .side-panel header .ct-action:not(.ct-action-nav) {
      font-size: clamp(1.25rem, .25rem + ((1vw - 0.2rem) * 1.765), 1.8rem) !important;
  }
  .side-panel .wp-block-site-title{
    font-size: clamp(24px, 3.25vw, 46px) !important;
    white-space: nowrap;
  }
  .side-panel .wp-block-site-tagline{
    font-size: clamp(.9rem, 1.5vw, 1.2rem)!important;
    max-width: 24ch !important;
  }
  
  .wp-block-navigation .wp-block-navigation-item__description{
    font-size: 50%;
  }
  .wp-block-navigation .wp-block-navigation-item{
    flex-basis: 100%;
  }
}
