/* Real guest UI captured at phone size, October 2026. */
.song-request-showcase { position:relative; }
.song-request-showcase .request-intro { max-width:740px; margin-bottom:30px; }
.song-request-showcase .request-intro h2 { font-family:"Oxanium",system-ui,sans-serif; font-size:clamp(32px,4.2vw,60px); line-height:1.08; letter-spacing:-.045em; text-transform:none; margin:14px 0 24px; }
.song-request-showcase .request-intro em { font-style:normal; color:#ff8ed5; }
.song-request-showcase .request-intro p { line-height:1.8; }
.request-phone-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; max-width:1050px; margin:0 auto; padding:12px 0 24px; }
.request-phone-gallery figure { min-width:0; margin:0; padding:0; background:none; border:0; box-shadow:none; text-align:center; }
.request-phone-gallery a { display:block; border-radius:28px; }
.request-phone-gallery a:focus-visible { outline:3px solid #80e5e8; outline-offset:4px; }
.request-phone-gallery img { display:block; width:100%; height:auto; max-width:340px; aspect-ratio:920 / 1900; object-fit:contain; border:0; margin:0 auto; }
.request-phone-gallery figcaption { margin:10px auto 0; max-width:285px; padding:0 8px; }
.request-phone-gallery h3 { font-family:"Oxanium",system-ui,sans-serif; font-size:21px; line-height:1.3; letter-spacing:-.025em; text-transform:none; margin:0 0 9px; color:#fff7e8; }
.request-phone-gallery figcaption p { font-size:14px; line-height:1.7; margin:0; color:#aeb0c6; }
.song-request-showcase .request-screen-note { font-size:12px; color:#aeb0c6; margin-top:16px; }
.request-swipe-hint { display:none; }
@media(max-width:650px) {
 .request-phone-gallery { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:min(78vw,300px); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; gap:16px; padding:12px 6px 24px; scrollbar-color:#8e587f #191320; }
 .request-phone-gallery figure { scroll-snap-align:start; }
 .request-phone-gallery figcaption { padding:0 14px; }
 .request-swipe-hint { display:block; font-size:13px; color:#80e5e8; margin:0 0 8px; }
}
