/* Boutique EK : complète tokens.css + site.css. Aucune ombre, aucun arrondi, une police. Cody, Assistant Tech IA d'Esy Kennenga */
.test-bandeau{background:var(--ek-jaune);color:var(--ek-noir);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-align:center;padding:8px 12px}
.panier-lien{position:relative}
.panier-n{display:inline-block;margin-left:8px;min-width:20px;padding:0 6px;background:var(--ek-jaune);color:var(--ek-noir);font-size:.7rem;line-height:20px;text-align:center;font-weight:700}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.prod{display:flex;flex-direction:column;background:var(--bg-2);transition:transform var(--ease)}
.prod:hover{transform:translate(-4px,-4px);outline:3px solid var(--ek-jaune);outline-offset:-3px}
.prod--album{grid-column:span 2;grid-row:span 2}
.prod-cover{position:relative;display:block;aspect-ratio:1/1;background:var(--ek-canard-x);overflow:hidden}
.prod-cover img{width:100%;height:100%;object-fit:cover;display:block}
.prod-vide{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--ek-canard) 0 50%,var(--ek-canard-d) 50% 100%)}
.prod-vide.grand{aspect-ratio:1/1}
.prod .badge{position:absolute;left:0;top:0;background:var(--ek-jaune);color:var(--ek-noir);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;font-weight:600}
.prod-body{padding:16px 16px 18px;flex:1;display:flex;flex-direction:column;gap:6px}
.prod-body h3{font-size:1.05rem;line-height:1.2;letter-spacing:-.02em}
.prod--album .prod-body h3{font-size:1.5rem}
.prod-sub{color:var(--txt-2);font-size:.85rem}
.prod-bas{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px}
.prix{font-weight:700;letter-spacing:-.02em}
.prix-grand{font-size:2.2rem;margin:14px 0 6px}
.epuise{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3)}
.fiche{padding-top:var(--sp-4)}
.fiche-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:start}
.fiche-visuel img{width:100%;height:auto;display:block;background:var(--ek-canard-x)}
.fiche-corps h1{font-size:clamp(2rem,4.6vw,3.6rem);letter-spacing:-.04em;margin-top:10px}
.fiche-sub{color:var(--txt-2);font-size:1.05rem;margin-top:8px}
.fiche-note{color:var(--txt-2);font-size:.9rem;margin-top:18px;max-width:560px}
.fiche-desc{margin-top:26px;max-width:620px;color:var(--txt);line-height:1.6}
.fiche-desc p{margin-bottom:12px}
.retour{display:inline-block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-2);margin-bottom:14px}
.qty{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.qty input,.don-libre input{width:84px;padding:12px;background:var(--bg-2);color:var(--txt);border:1.5px solid var(--ligne);font:inherit;font-size:1rem}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:18px}
.avis{background:var(--bg-2);padding:14px 18px;margin-bottom:22px;color:var(--txt-2)}
.panier-table{width:100%;border-collapse:collapse;margin-bottom:22px}
.panier-table th{text-align:left;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--txt-3);padding:0 10px 10px 0;font-weight:600}
.panier-table td{padding:14px 10px 14px 0;border-top:1px solid var(--ligne);vertical-align:middle}
.panier-table td:last-child,.panier-table th:last-child{text-align:right;padding-right:0}
.panier-table .recap td{border-top:1px solid var(--ligne)}
.panier-table.recap{max-width:520px;margin-top:22px}
.panier-table tr.total td{font-weight:700;font-size:1.1rem}
.panier-art{display:flex;align-items:center;gap:14px}
.panier-art img{width:56px;height:56px;object-fit:cover;background:var(--ek-canard-x)}
.panier-qty{display:inline-flex;border:1.5px solid var(--ligne)}
.panier-qty button{background:transparent;color:var(--txt);border:0;width:32px;height:32px;font:inherit;cursor:pointer}
.panier-qty span{display:inline-block;min-width:28px;line-height:32px;text-align:center}
.panier-x{background:transparent;border:0;color:var(--txt-3);font:inherit;cursor:pointer;text-decoration:underline}
.panier-total{display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:var(--txt-2)}
.panier-total .grand{color:var(--txt);font-size:1.5rem;font-weight:700;letter-spacing:-.02em}
.panier-total .grand .num{margin-left:14px}
.don-btn{border:0;font:inherit;cursor:pointer;color:var(--txt);text-align:left}
.don-libre{margin-top:22px;max-width:520px}
.don-libre label{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--txt-2);margin-bottom:10px}
.don-libre-row{display:flex;align-items:center;gap:10px}
.don-libre-row .num{font-size:1.4rem;font-weight:700}
.merci{padding-top:var(--sp-5)}
.merci h1{font-size:clamp(2.6rem,7vw,5.4rem);letter-spacing:-.05em;line-height:.9;margin:10px 0 18px}
.merci .h-dl{font-size:1.2rem;letter-spacing:.02em;margin:34px 0 14px}
.dl-list{list-style:none;display:flex;flex-direction:column;gap:12px;max-width:640px}
.dl-list li{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.dl-meta{color:var(--txt-2);font-size:.85rem}
.adresse{font-style:normal;background:var(--bg-2);padding:16px 18px;display:inline-block;margin-top:8px;line-height:1.5}
.texte h2{font-size:1.2rem;margin:28px 0 8px}
.texte p{max-width:680px;color:var(--txt-2);line-height:1.6}
.texte h1{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.04em;margin:8px 0 10px}
@media (max-width:900px){.prod-grid{grid-template-columns:repeat(2,1fr);gap:14px}.prod--album{grid-column:span 2;grid-row:auto}.fiche-in{grid-template-columns:1fr}.prod-body h3,.prod--album .prod-body h3{font-size:1rem}}
@media (max-width:520px){.prod-body{padding:12px}.prod-bas{flex-direction:column;align-items:flex-start}.panier-table thead{display:none}.panier-table td{display:block;border:0;padding:4px 0}.panier-table tr{display:block;border-top:1px solid var(--ligne);padding:12px 0}.panier-table td:last-child{text-align:left}}

/* ---- Discothèque : pochettes serrées, lecture en entier, lecteur en bas d'écran ---- */
.disco{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.disco--petit{grid-template-columns:repeat(6,1fr)}
.poch{display:flex;flex-direction:column;background:var(--bg-2);transition:transform var(--ease)}
.poch:hover{transform:translate(-3px,-3px);outline:3px solid var(--ek-jaune);outline-offset:-3px}
.poch--grand{grid-column:span 2;grid-row:span 2}
.poch-cover{position:relative;aspect-ratio:1/1;background:var(--ek-canard-x);overflow:hidden}
.poch-cover img{width:100%;height:100%;object-fit:cover;display:block}
.poch-cover .badge{position:absolute;left:0;top:0;background:var(--ek-jaune);color:var(--ek-noir);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;font-weight:600}
.poch-play{position:absolute;right:8px;bottom:8px;width:40px;height:40px;border:0;background:var(--ek-jaune);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--ease),background var(--ease)}
.poch-play:hover{background:var(--ek-jaune-h);transform:translate(-2px,-2px)}
.poch-play--grand{width:64px;height:64px;right:14px;bottom:14px}
.tri{display:block;width:0;height:0;border-left:12px solid var(--ek-noir);border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:3px}
.poch-play--grand .tri{border-left-width:20px;border-top-width:13px;border-bottom-width:13px}
.poch.joue .poch-play .tri,.lecteur.joue .lecteur-btn .tri{width:12px;height:16px;border:0;margin:0;background:linear-gradient(to right,var(--ek-noir) 0 35%,transparent 35% 65%,var(--ek-noir) 65%)}
.poch.joue{outline:3px solid var(--ek-jaune);outline-offset:-3px}
.poch-body{padding:10px 10px 12px;display:flex;flex-direction:column;gap:6px;flex:1}
.poch-body h3{font-size:.86rem;line-height:1.25;letter-spacing:-.01em;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.poch--grand .poch-body h3{font-size:1.3rem;-webkit-line-clamp:3}
.poch-bas{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}
.poch-bas .prix{font-size:.9rem}
.poch-add{width:30px;height:30px;border:1.5px solid var(--txt);background:transparent;color:var(--txt);font:inherit;font-size:1.1rem;line-height:1;cursor:pointer;transition:background var(--ease),color var(--ease)}
.poch-add:hover,.poch-add:disabled{background:var(--ek-jaune);color:var(--ek-noir);border-color:var(--ek-jaune)}
.poch--fiche{background:transparent}.poch--fiche:hover{transform:none;outline:0}
.lecteur{position:fixed;left:0;right:var(--rail,0);bottom:0;z-index:70;background:var(--ek-noir-2);border-top:2px solid var(--ek-jaune);color:var(--ek-blanc)}
.lecteur-in{display:flex;align-items:center;gap:14px;padding-top:10px;padding-bottom:10px}
.lecteur-cover{width:56px;height:56px;object-fit:cover;background:var(--ek-canard-x);flex:none}
.lecteur-btn{width:44px;height:44px;border:0;background:var(--ek-jaune);cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}
.lecteur-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.lecteur-titre{font-weight:600;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lecteur-barre{position:relative;height:6px;background:rgba(255,255,255,.18);cursor:pointer}
.lecteur-barre i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--ek-jaune)}
.lecteur-temps{font-size:.78rem;color:var(--ek-sable);flex:none;min-width:84px;text-align:right}
.lecteur-fermer{background:transparent;border:0;color:var(--ek-sable);font-size:1.4rem;line-height:1;cursor:pointer;padding:4px 6px}
body.avec-lecteur{padding-bottom:86px}
/* ---- Bibliothèque : les livres debout sur une planche ---- */
.biblio-section{background:var(--ek-sable);color:var(--ek-noir);--txt:var(--ek-noir);--txt-2:rgba(18,18,18,.72);--txt-3:rgba(18,18,18,.5);--bg-2:rgba(18,18,18,.06);--ligne:rgba(18,18,18,.18)}
.biblio-section .kicker{color:var(--ek-canard)}
.biblio-section .btn-ghost{color:var(--ek-noir);border-color:var(--ek-noir)}
.biblio{position:relative;display:flex;gap:clamp(18px,4vw,56px);align-items:flex-end;flex-wrap:wrap;padding:0 24px 18px}
.biblio .planche{position:absolute;left:0;right:0;bottom:0;height:18px;background:var(--ek-noir)}
.livre{display:flex;flex-direction:column;align-items:flex-start;width:clamp(170px,22vw,260px);position:relative;z-index:1;padding-bottom:18px}
.livre-cover{display:block;width:100%;background:var(--ek-canard-x);transition:transform var(--ease)}
.livre-cover img{display:block;width:100%;height:auto}
.livre-cover:hover{transform:translate(-4px,-6px);outline:3px solid var(--ek-jaune);outline-offset:-3px}
.livre-body{padding:12px 0 0;display:flex;flex-direction:column;gap:6px;width:100%}
.livre-body h3{font-size:1rem;line-height:1.25;letter-spacing:-.01em}
.livre-body .prod-bas{padding-top:6px}
.livre .btn{background:var(--ek-noir);color:var(--ek-blanc)}
.livre .btn:hover{background:var(--ek-canard)}
.fiche--livre .fiche-in{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.clip-cadre{position:relative;aspect-ratio:16/9;max-width:960px;background:#000}
.clip-cadre iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:1100px){.disco,.disco--petit{grid-template-columns:repeat(4,1fr)}}
@media (max-width:720px){.disco,.disco--petit{grid-template-columns:repeat(3,1fr);gap:8px}.poch--grand{grid-column:span 3;grid-row:auto}.poch-body{padding:8px}.poch-body h3{font-size:.78rem}.poch-bas .prix{font-size:.8rem}.poch-play{width:34px;height:34px}.lecteur-temps{display:none}.lecteur-in{gap:10px}.lecteur-cover{width:44px;height:44px}#lecteur-acheter{padding:9px 10px;font-size:.66rem}.biblio{gap:18px;padding:0 12px 18px}.livre{width:calc(50% - 9px)}}

.poch-extrait{color:var(--txt-2);font-size:.9rem;line-height:1.5}
.paroles summary{cursor:pointer;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;color:var(--ek-jaune);list-style:none;padding:12px 0;border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.paroles summary::before{content:"+ ";}
.paroles[open] summary::before{content:"− ";}
.paroles > p{margin-top:12px}
@media (max-width:720px){.poch-extrait{display:none}}

/* Soutien régulier (07/10/2026) */
.soutien{margin-bottom:clamp(32px,5vw,56px)}
.soutien-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.soutien-tete h2,.soutien-ponctuel{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.015em}
.soutien-ponctuel{margin:clamp(28px,4vw,44px) 0 18px}
.soutien-choix{display:flex;gap:8px}
.soutien-grid[hidden]{display:none}

/* Héros de la boutique (08/10/2026, Esy) : comme la couverture, photo collée en bas et au bord droit, sans socle */
@media(min-width:721px){
  .bande-boutique .bande-in{max-width:none;padding-right:0;grid-template-columns:minmax(0,1fr) clamp(260px,30vw,470px)}
  .bande-boutique .bande-photo{align-self:stretch;min-height:clamp(420px,40vw,620px)}
  .bande-boutique .bande-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
  .bande-boutique .bf-disque{width:96%;top:2%;transform:translate(-50%,0)}
  .bande-boutique .bande-corps,.bande-boutique .bande-corps2{padding-left:max(0px,calc((100vw - 1440px) / 2))}
}

/* Lecteur Apple Music (08/10/2026) */
.lecteur-apple{gap:14px}
.lecteur-apple .lecteur-body{flex:0 1 220px}
.lecteur-note{font-size:.72rem;color:var(--ek-sable);line-height:1.3}
.lecteur-frame{flex:1 1 auto;min-width:0;height:175px;border:0;border-radius:10px;overflow:hidden;background:transparent}
body.avec-lecteur{padding-bottom:205px}
@media (max-width:720px){
  .lecteur-apple{flex-wrap:wrap}
  .lecteur-apple .lecteur-body{flex:1 1 0}
  .lecteur-frame{order:5;flex:1 1 100%;height:175px}
  .lecteur-note{display:none}
  body.avec-lecteur{padding-bottom:270px}
}
.fiche-corps h1,.merci h1,.texte h1{letter-spacing:var(--titre-ls,-.015em)}
.poch-lien{display:block;width:100%;height:100%}
.poch-lien img{display:block}
.lecteur-frame.yt{flex:0 0 311px}
@media (max-width:720px){.lecteur-frame.yt{flex:1 1 100%}}

/* Rayons de la discothèque et page album (08/10/2026) */
.rayons{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.rayon[hidden]{display:none}
.pistes{list-style:none;margin:0;padding:0;border-top:1px solid var(--ligne)}
.piste{display:grid;grid-template-columns:38px 44px minmax(0,1fr) auto 40px;align-items:center;gap:14px;padding:10px 6px;border-bottom:1px solid var(--ligne);background:transparent}
.piste.joue{background:rgba(242,183,5,.12)}
.piste-n{color:var(--ek-sable);font-size:.9rem}
.piste .poch-play{position:static;width:40px;height:40px;opacity:1;transform:none}
.piste-play.vide{width:40px;height:40px}
.piste-titre{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pistes-section{padding:clamp(28px,4vw,56px) 0}
@media (max-width:720px){.piste{grid-template-columns:28px 40px minmax(0,1fr) auto 34px;gap:10px}}
/* Livres visibles avant l'ouverture de la vente (BOUTIQUE_LIVRES_OUVERTURE) : la date passe sous le prix, sur sa propre ligne. */
.prod-bas:has(.bientot){flex-wrap:wrap}
.prod-bas .bientot{flex-basis:100%;color:var(--txt)}
.prix{white-space:nowrap}
