/* ========== Sounds Page (overrides/additions on top of tufte.css) ========== */

:root{
  --mp-blue: #49A1B7;
  --mp-blue-2: #77A4C7;
  --mp-ink: #111;
  --mp-ink-soft: #3a3a3a;
  --panel-radius: 18px;
  --max-width: 1100px;
  --gap: 24px;
}

#content{
  max-width: none;          /* no artificial cap */
  margin: 0;
  padding-right: 4%;

}

/* sounds-page.css */
html, body{
  font-family: "Work Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
/* --- Hero --- */
.sp-hero{
  margin: 2.5rem 0 1.5rem 0;
}
.sp-title{
  margin: 0 0 .5rem 0;
  font-size: clamp(28px, 5vh, 44px);
  color: var(--mp-blue);
  text-decoration: underline;
  text-decoration-color: rgba(180,203,182,1);
}
.sp-intro{
  font-style: italic;
  color: #b8dbd9; /* echoes your homepage intro tone */
  margin: 0 0 1rem 0;
}
.sp-figure-hero{
  margin: 1rem 0 0 0;
}
.sp-figure-hero img{
  display: block;
  width: min(550px, 100%);
  height: auto;
  margin: 0 auto;
}
.sp-figure-hero figcaption{
  text-align: center;
  font-size: .9rem;
  color: var(--mp-ink-soft);
  margin-top: .4rem;
}

/* --- Section headings / subhead --- */
.sp-section{ margin-top: 1.5rem; }
.sp-heading{
  font-size: clamp(22px, 4vh, 34px);
  color: var(--mp-blue);
  text-decoration: underline;
  text-decoration-color: rgba(180,203,182,1);
  margin: 2rem 0 .75rem 0;
}
.sp-subhead{
  font-size: clamp(16px, 2.6vh, 22px);
  color: var(--mp-blue-2);
  margin: 0 0 1rem 0;
}

/* --- Contents list --- */
.sp-contents{ margin: 1rem 0 2rem 0; }
.sp-contents-title{
  margin: 0 0 .25rem 0;
  font-size: 1rem;
  color: var(--mp-ink-soft);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.sp-contents-list{
  margin: 0; padding: 0;
  list-style: none;
}
.sp-contents-list li{ margin: .25rem 0; }
.sp-contents-list a{
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,.2);
  padding-bottom: 2px;
  color: inherit;
}
.sp-contents-list a:hover{ border-bottom-color: var(--mp-blue); }

/* --- Repeating items (image + meta) --- */
.sp-item{ margin: 0 0 2rem 0; }
.sp-item-title{
  margin: 0 0 .9rem 0;
  font-size: clamp(20px, 2.8vh, 26px);
  font-style: normal;
  color:#7851A9;
}
.sp-item-head{
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 16px;
  align-items: start;
}
.sp-thumb{
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
}
.sp-item-meta{
  display: grid;
  gap: 6px;
}
.sp-duration{
  margin: 0;
  font-weight: 600;
}
.sp-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0; padding: 0;
  list-style: none;
}
.sp-badges li{
  background: rgba(73,161,183,.15);
  border: 1px solid rgba(73,161,183,.35);
  color: var(--mp-ink);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: .9rem;
}
.sp-copy p{
  margin: 1.3rem 0 0 0;
  font-size: 1.1rem;   /* adjust as needed (0.9rem = smaller, 1rem = default) */
  line-height: 1.5;     /* balanced readability */
}

/* --- Back to top --- */
.sp-back{
  margin: 2rem 0 4rem 0;
}
.sp-backlink{
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 8px;
  padding: .4rem .6rem;
  color: inherit;
}
.sp-backlink:hover{ border-color: var(--mp-blue); }

/* --- Responsive tweaks --- */
@media (max-width: 900px){
  .sp-item-head{
    grid-template-columns: 120px 1fr;
  }
}
@media (max-width: 700px){
  .sp-item-head{
    grid-template-columns: 1fr;
  }
}

.sp-lede { max-width: none; }

/* For the simple section-based jump list */
#on-this-page ul{
  list-style: none;      /* no bullet dots */
  margin: 0;
  padding-left: 0;
}
#on-this-page a{
  text-decoration: none; /* no underline */
  color: inherit;
}
/* keep it keyboard-accessible without re-adding underline */
#on-this-page a:focus-visible{
  outline: 2px solid var(--mp-blue);
  outline-offset: 2px;
}

/* If you’re still using the classed version (.sp-contents) anywhere: */
.sp-contents .sp-contents-list{
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.sp-contents .sp-contents-list a{
  text-decoration: none;
  color: inherit;
}

/* Tight, smaller numbered list */
.sp-copy .sp-ol{
  font-size: 0.95rem;     /* smaller text */
  line-height: 1.35;      /* tighter lines */
  margin: .4rem 0 .8rem;
  padding-left: 1.1rem;
  margin-bottom: 3rem;
}
.sp-copy .sp-ol > li + li{ margin-top: .25rem; }
.sp-copy .sp-ol ol{       /* nested lists */
  font-size: 0.92rem;
  line-height: 1.3;
  margin: .25rem 0 .5rem;
  padding-left: 1.1rem;
}

/* Make item titles a touch larger */
.sp-item-title{
  font-size: clamp(22px, 3vh, 28px);
  /* keep other existing styles as-is */
}

/* Remove bold from duration line */
.sp-duration{
  font-weight: normal;
}

/* Consistent "chip" badges */
.sp-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;   /* keeps first chip aligned with the row */
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Uniform pill styling */
.sp-badges li{
  display: inline-flex;          /* fix baseline/first-item lift */
  align-items: center;           /* vertically center text inside */
  justify-content: center;

  /* sizing */
  --chip-h: 28px;                /* tweak once here if needed */
  min-height: var(--chip-h);
  line-height: 1;                /* stable vertical rhythm */
  padding: 6px 10px;             /* inner space */

  /* visuals */
  background: rgba(73,161,183,.12);
  border: 1px solid rgba(73,161,183,.38);
  border-radius: 9999px;
  box-sizing: border-box;

  /* text */
  font-size: 0.9rem;
  font-weight: 400;
  color: inherit;
  white-space: nowrap;           /* avoid multi-line chips */
}

/* If a badge ever wraps (very narrow screens), let it break cleanly */
@media (max-width: 420px){
  .sp-badges{ gap: 6px; }
  .sp-badges li{ white-space: normal; line-height: 1.15; }
}

/* Force a uniform row box (removes baseline quirks) */
.sp-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  line-height: 0;              /* kill the container's line box */
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Every chip is the same height and vertically centered */
.sp-badges li{
  display: flex;               /* flex (not inline-flex) avoids baseline creep */
  align-items: center;
  justify-content: center;

  height: 28px;                /* explicit, identical height */
  padding: 0 10px;             /* horizontal space */
  margin: 0;

  background: rgba(73,161,183,.12);
  border: 1px solid rgba(73,161,183,.38);
  border-radius: 9999px;
  box-sizing: border-box;

  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1;              /* stable text metrics inside the chip */
  color: inherit;
  white-space: nowrap;         /* prevent multi-line pills */
}

/* If a chip must wrap on very narrow screens, relax the rule gracefully */
@media (max-width: 420px){
  .sp-badges{ gap: 6px; }
  .sp-badges li{
    white-space: normal;
    height: auto;              /* allow two-line chips if needed */
    line-height: 1.15;
    padding: 6px 10px;
  }
}

.sp-item-title a{
  color: inherit;             /* use the same color as the title */
  text-decoration: none;      /* remove underline */
}
.sp-item-title a:hover,
.sp-item-title a:focus-visible{
  text-decoration: underline; /* optional hover/focus feedback */
  text-decoration-color: var(--mp-blue);
}

/* Title above ordered list */
.sp-ol-title{
  margin-top: 2.5rem;      /* space above the title */
  margin-bottom: 0.75rem;  /* space before the list */
  font-size: 1rem;         /* smaller heading style */
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--mp-blue);   /* matches your accent color */

}

/* "Listen now" link above the SoundCloud iframe */
.sp-listen-link{
  margin: 0rem 0 0.5rem;        /* space above and below */
  font-size: 1.1rem;
  text-align: left;
}

.sp-listen-link a{
  color: var(--mp-blue);        /* your site accent color */
  text-decoration: none;
  font-weight: 500;
}

.sp-listen-link a:hover,
.sp-listen-link a:focus-visible{
  text-decoration: underline;
  text-decoration-color: rgba(180,203,182,1); /* same green as SETLIST */

}

/* Keep item images small on mobile */
@media (max-width: 700px){
  .sp-item-head{
    grid-template-columns: 1fr;        /* already stacking */
    justify-items: center;              /* center the image/meta */
  }
  .sp-item-head picture{                /* ensure the wrapper doesn't stretch it */
    display: block;
    width: auto;
  }
  .sp-thumb{
    width: auto;                        /* don't force 100% */
    max-width: 150px;                   /* <<< adjust this to your taste */
    height: auto;
    margin: 0 auto;                     /* center */
  }
}
