/* Konfigurator - premium furniture style */
#config-root { 
  --accent:#b8860b; 
  --accent-light:#c9a227;
  --ink:#1a1a1a; 
  --muted:#fafafa; 
  --line:#e0e0e0;
  --dark:#0a0a0a;
  margin-top: 100px; 
  padding-bottom: 4rem;
}

#config-root .breadcrumbs{
  font-size:.85rem;
  color:#666;
  margin-bottom:1.5rem;
  text-transform:uppercase;
  letter-spacing:.05em
}

#config-root h1{
  font-size:clamp(1.75rem,4vw,2.5rem);
  font-weight:700;
  margin-bottom:2rem;
  color:var(--ink);
  text-transform:uppercase;
  letter-spacing:.05em
}

#config-root .config-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:0;
  box-shadow:0 4px 30px rgba(0,0,0,.08);
  overflow:hidden
}

#config-root #step-illustration{
  background:linear-gradient(180deg,#f8f8f8,#f0f0f0);
  border-bottom:1px solid var(--line);
  text-align:center
}

#config-root #step-illustration img{
  max-width:960px;
  width:100%;
  height:auto;
  display:block;
  margin:0 auto;
  padding:24px
}

#config-root #step-content{padding:32px}

#config-root .controls{
  position:sticky;
  bottom:0;
  z-index:5;
  display:flex;
  align-items:center;
  gap:20px;
  padding:18px 24px;
  border-top:1px solid var(--line);
  background:#fff
}

#config-root .progress{
  flex:1;
  height:4px;
  background:#e5e5e5;
  border-radius:0;
  overflow:hidden
}

#config-root .progress .bar{
  height:100%;
  width:0;
  background:var(--accent);
  transition:width .3s ease
}

#config-root .btn{
  padding:12px 24px;
  border-radius:0;
  border:2px solid var(--line);
  background:#fff;
  cursor:pointer;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.85rem;
  transition:all .25s ease
}

#config-root .btn:hover{
  border-color:var(--accent);
  color:var(--accent)
}

#config-root .btn.primary{
  background:var(--accent);
  color:#000;
  border-color:var(--accent)
}

#config-root .btn.primary:hover{
  background:transparent;
  color:var(--accent)
}

#config-root .btn:disabled{opacity:.4;cursor:not-allowed}

#config-root .grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px
}

@media (max-width:1200px){#config-root .grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){#config-root .grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){#config-root .grid{grid-template-columns:repeat(2,1fr)}}

#config-root .tile{
  border:2px solid var(--line);
  background:#fff;
  border-radius:0;
  padding:12px;
  cursor:pointer;
  transition:all .2s ease
}

#config-root .tile:hover{
  border-color:var(--accent);
  box-shadow:0 8px 24px rgba(0,0,0,.1)
}

#config-root .tile.active{
  border-color:var(--accent);
  box-shadow:inset 0 0 0 2px var(--accent)
}

#config-root .tile img{
  width:100%;
  border-radius:0;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#f5f5f5
}

#config-root .tile .label{
  margin-top:10px;
  font-weight:600;
  text-align:center;
  font-size:.9rem;
  color:var(--ink);
  text-transform:uppercase;
  letter-spacing:.03em
}

#config-root .quote-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px
}

@media (max-width:1200px){#config-root .quote-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){#config-root .quote-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){#config-root .quote-grid{grid-template-columns:repeat(2,1fr)}}

#config-root .quote-item{
  border:2px solid var(--line);
  border-radius:0;
  overflow:hidden;
  cursor:pointer;
  background:#fff;
  transition:all .2s ease
}

#config-root .quote-item:hover{
  border-color:var(--accent);
  box-shadow:0 8px 24px rgba(0,0,0,.1)
}

#config-root .quote-item.active{
  border-color:var(--accent);
  box-shadow:inset 0 0 0 2px var(--accent)
}

#config-root .quote-item img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:4/3;
  object-fit:cover
}

#config-root .quote-item .quote-text{
  padding:12px;
  font-weight:600;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-size:.85rem
}

#config-root .row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
}

@media (max-width:900px){#config-root .row{grid-template-columns:1fr}}

#config-root .field{margin:8px 0 18px}

#config-root label{
  font-size:.9rem;
  display:inline-block;
  margin-bottom:8px;
  font-weight:500;
  color:var(--ink)
}

#config-root input[type="number"],
#config-root select,
#config-root input[type="text"]{
  width:100%;
  padding:12px 14px;
  border:2px solid var(--line);
  border-radius:0;
  font-size:.95rem;
  background:#fff;
  transition:border-color .2s ease
}

#config-root input[type="number"]:focus,
#config-root select:focus,
#config-root input[type="text"]:focus{
  outline:none;
  border-color:var(--accent)
}

#config-root .note{
  font-size:.8rem;
  color:#777;
  margin-top:6px
}

#config-root .badge{
  display:inline-block;
  background:var(--accent);
  color:#000;
  border:none;
  padding:4px 12px;
  border-radius:0;
  font-size:.8rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.03em
}

#config-root .summary{
  font-size:.95rem;
  line-height:1.7
}

table.modules{
  width:100%;
  border-collapse:collapse
}

table.modules th{
  text-align:left;
  font-weight:600;
  font-size:.85rem;
  color:#444;
  padding:12px;
  border-bottom:2px solid var(--accent);
  text-transform:uppercase;
  letter-spacing:.05em
}

table.modules td{
  background:#fff;
  border:1px solid var(--line);
  padding:14px;
  border-radius:0
}

.toolbar{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px
}

.toolbar .mini{
  padding:10px 16px;
  border-radius:0;
  border:2px solid var(--line);
  background:#fff;
  cursor:pointer;
  font-weight:500;
  transition:all .2s ease
}

.toolbar .mini:hover{
  border-color:var(--accent);
  color:var(--accent)
}
