.dialing-phone {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
}

.dialing-country-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    min-width: 82px;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-right: 0;
    border-radius: 4px 0 0 4px;
    background: #fff;
    color: #333;
    cursor: pointer;
}

.dialing-country-button:disabled { cursor: not-allowed; opacity: .65; }
.dialing-phone-number { flex: 1 1 auto; min-width: 0; border-radius: 0 4px 4px 0 !important; }
.dialing-country-flag { display: inline-flex; width: 20px; height: 15px; align-items: center; }
.dialing-flag-image { display: inline-block; width: 20px; height: 15px; object-fit: cover; }

.dialing-country-menu {
    position: absolute;
    z-index: 1100;
    top: calc(100% + 3px);
    left: 0;
    width: min(320px, 90vw);
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
}

.dialing-country-menu[hidden] { display: none; }
.dialing-country-search { box-sizing: border-box; width: 100%; margin-bottom: 5px; padding: 8px; border: 1px solid #bbb; }
.dialing-country-options { max-height: 240px; overflow-y: auto; }
.dialing-country-option { display: flex; width: 100%; align-items: center; gap: 8px; padding: 7px 6px; border: 0; background: #fff; color: #333; text-align: left; cursor: pointer; }
.dialing-country-option:hover, .dialing-country-option:focus { background: #f1f1f1; }
.dialing-option-code { margin-left: auto; color: #666; }

.contact-wrapper .dialing-phone { max-width: 100%; }
.tourpopup-col .dialing-country-button { min-width: 75px; }
