.twp-widget{
    --twp-border:#e2e8f0;
    --twp-text:#0f172a;
    --twp-muted:#64748b;
    --twp-accent:#2563eb;
    position:relative;
    width:100%;
    max-width:420px;
    margin-inline:auto;
    padding:20px;
    border:1px solid var(--twp-border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
    color:var(--twp-text);
    font-family:inherit;
    text-align:right;
    box-sizing:border-box;
    overflow:visible;
}
.twp-widget *{box-sizing:border-box}
.twp-widget .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.twp-widget__title{margin:0 0 6px;font-size:18px;font-weight:700;line-height:1.5;color:var(--twp-text)}
.twp-widget__description{margin:0 0 16px;font-size:13px;line-height:1.8;color:var(--twp-muted)}
.twp-widget__label{display:block;margin:14px 0 7px;font-size:13px;font-weight:600;color:#334155}
.twp-widget__select{display:block;width:100%;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--twp-border);border-radius:10px;background:#fff;color:var(--twp-text);font:inherit;font-size:14px;line-height:1.4}
.twp-country-wrap[hidden],.twp-widget__empty[hidden]{display:none!important}
.twp-widget__empty{margin:10px 0 0;font-size:13px;color:#b42318}
.twp-widget-notice{margin:0;padding:12px 14px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:14px}

/* Select2 is scoped inside the widget because dropdownParent points to .twp-widget. */
.twp-widget .select2-container{width:100%!important;max-width:100%;direction:rtl;font-family:inherit}
.twp-widget .select2-container--default .select2-selection--single{
    height:44px;
    border:1px solid var(--twp-border);
    border-radius:10px;
    background:#fff;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.twp-widget .select2-container--default .select2-selection--single:hover{border-color:#94a3b8}
.twp-widget .select2-container--default.select2-container--focus .select2-selection--single,
.twp-widget .select2-container--default.select2-container--open .select2-selection--single{
    border-color:var(--twp-accent);
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.twp-widget .select2-container--default .select2-selection--single .select2-selection__rendered{
    display:block;
    height:42px;
    padding:7px 12px 7px 36px;
    color:var(--twp-text);
    font-size:14px;
    font-weight:500;
    line-height:28px;
    text-align:right;
}
.twp-widget .select2-container--default .select2-selection--single .select2-selection__placeholder{color:#64748b}
.twp-widget .select2-container--default .select2-selection--single .select2-selection__arrow{
    top:9px;
    right:auto;
    left:10px;
    width:20px;
    height:26px;
}
.twp-widget .select2-container--default.select2-container--disabled .select2-selection--single{background:#f8fafc;color:#94a3b8;cursor:not-allowed}
.twp-widget .select2-dropdown{
    border:1px solid var(--twp-border);
    border-radius:10px;
    background:#fff;
    box-shadow:0 12px 30px rgba(15,23,42,.14);
    overflow:hidden;
    z-index:99999;
}
.twp-widget .select2-search--dropdown{padding:8px}
.twp-widget .select2-search--dropdown .select2-search__field{
    height:38px;
    padding:6px 10px;
    border:1px solid var(--twp-border);
    border-radius:8px;
    font:inherit;
    font-size:14px;
    text-align:right;
    outline:0;
}
.twp-widget .select2-search--dropdown .select2-search__field:focus{border-color:var(--twp-accent);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.twp-widget .select2-results__options{padding:4px}
.twp-widget .select2-results__option{margin:2px 0;padding:9px 10px;border-radius:7px;font-size:14px;text-align:right}
.twp-widget .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--twp-accent);color:#fff}
.twp-widget .select2-container--default .select2-results__option[aria-selected=true]{background:#eff6ff;color:#1d4ed8}
.twp-widget .select2-results__message{color:#64748b}

@media (max-width:480px){
    .twp-widget{padding:16px;border-radius:12px}
    .twp-widget__title{font-size:17px}
}
