/* ============================================================
   YWebsite — addon Documents (bloc « Affiche / programme »)
   Couleurs et rayons pilotés par les variables du thème actif,
   avec des replis neutres pour les thèmes qui ne les fournissent pas.
   ============================================================ */
.yw-affiche {
    display: flex; gap: 2rem; align-items: flex-start;
    margin: 0 0 1.8em; padding: 1.5rem;
    border: 1px solid var(--color-border, #e6e6e6);
    border-radius: var(--radius, 12px);
    background: var(--color-surface, #fff);
}
.yw-affiche-visuel {
    flex: 0 0 min(280px, 38%); display: block; border-radius: var(--radius, 8px);
    overflow: hidden; box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
    transition: transform .25s ease, box-shadow .25s ease;
}
.yw-affiche-visuel:hover,
.yw-affiche-visuel:focus-visible { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0, 0, 0, .22); }
.yw-affiche-visuel img { display: block; width: 100%; height: auto; }
.yw-affiche-icone {
    aspect-ratio: 210 / 297; display: flex; align-items: center; justify-content: center;
    background: var(--color-bg, #f4f4f4); color: var(--color-muted, #888);
    font-weight: 700; font-size: 1.6rem; letter-spacing: .08em; text-decoration: none;
}
.yw-affiche-corps { flex: 1 1 0; min-width: 0; }
.yw-affiche-titre { margin: 0 0 .5em; font-family: var(--font-title, inherit); color: var(--color-text, inherit); }
.yw-affiche-texte p { margin: 0 0 .8em; color: var(--color-text, inherit); }
.yw-affiche-actions { margin: 1.1em 0 0; }
.yw-affiche-btn {
    display: inline-flex; align-items: center; gap: .55em;
    padding: .8em 1.4em; border-radius: 999px;
    background: var(--color-accent, var(--color-primary, #c2185b)); color: #fff;
    font-weight: 600; text-decoration: none; line-height: 1.2;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
    transition: filter .2s ease, transform .2s ease;
}
.yw-affiche-btn:hover,
.yw-affiche-btn:focus-visible { filter: brightness(1.08); transform: translateY(-1px); color: #fff; }
.yw-affiche-btn small { font-weight: 400; opacity: .85; font-size: .85em; }
.yw-affiche-btn-ico { font-size: 1.1em; }
.yw-affiche-lien {
    display: inline-block; margin: .8em 0 0 1em; font-size: .9em;
    color: var(--color-muted, #777);
}
@media (max-width: 640px) {
    .yw-affiche { flex-direction: column; gap: 1.2rem; padding: 1.1rem; }
    .yw-affiche-visuel { flex-basis: auto; width: min(240px, 72%); margin: 0 auto; }
    .yw-affiche-btn { width: 100%; justify-content: center; flex-wrap: wrap; text-align: center; }
    .yw-affiche-btn small { flex-basis: 100%; }
    .yw-affiche-lien { margin-left: 0; }
}

/* Un son (MP3) : pochette carrée ou note de musique, lecteur sous le texte. */
.yw-affiche.is-son .yw-affiche-visuel { flex-basis: min(220px, 32%); }
.yw-affiche.is-son .yw-affiche-icone { aspect-ratio: 1; font-size: 3.2rem; letter-spacing: 0; }
.yw-affiche-lecteur { display: block; width: 100%; max-width: 480px; margin: .6em 0 0; }
@media (max-width: 640px) {
    .yw-affiche.is-son .yw-affiche-visuel { width: min(180px, 60%); }
    .yw-affiche-lecteur { max-width: none; }
}
