/* tradutora-shell.css — собственная общая оболочка сайта.

   Заменяет меню-виджет Тильды (блок t450) и выпадающие подменю (t978).
   Все размеры, цвета и шрифты сняты замером с действующего сайта, а не
   подобраны на глаз: посетитель не должен заметить подмены.

   Замер (десктоп 1440 / мобильный 390):
     кнопка меню   58×58, фикс, отступ 15px от правого верхнего угла, фон #222
     полоски       28×3, белые, шаг 8px
     панель        500px справа (на мобильном во всю ширину), фон белый
     поля панели   48px сверху, 40px по бокам (мобильный: 42/25)
     логотип       до 220px шириной, отступ снизу 25px
     пункт меню    высота 32px, Arial 14px 700, цвет #222
     соцсети       отступ сверху 24px, иконки 30×18, цвет #ff8562
     кнопка заказа 147×45, фон #222, белый текст
     переключатель отступ сверху 25px, Arial 14px 700, заглавные
     крестик       40×40, отступ 5px от правого верхнего угла панели
*/

/* ─── кнопка меню ─────────────────────────────────────────────────────── */
.trd-burger {
  position: fixed;
  top: 15px;
  right: 15px;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 0;
  background: #222;
  cursor: pointer;
  z-index: 9999;
  -webkit-appearance: none;
  appearance: none;
}
.trd-burger__lines {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 19px;
  transform: translate(-50%, -50%);
}
.trd-burger__lines span {
  position: absolute;
  left: 0;
  width: 28px;
  height: 3px;
  background: #fff;
  transition: transform .3s ease, opacity .2s ease, top .3s ease;
}
.trd-burger__lines span:nth-child(1) { top: 0; }
.trd-burger__lines span:nth-child(2) { top: 8px; }
.trd-burger__lines span:nth-child(3) { top: 16px; }
.trd-shell--open .trd-burger__lines span:nth-child(1) { top: 8px; transform: rotate(45deg); }
.trd-shell--open .trd-burger__lines span:nth-child(2) { opacity: 0; }
.trd-shell--open .trd-burger__lines span:nth-child(3) { top: 8px; transform: rotate(-45deg); }

/* ─── подложка ────────────────────────────────────────────────────────── */
.trd-nav__overlay {
  position: fixed;
  inset: 0;
  background: transparent;
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}
.trd-shell--open .trd-nav__overlay { opacity: 1; visibility: visible; }

/* ─── панель меню ─────────────────────────────────────────────────────── */
.trd-nav {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 500px;
  max-width: 100%;
  background: #fff;
  transform: translateX(100%);
  transition: transform .3s ease;
  z-index: 10000;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
}
.trd-shell--open .trd-nav { transform: translateX(0); visibility: visible; }
.trd-nav__inner {
  box-sizing: border-box;
  min-height: 100%;
  padding: 48px 40px 38px;
  display: flex;
  flex-direction: column;
}
.trd-nav__close {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 3;
}
.trd-nav__close::before,
.trd-nav__close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  background: #222;
}
.trd-nav__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.trd-nav__close::after  { transform: translate(-50%, -50%) rotate(-45deg); }

.trd-nav__logo { display: block; margin-bottom: 25px; }
.trd-nav__logo img { display: block; width: 100%; max-width: 220px; }

/* ─── список пунктов ──────────────────────────────────────────────────── */
.trd-nav__list { margin: 0; padding: 0; list-style: none; }
.trd-nav__item { position: relative; min-height: 32px; }
.trd-nav__link {
  display: inline-block;
  padding: 8px 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 16px;
  color: #222;
  text-decoration: none;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
}
.trd-nav__link:hover { opacity: .7; }
.trd-nav__link--sub::after {
  content: '';
  display: inline-block;
  margin-left: 8px;
  border: 4px solid transparent;
  border-top-color: #222;
  vertical-align: middle;
  transform: translateY(2px);
  transition: transform .2s ease;
}
.trd-nav__item--open > .trd-nav__link--sub::after { transform: translateY(-2px) rotate(180deg); }

/* ─── подменю ─────────────────────────────────────────────────────────── */
.trd-nav__sub {
  margin: 0 0 6px;
  padding: 0 0 0 14px;
  list-style: none;
  display: none;
}
.trd-nav__item--open > .trd-nav__sub { display: block; }
.trd-nav__sub .trd-nav__link {
  font-weight: 400;
  padding: 6px 0;
  line-height: 18px;
}

/* ─── низ панели ──────────────────────────────────────────────────────── */
.trd-nav__bottom { margin-top: auto; }
.trd-nav__social { margin-top: 24px; display: flex; align-items: center; }
.trd-nav__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 18px;
  color: #ff8562;
}
.trd-nav__social svg { width: 18px; height: 18px; fill: currentColor; }
.trd-nav__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 147px;
  height: 45px;
  margin-top: 25px;
  padding: 0 20px;
  box-sizing: border-box;
  background: #222;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 19.6px;
  text-decoration: none;
}
.trd-nav__button:hover { opacity: .85; }
.trd-nav__langs { margin-top: 25px; display: flex; gap: 12px; }
.trd-nav__langs a {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 21.7px;
  color: #222;
  text-transform: uppercase;
  text-decoration: none;
}
.trd-nav__langs a[aria-current='true'] { opacity: .45; }

/* мобильный: панель во всю ширину, поля меньше — как в действующем меню */
@media screen and (max-width: 639px) {
  .trd-nav { width: 100%; }
  .trd-nav__inner { padding: 42px 25px 38px; }
  .trd-nav__button { height: 50px; }
  .trd-nav__langs a { font-size: 12px; line-height: 18.6px; }
}

/* когда панель открыта, страница под ней не прокручивается */
body.trd-shell--locked { overflow: hidden; }

/* ─── подвал ──────────────────────────────────────────────────────────── */
/* Разметка подвала — наша, геометрия перенесена из действующего блока
   один в один. Базовые правила абсолютного холста повторяют поведение
   исходного макета, но живут в нашем пространстве имён. */
.trd-footer { position: relative; width: 100%; overflow: hidden; }
.trd-footer__board { position: relative; width: 100%; overflow: hidden; }
.trd-footer__carrier,
.trd-footer__filter { position: absolute; left: 0; top: 0; width: 100%; }
.trd-footer__carrier { z-index: 0; background-position: center center; background-size: cover; background-repeat: no-repeat; }
.trd-footer__filter { z-index: 1; }
.trd-footer__el { position: absolute; box-sizing: border-box; display: table; }
.trd-footer__atom {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  -webkit-text-size-adjust: 100%;
}
.trd-footer a.trd-footer__atom { text-decoration: none; }
.trd-footer__atom img,
.trd-footer__img { width: 100%; display: block; }
.trd-footer__atom ul,
.trd-footer__atom ol { margin-bottom: 0; }
