{% comment %}
  Episode page section — Tóxica Tarot · Survival Era rooms
  Season 1 scope: cards 00–06 only.
  Per-archetype palette driven off page.metafields.toxica.archetype_number.
  Data source: page.metafields.toxica.* for episode-specific values.

  v145 — TEA MENU added (hotel room concept)
  tea_herb + tea_purpose metafields render a small centered card
  between the header and the player. Blank fields = no card rendered.
  Set via toxica namespace metafields on each episode page.
{% endcomment %}

{%- assign card_name = page.metafields.toxica.card_name | default: page.title -%}
{%- assign archetype_number = page.metafields.toxica.archetype_number | default: "00" -%}
{%- assign archetype_slug = page.metafields.toxica.archetype_slug | default: "" -%}
{%- assign tarot_name = page.metafields.toxica.tarot_name | default: "" -%}
{%- assign era = page.metafields.toxica.era | default: "Survival Era · 00–06" -%}
{%- assign patron_of = page.metafields.toxica.patron_of | default: "" -%}
{%- assign youtube_id = page.metafields.toxica.youtube_id | default: "" -%}
{%- assign shadow_reading_url = page.metafields.toxica.shadow_reading_url | default: "" -%}
{%- assign cinema_muse = page.metafields.toxica.cinema_muse | default: "" -%}
{%- assign pop_culture_muse = page.metafields.toxica.pop_culture_muse | default: "" -%}
{%- assign myth_figure = page.metafields.toxica.myth_figure | default: "" -%}
{%- assign mythology_source = page.metafields.toxica.mythology_source | default: "" -%}
{%- assign balanced_muse = page.metafields.toxica.balanced_muse | default: "" -%}
{%- assign integration_lock = page.metafields.toxica.integration_lock | default: "" -%}
{%- assign transcript_html = page.metafields.toxica.transcript_html | default: "" -%}
{%- assign tea_herb = page.metafields.toxica.tea_herb | default: "" -%}
{%- assign tea_purpose = page.metafields.toxica.tea_purpose | default: "" -%}

<style>
  .episode-page {
    --ep-body-max: 740px;
    --ep-section-gap: 4rem;
    --ep-night: #0D0D0D;
    --ep-cream: #FFF8F0;
    --ep-sangre: #8B0A1A;
    --ep-hairline: rgba(13,13,13,0.16);
  }

  /* Per-archetype palettes — Season 1 Survival Era only (00–06) */
  .episode-page[data-archetype="00"] { --ep-ground:#C16E7F; --ep-ground-deep:#A85567; --ep-ground-glow:#D08494; --ep-wall-ink:#0D0D0D; --ep-wall-ink-soft:rgba(13,13,13,0.7); --ep-wall-ink-dim:rgba(13,13,13,0.44); --ep-tint:rgba(193,110,127,0.10); --ep-tint-hover:rgba(193,110,127,0.22); }
  .episode-page[data-archetype="01"] { --ep-ground:#C9A126; --ep-ground-deep:#7D6415; --ep-ground-glow:#DAB94F; --ep-wall-ink:#0D0D0D; --ep-wall-ink-soft:rgba(13,13,13,0.7); --ep-wall-ink-dim:rgba(13,13,13,0.44); --ep-tint:rgba(201,161,38,0.10); --ep-tint-hover:rgba(201,161,38,0.22); }
  .episode-page[data-archetype="02"] { --ep-ground:#1F2D45; --ep-ground-deep:#12192B; --ep-ground-glow:#2E4160; --ep-wall-ink:#FFF8F0; --ep-wall-ink-soft:rgba(255,248,240,0.7); --ep-wall-ink-dim:rgba(255,248,240,0.44); --ep-tint:rgba(31,45,69,0.08); --ep-tint-hover:rgba(31,45,69,0.18); }
  .episode-page[data-archetype="03"] { --ep-ground:#9C5B3F; --ep-ground-deep:#723F27; --ep-ground-glow:#B8735A; --ep-wall-ink:#0D0D0D; --ep-wall-ink-soft:rgba(13,13,13,0.7); --ep-wall-ink-dim:rgba(13,13,13,0.44); --ep-tint:rgba(156,91,63,0.10); --ep-tint-hover:rgba(156,91,63,0.22); }
  .episode-page[data-archetype="04"] { --ep-ground:#2D2F39; --ep-ground-deep:#1B1D25; --ep-ground-glow:#40434F; --ep-wall-ink:#FFF8F0; --ep-wall-ink-soft:rgba(255,248,240,0.7); --ep-wall-ink-dim:rgba(255,248,240,0.44); --ep-tint:rgba(45,47,57,0.08); --ep-tint-hover:rgba(45,47,57,0.18); }
  .episode-page[data-archetype="05"] { --ep-ground:#146648; --ep-ground-deep:#0A4230; --ep-ground-glow:#1F8862; --ep-wall-ink:#FFF8F0; --ep-wall-ink-soft:rgba(255,248,240,0.7); --ep-wall-ink-dim:rgba(255,248,240,0.44); --ep-tint:rgba(20,102,72,0.08); --ep-tint-hover:rgba(20,102,72,0.20); }
  .episode-page[data-archetype="06"] { --ep-ground:#C74B8C; --ep-ground-deep:#9A2C6A; --ep-ground-glow:#DB6BA6; --ep-wall-ink:#0D0D0D; --ep-wall-ink-soft:rgba(13,13,13,0.7); --ep-wall-ink-dim:rgba(13,13,13,0.44); --ep-tint:rgba(199,75,140,0.10); --ep-tint-hover:rgba(199,75,140,0.22); }
  .episode-page[data-archetype="000"] { --ep-ground:#8B0A1A; --ep-ground-deep:#5C060F; --ep-ground-glow:#B32235; --ep-wall-ink:#FFF8F0; --ep-wall-ink-soft:rgba(255,248,240,0.7); --ep-wall-ink-dim:rgba(255,248,240,0.44); --ep-tint:rgba(139,10,26,0.10); --ep-tint-hover:rgba(139,10,26,0.22); }

  .episode-page {
    position: relative;
    background:
      radial-gradient(ellipse 900px 500px at 50% -6%, var(--ep-ground-glow), transparent 60%),
      radial-gradient(ellipse 1400px 700px at 50% 110%, var(--ep-ground-deep), transparent 70%),
      var(--ep-ground);
    padding: 0 1.25rem 5rem;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--ep-night);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  .episode-page * { box-sizing: border-box; }

  /* HEADER */
  .episode-header { text-align:center; padding:5rem 0 3rem; max-width:var(--ep-body-max); margin:0 auto; }
  .episode-header .ep-era { font-family:'DM Mono',monospace; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--ep-wall-ink-soft); margin:0 0 14px; }
  .episode-header h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.75rem,6.5vw,4.25rem); letter-spacing:0.02em; line-height:0.94; color:var(--ep-wall-ink); margin:0 0 8px; text-wrap:balance; }
  .episode-header .ep-tarot { font-size:15px; color:var(--ep-wall-ink-soft); margin:0; }
  .episode-header .ep-patron { font-family:'DM Mono',monospace; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ep-wall-ink-dim); margin:20px 0 0; }

  /* TEA MENU */
  .tea-menu { max-width:var(--ep-body-max); margin:0 auto 3rem; text-align:center; }
  .tea-menu-card { display:inline-block; border:1px solid var(--ep-wall-ink-dim); border-radius:4px; padding:18px 32px 16px; }
  .tea-menu-label { font-family:'DM Mono',monospace; font-size:10px; letter-spacing:0.24em; text-transform:uppercase; color:var(--ep-wall-ink-dim); display:block; margin-bottom:8px; }
  .tea-menu-herb { font-family:'Bebas Neue',sans-serif; font-size:1.85rem; letter-spacing:0.04em; color:var(--ep-wall-ink); display:block; line-height:1; margin-bottom:6px; }
  .tea-menu-purpose { font-size:13px; font-style:italic; color:var(--ep-wall-ink-soft); display:block; }

  /* PLAYER */
  .episode-player { max-width:var(--ep-body-max); margin:0 auto var(--ep-section-gap); }
  .responsive-embed { position:relative; width:100%; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:6px; background:var(--ep-night); box-shadow:0 30px 80px -25px rgba(0,0,0,0.55); }
  .responsive-embed iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }

  /* FURNITURE — content sits on Cream panels */
  .episode-body { max-width:var(--ep-body-max); margin:0 auto; }
  .furn { background:var(--ep-cream); border:1px solid var(--ep-hairline); border-radius:6px; box-shadow:0 20px 60px -20px rgba(0,0,0,0.4); max-width:var(--ep-body-max); margin:0 auto; }
  .furn-inner { padding:32px 34px 30px; }
  section.ep-section { margin-bottom:var(--ep-section-gap); }
  .ep-eyebrow { font-family:'DM Mono',monospace; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--ep-sangre); margin:0 0 16px; padding-bottom:14px; border-bottom:1px solid var(--ep-hairline); }

  /* Cold open + transcript */
  .cold-open .cold-open-content { font-size:17px; line-height:1.72; color:var(--ep-night); }
  .cold-open .cold-open-content p { margin:0 0 1.25rem; }
  .cold-open .cold-open-content p:last-child { margin-bottom:0; }
  .transcript p { font-size:17px; line-height:1.72; color:var(--ep-night); margin:0 0 1.25rem; }
  .transcript h3 { font-family:'DM Mono',monospace; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ep-sangre); margin:2.25rem 0 1rem; padding-top:1.25rem; border-top:1px solid var(--ep-hairline); }
  .transcript h3:first-child { margin-top:0.5rem; padding-top:0; border-top:0; }

  /* Games */
  .games-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-top:6px; }
  .game-card { background:var(--ep-tint); border:1px solid var(--ep-hairline); padding:20px 18px 18px; border-radius:4px; color:var(--ep-night); text-decoration:none; transition:background 0.2s,border-color 0.2s,transform 0.2s; display:flex; flex-direction:column; gap:6px; }
  .game-card:hover { background:var(--ep-tint-hover); border-color:var(--ep-sangre); transform:translateY(-2px); }
  .game-card-eyebrow { font-family:'DM Mono',monospace; font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--ep-sangre); }
  .game-card-name { font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:0.03em; line-height:1; color:var(--ep-night); margin:6px 0 4px; }
  .game-card-hint { font-size:13px; line-height:1.5; color:rgba(13,13,13,0.66); margin:0; }

  /* Credits — Night panel */
  .episode-credits { background:var(--ep-night); border-radius:6px; padding:32px 34px 28px; margin:0 auto var(--ep-section-gap); max-width:var(--ep-body-max); box-shadow:0 20px 60px -20px rgba(0,0,0,0.45); }
  .credits-title { font-family:'DM Mono',monospace; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--ep-cream); opacity:0.85; margin:0 0 18px; }
  .credits-dl { display:grid; grid-template-columns:150px 1fr; gap:12px 24px; margin:0; }
  .credits-dl dt { font-family:'DM Mono',monospace; font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--ep-cream); opacity:0.65; padding-top:3px; }
  .credits-dl dd { margin:0; font-size:15px; color:var(--ep-cream); line-height:1.4; }
  .credits-dl dd.integration { font-family:'Bebas Neue',sans-serif; font-size:1.15rem; letter-spacing:0.03em; color:var(--ep-cream); line-height:1.15; }

  /* Door */
  .episode-door { text-align:center; padding:0 0 8px; max-width:var(--ep-body-max); margin:0 auto; }
  .episode-door a { display:inline-block; font-family:'Bebas Neue',sans-serif; font-size:1.2rem; letter-spacing:0.06em; color:var(--ep-cream); background:var(--ep-sangre); padding:18px 40px; text-decoration:none; border-radius:3px; transition:opacity 0.2s; }
  .episode-door a:hover { opacity:0.86; }

  @media (max-width:640px) {
    .episode-header { padding:3rem 0 2rem; }
    .furn-inner { padding:24px 22px 22px; }
    .credits-dl { grid-template-columns:1fr; gap:4px 0; }
    .credits-dl dt { padding-top:12px; }
    .credits-dl dt:first-of-type { padding-top:0; }
  }
</style>

<div class="episode-page" data-archetype="{{ archetype_number }}" data-era="survival">

  {%- comment -%} BLOCK 1 · HEADER {%- endcomment -%}
  <header class="episode-header">
    {% if era != blank %}<p class="ep-era">{{ era }}</p>{% endif %}
    <h1>{{ card_name }}{% if tarot_name != blank %} &middot; {{ tarot_name }}{% endif %}</h1>
    {% if archetype_number == "000" %}<p class="ep-tarot">La T&oacute;xica</p>{% else %}<p class="ep-tarot">Card {{ archetype_number }} &middot; T&oacute;xica Tarot</p>{% endif %}
    {% if patron_of != blank %}<p class="ep-patron">Patron T&oacute;xica of {{ patron_of }}</p>{% endif %}
  </header>

  {%- comment -%} BLOCK 1.5 · TEA MENU — hotel room amenity per episode {%- endcomment -%}
  {%- if tea_herb != blank -%}
  <div class="tea-menu">
    <div class="tea-menu-card">
      <span class="tea-menu-label">Tonight&rsquo;s Tea</span>
      <span class="tea-menu-herb">{{ tea_herb }}</span>
      {%- if tea_purpose != blank -%}
      <span class="tea-menu-purpose">{{ tea_purpose }}</span>
      {%- endif -%}
    </div>
  </div>
  {%- endif -%}

  {%- comment -%} BLOCK 2 · PLAYER {%- endcomment -%}
  {% if youtube_id != blank %}
  <div class="episode-player">
    <div class="responsive-embed">
      <iframe
        src="https://www.youtube-nocookie.com/embed/{{ youtube_id }}"
        title="{{ card_name }} &middot; T&oacute;xica Tarot"
        allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
        allowfullscreen
        loading="lazy"
      ></iframe>
    </div>
  </div>
  {% endif %}

  <div class="episode-body">

    {%- comment -%} BLOCK 3 · COLD OPEN — from page.content {%- endcomment -%}
    {% if page.content != blank %}
    <section class="ep-section furn cold-open">
      <div class="furn-inner">
        <p class="ep-eyebrow">The Open</p>
        <div class="cold-open-content">{{ page.content }}</div>
      </div>
    </section>
    {% endif %}

    {%- comment -%} BLOCK 4 · TRANSCRIPT — from toxica.transcript_html metafield {%- endcomment -%}
    {% if transcript_html != blank %}
    <section class="ep-section furn">
      <div class="furn-inner">
        <p class="ep-eyebrow">Transcript</p>
        <div class="transcript">{{ transcript_html | raw }}</div>
      </div>
    </section>
    {% endif %}

    {%- comment -%} BLOCK 5 · GAMES {%- endcomment -%}
    {% if archetype_slug != blank %}
    <section class="ep-section furn">
      <div class="furn-inner">
        <p class="ep-eyebrow">Play the pattern</p>
        <div class="games-grid">
          <a href="/pages/quiz" class="game-card">
            <span class="game-card-eyebrow">Quiz</span>
            <span class="game-card-name">Find Your Card</span>
            <span class="game-card-hint">22 questions. One archetype at the end.</span>
          </a>
          <a href="/pages/games#muse-match" class="game-card">
            <span class="game-card-eyebrow">Arcade Room</span>
            <span class="game-card-name">Muse Match</span>
            <span class="game-card-hint">Pair the muse to the archetype.</span>
          </a>
          <a href="/pages/shadow-reading/{{ archetype_slug }}" class="game-card">
            <span class="game-card-eyebrow">Shadow Reading</span>
            <span class="game-card-name">{{ card_name }}</span>
            <span class="game-card-hint">The reading tied to this card.</span>
          </a>
        </div>
      </div>
    </section>
    {% endif %}

  </div>

  {%- comment -%} BLOCK 8 · CREDITS {%- endcomment -%}
  {% if cinema_muse != blank or myth_figure != blank or balanced_muse != blank %}
  <div class="episode-credits">
    <p class="credits-title">Credits</p>
    <dl class="credits-dl">
      {% if cinema_muse != blank %}<dt>Cinema</dt><dd>{{ cinema_muse }}</dd>{% endif %}
      {% if pop_culture_muse != blank %}<dt>Pop Culture</dt><dd>{{ pop_culture_muse }}</dd>{% endif %}
      {% if myth_figure != blank %}
        <dt>Mythology</dt>
        <dd>{{ myth_figure }}{% if mythology_source != blank %} &middot; {{ mythology_source }}{% endif %}</dd>
      {% endif %}
      {% if balanced_muse != blank %}<dt>Balanced Muse</dt><dd>{{ balanced_muse }}</dd>{% endif %}
      {% if era != blank %}<dt>Era</dt><dd>{{ era }}</dd>{% endif %}
      {% if integration_lock != blank %}
        <dt>Integration Lock</dt>
        <dd class="integration">{{ integration_lock }}</dd>
      {% endif %}
    </dl>
  </div>
  {% endif %}

  {%- comment -%} BLOCK 9 · DOOR {%- endcomment -%}
  {% if shadow_reading_url != blank %}
  <div class="episode-door">
    <a href="{{ shadow_reading_url }}">Read the Shadow Reading &rarr;</a>
  </div>
  {% endif %}

</div>

{%- comment -%} PodcastEpisode JSON-LD {%- endcomment -%}
{% if youtube_id != blank %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PodcastEpisode",
  "name": "{{ card_name | escape }}{% if tarot_name != blank %} · {{ tarot_name | escape }}{% endif %}",
  "description": "{{ page.metafields.toxica.meta_description | default: page.content | strip_html | truncate: 160 | escape }}",
  "url": "{{ page.url | prepend: shop.url }}",
  "datePublished": "{{ page.metafields.toxica.publish_date | default: page.published_at | date: '%Y-%m-%d' }}",
  "partOfSeries": {
    "@type": "PodcastSeries",
    "name": "Tóxica Tarot",
    "url": "https://toxicatarot.com"
  },
  "associatedMedia": {
    "@type": "VideoObject",
    "name": "{{ card_name | escape }}{% if tarot_name != blank %} · {{ tarot_name | escape }}{% endif %} | Tóxica Tarot",
    "embedUrl": "https://www.youtube.com/embed/{{ youtube_id }}",
    "thumbnailUrl": "https://img.youtube.com/vi/{{ youtube_id }}/maxresdefault.jpg"
  }
}
</script>
{% endif %}

{% schema %}
{
  "name": "Episode Page",
  "tag": "section",
  "class": "section-episode",
  "settings": []
}
{% endschema %}
