.zopo-configurator { margin: 1.25rem 0; padding: 1rem; border: 1px solid #d7dce0; background: #fff; }
.zopo-configurator__header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.zopo-configurator__header h3 { margin: 0; font-size: 1.1rem; }
.zopo-configurator__price { font-weight: 700; font-size: 1.2rem; white-space: nowrap; }
.zopo-configurator__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
.zopo-field { position: relative; display: grid; gap: .4rem; }
.zopo-field label { font-weight: 600; }
.zopo-field input, .zopo-field select { width: 100%; min-height: 2.5rem; padding: .4rem .55rem; border: 1px solid #9ba5ad; border-radius: 3px; background: #fff; }
.zopo-field input[type="range"] { padding: 0; border: 0; }
.zopo-range { display: flex; align-items: center; gap: .75rem; }
.zopo-range input { flex: 1; }
.zopo-range output { min-width: 3.5rem; font-variant-numeric: tabular-nums; }
.zopo-field__unit { color: #59636d; font-size: .875rem; }
.zopo-configurator__error { margin: .75rem 0 0; color: #b42318; }
@media (max-width: 575px) { .zopo-configurator__header { align-items: flex-start; flex-direction: column; gap: .35rem; } }
