:root {
    --trust-dark: #1d4400;       /* Deep Green */
    --trust-green: #80E142;      /* Bright Lime */
    --trust-accent: #ffc107;     /* Gold */
    --trust-light: #f8f9fa;
    --font-primary: 'Inter', sans-serif;
}

/* Custom Number Input (Remove spinners) */
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

/* Hover Lift Effect */
.hover-lift { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.hover-lift:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }

/* Bank Select Box */
#bankSelectBox:hover { border-color: #1d4400 !important; background-color: #f8fff8 !important; }
.hover-lift { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.hover-lift:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.08) !important; }
.backdrop-blur { backdrop-filter: blur(10px); }
/* Airline Filter Row */
.airline-filter-item {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    padding: 5px;
    border-radius: 6px;
    transition: background 0.2s;
}
.airline-filter-item:hover {
    background: #f8f9fa;
}
.airline-logo-sm {
    width: 20px;
    height: 20px;
    object-fit: contain;
    margin-right: 10px;
}
.filter-label {
    font-size: 0.9rem;
    flex-grow: 1;
    cursor: pointer;
}
/* Loader Overlay */
#fullScreenLoader {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(29, 68, 0, 0.95);
    z-index: 9999;
    display: none;
    justify-content: center; align-items: center;
    backdrop-filter: blur(5px);
}
.plane-animation { animation: fly 2s infinite ease-in-out; }
@keyframes fly { 0% { transform: translateY(0); } 50% { transform: translateY(-20px); } 100% { transform: translateY(0); } }

/* Detailed Flight Card */
.flight-card-detail {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    margin-bottom: 20px;
    transition: transform 0.2s;
    border-left: 5px solid transparent;
}
.flight-card-detail:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    border-left: 5px solid var(--trust-green);
}
.airline-logo { width: 40px; height: 40px; object-fit: contain; }
.time-big { font-size: 1.4rem; font-weight: 800; color: var(--trust-dark); }
.route-line {
    height: 2px; background: #ddd; position: relative; width: 80%; margin: 0 auto;
}
.route-dot {
    width: 10px; height: 10px; background: var(--trust-green);
    border-radius: 50%; position: absolute; top: -4px;
}
.dot-start { left: 0; }
.dot-end { right: 0; }
body { font-family: var(--font-primary); background-color: #e9ecef; }

/* --- 1. Header & Branding --- */
.bg-trust-dark { background-color: var(--trust-dark); color: white; }
.text-trust-dark { color: var(--trust-dark); }
.bg-trust-green { background-color: var(--trust-green); color: var(--trust-dark); }
.btn-trust {
    background-color: var(--trust-green);
    color: white;
    font-weight: 700;
    border-radius: 50px;
    transition: all 0.3s ease;
    border: none;
}
.btn-trust:hover {
    background-color: var(--trust-dark);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(29, 68, 0, 0.3);
}

/* --- 2. Floating Search Box --- */
.search-container {
    background: white;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    padding: 30px;
    margin-top: -80px; /* Overlap Hero */
    position: relative;
    z-index: 10;
}

/* --- 3. Sliding Radio Button (Trip Type) --- */
.trip-toggle-group {
    display: flex;
    position: relative;
    background-color: #95E368;
    border-radius: 30px;
    padding: 4px;
    width: fit-content;
    margin: 0 auto 20px auto;
}
.trip-radio { display: none; }
.trip-label {
    padding: 8px 24px;
    cursor: pointer;
    z-index: 2;
    font-weight: 600;
    color: var(--trust-dark);
    transition: color 0.3s;
}
.trip-slider {
    position: absolute;
    top: 4px;
    left: 4px;
    height: calc(100% - 8px);
    width: 50%;
    background-color: var(--trust-dark);
    border-radius: 25px;
    transition: transform 0.3s ease-in-out;
    z-index: 1;
}
/* Logic to move slider based on checked sibling */
#oneWay:checked ~ .trip-slider { transform: translateX(100%); }
#roundTrip:checked ~ .trip-label[for="roundTrip"], 
#oneWay:checked ~ .trip-label[for="oneWay"] { color: white; }

/* --- 4. Inputs & Autocomplete --- */
.form-control-custom {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px;
    font-weight: 500;
}
.form-control-custom:focus {
    border-color: var(--trust-dark);
    box-shadow: 0 0 0 3px rgba(29, 68, 0, 0.1);
}
.airport-results {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: white;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
    max-height: 250px;
    overflow-y: auto;
    z-index: 1000;
    display: none;
}
.airport-item {
    padding: 10px 15px;
    cursor: pointer;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
}
.airport-item:hover { background-color: #f0f7ea; }
.iata-badge {
    background: #eaf6fd;
    color: #0056b3;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: bold;
}

/* --- 5. Flight Cards --- */
.flight-card {
    border-radius: 12px;
    border: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    transition: transform 0.2s;
    opacity: 0;
    animation: fadeInUp 0.5s forwards;
    cursor: pointer;
}
.flight-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.1); }
@keyframes fadeInUp { to { opacity: 1; } }

/* --- 6. Modal --- */
.modal-trust .modal-content { border-radius: 16px; border: none; }
.modal-header { background-color: var(--trust-dark); color: white; border-radius: 16px 16px 0 0; }
.layover-line { border-left: 2px dashed #dc3545; margin-left: 9px; padding-left: 15px; }

/* --- 7. Floating Call Button --- */
.btn-float {
    position: fixed; bottom: 20px; right: 20px;
    background: var(--trust-dark); color: white;
    padding: 15px 25px; border-radius: 50px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    z-index: 99; animation: pulse 2s infinite;
}
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(29, 68, 0, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(29, 68, 0, 0); } 100% { box-shadow: 0 0 0 0 rgba(29, 68, 0, 0); } }