/* Responsive layout corrections for shared site chrome and product content. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* Keep the desktop header readable on tablets and narrow laptop windows. */
@media only screen and (max-width: 1100px) {
  .header-top {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    height: auto;
    justify-content: center;
    min-height: 40px;
    padding: 0 8px;
    position: relative;
  }

  .header-top__place,
  .header-top__mail,
  .header-top__menu {
    float: none;
  }

  .header-top__place {
    order: 1;
    padding: 8px 10px;
    width: 230px;
  }

  .header-top__mail {
    flex: 1 1 260px;
    order: 2;
    padding: 8px 10px;
    width: auto;
  }

  .header-top__auth {
    display: none;
  }

  .header-top__menu {
    order: 3;
    overflow-x: auto;
    padding: 4px 10px;
    text-align: center;
    width: 100%;
  }

  .header-top__menu > ul {
    margin: 0 auto;
    max-width: 100%;
    white-space: nowrap;
    width: max-content;
  }

  .header-top__menu > ul > li > a,
  .header-top__menu > ul > li > span {
    font-size: 13px;
  }

  .header-bottom {
    margin-top: 0;
  }
}

@media only screen and (max-width: 768px) {
  .header-top__place {
    flex: 1 1 100%;
    text-align: center;
    width: 100%;
  }

  .header-top__place > div {
    display: inline-block;
    max-width: 100%;
    text-align: left;
  }

  .header-top__mail {
    display: none;
  }

  .header-bottom__lcol,
  .header-bottom__rcol {
    width: 100%;
  }

  .header-bottom__logo,
  .header-bottom__btns-phones {
    width: 50%;
  }

  .header-bottom__btns-phones {
    padding-top: 30px;
  }

  .header-bottom__rcol-top {
    padding-top: 20px;
  }

  .header-bottom__phones > ul > li > a {
    font-size: 16px;
  }
}

/* Long product names and content tables must wrap instead of widening the page. */
.product__title,
.product__info,
.product__photo,
.product-tabs,
.content,
.content-block {
  min-width: 0;
}

.product__title,
.product-tabs a,
.content a {
  overflow-wrap: anywhere;
}

.content table,
.product-tabs table {
  max-width: 100%;
  table-layout: fixed;
  width: 100%;
}

.content table td,
.content table th,
.product-tabs table td,
.product-tabs table th {
  overflow-wrap: anywhere;
  vertical-align: top;
}

.content table img,
.product-tabs table img {
  height: auto;
  max-width: 100%;
}

/* The address blocks now contain two locations and need predictable wrapping. */
.contact-us-block__adr {
  font-size: clamp(16px, 2vw, 22px);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.contact-us-block__adr a {
  color: #fff;
  display: inline;
  font-size: inherit;
  line-height: inherit;
}

footer .col-contacts,
footer .map {
  min-width: 0;
}

footer .map,
footer .map a {
  overflow-wrap: anywhere;
}

@media only screen and (max-width: 768px) {
  .contact-us-block__wrapper {
    border-radius: 24px 24px 24px 0;
  }

  .contact-us-block__data {
    font-size: 20px;
  }

  .content table,
  .product-tabs table {
    font-size: 14px;
  }

  .content table td,
  .content table th,
  .product-tabs table td,
  .product-tabs table th {
    padding: 6px 5px;
  }
}
