/* Legacy retail listing/info routes only. Product/checkout keep their own CSS.
   1024px+ keeps the original desktop layout. Never conceal document overflow. */
@media (max-width: 1023px) {
  html, body { min-width: 0; width: 100%; margin: 0; }
  *, *::before, *::after { box-sizing: border-box; }
  img, video, iframe, object, embed { max-width: 100%; }
  img { height: auto; }
  h1,h2,h3,h4,h5,h6,p { overflow-wrap: break-word; }
  input,select,textarea,button { max-width:100%; font-size:16px; }
  #header,#footer,.footer-container,.contnent-container { float:none; width:100%; min-width:0; max-width:100%; }
  #header,#footer { height:auto; }
  .head-line { display:flex; flex-wrap:wrap; align-items:center; min-height:44px; height:auto; padding:0 8px; gap:4px; background:#294c60; }
  .head-line .login-container a,.head-line dt a { color:#fff; }
  .head-line > form { position:relative; flex:0 0 auto; min-width:58px; height:44px; margin:0; }
  .dropdown-currency,.dropdown-language { position:relative; top:auto; left:auto !important; width:auto; min-width:58px; height:44px; z-index:520; }
  .dropdown-currency dt a,.dropdown-language dt a { min-height:44px; line-height:44px; padding:0 22px 0 8px; background-position:right 7px center; }
  .dropdown-currency dd,.dropdown-language dd { position:absolute; top:43px; left:0; min-width:150px; }
  .dropdown-currency dd ul li,.dropdown-language dd ul li { min-height:44px; }
  .login-container { display:flex; align-items:center; justify-content:flex-end; flex:1 1 180px; float:none; min-width:0; min-height:44px; margin:0; padding-left:24px; background-position:left center; line-height:1.3; }
  .login-container a { display:flex; align-items:center; min-height:44px; padding:0 3px; overflow-wrap:anywhere; }
  .head-body { display:grid; grid-template-columns:108px minmax(0,1fr) 44px; align-items:center; gap:8px; padding:10px 8px; }
  .logo { grid-column:1; grid-row:1; float:none; min-width:0; }
  .logo a { display:flex; align-items:center; min-height:44px; }
  .logo img { display:block; max-width:108px; width:100%; height:auto; }
  .input-width { grid-column:2; grid-row:1; float:none; width:100%; min-width:0; height:auto; margin:0; }
  .width-setter,.width-setter form { width:100%; height:44px; margin:0; }
  .width-setter input,.width-setter input[style] { position:static; width:100% !important; min-width:0; height:44px; padding:8px 8px 8px 30px; }
  .cart-container { grid-column:3; grid-row:1; float:none; width:44px; height:44px; padding:0; }
  .cart-container > a.cart-icon { display:flex; align-items:center; justify-content:center; width:44px; min-height:44px; }
  .cart-container > a.cart-icon > img { width:34px; height:auto; }
  .cart-container a span { top:0; right:0; }
  .user-balance-container { grid-column:1 / -1; grid-row:3; display:flex; align-items:center; justify-content:center; gap:8px; width:auto; height:auto; min-height:28px; float:none; margin:0; padding:0; background:none; }
  .user-balance-label,.user-balance-value { margin:0; padding:0; font-size:13px; line-height:1.4; }
  #header .parts { position:relative; grid-column:1 / -1; grid-row:2; width:100%; margin:0; }
  #header .parts ul.parts-list { display:flex; flex-wrap:wrap; justify-content:center; width:100%; margin:0; padding:0; gap:2px 4px; }
  #header .parts ul.parts-list li.parts-item { position:static; display:flex; align-items:center; float:none; }
  #header .parts ul.parts-list li.parts-item a.main-link,
  #header .parts ul.parts-list li.parts-item span.main-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 9px; font-size:16px; line-height:1.2; }
  #header .parts ul.parts-list li.parts-item div.main-menu-container { left:0; right:0; top:100%; width:auto; max-width:100%; padding:12px; }
  #header .parts ul.parts-list li.parts-item.tkt-mobile-menu-open div.main-menu-container,
  #header .parts ul.parts-list li.parts-item.tkt-mobile-menu-open div.main-menu-container div { display:block !important; opacity:1 !important; }
  .tkt-mobile-menu-toggle { display:inline-flex; align-items:center; justify-content:center; width:36px; min-height:44px; padding:0; border:0; background:transparent; color:#298aca; font-size:18px; cursor:pointer; }
  #header .parts ul.parts-list li.parts-item div.main-menu-info .main-menu-content { float:none; width:100%; margin:0 0 12px; }
  #header .parts ul.parts-list li.parts-item div.main-menu-container div.sub-menu-column { float:none; width:100%; }
  #header .parts ul.parts-list li.parts-item div.main-menu-container div.sub-menu-column ul { display:flex; flex-wrap:wrap; width:100%; }
  #header .parts ul.parts-list li.parts-item div.main-menu-container div.sub-menu-column ul li { float:none; width:50%; min-width:0; }
  #header .parts ul.parts-list li.parts-item div.main-menu-container a { display:flex; align-items:center; min-height:44px; white-space:normal; overflow-wrap:anywhere; }
  .body { padding:8px; }
  .colmask,.holygrail .colmid,.holygrail .colleft,.holygrail .col1wrap,.holygrail .col1,.holygrail .col2,.holygrail .col3 { position:static; float:none; left:auto; right:auto; width:100%; min-width:0; max-width:100%; height:auto; margin:0; }
  .colmask,.holygrail .col1 { overflow:visible; }
  .holygrail .colmid,.holygrail .colleft { background:#fff; }
  .holygrail .colleft { display:flex; flex-direction:column; border:0; }
  .holygrail .col1wrap { order:1; }
  .holygrail .col1 { padding:0; border:0; }
  .holygrail .col2 { order:2; margin-top:24px; border-top:1px solid #caced2; }
  .holygrail .col3 { order:3; margin-top:16px; }
  .recommend-products-data { min-width:0; max-width:calc(100% - 82px); }
  .recommend-products-data .product-name { width:auto; max-width:100%; height:auto; overflow:visible; overflow-wrap:anywhere; }
  .breadcrumbs { position:relative; top:auto; left:auto; width:100%; min-width:0; height:auto; }
  .breadcrumbs ul { display:flex; flex-wrap:wrap; width:100%; height:auto; }
  .breadcrumbs ul li.link,.breadcrumbs ul li.separator { float:none; max-width:100%; white-space:normal; }
  .breadcrumbs ul li.link { display:flex; align-items:center; min-height:36px; }
  .content,div.footer-text,h1.aux-page-h1 { padding-left:12px; padding-right:12px; max-width:100%; }
  .content { overflow-wrap:anywhere; }
  .content table { max-width:100%; width:100% !important; table-layout:fixed; }
  .content td,.content th { overflow-wrap:anywhere; }
  .content img { max-width:100%; height:auto !important; }
  h1.category-h1 { margin:18px 12px 0; font-size:24px; }
  ul.products-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; width:100%; margin:20px 0; padding:0 12px; }
  ul.products-list li.product-container { float:none; width:100%; min-width:0; height:auto; min-height:0; margin:0; }
  .product-container-content { position:relative; width:100%; }
  .product-container-background { display:none; } /* Decorative hover backing only. */
  ul.products-list li.product-container div.picture-container { width:100%; height:auto; aspect-ratio:1 / 1; }
  ul.products-list li.product-container div.picture-container a { display:block; width:100%; height:100%; }
  ul.products-list li.product-container div.picture-container img { position:static; display:block; width:100%; height:100%; object-fit:contain; }
  ul.products-list .product-name,ul.products-list .product-type,ul.products-list .product-code { width:100%; height:auto; min-height:0; overflow:visible; overflow-wrap:anywhere; }
  ul.products-list .product-name a { display:inline-flex; align-items:center; min-height:44px; }
  .product-container-content form,.product-container-content select.select_razmer { width:100%; }
  ul.size-list { display:flex; flex-wrap:wrap; width:100%; height:auto; margin:8px 0; gap:4px; }
  ul.size-list li,ul.size-list li.active-size { float:none; min-width:44px; min-height:44px; height:auto; margin:0; padding:8px 6px; line-height:24px; }
  .product-buy-button,.product-info-buy-button { width:100%; min-width:0; }
  a.buy-button,a.buy-button:hover { display:flex; align-items:center; justify-content:center; gap:4px; width:100%; min-height:48px; height:auto; white-space:normal; line-height:1.3; padding:10px; }
  .not-set-variant { width:100%; height:auto; min-height:48px; padding:8px 12px; line-height:1.3; }
  ul.special-offers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; width:100%; margin:0; padding:14px 12px; }
  ul.special-offers li { float:none; width:100%; height:auto; min-height:0; margin:0; padding:0; }
  ul.special-offers li .picture-container,ul.special-offers li .picture-container a { display:block; width:100%; height:auto; aspect-ratio:1 / 1; }
  ul.special-offers li .picture-container img { position:static; display:block; width:100%; height:100%; object-fit:contain; }
  ul.special-offers li .special-offers-data,ul.special-offers .product-name { position:static; width:100%; height:auto; min-height:0; overflow:visible; overflow-wrap:anywhere; }
  ul.special-offers .product-name a { display:block; padding:8px 0; }
  ul.pagination { display:flex; flex-wrap:wrap; gap:4px; padding:12px; }
  ul.pagination li,ul.pagination li.current-page,ul.pagination li a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; margin:0; }
  .footer-container { padding:24px 12px; }
  .footer-container ul.parts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .footer-container ul.parts li.part { float:none; width:100%; }
  .footer-container ul.parts li.part ul li a { display:flex; align-items:center; min-height:44px; overflow-wrap:anywhere; }
  .copyrights { width:100%; margin-top:24px; text-align:center; }
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible { outline:3px solid #df8e12; outline-offset:2px; }
}
.tkt-mobile-menu-toggle { display:none; }
@media (max-width:1023px) { .tkt-mobile-menu-toggle { display:inline-flex; } }
@media (max-width:1023px) and (hover:none) {
  html.tkt-mobile-nav-ready #header .parts ul.parts-list li.parts-item:not(.tkt-mobile-menu-open) div.main-menu-container { display:none !important; }
}
@media (max-width: 599px) {
  ul.products-list { grid-template-columns:minmax(0,1fr); gap:28px; }
  .footer-container ul.parts { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 359px) {
  .head-body { grid-template-columns:88px minmax(0,1fr) 44px; gap:6px; padding:8px 6px; }
  .logo img { max-width:88px; }
  .login-container { padding-left:0; background:none; font-size:13px; }
  #header .parts ul.parts-list li.parts-item a.main-link,#header .parts ul.parts-list li.parts-item span.main-link { padding-left:7px; padding-right:7px; font-size:15px; }
}
