/* pubblico.css — poche aggiunte ai fogli di stile del sito, per ciò che
   le pagine statiche non prevedevano. */

/* Colonne fisse scelte nel pannello, con la stessa riduzione del sito. */
.gallery-grid--col2 { grid-template-columns: repeat(2, 1fr); }
.gallery-grid--col3 { grid-template-columns: repeat(3, 1fr); }
.gallery-grid--col4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
  .gallery-grid--col3,
  .gallery-grid--col4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 430px) {
  .gallery-grid--col2,
  .gallery-grid--col3,
  .gallery-grid--col4 { grid-template-columns: 1fr; }
}

/* Le fotografie non si trascinano né si selezionano. */
.gallery-grid img,
.glightbox-container img {
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}
/* Il blocco del trascinamento vale solo se il salvataggio è escluso. */
body[data-scaricabili="no"] .gallery-grid img { pointer-events: none; }
body[data-scaricabili="no"] .gallery-item { pointer-events: auto; }
.gallery-item picture,
.gallery-card-cover picture { display: block; width: 100%; height: 100%; }

/* Didascalia sotto la fotografia, quando la galleria la prevede. */
.gallery-figure { margin: 0; }
.gallery-figure figcaption a.scarica {
  float: right;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.gallery-figure figcaption {
  color: var(--color-muted);
  font-size: .82rem;
  line-height: 1.5;
  padding: .5rem .2rem 0;
}

/* Testo introduttivo della galleria. */
.gallery-intro { max-width: 68ch; color: var(--color-muted); margin-bottom: var(--space-l); }
.gallery-intro p + p { margin-top: var(--space-m); }

/* Filmati in coda alla galleria. */
.video-sezione { margin-top: var(--space-xl); }
.video-sezione h2 { margin-bottom: var(--space-m); }
.video-elenco { display: grid; gap: var(--space-l); }
.video-wrapper { position: relative; width: 100%; aspect-ratio: 16 / 9; }
.video-wrapper iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0; border-radius: var(--radius);
  background: #000;
}
.video-titolo { color: var(--color-muted); font-size: .85rem; margin-top: var(--space-s); }

/* Accesso alle gallerie riservate. */
.accesso-riservato { max-width: 380px; margin: var(--space-xl) auto; }
.accesso-riservato label { display: block; margin-bottom: var(--space-m); color: var(--color-muted); font-size: .9rem; }
.accesso-riservato input[type=password] {
  display: block; width: 100%; margin-top: var(--space-xs);
  padding: .6rem .7rem;
  background: var(--color-surface); color: var(--color-text);
  border: 1px solid var(--color-border); border-radius: var(--radius);
}
.accesso-riservato input[type=password]:focus { outline: none; border-color: var(--color-accent); }
.accesso-riservato button {
  width: 100%; padding: .65rem;
  background: var(--color-accent); color: var(--color-bg);
  border: none; border-radius: var(--radius);
  font: inherit; letter-spacing: .03em; cursor: pointer;
}
.accesso-riservato .errore { color: #d08770; font-size: .88rem; margin-bottom: var(--space-m); }

/* Avviso di anteprima, visibile solo a chi è collegato al pannello. */
.striscia-anteprima {
  background: var(--color-accent); color: var(--color-bg);
  padding: .5rem var(--space-l); text-align: center;
  font-size: .85rem; letter-spacing: .03em;
}
.striscia-anteprima a { color: var(--color-bg); text-decoration: underline; }
