:root{--primary-teal:#18baad;--primary-teal-dark:#00695c;--action-orange:#f97316;--action-orange-hover:#ea580c;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-700:#374151;--gray-900:#111827;--white:#fff;--shadow:0 0 15px 5px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--radius:5px}.search{display:flex;justify-content:left;width:100%;flex-direction: column;
  gap: 1rem;}.search-card{background:var(--white);border-radius:5px;box-shadow:var(--shadow);left:0;max-width:400px;overflow:visible;position:relative;right:0;top:0;width:100%;z-index:1}.tabs{border-bottom:1px solid var(--gray-200);border-radius:5px 5px 0 0;display:flex;overflow:hidden}.tab-btn{background:var(--white);border:none;color:var(--gray-500);flex:1;font-size:1.2rem;font-weight:900;padding:14px}.tab-btn.active{background-color:var(--primary-teal);color:var(--white)}.form-body{padding:20px;position:relative}.form-overlay{background-color:rgba(0,0,0,.25);border-radius:0 0 5px 5px;inset:0;opacity:0;position:absolute;visibility:hidden;z-index:45}.input-group{margin-bottom:16px;position:relative}.input-label{color:#18baad;display:block;font-size:1.2rem;font-weight:900;margin-bottom:6px}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#18baad;height:18px;left:12px;position:absolute;width:18px;z-index:5}.form-input{background-color:var(--white);border:1px solid var(--gray-400);border-radius:var(--radius);color:var(--gray-700);font-family:Fira Sans Extra Condensed,sans-serif;font-size:1rem;outline:0;padding:10px 12px 10px 40px;text-transform:uppercase;width:100%}.form-input:disabled{background-color:#f9fafb;opacity:.5}.details-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr 1fr;margin-bottom:16px}.detail-box,.details-grid{position:relative}.detail-input{align-items:center;background-color:var(--white);border:1px solid var(--gray-400);border-radius:var(--radius);color:var(--gray-700);display:flex;font-size:1rem;outline:0;overflow:hidden;padding:10px 8px 10px 34px;text-overflow:ellipsis;white-space:nowrap;width:100%}.autocomplete-list,.calendar-popup{background:#fff;border:1px solid var(--gray-200);border-radius:5px;box-shadow:var(--shadow-lg);opacity:0;position:absolute;transform:translateY(-10px);visibility:hidden;z-index:100}.calendar-popup{left:50%;margin-left:-160px;padding:16px;top:calc(100% + 8px);width:320px}.autocomplete-list{left:0;margin-top:4px;max-height:350px;overflow-y:auto;right:0;top:100%}.clear-btn{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;display:none;font-size:10px;height:22px;justify-content:center;position:absolute;right:12px;width:22px;z-index:6}.passenger-dropdown{background:var(--white);border-radius:0 0 5px 5px;bottom:0;display:flex;flex-direction:column;left:0;margin-top:0;opacity:0;padding:20px;position:absolute;right:0;top:0;transform:translateY(15px);visibility:hidden;z-index:60}.passenger-dropdown>div:not(.close-dropdown-btn){flex:1;overflow-y:auto;padding-right:5px}.close-dropdown-btn{flex-shrink:0}.counter-row{justify-content:space-between;margin-bottom:12px}.counter-controls,.counter-row{align-items:center;display:flex}.counter-controls{gap:10px}.counter-btn{align-items:center;background:var(--white);border:1px solid var(--gray-400);border-radius:50%;display:flex;height:30px;justify-content:center;width:30px}.ages-list{background-color:#f9fafb;border:1px solid var(--gray-200);border-radius:5px;margin-bottom:12px;padding:8px}#section-passengers,#section-pets,#section-vehicles{display:flex;flex-direction:column;height:100%}.ages-list,.vehicles-list{flex:1}.vehicle-section-title{border-top:none;color:var(--gray-700);margin-bottom:8px;margin-top:12px;padding-top:0}.vehicle-selector-container{display:flex;gap:8px;margin-bottom:12px}.vehicle-select{background:#fafafa;border:1px solid var(--gray-400);border-radius:5px;flex:1;outline:0;padding:10px}.vehicles-list{display:flex;flex-direction:column;gap:8px}.close-dropdown-btn{background-color:var(--primary-teal);border:none;border-radius:5px;color:#fff;font-size:1rem;font-weight:600;margin-top:16px;padding:12px;width:100%}.toggle-container{align-items:center;display:flex;margin-bottom:16px;position:relative;z-index:40}.toggle-switch{background-color:var(--gray-400);border-radius:20px;height:20px;margin-right:12px;padding:2px;position:relative;width:40px}.toggle-dot{background-color:#fff;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.2);height:16px;left:2px;position:absolute;top:2px;width:16px}.submit-btn{background-color:var(--action-orange);border:none;border-radius:var(--radius);color:#fff;font-size:1.4rem;font-weight:900;margin-top:8px;padding:14px;position:relative;text-transform:uppercase;width:100%;z-index:40}.hidden{display:none!important}.counter-row span:first-child,.vehicle-section-title{color:var(--gray-700);font-size:1.15rem!important;font-weight:900}.counter-controls span{font-size:1.25rem!important;font-weight:900!important}.vehicle-select{font-size:1rem;font-weight:700}@media (min-width:1024px){.search-card{max-width:400px;top:-420px}}
  .box-preventivo{
    padding: 1rem;
    text-align: center;
  }
    .box-preventivo .submit-btn{
    background-color: #0d8c82;
  }
  .submit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
  .submit-btn svg{
  height: 40px; margin-right: 10px;
}

.quote-modal {
    position: fixed;
    top: 0;
    left: -100%; /* Parte nascosto a sinistra */
    width: 100%;
    max-width: 400px;
    height: 100vh;
    background-color: #ffffff;
    z-index: 100005; /* Deve stare sopra all'overlay */
    transition: left 0.4s ease-in-out;
    box-shadow: 4px 0 15px rgba(0,0,0,0.2);
    padding: 24px;
    box-sizing: border-box;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
  }

  .quote-modal.open {
    left: 0; /* Scivola in vista */
  }

  .quote-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--gray-200, #e5e7eb);
  }

  .quote-header h3 {
    margin: 0;
    font-size: 1.25rem;
    color: #18baad;
  }

  .close-quote-btn {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #6b7280;
    padding: 0;
  }

  .quote-modal .input-group {
    margin-bottom: 16px;
  }

  .quote-modal textarea.form-input {
    resize: vertical;
    min-height: 100px;
    padding: 12px;
  }
  