/* InfoComuni - scheda comune come app iOS su mobile (29/09/2026, pilota Brindisi)
   Vale solo sotto 861px e fuori dal tema scuro. Il sito applica molte regole
   con !important e ID: il prefisso con tre :not(#id) arriva sopra a quelle.
   Gli stili inline !important (bottoni della griglia) li sistema ic-app-mobile.js.
   Regole di casa: superfici bianche, filetti azzurro chiaro, angoli al massimo
   4px, cifre monospaziate, contrasto AA, bersagli da 44px. */

@media (max-width: 860px) {
  :root {
    --icam-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Titillium Web", system-ui, sans-serif;
    --icam-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
    --icam-ink: #0B2340;
    --icam-ink2: #44566C;
    --icam-ink3: #5A6B80;
    --icam-tint: #176FBA;
    --icam-sky: #5BC4FF;
    --icam-hair: #BFE3FF;
    --icam-sep: #DCEAF5;
    --icam-bg: #F2F6FA;
    --icam-navy: #09223A;
  }

  /* ---------------- header: una riga sola, 56px, sempre in vista ----------------
     overflow-x:hidden su html/body rendeva body un contenitore di scorrimento
     e l'header "sticky" non restava agganciato; clip taglia allo stesso modo
     senza creare il contenitore. */
  html:not(.force-dark):not(#icam1), html:not(.force-dark) body:not(.theme-dark):not(#icam1) {
    overflow-x: clip !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) header.comune-header {
    position: sticky !important; top: 0 !important; z-index: 1200 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header {
    height: 56px !important; min-height: 56px !important; padding: 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .comune-header__inner {
    height: 56px !important; min-height: 0 !important; padding: 0 56px 0 4px !important;
    display: flex !important; flex-wrap: nowrap !important; align-items: center !important;
    gap: 2px !important; max-width: none !important; width: 100% !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .comune-header__utils {
    display: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .comune-header__brand {
    flex: 1 1 auto !important; min-width: 0 !important; height: 44px !important;
    display: flex !important; align-items: center !important; gap: 10px !important;
    padding: 0 !important; margin: 0 !important; overflow: hidden !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .comune-header__logo--light {
    height: 22px !important; width: auto !important; max-width: 46vw !important; flex: 0 0 auto !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .comune-header__divider {
    height: 20px !important; flex: 0 0 1px !important; opacity: .45 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .comune-header__comune {
    display: block !important; min-width: 0 !important; height: auto !important; line-height: 1 !important;
    overflow: hidden !important;
  }
  /* "Comune di / Municipality of": resta per i lettori di schermo, non occupa spazio */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .comune-header__comune-label {
    position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important;
    padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .comune-header__comune-name {
    display: block !important; font-family: var(--icam-font) !important; font-size: 17px !important;
    font-weight: 600 !important; letter-spacing: -.01em !important; line-height: 1.2 !important;
    white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
    text-transform: none !important;
  }
  /* freccia "indietro" verso la Provincia (creata da ic-app-mobile.js) */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .icam-indietro {
    flex: 0 0 44px !important; width: 44px !important; height: 44px !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    color: var(--icam-sky) !important; -webkit-text-fill-color: var(--icam-sky) !important;
    background: transparent !important; border: 0 !important; border-radius: 4px !important;
    padding: 0 !important; margin: 0 !important; text-decoration: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .icam-indietro svg,
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .icam-indietro svg path {
    width: 13px !important; height: 22px !important; fill: none !important; stroke: #5BC4FF !important; color: #5BC4FF !important;
    stroke-width: 2.6 !important; stroke-linecap: round !important; stroke-linejoin: round !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .icam-indietro:focus-visible,
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .ichm-btn:focus-visible {
    outline: 2px solid var(--icam-sky) !important; outline-offset: -2px !important;
  }
  /* tasto menu: glifo semplice come nelle barre iOS */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .ichm-btn {
    top: 6px !important; right: 6px !important; width: 44px !important; height: 44px !important;
    background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 4px !important;
    color: #fff !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .ichm-pannello {
    top: 56px !important;
  }

  /* ---------------- hero: titolo grande, dati, azioni rapide ---------------- */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero {
    min-height: 0 !important; padding: 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__overlay {
    background: linear-gradient(180deg, rgba(9,34,58,.72) 0%, rgba(9,34,58,.86) 55%, rgba(9,34,58,.96) 100%) !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__content {
    padding: 22px 16px 22px !important; min-height: 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .breadcrumb {
    display: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__badges {
    display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 8px !important;
    margin: 0 0 10px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__badge {
    margin: 0 !important; padding: 5px 9px !important; font-size: 11px !important; letter-spacing: .08em !important;
    border-radius: 2px !important; min-height: 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ic-pro-badge {
    margin: 0 !important; transform: scale(.86) !important; transform-origin: left center !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero #comune-title {
    font-family: var(--icam-font) !important; font-size: 42px !important; font-weight: 700 !important;
    letter-spacing: -.025em !important; line-height: 1.05 !important; margin: 4px 0 6px !important;
    text-transform: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__subtitle {
    font-family: var(--icam-font) !important; font-size: 15px !important; line-height: 1.4 !important;
    color: rgba(231,238,246,.86) !important; -webkit-text-fill-color: rgba(231,238,246,.86) !important;
    margin: 0 0 18px !important;
  }
  /* popolazione e CAP: un solo riquadro diviso da un filetto */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__meta {
    display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 !important;
    border: 1px solid rgba(191,227,255,.32) !important; border-radius: 0 !important;
    background: rgba(255,255,255,.05) !important; margin: 0 0 14px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__meta-item {
    border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
    padding: 12px 14px !important; margin: 0 !important; min-height: 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__meta-item + .comune-hero__meta-item {
    border-left: 1px solid rgba(191,227,255,.32) !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__meta-label {
    font-family: var(--icam-font) !important; font-size: 12px !important; font-weight: 600 !important;
    letter-spacing: .06em !important; text-transform: uppercase !important; margin: 0 0 4px !important;
    color: rgba(231,238,246,.78) !important; -webkit-text-fill-color: rgba(231,238,246,.78) !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__meta-value {
    font-family: var(--icam-mono) !important; font-size: 22px !important; font-weight: 600 !important;
    font-variant-numeric: tabular-nums !important; line-height: 1.15 !important; margin: 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ic-fonte {
    font-family: var(--icam-font) !important; font-size: 11px !important; line-height: 1.3 !important; margin-top: 4px !important;
    color: rgba(231,238,246,.78) !important; -webkit-text-fill-color: rgba(231,238,246,.78) !important;
  }
  /* quattro azioni rapide su una riga, icona sopra ed etichetta sotto */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ms-hero-buttons {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 8px !important;
    margin: 0 !important; padding: 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ms-hero-btn {
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
    gap: 6px !important; min-height: 70px !important; height: auto !important; width: auto !important;
    padding: 10px 4px 9px !important; margin: 0 !important; border-radius: 4px !important;
    background: rgba(255,255,255,.08) !important; border: 1px solid rgba(191,227,255,.28) !important; box-shadow: none !important;
    color: #fff !important; -webkit-text-fill-color: #fff !important; text-align: center !important;
    font-family: var(--icam-font) !important; font-size: 12.5px !important; font-weight: 600 !important;
    line-height: 1.15 !important; letter-spacing: 0 !important; text-transform: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ms-hero-btn.ms-btn-phone {
    background: var(--icam-sky) !important; border-color: var(--icam-sky) !important;
    color: var(--icam-navy) !important; -webkit-text-fill-color: var(--icam-navy) !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ms-hero-btn svg {
    width: 22px !important; height: 22px !important; margin: 0 !important; flex: 0 0 auto !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ms-hero-btn span {
    display: block !important; max-width: 100% !important; white-space: normal !important; overflow-wrap: anywhere !important;
    font: inherit !important; color: inherit !important; -webkit-text-fill-color: inherit !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ms-hero-btn::after {
    display: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ms-hero-btn:active {
    opacity: .72 !important;
  }

  /* ---------------- profilo: controllo a segmenti iOS ---------------- */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-profilo {
    display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; align-items: center !important;
    gap: 10px 12px !important; padding: 16px 16px 14px !important; margin: 0 !important;
    background: #fff !important; border: 0 !important; border-bottom: 1px solid var(--icam-sep) !important;
    border-radius: 0 !important; box-shadow: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-profilo .ic-profilo__q {
    grid-column: 1 !important; grid-row: 1 !important; padding: 0 !important; margin: 0 !important;
    font-family: var(--icam-font) !important; font-size: 13px !important; font-weight: 600 !important;
    letter-spacing: .04em !important; text-transform: uppercase !important;
    color: var(--icam-ink3) !important; -webkit-text-fill-color: var(--icam-ink3) !important;
    white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-profilo .icl-btn--pillola {
    /* relative, non static: l'area di tocco allargata (::before, inset negativo) deve restare
       attorno alla pillola; con static copriva tutto il blocco profilo (29/09/2026) */
    position: relative !important; top: auto !important; right: auto !important; left: auto !important;
    grid-column: 2 !important; grid-row: 1 !important; margin: 0 !important;
    min-height: 36px !important; transform: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-profilo .ic-profilo__btns {
    grid-column: 1 / -1 !important; grid-row: 2 !important;
    display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 2px !important;
    padding: 2px !important; margin: 0 !important; background: #E8EFF6 !important; border-radius: 4px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-profilo .ic-profilo__btn {
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important;
    min-height: 44px !important; height: auto !important; padding: 6px 8px !important; margin: 0 !important;
    background: transparent !important; border: 0 !important; border-radius: 3px !important; box-shadow: none !important;
    font-family: var(--icam-font) !important; font-size: 15px !important; font-weight: 600 !important;
    letter-spacing: 0 !important; text-transform: none !important;
    color: var(--icam-ink2) !important; -webkit-text-fill-color: var(--icam-ink2) !important;
    transition: background-color .2s ease, box-shadow .2s ease, color .2s ease !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-profilo .ic-profilo__btn[aria-pressed="true"] {
    background: #fff !important; color: var(--icam-ink) !important; -webkit-text-fill-color: var(--icam-ink) !important;
    box-shadow: 0 1px 3px rgba(11,35,64,.16), 0 0 0 .5px rgba(11,35,64,.08) !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-profilo .ic-profilo__btn svg {
    width: 17px !important; height: 17px !important; flex: 0 0 auto !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-profilo .ic-profilo__btn span {
    font: inherit !important; color: inherit !important; -webkit-text-fill-color: inherit !important;
    white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.2 !important; text-align: left !important; /* 17/10/2026: etichetta d'azione, mai troncata */
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-profilo .ic-profilo__btn:focus-visible {
    outline: 2px solid var(--icam-tint) !important; outline-offset: 1px !important;
  }

  /* ---------------- griglia delle sezioni: icone come una schermata Home ---------------- */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu {
    background: #fff !important; border-bottom: 1px solid var(--icam-sep) !important; box-shadow: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu .comune-tabs__scroll {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px 2px !important; padding: 16px 0 18px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu .comune-tabs__btn {
    display: flex !important; flex-direction: column !important; align-items: center !important;
    justify-content: flex-start !important; gap: 0 !important; min-height: 0 !important; height: auto !important;
    white-space: normal !important; text-align: center !important; border-radius: 4px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu .comune-tabs__btn::before {
    content: '' !important; display: block !important; position: absolute !important;
    inset: auto !important; top: 0 !important; left: 50% !important; width: 58px !important; height: 58px !important;
    margin-left: -29px !important; border: 1px solid var(--icam-hair) !important; border-radius: 4px !important;
    background: #fff !important; box-shadow: none !important; transform: none !important;
    z-index: -1 !important; opacity: 1 !important; pointer-events: none !important;
    transition: background-color .2s ease, border-color .2s ease !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu .comune-tabs__btn[aria-selected="true"]::before {
    border: 2px solid var(--icam-tint) !important; background: #EEF7FF !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu .ic-miniature {
    --mini-size: 42px; margin: 8px 0 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu .comune-tabs__btn > span {
    display: block !important; margin: 16px 0 0 !important; max-width: 100% !important;
    font-family: var(--icam-font) !important; font-weight: 500 !important; line-height: 1.2 !important;
    letter-spacing: -.005em !important; text-transform: none !important; white-space: normal !important;
    text-align: center !important; overflow-wrap: normal !important; -webkit-hyphens: manual !important; hyphens: manual !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu .comune-tabs__btn[aria-selected="true"] > span {
    font-weight: 700 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu .comune-tabs__btn::after {
    display: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu .comune-tabs__btn:focus-visible {
    outline: 2px solid var(--icam-tint) !important; outline-offset: 2px !important;
  }

  /* ---------------- barra delle sezioni che compare scorrendo ---------------- */
  .icam-barra {
    position: fixed; left: 0; right: 0; top: 56px; z-index: 1190; height: 48px;
    background: rgba(255,255,255,.94); -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
    border-bottom: 1px solid var(--icam-sep);
    transform: translateY(-110%); opacity: 0; visibility: hidden;
    transition: transform .28s cubic-bezier(.2,.8,.2,1), opacity .2s ease, visibility 0s linear .28s;
  }
  .icam-barra.is-on {
    transform: none; opacity: 1; visibility: visible;
    transition: transform .28s cubic-bezier(.2,.8,.2,1), opacity .2s ease, visibility 0s;
  }
  .icam-barra__scorri {
    display: flex; align-items: center; gap: 4px; height: 100%; padding: 0 10px;
    overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; scroll-padding-inline: 40px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 24px), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 24px), transparent 100%);
  }
  .icam-barra__scorri::-webkit-scrollbar { display: none; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-barra .icam-sez {
    flex: 0 0 auto; display: inline-flex; align-items: center; height: 44px; min-width: 44px; padding: 0 12px; margin: 0;
    border: 0; border-radius: 4px; background: transparent; box-shadow: none; cursor: pointer;
    font-family: var(--icam-font); font-size: 15px; font-weight: 500; letter-spacing: -.005em; text-transform: none;
    color: var(--icam-ink2); -webkit-text-fill-color: var(--icam-ink2); white-space: nowrap;
    position: relative;
  }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-barra .icam-sez[aria-current="true"] {
    color: var(--icam-ink); -webkit-text-fill-color: var(--icam-ink); font-weight: 700;
  }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-barra .icam-sez[aria-current="true"]::after {
    content: ''; position: absolute; left: 12px; right: 12px; bottom: 3px; height: 3px; border-radius: 2px; background: var(--icam-tint);
  }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-barra .icam-sez:focus-visible {
    outline: 2px solid var(--icam-tint); outline-offset: -4px;
  }
  body.theme-dark .icam-barra, html.force-dark .icam-barra { display: none; }

  /* ---------------- contenuti: titoli grandi e liste raggruppate ---------------- */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panels {
    background: var(--icam-bg) !important; padding-left: 16px !important; padding-right: 16px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel {
    scroll-margin-top: 112px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel > h2:first-of-type {
    display: flex !important; align-items: center !important; gap: 10px !important;
    font-family: var(--icam-font) !important; font-size: 30px !important; font-weight: 700 !important;
    letter-spacing: -.022em !important; line-height: 1.12 !important; text-transform: none !important;
    color: var(--icam-ink) !important; -webkit-text-fill-color: var(--icam-ink) !important;
    margin: 24px 0 6px !important; padding-top: 0 !important; padding-bottom: 0 !important; padding-right: 0 !important; border: 0 !important;
    min-height: 52px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel > h2:first-of-type .section-icon {
    width: 32px !important; height: 32px !important; flex: 0 0 32px !important; margin: 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel > h2:first-of-type .section-icon svg {
    width: 32px !important; height: 32px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel .comune-panel__lead {
    font-family: var(--icam-font) !important; font-size: 15px !important; line-height: 1.45 !important;
    color: var(--icam-ink2) !important; -webkit-text-fill-color: var(--icam-ink2) !important;
    margin: 0 0 8px !important; max-width: none !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel .ic-acc-head {
    font-family: var(--icam-font) !important; font-size: 20px !important; font-weight: 700 !important;
    letter-spacing: -.012em !important; text-transform: none !important; line-height: 1.25 !important;
    color: var(--icam-ink) !important; -webkit-text-fill-color: var(--icam-ink) !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel .info-list {
    display: block !important; background: #fff !important; border: 1px solid var(--icam-hair) !important;
    border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 0 8px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel .info-list > li {
    background: #fff !important; border: 0 !important; border-bottom: 1px solid var(--icam-sep) !important;
    border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 14px 16px 15px !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel .info-list > li:last-child {
    border-bottom: 0 !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel .info-list .item-title {
    font-family: var(--icam-font) !important; font-size: 17px !important; font-weight: 600 !important;
    letter-spacing: -.012em !important; line-height: 1.3 !important; text-transform: none !important;
    color: var(--icam-ink) !important; -webkit-text-fill-color: var(--icam-ink) !important;
  }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel .info-list .item-meta,
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel .info-list li > p {
    font-family: var(--icam-font) !important; font-size: 15px !important; line-height: 1.45 !important;
  }
  /* righe dei gruppi (Ricettivita', Scuole): solo due avevano un'icona, via per coerenza */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-panel .scuole-gruppo__titolo > svg.ic-icon {
    display: none !important;
  }
  /* etichetta "concluso quest'anno": leggibile, non sbiadita */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ev-concluso-tag {
    display: inline-block !important; margin-left: 6px !important; padding: 1px 6px !important;
    font-family: var(--icam-font) !important; font-size: 12px !important; font-weight: 600 !important;
    color: var(--icam-ink3) !important; -webkit-text-fill-color: var(--icam-ink3) !important;
    background: #EEF3F8 !important; border: 0 !important; border-radius: 2px !important;
  }
  /* righe di chip che scorrono di lato: dissolvenza sul bordo invece del taglio netto */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-section-jumps {
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent 100%) !important;
            mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent 100%) !important;
    scrollbar-width: none !important;
  }

  /* ---------------- tasto flottante "Proponi una correzione" ----------------
     copriva i contenuti: su mobile vive nel menu dell'header e in fondo alla sezione */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #ic-corr-fab {
    display: none !important;
  }
  .icam-corr {
    display: flex; align-items: center; justify-content: center; gap: 8px; margin: 18px 0 8px;
  }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-corr .icam-corr__b {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; margin: 0;
    background: transparent; border: 0; border-radius: 4px; box-shadow: none; cursor: pointer;
    font-family: var(--icam-font); font-size: 15px; font-weight: 500; text-transform: none; letter-spacing: 0;
    color: var(--icam-tint); -webkit-text-fill-color: var(--icam-tint);
  }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-corr .icam-corr__b svg {
    width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-corr .icam-corr__b:focus-visible { outline: 2px solid var(--icam-tint); outline-offset: 2px; }
  body.theme-dark .icam-corr .icam-corr__b { color: #8FD3FF; -webkit-text-fill-color: #8FD3FF; }
}

@media (max-width: 360px) {
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) .comune-header .comune-header__logo--light { height: 19px !important; }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ms-hero-btn { font-size: 11.5px !important; }
}

@media (min-width: 861px) {
  .icam-barra, .icam-corr { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .icam-barra, .icam-barra.is-on { transition: none; }
}

/* la freccia esiste solo nella barra mobile */
.icam-indietro { display: none; }

/* =====================================================================
   GUSCIO DELL'APP DI CITTA' (29/09/2026, v4)
   Una schermata per voce della barra in basso: html[data-icam-vista]
   = oggi | visita | eventi | servizi (impostata da ic-app-mobile.js
   solo quando la barra in basso esiste).
   ===================================================================== */
@media (max-width: 860px) {
  /* ---- Oggi: foto, motto e "Oggi a Brindisi"; niente griglia a icone (le tessere bastano) ---- */
  html[data-icam-vista="oggi"]:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu { display: none !important; }
  /* ---- Visita, Eventi, Servizi: via la testata della citta' e il profilo ---- */
  html[data-icam-vista]:not([data-icam-vista="oggi"]):not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero,
  html[data-icam-vista]:not([data-icam-vista="oggi"]):not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .ic-profilo { display: none !important; }
  html[data-icam-vista="eventi"]:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu { display: none !important; }
  /* griglia e barra delle sezioni mostrano solo le voci della schermata */
  html[data-icam-vista="servizi"] #ic-mini-menu .comune-tabs__btn:is([data-tab="overview"],[data-tab="cultura"],[data-tab="mappa"],[data-tab="strutture"],[data-tab="eventi"]),
  html[data-icam-vista="servizi"] .icam-barra .icam-sez:is([data-tab="overview"],[data-tab="cultura"],[data-tab="mappa"],[data-tab="strutture"],[data-tab="eventi"]),
  html[data-icam-vista="visita"] #ic-mini-menu .comune-tabs__btn:is([data-tab="overview"],[data-tab="servizi"],[data-tab="numeri"],[data-tab="salute"],[data-tab="scuole"],[data-tab="trasporti"],[data-tab="eventi"]),
  html[data-icam-vista="visita"] .icam-barra .icam-sez:is([data-tab="overview"],[data-tab="servizi"],[data-tab="numeri"],[data-tab="salute"],[data-tab="scuole"],[data-tab="trasporti"],[data-tab="eventi"]) { display: none !important; }
  html[data-icam-vista="visita"]:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main #ic-mini-menu .comune-tabs__scroll { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  html[data-icam-vista="oggi"] .icam-barra, html[data-icam-vista="eventi"] .icam-barra { display: none !important; }

  /* ---- apertura: foto della citta' a tutta larghezza ---- */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__map,
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__meta,
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ms-hero-buttons,
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__subtitle { display: none !important; }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero { background: var(--icam-navy) !important; }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__overlay { display: none !important; }
  .icam-foto { display: block; position: relative; aspect-ratio: 16 / 9; max-height: 46vh; overflow: hidden; background: var(--icam-navy); }
  .icam-foto img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 58% 55%; }
  .icam-foto::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 40%; background: linear-gradient(180deg, rgba(9,34,58,0) 0%, rgba(9,34,58,.9) 100%); }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .comune-hero__content { position: relative !important; margin-top: -30px !important; padding-top: 0 !important; }
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .icam-payoff {
    margin: 0 0 18px !important; font-family: var(--icam-font) !important; font-size: 17px !important; font-weight: 500 !important;
    line-height: 1.35 !important; letter-spacing: -.005em !important; color: #CFE9FF !important; -webkit-text-fill-color: #CFE9FF !important;
  }
  /* badge PRO: testo navy su azzurro (prima 1.7:1) */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ic-pro-badge__tag {
    background: var(--icam-sky) !important; color: var(--icam-navy) !important; -webkit-text-fill-color: var(--icam-navy) !important;
  }
  /* "Oggi a Brindisi": due righe azione in un riquadro a filetto */
  .icam-oggi { margin: 0; border: 1px solid rgba(191,227,255,.34); background: rgba(255,255,255,.05); }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi .icam-oggi__t {
    margin: 0; padding: 12px 14px 4px; font-family: var(--icam-font); font-size: 13px; font-weight: 600; letter-spacing: .04em;
    text-transform: uppercase; color: rgba(231,238,246,.86); -webkit-text-fill-color: rgba(231,238,246,.86);
  }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi .icam-oggi__r {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 60px; padding: 10px 14px; margin: 0;
    background: transparent; border: 0; border-top: 1px solid rgba(191,227,255,.22); border-radius: 0; box-shadow: none;
    text-align: left; cursor: pointer; color: #fff; -webkit-text-fill-color: #fff; font-family: var(--icam-font); text-transform: none; letter-spacing: 0;
  }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi .icam-oggi__t + .icam-oggi__r { border-top: 0; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi .icam-oggi__r[hidden] { display: none; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi .icam-oggi__r:active { background: rgba(255,255,255,.06); }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi .icam-oggi__r:focus-visible { outline: 2px solid var(--icam-sky); outline-offset: -2px; }
  .icam-oggi__i { flex: 0 0 36px; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; background: var(--icam-sky); border-radius: 4px; }
  .icam-oggi__i svg { width: 19px; height: 19px; fill: none; stroke: var(--icam-navy); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  .icam-oggi__x { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi .icam-oggi__x strong { font-size: 16px; font-weight: 600; line-height: 1.25; color: #fff; -webkit-text-fill-color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi .icam-oggi__x small { font-size: 13.5px; line-height: 1.3; color: rgba(231,238,246,.82); -webkit-text-fill-color: rgba(231,238,246,.82); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .icam-oggi .icam-chev { flex: 0 0 8px; width: 8px; height: 14px; fill: none; stroke: rgba(207,233,255,.8); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi .icam-oggi__cr { margin: 0; padding: 8px 14px 10px; border-top: 1px solid rgba(191,227,255,.22); font-family: var(--icam-font); font-size: 11.5px; color: rgba(231,238,246,.7); -webkit-text-fill-color: rgba(231,238,246,.7); }

  /* ---- foglio "Altro" ---- */
  dialog.icam-altro {
    position: fixed; inset: auto 0 0 0; width: 100%; max-width: 100%; max-height: 88vh; margin: 0; padding: 0;
    border: 0; border-top: 1px solid var(--icam-hair); border-radius: 0; background: var(--icam-bg); color: var(--icam-ink);
    box-shadow: 0 -12px 32px rgba(9,34,58,.18); overflow: hidden; display: none; flex-direction: column;
  }
  dialog.icam-altro[open] { display: flex; animation: icam-su .32s cubic-bezier(.2,.8,.2,1); }
  dialog.icam-altro::backdrop { background: rgba(9,34,58,.42); }
  @keyframes icam-su { from { transform: translateY(100%); } to { transform: none; } }
  .icam-altro__testa { position: relative; display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 10px 56px 8px; background: #fff; border-bottom: 1px solid var(--icam-sep); }
  .icam-altro__maniglia { position: absolute; top: 6px; left: 50%; width: 36px; height: 5px; margin-left: -18px; border-radius: 3px; background: #C9D6E3; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro h2 { margin: 6px 0 0; font-family: var(--icam-font); font-size: 17px; font-weight: 600; letter-spacing: -.01em; line-height: 1.3; text-transform: none; color: var(--icam-ink); -webkit-text-fill-color: var(--icam-ink); }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__x {
    position: absolute; right: 6px; top: 6px; width: 44px; height: 44px; padding: 0; margin: 0; display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: 0; border-radius: 4px; box-shadow: none; cursor: pointer; color: var(--icam-ink2);
  }
  .icam-altro__x svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
  .icam-altro__corpo { overflow-y: auto; overscroll-behavior: contain; padding: 8px 16px calc(24px + env(safe-area-inset-bottom, 0px)); }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__sez {
    margin: 18px 0 6px; padding: 0 4px; font-family: var(--icam-font); font-size: 13px; font-weight: 600; letter-spacing: .04em;
    text-transform: uppercase; color: var(--icam-ink3); -webkit-text-fill-color: var(--icam-ink3);
  }
  .icam-altro__lista { list-style: none; margin: 8px 0 0; padding: 0; background: #fff; border: 1px solid var(--icam-hair); }
  .icam-altro__lista li { margin: 0; padding: 0; border-bottom: 1px solid var(--icam-sep); }
  .icam-altro__lista li:last-child { border-bottom: 0; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__r {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 50px; padding: 10px 14px; margin: 0; box-sizing: border-box;
    background: #fff; border: 0; border-radius: 0; box-shadow: none; text-align: left; text-decoration: none; cursor: pointer;
    font-family: var(--icam-font); font-size: 16px; font-weight: 400; letter-spacing: -.005em; text-transform: none;
    color: var(--icam-ink); -webkit-text-fill-color: var(--icam-ink);
  }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro a.icam-altro__r:active,
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro button.icam-altro__r:active { background: #EEF7FF; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__r:focus-visible { outline: 2px solid var(--icam-tint); outline-offset: -2px; }
  .icam-altro__i { flex: 0 0 30px; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; background: #EEF7FF; color: var(--icam-tint); }
  .icam-altro__i svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
  .icam-altro__l { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__v { flex: 0 1 auto; max-width: 60%; text-align: right; color: var(--icam-ink3); -webkit-text-fill-color: var(--icam-ink3); font-size: 15px; overflow-wrap: anywhere; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-num { font-family: var(--icam-mono); font-variant-numeric: tabular-nums; font-size: 14px; color: var(--icam-ink); -webkit-text-fill-color: var(--icam-ink); }
  .icam-altro__r--dato { cursor: default !important; }
  .icam-altro .icam-chev { flex: 0 0 8px; width: 8px; height: 14px; fill: none; stroke: #9FB2C6; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  html.icam-altro-aperto { overflow: hidden; }
}
@media (min-width: 861px) { .icam-foto, .icam-oggi, .icam-payoff { display: none !important; } }
@media (prefers-reduced-motion: reduce) { dialog.icam-altro[open] { animation: none; } }

/* badge PRO leggibile anche su desktop: navy su azzurro (era 1.7:1) */
html body:not(#icam1):not(#icam2):not(#icam3) #main .comune-hero .ic-pro-badge__tag {
  background: #5BC4FF !important; color: #09223A !important; -webkit-text-fill-color: #09223A !important;
}
@media (max-width: 860px) {
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__x svg { width: 20px !important; height: 20px !important; flex: 0 0 20px !important; }
}

/* =====================================================================
   TESSERE COMPATTE "Sezioni del Comune" (29/09/2026, design system InfoComuni)
   Una sola griglia a filetti azzurri, angoli vivi, niente ombre ne' barra
   laterale; icona piccola nel colore di sezione, freccia al posto di
   "VAI ALLA SEZIONE". Vale su desktop e mobile.
   ===================================================================== */
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0 !important;
  border: 0 !important; background: transparent !important;
  padding: 0 1px 1px 0 !important; box-shadow: none !important; border-radius: 0 !important;
}
/* la mappa multimediale (flipbook) vive nella stessa griglia: a tutta larghezza, staccata */
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > #ic-flipbook-wrapper { grid-column: 1 / -1 !important; margin-top: 32px !important; }
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card {
  display: grid !important; grid-template-columns: 28px minmax(0, 1fr) 12px !important; grid-template-rows: auto auto !important;
  column-gap: 16px !important; row-gap: 4px !important; align-items: start !important; align-content: start !important;
  min-height: 112px !important; height: auto !important; box-sizing: border-box !important; padding: 20px 20px 20px 24px !important; margin: 0 !important;
  /* filetti che si sovrappongono: un solo tratto da 1px tra tessera e tessera */
  background: #fff !important; border: 1px solid #BFE3FF !important; margin: 0 -1px -1px 0 !important;
  border-radius: 0 !important; box-shadow: none !important; transform: none !important; text-decoration: none !important;
  transition: background-color .2s ease !important;
}
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card:hover { background: #F3F9FF !important; transform: none !important; box-shadow: none !important; }
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card:focus-visible { outline: 3px solid #3A8FCC !important; outline-offset: -3px !important; }
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card::before { display: none !important; content: none !important; }
/* freccia al posto di "VAI ALLA SEZIONE →" */
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card::after {
  content: '' !important; display: block !important; position: static !important; grid-column: 3 !important; grid-row: 1 / 3 !important;
  align-self: center !important; justify-self: end !important; width: 8px !important; height: 8px !important; margin: 0 2px 0 0 !important; padding: 0 !important;
  border: 0 !important; border-top: 2px solid #0E2F4A !important; border-right: 2px solid #0E2F4A !important; background: none !important;
  transform: rotate(45deg) !important; transition: transform .2s ease !important; font-size: 0 !important; letter-spacing: 0 !important;
}
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card:hover::after { transform: translateX(2px) rotate(45deg) !important; }
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__icon {
  grid-column: 1 !important; grid-row: 1 / 3 !important; width: 28px !important; height: 28px !important; min-width: 0 !important; margin: 2px 0 0 !important; padding: 0 !important;
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important;
  display: block !important;
}
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__icon svg {
  width: 28px !important; height: 28px !important; margin: 0 !important; transform: none !important; filter: none !important;
}
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__icon svg .ic-stroke {
  stroke: #0A2540 !important; stroke-width: 3.4px !important; fill: none !important;
}
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__icon svg :is([class*="acc"], .ic-fill) {
  fill: var(--ovc-accent, #1A72B8) !important; stroke: var(--ovc-accent, #1A72B8) !important;
}
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__title {
  grid-column: 2 !important; grid-row: 1 !important; margin: 0 !important; padding: 0 !important;
  display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 8px !important;
  font-family: Oswald, 'Arial Narrow', system-ui, sans-serif !important; font-size: 18px !important; line-height: 24px !important; font-weight: 600 !important;
  letter-spacing: 0 !important; text-transform: none !important; color: #0F1A30 !important; -webkit-text-fill-color: #0F1A30 !important;
}
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__title .tab-lock {
  display: inline-block !important; padding: 1px 6px !important; margin: 0 !important; border-radius: 3px !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important; font-size: 11px !important; line-height: 16px !important; font-weight: 600 !important;
  letter-spacing: 1px !important; text-transform: uppercase !important;
  background: #0B2340 !important; color: #5BC4FF !important; -webkit-text-fill-color: #5BC4FF !important; border: 0 !important;
}
html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__desc {
  grid-column: 2 !important; grid-row: 2 !important; margin: 0 !important; padding: 0 !important;
  font-family: 'Titillium Web', system-ui, sans-serif !important; font-size: 14.5px !important; line-height: 22px !important;
  color: #334155 !important; -webkit-text-fill-color: #334155 !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;
}
@media (max-width: 1080px) {
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 860px) {
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid { grid-template-columns: minmax(0, 1fr) !important; }
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card {
    grid-template-columns: 24px minmax(0, 1fr) 10px !important; column-gap: 14px !important; row-gap: 2px !important; align-items: center !important;
    min-height: 64px !important; padding: 12px 14px 12px 16px !important;
  }
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card:active { background: #F3F9FF !important; }
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card::after { border-color: #5A6B82 !important; width: 7px !important; height: 7px !important; }
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__icon { width: 24px !important; height: 24px !important; margin: 0 !important; align-self: center !important; }
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__icon svg { width: 24px !important; height: 24px !important; }
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__icon svg .ic-stroke { stroke-width: 3.8px !important; }
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__title { font-size: 17px !important; line-height: 22px !important; }
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__title .tab-lock { font-size: 11px !important; line-height: 15px !important; padding: 1px 5px !important; }
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card .overview-card__desc {
    font-size: 13.5px !important; line-height: 18px !important; display: block !important; -webkit-line-clamp: unset !important;
    white-space: nowrap !important; text-overflow: ellipsis !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card,
  html body:not(#ict1):not(#ict2):not(#ict3):not(#ict4) main#main .overview-grid > .overview-card::after { transition: none !important; }
}

@media (max-width: 860px) {
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__fonte { padding: 8px 14px 10px; font-family: var(--icam-font); font-size: 12.5px; line-height: 1.35; color: var(--icam-ink3); -webkit-text-fill-color: var(--icam-ink3); background: #fff; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__fonte a { color: var(--icam-tint); -webkit-text-fill-color: var(--icam-tint); text-decoration: underline; text-underline-offset: 2px; }
}
@media (max-width: 860px) {
  /* comuni senza foto verificata: la testata parte dal suo spazio normale */
  html:not(.force-dark) body:not(.theme-dark):not(#icam1):not(#icam2):not(#icam3) #main .comune-hero.icam-senza-foto .comune-hero__content { margin-top: 0 !important; padding-top: 22px !important; }
  .icam-oggi[hidden] { display: none !important; }
}

/* 29/09/2026: barra in basso calamitata al fondo su iPhone.
   ic-mobile-fix-preview.js la solleva di (innerHeight - area visibile) con
   transform: var(--ic-toolbar-shift). Su Safari recente la barra fissa segue gia'
   da sola il bordo visibile: le due correzioni si sommano e la barra galleggia
   sopra il fondo. Qui resta a bottom:0 con l'area sicura della linea Home. */
@media (max-width: 860px) {
  html:not(.ic-display-mobile) body:not(#icam1):not(#icam2) #ic-appbar {
    transform: none !important; bottom: 0 !important; margin-bottom: 0 !important;
  }
}
@media (max-width: 860px) {
  /* tastiera aperta (html[data-ic-tastiera], da ic-mobile-fix-preview.js): la barra esce dallo schermo */
  html[data-ic-tastiera]:not(.ic-display-mobile) body:not(#icam1):not(#icam2):not(#icam3) #ic-appbar { transform: translateY(calc(100% + 40px)) !important; }
  /* niente transizione: la pagina cambia stile ~20 volte al secondo e la farebbe ripartire all'infinito */
}

/* 29/09 · testi sotto i 12px portati a misura leggibile (audit app) */
html body:not(#ict1):not(#ict2) .ic-tourism__monument-type { font-size: 12px !important; line-height: 1.35 !important; }
html body:not(#ict1):not(#ict2) .bottom-more__link-desc { font-size: 12px !important; line-height: 1.3 !important; }
html body:not(#ict1):not(#ict2) .bottom-more__section-title { font-size: 12px !important; }
/* 29/09 · "Oggi a…" e credito foto: una regola generica dei paragrafi (colore #334155, 16px, !important)
   li rendeva grigio scuro su navy (contrasto ~1.5:1). Qui si rimettono i valori voluti. */
html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi p.icam-oggi__t {
  font-size: 13px !important; line-height: 1.3 !important; color: rgba(231,238,246,.9) !important; -webkit-text-fill-color: rgba(231,238,246,.9) !important;
}
html body:not(#icam1):not(#icam2):not(#icam3) .icam-oggi p.icam-oggi__cr {
  font-size: 12px !important; line-height: 1.35 !important; color: rgba(231,238,246,.8) !important; -webkit-text-fill-color: rgba(231,238,246,.8) !important;
}
@media (max-width: 860px) {
  /* X del foglio "Altro": il sito dà al pulsante padding 10px 18px e all'icona max-width:100%: restavano 8px */
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__x { padding: 0 !important; min-width: 44px !important; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__x svg { max-width: none !important; width: 20px !important; height: 20px !important; }
}
@media (max-width: 860px) {
  /* elenco delle lingue nel foglio "Altro" */
  .icam-altro__lingue-li[hidden] { display: none !important; }
  .icam-altro__lingue { list-style: none; margin: 0; padding: 0 0 6px 56px; background: #fff; border-top: 1px solid var(--icam-sep); }
  .icam-altro__lingue li { margin: 0; padding: 0; border-bottom: 1px solid var(--icam-sep); }
  .icam-altro__lingue li:last-child { border-bottom: 0; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__lingua {
    display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 46px; padding: 8px 14px 8px 0 !important; margin: 0;
    background: #fff; border: 0; border-radius: 0; box-shadow: none; cursor: pointer; text-align: left; text-transform: none; letter-spacing: 0;
    font-family: var(--icam-font); font-size: 16px; color: var(--icam-ink); -webkit-text-fill-color: var(--icam-ink);
  }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__lingua[aria-current="true"] { font-weight: 700; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__lingua:focus-visible { outline: 2px solid var(--icam-tint); outline-offset: -2px; }
  html body:not(#icam1):not(#icam2):not(#icam3) .icam-altro .icam-altro__spunta { width: 20px !important; height: 20px !important; max-width: none !important; fill: none; stroke: var(--icam-tint); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
}

/* 17/10/2026 - test break-ui: sotto i 400px il nome del Comune nell'header restava "San ..."
   (circa 50px utili). Il nome e' gia' nell'H1: nascosto alla vista ma non ai lettori di schermo,
   insieme al separatore che resterebbe orfano. 5 ID per superare le regole sopra. */
@media (max-width: 400px) {
  html body:not(#icfix1):not(#icfix2):not(#icfix3):not(#icfix4) .comune-header .comune-header__comune {
    position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important;
    padding: 0 !important; border: 0 !important; overflow: hidden !important;
    clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important;
  }
  html body:not(#icfix1):not(#icfix2):not(#icfix3):not(#icfix4) .comune-header .comune-header__divider {
    display: none !important;
  }
}
