/* Custom Utilities */
body {
    background-color: #0f0f11;
    color: #f4f4f5;
}

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #0f0f11;
}

::-webkit-scrollbar-thumb {
    background: #27272a;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #e11d48;
}

/* Reveal Animation Classes */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.glass-nav {
    background: rgba(15, 15, 17, 0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Form Select Customization */
select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
}

/* =============================================
   intl-tel-input Dark Theme Customization
   ============================================= */

/* Container full width */
.iti {
    width: 100%;
}

/* Selected flag button styling */
.iti__selected-flag {
    background-color: #18181b !important;
    border-right: 1px solid #27272a;
    padding: 0 12px;
}

.iti__selected-flag:hover,
.iti__selected-flag:focus {
    background-color: #27272a !important;
}

/* Dial code text */
.iti__selected-dial-code {
    color: #9ca3af;
    font-size: 0.875rem;
}

/* Arrow */
.iti__arrow {
    border-top-color: #9ca3af;
}

.iti__arrow--up {
    border-bottom-color: #9ca3af;
}

/* Country dropdown */
.iti__country-list {
    background-color: #18181b;
    border: 1px solid #27272a;
    border-radius: 0.5rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
    max-height: 250px;
}

/* Country list items */
.iti__country {
    padding: 10px 12px;
    color: #f4f4f5;
    transition: background-color 0.15s ease;
}

.iti__country:hover,
.iti__country.iti__highlight {
    background-color: #27272a;
}

/* Country name and dial code */
.iti__country-name {
    color: #f4f4f5;
}

.iti__dial-code {
    color: #e11d48;
}

/* Preferred countries divider */
.iti__divider {
    border-bottom-color: #27272a;
    margin: 4px 0;
}

/* Search input in dropdown */
.iti__search-input {
    background-color: #0f0f11;
    border: 1px solid #27272a;
    color: #f4f4f5;
    padding: 8px 12px;
    border-radius: 0.375rem;
    margin: 8px;
    width: calc(100% - 16px);
}

.iti__search-input:focus {
    outline: none;
    border-color: #e11d48;
}

.iti__search-input::placeholder {
    color: #6b7280;
}

/* Flag container proper spacing */
.iti--separate-dial-code .iti__selected-flag {
    background-color: #18181b;
}