.product-configuration[hidden] { display: none !important; }
.product-configuration { margin-block: 1.25rem; min-width: 0; }
.product-configuration fieldset { min-width: 0; margin: 0; padding: 1rem; border: 1px solid #cbd8df; border-radius: 12px; background: #f5f8fa; color: #163548; }
.product-configuration legend { padding-inline: .4rem; font-weight: 700; font-size: 1rem; }
.product-configuration .configuration-note { margin: 0 0 1rem; color: #4c6070; font-size: .85rem; line-height: 1.8; }
.configuration-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: .9rem; }
.configuration-field { min-width: 0; }
.configuration-field label { display: block; margin-block-end: .4rem; font-size: .88rem; font-weight: 700; }
.configuration-field select { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 44px; padding: .6rem; border: 1px solid #a6b8c4; border-radius: 8px; background: #fff; color: #163548; font: inherit; font-size: .9rem; }
.configuration-field select:focus-visible { outline: 3px solid #e58c1f; outline-offset: 2px; }
.configuration-detail { margin: .4rem 0 0; font-size: .82rem; color: #354f61; line-height: 1.7; overflow-wrap: anywhere; }
.configuration-detail:empty { display: none; }
