/* Stili aggiunti alla copia del CSS originale: accesso, cursori, galleria, contatti. */
[hidden] { display: none !important; }
body.lz-attesa, body.lz-login { background: #292b33; }
.lz-avviso { width: 100%; text-align: center; padding: 4rem 2rem; font-size: 1.8rem; }
.lz-caricamento { padding-top: 22rem; min-height: 100vh; }
.lz-sentinella { height: 0; width: 100%; }
#lz-vista { display: block; min-height: 60vh; }

/* ---------- schermata di accesso ---------- */
#lz-accesso { min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; padding: 2rem;
  background: linear-gradient(rgba(41,43,51,.82), rgba(41,43,51,.82)), url(/assets/img/1-Grande.jpg) center / cover no-repeat; }
#lz-accesso-form { width: 100%; max-width: 40rem; background: #fff; padding: 3.5rem 3rem; text-align: center; border-top: .4rem solid #cb4139; box-shadow: 0 1rem 4rem rgba(0,0,0,.35); }
#lz-accesso-logo { width: 20rem; max-width: 70%; filter: brightness(0); margin-bottom: 2rem; }
#lz-accesso-form h1 { font-size: 3.2rem; color: #292b33; font-weight: 500; margin: 0 0 1rem; }
#lz-accesso-form p { font-size: 1.6rem; color: #626262; margin: 0 0 2rem; }
#lz-password { width: 100%; font: 400 1.8rem Roboto, sans-serif; padding: 1.2rem 1.4rem; border: 1px solid #ccc; border-radius: 0; margin-bottom: 1.5rem; text-align: center; }
#lz-password:focus { outline: 2px solid #cb4139; outline-offset: 0; border-color: #cb4139; }
#lz-accesso-form button { width: 100%; font: 500 2rem Oswald, sans-serif; text-transform: uppercase; color: #fff; background: #cb4139; border: 0; padding: 1.2rem; cursor: pointer; position: relative; z-index: 0; overflow: hidden; }
#lz-accesso-form button:disabled { opacity: .6; cursor: wait; }
#lz-accesso-errore { color: #cb4139 !important; font-weight: 600; margin: 1.5rem 0 0 !important; }
.lz-accesso-aiuto { font-size: 1.4rem !important; margin: 2rem 0 0 !important; }
.lz-accesso-aiuto a { color: #cb4139; }

/* ---------- cursori prezzo / km (aspetto dell'originale) ---------- */
.searchandfilter .meta-slider.noUi-target { height: 10px; background: #fafafa; border: 1px solid #d3d3d3; border-radius: 4px; box-shadow: inset 0 1px 1px #f0f0f0, 0 3px 6px -5px #bbb; max-width: 94%; margin: 10px 0 10px 8px; }
.searchandfilter .meta-slider .noUi-connect { background: #cb4139; }
.searchandfilter .meta-slider .noUi-handle { width: 20px; height: 20px; right: -10px; top: -6px; border-radius: 20px; background: #f7f7f7; border: 1px solid #626262; box-shadow: none; cursor: grab; }
.searchandfilter .meta-slider .noUi-handle::before, .searchandfilter .meta-slider .noUi-handle::after { display: none; }
.searchandfilter .meta-slider .noUi-touch-area { margin: -10px; height: 40px; width: 40px; }
.searchandfilter select { cursor: pointer; }

/* ---------- galleria ---------- */
#lz-galleria { width: 100%; }
.lz-gal-grande { position: relative; width: 100%; aspect-ratio: 4 / 3; background: #efefef; overflow: hidden; }
.lz-gal-grande img { width: 100%; height: 100%; object-fit: cover; display: block; cursor: zoom-in; }
.lz-gal-zoom { position: absolute; inset: auto 1rem 1rem auto; width: 4rem; height: 4rem; border: 0; border-radius: 50%; background: rgba(41,43,51,.55) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E") center / 2rem no-repeat; cursor: pointer; }
.lz-gal-striscia { position: relative; margin-top: 1rem; }
.lz-gal-miniature { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.lz-gal-miniature::-webkit-scrollbar { display: none; }
.lz-gal-mini { flex: 0 0 calc((100% - 2rem) / 3); padding: 0; border: 0; background: none; cursor: pointer; scroll-snap-align: center; }
.lz-gal-mini img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.lz-gal-freccia { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 3rem; height: 3rem; border: 0; background: #cb4139; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: .7rem; }
.lz-gal-freccia svg { width: 100%; height: 100%; fill: currentColor; }
.lz-gal-freccia.lz-prec { left: .5rem; } .lz-gal-freccia.lz-succ { right: .5rem; }
.lz-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(0,0,0,.92); display: flex; align-items: center; justify-content: center; }
.lz-lightbox img { max-width: 100vw; max-height: 100vh; max-height: 100dvh; object-fit: contain; }
.lz-lightbox button { position: absolute; border: 0; background: rgba(41,43,51,.6); color: #fff; cursor: pointer; font: 400 4rem/1 Roboto, sans-serif; width: 5rem; height: 5rem; border-radius: 50%; }
.lz-lb-chiudi { top: 1.5rem; right: 1.5rem; } .lz-lb-freccia { top: 50%; transform: translateY(-50%); } .lz-lb-freccia.lz-prec { left: 1rem; } .lz-lb-freccia.lz-succ { right: 1rem; }
.lz-lb-conta { position: absolute; bottom: 1.5rem; left: 0; right: 0; text-align: center; color: #fff; font-size: 1.5rem; }

/* ---------- contatti al posto del modulo "Richiedi informazioni" ---------- */
#lz-contatti { width: 100%; display: grid; gap: 1.2rem; }
.lz-contatto { display: flex; align-items: center; gap: 1.2rem; padding: 1.2rem 1.6rem; color: #fff; font: 500 2rem Oswald, sans-serif; text-transform: uppercase; transition: opacity .2s, transform .2s; }
.lz-contatto:hover { opacity: .9; transform: translateY(-.2rem); color: #fff; }
.lz-contatto svg { width: 2.6rem; height: 2.6rem; fill: currentColor; flex: none; }
.lz-contatto.lz-wa { background: #25d366; } .lz-contatto.lz-tel { background: #cb4139; } .lz-contatto.lz-mail { background: #292b33; text-transform: none; }

/* ---------- veicoli simili: pagine ---------- */
.lz-simili-pagine { width: 100%; display: flex; justify-content: center; gap: .8rem; margin-top: 2rem; }
.lz-simili-pagine button { min-width: 3.6rem; height: 3.6rem; border: 1px solid #cb4139; background: #fff; color: #cb4139; font: 500 1.6rem Oswald, sans-serif; cursor: pointer; }
.lz-simili-pagine button.is-selected { background: #cb4139; color: #fff; }
@media (max-width: 767px) { .lz-gal-mini { flex-basis: calc((100% - 1rem) / 2); } }
