/* 場地介紹。內頁大圖及共用手機頁首沿用 about.css；主標沿用 style.css。 */
.venue-hero img { object-position: 50% 54%; }
.venue-section { padding: 41px 5vw 118px; background: #fff; }
.venue-container { width: min(1320px, 100%); margin: 0 auto; }
.venue-group + .venue-group { margin-top: 70px; padding-top: 52px; border-top: 1px solid var(--gold-pale); }
.venue-group-heading { margin: 0 0 30px; }
.venue-group-heading h2 {
  margin: 0;
  color: var(--wine);
  font-size: clamp(22px, 1.6vw, 27px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .05em;
}
.restaurant-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.venue-photo { margin: 0; min-width: 0; }
/* 使用照片自己的長寬比，不裁掉左右景物。 */
.venue-photo img { width: 100%; height: auto; }
.venue-photo figcaption { padding-top: 18px; }
.venue-photo h3 { margin: 0; color: var(--wine); font-size: 21px; font-weight: 500; line-height: 1.5; letter-spacing: .05em; }
.restaurant-capacity {
  margin: 24px 0 0;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.9;
  letter-spacing: .025em;
}
.private-room-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  align-items: center;
  gap: clamp(30px, 4vw, 64px);
  margin-top: 46px;
}
.venue-corridor { width: 100%; margin: 0; }
.venue-corridor figcaption { padding-top: 12px; text-align: center; color: #73655c; font-size: 15px; letter-spacing: .05em; }
.private-room-copy { color: var(--ink); font-size: 17px; line-height: 2; letter-spacing: .025em; }
.private-room-copy p { margin: 0; }
.private-room-copy p + p { margin-top: 12px; }
.banquet-feature { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(240px, 1fr); align-items: center; gap: clamp(28px, 4vw, 64px); }
.banquet-feature figcaption { padding: 0; }
.banquet-feature h3 { font-size: 24px; }
.banquet-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 27px; margin-top: 38px; align-items: start; }
.banquet-gallery h3 { font-size: 19px; }

@media (max-width: 1023px) {
  .private-room-intro { grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); gap: 30px; }
  .banquet-feature { grid-template-columns: 1.5fr 1fr; gap: 26px; }
  .banquet-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
  .banquet-gallery .venue-photo:last-child { grid-column: 1 / -1; width: calc((100% - 24px) / 2); justify-self: center; }
}
@media (max-width: 767px) {
  .venue-hero img { object-position: 50% 50%; }
  .venue-section { padding-right: 24px; padding-bottom: 72px; padding-left: 24px; }
  .restaurant-grid, .banquet-feature, .banquet-gallery { grid-template-columns: 1fr; gap: 34px; }
  .banquet-gallery .venue-photo:last-child { width: 100%; grid-column: auto; }
  .venue-group + .venue-group { margin-top: 46px; padding-top: 34px; }
  .venue-group-heading { margin-bottom: 24px; }
  .venue-photo figcaption { padding-top: 15px; }
  .venue-photo h3, .banquet-feature h3 { font-size: 21px; }
  .restaurant-capacity { margin-top: 20px; font-size: 16px; line-height: 1.8; }
  .private-room-intro { grid-template-columns: 1fr; gap: 20px; margin-top: 36px; }
  .private-room-copy { font-size: 16px; line-height: 1.9; }
  .banquet-feature { gap: 0; }
  .venue-corridor { width: 100%; }
}
