/* Intelligent building configurator page */

.bc-page{
min-height:100vh;
}

.bc-topbar{
padding:var(--space-2) var(--section-padding-x);
background:var(--color-surface);
border-bottom:1px solid var(--color-border);
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
gap:var(--space-2);
}

.bc-topbar a{
font-weight:600;
color:var(--color-primary);
text-decoration:none;
}

.bc-title{
margin:0;
font-size:var(--font-subtitle);
color:var(--color-dark);
}

.bc-grid{
display:grid;
grid-template-columns:minmax(280px,340px) minmax(300px,1fr) minmax(280px,380px);
gap:var(--space-3);
padding:var(--space-4) var(--section-padding-x);
max-width:1600px;
margin:0 auto;
align-items:start;
}

.bc-col{
min-width:0;
}

.bc-card{
background:var(--color-surface);
border:1px solid var(--color-border);
border-radius:var(--radius-block);
box-shadow:var(--shadow-card);
padding:var(--space-3);
margin-bottom:var(--space-3);
}

.bc-card h2,
.bc-card h3{
margin:0 0 var(--space-2);
font-size:var(--font-body);
font-weight:700;
color:var(--color-dark);
}

.bc-steps{
font-size:var(--font-small);
color:var(--color-muted);
margin:0 0 var(--space-2);
line-height:1.5;
}

.bc-form-row{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
gap:var(--space-2);
align-items:end;
margin-bottom:var(--space-2);
}

.bc-field label,
.bc-input-wrap label{
display:block;
font-weight:600;
font-size:var(--font-small);
color:var(--color-dark);
margin-bottom:var(--space-1);
}

.bc-input,
.bc-field select{
width:100%;
padding:10px 12px;
border:1px solid var(--color-border);
border-radius:var(--radius-button);
font:inherit;
}

.bc-3d-wrap{
position:relative;
height:min(55vh,480px);
min-height:280px;
background:linear-gradient(180deg,#e8ecf1,#f5f7fa);
border-radius:var(--radius-card);
overflow:hidden;
border:1px solid var(--color-border);
}

.bc-3d-wrap canvas{
display:block;
width:100%!important;
height:100%!important;
}

.bc-svg-host svg{
width:100%;
height:auto;
max-height:200px;
}

.bc-table{
width:100%;
border-collapse:collapse;
font-size:var(--font-small);
}

.bc-table th,
.bc-table td{
padding:6px 8px;
border-bottom:1px solid var(--color-border);
text-align:left;
}

.bc-muted{
color:var(--color-muted);
font-size:var(--font-small);
margin:0;
}

.bc-spec-mount .bc-field{
margin-bottom:var(--space-2);
}

.bc-opening-row{
grid-template-columns:repeat(auto-fit,minmax(90px,1fr)) auto;
align-items:center;
}

.bc-opening-remove{
padding:6px 10px!important;
}

@media (max-width:1200px){
.bc-grid{
grid-template-columns:1fr;
}
}
