/* InfoComuni - modalita' Visita (mappa a tutto schermo in stile app iOS) - 28/09/2026
   Palette del sito: blu notte #0B2340, azzurro #5BC4FF, filetto #BFE3FF, oro #B5831F solo accento.
   Mobile: mappa + pannello dal basso a tre altezze. Da 900px: pannello laterale fisso. */
dialog.icv{
  --icv-navy:#0B2340; --icv-blue:#1766A6; --icv-teal:#0F6E7C; --icv-az:#5BC4FF; --icv-line:#BFE3FF;
  --icv-gold:#B5831F; --icv-ink:#0B2340; --icv-muted:#46586E; --icv-soft:#EEF3F8; --icv-sh:208px;
  position:fixed; inset:0; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none;
  margin:0; padding:0; border:0; background:#E4ECF2; color:var(--icv-ink); overflow:hidden;
  font-family:inherit; font-size:16px; line-height:1.4; z-index:2147482000;
}
dialog.icv::backdrop{ background:rgba(11,35,64,.45); }
dialog.icv *, dialog.icv *::before, dialog.icv *::after{ box-sizing:border-box; }
dialog.icv button{ font:inherit; color:inherit; cursor:pointer; }
dialog.icv :focus-visible{ outline:3px solid var(--icv-az); outline-offset:2px; }
.icv-sr{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
html.icv-aperta, html.icv-aperta body{ overflow:hidden!important; }

/* ---- mappa ---- */
.icv-map{ position:absolute; inset:0; background:#E4ECF2; }
.icv-map .leaflet-control-attribution{ font-size:10px; background:rgba(255,255,255,.8); }
.icv-map .leaflet-bottom{ bottom:calc(var(--icv-sh) + 4px); transition:bottom .28s; }
.icv-ico{ background:none!important; border:0!important; }
.icv-pin{ position:relative; display:block; width:34px; height:34px; border-radius:50% 50% 50% 0; transform:rotate(-45deg);
  background:var(--icv-navy); border:2px solid #fff; box-shadow:0 2px 6px rgba(11,35,64,.35); transition:transform .15s; }
.icv-pin svg{ position:absolute; left:50%; top:50%; width:17px; height:17px; transform:translate(-50%,-50%) rotate(45deg);
  fill:none; stroke:#fff; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.icv-pin--monumenti{ background:var(--icv-blue); }
.icv-pin--musei{ background:var(--icv-teal); }
.icv-pin--info{ background:var(--icv-az); }
.icv-pin--info svg{ stroke:var(--icv-navy); }
.icv-pin--sel{ transform:rotate(-45deg) scale(1.32); box-shadow:0 0 0 4px rgba(91,196,255,.55), 0 3px 10px rgba(11,35,64,.45); }
.icv-num{ position:absolute; right:-9px; top:-11px; min-width:20px; height:20px; padding:0 5px; border-radius:10px;
  background:var(--icv-gold); color:#fff; font:700 12px/20px ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center;
  border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.icv-cl{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%;
  background:#fff; border:3px solid var(--icv-navy); color:var(--icv-navy); font:700 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  box-shadow:0 2px 8px rgba(11,35,64,.35); }

/* ---- barra superiore e pulsanti sulla mappa ---- */
.icv-top{ position:absolute; z-index:1001; top:calc(env(safe-area-inset-top,0px) + 10px); left:10px; right:10px;
  display:flex; align-items:center; gap:8px; pointer-events:none; }
.icv-top > *{ pointer-events:auto; }
.icv-round{ width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,.96);
  box-shadow:0 2px 10px rgba(11,35,64,.22); display:inline-flex; align-items:center; justify-content:center; padding:0; }
.icv-round svg{ width:20px; height:20px; fill:none; stroke:var(--icv-navy); stroke-width:2.2; stroke-linecap:round; }
.icv-tit{ margin:0; padding:0 14px; height:44px; display:inline-flex; align-items:center; border-radius:22px;
  background:rgba(255,255,255,.96); box-shadow:0 2px 10px rgba(11,35,64,.22); font-size:16px; font-weight:700; color:var(--icv-navy);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.icv-langbtn{ margin-left:auto; height:44px; min-width:56px; padding:0 12px; border-radius:22px; border:0;
  background:rgba(255,255,255,.96); box-shadow:0 2px 10px rgba(11,35,64,.22); font:700 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icv-navy); }
.icv-fab{ position:absolute; z-index:1001; right:10px; top:calc(env(safe-area-inset-top,0px) + 64px);
  display:flex; flex-direction:column; border-radius:12px; overflow:hidden; background:rgba(255,255,255,.96);
  box-shadow:0 2px 10px rgba(11,35,64,.22); }
.icv-fab button{ width:44px; height:44px; border:0; background:none; display:flex; align-items:center; justify-content:center; padding:0; }
.icv-fab button + button{ border-top:1px solid #DDE6EE; }
.icv-fab svg{ width:21px; height:21px; fill:none; stroke:var(--icv-navy); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.icv-fab button[aria-pressed="true"] svg{ stroke:#0A84FF; fill:rgba(10,132,255,.15); }

.icv-pop{ position:absolute; z-index:1003; right:10px; top:calc(env(safe-area-inset-top,0px) + 64px); width:min(300px, calc(100vw - 20px));
  background:#fff; border-radius:14px; box-shadow:0 8px 30px rgba(11,35,64,.3); padding:6px 0 8px; }
.icv-pop[hidden]{ display:none; }
.icv-pop__head{ display:flex; align-items:center; justify-content:space-between; padding:8px 16px 6px; }
.icv-pop__head h3{ margin:0; font-size:17px; }
.icv-pop__done{ border:0; background:none; color:#0A5FB4; font-weight:700; min-height:44px; padding:0 4px; }
.icv-pop__sec{ margin:6px 16px 2px; font:700 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--icv-muted); }
.icv-pop label{ display:flex; align-items:center; gap:12px; min-height:46px; padding:0 16px; border-top:1px solid #EDF2F6; font-size:16px; }
.icv-pop input[type=checkbox]{ width:22px; height:22px; accent-color:var(--icv-navy); }
.icv-pop__lang button{ display:flex; width:100%; align-items:center; justify-content:space-between; min-height:48px; padding:0 16px;
  border:0; border-top:1px solid #EDF2F6; background:none; font-size:16px; text-align:left; }
.icv-pop__lang button[aria-current="true"]{ font-weight:700; color:#0A5FB4; }

/* ---- pannello dal basso ---- */
.icv-sheet{ position:absolute; z-index:1002; left:0; right:0; bottom:0; height:calc(100% - 60px - env(safe-area-inset-top,0px));
  background:#fff; border-radius:14px 14px 0 0; box-shadow:0 -6px 26px rgba(11,35,64,.2);
  transform:translateY(calc(100% - var(--icv-sh))); transition:transform .3s cubic-bezier(.2,.8,.2,1);
  display:flex; flex-direction:column; touch-action:pan-y; }
.icv-sheet.is-drag{ transition:none; }
.icv-grab{ flex:0 0 auto; width:100%; height:26px; border:0; background:none; display:flex; align-items:center; justify-content:center; padding:0; touch-action:none; }
.icv-grab span{ width:40px; height:5px; border-radius:3px; background:#C3CEDA; }
.icv-body{ flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:0 16px calc(env(safe-area-inset-bottom,0px) + 20px); }
.icv-search{ position:relative; margin:0 0 10px; }
.icv-search svg{ position:absolute; left:11px; top:50%; width:18px; height:18px; transform:translateY(-50%); fill:none; stroke:#6B7B8F; stroke-width:2.2; stroke-linecap:round; }
.icv-search input{ width:100%; height:44px; border:0; border-radius:11px; background:var(--icv-soft); padding:0 12px 0 38px; font:inherit; font-size:16px; color:var(--icv-ink); }
.icv-search input::placeholder{ color:#66778C; }
.icv-flts{ display:flex; gap:8px; overflow-x:auto; margin:0 -16px 10px; padding:2px 16px 4px; scrollbar-width:none; }
.icv-flts::-webkit-scrollbar{ display:none; }
.icv-flt{ flex:0 0 auto; height:36px; padding:0 14px; border-radius:18px; border:1px solid var(--icv-line); background:#fff; font-size:15px; font-weight:600; color:var(--icv-navy); white-space:nowrap; }
.icv-flt[aria-pressed="true"]{ background:var(--icv-navy); border-color:var(--icv-navy); color:#fff; }
.icv-prog{ display:flex; align-items:center; gap:10px; margin:0 0 6px; font-size:14px; color:var(--icv-muted); }
.icv-prog b{ font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icv-navy); }
.icv-prog__bar{ flex:1 1 auto; height:5px; border-radius:3px; background:var(--icv-soft); overflow:hidden; }
.icv-prog__bar i{ display:block; height:100%; width:0; background:var(--icv-gold); transition:width .3s; }
.icv-count{ margin:10px 0 2px; font:700 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--icv-muted); }
.icv-list{ list-style:none; margin:0; padding:0; }
.icv-list li + li .icv-row{ border-top:1px solid #E7EEF4; }
.icv-row{ display:flex; align-items:center; gap:12px; width:100%; min-height:66px; padding:8px 0; border:0; background:none; text-align:left; }
.icv-row__img{ flex:0 0 52px; width:52px; height:52px; border-radius:9px; object-fit:cover; background:var(--icv-soft); }
.icv-row__ico{ flex:0 0 52px; width:52px; height:52px; border-radius:9px; display:flex; align-items:center; justify-content:center; background:var(--icv-soft); }
.icv-row__ico svg{ width:22px; height:22px; fill:none; stroke:var(--icv-navy); stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.icv-row__txt{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.icv-row__t{ font-size:16px; font-weight:700; color:var(--icv-navy); line-height:1.25; }
.icv-row__s{ font-size:14px; color:var(--icv-muted); display:flex; flex-wrap:wrap; gap:0 6px; }
.icv-row__s .icv-d{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; }
.icv-row__n{ flex:0 0 auto; min-width:24px; height:24px; border-radius:12px; background:var(--icv-gold); color:#fff; font:700 12px/24px ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center; padding:0 6px; }
.icv-row__chev{ flex:0 0 auto; width:10px; height:16px; fill:none; stroke:#9AA9B9; stroke-width:2.2; stroke-linecap:round; }
.icv-empty{ padding:18px 0; color:var(--icv-muted); }

/* ---- scheda del luogo ---- */
.icv-sch[hidden], .icv-home[hidden]{ display:none; }
.icv-sch__nav{ display:flex; align-items:center; gap:6px; margin:0 0 8px; }
.icv-sch__back{ display:inline-flex; align-items:center; gap:4px; min-height:44px; padding:0 8px 0 0; border:0; background:none; color:#0A5FB4; font-weight:600; font-size:16px; }
.icv-sch__back svg, .icv-sch__arr svg{ width:12px; height:18px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.icv-sch__arr{ width:44px; height:44px; border-radius:50%; border:1px solid var(--icv-line); background:#fff; color:var(--icv-navy); display:inline-flex; align-items:center; justify-content:center; padding:0; }
.icv-sch__arr:first-of-type{ margin-left:auto; }
.icv-gal{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:8px; margin:0 -16px; padding:0 16px; scrollbar-width:none; }
.icv-gal::-webkit-scrollbar{ display:none; }
.icv-gal img{ flex:0 0 100%; width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:12px; scroll-snap-align:center; background:var(--icv-soft); }
.icv-gal--multi img{ flex-basis:88%; }
.icv-credit{ margin:6px 0 0; font:12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icv-muted); }
.icv-kick{ margin:12px 0 2px; font:700 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.09em; text-transform:uppercase; color:var(--icv-blue); }
.icv-sch h3{ margin:0; font-size:23px; line-height:1.2; color:var(--icv-navy); }
.icv-sch h3:focus{ outline:none; }
.icv-dist{ margin:6px 0 0; font:600 14px ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icv-navy); }
.icv-addr{ margin:4px 0 0; font-size:15px; color:var(--icv-muted); }
.icv-sint{ margin:12px 0 0; font-size:17px; line-height:1.5; }
.icv-act{ display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 4px; }
.icv-azn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:0 16px; border-radius:12px;
  border:1px solid var(--icv-line); background:#fff; color:var(--icv-navy); font-weight:700; font-size:16px; text-decoration:none; }
.icv-azn svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.icv-azn--pri{ background:var(--icv-navy); border-color:var(--icv-navy); color:#fff!important; flex:1 1 140px; }
.icv-azn[aria-pressed="true"]{ background:var(--icv-gold); border-color:var(--icv-gold); color:#fff; }
.icv-more h4{ margin:22px 0 6px; font:700 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.09em; text-transform:uppercase; color:var(--icv-muted); }
.icv-more p{ margin:0 0 10px; font-size:16px; line-height:1.55; }
.icv-more .icv-ris-t{ margin:14px 0 4px; font-weight:700; }
.icv-info{ margin:10px 0 0; padding:0; list-style:none; border-top:1px solid #E7EEF4; }
.icv-info li{ display:flex; align-items:center; gap:10px; min-height:48px; border-bottom:1px solid #E7EEF4; font-size:16px; }
.icv-info li svg{ flex:0 0 18px; width:18px; height:18px; fill:none; stroke:var(--icv-blue); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.icv-info a{ color:#0A5FB4; font-weight:600; }
.icv-info .icv-lab{ color:var(--icv-muted); }
.icv-fonti{ font-size:14px!important; color:var(--icv-muted); }
.icv-fonti a{ color:#0A5FB4; }
.icv-trans{ margin:12px 0 0; border:1px solid var(--icv-line); border-radius:12px; padding:0 14px; }
.icv-trans summary{ min-height:46px; display:flex; align-items:center; font-weight:700; cursor:pointer; color:var(--icv-navy); }
.icv-trans p{ margin:0 0 12px; font-size:16px; line-height:1.55; }

/* ---- lettore audio ---- */
.icv-player{ position:absolute; z-index:1004; left:10px; right:10px; bottom:calc(var(--icv-sh) + 10px);
  display:flex; align-items:center; gap:6px; min-height:60px; padding:6px 8px 6px 6px; border-radius:16px;
  background:var(--icv-navy); color:#fff; box-shadow:0 8px 24px rgba(11,35,64,.4); transition:bottom .3s cubic-bezier(.2,.8,.2,1); }
.icv-player[hidden]{ display:none; }
dialog.icv[data-d="full"] .icv-player{ bottom:calc(env(safe-area-inset-bottom,0px) + 10px); }
dialog.icv.has-player .icv-body{ padding-bottom:calc(env(safe-area-inset-bottom,0px) + 92px); }
.icv-player__who{ flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:10px; border:0; background:none; color:#fff; text-align:left; min-height:48px; padding:0 4px; }
.icv-player__who b{ flex:0 0 auto; min-width:26px; height:26px; border-radius:13px; background:var(--icv-gold); font:700 13px/26px ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center; }
.icv-player__who span{ display:flex; flex-direction:column; min-width:0; }
.icv-player__who strong{ font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.icv-player__who small{ font:12px ui-monospace,SFMono-Regular,Menlo,monospace; opacity:.85; }
.icv-player button.icv-pb{ flex:0 0 44px; width:44px; height:44px; border-radius:50%; border:0; background:none; color:#fff; display:flex; align-items:center; justify-content:center; padding:0; }
.icv-player button.icv-pb--play{ background:#fff; color:var(--icv-navy); }
.icv-player .icv-pb svg{ width:20px; height:20px; fill:currentColor; }
.icv-player__bar{ position:absolute; left:14px; right:14px; bottom:3px; height:3px; border-radius:2px; background:rgba(255,255,255,.22); overflow:hidden; }
.icv-player__bar i{ display:block; height:100%; width:0; background:var(--icv-az); }

/* ---- benvenuto e avvisi ---- */
.icv-wel{ position:absolute; z-index:1005; left:12px; right:12px; bottom:calc(env(safe-area-inset-bottom,0px) + 16px); max-width:440px; margin:0 auto;
  background:#fff; border-radius:18px; box-shadow:0 12px 40px rgba(11,35,64,.35); padding:20px 18px 16px; }
.icv-wel[hidden]{ display:none; }
.icv-wel h3{ margin:0 0 6px; font-size:21px; color:var(--icv-navy); }
.icv-wel p{ margin:0 0 14px; font-size:16px; line-height:1.5; color:#2A3B52; }
.icv-wel .icv-azn{ width:100%; margin-top:8px; }
.icv-toast{ position:absolute; z-index:1006; left:50%; top:calc(env(safe-area-inset-top,0px) + 64px); transform:translateX(-50%);
  max-width:calc(100vw - 40px); padding:10px 16px; border-radius:20px; background:rgba(11,35,64,.94); color:#fff; font-size:15px;
  box-shadow:0 6px 20px rgba(0,0,0,.25); opacity:0; pointer-events:none; transition:opacity .2s; text-align:center; }
.icv-toast.is-on{ opacity:1; }

/* ---- punto d'ingresso nella pagina ---- */
.icv-entry{ display:flex; align-items:center; gap:14px; width:100%; margin:0 0 16px; padding:14px 16px; background:#fff;
  border:1px solid #BFE3FF; border-radius:0; color:#0B2340; text-align:left; font:inherit; cursor:pointer; }
.icv-entry:hover{ border-color:#5BC4FF; }
.icv-entry:focus-visible{ outline:3px solid #5BC4FF; outline-offset:2px; }
.icv-entry__ico{ flex:0 0 44px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:#0B2340; }
.icv-entry__ico svg{ width:24px; height:24px; fill:none; stroke:#fff; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.icv-entry__txt{ flex:1 1 auto; display:flex; flex-direction:column; gap:2px; }
.icv-entry__txt strong{ font-size:17px; }
.icv-entry__txt span{ font-size:14px; color:#46586E; }
.icv-entry__arr{ flex:0 0 auto; width:10px; height:16px; fill:none; stroke:#0B2340; stroke-width:2.2; }

/* ---- schermi larghi: pannello laterale ---- */
@media (min-width:900px){
  .icv-sheet{ left:16px; right:auto; top:76px; bottom:16px; width:400px; height:auto; border-radius:14px; transform:none!important; }
  .icv-grab{ display:none; }
  .icv-body{ padding-top:14px; }
  .icv-player{ left:432px; right:auto; width:440px; bottom:16px!important; }
  .icv-map .leaflet-bottom{ bottom:0!important; }
  .icv-wel{ left:432px; right:auto; margin:0; }
  .icv-toast{ left:calc(50% + 208px); }
  .icv-top{ right:auto; left:16px; width:400px; }
  .icv-fab, .icv-pop{ right:16px; top:16px; }
}
@media (prefers-reduced-motion:reduce){
  .icv-sheet, .icv-player, .icv-pin, .icv-toast, .icv-prog__bar i, .icv-map .leaflet-bottom{ transition:none!important; }
}
html.a11y-no-animation .icv-sheet, html.a11y-no-animations .icv-sheet, html.ic-no-motion .icv-sheet{ transition:none!important; }

/* ---- difesa dal tema del sito: regole globali con !important su button, [class*=chip], [class*=card]... ---- */
dialog.icv button, dialog.icv input, dialog.icv a.icv-azn{ font-family:inherit!important; letter-spacing:normal!important; text-transform:none!important; font-size:16px!important; box-shadow:none; }
dialog.icv button{ padding:0; border-radius:0; min-height:0; }
dialog.icv .icv-round{ border-radius:50%!important; width:44px!important; height:44px!important; padding:0!important; box-shadow:0 2px 10px rgba(11,35,64,.22)!important; }
dialog.icv .icv-langbtn{ border-radius:22px!important; font:700 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important; padding:0 12px!important; box-shadow:0 2px 10px rgba(11,35,64,.22)!important; }
dialog.icv .icv-fab button{ border-radius:0!important; padding:0!important; }
dialog.icv .icv-grab{ border-radius:0!important; padding:0!important; }
dialog.icv .icv-flt{ border-radius:18px!important; padding:0 14px!important; font-size:15px!important; font-weight:600!important; height:36px!important; }
dialog.icv .icv-flts{ border:0!important; background:none!important; border-radius:0!important; }
dialog.icv .icv-row{ border-radius:0!important; padding:8px 0!important; font-size:16px!important; }
dialog.icv .icv-sch, dialog.icv .icv-sch__nav{ border:0!important; box-shadow:none!important; padding:0!important; border-radius:0!important; background:none!important; }
dialog.icv .icv-sch__back{ border:0!important; box-shadow:none!important; border-radius:0!important; padding:0 8px 0 0!important; font-weight:600!important; color:#0A5FB4!important; background:none!important; }
dialog.icv .icv-sch__arr{ border-radius:50%!important; padding:0!important; box-shadow:none!important; }
dialog.icv .icv-azn{ border-radius:12px!important; padding:0 16px!important; font-weight:700!important; }
dialog.icv .icv-pop__done, dialog.icv .icv-pop__lang button{ border-radius:0!important; padding:0 16px!important; }
dialog.icv .icv-pop__done{ padding:0 4px!important; font-weight:700!important; }
dialog.icv .icv-player__who{ border-radius:0!important; padding:0 4px!important; }
dialog.icv .icv-pb{ border-radius:50%!important; padding:0!important; }
dialog.icv .icv-search input{ border-radius:11px!important; padding:0 12px 0 38px!important; border:0!important; height:44px!important; }
html body .icv-entry{ border-radius:0!important; font-family:inherit!important; font-size:16px!important; text-transform:none!important; letter-spacing:normal!important; padding:14px 16px!important; box-shadow:none!important; }
dialog.icv .icv-azn[aria-pressed="true"]{ background:#B5831F!important; border-color:#B5831F!important; color:#fff!important; }
dialog.icv .icv-more h4, dialog.icv .icv-pop__head h3{ font-family:inherit!important; }
dialog.icv .icv-more h4{ font:700 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace!important; letter-spacing:.09em!important; text-transform:uppercase!important; color:#46586E!important; }
html body .icv-entry .icv-entry__txt strong{ font-size:17px!important; font-weight:700!important; }
html body .icv-entry .icv-entry__txt span{ font-size:14px!important; font-weight:400!important; color:#46586E!important; }

/* =================== v3: mappa incorporata nella scheda Esplora =================== */
.icxm{ --icv-navy:#0B2340; --icv-blue:#1766A6; --icv-teal:#0F6E7C; --icv-az:#5BC4FF; --icv-line:#BFE3FF;
  --icv-gold:#B5831F; --icv-ink:#0B2340; --icv-muted:#46586E; --icv-soft:#EEF3F8; --icv-sh:0px; position:relative; margin:0 0 28px; padding:18px; background:#fff; border:1px solid #BFE3FF; color:#0B2340; }
.icxm *, .icxm *::before, .icxm *::after{ box-sizing:border-box; }
.icxm-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; }
html body .icxm .icxm-head h2{ margin:0 !important; font-size:22px !important; line-height:1.2 !important; color:#0B2340 !important; }
html body .icxm button.icxm-full{ display:inline-flex !important; align-items:center !important; gap:8px !important; height:40px !important; padding:0 14px !important;
  border:1px solid #BFE3FF !important; border-radius:4px !important; background:#fff !important; color:#0B2340 !important; font-size:15px !important; font-weight:600 !important; line-height:1 !important; font-family:inherit !important;
  text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; cursor:pointer; }
html body .icxm button.icxm-full:hover{ border-color:#5BC4FF !important; }
.icxm-full svg{ width:18px; height:18px; fill:none; stroke:#0B2340; stroke-width:2.2; stroke-linecap:round; }
.icxm-flts{ display:flex; gap:8px; overflow-x:auto; margin:0 0 12px; padding:2px 0 4px; scrollbar-width:none; }
.icxm-flts::-webkit-scrollbar{ display:none; }
html body .icxm button.icxm-f{ flex:0 0 auto !important; height:36px !important; padding:0 14px !important; border:1px solid #BFE3FF !important; border-radius:18px !important;
  background:#fff !important; color:#0B2340 !important; font-size:15px !important; font-weight:600 !important; font-family:inherit !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; white-space:nowrap; cursor:pointer; }
html body .icxm button.icxm-f[aria-pressed="true"]{ background:#0B2340 !important; border-color:#0B2340 !important; color:#fff !important; }
.icxm-body{ display:grid; grid-template-columns:minmax(0,1fr) 330px; height:580px; border:1px solid #BFE3FF; }
.icxm-wrap{ position:relative; min-width:0; min-height:0; overflow:hidden; }
.icxm-map{ position:absolute; inset:0; background:#E4ECF2; }
.icxm-map .leaflet-control-attribution{ font-size:10px; }
.icxm-side{ border-left:1px solid #BFE3FF; overflow-y:auto; overscroll-behavior:contain; background:#fff; }
.icxm-count{ position:sticky; top:0; z-index:1; margin:0; padding:12px 14px 10px; background:#fff; border-bottom:1px solid #EAF1F7;
  font:700 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.09em; text-transform:uppercase; color:#46586E; }
.icxm-list{ list-style:none; margin:0; padding:0; }
.icxm-li{ display:flex; align-items:center; gap:4px; padding-right:10px; border-bottom:1px solid #EAF1F7; }
html body .icxm button.icxm-row{ flex:1 1 auto !important; display:flex !important; align-items:center !important; gap:10px !important; min-height:56px !important; min-width:0 !important;
  padding:6px 6px 6px 14px !important; border:0 !important; border-radius:0 !important; background:none !important; box-shadow:none !important; text-align:left !important;
  font-family:inherit !important; text-transform:none !important; letter-spacing:0 !important; color:#0B2340 !important; cursor:pointer; }
html body .icxm button.icxm-row[aria-current="true"]{ background:#EEF7FF !important; }
.icxm-n{ flex:0 0 26px; width:26px; height:26px; border-radius:13px; background:#B5831F; color:#fff; font:700 12px/26px ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center; }
.icxm-g{ flex:0 0 26px; width:26px; height:26px; display:flex; align-items:center; justify-content:center; }
.icxm-g svg{ width:20px; height:20px; fill:none; stroke:#1766A6; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.icxm-row__t{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.icxm-row__t strong{ font-size:15px; line-height:1.25; font-weight:700; }
.icxm-row__t small{ font-size:13px; color:#46586E; }
html body .icxm button.icxm-play{ flex:0 0 40px !important; width:40px !important; height:40px !important; padding:0 !important; border:1px solid #BFE3FF !important; border-radius:50% !important;
  background:#fff !important; color:#0B2340 !important; display:flex !important; align-items:center !important; justify-content:center !important; box-shadow:none !important; cursor:pointer; }
html body .icxm button.icxm-play[aria-pressed="true"]{ background:#B5831F !important; border-color:#B5831F !important; color:#fff !important; }
.icxm-ico{ display:inline-flex; }
.icxm-ico svg{ width:16px; height:16px; fill:currentColor; }

/* scheda del segnaposto: in alto a sinistra sulla mappa (desktop), dal basso (mobile) */
.icxm-sch{ position:absolute; z-index:1001; left:12px; top:12px; width:310px; max-height:calc(100% - 24px); overflow-y:auto; overscroll-behavior:contain;
  background:#fff; border:1px solid #BFE3FF; box-shadow:0 12px 32px rgba(11,35,64,.28); }
.icxm-sch[hidden]{ display:none; }
.icxm-sch__img{ display:block; width:100%; aspect-ratio:16/9; object-fit:cover; background:#EEF3F8; }
html body .icxm button.icxm-x{ position:absolute !important; right:8px !important; top:8px !important; z-index:2 !important; width:36px !important; height:36px !important; padding:0 !important;
  border:0 !important; border-radius:50% !important; background:rgba(255,255,255,.95) !important; box-shadow:0 1px 6px rgba(0,0,0,.25) !important;
  display:flex !important; align-items:center !important; justify-content:center !important; cursor:pointer; }
.icxm-x svg{ width:16px; height:16px; fill:none; stroke:#0B2340; stroke-width:2.4; stroke-linecap:round; }
.icxm-au{ display:flex; align-items:center; gap:10px; padding:10px 12px; background:#0B2340; }
html body .icxm button.icxm-au__play{ flex:0 0 auto !important; display:inline-flex !important; align-items:center !important; gap:8px !important; height:44px !important; padding:0 16px 0 12px !important;
  border:0 !important; border-radius:22px !important; background:#B5831F !important; color:#fff !important; font-size:16px !important; font-weight:700 !important; font-family:inherit !important;
  text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; cursor:pointer; }
html body .icxm button.icxm-au__play .icxm-ico svg{ width:18px; height:18px; }
.icxm-au__bar{ flex:1 1 auto; height:4px; border-radius:2px; background:rgba(255,255,255,.22); overflow:hidden; }
.icxm-au__bar i{ display:block; height:100%; width:0; background:#5BC4FF; }
.icxm-au__t{ flex:0 0 auto; font:12px ui-monospace,SFMono-Regular,Menlo,monospace; color:#DCE8F3; }
.icxm-credit{ margin:6px 12px 0; font:11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; color:#46586E; }
.icxm-sch__txt{ padding:8px 14px 14px; }
.icxm-kick{ margin:0 0 2px; font:700 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.09em; text-transform:uppercase; color:#1766A6; }
html body .icxm .icxm-sch__t{ margin:0 0 6px !important; font-size:19px !important; line-height:1.25 !important; color:#0B2340 !important; }
.icxm-sch__t:focus{ outline:none; }
.icxm-sint{ margin:0 0 12px; font-size:15px; line-height:1.5; color:#1F3148; }
.icxm-act{ display:flex; gap:8px; }
html body .icxm .icxm-a{ flex:1 1 0 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:6px !important; min-height:44px !important; padding:0 10px !important;
  border:1px solid #BFE3FF !important; border-radius:4px !important; background:#fff !important; color:#0B2340 !important; font-size:15px !important; font-weight:700 !important; font-family:inherit !important;
  text-decoration:none !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; cursor:pointer; }
html body .icxm a.icxm-a--pri{ background:#0B2340 !important; border-color:#0B2340 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; }
.icxm-a svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.icxm-a svg[viewBox="0 0 12 18"]{ width:9px; height:14px; }

/* lettore, avvisi, progresso dentro Esplora */
.icxm .icv-player{ left:auto; right:12px; bottom:12px; width:min(380px, calc(100% - 24px)); z-index:1002; }
.icxm .icv-player__who b svg, dialog.icv .icv-player__who b svg{ width:15px; height:15px; fill:none; stroke:#fff; stroke-width:2; margin-top:5px; }
html body .icxm .icv-player button{ font-family:inherit !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; }
html body .icxm .icv-player .icv-pb{ border-radius:50% !important; padding:0 !important; }
html body .icxm .icv-player .icv-player__who{ border-radius:0 !important; padding:0 4px !important; background:none !important; }
.icxm-toast{ position:absolute; z-index:1003; left:50%; top:12px; transform:translateX(-50%); padding:8px 14px; border-radius:18px; background:rgba(11,35,64,.94); color:#fff; font-size:14px; opacity:0; pointer-events:none; transition:opacity .2s; }
.icxm-toast.is-on{ opacity:1; }
.icxm-prog{ margin:12px 0 0; }

@media (max-width:819px){
  .icxm{ padding:14px 12px; margin-left:-4px; margin-right:-4px; }
  .icxm-body{ grid-template-columns:1fr; height:auto; }
  .icxm-wrap{ height:64vh; min-height:380px; }
  .icxm-side{ border-left:0; border-top:1px solid #BFE3FF; max-height:none; overflow:visible; }
  .icxm-count{ position:static; }
  .icxm-sch{ left:8px; right:8px; top:auto; bottom:8px; width:auto; max-height:58%; }
  .icxm-sch__img{ aspect-ratio:16/6; }
  .icxm-sint{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .icxm .leaflet-control-zoom{ display:none; }
  .icxm .icv-player{ top:8px; bottom:auto; left:8px; right:8px; width:auto; }
  html body .icxm .icxm-head h2{ font-size:19px !important; }
  html body .icxm button.icxm-full span{ display:none; }
}
@media (prefers-reduced-motion:reduce){ .icxm-toast{ transition:none; } }

/* ======================= v4 (29/09/2026): logica "Brindisi a piedi" ======================= */
:root{ --icc-coral:#C44532; --icc-porto:#1766A6; --icc-navy:#0B2340; --icc-line:#BFE3FF; --icc-muted:#46586E; --icc-soft:#EEF3F8; }
/* segnaposto: tappe = dischi pieni numerati, luoghi = cerchi con simbolo, altri = punti, gruppi = pillole "+n" */
.icv-st{ position:relative; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%;
  background:var(--icc-coral); color:#fff; border:2.5px solid #fff; box-shadow:0 2px 7px rgba(11,35,64,.38); transition:transform .15s; }
.icv-st b{ font:700 16px/1 ui-monospace,SFMono-Regular,Menlo,monospace; color:#fff; }
.icv-st--ext{ background:var(--icc-porto); }
.icv-st.is-sel{ transform:scale(1.22); box-shadow:0 0 0 4px rgba(196,69,50,.28), 0 3px 10px rgba(11,35,64,.45); }
.icv-st--ext.is-sel{ box-shadow:0 0 0 4px rgba(23,102,166,.28), 0 3px 10px rgba(11,35,64,.45); }
.icv-st__i{ position:absolute; right:-7px; top:-7px; width:17px; height:17px; border-radius:50%; background:#fff; color:var(--icc-navy);
  font:italic 700 11px/17px Georgia,serif; text-align:center; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.icv-pl{ display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#fff;
  border:2px solid var(--icc-navy); box-shadow:0 1px 5px rgba(11,35,64,.3); transition:transform .15s; }
.icv-pl svg{ width:16px; height:16px; fill:none; stroke:var(--icc-navy); stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.icv-pl--musei{ border-color:var(--icc-porto); }
.icv-pl--musei svg{ stroke:var(--icc-porto); }
.icv-pl--altri{ width:14px; height:14px; border:2px solid #fff; background:#5E7187; margin:3px; }
.icv-pl.is-sel{ transform:scale(1.35); box-shadow:0 0 0 4px rgba(91,196,255,.5), 0 3px 10px rgba(11,35,64,.4); }
.icv-cl{ display:flex; align-items:center; justify-content:center; width:auto; min-width:40px; height:26px; padding:0 9px; border-radius:13px;
  background:rgba(255,255,255,.96); border:1.5px solid #8FA2B6; color:var(--icc-navy); font:700 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace; box-shadow:0 1px 5px rgba(11,35,64,.25); }
.icv-ico:focus-visible{ outline:none; }
.icv-ico:focus-visible > span{ outline:3px solid #5BC4FF; outline-offset:3px; }

/* testata della mappa incorporata */
html body .icxm .icxm-head{ align-items:flex-start; margin:0 0 14px; }
html body .icxm .icxm-tt h2{ margin:0 !important; font-size:24px !important; line-height:1.15 !important; color:var(--icc-navy) !important; }
.icxm-pay{ margin:4px 0 0; font-size:16px; color:var(--icc-muted); font-style:italic; }
.icxm-inv{ margin:0 0 8px; font:700 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.09em; text-transform:uppercase; color:var(--icc-navy); }
.icxm-desc{ margin:10px 0 10px; font-size:15px; color:#1F3148; }
.icxm-carica{ height:120px; background:linear-gradient(90deg,#F4F8FB,#EAF1F7,#F4F8FB); }
.icxm-err{ margin:0; padding:18px; color:#1F3148; }
/* selettore a segmenti "Scegli il tuo tempo" */
.icc-seg{ display:flex; gap:0; border:1px solid var(--icc-line); background:#fff; padding:3px; border-radius:10px; }
html body .icc-seg button{ flex:1 1 0 !important; min-height:44px !important; padding:0 8px !important; margin:0 !important; border:0 !important; border-radius:7px !important;
  background:transparent !important; color:var(--icc-navy) !important; font-family:inherit !important; font-size:15px !important; font-weight:600 !important;
  text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; white-space:nowrap; cursor:pointer; }
html body .icc-seg button[aria-checked="true"]{ background:var(--icc-navy) !important; color:#fff !important; }
html body .icc-seg button:focus-visible{ outline:3px solid #5BC4FF !important; outline-offset:1px !important; }
/* legenda: colore + forma + parola */
.icc-leg{ list-style:none; display:flex; flex-wrap:wrap; gap:6px 16px; margin:0 0 12px; padding:0; font-size:13px; color:#1F3148; }
.icc-leg li{ display:flex; align-items:center; gap:7px; }
.icc-sw{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; color:#fff; }
.icc-sw--st{ background:var(--icc-coral); }
.icc-sw--ext{ background:var(--icc-porto); }
.icc-sw--musei, .icc-sw--culto{ background:#fff; border:2px solid var(--icc-navy); }
.icc-sw--musei{ border-color:var(--icc-porto); }
.icc-sw svg{ width:12px; height:12px; fill:none; stroke:var(--icc-navy); stroke-width:2.2; }
.icc-sw--musei svg{ stroke:var(--icc-porto); }
.icc-sw--altri{ width:12px; height:12px; background:#5E7187; margin:0 4px; }
.icc-sw--srv{ background:#fff; color:var(--icc-navy); border:1.5px solid var(--icc-navy); font:italic 700 12px/1 Georgia,serif; }

/* elenco laterale */
.icxm-side{ padding:0 0 12px; }
.icc-eh{ padding:14px 16px 10px; border-bottom:1px solid #EAF1F7; }
html body .icc-eh h3{ margin:0 !important; font-size:18px !important; line-height:1.25 !important; color:var(--icc-navy) !important; }
.icc-eh > p{ margin:2px 0 8px; font-size:14px; color:var(--icc-muted); }
.icc-prog{ display:flex; align-items:center; gap:10px; margin:6px 0 4px; font-size:13px; color:var(--icc-muted); }
.icc-prog b{ display:inline-flex; align-items:center; gap:4px; font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icc-navy); white-space:nowrap; }
.icc-prog b svg{ width:15px; height:15px; fill:none; stroke:#1E7A45; stroke-width:2.6; }
.icc-prog.is-ok b{ color:#1E7A45; }
.icc-prog__bar{ flex:1 1 auto; height:4px; border-radius:2px; background:var(--icc-soft); overflow:hidden; }
.icc-prog__bar i{ display:block; height:100%; width:0; background:var(--icc-coral); }
.icc-perc{ margin:8px 0 2px; }
.icc-perc summary{ display:flex; align-items:center; min-height:40px; font-weight:700; color:var(--icc-navy); cursor:pointer; }
.icc-perc p{ margin:0 0 10px; font-size:15px; line-height:1.55; color:#1F3148; }
html body .icc-pp, html body .icc-link{ display:inline-flex !important; align-items:center !important; gap:8px !important; min-height:40px !important; padding:0 14px !important; margin:0 0 6px !important;
  border:1px solid var(--icc-line) !important; border-radius:20px !important; background:#fff !important; color:var(--icc-navy) !important; font-family:inherit !important; font-size:14px !important;
  font-weight:700 !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; cursor:pointer; }
html body .icc-pp[aria-pressed="true"]{ background:var(--icc-coral) !important; border-color:var(--icc-coral) !important; color:#fff !important; }
.icc-list{ list-style:none; margin:0; padding:0; }
.icc-li{ display:flex; align-items:center; gap:4px; padding-right:10px; border-bottom:1px solid #EAF1F7; }
html body button.icc-r{ flex:1 1 auto !important; display:flex !important; align-items:center !important; gap:12px !important; min-height:58px !important; min-width:0 !important;
  padding:7px 6px 7px 16px !important; margin:0 !important; border:0 !important; border-radius:0 !important; background:none !important; box-shadow:none !important; text-align:left !important;
  font-family:inherit !important; text-transform:none !important; letter-spacing:0 !important; color:var(--icc-navy) !important; cursor:pointer; }
html body button.icc-r[aria-current="true"]{ background:#EEF7FF !important; }
.icc-n{ flex:0 0 28px; width:28px; height:28px; border-radius:50%; background:var(--icc-coral); color:#fff; font:700 13px/28px ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center; }
.icc-n--ext{ background:var(--icc-porto); }
.icc-g{ flex:0 0 28px; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:2px solid var(--icc-navy); background:#fff; }
.icc-g--musei{ border-color:var(--icc-porto); }
.icc-g svg{ width:15px; height:15px; fill:none; stroke:var(--icc-navy); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.icc-g--musei svg{ stroke:var(--icc-porto); }
.icc-g--altri{ border:0; }
.icc-g--altri::after{ content:""; width:12px; height:12px; border-radius:50%; background:#5E7187; }
.icc-r__t{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.icc-r__t strong{ font-size:15px; line-height:1.25; font-weight:700; }
.icc-r__s{ font-size:13px; color:#1F3148; }
.icc-r__t small{ font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icc-muted); }
html body button.icc-play{ flex:0 0 44px !important; width:44px !important; height:44px !important; padding:0 !important; margin:0 !important; border:1px solid var(--icc-line) !important; border-radius:50% !important;
  background:#fff !important; color:var(--icc-navy) !important; display:flex !important; align-items:center !important; justify-content:center !important; box-shadow:none !important; cursor:pointer; }
html body button.icc-play[aria-pressed="true"]{ background:var(--icc-coral) !important; border-color:var(--icc-coral) !important; color:#fff !important; }
.icc-ico{ display:inline-flex; }
.icc-ico svg{ width:16px; height:16px; fill:currentColor; }
.icc-rit{ display:flex; align-items:center; gap:8px; margin:0; padding:10px 16px; font-size:13px; color:var(--icc-muted); border-bottom:1px solid #EAF1F7; }
.icc-rit svg{ width:16px; height:16px; fill:none; stroke:var(--icc-coral); stroke-width:2; }
.icc-altri summary{ display:flex; align-items:center; gap:8px; min-height:48px; padding:0 16px; font-weight:700; color:var(--icc-navy); cursor:pointer; }
.icc-altri summary span{ font:12px ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icc-muted); }
.icc-vuoto{ padding:16px; color:#1F3148; }

/* scheda compatta: ancorata al segnaposto (desktop), dal basso (mobile) */
html body .icxm .icxm-sch{ left:12px; top:12px; width:320px; padding:14px 14px 12px; max-height:calc(100% - 42px); }
.icc-top{ display:flex; gap:12px; align-items:flex-start; padding-right:36px; }
.icc-th{ flex:0 0 72px; width:72px; height:72px; object-fit:cover; background:var(--icc-soft); border-radius:6px; }
.icc-th--st, .icc-th--ico{ display:flex; align-items:center; justify-content:center; font:700 26px/1 ui-monospace,SFMono-Regular,Menlo,monospace; color:#fff; background:var(--icc-coral); }
.icc-th--ext{ background:var(--icc-porto); }
.icc-th--ico{ background:var(--icc-soft); }
.icc-th--ico svg{ width:28px; height:28px; fill:none; stroke:var(--icc-navy); stroke-width:1.8; }
.icc-tt{ min-width:0; }
html body .icc-tt h3{ margin:0 !important; font-size:18px !important; line-height:1.2 !important; color:var(--icc-navy) !important; }
.icc-tt h3:focus{ outline:none; }
.icc-sub{ margin:2px 0 0; font-size:14px; color:#1F3148; }
.icc-meta{ margin:4px 0 0; font:600 12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icc-coral); }
.icc-txt{ margin:10px 0 0; font-size:15px; line-height:1.5; color:#1F3148; }
.icc-txt--clamp{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
html body button.icc-x{ position:absolute !important; right:8px !important; top:8px !important; z-index:2 !important; width:44px !important; height:44px !important; padding:0 !important; margin:0 !important;
  border:0 !important; border-radius:50% !important; background:transparent !important; box-shadow:none !important; display:flex !important; align-items:center !important; justify-content:center !important; cursor:pointer; }
.icc-x svg{ width:18px; height:18px; fill:none; stroke:var(--icc-navy); stroke-width:2.4; stroke-linecap:round; }
.icc-au{ display:flex; align-items:center; gap:10px; margin:12px 0 0; }
html body button.icc-au__b{ flex:0 0 auto !important; display:inline-flex !important; align-items:center !important; gap:8px !important; height:44px !important; padding:0 16px 0 13px !important; margin:0 !important;
  border:0 !important; border-radius:22px !important; background:var(--icc-navy) !important; color:#fff !important; font-family:inherit !important; font-size:16px !important; font-weight:700 !important;
  text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; cursor:pointer; }
html body button.icc-au__b[aria-pressed="true"]{ background:var(--icc-coral) !important; }
.icc-au__bar{ flex:1 1 auto; height:4px; border-radius:2px; background:var(--icc-soft); overflow:hidden; }
.icc-au__bar i{ display:block; height:100%; width:0; background:var(--icc-coral); }
.icc-au__t{ flex:0 0 auto; font:12px ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icc-muted); min-width:0; }
.icc-act{ display:flex; gap:8px; margin:10px 0 0; }
html body .icc-a{ flex:1 1 0 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:6px !important; min-height:44px !important; padding:0 10px !important; margin:0 !important;
  border:1px solid var(--icc-line) !important; border-radius:4px !important; background:#fff !important; color:var(--icc-navy) !important; font-family:inherit !important; font-size:15px !important; font-weight:700 !important;
  text-decoration:none !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; cursor:pointer; white-space:nowrap; }
html body a.icc-a--pri{ background:var(--icc-navy) !important; border-color:var(--icc-navy) !important; color:#fff !important; -webkit-text-fill-color:#fff !important; }
.icc-a svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.icc-a svg[viewBox="0 0 12 18"]{ width:9px; height:14px; }
.icc-nav{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin:10px 0 0; padding-top:10px; border-top:1px solid #EAF1F7; }
html body button.icc-nb{ display:inline-flex !important; align-items:center !important; gap:6px !important; min-width:64px !important; height:44px !important; padding:0 12px !important; margin:0 !important;
  border:1px solid var(--icc-line) !important; border-radius:22px !important; background:#fff !important; color:var(--icc-navy) !important; font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace !important; box-shadow:none !important; cursor:pointer; justify-content:center !important; }
html body button.icc-nb:disabled{ opacity:.4 !important; cursor:default; }
.icc-nb svg{ width:9px; height:14px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.icc-pos{ font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icc-muted); }
.icc-end{ margin:10px 0 0; padding:12px; background:#F1FAF4; border:1px solid #BFE5CC; }
.icc-end p{ display:flex; align-items:center; gap:6px; margin:0 0 8px; color:#1E5E38; }
.icc-end p svg{ width:18px; height:18px; fill:none; stroke:#1E7A45; stroke-width:2.6; }
.icc-end div{ display:flex; flex-wrap:wrap; gap:8px; }
.icc-end .icc-a{ flex:1 1 auto !important; white-space:normal; text-align:center; }
/* lettore dentro la mappa incorporata */
.icv-player__n{ flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--icc-coral); color:#fff; font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace; }
.icv-player__n.is-ext{ background:var(--icc-porto); }
.icv-player__n.is-ico{ background:rgba(255,255,255,.18); }
.icv-player__n.is-ico svg{ width:15px; height:15px; fill:none; stroke:#fff; stroke-width:2; }
/* Leaflet: tasti zoom da 44 px */
html body .icxm .leaflet-control-zoom a, html body dialog.icv .leaflet-control-zoom a{ width:44px !important; height:44px !important; line-height:44px !important; font-size:20px !important; }
/* Panoramica: la nuova mappa sostituisce quella dell'itinerario */
html body .icv-itin-off > .ic-itin, html body .icv-itin-art .ic-tourism__route-meta{ display:none !important; }
html body .icv-itin-off > .icxm{ margin:8px 0 0; }
/* il pulsante di segnalazione del sito non copre la scheda aperta */
html.icv-sch-aperta #ic-corr-fab{ visibility:hidden !important; }
/* finestra Visita */
dialog.icv .icv-home > .icxm-inv{ margin:2px 0 8px; }
dialog.icv .icv-home > .icc-seg{ margin:0 0 12px; }
dialog.icv .icc-leg--dlg{ margin:0 0 6px; }
dialog.icv .icv-elenco{ margin:0 -16px; }
.icv-sch__sub{ margin:2px 0 0; font-size:16px; color:#1F3148; }
.icv-sch__meta{ margin:4px 0 0; font:600 13px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--icc-coral); }
dialog.icv .icv-sch h3{ margin:12px 0 0; font-size:23px; line-height:1.2; color:var(--icc-navy); }
dialog.icv .icv-sch .icc-nav{ margin-top:14px; }
dialog.icv .icv-more .icc-list{ margin:0 -16px; }
dialog.icv .icv-sch__back{ min-height:44px !important; }
@media (max-width:819px){
  html body .icxm .icxm-sch{ left:8px !important; right:8px; top:auto !important; bottom:22px; width:auto; max-height:68%; }
  .icxm .icv-player{ top:8px; bottom:auto; left:8px; right:8px; width:auto; }
  html body .icxm .icxm-tt h2{ font-size:21px !important; }
  html body .icc-seg button{ font-size:14px !important; padding:0 4px !important; }
  .icc-leg{ font-size:12px; gap:6px 12px; }
}
@media (prefers-reduced-motion:reduce){ .icv-st, .icv-pl{ transition:none; } }
/* v4.1 mobile: scheda compatta, Ascolta / Portami / Scheda sulla stessa riga */
@media (max-width:819px){
  html body .icxm .icxm-sch{ display:grid; grid-template-columns:max-content minmax(0,1fr); column-gap:8px; padding:12px 12px 10px; }
  .icxm .icxm-sch .icc-top, .icxm .icxm-sch .icc-txt, .icxm .icxm-sch .icc-nav, .icxm .icxm-sch .icc-end{ grid-column:1 / -1; }
  .icxm .icxm-sch .icc-au{ grid-column:1; margin:10px 0 0; }
  .icxm .icxm-sch .icc-au__bar, .icxm .icxm-sch .icc-au__t{ display:none; }
  .icxm .icxm-sch .icc-act{ grid-column:2; margin:10px 0 0; }
  .icxm .icc-th{ flex-basis:56px; width:56px; height:56px; }
  html body .icxm .icc-tt h3{ font-size:17px !important; }
  .icxm .icc-sub{ font-size:13px; }
  .icxm .icc-txt{ font-size:14px; line-height:1.45; margin-top:8px; }
  html body .icxm .icc-a{ padding:0 8px !important; font-size:14px !important; }
  html body .icxm button.icc-au__b{ padding:0 14px 0 11px !important; font-size:15px !important; }
  .icxm .icc-nav{ margin-top:8px; padding-top:8px; }
}

/* ===================== v5 (29/09/2026): itinerari tematici, schede, visita guidata ===================== */
/* selettore dei sei itinerari: tutte le voci in vista su una griglia (29/09 sera: nella riga che
   scorreva di lato non si capiva che a destra c'erano altre opzioni), voce attiva piena */
.icc-temi{ display:grid; grid-template-columns:repeat(auto-fit, minmax(118px, 1fr)); gap:8px; margin:0 0 10px; padding:0; overflow:visible; }
.icc-temi::-webkit-scrollbar{ display:none; }
html body .icc-temi button:not(#icv-z1){ flex:none !important; width:100% !important; min-height:44px !important; padding:6px 10px !important; margin:0 !important; text-align:center !important; line-height:1.2 !important;
  border:1px solid var(--icc-line) !important; border-radius:4px !important; background:#fff !important; color:var(--icc-navy) !important;
  -webkit-text-fill-color:var(--icc-navy) !important; font-family:inherit !important; font-size:15px !important; font-weight:600 !important;
  text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; white-space:normal !important; cursor:pointer; }
html body .icc-temi button[aria-checked="true"]:not(#icv-z1){ background:var(--icc-navy) !important; border-color:var(--icc-navy) !important; color:#fff !important; -webkit-text-fill-color:#fff !important; }
html body .icc-temi button:focus-visible:not(#icv-z1){ outline:3px solid #5BC4FF !important; outline-offset:1px !important; }
.icc-sub{ margin:0 0 4px; }
.icc-sub[hidden]{ display:none; }
.icxm-inv--sub{ margin-top:4px; }

/* intestazione dell'itinerario */
.icc-km{ margin:0 0 6px !important; font:600 13px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace !important; color:var(--icc-navy) !important; font-variant-numeric:tabular-nums; }
.icc-azioni{ display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 2px; }
html body .icc-avvia:not(#icv-z1){ display:inline-flex !important; align-items:center !important; gap:8px !important; min-height:44px !important; padding:0 16px !important; margin:0 !important;
  border:0 !important; border-radius:4px !important; background:var(--icc-coral) !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
  font-family:inherit !important; font-size:15px !important; font-weight:700 !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; cursor:pointer; }
html body .icc-avvia svg{ width:18px; height:18px; fill:#fff; stroke:#fff; stroke-width:1.5; stroke-linejoin:round; }
html body .icc-avvia:focus-visible:not(#icv-z1){ outline:3px solid #5BC4FF !important; outline-offset:2px !important; }
.icc-azioni .icc-pp{ margin:0 !important; min-height:44px !important; }

/* schede: in fila che scorre (mobile), in colonna (desktop) */
.icc-car{ list-style:none; margin:0; padding:10px 16px 14px; display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-padding-inline:16px; overscroll-behavior-x:contain; scrollbar-width:none; }
.icc-car::-webkit-scrollbar{ display:none; }
.icc-c{ position:relative; flex:0 0 min(74%, 250px); scroll-snap-align:start; display:flex; flex-direction:column; background:#fff; border:1px solid var(--icc-line); }
html body button.icc-c__b:not(#icv-z1){ display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:0 !important; width:100% !important; padding:0 !important; margin:0 !important;
  border:0 !important; border-radius:0 !important; background:#fff !important; color:var(--icc-navy) !important; text-align:left !important; box-shadow:none !important;
  font-family:inherit !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; min-height:0 !important; }
html body button.icc-c__b[aria-current="true"]:not(#icv-z1){ box-shadow:inset 0 0 0 2px var(--icc-coral) !important; }
html body button.icc-c__b:focus-visible:not(#icv-z1){ outline:3px solid #5BC4FF !important; outline-offset:-3px !important; }
.icc-c__img{ position:relative; display:block; aspect-ratio:16/10; background:var(--icc-soft); overflow:hidden; }
.icc-c__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.icc-c__ico{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.icc-c__ico svg{ width:34px; height:34px; fill:none; stroke:var(--icc-porto); stroke-width:1.6; }
.icc-c__n{ position:absolute; left:8px; top:8px; width:30px; height:30px; border-radius:50%; background:var(--icc-coral); color:#fff; border:2px solid #fff;
  display:flex; align-items:center; justify-content:center; font:700 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace; box-shadow:0 1px 4px rgba(0,0,0,.25); }
.icc-c__n.is-ext{ background:var(--icc-porto); }
.icc-c__ok{ position:absolute; right:8px; top:8px; width:26px; height:26px; border-radius:50%; background:#1E7A45; display:flex; align-items:center; justify-content:center; }
.icc-c__ok svg{ width:15px; height:15px; fill:none; stroke:#fff; stroke-width:2.8; }
.icc-c__t{ display:flex; flex-direction:column; gap:3px; padding:10px 54px 12px 12px; min-height:72px; }
.icc-c__t strong{ font-size:15.5px; line-height:1.25; font-weight:700; color:var(--icc-navy); }
.icc-c__t small{ font-size:13px; line-height:1.3; color:var(--icc-muted); }
.icc-c .icc-play{ position:absolute !important; right:8px; bottom:12px; }
.icc-car .icc-vuoto{ padding:16px 0; color:var(--icc-muted); }
.icxm.is-largo .icc-car{ display:grid; grid-template-columns:1fr; overflow:visible; padding:10px 12px 14px; scroll-snap-type:none; }
.icxm.is-largo .icc-c{ flex-direction:row; }
.icxm.is-largo button.icc-c__b{ flex-direction:row !important; }
.icxm.is-largo .icc-c__img{ flex:0 0 96px; aspect-ratio:auto; min-height:80px; }
.icxm.is-largo .icc-c__n{ width:26px; height:26px; font-size:12px; left:6px; top:6px; }

/* ricerca e categorie di "Tutti i luoghi" */
.icc-cnt{ margin:0 0 6px !important; font-size:14px; color:var(--icc-muted); }
.icc-cerca{ position:relative; margin:8px 0; }
.icc-cerca svg{ position:absolute; left:12px; top:50%; width:18px; height:18px; margin-top:-9px; fill:none; stroke:var(--icc-muted); stroke-width:2; pointer-events:none; }
html body .icc-cerca input:not(#icv-z1){ width:100% !important; min-height:44px !important; padding:0 12px 0 38px !important; margin:0 !important; border:1px solid var(--icc-line) !important;
  border-radius:4px !important; background:#fff !important; font-size:16px !important; color:var(--icc-navy) !important; box-shadow:none !important; }
.icc-cat{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; margin:0 -2px; padding:2px; }
.icc-cat::-webkit-scrollbar{ display:none; }
html body .icc-cat button:not(#icv-z1){ flex:0 0 auto !important; min-height:36px !important; padding:0 12px !important; margin:0 !important; border:1px solid var(--icc-line) !important;
  border-radius:4px !important; background:#fff !important; color:var(--icc-navy) !important; -webkit-text-fill-color:var(--icc-navy) !important; font-family:inherit !important;
  font-size:14px !important; font-weight:600 !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; white-space:nowrap !important; }
html body .icc-cat button[aria-checked="true"]:not(#icv-z1){ background:#EEF7FF !important; border-color:var(--icc-porto) !important; color:var(--icc-porto) !important; -webkit-text-fill-color:var(--icc-porto) !important; }

/* "Apri in Mappe": opzione secondaria sotto le azioni */
.icc-mappe{ display:inline-flex; align-items:center; gap:6px; min-height:40px; margin:6px 0 0; font-size:14px; font-weight:600; color:var(--icc-porto) !important; text-decoration:none; }
.icc-mappe svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; }
.icxm .icc-a--pri svg, dialog.icv .icv-azn--pri svg{ fill:currentColor; }
@media (max-width:819px){
  .icxm .icxm-sch .icc-mappe{ grid-column:1 / -1; }
  .icxm-side{ padding-bottom:4px; }
}

/* barra della visita guidata (finestra Visita) */
dialog.icv .icv-guida{ position:absolute; z-index:1004; left:10px; right:10px; top:calc(env(safe-area-inset-top,0px) + 62px);
  background:rgba(255,255,255,.97); -webkit-backdrop-filter:saturate(180%) blur(16px); backdrop-filter:saturate(180%) blur(16px);
  border:1px solid #DDE6EE; border-radius:14px; box-shadow:0 6px 24px rgba(11,35,64,.18); padding:10px 10px 8px; color:var(--icv-navy); }
dialog.icv .icv-guida[hidden]{ display:none; }
.icv-guida__row{ display:flex; align-items:center; gap:10px; }
.icv-guida__dir{ flex:0 0 44px; width:44px; height:44px; border-radius:50%; background:#0A84FF; display:flex; align-items:center; justify-content:center; }
.icv-guida__dir svg{ width:22px; height:22px; fill:#fff; stroke:#fff; stroke-width:1; stroke-linejoin:round; transition:transform .4s ease; }
.icv-guida__dir.is-ok{ background:#1E7A45; }
.icv-guida__dir.is-ok svg{ fill:none; stroke-width:2.8; }
.icv-guida__t{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:1px; }
.icv-guida__t small{ font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#46586E; }
.icv-guida__t strong{ display:flex; align-items:center; gap:6px; font-size:17px; line-height:1.2; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.icv-guida__n{ flex:0 0 auto; width:22px; height:22px; border-radius:50%; background:#C44532; color:#fff; display:inline-flex; align-items:center; justify-content:center; font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.icv-guida__n.is-ext{ background:#1766A6; }
.icv-guida__d{ font:600 14px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; color:#0A5FC2; font-variant-numeric:tabular-nums; }
.icv-guida.is-arr .icv-guida__d{ color:#1E7A45; }
.icv-guida__cmd{ display:flex; align-items:center; gap:6px; margin-top:8px; padding-top:8px; border-top:1px solid #EAF1F7; }
html body dialog.icv button.icv-gb:not(#icv-z1){ flex:0 0 auto !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:6px !important;
  min-width:44px !important; min-height:40px !important; padding:0 10px !important; margin:0 !important; border:1px solid #DDE6EE !important; border-radius:10px !important;
  background:#fff !important; color:var(--icv-navy) !important; -webkit-text-fill-color:var(--icv-navy) !important; font-family:inherit !important; font-size:14px !important;
  font-weight:600 !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; }
html body dialog.icv button.icv-gb:disabled:not(#icv-z1){ opacity:.4 !important; }
html body dialog.icv button.icv-gb[aria-pressed="true"]:not(#icv-z1){ background:#EEF7FF !important; border-color:#0A84FF !important; color:#0A5FC2 !important; -webkit-text-fill-color:#0A5FC2 !important; }
html body dialog.icv button.icv-gb--fine:not(#icv-z1){ margin-left:auto !important; color:#C44532 !important; -webkit-text-fill-color:#C44532 !important; }
html body dialog.icv button.icv-gb:focus-visible:not(#icv-z1){ outline:3px solid #5BC4FF !important; outline-offset:1px !important; }
.icv-gb svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.icv-gb--fine svg{ fill:currentColor; stroke:none; }
.icv-guida .icc-play{ flex:0 0 44px !important; }
dialog.icv.is-guida .icv-fab{ top:calc(env(safe-area-inset-top,0px) + 62px + 128px); }
dialog.icv.is-guida .icv-toast{ top:calc(env(safe-area-inset-top,0px) + 62px + 134px); }
dialog.icv .icv-home > .icc-temi{ margin-bottom:10px; }
dialog.icv .icv-act + .icc-mappe{ margin:0 0 6px; }
@media (max-width:380px){ .icv-gb--txt span{ display:none; } }
@media (min-width:900px){
  dialog.icv .icv-guida{ left:432px; right:auto; top:16px; width:400px; }
  dialog.icv.is-guida .icv-fab{ top:16px; }
  dialog.icv.is-guida .icv-toast{ top:164px; }
}
@media (prefers-reduced-motion:reduce){ .icv-guida__dir svg{ transition:none; } }
/* la fila di schede non deve allargare la griglia (1fr = minmax(auto,1fr) prendeva la larghezza di tutte le schede) */
@media (max-width:819px){
  .icxm .icxm-body{ grid-template-columns:minmax(0,1fr) !important; }
  .icxm .icxm-side, .icxm .icxm-wrap{ min-width:0; }
}
/* "Guidami qui" e' un tasto: il tema forza lo sfondo di ogni button, qui torna pieno */
html body .icxm button.icc-a--pri:not(#icv-z1), html body dialog.icv button.icv-azn--pri:not(#icv-z1){ background:var(--icc-coral) !important; border-color:var(--icc-coral) !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
html body .icxm button.icc-a--pri:not(#icv-z1) svg, html body dialog.icv button.icv-azn--pri:not(#icv-z1) svg{ fill:#fff; stroke:#fff; }
@media (max-width:819px){
  .icxm .icxm-sch .icc-au{ grid-column:1 / -1 !important; }
  .icxm .icxm-sch .icc-act{ grid-column:1 / -1 !important; }
}
/* titolo della scheda: il fuoco dato dal programma dopo un clic non deve disegnare il riquadro (solo da tastiera) */
html body .icxm .icxm-sch h3:focus:not(:focus-visible), html body dialog.icv h3:focus:not(:focus-visible){ outline:none !important; box-shadow:none !important; }
.icv-credit a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
/* avviso da fonte ufficiale (chiusure, restauri) */
.icc-avviso{ margin:8px 0 4px; padding:8px 10px; border-left:3px solid #B45309; background:#FFF7ED; color:#7C2D12; font-size:14px; line-height:1.4; }
.icc-avviso a{ color:#7C2D12; text-decoration:underline; }
.icxm .icxm-sch .icc-avviso{ grid-column:1 / -1; }
.icc-c__avv{ color:#9A3412 !important; font-weight:600; }
/* titolo della vecchia sezione "Un itinerario breve": il componente nuovo ha il suo titolo */
html body .icv-itin-art > .ic-tourism__h3{ display:none !important; }

/* ===== 29/09/2026: tema scuro del sito (html.force-dark / body.theme-dark) =====
   ic-dark-mode.css rende trasparente ogni <section> e bianco ogni titolo con !important:
   la finestra Visita (pannello = section) e le mappe in pagina (.icxm = section) restavano
   trasparenti con testi bianchi su fondo chiaro. Qui tornano leggibili. */
html body dialog.icv:not(#icv-g1):not(#icv-g2){ color:var(--icv-ink) !important; }
html body dialog.icv:not(#icv-g1):not(#icv-g2) section.icv-sheet{ background:#fff !important; color:var(--icv-ink) !important; }
html body dialog.icv:not(#icv-g1):not(#icv-g2) :is(h1,h2,h3,h4,h5,h6){ color:var(--icv-ink) !important; -webkit-text-fill-color:var(--icv-ink) !important; }
html body dialog.icv:not(#icv-g1):not(#icv-g2) .icv-langbtn, html body dialog.icv:not(#icv-g1):not(#icv-g2) .icv-round{ color:var(--icv-ink) !important; -webkit-text-fill-color:var(--icv-ink) !important; }
html body section.icxm:not(#icv-g1):not(#icv-g2){ background:#fff !important; color:#0B2340 !important; }
html body section.icxm:not(#icv-g1):not(#icv-g2) :is(h2,h3,h4){ color:#0B2340 !important; -webkit-text-fill-color:#0B2340 !important; }
/* titolo della scheda: riceve il fuoco dal programma (lettori di schermo), il riquadro non serve */
html body dialog.icv h3[tabindex="-1"]:focus, html body .icxm .icxm-sch h3[tabindex="-1"]:focus{ outline:none !important; box-shadow:none !important; }
/* "Apri in Mappe" nella barra della visita, quando la meta e' lontana */
dialog.icv .icv-guida__mappe{ display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:0 10px; border:1px solid #DDE6EE; border-radius:10px;
  font-size:14px; font-weight:600; color:#0A5FC2 !important; text-decoration:none; background:#fff; }
dialog.icv .icv-guida__mappe[hidden]{ display:none; }
dialog.icv .icv-guida__mappe svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; }
/* telefono: il tasto "audio all'arrivo" resta icona (nome accessibile invariato) cosi' la riga non va a capo */
@media (max-width:440px){
  dialog.icv .icv-gb--auto span{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  dialog.icv .icv-guida__mappe span{ font-size:13px; }
}
