/* Members' gate on the 3D room page */
.mg{padding:8px 0 clamp(56px,8vw,110px)}
.mg-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:'body box';column-gap:clamp(28px,5vw,72px);row-gap:0;align-items:start}
.mg-body{grid-area:body}.mg-box{grid-area:box}
.mg-shot{margin:0 0 26px;border:1px solid var(--line);overflow:hidden;aspect-ratio:1200/838;background:var(--surface)}
.mg-shot img{display:block;width:100%;height:100%;object-fit:cover}
.mg-feats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.mg-feats li{display:grid;gap:4px;padding-top:14px;border-top:1px solid var(--line)}
.mg-feats b{font-weight:700}
.mg-feats span{color:var(--mut);font-size:var(--t-small,15px);line-height:1.5}
.mg-box{position:sticky;top:96px;background:var(--surface);border:1px solid var(--line);padding:clamp(20px,3vw,34px)}
.mg-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 0 22px;border-bottom:1px solid var(--line)}
.mg-tabs button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px 4px;font:inherit;font-weight:700;color:var(--mut);cursor:pointer}
.mg-tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent)}
.mg-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mg-form[hidden]{display:none}
.mg-form h3,.mg-state h3{font-size:1.3rem;margin:0 0 10px}
.mg-form label small{font-weight:400;color:var(--mut);font-size:12px}
.mg-check{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-small,15px);line-height:1.5;color:var(--mut);cursor:pointer}
.mg-check input{margin-top:0;width:24px;height:24px;flex:none;accent-color:var(--accent)}
.mg-check a,.mg-state a{color:var(--accent)}
.mg-note{margin:0;color:var(--mut);font-size:var(--t-small,15px)}
.mg-link{color:var(--mut);text-decoration:underline;text-underline-offset:3px;margin-left:14px;font-size:var(--t-small,15px)}
.mg-link:hover{color:var(--accent)}
.mg-box .btns{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.mg-state p{margin:0 0 12px;line-height:1.6}
.mg-box>.status{margin:0 0 14px}
@media (max-width:900px){
	.mg-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'box' 'body';row-gap:28px}
	.mg-box{position:static}
}
@media (max-width:560px){
	.mg-feats{grid-template-columns:minmax(0,1fr)}
	.mg .row2{grid-template-columns:minmax(0,1fr)}
	.mg-form input,.mg-form select{font-size:16px}
}
.mg-state .mg-link{margin-left:0}
