/* 北海明珠官网：宴会厅、宴会案例、服务流程与图库 */

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}
.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.hall-list{display:grid;gap:24px}
.hall-card{display:grid;grid-template-columns:44% 1fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.hall-card:nth-child(even){grid-template-columns:1fr 44%}
.hall-card:nth-child(even) .hall-card-media{order:2}
.hall-card-media img{width:100%;height:100%;min-height:340px;object-fit:cover}
.hall-card-body{padding:35px}
.hall-card-body h2{font-size:30px;margin:8px 0}
.hall-card-body p{color:var(--muted)}
.feature-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.feature-tags span{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
@media (max-width:850px){
.hall-card,.hall-card:nth-child(even){grid-template-columns:1fr}
.hall-card:nth-child(even) .hall-card-media{order:0}
}
@media (max-width:620px){
.gallery-grid{grid-template-columns:1fr 1fr}
.hall-card-body{padding:25px}
.hall-card-media img{min-height:250px}
}
.case-guide-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;padding:23px 26px;border:1px solid #d9e4f5;border-radius:16px;background:#f3f7ff}
.case-guide-strip h2{font-size:21px;margin:0 0 4px}
.case-guide-strip p{margin:0;color:var(--muted);font-size:13px}
.case-list-grid{grid-template-columns:repeat(3,1fr)}
.case-facts,.hall-facts,.hall-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.case-facts div,.hall-facts div,.hall-specs div{padding:13px;background:var(--bg);border-radius:11px}
.case-facts small,.hall-facts small,.hall-specs small{display:block;color:#8c98aa;font-size:11px}
.case-facts strong,.hall-facts strong,.hall-specs strong{display:block;margin-top:3px;color:#2b3951;font-size:14px}
.detail-gallery{margin-top:34px;padding-top:27px;border-top:1px solid var(--line)}
.detail-gallery h2{font-size:24px}
.hall-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hall-selection-guide{margin-top:42px;padding:31px;border-radius:18px;background:var(--bg)}
.hall-selection-guide h2{margin-top:0}
.detail-feature-tags{margin-top:20px}
.hall-related-grid{grid-template-columns:repeat(3,1fr)}
.service-occasion-grid article{padding:29px 24px;border:1px solid var(--line);border-radius:17px;background:#fff;transition:.25s}
.service-occasion-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#c5d3eb}
.service-occasion-grid article>span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--primary-soft);color:var(--primary);font-size:22px;font-family:serif}
.service-occasion-grid h2{font-size:20px;margin:15px 0 7px}
.service-occasion-grid p{margin:0;color:var(--muted);font-size:13px}
.service-occasion-grid a{display:inline-block;margin-top:16px;color:var(--primary);font-size:13px;font-weight:800}
.service-process .center-action{display:flex;justify-content:center;gap:11px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.process-grid article{padding:25px;background:#fff;border:1px solid var(--line);border-radius:16px}
.process-grid strong{display:block;color:var(--primary);font-size:25px}
.process-grid h3{margin:8px 0 6px}
.process-grid p{margin:0;color:var(--muted);font-size:13px}
@media (max-width:850px){
.case-list-grid,.hall-related-grid{grid-template-columns:repeat(2,1fr)}
.process-grid{grid-template-columns:repeat(2,1fr)}
.case-facts,.hall-facts,.hall-specs{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
.case-guide-strip{align-items:flex-start;flex-direction:column;padding:24px}
.case-list-grid,.hall-related-grid,.process-grid{grid-template-columns:1fr}
.case-facts,.hall-facts,.hall-specs{grid-template-columns:1fr 1fr}
.service-process .center-action{flex-direction:column}
.service-process .center-action a{width:100%}
.hall-card-actions a{width:100%}
}
.case-guide-strip>div{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.case-guide-strip>div strong{margin-right:8px}
.case-guide-strip>div span{padding:6px 10px;border-radius:999px;background:#fff;color:#50617d;font-size:12px}
.case-guide-strip>a{color:var(--primary);font-weight:800;white-space:nowrap}
