body.jeux-video-page {
    --jv-ink: #092f3a;
    --jv-blue: #0785a0;
    --jv-cyan: #13a8c1;
    --jv-soft: #eaf8fb;
    background: #f5fafb;
    color: var(--jv-ink);
}

.jeux-video-main {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 34px 0 64px;
}

.jeux-video-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
    min-height: 390px;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(125deg, #053f50 0%, #087f99 55%, #12a5bd 100%);
    box-shadow: 0 22px 55px rgba(4, 74, 91, .2);
    color: #fff;
}

.jeux-video-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 14% 20%, rgba(255,255,255,.14), transparent 28%);
    pointer-events: none;
}

.jeux-video-hero__content {
    z-index: 1;
    align-self: center;
    padding: 58px 20px 58px 64px;
}

.jeux-video-eyebrow,
.jeux-video-section__kicker {
    margin: 0 0 13px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.jeux-video-eyebrow i { margin-right: 8px; }

.jeux-video-hero h1 {
    max-width: 720px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.35rem, 5vw, 4.5rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.jeux-video-lead {
    max-width: 660px;
    margin: 24px 0 30px;
    color: rgba(255,255,255,.87);
    font-size: 1.08rem;
    line-height: 1.7;
}

.jeux-video-hero__action {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 13px 19px;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 999px;
    color: #fff;
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}

.jeux-video-hero__action:hover {
    background: #fff;
    color: #086f86;
    transform: translateY(-2px);
}

.jeux-video-hero__visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 300px;
}

.jeux-video-hero__visual > i {
    z-index: 2;
    color: #fff;
    font-size: clamp(7rem, 13vw, 11rem);
    filter: drop-shadow(0 20px 20px rgba(0, 44, 55, .28));
    transform: rotate(-8deg);
}

.jeux-video-orbit {
    position: absolute;
    width: 260px;
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
}

.jeux-video-orbit--two {
    width: 340px;
    opacity: .55;
}

.jeux-video-section { padding-top: 58px; }

.jeux-video-section__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 26px;
}

.jeux-video-section__kicker { color: var(--jv-blue); }

.jeux-video-section__heading h2 {
    margin: 0;
    color: var(--jv-ink);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.jeux-video-section__heading > p {
    max-width: 470px;
    margin: 0;
    color: #58727a;
    line-height: 1.65;
}

.jeux-video-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.jeux-video-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 290px;
    overflow: hidden;
    padding: 26px;
    border: 1px solid #d7e8ec;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(13, 74, 87, .07);
    color: var(--jv-ink);
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.jeux-video-card:hover,
.jeux-video-card:focus-visible {
    border-color: rgba(7, 133, 160, .5);
    box-shadow: 0 18px 36px rgba(13, 92, 109, .15);
    transform: translateY(-5px);
}

.jeux-video-card__number {
    position: absolute;
    top: 13px;
    right: 18px;
    color: #e5f2f5;
    font-size: 3.7rem;
    font-weight: 900;
    line-height: 1;
}

.jeux-video-card__icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    margin-bottom: 34px;
    border-radius: 15px;
    background: var(--jv-soft);
    color: var(--jv-blue);
    font-size: 1.3rem;
}

.jeux-video-card__period {
    color: var(--jv-blue);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.jeux-video-card strong {
    margin-top: 7px;
    font-size: 1.35rem;
}

.jeux-video-card__description {
    margin: 10px 0 24px;
    color: #60767c;
    font-size: .92rem;
    line-height: 1.55;
}

.jeux-video-card__link {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    color: var(--jv-blue);
    font-size: .82rem;
    font-weight: 800;
}

.jeux-video-card:hover .jeux-video-card__link i { transform: translateX(4px); }
.jeux-video-card__link i { transition: transform .2s ease; }

.jeux-video-card--pc {
    background: linear-gradient(140deg, #083f4d, #076f85);
    color: #fff;
}

.jeux-video-card--pc .jeux-video-card__number { color: rgba(255,255,255,.1); }
.jeux-video-card--pc .jeux-video-card__icon { background: rgba(255,255,255,.13); color: #fff; }
.jeux-video-card--pc .jeux-video-card__period,
.jeux-video-card--pc .jeux-video-card__link { color: #78e4f2; }
.jeux-video-card--pc .jeux-video-card__description { color: rgba(255,255,255,.72); }

.jeux-video-back {
    display: flex;
    justify-content: center;
    padding-top: 38px;
}

.jeux-video-back a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--jv-blue);
    font-weight: 800;
    text-decoration: none;
}

.jeux-video-platforms {
    padding-top: 24px;
}

.jeux-video-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin-bottom: 22px;
    min-height: 0;
    padding: 10px 14px;
    border: 1px solid #d7e8ec;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(13, 74, 87, .05);
    color: #526d75;
    font-size: .83rem;
    font-weight: 700;
}

.jeux-video-breadcrumb a {
    color: #067b96;
    text-decoration: none;
}

.jeux-video-breadcrumb a:hover {
    color: #034f61;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.jeux-video-breadcrumb i {
    color: #89a4ab;
    font-size: .65rem;
}

.jeux-video-breadcrumb span[aria-current="page"] {
    color: var(--jv-ink);
}

.jeux-video-subhero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 270px;
    overflow: hidden;
    padding: 48px 58px;
    border-radius: 26px;
    background: linear-gradient(125deg, #053f50, #07839c);
    box-shadow: 0 18px 44px rgba(4, 74, 91, .18);
    color: #fff;
}

.jeux-video-subhero::after {
    content: "";
    position: absolute;
    right: -80px;
    width: 390px;
    height: 390px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
}

.jeux-video-subhero > div {
    z-index: 1;
    max-width: 720px;
}

.jeux-video-subhero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.25rem, 5vw, 4rem);
    letter-spacing: -.04em;
}

.jeux-video-subhero p:last-child {
    max-width: 660px;
    margin: 18px 0 0;
    color: rgba(255,255,255,.8);
    font-size: 1.04rem;
    line-height: 1.65;
}

.jeux-video-subhero__badge {
    z-index: 1;
    display: grid;
    place-items: center;
    width: 135px;
    height: 135px;
    flex: 0 0 135px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 34px;
    background: rgba(255,255,255,.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
    color: #fff;
    font-size: 3.25rem;
    font-weight: 900;
    transform: rotate(5deg);
}

.jeux-video-platform-section {
    padding-top: 52px;
}

.jeux-video-platform-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.jeux-video-platform-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 365px;
    border: 1px solid #d7e8ec;
    border-radius: 21px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(13, 74, 87, .07);
    color: var(--jv-ink);
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.jeux-video-platform-card:hover,
.jeux-video-platform-card:focus-visible {
    border-color: rgba(7, 133, 160, .5);
    box-shadow: 0 18px 38px rgba(13, 92, 109, .15);
    transform: translateY(-5px);
}

.jeux-video-platform-card__media {
    display: grid;
    place-items: center;
    height: 210px;
    padding: 28px;
    background:
        radial-gradient(circle at 50% 45%, rgba(18, 166, 193, .14), transparent 48%),
        #eff8fa;
}

.jeux-video-platform-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 14px 12px rgba(8, 52, 63, .16));
    transition: transform .25s ease;
}

.jeux-video-platform-card:hover .jeux-video-platform-card__media img {
    transform: scale(1.04);
}

.jeux-video-platform-card__media > i {
    color: var(--jv-blue);
    font-size: 5rem;
    opacity: .82;
}

.jeux-video-platform-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px 25px;
}

.jeux-video-platform-card__label {
    color: var(--jv-blue);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.jeux-video-platform-card strong {
    margin-top: 6px;
    font-size: 1.35rem;
}

.jeux-video-platform-card__action {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    padding-top: 22px;
    color: var(--jv-blue);
    font-size: .82rem;
    font-weight: 800;
}

.jeux-video-platform-card__action i {
    transition: transform .2s ease;
}

.jeux-video-platform-card:hover .jeux-video-platform-card__action i {
    transform: translateX(4px);
}

.jeux-video-state {
    max-width: 720px;
    margin: 60px auto;
    padding: 58px;
    border: 1px solid #d7e8ec;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(13, 74, 87, .1);
    text-align: center;
}

.jeux-video-state__icon {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    margin: 0 auto 22px;
    border-radius: 20px;
    background: #fff2df;
    color: #c87400;
    font-size: 1.6rem;
}

.jeux-video-state h1 { margin: 0; }
.jeux-video-state > p:not(.jeux-video-eyebrow) { color: #60767c; line-height: 1.6; }
.jeux-video-state a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 14px;
    color: var(--jv-blue);
    font-weight: 800;
    text-decoration: none;
}

.jeux-video-catalog {
    padding-top: 24px;
}

.jeux-video-catalog-hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    padding: 38px 44px;
    border-radius: 24px;
    background: linear-gradient(125deg, #053f50, #07839c);
    box-shadow: 0 18px 44px rgba(4, 74, 91, .18);
    color: #fff;
}

.jeux-video-catalog-hero__icon {
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    border-radius: 24px;
    background: rgba(255,255,255,.13);
    color: #fff;
    font-size: 2rem;
}

.jeux-video-catalog-hero .jeux-video-eyebrow {
    margin-bottom: 8px;
    color: #86e8f4;
}

.jeux-video-catalog-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.4rem);
    letter-spacing: -.04em;
}

.jeux-video-catalog-hero div > p:last-child {
    max-width: 720px;
    margin: 12px 0 0;
    color: rgba(255,255,255,.77);
    line-height: 1.6;
}

.jeux-video-catalog-hero__count {
    display: flex;
    min-width: 105px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 18px;
    background: rgba(255,255,255,.1);
    flex-direction: column;
    text-align: center;
}

.jeux-video-catalog-hero__count strong {
    font-size: 2.2rem;
    line-height: 1;
}

.jeux-video-catalog-hero__count span {
    margin-top: 7px;
    color: rgba(255,255,255,.75);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.jeux-video-catalog-section {
    padding-top: 50px;
}

.jeux-video-game-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.jeux-video-game-card {
    display: flex;
    overflow: hidden;
    min-width: 0;
    border: 1px solid #d7e8ec;
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(13, 74, 87, .07);
    color: var(--jv-ink);
    flex-direction: column;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.jeux-video-game-card:hover,
.jeux-video-game-card:focus-visible {
    border-color: rgba(7, 133, 160, .5);
    box-shadow: 0 18px 36px rgba(13, 92, 109, .15);
    transform: translateY(-5px);
}

.jeux-video-game-card__media {
    position: relative;
    display: block;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: linear-gradient(145deg, #e9f6f8, #d9edf1);
}

.jeux-video-game-card__media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.jeux-video-game-card:hover .jeux-video-game-card__media > img {
    transform: scale(1.035);
}

.jeux-video-game-card__fallback {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--jv-blue);
    font-size: 4rem;
    opacity: .72;
}

.jeux-video-game-card__body {
    display: flex;
    min-height: 130px;
    padding: 19px;
    flex-direction: column;
}

.jeux-video-game-card__platform {
    overflow: hidden;
    color: var(--jv-blue);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.jeux-video-game-card__body strong {
    margin-top: 7px;
    overflow-wrap: anywhere;
    font-size: 1.05rem;
    line-height: 1.3;
}

.jeux-video-game-card__action {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 17px;
    color: var(--jv-blue);
    font-size: .77rem;
    font-weight: 800;
}

.jeux-video-game-card__action i { transition: transform .2s ease; }
.jeux-video-game-card:hover .jeux-video-game-card__action i { transform: translateX(4px); }

.jeux-video-empty,
.jeux-video-inline-alert {
    border: 1px solid #d7e8ec;
    border-radius: 20px;
    background: #fff;
}

.jeux-video-empty {
    padding: 55px 25px;
    text-align: center;
}

.jeux-video-empty > span {
    display: grid;
    width: 64px;
    height: 64px;
    margin: 0 auto 19px;
    border-radius: 18px;
    background: var(--jv-soft);
    color: var(--jv-blue);
    font-size: 1.45rem;
    place-items: center;
}

.jeux-video-empty h3 { margin: 0; font-size: 1.35rem; }
.jeux-video-empty p { margin: 10px 0 0; color: #60767c; }

.jeux-video-inline-alert {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 23px;
    border-color: #f0d8ae;
    background: #fffaf1;
    color: #8b5a05;
}

.jeux-video-inline-alert > i { font-size: 1.45rem; }
.jeux-video-inline-alert div { display: flex; gap: 4px; flex-direction: column; }
.jeux-video-inline-alert span { color: #7c6a4a; }

.jeux-video-detail {
    padding-top: 24px;
}

.jeux-video-detail-hero {
    display: grid;
    grid-template-columns: minmax(180px, 250px) minmax(0, 1fr);
    gap: clamp(28px, 4vw, 48px);
    align-items: center;
    padding: clamp(26px, 3.5vw, 44px);
    border-radius: 28px;
    background:
        radial-gradient(circle at 85% 10%, rgba(36, 198, 220, .23), transparent 30%),
        linear-gradient(125deg, #053b4a, #076f86);
    box-shadow: 0 22px 55px rgba(4, 74, 91, .2);
    color: #fff;
}

.jeux-video-detail-cover {
    display: grid;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 20px;
    background: rgba(255,255,255,.1);
    box-shadow: 0 24px 42px rgba(0, 34, 43, .35);
    place-items: center;
}

.jeux-video-detail-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jeux-video-detail-cover > span {
    color: rgba(255,255,255,.75);
    font-size: 5rem;
}

.jeux-video-detail-intro .jeux-video-eyebrow {
    color: #83e7f3;
}

.jeux-video-detail-logo {
    display: block;
    width: auto;
    max-width: min(330px, 100%);
    max-height: 100px;
    margin: 0 0 20px;
    object-fit: contain;
    object-position: left center;
}

.jeux-video-detail-intro h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(1.8rem, 3.2vw, 2.8rem);
    line-height: .98;
    letter-spacing: -.05em;
}

.jeux-video-detail-tags {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.jeux-video-detail-tags span {
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: .75rem;
    font-weight: 800;
}

.jeux-video-detail-description {
    max-width: 760px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 1rem;
    line-height: 1.75;
}

.jeux-video-detail-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 30px;
}

.jeux-video-primary-action,
.jeux-video-secondary-action {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 17px;
    border-radius: 12px;
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
}

.jeux-video-primary-action {
    background: #fff;
    color: #056b81;
}

.jeux-video-secondary-action {
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
}

.jeux-video-detail-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 22px;
}

.jeux-video-detail-facts > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 2px 12px;
    align-items: center;
    min-width: 0;
    padding: 20px;
    border: 1px solid #d7e8ec;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(13, 74, 87, .06);
}

.jeux-video-detail-facts i {
    grid-row: 1 / 3;
    color: var(--jv-blue);
    font-size: 1.25rem;
}

.jeux-video-detail-facts span {
    color: #73878d;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.jeux-video-detail-facts strong {
    overflow-wrap: anywhere;
    font-size: .88rem;
}

.jeux-video-detail-section {
    padding-top: 54px;
}

.jeux-video-detail-section__heading {
    margin-bottom: 23px;
}

.jeux-video-detail-section__heading h2 {
    margin: 0;
    color: var(--jv-ink);
    font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.jeux-video-score-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.jeux-video-score {
    position: relative;
    display: grid;
    min-height: 180px;
    overflow: hidden;
    padding: 29px;
    border-radius: 21px;
    background: linear-gradient(135deg, #07566a, #087f99);
    box-shadow: 0 15px 34px rgba(7, 92, 111, .16);
    color: #fff;
    grid-template-columns: auto 1fr;
    align-content: center;
}

.jeux-video-score::after {
    content: "";
    position: absolute;
    right: -45px;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
}

.jeux-video-score--players {
    background: linear-gradient(135deg, #087c74, #12a693);
}

.jeux-video-score > span {
    grid-column: 1 / 3;
    margin-bottom: 5px;
    color: rgba(255,255,255,.75);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.jeux-video-score strong {
    font-size: 4rem;
    line-height: 1;
}

.jeux-video-score small {
    align-self: end;
    margin: 0 0 7px 7px;
    color: rgba(255,255,255,.7);
    font-weight: 800;
}

.jeux-video-character-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.jeux-video-character {
    display: flex;
    overflow: hidden;
    border: 1px solid #d7e8ec;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(13, 74, 87, .06);
    flex-direction: column;
}

.jeux-video-character > img,
.jeux-video-character__fallback {
    width: 100%;
    height: 220px;
}

.jeux-video-character > img {
    object-fit: cover;
}

.jeux-video-character__fallback {
    display: grid;
    background: var(--jv-soft);
    color: var(--jv-blue);
    font-size: 3.3rem;
    place-items: center;
}

.jeux-video-character > div {
    padding: 21px;
}

.jeux-video-character h3 {
    margin: 0;
    color: var(--jv-ink);
    font-size: 1.15rem;
}

.jeux-video-character p {
    margin: 9px 0 0;
    color: #60767c;
    font-size: .88rem;
    line-height: 1.6;
}

.jeux-video-media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.jeux-video-media-card {
    overflow: hidden;
    padding: 20px;
    border: 1px solid #d7e8ec;
    border-radius: 20px;
    background: #fff;
}

.jeux-video-media-card h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 15px;
    color: var(--jv-ink);
}

.jeux-video-media-card iframe {
    width: 100%;
    height: 330px;
    border: 0;
    border-radius: 13px;
    background: #e6f2f4;
}

.jeux-video-map-action {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 17px;
    align-items: center;
    margin-top: 54px;
    padding: 24px 27px;
    border-radius: 18px;
    background: linear-gradient(125deg, #053f50, #087f99);
    box-shadow: 0 14px 32px rgba(5, 80, 97, .16);
    color: #fff;
    text-decoration: none;
}

.jeux-video-map-action > i:first-child {
    font-size: 1.6rem;
}

.jeux-video-map-action span {
    display: flex;
    gap: 4px;
    flex-direction: column;
}

.jeux-video-map-action small {
    color: rgba(255,255,255,.72);
}

.jeux-video-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.jeux-video-gallery img {
    width: 100%;
    height: 230px;
    border-radius: 16px;
    object-fit: cover;
}

@media (max-width: 900px) {
    .jeux-video-hero { grid-template-columns: 1fr; }
    .jeux-video-hero__content { padding: 48px; }
    .jeux-video-hero__visual { display: none; }
    .jeux-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jeux-video-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jeux-video-game-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .jeux-video-detail-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jeux-video-character-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .jeux-video-main {
        width: min(100% - 24px, 1180px);
        padding-top: 18px;
    }
    .jeux-video-hero { min-height: 0; border-radius: 20px; }
    .jeux-video-hero__content { padding: 38px 25px; }
    .jeux-video-section__heading { align-items: start; flex-direction: column; gap: 12px; }
    .jeux-video-grid { grid-template-columns: 1fr; }
    .jeux-video-card { min-height: 270px; }
    .jeux-video-breadcrumb { overflow-x: auto; white-space: nowrap; }
    .jeux-video-subhero { min-height: 0; padding: 38px 25px; border-radius: 20px; }
    .jeux-video-subhero__badge { display: none; }
    .jeux-video-platform-grid { grid-template-columns: 1fr; }
    .jeux-video-state { margin: 25px auto; padding: 40px 24px; }
    .jeux-video-catalog-hero {
        grid-template-columns: 1fr auto;
        padding: 30px 24px;
    }
    .jeux-video-catalog-hero__icon { display: none; }
    .jeux-video-catalog-hero__count { min-width: 78px; padding: 14px 10px; }
    .jeux-video-catalog-hero div > p:last-child { display: none; }
    .jeux-video-game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .jeux-video-game-card__body { min-height: 120px; padding: 15px; }
    .jeux-video-detail-hero { grid-template-columns: 1fr; padding: 25px; border-radius: 20px; }
    .jeux-video-detail-cover { width: min(260px, 100%); margin: 0 auto; }
    .jeux-video-detail-intro { text-align: center; }
    .jeux-video-detail-logo { margin-right: auto; margin-left: auto; object-position: center; }
    .jeux-video-detail-tags,
    .jeux-video-detail-actions { justify-content: center; }
    .jeux-video-detail-facts,
    .jeux-video-score-grid,
    .jeux-video-character-grid,
    .jeux-video-media-grid { grid-template-columns: 1fr; }
    .jeux-video-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jeux-video-gallery img { height: 170px; }
}

@media (max-width: 390px) {
    .jeux-video-game-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .jeux-video-card,
    .jeux-video-hero__action,
    .jeux-video-card__link i { transition: none; }
}

/* Versions et rubriques propres au type de jeu. */
.jv-specific-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.jv-specific-card { padding:24px; border:1px solid #dce6ed; border-radius:16px; background:#fff; }
.jv-specific-card h3 { margin:0 0 12px; color:#173f57; }
.jv-specific-card p { margin:0; line-height:1.7; white-space:normal; overflow-wrap:anywhere; }
.jv-type-strategie .jv-specific-card { border-top:4px solid #6c7944; }
.jv-type-monde_ouvert .jv-specific-card { border-top:4px solid #438b88; }
.jv-type-course .jv-specific-card { border-top:4px solid #d58d36; }
.jv-type-fps .jv-specific-card { border-top:4px solid #b85858; }
.jv-type-mmorpg .jv-specific-card { border-top:4px solid #8a65a5; }

.jv-editor { display:grid; gap:24px; }
.jv-editor label { display:grid; gap:8px; }
.jv-editor label[hidden] { display:none; }
.jv-editor textarea,.jv-editor select,.jv-editor input:not([type=checkbox]) { box-sizing:border-box; width:100%; padding:12px; border:1px solid #abbcc7; border-radius:8px; font:inherit; }
.jv-editor fieldset { min-width:0; border:1px solid #ccd9e1; border-radius:12px; padding:20px; }
.jv-version-row { display:grid; grid-template-columns:1fr 1fr 2fr; gap:16px; align-items:center; margin:16px 0; }
.jv-version-row label:first-child { display:block; }
@media(max-width:700px) { .jv-specific-grid,.jv-version-row { grid-template-columns:1fr; } }
.jv-list-filters { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:28px 0; }
.jv-list-filters label { display:grid; gap:8px; flex:1 1 180px; }
.jv-list-filters input,.jv-list-filters select { width:100%; box-sizing:border-box; padding:12px; border:1px solid #abbcc7; border-radius:8px; background:#fff; font:inherit; }
.jv-list-filters button { cursor:pointer; }
/* Accès direct aux jeux depuis la page des générations. */
.jeux-video-page .jv-home-games { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.jeux-video-page .jv-home-game { display:flex; flex-direction:column; gap:14px; min-width:0; padding:28px; border:1px solid #d3e4e9; border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(20,66,80,.05); }
.jeux-video-page .jv-home-game h3 { margin:0; color:#123c4d; font-size:1.4rem; line-height:1.3; }
.jeux-video-page .jv-home-game p { margin:0; line-height:1.65; overflow-wrap:anywhere; }
.jeux-video-page .jv-home-game > p:not(.jeux-video-section__kicker) { color:#5c7582; }
.jeux-video-page .jv-home-game-link { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; min-height:44px; box-sizing:border-box; margin-top:auto; padding:12px 18px; border:1px solid #087b92; border-radius:10px; background:#087b92; color:#fff; font-size:.95rem; font-weight:700; text-decoration:none; }
.jeux-video-page .jv-home-game-link:hover { background:#065d70; }
.jeux-video-page .jv-home-game-link:focus-visible { outline:3px solid #20a1bc; outline-offset:4px; }
@media(max-width:700px) { .jeux-video-page .jv-home-games { grid-template-columns:1fr; } .jeux-video-page .jv-home-game { padding:22px; } }
/* Fiche publique : choix de plateforme sur fond clair. */
.jeux-video-detail .jeux-video-detail-section { padding-top:36px; }
.jeux-video-detail .jeux-video-detail-section > h2 { margin:0 0 18px; color:#123d4e; font-size:clamp(1.35rem,2.4vw,1.8rem); line-height:1.25; }
.jeux-video-detail .jv-platforms { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:12px; margin:0; padding:18px; border:1px solid #d5e5eb; border-radius:16px; background:#fff; }
.jeux-video-detail .jv-platforms .jeux-video-secondary-action { display:inline-flex; justify-content:center; align-items:center; box-sizing:border-box; min-height:46px; padding:12px 18px; border:1px solid #b9d1da; border-radius:10px; background:#f3f8fa; color:#245365; font-size:.92rem; line-height:1.4; font-weight:700; text-decoration:none; text-align:center; transition:background .15s ease,border-color .15s ease; }
.jeux-video-detail .jv-platforms .jeux-video-secondary-action:hover { background:#e3f1f5; border-color:#27869a; color:#144556; }
.jeux-video-detail .jv-platforms .jeux-video-secondary-action[aria-current="page"] { background:#087b92; border-color:#087b92; color:#fff; box-shadow:0 3px 8px rgba(8,123,146,.15); }
.jeux-video-detail .jv-platforms .jeux-video-secondary-action:focus-visible { outline:3px solid #12677d; outline-offset:4px; }
.jeux-video-detail .jv-specific-grid { gap:20px; }
.jeux-video-detail .jv-specific-card { padding:24px; border-radius:15px; box-shadow:0 5px 18px rgba(20,61,79,.035); }
.jeux-video-detail .jv-specific-card h3 { font-size:1.12rem; line-height:1.35; }
.jeux-video-detail .jv-specific-card p { color:#456575; line-height:1.75; }
.jeux-video-detail .jeux-video-detail-facts { margin-top:28px; }
.jeux-video-detail .jeux-video-detail-facts strong { font-size:.94rem; line-height:1.5; }
@media(max-width:620px) {
 .jeux-video-detail .jv-platforms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px; }
 .jeux-video-detail .jv-platforms .jeux-video-secondary-action { min-width:0; padding:10px; overflow-wrap:anywhere; }
 .jeux-video-detail .jv-specific-card { padding:20px; }
 .jeux-video-detail .jeux-video-detail-section { padding-top:28px; }
}
@media(prefers-reduced-motion:reduce) { .jeux-video-detail .jv-platforms .jeux-video-secondary-action { transition:none; } }
/* Vidéo et musique : formats propres à chaque lecteur. */
.jeux-video-detail .jv-media-intro { margin:-8px 0 24px; color:#5d7885; line-height:1.7; }
.jeux-video-detail .jv-media-showcase { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:24px; align-items:start; }
.jeux-video-detail .jv-media-showcase > :only-child { grid-column:1/-1; width:100%; max-width:820px; box-sizing:border-box; }
.jeux-video-detail .jv-media-showcase .jeux-video-media-card { min-width:0; padding:22px; border:1px solid #d4e4ea; border-radius:18px; box-shadow:0 8px 26px rgba(18,58,77,.05); }
.jeux-video-detail .jv-media-heading { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.jeux-video-detail .jv-media-heading p { margin:0 0 4px; color:#597784; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.jeux-video-detail .jv-media-heading h3 { margin:0; font-size:1.2rem; line-height:1.3; }
.jeux-video-detail .jv-media-icon { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border-radius:12px; background:#e8f3f7; color:#087b92; font-size:1.25rem; }
.jeux-video-detail .jv-media-audio .jv-media-icon { background:#e8f5ec; color:#26733f; }
.jeux-video-detail .jv-video-frame { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:#102631; }
.jeux-video-detail .jv-video-frame iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; border-radius:0; }
.jeux-video-detail .jv-audio-frame { overflow:hidden; border-radius:12px; }
.jeux-video-detail .jv-audio-frame iframe { display:block; width:100%; height:352px; border:0; border-radius:12px; }
.jeux-video-detail .jv-media-external { display:flex; justify-content:space-between; align-items:center; gap:14px; min-height:44px; margin-top:16px; padding-top:10px; border-top:1px solid #e3ecef; color:#126c80; font-size:.9rem; font-weight:700; text-decoration:none; }
.jeux-video-detail .jv-media-external:hover { color:#084757; text-decoration:underline; text-underline-offset:4px; }
.jeux-video-detail .jv-media-external:focus-visible { outline:3px solid #16819a; outline-offset:3px; }
@media(max-width:900px) { .jeux-video-detail .jv-media-showcase { grid-template-columns:1fr; } .jeux-video-detail .jv-media-showcase > :only-child { max-width:none; } }
@media(max-width:520px) { .jeux-video-detail .jv-media-showcase .jeux-video-media-card { padding:16px; } }
/* Galerie et visionneuse. */
.jeux-video-detail .jv-gallery-intro { color:#617c88; margin:0 0 22px; }
.jeux-video-detail .jv-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.jeux-video-detail .jv-gallery-item { min-width:0; margin:0; overflow:hidden; border:1px solid #d4e5eb; border-radius:16px; background:#fff; }
.jeux-video-detail .jv-gallery-open { display:block; position:relative; aspect-ratio:16/9; background:#eaf1f5; color:#375d6c; overflow:hidden; }
.jeux-video-detail .jv-gallery-open img { display:block; width:100%; height:100%; object-fit:cover; border-radius:0; }
.jeux-video-detail .jv-gallery-zoom { position:absolute; bottom:12px; right:12px; padding:8px 12px; background:#123b4deb; border-radius:8px; color:#fff; font-size:.85rem; font-weight:700; }
.jeux-video-detail .jv-gallery-missing { position:absolute; inset:0; display:grid; place-items:center; padding:20px; }
.jeux-video-detail .jv-gallery-item figcaption { padding:15px 18px; color:#315d70; line-height:1.6; overflow-wrap:anywhere; }
.jeux-video-detail .jv-gallery-open:focus-visible { outline:4px solid #17849a; outline-offset:-4px; }
.jv-gallery-dialog { width:min(1100px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:92vh; box-sizing:border-box; padding:20px; border:1px solid #34515d; border-radius:18px; background:#102b37; color:#fff; }
.jv-gallery-dialog::backdrop { background:rgba(3,14,20,.85); }
.jv-gallery-toolbar,.jv-gallery-navigation { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.jv-gallery-toolbar { margin-bottom:16px; }
.jv-gallery-dialog .jv-gallery-large { display:block; width:100%; height:auto; max-height:65vh; object-fit:contain; }
.jv-gallery-dialog button { min-width:44px; min-height:44px; padding:10px 15px; border:1px solid #7995a2; border-radius:8px; background:#214958; color:#fff; cursor:pointer; font:inherit; }
.jv-gallery-dialog button:focus-visible { outline:3px solid #7ee0f5; outline-offset:3px; }
.jv-gallery-caption { line-height:1.6; text-align:center; overflow-wrap:anywhere; }
.jv-gallery-dialog-error { padding:60px 20px; text-align:center; }
.jv-gallery-dialog [hidden],.jeux-video-detail .jv-gallery-grid [hidden] { display:none; }
@media(max-width:650px) { .jeux-video-detail .jv-gallery-grid { grid-template-columns:1fr; } .jv-gallery-dialog { padding:12px; } }
/* Présentation du jeu : jaquette et identité visuelle. */
.jeux-video-detail .jeux-video-detail-intro { min-width:0; }
.jeux-video-detail .jeux-video-detail-logo { width:auto; height:auto; max-width:min(280px,100%); max-height:120px; margin:0 0 18px; object-fit:contain; object-position:left center; }
.jeux-video-detail .jeux-video-detail-intro .jeux-video-eyebrow { margin:0 0 20px; font-size:.78rem; letter-spacing:.09em; line-height:1.6; }
.jeux-video-detail .jeux-video-detail-cover { border-radius:12px; }
.jeux-video-detail .jeux-video-detail-cover > span { display:grid; place-items:center; width:100%; min-height:250px; }
.jeux-video-detail .jeux-video-detail-intro .jeux-video-detail-tags { margin-top:18px; }
.jeux-video-detail .jeux-video-detail-description { margin-top:20px; line-height:1.75; }
.jeux-video-detail .jeux-video-detail-actions { margin-top:24px; }
@media(max-width:760px) {
 .jeux-video-detail .jeux-video-detail-hero { grid-template-columns:minmax(130px,180px) minmax(0,1fr); gap:24px; padding:24px; }
 .jeux-video-detail .jeux-video-detail-cover { width:100%; margin:0; }
 .jeux-video-detail .jeux-video-detail-intro { text-align:left; }
 .jeux-video-detail .jeux-video-detail-logo { max-height:90px; margin-left:0; margin-right:0; }
 .jeux-video-detail .jeux-video-detail-intro .jeux-video-detail-tags,.jeux-video-detail .jeux-video-detail-actions { justify-content:flex-start; }
}
@media(max-width:560px) {
 .jeux-video-detail .jeux-video-detail-hero { grid-template-columns:1fr; gap:24px; }
 .jeux-video-detail .jeux-video-detail-cover { width:min(180px,100%); margin:0 auto; }
 .jeux-video-detail .jeux-video-detail-intro { text-align:center; }
 .jeux-video-detail .jeux-video-detail-logo { margin-left:auto; margin-right:auto; object-position:center; }
 .jeux-video-detail .jeux-video-detail-intro .jeux-video-detail-tags,.jeux-video-detail .jeux-video-detail-actions { justify-content:center; }
}
.jeux-video-detail .jeux-video-detail-cover { aspect-ratio:auto; align-self:center; }
.jeux-video-detail .jeux-video-detail-cover img { display:block; width:100%; height:auto; max-height:390px; object-fit:contain; }
.jeux-video-detail .jeux-video-detail-intro h1 { line-height:1.15; letter-spacing:-.025em; }