/* iTECH responsive layer */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
.wrap,.shell{min-width:0}
header nav,header .shell{min-width:0}
header .logo,header .brand{min-width:0}
.itech-header-actions{min-width:0}
.project-switcher,.project-switcher .switch-wrap,.project-switcher .switch-core{max-width:100%;min-width:0}
.panel,.card,.product,.cat-card,.model-card,.preorder-card,.preorder-info,.parts-request-card{min-width:0;max-width:100%}
.hero h1,.section h2{overflow-wrap:anywhere}
.price-table{max-width:100%}
@media(max-width:980px){
  header .itech-header-address{display:none!important}
  header nav,header .shell{gap:10px!important}
  .itech-header-actions{margin-left:auto!important;gap:7px!important}
  .hero-grid,.hero-split,.cooperation-grid,.preorder-layout,.catalog-shell{grid-template-columns:1fr!important}
  .category-grid,.visual-grid,.shop-grid,.featuregrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .grid,.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .filters,.toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .project-switcher .switch-wrap{overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;justify-content:flex-start!important}
  .project-switcher .switch-core{display:flex!important;flex-wrap:nowrap!important;min-width:max-content!important}
  .project-switcher .itech-header-address-inline{display:none!important}
}
@media(max-width:760px){
  body{font-size:15px}
  .wrap,.shell{width:min(100% - 28px,1180px)!important}
  header{position:sticky;top:0}
  header nav,header .shell{height:auto!important;min-height:64px!important;flex-wrap:wrap!important;padding:9px 0!important}
  header .logo,header .brand{font-size:18px!important;flex:1 1 auto}
  .itech-header-actions{flex:0 0 auto!important}
  .itech-account-btn,.itech-phone-link,.header-request-menu summary{min-height:38px!important;padding:0 10px!important;font-size:11px!important}
  .project-switcher{position:relative!important;top:auto!important;z-index:10!important}
  .project-switcher .switch-wrap{width:100%!important;padding:8px 14px!important}
  .project-switcher a{font-size:11px!important;padding:8px 10px!important}
  .itech-site-search{order:50!important;flex:1 0 100%!important;width:100%!important;max-width:none!important;margin:2px 0 0!important}
  .itech-search-field{height:44px!important}
  .itech-search-results{width:100%!important;max-width:100%!important}
  .header-request-menu .request-menu-panel{position:fixed!important;left:14px!important;right:14px!important;top:76px!important;width:auto!important;max-height:70vh;overflow:auto}
}
@media(max-width:640px){
  .hero{padding:42px 0 34px!important}
  .hero h1{font-size:clamp(34px,10vw,44px)!important;line-height:1.02!important;letter-spacing:-.04em!important}
  .hero p,.lead{font-size:15px!important;line-height:1.55!important}
  .section{padding:42px 0!important}
  .section h2{font-size:30px!important;line-height:1.08!important}
  .category-grid,.visual-grid,.shop-grid,.featuregrid,.grid,.model-grid,.stats,.process{grid-template-columns:1fr!important}
  .filters,.toolbar,.preorder-grid,.device-select-grid,.parts-request-grid,.parts-select-grid,.purchase-mode,.parts-delivery-mode,.repair-form-switch,.repair-choice-grid{grid-template-columns:1fr!important}
  .visual-card,.shop-card{grid-template-columns:1fr!important}
  .visual-card img,.shop-card img{width:100%;max-height:220px;object-fit:cover}
  .panel,.catalog-panel,.callback-panel-switchable,.preorder-card,.preorder-info,.parts-request-card{padding:14px!important;border-radius:18px!important}
  .repair-form-pane{padding:12px!important}
  .repair-form-heading{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .repair-form-address{min-width:0!important;max-width:none!important;width:100%!important}
  .actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .actions>a,.actions>button,.btn,.secondary-button,.primary-button{max-width:100%}
  .footergrid{grid-template-columns:1fr!important}
  table.price-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .price-table th,.price-table td{white-space:nowrap}
}
/* Auth-required request forms */
.itech-form-locked button[type="submit"]{background:transparent!important;border:1px solid #a56eff!important;color:#fff!important}
.itech-form-locked button[type="submit"]:hover,.itech-form-locked button[type="submit"]:focus-visible{background:#8b5cf6!important}
.itech-gate-attention{animation:itechGatePulse .7s ease 2}
@keyframes itechGatePulse{50%{box-shadow:0 0 0 5px rgba(139,92,246,.18);border-color:#b799ff}}

/* 2026-09-14 — global viewport hardening for all Apple / Android screen sizes */
*,*::before,*::after{box-sizing:border-box}
html,body{width:100%;max-width:100%;min-width:0!important;overflow-x:hidden!important}
@supports(overflow:clip){html,body{overflow-x:clip!important}}
body,main,.page,header,footer,section,article,aside,nav,form,fieldset,figure{min-width:0;max-width:100%}
main,.page{overflow-x:clip}
img,picture,video,canvas,svg,iframe,embed,object{max-width:100%!important;height:auto}
iframe,embed,object{width:100%}
pre,code,kbd,samp{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
pre{overflow-x:auto;-webkit-overflow-scrolling:touch}
input,select,textarea,button{min-width:0;max-width:100%;box-sizing:border-box}
fieldset{min-inline-size:0}
.wrap,.shell,.container,.content,.content-copy,.hero-copy,.catalog-panel,.panel{min-width:0;max-width:100%}
.wrap,.shell{max-width:calc(100% - 24px)!important}
.grid,.model-grid,.category-grid,.featuregrid,.visual-grid,.shop-grid,.stats,.process,.filters,.toolbar,.catalog-shell,.hero-grid,.hero-split,.cooperation-grid,.contact-strip,.preorder-layout,.preorder-grid,.device-select-grid,.parts-request-grid,.parts-select-grid,.repair-choice-grid,.repair-form-switch,.callback-form{min-width:0}
.grid>*,.model-grid>*,.category-grid>*,.featuregrid>*,.visual-grid>*,.shop-grid>*,.stats>*,.process>*,.filters>*,.toolbar>*,.catalog-shell>*,.hero-grid>*,.hero-split>*,.cooperation-grid>*,.contact-strip>*,.preorder-layout>*,.preorder-grid>*,.device-select-grid>*,.parts-request-grid>*,.parts-select-grid>*,.repair-choice-grid>*,.repair-form-switch>*,.callback-form>*{min-width:0;max-width:100%}
.hero h1,.hero h2,.section h1,.section h2,.section h3,.card h3,.product h3,.model-card h3,.cat-card h3,.feature h3,.banner h3,.cta h2,.seo-box h3,.content-copy h1,.content-copy h2,.content-copy h3{max-width:100%;overflow-wrap:anywhere;word-break:normal}
p,li,dd,dt,.lead,.small,.meta,.price,.contact,.kicker{overflow-wrap:anywhere}
.actions,.chips,.trust,.pagination,.brandbar,.bottom,.banner,.cta,.itech-header-actions,.contact-actions,.contact-messengers{max-width:100%;min-width:0}
.bottom,.banner,.cta{flex-wrap:wrap}
table{max-width:100%}
.price-table{width:100%!important}
.modal,.itech-auth-overlay{max-width:100vw;max-height:100dvh}
.modal-card,.itech-auth-modal,.request-menu-panel,.itech-search-results,.itech-bonus-toast{max-width:calc(100vw - 24px)!important}
.itech-auth-widget,.itech-bonus-float{max-width:calc(100vw - 24px)}

@media(max-width:980px){
  header nav,header .shell{min-width:0;max-width:100%;flex-wrap:wrap!important}
  header .logo,header .brand{max-width:100%;overflow-wrap:anywhere}
  .itech-header-actions{flex-wrap:wrap!important;justify-content:flex-end}
  .catalog-shell,.hero-grid,.hero-split,.cooperation-grid,.preorder-layout{grid-template-columns:minmax(0,1fr)!important}
  .category-grid,.visual-grid,.shop-grid,.featuregrid,.grid,.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .filters,.toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .project-switcher,.project-switcher .switch-wrap{max-width:100vw!important;min-width:0!important}
  .project-switcher .switch-wrap{overflow-x:auto!important;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .project-switcher .switch-core{display:flex!important;flex-wrap:nowrap!important;min-width:max-content!important}
}

@media(max-width:760px){
  body{font-size:15px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .wrap,.shell{width:auto!important;max-width:calc(100% - 24px)!important;margin-left:auto!important;margin-right:auto!important}
  header nav,header .shell{gap:8px!important;padding:8px 0!important;height:auto!important;min-height:0!important}
  header .logo,header .brand{font-size:18px!important;line-height:1.15}
  .itech-header-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;margin-left:0!important}
  .itech-header-actions>*{min-width:0!important;max-width:100%!important}
  .itech-header-actions .header-request-menu{grid-column:1/-1;width:100%!important}
  .itech-header-actions .header-request-menu>summary,.itech-account-btn,.itech-phone-link{width:100%!important;min-height:44px!important;justify-content:center!important;text-align:center;white-space:normal!important;padding:8px 10px!important;font-size:12px!important;line-height:1.2}
  .itech-site-search{order:50!important;flex:1 0 100%!important;width:100%!important;max-width:none!important;min-width:0!important;margin:2px 0 0!important}
  .itech-search-field{width:100%!important;min-width:0!important}
  .project-switcher .switch-wrap{width:100%!important;max-width:100%!important;padding:8px 12px!important;margin:0!important}
  .project-switcher a{flex:0 0 auto;font-size:11px!important;padding:8px 10px!important}
  .header-request-menu .request-menu-panel{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;width:auto!important;max-width:none!important;max-height:70dvh!important;overflow:auto!important}
  input,select,textarea{font-size:16px!important}
  button,.btn,.primary-button,.secondary-button,a[role="button"]{min-height:44px}
  .hero-art{min-height:0!important}
}

@media(max-width:640px){
  .hero{padding:38px 0 30px!important}
  .hero h1{font-size:clamp(32px,10vw,44px)!important;line-height:1.03!important;letter-spacing:-.035em!important}
  .hero p,.lead{font-size:15px!important;line-height:1.55!important}
  .section{padding:38px 0!important}
  .section h2{font-size:clamp(27px,8vw,32px)!important;line-height:1.1!important}
  .category-grid,.visual-grid,.shop-grid,.featuregrid,.grid,.model-grid,.stats,.process,.filters,.toolbar,.preorder-grid,.device-select-grid,.parts-request-grid,.parts-select-grid,.purchase-mode,.parts-delivery-mode,.repair-form-switch,.repair-choice-grid,.callback-form{grid-template-columns:minmax(0,1fr)!important}
  .visual-card,.shop-card{grid-template-columns:minmax(0,1fr)!important}
  .visual-card img,.shop-card img{width:100%!important;max-height:220px;object-fit:cover}
  .panel,.catalog-panel,.callback-panel-switchable,.preorder-card,.preorder-info,.parts-request-card,.seo-box,.card,.product,.model-card,.cat-card,.feature{max-width:100%!important;padding-left:min(16px,4vw)!important;padding-right:min(16px,4vw)!important}
  .repair-form-heading{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .repair-form-address{min-width:0!important;max-width:none!important;width:100%!important}
  .actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%}
  .actions>a,.actions>button,.btn,.secondary-button,.primary-button{max-width:100%;white-space:normal;text-align:center}
  .footergrid{grid-template-columns:minmax(0,1fr)!important}
  table.price-table{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .price-table th,.price-table td{white-space:nowrap}
  .cta,.banner,.bottom{align-items:stretch!important;flex-direction:column!important}
  .cta>*,.banner>*,.bottom>*{max-width:100%}
  .brandbar{overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
}

@media(max-width:430px){
  .wrap,.shell{max-width:calc(100% - 20px)!important}
  .itech-header-actions{grid-template-columns:minmax(0,1fr)!important}
  .itech-header-actions .header-request-menu{grid-column:auto}
  .project-switcher .switch-wrap{padding-left:10px!important;padding-right:10px!important}
  .hero h1{font-size:clamp(30px,10.5vw,40px)!important}
  .section h2{font-size:clamp(25px,8.5vw,30px)!important}
  .card,.product,.model-card,.cat-card,.feature,.panel,.catalog-panel,.seo-box{border-radius:16px!important}
  .modal{padding:10px!important}
  .modal-card,.itech-auth-modal{padding:16px!important;border-radius:16px!important}
}

@media(max-width:360px){
  .wrap,.shell{max-width:calc(100% - 16px)!important}
  .project-switcher a{font-size:10px!important;padding:7px 8px!important}
  .hero h1{font-size:30px!important}
  .itech-account-btn,.itech-phone-link,.header-request-menu summary{font-size:11px!important}
}

/* iPhone/Android safe areas */
@supports(padding:max(0px)){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .itech-auth-widget,.itech-bonus-float{bottom:max(12px,env(safe-area-inset-bottom))}
}

/* 2026-09-14 — mobile header scrolls with page */
@media(max-width:760px){
  header,
  .header,
  .has-auth-header header{
    position:static!important;
    top:auto!important;
  }
  .project-switcher{
    position:static!important;
    top:auto!important;
  }
}

/* 2026-09-15 — full-width adaptive desktop system */
@media(min-width:761px){
  .wrap,.shell{width:min(1720px,calc(100% - clamp(36px,5vw,88px)))!important;max-width:none!important}
  .project-switcher .switch-wrap{width:min(1720px,calc(100% - clamp(36px,5vw,88px)))!important;max-width:none!important}
}
@media(min-width:1440px){
  body{font-size:16px}
  .hero-grid{gap:clamp(34px,4vw,72px)!important}
  .section{padding-left:0!important;padding-right:0!important}
}
@media(min-width:1600px){
  .service-site .grid,.service-site .category-links{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .parts-site .model-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
