.configurator-entry { width: 100%; text-align: left; }
.configurator-entry-options { display: grid; gap: 1rem; align-items: center; margin-top: 1.5rem; }
.configurator-entry-product-options { display: grid; gap: 1rem; }
.configurator-entry-separator { display: flex; align-items: center; justify-content: center; gap: .75rem; color: #6b6b6b; }
.configurator-entry-separator::before, .configurator-entry-separator::after { content: ''; flex: 1; height: 1px; background: #e1e4e8; }
@media (min-width: 768px) {
    .configurator-entry-options { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1.5rem; }
    .configurator-entry-separator::before, .configurator-entry-separator::after { content: none; }
}
.configurator-details-modal .modal-dialog { max-width: min(90rem, calc(100% - 2rem)); }
.configurator-details-modal .modal-content { max-height: calc(100svh - 3.5rem); }
.configurator-details-modal > .modal-dialog > .modal-content > .modal-header { padding-block: .75rem; }
.configurator-details-modal .modal-header .btn-close { flex-shrink: 0; }
.configurator-details-modal .modal-body { display: flex; flex-direction: column; min-height: 0; padding: 0; overflow: hidden; }
.configurator-details-modal .modal-body:has(> .loader) { align-items: center; justify-content: center; min-height: 8rem; }
.configurator-details-modal .configurator-details { display: flex; flex: 1; flex-direction: column; min-height: 0; max-height: 80svh; }
.configurator-details-content { min-height: 0; overflow: auto; padding: 1.25rem; text-align: left; }
.configurator-details-actions { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; flex-wrap: wrap; padding: 1rem 1.25rem; border-top: 1px solid #e1e4e8; background: #fff; flex-shrink: 0; }
.configurator-details-actions input[type='number'] { width: 5rem; }
@media (max-width: 767px) {
    .configurator-details-modal .modal-dialog { max-width: none; }
}
@media (max-width: 575px) {
    .configurator-details-actions > .btn { width: 100%; }
}
