/* Jeju banquet page: preserve the hotel's cream, charcoal and muted gold. */
.banquet-gallery { padding-bottom:clamp(64px,7vw,112px); }
.banquet-gallery-main { position:relative; display:block; background:var(--guest-low); }
.banquet-gallery-main > img { display:block; width:100%; height:auto; max-height:72vh; object-fit:contain; }
.banquet-zoom { position:absolute; inset-inline-end:20px; bottom:20px; display:grid; place-items:center; width:44px; height:44px; color:white; background:#1c1b1ab3; border:1px solid #ffffff60; }
.banquet-gallery-caption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:16px 24px; color:var(--guest-muted); font-size:13px; line-height:1.6; }
.banquet-gallery-caption > [dir] { flex:none; font-variant-numeric:tabular-nums; letter-spacing:.12em; }
.banquet-thumbnails { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:600px; }
.banquet-thumbnails--expanded { grid-template-columns:repeat(5,minmax(0,1fr)); max-width:none; }
.banquet-thumbnail { display:block; position:relative; outline:1px solid transparent; outline-offset:4px; }
.banquet-thumbnail img { display:block; width:100%; height:auto; aspect-ratio:4000/2252; object-fit:contain; }
.banquet-thumbnail[aria-current] { outline-color:var(--guest-accent,#6f582d); }
.banquet-thumbnail span { position:absolute; bottom:6px; inset-inline-start:6px; background:#1c1b1ab3; color:white; padding:2px 6px; font-size:11px; }
.banquet-spaces { padding-bottom:clamp(64px,7vw,112px); }
.banquet-section-heading { display:grid; gap:16px; }
.banquet-space-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(32px,5vw,80px); margin-top:40px; }
.banquet-space { border-block-start:2px solid var(--guest-accent,#6f582d); padding-block:28px 0; min-width:0; }
.banquet-space-title { display:flex; align-items:center; gap:20px; margin-bottom:16px; }
.banquet-space-number { color:var(--guest-accent,#6f582d); font-size:12px; letter-spacing:.1em; }
.guest-banquet .banquet-space-title h3 { font-size:clamp(24px,2vw,30px); font-weight:400; }
.banquet-specs > div { display:flex; align-items:center; justify-content:space-between; gap:20px; border-block-end:1px solid var(--guest-line); padding-block:22px; }
.banquet-specs dt { display:flex; align-items:center; gap:12px; color:var(--guest-muted); font-size:16px; }
.banquet-specs dt .material-symbols-outlined { font-size:22px; color:var(--guest-accent,#6f582d); }
.banquet-specs dd { font-size:clamp(18px,1.8vw,24px); text-align:end; font-variant-numeric:tabular-nums; }
.banquet-number-range { white-space:nowrap; }
.banquet-specs .banquet-area dd { font-size:clamp(28px,3vw,40px); font-weight:300; }
.banquet-facilities { padding-block:64px; background:var(--guest-low); }
.banquet-facilities-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:48px; align-items:center; }
.banquet-amenities { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.banquet-amenities li { display:flex; gap:20px; align-items:center; font-size:18px; line-height:1.7; }
.banquet-amenities .material-symbols-outlined { font-size:32px; color:var(--guest-accent,#6f582d); }
.banquet-contact { padding-block:80px; display:flex; justify-content:space-between; align-items:center; gap:40px; }
.banquet-contact-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:24px; }
.banquet-contact .guest-phone { font-size:clamp(20px,2vw,28px); }
[dir="rtl"] .guest-banquet { letter-spacing:normal; }
[dir="rtl"] .banquet-contact .guest-icon--arrow-right { transform:scaleX(-1); }
@media (max-width:900px) {
    .banquet-facilities-inner { grid-template-columns:1fr; gap:32px; }
    .banquet-contact { align-items:flex-start; flex-direction:column; }
    .banquet-contact-actions { justify-content:flex-start; }
}
@media (max-width:767px) {
    .guest-banquet .guest-intro { padding-top:48px; }
    .banquet-thumbnails { gap:10px; }
    .banquet-thumbnails--expanded { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .banquet-zoom { bottom:12px; inset-inline-end:12px; width:36px; height:36px; }
    .banquet-gallery-caption { font-size:12px; padding-bottom:16px; }
    .banquet-space-grid { grid-template-columns:1fr; gap:40px; margin-top:28px; }
    .banquet-space { padding-top:24px; }
    .banquet-specs > div { padding-block:20px; }
    .banquet-specs dd { font-size:20px; }
    .banquet-amenities { grid-template-columns:1fr; gap:24px; }
    .banquet-facilities { padding-block:48px; }
    .banquet-contact { padding-block:64px; gap:28px; }
}
