/* Progressive enhancement: native selects remain usable without JavaScript. */
.wpcf7 select:not([multiple]):not([size]) {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding-right: 52px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%231973de' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-position: right 17px center !important;
    background-repeat: no-repeat !important;
    background-size: 20px 20px !important;
}
.nm-select { position: relative; display: block; width: 100%; min-width: 0; }
.nm-select > select.nm-select__native {
    position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
    margin: 0 !important; opacity: 0 !important; pointer-events: none !important;
}
.nm-select .nm-select__trigger {
    position: relative; display: flex; align-items: center; width: 100%; min-height: 48px;
    padding-right: 52px !important; background-image: none !important;
    text-align: left; text-transform: none; letter-spacing: normal; font-family: inherit;
    cursor: pointer; border-radius: 10px; box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.nm-select__value { min-width: 0; white-space: normal; line-height: 1.45; overflow-wrap: anywhere; }
.nm-select__arrow {
    position: absolute; right: 20px; top: 50%; width: 9px; height: 9px;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: translateY(-70%) rotate(45deg); pointer-events: none; transition: transform .18s ease;
}
.nm-select__trigger[aria-expanded="true"] .nm-select__arrow { transform: translateY(-20%) rotate(225deg); }
.nm-select .nm-select__trigger:hover:not(:disabled) { border-color: #73a9e8; }
.nm-select .nm-select__trigger:focus-visible,
.nm-select .nm-select__trigger[aria-expanded="true"] { outline: none; border-color: #1973de; box-shadow: 0 0 0 3px rgba(25,115,222,.17); }
.nm-select .nm-select__trigger:disabled { opacity: .55; cursor: not-allowed; }
.nm-select .nm-select__trigger[aria-invalid="true"] { border-color: #dc2626; }
.nm-select__menu {
    position: fixed; z-index: 100100; box-sizing: border-box; margin: 0; padding: 6px;
    overflow: auto; overscroll-behavior: contain; scrollbar-width: thin;
    background: #fff; color: #02254d; border: 1px solid #dce6f2; border-radius: 14px;
    box-shadow: 0 14px 38px rgba(2,37,77,.18), 0 2px 6px rgba(2,37,77,.06);
    font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px; font-weight: 600; line-height: 1.45; text-transform: none; letter-spacing: normal;
}
.nm-select__menu[hidden] { display: none !important; }
.nm-select__option {
    position: relative; display: block; box-sizing: border-box; margin: 0; padding: 12px 38px 12px 13px;
    border-radius: 9px; cursor: pointer; white-space: normal; overflow-wrap: anywhere;
}
.nm-select__option + .nm-select__option { margin-top: 2px; }
.nm-select__option[aria-selected="true"] { color: #125cb7; background: #edf5ff; font-weight: 750; }
.nm-select__option[aria-selected="true"]::after {
    content: ""; position: absolute; right: 16px; top: 17px; width: 6px; height: 11px;
    border-right: 2px solid #1973de; border-bottom: 2px solid #1973de; transform: rotate(45deg);
}
.nm-select__option.is-active { color: #0d4e9f; background: #dfedff; outline: 1px solid #c7ddf8; outline-offset: -1px; }
.nm-select__option[aria-disabled="true"] { color: #94a3b8; background: transparent; cursor: not-allowed; }
.nm-select__group { padding: 8px 13px 5px; color: #64748b; font-size: 11px; font-weight: 800; }
.wpcf7 .wpcf7-acceptance a { text-decoration: underline; text-underline-offset: 2px; }
.wpcf7 .wpcf7-acceptance a:hover { text-decoration-thickness: 2px; }
@media (max-width: 640px) {
    .nm-select__menu { font-size: 14px; }
    .nm-select__option { min-height: 44px; padding-top: 12px; padding-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .nm-select .nm-select__trigger, .nm-select__arrow { transition: none; }
}
