/* .fixed-bg → common.css */

/* ── ARTIST NAME OVERLAY — elegant typographic treatment ── */
.artist-overlay {
  position: fixed;
  top: 60%;
  left: 3.5rem;
  transform: translateY(-50%);
  z-index: 5;
  pointer-events: none;
}
.artist-overlay::before {
  content: '';
  display: block;
  width: 1px;
  height: 4.5rem;
  background: linear-gradient(to bottom, transparent, rgba(212,185,122,.55));
  margin-bottom: 1.8rem;
}
.artist-overlay::after {
  content: '';
  display: block;
  width: 1px;
  height: 4.5rem;
  background: linear-gradient(to bottom, rgba(212,185,122,.55), transparent);
  margin-top: 1.8rem;
}
.artist-overlay .tag {
  font-family: 'DM Sans', sans-serif;
  font-size: .52rem;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: var(--accent);
  opacity: .8;
  margin-bottom: 1.5rem;
}
.artist-overlay .name-first {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(1.8rem, 2.8vw, 3.4rem);
  line-height: 1;
  letter-spacing: .2em;
  color: var(--white);
  text-transform: uppercase;
  text-shadow: 0 2px 30px rgba(0,0,0,.9);
}
.artist-overlay .name-ornament {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 300;
  font-size: 1rem;
  color: var(--accent);
  letter-spacing: .2em;
  margin: .5rem 0;
  opacity: .75;
}
.artist-overlay .name-last {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(1.8rem, 2.8vw, 3.4rem);
  line-height: 1;
  letter-spacing: .2em;
  color: var(--white);
  text-transform: uppercase;
  text-shadow: 0 2px 30px rgba(0,0,0,.9);
}
.artist-overlay .sub {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 300;
  font-size: .92rem;
  letter-spacing: .12em;
  color: rgba(240,237,232,.32);
  margin-top: 1.4rem;
}

/* .page-layout, .left-spacer, .right-col, .s-block, .s-eyebrow, .reveal → common.css */

/* h2 → common.css */

/* .reveal → common.css */

/* ══════════════════════════════════════
   CD SECTION WITH AUDIO PLAYER
══════════════════════════════════════ */
.album-list { display:flex; flex-direction:column; gap:0; }

.album-row {
  border-bottom:1px solid rgba(255,255,255,.05);
  overflow:hidden;
}

.album-header {
  display:grid;
  grid-template-columns:64px 1fr auto;
  align-items:center;
  gap:1.2rem;
  padding:1.2rem 0;
  cursor:pointer;
}

.album-thumb {
  width:64px; height:64px;
  flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.album-thumb-bg {
  position:absolute; inset:0;
}
.at-1 { background:linear-gradient(135deg,#1a1a1a,#4a4a4a); }
.at-2 { background:linear-gradient(160deg,#0f0f0f,#3a3a3a); }
.at-3 { background:linear-gradient(120deg,#111,#555); }
.at-4 { background:linear-gradient(145deg,#222,#444); }
.at-5 { background:linear-gradient(130deg,#181818,#3f3f3f); }
.at-dans { background:#111; }

.album-thumb-bg::before {
  content:''; position:absolute; inset:18%;
  border:1px solid rgba(255,255,255,.15); transform:rotate(12deg);
}

.album-meta h3 {
  font-family:'Playfair Display',serif; font-size:.95rem; font-weight:400;
}
.album-meta p {
  font-size:.65rem; letter-spacing:.1em; color:var(--grey); margin-top:.2rem;
}

.album-toggle {
  width:28px; height:28px;
  border:1px solid rgba(255,255,255,.15); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:border-color .3s;
}
.album-row.open .album-toggle { border-color:var(--accent); }

.toggle-icon {
  width:8px; height:8px;
  border-right:1px solid rgba(240,237,232,.5);
  border-bottom:1px solid rgba(240,237,232,.5);
  transform:rotate(45deg) translateY(-1px);
  transition:transform .3s;
}
.album-row.open .toggle-icon { transform:rotate(225deg) translateY(-1px); }

/* Track list */
.track-list {
  max-height:0; overflow:hidden;
  transition:max-height .45s cubic-bezier(.4,0,.2,1);
  background:rgba(255,255,255,.02);
}
.album-row.open .track-list { max-height:600px; }

.track-item {
  display:grid;
  grid-template-columns:1.5rem 1fr auto;
  align-items:center;
  gap:1rem;
  padding:.7rem 1rem .7rem 0;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.track-item:last-child { border-bottom:none; }

.track-num {
  font-size:.6rem; letter-spacing:.1em; color:var(--grey); text-align:right;
}
.track-name {
  font-size:.8rem; font-weight:300;
}
.track-name .track-dur {
  font-size:.6rem; letter-spacing:.06em; color:var(--grey);
  margin-left:.6rem; font-weight:300;
}

/* ── AUDIO PLAYER ── */
.player-bar {
  position:sticky;
  bottom:0;
  background:rgba(10,10,10,.98);
  border-top:1px solid rgba(255,255,255,.08);
  padding:.9rem 1.5rem;
  z-index:50;
  display:flex;
  flex-direction:column;
  gap:.6rem;
}

.player-top {
  display:flex;
  align-items:center;
  gap:1rem;
}

.player-cover {
  width:36px; height:36px; flex-shrink:0;
  position:relative; overflow:hidden;
}
.player-cover-bg {
  position:absolute; inset:0;
}
.player-cover-bg::before {
  content:''; position:absolute; inset:18%;
  border:1px solid rgba(255,255,255,.2); transform:rotate(12deg);
}

.player-info { flex:1; min-width:0; }
.player-track {
  font-size:.75rem; font-weight:300;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.player-album {
  font-size:.6rem; letter-spacing:.1em; color:var(--grey);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.player-controls {
  display:flex; align-items:center; gap:.8rem; flex-shrink:0;
}

.ctrl-btn {
  width:32px; height:32px;
  background:transparent; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:rgba(240,237,232,.6);
  transition:color .2s;
  padding:0;
}
.ctrl-btn:hover { color:var(--white); }
.ctrl-btn.play-btn {
  width:38px; height:38px;
  background:var(--white); border-radius:50%;
  color:var(--black);
}
.ctrl-btn.play-btn:hover { background:var(--accent); }

/* SVG icons inside buttons */
.ctrl-btn svg { width:14px; height:14px; fill:currentColor; }
.ctrl-btn.play-btn svg { width:13px; height:13px; }

/* progress bar */
.player-progress {
  display:flex; align-items:center; gap:.8rem;
}
.progress-time { font-size:.58rem; letter-spacing:.08em; color:var(--grey); flex-shrink:0; }

.progress-track {
  flex:1; height:2px;
  background:rgba(255,255,255,.12);
  position:relative; cursor:pointer; border-radius:1px;
}
.progress-fill {
  height:100%; background:var(--accent); border-radius:1px;
  width:0%; transition:width .2s linear;
  pointer-events:none;
}
.progress-thumb {
  position:absolute; top:50%; right:0;
  width:8px; height:8px;
  background:var(--white); border-radius:50%;
  transform:translate(50%,-50%);
  pointer-events:none;
}

/* volume */
.player-vol {
  display:flex; align-items:center; gap:.5rem;
}
.vol-icon { color:rgba(240,237,232,.4); }
.vol-icon svg { width:12px; height:12px; fill:currentColor; }

input[type=range].vol-slider {
  -webkit-appearance:none; appearance:none;
  width:60px; height:2px;
  background:rgba(255,255,255,.12);
  outline:none; border-radius:1px; cursor:pointer;
}
input[type=range].vol-slider::-webkit-slider-thumb {
  -webkit-appearance:none; appearance:none;
  width:10px; height:10px;
  border-radius:50%; background:var(--white); cursor:pointer;
}

/* no track state */
.player-bar.empty .player-track { color:var(--grey); font-style:italic; }

/* ── TRACK play button ── */
.track-play {
  width:24px; height:24px;
  background:transparent; border:1px solid rgba(255,255,255,.15);
  border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; color:rgba(240,237,232,.5);
  transition:border-color .2s, color .2s;
}
.track-play:hover { border-color:var(--accent); color:var(--accent); }
.track-play.playing { border-color:var(--accent); color:var(--accent); }
.track-play svg { width:8px; height:8px; fill:currentColor; }

/* ══════════════════════════════════════
   AGENDA
══════════════════════════════════════ */


/* ══════════════════════════════════════
   VIDEOS
══════════════════════════════════════ */
/* .videos-grid, .v-card, .video-thumb-wrap, .video-thumb, .v-play, .v-ring, .v-tri → common.css */

/* ══════════════════════════════════════
   BLOG
══════════════════════════════════════ */
.blog-list { display:flex; flex-direction:column; gap:0; }
.b-item {
  padding:1.5rem 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.b-tag { font-size:.55rem; letter-spacing:.28em; text-transform:uppercase; color:var(--accent); margin-bottom:.6rem; }
.b-title { font-family:'Playfair Display',serif; font-size:1rem; font-weight:400; line-height:1.45; margin-bottom:.5rem; }
.b-excerpt { font-size:.78rem; line-height:1.75; color:var(--grey);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.b-meta { margin-top:.8rem; font-size:.6rem; letter-spacing:.1em; color:rgba(136,136,128,.5); }
.b-link { text-decoration:none; color:inherit; display:block; }
.b-link:hover .b-title { color:var(--accent); transition:color .25s; }
.blog-more {
  display:inline-block; margin-top:1.8rem;
  font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--accent); text-decoration:none;
  position:relative; padding-bottom:.2rem;
}
.blog-more::after {
  content:''; position:absolute; bottom:0; left:0;
  width:100%; height:1px; background:var(--accent);
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s ease;
}
.blog-more:hover::after { transform:scaleX(1); }
.blog-more:hover { text-decoration:none; }

/* ══════════════════════════════════════
   PHOTOS
══════════════════════════════════════ */
/* .photos-grid, .p-item, .p-thumb-wrap, .p-thumb → common.css */
.photo-lb-inner {
  display:flex; flex-direction:column; align-items:center;
}

/* ══════════════════════════════════════
   À PROPOS
══════════════════════════════════════ */
.groups-list { display:flex; flex-direction:column; gap:0; }
.g-item {
  padding:1.5rem 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.g-num { font-size:.6rem; letter-spacing:.25em; text-transform:uppercase; color:var(--accent); margin-bottom:.5rem; }
.g-name { font-family:'Playfair Display',serif; font-size:1.05rem; font-weight:400; margin-bottom:.5rem; }
.g-desc { font-size:.8rem; line-height:1.75; color:var(--grey); }
.g-members { margin-top:.7rem; display:flex; flex-wrap:wrap; gap:.4rem; }
.g-tag {
  font-size:.57rem; letter-spacing:.1em; text-transform:uppercase;
  padding:.2rem .6rem; border:1px solid rgba(255,255,255,.1);
  color:rgba(240,237,232,.4);
}

/* ══════════════════════════════════════
   PARTITIONS & LIVRES
══════════════════════════════════════ */
.tabs {
  display:flex; gap:0; margin-bottom:2rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.tab-btn {
  font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  padding:.8rem 1.4rem; cursor:pointer; color:rgba(240,237,232,.4);
  background:transparent; border:none; border-bottom:2px solid transparent;
  margin-bottom:-1px;
}
.tab-btn.active { color:var(--accent); border-bottom-color:var(--accent); }
.tab-pane { display:none; }
.tab-pane.active { display:block; }

.book-list { display:flex; flex-direction:column; gap:0; }
.book-item {
  display:grid; grid-template-columns:56px 1fr;
  gap:1rem; align-items:center;
  padding:1.1rem 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.book-thumb {
  aspect-ratio:2/3; background:rgba(40,40,40,.8);
  display:flex; align-items:center; justify-content:center;
  font-size:.45rem; letter-spacing:.15em; color:var(--grey); text-transform:uppercase;
}
.book-title { font-family:'Playfair Display',serif; font-size:.9rem; font-weight:400; }
.book-meta  { font-size:.68rem; color:var(--grey); margin-top:.25rem; line-height:1.55; }
.book-price { display:inline-block; margin-top:.6rem; font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); }

/* .contact-form, .f-field, .f-row, .submit-btn, .socials → common.css */

/* ══════════════════════════════════════
   FOOTER (inside right col)
══════════════════════════════════════ */
.right-footer {
  padding:2rem 3rem;
  border-top:1px solid rgba(255,255,255,.05);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem;
}
.right-footer .f-logo { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.2rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(240,237,232,.2); }
.right-footer small { font-size:.58rem; letter-spacing:.12em; color:rgba(240,237,232,.15); }

/* ══════════════════════════════════════
   RESPONSIVE — stack on mobile
══════════════════════════════════════ */
@media(max-width:1024px) {
  .artist-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: calc(var(--nav-h) + 2rem) 1.8rem 15vh;
    pointer-events: none;
    z-index: 5;
  }
  .artist-overlay .name-first,
  .artist-overlay .name-last {
    font-size: 2.4rem;
  }
  .artist-overlay .tag {
    font-size: .6rem;
  }
  .artist-overlay .sub {
    font-size: 1rem;
  }
  .artist-overlay::before, .artist-overlay::after { display:none; }
  /* .page-layout, .right-col, .s-block → common.css */
  /* overrides locaux — comportement spécifique à index.php */
  .videos-grid { grid-template-columns:1fr; }
  .photos-grid { grid-template-columns:1fr 1fr; }
  /* .f-row → common.css */
}

/* ═══════════════════════════
   LIGHTBOX VIDEO
═══════════════════════════ */
/* ── LANG + SOCIALS in navbar ── */
/* .nav-extras, .lang-switcher, .lang-btn, .lang-sep, .nav-social → common.css */

.photo-credit {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 6;
  font-size: .5rem;
  letter-spacing: .15em;
  color: rgba(240,237,232,.2);
  pointer-events: none;
  writing-mode: vertical-rl;
}

/* .site-footer → common.css */
  
