/* Opera Duomo Suite — lista di opere e foto ([opere], [fotografico]).
   HTML: lista.mustache, components/lista-filtro.mustache, components/lista-voce.mustache
   Stesso aspetto delle vecchie liste del tema (opere-arte/lista, fototeca/lista + comune/archivio-lista).

   Indice:  1. struttura  2. riquadri e campi  3. filtri laterali  4. barra sopra i risultati
            5. vista a griglia  6. vista a tabella  7. schermi piccoli */

.od-lista {
  --od-oro: var(--ast-global-color-0, #dca54a);
  --od-bordo: rgba(112, 66, 20, .15);
  --od-bordo-forte: rgba(112, 66, 20, .3);
  --od-testo: #3a2a14;
  --od-campo: #fffdf6;
  display: flex;
  align-items: stretch;
  width: 100%;
  background: var(--ast-global-color-4, #FAF5E5);
  font-family: inherit;
}
.e-con:has(.od-lista) { padding: 0 !important; }   /* il contenitore Elementor non aggiunge margini */


/* ---------- 1. struttura: filtri a sinistra (larghezza fissa, restano a vista scorrendo), risultati a destra ---------- */

.od-lista__filtri {
  flex: 0 0 clamp(340px, 30%, 460px);   /* come le vecchie liste (30%), ma mai troppo stretta o larga */
  width: clamp(340px, 30%, 460px);
  align-self: flex-start;
  position: sticky; top: 0;
  max-height: 100vh;
  overflow-y: auto;
  padding: 4px 20px 24px;
  box-sizing: border-box;
  background: rgba(112, 66, 20, .04);
  border-right: 1px solid rgba(112, 66, 20, .12);
  scrollbar-width: thin;
}
.od-lista__risultati { flex: 1 1 0%; min-width: 0; }
/* nascondi/mostra (assets/js: filtriVisibili()): la colonna si restringe e i risultati si allargano.
   overflow: clip taglia il pannello senza impedirgli di restare fermo scorrendo (overflow: hidden lo impedirebbe) */
.od-lista__filtri { transition: flex-basis .3s ease, width .3s ease, padding .3s ease, opacity .25s ease; }
@media (min-width: 1025px) { .od-lista__filtri { overflow-x: clip; } }
/* le schede fuori dallo schermo non si ricalcolano durante l'animazione (altezza fissa 300 px) */
.od-voce { content-visibility: auto; contain-intrinsic-size: auto 300px; }

/* computer: pulsante "Nascondi filtri" → la colonna sparisce e i risultati prendono tutto lo spazio */
@media (min-width: 1025px) {
  .od-lista.is-chiusa .od-lista__filtri {
    flex-basis: 0; width: 0; padding-left: 0; padding-right: 0;
    border-right: 0; opacity: 0; visibility: hidden; overflow: hidden;
  }
  .od-lista.is-chiusa .od-voci[data-vista="griglia"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* testata del pannello e velo scuro: solo su tablet e telefono (sezione 7) */
.od-lista__cassetto-testa, .od-lista__velo { display: none; }


/* ---------- 2. riquadri bianchi, campi di testo, pulsanti ---------- */

.od-box {
  margin-top: 20px;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--od-bordo);
  border-radius: 10px;
}
.od-lista .od-box__titolo {
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--od-bordo);
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
}

.od-lista .od-campo {
  display: block;
  width: 100%;
  min-height: 40px;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid var(--od-bordo-forte);
  border-radius: 8px;
  background: var(--od-campo);
}
.od-lista .od-campo:focus { outline: none; border-color: var(--od-oro); box-shadow: 0 0 0 3px rgba(220, 165, 74, .25); }

/* ricerca libera: campo + lente */
.od-cerca { display: flex; align-items: center; gap: 8px; margin: 0; }
.od-cerca .od-campo { flex: 1; }
.od-lista .od-cerca__vai {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 42px; min-height: 40px; padding: 10px; border: 0; border-radius: 999px;
  background: var(--od-oro); cursor: pointer;
}
.od-cerca__vai::before {
  content: ""; width: 17px; height: 17px; background: #fff;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><circle cx='10' cy='10' r='7'/><path d='M21 21l-6-6'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><circle cx='10' cy='10' r='7'/><path d='M21 21l-6-6'/></svg>") center / contain no-repeat;
}
.od-cerca__avviso {
  margin-top: 8px; padding: 8px 12px;
  border-left: 4px solid var(--od-oro); border-radius: 4px;
  background: #fdfaf1; color: #555; font-size: 14px;
}

/* termini di ricerca scelti (etichette sotto la ricerca) */
.od-scelti { margin-top: 10px; }
.od-scelti__titolo { margin-bottom: 10px; font-size: 16px; font-weight: 700; }
.od-scelti__elenco { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.od-scelto {
  padding: 3px 12px; border-radius: 999px;
  background: var(--od-oro); color: var(--od-testo); font-size: 13px; cursor: pointer;
}

/* pulsanti: oro con il testo bianco, tutti uguali (il tema li faceva a volte neri, a volte bianchi) */
.od-lista .od-azzera,
.od-lista .od-bottone--pieno,
.od-lista .od-filtro__applica {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 38px; padding: 0 18px; border: 0; border-radius: 999px;   /* a pillola, come i comandi sopra i risultati */
  background: var(--od-oro); color: #fff;
  font-family: inherit; font-size: 14px; font-weight: 700; letter-spacing: .02em; line-height: 1.2;
  cursor: pointer; transition: background .2s ease;
}
.od-lista .od-azzera:hover, .od-lista .od-azzera:focus-visible,
.od-lista .od-bottone--pieno:hover, .od-lista .od-bottone--pieno:focus-visible,
.od-lista .od-filtro__applica:hover, .od-lista .od-filtro__applica:focus-visible { background: #c48f36; color: #fff; }
.od-lista .od-azzera { margin-top: 10px; }
.od-lista .od-bottone--pieno { width: 100%; margin-top: 10px; }
.od-lista .od-filtro__applica { width: auto; margin-top: 8px; }
.od-lista .od-bottone--annulla,
.od-lista .od-bottone--annulla:hover {
  width: 100%; min-height: 38px; margin-top: 8px; padding: 0 18px; border: 0; border-radius: 999px;
  background: #fff; color: var(--od-testo); box-shadow: inset 0 0 0 1px var(--od-oro);
  font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
}
.od-avanzata__modulo .od-campo { margin-top: 5px; }

/* titolo del riquadro con il pulsante "Aiuto" accanto */
.od-box__testa {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--od-bordo);
}
.od-lista .od-box__testa .od-box__titolo { margin: 0; padding: 0; border: 0; }
.od-lista .od-aiuto,
.od-lista .od-aiuto:hover {
  flex: none; display: inline-flex; align-items: center; gap: 2px;
  padding: 3px 10px 3px 8px; border: 1px solid var(--od-bordo-forte); border-radius: 999px;
  background: #fff; color: #7a6445;
  font-family: inherit; font-size: 12px; font-weight: 700; line-height: 1.4; cursor: pointer;
}
.od-lista .od-aiuto:hover { border-color: var(--od-oro); color: var(--od-testo); }

/* sezioni che si aprono e chiudono (Ricerca avanzata, Collocazione, Autori…) */
.od-tendina { margin-top: 20px; }
.od-lista .od-tendina__testa,
.od-lista .od-tendina__testa:hover,
.od-lista .od-tendina__testa:focus {
  display: flex; justify-content: space-between; align-items: center;
  width: 100%; padding: 12px 0; margin: 0;
  border: 0; border-bottom: 1px solid var(--od-bordo); border-radius: 0;
  background: none; box-shadow: none; color: inherit;
  font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.7; text-align: left; cursor: pointer;
}
.od-freccia { width: 14px; height: 14px; flex: none; color: #7a6445; transition: transform .2s ease; }
.od-tendina__testa[aria-expanded="true"] .od-freccia { transform: rotate(180deg); }


/* ---------- 3. filtri laterali: elenco con caselle e conteggi ---------- */

.od-totale { font-size: 18px; font-weight: 600; }
.od-totale__testo { font-size: 16px; }

.od-lista .od-filtro__valori {
  max-height: 30vh; overflow-y: auto;
  margin: 0; padding: 6px 0; list-style: none;
}
.od-filtro__valore label {
  display: flex; align-items: center; gap: 8px;
  margin: 0; padding: 5px 8px; border-radius: 6px;
  color: inherit; font-size: 14px; font-weight: 400; line-height: 1.35; cursor: pointer;
}
.od-filtro__valore label:hover { background: rgba(220, 165, 74, .12); }
.od-filtro__valore label:has(input:checked) { background: rgba(220, 165, 74, .25); }
.od-filtro__valore label:has(input:disabled) { opacity: .45; cursor: default; }
.od-filtro__valore input { flex: none; width: 16px; height: 16px; margin: 0; accent-color: var(--od-oro); }
.od-filtro__nome { flex: 1; }
.od-filtro__n {
  flex: none; padding: 0 8px; border-radius: 999px;
  background: rgba(112, 66, 20, .08); color: #7a6445; font-size: 12px;
}


/* ---------- 4. barra sopra i risultati: termine cercato, ordinamento, griglia/elenco ---------- */

.od-testa {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(112, 66, 20, .12);
}
.od-testa__sinistra { display: flex; align-items: center; gap: 12px; min-width: 0; }
.od-testa__cerca { font-size: 15px; font-weight: 600; color: var(--od-testo); }
.od-testa__cerca em { font-style: normal; color: #a8741f; }
.od-testa__comandi { display: flex; align-items: center; gap: 12px; }

/* "Ordina per" + menu: un'unica pillola */
.od-ordina-box {
  display: inline-flex; align-items: center; gap: 6px; margin: 0;
  padding: 0 4px 0 8px; height: 38px;
  border: 1px solid var(--od-bordo-forte); border-radius: 999px; background: #fff;
  color: #7a6445; font-size: 13px; font-weight: 600; cursor: pointer;
}
.od-ordina-box[hidden] { display: none; }
.od-lista .od-ordina {
  height: 36px; margin: 0; padding: 0 28px 0 4px;
  border: 0; border-radius: 999px; background: transparent no-repeat right 8px center / 12px
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a6445' stroke-width='2.5' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");
  -webkit-appearance: none; appearance: none;
  color: var(--od-testo); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
}
.od-lista .od-ordina:focus { outline: none; }
.od-ordina-box:focus-within { border-color: var(--od-oro); box-shadow: 0 0 0 3px rgba(220, 165, 74, .25); }

/* Griglia | Elenco: interruttore a due posizioni */
.od-viste {
  display: inline-flex; padding: 3px; gap: 2px;
  border: 1px solid var(--od-bordo-forte); border-radius: 999px; background: #fff;
}
.od-lista .od-vista,
.od-lista .od-vista:hover,
.od-lista .od-vista:focus {
  display: inline-flex; align-items: center; gap: 6px;
  height: 30px; margin: 0; padding: 0 14px;
  border: 0; border-radius: 999px; background: transparent; box-shadow: none;
  color: #7a6445; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.od-lista .od-vista:hover { color: var(--od-testo); background: rgba(220, 165, 74, .12); }
.od-lista .od-vista.is-attiva { background: var(--od-oro); color: #fff; }

/* pulsante "Nascondi/Mostra filtri" (su tablet e telefono "Filtri"): pillola come "Ordina" e "Griglia | Elenco" */
.od-lista .od-filtri-apri,
.od-lista .od-filtri-apri:hover,
.od-lista .od-filtri-apri:focus {
  display: inline-flex; flex: none; align-items: center; gap: 8px; height: 38px; margin: 0; padding: 0 16px;
  border: 1px solid var(--od-bordo-forte); border-radius: 999px; background: #fff; box-shadow: none;
  color: #7a6445; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
  transition: border-color .2s ease, color .2s ease;
}
.od-lista .od-filtri-apri:hover { border-color: var(--od-oro); color: var(--od-testo); }


/* ---------- 5. vista a griglia: schede con immagine e titolo ---------- */

.od-voci {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 15px;
  padding: 20px;
  word-break: break-word;
}
@media (min-width: 1500px) { .od-voci { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.od-voci__intestazione { display: none; }
.od-voci__vuoto { grid-column: 1 / -1; }
.od-voce--oltre, .od-voce.is-filtrata { display: none !important; }   /* nascoste: non ancora caricate o escluse dai filtri */

.od-voce {
  position: relative;
  display: flex; flex-direction: column;
  height: 300px; padding-bottom: 10px;
  overflow: hidden;
  background: #fff; border: 1px solid var(--od-bordo); border-radius: 10px;
  color: inherit; text-align: center; text-decoration: none;
}
.od-voce:hover, .od-voce:focus { color: inherit; }
.od-voce__img { flex: 1; min-height: 0; overflow: hidden; border-radius: 8px 8px 0 0; }
.od-voce__img img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  transition: transform .4s ease;
}
.od-voce__titolo {
  margin-top: 8px; padding: 5px 10px 0;
  border-top: 1px solid #ccc;
  font-size: 13px; font-style: italic; font-weight: 600; line-height: 1.3;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;   /* una riga sola: il titolo intero è nel riquadro al passaggio */
}
.od-voce__cella { display: none; }

/* riquadro "vetro smerigliato" che compare passando sopra la scheda */
.od-voce__info {
  position: absolute; inset: 0; z-index: 2;
  display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px;
  padding: 20px; border-radius: 8px;
  background: rgba(40, 30, 20, .35);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
          backdrop-filter: blur(10px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, .35);
  color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, .6); font-weight: 600;
  opacity: 0; pointer-events: none; transition: opacity .3s ease;
}
.od-voce__riga { line-height: 1.3; }
.od-voce__etichetta {
  display: block; font-size: 11px; font-weight: 400;
  text-transform: uppercase; letter-spacing: .05em; opacity: .85;
}
.od-voce:hover .od-voce__info { opacity: 1; }
.od-voce:hover .od-voce__img img { transform: scale(1.05); }


/* ---------- 6. vista a tabella: una riga per voce ---------- */

.od-lista--opere { --od-colonne: 118px minmax(0, 1.4fr) repeat(4, minmax(0, 1fr)); }
.od-lista--foto  { --od-colonne: 118px minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); }

.od-voci[data-vista="tabella"] { display: flex; flex-direction: column; gap: 8px; }
.od-voci[data-vista="tabella"] .od-voci__intestazione,
.od-voci[data-vista="tabella"] .od-voce {
  display: grid; grid-template-columns: var(--od-colonne); align-items: center;
}
.od-voci[data-vista="tabella"] .od-voci__intestazione .od-col {
  display: flex; align-items: center; gap: 4px;
  padding: 4px 14px; background: none; border: 0; cursor: pointer; text-align: left;
  color: #7a6445; font: inherit; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em;
  white-space: nowrap; overflow: hidden;   /* l'intestazione non va a capo a metà parola */
}
.od-voci[data-vista="tabella"] .od-col:hover { color: var(--od-testo); }
.od-col__freccia::after { content: "↕"; opacity: .35; }
.od-col[aria-sort="ascending"] .od-col__freccia::after  { content: "↑"; opacity: 1; }
.od-col[aria-sort="descending"] .od-col__freccia::after { content: "↓"; opacity: 1; }
.od-ordina[hidden] { display: none; }
.od-voci[data-vista="tabella"] .od-voce {
  height: auto; padding: 0;
  color: var(--od-testo); font-size: 14px; line-height: 1.4; text-align: left;
}
.od-voci[data-vista="tabella"] .od-voce:hover { background: #f3e3bf; border-color: var(--od-oro); }
.od-voci[data-vista="tabella"] .od-voce__img { padding: 10px 14px; border-radius: 0; }
.od-voci[data-vista="tabella"] .od-voce__img img { width: 90px; height: 90px; margin: 0 auto; border-radius: 6px; }
.od-voci[data-vista="tabella"] .od-voce:hover .od-voce__img img { transform: none; }
.od-voci[data-vista="tabella"] .od-voce__titolo,
.od-voci[data-vista="tabella"] .od-voce__info { display: none; }
.od-voci[data-vista="tabella"] .od-voce__cella { display: block; padding: 10px 14px; }
.od-voci[data-vista="tabella"] .od-voce__soggetto { font-style: italic; font-weight: 600; }


/* ---------- 7. tablet e telefono: i filtri diventano un pannello che entra da sinistra ---------- */

@media (max-width: 1024px) {
  .od-lista__filtri {
    position: fixed; top: 0; bottom: 0; left: 0; z-index: 100000;
    width: min(360px, 88vw); max-height: none;
    padding: 0 16px 24px;
    background: var(--ast-global-color-4, #FAF5E5);
    box-shadow: 0 0 40px rgba(0, 0, 0, .25);
    transform: translateX(-105%); transition: transform .3s ease;
    visibility: hidden;
  }
  .od-lista.is-aperta .od-lista__filtri { transform: none; visibility: visible; }
  .od-lista__cassetto-testa {
    position: sticky; top: 0; z-index: 1;
    display: flex; align-items: center; justify-content: space-between;
    margin: 0 -16px; padding: 14px 16px;
    background: inherit; border-bottom: 1px solid var(--od-bordo);
    font-size: 16px; font-weight: 700; color: var(--od-testo);
  }
  .od-lista .od-lista__chiudi,
  .od-lista .od-lista__chiudi:hover {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; padding: 0; border: 0; border-radius: 999px;
    background: rgba(112, 66, 20, .08); color: var(--od-testo); cursor: pointer;
  }
  .od-lista__velo:not([hidden]) {
    display: block; position: fixed; inset: 0; z-index: 99999;
    background: rgba(20, 15, 10, .45);
  }
  .od-voci { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .od-testa { padding: 12px; }
  .od-testa__comandi { width: 100%; justify-content: space-between; }
  .od-lista .od-vista span { display: none; }   /* solo le icone */
  .od-lista .od-vista { padding: 0 10px; }
  .od-voci { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; }
  .od-voci[data-vista="tabella"] { --od-colonne: 90px minmax(0, 1fr); }
  .od-voci[data-vista="tabella"] .od-voce__cella:not(.od-voce__soggetto),
  .od-voci[data-vista="tabella"] .od-voci__intestazione .od-col:nth-child(n+3) { display: none; }
}


/* ---------- 8. finestra "Aiuto": come funziona la ricerca ---------- */

.od-aiuto__finestra {
  width: min(680px, calc(100vw - 32px)); max-height: min(80vh, 760px);
  padding: 0; border: 0; border-radius: 14px; overflow: hidden;
  background: #fff; color: var(--od-testo, #3a2a14);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
  font-family: inherit;
}
.od-aiuto__finestra[open] { display: flex; flex-direction: column; }
.od-aiuto__finestra::backdrop { background: rgba(20, 15, 10, .5); }
.od-aiuto__testa {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 16px 22px; border-bottom: 1px solid rgba(112, 66, 20, .15);
  background: var(--ast-global-color-4, #FAF5E5);
}
.od-aiuto__testa h3 { margin: 0; font-family: inherit; font-size: 18px; font-weight: 700; }
.od-lista .od-aiuto__chiudi,
.od-lista .od-aiuto__chiudi:hover {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; padding: 0; border: 0; border-radius: 999px;
  background: rgba(112, 66, 20, .08); color: inherit; cursor: pointer;
}
.od-aiuto__corpo { padding: 6px 22px 22px; overflow-y: auto; font-size: 14.5px; line-height: 1.6; }
.od-aiuto__corpo h4 { margin: 18px 0 6px; font-family: inherit; font-size: 15px; font-weight: 700; color: #a8741f; }
.od-aiuto__corpo p { margin: 0 0 8px; }
.od-aiuto__corpo ul { margin: 0 0 8px; padding-left: 20px; }
.od-aiuto__corpo li { margin-bottom: 4px; }
.od-aiuto__corpo dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; }
.od-aiuto__corpo dt { font-weight: 700; }
.od-aiuto__corpo dd { margin: 0; }
.od-aiuto__corpo code { padding: 0 4px; border-radius: 4px; background: rgba(220, 165, 74, .15); font-size: 13px; }
@media (max-width: 600px) { .od-aiuto__corpo dl { grid-template-columns: 1fr; } .od-aiuto__corpo dd { margin-bottom: 6px; } }

/* interruttore "Più risultati | A–Z" in cima a ogni filtro (views/components/ordina-valori.mustache) */
.od-ordina-valori {
  display: inline-flex; gap: 2px; margin: 8px 0 4px; padding: 2px;
  border: 1px solid rgba(112, 66, 20, .3); border-radius: 999px; background: #fff;
}
.od-lista .od-ordina-valori__b, .od-lista .od-ordina-valori__b:hover, .od-lista .od-ordina-valori__b:focus,
.od-corali .od-ordina-valori__b, .od-corali .od-ordina-valori__b:hover, .od-corali .od-ordina-valori__b:focus {
  height: 24px; margin: 0; padding: 0 10px; border: 0; border-radius: 999px;
  background: transparent; box-shadow: none; color: #7a6445;
  font-family: inherit; font-size: 12px; font-weight: 700; line-height: 24px; cursor: pointer;
}
.od-lista .od-ordina-valori__b.is-attivo, .od-corali .od-ordina-valori__b.is-attivo { background: var(--od-oro); color: #fff; }

/* piede di ogni filtro: "Azzera" (solo questo filtro) a sinistra, "Applica filtri" a destra */
.od-filtro__piede { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 8px; }
.od-lista .od-filtro__piede .od-filtro__applica { margin-top: 0; }
.od-lista .od-filtro__azzera,
.od-lista .od-filtro__azzera:hover,
.od-lista .od-filtro__azzera:focus {
  min-height: 34px; margin: 0; padding: 0 14px;
  border: 1px solid var(--od-bordo-forte); border-radius: 999px; background: #fff; box-shadow: none;
  color: #7a6445; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
}
.od-lista .od-filtro__azzera:hover { border-color: var(--od-oro); color: var(--od-testo); }
/* "Più risultati | A–Z" a destra */
.od-filtro .od-ordina-valori { display: flex; width: max-content; margin-left: auto; }

/* le sezioni che si aprono (assets/js: tendina()) tengono dentro i margini dei figli: l'altezza animata è quella finale */
.od-tendina__corpo { display: flow-root; }
.od-tendina__corpo[hidden] { display: none; }

/* computer: la colonna dei filtri è alta quanto la lista, così lo sfondo più scuro arriva sempre fino in fondo;
   a restare fermo mentre si scorre è il pannello dentro (con la sua barra di scorrimento se è più alto dello schermo) */
@media (min-width: 1025px) {
  .od-lista__filtri { align-self: stretch; position: relative; max-height: none; overflow: visible; }
  .od-lista__pannello { position: sticky; top: 0; max-height: 100vh; overflow-y: auto; scrollbar-width: thin; padding-bottom: 24px; }
}

/* sfondo unico: la colonna dei filtri ha lo stesso sfondo della pagina, senza la riga verticale che la separava
   dai risultati né quella orizzontale sotto la barra (Nascondi filtri, termine cercato, Griglia | Elenco) */
.od-lista__filtri { background: transparent; border-right: 0; }
.od-testa { border-bottom: 0; }
@media (max-width: 1024px) {
  .od-lista__filtri { background: var(--ast-global-color-4, #FAF5E5); }   /* il pannello che entra da sinistra resta pieno */
}

/* fine pagina: niente spazio sotto il contenuto, lo spazio prima del footer è uguale in tutto il sito (#content, CSS aggiuntivo del tema) */
.od-lista .od-voci { padding-bottom: 0 !important; }

/* pulsanti: come tutti i pulsanti del sito (contorno oro, testo bruno in maiuscoletto; si riempiono d'oro col mouse).
   Restano pieni solo la lente della ricerca e gli interruttori (Griglia/Elenco, Più risultati/A–Z), dove l'oro indica la scelta attiva */
.od-lista .od-azzera, .od-lista .od-bottone--pieno, .od-lista .od-filtro__applica, .od-lista .od-bottone--annulla { min-height: 40px !important; height: auto !important; padding: 0 22px !important; box-sizing: border-box; border: 1px solid #dca54a !important; border-radius: 999px; background: transparent !important; box-shadow: none !important; color: #3a2a14 !important; font-family: inherit; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; cursor: pointer; transition: background .25s, color .25s; }
.od-lista .od-azzera:hover, .od-lista .od-azzera:focus-visible,
.od-lista .od-bottone--pieno:hover, .od-lista .od-bottone--pieno:focus-visible,
.od-lista .od-filtro__applica:hover, .od-lista .od-filtro__applica:focus-visible,
.od-lista .od-bottone--annulla:hover { background: #dca54a !important; color: #fff !important; }
/* "Annulla" della ricerca avanzata è l'azione secondaria: contorno bruno chiaro, testo più tenue (come "Azzera" dei singoli filtri) */
.od-lista .od-bottone--annulla { border-color: rgba(112, 66, 20, .3) !important; color: #7a6445 !important; }
.od-lista .od-bottone--annulla:hover { border-color: #dca54a !important; background: transparent !important; color: #3a2a14 !important; }

/* testi dei pulsanti sempre in maiuscolo, come in tutto il sito (anche i comandi piccoli: Aiuto, Filtri, Azzera, Griglia/Elenco, Più risultati/A–Z) */
.od-lista .od-aiuto, .od-lista .od-filtri-apri, .od-lista .od-filtro__azzera, .od-lista .od-vista, .od-lista .od-ordina-valori__b { text-transform: uppercase !important; letter-spacing: .08em !important; }

/* computer: il pannello dei filtri non ha più un'altezza fissa con la sua barra di scorrimento: cresce quando si apre
   un filtro e scorre insieme alla pagina (gli elenchi di valori molto lunghi restano a 30vh, con la loro barra) */
@media (min-width: 1025px) {
  .od-lista__pannello { position: static; max-height: none; overflow: visible; }
}

/* miniature: in alto di solito (statue: il volto), al centro per dipinti, affreschi, pavimento e monumenti
   (Lista::al_centro); le tarsie del pavimento molto più alte che larghe (le figure in piedi) si vedono intere, su fondo crema */
.od-voce--centro .od-voce__img img, .od-voce--pavimento .od-voce__img img { object-position: center center; }
.od-voce--basso .od-voce__img img { object-position: center bottom; }
.od-voce--intera .od-voce__img, .od-voce__img--intera { background: #efe4c8; }
.od-voce--intera .od-voce__img img, .od-voce__img--intera img { object-fit: contain !important; object-position: center center !important; }
