/* Финальная адаптация длинных названий и контактов для Майкопа. */
html {
  overflow-x: hidden;
}

body,
main,
.wrap,
.hero__grid > *,
.dish > *,
.detail > *,
.party > *,
.bar,
.item,
.foot > * {
  min-width: 0;
}

.brand,
.cselect__btn,
.callcard,
.bar__a,
.bar__t,
.foot a,
.foot a > span {
  max-width: 100%;
}

.brand b,
.nav__addr,
.bar__a,
.bar__t,
.dish h1,
.item__n,
.foot a > span,
.foot__bot span {
  overflow-wrap: anywhere;
}

.cselect__cur {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.foot a > span {
  white-space: normal;
}

.btn,
.chip,
.party__mode button {
  line-height: 1.25;
}

.btn--red,
.btn--red:hover,
.addbtn--big,
.addbtn--big:hover {
  color: #fff;
}

.btn--out,
.btn--out:hover {
  color: var(--white);
}

:where(a, button, input, select, summary):focus-visible {
  outline: 3px solid var(--neon-2);
  outline-offset: 3px;
}

@media (max-width: 600px) {
  .hero__cta {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero__cta .btn,
  .callcard__row .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }

  .callcard__phone {
    font-size: clamp(20px, 6.2vw, 27px);
    overflow-wrap: anywhere;
  }

  .six {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .six__x {
    display: none;
  }

  .six__item {
    min-width: 0;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
  }

  .six > .btn {
    width: 100%;
    justify-content: center;
    white-space: normal;
  }

  .party__mode {
    display: grid;
    grid-template-columns: 1fr;
  }

  .party__mode button {
    width: 100%;
    white-space: normal;
  }

  .party__list li {
    align-items: flex-start;
  }

  .party__list b {
    max-width: 48%;
    text-align: right;
    white-space: normal;
  }

  .bar__links {
    display: grid;
    grid-template-columns: 1fr;
  }

  .bar__links a {
    justify-content: center;
    text-align: center;
  }

  .foot__bot {
    align-items: flex-start;
  }
}

@media (max-width: 360px) {
  :root {
    --pad: 16px;
  }

  .brand b {
    font-size: 15px;
  }

  .brand i {
    font-size: 8px;
    letter-spacing: .12em;
  }

  .drawer__head,
  .drawer__body,
  .drawer__foot {
    padding-left: 16px;
    padding-right: 16px;
  }
}
