.service-picker { position: relative; min-width: 0; }
.service-picker-button {
 display: flex; align-items: center; justify-content: space-between; gap: 12px;
 width: 100%; height: 48px; min-height: 48px; padding: 12px 14px;
 border: 1px solid #7b8794; border-radius: 8px;
 background: #fff; color: #3c3744; font: inherit; font-size: .95rem;
 text-align: left; cursor: pointer;
}
.service-picker-button::after { content: ''; flex: 0 0 7px; height: 7px; border-right: 2px solid #526071; border-bottom: 2px solid #526071; transform: rotate(45deg); margin-top: -4px; }
.service-picker-button:focus-visible { outline: 2px solid #12558e; outline-offset: 2px; }
.service-picker-list {
 position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 950;
 max-height: 240px; overflow-y: auto; overscroll-behavior: contain;
 border: 1px solid #7b8794; border-radius: 8px; background: #fff;
 box-shadow: 0 6px 18px rgba(0,0,0,.16); color: #3c3744;
}
.service-picker-list[hidden], select#cService[hidden] { display: none; }
.service-picker-option { padding: 12px 14px; font-size: .95rem; line-height: 1.4; cursor: pointer; }
.service-picker-option:hover, .service-picker-option.active { background: #e7f1fa; color: #123e62; }
.service-picker-option[aria-selected="true"] { font-weight: 700; }

/* Keep single-line fields aligned regardless of the selected service. */
.form-row > .form-group { min-width: 0; }
.form-group input:not([type="hidden"]) { height: 48px; box-sizing: border-box; }
.service-picker-button { box-sizing: border-box; }
.service-picker-value { display: block; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
