/* Shoutouts page: hero art size, format cards, closing block with the bot. Shared blocks come from format-pages.css. */
.sh-art.fp-art { aspect-ratio: 600 / 540; max-width: 600px; }
/* hero copy: balanced lines and room before the animation */
.sh-hero h1 { text-wrap: balance; }
.sh-hero .fp-lede { text-wrap: pretty; }
@media (min-width: 992px) {
    .sh-hero .info__content { padding-right: 32px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .sh-hero h1 { font-size: 32px; }
}

.sh-formats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.sh-format { background: #fff; border: 1px solid #e8edf5; border-radius: 8px; padding: 22px 20px 20px; min-width: 0; }
.sh-format .fp-ico { width: 40px; height: 40px; border-radius: 10px; background: #edf4ff; color: #4791ff; display: flex; align-items: center; justify-content: center; }
.sh-format h3 { margin: 16px 0 0; font-size: 20px; line-height: 1.3; font-weight: 600; color: #0a2540; letter-spacing: -.01em; }
.sh-format dl { margin: 6px 0 0; }
.sh-format dt { margin-top: 12px; font-size: 12.5px; font-weight: 600; color: #7a8aa0; }
.sh-format dd { margin: 2px 0 0; font-size: 14.5px; line-height: 1.45; color: #425466; }

.sh-final { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 48px; align-items: center; }
.sh-final .fp-final { max-width: none; }
.sh-bot { position: relative; width: 240px; aspect-ratio: 1; }
.sh-bot img, .sh-bot .sh-bot__live { position: absolute; inset: 0; width: 100%; height: 100%; }
.sh-bot .sh-bot__live svg { width: 100% !important; height: 100% !important; }
.sh-bot.is-live img { visibility: hidden; }

/* the hero link that scrolls to the film and starts it */
.sh-video-btn { display: inline-flex; align-items: center; gap: 8px; border: 0; cursor: pointer; }
.sh-video-btn__time { font-size: 13px; font-weight: 600; opacity: .65; font-variant-numeric: tabular-nums; }

/* the film under the hero; public/css/otv.css draws the player */
.sh-film__head { margin-left: auto; margin-right: auto; text-align: center; }
.sh-film__player { max-width: 960px; margin: 0 auto; box-shadow: 0 30px 60px -24px rgba(10, 37, 64, .35); }
/* the play button sits in the cover's gap between the headline (ends at 49.4%) and the bot (starts at 64.2%) */
.sh-film__player .otv__play, .sh-film__player .otv__spin { margin-left: 13.6%; }
@media (max-width: 575px) {
    .sh-film__player .otv__play { width: 46px; height: 46px; }
    .sh-film__player .otv__play svg { width: 20px; height: 20px; margin-left: 2px; }
}
.sh-film__yt { position: absolute; left: 50%; bottom: 16px; z-index: 3; transform: translateX(-50%); padding: 6px 14px; border-radius: 100px; background: rgba(0, 0, 0, .6); color: #fff; font-size: 14px; font-weight: 600; }

@media (max-width: 1199px) {
    .sh-formats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .sh-final { grid-template-columns: 1fr; gap: 8px; }
    .sh-bot { width: 150px; order: -1; }
}
@media (max-width: 575px) {
    .sh-art.fp-art { aspect-ratio: 360 / 480; max-width: 360px; }
    .sh-formats { grid-template-columns: 1fr; gap: 12px; }
    .sh-format { padding: 18px 16px; }
    .sh-format h3 { font-size: 18px; }
}
