.bp-config {
    box-sizing: border-box;
    max-width: 1040px;
    margin-inline: auto;
    padding: clamp(20px, 4vw, 42px);
    border: 1px solid #dcd5c8;
    border-radius: 24px;
    background: #f5f2eb;
    color: #253a31;
}
.bp-config h2, .bp-config h3 { color: inherit; margin: 0 0 .6rem; }
.bp-config h2 { font-size: clamp(30px, 5vw, 48px); }
.bp-config h3 { font-size: 24px; }
.bp-config [hidden] { display: none !important; }
.bp-config-progress {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding: 0;
    list-style: none;
    font-size: 14px;
}
.bp-config-progress li {
    border: 1px solid #dcd5c8;
    border-radius: 100px;
    padding: .35rem .75rem;
}
.bp-config-progress [aria-current] { background: #50674e; color: #fff; }
.bp-config-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(16px, 4vw, 36px);
}
.bp-config-preview { margin: 0; text-align: center; font-size: 14px; }
.bp-config-preview div {
    box-sizing: border-box;
    display: grid;
    place-items: center;
    margin: 0 auto .6rem;
    width: min(100%, 235px);
    aspect-ratio: 3 / 4;
    border: 10px solid #b99370;
    background: #e9e1d4;
}
.bp-config-preview[data-frame="nera"] div { border-color: #272727; }
.bp-config-preview img { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.bp-config-controls { min-width: 0; }
.bp-config-controls input, .bp-config-controls select {
    display: block;
    box-sizing: border-box;
    max-width: 100%;
    margin-block: .5rem;
    font: inherit;
}
.bp-config-controls select { width: 100%; min-height: 44px; }
.bp-config button {
    margin: .25rem .35rem .25rem 0;
    padding: .65rem 1rem;
    border: 1px solid #50674e;
    border-radius: 100px;
    background: #50674e;
    color: white;
    font: inherit;
    cursor: pointer;
}
.bp-config button:disabled { opacity: .55; cursor: default; }
.bp-config dt { font-weight: 700; }
.bp-config dd { margin: 0 0 .5rem; }
@media (max-width: 650px) {
    .bp-config-layout { grid-template-columns: minmax(0, 1fr); }
}
