/* Mappe a indice per comune: solo le parti loro. Le basi comuni sono in comune/stile-base.css. */
.slm-ind .controlli-alto { display: flex; flex-direction: column; gap: 8px; width: min(300px, calc(100% - var(--slm-lato) - 80px)); }
.slm-ind .ricerca input { width: 100%; padding: 9px 12px; font: inherit; color: var(--slm-forte); background: var(--slm-ink); border: 1px solid var(--slm-linea); border-radius: 8px !important; }
.slm-ind .ricerca input::placeholder { color: var(--slm-tenue); }
.slm-ind .ricerca ul { list-style: none; margin: 6px 0 0; padding: 0; max-height: 260px; overflow-y: auto; }
.slm-ind .ricerca li { padding: 6px 8px; border-radius: 6px; color: var(--slm-testo); cursor: pointer; }
.slm-ind .ricerca li:hover { color: var(--slm-giallo); background: rgba(255, 222, 1, 0.08); }
.slm-ind .ricerca li[aria-selected="true"] { background: rgba(255, 222, 1, 0.14); outline: 2px solid var(--slm-giallo); outline-offset: -2px; }
.slm-ind .scelta-vista label { display: block; margin-bottom: 4px; font-size: 0.78rem; color: var(--slm-tenue); }
.slm-ind .scelta-vista select { width: 100%; padding: 8px 10px; font: inherit; font-weight: 600; color: var(--slm-forte); background: var(--slm-ink); border: 1px solid var(--slm-linea); border-radius: 8px; }

.slm-ind .legenda .verso { margin: 6px 0 0; color: var(--slm-tenue); }

.slm-ind #slm-classifica { margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--slm-ink3); }
.slm-ind .fasce { display: flex; gap: 6px; margin: 8px 0 6px; }
.slm-ind .fasce button { flex: 1; padding: 6px 4px; font-size: 0.8rem; font-weight: 600; color: var(--slm-testo); border: 1px solid var(--slm-ink3); border-radius: 8px; cursor: pointer; }
.slm-ind .fasce button:hover { color: var(--slm-giallo); background-color: rgba(255, 222, 1, 0.08); }
.slm-ind .fasce button[aria-pressed="true"] { color: var(--slm-ink); background-color: var(--slm-giallo); border-color: var(--slm-giallo); }
.slm-ind .classifica { margin: 0; padding-left: 1.4em; }
.slm-ind .classifica button { display: flex; justify-content: space-between; gap: 8px; width: 100%; padding: 6px 0; text-align: left; color: var(--slm-testo); border-bottom: 1px solid var(--slm-ink3); cursor: pointer; }
.slm-ind .classifica button:hover { color: var(--slm-giallo); }
.slm-ind .classifica strong { color: var(--slm-forte); font-variant-numeric: tabular-nums; }
.slm-ind .classifica .vuota { list-style: none; margin-left: -1.4em; color: var(--slm-tenue); font-size: 0.9rem; }

.slm-ind .pesi { display: grid; gap: 12px; margin: 12px 0; }
.slm-ind .peso { display: grid; grid-template-columns: 1fr auto; gap: 0 8px; align-items: center; }
.slm-ind .peso label { grid-column: 1 / -1; font-size: 0.9rem; font-weight: 600; color: var(--slm-forte); }
.slm-ind .peso input[type="range"] { width: 100%; accent-color: var(--slm-giallo); }
.slm-ind .peso output { min-width: 64px; font-size: 0.85rem; text-align: right; color: var(--slm-tenue); }
.slm-ind .avviso { min-height: 1.5em; margin: 0; color: #FF8A65; font-weight: 600; font-size: 0.9rem; }
.slm-ind .ripristina { padding: 8px 12px; color: var(--slm-forte); border: 1px solid var(--slm-linea); border-radius: 8px; cursor: pointer; }
.slm-ind .ripristina:hover { color: var(--slm-giallo); border-color: var(--slm-giallo); }

.slm-ind .scheda .etichetta { margin: 0; color: var(--slm-ocra); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.slm-ind .scheda .indice { margin: 8px 0 0; }
.slm-ind .scheda .indice strong { font: 700 2.2rem/1 var(--slm-titoli); color: var(--slm-giallo); }
.slm-ind .scheda .indice .su { color: var(--slm-tenue); }
.slm-ind .scheda .posizione { margin: 4px 0 10px; font-weight: 600; color: var(--slm-forte); }
.slm-ind .criteri { list-style: none; margin: 10px 0; padding: 0; }
.slm-ind .criteri li { margin: 0 0 12px; }
.slm-ind .criteri li p { margin: 3px 0 0; color: var(--slm-tenue); font-size: 0.82rem; }
.slm-ind .riga-criterio { display: flex; justify-content: space-between; gap: 8px; font-size: 0.9rem; font-weight: 600; color: var(--slm-forte); }
.slm-ind .barra { height: 8px; border-radius: 4px; background: var(--slm-ink3); overflow: hidden; }
.slm-ind .barra span { display: block; height: 100%; background: linear-gradient(90deg, #21918C, #5EC962, var(--slm-giallo)); transform-origin: left; }
.slm-ind .criteri .manca .riga-criterio, .slm-ind .criteri .escluso .riga-criterio { color: var(--slm-tenue); }
.slm-ind .criteri .escluso .barra span { background: var(--slm-linea); }

.slm-ind .tabella { overflow-x: auto; }
.slm-ind .testo table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.slm-ind .testo th, .slm-ind .testo td { padding: 8px; border-bottom: 1px solid var(--slm-ink3); text-align: left; vertical-align: top; color: var(--slm-testo); background: transparent; }
.slm-ind .testo thead th { color: var(--slm-forte); border-bottom: 2px solid var(--slm-giallo); }
.slm-ind .correlate { padding-left: 1.2em; }
.slm-ind .slm-ritorno { margin-top: 2rem; padding-top: 1.1rem; border-top: 1px solid var(--slm-ink3); font-size: 0.95rem; }

/* Le barre dei criteri crescono all'apertura della scheda (non a ogni peso spostato) */
@media (prefers-reduced-motion: no-preference) {
  .slm-ind .scheda.slm-apre .barra span { animation: slm-cresce 0.5s ease-out backwards; }
}
@keyframes slm-cresce { from { transform: scaleX(0); } }

/* Il bottone "Pesi" sulla mappa serve solo sui telefoni: sui computer i pesi stanno nel pannello accanto */
.slm-ind .chiudi-pesi { display: none; }
@media (min-width: 761px) {
  .slm-ind #slm-apri-pesi { display: none; }
}
@media (max-width: 760px) {
  .slm-ind .controlli-alto { width: auto; }
  .slm-ind .scelta-vista label { display: none; }
  /* Pesi come foglio dal basso: si spostano guardando la mappa che si ricolora, sopra i bottoni flottanti del sito */
  .slm-ind #slm-pesi.slm-foglio { position: fixed; inset: auto 0 0 0; z-index: 100000; max-height: 56vh; margin: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 16px calc(14px + env(safe-area-inset-bottom, 0px)); background: var(--slm-ink2); border-radius: 16px 16px 0 0; box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.5); }
  .slm-ind #slm-pesi.slm-foglio h2 { margin-right: 52px; }
  .slm-ind #slm-pesi.slm-foglio .nota-piccola { display: none; }
  .slm-ind #slm-pesi.slm-foglio .pesi { gap: 2px; margin: 6px 0; }
  .slm-ind #slm-pesi.slm-foglio .chiudi-pesi { display: grid; place-items: center; position: absolute; top: 8px; right: 10px; width: 44px; height: 44px; font-size: 1.4rem; line-height: 1; color: var(--slm-forte); background-color: var(--slm-ink3); border-radius: 50%; cursor: pointer; }
  /* A schermo intero i pannelli lasciano il posto alla mappa; i pesi si aprono con il bottone */
  .slm-ind .app.slm-intero #slm-classifica, .slm-ind .app:fullscreen #slm-classifica,
  .slm-ind .app.slm-intero #slm-pesi:not(.slm-foglio), .slm-ind .app:fullscreen #slm-pesi:not(.slm-foglio) { display: none; }
}
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  .slm-ind #slm-pesi.slm-foglio { animation: slm-sale-basso 0.22s ease-out backwards; }
}
.slm-ind .testo h3 { margin: 20px 0 6px; font-size: 1.08rem; line-height: 1.35; color: var(--slm-forte); }
.slm-ind .slm-articolo { margin: 0 0 10px; }
