/* Barra copiata dalla landing TOP Posters: stessi valori e breakpoint.
   Sono adattati soltanto i selettori e i nomi dei token del tema. */
.welcome-platforms {display: flex; align-items: center; gap: 12px 26px; padding: 18px 30px; border-radius: var(--surface-radius); background: var(--brand-gradient); box-shadow: var(--surface-shadow); color: #fff;}
.welcome-platforms__heading {flex: 0 0 auto; display: grid; gap: 4px; justify-items: start; align-content: center;}
.welcome-platforms {position: relative;}
.welcome-platforms__more {flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; padding: 4px 11px; border: 1px solid #ffffff59; border-radius: 999px; background: #ffffff1f; color: #fff; font: inherit; font-size: 11px; font-weight: 700; letter-spacing: .03em; white-space: nowrap; cursor: pointer; transition: background .18s, opacity .2s, transform .2s;}
@media (hover: hover) and (pointer: fine) {
.welcome-platforms__heading {gap: 0;}
.welcome-platforms__more {max-height: 0; margin-top: 0; padding-block: 0; border-width: 0; opacity: 0; overflow: hidden; pointer-events: none; transition: max-height .25s ease, margin-top .25s ease, padding-block .25s ease, border-width .25s ease, opacity .18s ease, background .18s;}
.welcome-platforms:hover .welcome-platforms__more, .welcome-platforms:focus-within .welcome-platforms__more,
    .welcome-platforms__more[aria-expanded="true"] {max-height: 30px; margin-top: 4px; padding-block: 4px; border-width: 1px; opacity: 1; pointer-events: auto; transition: max-height .25s ease, margin-top .25s ease, padding-block .25s ease, border-width .25s ease, opacity .2s ease .08s, background .18s;}
}
.welcome-platforms__more:hover, .welcome-platforms__more[aria-expanded="true"] {background: #ffffff38;}
.welcome-platforms__more:focus-visible, .platform-wall-all__close:focus-visible {outline: 2px solid #fff; outline-offset: 2px;}
.platform-wall-all {position: absolute; z-index: 30; top: 0; left: 0; right: 0; padding: 0 30px 24px; border-radius: var(--surface-radius); background: var(--brand-gradient); color: #fff; overflow: hidden; box-shadow: var(--surface-inset);}
.platform-wall-all[hidden] {display: none;}
.platform-wall-all__head {display: flex; align-items: center; justify-content: space-between; min-height: 88px;}
.platform-wall-all__label {font-size: 13px; font-weight: 700; letter-spacing: .12em; color: #fffffff0;}
.platform-wall-all__close {flex: 0 0 auto; box-sizing: border-box; display: grid; place-items: center; width: 36px; height: 36px; aspect-ratio: 1; padding: 0; border: 1px solid #ffffff59; border-radius: 50%; background: #ffffff1f; color: #fff; -webkit-appearance: none; appearance: none; cursor: pointer;}
.platform-wall-all__close svg {display: block; width: 16px; height: 16px;}
.platform-wall-all__close:hover {background: #ffffff38;}
.platform-wall-all__group {--group-label: 150px; display: grid; grid-template-columns: var(--group-label) minmax(0, 1fr); column-gap: 26px; align-items: start;}
.platform-wall-all__group + .platform-wall-all__group {margin-top: 12px; padding-top: 12px; border-top: 1px solid #ffffff2e;}
.platform-wall-all__title {display: flex; align-items: center; min-height: 52px; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .12em; line-height: 1.35; text-transform: uppercase; color: #fffffff0;}
.platform-wall-all__count {color: #ffffffa8;}
.platform-wall-all__items {display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 16px 24px;}
.platform-wall-all__cell {display: grid; place-items: center; min-height: 52px;}
#platforms-label {font-size: 13px; font-weight: 700; letter-spacing: .12em; color: #fffffff0;}
.platform-wall {--slot-min: 170px; --logo-max-width: 132px; --platform-gap: 24px; flex: 1; min-width: 0; height: 52px; overflow: hidden; display: grid; grid-template-columns: repeat(auto-fill,minmax(var(--slot-min),1fr)); grid-auto-rows: 52px;}
.platform-wall.is-fitted {display: flex; justify-content: space-evenly; gap: var(--platform-gap); overflow-x: clip; overflow-y: visible;}
.platform-wall__slot {position: relative; min-width: 0; display: grid; flex: 0 0 auto;}
.platform-wall__slot[hidden] {display: none;}
.platform-wall__item {border: 0; border-radius: 12px; background: transparent; color: inherit; font: inherit; transition: background .18s, box-shadow .18s; grid-area: 1 / 1; place-self: center; width: max-content; height: 52px; display: flex; align-items: center; justify-content: center; gap: 8px; padding-inline: 0;}
.platform-wall__item.is-outgoing {position: absolute; inset: 0; margin: auto;}
.platform-wall__measure {position: fixed; display: flex; width: max-content; visibility: hidden; pointer-events: none;}
.platform-wall__logo {flex: 0 0 auto; width: var(--w); height: var(--h); background: currentColor; -webkit-mask: var(--sprite) var(--x) var(--y) / var(--sprite-w) var(--sprite-h) no-repeat; mask: var(--sprite) var(--x) var(--y) / var(--sprite-w) var(--sprite-h) no-repeat;}
.platform-wall__wordmark {flex: 0 0 auto; width: var(--w); height: var(--h); background: var(--wordmarks) var(--x) var(--y) / var(--wordmarks-w) var(--wordmarks-h) no-repeat; filter: drop-shadow(0 2px 4px #1d10402e);}
.platform-wall__name {font-size: 17px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; text-align: center;}
.platform-wall__name--solo {font-size: 19px;}
[data-rating="rottentomatoes"] .platform-wall__name {inline-size: min-content; flex-shrink: 0; text-align: start;}
.platform-wall__item:hover, .platform-wall__item[aria-expanded="true"] {background: #ffffff17; box-shadow: 0 0 0 5px #ffffff17;}
.platform-wall__item:focus-visible {outline: 2px solid #fff; outline-offset: 2px;}
.platform-provider {position: fixed; z-index: 40; width: 340px; max-width: calc(100vw - 32px); color: var(--ink);}
.platform-provider::before {content: ""; position: absolute; width: 12px; height: 12px; left: var(--arrow-x); bottom: -5px; transform: translateX(-50%) rotate(45deg); background: #f7f9fb;}
.platform-provider[data-side="below"]::before {top: -5px; bottom: auto; background: #fafafa;}
.platform-provider__surface {position: relative; padding: 22px; border-radius: 18px; background: var(--surface); box-shadow: var(--surface-shadow), 0 16px 40px #29203f33; max-height: min(430px,calc(100dvh - 32px)); overflow-y: auto; overscroll-behavior: contain;}
.platform-provider__close {position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--muted); font-size: 24px; line-height: 1;}
.platform-provider__close:hover {background: #7154ac12; color: var(--brand-end);}
.platform-provider__eyebrow {padding-right: 24px; color: var(--brand-end); font-size: 10px; font-weight: 800; letter-spacing: .1em;}
.platform-provider__heading {display: flex; align-items: center; gap: 11px; margin: 16px 0 18px;}
#platform-provider-mark {display: flex; align-items: center; color: var(--brand-end);}
#platform-provider-title {font-size: 21px; font-weight: 800; letter-spacing: -.025em;}
.platform-provider__detail + .platform-provider__detail {margin-top: 16px; padding-top: 16px; border-top: 1px solid #dedbe8;}
.platform-provider__detail h4 {margin: 0 0 6px; color: var(--brand-end); font-size: 12px; font-weight: 750; line-height: 1.45;}
.platform-provider__detail p {font-size: 14px; line-height: 1.6;}
@media (pointer: coarse) {
.platform-provider__close {width: 44px; height: 44px; top: 4px; right: 4px;}
}
@media (max-width: 960px) {
.welcome-platforms {flex-wrap: wrap;}
.platform-wall {flex-basis: 100%; order: 1;}
.welcome-platforms__heading {width: auto; flex: 1; display: flex; justify-content: space-between; align-items: center;}
.welcome-platforms:hover .welcome-platforms__more, .welcome-platforms:focus-within .welcome-platforms__more,
    .welcome-platforms__more[aria-expanded="true"] {margin-top: 0;}
.platform-wall-all__group {grid-template-columns: minmax(0, 1fr);}
.platform-wall-all__title {min-height: 0; margin-bottom: 6px;}
.platform-wall-all__items {grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 2px 16px;}
}
@media (max-width: 560px) {
.welcome-platforms {padding: 16px 18px;}
.platform-wall-all {padding: 0 18px 18px;}
.platform-wall-all__head {min-height: 64px;}
.platform-wall-all__items {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 8px;}
.platform-wall-all__title {min-height: 0;}
.platform-wall-all__cell {min-height: 40px;}
.platform-wall-all .platform-wall__item {flex: 0 0 auto; transform: scale(.72);}
.platform-wall-all .platform-wall-all__cell {display: flex; justify-content: center; align-items: center; height: 40px; min-height: 0;}
.platform-wall {--slot-min: 150px; --logo-max-width: 140px; --platform-gap: 20px;}
.platform-wall__name {font-size: 15px;}
.platform-wall__name--solo {font-size: 17px;}
}
.platform-wall__logo, #platform-provider-mark .platform-wall__logo {background: var(--sprite) var(--x) var(--y) / var(--sprite-w) var(--sprite-h) no-repeat; -webkit-mask: none; mask: none; filter: drop-shadow(0 2px 4px #1d10402e);}

/* Base di site.css di TOP Posters, limitata alla barra. */
.welcome-platforms { font: 15px/1.6 var(--font); }
:where(.welcome-platforms) button { font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
:where(.welcome-platforms) button:focus-visible { outline: 3px solid #483b9d; outline-offset: 5px; }
:where(.welcome-platforms) h3 { font-size: 17px; line-height: 1.12; letter-spacing: -.3px; text-wrap: wrap; }
:where(.welcome-platforms) p { color: var(--muted); }
.welcome-platforms [hidden] { display: none !important; }

/* Dati locali: nomi accessibili e PNG compatti delle fonti senza logotipo. */
.platform-wall__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.platform-wall__source-icon { flex: 0 0 auto; width: 34px; height: 34px; object-fit: contain; filter: drop-shadow(0 2px 4px #1d10402e); }
