/* tf-mobile: mobile menu + small-screen fixes (loaded after page CSS) */
/* images that had Smush sizing: never wider than their container, keep aspect ratio (zero specificity: any page rule wins) */
:where(img){max-width:100%}
:where(img[width][height]){height:auto}
html{scroll-padding-top:76px}
[id]{scroll-margin-top:76px}
.thead .tm-btn{display:none}
.thead .tm-panel{display:none}
.thead .tbtn{white-space:nowrap}
@media (max-width:1000px){
  .thead .tw{padding:8px 16px;gap:10px;flex-wrap:nowrap}
  .tlogo{flex:0 1 auto;min-width:0}
  .tlogo img{height:38px;width:auto;max-width:100%}
  .thr{gap:10px;flex:0 0 auto}
  .thead .tbtn{padding:11px 18px;font-size:15px;min-height:44px}
  .thead .tm-btn,.thead .tm-btn:hover,.thead .tm-btn:focus,.thead .tm-btn:active{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #D9DDD6;background:#fff;color:#1B2A26;border-radius:12px;cursor:pointer;padding:0;flex:none;box-shadow:none}
  .tm-btn:focus-visible{outline:3px solid #0F6E56;outline-offset:2px}
  .tm-ico,.tm-ico::before,.tm-ico::after{display:block;width:20px;height:2px;background:#1B2A26;border-radius:2px;position:relative;transition:transform .2s,opacity .2s}
  .tm-ico::before,.tm-ico::after{content:"";position:absolute;left:0}
  .tm-ico::before{top:-6px}.tm-ico::after{top:6px}
  .tm-open .tm-ico{background:transparent}
  .tm-open .tm-ico::before{top:0;transform:rotate(45deg)}
  .tm-open .tm-ico::after{top:0;transform:rotate(-45deg)}
  .thead .tm-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #E5E7E2;box-shadow:0 16px 30px rgba(16,60,48,.14);padding:4px 16px 14px;max-height:calc(100vh - 70px);max-height:calc(100dvh - 70px);overflow-y:auto}
  .thead.tm-open .tm-panel{display:block}
  .thead .tm-panel a{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 4px;font-size:17px;font-weight:600;color:#1B2A26;text-decoration:none;border-bottom:1px solid #EEF0EC}
  .thead .tm-panel a.tm-sub{padding-left:20px;font-size:16px;font-weight:400;min-height:44px}
  .thead .tm-panel a:last-child{border-bottom:0}
  .tm-sale{background:#b3261e;color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;letter-spacing:.06em}
}
@media (max-width:380px){
  .thead .tw{padding:8px 12px}
  .tlogo img{height:34px}
  .thead .tbtn{padding:10px 13px;font-size:14px}
}
/* small-screen layout + touch targets (html body prefix beats late-injected component CSS) */
@media (max-width:600px){
  html body small,html body .ct,html body .k,html body .go,html body .tb-h,html body .tbadge{font-size:14px!important}
  html body .tcalc .tcg{grid-template-columns:1fr 1fr;gap:16px 18px}
  html body .tcalc .tcg>div:has(select){grid-column:1/-1}
  html body .tcalc select{width:100%;min-height:46px;font-size:16px}
  html body input[type=range]{height:32px;margin:0}
  html body .trec-row{flex-direction:column;align-items:flex-start;gap:6px}
  html body #recAddons .tb-sb,html body .tb-sb{width:40px;height:40px;font-size:20px}
  html body #recAddons .tb-sg,html body .tb-sg{min-height:40px;padding:8px 13px;font-size:14px}
  html body #recAddons .tb-pill,html body .tb-pill{min-height:40px;font-size:14px}
  html body #recAddons .tb-s,html body .tb-s,html body .tb-hint,html body .tey,html body .tb-h,html body .ct,html body .go,html body .k{font-size:14px}
  html body #recAddons .twater-link,html body .twater-link{display:inline-block;padding:10px 0;min-height:44px}
  html body .plearn,html body .pbuy{font-size:14px!important;padding:12px 8px!important;min-height:44px}
  html body a[href^="tel:"]{display:inline-block!important;padding:10px 0!important;min-height:44px}
  html body footer.tfoot a{display:inline-block;padding:10px 0;min-height:44px}
  html body #recAddons a.tbtn,html body .tcalc a.tbtn{min-height:44px}
  html body footer.tfoot a[aria-label]{width:44px;height:44px;padding:0}
  html body #recAddons .tb-card:not(.tb-prot) .tb-l>b,html body #recAddons .tb-card:not(.tb-prot) .tb-l>.tb-s{grid-column:1/-1}
  html body #recAddons .tb-card:not(.tb-prot) .tb-r{grid-column:1/-1;grid-row:3;justify-content:space-between}
}
