/* common.css / テーマstyle.css より後に読み込む */
.reservation-picker {
  position: fixed;
  inset: 0;
  width: min(600px, calc(100% - 40px));
  max-width: 600px;
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 0;
  border: 0;
  overflow: auto;
  background: #F7F5F1;
  color: #646464;
  box-shadow: 0 12px 48px rgb(0 0 0 / 18%);
}
.reservation-picker:not([open]) { display: none; }
.reservation-picker::backdrop { background: rgb(0 0 0 / 45%); }
.reservation-picker__panel { position: relative; padding: 48px 36px 32px; }
.reservation-picker__close {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 44px;
  height: 44px;
  font-size: 2.8rem;
  color: #646464;
}
.reservation-picker__title { font-size: 2rem; font-weight: 400; text-align: center; }
.reservation-picker__intro { margin-top: 12px; font-size: 1.3rem; text-align: center; }
.reservation-picker__stores { display: grid; gap: 16px; margin-top: 28px; }
.reservation-picker a.reservation-picker__store {
  display: block;
  padding: 22px 24px;
  border: 1px solid #CFCFCF;
  background: #fff;
  color: #646464;
  text-decoration: none;
}
.reservation-picker__store:hover { background: #eeebe5 !important; }
.reservation-picker__name { display: block; font-size: 2rem; font-weight: 400; }
.reservation-picker__area { display: block; margin-top: 4px; font-size: 1.3rem; }
.reservation-picker__action { display: block; margin-top: 12px; font-size: 1.4rem; }
.reservation-picker__note { margin-top: 20px; font-size: 1.2rem; text-align: center; }
.reservation-picker a:focus-visible,
.reservation-picker button:focus-visible { outline: 2px solid #646464; outline-offset: 3px; }
@media (max-width: 767px) {
  .reservation-picker__panel { padding: 48px 20px 24px; }
  .reservation-picker__title { font-size: 1.7rem; }
  .reservation-picker__name { font-size: 1.8rem; }
}

/* 店舗名の横にエリア、その下に住所 */
.reservation-picker__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 12px;
  row-gap: 3px;
}

.reservation-picker__heading .reservation-picker__name {
  flex: 0 0 auto;
}

.reservation-picker__location {
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #858585;
}

.reservation-picker__address {
  display: block;
  margin-top: 10px;
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.03em;
  overflow-wrap: anywhere;
}
