/* Style the Google Places Autocomplete dropdown */
.pac-container {
    background-color: white;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    margin-top: 1px;
    z-index: 1000;
}

.pac-item {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
}

.pac-item:hover {
    background-color: #f9fafb;
}

.pac-item:last-child {
    border-bottom: none;
}

.pac-item-selected {
    background-color: #f3f4f6 !important;
}

.pac-item-query {
    color: #111827;
    font-weight: 600;
}

.pac-matched {
    font-weight: 700;
    color: #8F7155;
}

.pac-item .pac-icon {
    margin-right: 0.5rem;
    background-size: contain;
    width: 16px;
    height: 16px;
    background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%236B7280"%3E%3Cpath d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/%3E%3C/svg%3E') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Override Google's default icon styles */
.pac-icon-marker {
    background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%236B7280"%3E%3Cpath d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/%3E%3C/svg%3E') !important;
    background-size: 16px 16px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Remove the "Powered by Google" logo */
.pac-logo:after {
    display: none !important;
}

.pac-container:after {
    display: none !important;
}

.hdpi.pac-logo {
    display: none !important;
}

.pac-item .pac-item-query .pac-matched {
    color: #8F7155;
}

/* Comprehensive Safari select fix */
select {
    /* Remove all default styling */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    
    /* Add custom styling */
    background-color: white !important;
    background-image: url("data:image/svg+xml,%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 8 4 4 4-4'/%3e%3c/svg%3e") !important;
    background-position: right 0.5rem center !important;
    background-repeat: no-repeat !important;
    background-size: 1.5em 1.5em !important;
    
    /* Ensure consistent sizing and spacing */
    width: 100% !important;
    padding: 0.75rem 2.5rem 0.75rem 1rem !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.5rem !important;
    
    /* Typography */
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    color: #374151 !important;
    
    /* Remove any inherited focus styles that might cause issues */
    outline: none !important;
    box-shadow: none !important;
}

/* Remove focus state completely */
select:focus {
    border-color: #d1d5db !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Safari-specific media query */
@media not all and (min-resolution:.001dpcm) {
    @supports (-webkit-appearance:none) {
        select {
            -webkit-appearance: none !important;
            background-image: url("data:image/svg+xml,%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 8 4 4 4-4'/%3e%3c/svg%3e") !important;
        }
    }
}

/* Remove focus borders from input and textarea only */
input:focus,
textarea:focus,
button:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: #d1d5db !important;
}

/* Only show red border for errors/required validation */
input.border-red-500,
select.border-red-500,
textarea.border-red-500 {
    border-color: #ef4444 !important;
}

.step-content { display: none; }
.step-content.active { display: block; }
.progress-bar { transition: width 0.3s ease; }
.form-field { transition: all 0.3s ease; }
.error-message { display: none; color: #ef4444; font-size: 0.875rem; margin-top: 0.25rem; }
.success-message { display: none; color: #10b981; font-size: 0.875rem; margin-top: 0.25rem; }
.social-media-icons { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }

/* Custom Select2 Styling */
.select2-container--default .select2-selection--multiple {
    border: 1px solid #d1d5db !important;
    border-radius: 0.5rem !important;
    padding: 8px !important;
    min-height: 3rem !important;
    background-color: white !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #997A5D !important;
    border: none !important;
    color: white !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
    margin: 2px !important;
    display: inline-block !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: white !important;
    font-size: 14px !important;
    font-weight: normal !important;
    margin-left: 4px !important;
    margin-right: 0 !important;
    padding: 0 !important;
    display: inline !important;
    position: static !important;
    float: none !important;
    cursor: pointer !important;
    border-right: 0px !important;
}

.select2-container .select2-search--inline .select2-search__field{
    vertical-align: baseline !important
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #f87171 !important;
    background: none !important;
    transform: none !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove::before {
    content: none !important;
}

/* Reset any conflicting styles */
.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
    padding-right: 0 !important;
}

/* Hide the main clear button */
.select2-selection__clear {
    display: none !important;
}

.select2-dropdown {
    border: 1px solid #d1d5db !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -2px rgb(0 0 0 / 0.05) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #997A5D !important;
}

.select2-container--default .select2-search--inline .select2-search__field::placeholder {
    color: black;
}

.select2-container {
    width: 100% !important;
}

.select2-search__field{
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    padding-left: 4px !important ;
}

/* Remove focus borders from Select2 dropdown */
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #d1d5db !important;
    box-shadow: none !important;
}

/* Red border for Select2 when validation error occurs */
.select2-container--default .select2-selection--multiple.border-red-500 {
    border-color: #ef4444 !important;
}

/* Apply red border to Select2 container when parent has error class */
.form-field.has-error .select2-container--default .select2-selection--multiple {
    border-color: #ef4444 !important;
}

input[type="checkbox"] {
    accent-color: #9A7B5E;
    width: 15px;
    }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: white !important;
}
        .mapboxgl-ctrl-geocoder {
            width: 100% !important;
            max-width: none !important;
            border: 1px solid #d1d5db !important;
            border-radius: 0.5rem !important;
            box-shadow: none !important;
        }
        .mapboxgl-ctrl-geocoder--input {
            height: 48px !important;
            padding-left: 40px !important;
            padding-right: 40px !important;
            font-size: 0.875rem !important;
        }
        .mapboxgl-ctrl-geocoder--icon {
            top: 50% !important;
            transform: translateY(-50%) !important;
        }
        .mapboxgl-ctrl-geocoder--button{
            margin-top: 12px !important;
            }
            .mapboxgl-ctrl-geocoder--powered-by{
            display: none !important;
            }