/* Shared small-screen layout. Keep natural scrolling; shrink content instead of clipping it. */
img,video,iframe{max-width:100%}
main,section,article,form,fieldset,.fields>*,.columns>*,.form-grid>*,.detail>*,.contact-layout>*,.about-lead>*,.footer-grid>*{min-width:0}
fieldset{min-inline-size:0}
p,h1,h2,h3,h4,dd,legend,.statusline,.contact-item a{overflow-wrap:anywhere}
@media(max-width:800px){
 html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
 body{min-width:0}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;max-width:100%;min-width:0;min-height:48px}
 textarea{resize:vertical}
 button,.btn,.button,.smallbtn,.tab,.menu-toggle{min-height:44px;white-space:normal;overflow-wrap:anywhere}
 input[type=checkbox],input[type=radio]{flex:0 0 20px;width:20px;height:20px;min-height:20px;max-width:20px}
 .site-header{gap:12px}
 .site-header .brand{max-width:calc(100% - 95px);flex-shrink:1}
 .site-nav{max-height:calc(100dvh - 105px);overflow-y:auto;overscroll-behavior:contain}
 .site-nav a[aria-current=page]{color:#fff}
 .menu-toggle{flex-shrink:0}
 .actions{flex-wrap:wrap}
 .actions .btn{flex:1 1 140px;gap:12px;text-align:center}
 .home-hero{width:auto;margin-inline:-5.555556%}
 .hero-copy h1{font-size:clamp(38px,10vw,60px)}
 .form-grid{grid-template-columns:minmax(0,1fr)!important}
 .columns,.fields{grid-template-columns:minmax(0,1fr)}
 .formbox,.surface,.panelbody,.panelhead{min-width:0}
 .regwrap input{min-width:0;width:calc(100% - 32px)}
 .plate{flex:0 0 32px}
 .choice{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px 12px}
 .choice>input{grid-column:1;grid-row:1 / span 2;align-self:center}
 .choice>span{grid-column:2;min-width:0}
 .choice>b{grid-column:2;justify-self:start;font-size:14px}
 .choice strong,.choice small{overflow-wrap:anywhere}
 .choice small,.fine,.muted{font-size:13px}
 .cost>div{flex-wrap:wrap;gap:6px 16px}
 .cost>div strong{overflow-wrap:anywhere}
 .cost .grand{font-size:17px}
 .detail .check{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px 12px;min-height:52px}
 .detail .check input{grid-column:1;grid-row:1 / span 2;align-self:center}
 .detail .check span,.detail .check .addon-description{white-space:normal;min-width:0;margin-left:0;overflow-wrap:anywhere}
 .detail .check>span{grid-column:2}
 .detail .check .addon-description+span{white-space:normal}
 .detail .sound-preview{align-items:flex-start;min-width:0}
 .detail .sound-preview>div{min-width:0}
 .detail .sound-preview img{flex:0 0 80px;width:80px;height:80px}
 .totalrow{flex-wrap:wrap;gap:8px;font-size:21px}
 .inquiry-dialog{box-sizing:border-box;max-width:calc(100vw - 24px);width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;overflow-y:auto;overscroll-behavior:contain}
 .dialog-close{min-width:44px;min-height:44px}
 .inquiry-dialog label{clear:both}
 .footer-grid,.contact-shortcuts{gap:16px}
 .contact a,.footer-grid a{overflow-wrap:anywhere}
 .contact-shortcuts a{padding:16px}
 .campaign-copy{padding:22px}
 .campaign-copy .btn{width:100%}
 .tire-card{min-width:0}
 .tire-card dl>div{flex-wrap:wrap}
 .package .inside{padding:20px}
 .package img{height:auto;object-fit:contain}
 .jms-admin{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .jms-admin>header{position:static;gap:12px;padding:16px;align-items:stretch}
 .jms-admin .top-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
 .jms-admin .top-actions .button{font-size:13px;padding:12px;justify-content:center;text-align:center}
 .jms-admin #save{position:fixed;z-index:20;bottom:max(12px,env(safe-area-inset-bottom));left:16px;right:16px;width:calc(100% - 32px);min-height:50px;box-shadow:0 0 0 12px #f5f6f8,0 0 0 16px #f5f6f8}
 .jms-admin .admin-shell{grid-template-columns:minmax(0,1fr);padding:0 16px}
 .jms-admin .admin-shell>section{min-width:0}
 .jms-admin .editor{padding:16px}
 .jms-admin .tabbuttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .jms-admin .tabbuttons button{padding:10px 6px}
 .jms-admin .upload{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .jms-admin .upload input[type=file]{width:100%;max-width:100%;font-size:14px!important;min-height:44px}
 .jms-admin .upload button,.jms-admin .smallbtn,.jms-admin .danger{min-height:44px}
 .jms-admin .tire-editor{padding:12px;margin:0}
 .jms-admin .statusline{font-size:14px;line-height:1.5}
}
@media(max-width:380px){
 .footer-grid,.contact-shortcuts,.catalog-filters{grid-template-columns:minmax(0,1fr)}
 .detail .facts{grid-template-columns:minmax(0,1fr)}
 .progress{flex-wrap:wrap;font-size:11px;gap:6px}
 .progress i{width:12px}
 .modalbar .eyebrow{font-size:10px;letter-spacing:1px}
 .hero-copy .btn{padding:14px}
}
