/* === Layout mappa + sidebar affiancate e sincronizzate === */
#its-map,
#city-list {
  height: 75vh;
}

#its-map-container {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  align-items: stretch;
}

#city-list {
  flex: 0 0 340px;
  overflow-y: auto;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

#its-map {
  flex: 1;
  border: 1px solid #eee;
  border-radius: 8px;
}

/* === Sidebar su dispositivi mobili === */
@media (max-width: 900px) {
  #city-list {
    width: 100%;   /* Sidebar prende tutta la larghezza */
    padding: 14px;
    font-size: 16px;
    box-sizing: border-box;
    max-width: 100%;
  }

  #its-map {
    width: 100%; /* Mappa prende il 100% della larghezza */
  }

  #its-sidebar-title {
    font-size: 1.4rem;
    margin-bottom: 8px;
  }

  .city-box h3 {
    font-size: 1.2rem;
  }

  .city-box img {
    width: 100%;
    max-height: 180px;
    object-fit: cover;
  }

  /* Aumenta la leggibilità */
  #its-sidebar-body {
    line-height: 1.5;
  }
}

/* === Stili generali per sidebar === */
.city-box {
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 10px;
  margin-bottom: 10px;
  background: #fafafa;
}

.city-box img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 8px;
  object-fit: cover;
}

.city-box h3 {
  margin: 0 0 8px;
  font-size: 18px;
}

.city-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.city-box li {
  padding: 4px 0;
  border-bottom: 1px dashed #eee;
}

.city-box li:last-child {
  border-bottom: none;
}

/* === Sidebar Responsive === */
#city-list .sidebar-item,
#city-list li {
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
  border-radius: 6px;
  padding: 6px 8px;
}

#city-list .sidebar-item:hover,
#city-list li:hover {
  background-color: #e9f4ff;
  color: #004b8d;
}

#city-list .city-box:hover {
  background-color: #fafafa;
}

/* === Messaggi errore === */
#city-list .error {
  color: #b00020;
  background: #fde7eb;
  border: 1px solid #f9c2cc;
  padding: 8px;
  border-radius: 6px;
}
#its-filter-bar {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 10px 0 12px;
}
#filter-text {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
}
.filter-checkboxes {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 13px;
  color: #333;
}
.filter-checkboxes label {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}
.filter-checkboxes input[type="checkbox"] {
  accent-color: #0073e6;
}
// ==========================
// STILI INLINE
// ==========================
const style = document.createElement("style");
style.textContent = `

/* ==========================
   RESPONSIVE MAP FIX
   ========================== */

/* MOBILE — layout in colonna */
#its-map-container {
  display: block !important;
  width: 100% !important;
}

#city-list {
  width: 100% !important;
  margin-bottom: 20px !important;
}

#its-map {
  width: 100% !important;
  min-height: 350px !important;
}

/* ==========================================================
   DESKTOP — mappa più larga + stessa altezza della sidebar
   ========================================================== */
@media (min-width: 768px) {

  #its-map-container {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    justify-content: space-between !important;
    align-items: stretch !important;  /* Mappa stessa altezza sidebar */
  }

  #city-list {
    width: 330px !important;
    flex-shrink: 0 !important;
  }

  #its-map {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 650px !important;
  }
}

/* ========================== */
/* RESTO DEGLI STILI ORIGINALI */
/* ========================== */

.no-results {
  text-align: center;
  color: #666;
  padding: 1em;
  font-style: italic;
}

/* ... (il resto dei tuoi stili) ... */

`;
document.head.appendChild(style);

}); // CHIUSURA DOMContentLoaded

