/* Restaurant Project has its own module widths and image shapes in the old site. */
.restaurant-project-page.legacy-content {
  padding: 0;
  overflow: visible;
}

.restaurant-project-page > div { margin-bottom: 0; }
.restaurant-project-page > .content-section,
.restaurant-project-page > .tem_title_1 { padding: 56px 0; }
.restaurant-project-page > .tem_banner_2 { padding: 0; }
.restaurant-project-page .container { max-width: 1280px; padding-inline: 24px; }
.restaurant-project-page img { margin: 0; }
.restaurant-project-page li { margin: 0; }
.restaurant-project-page .top_title { overflow-wrap: anywhere; }
.restaurant-project-page .top_title p,
.restaurant-project-page .title p { margin: 0; }

/* Keep the original 1200 x 448 banner proportion on desktop. */
.restaurant-project-page .tem_banner_2 .con { padding: 0; }
.restaurant-project-page .tem_banner_2 .list_row_ul { display: block; }
.restaurant-project-page .tem_banner_2 .img_par img {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1200 / 448;
  object-fit: cover;
}
.restaurant-project-page .tem_banner_2 .con li .text {
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  padding-inline: 24px;
}
.restaurant-project-page .tem_banner_2 .describe {
  max-width: 940px;
  margin-inline: auto;
  font-size: clamp(22px, 2.3vw, 34px);
  line-height: 1.35;
}
.restaurant-project-page #v6507b2f5d06c9.tem_banner_2 .con li .text {
  z-index: 2;
  width: 100%;
  top: 50% !important;
  margin-left: 0;
  background: none;
  padding: 0 24px;
}
.restaurant-project-page #v6507b2f5d06c9 .con li .describe {
  width: min(650px, 100%);
  max-width: none;
  margin: 0;
  padding: 22px 28px;
  background: rgba(20, 16, 13, .72);
  color: #fff;
  font-size: clamp(25px, 2.3vw, 36px);
  font-weight: 600;
  line-height: 1.38;
  text-align: left;
  text-shadow: 0 2px 8px #0008;
}
.restaurant-project-page #v6507b2f5d06c9 .describe .width_50 {
  display: block;
  width: 100%;
  text-align: left;
}
.restaurant-project-page #v6507b2f5d06c9 .describe p { margin: 0; color: inherit; }

/* Static modules are grids; only the first eight-photo module is a carousel. */
.restaurant-project-page .public_lists_tem_1 .con,
.restaurant-project-page .public_lists_tem_2 .con { overflow: visible; }
.restaurant-project-page .public_lists_tem_1 .list_row_ul,
.restaurant-project-page .public_lists_tem_2 .list_row_ul {
  display: grid;
  grid-template-columns: repeat(var(--columns, 4), minmax(0, 1fr));
  gap: 24px;
  overflow: visible;
  scroll-snap-type: none;
  margin: 24px 0 0;
  padding: 0;
  align-items: start;
}
.restaurant-project-page .public_lists_tem_1 .list_row_li,
.restaurant-project-page .public_lists_tem_2 .list_row_li {
  width: auto;
  max-width: none;
  min-width: 0;
  flex: none;
  margin: 0;
}
.restaurant-project-page .public_lists_tem_1 .list_row_li img,
.restaurant-project-page .public_lists_tem_2 .list_row_li img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  aspect-ratio: var(--image-ratio, 1);
  object-fit: var(--image-fit, cover);
  margin: 0;
}
.restaurant-project-page .public_lists_tem_1 .list_row_li .text,
.restaurant-project-page .public_lists_tem_2 .list_row_li .text { padding: 12px 0 0; }
.restaurant-project-page .public_lists_tem_1 .left_icon,
.restaurant-project-page .public_lists_tem_1 .right_icon,
.restaurant-project-page .public_lists_tem_2 .left_icon,
.restaurant-project-page .public_lists_tem_2 .right_icon,
.restaurant-project-page .swiper-pagination { display: none; }

.restaurant-project-page #v6507b31cb4f9d { --columns: 5; --image-ratio: 4 / 3; }
.restaurant-project-page #v6507f89a7e7bc { --columns: 2; }
.restaurant-project-page #v6507c79091583 { --columns: 3; }
.restaurant-project-page #v6507cb65f21b8,
.restaurant-project-page #v6507fade0a566,
.restaurant-project-page #v6508028c0e9e6,
.restaurant-project-page #v652d088f35e0c { --columns: 6; }
.restaurant-project-page #v6507efa28e1c2,
.restaurant-project-page #v65095eaf4c91f { --columns: 4; }
.restaurant-project-page #v652d05ff721cf { --columns: 5; --image-ratio: 345 / 530; --image-fit: contain; }
.restaurant-project-page #v652d05c2a9944 { --columns: 5; --image-ratio: 800 / 1042; --image-fit: contain; }
.restaurant-project-page #v6507fc6db6819 { --columns: 2; --image-ratio: 1000 / 680; }
.restaurant-project-page #v6508028c0e9e6 { --image-ratio: 1000 / 680; }

.restaurant-project-page #v6507b31cb4f9d .list_row_ul {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.restaurant-project-page #v6507b31cb4f9d .list_row_ul::-webkit-scrollbar { display: none; }
.restaurant-project-page #v6507b31cb4f9d .list_row_li {
  flex: 0 0 calc((100% - 80px) / 5);
  scroll-snap-align: start;
}
.restaurant-project-page #v6507b31cb4f9d.has-overflow .left_icon,
.restaurant-project-page #v6507b31cb4f9d.has-overflow .right_icon {
  display: flex;
  position: absolute;
  z-index: 2;
  top: 42%;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 48px;
  border: 0;
  background: #29221dcc;
  color: #fff;
  font: 32px/1 Arial, sans-serif;
  cursor: pointer;
  transform: translateY(-50%);
}
.restaurant-project-page #v6507b31cb4f9d .left_icon { left: 0; }
.restaurant-project-page #v6507b31cb4f9d .right_icon { right: 0; }
.restaurant-project-page #v6507b31cb4f9d .left_icon[aria-disabled="true"],
.restaurant-project-page #v6507b31cb4f9d .right_icon[aria-disabled="true"] { opacity: .35; cursor: default; }
.restaurant-project-page #v6507b31cb4f9d .left_icon:focus-visible,
.restaurant-project-page #v6507b31cb4f9d .right_icon:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.restaurant-project-page #v6507b31cb4f9d.has-overflow .swiper-pagination {
  display: block;
  position: static;
  margin-top: 4px;
  color: #777;
  font-size: 13px;
  text-align: center;
}

/* Restore the existing restaurant photo and keep a dark fallback for the missing title background. */
.restaurant-project-page #v6507f897b2926 {
  background: #15120f;
  color: #fff;
  padding-bottom: 20px;
}
.restaurant-project-page #v6507f89a7e7bc {
  background: linear-gradient(#15120f91, #15120f91), url('/assets/a221d4cab94bc4.webp') center / cover no-repeat;
  color: #fff;
  padding-top: 24px;
  padding-bottom: 72px;
}
.restaurant-project-page #v6507f89a7e7bc .list_row_ul { gap: 20px; }
.restaurant-project-page #v6507f89a7e7bc .list_box { height: auto; min-height: 260px; }
.restaurant-project-page #v6507f89a7e7bc .describe,
.restaurant-project-page #v6507c79091583 .describe,
.restaurant-project-page #v6507efa28e1c2 .describe,
.restaurant-project-page #v65095eaf4c91f .describe {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  text-overflow: clip;
}
.restaurant-project-page #v6507c79091583 .list_row_li img {
  width: 100px;
  height: 137px;
  aspect-ratio: auto;
  object-fit: contain;
  margin: 0 auto 16px;
}
.restaurant-project-page #v6507efa28e1c2 .list_row_li img,
.restaurant-project-page #v65095eaf4c91f .list_row_li img {
  width: 60px;
  height: 60px;
  aspect-ratio: auto;
  object-fit: contain;
  margin: 0 auto 16px;
}
.restaurant-project-page #v6507fc6db6819 .list_row_li .title { font-size: 21px; }
.restaurant-project-page #v6507b31cb4f9d .list_row_li .title,
.restaurant-project-page #v6507cb65f21b8 .list_row_li .title,
.restaurant-project-page #v6507fade0a566 .list_row_li .title,
.restaurant-project-page #v6508028c0e9e6 .list_row_li .title,
.restaurant-project-page #v652d088f35e0c .list_row_li .title {
  font-size: 13px;
  color: #777;
  line-height: 1.4;
}
.restaurant-project-page #v6507f46ad3024 .picture_ul {
  flex-direction: row-reverse;
  align-items: center;
  gap: 40px;
  margin: 0;
}
.restaurant-project-page #v6507f46ad3024 .picture_li {
  width: calc(50% - 20px);
  min-width: 0;
  max-width: none;
  padding: 0;
}
.restaurant-project-page #v6507f46ad3024 .picture_li img { width: 100%; height: auto; }

@media (max-width: 900px) {
  .restaurant-project-page #v6507cb65f21b8,
  .restaurant-project-page #v6507fade0a566,
  .restaurant-project-page #v6508028c0e9e6,
  .restaurant-project-page #v652d088f35e0c,
  .restaurant-project-page #v652d05ff721cf,
  .restaurant-project-page #v652d05c2a9944 { --columns: 3; }
  .restaurant-project-page #v6507efa28e1c2,
  .restaurant-project-page #v65095eaf4c91f { --columns: 2; }
  .restaurant-project-page #v6507b31cb4f9d .list_row_li { flex-basis: calc((100% - 40px) / 3); }
}
@media (max-width: 640px) {
  .restaurant-project-page > .content-section,
  .restaurant-project-page > .tem_title_1 { padding: 38px 0; }
  .restaurant-project-page .container { padding-inline: 18px; }
  .restaurant-project-page .tem_banner_2 .img_par img { height: 340px; aspect-ratio: auto; object-fit: cover; }
  .restaurant-project-page .tem_banner_2 .describe { font-size: 22px; }
  .restaurant-project-page #v6507b2f5d06c9 .con li .describe {
    width: 100%;
    padding: 16px 18px;
    font-size: 21px;
  }
  .restaurant-project-page .public_lists_tem_1 .list_row_ul,
  .restaurant-project-page .public_lists_tem_2 .list_row_ul { gap: 16px; }
  .restaurant-project-page #v6507f89a7e7bc,
  .restaurant-project-page #v6507c79091583,
  .restaurant-project-page #v6507efa28e1c2,
  .restaurant-project-page #v65095eaf4c91f { --columns: 1; }
  .restaurant-project-page #v6507cb65f21b8,
  .restaurant-project-page #v6507fade0a566,
  .restaurant-project-page #v6508028c0e9e6,
  .restaurant-project-page #v652d088f35e0c,
  .restaurant-project-page #v652d05ff721cf,
  .restaurant-project-page #v652d05c2a9944,
  .restaurant-project-page #v6507fc6db6819 { --columns: 2; }
  .restaurant-project-page #v6507b31cb4f9d .list_row_li { flex-basis: calc((100% - 16px) / 2); }
  .restaurant-project-page #v6507f46ad3024 .picture_ul { display: block; }
  .restaurant-project-page #v6507f46ad3024 .picture_li { width: 100%; margin-bottom: 24px; }
}
