/* MAGMA repository overrides */

/* Archivio passato: scorrimento orizzontale */
#past-events-grid{display:flex;gap:16px;width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:16px;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin}
#past-events-grid .event-card{flex:0 0 clamp(300px,31vw,470px);min-width:0;scroll-snap-align:start}
#past-events-grid .event-card>a{height:100%}
#past-events-grid::-webkit-scrollbar{height:6px}#past-events-grid::-webkit-scrollbar-track{background:#111}#past-events-grid::-webkit-scrollbar-thumb{background:#444}#past-events-grid::-webkit-scrollbar-thumb:hover{background:#666}

/* Fallback testuali quando una sorgente non espone alcuna immagine */
.upcoming-media.no-cover{padding:24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;background:#050505;border-bottom:1px solid var(--line)}
.upcoming-media.no-cover small{font-size:9px;letter-spacing:2px;color:var(--red);margin-bottom:auto}.upcoming-media.no-cover strong{font:clamp(28px,3vw,46px)/.88 "Archivo Black";letter-spacing:-.05em}.upcoming-media.no-cover span{margin-top:10px;font-size:9px;letter-spacing:1.5px;color:#888}
.event-v7-cover.no-cover{min-height:min(62vh,680px);padding:clamp(28px,5vw,72px);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.event-v7-cover.no-cover small{margin-bottom:auto;color:var(--red);font-size:9px;letter-spacing:2px}.event-v7-cover.no-cover strong{font:clamp(64px,11vw,170px)/.78 "Archivo Black";letter-spacing:-.075em;max-width:1200px}.event-v7-cover.no-cover span{margin-top:18px;color:#aaa;font-size:11px;letter-spacing:2px}
.related-no-cover{aspect-ratio:1/1;padding:18px;background:#050505;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:1px solid var(--line)}.related-no-cover small{color:var(--red);letter-spacing:1.5px}.related-no-cover strong{font:clamp(24px,2.7vw,38px)/.9 "Archivo Black";letter-spacing:-.045em;margin-top:8px}

/* Regola immagini Xceed: MAI crop. Il riquadro resta fisso e l'artwork viene letterboxed/pillarboxed. */
.xceed-cover{display:block;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#050505}

/* Eventi futuri: una sola riga a scorrimento, così la landing non cresce in verticale. */
.more-upcoming{overflow:hidden}
.upcoming-grid{display:flex!important;grid-template-columns:none!important;gap:18px;align-items:stretch;width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 0 16px;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin}
.upcoming-grid::-webkit-scrollbar{height:6px}.upcoming-grid::-webkit-scrollbar-track{background:#111}.upcoming-grid::-webkit-scrollbar-thumb{background:#444}.upcoming-grid::-webkit-scrollbar-thumb:hover{background:#666}
.upcoming-card{display:flex;flex:0 0 clamp(290px,31vw,430px);flex-direction:column;min-width:0;height:auto;scroll-snap-align:start;scroll-snap-stop:always}

/* Il frame è quadrato: orizzontale = spazio sopra/sotto, verticale = spazio ai lati. */
.upcoming-media{aspect-ratio:1/1!important;min-height:0!important;height:auto!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;background:#050505;overflow:hidden!important}
.upcoming-media img,.upcoming-media .xceed-cover{display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:#050505}
.upcoming-media.no-cover{aspect-ratio:1/1!important;min-height:0!important;height:auto!important;padding:20px!important;display:flex!important;align-items:flex-start;justify-content:flex-end;background:#050505;overflow:hidden!important}

.upcoming-meta{display:flex;flex:1;flex-direction:column;align-items:stretch;justify-content:space-between;gap:16px;min-height:190px;padding:18px}
.upcoming-meta>div:first-child{min-width:0;width:100%}
.upcoming-meta h3{font-size:clamp(22px,2.25vw,34px);line-height:.94;letter-spacing:-.04em;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:normal;overflow-wrap:anywhere;text-wrap:balance;margin:8px 0 0}
.upcoming-meta p{line-height:1.45;margin-top:9px;text-wrap:pretty}
.upcoming-ticket{align-self:flex-start;white-space:normal;line-height:1.3}

/* Pagina del singolo evento: area immagine contenuta nella viewport e artwork sempre intero. */
.event-v7-cover:not(.no-cover){height:min(72vh,820px)!important;min-height:420px!important;max-height:820px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;overflow:hidden!important;background:#050505}
.event-v7-cover:not(.no-cover) img,.event-v7-cover:not(.no-cover) .xceed-cover{display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:#050505}

/* Card correlate: stesso principio, nessun taglio. */
.related-card>img,.related-card>.xceed-cover{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important;object-position:center!important;background:#050505}

/* Anche le superfici featured rispettano l'artwork completo. */
.hero-poster img.xceed-cover,.opening-art img.xceed-cover{object-fit:contain!important;object-position:center!important;background:#050505}

@media(max-width:900px){
  .upcoming-card{flex-basis:clamp(290px,58vw,410px)}
  .upcoming-meta{min-height:190px}
  .upcoming-meta h3{font-size:clamp(24px,4.5vw,34px)}
}
@media(max-width:720px){
  #past-events-grid{gap:12px;padding-right:18px;padding-bottom:12px;scroll-padding-left:0}
  #past-events-grid .event-card{flex-basis:84vw;max-width:360px}
  .upcoming-grid{gap:12px;padding-right:18px;scroll-padding-left:0}
  .upcoming-card{flex:0 0 84vw;max-width:380px}
  .upcoming-meta{min-height:0}
  .event-v7-cover:not(.no-cover){height:min(64vh,620px)!important;min-height:360px!important}
}
@media(max-width:620px){
  .upcoming-grid{gap:12px}
  .upcoming-media.no-cover{aspect-ratio:1/1!important;padding:16px!important}
  .upcoming-meta{padding:16px;gap:14px}
  .upcoming-meta h3{font-size:clamp(26px,8vw,34px);line-height:.94}
  .upcoming-meta p{font-size:9px;line-height:1.45}
}
