/* =========================================================
   MOTORE DI RICERCA - parti interattive
   Tendine tratte, calendario, overlay, popup passeggeri /
   veicoli / animali, modale preventivo.
   La card visibile al caricamento è in critical-base.css.
   ========================================================= */

@keyframes searchFadeIn{
    from{opacity:0}
    to{opacity:1}
}
/* Tendine (tratte e calendario) */
@keyframes searchPopIn{
    0%{opacity:0;transform:translateY(15px)}
    100%{opacity:1;transform:translateY(0)}
}
/* Popup centrati (passeggeri, veicoli, preventivo) */
@keyframes searchModalPopIn{
    0%{opacity:0;transform:translate(-50%,-45%)}
    100%{opacity:1;transform:translate(-50%,-50%)}
}

/* ---------- OVERLAY E CAMPO IN PRIMO PIANO ---------- */
.form-overlay{position:fixed;z-index:900;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5)}
.form-overlay.active{display:block;animation:searchFadeIn .3s ease forwards}

.elevated-above-overlay{position:relative !important;z-index:99999 !important}
/* "Bolla" bianca dietro al campo attivo, senza alterare il layout */
.elevated-above-overlay::before{content:"";position:absolute;z-index:-1;top:-12px;right:-12px;bottom:-12px;left:-12px;background:#fff;border-radius:10px;box-shadow:0 15px 40px rgba(0,0,0,.25)}

/* ---------- AUTOCOMPLETE TRATTE ---------- */
.autocomplete-list{position:absolute;z-index:1000;top:calc(100% + 8px);right:0;left:0;max-height:250px;overflow-y:auto;padding:10px 0;background:#fff;border:none;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.autocomplete-list.visible{display:block;animation:searchPopIn .25s cubic-bezier(.16,1,.3,1) forwards}
.autocomplete-item{padding:12px 20px;border-bottom:1px solid var(--c-bg-soft);font-size:13px;color:var(--c-text);cursor:pointer}
.autocomplete-item:hover{background-color:var(--c-primary-light);color:var(--c-primary)}

.route-row{display:flex;align-items:center;justify-content:space-between}
.route-port{display:block;font-weight:600;color:var(--c-text)}
.route-sub{font-size:11px;color:var(--c-text);opacity:.8}
.route-arrow{font-weight:bold;color:var(--c-primary)}

/* ---------- CALENDARIO ---------- */
.calendar-popup{position:absolute;z-index:1001;top:calc(100% + 8px);left:0;width:300px;padding:20px;background:#fff;border:none;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.calendar-popup.visible{display:block;animation:searchPopIn .25s cubic-bezier(.16,1,.3,1) forwards}

.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;font-weight:bold;color:var(--c-text)}
.calendar-nav-btn{background:none;border:none;font-size:18px;color:var(--c-primary);cursor:pointer}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.calendar-weekday{font-size:11px;font-weight:bold;color:var(--c-text)}
.calendar-day{padding:8px 0;border-radius:4px;font-size:12px;color:var(--c-text);cursor:pointer}
.calendar-day:hover:not(.disabled-date):not(.empty){background-color:var(--c-primary-light);color:var(--c-primary)}
.calendar-day.selected{background-color:var(--c-primary);color:#fff}
.calendar-day.disabled-date{color:var(--c-text);opacity:.3;cursor:not-allowed}

/* ---------- POPUP PASSEGGERI / VEICOLI / ANIMALI ---------- */
.passenger-dropdown{position:fixed;z-index:100000;top:50%;left:50%;width:90%;max-width:500px;height:auto;max-height:90vh;overflow-y:auto;padding:30px;background:#fff;border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.3);transform:translate(-50%,-50%)}
.passenger-dropdown.visible{display:flex;flex-direction:column;animation:searchModalPopIn .3s cubic-bezier(.16,1,.3,1) forwards}

.counter-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.counter-controls{display:flex;align-items:center;gap:10px}
.counter-btn{width:30px;height:30px;background:#fff;border:1px solid var(--c-primary);border-radius:50%;font-weight:bold;color:var(--c-primary);cursor:pointer}
.age-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:13px;color:var(--c-text)}
.age-input{width:60px;padding:5px;border:1px solid var(--c-border);border-radius:4px;text-align:center;color:var(--c-text)}
.close-dropdown-btn{width:100%;margin-top:20px;padding:12px;background:var(--c-primary);border:none;border-radius:4px;font-weight:600;color:#fff;cursor:pointer}

/* Veicoli */
.vehicles-header-inline{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.vehicle-section-title{font-size:14px;font-weight:bold;color:var(--c-text)}
.vehicle-select-as-button{padding:6px 12px;background:#fff;border:1px solid var(--c-primary);border-radius:4px;font-size:12px;font-weight:600;color:var(--c-primary);cursor:pointer}
.vehicle-select-as-button option{color:var(--c-text)}
.vehicle-item{margin-bottom:10px;padding:12px;background:var(--c-bg-soft);border-radius:6px}
.vehicle-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:bold;color:var(--c-text)}
.vehicle-icon-svg{width:18px;height:18px;fill:currentColor;vertical-align:middle}
.remove-vehicle-btn{background:none;border:none;font-weight:bold;color:#d9534f;cursor:pointer}
.vehicle-model-input{width:100%;margin-top:5px;padding:8px;border:1px solid var(--c-border);border-radius:4px;font-size:13px;color:var(--c-text)}

/* ---------- MODALE PREVENTIVO ---------- */
.quote-modal{position:fixed;z-index:100000;top:50%;left:50%;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;padding:30px;background:#fff;border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.3);transform:translate(-50%,-50%)}
.quote-modal.open{display:block;animation:searchModalPopIn .3s cubic-bezier(.16,1,.3,1) forwards}
.quote-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.quote-header h3{color:var(--c-text)}
.close-quote-btn{background:none;border:none;font-size:18px;color:var(--c-text);cursor:pointer}
