/* 2026-10-04: responsive audit; scoped to existing public components. */
/* Full-width sections follow the available page width, including scrollbars. */
.row:has(.fp-home),.row:has(.up){margin-left:0!important;margin-right:0!important;}
.container:has(.fp-home){max-width:none!important;width:100%!important;}
.fp-home .fp-hero,.up .up-hero,.pd .pd-hero,.pd .pd-bcbar{width:100%!important;left:auto!important;margin-left:0!important;}
.fp-foot{width:var(--fp-viewport-width,100%)!important;left:50%!important;margin-left:calc(var(--fp-viewport-width,100%) / -2)!important;}
.fp-home .fp-eco-band::before,.fp-home .fp-stats-band::before{width:var(--fp-viewport-width,100%);margin-left:calc(var(--fp-viewport-width,100%) / -2);}
.fp-foot .cols{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));}
.fp-foot .cols>div{min-width:0;overflow-wrap:anywhere;}
/* Grid items may shrink; wide musical diagrams scroll inside their own panel. */
.esc-panel,.ed-app,.mn-app,.fb-app,.iv-app,.iv-side,.cv-app,.dm-app,.art-main,.blg-side,.fo-post,.mb-card,.mb-pod{min-width:0;max-width:100%;}
.esc-grid,.ed-cols,.mn-cols,.fb-cols,.iv-cols,.cv-cols,.dm-cols,.blg-grid2{min-width:0;}
.mb-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.mb-podium{grid-template-columns:repeat(3,minmax(0,1fr));}
.mb-info{flex:1 1 0;}.mb-name,.mb-user,.mb-stat{overflow-wrap:anywhere;}
.blg-search input{min-width:0;max-width:100%;}
.pd-comm-ta{min-width:0;}.pd-comment-head{flex-wrap:wrap;}
.art-body{overflow-wrap:anywhere;}.art-body table{display:block;overflow-x:auto;}
.fo-post .body .hd{flex-wrap:wrap;gap:6px;}
.foro .av{overflow:hidden;flex-shrink:0;}.foro .av img{width:100%;height:100%;object-fit:cover;display:block;}
.fp-mm-scroll{min-height:0;}.fp-mm-lang{flex-wrap:wrap;}
@media(max-width:1200px){.mb-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:980px){
 .esc-grid,.ed-cols,.mn-cols,.fb-cols,.iv-cols,.cv-cols,.dm-cols{grid-template-columns:minmax(0,1fr);}
 .ed-side,.mn-side,.fb-side,.iv-side,.cv-side,.dm-side{position:static;}
}
@media(max-width:960px){.blg-grid2{grid-template-columns:minmax(0,1fr);}}
@media(max-width:900px){.mb-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:820px){.fp-foot .cols{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:768px){
 .fp-home .fp-wrap{padding-left:16px;padding-right:16px;}
 .pd .pd-ab{border-radius:24px;padding:14px 16px;gap:12px;}
 .pd .pd-ab-l{width:100%;flex-wrap:wrap;}
 .pd .pd-card{padding:20px 16px;}
 .pd .pd-tech{grid-template-columns:minmax(0,1fr);}
 .pd .pd-ab-r{max-width:100%;flex-wrap:wrap;}
}
@media(max-width:600px){
 .fp-home .fp-eco{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .fp-home .fp-eco-card{min-width:0;padding:16px 13px;}
 .fp-home .fp-eco-ico{width:44px;height:44px;margin-bottom:12px;}
 .fp-home .fp-eco-ico img{width:20px;height:20px;}
 .fp-home .fp-eco-card h4{font-size:15px;margin-bottom:7px;overflow-wrap:anywhere;}
 .fp-home .fp-eco-card p{font-size:12px;line-height:1.5;margin-bottom:14px;}
 .fp-home .fp-eco-btn{padding:12px 8px;font-size:13px;overflow-wrap:anywhere;}
 .fo-post{padding:16px;}.fo-post .side{min-width:0;flex-wrap:wrap;}
}
@media(max-width:560px){
 .mb-grid,.mb-podium{grid-template-columns:minmax(0,1fr);}
 .mb-card{gap:10px;padding:12px;}.mb-rank{min-width:26px;}
 .ed .ed-app,.mn .mn-app,.fb .fb-app,.iv .iv-app,.cv .cv-app,.dm .dm-app{padding:18px 14px;}
 .mn .mn-tempo{gap:10px;}.mn .mn-step{width:44px;height:44px;flex:0 0 44px;}
 .mn .mn-bpmbox{min-width:0;flex:1;}
 .cv .cv-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
 .cv .cv-syst{min-width:0;padding:10px 4px;}.cv .cv-sl{font-size:10px;overflow-wrap:anywhere;}
 .fp-foot .in{padding-left:16px;padding-right:16px;}
 .pd .pd-comm-box{flex-direction:column;}.pd .pd-comm-ta{width:100%;}
 .up .up-grid{grid-template-columns:repeat(auto-fill,minmax(min(255px,100%),1fr));}
 .up .up-id{min-width:0;max-width:100%;overflow-wrap:anywhere;}
}
@media(max-width:480px){.fp-foot .cols{grid-template-columns:minmax(0,1fr);}}
@media(max-width:440px){
 .fp-home .fp-art-grid,.fp-home .fp-inst-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .fp-home .fp-steps,.fp-home .fp-comm{grid-template-columns:minmax(0,1fr);}
 .fp-home .fp-step{min-width:0;}
 .fp-home .fp-banner{padding:26px 20px;}
}
@media(max-width:420px){
 .auth-card.wide .g-recaptcha,.cx .g-recaptcha{transform:scale(.85);transform-origin:left top;height:67px;}
}
@media(max-width:360px){
 .auth-card.wide .g-recaptcha,.cx .g-recaptcha,.pd-cform .g-recaptcha,.cmt-form .g-recaptcha{transform:scale(.70);transform-origin:left top;height:56px;}
}

/* Long translated labels remain inside their cards. */
.fp-home .fp-statbox{grid-template-columns:repeat(2,minmax(0,1fr));}
.fp-home .fp-statbox .b{min-width:0;overflow-wrap:anywhere;}
.fp-home .fp-ped-hd{flex-wrap:wrap;gap:8px;}
.fp-home .fp-ped-hd>h3,.fp-home .fp-ped-hd>a{max-width:100%;}
@media(max-width:440px){.fp-home .fp-statbox .b{padding:16px 12px;}}
