.nlgb-configurator,
.nlgb-picker { font: inherit; color: inherit; font-size: 14px; line-height: 22px; text-align: start; }
.nlgb-configurator { display: flex; flex-direction: column; gap: 16px; width: 100%; scroll-margin-top: 140px; }
.nlgb-summary-flow #nm-summary-pin { position: static !important; top: auto !important; width: auto !important; }
.nlgb-summary-flow .pin-wrapper { height: auto !important; }
.nlgb-configurator *, .nlgb-picker * { box-sizing: border-box; }
.nlgb-configurator [hidden], .nlgb-picker [hidden] { display: none !important; }
.nlgb-configurator p, .nlgb-picker p { margin: 0; padding: 0; }
.nlgb-configurator button, .nlgb-picker button { font: inherit; cursor: pointer; }
.nlgb-configurator button:disabled, .nlgb-picker button:disabled { cursor: not-allowed; opacity: .5; }
.nlgb-configurator :focus-visible, .nlgb-picker :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.nlgb-sizes { min-width: 0; margin: 0; padding: 0; border: 0; }
.nlgb-sizes legend { margin: 0 0 16px; padding: 0; font: inherit; }
.nlgb-size-options { display: flex; gap: 8px; flex-wrap: wrap; }
.nlgb-size-options label { position: relative; flex: 1 1 64px; margin: 0; cursor: pointer; }
.nlgb-size-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.nlgb-size-options span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 6px; border: 1px solid #ddd; border-radius: 12px; font-size: 12px; }
.nlgb-size-options input:checked + span { background: #282828; border-color: #282828; color: white; }
.nlgb-size-options input:focus-visible + span { outline: 2px solid #282828; outline-offset: 3px; }
.nlgb-size-options input:disabled + span { opacity: .5; }
.nlgb-slots { display: flex; flex-direction: column; gap: 8px; }
.nlgb-slot { display: flex; gap: 12px; align-items: center; min-height: 88px; padding: 8px 12px; border-radius: 20px; background: #f3f3f3; }
.nlgb-slot .nlgb-thumb { flex: 0 0 44px; width: 44px; height: 52px; object-fit: contain; border-radius: 6px; }
.nlgb-slot span.nlgb-thumb { display: grid; place-items: center; background: #e7e7e7; color: #666; font-size: 24px; }
.nlgb-slot-copy { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.nlgb-slot-name { overflow-wrap: anywhere; font-size: 14px; line-height: 22px; }
.nlgb-slot-actions { display: flex; flex-direction: column; }
.nlgb-slot button { background: none; border: 0; padding: 6px 0; min-height: 32px; color: #282828; text-align: start; }
.nlgb-slot-actions button { min-width: 52px; font-size: 13px; }
.nlgb-slot-actions .nlgb-remove { color: #666; }
.nlgb-slot > .nlgb-open { flex: 1; min-height: 60px; }
.nlgb-configurator .nlgb-hint, .nlgb-picker .nlgb-hint { color: #666; font-size: 12px; line-height: 18px; }
.nlgb-configurator .button { white-space: normal; min-height: 44px; border-radius: 20px; width: 100%; }
.nlgb-status:empty { display: none; }
.nlgb-picker { position: fixed; margin: auto; inset: 0; width: min(872px, calc(100% - 48px)); max-width: none; max-height: calc(100dvh - 48px); padding: 24px 32px; border: 0; border-radius: 16px; background: #fff; color: #333; overflow: hidden; }
.nlgb-picker[open] { display: flex; flex-direction: column; gap: 20px; }
.nlgb-picker::backdrop { background: rgb(0 0 0 / 40%); }
.nlgb-dialog-open { overflow: hidden; }
.nlgb-picker-header { display: flex; gap: 8px; align-items: start; flex-shrink: 0; }
.nlgb-picker-header > div { flex: 1; min-width: 0; }
.nlgb-picker-header h2 { margin: 0 0 6px; font-size: 26px; line-height: 1.25; font-weight: 400; }
.nlgb-close { flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #282828; font-size: 28px !important; }
.nlgb-picker-scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 16px; }
.nlgb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 16px; }
.nlgb-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.nlgb-card-image { width: 100%; height: 200px; object-fit: contain; border-radius: 12px; }
.nlgb-card-name { overflow-wrap: anywhere; }
.nlgb-card .nlgb-hint { font-size: 11px; }
.nlgb-card .button { margin-top: auto; width: 100%; min-height: 44px; padding: 8px; font-size: 12px; border-radius: 12px; white-space: normal; }
@media (max-width: 600px) {
    .nlgb-picker { width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 24px 16px; }
    .nlgb-picker-header h2 { font-size: 21px; }
    .nlgb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nlgb-card-image { height: 136px; }
}
@media (max-width: 320px) { .nlgb-grid { grid-template-columns: minmax(0, 1fr); } }
