/* GLOBAL SETTINGS */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

/* BACKGROUND VIDEO & OVERLAY */
.video-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; object-fit: cover; }
.overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.98) 100%); z-index: -1; }

/* GLASSMORPHISM CARDS */
.glass-card { background: rgba(30, 30, 30, 0.4); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.10); transition: transform 0.3s ease; }
.glass-card:hover { transform: translateY(-3px); }

/* TAB BUTTONS */
.tab-active { background: white !important; color: black !important; border-color: white !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); }

/* FORM INPUTS */
input, select { color: white !important; font-size: 15px !important; }
input::placeholder { color: rgba(255,255,255,0.6) !important; }
option { color: black; }
input[type="date"]::-webkit-calendar-picker-indicator, input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(1); opacity: 0.6; cursor: pointer; }

/* MAP AUTOCOMPLETE DROPDOWN */
.map-dropdown { position: absolute; width: 100%; background: white; color: black; border-radius: 0.75rem; margin-top: 0.25rem; max-height: 200px; overflow-y: auto; z-index: 999; box-shadow: 0 10px 25px rgba(0,0,0,0.5); display: none; }
.map-item { padding: 10px 14px; border-bottom: 1px solid #f3f4f6; cursor: pointer; font-size: 13px; line-height: 1.2; }
.map-item:hover { background-color: #fdf2f8; color: #db2777; }
.map-item strong { display: block; font-weight: 700; margin-bottom: 2px; }
.match-highlight { color: #db2777; }

/* FAQ ACCORDION */
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; }
.faq-active .faq-answer { max-height: 250px; }
.faq-active .fa-chevron-down { transform: rotate(180deg); }

/* ANIMATIONS */
.fade-up { animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards; opacity: 0; transform: translateY(20px); }
.delay-100 { animation-delay: 0.1s; } 
.delay-200 { animation-delay: 0.2s; }
@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }