/* ============================================================
   OYA FILMS - oya-pages.css
   Styles partag-s pour les pages secondaires
   (Fiction, Reportages, Musique, Blog, Podcast)
   Compil- & optimis- - avril 2026
   ============================================================ */

/* -- Variables -- */
:root {
  --gold:   #c8b89a;
  --gold-h: #ddd0b8;
  --ink:    #1a1a1a;
  --cream:  #f0ebe0;
  --muted:  rgba(232,228,220,.5);
  --border: rgba(255,255,255,.07);
}

/* -- Correctifs th-me Streamit -- */
html, body                { background:#080808!important; }
.nav-overlay              { display:none!important; pointer-events:none!important; }
header#main-header        { display:none!important; }
.iq-main-header           { z-index:0!important; }
#loading                  { pointer-events:none!important; }
.oya-search-input         { color:#f0ebe0!important; -webkit-text-fill-color:#f0ebe0!important; }
.oya-search-input::placeholder { color:rgba(232,228,220,.4)!important; opacity:1; }

/* -- Slider h-ro (pages avec slider) -- */
.oya-slide-bg {
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  transform:scale(1.08) translateY(0px);
}
.oya-slider-progress {
  position:absolute;
  bottom:0; left:0; right:0;
  height:2px;
  background:rgba(255,255,255,.1);
  z-index:20;
  overflow:hidden;
}
.oya-slider-progress-bar { height:100%; background:var(--gold); width:0%; }

/* -- Animations slide -- */
.oya-slide-title .word {
  display:inline-block;
  opacity:0;
  transform:translateY(22px);
  transition:opacity .5s,transform .5s;
}
.oya-slide.active .oya-slide-title .word { opacity:1; transform:translateY(0); }
.oya-slide-tag  { opacity:0; transform:translateY(12px); transition:opacity .4s .1s,transform .4s .1s; }
.oya-slide.active .oya-slide-tag { opacity:1; transform:translateY(0); }
.oya-slide-desc { opacity:0; transform:translateY(14px); transition:opacity .5s .35s,transform .5s .35s; }
.oya-slide.active .oya-slide-desc { opacity:1; transform:translateY(0); }
.oya-slide-btn  { opacity:0; transform:translateY(10px); transition:opacity .5s .5s,transform .5s .5s; }
.oya-slide.active .oya-slide-btn { opacity:1; transform:translateY(0); }

/* -- Hero simple (pages sans slider : Blog, Podcast) -- */
.oya-page-hero {
  padding:4rem 4vw 3rem;
  text-align:center;
  background:#0d0d0d;
  border-bottom:.5px solid rgba(255,255,255,.06);
}
.oya-page-hero-tag {
  display:inline-block;
  font-family:'DM Sans',sans-serif;
  font-size:9px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.75rem;
}
.oya-page-hero-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,4vw,3rem);
  font-weight:700;
  color:var(--cream);
  margin-bottom:.5rem;
}
.oya-page-hero-desc {
  font-family:'DM Sans',sans-serif;
  font-size:14px;
  font-weight:300;
  color:rgba(232,228,220,.5);
  max-width:540px;
  margin:0 auto;
  line-height:1.6;
}
.oya-page-hero-cta {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-top:1.4rem;
  font-family:'DM Sans',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink);
  background:var(--gold);
  padding:10px 24px;
  border-radius:8px;
  text-decoration:none;
  transition:background .2s;
}
.oya-page-hero-cta:hover { background:var(--gold-h); color:var(--ink); text-decoration:none; }

/* -- Grille Blog -- */
.bl-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1.5rem;
  padding:2.5rem 4vw 4rem;
  max-width:1400px;
  margin:0 auto;
  background:#080808;
}
.bl-card {
  background:#141414;
  border:.5px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  text-decoration:none;
  transition:transform .25s,border-color .25s;
}
.bl-card:hover { transform:translateY(-4px); border-color:rgba(200,184,154,.25); text-decoration:none; }
.bl-img-wrap { overflow:hidden; }
.bl-img-wrap img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; transition:transform .4s; }
.bl-card:hover .bl-img-wrap img { transform:scale(1.04); }
.bl-body { padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:.35rem; flex:1; }
.bl-cat {
  font-family:'DM Sans',sans-serif;
  font-size:9px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
}
.bl-title {
  font-family:'Playfair Display',serif;
  font-size:1rem;
  font-weight:700;
  color:var(--cream);
  line-height:1.3;
  margin:0;
}
.bl-desc {
  font-family:'DM Sans',sans-serif;
  font-size:12px;
  font-weight:300;
  color:rgba(232,228,220,.5);
  line-height:1.5;
  margin:0;
}
.bl-cta {
  font-family:'DM Sans',sans-serif;
  font-size:11px;
  font-weight:500;
  color:var(--gold);
  margin-top:auto;
  padding-top:.5rem;
}
@media(max-width:480px){
  .bl-grid { grid-template-columns:1fr 1fr; gap:1rem; padding:1.5rem 4vw 3rem; }
  .bl-title { font-size:.9rem; }
}
@media(max-width:340px){ .bl-grid { grid-template-columns:1fr; } }

/* -- Lecteur audio (Podcast page) -- */
.oya-player { background:#1e1e1e; border:.5px solid var(--border); border-radius:10px; padding:.6rem .75rem .65rem; display:flex; flex-direction:column; gap:.45rem; font-family:'DM Sans',sans-serif; margin-top:.5rem; }
.oya-prog-wrap  { position:relative; height:28px; display:flex; align-items:center; cursor:pointer; padding:0 2px; touch-action:none; }
.oya-prog-track { position:absolute; left:2px; right:2px; height:3px; background:rgba(255,255,255,.1); border-radius:3px; overflow:hidden; pointer-events:none; }
.oya-prog-buf   { position:absolute; top:0; left:0; height:100%; background:rgba(200,184,154,.18); border-radius:3px; width:0%; }
.oya-prog-fill  { position:absolute; top:0; left:0; height:100%; background:var(--gold); width:0%; border-radius:3px; transition:width .1s linear; }
.oya-prog-thumb { position:absolute; top:50%; width:12px; height:12px; background:var(--gold); border-radius:50%; transform:translate(-50%,-50%); left:0%; opacity:0; transition:opacity .15s; pointer-events:none; box-shadow:0 0 0 3px rgba(200,184,154,.2); }
.oya-prog-wrap:hover .oya-prog-thumb,
.oya-prog-wrap.dragging .oya-prog-thumb { opacity:1; }
.oya-player-controls { display:flex; align-items:center; gap:.55rem; }
.oya-play-btn-pod { width:32px; height:32px; min-width:32px; border-radius:50%; background:var(--gold); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s,transform .1s; flex-shrink:0; }
.oya-play-btn-pod:hover  { background:var(--gold-h); }
.oya-play-btn-pod:active { transform:scale(.93); }
.oya-play-btn-pod svg    { width:12px; height:12px; fill:var(--ink); display:block; }
.oya-time-pod { font-size:10px; font-weight:500; color:rgba(232,228,220,.4); min-width:76px; text-align:right; flex-shrink:0; letter-spacing:.02em; }

/* -- Grille Podcast -- */
.pod-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1.5rem;
  padding:2.5rem 4vw 4rem;
  max-width:1400px;
  margin:0 auto;
  background:#080808;
}
.pod-card {
  background:#141414;
  border:.5px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .25s,border-color .25s;
}
.pod-card:hover { transform:translateY(-4px); border-color:rgba(200,184,154,.25); }
.pod-thumb { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.pod-body { padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:.4rem; flex:1; }
.pod-date { font-family:'DM Sans',sans-serif; font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin:0; }
.pod-title { font-family:'Playfair Display',serif; font-size:1rem; font-weight:700; color:var(--cream); margin:0; line-height:1.3; }
.pod-desc { font-family:'DM Sans',sans-serif; font-size:12px; font-weight:300; color:rgba(232,228,220,.55); margin:0 0 .3rem; line-height:1.5; }
.pod-player { margin-top:auto; }
.pod-fav-btn { display:inline-flex; align-items:center; gap:.35rem; background:transparent; border:.5px solid rgba(200,184,154,.25); border-radius:20px; color:rgba(232,228,220,.45); font-family:'DM Sans',sans-serif; font-size:11px; padding:.35rem .9rem; cursor:pointer; transition:all .2s; margin-top:.6rem; width:100%; justify-content:center; }
.pod-fav-btn:hover { border-color:var(--gold); color:var(--gold); }
.pod-fav-btn[data-fav="1"] { border-color:var(--gold); color:var(--gold); }
@keyframes pod-fav-pop { 0%{transform:scale(1)} 50%{transform:scale(1.2)} 100%{transform:scale(1)} }
.oya-fav-pop { animation:pod-fav-pop .35s ease; }
@media(max-width:480px){
  .pod-grid { grid-template-columns:1fr 1fr; gap:1rem; padding:1.5rem 4vw 3rem; }
  .pod-body { padding:.75rem .9rem 1rem; }
  .pod-title { font-size:.9rem; }
  .oya-player { padding:.5rem .65rem .6rem; }
  .oya-time-pod { min-width:70px; font-size:10px; }
}
@media(max-width:340px){ .pod-grid { grid-template-columns:1fr; } }

/* -- Footer enrichi (identique - index) -- */
/* Reset des r-gles du th-me Streamit qui -crasent notre footer */
footer.oya-footer-new {
  display: block !important;
  float: none !important;
  overflow: visible !important;
  background: #080808 !important;
  border-top: .5px solid rgba(255,255,255,.06);
  font-family: 'DM Sans', sans-serif;
}
.oya-footer-new { background:#080808!important; border-top:.5px solid rgba(255,255,255,.06); font-family:'DM Sans',sans-serif; }
.oya-footer-top { display:grid !important; grid-template-columns:1.2fr 1fr 1fr 1fr !important; gap:2.5rem; padding:3rem 4vw 2.5rem; border-bottom:.5px solid rgba(255,255,255,.05); }
.oya-footer-brand-name      { font-family:'Playfair Display',serif; font-size:1.3rem; font-weight:700; color:var(--cream); margin-bottom:.5rem; }
.oya-footer-brand-name span { color:var(--gold); }
.oya-footer-brand-desc { font-size:12px; font-weight:300; color:rgba(232,228,220,.38); line-height:1.7; margin-bottom:1rem; }
.oya-footer-island     { display:flex; align-items:center; gap:.5rem; font-size:11px; color:rgba(232,228,220,.3); }
.oya-footer-island-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.oya-footer-col-title  { font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:rgba(232,228,220,.3); margin-bottom:.9rem; }
.oya-footer-col a      { display:block; font-size:13px; color:rgba(232,228,220,.5); text-decoration:none; padding:.3rem 0; transition:color .2s; }
.oya-footer-col a:hover { color:var(--gold); }
.oya-footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding:1.2rem 4vw; }
.oya-footer-copy   { font-size:11px; color:rgba(232,228,220,.2); }
.oya-footer-legal  { display:flex; gap:1.5rem; }
.oya-footer-legal a { font-size:11px; color:rgba(232,228,220,.2); text-decoration:none; transition:color .2s; }
.oya-footer-legal a:hover { color:rgba(232,228,220,.5); }
.oya-footer-social-new a { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.05); border:.5px solid rgba(255,255,255,.1); color:rgba(255,255,255,.4); font-size:13px; transition:background .2s; text-decoration:none; }
.oya-footer-social-new a:hover { background:rgba(200,184,154,.15); color:var(--gold); }

@media(max-width:700px){ .oya-footer-top { grid-template-columns:1fr 1fr !important; gap:2rem !important; } }
@media(max-width:540px){ .oya-footer-top { grid-template-columns:1fr 1fr !important; gap:1.5rem !important; } .oya-footer-bottom { flex-direction:column !important; align-items:flex-start !important; gap:.5rem !important; } }
@media(max-width:480px){ .oya-footer-top { grid-template-columns:1fr !important; } .oya-footer-bottom { flex-direction:column !important; align-items:flex-start !important; } }

/* -- Pages vid-o (lecteur YouTube + infos + grille "autres vid-os") -- */
.vp-wrap {
  background:#000;
  width:100%;
  max-width:1100px;
  margin:0 auto;
}
.vp-ratio {
  position:relative;
  padding-top:56.25%;
}
.vp-ratio iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:none;
  display:block;
}
.vp-info {
  max-width:1100px;
  margin:0 auto;
  padding:2rem 4vw 1.5rem;
}
.vp-tag {
  display:inline-block;
  font-family:'DM Sans',sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--gold);
  border:.5px solid rgba(200,184,154,.35);
  padding:4px 14px;
  border-radius:99px;
  margin-bottom:1rem;
}
.vp-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(1.5rem,4vw,2.2rem);
  font-weight:700;
  color:var(--cream);
  margin:0 0 .5rem;
}
.vp-meta {
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:300;
  color:rgba(232,228,220,.4);
  margin-bottom:1rem;
}
.vp-desc {
  font-family:'DM Sans',sans-serif;
  font-size:14px;
  font-weight:300;
  line-height:1.75;
  color:rgba(232,228,220,.7);
  max-width:720px;
  margin:0;
}
.vp-divider {
  height:.5px;
  background:rgba(255,255,255,.07);
  max-width:1100px;
  margin:2rem auto 0;
}
.vp-more {
  max-width:1100px;
  margin:0 auto;
  padding:2rem 4vw 4rem;
}
.vp-more-title {
  font-family:'Playfair Display',serif;
  font-size:1.2rem;
  font-weight:700;
  color:var(--cream);
  margin-bottom:1.5rem;
}
.vp-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:1rem;
}
.vp-card {
  background:#141414;
  border:.5px solid rgba(255,255,255,.07);
  border-radius:10px;
  overflow:hidden;
  text-decoration:none;
  display:block;
  transition:transform .25s,border-color .25s;
}
.vp-card:hover { transform:translateY(-4px); border-color:rgba(200,184,154,.25); text-decoration:none; }
.vp-card-iw { position:relative; overflow:hidden; }
.vp-card img { width:100%; aspect-ratio:16/11; object-fit:cover; display:block; transition:transform .4s; }
.vp-card:hover img { transform:scale(1.04); }
.vp-play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.45); opacity:0; transition:opacity .25s; }
.vp-card:hover .vp-play { opacity:1; }
.vp-play span { width:36px; height:36px; border-radius:50%; background:var(--gold); color:var(--ink); font-size:13px; display:flex; align-items:center; justify-content:center; }
.vp-cb { padding:.6rem .8rem .8rem; }
.vp-cn { font-family:'DM Sans',sans-serif; font-size:12px; font-weight:500; color:var(--cream); margin:0; }
.vp-cd { font-family:'DM Sans',sans-serif; font-size:11px; font-weight:300; color:rgba(232,228,220,.35); margin-top:.1rem; }

/* -- Bouton favori (pages vid-o) -- */
#oya-fav-btn {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  background:transparent;
  border:.5px solid rgba(200,184,154,.25);
  border-radius:20px;
  color:rgba(232,228,220,.45);
  font-family:'DM Sans',sans-serif;
  font-size:12px;
  font-weight:400;
  letter-spacing:.04em;
  padding:.4rem 1.1rem;
  cursor:pointer;
  transition:border-color .2s,color .2s,transform .15s;
  margin-top:.7rem;
  margin-bottom:.2rem;
}
#oya-fav-btn:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-1px); }
#oya-fav-btn[data-fav="1"] { border-color:var(--gold); color:var(--gold); }
@keyframes oya-fav-pop { 0%{transform:scale(1)} 50%{transform:scale(1.18)} 100%{transform:scale(1)} }
.oya-fav-pop { animation:oya-fav-pop .35s ease; }


/* -- A propos -- */
/* -- Hero -- */
    .ap-hero-wrap {
      background: #0d0d0d;
      border-bottom: .5px solid rgba(255,255,255,.06);
    }
    .ap-hero {
      max-width: 1100px;
      margin: 0 auto;
      padding: 4rem 4vw 3.5rem;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: end;
      gap: 2rem;
    }
    .ap-tag {
      display: inline-block;
      font-family: 'DM Sans', sans-serif;
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #c8b89a;
      margin-bottom: .75rem;
    }
    .ap-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 700;
      color: #f0ebe0;
      line-height: 1.1;
      margin: 0 0 .6rem;
    }
    .ap-subtitle {
      font-family: 'DM Sans', sans-serif;
      font-size: 14px;
      font-weight: 300;
      color: rgba(232,228,220,.45);
      line-height: 1.7;
      margin: 0;
    }
    .ap-hero-stat {
      text-align: right;
      flex-shrink: 0;
    }
    .ap-hero-stat-num {
      display: block;
      font-family: 'Playfair Display', serif;
      font-size: 2.5rem;
      font-weight: 700;
      color: #c8b89a;
      line-height: 1;
    }
    .ap-hero-stat-label {
      font-family: 'DM Sans', sans-serif;
      font-size: 10px;
      font-weight: 300;
      color: rgba(232,228,220,.3);
      letter-spacing: .04em;
    }
    @media(max-width:600px) {
      .ap-hero { grid-template-columns: 1fr; padding: 3rem 4vw 2.5rem; }
      .ap-hero-stat { text-align: left; }
    }

    /* -- -quipe -- */
    .ap-team-wrap {
      max-width: 1100px;
      margin: 0 auto;
      padding: 2.5rem 4vw 0;
    }
    .ap-section-label {
      font-family: 'DM Sans', sans-serif;
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(232,228,220,.25);
      margin-bottom: 1.25rem;
      display: block;
    }
    .ap-team {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.25rem;
    }
    .ap-member {
      background: #111;
      border: .5px solid rgba(255,255,255,.07);
      border-radius: 12px;
      overflow: hidden;
      transition: border-color .25s, transform .25s;
      opacity: 0;
      transform: translateY(14px);
    }
    .ap-member.visible { opacity: 1; transform: translateY(0); }
    .ap-member:hover { border-color: rgba(200,184,154,.2); transform: translateY(-3px); }
    .ap-member img {
      width: 100%;
      aspect-ratio: 1/1;
      object-fit: cover;
      object-position: center top;
      display: block;
      filter: grayscale(15%);
      transition: filter .3s, transform .4s;
    }
    .ap-member:hover img { filter: grayscale(0%); transform: scale(1.03); }
    .ap-member-info {
      padding: .85rem 1rem .95rem;
    }
    .ap-member-role {
      font-family: 'DM Sans', sans-serif;
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: #c8b89a;
      margin: 0 0 .2rem;
    }
    .ap-member-name {
      font-family: 'Playfair Display', serif;
      font-size: 1rem;
      font-weight: 700;
      color: #f0ebe0;
      margin: 0;
    }
    @media(max-width:600px) {
      .ap-team { grid-template-columns: 1fr 1fr; }
      .ap-team .ap-member:last-child { grid-column: 1 / -1; max-width: 260px; width: 100%; margin: 0 auto; }
    }
    @media(max-width:380px) {
      .ap-team { grid-template-columns: 1fr; }
      .ap-team .ap-member:last-child { max-width: 100%; }
    }

    /* -- Contenu texte -- */
    .ap-content {
      max-width: 1100px;
      margin: 0 auto;
      padding: 2.5rem 4vw 5rem;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2rem 3rem;
    }
    .ap-block { display: flex; flex-direction: column; gap: .9rem; }
    .ap-block-title {
      font-family: 'Playfair Display', serif;
      font-size: 1.05rem;
      font-weight: 700;
      color: #f0ebe0;
      padding-bottom: .6rem;
      border-bottom: .5px solid rgba(255,255,255,.07);
      margin: 0;
    }
    .ap-block p {
      font-family: 'DM Sans', sans-serif;
      font-size: 13px;
      font-weight: 300;
      color: rgba(232,228,220,.55);
      line-height: 1.8;
      margin: 0;
    }
    @media(max-width:640px) {
      .ap-content { grid-template-columns: 1fr; gap: 1.5rem; }
    }

/* -- Contact -- */
/* -- Hero -- */
    .ct-hero-wrap {
      background: #0d0d0d;
      border-bottom: .5px solid rgba(255,255,255,.06);
    }
    .ct-hero {
      max-width: 900px;
      margin: 0 auto;
      padding: 4rem 4vw 3.5rem;
    }
    .ct-tag {
      display: inline-block;
      font-family: 'DM Sans', sans-serif;
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #c8b89a;
      margin-bottom: .75rem;
    }
    .ct-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 700;
      color: #f0ebe0;
      line-height: 1.1;
      margin: 0 0 .6rem;
    }
    .ct-subtitle {
      font-family: 'DM Sans', sans-serif;
      font-size: 14px;
      font-weight: 300;
      color: rgba(232,228,220,.45);
      line-height: 1.7;
      margin: 0;
    }

    /* -- Grille cards -- */
    .ct-grid {
      max-width: 900px;
      margin: 0 auto;
      padding: 3rem 4vw 5rem;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.25rem;
    }
    .ct-card {
      background: #111;
      border: .5px solid rgba(255,255,255,.07);
      border-radius: 12px;
      padding: 1.75rem 1.5rem 1.5rem;
      display: flex;
      flex-direction: column;
      gap: .65rem;
      opacity: 0;
      transform: translateY(14px);
      transition: border-color .25s, transform .3s, opacity .35s;
    }
    .ct-card.visible { opacity: 1; transform: translateY(0); }
    .ct-card:hover { border-color: rgba(200,184,154,.22); transform: translateY(-3px); }

    /* Ic-ne */
    .ct-icon {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(200,184,154,.08);
      border: .5px solid rgba(200,184,154,.15);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: .2rem;
      flex-shrink: 0;
    }
    .ct-icon svg {
      width: 17px;
      height: 17px;
      fill: #c8b89a;
    }

    .ct-label {
      font-family: 'DM Sans', sans-serif;
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: #c8b89a;
      margin: 0;
    }
    .ct-value {
      font-family: 'DM Sans', sans-serif;
      font-size: 13px;
      font-weight: 300;
      color: rgba(232,228,220,.6);
      line-height: 1.7;
      margin: 0;
    }
    .ct-value a {
      color: rgba(232,228,220,.6);
      text-decoration: none;
      transition: color .2s;
    }
    .ct-value a:hover { color: #c8b89a; }

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

/* -- Films en ligne -- */
/* -- Hero -- */
    .el-hero-wrap {
      background: #0d0d0d;
      border-bottom: .5px solid rgba(255,255,255,.06);
    }
    .el-hero {
      max-width: 900px;
      margin: 0 auto;
      padding: 4rem 4vw 3.5rem;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: end;
      gap: 2rem;
    }
    .el-hero-tag {
      display: inline-block;
      font-family: 'DM Sans', sans-serif;
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #c8b89a;
      margin-bottom: .75rem;
    }
    .el-hero-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      font-weight: 700;
      color: #f0ebe0;
      line-height: 1.1;
      margin: 0 0 .65rem;
    }
    .el-hero-desc {
      font-family: 'DM Sans', sans-serif;
      font-size: 13px;
      font-weight: 300;
      color: rgba(232,228,220,.45);
      line-height: 1.7;
      margin: 0;
    }
    .el-hero-pill {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 11px;
      font-weight: 400;
      color: #1a1a1a;
      background: #c8b89a;
      border-radius: 20px;
      padding: .4rem 1rem;
      white-space: nowrap;
      flex-shrink: 0;
    }
    @media(max-width:600px){
      .el-hero { grid-template-columns: 1fr; padding: 3rem 4vw 2.5rem; }
    }

    /* -- Liste films -- */
    .el-list {
      max-width: 900px;
      margin: 0 auto;
      padding: 2.5rem 4vw 5rem;
      display: flex;
      flex-direction: column;
      gap: 3rem;
    }

    /* -- Card film -- */
    .el-card {
      background: #111;
      border: .5px solid rgba(255,255,255,.08);
      border-radius: 14px;
      overflow: hidden;
      opacity: 0;
      transform: translateY(16px);
      transition: opacity .4s, transform .4s, border-color .25s;
    }
    .el-card.visible { opacity: 1; transform: translateY(0); }
    .el-card:hover { border-color: rgba(200,184,154,.2); }

    /* En-t-te de la card */
    .el-card-head {
      padding: 1.25rem 1.5rem 1rem;
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      border-bottom: .5px solid rgba(255,255,255,.06);
    }
    .el-num {
      font-family: 'Playfair Display', serif;
      font-size: 2rem;
      font-weight: 700;
      color: rgba(200,184,154,.2);
      line-height: 1;
      flex-shrink: 0;
      min-width: 2rem;
    }
    .el-card-meta {
      flex: 1;
    }
    .el-tag {
      display: inline-block;
      font-family: 'DM Sans', sans-serif;
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: #c8b89a;
      margin-bottom: .3rem;
    }
    .el-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.1rem, 2.5vw, 1.4rem);
      font-weight: 700;
      color: #f0ebe0;
      line-height: 1.25;
      margin: 0 0 .2rem;
    }
    .el-year-dur {
      font-family: 'DM Sans', sans-serif;
      font-size: 11px;
      font-weight: 300;
      color: rgba(232,228,220,.35);
    }
    .el-deadline {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 10px;
      font-weight: 500;
      letter-spacing: .06em;
      color: rgba(200,184,154,.7);
      border: .5px solid rgba(200,184,154,.25);
      border-radius: 20px;
      padding: .25rem .7rem;
      white-space: nowrap;
      flex-shrink: 0;
      margin-top: .15rem;
    }

    /* Player vid-o */
    .el-ratio {
      position: relative;
      padding-top: 56.25%;
      background: #000;
    }
    .el-ratio iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: none;
      display: block;
    }

    /* Description */
    .el-desc {
      padding: 1.1rem 1.5rem 1.3rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 13px;
      font-weight: 300;
      color: rgba(232,228,220,.55);
      line-height: 1.75;
    }

/* -- Cin- Club -- */
/* -- HERO -- */
    .cc-hero-wrap {
      background: #0d0d0d;
      border-bottom: .5px solid rgba(255,255,255,.06);
    }
    .cc-hero {
      max-width: 1400px;
      margin: 0 auto;
      padding: 4rem 4vw 3.5rem;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: end;
      gap: 2rem;
    }
    .cc-hero-tag {
      display: inline-block;
      font-family: 'DM Sans', sans-serif;
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #c8b89a;
      margin-bottom: .75rem;
    }
    .cc-hero-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 5vw, 3.2rem);
      font-weight: 700;
      color: #f0ebe0;
      line-height: 1.1;
      margin: 0 0 .65rem;
    }
    .cc-hero-desc {
      font-family: 'DM Sans', sans-serif;
      font-size: 14px;
      font-weight: 300;
      color: rgba(232,228,220,.5);
      line-height: 1.7;
      margin: 0;
      max-width: 500px;
    }
    .cc-hero-infos {
      display: flex;
      gap: 1rem;
      margin-top: 1.5rem;
      flex-wrap: wrap;
    }
    .cc-hero-pill {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 11px;
      font-weight: 400;
      color: rgba(232,228,220,.5);
      border: .5px solid rgba(255,255,255,.1);
      border-radius: 20px;
      padding: .35rem .9rem;
    }
    .cc-hero-pill svg { flex-shrink: 0; }
    @media(max-width:640px){
      .cc-hero { grid-template-columns: 1fr; padding: 3rem 4vw 2.5rem; }
    }

    /* -- SECTION TITRE -- */
    .cc-section-head {
      max-width: 1400px;
      margin: 0 auto;
      padding: 2.5rem 4vw .75rem;
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      border-bottom: .5px solid rgba(255,255,255,.06);
    }
    .cc-section-title {
      font-family: 'Playfair Display', serif;
      font-size: 1.15rem;
      font-weight: 700;
      color: #f0ebe0;
    }
    .cc-section-sub {
      font-family: 'DM Sans', sans-serif;
      font-size: 11px;
      color: rgba(232,228,220,.25);
    }

    /* -- GRILLE FILMS -- */
    .cc-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
      gap: 1.25rem;
      padding: 1.5rem 4vw 3rem;
      max-width: 1400px;
      margin: 0 auto;
    }
    .cc-card {
      background: #111;
      border: .5px solid rgba(255,255,255,.07);
      border-radius: 12px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      opacity: 0;
      transform: translateY(14px);
      transition: transform .25s, border-color .25s, opacity .35s;
    }
    .cc-card.visible { opacity: 1; transform: translateY(0); }
    .cc-card:hover { transform: translateY(-4px); border-color: rgba(200,184,154,.22); }
    .cc-img-wrap { overflow: hidden; position: relative; }
    .cc-img-wrap img {
      width: 100%;
      aspect-ratio: 2/3;
      object-fit: cover;
      object-position: center top;
      display: block;
      transition: transform .4s;
    }
    .cc-card:hover .cc-img-wrap img { transform: scale(1.04); }
    .cc-body {
      padding: 1rem 1.1rem 1.2rem;
      display: flex;
      flex-direction: column;
      gap: .4rem;
      flex: 1;
    }
    .cc-date {
      font-family: 'DM Sans', sans-serif;
      font-size: 10px;
      font-weight: 500;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: #c8b89a;
      display: flex;
      align-items: center;
      gap: .35rem;
      margin: 0;
    }
    .cc-title {
      font-family: 'Playfair Display', serif;
      font-size: 1rem;
      font-weight: 700;
      color: #f0ebe0;
      margin: 0;
      line-height: 1.3;
    }
    .cc-text {
      font-family: 'DM Sans', sans-serif;
      font-size: 12px;
      font-weight: 300;
      color: rgba(232,228,220,.5);
      line-height: 1.65;
      margin-top: .2rem;
    }
    .cc-text p { margin: 0 0 .5rem; }
    .cc-text p:last-child { margin-bottom: 0; }

    /* -- BOUTON ANCIENNES PROGS -- */
    .cc-toggle-wrap {
      max-width: 1400px;
      margin: 0 auto;
      padding: 0 4vw 1.5rem;
    }
    .cc-toggle-btn {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 12px;
      font-weight: 400;
      color: rgba(232,228,220,.45);
      background: transparent;
      border: .5px solid rgba(255,255,255,.1);
      border-radius: 20px;
      padding: .5rem 1.2rem;
      cursor: pointer;
      transition: border-color .2s, color .2s;
    }
    .cc-toggle-btn:hover { border-color: rgba(200,184,154,.4); color: #c8b89a; }
    .cc-toggle-icon {
      display: inline-block;
      transition: transform .3s;
      font-size: 10px;
    }
    .cc-toggle-btn.open .cc-toggle-icon { transform: rotate(180deg); }

    /* -- ANCIENNES PROGRAMMATIONS -- */
    .cc-old-grid {
      display: none;
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
      gap: 1.25rem;
      padding: 1rem 4vw 4rem;
      max-width: 1400px;
      margin: 0 auto;
    }
    .cc-old-grid.open { display: grid; }
    .cc-old-grid .cc-card { opacity: 1; transform: none; }

    @media(max-width:480px){
      .cc-grid, .cc-old-grid { grid-template-columns: 1fr; }
    }
