/* Page Discographie — styles spécifiques. Le header, le CTA et le footer
   continuent d'utiliser css/style.css afin de conserver le design de base. */

.discography-page{background:#070707;color:#f5f5f5}
.discography-page .main-nav a.active{color:var(--yellow);border-color:var(--yellow)}

/* Contenu WPBakery dans le conteneur : les fonds pleine largeur débordent sans créer de défilement horizontal */
.disc-page{overflow-x:clip}
.disc-page>.container{padding-bottom:55px}
.disc-page [id]{scroll-margin-top:150px}

/* HERO */
.disc-hero{position:relative;background:#080808;box-shadow:0 0 0 100vmax #080808;clip-path:inset(0 -100vmax)}
.disc-hero::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:var(--dg-fond,url("../images/fond.webp")) center 76%/cover no-repeat;opacity:.38;pointer-events:none}
.disc-hero::after{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);border-bottom:1px solid #4d3b00;background:linear-gradient(90deg,rgba(6,6,6,.92) 0%,rgba(6,6,6,.72) 39%,rgba(6,6,6,.18) 67%,rgba(6,6,6,.72) 100%);pointer-events:none}
.disc-hero-inner{position:relative;z-index:1;min-height:450px;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:34px}
.disc-hero-copy{padding:50px 0}
.disc-crumbs{display:flex;gap:9px;margin-bottom:18px;font-size:11px;font-weight:800;text-transform:uppercase;color:#d7d7d7}
.disc-crumbs a:hover,.disc-crumbs .current{color:var(--yellow)}
.disc-hero h1{margin:0;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(58px,7vw,86px);line-height:.94;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 2px 0 #222}
.disc-stroke{width:min(390px,85%);height:7px;margin:15px 0 20px;background:var(--yellow);transform:skewX(-16deg);box-shadow:0 3px 0 #4b3900}
.disc-hero-copy p{max-width:420px;margin:0;color:#e3e3e3;font-size:17px}
.disc-hero-copy p+p{margin-top:10px}

.album-fan{position:relative;height:395px;perspective:1000px}
.fan-card{position:absolute;top:50%;left:50%;width:220px;height:auto;aspect-ratio:1/1;object-fit:cover;border:1px solid rgba(255,196,0,.55);box-shadow:0 18px 42px rgba(0,0,0,.65);transform-origin:center bottom;transition:transform .25s ease,filter .25s ease}
.fan-main{z-index:5;width:285px;transform:translate(-50%,-50%) rotate(0deg);filter:saturate(1.03) contrast(1.02)}
.fan-1{z-index:1;transform:translate(-128%,-42%) rotate(-8deg);filter:brightness(.68)}
.fan-2{z-index:3;transform:translate(-92%,-49%) rotate(-4deg);filter:brightness(.84)}
.fan-3{z-index:3;transform:translate(-8%,-49%) rotate(4deg);filter:brightness(.82)}
.fan-4{z-index:1;transform:translate(28%,-42%) rotate(8deg);filter:brightness(.64)}
.album-fan:hover .fan-main{transform:translate(-50%,-52%) scale(1.02)}

/* TABS */
.disc-tabs{background:#090909;box-shadow:0 0 0 100vmax #090909;clip-path:inset(0 -100vmax);position:sticky;top:82px;z-index:20}
.disc-tabs::after{content:"";position:absolute;left:calc(50% - 50vw);right:calc(50% - 50vw);bottom:0;height:1px;background:#232323}
.disc-tabs-inner{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 0;overflow-x:auto}
.disc-tab{flex:0 0 auto;min-width:118px;padding:10px 18px;border:1px solid transparent;text-align:center;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.6px;color:#ddd}
.disc-tab:hover{color:var(--yellow)}
.disc-tab.active{background:var(--yellow);color:#080808;border-color:var(--yellow);box-shadow:0 0 20px rgba(255,196,0,.12)}

/* CONTENT */
.featured-release{margin-top:34px;position:relative;overflow:hidden;display:grid;grid-template-columns:300px 1fr;gap:42px;align-items:center;padding:22px;border:1px solid #3b3b3b;background:#0b0b0b;box-shadow:0 22px 60px rgba(0,0,0,.26)}
.featured-release::before{content:"";position:absolute;inset:0;background:var(--dg-fond,url("../images/fond.webp")) right 76%/70% auto no-repeat;opacity:.28;pointer-events:none}
.featured-release::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,9,.10),rgba(9,9,9,.38) 52%,rgba(9,9,9,.70));pointer-events:none}
.featured-cover-wrap,.featured-info{position:relative;z-index:1}
.featured-cover{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border:1px solid rgba(255,196,0,.4);box-shadow:0 18px 42px rgba(0,0,0,.48)}
.featured-cover-link{display:block}
.featured-info h2 a{color:inherit;text-decoration:none}
.featured-info h2 a:hover{color:var(--yellow)}

.release-type{color:var(--yellow);font-size:11px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}
.featured-info h2{margin:5px 0 12px;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(38px,4.5vw,60px);line-height:.95;text-transform:uppercase;letter-spacing:.5px}
.release-meta{display:flex;gap:24px;flex-wrap:wrap;color:#d4d4d4;font-size:13px}
.release-meta span{display:inline-flex;align-items:center;gap:7px}
.release-meta b{color:var(--yellow);font-size:16px}
.small-stroke{width:56px;height:4px;background:var(--yellow);margin:19px 0 18px;transform:skewX(-15deg)}
.featured-info p{max-width:570px;margin:0;color:#d3d3d3;font-size:15px;line-height:1.55}
.release-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.disc-btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.5px;border:1px solid #555;transition:.2s ease}
.disc-btn.primary{background:var(--yellow);border-color:var(--yellow);color:#080808}
.disc-btn.secondary{background:#0a0a0a;border-color:#765b00;color:#fff}
.disc-btn:hover{transform:translateY(-2px);border-color:var(--yellow)}

.release-section{padding-top:34px}
.release-section-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.release-section-head h2{margin:0;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:31px;text-transform:uppercase;letter-spacing:.7px}
.release-section-head span{height:3px;flex:1;background:linear-gradient(90deg,var(--yellow),rgba(255,196,0,0));max-width:130px;transform:skewX(-16deg)}
.release-grid{display:grid;gap:15px}
.singles-grid{grid-template-columns:repeat(4,1fr)}
.release-card{border:1px solid #3b3b3b;background:#0b0b0b;overflow:hidden;transition:.22s ease}
.release-card:hover{transform:translateY(-4px);border-color:var(--yellow);box-shadow:0 15px 34px rgba(0,0,0,.35)}
.release-cover{position:relative;aspect-ratio:1/1;overflow:hidden;background:#111}
.release-cover::after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,rgba(0,0,0,.45));pointer-events:none}
.release-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.release-card:hover .release-cover img{transform:scale(1.035)}
.release-card-body{padding:14px}
.release-card h3{margin:0 0 10px;font-size:16px;line-height:1.22;min-height:39px}
.release-label{color:var(--yellow);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.35px;min-height:28px}
.release-time{margin:8px 0 13px;color:#a8a8a8;font-size:11px}
.listen-btn{width:100%;min-height:39px;display:flex;align-items:center;justify-content:center;border:1px solid #6d5500;color:#fff;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.4px}
.listen-btn:hover{background:var(--yellow);color:#080808;border-color:var(--yellow)}
.release-cover>a{display:block;height:100%}
.release-card h3 a:hover,.participation-info h3 a:hover{color:var(--yellow)}

.participation-section{padding-bottom:5px}
.participation-card{position:relative;overflow:hidden;display:grid;grid-template-columns:230px 1fr;gap:30px;align-items:center;padding:18px;border:1px solid #343434;background:#0a0a0a}
.participation-card::before{content:"";position:absolute;right:-4%;bottom:-80%;width:68%;height:180%;background:var(--dg-fond,url("../images/fond.webp")) right bottom/cover no-repeat;opacity:.16;pointer-events:none}
.participation-card img,.participation-cover-link,.participation-info{position:relative;z-index:1}
.participation-cover-link{display:block}
.participation-cover-link img{transition:transform .3s ease}
.participation-cover-link:hover img{transform:scale(1.03)}
.participation-card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border:1px solid #4d3b00}
.participation-info h3{margin:4px 0 10px;font-size:28px}
.participation-info p{margin:0 0 16px;color:#d0d0d0}
.participation-info .disc-btn{margin-top:20px}

/* RESPONSIVE */
@media (max-width:980px){
  .disc-tabs{top:70px}
  .disc-hero-inner{min-height:390px;grid-template-columns:.85fr 1.15fr;gap:16px}
  .album-fan{height:330px;transform:scale(.88);transform-origin:center}
  .singles-grid{grid-template-columns:repeat(2,1fr)}
  .featured-release{grid-template-columns:250px 1fr;gap:28px}
}
@media (max-width:680px){
  .disc-tabs{position:static}
  .disc-tabs-inner{justify-content:flex-start}
  .disc-tab{min-width:auto;padding:9px 14px}
  .disc-hero-inner{display:flex;flex-direction:column;min-height:0;gap:0}
  .disc-hero-copy{width:100%;padding:28px 0 14px}
  .disc-hero h1{font-size:50px}
  .disc-hero-copy p{font-size:14px}
  .album-fan{width:100%;height:270px;transform:scale(.78);transform-origin:center top;margin-bottom:-38px}
  .fan-main{width:250px}
  .fan-card{width:190px}
  .featured-release{grid-template-columns:1fr;padding:16px;gap:22px}
  .featured-cover-wrap{max-width:360px;margin:auto}
  .featured-info h2{font-size:43px}
  .release-meta{gap:14px}
  .release-actions{align-items:stretch;flex-direction:column}
  .disc-btn{width:100%}
  .singles-grid{grid-template-columns:1fr 1fr;gap:12px}
  .release-card-body{padding:12px}
  .release-card h3{font-size:14px;min-height:34px}
  .participation-card{grid-template-columns:110px 1fr;gap:16px;padding:13px}
  .participation-info h3{font-size:20px}
  .participation-info p{font-size:12px}
  .participation-info .release-meta{font-size:11px}
  .participation-info .disc-btn{width:auto;padding:0 14px}
}
@media (max-width:440px){
  .album-fan{transform:scale(.68);height:235px;margin-bottom:-55px}
  .singles-grid{grid-template-columns:1fr}
  .release-card h3,.release-label{min-height:0}
  .participation-card{grid-template-columns:1fr}
  .participation-card img{max-width:210px}
}

/* Lien vers la page détail de l'album vedette */
.fan-main-link{display:contents}

/* Vente en ligne : étiquette sur la pochette et boutons d'achat (parutions reliées à un produit) */
.disc-sale-badge{position:absolute;top:10px;left:10px;z-index:2;padding:5px 9px;background:var(--yellow);color:#080808;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;box-shadow:0 4px 12px rgba(0,0,0,.4);pointer-events:none}
.disc-buy{margin-top:18px;padding:14px 16px;border:1px solid #3a2e00;border-left:4px solid var(--yellow);background:rgba(8,8,8,.72)}
.disc-buy-title{display:block;margin-bottom:10px;color:var(--yellow);font-size:11px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
.disc-buy-actions{display:flex;flex-wrap:wrap;gap:10px}
.disc-buy-actions .disc-btn{padding:8px 18px;text-align:center;line-height:1.35}
.disc-buy .disc-buy-note{max-width:none;margin:4px 0 0;color:#a9a9a9;font-size:12px;line-height:1.5}
.disc-buy .disc-buy-actions+.disc-buy-note{margin-top:16px}
.disc-buy-note a{color:var(--yellow);font-weight:700;white-space:nowrap}
.disc-buy-note a:hover,.disc-buy-note a:focus-visible{text-decoration:underline}
.disc-btn.buy{background:var(--yellow);border-color:var(--yellow);color:#080808}
.buy-btn{margin-top:8px;background:var(--yellow);border-color:var(--yellow);color:#080808}
.buy-btn:hover{background:#ffd23d}
@media (max-width:680px){
  .disc-buy-actions{flex-direction:column}
}

/* Boutons « Écouter » : seuls l'icône ▶ et le mot « Écouter » vibrent, comme un haut-parleur (le bouton ne bouge pas) */
.listen-icon,
.listen-word {
    display: inline-block;
    animation: disc-speaker 3.2s ease-in-out infinite;
}

/* Espace entre l'icône et le mot (comme « ▶ Écouter ») */
.listen-icon {
    margin-right: .45em;
}

/* Les cartes ne vibrent pas toutes en même temps */
.release-card:nth-child(2n) .listen-icon,
.release-card:nth-child(2n) .listen-word {
    animation-delay: .8s;
}

.release-card:nth-child(3n) .listen-icon,
.release-card:nth-child(3n) .listen-word {
    animation-delay: 1.6s;
}

a:hover > .listen-icon,
a:hover > .listen-word {
    animation: none;
}

@keyframes disc-speaker {
    0%, 62%, 100% {
        transform: translate(0, 0) scale(1);
    }
    65% {
        transform: translate(-1px, 0) scale(1.12);
    }
    68% {
        transform: translate(1px, 0) scale(1.12);
    }
    71% {
        transform: translate(-1px, 0) scale(1.08);
    }
    74% {
        transform: translate(1px, 0) scale(1.08);
    }
    77% {
        transform: translate(0, 0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .listen-icon,
    .listen-word {
        animation: none;
    }
}
