/* /podcast-episodes/episode-N — shared blog-item template (Squarespace 7.1 blog item,
   width "medium", meta above title, date only, bullet tag delimiter) */

/* ---------- item wrapper ---------- */
.blog-item-wrapper { position: relative; width: 100%; margin: 0 auto; }
.blog-item-wrapper article.entry { width: 100%; margin: 0 auto; padding: 4vw; }
.blog-item-inner-wrapper { position: relative; width: 75%; max-width: var(--sqs-site-max-width); margin: 0 auto; }

.blog-item-top-wrapper { display: flex; flex-direction: column; margin-bottom: 20px; }
.blog-item-meta-wrapper { order: 1; display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-bottom: 2rem; }
.blog-item-title { order: 2; }
.entry-title {
  margin: 0;
  font-size: calc(3.36vmax + 1rem);
  line-height: 1.2em;
  color: var(--black);
}
.blog-item-author-date-wrapper { display: flex; }
.blog-meta-item {
  font-family: var(--meta-font);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--black);
  text-decoration: none;
}
.blog-meta-item--date { display: block; }

.blog-item-content { margin: 0 0 3vw; }

/* ---------- classic block layout (sqs-layout, one 12-col column) ---------- */
.sqs-layout { margin: 0 -17px; }
.sqs-block { position: relative; padding: 17px; }
@media (min-width: 768px) { .sqs-layout > .sqs-block:first-child { padding-top: 0; } }

/* text block */
.rte > :first-child { margin-top: 0; }
.rte > :last-child { margin-bottom: 0; }
.rte p { margin: 1rem 0; font-size: 1rem; line-height: 1.5em; }
.rte h1, .rte h2, .rte h3, .rte h4 { margin: 2rem 0; }
.rte h3 { font-size: var(--fs-h3); line-height: 1.1616em; }
.rte h4 { font-size: var(--fs-h4); line-height: 1.1712em; }
.rte strong { font-weight: 700; }
.rte a {
  color: var(--accent);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
.rte ul { margin: 1rem 0 0; padding-left: 40px; }
.rte li > p { margin: .5rem 0; }
.rte ul[data-rte-list] li > :first-child::before {
  content: "\2022";
  display: inline-block;
  width: 40px;
  margin-left: -40px;
  padding-right: 10px;
  text-align: right;
}

/* gallery block (grid, square, 4 per row; 2 per row on mobile) */
.gallery-grid { display: flex; flex-wrap: wrap; margin-right: -20px; }
.gallery-grid .slide { width: 25%; }
.gallery-grid .margin-wrapper { position: relative; margin: 0 20px 20px 0; aspect-ratio: 1; overflow: hidden; }
.gallery-grid img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) { .gallery-grid .slide { width: 50%; } }

/* audio block — Squarespace "minimal" player, light */
.audio-player {
  --primary-text: #000000f2;
  --secondary-text: #00000080;
  font-family: var(--meta-font);
  background: #0000000d;
  color: var(--primary-text);
  user-select: none; -webkit-user-select: none;
}
.audio-player .player { position: relative; display: flex; width: 100%; overflow: hidden; font-size: 13px; }
.audio-player .action {
  position: relative; z-index: 99;
  display: flex; align-items: center;
  width: 15px; padding: 22px;
  box-sizing: content-box;
  border-right: 1px solid #00000014;
  cursor: pointer;
  transition: background-color .3s ease-out;
}
.audio-player .action:hover { background-color: #fff6; }
.audio-player .play-button {
  position: relative;
  width: 0; height: 0;
  border-top: 10px solid #0000;
  border-bottom: 10px solid #0000;
  border-left: 15px solid var(--primary-text);
  transform: scale(.999);
}
.audio-player .pause { display: none; position: relative; width: 5px; height: 20px; border: 0 solid var(--primary-text); border-width: 0 5px; }
.audio-player.playing .play { display: none; }
.audio-player.playing .pause { display: block; }
.audio-player .track {
  position: absolute; top: 0; left: 0; z-index: 5;
  height: 100%;
  width: calc(100% - 60px);
  margin-left: 60px;
  cursor: pointer;
}
.audio-player .played { position: absolute; top: 0; left: 0; height: 100%; width: 0; background: #00000008; }
.audio-player .played .icon { position: absolute; top: 0; right: 0; width: 1px; height: 100%; background-color: #00000008; transition: all .2s ease-out; }
.audio-player:hover .played .icon { background-color: #0000001a; }
.audio-player .labels { flex-grow: 1; align-self: center; min-width: 150px; padding: 15px; line-height: 1.4em; }
.audio-player .title { font-size: 1.2em; cursor: default; }
.audio-player .artistName { color: var(--secondary-text); line-height: 1.4em; }
.audio-player .secondary-controls {
  display: flex; flex-direction: column; justify-content: center; align-items: flex-end;
  padding: 15px; line-height: 1.2em; text-align: right;
}
.audio-player .time { white-space: nowrap; }
.audio-player .time .total::before { content: " / "; }

.audio-player.dark { --primary-text: #fffffff2; --secondary-text: #ffffff80; background: #181818; }
.audio-player.dark .action { border-right-color: #ffffff26; }
.audio-player.dark .action:hover { background-color: #0006; }
.audio-player.dark .played { background: #ffffff0d; }
.audio-player.dark .played .icon { background: #ffffff1a; }
.audio-player.dark:hover .played .icon { background-color: #fff3; }

/* line block uses .hr from styles.css */

/* ---------- tags ---------- */
.blog-meta-item--tags { margin: 10px 0 20px; }
.blog-item-tag { color: var(--black); text-decoration: none; }
.blog-item-tag-wrapper:not(:last-child)::after { content: "•"; padding: 0 .5em; }
.blog-item-comments { margin-top: 3vw; }

/* ---------- item pagination ---------- */
.item-pagination {
  display: flex;
  padding: 3vw 4vw;
  background: var(--light);
  color: var(--black);
}
.item-pagination-link {
  display: flex; align-items: center;
  max-width: 50%; width: auto;
  text-align: left;
  text-decoration: none;
  color: var(--black);
}
.item-pagination-link--prev { margin: 0 auto 0 0; }
.item-pagination-link--next { margin: 0 0 0 auto; text-align: right; }
.item-pagination-icon { position: relative; width: 18px; height: 32px; padding-right: 25px; box-sizing: content-box; line-height: 1rem; }
.item-pagination-link--next .item-pagination-icon { padding-right: 0; padding-left: 25px; }
.item-pagination-icon svg { display: block; width: 18px; height: 32px; stroke: var(--black); }
.item-pagination-title {
  margin: 0; padding: 0;
  font-size: var(--fs-large);
  line-height: 1;
  text-wrap: wrap;
}

@media (max-width: 767px) {
  .blog-item-wrapper article.entry { padding: 6vw; }
  .blog-item-inner-wrapper { width: 100%; }
  .blog-item-meta-wrapper { margin-bottom: 1.2rem; }
  .item-pagination { padding: 3vw 6vw; }
}
@media (min-width: 768px) {
  .blog-meta-item--tags { margin: 30px 0; }
}

/* Squarespace keeps empty RTE headings/paragraphs one line tall */
[data-rte-preserve-empty]:empty::before { content: ''; display: inline-block; }

/* the separator padding after a tag can hang a few px past the column at line ends (episode-4 @390) */
.blog-meta-item { overflow-x: clip; }

/* 27 Oct 2026: episode pages use the same 1440px container as the rest of the site (was a 75% column) */
.blog-item-wrapper article.entry { padding: 4vw 0; }
.blog-item-inner-wrapper { width: min(var(--sqs-site-max-width), calc(100% - var(--sqs-site-gutter) * 2)); max-width: none; }
@media (max-width: 767px) {
  .blog-item-inner-wrapper { width: calc(100% - var(--sqs-mobile-site-gutter, 6vw) * 2); }
}
/* show-note headings demoted one level for a valid outline (launch checklist, 27 Oct 2026); sizes unchanged */
.rte .rte-h3 { font-size: var(--fs-h3); line-height: 1.1616em; }
.rte .rte-h4 { font-size: var(--fs-h4); line-height: 1.1712em; }
.rte a:not(.btn) { color: var(--black); } /* cyan fails AA on the light show-notes background */
