.floor-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media(min-width:480px){.floor-grid{grid-template-columns:repeat(3,1fr);}}
.floor-card{border:2px solid var(--border);border-radius:var(--r);padding:12px;cursor:pointer;transition:all .15s;background:#fafaf8;position:relative;display:block;text-align:center;}
.floor-card:hover{border-color:var(--accent);}
.floor-card.floor-card input[type="radio"]{display:none;}
.fl-check{position:absolute;top:8px;right:10px;color:var(--accent);font-weight:700;font-size:12px;opacity:0;transition:opacity .15s;}
.floor-card.selected .fl-check{opacity:1;}
.fl-icon{font-size:22px;margin-bottom:4px;}
.fl-name{font-size:12px;font-weight:700;color:var(--ink);}
.fl-price{font-family:'DM Mono',monospace;font-size:11px;color:var(--accent);margin-top:2px;}
.fl-note{font-size:12px;color:var(--ink3);}

.room-list-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);}
.room-list-item:last-child{border-bottom:none;}
.rli-label{flex:1;font-size:13px;color:var(--ink2);}
.rli-ctrl{display:flex;align-items:center;gap:6px;}
.cnt-btn{width:30px;height:30px;border:1.5px solid var(--border);border-radius:7px;background:#fafaf8;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit;}
.cnt-btn:hover{border-color:var(--accent);background:var(--accent-light);}
.cnt-num{font-family:'DM Mono',monospace;font-size:15px;font-weight:700;min-width:28px;text-align:center;}
.cnt-unit{font-size:12px;color:var(--ink3);}

.result-top{background:var(--primary);border-radius:var(--r-lg);padding:22px 16px;margin-bottom:14px;position:relative;overflow:hidden;}
.result-top::before{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(107,159,212,.25),transparent 70%);pointer-events:none;}
.rt-label{font-size:11px;color:var(--primary-mid);font-family:'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.rt-val{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(28px,7vw,48px);font-weight:900;color:#fff;line-height:1.1;margin-bottom:4px;}
.rt-val em{color:var(--primary-mid);font-style:normal;font-size:.55em;}
.rt-sub{color:rgba(255,255,255,0.55);font-size:12px;}
@media(min-width:480px){}