/* findme.css */
/* Stili condivisi FindMe. Tenere questo file accanto alle pagine che lo usano. */
.moderazione-griglia{display:grid;gap:20px;margin-top:20px}
.moderazione-scheda{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:22px;background:#fff;border:1px solid var(--bordo);border-radius:16px;padding:20px;box-shadow:var(--ombra)}
.moderazione-scheda img{width:100%;max-height:230px;object-fit:cover;border-radius:10px}
.moderazione-scheda h3{margin-top:0}
.moderazione-scheda p{overflow-wrap:anywhere}
.moderazione-esito{background:#e6f4eb;border:1px solid var(--verde);border-radius:10px;padding:14px}
.moderazione-form{margin-top:18px}
@media(max-width:650px){.moderazione-scheda{grid-template-columns:1fr}}
.conferma-dialogo{width:min(92vw,480px);max-height:90vh;overflow:auto;border:1px solid var(--bordo);border-radius:20px;padding:30px;background:#fff;color:var(--testo);box-shadow:0 24px 70px rgba(6,29,66,.28)}
.conferma-dialogo::backdrop{background:rgba(6,29,66,.62)}
.conferma-dialogo h2{color:var(--blu-scuro);font-size:1.5rem;margin:12px 0}
.conferma-dialogo p{margin:10px 0;line-height:1.5}
.conferma-icona{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#e8f3ec;font-size:1.7rem}
.conferma-nome{font-weight:700;color:var(--blu);overflow-wrap:anywhere}
.conferma-azioni{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:26px}
.conferma-annulla{background:#edf2f7;color:var(--blu-scuro);border:1px solid var(--bordo)}
    /* 1. Colori e misure principali: modificali qui per cambiare il tema. */
    :root {
      --blu: #073c87;
      --blu-scuro: #061d42;
      --verde: #087d4d;
      --verde-scuro: #075c3a;
      --testo: #14263d;
      --grigio: #45566a;
      --sfondo: #eef4fa;
      --bianco: #ffffff;
      --bordo: #b7c9dc;
      --larghezza: 1180px;
      --ombra: 0 14px 40px rgba(16, 43, 78, .10);
    }

    /* 2. Regole generali della pagina. */
    * {
      box-sizing: border-box;
    }

    [hidden] {
      display: none !important;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      background: var(--sfondo);
      color: var(--testo);
      font-family: Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }

    button,
    input {
      font: inherit;
    }

    button {
      cursor: pointer;
    }

    a {
      color: inherit;
    }

    :focus-visible {
      outline: 3px solid var(--verde);
      outline-offset: 3px;
    }

    .contenitore {
      width: min(calc(100% - 40px), var(--larghezza));
      margin-inline: auto;
    }

    .salta-contenuto {
      position: absolute;
      top: -80px;
      left: 16px;
      z-index: 20;
      padding: 10px 16px;
      background: var(--bianco);
    }

    .salta-contenuto:focus {
      top: 12px;
    }

    /* 3. Testata e navigazione. */
    .testata {
      position: relative;
      z-index: 5;
      background: var(--bianco);
      box-shadow: 0 2px 14px rgba(16, 43, 78, .06);
    }

    .testata-interno {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      min-height: 86px;
    }

    .marchio {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: var(--blu);
      font-size: 1.75rem;
      font-weight: 800;
      letter-spacing: -.06em;
      text-decoration: none;
    }

    .marchio-simbolo {
      display: grid;
      width: 43px;
      height: 43px;
      place-items: center;
      border: 3px solid var(--blu);
      border-radius: 50%;
      color: var(--verde);
      font-size: 1.35rem;
      line-height: 1;
    }

    .marchio-verde {
      color: var(--verde);
    }

    .navigazione {
      display: flex;
      align-items: center;
      gap: 25px;
    }

    .navigazione a {
      color: var(--blu-scuro);
      font-size: .94rem;
      font-weight: 700;
      text-decoration: none;
    }

    .navigazione a:hover {
      color: var(--verde-scuro);
    }

    .menu-pulsante {
      display: none;
      padding: 9px 12px;
      border: 1px solid var(--bordo);
      border-radius: 10px;
      background: var(--bianco);
      color: var(--blu);
      font-weight: 700;
    }

    /* 4. Pulsanti riutilizzati in più sezioni. */
    .pulsante {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 12px 22px;
      border: 2px solid transparent;
      border-radius: 13px;
      font-weight: 800;
      text-align: center;
      text-decoration: none;
      transition: background .2s, color .2s, transform .2s, box-shadow .2s;
    }

    .pulsante:hover {
      transform: translateY(-2px);
      box-shadow: 0 9px 20px rgba(16, 43, 78, .14);
    }

    .pulsante-verde {
      background: var(--verde);
      color: var(--bianco);
    }

    .pulsante-verde:hover {
      background: var(--verde-scuro);
    }

    .pulsante-chiaro {
      border-color: rgba(255, 255, 255, .75);
      background: rgba(255, 255, 255, .12);
      color: var(--bianco);
    }

    .pulsante-chiaro:hover {
      background: rgba(255, 255, 255, .24);
    }

    .pulsante-blu {
      background: var(--blu);
      color: var(--bianco);
    }

    .pulsante-blu:hover {
      background: var(--blu-scuro);
    }

    /* 5. Sezione principale: testi a sinistra, illustrazione a destra. */
    .hero {
      overflow: hidden;
      background: linear-gradient(120deg, #061d42 0%, #073c87 70%, #075c78 100%);
      color: var(--bianco);
    }

    .hero-interno {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
      align-items: center;
      gap: 50px;
      min-height: 540px;
      padding-block: 72px 110px;
    }

    .etichetta {
      display: inline-block;
      margin-bottom: 20px;
      padding: 7px 12px;
      border: 1px solid rgba(255, 255, 255, .35);
      border-radius: 100px;
      background: rgba(255, 255, 255, .12);
      font-size: .86rem;
      font-weight: 700;
    }

    .hero h1 {
      max-width: 700px;
      margin: 0;
      font-size: clamp(2.35rem, 5vw, 4.35rem);
      letter-spacing: -.045em;
      line-height: 1.08;
    }

    .hero h1 span {
      color: #70ffc1;
    }

    .hero-descrizione {
      max-width: 590px;
      margin: 24px 0 30px;
      color: #ffffff;
      font-size: clamp(1rem, 2vw, 1.2rem);
    }

    .hero-azioni {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }

    .hero-disegno {
      position: relative;
      display: grid;
      min-height: 360px;
      place-items: center;
    }

    .cerchio {
      display: grid;
      width: min(100%, 390px);
      aspect-ratio: 1;
      place-items: center;
      border: 1px solid rgba(255, 255, 255, .28);
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255, 255, 255, .17), rgba(255, 255, 255, .03) 65%);
      box-shadow: 0 0 0 33px rgba(255, 255, 255, .035), 0 0 0 70px rgba(255, 255, 255, .025);
    }

    .animale {
      font-size: clamp(7rem, 17vw, 11rem);
      line-height: 1;
      filter: drop-shadow(0 20px 18px rgba(0, 0, 0, .17));
    }

    .fumetto {
      position: absolute;
      right: 0;
      bottom: 25px;
      max-width: 250px;
      padding: 14px 18px;
      border-radius: 16px;
      background: var(--bianco);
      box-shadow: var(--ombra);
      color: var(--blu-scuro);
      font-size: .92rem;
      font-weight: 700;
    }

    /* 6. Ricerca: filtra soltanto le schede dimostrative presenti qui sotto. */
    .ricerca-area {
      position: relative;
      z-index: 1;
      margin-top: -45px;
    }

    .ricerca-box {
      padding: 25px;
      border: 1px solid var(--bordo);
      border-radius: 20px;
      background: var(--bianco);
      box-shadow: var(--ombra);
    }

    .ricerca-box h2 {
      margin: 0 0 14px;
      color: var(--blu-scuro);
      font-size: 1.22rem;
    }

    .ricerca-form {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 12px;
    }

    .ricerca-form input {
      width: 100%;
      min-height: 52px;
      padding: 12px 16px;
      border: 1px solid #b9c9d8;
      border-radius: 12px;
      color: var(--testo);
    }

    /* 7. Sezione annunci di esempio. */
    .sezione {
      padding-block: 76px;
    }

    .sezione-titolo {
      margin: 0 0 8px;
      color: var(--blu-scuro);
      font-size: clamp(1.85rem, 3vw, 2.4rem);
      letter-spacing: -.03em;
    }

    .sezione-intro {
      margin: 0 0 24px;
      color: var(--grigio);
    }

    .filtri {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin-bottom: 22px;
    }

    .filtro {
      padding: 10px 16px;
      border: 1px solid var(--bordo);
      border-radius: 100px;
      background: var(--bianco);
      color: var(--blu);
      font-weight: 700;
    }

    .filtro[aria-pressed="true"] {
      border-color: var(--blu);
      background: var(--blu);
      color: var(--bianco);
    }

    .griglia-annunci {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }

    .scheda {
      overflow: hidden;
      border: 1px solid var(--bordo);
      border-radius: 19px;
      background: var(--bianco);
      box-shadow: 0 6px 20px rgba(16, 43, 78, .05);
    }

    .scheda-immagine {
      display: grid;
      grid-template-rows: minmax(0, 1fr);
      height: 190px;
      overflow: hidden;
      place-items: center;
      padding: 16px;
      background: linear-gradient(145deg, #b4daf4, #86e3b8);
      color: var(--blu-scuro);
      font-size: 1rem;
      font-weight: 700;
      text-align: center;
    }

    .scheda-immagine img {
      display: block;
      width: 100%;
      height: 100%;
      min-width: 0;
      min-height: 0;
      object-fit: cover;
    }

    .scheda-corpo a {
      display: inline-block;
      margin-top: 17px;
      color: var(--blu);
      font-weight: 800;
      text-underline-offset: 4px;
    }

    .scheda-corpo {
      padding: 20px;
    }

    .scheda-etichetta {
      color: var(--verde-scuro);
      font-size: .77rem;
      font-weight: 800;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .scheda h3 {
      margin: 8px 0 5px;
      color: var(--blu-scuro);
      font-size: 1.3rem;
    }

    .scheda p {
      margin: 0;
      color: var(--grigio);
    }

    .scheda button {
      margin-top: 17px;
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--blu);
      font-weight: 800;
      text-decoration: underline;
      text-underline-offset: 4px;
    }

    .nessun-risultato {
      margin-top: 20px;
      padding: 18px;
      border-radius: 12px;
      background: var(--bianco);
    }

    /* 8. Spiegazione del percorso principale di FindMe. */
    .come-funziona {
      background: var(--bianco);
    }

    .passaggi {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 20px;
      margin-top: 30px;
    }

    .passaggio {
      padding: 24px;
      border: 1px solid var(--bordo);
      border-radius: 18px;
      background: var(--sfondo);
    }

    .passaggio-numero {
      display: grid;
      width: 42px;
      height: 42px;
      place-items: center;
      border-radius: 12px;
      background: var(--blu);
      color: var(--bianco);
      font-weight: 800;
    }

    .passaggio h3 {
      margin: 15px 0 6px;
      color: var(--blu-scuro);
    }

    .passaggio p {
      margin: 0;
      color: var(--grigio);
    }

    .invito {
      padding-block: 62px;
      background: #d9f5e7;
      text-align: center;
    }

    .invito p {
      margin: 0 auto 25px;
      max-width: 600px;
      color: var(--grigio);
    }

    .piede {
      padding-block: 30px;
      background: var(--blu-scuro);
      color: #e5eef9;
      font-size: .9rem;
    }

    .piede-interno {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 12px;
    }

    .piede p {
      margin: 0;
    }

    /* 9. Finestra che spiega quali funzioni collegheremo dopo. */
    dialog {
      width: min(calc(100% - 32px), 460px);
      padding: 26px;
      border: 0;
      border-radius: 18px;
      box-shadow: var(--ombra);
      color: var(--testo);
    }

    dialog::backdrop {
      background: rgba(10, 28, 51, .62);
    }

    dialog h2 {
      margin: 0 0 8px;
      color: var(--blu);
    }

    dialog p {
      margin: 0 0 22px;
    }

    /* Pagina inserzioni: titolo, avviso e strumenti della ricerca. */
    .pagina-intro {
      padding-block: 54px 76px;
      background: linear-gradient(120deg, var(--blu-scuro), var(--blu));
      color: var(--bianco);
    }

    .pagina-occhiello {
      margin: 0 0 8px;
      color: #99ecc1;
      font-weight: 800;
    }

    .pagina-intro h1 {
      margin: 0;
      font-size: clamp(2.2rem, 5vw, 3.5rem);
      line-height: 1.15;
    }

    .pagina-intro p {
      max-width: 700px;
    }

    /* Solo la testata di Nuova inserzione ha titolo e testo centrati. */
    .pagina-intro-centrata {
      text-align: center;
    }

    .pagina-intro-centrata p {
      margin-inline: auto;
    }

    .avviso-demo {
      display: inline-block;
      padding: 10px 15px;
      border: 1px solid #a6edc9;
      border-radius: 12px;
      background: #075c3a;
      font-weight: 700;
    }

    .ricerca-inserzioni {
      margin-top: -40px;
    }

    .sezione-inserzioni {
      padding-top: 52px;
    }

    .intestazione-inserzioni {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }

    .conteggio-annunci {
      margin: 0 0 15px;
      color: var(--grigio);
      font-weight: 700;
    }

    /* Modulo nuova inserzione: campi ordinati in due colonne. */
    .sezione-modulo {
      padding-top: 60px;
    }

    .contenitore-modulo {
      max-width: 900px;
    }

    .modulo-inserzione {
      display: grid;
      gap: 22px;
    }

    .modulo-inserzione fieldset {
      min-width: 0;
      margin: 0;
      padding: 24px;
      border: 1px solid var(--bordo);
      border-radius: 18px;
      background: var(--bianco);
    }

    .modulo-inserzione legend {
      padding: 0 8px;
      color: var(--blu-scuro);
      font-size: 1.2rem;
      font-weight: 800;
    }

    .campi-griglia {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
    }

    .campo {
      min-width: 0;
    }

    .campo-intero {
      grid-column: 1 / -1;
    }

    .campo label {
      display: block;
      margin-bottom: 7px;
      color: var(--blu-scuro);
      font-weight: 700;
    }

    .campo input,
    .campo select,
    .campo textarea {
      display: block;
      width: 100%;
      min-height: 48px;
      padding: 11px 13px;
      border: 1px solid var(--bordo);
      border-radius: 10px;
      background: var(--bianco);
      color: var(--testo);
      font: inherit;
    }

    .campo textarea {
      resize: vertical;
    }

    .campo input[type="file"] {
      min-height: auto;
    }

    .aiuto-campo {
      margin: 6px 0 0;
      color: var(--grigio);
      font-size: .9rem;
    }

    .errore-campo {
      color: #9e1e27;
      font-weight: 700;
    }

    .anteprime-foto {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 12px;
    }

    .anteprime-foto img {
      width: 110px;
      height: 110px;
      border-radius: 10px;
      object-fit: cover;
    }

    .azioni-modulo {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }

    .pulsante-bordo {
      border-color: var(--blu);
      background: var(--bianco);
      color: var(--blu);
    }

    .pulsante-bordo:hover {
      background: #dcebf8;
    }

    .esito-modulo {
      margin: 0;
      padding: 18px;
      border: 1px solid var(--verde);
      border-radius: 12px;
      background: #d9f5e7;
      color: var(--verde-scuro);
      font-weight: 700;
    }

    /* Pagina notifiche: stato del dispositivo e percorso dell'avviso. */
    .contenitore-notifiche {
      max-width: 1000px;
    }

    .pannello-notifiche {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: 28px;
      padding: 30px;
      border: 1px solid var(--bordo);
      border-radius: 18px;
      background: var(--bianco);
    }

    .occhiello-scuro {
      color: var(--verde-scuro);
    }

    .riquadro-attivazione {
      padding: 22px;
      border-radius: 14px;
      background: #e4f6eb;
    }

    .riquadro-attivazione h3 {
      margin-top: 0;
      color: var(--blu-scuro);
    }

    .riquadro-attivazione .pulsante:disabled {
      opacity: .55;
      cursor: not-allowed;
      transform: none;
      box-shadow: none;
    }

    .titolo-percorso {
      margin-top: 48px;
    }

    /* 10. Adattamento per tablet e telefoni. */
    @media (max-width: 850px) {
      .menu-pulsante {
        display: inline-block;
      }

      .navigazione {
        display: none;
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 8px 20px 18px;
        background: var(--bianco);
        box-shadow: var(--ombra);
      }

      .navigazione.aperta {
        display: flex;
      }

      .navigazione a {
        padding: 12px 4px;
      }

      .hero-interno {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-block: 60px 90px;
      }

      .hero-disegno {
        min-height: 240px;
      }

      .cerchio {
        width: 225px;
      }

      .fumetto {
        right: 8%;
        bottom: 0;
      }

      .griglia-annunci,
      .passaggi {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 600px) {
      .pannello-notifiche {
        grid-template-columns: 1fr;
        padding: 20px;
      }

      .campi-griglia {
        grid-template-columns: 1fr;
      }

      .modulo-inserzione fieldset {
        padding: 18px;
      }

      .intestazione-inserzioni {
        align-items: stretch;
        flex-direction: column;
        margin-bottom: 20px;
      }

      .contenitore {
        width: min(calc(100% - 32px), var(--larghezza));
      }

      .testata-interno {
        min-height: 72px;
      }

      .marchio {
        font-size: 1.5rem;
      }

      .marchio-simbolo {
        width: 38px;
        height: 38px;
      }

      .hero-interno {
        padding-block: 54px 86px;
      }

      .hero-disegno {
        display: none;
      }

      .hero-azioni,
      .hero-azioni .pulsante {
        width: 100%;
      }

      .ricerca-box {
        padding: 18px;
      }

      .ricerca-form,
      .griglia-annunci,
      .passaggi {
        grid-template-columns: 1fr;
      }

      .sezione {
        padding-block: 58px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      .pulsante {
        transition: none;
      }
    }


/* Tema condiviso FindMe: colori e asset del sito precedente. */
:root{
  --blu:#153a66;
  --blu-scuro:#172b48;
  --verde:#f36b2c;
  --verde-scuro:#d95216;
  --testo:#172b48;
  --grigio:#52647b;
  --sfondo:#f7f9fc;
  --bordo:#dfe6ee;
  --ombra:0 16px 38px rgba(21,58,102,.10);
}
body{background:linear-gradient(180deg,#fff 0%,#fff9f3 48%,#f6faff 100%)}
.testata{background:#fff;border-bottom:1px solid #e7edf4;box-shadow:0 5px 22px rgba(20,33,61,.07)}
.testata-interno{min-height:92px}
.marchio{display:inline-flex;align-items:center;gap:10px;font-size:1.95rem;letter-spacing:-.055em;color:var(--blu-scuro)}
.marchio::before{content:"";display:block;width:58px;height:58px;flex:none;background:url("assets/findme-icon-192x192.png") center/contain no-repeat}
.marchio-simbolo{display:none}
.marchio-icona{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;flex:none}
.marchio-icona img{display:block;width:100%;height:100%;object-fit:contain}
.marchio-verde{color:#f36b2c}
.navigazione a{color:#172b48;font-weight:800}
.navigazione a:hover,.navigazione a[aria-current="page"]{color:#e85f24}
.menu-pulsante{border-color:#dfe6ee;border-radius:12px;background:#fff;color:var(--blu-scuro)}
.pulsante{border-radius:13px}
.pulsante-verde{background:linear-gradient(135deg,#f36b2c,#ff8a3d);color:#fff;box-shadow:0 8px 18px rgba(243,107,44,.22)}
.pulsante-verde:hover{background:linear-gradient(135deg,#dc551b,#f36b2c);color:#fff}
.pulsante-blu{background:var(--blu);color:#fff}
.hero{background:radial-gradient(circle at 12% 18%,rgba(255,209,102,.38),transparent 27%),linear-gradient(125deg,#fff9f2 0%,#fff 55%,#eaf5ff 100%);color:var(--blu-scuro)}
.hero-interno{min-height:510px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;padding-block:58px 100px}
.etichetta{border-color:#ffd7bb;background:#fff2e7;color:#b84817}
.hero h1 span{color:#ee682b}
.hero-descrizione{color:#435771}
.hero .pulsante-chiaro{border:2px solid #cddced;background:#fff;color:var(--blu-scuro)}
.hero .pulsante-chiaro:hover{background:#edf5ff;color:var(--blu-scuro)}
.hero-visual{overflow:hidden;min-height:355px;border-radius:28px;background:#eaf3f9;box-shadow:0 22px 45px rgba(21,58,102,.14)}
.hero-visual img{display:block;width:100%;height:100%;min-height:355px;object-fit:cover;object-position:72% center}
.ricerca-box,.scheda,.passaggio,.riquadro-attivazione,.modulo-inserzione fieldset{border-color:#e1e8f0;box-shadow:var(--ombra)}
.scheda{transition:transform .18s ease,box-shadow .18s ease}
.scheda:hover{transform:translateY(-3px);box-shadow:0 20px 38px rgba(21,58,102,.14)}
.scheda-immagine{padding:0;background:linear-gradient(145deg,#dcecf8,#fff0e2)}
.scheda-etichetta{color:#db5b22}
.filtro[aria-pressed="true"]{border-color:var(--blu);background:var(--blu)}
.filtri a.filtro{display:inline-flex;align-items:center;text-decoration:none}
.filtri a.filtro:hover{border-color:var(--blu);background:#edf5ff}
.filtri a.filtro[aria-current="true"],.filtri a.filtro[aria-current="true"]:hover{border-color:var(--blu);background:var(--blu);color:#fff}
.pagina-intro{background:linear-gradient(135deg,#fff7ee,#f3f9ff)}
.piede{background:#172b48;color:#fff}
:focus-visible{outline-color:#f36b2c}
@media(max-width:850px){
  .testata-interno{min-height:78px}
  .hero-interno{grid-template-columns:1fr;padding-block:44px 86px}
  .hero-visual{min-height:290px}
  .hero-visual img{min-height:290px}
}
@media(max-width:600px){
  .marchio{font-size:1.65rem}
  .marchio::before{width:47px;height:47px}
  .marchio-icona{width:47px;height:47px}
  .hero-interno{padding-block:42px 75px}
  .hero-visual{display:block;min-height:205px}
  .hero-visual img{min-height:205px;max-height:250px}
}

/* piani-inserzioni.css */
.gruppo-piano{margin-block:32px 48px;padding-top:20px;border-top:2px solid var(--bordo)}
.gruppo-piano h3{color:var(--blu);font-size:1.4rem;margin:0 0 18px}
.gruppo-piano>p{color:var(--grigio);margin:0 0 18px}
.paginazione{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:32px}
.paginazione a{display:inline-block;padding:10px 16px;border:1px solid var(--bordo);border-radius:12px;color:var(--blu);font-weight:700;text-decoration:none}
.paginazione a:hover{border-color:var(--blu);background:#edf5ff}

/* listing.css */
.wallet-page{background:radial-gradient(ellipse at 50% 0,#dce9f7 0,#eef3f8 48%,#f7f9fc 100%);padding-bottom:env(safe-area-inset-bottom);color:#152f50}
.wallet-toolbar{max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px}
.wallet-toolbar a{color:#194a7d;text-decoration:none;font-weight:700}
.wallet-toolbar a:hover{text-decoration:underline;text-underline-offset:4px}
.wallet-brand{font-size:1.6rem;letter-spacing:-.06em}
.wallet-brand span{color:#da571f}
.wallet-toolbar-map{min-width:80px;text-align:right}
.wallet-page .scheda-indietro{min-width:80px;font-size:.9rem}
.wallet-page .scheda-animale{width:calc(100% - 40px);max-width:920px;margin:4px auto 48px}
.wallet-card{overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(20,53,90,.16),0 3px 10px rgba(20,53,90,.05);border:1px solid #dce5ef}
.wallet-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;background:linear-gradient(120deg,#073c87,#155695);color:#fff}
.wallet-card-brand{font-size:1.65rem;line-height:1;letter-spacing:-.05em;font-weight:800}
.wallet-card-brand span{color:#ffb582}
.wallet-alert-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;text-align:right}
.wallet-main{display:grid;grid-template-columns:1.12fr 1fr;min-width:0}
.wallet-photo{position:relative;min-width:0;margin:0;background:linear-gradient(145deg,#e4ecf4,#f2f5f8);overflow:hidden}
.wallet-photo>a{display:flex;height:100%;min-height:410px;align-items:center;justify-content:center}
.wallet-photo img{display:block;width:100%;height:100%;max-height:520px;object-fit:contain}
.wallet-photo figcaption{position:absolute;bottom:12px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);padding:7px 11px;background:rgba(8,31,62,.86);border-radius:20px;color:#fff;font-size:.7rem;pointer-events:none}
.wallet-info{min-width:0;padding:28px 26px;text-align:center}
.wallet-status{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;border:1px solid #ffd2ba;border-radius:20px;padding:6px 12px;background:#fff2e9;color:#a33b11;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.wallet-status span{font-size:.6rem}
.wallet-page h1{margin:0;color:#123a67;text-align:center;font-size:clamp(1.8rem,5.5vw,2.6rem);line-height:1.1;letter-spacing:-.035em;overflow-wrap:anywhere}
.scheda-sommario{color:#536579;font-size:.95rem;line-height:1.5;margin:10px 0 22px;overflow-wrap:anywhere}
.wallet-location{display:flex;align-items:flex-start;justify-content:center;gap:9px;text-align:left;padding:14px 12px;background:#f3f7fc;border:1px solid #e2ebf4;border-radius:14px}
.wallet-location>span{font-size:1.2rem}
.wallet-location div{min-width:0;display:grid;gap:4px}
.wallet-location strong{color:#173e69;font-size:.95rem;overflow-wrap:anywhere}
.wallet-location div>span{font-size:.8rem;color:#536579;line-height:1.4;overflow-wrap:anywhere}
.wallet-date{font-size:.8rem;color:#536579;margin:14px 0 22px}
.wallet-page .wallet-seen{display:flex;gap:10px;width:100%;min-height:60px;border:0;border-radius:15px;background:linear-gradient(110deg,#bc4414,#c64a16);color:#fff;font-size:1.15rem;box-shadow:0 8px 20px rgba(221,86,29,.22)}
.wallet-page .wallet-seen:hover{background:#c64a16}
.wallet-action-note{margin:10px 0 18px;font-size:.75rem;color:#536579}
.wallet-secondary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.wallet-secondary-actions a{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #e2ebf4;border-radius:10px;padding:8px 5px;color:#194a7d;font-size:.72rem;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.wallet-secondary-actions a:hover{background:#edf4fb;border-color:#b8cfe7}
.wallet-card-footer{display:flex;justify-content:space-between;gap:12px;padding:15px 24px;border-top:1px dashed #cad8e6;color:#536579;font-size:.72rem;background:#f9fbfd}
.scheda-dati,.scheda-contatto,.scheda-condivisione{min-width:0;background:#fff;border:1px solid #e0e8f0;border-radius:22px;padding:26px;margin-top:24px;box-shadow:0 8px 24px rgba(20,53,90,.04);scroll-margin-top:20px}
.wallet-section-label{margin:0 0 8px!important;color:#a33b11;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.scheda-dati h2,.scheda-contatto h2,.scheda-condivisione h2,.wallet-more-photos h2{margin:0 0 20px;color:#173e69;font-size:1.3rem;line-height:1.3;overflow-wrap:anywhere}
.scheda-dati dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0}
.scheda-dati dt{font-size:.78rem;font-weight:700;color:#536579}
.scheda-dati dd{margin:5px 0 0;color:#173e69;line-height:1.5;overflow-wrap:anywhere}
.scheda-dati p,.scheda-contatto p,.scheda-condivisione p{line-height:1.6;overflow-wrap:anywhere}
.scheda-dati h3{margin:24px 0 8px;color:#173e69}
.scheda-azioni{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.wallet-page .pulsante-secondario{border:1px solid #bacfe3;background:#f8fbff;color:#194a7d}
.wallet-page .pulsante-verde{background:#bc4414;color:#fff}
.wallet-more-photos{margin-top:28px}
.scheda-galleria{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.scheda-galleria a{display:block;overflow:hidden;border-radius:16px;background:#e4ecf4}
.scheda-galleria img{display:block;width:100%;height:220px;object-fit:contain}
.scheda-foto-assente{display:flex;min-height:360px;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#536579}
.scheda-foto-assente>span{font-size:4rem}
.scheda-foto-assente p{margin:0}
.condivisione-link{margin-top:22px}
.condivisione-link label{display:block;font-weight:700;font-size:.85rem;margin-bottom:8px}
.condivisione-link>div{display:flex;gap:10px}
.condivisione-link input{flex:1;min-width:0;width:100%;padding:12px;border:1px solid #bacfe3;border-radius:12px;color:#194a7d;background:#f5f8fc}
.condivisione-foto{margin-top:24px;padding-top:16px;border-top:1px solid #e0e8f0}
.condivisione-foto h3{margin-bottom:8px;color:#173e69}
.scheda-condivisione .pulsante:disabled{opacity:.6;cursor:wait}
.condivisione-locale{padding:12px;border:1px solid #f4c9ad;border-radius:10px;background:#fff5ec;color:#853610}
#condivisione-esito{min-height:24px;color:#194a7d;font-weight:700;overflow-wrap:anywhere}
.wallet-not-found{text-align:center}
.wallet-page a:focus-visible,.wallet-page button:focus-visible,.wallet-page input:focus-visible{outline:3px solid #073c87;outline-offset:4px}
@media(max-width:700px){
  .wallet-toolbar{padding:16px 18px;gap:8px}
  .wallet-toolbar-map,.wallet-page .scheda-indietro{font-size:.8rem;min-width:64px}
  .wallet-brand{font-size:1.4rem}
  .wallet-page .scheda-animale{width:calc(100% - 24px);margin-top:0}
  .wallet-card{border-radius:23px}
  .wallet-card-header{padding:16px 18px}
  .wallet-card-brand{font-size:1.4rem}
  .wallet-alert-label{font-size:.62rem;letter-spacing:.09em}
  .wallet-main{grid-template-columns:1fr}
  .wallet-photo>a{height:clamp(220px,65vw,320px);min-height:0}
  .wallet-photo img{height:100%;max-height:none}
  .wallet-info{padding:20px 18px 22px}
  .scheda-sommario{margin-bottom:16px}
  .wallet-location{padding:11px 12px}
  .wallet-date{margin:12px 0 18px}
  .wallet-card-footer{padding:13px 18px;font-size:.65rem}
  .scheda-dati,.scheda-contatto,.scheda-condivisione{padding:22px 18px;margin-top:18px;border-radius:20px}
  .scheda-dati dl{grid-template-columns:1fr;gap:16px}
  .scheda-azioni .pulsante{flex:1 1 160px}
  .condivisione-link>div{flex-direction:column}
  .scheda-galleria img{height:160px}
  .scheda-foto-assente{min-height:230px}
}
@media(prefers-reduced-motion:reduce){.wallet-page *, .wallet-page *::before,.wallet-page *::after{scroll-behavior:auto;transition:none}}

/* mappa.css */
.mappa-sezione{padding-block:32px 60px}
.mappa-pannello{padding:22px;background:#fff;border:1px solid var(--bordo);border-radius:20px;box-shadow:var(--ombra)}
.mappa-strumenti{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block:12px}
.mappa-strumenti p{margin:0;color:var(--grigio)}
.mappa-strumenti .pulsante-chiaro{border-color:var(--bordo);background:#fff;color:var(--blu)}
.mappa-strumenti .pulsante-chiaro:hover{border-color:var(--blu);background:#edf5ff}
#mappa{height:65vh;min-height:420px;max-height:680px;border-radius:16px;z-index:0;background:#eaf3f9}
#mappa-errore{padding:12px;border:1px solid #e8b8a1;border-radius:10px;background:#fff2e7;color:#853610}
.mappa-elenco{margin-top:30px}
.mappa-elenco>p{color:var(--grigio)}
#mappa-risultati{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;list-style:none}
#mappa-risultati li{padding:16px;border:1px solid var(--bordo);border-radius:14px;background:#fff}
#mappa-risultati a{color:var(--blu);font-weight:700}
#mappa-risultati p{margin:8px 0;color:var(--grigio)}
.mappa-popup{max-height:300px;overflow-y:auto;min-width:190px}
.mappa-popup article+article{padding-top:12px;margin-top:12px;border-top:1px solid #dce5ef}
.mappa-popup h3{margin:8px 0;font-size:18px;color:var(--blu)}
.mappa-popup img{display:block;width:100%;height:110px;object-fit:cover;border-radius:10px}
.mappa-popup p{margin:8px 0}
.mappa-popup a{display:inline-block;padding:8px 12px;border-radius:8px;background:#f36b2c;color:#fff!important;text-decoration:none;font-weight:700}
.mappa-segnaposto{border:0;background:transparent}
.mappa-segnaposto span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:3px solid #fff;border-radius:50%;background:#f36b2c;color:#fff;font-size:18px;font-weight:800;box-shadow:0 3px 10px #172b4855}
@media(max-width:700px){.mappa-pannello{padding:14px}.mappa-strumenti{align-items:flex-start;flex-direction:column}#mappa{height:60vh;min-height:360px}#mappa-risultati{grid-template-columns:1fr}}

/* diagnosi-notifiche.css */
.diagnosi{max-width:850px;padding-block:32px}.diagnosi h1{font-size:clamp(1.7rem,6vw,2.5rem)}.diagnosi .pulsante{margin-bottom:12px}.diagnosi-esito{padding:16px;margin:12px 0;border:1px solid #c9d5e6;border-radius:12px;background:#fff;color:#183251;overflow-wrap:anywhere}.diagnosi-esito h2{margin:0 0 10px;font-size:1.15rem}.diagnosi-esito p{margin:6px 0}.diagnosi #stato{font-weight:700}.diagnosi #locale,.diagnosi #server{margin-block:20px}

/* prova-click.css */
.prova-click{max-width:640px;margin:32px auto;padding:24px}.prova-click p{line-height:1.6}.prova-click label,.prova-click select{display:block;margin:12px 0}.prova-click select{width:100%;padding:12px}.prova-click button{margin-top:12px}

/* vendor/leaflet/leaflet.css */
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(vendor/leaflet/images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(vendor/leaflet/images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(vendor/leaflet/images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

.account-contenitore{max-width:680px;padding-block:40px;min-height:65vh}
.account-pannello{padding:32px;border:1px solid var(--bordo);border-radius:20px;background:#fff;box-shadow:var(--ombra)}
.account-pannello h1{margin-top:0;color:var(--blu-scuro)}
.account-form{display:grid;gap:18px}
.account-form label{display:grid;gap:6px;font-weight:700}
.account-form input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #aebed1;border-radius:10px;min-height:48px}
.account-form button{width:100%}
.account-errore{padding:14px;border:1px solid #bf3131;border-radius:10px;background:#fff2f2;color:#8f1d1d}
.account-successo{padding:14px;border:1px solid #90bba2;border-radius:10px;background:#eef9f1;color:#205536}
.account-nota{color:var(--grigio);font-size:.95rem}
.account-dati{display:grid;gap:8px;overflow-wrap:anywhere}
.account-dati dt{font-weight:800;color:var(--blu-scuro)}
.account-dati dd{margin:0 0 12px}
.account-azioni{display:flex;flex-wrap:wrap;gap:12px;margin-block:24px}
.account-azioni a{flex:1 1 180px}
.account-uscita{margin-top:24px}
@media(max-width:600px){.account-contenitore{padding-block:24px}.account-pannello{padding:22px}}


/* Layout comune 10 — tutte le pagine */
:root{--blu:#174f89;--blu-scuro:#102f50;--verde:#d65319;--verde-scuro:#b54412;--bordo:#dce5ee;--ombra:0 12px 34px rgba(16,47,80,.07)}
body{background:#f7f9fc;color:#19334e;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #ec8a4b;outline-offset:4px}
.testata{background:#fff;position:relative;z-index:1000;border-bottom:1px solid #e2e9f0;box-shadow:none}.testata-interno{min-height:88px;gap:22px}.marchio{font-size:2rem;letter-spacing:-.065em;flex-shrink:0}.marchio-simbolo{background:#fff0e5;color:#d65319;border-radius:14px;width:42px;height:42px;display:grid;place-items:center;font-size:1.45rem}.marchio-verde{color:#d65319}.marchio::before{display:none}.hero-visual,.hero-visual img{min-height:0}
.navigazione{gap:6px;align-items:center}.navigazione>a,.nav-gruppo>summary{padding:11px 12px;color:#334f6b;font-size:.9rem;font-weight:650;border-radius:10px;text-decoration:none;white-space:nowrap}.navigazione>a:hover,.nav-gruppo>summary:hover,.navigazione a[aria-current="page"]{background:#edf4fb;color:#164f89}.navigazione .nav-pubblica{background:#d65319;color:#fff;margin-left:10px;box-shadow:0 4px 12px #d6531924}.navigazione .nav-pubblica:hover{background:#b54412;color:#fff}.nav-gruppo{position:relative}.nav-gruppo>summary{cursor:pointer;list-style:none}.nav-gruppo>summary::-webkit-details-marker{display:none}.nav-gruppo>summary:after{content:'⌄';margin-left:7px}.nav-tendina{position:absolute;right:0;top:calc(100% + 8px);width:255px;padding:8px;background:white;border:1px solid #dce5ee;border-radius:16px;box-shadow:0 15px 40px #102f5024}.nav-tendina a{display:block;padding:12px;border-radius:8px;color:#334f6b;font-size:.9rem;text-decoration:none}.nav-tendina a:hover{background:#edf4fb}.nav-gruppo[open]>summary{background:#edf4fb}
.ambiente-test{background:#edf3f9;border-bottom:1px solid #e1e9f2;color:#506b85;font-size:.75rem}.ambiente-test .contenitore{display:flex;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}.ambiente-test i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d65319;margin-right:6px}.ambiente-test a{color:#164f89;text-decoration:none;font-weight:650}
.hero{background:#eef4fa;padding:64px 0 82px}.hero-interno{grid-template-columns:1.03fr 1fr;gap:48px;align-items:center}.hero h1{font-size:clamp(2.8rem,4.8vw,4.6rem);line-height:1.08;letter-spacing:-.055em;color:#102f50;max-width:650px}.hero h1 span{color:#d65319}.etichetta{font-size:.72rem;font-weight:800;letter-spacing:.13em;background:transparent;color:#174f89;padding:0}.hero-descrizione{font-size:1.05rem;max-width:490px;color:#50677d;line-height:1.7}.hero-visual{border-radius:28px;overflow:hidden;box-shadow:0 22px 45px #102f5015;transform:rotate(1deg);background:#fff}.hero-visual img{display:block;width:100%;height:auto;object-fit:cover}.hero-azioni{gap:12px}.pulsante{border-radius:12px;font-size:.93rem;padding:14px 20px;transition:background .15s,box-shadow .15s}.pulsante-verde{background:#d65319;color:#fff}.pulsante-verde:hover{background:#b54412}.pulsante-chiaro{background:#fff;border:1px solid #d7e2ee;color:#174f89}.ricerca-area{position:relative;margin-top:-35px;padding:0 0 10px}.ricerca-box{background:#fff;border:1px solid #e2e9f0;border-radius:20px;box-shadow:0 14px 35px #102f500d;padding:25px 30px}.ricerca-box h2{font-size:1.05rem;margin:0 0 14px}.ricerca-form input{border-radius:11px;background:#f8fafc}
.sezione{padding:54px 0}.sezione-titolo{letter-spacing:-.035em;color:#102f50}.novita-home{padding-bottom:8px}.novita-account{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;background:#102f50;color:#fff;padding:34px 40px;border-radius:24px;position:relative;overflow:hidden}.novita-badge{display:inline-block;background:#ffcfaa;color:#713010;border-radius:6px;padding:6px 10px;font-size:.67rem;font-weight:850;letter-spacing:.12em}.novita-account h2{font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.035em;color:#fff;margin:15px 0 10px;line-height:1.25}.novita-account p{color:#c7d6e5;max-width:560px;font-size:.94rem;line-height:1.6;margin:0}.novita-azioni{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.novita-azioni>a:not(.pulsante){color:#e4edf5;font-size:.85rem;text-underline-offset:4px}.scorciatoie{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:22px}.scorciatoie a{display:flex;flex-direction:column;gap:7px;text-decoration:none;color:#183c61;background:#fff;border:1px solid #dfe7f0;border-radius:17px;padding:22px;transition:box-shadow .15s,border-color .15s}.scorciatoie a:hover{box-shadow:var(--ombra);border-color:#a9c5df}.scorciatoie a>span{font-size:1.5rem;margin-bottom:4px}.scorciatoie small{color:#64788b;font-size:.78rem;line-height:1.4}.scheda{border-radius:18px;box-shadow:var(--ombra);border-color:#dfe7f0}.scheda-immagine{background:linear-gradient(135deg,#edf3f9,#e0eaf4);color:#687f95}.scheda-corpo a{color:#174f89}.pagina-intro{background:#eef4fa;padding:48px 0;border-bottom:1px solid #dfe8f2}.pagina-intro h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.045em;color:#102f50;line-height:1.15}.pagina-intro p{max-width:700px;color:#526d86}.pagina-occhiello{font-weight:750;font-size:.75rem!important;letter-spacing:.1em;color:#174f89!important}.piede{background:#102f50;color:#d8e4f0;margin-top:30px}.piede a{color:#fff}.piede-interno{padding-top:24px;padding-bottom:24px}.account-pannello{border-radius:24px;box-shadow:var(--ombra);padding:34px}.account-pannello h1{letter-spacing:-.035em}.griglia-prove{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.prova-card{display:block;border:1px solid #dce5ee;background:#fff;border-radius:20px;padding:28px;text-decoration:none;color:#183c61;box-shadow:var(--ombra)}.prova-card:hover{border-color:#a9c5df}.prova-numero{display:inline-block;background:#edf4fb;color:#174f89;border-radius:10px;padding:9px 12px;font-weight:800;font-size:.85rem}.prova-card h2{font-size:1.2rem;margin:18px 0 12px;line-height:1.3}.prova-card p{font-size:.9rem;color:#63798e;line-height:1.6}.prova-card strong{display:block;font-size:.83rem;margin-top:22px;color:#b54412}
@media(max-width:1000px){.testata-interno{flex-wrap:wrap;gap:12px;padding-top:16px;padding-bottom:16px}.menu-pulsante{display:block}.navigazione{display:none;width:100%;flex-direction:column;align-items:stretch;padding:12px 0}.navigazione.aperta{display:flex}.nav-gruppo>summary{display:block}.nav-tendina{position:static;width:100%;box-shadow:none;margin:6px 0;border:0;background:#f5f8fc}.navigazione .nav-pubblica{margin-left:0;text-align:center}.hero-interno{gap:28px}.hero{padding-top:42px}.novita-account{padding:28px;grid-template-columns:1fr}.scorciatoie{grid-template-columns:repeat(2,1fr)}.griglia-prove{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.hero-interno{grid-template-columns:1fr}.hero h1{font-size:3rem}.hero-visual{transform:none}.hero{padding-bottom:62px}.hero-visual img{max-height:270px;object-fit:cover}.ambiente-test .contenitore{font-size:.68rem;align-items:center}.ricerca-box{padding:22px}.ricerca-form{gap:10px}.novita-account{padding:26px 22px}.novita-azioni{width:100%}.novita-azioni .pulsante{width:100%;text-align:center}.scorciatoie a{padding:18px}.scorciatoie strong{font-size:.92rem}.sezione{padding-top:35px;padding-bottom:35px}.griglia-prove{grid-template-columns:1fr}.account-pannello{padding:24px}.testata-interno{min-height:78px}.marchio{font-size:1.8rem}.pagina-intro{padding:35px 0}}

/* Area personale e inserzioni del proprietario — blocco 11 */
.account-contenitore:has(.griglia-miei-annunci),.account-contenitore:has(.annunci-vuoti){max-width:1100px}.profilo-novita{margin:25px 0;padding:24px;border:1px solid #cbdced;background:#edf4fb;border-radius:18px}.profilo-novita h2{margin-top:14px}.profilo-novita .pulsante{margin:6px 8px 0 0}.pubblicazione-account{padding:16px 20px;background:#edf4fb;border:1px solid #cbdced;border-radius:12px;line-height:1.6}.pubblicazione-account a{color:#174f89;font-weight:750}.annunci-conteggio{color:#59718a;margin:26px 0 16px}.griglia-miei-annunci{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mio-annuncio{overflow:hidden;background:#fff;border:1px solid #dce5ee;border-radius:18px;box-shadow:var(--ombra)}.mio-annuncio-foto,.mio-annuncio-segnaposto{width:100%;height:190px;object-fit:cover;display:block;background:#edf4fb}.mio-annuncio-segnaposto{display:grid;place-items:center;font-size:3rem;color:#647e97}.mio-annuncio-corpo{padding:20px;overflow-wrap:anywhere}.mio-annuncio-corpo h2{font-size:1.3rem;line-height:1.3;margin:12px 0}.mio-annuncio-id{font-size:.75rem;color:#657c91}.mio-annuncio-corpo a{color:#174f89;font-size:.86rem;font-weight:750}.mio-annuncio-aiuto{font-size:.84rem;color:#657c91}.stato-annuncio{display:inline-block;border-radius:8px;padding:6px 9px;font-size:.7rem;font-weight:800}.stato-pubblicato,.stato-ritrovato{background:#e8f5ed;color:#21603c}.stato-attesa{background:#fff0dd;color:#8f4a13}.stato-respinto{background:#fce9e9;color:#8e3030}.annunci-vuoti{padding:32px;text-align:center;background:#f5f8fc;border:1px dashed #c2d2e3;border-radius:18px}.annunci-vuoti>span{font-size:2.5rem}.annunci-vuoti h2{font-size:1.4rem}.annunci-vuoti p{color:#657c91;line-height:1.6}.annunci-vuoti a{color:#174f89;font-weight:750}.miei-annunci-pagine{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;padding:25px 0}.miei-annunci-pagine a{color:#174f89}@media(max-width:850px){.griglia-miei-annunci{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.griglia-miei-annunci{grid-template-columns:1fr}.annunci-vuoti{padding:24px 18px}}

/* Layout 12: elementi comuni, senza varianti per pagina. */
:root { --larghezza:1180px; --testo:#19334e; --sfondo:#f7f9fc; }
html { scrollbar-gutter:stable; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; background:var(--sfondo); }
body>main { flex:1; min-width:0; }
.testata,.piede,.ambiente-test { width:100%; flex-shrink:0; }
.testata-interno { display:flex; justify-content:space-between; align-items:center; min-height:88px; }
.navigazione { position:static; display:flex; flex-direction:row; width:auto; background:transparent; box-shadow:none; }
.marchio-simbolo { border:0; box-shadow:none; }
.menu-pulsante { display:none; }
.pagina-intro,.pagina-intro-centrata { text-align:left; padding:46px 0; background:#eef4fa; color:var(--testo); }
.pagina-intro h1,.wallet-page .pagina-intro h1 { margin:0; text-align:left; font-size:clamp(2rem,4vw,3rem); line-height:1.15; letter-spacing:-.045em; color:var(--blu-scuro); }
.pagina-intro p,.pagina-intro-centrata p { margin-left:0; margin-right:0; max-width:760px; color:#526d86; }
.pagina-intro .pagina-occhiello { margin-top:0; margin-bottom:10px; }
.pagina-intro p:last-child { margin-bottom:0; }
.pagina-intro .avviso-demo { background:#fff3e9; border-color:#edc8ad; color:#884018; padding:12px 16px; border-radius:12px; font-size:.9rem; }
.contenitore-notifiche,.contenitore-modulo,.account-contenitore,.account-contenitore:has(.griglia-miei-annunci),.account-contenitore:has(.annunci-vuoti) { max-width:1180px; }
.account-contenitore { padding:46px 0; min-height:0; }
.account-pannello { max-width:760px; margin:0 auto; }
.account-contenitore:has(.griglia-miei-annunci) .account-pannello,.account-contenitore:has(.annunci-vuoti) .account-pannello { max-width:none; }
.account-form,.modulo-inserzione { font-size:1rem; }
.contenitore-modulo .modulo-inserzione,.contenitore-modulo .pubblicazione-account { max-width:900px; margin-left:auto; margin-right:auto; }
.contenitore-modulo .pubblicazione-account { margin-bottom:24px; }
.riquadro-attivazione,.passaggio-numero,.conferma-icona { background:#edf4fb; color:#174f89; }
.riquadro-attivazione { border:1px solid #dce5ee; }
.passaggio,.pannello-notifiche,.pannello-prova { background:#fff; border:1px solid #dce5ee; border-radius:20px; box-shadow:var(--ombra); }
.pannello-prova { padding:32px; margin-top:0; margin-bottom:0; }
.contenitore.pannello-prova { max-width:1180px; }
.diagnosi,.prova-click { max-width:none; }
.prova-click select { border:1px solid #aebed1; border-radius:10px; background:#fff; color:var(--testo); font:inherit; min-height:48px; }
.prova-click select,.prova-click>button { max-width:760px; }
.esito-modulo { background:#edf4fb; border-color:#cbdced; color:#174f89; }
.wallet-page { background:var(--sfondo); }
.wallet-page .scheda-animale { width:min(calc(100% - 40px),1180px); max-width:1180px; margin:46px auto; }
.wallet-card,.scheda-dati,.scheda-contatto,.scheda-condivisione { border-radius:20px; box-shadow:var(--ombra); }
.wallet-nome { margin:0; color:#123a67; text-align:center; font-size:clamp(1.8rem,5.5vw,2.6rem); line-height:1.1; letter-spacing:-.035em; overflow-wrap:anywhere; }
.rapporto-verifica { white-space:pre-wrap; overflow-wrap:anywhere; margin:0; font-size:.95rem; line-height:1.8; }
.piede { margin-top:0; background:#102f50; }
.piede-interno { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:30px 0; }
.piede-interno p { margin:0; font-size:.85rem; color:#c7d6e5; }
.piede-marchio { font-size:1.5rem; font-weight:850; letter-spacing:-.05em; text-decoration:none; }
.piede-marchio span { color:#ffb582; }
.piede-interno nav { display:flex; gap:20px; flex-wrap:wrap; }
.piede-interno nav a { font-size:.85rem; text-decoration:none; }
.piede-interno nav a:hover { text-decoration:underline; }
.piede-copyright { width:100%; border-top:1px solid #ffffff26; padding-top:18px; }
.hero-interno { padding-block:0; }
@media(max-width:1000px) {
 .testata-interno { min-height:78px; flex-wrap:wrap; }
 .menu-pulsante { display:block; margin-left:auto; }
 .navigazione { display:none; position:static; top:auto; right:auto; left:auto; width:100%; flex-direction:column; align-items:stretch; padding:12px 0; background:transparent; box-shadow:none; gap:6px; }
 .navigazione.aperta { display:flex; }
 .navigazione>a,.nav-gruppo>summary { padding:12px; }
 .nav-tendina { position:static; width:100%; }
 .navigazione .nav-pubblica { margin-left:0; }
}
@media(max-width:650px) {
 .pagina-intro,.pagina-intro-centrata { padding:32px 0; }
 .account-contenitore { padding:30px 0; }
 .pannello-prova,.pannello-notifiche,.account-pannello { padding:22px; }
 .wallet-page .scheda-animale { width:calc(100% - 32px); margin:30px auto; }
 .piede-interno { align-items:flex-start; flex-direction:column; gap:16px; }
 .ambiente-test .contenitore { flex-wrap:wrap; }
 .ambiente-test a { font-size:.7rem; }
}

/* Registrazione: visibilità password e criteri — Onaxxis 14. */
.password-campo { display:grid; gap:6px; }
.password-controllo { position:relative; }
.account-form .password-controllo input { padding-right:62px; }
.account-form .password-visibilita { position:absolute; right:4px; top:4px; bottom:4px; width:48px; min-height:40px; display:grid; place-items:center; padding:0; border:0; border-radius:8px; background:transparent; color:#174f89; cursor:pointer; }
.account-form .password-visibilita[hidden] { display:none; }
.password-visibilita:hover { background:#edf4fb; }
.password-visibilita[aria-pressed="true"] { background:#edf4fb; }
.password-occhio-taglio { display:none; }
.password-visibilita[aria-pressed="true"] .password-occhio-taglio { display:block; }
.password-criteri { margin:0; padding:18px 20px; border:1px solid #dce5ee; border-radius:12px; background:#f3f7fc; color:#455d75; font-size:.88rem; line-height:1.6; }
.password-criteri strong { color:#19334e; }
.password-criteri ul { padding:0; margin:10px 0; list-style:none; display:grid; gap:7px; }
.password-criteri li { display:flex; align-items:flex-start; gap:9px; }
.password-criteri li>span { flex:0 0 18px; font-weight:800; }
.password-criteri li.criterio-rispettato { color:#21603c; }
.password-criteri p { margin:10px 0 0; }

/* Popup di accesso alle aree riservate — Onaxxis 16. */
.accesso-dialogo { width:min(calc(100% - 32px),480px); max-height:calc(100vh - 48px); overflow:auto; margin:auto; padding:30px; border:1px solid #dce5ee; border-radius:22px; background:#fff; color:#19334e; box-shadow:0 24px 70px #102f5040; }
.accesso-dialogo::backdrop { background:#102f5080; backdrop-filter:blur(3px); }
.accesso-dialogo-icona { display:grid; place-items:center; width:56px; height:56px; margin-bottom:20px; background:#edf4fb; border-radius:16px; font-size:1.6rem; }
.accesso-dialogo h2 { margin:0 0 12px; color:#102f50; font-size:1.5rem; line-height:1.25; letter-spacing:-.025em; }
.accesso-dialogo p { margin:0 0 24px; color:#526d86; line-height:1.65; }
.accesso-dialogo-azioni { display:flex; gap:12px; flex-wrap:wrap; }
.accesso-dialogo .pulsante { min-height:44px; }
@media(max-width:550px) { .accesso-dialogo { padding:24px; } .accesso-dialogo-azioni .pulsante { width:100%; text-align:center; } }

/* Voci riservate visibili soltanto dopo conferma del ruolo amministratore. */
[data-admin-only][hidden] { display:none!important; }

/* Esci nella barra principale, disponibile per tutti gli account collegati. */
.nav-logout { margin:0; }
.nav-logout[data-session-only][hidden] { display:none!important; }
.nav-logout button { display:block; min-height:44px; padding:10px 14px; border:1px solid #b8cbe0; border-radius:10px; background:#f0f5fb; color:#173b65; font:inherit; font-weight:700; cursor:pointer; }
.nav-logout button:hover { background:#dce9f7; }
.nav-logout button:focus-visible { outline:3px solid #ed8c28; outline-offset:3px; }
@media(max-width:1000px) { .nav-logout, .nav-logout button { width:100%; } .nav-logout button { text-align:left; } }

/* Mini chat guida: stili isolati, sempre riducibile. */
.fm-guide { position:fixed; bottom:max(18px,env(safe-area-inset-bottom)); right:max(18px,env(safe-area-inset-right)); z-index:900; font-family:inherit; font-size:15px; line-height:1.5; color:#17334f; }
.fm-guide [hidden] { display:none!important; }
.fm-guide button,.fm-guide a { font:inherit; box-sizing:border-box; }
.fm-guide-launcher { display:flex; align-items:center; gap:9px; min-height:50px; padding:12px 18px; border:0; border-radius:30px; background:#073c87; color:#fff; font-weight:700!important; box-shadow:0 6px 24px #17334f33; cursor:pointer; }
.fm-guide-panel { width:350px; max-width:calc(100vw - 28px); max-height:calc(100dvh - 36px); display:flex; flex-direction:column; overflow:hidden; border:1px solid #d4e1ec; border-radius:20px; background:#fff; box-shadow:0 12px 45px #17334f38; }
.fm-guide-heading { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; background:#073c87; color:#fff; }
.fm-guide-heading strong { font-size:17px; }.fm-guide-heading small { display:block; margin-top:3px; color:#e3edfc; }
.fm-guide-close { width:44px; height:44px; border:1px solid #ffffff60; background:#ffffff18; color:#fff; border-radius:12px; font-size:26px!important; cursor:pointer; flex-shrink:0; }
.fm-guide-body { padding:18px; overflow:auto; overscroll-behavior:contain; }
.fm-guide-message { margin:0 0 16px; padding:14px; border-radius:4px 14px 14px; background:#eef4fb; color:#17334f; }
.fm-guide-actions { display:grid; gap:8px; }.fm-guide-actions button,.fm-guide-actions a { display:block; width:100%; min-height:44px; padding:10px 13px; text-align:left; background:#fff; border:1px solid #bfcee0; border-radius:10px; color:#073c87; font-weight:650; text-decoration:none; cursor:pointer; }
.fm-guide-actions button:hover,.fm-guide-actions a:hover { background:#fff3e4; border-color:#d3791c; }
.fm-guide-hint { font-size:13px; margin:12px 0 0; color:#496078; }.fm-guide-hint:empty { display:none; }
.fm-guide-footer { padding:10px 18px; border-top:1px solid #e2eaf1; background:#f7f9fc; }
.fm-guide-reset { min-height:44px; padding:8px 0; border:0; background:transparent; color:#073c87; text-decoration:underline; cursor:pointer; }
.fm-guide button:focus-visible,.fm-guide a:focus-visible { outline:3px solid #e99332; outline-offset:2px; }
@media(max-width:600px) { .fm-guide { right:14px; bottom:max(14px,env(safe-area-inset-bottom)); }.fm-guide-panel { width:330px; max-height:70dvh; }.fm-guide-launcher { padding:10px 15px; }.fm-guide-heading { padding:12px 14px; }.fm-guide-body { padding:14px; } }
@media(prefers-reduced-motion:reduce) { .fm-guide * { scroll-behavior:auto!important; } }

/* Modifica dati dei propri annunci. */
.mio-annuncio-azioni { margin-top:16px; }.mio-annuncio-azioni .pulsante { width:100%; }
.edit-review { padding:16px 18px; margin:18px 0; border:1px solid #edb568; border-radius:12px; background:#fff4e4; color:#653b0d; }.edit-review p { margin:8px 0 0; }
.edit-success { padding:16px; background:#eaf4ed; border:1px solid #91bb9b; color:#1f5431; border-radius:12px; }
.edit-photos { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }.edit-photos img { width:160px; height:120px; object-fit:cover; border-radius:10px; border:1px solid #d5e0ec; }
.edit-confirm { display:flex; align-items:flex-start; gap:10px; padding:16px; margin:18px 0; border-radius:12px; background:#fff4e4; }.edit-confirm input { width:22px; height:22px; flex-shrink:0; margin-top:2px; }
#modulo-modifica { margin-top:22px; } #modulo-modifica input,#modulo-modifica select,#modulo-modifica textarea { min-width:0; }

.owner-push-panel{padding:20px;margin:22px 0;border:1px solid #b8cfe7;border-radius:16px;background:#edf4fc;color:#173b65}.owner-push-panel h2{font-size:1.25rem;margin:10px 0}.owner-push-panel p{margin:10px 0}.owner-push-panel [data-owner-push-status]{font-weight:650}
