/* Custom Utilities for aesthetic */
:root {
    --bg-navy: #1C1145;
    --surface-1: rgba(255, 255, 255, 0.04);
    --surface-2: rgba(255, 255, 255, 0.07);
    --border-soft: rgba(255, 255, 255, 0.08);
    --border-strong: rgba(255, 255, 255, 0.14);
    --text-muted: rgba(255, 255, 255, 0.68);
}

body {
    background-color: var(--bg-navy);
    color: #F8F8F8;
    -webkit-font-smoothing: antialiased;
    font-weight: 500;
}

.glass {
    background: var(--surface-1);
    border: 1px solid var(--border-soft);
}

.font-display {
    font-weight: 700 !important;
}

.font-display.font-semibold {
    font-weight: 700 !important;
}

h2 {
    font-size: 2.6rem;
}

.will-change-transform {
    will-change: transform;
}

.flag-br {
    width: 28px;
    height: 20px;
    border-radius: 4px;
    background:
        linear-gradient(135deg, #f1c232 0 50%, transparent 50%) center/80% 80% no-repeat,
        radial-gradient(circle at center, #2b5797 0 35%, transparent 36%) center/80% 80% no-repeat,
        #1b7f3b;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2) inset;
}

.iti {
    width: 100%;
}

.iti__selected-flag {
    background-color: rgba(28, 17, 69, 0.6);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0 12px;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

.iti__selected-flag:hover,
.iti__selected-flag:focus {
    background-color: rgba(28, 17, 69, 0.75);
}

.iti__arrow {
    border-top-color: rgba(255, 255, 255, 0.4);
}

.iti__country-list {
    background-color: #271744;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
}

.iti__country {
    color: rgba(255, 255, 255, 0.85);
    padding: 10px 12px;
}

.iti__country:hover,
.iti__country.iti__highlight {
    background-color: rgba(255, 255, 255, 0.06);
}

.iti__divider {
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

.iti__dial-code,
.iti__country-name {
    color: rgba(255, 255, 255, 0.8);
}

.iti__search-input {
    background-color: rgba(39, 23, 68, 0.9) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px;
}

.iti__search-input::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}

.surface-card {
    background: var(--surface-1);
    border: 1px solid var(--border-soft);
    border-radius: 12px;
}

.surface-card-strong {
    background: var(--surface-2);
    border: 1px solid var(--border-strong);
    border-radius: 12px;
}

.text-muted {
    color: var(--text-muted);
}

.custom-select {
    position: relative;
}

.select-menu {
    position: absolute;
    left: 0;
    right: 0;
    margin-top: 8px;
    background: var(--bg-navy);
    border: 1px solid var(--border-soft);
    border-radius: 12px;
    z-index: 20;
    padding: 6px;
}

.select-option {
    width: 100%;
    text-align: left;
    padding: 10px 12px;
    border-radius: 8px;
    color: #F8F8F8;
    background: transparent;
}

.select-option:hover,
.select-option:focus {
    background: rgba(255, 255, 255, 0.06);
}
