/* ══════════════════════════════════════════════
   PUBLICATIONS — CSS spécifique
   Chargé uniquement sur la page publications
   ══════════════════════════════════════════════ */

.dropdown-toggle { display: flex !important; align-items: center; gap: 0.3rem; cursor: pointer; }

.dropdown-toggle .arrow { font-size: 0.78rem; transition: transform 0.3s ease; display: inline-block; opacity: 0.6; }

.page-hero-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; padding-bottom: 3rem; border-bottom: 1px solid var(--sand); }

.page-eyebrow { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.18em; color: var(--gold); font-weight: 500; margin-bottom: 1rem; display: flex; align-items: center; gap: 0.8rem; }

.page-eyebrow::before { content: ''; width: 22px; height: 1px; background: var(--gold); }

.page-hero h1 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.2rem, 4vw, 3.2rem); font-weight: 300; line-height: 1.2; color: var(--text-primary); margin-bottom: 0.9rem; }

.page-hero-desc { font-size: 1.05rem; color: var(--text-secondary); line-height: 1.5; font-weight: 400; margin-bottom: 1.6rem; }

.page-hero-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; }


.page-hero-podcast-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.18em; color: var(--gold); font-weight: 500; margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.5rem; }

.page-hero-podcast-label::before { content: ''; width: 14px; height: 1px; background: var(--gold); }

.page-hero-podcast-title { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; font-weight: 400; color: var(--text-primary); margin-bottom: 0.5rem; }

.page-hero-podcast-desc { font-size: 1.05rem; color: var(--text-secondary); line-height: 1.5; margin-bottom: 0.9rem; }

.page-hero-podcast iframe { border-radius: 12px; display: block; width: 100%; }

.page-hero-podcast-more { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.9rem; color: var(--taupe-mid); text-decoration: none; margin-top: 0.7rem; border-bottom: 1px solid transparent; transition: all var(--trans); }

.page-hero-podcast-more:hover { color: var(--taupe); border-bottom-color: var(--gold-soft); }

.pub-section { padding: 4.5rem 2rem; display: block; }

.pub-section + .pub-section { border-top: 1px solid var(--sand); }

@media (max-width: 900px) {
  .page-hero { padding: 5.5rem 1.5rem 0; }
  .page-hero-inner { grid-template-columns: 1fr; gap: 2rem; }
  .pub-section { padding: 3rem 1.5rem; }
}
@media (max-width: 480px) {
  .pub-section { padding: 2.5rem 1rem; }
}

.page-hero-podcast { display: flex; flex-direction: column; gap: 1rem; }

.pub-rdv {
  background: var(--taupe);
  padding: 4rem 2rem;
  text-align: center;
}

.pub-rdv-inner {
  max-width: var(--max-w-narrow);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
}

.pub-rdv-tag {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--gold);
  font-weight: 500;
}

.pub-rdv-title {
  font-family: 'Nunito Sans', sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: white;
  line-height: 1.3;
  margin: 0;
}

.pub-rdv-sub {
  font-size: 1.05rem;
  color: rgba(255,255,255,0.75);
  line-height: 1.5;
  margin: 0;
}

.pub-rdv-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 0.5rem;
}

.pub-nav {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  flex-wrap: wrap;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid var(--sand);
  background: var(--cream);
  position: sticky;
  top: 68px;
  z-index: 50;
}

  .pub-nav { gap: 0.3rem; padding: 1rem; top: 58px; }

  .pub-nav a { font-size: 0.78rem; padding: 0.3rem 0.7rem; }

.pub-page-header { padding:5rem 3rem 3rem; text-align:center; border-bottom:1px solid var(--sand); max-width:var(--max-w); margin:0 auto; }

.pub-page-header .section-tag { margin-bottom:0.8rem; justify-content:center; }

.pub-page-header h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem, 4vw, 3.2rem); font-weight:400; color:var(--text-primary); margin-bottom:0.8rem; }

.pub-page-header p { font-size:1.05rem; color:var(--text-secondary); margin:0 auto; line-height: 1.5; }

.pub-nav a, .pub-nav a:visited { font-size:0.78rem; text-transform:uppercase; letter-spacing:0.18em; color: var(--text-secondary) !important; text-decoration: none !important; padding:0.35rem 0.9rem; border-radius:20px; border:1px solid var(--sand); transition:all 0.2s; background: transparent; }

.pub-nav a:hover { border-color:var(--taupe); }
.pub-nav a.active { border-color:var(--taupe); }

.pub-block { padding:4rem 0; border-bottom:1px solid var(--sand); }

.pub-block .section-container { max-width:var(--max-w); margin:0 auto; padding:0 3rem; }

.pub-block-header { margin-bottom:2.5rem; }

.pub-block-header .section-tag { margin-bottom:0.5rem; }

.pub-block-header h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.6rem,3vw,2.2rem); font-weight:400; color:var(--text-primary); margin-bottom:0.5rem; }

.pub-block-header p { font-size:1.05rem; color:var(--text-secondary); line-height: 1.5; }
.spotify-layout p { font-size:1.05rem; color:var(--text-secondary); line-height: 1.5; }

/* ── Platform links (Spotify, etc.) ── */
.platform-links { display: flex; flex-direction: column; gap: 0.8rem; max-width: var(--max-w-narrow); }
.platform-link { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.3rem; background: var(--cream); border: 1px solid var(--sand); border-radius: 14px; text-decoration: none; color: var(--text-primary); transition: all var(--trans); }
.platform-link:hover { transform: translateX(3px); border-color: var(--gold-soft); box-shadow: 0 4px 14px rgba(61,50,40,0.06); }
.platform-icon { width: 38px; height: 38px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.platform-icon.instagram-icon { background: linear-gradient(135deg, #F58529, #DD2A7B, #8134AF); color: white; }
.podcast-platform-info strong { display: block; font-size: 0.9rem; color: var(--text-primary); }
.podcast-platform-info span { font-size: 0.9rem; color: var(--text-secondary); }

/* ── Instagram card ── */
.instagram-card { display: flex; align-items: center; gap: 1.5rem; background: var(--warm-white); border: 1px solid var(--sand); border-radius: 12px; padding: 1.8rem 2rem; text-decoration: none; max-width: 460px; transition: box-shadow 0.2s, transform 0.2s; }
.instagram-card:hover { box-shadow: 0 4px 20px rgba(78,65,52,0.1); transform: translateY(-2px); }
.instagram-card-icon { width: 52px; height: 52px; border-radius: 14px; flex-shrink: 0; background: linear-gradient(135deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888); display: flex; align-items: center; justify-content: center; }
.instagram-card-text strong { display: block; font-size: 0.9rem; color: var(--text-primary); margin-bottom: 0.2rem; }
.instagram-card-text span { font-size: 0.9rem; color: var(--text-secondary); }
.instagram-card-arrow { margin-left: auto; color: var(--text-light); }

/* ── Boutons RDV (section sombre publications) ── */

/* ── Podcast section (fond sombre) ── */
.podcast-platform-link { display: flex; align-items: center; gap: 0.9rem; padding: 0.85rem 1.2rem; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 14px; text-decoration: none; color: white; transition: all var(--trans); }
.podcast-platform-link:hover { background: rgba(255,255,255,0.13); transform: translateX(3px); }
.podcast-platform-icon { width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* ── Substack RSS cards ── */
.rss-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.rss-card { background: var(--warm-white); border: 1px solid var(--sand); border-radius: 10px; padding: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; transition: box-shadow 0.2s, transform 0.2s; }
.rss-card:hover { box-shadow: 0 4px 14px rgba(61,50,40,0.06); transform: translateY(-2px); }
.rss-card-tag { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.18em; color: var(--gold); font-weight: 600; }
.rss-card-title { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; font-weight: 400; color: var(--text-primary); line-height: 1.3; }
.rss-card-title a { color: var(--text-primary); text-decoration: none; }
.rss-card-title a:hover { color: var(--taupe); }
.rss-card-excerpt { font-size: 1.05rem; color: var(--text-secondary); line-height: 1.5; flex: 1; }
.rss-card-meta { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 0.75rem; border-top: 1px solid var(--sand); }
.rss-card-date { font-size: 0.78rem; color: var(--text-light); }
.rss-card-link { font-size: 0.9rem; color: var(--taupe); text-decoration: none; font-weight: 500; display: inline-flex; align-items: center; gap: 0.3rem; }
.rss-card-link:hover { color: var(--gold); }
.rss-footer { margin-top: 1.5rem; }
.rss-footer a { font-size: 0.9rem; color: var(--taupe); text-decoration: none; border-bottom: 1px solid var(--sand); padding-bottom: 2px; }
.rss-footer a:hover { border-color: var(--gold); color: var(--gold); }
.articles-loading { text-align: center; padding: 3rem; color: var(--text-light); font-size: 0.9rem; }

/* ── Bluesky posts ── */
.bsky-feed { display: flex; flex-direction: column; gap: 1rem; margin-top: 2rem; max-width: 620px; }
.bsky-post { background: var(--warm-white); border: 1px solid var(--sand); border-radius: 10px; padding: 1.4rem 1.6rem; }
.bsky-post-header { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.9rem; }
.bsky-post-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--taupe); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bsky-post-avatar svg { width: 18px; height: 18px; }
.bsky-post-author { font-size: 0.9rem; font-weight: 600; color: var(--text-primary); }
.bsky-post-handle { font-size: 0.78rem; color: var(--text-light); }
.bsky-post-text { font-size: 1.05rem; color: var(--text-secondary); line-height: 1.5; white-space: pre-wrap; }
.bsky-post-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 0.8rem; }
.bsky-post-date { font-size: 0.78rem; color: var(--text-light); }
.bsky-post-link { font-size: 0.78rem; color: var(--taupe); text-decoration: none; display: inline-flex; align-items: center; gap: 0.3rem; }
.bsky-post-link:hover { color: var(--gold); }
.bsky-feed-footer { margin-top: 1.5rem; }
.bsky-feed-footer a { font-size: 0.9rem; color: var(--taupe); text-decoration: none; border-bottom: 1px solid var(--sand); padding-bottom: 2px; }
.bsky-feed-footer a:hover { border-color: var(--gold); color: var(--gold); }
.bsky-loading { font-size: 0.9rem; color: var(--text-light); padding: 0.5rem 0; }

/* ── YouTube coming soon ── */
.yt-coming-soon { display: flex; align-items: center; gap: 1.5rem; background: var(--cream); border: 1px solid var(--sand); border-radius: 12px; padding: 1.8rem 2rem; max-width: 460px; }
.yt-coming-soon-icon { width: 52px; height: 52px; border-radius: 14px; flex-shrink: 0; background: #FF0000; display: flex; align-items: center; justify-content: center; }
.yt-coming-soon-text strong { display: block; font-size: 0.9rem; color: var(--text-primary); margin-bottom: 0.2rem; }
.yt-coming-soon-text span { font-size: 0.9rem; color: var(--text-secondary); }
.yt-coming-soon-badge { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.18em; color: var(--text-light); margin-top: 0.3rem; display: block; }

@media (max-width: 900px) {
  .rss-grid { grid-template-columns: 1fr; }
}

/* ── Blog empty state ── */
.blog-empty { padding: 3rem 0; }
.blog-empty p { font-size: 1.05rem; color: var(--text-secondary); line-height: 1.5; }
.blog-empty a { color: var(--taupe); text-decoration: underline; text-decoration-color: var(--sand); text-underline-offset: 3px; }
.blog-empty a:hover { color: var(--gold); text-decoration-color: var(--gold); }

/* ── Variantes inline styles supprimés ── */
.pub-block-alt { background: var(--cream); }
.platform-link-spotify { max-width: 260px; }


/* Pagination articles */
.pub-pagination{text-align:center;margin-top:2.5rem;padding:1rem 0;display:flex;align-items:center;justify-content:center;gap:0.3rem}
.pub-pagination-label{font-size:0.9rem;color:var(--text-light);margin-right:0.5rem}
.pub-pagination .page-numbers{display:inline-block;padding:0.5rem 1rem;margin:0;border-radius:8px;font-size:0.9rem;color:var(--text-secondary);border:1px solid var(--sand);background:none;cursor:pointer;transition:all var(--trans);font-family:inherit}
.pub-pagination .page-numbers:hover{background:var(--cream);color:var(--taupe)}
.pub-pagination .page-numbers.current{background:var(--taupe);color:white;border-color:var(--taupe);cursor:default}
#articles-container{transition:opacity 0.3s ease}
