@media (max-width: 767px) {

  aside[role="complementary"] {
    display: none !important;
  }

  #aside-drawer-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 24px;
    right: 16px;
    z-index: 1050;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #285a95;
    color: #fff;
    border: none;
    box-shadow: 0 2px 10px rgba(0,0,0,.4);
    cursor: pointer;
    transition: background .2s;
  }
  #aside-drawer-btn:active { background: #1d4071; }

  #aside-drawer-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1060;
    opacity: 0;
    transition: opacity .3s ease;
  }
  #aside-drawer-overlay.is-visible { display: block; }
  #aside-drawer-overlay.is-open    { opacity: 1; }

  #aside-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(85vw, 300px);
    z-index: 1070;
    background: #fff;
    overflow-y: auto;
    padding: 16px;
    box-shadow: -4px 0 20px rgba(0,0,0,.2);
    transform: translateX(100%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
    will-change: transform;
  }
  #aside-drawer.is-open { transform: translateX(0); }

  #aside-drawer-close {
    display: flex;
    align-items: center;
    justify-content: center;
    float: right;
    width: 30px;
    height: 30px;
    background: none;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    font-size: 20px;
    color: #555;
    margin-bottom: 8px;
  }

  /* убираем лишние отступы у клона side-container */
  #aside-drawer .side-container {
    padding: 0;
  }

  #aside-drawer {
    background-color: #eceff1;
  }

  #aside-drawer aside {
    border: 0;
  }
}

/* на десктопе — элементы drawer не показываем */
@media (min-width: 768px) {
  #aside-drawer-btn,
  #aside-drawer-overlay,
  #aside-drawer { display: none !important; }
}
