@media screen and (max-width: 767px) {
  html,
  body#booking {
    min-width: 0;
    width: 100%;
  }

  #booking #shop_header,
  #booking #contents,
  #booking #wide_main,
  #booking #apply,
  #booking #apply.min {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }

  #booking #shop_header {
    display: block;
    padding: 0 15px;
  }

  #booking #shop_header > * {
    display: block;
  }

  #booking #shop_header nav ul {
    max-width: 100%;
  }

  #booking #apply {
    padding: 0 15px;
  }

  #booking #customer.flex {
    display: block;
  }

  #booking #customer.flex > * {
    box-sizing: border-box;
    margin-left: 0;
    min-width: 0;
    width: 100% !important;
  }

  #booking #customer table {
    table-layout: fixed;
  }

  #booking #customer th {
    white-space: normal;
    width: 32%;
  }

  #booking #customer th,
  #booking #customer td {
    overflow-wrap: anywhere;
    padding-left: 10px;
    padding-right: 10px;
  }

  #booking #customer input:not([type=checkbox]):not([type=radio]),
  #booking #customer select,
  #booking #customer textarea {
    box-sizing: border-box;
    max-width: 100%;
  }
}
