/* Scoped layout for catalog options. No dashboard/table/button overrides. */
.service-options{border:1px solid #d5dfed;border-radius:8px;padding:8px 10px;margin:0;min-width:0;background:#f7faff}
.service-options[hidden]{display:none!important}
.service-options-title{float:none;width:auto;font-size:13px;font-weight:650;margin:0 0 3px;padding:0}
.service-options-hint{font-size:11px;color:#506079;margin:0 0 5px;display:block}
.service-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:5px;margin:5px 0}
.service-option{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 8px;border:1px solid #dce4ef;border-radius:6px;background:#fff;cursor:pointer}
.service-option:has(input:checked){border-color:#1f58b5;background:#edf4ff}
.service-option input{accent-color:#1f58b5;width:17px;height:17px;flex:0 0 17px;margin:0}
.service-option-body{flex:1;min-width:0;line-height:1.3}
.service-option-name{font-weight:550;font-size:12px;overflow-wrap:anywhere;display:block}
.service-option-description{display:block;font-size:10px;color:#617087;line-height:1.3;margin-top:2px;overflow-wrap:anywhere}
.service-option-price{font-size:12px;flex:0 0 auto;max-width:110px;text-align:right;font-weight:600;line-height:1.3}
.service-option:focus-within{outline:2px solid #1f58b5;outline-offset:2px}
.catalog-option-row{display:grid;grid-template-columns:minmax(0,1fr) 115px 112px 83px 32px;gap:6px;align-items:end;border:1px solid #d5dfed;border-radius:7px;padding:7px;margin-top:6px}
.catalog-option-row label{font-size:11px;min-width:0;display:block}
.catalog-option-details{grid-column:1/-1;font-size:11px;min-width:0}
.catalog-option-details summary{cursor:pointer;color:#36547c;min-height:24px;display:list-item}
.catalog-option-details label{margin-top:4px}
.catalog-option-snapshot{display:flex;gap:4px;flex-wrap:wrap;margin:5px 0}
.catalog-option-snapshot span{padding:3px 7px;border:1px solid #d5dfed;border-radius:5px;font-size:12px;overflow-wrap:anywhere;max-width:100%}
@media(max-width:600px){
 .service-options{padding:7px}.service-option{min-height:44px;padding:7px}.service-option-name{font-size:12px}
 .service-option-price{font-size:11px;max-width:85px}.service-option-description{font-size:10px}
 .catalog-option-row{grid-template-columns:minmax(0,1fr) minmax(90px,.7fr) 34px;gap:5px}
 .catalog-option-row label:nth-of-type(3){grid-column:1}
 .catalog-option-row label:nth-of-type(4){grid-column:1/3}
 .catalog-option-row [data-option-remove]{grid-column:3}
 .catalog-option-title{grid-column:1/-1}.catalog-option-row .btn{min-height:34px!important;align-self:end}
 .catalog-option-row input,.catalog-option-row select,.catalog-option-row textarea{width:100%;max-width:100%;min-width:0}
}

/* The form between .modal-content and .modal-body must participate in flex
   sizing; otherwise Bootstrap clips a long form at .modal-content. */
.catalog-editor-modal {z-index:1400;}
body:has(.catalog-editor-modal.show) > .modal-backdrop {z-index:1399;}
.catalog-editor-modal .modal-dialog-scrollable {height:calc(100% - 24px);margin-top:12px;margin-bottom:12px;}
.catalog-editor-modal .modal-dialog-scrollable .modal-content {max-height:100%;min-height:0;}
.catalog-editor-modal .modal-dialog-scrollable .modal-content > form:has(.modal-body) {display:flex;flex:1 1 auto;flex-direction:column;min-height:0;max-height:100%;overflow:hidden;}
.catalog-editor-modal .modal-dialog-scrollable .modal-body {min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-gutter:stable;}
.catalog-editor-modal .modal-header,.catalog-editor-modal .modal-footer {flex:0 0 auto;}
.catalog-editor-modal .modal-footer {gap:6px;}
.catalog-editor-modal .modal-footer > .d-flex {flex-wrap:wrap;justify-content:flex-end;}
@supports not selector(:has(*)) {
 .catalog-editor-modal .modal-dialog-scrollable .modal-content > form:first-child {display:flex;flex:1 1 auto;flex-direction:column;min-height:0;max-height:100%;overflow:hidden;}
}
@media(max-width:600px){
 .catalog-editor-modal .modal-body {padding:10px;}
 .catalog-editor-modal .modal-header,.catalog-editor-modal .modal-footer {padding:8px 10px;}
 .catalog-editor-modal .modal-title {font-size:16px;}
 .catalog-editor-modal .modal-footer > .d-flex {gap:5px!important;}
 .catalog-editor-modal .modal-footer .btn {min-height:38px;font-size:12px;padding:6px 9px;}
}
