/* wrapped2026.css — Wrapped.php (cartes colorées, style Spotify Wrapped) */
.wrapped { display: grid; gap: 1.25rem; }
.wrapped > * { min-width: 0; }
.wrapped__entete p { margin: .25rem 0 .75rem; }
.wrapped__saisons { display: flex; flex-wrap: wrap; gap: .35rem; }
.wrapped__saisons a { padding: .3rem .6rem; border: 1px solid var(--trait); border-radius: 999px; font-size: .85rem; font-weight: 600; text-decoration: none; }
.wrapped__saisons a[aria-current] { background: var(--accent-fond); color: var(--accent-texte); border-color: transparent; }

.wrapped__equipes { display: grid; gap: .6rem; margin-top: .5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr)); }
.wrapped__equipe { display: grid; justify-items: center; gap: .3rem; padding: .9rem .5rem; text-align: center; color: var(--texte); text-decoration: none; transition: transform .15s ease; }
.wrapped__equipe:hover { transform: translateY(-3px); border-color: var(--bleu); text-decoration: none; }

.wrapped__cartes { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
.wrapped__carte {
    position: relative; overflow: hidden; display: grid; align-content: center; justify-items: center; gap: .5rem;
    min-height: 23rem; padding: 1.75rem 1.4rem; border-radius: 18px; text-align: center; color: #fff;
    background: linear-gradient(150deg, var(--c1), var(--c2)); box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.wrapped__carte::after { /* formes décoratives */
    content: ""; position: absolute; width: 18rem; height: 18rem; right: -6rem; bottom: -7rem; border-radius: 50%;
    background: rgba(255, 255, 255, .09); pointer-events: none;
}
.wrapped__carte > * { position: relative; z-index: 1; margin: 0; }
.wrapped__carte a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.wrapped__carte--intro     { --c1: #1d3a5c; --c2: #0b1522; }
.wrapped__carte--bilan     { --c1: #2f6cb3; --c2: #17345a; }
.wrapped__carte--printemps { --c1: #3b3e42; --c2: #1c1d1f; }
.wrapped__carte--printemps.est-champion { --c1: #d3b94f; --c2: #8a6d12; }
.wrapped__carte--vedette   { --c1: #e23b3f; --c2: #7c1418; }
.wrapped__carte--trio      { --c1: #e8702f; --c2: #8f3b10; }
.wrapped__carte--mur       { --c1: #2e7864; --c2: #123a30; }
.wrapped__carte--match     { --c1: #3fbf7f; --c2: #146b42; }
.wrapped__carte--cauchemar { --c1: #5b2a86; --c2: #24113a; }
.wrapped__carte--feu       { --c1: #ff7a2f; --c2: #b3261e; }
.wrapped__carte--rivaux    { --c1: #26282b; --c2: #4a1d24; }
.wrapped__carte--chance    { --c1: #2a8c8c; --c2: #10403f; }
.wrapped__carte--cogneur   { --c1: #6b6a67; --c2: #272727; }
.wrapped__carte--verdict   { --c1: #d97757; --c2: #7a3320; }

.wrapped__sur { font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.wrapped__titre { font-family: var(--police-titre); font-size: clamp(1.7rem, 5vw, 2.2rem); font-weight: 800; line-height: 1.05; text-transform: uppercase; }
.wrapped__grand { font-family: var(--police-titre); font-size: clamp(3rem, 12vw, 4.4rem); font-weight: 800; line-height: .95; }
.wrapped__grand small { display: block; font-size: .32em; letter-spacing: .04em; text-transform: uppercase; opacity: .85; }
.wrapped__moyen { font-size: 1.15rem; font-weight: 700; }
.wrapped__petit { font-size: .92rem; line-height: 1.4; opacity: .92; }
.wrapped__emoji { font-size: 3rem; line-height: 1; }
.wrapped__logo { width: 150px; height: 150px; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .45)); }
.wrapped__logo--petit { width: 80px; height: 80px; }
.wrapped__photo { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; background: rgba(255, 255, 255, .15); border: 4px solid rgba(255, 255, 255, .8); }
.wrapped__liste { list-style: none; padding: 0; width: 100%; max-width: 17rem; display: grid; gap: .45rem; counter-reset: trio; }
.wrapped__liste li { display: flex; align-items: center; gap: .6rem; padding: .55rem .8rem; border-radius: 10px; background: rgba(0, 0, 0, .2); counter-increment: trio; text-align: left; }
.wrapped__liste li::before { content: counter(trio); font-family: var(--police-titre); font-size: 1.4rem; font-weight: 800; width: 1.2rem; }
.wrapped__liste span { flex: 1; font-weight: 700; }
.wrapped__liste strong { font-family: var(--police-titre); font-size: 1.5rem; }
.wrapped__rival { display: flex; align-items: center; gap: .8rem; width: 100%; max-width: 18rem; padding: .7rem; border-radius: 12px; background: rgba(0, 0, 0, .22); text-align: left; }
.wrapped__rival p { display: grid; margin: 0; }
.wrapped__rival strong { font-family: var(--police-titre); font-size: 1.5rem; text-transform: uppercase; line-height: 1.1; }
.wrapped__phrase { font-family: var(--police-titre); font-size: clamp(1.5rem, 4.5vw, 1.9rem); font-weight: 800; line-height: 1.15; max-width: 20rem; }
.wrapped__partage { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: .5rem; }
.wrapped__bouton { padding: .6rem 1.1rem; border: 2px solid #fff; border-radius: 999px; background: #fff; color: #7a3320; font: inherit; font-weight: 800; cursor: pointer; text-decoration: none; }
.wrapped__carte .wrapped__bouton--second { background: transparent; color: #fff; text-decoration: none; }
