    /*
    <link rel="stylesheet" href="/portals/0/Cassonetti/4a/css/zone.css">
    */
    /* =========================================================
       “Namespace” per evitare conflitti con DotNetNuke / tema CMS
       ========================================================= */
    .raccolta-zone { padding: 20px 0; }
    .raccolta-zone * { box-sizing: border-box; }

    /* Tipografia più leggibile (DNN spesso schiarisce i testi) */
    .raccolta-zone,
    .raccolta-zone p,
    .raccolta-zone li,
    .raccolta-zone small{
      color: #1e2a33 !important;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    .raccolta-zone .page-title { margin: 0 0 20px; font-weight: 800; }

    /* Mappa iniziale */
    .raccolta-zone .map-wrap{
      margin: 0 0 22px;
      text-align: center;
    }
    .raccolta-zone .map-img{
      display: inline-block;
      max-width: 100%;
      height: auto;
      border: 1px solid rgba(0,0,0,.22);
      background: #fff;
      padding: 6px;
      box-shadow: 0 2px 10px rgba(0,0,0,.08);
    }
    .raccolta-zone .map-caption{
      margin-top: 8px;
      font-size: 13px;
      color: #3b4a57 !important;
      font-weight: 600;
    }

    /* Box zona */
    .raccolta-zone .zone {
      border: 1px solid rgba(0,0,0,.20);
      margin-bottom: 22px;
      box-shadow: 0 2px 10px rgba(0,0,0,.06);
    }
    .raccolta-zone .zone-header{
      margin: 0;
      padding: 14px 15px;
      text-align: center;
      font-weight: 900;
      letter-spacing: .6px;
      text-transform: uppercase;
      font-size: 26px;
      color: #0c3b2e !important;
      text-shadow: 0 1px 0 rgba(255,255,255,.55);
    }
    .raccolta-zone .zone-body{ padding: 15px; }

    /* Colori sezioni */
    .raccolta-zone .zone-gialla .zone-header { background: #f7e67a; }
    .raccolta-zone .zone-gialla .zone-body   { background: #fff3a4; }

    .raccolta-zone .zone-azzurra .zone-header { background: #86b9e3; }
    .raccolta-zone .zone-azzurra .zone-body   { background: #a8d0ee; }

    .raccolta-zone .zone-rossa .zone-header { background: #f3a0a0; }
    .raccolta-zone .zone-rossa .zone-body   { background: #f7b4b4; }

    .raccolta-zone .zone-bianca .zone-header { background: #f3f3f3; }
    .raccolta-zone .zone-bianca .zone-body   { background: #ffffff; }

    .raccolta-zone .zone-vie-non-servibili .zone-header { background: #e0ecd3; }
    .raccolta-zone .zone-vie-non-servibili .zone-body   { background: #eef5e5; }

    /* Testo note più visibile */
    .raccolta-zone .zone-note{
      font-size: 15px;
      line-height: 1.45;
      margin: 0 0 14px;
      color: #20313d !important;
      font-weight: 600;
    }

    /* Liste vie (grid) */
    .raccolta-zone .vie-grid { margin-left: -7px; margin-right: -7px; }
    .raccolta-zone .vie-grid > [class*="col-"] { padding-left: 7px; padding-right: 7px; }

    .raccolta-zone .vie-list { margin: 0; padding: 0; list-style: none; }
    .raccolta-zone .vie-list > li{
      padding: 10px 12px;
      border: 1px solid rgba(0,0,0,.28);
      margin-bottom: 10px;
      background: rgba(255,255,255,.65); /* più “pieno” */
      line-height: 1.25;
      font-size: 15px;
      font-weight: 700;
      color: #1e2a33 !important;
      box-shadow: 0 1px 3px rgba(0,0,0,.06);
    }
    .raccolta-zone .vie-list > li small{
      font-weight: 600;
      color: #2b3a45 !important;
      display: inline-block;
      margin-top: 2px;
    }

    /* Nota ZAI + area QR */
    .raccolta-zone .note-box{
      margin-top: 12px;
      background: #dff0d8;
      border: 1px solid #c9e2c3;
      padding: 12px 15px;
      box-shadow: 0 1px 4px rgba(0,0,0,.06);
    }
    .raccolta-zone .note-box p{ font-size: 14px; line-height: 1.45; font-weight: 600; }
    .raccolta-zone .qr-wrap{ text-align: right; }
    .raccolta-zone .qr-placeholder{
      display: inline-block;
      background: #fff;
      border: 1px dashed #667;
      padding: 10px 12px;
      font-size: 12px;
      color: #223 !important;
      font-weight: 700;
    }

    /* SEZIONE CALENDARIO (separata) */
    .raccolta-zone .calendar-section{ margin-top: 10px; margin-bottom: 22px; }
    .raccolta-zone .calendar-title{
      color: #0b7a57 !important;
      font-weight: 900;
      letter-spacing: .4px;
      text-transform: uppercase;
      margin: 0 0 14px;
      line-height: 1.2;
      font-size: 26px;
    }

    .raccolta-zone .calendar-pp{
      width: 100%;
      table-layout: fixed;
      margin: 0;
      border-collapse: collapse;
      background: #fff;
      box-shadow: 0 2px 10px rgba(0,0,0,.06);
    }
    .raccolta-zone .calendar-pp thead th{
      background: #0b7a57;
      color: #fff !important;
      text-transform: uppercase;
      text-align: center;
      font-weight: 900;
      border: 1px solid #000;
      padding: 14px 8px;
      font-size: 18px;
    }
    .raccolta-zone .calendar-pp tbody td{
      text-transform: uppercase;
      text-align: center;
      font-weight: 900;
      border: 1px solid #000;
      padding: 18px 8px;
      font-size: 20px;
      line-height: 1.1;
    }

    .raccolta-zone .cal-carta{ background: #2a3b86; color: #ffd400 !important; }
    .raccolta-zone .cal-umido{ background: #8a623b; color: #ffffff !important; }
    .raccolta-zone .cal-secco{ background: #e6e6e6; color: #333333 !important; }
    .raccolta-zone .cal-plastica{ background: #f2df58; color: #333333 !important; }

    /* Mobile */
    @media (max-width: 767px){
      .raccolta-zone { padding: 12px 0; }
      .raccolta-zone .zone-body{ padding: 12px; }
      .raccolta-zone .zone-header{ font-size: 22px; }
      .raccolta-zone .zone-note{ font-size: 14px; }
      .raccolta-zone .vie-list > li{ padding: 11px 12px; }

      .raccolta-zone .calendar-title{ font-size: 20px; }
      .raccolta-zone .calendar-pp thead th{ font-size: 16px; padding: 12px 6px; }
      .raccolta-zone .calendar-pp tbody td{ font-size: 18px; padding: 16px 6px; }
    }
